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 | 917 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 573 insertions(+), 344 deletions(-) diff --git a/src/views/datamanage/layerManagement.vue b/src/views/datamanage/layerManagement.vue index 9caeb2c..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=" - align-items: center; - display: flex; - justify-content: space-between; - " - > + <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"> - <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,297 +62,237 @@ </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> + <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')" - clearable - style="width: 60%;" - v-model="formInline.type" - - > - <el-option - label="鐩綍" - value='1' - ></el-option> - <el-option - label="鍥惧眰" - value='2' - ></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.type == 2" - :label="$t('dataManage.layerObj.serviceType')" - > - <el-select - clearable - style="width: 60%;" - v-model="formInline.serveType" - :placeholder="$t('dataManage.layerObj.prompt3')" - > - <el-option - v-for="item in serveType" - :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.type == 2" - :label="$t('dataManage.layerObj.serviceAddress')" - > - <el-input - :placeholder="$t('dataManage.layerObj.prompt4')" - style="width: 60%;" - v-model="formInline.url" - ></el-input> - </el-form-item> - <!-- 鑻辨枃琛ㄥ悕 --> - <el-form-item - v-show="formInline.type == 2 && formInline.serveType =='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 :label="$t('dataManage.layerObj.dataType')"> - <el-select - clearable - style="width: 60%;" - v-model="formInline.dataType" - :placeholder="$t('dataManage.layerObj.prompt8')" - > - <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.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%;" 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.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 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-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 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 + <!-- <el-form :model="insertData" class="demo-form-inline" label-width="150px" - > - <!-- 鑿滃崟鍚嶇О --> - <el-form-item :label="$t('dataManage.layerObj.layerName')"> - <el-input - style="width: 80%;" - v-model="insertData.cnName" - :placeholder="$t('dataManage.layerObj.prompt1')" - ></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 - clearable - style="width: 80%;" - v-model="insertData.type" - :placeholder="$t('dataManage.layerObj.prompt2')" - > - <el-option - label="鐩綍" - value='1' - ></el-option> - <el-option - label="鍥惧眰" - value='2' - ></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.type == 2" - :label="$t('dataManage.layerObj.serviceType')" - > - <el-select - clearable - style="width: 80%;" - v-model="insertData.serveType" - :placeholder="$t('dataManage.layerObj.prompt3')" - > - <el-option - v-for="item in serveType" - :key="item.value" - :label="item.label" - :value="item.value" - > + <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.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.type == 2" - :label="$t('dataManage.layerObj.serviceAddress')" - > - <el-input - :placeholder="$t('dataManage.layerObj.prompt4')" - style="width: 80%;" - 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 - v-show="insertData.type == 2 && insertData.serveType =='WMS'" - :label="$t('dataManage.layerObj.enTableName')" - > - <el-input - :placeholder="$t('dataManage.layerObj.prompt6')" - style="width: 80%;" - v-model="insertData.enName" - ></el-input> + <!-- 鑻辨枃鍚嶇О --> + <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 :label="$t('dataManage.layerObj.dataType')"> - <el-select - clearable - style="width: 80%;" - v-model="insertData.dataType" - :placeholder="$t('dataManage.layerObj.prompt8')" - > - <el-option - v-for="item in dataType" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> + <!-- 鑻辨枃鍚嶇О --> + <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.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 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 - :placeholder="$t('dataManage.layerObj.prompt7')" - style="width: 80%;" - v-model="insertData.bak" - - ></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> @@ -402,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 { @@ -415,19 +319,23 @@ MyBread, }, data() { - return { filterText: null, formInline: { cnName: null, type: null, serveType: null, - serveType: null, url: null, dataType: null, bak: null, isShow: '0', - isProject: '0' + isProject: '0', + enName: '', + isLayer: null, + category: null, + status: null, + service: '0', + serviceUrl: null }, serveType: null, dataType: null, @@ -445,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: { @@ -458,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(); @@ -558,10 +668,20 @@ this.getLayerTree(); }, + submitCancel() { + this.dialogVisible = false; + this.insertStart(); + }, async submitForm() { - var val = this.insertData; - val.isShow = parseInt(val.isShow); - val.isProject = parseInt(val.isProject); + var val = JSON.parse(JSON.stringify(this.insertData)); + val.status = parseInt(val.status); + 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("鏂板澶辫触"); @@ -580,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; @@ -595,10 +721,11 @@ this.insertData.pid = id; this.insertData.level = lever; this.insertData.orderNum = orderNum; + this.dialogVisible = true; }, getMaxOrderNum(res) { - var val = -100; + var val = 1; for (var i in res) { if (res[i].data.orderNum > val) { val = res[i].data.orderNum; @@ -608,21 +735,39 @@ 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, - serveType: null, serveType: null, url: null, dataType: null, bak: null, isShow: '0', - isProject: '0' + isProject: '0', + enName: '', + isLayer: 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) { @@ -638,19 +783,24 @@ 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(); + this.formInline.isLayer = res.isLayer.toString(); + + this.formInline.status = res.status.toString(); + // this.formInline.isProject = res.isProject.toString(); }, //鑾峰彇鍥惧眰鍒楄〃 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) { @@ -673,9 +823,33 @@ this.backUpData = JSON.stringify(result) this.currentData = JSON.stringify(result) this.formInline = result; - this.formInline.type = result.type.toString(); - this.formInline.isShow = result.isShow.toString(); - this.formInline.isProject = result.isProject.toString(); + 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(); }, //鍥惧眰鍒楄〃鐐瑰嚮浜嬩欢 handleNodeClick(data, node) { @@ -693,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锛� // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋� @@ -709,20 +882,32 @@ optionsStart() { var std = []; var ste = []; + var str = []; for (var i in serve_type) { - std.push({ - value: serve_type[i], - label: serve_type[i], + ste.push({ + value: serve_type[i].value, + label: serve_type[i].name, }) } this.serveType = std; for (var i in data_type) { - ste.push({ - value: data_type[i], - label: data_type[i], + 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() { @@ -730,12 +915,15 @@ cnName: null, type: null, serveType: null, - serveType: null, url: null, dataType: null, bak: null, isShow: '0', - isProject: '0' + isProject: '0', + enName: '', + isLayer: null, + category: null, + serviceUrl: null } }, //鑾峰彇鏉冮檺 @@ -779,7 +967,7 @@ }, }; </script> - + <style lang="less" scoped> .subpage_Box { //height: 96%; @@ -794,6 +982,7 @@ height: calc(100% - 75px); display: flex; justify-content: space-around; + .leftTree { width: calc(28% - 0px); height: 100%; @@ -802,6 +991,7 @@ box-sizing: border-box; overflow-y: auto; } + .right { width: 68%; height: 100%; @@ -809,6 +999,7 @@ padding: 10px; box-sizing: border-box; border: 1px solid #dcdfe6; + .menuTop { /deep/ .el-form-item { margin: 5px; @@ -816,9 +1007,47 @@ } } } -/deep/ .el-input__suffix { - top: 50%; - transform: translateY(-50%); +.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> +.el-select-dropdown { + background: #303030 !important; + + border: 1px solid gray; +} + +.el-select-dropdown__item { + background-color: transparent !important; + color: #fff; +} + +.el-select-dropdown__item.hover, +.el-select-dropdown__item:hover { + color: #ffff !important; + background: rgba(7, 8, 14, 0.3) !important; +} + +.el-popper .popper__arrow, +.el-popper .popper__arrow::after { + display: none !important; +} +</style> \ No newline at end of file -- Gitblit v1.9.3