diff --git a/src/api/model/em.js b/src/api/model/em.js index efc8ff5a..5233d627 100644 --- a/src/api/model/em.js +++ b/src/api/model/em.js @@ -146,4 +146,55 @@ export default { } }, }, + //设备分类 + ecate: { + list: { + name: "列表", + req: async function(data){ + return await http.get( + `${config.API_URL}/em/ecate/`, + data + ); + } + }, + item: { + name: "获取详情", + req: async function(id){ + return await http.get( + `${config.API_URL}/em/ecate/${id}/` + ); + } + }, + update: { + name: "更新", + req: async function(id, data){ + return await http.put( + `${config.API_URL}/em/ecate/${id}/`, + data); + } + }, + create: { + name: "创建", + req: async function(data){ + return await http.post( + `${config.API_URL}/em/ecate/`, + data); + } + }, + delete: { + name: "删除", + req: async function(id){ + return await http.delete( + `${config.API_URL}/em/ecate/${id}/`); + } + }, + cquery: { + name: "复杂查询", + req: async function(data){ + return await http.post( + `${config.API_URL}/em/ecate/cquery/`, + data); + } + }, + }, } \ No newline at end of file diff --git a/src/config/route.js b/src/config/route.js index 3603719e..5e791df6 100644 --- a/src/config/route.js +++ b/src/config/route.js @@ -1815,6 +1815,16 @@ const routes = [ "perms": ["em"] }, "children": [ + { + "name": "ecate", + "path": "/em/ecate", + "meta": { + "title": "设备分类", + "icon": "el-icon-cellphone", + "perms": ["ecate"] + }, + "component": "em/ecate" + }, { "name": "equipment", "path": "/em/equipment", @@ -1831,9 +1841,9 @@ const routes = [ "meta": { "title": "计量设备", "icon": "el-icon-cellphone", - "perms": ["equipmentc"] + "perms": ["equipmentjl"] }, - "component": "em/equipmentc" + "component": "em/equipmentjl" }, { "name": "equipmentz", @@ -1841,9 +1851,9 @@ const routes = [ "meta": { "title": "治理设备", "icon": "el-icon-cellphone", - "perms": ["equipmentz"] + "perms": ["equipmentzl"] }, - "component": "em/equipmentz" + "component": "em/equipmentzl" }, { "name": "equipmentj", @@ -1851,9 +1861,19 @@ const routes = [ "meta": { "title": "监测设备", "icon": "el-icon-cellphone", - "perms": ["equipmentj"] + "perms": ["equipmentjk"] }, - "component": "em/equipmentj" + "component": "em/equipmentjk" + }, + { + "name": "equipmentj", + "path": "/em/equipmentjc", + "meta": { + "title": "监测设备", + "icon": "el-icon-cellphone", + "perms": ["equipmentjc"] + }, + "component": "em/equipmentjc" }, { "name": "equipmentjk", @@ -1871,7 +1891,7 @@ const routes = [ "meta": { "title": "巡检记录", "icon": "el-icon-cellphone", - "perms": ["equipment"] + "perms": ["einspect"] }, "component": "em/xjRecord" }, @@ -2201,7 +2221,7 @@ const routes = [ "path": "/bigScreenEnp", "name": "bigScreenEnp", "meta": { - "title": "数据大屏Enp", + "title": "环保大屏", "icon": "el-icon-platform", "perms": ["bigScreenEnp"], "fullpage": true, diff --git a/src/utils/enum.js b/src/utils/enum.js new file mode 100644 index 00000000..e5910710 --- /dev/null +++ b/src/utils/enum.js @@ -0,0 +1,59 @@ +/** + * 枚举创建工厂(构造函数),扩展枚举对象:keys、values(含key值的[{key,text,type}])、formatter。 + * @param {*} enumObj 枚举值,支持标准模式{key:{text,type},},简单模式{key:text,}(会自动转换为标准模式) + * @param {*} keyParseFunc key的转换函数,默认null,如果key为整数则传 parseInt + */ +export default function EnumFactory(enumObj, keyParseFunc = null) { + //复制(继承)enumObj + Object.assign(this, enumObj) + + // keys:枚举的key集合[key] + Object.defineProperty(this, 'keys', { + value: keyParseFunc ? Object.keys(enumObj).map(s => keyParseFunc(s)) : Object.keys(enumObj) + }) + + // 处理 values + let values = [] + const ovalues = Object.values(enumObj) + // 主要区分下value是简单类型(字符串)还是对象类型 + if (typeof ovalues[0] === 'string') { + ovalues.forEach((text, index) => { + const obj = { key: this.keys[index], text } + values.push(obj) + this[this.keys[index]] = obj + }) + } + else { + ovalues.forEach((item, index) => { + item.key = this.keys[index] + values.push(item) + }) + } + // 设置values属性 + Object.defineProperty(this, 'values', { value: values }) + + // formatter:element中表格绑定枚举数据文本的formatter函数 + // r、c为行列,可传入null + Object.defineProperty(this, 'formatter', { + value: function(r, c, value) { + return values.filter(v => v.key == value || v.text == value)[0]?.text || 'notfound' + } + }) + + //枚举定义的数据都是常量,不可修改,冻结一下 + Object.freeze(this) + } + +export const runningStateEnum = new EnumFactory({ + 10: { text: '运行', type: 'success' }, + 20: { text: '待机', type: 'primary' }, + 30: { text: '停机', type: 'warning' }, + 40: { text: '故障', type: 'danger' }, + 50: { text: '未知', type: 'info' }, +}, parseInt) + +export const drainTypeEnum = new EnumFactory({ + 'product': '生产工艺', + 'mtrans': '物料输送', + 'mstore':'物料储存' +}) \ No newline at end of file diff --git a/src/views/bigScreen/enpComponents/cems.vue b/src/views/bigScreen/enpComponents/cems.vue index 0ec9053f..e3adbac2 100644 --- a/src/views/bigScreen/enpComponents/cems.vue +++ b/src/views/bigScreen/enpComponents/cems.vue @@ -2,60 +2,70 @@ - -
CEMS监测清单
+ +
CEMS监测清单
+
+ 返回地图 +
- - - + + + + + - + - + @@ -94,11 +104,13 @@ \ No newline at end of file diff --git a/src/views/em/equipmentc.vue b/src/views/em/equipmentc.vue deleted file mode 100644 index 7232e7f2..00000000 --- a/src/views/em/equipmentc.vue +++ /dev/null @@ -1,280 +0,0 @@ - - \ No newline at end of file diff --git a/src/views/em/equipmentz.vue b/src/views/em/equipmentjc.vue similarity index 100% rename from src/views/em/equipmentz.vue rename to src/views/em/equipmentjc.vue diff --git a/src/views/em/equipmentj.vue b/src/views/em/equipmentjl.vue similarity index 100% rename from src/views/em/equipmentj.vue rename to src/views/em/equipmentjl.vue diff --git a/src/views/em/equipmentzl.vue b/src/views/em/equipmentzl.vue new file mode 100644 index 00000000..c49a0a3f --- /dev/null +++ b/src/views/em/equipmentzl.vue @@ -0,0 +1,325 @@ + + \ No newline at end of file diff --git a/src/views/ops/menu.vue b/src/views/ops/menu.vue index 128d0608..26a9f51a 100644 --- a/src/views/ops/menu.vue +++ b/src/views/ops/menu.vue @@ -2,30 +2,15 @@
- +
- + - + - +
- + 目录 @@ -85,49 +50,23 @@ - - + + - + - + @@ -232,12 +171,7 @@ export default { confirmButtonClass: "el-button--danger", }).then(() => { this.$API.system.permission.delete.req(id).then((res) => { - if (res.err_msg) { - this.$message.error(res.err_msg); - this.$refs.table.refresh(); - } else { - this.$message.success("操作成功"); - } + this.$refs.table.refresh(); }); }); }, @@ -280,8 +214,8 @@ export default { }, //搜索 handleQuery() { - this.$refs.table.queryData(this.query) - }, + this.$refs.table.queryData(this.query) + }, //本地更新数据 handleSaveSuccess(data, mode) { if (mode == "add") { @@ -306,6 +240,7 @@ export default { right: 0; top: 0; } + .formSaveButton, .formDelButton { padding: 0; @@ -318,6 +253,7 @@ export default { left: 20px; top: 0; } + .formDelButton { left: 60px; }