| | |
| | | |
| | | import { |
| | | cancelContPl, |
| | | controllerActmParam, |
| | | controllActmParamPl, |
| | | stopA200ParamPl, |
| | | pauseA200ParamPl, |
| | | } from "./api.js"; |
| | |
| | | // 除去掉线的设备 所有此类型的设备状态都为非测试状态 |
| | | // 一体机 isTesting 为0 |
| | | // 均衡仪 moduleStatusInt 不属于[3,4,6,7,9,10]中的一种 |
| | | const canStopBatch = computed(() => { |
| | | let getItem = (vv) => |
| | | selectData.value[vv] |
| | | const canStopBatch1 = computed(() => { |
| | | return ( |
| | | selectData.value[1] |
| | | .filter((v) => v.devOnline == 1) |
| | | .every((v) => v.state.isTesting == 0) && |
| | | selectData.value[vv].length > 0 && |
| | | selectData.value[vv].some((v) => v.batchState == 1); |
| | | return { |
| | | 1: getItem(1), |
| | | 2: getItem(2), |
| | | }; |
| | | selectData.value[1].length > 0 && |
| | | selectData.value[1].some((v) => v.batchState == 1) |
| | | ); |
| | | }); |
| | | |
| | | const canStopBatch2 = computed(() => { |
| | | return ( |
| | | selectData.value[2] |
| | | .filter((v) => v.devOnline == 1) |
| | | .every((v) => |
| | | onlyOneGroup.value |
| | | ? v.state[0].isTesting == 0 |
| | | : v.state[0].isTesting == 0 && v.state[1].isTesting == 0 |
| | | ) && |
| | | selectData.value[2].length > 0 && |
| | | selectData.value[2].some((v) => v.batchState == 1) |
| | | ); |
| | | }); |
| | | |
| | | // 结束批量 |
| | | function stopBatch(type) { |
| | | let devIds = devs.value.map((v) => v.devId); |
| | | let loading = $loading(); |
| | | let devIds = selectData.value[devType.value].map((v) => v.devId); |
| | | cancelContPl(devIds) |
| | | .then((res) => { |
| | | let { code, data } = res.data; |
| | | loading.close(); |
| | | if (code && data) { |
| | | console.log(data); |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | loading.close(); |
| | | console.log(err); |
| | | }); |
| | | } |
| | |
| | | function controlTest(groupIdx, ctrlType) { |
| | | // * 2暂停 * 3继续 * 4 停止 |
| | | let loading = $loading(); |
| | | controllerActmParam(currentDevId.value, groupIdx, ctrlType) |
| | | // 满足条件的设备id |
| | | let devIds = devs.value; |
| | | switch(ctrlType) { |
| | | case 2: |
| | | devIds = devIds |
| | | .filter((v) => v.devOnline == 1 && v.state[groupIdx].isTesting == 1 && v.state[groupIdx].isTestPause == 0) |
| | | .map((v) => v.devId); |
| | | break; |
| | | case 3: |
| | | devIds = devIds |
| | | .filter((v) => v.devOnline == 1 && v.state[groupIdx].isTestPause == 1) |
| | | .map((v) => v.devId); |
| | | break; |
| | | case 4: |
| | | devIds = devIds |
| | | .filter((v) => v.devOnline == 1 && v.state[groupIdx].isTesting == 1) |
| | | .map((v) => v.devId); |
| | | break; |
| | | } |
| | | |
| | | controllActmParamPl(devIds, groupIdx, ctrlType) |
| | | .then((res) => { |
| | | loading.close(); |
| | | let { code, data, msg } = res.data; |
| | | if (200 == code) { |
| | | let { code, data, data2, msg } = res.data; |
| | | let failList = []; |
| | | let successList = []; |
| | | Object.keys(data2).forEach((v) => { |
| | | if (200 == data2[v].code) { |
| | | successList.push(v); |
| | | } else { |
| | | failList.push(v); |
| | | } |
| | | }); |
| | | if (code && data && successList.length) { |
| | | $message.success("操作成功"); |
| | | console.log(data); |
| | | if (failList.length) { |
| | | let failNames = devs.value |
| | | .filter((v) => failList.some((vv) => vv == v.devId)) |
| | | .map((v) => v.devIdcode); |
| | | |
| | | $alert(`操作失败的设备列表:${failNames.join(", ")}。`); |
| | | } |
| | | close(); |
| | | } else { |
| | | $message.error("操作失败:" + msg); |
| | | $message.error("操作失败"); |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | |
| | | <template v-if="1 == devType"> |
| | | <el-button |
| | | size="small" |
| | | v-if="canStopBatch[1]" |
| | | v-if="canStopBatch1" |
| | | class="btn-start btn-grp0" |
| | | @click="stopBatch" |
| | | >结束批量</el-button |
| | |
| | | > |
| | | <el-button |
| | | size="small" |
| | | v-if="canStopBatch[2]" |
| | | v-if="canStopBatch2" |
| | | class="btn-start btn-grp0" |
| | | @click="stopBatch" |
| | | >结束批量</el-button |