From 1346c413ebdbbaed423a96172ae89854618ef30a Mon Sep 17 00:00:00 2001 From: surprise <15810472099@163.com> Date: 星期二, 28 十一月 2023 10:51:25 +0800 Subject: [PATCH] 数据上传入库修改,图层管理添加单位信息 --- src/views/datamanage/layerManagement.vue | 800 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 520 insertions(+), 280 deletions(-) diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue index 35d78a8..f55216b 100644 --- a/src/views/datamanage/layerManagement.vue +++ b/src/views/datamanage/layerManagement.vue @@ -1,97 +1,60 @@ <template> <div class="subpage_Box"> <My-bread :list="[ - `${$t('dataManage.dataManage')}`, - `${$t('dataManage.layerManage')}`, - ]"></My-bread> + `${$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 class="cataLogContent leftTree subpage_Div" style="border: 1px solid #dcdfe6;"> <div> - <el-input - v-model="filterText" - :placeholder="$t('dataManage.layerObj.prompt1')" - suffix-icon="el-icon-search" - ></el-input> + <el-input v-model="filterText" :placeholder="$t('dataManage.layerObj.prompt1')" + suffix-icon="el-icon-search"></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 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=" + <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-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-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 && formInline.isLayer == 0"> - <el-button - type="success" - size="small" - icon="el-icon-plus" - @click="insertLayerData(2)" - >{{ $t("shuJuGuanLi.butten.AddChild") }}</el-button> + <el-form-item v-show="menuStatus.insert && formInline.isLayer == 0"> + <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-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-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-button type="info" icon="el-icon-bottom" size="small" @click="setEditNode(2)">{{ + $t("shuJuGuanLi.butten.MoveDown") }}</el-button> </el-form-item> </el-form> </div> @@ -99,257 +62,242 @@ </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.layerName')"> - <el-input - :placeholder="$t('dataManage.layerObj.prompt1')" - style="width: 60%;" - v-model="formInline.cnName" - ></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" - ></el-input> - </el-form-item> + <div style="padding: 10px;height: 70vh;margin-top: 10px; overflow: auto;"> + <el-form :model="formInline" class="demo-form-inline" label-width="150px"> + <!-- 鑿滃崟绫诲瀷 --> <el-form-item :label="$t('dataManage.layerObj.layerType')"> - <el-select - :placeholder="$t('dataManage.layerObj.prompt2')" - style="width: 60%;" - v-model="formInline.isLayer" - > - <el-option - label="鍥惧眰缁�" - value='0' - ></el-option> - <el-option - label="鍥惧眰" - value='1' - ></el-option> + <el-select :placeholder="$t('dataManage.layerObj.prompt2')" style="width: 60%;" + v-model="formInline.isLayer"> + <el-option label="鍥惧眰缁�" value='0'></el-option> + <el-option label="鍥惧眰" value='1'></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%;" - v-model="formInline.type" - :placeholder="$t('dataManage.layerObj.prompt3')" - > - <el-option - v-for="item in dataType" - :key="item.value" - :label="item.label" - :value="item.value" - > + <!-- 鏈嶅姟璧勬簮--> + <el-form-item v-show="formInline.isLayer == 1" :label="$t('dataManage.layerObj.serviceResources')"> + <el-button size="small" class="serviceButton" @click="setServiceChange('0')" key="0" + :class="{ serviceActive: !serviceActive }">{{ $t('dataManage.layerObj.isfalse') }}</el-button> + <el-button size="small" class="serviceButton" @click="setServiceChange('1')" key="1" + :class="{ serviceActive: serviceActive }">{{ $t('dataManage.layerObj.istrue') }}</el-button> + + </el-form-item> + <!-- 鑿滃崟鍚嶇О --> + <el-form-item :label="$t('dataManage.layerObj.layerName')"> + <el-input :placeholder="$t('dataManage.layerObj.prompt1')" style="width: 60%;" + v-model="formInline.cnName"></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.serviceAddress')" - > - <el-input - :placeholder="$t('dataManage.layerObj.prompt4')" - style="width: 60%;" - v-model="formInline.url" - ></el-input> + <!-- 鏁版嵁绫诲瀷 --> + <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 && formInline.type =='WMS'" - :label="$t('dataManage.layerObj.enTableName')" - > - <el-input - :placeholder="$t('dataManage.layerObj.prompt6')" - style="width: 60%;" - v-model="formInline.enName" - ></el-input> - </el-form-item> --> + <!-- 鏁版嵁绫诲瀷 --> + <el-form-item v-show="formInline.isLayer == 1" :label="$t('dataManage.layerObj.serviceType')"> + <el-select style="width: 60%;" v-model="formInline.type" :placeholder="$t('dataManage.layerObj.prompt3')" + :disabled="serviceActive"> + <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.isLayer == 1" :label="$t('dataManage.layerObj.serviceAddress')"> + <el-input :placeholder="$t('dataManage.layerObj.prompt4')" style="width: 60%;" + v-model="formInline.serviceUrl" :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.unitName')"> + <el-input :placeholder="$t('dataManage.layerObj.prompt20')" style="width: 60%;" + v-model="formInline.unit"></el-input> + </el-form-item> + + <!-- 鏄惁鏄剧ず --> - <el-form-item - v-show="formInline.isLayer == 1" - :label="$t('dataManage.layerObj.displayOrNot')" - > + <el-form-item v-show="formInline.isLayer == 1" :label="$t('dataManage.layerObj.enableOrNot')"> - <el-radio - v-model="formInline.status" - label="0" - >{{$t('dataManage.layerObj.isStop')}}</el-radio> - <el-radio - v-model="formInline.status" - label="1" - > {{$t('dataManage.layerObj.isEnable')}}</el-radio> + <el-radio v-model="formInline.status" label="0">{{ $t('dataManage.layerObj.isStop') }}</el-radio> + <el-radio v-model="formInline.status" 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 - style="width: 60%;" - v-model="formInline.bak" - :placeholder="$t('dataManage.layerObj.prompt7')" - ></el-input> + <el-input style="width: 60%;" v-model="formInline.bak" + :placeholder="$t('dataManage.layerObj.prompt7')"></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-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%" - > + <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 - :model="insertData" - class="demo-form-inline" - label-width="150px" - > - <!-- 鑿滃崟鍚嶇О --> - <el-form-item :label="$t('dataManage.layerObj.layerName')"> - <el-input - :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 - :placeholder="$t('dataManage.layerObj.prompt6')" - style="width: 60%;" - v-model="insertData.enName" - ></el-input> - </el-form-item> + <el-form :model="insertData" class="demo-form-inline" label-width="150px"> <!-- 鑿滃崟绫诲瀷 --> <el-form-item :label="$t('dataManage.layerObj.layerType')"> - <el-select - :placeholder="$t('dataManage.layerObj.prompt2')" - style="width: 60%;" - v-model="insertData.isLayer" - > - <el-option - label="鍥惧眰缁�" - value='0' - ></el-option> - <el-option - label="鍥惧眰" - value='1' - ></el-option> + <el-select :placeholder="$t('dataManage.layerObj.prompt2')" style="width: 60%;" v-model="insertData.isLayer"> + <el-option label="鍥惧眰缁�" value='0'></el-option> + <el-option label="鍥惧眰" value='1'></el-option> + </el-select> + </el-form-item> + <el-form-item v-show="insertData.isLayer == 1" :label="$t('dataManage.layerObj.serviceResources')"> + <!-- <el-button + size="small" + class="serviceButton" + @click="setServiceChange('0')" + :class="{serviceActive: insertData.service === '0'}" + >{{$t('dataManage.layerObj.isfalse')}}</el-button> + <el-button + size="small" + class="serviceButton" + @click="setServiceChange('1')" + :class="{serviceActive: insertData.service === '1'}" + >{{$t('dataManage.layerObj.istrue')}}</el-button> --> + <el-button size="small" class="serviceButton" @click="setInsertServiceChange('0')" key="0" + :class="{ serviceActive: !insertServiceActive }">{{ $t('dataManage.layerObj.isfalse') }}</el-button> + <el-button size="small" class="serviceButton" @click="setInsertServiceChange('1')" key="1" + :class="{ serviceActive: insertServiceActive }">{{ $t('dataManage.layerObj.istrue') }}</el-button> + + </el-form-item> + <!-- 鑿滃崟鍚嶇О --> + <el-form-item :label="$t('dataManage.layerObj.layerName')"> + <el-input :placeholder="$t('dataManage.layerObj.prompt1')" style="width: 60%;" + v-model="insertData.cnName"></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.serviceType')" - > - <el-select - style="width: 60%;" - v-model="insertData.type" - :placeholder="$t('dataManage.layerObj.prompt3')" - > - <el-option - v-for="item in dataType" - :key="item.value" - :label="item.label" - :value="item.value" - > + <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" style="width: 60%;" v-model="insertData.type" + :placeholder="$t('dataManage.layerObj.prompt3')"> + <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.isLayer == 1" - :label="$t('dataManage.layerObj.serviceAddress')" - > - <el-input - :placeholder="$t('dataManage.layerObj.prompt4')" - style="width: 60%;" - v-model="insertData.url" - ></el-input> + <el-form-item v-show="insertData.isLayer == 1" :label="$t('dataManage.layerObj.serviceAddress')"> + <el-input :disabled="insertServiceActive" :placeholder="$t('dataManage.layerObj.prompt4')" style="width: 60%;" + v-model="insertData.serviceUrl"></el-input> </el-form-item> - <!-- 鑻辨枃琛ㄥ悕 --> - <!-- <el-form-item :label="$t('dataManage.layerObj.enTableName')"> - <el-input - :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 && 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="formInline.isLayer == 1 " + :label="$t('dataManage.layerObj.unitName')"> + <el-input :placeholder="$t('dataManage.layerObj.prompt20')" style="width: 60%;" + v-model="insertData.unit"></el-input> + </el-form-item> + + <!-- 鏄惁鍚敤 --> + <el-form-item v-show="insertData.isLayer == 1" :label="$t('dataManage.layerObj.enableOrNot')"> + <el-radio v-model="insertData.status" label="0">{{ $t('dataManage.layerObj.isStop') }}</el-radio> + <el-radio v-model="insertData.status" 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.status" - label="0" - >{{$t('dataManage.layerObj.isStop')}}</el-radio> - <el-radio - v-model="insertData.status" - label="1" - > {{$t('dataManage.layerObj.isEnable')}}</el-radio> + <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 - style="width: 60%;" - v-model="insertData.bak" - :placeholder="$t('dataManage.layerObj.prompt7')" - ></el-input> + <el-input style="width: 60%;" v-model="insertData.bak" + :placeholder="$t('dataManage.layerObj.prompt7')"></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-button type="primary" size="small" @click="submitForm()">{{ $t('common.confirm') }}</el-button> + <el-button type="info" size="small" @click="submitCancel()">{{ $t('common.cancel') }}</el-button> </el-form-item> </el-form> </div> </el-dialog> + <el-dialog :visible.sync="dialogService" width="50%" :show-close="false"> + <div style="width: 100%;max-height: 63vh;overflow-y: auto; "> + <div style=" display: flex; justify-content: space-between;"> + <div> <el-input size="small" v-model="listData.name"> <i slot="suffix" class="el-input__icon el-icon-search" + @click="setServiceQuery"></i></el-input></div> + <div> + <el-button type="info" size="small" @click="setServiceRest">{{ $t('common.reset') }}</el-button> + + <el-button type="primary" size="small" @click="setServiceConfirm">{{ $t('common.confirm') }}</el-button> + <el-button type="info" size="small" @click="setServiceCanel">{{ $t('common.cancel') }}</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="$t('common.index')" width="70px" /> + <el-table-column align="center" prop="cnName" :label="$t('dataManage.layerObj.resourceName')" /> + + <el-table-column align="center" prop="category" :label="$t('dataManage.layerObj.serviceType')" + :formatter="setResCategory" /> + <el-table-column align="center" prop="type" :label="$t('dataManage.layerObj.dataType')" + :formatter="setResType" /> + </el-table> + <div class="pagination_box" style="margin-top: 15px"> + <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" + :current-page="listData.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listData.pageSize" + layout="total, sizes, prev, pager, next, jumper" :total="listData.count"> + </el-pagination> + </div> + + </div> + </el-dialog> </div> </template> - <script> +<script> import MyBread from "../../components/MyBread.vue"; import { getPerms, @@ -357,11 +305,12 @@ layer_update, layer_updates, layer_insert, - layer_delete + layer_delete, + res_selectByPageAndCount, } 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 { @@ -370,7 +319,6 @@ MyBread, }, data() { - return { filterText: null, formInline: { @@ -380,12 +328,14 @@ url: null, dataType: null, bak: null, - isShow: '1', + isShow: '0', isProject: '0', enName: '', isLayer: null, category: null, status: null, + service: '0', + serviceUrl: null }, serveType: null, dataType: null, @@ -403,11 +353,26 @@ checkData: null, backUpData: null, dialogVisible: false, - insertData: {}, + insertData: { + type: null, + data: null, + }, currentData: null, newNode: null, newData: [], oriData: [], + dialogService: false, + listData: { + pageIndex: 1, + pageSize: 10, + count: 0, + name: '' + }, + tableData: [], + multipleSelection: [], + serviceActive: true, + insertServiceActive: false, + serviceType: null }; }, watch: { @@ -416,6 +381,193 @@ }, }, 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("鏈�夋嫨璧勬簮鏁版嵁"); + } + var url, serviceUrl; + if (this.multipleSelection.status == 1) { + serviceUrl = this.multipleSelection.url; + url = this.multipleSelection.url; + } else if (this.multipleSelection.status == 2) { + var token = getToken() + 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 + } 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'; + + } + this.dialogService = false + }, + + + setServiceRest() { + this.listData = { + pageIndex: 1, + pageSize: 10, + count: 0, + name: '' + } + this.getServiceData(); + }, + setServiceQuery() { + this.listData.pageIndex = 1; + this.listData.pageSize = 10; + this.listData.count = 0; + this.getServiceData(); + }, + setServiceCanel() { + this.dialogService = false; + this.multipleSelection = []; + this.tableData == []; + this.listData = { + pageIndex: 1, + pageSize: 10, + count: 0, + name: '' + } + }, + selectChange(selection, row) { + this.multipleSelection = row + if (selection.length > 1) { + let del_row = selection.shift() + this.$refs.multipleTable.toggleRowSelection(del_row, false) + } + }, + setResType(row, column) { + switch (row.type) { + case 0: + return "URL" + break; + case 1: + return "TMS" + break; + case 2: + return "WMTS" + break; + case 3: + return "WMS" + break; + case 4: + return "WFS" + break; + case 5: + return "Tileset" + break; + default: + return "" + break; + } + }, + setResCategory(row, column) { + switch (row.category) { + case 0: + return "鍏朵粬" + break; + case 1: + return "GisServer" + break; + case 2: + return "GeoServer" + break; + case 3: + return "鏁扮畝" + break; + default: + return "" + break; + } + }, + handleSizeChange(val) { + this.listData.pageSize = val; + this.getServiceData(); + }, + handleCurrentChange(val) { + this.listData.pageIndex = val; + this.getServiceData(); + }, + setServiceChange(res) { + if (res == '1') { + this.setServiceRest() + } else { + this.serviceActive = false + this.formInline.resid = 0 + } + }, + setInsertServiceChange(res) { + if (res == '1') { + this.setServiceRest() + } else { + this.insertServiceActive = false + this.insertData.resid = 0 + } + }, + async getServiceData() { + const data = await res_selectByPageAndCount(this.listData); + if (data.code != 200) { + return this.$message.error("璧勬簮鏁版嵁鑾峰彇澶辫触"); + } + this.tableData = data.result; + this.listData.count = data.count; + this.dialogService = true + }, //鍚戜笂鍚戜笅绉诲姩 setEditNode(res) { let node = this.$refs.tree.getCurrentNode(); @@ -516,10 +668,20 @@ this.getLayerTree(); }, + submitCancel() { + this.dialogVisible = false; + this.insertStart(); + }, async submitForm() { - var val = this.insertData; + var val = JSON.parse(JSON.stringify(this.insertData)); val.status = parseInt(val.status); - // val.isProject = parseInt(val.isProject); + var token = getToken(); + 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) { return this.$message.error("鏂板澶辫触"); @@ -538,11 +700,17 @@ 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 { + let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes + orderNum = this.getMaxOrderNum(pchildNodes); + lever = this.formInline.level; + id = this.formInline.pid; + } } else if (res == 2) { //鏂板瀛愮骇 id = this.formInline.id; @@ -553,6 +721,7 @@ this.insertData.pid = id; this.insertData.level = lever; this.insertData.orderNum = orderNum; + this.dialogVisible = true; }, getMaxOrderNum(res) { @@ -566,6 +735,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, @@ -573,17 +746,28 @@ 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', + type: type, + data: data, } }, //淇敼鏁版嵁 async updateSend() { var val = JSON.parse(JSON.stringify(this.formInline)); + var token = getToken(); + 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) if (data.code != 200) { @@ -606,13 +790,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) { @@ -637,6 +825,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() + 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(); }, //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢 @@ -655,7 +867,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锛� // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� @@ -671,6 +882,7 @@ optionsStart() { var std = []; var ste = []; + var str = []; for (var i in serve_type) { ste.push({ value: serve_type[i].value, @@ -682,9 +894,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() { @@ -695,11 +918,12 @@ url: null, dataType: null, bak: null, - isShow: '1', + isShow: '0', isProject: '0', enName: '', isLayer: null, - category: null + category: null, + serviceUrl: null } }, //鑾峰彇鏉冮檺 @@ -742,9 +966,9 @@ this.getLayerTree(); }, }; - </script> +</script> - <style lang="less" scoped> +<style lang="less" scoped> .subpage_Box { //height: 96%; width: 98%; @@ -758,6 +982,7 @@ height: calc(100% - 75px); display: flex; justify-content: space-around; + .leftTree { width: calc(28% - 0px); height: 100%; @@ -766,6 +991,7 @@ box-sizing: border-box; overflow-y: auto; } + .right { width: 68%; height: 100%; @@ -773,6 +999,7 @@ padding: 10px; box-sizing: border-box; border: 1px solid #dcdfe6; + .menuTop { /deep/ .el-form-item { margin: 5px; @@ -780,15 +1007,28 @@ } } } + +.serviceButton { + background: transparent !important; + color: #dcdfe6; +} + +.serviceActive { + background: transparent !important; + color: #46a6ff; + border: 1px solid #46a6ff; +} + /deep/ .el-input__suffix { top: 50%; transform: translateY(-50%); } + /deep/.el-radio { color: white; } </style> - <style> +<style> .el-select-dropdown { background: #303030 !important; -- Gitblit v1.9.3