From 5251468b491c8cbc34b92bd2fdf144c08ae38196 Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期一, 30 十月 2023 15:21:24 +0800 Subject: [PATCH] 图层管理修改 --- src/views/layer/layerSet.vue | 192 ++++++++++++++--------------------------------- 1 files changed, 59 insertions(+), 133 deletions(-) diff --git a/src/views/layer/layerSet.vue b/src/views/layer/layerSet.vue index 5155785..3f11d1b 100644 --- a/src/views/layer/layerSet.vue +++ b/src/views/layer/layerSet.vue @@ -19,30 +19,17 @@ :expand-on-click-node="false" @node-click="handleNodeClick" ref="treeRef" + style="font-size: 16px" /> </div> </div> <div class="edit_box"> <div class="edit_box_btn btnstyle"> - <el-button type="primary" :icon="Plus" @click="insertLayerData(1)" - >鏂板鍚岀骇</el-button - > - <el-button type="primary" :icon="Plus" @click="insertLayerData(2)" - >鏂板瀛愮骇</el-button - > - <el-button - type="primary" - :icon="Delete" - class="delbtn" - @click="delLayer" - >鍒犻櫎</el-button - > - <el-button type="primary" :icon="Top" @click="move(1)" - >鍚戜笂绉诲姩</el-button - > - <el-button type="primary" :icon="Bottom" @click="move(2)" - >鍚戜笅绉诲姩</el-button - > + <el-button type="primary" :icon="Plus" @click="insertLayerData(1)">鏂板鍚岀骇</el-button> + <el-button type="primary" :icon="Plus" @click="insertLayerData(2)">鏂板瀛愮骇</el-button> + <el-button type="primary" :icon="Delete" class="delbtn" @click="delLayer">鍒犻櫎</el-button> + <el-button type="primary" :icon="Top" @click="move(1)">鍚戜笂绉诲姩</el-button> + <el-button type="primary" :icon="Bottom" @click="move(2)">鍚戜笅绉诲姩</el-button> </div> <div class="edit_box_form"> <el-form :model="formInline" label-width="120px"> @@ -60,46 +47,32 @@ @click="setServiceChange('0')" key="0" :class="{ serviceActive: !serviceActive }" - >鍚�</el-button - > + >鍚�</el-button> <el-button size="small" class="serviceButton" @click="setServiceChange('1')" key="1" :class="{ serviceActive: serviceActive }" - >鏄�</el-button - > + >鏄�</el-button> </el-form-item> <el-form-item label="鍥惧眰鍚嶇О"> - <el-input - v-model="formInline.cnName" - placeholder="璇疯緭鍏ュ浘灞傚悕绉�" - /> + <el-input v-model="formInline.cnName" placeholder="璇疯緭鍏ュ浘灞傚悕绉�" /> </el-form-item> <!-- 鏈嶅姟绫诲埆 --> <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟绫诲埆"> - <el-select - style="width: 100%" - v-model="formInline.category" - :disabled="serviceActive" - > + <el-select style="width: 100%" v-model="formInline.category" :disabled="serviceActive"> <el-option v-for="item in category_type" :key="item.value" :label="item.name" :value="item.value" - > - </el-option> + ></el-option> </el-select> </el-form-item> <el-form-item label="琛ㄥ悕绉�" v-show="formInline.category == 2"> - <el-input - v-model="formInline.tab" - placeholder="璇疯緭鍏ヨ〃鍚嶇О" - :disabled="serviceActive" - /> + <el-input v-model="formInline.tab" placeholder="璇疯緭鍏ヨ〃鍚嶇О" :disabled="serviceActive" /> </el-form-item> <!-- 鏁版嵁绫诲瀷 --> <el-form-item v-show="formInline.isLayer == 1" label="鏁版嵁绫诲瀷"> @@ -114,24 +87,18 @@ :key="item.value" :label="item.label" :value="item.value" - > - </el-option> + ></el-option> </el-select> </el-form-item> <!-- 鏁版嵁绫诲瀷 --> <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟绫诲瀷"> - <el-select - style="width: 100%" - v-model="formInline.type" - :disabled="serviceActive" - > + <el-select style="width: 100%" v-model="formInline.type" :disabled="serviceActive"> <el-option v-for="item in dataType" :key="item.value" :label="item.label" :value="item.value" - > - </el-option> + ></el-option> </el-select> </el-form-item> @@ -168,23 +135,18 @@ @click="setInsertServiceChange('0')" key="0" :class="{ serviceActive: !insertServiceActive }" - >鍚�</el-button - > + >鍚�</el-button> <el-button size="small" class="serviceButton" @click="setInsertServiceChange('1')" key="1" :class="{ serviceActive: insertServiceActive }" - >鏄�</el-button - > + >鏄�</el-button> </el-form-item> <el-form-item label="鍥惧眰鍚嶇О"> - <el-input - v-model="insertData.cnName" - placeholder="璇疯緭鍏ュ浘灞傚悕绉�" - /> + <el-input v-model="insertData.cnName" placeholder="璇疯緭鍏ュ浘灞傚悕绉�" /> </el-form-item> <!-- 鏈嶅姟绫诲埆 --> <el-form-item v-show="insertData.isLayer == 1" label="鏈嶅姟绫诲埆"> @@ -198,8 +160,7 @@ :key="item.value" :label="item.name" :value="item.value" - > - </el-option> + ></el-option> </el-select> </el-form-item> <el-form-item label="琛ㄥ悕绉�" v-show="insertData.category == 2"> @@ -222,8 +183,7 @@ :key="item.value" :label="item.label" :value="item.value" - > - </el-option> + ></el-option> </el-select> </el-form-item> <!-- 鏁版嵁绫诲瀷 --> @@ -238,8 +198,7 @@ :key="item.value" :label="item.label" :value="item.value" - > - </el-option> + ></el-option> </el-select> </el-form-item> @@ -252,16 +211,8 @@ </el-form-item> <el-form-item> <div class="btnstyle editBtn"> - <el-button type="primary" size="small" @click="added()" - >纭畾</el-button - > - <el-button - class="delbtn" - type="info" - size="small" - @click="submitCancel()" - >鍙栨秷</el-button - > + <el-button type="primary" size="small" @click="added()">纭畾</el-button> + <el-button class="delbtn" type="info" size="small" @click="submitCancel()">鍙栨秷</el-button> </div> </el-form-item> </el-form> @@ -269,61 +220,30 @@ </el-dialog> <el-dialog v-model="dialogService" width="50%" :show-close="false"> <div style="width: 100%; max-height: 63vh; overflow-y: auto"> - <div - style="display: flex; justify-content: space-between" - class="tableForm" - > + <div style="display: flex; justify-content: space-between" class="tableForm"> <div> <el-input size="small" v-model="listData.name"> <template #suffix> - <el-icon - class="el-input__icon el-icon-search" - @click="setServiceQuery" - ><search - /></el-icon> + <el-icon class="el-input__icon el-icon-search" @click="setServiceQuery"> + <search /> + </el-icon> </template> </el-input> </div> <div class="btnstyle"> - <el-button type="info" size="small" @click="setServiceRest"> - 閲嶇疆 - </el-button> + <el-button type="info" size="small" @click="setServiceRest">閲嶇疆</el-button> - <el-button type="primary" size="small" @click="setServiceConfirm"> - 纭 - </el-button> - <el-button - type="info" - size="small" - @click="setServiceCanel" - class="delbtn" - > - 鍙栨秷 - </el-button> + <el-button type="primary" size="small" @click="setServiceConfirm">纭</el-button> + <el-button type="info" size="small" @click="setServiceCanel" class="delbtn">鍙栨秷</el-button> </div> </div> <el-table ref="multipleTable" :data="tableData" @select="selectChange"> - <el-table-column type="selection" width="55"> </el-table-column> - <el-table-column - align="center" - type="index" - label="搴忓彿" - width="70px" - /> + <el-table-column type="selection" width="55"></el-table-column> + <el-table-column align="center" type="index" label="搴忓彿" width="70px" /> <el-table-column align="center" prop="cnName" label="璧勬簮鍚嶇О" /> - <el-table-column - align="center" - prop="category" - label="鏈嶅姟绫诲瀷" - :formatter="setResCategory" - /> - <el-table-column - align="center" - prop="type" - label="鏁版嵁绫诲瀷" - :formatter="setResType" - /> + <el-table-column align="center" prop="category" label="鏈嶅姟绫诲瀷" :formatter="setResCategory" /> + <el-table-column align="center" prop="type" label="鏁版嵁绫诲瀷" :formatter="setResType" /> </el-table> <div class="pagination_box" style="margin-top: 15px"> <el-pagination @@ -334,8 +254,7 @@ :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listData.count" - > - </el-pagination> + ></el-pagination> </div> </div> </el-dialog> @@ -358,7 +277,7 @@ import { res_selectByPageAndCount } from "@/api/api"; import { Search } from "@element-plus/icons-vue"; const stretchValue = ref(""); -const emits = defineEmits(["SETstate", "addlayer", "delLayer"]); +const emits = defineEmits(["SETstate", "addlayer", "delLayer","onSubmit"]); //defineProps 鏉ユ帴鏀剁粍浠剁殑浼犲�� const defineProp = defineProps({ layerTree: Array, @@ -545,7 +464,8 @@ multipleSelection.value.proxy.indexOf("{token}") > -1 ) { serviceUrl = - BASE_URL + multipleSelection.value.proxy.replaceAll("{token}", token); + config.BASE_URL + + multipleSelection.value.proxy.replaceAll("{token}", token); } else { serviceUrl = multipleSelection.value.url; } @@ -615,7 +535,9 @@ formInline.value = res; formInline.value.isLayer = res.isLayer.toString(); - formInline.value.status = res.status.toString(); + if (formInline.value.status) { + formInline.value.status = res.status.toString(); + } } dialogVisible.value = false; // this.formInline.isProject = res.isProject.toString(); @@ -685,10 +607,11 @@ data: Tree, checked: boolean, indeterminate: boolean -) => { - console.log(data, checked, indeterminate); -}; +) => {}; const onSubmit = () => { + if (!checkedStaste) { + return ElMessage.warning("璇峰厛鐐瑰嚮閫変腑鐩稿簲鍥惧眰"); + } // selectedObj.value = formInline.value; let node = treeRef.value.getNode(selectedObj.value); // 灏嗗彉鍔ㄤ箣鍓嶇殑node澶囦唤 @@ -696,10 +619,7 @@ copyNode.previousSibling = { ...node.previousSibling }; copyNode.nextSibling = { ...node.nextSibling }; copyNode.parent = { ...node.parent }; - - // console.log(1111111111111, copyNode.previousSibling); - // console.log(2222222222222, copyNode.nextSibling); - // console.log(3333333333333, copyNode.parent); + emits("onSubmit",true); if (Object.keys(copyNode.previousSibling).length !== 0) { // 鍒犻櫎鍘熷厛鐨刵ode treeRef.value.remove(node.data); @@ -723,6 +643,8 @@ return; } + + ElMessage({ message: "淇敼鎴愬姛", type: "success", @@ -732,8 +654,6 @@ // 澶勭悊鑺傜偣鐐瑰嚮浜嬩欢 function handleNodeClick(data: any) { - console.log(data); - if (data.id === selectedNodeId.value) { // 濡傛灉褰撳墠鑺傜偣宸茬粡閫変腑锛屽垯鍙栨秷閫変腑 selectedNodeId.value = null; @@ -746,7 +666,8 @@ backUpData.value = JSON.stringify(data); // this.currentData = JSON.stringify(result) formInline.value = JSON.parse(backUpData.value); - formInline.value.isLayer = data.isLayer.toString(); + ; + formInline.value.isLayer = parseInt(data.isLayer) == 0 ? "0" : "1"; if (data.resid && data.resid > 0) { serviceActive.value = true; } else { @@ -758,7 +679,7 @@ } else if (serviceActive.value) { var token = getToken(); if (data.url.indexOf("{token}") > -1) { - url = BASE_URL + data.url.replaceAll("{token}", token); + url = config.BASE_URL + data.url.replaceAll("{token}", token); } else { url = data.url; } @@ -773,7 +694,7 @@ id += Math.floor(Math.random() * 10); } var addObj = { - isLayer: insertData.value.isLayer.toString(), + isLayer: parseInt(insertData.value.isLayer), id: id, cnName: insertData.value.cnName, url: insertData.value.serviceUrl, @@ -783,7 +704,6 @@ tab: insertData.value.tab, //Geoserver 鍚嶇О锛� category: insertData.value.category, //鏈嶅姟绫诲埆 Geoserver , 1 GisServer 2 GeoServer 3鏁扮畝 }; - if (addlocation == 1) { //鏂板鍚岀骇 treeRef.value.insertAfter(addObj, treeRef.value.getNode(selectedObj.value)); @@ -826,6 +746,7 @@ //绉诲姩 const move = (type) => { // let node = treeRef.value.getCurrentNode(); + let node = treeRef.value.getNode(selectedObj.value); let data = selectedObj.value; // 灏嗗彉鍔ㄤ箣鍓嶇殑node澶囦唤 @@ -934,7 +855,7 @@ align-items: center; .titleLable { - font-size: 24px; + font-size: 18px; font-family: Source Han Sans CN; font-weight: 400; color: #ffffff; @@ -954,6 +875,11 @@ height: 92%; overflow: auto; } + + /deep/.el-tree-node__content { + font-size: 16px; + } + .layerContent::-webkit-scrollbar { width: 8px; } -- Gitblit v1.9.3