From 3d8de57d1577ada7c263320d0c91503076994b86 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期三, 19 四月 2023 17:40:14 +0800 Subject: [PATCH] 图层管理页面添加,发布管理修改 --- src/views/datamanage/uploadmanage.vue | 23 + src/api/api.js | 21 + src/assets/lang/zh.js | 19 + src/views/Tools/LayerTree.vue | 19 public/config/config.js | 4 src/views/Synthesis/LeftMenu.vue | 6 src/views/datamanage/js/layerManage.js | 8 src/views/datamanage/catalogueManage.vue | 3 src/assets/lang/en.js | 19 + src/router/index.js | 5 src/views/datamanage/bankController.vue | 7 src/views/datamanage/layerManagement.vue | 770 ++++++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 880 insertions(+), 24 deletions(-) diff --git a/public/config/config.js b/public/config/config.js index 7ac397a..0f63f43 100644 --- a/public/config/config.js +++ b/public/config/config.js @@ -1,7 +1,5 @@ //var isWeb = location.hostname.indexOf("103.85.165.") > -1; -var isWeb = true; - - +var isWeb = false; var is_production = false;//鍒ゆ柇鏄惁涓虹敓浜х幆澧� var webHost = isWeb ? "103.85.165.99" + ":8052" : '192.168.20.205' + ":8088"; diff --git a/src/api/api.js b/src/api/api.js index 71b8abd..65fd19c 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -902,9 +902,28 @@ export function dataCount_downloadReport(params) { return request.get('/dataCount/downloadReport', { params: params }); } +//鍥惧眰绠$悊=> 鑾峰彇鎵�鏈夊浘灞傚垪琛� +export function layer_selectAll(params) { + return request.get('/layer/selectAll', { params: params }); +} +//鍥惧眰绠$悊=> 鏇存柊涓�鏉� +export function layer_update(params) { + return request.post('/layer/update', params); +} +//鍥惧眰绠$悊=> 鏇存柊澶氭潯 +export function layer_updates(params) { + return request.post('/layer/updates', params); +} - +//鍥惧眰绠$悊=> 鎻掑叆涓�鏉� +export function layer_insert(params) { + return request.post('/layer/insert', params); +} +//鍥惧眰绠$悊=> 鍒犻櫎涓�鏉� +export function layer_delete(params) { + return request.get('/layer/delete', { params: params }); +} //璇锋眰绔欏満鐐瑰唴瀹� export function querySitePoint(size, index, name) { diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index 876add7..a7b0e27 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -72,6 +72,20 @@ dataDownload: 'Data download', projectManage: 'Project information', dataStatistics: 'data Statistics', + layerManage: 'Layer Management', + layerObj: { + menuName: 'menu name', + menuType: 'Menu Type', + serviceName: 'service name', + serviceType: 'service type', + serviceAddress: 'Service Address', + displayOrNot: 'Display or not', + isItProjectData: 'Is it project data', + dataType: 'data type', + istrue: 'true', + isfalse: 'false', + + }, dataStaticObj: { type1: 'Primary module', type2: 'Secondary module', @@ -163,9 +177,10 @@ numberFiles: 'Number of published files', minLevel: 'Minimum level', maxLevel: 'Maximum level', - labe11: 'Please enter the minimum level (0 to 20)', - labe12: 'Please enter the maximum level (0 to 20)', + labe11: 'Please enter the minimum level (0 to 22)', + labe12: 'Please enter the maximum level (0 to 22)', labe13: 'Please enter a name', + labe14: 'Remove invalid values' }, dictionaryManage: 'dictionaryManage', dictionaryManageObj: { diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index dc35488..db75efb 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -71,6 +71,20 @@ dataDownload: '鏁版嵁涓嬭浇', projectManage: '椤圭洰淇℃伅', dataStatistics: '鏁版嵁缁熻', + layerManage: '鍥惧眰绠$悊', + layerObj: { + menuName: '鑿滃崟鍚嶇О', + menuType: '鑿滃崟绫诲瀷', + serviceName: '鏈嶅姟鍚嶇О', + serviceType: '鏈嶅姟绫诲瀷', + serviceAddress: '鏈嶅姟鍦板潃', + displayOrNot: '鏄惁鏄剧ず', + isItProjectData: '鏄惁涓洪」鐩暟鎹�', + dataType: '鏁版嵁绫诲瀷', + istrue: '鏄�', + isfalse: '鍚�', + + }, dataStaticObj: { type1: '鏈嶅姟鍚嶇О', type2: '璁块棶娆℃暟', @@ -165,9 +179,10 @@ minLevel: '鏈�灏忕骇鍒�', maxLevel: '鏈�澶х骇鍒�', - labe11: '璇疯緭鍏ユ渶灏忕骇鍒�(0 ~ 20)', - labe12: '璇疯緭鍏ユ渶澶х骇鍒�(0 ~ 20)', + labe11: '璇疯緭鍏ユ渶灏忕骇鍒�(0 ~ 22)', + labe12: '璇疯緭鍏ユ渶澶х骇鍒�(0 ~ 22)', labe13: '璇疯緭鍏ュ悕绉�', + labe14: '鍘婚櫎鏃犳晥鍊�' }, dictionaryManage: '瀛楀吀绠$悊', dictionaryManageObj: { diff --git a/src/router/index.js b/src/router/index.js index 6775d77..c6f8d4b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -48,6 +48,7 @@ import roleResAuthorization from '@/views/AuthorizationManagement/roleResAuthorization.vue'; //绯荤粺绠$悊-瑙掕壊璧勬簮鎺堟潈 import roleMenuAuthorization from '@/views/AuthorizationManagement/roleMenuAuthorization.vue'; //绯荤粺绠$悊-瑙掕壊鑿滃崟鎺堟潈 +import layerManagement from '@/views/datamanage/layerManagement.vue'; //鏁版嵁绠$悊-鑿滃崟绠$悊 import bankController from '../views/datamanage/bankController.vue';//鏁版嵁搴撶鐞� import projectController from '../views/datamanage/projectController.vue';//椤圭洰绠$悊 @@ -58,6 +59,10 @@ //鍖呬簩 import WareInspection from '@/views/PackageTwo/WareInspection.vue'; //鏁版嵁璐ㄦ-鍏ュ簱璐ㄦ import QualityInspection from '@/views/PackageTwo/index.vue'; //鏁版嵁璐ㄦ-鍏ュ簱璐ㄦ + + + + const originalPush = VueRouter.prototype.push; VueRouter.prototype.push = function push(location) { diff --git a/src/views/Synthesis/LeftMenu.vue b/src/views/Synthesis/LeftMenu.vue index 92f5dfd..5913567 100644 --- a/src/views/Synthesis/LeftMenu.vue +++ b/src/views/Synthesis/LeftMenu.vue @@ -2480,6 +2480,12 @@ return cloneData.filter((father) => { // 寰幆鎵�鏈夐」 let branchArr = cloneData.filter((child) => father.id == child.pid); // 瀵规瘮ID锛屽垎鍒笂涓嬬骇鑿滃崟锛屽苟杩斿洖鏁版嵁 + if (branchArr.length > 0) { + branchArr.sort(function (a, b) { + + 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锛� // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue index 7c365c5..0d84642 100644 --- a/src/views/Tools/LayerTree.vue +++ b/src/views/Tools/LayerTree.vue @@ -73,30 +73,30 @@ :style="{ ...rightClickMenuStyle }" v-show="menuVisible" > - <div + <!-- <div @click="addSameLevelNode()" v-show="firstLevel" > <i class="el-icon-plus"></i> 娣诲姞鍥惧眰缁� - </div> - <div + </div> --> + <!-- <div class="add" @click="addChildNode()" > <i class="el-icon-plus"></i> 娣诲姞鍥惧眰 - </div> - <div + </div> --> + <!-- <div class="delete" @click="deleteNode()" > <i class="el-icon-delete"></i> 鍒犻櫎 - </div> - <div + </div> --> + <!-- <div class="edit" @click="editNode()" > <i class="el-icon-edit"></i> 閲嶅懡鍚� - </div> + </div> --> <div class="edit" @click="showLayerAttribute()" @@ -316,6 +316,9 @@ }, // 榧犳爣鍙冲嚮浜嬩欢 rightClick(event, object, Node, element) { + if (object.type == 1) { + return + } this.currentData = object; this.currentNode = Node; diff --git a/src/views/datamanage/bankController.vue b/src/views/datamanage/bankController.vue index 5f87439..f03e0b0 100644 --- a/src/views/datamanage/bankController.vue +++ b/src/views/datamanage/bankController.vue @@ -31,9 +31,9 @@ <style-manage v-if="setMenuFlag == 'styleManage'"></style-manage> <data-loader v-if="setMenuFlag == 'dataLoader'"></data-loader> <down-loader v-if="setMenuFlag == 'downLoader'"></down-loader> - <data-statistics v-if="setMenuFlag == 'dataStatistics'"></data-statistics> <uploadmanage v-if="setMenuFlag == 'uploadmanage'"></uploadmanage> + <layer-management v-if="setMenuFlag == 'layerManagement'"></layer-management> </div> </div> @@ -57,7 +57,8 @@ import projectManage from '@/views/datamanage/projectManage.vue'; //椤圭洰绠$悊 import dataStatistics from '@/views/datamanage/dataStatistics.vue'; //鏁版嵁缁熻 import uploadmanage from '@/views/datamanage/uploadmanage.vue'; //涓婁紶绠$悊 -import Uploadmanage from './uploadmanage.vue'; +import layerManagement from '@/views/datamanage/layerManagement.vue'; //鏁版嵁绠$悊-鑿滃崟绠$悊 + export default { components: { customElMenu, @@ -74,6 +75,7 @@ projectManage, dataStatistics, uploadmanage, + layerManagement, }, data() { @@ -235,6 +237,7 @@ index = 'dataIfream'; } } + this.setMenuFlag = index; }, diff --git a/src/views/datamanage/catalogueManage.vue b/src/views/datamanage/catalogueManage.vue index b6db35b..d6a3331 100644 --- a/src/views/datamanage/catalogueManage.vue +++ b/src/views/datamanage/catalogueManage.vue @@ -1011,8 +1011,7 @@ } item.orderNum = i + 1; }); - // console.log(nodeData); - //鏇存柊鍘熷鏁翠綋鏁版嵁 + let arr = []; this.oriData.forEach((e) => { nodeData.forEach((item) => { diff --git a/src/views/datamanage/js/layerManage.js b/src/views/datamanage/js/layerManage.js new file mode 100644 index 0000000..8c821a1 --- /dev/null +++ b/src/views/datamanage/js/layerManage.js @@ -0,0 +1,8 @@ +export const serve_type = [ + 'Mpt', 'Tileset', 'WMS', 'TMS' +]; +export const data_type = [ + '鍩虹鍕樺療', '鍩虹鍦扮伨', '鍩虹娴嬬粯', '宸ョ▼绾胯矾', '宸ョ▼娴嬬粯', '宸ョ▼娲炲簱', + '鑷姩鍙戝竷妯″瀷', '宸ョ▼鍕樺療', '宸ョ▼鍦扮伨', '鑷姩鍙戝竷褰卞儚', '鑷姩鍙戝竷鍦板舰鍦烘櫙', '鍏朵粬' + +] \ No newline at end of file diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue new file mode 100644 index 0000000..3177157 --- /dev/null +++ b/src/views/datamanage/layerManagement.vue @@ -0,0 +1,770 @@ +<template> + <div class="subpage_Box"> + <My-bread :list="[ + `${$t('dataManage.dataManage')}`, + `${$t('dataManage.layerManage')}`, + ]"></My-bread> + <el-divider /> + <div class="mainBox"> + + <div + class="cataLogContent leftTree subpage_Div" + style="border: 1px solid #dcdfe6;" + > + <div> + <el-input v-model="filterText"></el-input> + + <el-tree + ref="tree" + :props="defaultProps" + node-key="id" + accordion + :data="treeData" + :default-expanded-keys="expandData" + @node-click="handleNodeClick" + :filter-node-method="filterNode" + > + </el-tree> + </div> + </div> + <div class="cataLog_rightContent right subpage_Div"> + <div + class="inquire" + style=" + align-items: center; + display: flex; + justify-content: space-between; + " + > + <el-breadcrumb separator="/"> + <el-breadcrumb-item :to="{ path: '/' }">{{ + + }}</el-breadcrumb-item> + </el-breadcrumb> + <div style="margin-right: -5px"> + <div class="menuTop"> + <el-form :inline="true"> + <el-form-item v-show="menuStatus.insert"> + <!-- 鍚岀骇鑺傜偣娣诲姞 --> + <el-button + type="success" + size="small" + icon="el-icon-plus" + @click="insertLayerData(1)" + >{{ $t("shuJuGuanLi.butten.NewPeer") }}</el-button> + </el-form-item> + <!-- 瀛愮骇鑺傜偣娣诲姞 --> + <el-form-item v-show="menuStatus.insert"> + <el-button + type="success" + size="small" + icon="el-icon-plus" + @click="insertLayerData(2)" + >{{ $t("shuJuGuanLi.butten.AddChild") }}</el-button> + </el-form-item> + <!-- 鍒犻櫎 --> + <el-form-item v-show="menuStatus.delete"> + <el-button + icon="el-icon-delete" + type="danger" + size="small" + @click="setDeleteNode( )" + >{{ $t("shuJuGuanLi.butten.Delete") }}</el-button> + </el-form-item> + <!-- 鍚戜笂绉诲姩 --> + <el-form-item v-show="menuStatus.delete"> + <el-button + type="info" + icon="el-icon-top" + size="small" + @click="setEditNode(1)" + >{{ $t("shuJuGuanLi.butten.MoveUp") }}</el-button> + </el-form-item> + <!-- 鍚戜笅绉诲姩 --> + <el-form-item v-show="menuStatus.delete"> + <el-button + type="info" + icon="el-icon-bottom" + size="small" + @click="setEditNode(2)" + >{{ $t("shuJuGuanLi.butten.MoveDown") }}</el-button> + </el-form-item> + </el-form> + </div> + </div> + + </div> + <div class="dividing-line"></div> + <div style="padding: 10px;"> + <el-form + :model="formInline" + class="demo-form-inline" + label-width="150px" + > + <!-- 鑿滃崟鍚嶇О --> + <el-form-item :label="$t('dataManage.layerObj.menuName')"> + <el-input + style="width: 60%;" + v-model="formInline.cnName" + ></el-input> + </el-form-item> + <!-- 鑿滃崟绫诲瀷 --> + <el-form-item :label="$t('dataManage.layerObj.menuType')"> + <el-select + clearable + style="width: 60%;" + v-model="formInline.type" + placeholder=" " + > + <el-option + label="鐩綍" + value='1' + ></el-option> + <el-option + label="鍥惧眰" + value='2' + ></el-option> + </el-select> + </el-form-item> + <!-- 鏈嶅姟绫诲瀷 --> + <el-form-item + v-show="formInline.type == 2" + :label="$t('dataManage.layerObj.serviceType')" + > + <el-select + clearable + style="width: 60%;" + v-model="formInline.serveType" + placeholder=" " + > + <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.type == 2" + :label="$t('dataManage.layerObj.serviceAddress')" + > + <el-input + style="width: 60%;" + v-model="formInline.url" + ></el-input> + </el-form-item> + <!-- 鏁版嵁绫诲瀷 --> + <el-form-item :label="$t('dataManage.layerObj.dataType')"> + <el-select + clearable + style="width: 60%;" + v-model="formInline.dataType" + placeholder=" " + > + <el-option + v-for="item in dataType" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <!-- 鏄惁鏄剧ず --> + <el-form-item + v-show="formInline.type == 2" + :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 + v-show="formInline.type == 2" + :label="$t('dataManage.layerObj.isItProjectData')" + > + <el-radio + v-model="formInline.isProject" + label="0" + > {{$t('dataManage.layerObj.isfalse')}}</el-radio> + <el-radio + v-model="formInline.isProject" + label="1" + >{{$t('dataManage.layerObj.istrue')}}</el-radio> + </el-form-item> + <!-- 鎻忚堪 --> + <el-form-item :label="$t('common.bak')"> + <el-input + style="width: 60%;" + v-model="formInline.bak" + ></el-input> + </el-form-item> + <el-form-item v-show="menuStatus.update"> + <el-button + type="primary" + size="small" + @click="updateSend()" + >{{$t('common.confirm')}}</el-button> + <el-button + type="info" + size="small" + @click="updateRest()" + >{{$t('common.reset')}}</el-button> + </el-form-item> + </el-form> + </div> + </div> + </div> + <el-dialog + :title="$t('common.append')" + :visible.sync="dialogVisible" + width="50%" + > + <div style="width: 100%;max-height: 63vh;overflow-y: auto; "> + <el-form + :model="insertData" + class="demo-form-inline" + label-width="150px" + > + <!-- 鑿滃崟鍚嶇О --> + <el-form-item :label="$t('dataManage.layerObj.menuName')"> + <el-input + style="width: 80%;" + v-model="insertData.cnName" + ></el-input> + </el-form-item> + <!-- 鑿滃崟绫诲瀷 --> + <el-form-item :label="$t('dataManage.layerObj.menuType')"> + <el-select + clearable + style="width: 80%;" + v-model="insertData.type" + placeholder=" " + > + <el-option + label="鐩綍" + value='1' + ></el-option> + <el-option + label="鍥惧眰" + value='2' + ></el-option> + </el-select> + </el-form-item> + <!-- 鏈嶅姟绫诲瀷 --> + <el-form-item + v-show="insertData.type == 2" + :label="$t('dataManage.layerObj.serviceType')" + > + <el-select + clearable + style="width: 80%;" + v-model="insertData.serveType" + placeholder=" " + > + <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.type == 2" + :label="$t('dataManage.layerObj.serviceAddress')" + > + <el-input + style="width: 80%;" + v-model="insertData.url" + ></el-input> + </el-form-item> + <!-- 鏁版嵁绫诲瀷 --> + <el-form-item :label="$t('dataManage.layerObj.dataType')"> + <el-select + clearable + style="width: 80%;" + v-model="insertData.dataType" + placeholder=" " + > + <el-option + v-for="item in dataType" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <!-- 鏄惁鏄剧ず --> + <el-form-item + v-show="insertData.type == 2" + :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 + v-show="insertData.type == 2" + :label="$t('dataManage.layerObj.isItProjectData')" + > + <el-radio + v-model="insertData.isProject" + label="0" + > {{$t('dataManage.layerObj.isfalse')}}</el-radio> + <el-radio + v-model="insertData.isProject" + label="1" + >{{$t('dataManage.layerObj.istrue')}}</el-radio> + </el-form-item> + <!-- 鎻忚堪 --> + <el-form-item :label="$t('common.bak')"> + <el-input + style="width: 80%;" + v-model="insertData.bak" + ></el-input> + </el-form-item> + <el-form-item v-show="menuStatus.update"> + <el-button + type="primary" + size="small" + @click="submitForm( )" + >{{$t('common.confirm')}}</el-button> + <el-button + type="info" + size="small" + >{{$t('common.cancel')}}</el-button> + </el-form-item> + + </el-form> + </div> + </el-dialog> + </div> +</template> +<script> +import MyBread from "../../components/MyBread.vue"; +import { + getPerms, + layer_selectAll, + layer_update, + layer_updates, + layer_insert, + layer_delete +} from "../../api/api"; +import $ from 'jquery' +import { getToken } from '../../utils/auth'; +import { serve_type, data_type } from './js/layerManage.js' +import { json } from "body-parser"; + +export default { + name: "catalogueManage", + components: { + MyBread, + }, + data() { + + return { + filterText: null, + formInline: { + cnName: null, + type: null, + serveType: null, + serveType: null, + url: null, + dataType: null, + bak: null, + isShow: '0', + isProject: '0' + }, + serveType: null, + dataType: null, + menuStatus: { + delete: false, + insert: false, + update: false, + }, + defaultProps: { + children: "children", + label: "cnName", + }, + treeData: [], + expandData: [], + checkData: null, + backUpData: null, + dialogVisible: false, + insertData: {}, + currentData: null, + newNode: null, + newData: [], + oriData: [], + }; + }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + }, + }, + methods: { + //鍚戜笂鍚戜笅绉诲姩 + setEditNode(res) { + let node = this.$refs.tree.getCurrentNode(); + let pchildNodes = this.$refs.tree.getNode(node.id).parent.childNodes; + let currentId = {}; + for (let i = 0; i < pchildNodes.length; i++) { + if (pchildNodes[i].data.id == node.id) { + currentId = i; + } + } + switch (res) { + case 1: //鍚戜笂绉诲姩 + if (currentId != 0) { + const tempChildrenNodex1 = pchildNodes[currentId - 1]; + const tempChildrenNodex2 = pchildNodes[currentId]; + tempChildrenNodex2.orderNum = + pchildNodes[currentId - 1].data.orderNum; + tempChildrenNodex1.orderNum = pchildNodes[currentId].data.orderNum; + var arr = []; + this.oriData.filter((res) => { + if (res.id == tempChildrenNodex2.data.id) { + res.orderNum = tempChildrenNodex2.orderNum; + arr.push(res); + } else if (res.id == tempChildrenNodex1.data.id) { + res.orderNum = tempChildrenNodex1.orderNum; + arr.push(res); + } + }); + this.newData = arr; + this.sendChange(); + } else { + this.$message({ + message: "澶勪簬椤剁锛屼笉鑳界户缁笂绉�", + type: "warning", + }); + } + break; + case 2: //鍚戜笅绉诲姩 + if (currentId < pchildNodes.length - 1) { + const tempChildrenNodex1 = pchildNodes[currentId + 1]; + const tempChildrenNodex2 = pchildNodes[currentId]; + tempChildrenNodex2.orderNum = + pchildNodes[currentId + 1].data.orderNum; + tempChildrenNodex1.orderNum = pchildNodes[currentId].data.orderNum; + var arr = []; + this.oriData.filter((res) => { + if (res.id == tempChildrenNodex2.data.id) { + res.orderNum = tempChildrenNodex2.orderNum; + arr.push(res); + } else if (res.id == tempChildrenNodex1.data.id) { + res.orderNum = tempChildrenNodex1.orderNum; + arr.push(res); + } + }); + this.newData = arr; + this.sendChange(); + } else { + this.$message({ + message: "澶勪簬搴曠锛屼笉鑳界户缁笅绉�", + type: "warning", + }); + } + break; + } + }, + async sendChange() { + const data = await layer_updates(this.newData) + if (data.code != 200) { + return this.$message.error("绉诲姩澶辫触"); + } + this.getLayerTree() + }, + + async setDeleteNode() { + const data = await layer_delete({ id: this.formInline.id }); + if (data.code != 200) { + return this.$message.error("鍒犻櫎澶辫触"); + } + this.$message({ + message: '鍒犻櫎鎴愬姛', + type: 'success' + }); + let pchildNodes = this.$refs.tree.getNode(this.formInline.id).parent; + if (pchildNodes.data.id) { + this.currentData = JSON.stringify(pchildNodes.data) + } else { + this.currentData = null + } + + + this.getLayerTree(); + }, + async submitForm() { + var val = this.insertData; + val.isShow = parseInt(val.isShow); + val.isProject = parseInt(val.isProject); + const data = await layer_insert(val); + if (data.code != 200) { + return this.$message.error("鏂板澶辫触"); + } + this.$message({ + message: '鏂板鎴愬姛', + type: 'success' + }); + this.getLayerTree(); + this.dialogVisible = false; + this.insertStart(); + }, + insertLayerData(res) { + this.insertStart(); + var node = this.$refs.tree.getCurrentNode(); + 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; + } else if (res == 2) { + //鏂板瀛愮骇 + id = this.formInline.id; + let pchildNodes = this.$refs.tree.getNode(this.newNode.id).childNodes + orderNum = this.getMaxOrderNum(pchildNodes); + lever = this.formInline.level + 1; + } + this.insertData.pid = id; + this.insertData.level = lever; + this.insertData.orderNum = orderNum; + this.dialogVisible = true; + }, + getMaxOrderNum(res) { + var val = -100; + for (var i in res) { + if (res[i].data.orderNum > val) { + val = res[i].data.orderNum; + } + } + val = val + 1; + return val; + }, + insertStart() { + this.insertData = { + cnName: null, + type: null, + serveType: null, + serveType: null, + url: null, + dataType: null, + bak: null, + isShow: '0', + isProject: '0' + } + }, + //淇敼鏁版嵁 + async updateSend() { + var val = JSON.parse(JSON.stringify(this.formInline)); + const data = await layer_update(val); + this.currentData = JSON.stringify(this.formInline) + if (data.code != 200) { + return this.$message.error("淇敼澶辫触"); + } + this.$message({ + message: '淇敼鎴愬姛', + type: 'success' + }); + this.getLayerTree(); + }, + //淇敼閲嶇疆 + updateRest() { + var res = JSON.parse(this.backUpData); + this.formInline = res; + this.formInline.type = res.type.toString(); + this.formInline.isShow = res.isShow.toString(); + this.formInline.isProject = res.isProject.toString(); + }, + //鑾峰彇鍥惧眰鍒楄〃 + async getLayerTree() { + const data = await layer_selectAll(); + if (data.code != 200) { + return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触"); + } + this.oriData = data.result; + this.newData = data.result; + var val = this.setTreeData(data.result); + this.treeData = val; + var cdata; + if (this.currentData) { + cdata = JSON.parse(this.currentData); + } else { + cdata = this.treeData[0] + } + this.$nextTick(() => { + this.expandData = [cdata.id]; + this.$refs.tree.setCurrentKey(cdata.id); + this.layerFormInline(cdata) + }); + }, + layerFormInline(res) { + var val = JSON.parse(JSON.stringify(res)) + this.backUpData = JSON.stringify(res) + this.currentData = JSON.stringify(res) + this.formInline = val; + this.formInline.type = val.type.toString(); + this.formInline.isShow = val.isShow.toString(); + this.formInline.isProject = val.isProject.toString(); + }, + //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢 + handleNodeClick(data, node) { + this.layerFormInline(data) + }, + setTreeData(source) { + let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕 + return cloneData.filter((father) => { + // 寰幆鎵�鏈夐」 + let branchArr = cloneData.filter((child) => father.id == child.pid); + if (branchArr.length > 0) { + branchArr.sort(function (a, b) { + + 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锛� + // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� + return father.pid == 0; // 杩斿洖涓�绾ц彍鍗� + }); + }, + //鍥惧眰妯$硦鏌ヨ + filterNode(value, data) { + if (!value) return true; + return data.cnName.indexOf(value) !== -1; + }, + //涓嬫媺鑿滃崟鍒濆鍖� + optionsStart() { + var std = []; + var ste = []; + for (var i in serve_type) { + std.push({ + value: serve_type[i], + label: serve_type[i], + }) + } + this.serveType = std; + for (var i in data_type) { + ste.push({ + value: data_type[i], + label: data_type[i], + }) + } + this.dataType = ste; + }, + //鏁版嵁鍒濆鍖� + formInlineStart() { + this.formInline = { + cnName: null, + type: null, + serveType: null, + serveType: null, + url: null, + dataType: null, + bak: null, + isShow: '0', + isProject: '0' + } + }, + //鑾峰彇鏉冮檺 + getPerms() { + var val = this.$store.state.currentPerms; + var permsEntity = this.$store.state.permsEntity; + + if (!permsEntity || !permsEntity.length) { + getPerms().then((res) => { + if (res.code == 200) { + permsEntity = res.result; + } + }); + } + for (var i = 0; i < permsEntity.length; i++) { + if (val === permsEntity[i].perms) { + this.showPermsMenu(permsEntity[i]); + } + } + + }, + showPermsMenu(res) { + switch (res.tag) { + case "/delete": + this.menuStatus.delete = true; + break; + case "/insert": + this.menuStatus.insert = true; + break; + case "/update": + this.menuStatus.update = true; + break; + } + }, + }, + mounted() { + this.optionsStart(); + this.formInlineStart(); + this.getPerms(); + this.getLayerTree(); + }, +}; +</script> + +<style lang="less" scoped> +.subpage_Box { + //height: 96%; + width: 98%; + padding: 1%; + border-radius: 10px; +} + +.mainBox { + padding-top: 10px; + width: 100%; + height: calc(100% - 75px); + display: flex; + justify-content: space-around; + .leftTree { + width: calc(28% - 0px); + height: 100%; + padding: 10px; + border-radius: 5px; + box-sizing: border-box; + overflow-y: auto; + } + .right { + width: 68%; + height: 100%; + border-radius: 5px; + padding: 10px; + box-sizing: border-box; + border: 1px solid #dcdfe6; + .menuTop { + /deep/ .el-form-item { + margin: 5px; + } + } + } +} +</style> diff --git a/src/views/datamanage/uploadmanage.vue b/src/views/datamanage/uploadmanage.vue index 38f9a90..c7840f4 100644 --- a/src/views/datamanage/uploadmanage.vue +++ b/src/views/datamanage/uploadmanage.vue @@ -440,7 +440,7 @@ :close-on-click-modal="false" :show-close="false" > - <div style="width:100%;height:30vh"> + <div style="width:100%; "> <el-form ref="form" :model="insertLayer" @@ -457,6 +457,21 @@ disabled v-model="insertLayer.number" ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.vmobj.labe14')"> + <el-select + style="width:100%" + v-model="insertLayer.noData" + > + <el-option + label="榛戣壊" + value="0" + ></el-option> + <el-option + label="鐧借壊" + value="255" + ></el-option> + </el-select> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.minLevel')"> <!-- <el-input @@ -627,7 +642,7 @@ }, setOptions() { var std = []; - for (var i = 0; i < 21; i++) { + for (var i = 0; i < 23; i++) { std.push({ value: i, label: i @@ -707,12 +722,13 @@ //鏁版嵁鍙戝竷 async setPagePublish() { if (this.multipleSelection.length == 0) { - this.$message.error("璇烽�夋嫨瑕佸彂甯冪殑鏁版嵁") + this.$message("璇烽�夋嫨瑕佸彂甯冪殑鏁版嵁") return } if (this.formInline.type == "DOM") { this.insertLayer.name = this.formInline.dirName; this.insertLayer.number = this.multipleSelection.length + this.insertLayer.noData = '0'; this.insertDialogVisible = true; } else { var std = []; @@ -722,7 +738,6 @@ var obj = { dircode: this.formInline.dirid, depcode: this.formInline.depid, - ids: std, type: this.formInline.type } -- Gitblit v1.9.3