From 17c4e82a8e8159b4b387d79c395f2650ef85f6e4 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期四, 24 八月 2023 17:05:22 +0800 Subject: [PATCH] 添加投影图层管理页面 --- src/views/datamanage/layerManagement.vue | 303 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 249 insertions(+), 54 deletions(-) diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue index 9ddd70c..e68c5a3 100644 --- a/src/views/datamanage/layerManagement.vue +++ b/src/views/datamanage/layerManagement.vue @@ -150,23 +150,53 @@ :placeholder="$t('dataManage.layerObj.prompt1')" style="width: 60%;" v-model="formInline.cnName" - :disabled="serviceActive" ></el-input> </el-form-item> - <!-- 鑻辨枃鍚嶇О --> - <el-form-item :label="$t('dataManage.layerObj.englishName')"> - <el-input - :placeholder="$t('dataManage.layerObj.prompt6')" - style="width: 60%;" - v-model="formInline.enName" - :disabled="serviceActive" - ></el-input> - </el-form-item> - - <!-- 鏁版嵁绫诲瀷 --> + <!-- 璧勬簮绫诲埆 --> <el-form-item v-show="formInline.isLayer == 1" :label="$t('dataManage.layerObj.firm')" + > + <el-select + style="width: 60%;" + v-model="formInline.category" + :disabled="serviceActive" + :placeholder="$t('dataManage.layerObj.prompt3')" + > + <el-option + v-for="item in serviceType" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <!-- 鏁版嵁绫诲瀷 --> + <el-form-item + v-show="formInline.isLayer == 1" + :label="$t('dataManage.layerObj.dataType')" + > + <el-select + style="width: 60%;" + v-model="formInline.data" + :placeholder="$t('dataManage.layerObj.prompt3')" + :disabled="serviceActive" + @change="setFromDataTypeClick" + > + <el-option + v-for="item in serveType" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <!-- 鏁版嵁绫诲瀷 --> + <el-form-item + v-show="formInline.isLayer == 1" + :label="$t('dataManage.layerObj.serviceType')" > <el-select style="width: 60%;" @@ -183,6 +213,7 @@ </el-option> </el-select> </el-form-item> + <!-- 鏈嶅姟鍦板潃 --> <el-form-item v-show="formInline.isLayer == 1" @@ -195,11 +226,22 @@ :disabled="serviceActive" ></el-input> </el-form-item> - + <!-- 鑻辨枃鍚嶇О --> + <el-form-item + v-show="formInline.isLayer == 1 && formInline.category == 2" + :label="$t('dataManage.layerObj.englishName')" + > + <el-input + :disabled="serviceActive" + :placeholder="$t('dataManage.layerObj.prompt6')" + style="width: 60%;" + v-model="formInline.tab" + ></el-input> + </el-form-item> <!-- 鏄惁鏄剧ず --> <el-form-item v-show="formInline.isLayer == 1" - :label="$t('dataManage.layerObj.displayOrNot')" + :label="$t('dataManage.layerObj.enableOrNot')" > <el-radio @@ -211,7 +253,20 @@ label="1" > {{$t('dataManage.layerObj.isEnable')}}</el-radio> </el-form-item> - + <!-- 鏄惁鏄剧ず --> + <el-form-item + v-show="formInline.isLayer == 1" + :label="$t('dataManage.layerObj.displayOrNot')" + > + <el-radio + v-model="formInline.isShow" + label="0" + >{{$t('dataManage.layerObj.isfalse')}}</el-radio> + <el-radio + v-model="formInline.isShow" + label="1" + > {{$t('dataManage.layerObj.istrue')}}</el-radio> + </el-form-item> <!-- 鎻忚堪 --> <el-form-item :label="$t('common.bak')"> <el-input @@ -304,26 +359,56 @@ <!-- 鑿滃崟鍚嶇О --> <el-form-item :label="$t('dataManage.layerObj.layerName')"> <el-input - :disabled="insertServiceActive" :placeholder="$t('dataManage.layerObj.prompt1')" style="width: 60%;" v-model="insertData.cnName" ></el-input> </el-form-item> - <!-- 鑻辨枃鍚嶇О --> - <el-form-item :label="$t('dataManage.layerObj.englishName')"> - <el-input - :disabled="insertServiceActive" - :placeholder="$t('dataManage.layerObj.prompt6')" - style="width: 60%;" - v-model="insertData.enName" - ></el-input> - </el-form-item> - - <!-- 鏁版嵁绫诲瀷 --> + <!-- 璧勬簮绫诲埆 --> <el-form-item v-show="insertData.isLayer == 1" :label="$t('dataManage.layerObj.firm')" + > + <el-select + style="width: 60%;" + v-model="insertData.category" + :disabled="insertServiceActive" + :placeholder="$t('dataManage.layerObj.prompt3')" + > + <el-option + v-for="item in serviceType" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <!-- 鏁版嵁绫诲瀷 --> + <el-form-item + v-show="insertData.isLayer == 1" + :label="$t('dataManage.layerObj.dataType')" + > + <el-select + style="width: 60%;" + v-model="insertData.data" + :placeholder="$t('dataManage.layerObj.prompt3')" + :disabled="insertServiceActive" + @change="setInsertDataTypeClick" + > + <el-option + v-for="item in serveType" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <!-- 鏈嶅姟绫荤被鍨� --> + <el-form-item + v-show="insertData.isLayer == 1" + :label="$t('dataManage.layerObj.serviceType')" > <el-select :disabled="insertServiceActive" @@ -352,10 +437,22 @@ v-model="insertData.serviceUrl" ></el-input> </el-form-item> - <!-- 鏄惁鏄剧ず --> + <!-- 鑻辨枃鍚嶇О --> + <el-form-item + v-show="insertData.isLayer == 1 && insertData.category == 2" + :label="$t('dataManage.layerObj.englishName')" + > + <el-input + :disabled="insertServiceActive" + :placeholder="$t('dataManage.layerObj.prompt6')" + style="width: 60%;" + v-model="insertData.tab" + ></el-input> + </el-form-item> + <!-- 鏄惁鍚敤 --> <el-form-item v-show="insertData.isLayer == 1" - :label="$t('dataManage.layerObj.displayOrNot')" + :label="$t('dataManage.layerObj.enableOrNot')" > <el-radio v-model="insertData.status" @@ -366,7 +463,20 @@ label="1" > {{$t('dataManage.layerObj.isEnable')}}</el-radio> </el-form-item> - + <!-- 鏄惁鏄剧ず --> + <el-form-item + v-show="insertData.isLayer == 1" + :label="$t('dataManage.layerObj.displayOrNot')" + > + <el-radio + v-model="insertData.isShow" + label="0" + >{{$t('dataManage.layerObj.isfalse')}}</el-radio> + <el-radio + v-model="insertData.isShow" + label="1" + > {{$t('dataManage.layerObj.istrue')}}</el-radio> + </el-form-item> <!-- 鎻忚堪 --> <el-form-item :label="$t('common.bak')"> <el-input @@ -379,12 +489,12 @@ <el-button type="primary" size="small" - @click="submitForm( )" + @click="submitForm()" >{{$t('common.confirm')}}</el-button> <el-button type="info" size="small" - @click="submitCancel( )" + @click="submitCancel()" >{{$t('common.cancel')}}</el-button> </el-form-item> @@ -451,7 +561,7 @@ <el-table-column align="center" prop="category" - :label="$t('dataManage.layerObj.firm')" + :label="$t('dataManage.layerObj.serviceType')" :formatter="setResCategory" /> <el-table-column @@ -494,7 +604,7 @@ } from "../../api/api"; import $ from 'jquery' import { getToken } from '../../utils/auth'; -import { serve_type, data_type } from './js/layerManage.js' +import { serve_type, data_type, category_type } from './js/layerManage.js' import { json } from "body-parser"; export default { @@ -512,7 +622,7 @@ url: null, dataType: null, bak: null, - isShow: '1', + isShow: '0', isProject: '0', enName: '', isLayer: null, @@ -537,7 +647,10 @@ checkData: null, backUpData: null, dialogVisible: false, - insertData: {}, + insertData: { + type: null, + data: null, + }, currentData: null, newNode: null, newData: [], @@ -552,7 +665,8 @@ tableData: [], multipleSelection: [], serviceActive: true, - insertServiceActive: false + insertServiceActive: false, + serviceType: null }; }, watch: { @@ -561,6 +675,35 @@ }, }, methods: { + setFromDataTypeClick(res) { + this.setInsertDataTypeChange(res) + this.formInline.type = this.dataType[0].value + }, + setInsertDataTypeClick(res) { + this.setInsertDataTypeChange(res) + this.insertData.type = this.dataType[0].value + }, + setInsertDataTypeChange(res) { + var filter = this.serveType.filter(rs => { + if (rs.value == res) { + return rs + } + }) + if (filter.length <= 0) return + var std = []; + var data = filter[0].children; + for (var i in data) { + for (var j in serve_type) { + if (serve_type[j].value == data[i]) { + std.push({ + value: serve_type[j].value, + label: serve_type[j].name, + }) + } + } + } + this.dataType = std + }, setServiceConfirm() { if (this.multipleSelection.length <= 0) { return this.$message("鏈�夋嫨璧勬簮鏁版嵁"); @@ -571,24 +714,35 @@ url = this.multipleSelection.url; } else if (this.multipleSelection.status == 2) { var token = getToken() - serviceUrl = BASE_URL + this.multipleSelection.proxy.replaceAll('{token}', token); + if (this.multipleSelection.proxy && this.multipleSelection.proxy.indexOf('{token}') > -1) { + serviceUrl = BASE_URL + this.multipleSelection.proxy.replaceAll('{token}', token); + } else { + serviceUrl = this.multipleSelection.url + } + url = this.multipleSelection.proxy; } if (this.dialogVisible) { + this.setInsertDataTypeChange(this.multipleSelection.data); this.insertData.cnName = this.multipleSelection.cnName; this.insertData.enName = this.multipleSelection.enName; this.insertData.type = this.multipleSelection.type; this.insertData.resid = this.multipleSelection.id this.insertData.serviceUrl = serviceUrl; this.insertData.url = url; + this.insertData.data = this.multipleSelection.data; + this.insertData.tab = this.multipleSelection.tab; + this.insertData.category = this.multipleSelection.category; this.insertServiceActive = true - // this.insertData.status = this.multipleSelection.status; } else { this.formInline.cnName = this.multipleSelection.cnName; this.formInline.enName = this.multipleSelection.enName; this.formInline.type = this.multipleSelection.type; this.formInline.resid = this.multipleSelection.id this.formInline.serviceUrl = serviceUrl; + this.formInline.data = this.multipleSelection.data; + this.formInline.tab = this.multipleSelection.tab; + this.formInline.category = this.multipleSelection.category; this.formInline.url = url; this.serviceActive = true // this.formInline.status = '1'; @@ -596,6 +750,8 @@ } this.dialogService = false }, + + setServiceRest() { this.listData = { pageIndex: 1, @@ -814,10 +970,11 @@ var val = JSON.parse(JSON.stringify(this.insertData)); val.status = parseInt(val.status); var token = getToken(); - if (val.serviceUrl.indexOf(BASE_URL) > -1) { + if (val.serviceUrl && val.serviceUrl.indexOf(BASE_URL) > -1) { val.serviceUrl = val.serviceUrl.replaceAll(BASE_URL, ''); val.serviceUrl = val.serviceUrl.replaceAll(token, '{token}') } + val.isShow = parseInt(val.isShow) val.url = val.serviceUrl const data = await layer_insert(val); if (data.code != 200) { @@ -837,11 +994,16 @@ this.newNode = node; var id, lever, orderNum; if (res == 1) { - //鏂板鍚岀骇 - id = this.formInline.pid; - let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes - orderNum = this.getMaxOrderNum(pchildNodes); - lever = this.formInline.level; + if (this.formInline.pid) { + id = this.formInline.pid; + let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes + orderNum = this.getMaxOrderNum(pchildNodes); + lever = this.formInline.level; + } else { + id = 0; + orderNum = 1; + lever = 1; + } } else if (res == 2) { //鏂板瀛愮骇 id = this.formInline.id; @@ -852,6 +1014,7 @@ this.insertData.pid = id; this.insertData.level = lever; this.insertData.orderNum = orderNum; + this.dialogVisible = true; }, getMaxOrderNum(res) { @@ -865,6 +1028,10 @@ return val; }, insertStart() { + var data = this.serveType[0].value; + this.setInsertDataTypeChange(this.serveType[0].value) + var type = this.dataType[0].value + var category = this.serviceType[0].value this.insertData = { cnName: null, type: null, @@ -872,24 +1039,27 @@ url: null, dataType: null, bak: null, - isShow: '1', + isShow: '0', isProject: '0', enName: '', isLayer: null, - category: null, + category: category, status: null, service: '0', - status: '1' + status: '1', + type: type, + data: data, } }, //淇敼鏁版嵁 async updateSend() { var val = JSON.parse(JSON.stringify(this.formInline)); var token = getToken(); - if (val.serviceUrl.indexOf(BASE_URL) > -1) { + if (val.serviceUrl && val.serviceUrl.indexOf(BASE_URL) > -1) { val.serviceUrl = val.serviceUrl.replaceAll(BASE_URL, ''); val.serviceUrl = val.serviceUrl.replaceAll(token, '{token}') } + val.isShow = parseInt(val.isShow) val.url = val.serviceUrl const data = await layer_update(val); this.currentData = JSON.stringify(this.formInline) @@ -913,13 +1083,17 @@ }, //鑾峰彇鍥惧眰鍒楄〃 async getLayerTree() { - const data = await layer_selectAll(); + const data = await layer_selectAll({ flag: 0 }); if (data.code != 200) { return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触"); } this.oriData = data.result; this.newData = data.result; var val = this.setTreeData(data.result); + val.sort(function (a, b) { + return a.orderNum - b.orderNum + }) + this.treeData = val; var cdata; if (this.currentData) { @@ -944,20 +1118,30 @@ this.formInline = result; this.formInline.isLayer = res.isLayer.toString(); this.formInline.status = result.status.toString(); + + this.formInline.isShow = res.isShow.toString(); + + if (res.resid && res.resid > 0) { this.serviceActive = true } else { this.serviceActive = false } + var url; if (!this.serviceActive) { url = result.url; } else if (this.serviceActive) { var token = getToken() - url = BASE_URL + result.url.replaceAll('{token}', token); + if (result.url.indexOf('{token}') > -1) { + url = BASE_URL + result.url.replaceAll('{token}', token); + } else { + url = result.url; + } + } this.formInline.serviceUrl = url; - + this.setInsertDataTypeChange(this.formInline.data) // this.formInline.isProject = result.isProject.toString(); }, //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢 @@ -976,7 +1160,6 @@ return a.orderNum - b.orderNum }) } - branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊� // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛� // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� @@ -992,6 +1175,7 @@ optionsStart() { var std = []; var ste = []; + var str = []; for (var i in serve_type) { ste.push({ value: serve_type[i].value, @@ -1003,9 +1187,20 @@ std.push({ value: data_type[i].value, label: data_type[i].name, + children: data_type[i].children }) } this.dataType = ste; + + for (var i in category_type) { + str.push({ + value: category_type[i].value, + label: category_type[i].name, + }) + } + this.serviceType = str; + + }, //鏁版嵁鍒濆鍖� formInlineStart() { @@ -1016,7 +1211,7 @@ url: null, dataType: null, bak: null, - isShow: '1', + isShow: '0', isProject: '0', enName: '', isLayer: null, -- Gitblit v1.9.3