diff --git a/src/api/area/area_management.js b/src/api/area/area_management.js index d0e10cb..9867348 100644 --- a/src/api/area/area_management.js +++ b/src/api/area/area_management.js @@ -24,8 +24,6 @@ export function postAdd(query) { }) } - - // 删除 export function postRemove(query) { return request({ @@ -35,22 +33,19 @@ export function postRemove(query) { }) } - - -// 编辑查询 -// export function getItem(query) { -// return request({ -// url: `/basedata/alg/${query}`, -// method: 'get', -// }) -// } // 编辑 export function edit(query) { - // console.log(query,1111111) - // return return request({ url: `/patrol/maintarea/update?lineId=${query.lineId}&enable=${query.enable}`, method: 'get', // data: query }) +} +// 区域下发 +export function issue(query) { + return request({ + url: `/patrol/maintarea/issue?ids=${query}`, + method: 'get', + // data: query + }) } \ No newline at end of file diff --git a/src/api/point/point_mang.js b/src/api/point/point_mang.js index 4a5a578..6d90148 100644 --- a/src/api/point/point_mang.js +++ b/src/api/point/point_mang.js @@ -1,9 +1,55 @@ import request from '@/utils/request'; // 初始化树结构 export function getTreeAreaDeviceSelect(query) { + if (query) { + return request({ + url: `/basedata/devicetype/getCommpTypeTreeSelectByMainDevicetypeId?devicetypeId=${query}`, + method: 'get', + // params: query + }) + } else { + return request({ + url: `/basedata/devicetype/getCommpTypeTreeSelectByMainDevicetypeId`, + method: 'get', + // params: query + }) + } +} +// 点击树结构 +export function cilikList(query) { return request({ - url: '/basedata/prodevmnt/device/treeAreaDeviceSelect', + url: `/basedata/patrolpointmnt/stdpatrolpoint/list?mainDevicetypeId=${query}`, method: 'get', - // params: query + }) +} + +// 数据格式 +export function dataFormat(query) { + return request({ + url: `/system/dict/data/type/data_format`, + method: 'get', + }) +} +// 设备分类 +export function devicetype(query) { + return request({ + url: `/basedata/devicetype/list?powerMainEquFlag=Yes`, + method: 'get', + }) +} +// 添加 +export function add(query) { + return request({ + url: `/basedata/patrolpointmnt/stdpatrolpoint/addBatchList`, + method: 'post', + data: query + }) +} + +// 删除 +export function remove(query) { + return request({ + url: `/basedata/patrolpointmnt/stdpatrolpoint/remove/${query}`, + method: 'post', }) } \ No newline at end of file diff --git a/src/views/area/area_management.vue b/src/views/area/area_management.vue index 2fbd6aa..8cff3e9 100644 --- a/src/views/area/area_management.vue +++ b/src/views/area/area_management.vue @@ -42,12 +42,21 @@ }} - {{ - $t("area_management.RegionalDistribution") - }} + {{ $t("area_management.RegionalDistribution") }} - + {{ scope.row.enable == 1 ? "无效" : "有效" }} - + {{ $t("share.delete") }} @@ -111,32 +124,43 @@ - + :data="treeData" + node-key="id" + :render-content="renderContent" + @check-change="handleCheckChange" + ref="tree" + > + - - + + - + + + + - + {{ $t("share.confirm") }} - {{ $t("share.cancel") }} + {{ + $t("share.cancel") + }} @@ -179,6 +208,7 @@ import { postRemove, postAdd, edit, + issue, } from "@/api/area/area_management"; export default { data() { @@ -197,10 +227,37 @@ export default { label: "label", isLeaf: "leaf", // 标识节点是否为叶子节点 }, - dialogForm: {}, + dialogForm: { + deviceLevel: "area", + }, dateRange: [], + ids: [], + rules: { + deviceLevel: [ + { + required: true, + message: "请选择设备类型", + trigger: "change", + }, + ], + configCode: [ + { + required: true, + message: "请输入检修区域配置编码", + trigger: "blur", + }, + ], + // dateRange: [ + // { + // required: true, + // message: "请选择时间", + // trigger: "change", + // }, + // ], + }, }; }, + created() { this.init(); this.initTree(); @@ -210,6 +267,21 @@ export default { submitForm() { this.dialogForm.startTime = this.dateRange[0]; this.dialogForm.endTime = this.dateRange[1]; + this.$refs["form"].validate((valid) => { + if (valid) { + // return + postAdd(this.dialogForm).then((res) => { + if (res.code == 200) { + this.dialogVisible = false; + this.$message({ + message: `新增成功`, + type: "success", + }); + this.init(); + } + }); + } + }); }, // 初始化 init() { @@ -251,39 +323,11 @@ export default { }, handleClose() { this.dialogVisible = false; + this.dialogForm.deviceLevel = "area"; + this.$refs.form.resetFields(); }, - // flattenTree(tree) { - // return tree.reduce((acc, node) => { - // acc.push(node); - // if (node.children && node.children.length) { - // acc.push(...this.flattenTree(node.children)); - // } - // return acc; - // }, []); - // }, - // 树结构点击 - handleCheckChange(data, checked, indeterminate) { - console.log(data, checked, indeterminate); - }, - loadNode(node, resolve) { - console.log(node); - if (node.level === 0) { - setTimeout(() => { - resolve(this.treeData); - }, 50); - } else if (!node.data.children) { - setTimeout(() => { - resolve([]); - }, 50); - } else if (node.data.children) { - setTimeout(() => { - resolve(node.data.children); - console.log(node.data.children); - }, 50); - } - }, - // 修改 + // 修改 handleEdit(row) { // lineId let data = { @@ -321,6 +365,62 @@ export default { }); }); }, + // 树结构多选框处理 + renderContent(h, { node, data, store }) { + const showCheckbox = data.type == this.dialogForm.deviceLevel; + return h("span", [ + showCheckbox + ? h("el-checkbox", { + style: { marginRight: "8px" }, + on: { + change: (checked) => { + store.setChecked(node, checked, false); + }, + }, + }) + : null, + h("span", node.label), + ]); + }, + handleCheckChange(data, checked, indeterminate) { + this.dialogForm.deviceList = null; + this.dialogForm.pointList = null; + let deviceList = []; + let pointList = []; + let allCheckedNodes = this.$refs.tree.getCheckedNodes(); + + allCheckedNodes.forEach((item) => { + deviceList.push(item.id); + if (item.children && item.children.length > 0) { + item.children.forEach((child) => { + pointList.push(child.id); + }); + } + }); + this.dialogForm.deviceList = deviceList.toString(); + this.dialogForm.pointList = pointList.toString(); + console.log(this.dialogForm); + // console.log(this.dialogForm, allCheckedNodes); + }, + deviceLevelChange() { + this.dialogForm.deviceList = null; + this.dialogForm.pointList = null; + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.lineId); + }, + issueFn() { + issue(this.ids.toString()).then((res) => { + if (res.code == 200) { + this.$message({ + message: `下发成功`, + type: "success", + }); + this.init(); + } + }); + }, }, }; diff --git a/src/views/point/point_mang.vue b/src/views/point/point_mang.vue index fa858c7..5fae8d8 100644 --- a/src/views/point/point_mang.vue +++ b/src/views/point/point_mang.vue @@ -19,11 +19,15 @@ :data="treeData" :props="defaultProps" @node-click="handleNodeClick" + node-key="devicetypeId" + ref="tree" > - +
- {{ $t("share.addTo") }} + {{ + $t("share.addTo") + }} (0/200){{ $t("point_mang.tableHeadMsg") }}
@@ -35,7 +39,6 @@ align="center" >
- + + - +
- {{ $t("share.save") }} + {{ + $t("share.save") + }}
+ +
请先选择左侧点位
+
- {{ $t('share.cancel') }} - {{ $t('share.confirm') }} + {{ + $t("share.cancel") + }} + {{ + $t("share.confirm") + }}