| | |
| | | // let barColor = getLinearColor("#7bda59", "#059789"); |
| | | // let maxColor = getLinearColor("#e3352b", "#f09f2e"); |
| | | // let minColor = getLinearColor("#f09f2e", "#d3c209"); |
| | | let barColor = '#0ff'; |
| | | let maxColor = '#f8456b'; |
| | | let minColor = '#4aea80'; |
| | | let barColor = '#02a7f0'; |
| | | let maxColor = '#438D29'; |
| | | let minColor = '#DBD608'; |
| | | let legends = []; |
| | | return { |
| | | animation: false, |
| | |
| | | show: true, |
| | | position: "top", |
| | | color: "#fff", |
| | | fontSize: 20, |
| | | fontSize: 16, |
| | | rotate: 30, |
| | | }, |
| | | showBackground: true, |
| | | backgroundStyle: { |
| | |
| | | color: (params) => { |
| | | // console.log('params', params, data, '============='); |
| | | let max = Math.max(...data); |
| | | let min = Math.min(...data); |
| | | let min = Math.min(...(data.filter((item) => item != 0))); |
| | | let val = params.value; |
| | | console.log('min, max, val', min, max, val, '============='); |
| | | |
| | | if (val == min) { |
| | | return minColor; |
| | | } else if (val == max) { |
| | |
| | | nList = data2.map((v) => ({ |
| | | ...v, |
| | | devIdcode: v.devInf.devIdcode, |
| | | devTypeStr: ["", "充放电一体机", "均衡测试仪"][v.devInf.devType], |
| | | devTypeStr: ["", "充放电测试仪", "均衡测试仪"][v.devInf.devType], |
| | | })); |
| | | } |
| | | if (o) { |
| | |
| | | return { |
| | | uid: localStorage.getItem("uid"), |
| | | uname: localStorage.getItem("uname"), |
| | | lastUname: localStorage.getItem("lastuname"), |
| | | rememberList: localStorage.getItem("rememberList") || "[]", |
| | | }; |
| | | }, |
| | |
| | | setName(value) { |
| | | this.uname = value; |
| | | localStorage.setItem("uname", value); |
| | | this.lastUname = value; |
| | | localStorage.setItem("lastuname", value); |
| | | }, |
| | | setId(value) { |
| | | this.uid = value; |
| | |
| | | _total = total0; |
| | | _list = list.map((v) => { |
| | | v.devIdcode = v.devInf.devIdcode; |
| | | v.devTypeStr = ["", "充放电一体机", "均衡测试仪"][v.devInf.devType]; |
| | | v.devTypeStr = ["", "充放电测试仪", "均衡测试仪"][v.devInf.devType]; |
| | | return v; |
| | | }); |
| | | } |
| | |
| | | <div class="content select-wrap"> |
| | | <el-select v-model="devType" class="yc-select" placeholder="Select"> |
| | | <el-option label="全部" :value="0" /> |
| | | <el-option label="充放电一体机" :value="1" /> |
| | | <el-option label="充放电测试仪" :value="1" /> |
| | | <el-option label="均衡测试仪" :value="2" /> |
| | | </el-select> |
| | | </div> |
| | |
| | | _list = list.map((v) => { |
| | | v.devIdcode = v.devInf.devIdcode; |
| | | v.isConfirm = !v.almIsConfirmed ? "未确认" : "已确认"; |
| | | v.devTypeStr = ["", "充放电一体机", "均衡测试仪"][v.devInf.devType]; |
| | | v.devTypeStr = ["", "充放电测试仪", "均衡测试仪"][v.devInf.devType]; |
| | | return v; |
| | | }); |
| | | } |
| | |
| | | placeholder="Select" |
| | | > |
| | | <el-option label="全部" :value="0" /> |
| | | <el-option label="充放电一体机" :value="1" /> |
| | | <el-option label="充放电测试仪" :value="1" /> |
| | | <el-option label="均衡测试仪" :value="2" /> |
| | | </el-select> |
| | | </div> |
| | |
| | | size="default" |
| | | is-button |
| | | > |
| | | <el-radio-button :value="1">充放电一体机</el-radio-button> |
| | | <el-radio-button :value="1">充放电测试仪</el-radio-button> |
| | | <el-radio-button :value="2">均衡测试仪</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | |
| | | class="" |
| | | placeholder="Select" |
| | | > |
| | | <el-option label="充放电一体机" :value="1" /> |
| | | <el-option label="充放电测试仪" :value="1" /> |
| | | <el-option label="锂电均衡仪" :value="2" /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | placeholder="Select" |
| | | > |
| | | <!-- <el-option label="全部" value="" /> --> |
| | | <el-option label="充放电一体机" :value="1" /> |
| | | <el-option label="充放电测试仪" :value="1" /> |
| | | <el-option label="锂电均衡仪" :value="2" /> |
| | | </el-select> |
| | | </div> |
| | |
| | | <div class="value">{{ rtdata.devSum }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="label">充放电一体机</div> |
| | | <div class="label">充放电测试仪</div> |
| | | <div class="value">{{ rtdata.type[1] }}</div> |
| | | </div> |
| | | <div class="item"> |
| | |
| | | size="default" |
| | | is-button |
| | | > |
| | | <el-radio-button :value="1">充放电一体机</el-radio-button> |
| | | <el-radio-button :value="1">充放电测试仪</el-radio-button> |
| | | <el-radio-button :value="2">均衡测试仪</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | |
| | | const map = ref(); |
| | | |
| | | const devDatas = computed(() => { |
| | | let labels = ["充放电一体机", "锂电池均衡仪"], |
| | | let labels = ["充放电测试仪", "锂电池均衡仪"], |
| | | datas = [ |
| | | { name: "在线", data: [] }, |
| | | { name: "离线", data: [] }, |
| | |
| | | // setTimeout(() => { |
| | | // alarmPie.value.updateChart([ |
| | | // { |
| | | // name: "充放电一体机", |
| | | // name: "充放电测试仪", |
| | | // value: 0, |
| | | // }, |
| | | // { |
| | |
| | | <div class="card-content"> |
| | | <div class="info"> |
| | | <div class="info-item"> |
| | | <div class="label">充放电一体机</div> |
| | | <div class="label">充放电测试仪</div> |
| | | <div class="value"> |
| | | <led-num :bits="4" :num="devDatas.ytjCount"></led-num> |
| | | </div> |
| | |
| | | </template> |
| | | <pie ref="alarmPie"></pie> |
| | | </yc-card> --> |
| | | <yc-card class="item" title="充放电一体机测试统计"> |
| | | <yc-card class="item" title="充放电测试仪测试统计"> |
| | | <template #tools> |
| | | <el-radio-group |
| | | v-model="ytjTestType" |
| | |
| | | size="small" |
| | | is-button |
| | | > |
| | | <el-radio-button :value="0">充放电一体机</el-radio-button> |
| | | <el-radio-button :value="0">充放电测试仪</el-radio-button> |
| | | <el-radio-button :value="1">锂电均衡仪</el-radio-button> |
| | | </el-radio-group> |
| | | </template> |
| | |
| | | <script setup> |
| | | import { ref, computed, nextTick } from "vue"; |
| | | import { ref, computed, nextTick, onMounted } from "vue"; |
| | | import { storeToRefs } from "pinia"; |
| | | import { useUserStore } from "@/stores/user.js"; |
| | | |
| | | const userStore = useUserStore(); |
| | | const { list } = storeToRefs(userStore); |
| | | const { list, lastUname } = storeToRefs(userStore); |
| | | // console.log("list", list.value, "============="); |
| | | const $emit = defineEmits(['set-snid', 'ok', 'cancel-remember']); |
| | | |
| | | const $emit = defineEmits(["set-snid", "ok", "cancel-remember"]); |
| | | |
| | | // 绑定的用户名 |
| | | const username = ref(""); |
| | |
| | | // 选择用户名并回写到输入框 |
| | | function selectUser(user) { |
| | | username.value = user.name; |
| | | $emit('set-snid', user.snId); |
| | | $emit("set-snid", user.snId); |
| | | showDropdown.value = false; // 关闭下拉列表 |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | function test(params) { |
| | | $emit('ok'); |
| | | $emit("ok"); |
| | | } |
| | | |
| | | function filterUsers() { |
| | | // 如果不是记住密码列表中的用户名 则取消记住密码 |
| | | if(!list.value.some(v=>v.name == username.value)) { |
| | | $emit('cancel-remember'); |
| | | if (!list.value.some((v) => v.name == username.value)) { |
| | | $emit("cancel-remember"); |
| | | } |
| | | } |
| | | defineExpose({username}); |
| | | function initUser() { |
| | | let _name = lastUname.value; |
| | | username.value = _name; |
| | | // 如果是记住密码列表中的用户名 则回写密码 |
| | | if (list.value.some((v) => v.name == _name)) { |
| | | $emit("set-snid", list.value.find((v) => v.name == _name).snId); |
| | | } |
| | | } |
| | | onMounted(() => { |
| | | initUser(); |
| | | }); |
| | | defineExpose({ username }); |
| | | </script> |
| | | |
| | | <template> |
| | |
| | | </el-input> |
| | | <div v-if="showDropdown && filteredUsers.length > 0" class="dropdown"> |
| | | <ul> |
| | | <li v-for="user in filteredUsers" :key="user.name" @click="selectUser(user)"> |
| | | <li |
| | | v-for="user in filteredUsers" |
| | | :key="user.name" |
| | | @click="selectUser(user)" |
| | | > |
| | | {{ user.name }} |
| | | </li> |
| | | </ul> |
| | |
| | | }); |
| | | |
| | | const testStates = computed(() => { |
| | | if (1 == props.devType.value) { |
| | | return ["--", "放电测试", "充电测试"][currentDev.value.state?.testType]; |
| | | if (1 == props.devType) { |
| | | return ["--", "放电测试", "充电测试"][props.info.state?.testType]; |
| | | } else { |
| | | let states = ["充电", "放电", "均衡"]; |
| | | let [res1, res2] = [0, 1].map((v) => |
| | | currentDev.value.state |
| | | ? states[currentDev.value.state[v].workMode] || "--" |
| | | props.info.state |
| | | ? states[props.info.state[v].workMode] || "--" |
| | | : "--" |
| | | ); |
| | | return `组1:${res1}, 组2: ${res2}`; |
| | |
| | | size="default" |
| | | is-button |
| | | > |
| | | <el-radio-button :value="1">充放电一体机</el-radio-button> |
| | | <el-radio-button :value="1">充放电测试仪</el-radio-button> |
| | | <el-radio-button :value="2">均衡测试仪</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | |
| | | <div class="value">{{ currentDev.devModel }}</div> |
| | | <div class="label">设备类型</div> |
| | | <div class="value"> |
| | | {{ { 1: "充放电一体机", 2: "均衡测试仪" }[currentDev.devType] }} |
| | | {{ { 1: "充放电测试仪", 2: "均衡测试仪" }[currentDev.devType] }} |
| | | </div> |
| | | <div class="label">设备编号</div> |
| | | <div class="value">{{ currentDev.devIdcode }}</div> |
| | |
| | | <div class="value">{{ devInfo.devModel }}</div> |
| | | <div class="label">设备类型</div> |
| | | <div class="value"> |
| | | {{ { 1: "充放电一体机", 2: "均衡测试仪" }[devInfo.devType] }} |
| | | {{ { 1: "充放电测试仪", 2: "均衡测试仪" }[devInfo.devType] }} |
| | | </div> |
| | | <div class="label">设备编号</div> |
| | | <div class="value">{{ devInfo.devIdcode }}</div> |
| | |
| | | if (code && data && successList.length) { |
| | | $message.success("操作成功"); |
| | | if (failList.length) { |
| | | let failNames = props.devs |
| | | let failNames = devs.value |
| | | .filter((v) => failList.some((vv) => vv == v.devId)) |
| | | .map((v) => v.devIdcode); |
| | | |
| | |
| | | if (code && data && successList.length) { |
| | | $message.success("操作成功"); |
| | | if (failList.length) { |
| | | let failNames = props.devs |
| | | let failNames = devs.value |
| | | .filter((v) => failList.some((vv) => vv == v.devId)) |
| | | .map((v) => v.devIdcode); |
| | | |
| | |
| | | size="default" |
| | | is-button |
| | | > |
| | | <el-radio-button :value="1">充放电一体机</el-radio-button> |
| | | <el-radio-button :value="1">充放电测试仪</el-radio-button> |
| | | <el-radio-button :value="2">均衡测试仪</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | |
| | | <div class="card-content"> |
| | | <div class="label">设备类型</div> |
| | | <div class="value"> |
| | | {{ { 1: "充放电一体机", 2: "均衡测试仪" }[devType] }} |
| | | {{ { 1: "充放电测试仪", 2: "均衡测试仪" }[devType] }} |
| | | </div> |
| | | <div class="label">已选择设备总数量</div> |
| | | <div class="value">{{ selectData[devType].length }}</div> |
| | | <div class="label">批量测试状态</div> |
| | | <div class="value">未开始</div> |
| | | <!-- <div class="label">批量测试状态</div> |
| | | <div class="value">未开始</div> --> |
| | | </div> |
| | | </yc-card> |
| | | <yc-card class="p-content"> |