¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="subpage_Box"> |
| | | <My-bread :list="[ |
| | | `${$t('dataManage.dataManage')}`, |
| | | `${$t('dataManage.projectionLayerManagement')}`, |
| | | ]"></My-bread> |
| | | <el-divider /> |
| | | <div class="mainBox"> |
| | | |
| | | <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-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 && 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-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.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> |
| | | </el-form-item> |
| | | <!-- æå¡èµæº--> |
| | | <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.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.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.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-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 |
| | | :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> |
| | | </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.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 |
| | | :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.isLayer == 1 && insertData.category == 2" |
| | | :label="$t('dataManage.layerObj.englishName')" |
| | | > |
| | | <el-input |
| | | :disabled="insertServiceActive" |
| | | :placeholder="$t('dataManage.layerObj.prompt6')" |
| | | style="width: 60%;" |
| | | v-model="insertData.tab" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <!-- æ¯å¦å¯ç¨ --> |
| | | <el-form-item |
| | | v-show="insertData.isLayer == 1" |
| | | :label="$t('dataManage.layerObj.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.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-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" |
| | | @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> |
| | | import MyBread from "../../components/MyBread.vue"; |
| | | import { |
| | | getPerms, |
| | | layer_selectAll, |
| | | layer_update, |
| | | layer_updates, |
| | | layer_insert, |
| | | layer_delete, |
| | | res_selectByPageAndCount, |
| | | } from "../../api/api"; |
| | | import $ from 'jquery' |
| | | import { getToken } from '../../utils/auth'; |
| | | import { serve_type, data_type, category_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, |
| | | url: null, |
| | | dataType: null, |
| | | bak: null, |
| | | isShow: '0', |
| | | isProject: '0', |
| | | enName: '', |
| | | isLayer: null, |
| | | category: null, |
| | | status: null, |
| | | service: '0', |
| | | serviceUrl: null |
| | | }, |
| | | 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: { |
| | | 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: { |
| | | filterText(val) { |
| | | this.$refs.tree.filter(val); |
| | | }, |
| | | }, |
| | | 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(); |
| | | 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); |
| | | } |
| | | }); |
| | | |
| | | const orderNum = arr[1].orderNum |
| | | arr[1].orderNum = arr[0].orderNum |
| | | arr[0].orderNum = orderNum |
| | | |
| | | 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); |
| | | } |
| | | }); |
| | | const orderNum = arr[1].orderNum |
| | | arr[1].orderNum = arr[0].orderNum |
| | | arr[0].orderNum = orderNum |
| | | 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(); |
| | | }, |
| | | submitCancel() { |
| | | this.dialogVisible = false; |
| | | this.insertStart(); |
| | | }, |
| | | async submitForm() { |
| | | 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 |
| | | val.flag = 1; |
| | | 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) { |
| | | //æ°å¢å级 |
| | | if (this.formInline.pid) { |
| | | id = this.formInline.pid; |
| | | let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent.childNodes |
| | | orderNum = this.getMaxOrderNum(pchildNodes); |
| | | lever = this.formInline.level; |
| | | } else { |
| | | id = 0; |
| | | orderNum = 1; |
| | | lever = 1; |
| | | } |
| | | |
| | | } else if (res == 2) { |
| | | //æ°å¢å级 |
| | | id = this.formInline.id; |
| | | 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 = 1; |
| | | for (var i in res) { |
| | | if (res[i].data.orderNum > val) { |
| | | val = res[i].data.orderNum; |
| | | } |
| | | } |
| | | val = val + 1; |
| | | 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, |
| | | url: null, |
| | | dataType: null, |
| | | bak: null, |
| | | isShow: '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 |
| | | val.flag = 1; |
| | | 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.isLayer = res.isLayer.toString(); |
| | | |
| | | this.formInline.status = res.status.toString(); |
| | | // this.formInline.isProject = res.isProject.toString(); |
| | | }, |
| | | //è·åå¾å±å表 |
| | | async getLayerTree() { |
| | | const data = await layer_selectAll({ flag: 1 }); |
| | | 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) { |
| | | 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)) |
| | | |
| | | var data = this.$refs.tree.getNode(val.id).data; |
| | | var result = JSON.parse(JSON.stringify(data)) |
| | | this.backUpData = JSON.stringify(result) |
| | | this.currentData = JSON.stringify(result) |
| | | 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(); |
| | | }, |
| | | //å¾å±å表ç¹å»äºä»¶ |
| | | 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) : ""; // ç»ç¶çº§æ·»å ä¸ä¸ªchildren屿§ï¼å¹¶èµå¼ |
| | | // å±äºåä¸å¯¹è±¡é®é¢ï¼ä¾å¦ï¼ä»¤ a=bãc=1 ï¼ç¶åå令 b.c=c ï¼ é£ä¹ a.c=b.c=c=1 ï¼åçï¼åç»ä»¤ c.d=2 ,é£ä¹ 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 = []; |
| | | var str = []; |
| | | for (var i in serve_type) { |
| | | ste.push({ |
| | | value: serve_type[i].value, |
| | | label: serve_type[i].name, |
| | | }) |
| | | } |
| | | this.serveType = std; |
| | | for (var i in data_type) { |
| | | 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() { |
| | | this.formInline = { |
| | | cnName: null, |
| | | type: null, |
| | | serveType: null, |
| | | url: null, |
| | | dataType: null, |
| | | bak: null, |
| | | isShow: '0', |
| | | isProject: '0', |
| | | enName: '', |
| | | isLayer: null, |
| | | category: null, |
| | | serviceUrl: null |
| | | } |
| | | }, |
| | | //è·åæé |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .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> |