src/api/api.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/preview_map.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/Archive/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/SpatialData.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/dataUpdata.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/datamanage/metadataManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/api.js
@@ -493,6 +493,11 @@ } //信息管理=>DWG展示 export function meta_selectConvertToDwg(params) { return request.get('/meta/selectConvertToDwg?id='+params); } src/components/preview_map.vue
@@ -1,71 +1,111 @@ <template> <div id="mapdiv" class="previewBox"> <div v-if="modelLayer" class="modelLayer box_divm"> <div id="mapdiv" class="previewBox"> <div v-if="modelLayer" class="modelLayer box_divm"> <div class="modelBox"> <div style="float:right" :title="$t('synthesis.undergroundMode')" @click="setUndergroundMode"> <div style="float:right" :title="$t('synthesis.undergroundMode')" @click="setUndergroundMode"> <i class="el-icon-sunrise "></i> </div> </div> <div class="modelBox"> <el-tree :data="treeData" show-checkbox node-key="id" ref="tree" :default-expanded-keys="[1]" :props="defaultProps" @node-click="handleNodeClick" @check="handleCheckChange" @node-contextmenu="rightClick"> <el-tree :data="treeData" show-checkbox node-key="id" ref="tree" :default-expanded-keys="[1]" :props="defaultProps" @node-click="handleNodeClick" @check="handleCheckChange" @node-contextmenu="rightClick"> </el-tree> </div> </div> <div v-if="editModelFlag" class="modelLayer box_divm"> <el-form ref="form" :model="modelForm" label-width="80px"> <div v-if="editModelFlag" class="modelLayer box_divm"> <el-form ref="form" :model="modelForm" label-width="80px"> <el-form-item> <el-button size="small" v-if="$store.state.previewLayer.stype != 'yl'" @click="dialogLayerVisible = true">图层</el-button> <el-button size="small" v-if="$store.state.previewLayer.type == 'mpt'" @click="setcropping">裁剪</el-button> <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="locateTo">定位</el-button> <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="showTileset">显隐</el-button> <el-button size="small" v-if="$store.state.previewLayer.stype != 'yl'" @click="dialogLayerVisible = true">图层</el-button> <el-button size="small" v-if="$store.state.previewLayer.type == 'mpt'" @click="setcropping">裁剪</el-button> <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="locateTo">定位</el-button> <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="showTileset">显隐</el-button> <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="setUndergroundMode">地下</el-button> <el-button size="small" v-if="$store.state.previewLayer.type != 'mpt'" @click="setUndergroundMode">地下</el-button> <br /> <el-button v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && $store.state.previewLayer.type != 'mpt'" size="small" @click="pickupCoords">拾取</el-button> $store.state.previewLayer.type != 'mpt'" size="small" @click="pickupCoords">拾取</el-button> <el-button v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && $store.state.previewLayer.type != 'mpt'" size="small" @click="reload"> $store.state.previewLayer.type != 'mpt'" size="small" @click="reload"> 重载 </el-button> <el-button v-if="modelForm.modelid == null && $store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && $store.state.previewLayer.type != 'mpt'" size="small" @click="getModeKeyId">模型主键</el-button> $store.state.previewLayer.type != 'mpt'" size="small" @click="getModeKeyId">模型主键</el-button> <el-button v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' " size="small" @click="resave">保存</el-button> " size="small" @click="resave">保存</el-button> </el-form-item> <el-form-item label="经度:" v-if="$store.state.previewLayer.type != '3dml' && <el-form-item label="经度:" v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && $store.state.previewLayer.type != 'mpt'"> <el-input size="small" v-model="modelForm.lon"></el-input> <el-input size="small" v-model="modelForm.lon"></el-input> </el-form-item> <el-form-item label="纬度:" v-if="$store.state.previewLayer.type != '3dml' && <el-form-item label="纬度:" v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && $store.state.previewLayer.type != 'mpt'"> <el-input size="small" v-model="modelForm.lat"></el-input> <el-input size="small" v-model="modelForm.lat"></el-input> </el-form-item> <el-form-item label="高度:" v-if="$store.state.previewLayer.type != '3dml' && <el-form-item label="高度:" v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && $store.state.previewLayer.type != 'mpt'"> <el-input size="small" v-model="modelForm.height"></el-input> <el-input size="small" v-model="modelForm.height"></el-input> </el-form-item> <el-form-item label="角度:" v-if="$store.state.previewLayer.type != '3dml' && <el-form-item label="角度:" v-if="$store.state.previewLayer.type != '3dml' && $store.state.previewLayer.type != 'cpt' && $store.state.previewLayer.type != 'mpt'"> <el-input size="small" v-model="modelForm.yaw"></el-input> <el-input size="small" v-model="modelForm.yaw"></el-input> </el-form-item> <el-form-item label="比例:" v-if="$store.state.previewLayer.type == 'las'"> <el-input size="small" v-model="modelForm.scale"></el-input> <el-form-item label="比例:" v-if="$store.state.previewLayer.type == 'las'"> <el-input size="small" v-model="modelForm.scale"></el-input> </el-form-item> <!-- <el-form-item label="透明度:"> @@ -78,20 +118,34 @@ </el-form> </div> <el-dialog :title="formInline.title" :visible.sync="dialogVisible" :modal="false" :modal-append-to-body="false" :close-on-click-modal="false" :before-close="handleClose" width="30%"> <el-dialog :title="formInline.title" :visible.sync="dialogVisible" :modal="false" :modal-append-to-body="false" :close-on-click-modal="false" :before-close="handleClose" width="30%"> <div style="height:63vh"> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="属性" name="first" v-if="serveType"> <el-form ref="form" :model="formInline" label-width="80px"> <el-tabs v-model="activeName" @tab-click="handleClick"> <el-tab-pane label="属性" name="first" v-if="serveType"> <el-form ref="form" :model="formInline" label-width="80px"> <el-form-item :label="$t('common.name')"> <el-input v-model="formInline.name"></el-input> </el-form-item> <el-form-item :label="$t('common.type')"> <el-select v-model="formInline.type" style="width:100%"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <el-select v-model="formInline.type" style="width:100%"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> @@ -102,47 +156,81 @@ </el-form-item> <el-form-item> <el-button v-show="isShowModel" type="success" plain size="small" @click="InsertData">{{ <el-button v-show="isShowModel" type="success" plain size="small" @click="InsertData">{{ $t('common.increase') }}</el-button> <el-button v-show="!isShowModel" type="info" plain size="small" @click="EditData">{{ $t('common.update') <el-button v-show="!isShowModel" type="info" plain size="small" @click="EditData">{{ $t('common.update') }}</el-button> </el-form-item> </el-form> </el-tab-pane> <el-tab-pane label="附件" name="second"> <el-form :model="fromfile" class="demo-form-inline"> <el-tab-pane label="附件" name="second"> <el-form :model="fromfile" class="demo-form-inline"> <el-form-item> <el-input v-model="fromfile.file" style="width: 300px; margin-right: 20px" :placeholder="$t('common.choose')" disabled></el-input> <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none" @change="insertFile()" /> <el-link @click="getInsertFile()" :underline="false"><i class="el-icon-folder-opened"></i></el-link> <el-input v-model="fromfile.file" style="width: 300px; margin-right: 20px" :placeholder="$t('common.choose')" disabled></el-input> <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none" @change="insertFile()" /> <el-link @click="getInsertFile()" :underline="false"><i class="el-icon-folder-opened"></i></el-link> </el-form-item> <el-form-item> <el-row> <el-col :span="3"> <el-link class="elLink" :underline="false" @click="setAttachInsert">{{ $t('common.append') <el-link class="elLink" :underline="false" @click="setAttachInsert">{{ $t('common.append') }}</el-link> </el-col> <el-col :span="3"> <el-link class="elLink" :underline="false" @click="setAttachDel">{{ $t('common.delete') }}</el-link> <el-link class="elLink" :underline="false" @click="setAttachDel">{{ $t('common.delete') }}</el-link> </el-col> </el-row> </el-form-item> </el-form> <el-table :data="tableData" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%" @selection-change="handleAttatchChange"> <el-table-column type="selection" width="70" /> <el-table-column width="60" type="index" :label="$t('common.index')" /> <el-table-column prop="name" :label="$t('common.name')" /> <el-table :data="tableData" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%" @selection-change="handleAttatchChange"> <el-table-column type="selection" width="70" /> <el-table-column width="60" type="index" :label="$t('common.index')" /> <el-table-column prop="name" :label="$t('common.name')" /> <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" /> <el-table-column align="center" :label="$t('common.operate')" min-width="100"> <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" /> <el-table-column align="center" :label="$t('common.operate')" min-width="100"> <template slot-scope="scope"> <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)" class="elLink">{{ $t('common.see') }}</el-link> <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)" class="elLink">{{ $t('common.see') }}</el-link> </template> </el-table-column> @@ -165,21 +253,32 @@ <map-sdk v-if='showMapVisible'></map-sdk> </div> </el-dialog> --> <el-dialog title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" :close-on-click-modal="false"> <div v-if="dialog.isPdf" class="pdfClass"> <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%"> <el-dialog title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" :close-on-click-modal="false"> <div v-if="dialog.isPdf" class="pdfClass"> <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%"> </iframe> </div> <div v-if="dialog.isJpg" class="pdfClass"> <div v-if="dialog.isJpg" class="pdfClass"> <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]"> <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]"> </el-image> </div> </el-dialog> <div v-show="dialogLayerVisible" class="levelLayer box_divm"> <div v-show="dialogLayerVisible" class="levelLayer box_divm"> <div class="levelTitle"> <div> 图层列表 @@ -189,33 +288,51 @@ </div> </div> <div class="layerContent"> <div v-for="(item, index) in layerTree" class="contLayer"> <div> <el-checkbox v-model="item.checked" @change="setLayerTreeChange(item)">{{ item.cnName }}</el-checkbox> <div v-for="(item, index) in layerTree" class="contLayer"> <div> <el-checkbox v-model="item.checked" @change="setLayerTreeChange(item)">{{ item.cnName }}</el-checkbox> </div> <div> <el-button icon="el-icon-map-location" size="mini" @click="setLayerTreeLocation(item)"></el-button> <el-button icon="el-icon-map-location" size="mini" @click="setLayerTreeLocation(item)"></el-button> </div> </div> </div> </div> <div v-show="modelKeyFlag" class="modelLayer box_divm" v-drag> <el-form ref="form" :model="modelForm" label-width="80px"> <div v-show="modelKeyFlag" class="modelLayer box_divm" v-drag> <el-form ref="form" :model="modelForm" label-width="80px"> <el-form-item label="主键ID"> <el-select v-model="modelLayerId"> <el-option v-for="item in optionKey" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in optionKey" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item> <el-button type="primary" size="small" @click="setSureKeyModelKey">{{ $t('common.confirm') }}</el-button> <el-button type="primary" size="small" @click="setSureKeyModelKey">{{ $t('common.confirm') }}</el-button> </el-form-item> </el-form> </div> <undergroundModel ref="undergroundModel" /> <el-card class="box-card" ref="card" :style="{ ...rightClickMenuStyle }" v-show="menuVisible"> <div class="edit" @click="setShowFile"> <el-card class="box-card" ref="card" :style="{ ...rightClickMenuStyle }" v-show="menuVisible"> <div class="edit" @click="setShowFile"> <i class="el-icon-tickets"></i> 附件 </div> </el-card> @@ -233,7 +350,8 @@ dataQuery_deletes, publish_update, comprehensive_selectPubById, resSelectCountForRole resSelectCountForRole, meta_selectConvertToDwg } from '../api/api.js'; import { getToken } from '@/utils/auth'; import undergroundModel from '../views/Tools/undergroundModel.vue' @@ -242,12 +360,12 @@ components: { undergroundModel }, data() { data () { return { levelArray: [ 0, 40000000, 20000000, 10000000, 5000000, 2000000, 1000000, 500000, 250000, 200000, 100000, 50000, 17000, 9000, 5000, 2000, 1000, 500, 200, 100, 50, 25, 10, 0, 0,40000000,20000000,10000000,5000000,2000000,1000000,500000, 250000,200000,100000,50000,17000,9000,5000,2000,1000,500,200, 100,50,25,10,0, ], modelLayer: false, treeData: [], @@ -275,19 +393,19 @@ { value: '倾斜模型', label: '倾斜模型' }, { },{ value: 'BIM模型', label: 'BIM模型' }, { },{ value: '点云模型', label: '点云模型' }, { },{ value: '地质设计模型', label: '地质设计模型' }, { },{ value: '人工模型', label: '人工模型' }, { },{ value: '其他模型', label: '其他模型' }], @@ -302,7 +420,7 @@ isJpg: false, src: '' }, modelType: ['ifc', 'fbx', 'rvt', '3dml', 'cpt', 'osgb', 'las', 'laz'], modelType: ['ifc','fbx','rvt','3dml','cpt','osgb','las','laz'], editModelFlag: false, modelForm: { lon: 119, @@ -333,207 +451,220 @@ layerTree: null } }, mounted() { mounted () { this.init3DMap(); this.getLayers(); }, methods: { async getLayers() { const data = await perms_selectLayers(); if (data.code != 200) { async getLayers () { const data=await perms_selectLayers(); if(data.code!=200) { return this.$message.error("图层列表查询失败"); } var layer = data.result.filter(res => { if (res.type == 2) { if (res.serveType == 'WMTS' || res.serveType == 'TMS') { res.checked = false; var layer=data.result.filter(res => { if(res.type==2) { if(res.serveType=='WMTS'||res.serveType=='TMS') { res.checked=false; return res } } }) this.layerTree = layer this.layerTree=layer }, setLayerTreeChange(res) { if (res.checked) { setLayerTreeChange (res) { if(res.checked) { this.setAddTreeLayers(res) } else { this.setRemoveTreeLayers(res) } }, async setLayerTreeLocation(res) { if (res.pubid) { let data = await comprehensive_selectPubById({ id: res.pubid }); if (data.result && data.result.geom) { let wkt = this.$wkt.parse(data.result.geom); let height = this.getHeight(wkt.coordinates[2]); async setLayerTreeLocation (res) { if(res.pubid) { let data=await comprehensive_selectPubById({ id: res.pubid }); if(data.result&&data.result.geom) { let wkt=this.$wkt.parse(data.result.geom); let height=this.getHeight(wkt.coordinates[2]); Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], sceneConfig.extureHeight), // 2000 destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1],wkt.coordinates[0],sceneConfig.extureHeight), // 2000 }); } } }, async setAddTreeLayers(res) { var url = res.url.indexOf("{host}") > -1 ? res.url.replace("{host}", iisHost) : res.url; async setAddTreeLayers (res) { var url=res.url.indexOf("{host}")>-1? res.url.replace("{host}",iisHost):res.url; var layer = Viewer.imageryLayers.addImageryProvider( var layer=Viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: url, maximumLevel: 18, }) ); layer.name = res.cnName + '_' + res.id layer.name=res.cnName+'_'+res.id }, setRemoveTreeLayers(res) { var name = res.cnName + '_' + res.id; var layers = Viewer.imageryLayers._layers; for (var i in layers) { if (layers[i].name == name) { setRemoveTreeLayers (res) { var name=res.cnName+'_'+res.id; var layers=Viewer.imageryLayers._layers; for(var i in layers) { if(layers[i].name==name) { Viewer.imageryLayers.remove(layers[i]) } } }, setTreeData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 setTreeData (source) { let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 return cloneData.filter((father) => { // 循环所有项 let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 if (branchArr.length > 0) { branchArr.sort(function (a, b) { let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据 if(branchArr.length>0) { branchArr.sort(function(a,b) { return a.orderNum - b.orderNum return a.orderNum-b.orderNum }) } branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 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; // 返回一级菜单 return father.pid==0; // 返回一级菜单 }); }, // 鼠标右击事件 rightClick(event, object, node, element) { if (object.type == 1 || node.data.children != null) return; if (object.serveType != "TMS" && object.serveType != "DEM") return rightClick (event,object,node,element) { if(object.type==1||node.data.children!=null) return; if(object.serveType!="TMS"&&object.serveType!="DEM") return this.menuVisible = true this.menuVisible=true var type; if (object.serveType == "TMS") { type = 'dom_' this.layerData = "DOM" } else if (object.serveType == "DEM") { type = 'dem_' this.layerData = "DEM" if(object.serveType=="TMS") { type='dom_' this.layerData="DOM" } else if(object.serveType=="DEM") { type='dem_' this.layerData="DEM" } this.serveType = false this.activeName = 'second' this.formInline.Id = type + object.id; this.layerID = type + object.id; this.$refs.card.$el.style.left = event.pageX + 20 + "px"; this.$refs.card.$el.style.top = event.pageY + "px"; this.serveType=false this.activeName='second' this.formInline.Id=type+object.id; this.layerID=type+object.id; this.$refs.card.$el.style.left=event.pageX+20+"px"; this.$refs.card.$el.style.top=event.pageY+"px"; }, setShowFile() { setShowFile () { this.dialogVisible = true; this.dialogVisible=true; this.getAttacthFlieList(); this.menuVisible = false this.menuVisible=false }, //裁剪 setcropping() { var that = this; setcropping () { var that=this; sgworld.Creator.SimpleGraphic.clear() sgworld.Creator.SimpleGraphic.edit(false, { editProp: false }); sgworld.Creator.SimpleGraphic.edit(false,{ editProp: false }); sgworld.Creator.createSimpleGraphic( "rectangle", {}, function (entity) { that.modelForm.east = Cesium.Math.toDegrees( "rectangle",{}, function(entity) { that.modelForm.east=Cesium.Math.toDegrees( entity.rectangle.coordinates.getValue().east ); that.modelForm.north = Cesium.Math.toDegrees( that.modelForm.north=Cesium.Math.toDegrees( entity.rectangle.coordinates.getValue().north ); that.modelForm.west = Cesium.Math.toDegrees( that.modelForm.west=Cesium.Math.toDegrees( entity.rectangle.coordinates.getValue().west ); that.modelForm.south = Cesium.Math.toDegrees( that.modelForm.south=Cesium.Math.toDegrees( entity.rectangle.coordinates.getValue().south ); } ); }, setUndergroundMode() { if (window.UndergroundMode) { this.$refs && this.$refs.undergroundModel && setUndergroundMode () { if(window.UndergroundMode) { this.$refs&& this.$refs.undergroundModel&& this.$refs.undergroundModel.close(); } else { this.$refs && this.$refs.undergroundModel && this.$refs.undergroundModel.open("地下模式", null,); this.$refs&& this.$refs.undergroundModel&& this.$refs.undergroundModel.open("地下模式",null,); } }, refreshAttatchDetail() { this.dialog.src = ""; this.dialog.dialogVisible = false; this.dialog.isPdf = false; this.dialog.isJpg = false; refreshAttatchDetail () { this.dialog.src=""; this.dialog.dialogVisible=false; this.dialog.isPdf=false; this.dialog.isJpg=false; }, //附件查看 setAttatchDetail(index, row) { setAttatchDetail (index,row) { this.refreshAttatchDetail() var name = row.name; if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) { this.dialog.dialogVisible = true; this.dialog.isPdf = true; var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); this.dialog.src = url } else if ( name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1 || name.indexOf('.JPG') != -1 || name.indexOf('.GIF') != -1 || name.indexOf('.PNG') != -1 || name.indexOf('.JPEG') != -1 || name.indexOf('.BMP') != -1 || name.indexOf('.bmp') != -1 var name=row.name; if(name.indexOf('.pdf')!=-1||name.indexOf('.PDF')!=-1) { this.dialog.dialogVisible=true; this.dialog.isPdf=true; var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); this.dialog.src=url } else if( name.indexOf('.jpg')!=-1 ||name.indexOf('.gif')!=-1 ||name.indexOf('.png')!=-1 ||name.indexOf('.jpeg')!=-1 ||name.indexOf('.JPG')!=-1 ||name.indexOf('.GIF')!=-1 ||name.indexOf('.PNG')!=-1 ||name.indexOf('.JPEG')!=-1 ||name.indexOf('.BMP')!=-1 ||name.indexOf('.bmp')!=-1 ) { this.dialog.dialogVisible = true; this.dialog.isJpg = true; var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); this.dialog.src = url this.dialog.dialogVisible=true; this.dialog.isJpg=true; var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); this.dialog.src=url } if(name.indexOf('.dwg')!=-1) { console.log(row) this.handleCAD(row) } }, async setAttachDel() { var std = []; for (var i in this.attacgSelection) { async handleCAD (row) { const data=await meta_selectConvertToDwg(row.id); if(data.result) { var url=iisHost+"/dwg/cad/browse/?file=data/"+data.result; window.open(url) } else { return this.$message("数据转换失败,无法预览"); } }, async setAttachDel () { var std=[]; for(var i in this.attacgSelection) { std.push(this.attacgSelection[i].id); } const res = await dataQuery_deletes({ ids: std.toString() }); if (res.code != 200) { const res=await dataQuery_deletes({ ids: std.toString() }); if(res.code!=200) { this.$message.error("文件删除失败"); } this.getAttacthFlieList(); }, setAttachInsert() { var token = getToken(); var fs = document.getElementById("insertFile"); if (fs.files.length == 0) { setAttachInsert () { var token=getToken(); var fs=document.getElementById("insertFile"); if(fs.files.length==0) { this.$message({ message: "请选择要上传的文件!", type: "warning", }); return; } const formData = new FormData(); for (var i = 0, c = fs.files.length; i < c; i++) { formData.append("file", fs.files[i]); // fs.files[i].name,file const formData=new FormData(); for(var i=0,c=fs.files.length;i<c;i++) { formData.append("file",fs.files[i]); // fs.files[i].name,file } $.ajax(BASE_URL + "/comprehensive/uploadFiles?token=" + token + "&tabName=" + this.layerData + "&eventid=" + this.layerID, $.ajax(BASE_URL+"/comprehensive/uploadFiles?token="+token+"&tabName="+this.layerData+"&eventid="+this.layerID, { type: "post", data: formData, @@ -546,89 +677,90 @@ message: "附件添加成功", type: "success", }); document.getElementById("insertFile").value = ""; this.fromfile = { document.getElementById("insertFile").value=""; this.fromfile={ file: "", }; this.getAttacthFlieList(); }, error: (e) => { document.getElementById("insertFile").value = ""; document.getElementById("insertFile").value=""; this.$message.error("附件添加失败"); }, } ); }, //附件=>文件选择 getInsertFile() { getInsertFile () { $('#insertFile').click(); }, insertFile() { var val = document.getElementById('insertFile').files; if (!val || !val.length) return; this.fromfile.file = val[0].name; insertFile () { var val=document.getElementById('insertFile').files; if(!val||!val.length) return; this.fromfile.file=val[0].name; }, matchState(state = "", reg) { var row = state.row; var name = row.name; if ( name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1 || name.indexOf('.JPG') != -1 || name.indexOf('.GIF') != -1 || name.indexOf('.PNG') != -1 || name.indexOf('.JPEG') != -1 || name.indexOf('.BMP') != -1 || name.indexOf('.bmp') != -1 || name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1 matchState (state="",reg) { var row=state.row; var name=row.name; if( name.indexOf('.jpg')!=-1 ||name.indexOf('.gif')!=-1 ||name.indexOf('.png')!=-1 ||name.indexOf('.jpeg')!=-1 ||name.indexOf('.JPG')!=-1 ||name.indexOf('.GIF')!=-1 ||name.indexOf('.PNG')!=-1 ||name.indexOf('.JPEG')!=-1 ||name.indexOf('.BMP')!=-1 ||name.indexOf('.bmp')!=-1 ||name.indexOf('.pdf')!=-1 ||name.indexOf('.PDF')!=-1 ||name.indexOf('.dwg')!=-1 ) { return true; } return false; }, statSizeChange(row, column) { statSizeChange (row,column) { return this.stateFormatSizes(row.sizes) }, stateFormatSizes(res) { if (res >= 1024) { const val = parseFloat(res / 1024).toFixed(3); return val + ' GB'; stateFormatSizes (res) { if(res>=1024) { const val=parseFloat(res/1024).toFixed(3); return val+' GB'; } else { return res + ' MB'; return res+' MB'; } }, // 附件=>表格选择 handleAttatchChange(val) { this.attacgSelection = val; handleAttatchChange (val) { this.attacgSelection=val; }, //附件列表查询 async getAttacthFlieList() { var obj = { async getAttacthFlieList () { var obj={ eventid: this.layerID, tabName: this.layerData }; const res = await comprehensive_selectFiles(obj); if (res.code != 200) { const res=await comprehensive_selectFiles(obj); if(res.code!=200) { this.$message.error('列表调用失败'); return } this.tableData = res.result; this.tableData=res.result; }, handleClick() { if (this.activeName == "second") { handleClick () { if(this.activeName=="second") { this.getAttacthFlieList(); } }, async EditData() { const data = await comprehensive_updateModel(this.formInline) async EditData () { const data=await comprehensive_updateModel(this.formInline) if (data.code != 200) { if(data.code!=200) { this.$message.error('修改失败'); return } @@ -639,15 +771,15 @@ type: 'success' }); var that = this; that.dialogVisible = false; this.formInline.title = this.formInline.name that.dialogVisible = true; var that=this; that.dialogVisible=false; this.formInline.title=this.formInline.name that.dialogVisible=true; this.startModelData(); }, async InsertData() { var std = { async InsertData () { var std={ "bak": this.formInline.bak, "guid": this.formInline.Id, "layerid": this.formInline.layerId, @@ -655,8 +787,8 @@ "name": this.formInline.name, "type": this.formInline.type } const data = await comprehensive_insertModel(std) if (data.code != 200) { const data=await comprehensive_insertModel(std) if(data.code!=200) { this.$message.error('添加失败'); } this.$message({ @@ -664,20 +796,20 @@ type: 'success' }); var that = this; that.dialogVisible = false; this.formInline.title = this.formInline.name that.dialogVisible = true; var that=this; that.dialogVisible=false; this.formInline.title=this.formInline.name that.dialogVisible=true; this.startModelData(); }, handleClose() { this.layerData = "lf.sys_style" this.serveType = true; this.dialogVisible = false; this.formInline = { handleClose () { this.layerData="lf.sys_style" this.serveType=true; this.dialogVisible=false; this.formInline={ title: '', file: '', name: '', @@ -687,114 +819,114 @@ bak: '', Id: '' } this.activeName = "first" this.activeName="first" }, async setShowModelInfo(result) { var modelKey = 'id'; async setShowModelInfo (result) { var modelKey='id'; if (result.tileset) { if (result.tileset.pubid && parseInt(result.tileset.pubid) > 0) { const data = await comprehensive_selectPubById({ id: result.tileset.pubid }) if(result.tileset) { if(result.tileset.pubid&&parseInt(result.tileset.pubid)>0) { const data=await comprehensive_selectPubById({ id: result.tileset.pubid }) if (data.code != 200) { if(data.code!=200) { return } else { modelKey = JSON.parse(data.result.json).modelid modelKey=JSON.parse(data.result.json).modelid } if (!modelKey) { if(!modelKey) { return this.$message('没有模型主键ID,无法查询数据'); } this.formInline.Id = result.getProperty(modelKey); this.layerID = result.getProperty(modelKey); this.formInline.Id=result.getProperty(modelKey); this.layerID=result.getProperty(modelKey); } } else { var id = '3dml' + result.primitive.id; this.formInline.Id = id; this.layerID = id; var id='3dml'+result.primitive.id; this.formInline.Id=id; this.layerID=id; } this.formInline.layerId = result.primitive.layerId; this.formInline.layerName = result.primitive.id; this.formInline.layerId=result.primitive.layerId; this.formInline.layerName=result.primitive.id; // this.formInline.title = result.getProperty("name") if (!this.formInline.Id) { this.formInline.Id = "noAuto_" + this.formInline.layerId; if(!this.formInline.Id) { this.formInline.Id="noAuto_"+this.formInline.layerId; } if (!this.layerID) { this.layerID = "noAuto_" + this.formInline.layerId; if(!this.layerID) { this.layerID="noAuto_"+this.formInline.layerId; } this.startModelData(); this.dialogVisible = true; this.dialogVisible=true; }, async startModelData() { var obj = { async startModelData () { var obj={ layerid: this.formInline.layerId, modelid: this.formInline.Id } const data = await comprehensive_selectModelByGuid(obj); if (data.code != 200) { const data=await comprehensive_selectModelByGuid(obj); if(data.code!=200) { return; } if (data.result == null) { this.isShowModel = true; this.formInline.name = this.formInline.title; if(data.result==null) { this.isShowModel=true; this.formInline.name=this.formInline.title; } else { this.isShowModel = false; this.formInline = data.result; this.formInline.title = this.formInline.name; this.isShowModel=false; this.formInline=data.result; this.formInline.title=this.formInline.name; } }, setChangeTileset(result, check) { setChangeTileset (result,check) { var nodes = this.$refs.tree.getCheckedNodes(); var str = []; for (var i = 0; i < nodes.length; i++) { var node = this.$refs.tree.getNode(nodes[i]).data.serveType; if (node != 'DEM') { var nodes=this.$refs.tree.getCheckedNodes(); var str=[]; for(var i=0;i<nodes.length;i++) { var node=this.$refs.tree.getNode(nodes[i]).data.serveType; if(node!='DEM') { str.push(nodes[i]) } } str.push(result[0].id) this.$refs.tree.setCheckedKeys(str) var value = this.$refs.tree.getCheckedNodes(); var std = []; for (var i in value) { var value=this.$refs.tree.getCheckedNodes(); var std=[]; for(var i in value) { std.push(value[i].id) } for (var i in result) { var tile = result[i] if (std.indexOf(tile.id) != -1) { for(var i in result) { var tile=result[i] if(std.indexOf(tile.id)!=-1) { this.setAddLayers(tile) } else { if (tile.serveType == 'DEM') { if(tile.serveType=='DEM') { if (window.terrainFlag == '2') { if(window.terrainFlag=='2') { window.terrainLayer.deleteObject(); } else if (window.terrainFlag == '1') { Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); } else if(window.terrainFlag=='1') { Viewer.terrainProvider=new Cesium.EllipsoidTerrainProvider(); } // var option = { var option={ url: window.sceneConfig.SGUrl, layerName: window.sceneConfig.mptName, requestVertexNormals: true, }; window.terrainLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, ""); } else if (tile.serveType == 'TMS') { for (let i = 0; i < window.Viewer.imageryLayers._layers.length; i++) { if (window.Viewer.imageryLayers._layers[i].name == result.cnName) { window.terrainLayer=sgworld.Creator.sfsterrainprovider("",option,"",true,""); } else if(tile.serveType=='TMS') { for(let i=0;i<window.Viewer.imageryLayers._layers.length;i++) { if(window.Viewer.imageryLayers._layers[i].name==result.cnName) { window.Viewer.imageryLayers.remove(window.Viewer.imageryLayers._layers[i]); break; } } } else { for (var j in Viewer.scene.primitives._primitives) { if (Viewer.scene.primitives._primitives[j].id == tile.cnName) { for(var j in Viewer.scene.primitives._primitives) { if(Viewer.scene.primitives._primitives[j].id==tile.cnName) { Viewer.scene.primitives.remove(Viewer.scene.primitives._primitives[j]) } } @@ -802,160 +934,160 @@ } } }, setAddLayers(rs) { setAddLayers (rs) { if (rs.serveType == "Tileset" || rs.serveType == "3DML") { if(rs.serveType=="Tileset"||rs.serveType=="3DML") { var url; if (rs.url.indexOf("{host}") != -1) { url = rs.url.replace("{host}", iisHost); if(rs.url.indexOf("{host}")!=-1) { url=rs.url.replace("{host}",iisHost); } else { url = modelUrl + "/" + rs.url url=modelUrl+"/"+rs.url } var tileset = Viewer.scene.primitives.add( var tileset=Viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ name: rs.cnName, url: url, //192.168.20.106,to4 maximumScreenSpaceError: url.indexOf("/pnts/") > -1 ? 16 : 64, // 最大屏幕空间错误:16 maximumScreenSpaceError: url.indexOf("/pnts/")>-1? 16:64, // 最大屏幕空间错误:16 maximumMemoryUsage: 768, // 最大内存:512 dynamicScreenSpaceError: true, // 减少离相机较远的屏幕空间错误:false skipLevelOfDetail: true, // 在遍历时候跳过详情:false }) ); var that = this; var that=this; tileset.readyPromise.then((tileset) => { tileset.id = rs.cnName; tileset.layerId = rs.id; tileset.pubid = rs.pubid; if (rs.serveType != '3DML') { that.getArgsTileset(tileset, rs); tileset.id=rs.cnName; tileset.layerId=rs.id; tileset.pubid=rs.pubid; if(rs.serveType!='3DML') { that.getArgsTileset(tileset,rs); } }); } else if (rs.serveType == "DEM") { } else if(rs.serveType=="DEM") { if (window.terrainFlag == '2') { if(window.terrainFlag=='2') { window.terrainLayer.deleteObject(); } else if (window.terrainFlag == '1') { Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); } else if(window.terrainFlag=='1') { Viewer.terrainProvider=new Cesium.EllipsoidTerrainProvider(); } var url = rs.url; if (rs.url.indexOf("{host}") != -1) { url = rs.url.replace("{host}", iisHost); var url=rs.url; if(rs.url.indexOf("{host}")!=-1) { url=rs.url.replace("{host}",iisHost); } window.terrainLayer = null; window.terrainFlag = '1' window.terrainLayer=null; window.terrainFlag='1' window.terrainLayer = new Cesium.CesiumTerrainProvider({ window.terrainLayer=new Cesium.CesiumTerrainProvider({ url: url }); Viewer.terrainProvider = window.terrainLayer } else if (rs.serveType == "TMS") { var url = rs.url; if (rs.url.indexOf("{host}") != -1) { url = rs.url.replace("{host}", iisHost); Viewer.terrainProvider=window.terrainLayer } else if(rs.serveType=="TMS") { var url=rs.url; if(rs.url.indexOf("{host}")!=-1) { url=rs.url.replace("{host}",iisHost); } var layer = Viewer.imageryLayers.addImageryProvider( var layer=Viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: url, maximumLevel: 18, }) ); layer.name = rs.cnName; layer.name=rs.cnName; } }, async getArgsTileset(tileset, rs) { async getArgsTileset (tileset,rs) { if (rs.pubid > 0) { if(rs.pubid>0) { const data = await comprehensive_selectPubById({ id: rs.pubid }) const data=await comprehensive_selectPubById({ id: rs.pubid }) if (data.code != 200) { if(data.code!=200) { } else { if (rs.serveType == '3DML') { this.tileSet(tileset, parseFloat(rs.elev)) if(rs.serveType=='3DML') { this.tileSet(tileset,parseFloat(rs.elev)) } else { this.reloadTile(tileset, data.result.json) this.reloadTile(tileset,data.result.json) } } } else { this.tileSet(tileset, parseFloat(rs.elev)) this.tileSet(tileset,parseFloat(rs.elev)) } }, tileSet(tileset, height) { tileSet (tileset,height) { //3dtile模型的边界球体 var boundingSphere = tileset.boundingSphere; var boundingSphere=tileset.boundingSphere; //迪卡尔空间直角坐标=>地理坐标(弧度制) var cartographic_original = Cesium.Cartographic.fromCartesian(boundingSphere.center); var cartographic_original=Cesium.Cartographic.fromCartesian(boundingSphere.center); //地理坐标(弧度制)=>迪卡尔空间直角坐标 var Cartesian3_original = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, cartographic_original.height); var Cartesian3_offset = Cesium.Cartesian3.fromRadians(cartographic_original.longitude, cartographic_original.latitude, height); var Cartesian3_original=Cesium.Cartesian3.fromRadians(cartographic_original.longitude,cartographic_original.latitude,cartographic_original.height); var Cartesian3_offset=Cesium.Cartesian3.fromRadians(cartographic_original.longitude,cartographic_original.latitude,height); //获得地面和offset的转换 var translation = Cesium.Cartesian3.subtract(Cartesian3_offset, Cartesian3_original, new Cesium.Cartesian3()); var translation=Cesium.Cartesian3.subtract(Cartesian3_offset,Cartesian3_original,new Cesium.Cartesian3()); //修改模型矩阵 tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); tileset.modelMatrix=Cesium.Matrix4.fromTranslation(translation); // Viewer.flyTo(tileset); }, reloadTile(tileset, res) { var vm = JSON.parse(res) var pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height); var converter = Cesium.Transforms.eastNorthUpToFixedFrame; var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(vm.yaw), 0, 0); var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter); tileset._root.transform = matrix; reloadTile (tileset,res) { var vm=JSON.parse(res) var pos=Cesium.Cartesian3.fromDegrees(vm.lon,vm.lat,vm.height); var converter=Cesium.Transforms.eastNorthUpToFixedFrame; var hpr=new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(vm.yaw),0,0); var matrix=Cesium.Transforms.headingPitchRollToFixedFrame(pos,hpr,Cesium.Ellipsoid.WGS84,converter); tileset._root.transform=matrix; Viewer.flyTo(tileset); }, handleCheckChange(data, checked, indeterminate) { if (data.type == 1) { handleCheckChange (data,checked,indeterminate) { if(data.type==1) { this.getchilds(data); this.setChangeTileset(this.childOption, checked); this.setChangeTileset(this.childOption,checked); } else { this.setChangeTileset([data], checked); this.setChangeTileset([data],checked); } }, handleNodeClick(data) { this.menuVisible = false if (data.type == 2) { this.currentData = data; handleNodeClick (data) { this.menuVisible=false if(data.type==2) { this.currentData=data; if (data.serveType == 'DEM' || data.serveType == 'TMS') { if (!data.pubid) return if(data.serveType=='DEM'||data.serveType=='TMS') { if(!data.pubid) return this.setQueryPubid(data) } else { for (var j in Viewer.scene.primitives._primitives) { if (Viewer.scene.primitives._primitives[j].id == data.cnName) { for(var j in Viewer.scene.primitives._primitives) { if(Viewer.scene.primitives._primitives[j].id==data.cnName) { Viewer.flyTo(Viewer.scene.primitives._primitives[j]); } } } } }, async setQueryPubid(res) { const data = await comprehensive_selectPubById({ id: res.pubid }) if (data.code != 200) return; if (data.result.geom) { var wkt = this.$wkt.parse(data.result.geom); async setQueryPubid (res) { const data=await comprehensive_selectPubById({ id: res.pubid }) if(data.code!=200) return; if(data.result.geom) { var wkt=this.$wkt.parse(data.result.geom); Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], 2000), destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1],wkt.coordinates[0],2000), }); } }, getchilds(source) { if (source.children) { var child = source.children for (var i in child) { if (child[i].children) { getchilds (source) { if(source.children) { var child=source.children for(var i in child) { if(child[i].children) { this.getchilds(child[i]) } else { this.childOption.push(child[i]) @@ -965,32 +1097,32 @@ this.childOption.push(source) } }, init3DMap() { init3DMap () { //地图初始化 window.sgworld = new SmartEarth.SGWorld("mapdiv", { window.sgworld=new SmartEarth.SGWorld("mapdiv",{ licenseServer: window.sceneConfig.licenseServer, }); window.Viewer = window.sgworld._Viewer; window.Viewer=window.sgworld._Viewer; // Viewer.camera.flyTo({ // destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000), // }); if (is_production) { if(is_production) { Viewer.imageryLayers.removeAll(); } Viewer._enableInfoOrSelection = false; Viewer._enableInfoOrSelection=false; //显示fps Viewer.scene.debugShowFramesPerSecond = false; Viewer.scene.debugShowFramesPerSecond=false; //导航控件 // window.sgworld.navControl("nav", false); //比例尺 // window.sgworld.navControl("scale", false); //开启深度检测 // sg.Analysis.depthTestAgainstTerrain(true) if (is_production) { var base_ulr = window.sceneConfig.baseUrl; if (base_ulr.indexOf('{host}') > -1) { base_ulr = base_ulr.replace("{host}", iisHost) if(is_production) { var base_ulr=window.sceneConfig.baseUrl; if(base_ulr.indexOf('{host}')>-1) { base_ulr=base_ulr.replace("{host}",iisHost) } Viewer.imageryLayers.addImageryProvider( @@ -1000,7 +1132,7 @@ }) ); window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( window.BaseMapLayer=Viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: base_ulr, @@ -1013,35 +1145,35 @@ Viewer.scene.globe.depthTestAgainstTerrain = true; Viewer.scene.globe.depthTestAgainstTerrain=true; // window.elevationTool = new SmartEarth.ElevationTool(window.sg); // elevationTool.setContourColor("#F1D487"); window.terrainLayer = new Cesium.CesiumTerrainProvider({ window.terrainLayer=new Cesium.CesiumTerrainProvider({ // url: LFData + '/3d/terrain/dem20230321' url: demLayer }); Viewer.terrainProvider = window.terrainLayer Viewer.terrainProvider=window.terrainLayer window.terrainFlag = '1' window.terrainFlag='1' // window.terrainLayer = new Cesium.CesiumTerrainProvider({ // url: demLayer // }); // Viewer.terrainProvider = window.terrainLayer if (this.$store.state.previewLayer) { var res = this.$store.state.previewLayer; var type = res.type; if(this.$store.state.previewLayer) { var res=this.$store.state.previewLayer; var type=res.type; console.log(type) res.ulr = res.url.replace("{host}", iisHost); if (type == 'DEM') { res.ulr=res.url.replace("{host}",iisHost); if(type=='DEM') { // window.terrainLayer.deleteObject(); Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); Viewer.terrainProvider=new Cesium.EllipsoidTerrainProvider(); // window.terrainLayer = null; window.terrainLayer = null; window.terrainLayer = new Cesium.CesiumTerrainProvider({ window.terrainLayer=null; window.terrainLayer=new Cesium.CesiumTerrainProvider({ url: res.url }); Viewer.terrainProvider = window.terrainLayer Viewer.terrainProvider=window.terrainLayer /*Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(113.229279, 31.215949, 1000), orientation: { @@ -1050,107 +1182,107 @@ roll: 0.0 } });*/ if (res.geom) { var wkt = this.$wkt.parse(res.geom); var height = this.getHeight(wkt.coordinates[2]); if(res.geom) { var wkt=this.$wkt.parse(res.geom); var height=this.getHeight(wkt.coordinates[2]); Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height), destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1],wkt.coordinates[0],height), }); } } else if (type == 'DOM') { var wkt = this.$wkt.parse(res.geom); var height = this.getHeight(wkt.coordinates[2]) window.BaseMapLayer = Viewer.imageryLayers.addImageryProvider( } else if(type=='DOM') { var wkt=this.$wkt.parse(res.geom); var height=this.getHeight(wkt.coordinates[2]) window.BaseMapLayer=Viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: res.url, maximumLevel: 18 }) ); Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1], wkt.coordinates[0], height), destination: Cesium.Cartesian3.fromDegrees(wkt.coordinates[1],wkt.coordinates[0],height), }); } else if (type == '3dml' || type == 'fbx' || type == 'ifc' || type == 'rvt' || type == 'cpt' || type == 'osgb' || type == 'las' || type == 'laz') { if (this.app.tileset) viewer.scene.primitives.remove(this.app.tileset); } else if(type=='3dml'||type=='fbx'||type=='ifc'||type=='rvt' ||type=='cpt'||type=='osgb'||type=='las'||type=='laz') { if(this.app.tileset) viewer.scene.primitives.remove(this.app.tileset); this.app.tileset = this.createTileset(res); var that = this; this.editModelFlag = true; Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function (ts) { this.app.tileset=this.createTileset(res); var that=this; this.editModelFlag=true; Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function(ts) { that.setModleLocatin() Viewer.flyTo(ts); }); } else if (res.url.indexOf('.mpt') != -1) { this.editModelFlag = true; } else if(res.url.indexOf('.mpt')!=-1) { this.editModelFlag=true; //Viewer.imageryLayers.removeAll(); var url = res.url.split(';'); var ops = { var url=res.url.split(';'); var ops={ url: url[0], layers: url[1] }; if (res && res.json) { var rs = JSON.parse(res.json); ops.rectangle = Cesium.Rectangle.fromDegrees(rs.west, rs.south, rs.east, rs.north); if(res&&res.json) { var rs=JSON.parse(res.json); ops.rectangle=Cesium.Rectangle.fromDegrees(rs.west,rs.south,rs.east,rs.north); } sgworld.Creator.createImageryProvider(res.cnName, "wms", ops, "0", undefined, true, ""); sgworld.Creator.createImageryProvider(res.cnName,"wms",ops,"0",undefined,true,""); if (res && res.json) { var rs = JSON.parse(res.json); if(res&&res.json) { var rs=JSON.parse(res.json); Viewer.camera.flyTo({ destination: Cesium.Rectangle.fromDegrees(rs.west, rs.south, rs.east, rs.north) destination: Cesium.Rectangle.fromDegrees(rs.west,rs.south,rs.east,rs.north) }) } } else if (res.url.indexOf('menuLayer') != -1) { } else if(res.url.indexOf('menuLayer')!=-1) { this.setShowModelLayer(); } } }, getModeKeyId() { window.ModeKeyIdHandler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); getModeKeyId () { window.ModeKeyIdHandler=new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); window.ModeKeyIdHandler.setInputAction((event) => { window.pickedFeature = sgworld.Viewer.scene.pick(event.position); if (Cesium.defined(window.pickedFeature)) { if (window.pickedFeature.primitive instanceof Cesium.Cesium3DTileset) { if (window.pickedFeature && window.pickedFeature.getProperty) { window.pickedFeature=sgworld.Viewer.scene.pick(event.position); if(Cesium.defined(window.pickedFeature)) { if(window.pickedFeature.primitive instanceof Cesium.Cesium3DTileset) { if(window.pickedFeature&&window.pickedFeature.getProperty) { this.setModeLayerID(pickedFeature); } else { this.modelForm.modelid = 'id3dml' this.modelForm.modelid='id3dml' window.ModeKeyIdHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //移除事件 } } } }, Cesium.ScreenSpaceEventType.LEFT_CLICK) },Cesium.ScreenSpaceEventType.LEFT_CLICK) }, async resave() { var type = this.$store.state.previewLayer.type; if (type && type != "mpt" && type != "mpt") { if (!this.modelForm.modelid) { async resave () { var type=this.$store.state.previewLayer.type; if(type&&type!="mpt"&&type!="mpt") { if(!this.modelForm.modelid) { return this.$message('未选择模型主键ID'); } } else { sgworld.Creator.SimpleGraphic.clear() } this.$store.state.previewLayer.json = JSON.stringify(this.modelForm); this.$store.state.previewLayer.json=JSON.stringify(this.modelForm); if (this.$store.state.previewLayer.url) { var url = this.$store.state.previewLayer.url; this.$store.state.previewLayer.url = url.replace(iisHost, "{host}"); if(this.$store.state.previewLayer.url) { var url=this.$store.state.previewLayer.url; this.$store.state.previewLayer.url=url.replace(iisHost,"{host}"); } const data = await publish_update(this.$store.state.previewLayer); if (data.code != 200) { const data=await publish_update(this.$store.state.previewLayer); if(data.code!=200) { this.$message.error('数据保存失败'); } else { this.$message({ @@ -1160,68 +1292,68 @@ } this.reload(); }, reload() { reload () { sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha) var json = JSON.stringify(this.modelForm); var modelScale = this.modelForm.scale var url = this.$store.state.previewLayer.url.replace("{host}", iisHost); if (!url) return; if (this.app.tileset) Viewer.scene.primitives.remove(this.app.tileset); sgworld.Analysis.UndergroundMode(this.app.under,this.modelForm.alpha) var json=JSON.stringify(this.modelForm); var modelScale=this.modelForm.scale var url=this.$store.state.previewLayer.url.replace("{host}",iisHost); if(!url) return; if(this.app.tileset) Viewer.scene.primitives.remove(this.app.tileset); this.app.isBusy = true; this.app.tileset = this.createTileset(this.$store.state.previewLayer); var that = this; Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function (ts) { that.modelForm = JSON.parse(json); var pos = Cesium.Cartesian3.fromDegrees(parseFloat(that.modelForm.lon), parseFloat(that.modelForm.lat), parseFloat(that.modelForm.height)); var converter = Cesium.Transforms.eastNorthUpToFixedFrame; var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(that.modelForm.yaw)), 0, 0); var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter); if (modelScale) { var scale = Cesium.Matrix4.fromUniformScale(modelScale); Cesium.Matrix4.multiply(matrix, scale, matrix); this.app.isBusy=true; this.app.tileset=this.createTileset(this.$store.state.previewLayer); var that=this; Viewer.scene.primitives.add(this.app.tileset).readyPromise.then(function(ts) { that.modelForm=JSON.parse(json); var pos=Cesium.Cartesian3.fromDegrees(parseFloat(that.modelForm.lon),parseFloat(that.modelForm.lat),parseFloat(that.modelForm.height)); var converter=Cesium.Transforms.eastNorthUpToFixedFrame; var hpr=new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(that.modelForm.yaw)),0,0); var matrix=Cesium.Transforms.headingPitchRollToFixedFrame(pos,hpr,Cesium.Ellipsoid.WGS84,converter); if(modelScale) { var scale=Cesium.Matrix4.fromUniformScale(modelScale); Cesium.Matrix4.multiply(matrix,scale,matrix); } that.app.tileset._root.transform = matrix; that.app.tileset._root.transform=matrix; Viewer.flyTo(ts); that.app.isBusy = false; that.app.isBusy=false; }); }, //拾取 pickupCoords() { if (this.app.handler) { pickupCoords () { if(this.app.handler) { this.app.handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); this.app.handler = undefined; this.app.handler=undefined; return; } var that = this; this.app.handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); this.app.handler.setInputAction(function (event) { var that=this; this.app.handler=new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); this.app.handler.setInputAction(function(event) { var ray = Viewer.camera.getPickRay(event.position); var cartesian = Viewer.scene.globe.pick(ray, Viewer.scene); var cartographic = Cesium.Cartographic.fromCartesian(cartesian); var x = that.toFixed(Cesium.Math.toDegrees(cartographic.longitude), 7); var y = that.toFixed(Cesium.Math.toDegrees(cartographic.latitude), 7); var z = that.toFixed(cartographic.height, 3); var ray=Viewer.camera.getPickRay(event.position); var cartesian=Viewer.scene.globe.pick(ray,Viewer.scene); var cartographic=Cesium.Cartographic.fromCartesian(cartesian); var x=that.toFixed(Cesium.Math.toDegrees(cartographic.longitude),7); var y=that.toFixed(Cesium.Math.toDegrees(cartographic.latitude),7); var z=that.toFixed(cartographic.height,3); that.modelForm.lon = x; that.modelForm.lat = y; that.modelForm.height = z; that.modelForm.lon=x; that.modelForm.lat=y; that.modelForm.height=z; that.pickupCoords(); that.reload(); }, Cesium.ScreenSpaceEventType.LEFT_CLICK); },Cesium.ScreenSpaceEventType.LEFT_CLICK); }, // 保留小数位 toFixed(d, n) { var p = Math.pow(10, n); toFixed (d,n) { var p=Math.pow(10,n); return Math.round(d * p) / p; return Math.round(d*p)/p; }, update() { update () { // if (!this.modelForm.lon || isNaN(this.modelForm.lon)) { // var args = this.getEditTilesetArgs(); // this.modelForm.lon = args.lon == null ? 0 : args.height; @@ -1243,46 +1375,46 @@ // } this.setTilesetArgs(this.modelForm); sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha) sgworld.Analysis.UndergroundMode(this.app.under,this.modelForm.alpha) }, setTilesetArgs(f) { setTilesetArgs (f) { if (!this.app.tileset || this.app.isBusy) return; if(!this.app.tileset||this.app.isBusy) return; var pos = Cesium.Cartesian3.fromDegrees(parseFloat(f.lon), parseFloat(f.lat), parseFloat(f.height)); var pos=Cesium.Cartesian3.fromDegrees(parseFloat(f.lon),parseFloat(f.lat),parseFloat(f.height)); var converter = Cesium.Transforms.eastNorthUpToFixedFrame; var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(f.yaw)), 0, 0); var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter); var scale = Cesium.Matrix4.fromUniformScale(f.scale); Cesium.Matrix4.multiply(matrix, scale, matrix); var model = this.app.tileset model._root.transform = matrix; var converter=Cesium.Transforms.eastNorthUpToFixedFrame; var hpr=new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(parseFloat(f.yaw)),0,0); var matrix=Cesium.Transforms.headingPitchRollToFixedFrame(pos,hpr,Cesium.Ellipsoid.WGS84,converter); var scale=Cesium.Matrix4.fromUniformScale(f.scale); Cesium.Matrix4.multiply(matrix,scale,matrix); var model=this.app.tileset model._root.transform=matrix; }, //地下 underground() { this.app.under = !this.app.under; sgworld.Analysis.UndergroundMode(this.app.under, this.modelForm.alpha) underground () { this.app.under=!this.app.under; sgworld.Analysis.UndergroundMode(this.app.under,this.modelForm.alpha) }, //显隐 showTileset() { showTileset () { if (!this.app.tileset) return; this.app.tileset.show = !this.app.tileset.show; if(!this.app.tileset) return; this.app.tileset.show=!this.app.tileset.show; }, //定位 locateTo() { if (!this.app.tileset) return; locateTo () { if(!this.app.tileset) return; Viewer.flyTo(this.app.tileset); }, createTileset(res) { res.url = res.url.replace('{host}', iisHost) createTileset (res) { res.url=res.url.replace('{host}',iisHost) return new Cesium.Cesium3DTileset({ url: res.url, name: 'tsTest', skipLevelOfDetail: true, // 在遍历时候跳过详情:false baseScreenSpaceError: 1024, maximumScreenSpaceError: res.url.indexOf("/pnts/") > -1 ? 16 : 64, // 最大屏幕空间错误:16,数值加大能让最终成像变模糊 maximumScreenSpaceError: res.url.indexOf("/pnts/")>-1? 16:64, // 最大屏幕空间错误:16,数值加大能让最终成像变模糊 skipScreenSpaceErrorFactor: 16, skipLevels: 1, immediatelyLoadDesiredLevelOfDetail: false, @@ -1299,92 +1431,92 @@ dynamicScreenSpaceError: true // 减少离相机较远的屏幕空间错误:false,全屏加载完之后才清晰化房屋 }); }, setEditModelLayer(res) { setEditModelLayer (res) { if (res.json) { if(res.json) { var json = JSON.parse(res.json) this.modelForm = json; var json=JSON.parse(res.json) this.modelForm=json; this.reload(); } else { this.getTilesetArgs(); } }, setModleLocatin() { var res = this.$store.state.previewLayer; var type = res.type; if (this.modelType.indexOf(type) != -1) { if (type != '3dml') { setModleLocatin () { var res=this.$store.state.previewLayer; var type=res.type; if(this.modelType.indexOf(type)!=-1) { if(type!='3dml') { this.setEditModelLayer(res) } else { this.editModelFlag = true; this.editModelFlag=true; } } }, setModeLayerID(res) { setModeLayerID (res) { var value = res.getPropertyNames(); var std = []; for (var i in value) { var value=res.getPropertyNames(); var std=[]; for(var i in value) { std.push({ value: value[i], label: value[i] }) } this.optionKey = std; this.modelLayerId = this.optionKey[0].label; this.modelKeyFlag = true; this.optionKey=std; this.modelLayerId=this.optionKey[0].label; this.modelKeyFlag=true; }, setSureKeyModelKey() { this.modelKeyFlag = false; this.modelForm.modelid = this.modelLayerId setSureKeyModelKey () { this.modelKeyFlag=false; this.modelForm.modelid=this.modelLayerId window.ModeKeyIdHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK); //移除事件 }, getTilesetArgs() { this.app.isBusy = true; var cm = this.app.tileset._root.transform; var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]); var carto = Cesium.Cartographic.fromCartesian(cartesian); getTilesetArgs () { this.app.isBusy=true; var cm=this.app.tileset._root.transform; var cartesian=new Cesium.Cartesian3(cm[12],cm[13],cm[14]); var carto=Cesium.Cartographic.fromCartesian(cartesian); if (carto) { this.modelForm.lon = Cesium.Math.toDegrees(carto.longitude).toFixed(7); this.modelForm.lat = Cesium.Math.toDegrees(carto.latitude).toFixed(7); this.modelForm.height = carto.height.toFixed(3); if(carto) { this.modelForm.lon=Cesium.Math.toDegrees(carto.longitude).toFixed(7); this.modelForm.lat=Cesium.Math.toDegrees(carto.latitude).toFixed(7); this.modelForm.height=carto.height.toFixed(3); } this.app.isBusy = false; this.app.isBusy=false; }, getEditTilesetArgs() { this.app.isBusy = true; var std = { getEditTilesetArgs () { this.app.isBusy=true; var std={ lon: 0, lat: 0, height: 0, } if (!this.app.tileset._root) return std; var cm = this.app.tileset._root.transform; var cartesian = new Cesium.Cartesian3(cm[12], cm[13], cm[14]); var carto = Cesium.Cartographic.fromCartesian(cartesian); if(!this.app.tileset._root) return std; var cm=this.app.tileset._root.transform; var cartesian=new Cesium.Cartesian3(cm[12],cm[13],cm[14]); var carto=Cesium.Cartographic.fromCartesian(cartesian); if (carto) { std.lon = Cesium.Math.toDegrees(carto.longitude).toFixed(7); std.lat = Cesium.Math.toDegrees(carto.latitude).toFixed(7); std.height = carto.height.toFixed(3); if(carto) { std.lon=Cesium.Math.toDegrees(carto.longitude).toFixed(7); std.lat=Cesium.Math.toDegrees(carto.latitude).toFixed(7); std.height=carto.height.toFixed(3); } this.app.isBusy = false; this.app.isBusy=false; return std }, async setShowModelLayer() { const data = await perms_selectLayers(); if (data.code != 200) { async setShowModelLayer () { const data=await perms_selectLayers(); if(data.code!=200) { } else { var std = data.result var val = []; var std=data.result var val=[]; std.filter((str) => { // if (str.type == 1 && str.pid == 1) { // return str; @@ -1392,12 +1524,12 @@ // if (str.id == 1 && str.pid == 0) { // return str; // } if (str.type == 1) { if(str.type==1) { val.push(str); } if (str.url != null && str.type == 2) { if(str.url!=null&&str.type==2) { if (str.serveType == 'Tileset' || str.serveType == '3DML' || str.serveType == 'TMS' || str.serveType == 'DEM') { if(str.serveType=='Tileset'||str.serveType=='3DML'||str.serveType=='TMS'||str.serveType=='DEM') { val.push(str); } } @@ -1406,39 +1538,39 @@ // } }); var res = this.setTreeData(val); this.treeData = res; this.modelLayer = true; var that = this; var pickedFeature, pickedColor; window.modeCatchHandler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); var res=this.setTreeData(val); this.treeData=res; this.modelLayer=true; var that=this; var pickedFeature,pickedColor; window.modeCatchHandler=new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas); window.modeCatchHandler.setInputAction((event) => { if (pickedColor) { pickedFeature && (pickedFeature.color = pickedColor); } if(pickedColor) { pickedFeature&&(pickedFeature.color=pickedColor); } pickedFeature = sgworld.Viewer.scene.pick(event.position); if (Cesium.defined(pickedFeature)) { if (pickedFeature.primitive instanceof Cesium.Cesium3DTileset) { pickedFeature=sgworld.Viewer.scene.pick(event.position); if(Cesium.defined(pickedFeature)) { if(pickedFeature.primitive instanceof Cesium.Cesium3DTileset) { if (pickedFeature) { pickedColor = pickedFeature.color pickedFeature.color = Cesium.Color.RED.withAlpha(0.3); if(pickedFeature) { pickedColor=pickedFeature.color pickedFeature.color=Cesium.Color.RED.withAlpha(0.3); that.setShowModelInfo(pickedFeature); } } } }, Cesium.ScreenSpaceEventType.LEFT_CLICK) },Cesium.ScreenSpaceEventType.LEFT_CLICK) } }, setTreeData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 setTreeData (source) { let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 return cloneData.filter((father) => { // 循环所有项 let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据 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; // 返回一级菜单 return father.pid==0; // 返回一级菜单 }); }, // tileSet(tileset, height) { @@ -1454,11 +1586,11 @@ // //修改模型矩阵 // tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation); // }, getHeight(level) { if (level > 0 && level < 23) { getHeight (level) { if(level>0&&level<23) { return this.levelArray[level] } var res = 7 var res=7 return this.levelArray[res] }, @@ -1523,7 +1655,8 @@ } .el-icon-sunrise { background: url("../assets/img/synthesis/images/3白底_157.png") center center no-repeat; background: url("../assets/img/synthesis/images/3白底_157.png") center center no-repeat; background-size: 24px; } src/views/Archive/index.vue
@@ -3,217 +3,167 @@ <div class="menu_top"> <My-bread :list="[`${$t('synthesis.synthesis')}`, `${$t('synthesis.archive')}`]"></My-bread> <!-- 下载列表 --> <i @click="getdownloadList" class="el-icon-tickets" :title="$t('synthesis.DownloadList')" ></i> <i @click="getdownloadList" class="el-icon-tickets" :title="$t('synthesis.DownloadList')"></i> </div> <el-divider /> <!-- 查询框 --> <div class="iquery"> <el-form :inline="true" :model="formInline" class="demo-form-inline" > <el-form :inline="true" :model="formInline" class="demo-form-inline"> <!-- 数据类型 --> <el-form-item :title="$t('archiveObj.dataType')"> <el-select size="small" v-model="formInline.dataType" :popper-append-to-body="false" :placeholder="$t('archiveObj.label1')" @change="setDataTypeChange()" > <el-option :label="$t('archiveObj.dataBank')" value="type1" ></el-option> <el-option :label="$t('archiveObj.file')" value="type2" ></el-option> <el-select size="small" v-model="formInline.dataType" :popper-append-to-body="false" :placeholder="$t('archiveObj.label1')" @change="setDataTypeChange()"> <el-option :label="$t('archiveObj.dataBank')" value="type1"></el-option> <el-option :label="$t('archiveObj.file')" value="type2"></el-option> </el-select> </el-form-item> <!-- 资料类别 --> <el-form-item :title="$t('archiveObj.dataClass')"> <el-select :popper-append-to-body="false" v-model="formInline.category" multiple clearable collapse-tags multiple filterable allow-create default-first-option size="small" ref="cascaders" :placeholder="$t('archiveObj.label4')" @change="categorySelectChange('orgName','org',categoryOptions)" > <el-option v-for="item in categoryOptions" :key="item.key" :label="item.value" :value="item.key" > <el-select :popper-append-to-body="false" v-model="formInline.category" multiple clearable collapse-tags multiple filterable allow-create default-first-option size="small" ref="cascaders" :placeholder="$t('archiveObj.label4')" @change="categorySelectChange('orgName','org',categoryOptions)"> <el-option v-for="item in categoryOptions" :key="item.key" :label="item.value" :value="item.key"> </el-option> </el-select> </el-form-item> <!-- 项目名称 --> <el-form-item :title="$t('archiveObj.entryName')"> <el-select :popper-append-to-body="false" v-model="formInline.item" multiple clearable collapse-tags multiple filterable allow-create default-first-option size="small" :placeholder="$t('archiveObj.label5')" @change="itemSelectChange('orgName','org',itemOptions)" > <el-option v-for="item in itemOptions" :key="item.code" :label="item.name" :value="item.code" > <el-select :popper-append-to-body="false" v-model="formInline.item" multiple clearable collapse-tags multiple filterable allow-create default-first-option size="small" :placeholder="$t('archiveObj.label5')" @change="itemSelectChange('orgName','org',itemOptions)"> <el-option v-for="item in itemOptions" :key="item.code" :label="item.name" :value="item.code"> </el-option> </el-select> </el-form-item> <!-- 单位 --> <el-form-item :title="$t('archiveObj.unit')"> <el-select size="small" v-model="formInline.depName" :placeholder="$t('archiveObj.label3')" :popper-append-to-body="false" ref="treeSelect" > <el-option :value="formInline.depcode" :label="formInline.depName" style="height: auto" > <el-tree ref="tree" :data="depOption" node-key="id" :props="defaultProps" @node-click="depChange" /> <el-select size="small" v-model="formInline.depName" :placeholder="$t('archiveObj.label3')" :popper-append-to-body="false" ref="treeSelect"> <el-option :value="formInline.depcode" :label="formInline.depName" style="height: auto"> <el-tree ref="tree" :data="depOption" node-key="id" :props="defaultProps" @node-click="depChange" /> </el-option> </el-select> </el-select> </el-form-item> <!-- 关键字 --> <el-form-item :title="$t('archiveObj.keywords')"> <el-input :placeholder="$t('archiveObj.label6')" v-model="formInline.keywords" size="small" > <i :title="$t('common.iquery')" @click="setSearchKeyWords" slot="suffix" class="el-input__icon el-icon-search" ></i></el-input> <el-input :placeholder="$t('archiveObj.label6')" v-model="formInline.keywords" size="small"> <i :title="$t('common.iquery')" @click="setSearchKeyWords" slot="suffix" class="el-input__icon el-icon-search"></i></el-input> </el-form-item> <!-- 批量下載 --> <el-form-item style="float:right" v-if="formInline.dataType =='type2'" > <el-button type="success" size="small" icon="el-icon-download" @click="setCardDownload" >{{$t('common.download')}}</el-button> <el-form-item style="float:right" v-if="formInline.dataType =='type2'"> <el-button type="success" size="small" icon="el-icon-download" @click="setCardDownload">{{$t('common.download')}}</el-button> </el-form-item> <!-- 空间查询 --> <el-form-item style="float:right"> <el-button type="primary" size="small" icon="el-icon-search" @click="getSpaceMapVisibale" >{{$t('synthesis.rangequery')}}</el-button> <el-button type="primary" size="small" icon="el-icon-search" @click="getSpaceMapVisibale">{{$t('synthesis.rangequery')}}</el-button> </el-form-item> <!-- 重置 --> <el-form-item style="float:right"> <el-button type="info" size="small" icon="el-icon-refresh" @click="setQuerAllTablesRefresh" >{{$t('common.reset')}}</el-button> <el-button type="info" size="small" icon="el-icon-refresh" @click="setQuerAllTablesRefresh">{{$t('common.reset')}}</el-button> </el-form-item> </el-form> </div> <div class="contBox"> <div id="archTopBox" class="archTopBox" > <div id="archTopBox" class="archTopBox"> <div class="boxCard" v-for="(item,index) in monthdata" > <div class="boxCard" v-for="(item,index) in monthdata"> <el-card class="box-card"> <div slot="header" class="clearfix" > <div slot="header" class="clearfix"> <span v-show="formInline.dataType =='type2'"> <el-checkbox v-model="item.ischecked" @change="handleCheckedDataTypeChange(item)" style="margin-right:10px" > <el-checkbox v-model="item.ischecked" @change="handleCheckedDataTypeChange(item)" style="margin-right:10px"> </el-checkbox> <span v-if="item.ismeta > 0"> <el-link style="color: #409eff" title="源数据查询" target="_blank" @click="setQueryMetaData(item)" >{{ item.name }}</el-link> <el-link style="color: #409eff" title="源数据查询" target="_blank" @click="setQueryMetaData(item)">{{ item.name }}</el-link> </span> <span v-else-if="item.metaid > 0"> <el-link style="color: #409eff" title="元数据查询" target="_blank" @click="setMetaDataQuery(item)" >{{ item.name }}</el-link></span> <span v-else-if="item.metaid > 0"> <el-link style="color: #409eff" title="元数据查询" target="_blank" @click="setMetaDataQuery(item)">{{ item.name }}</el-link> </span> <span v-else>{{ item.name }}</span> </span> <span v-show="formInline.dataType !='type2'">{{item.tabDesc}}</span> <div style="float: right; padding: 3px 0"> <i v-show="formInline.dataType=='type2' " v-if="showView(item, /[]/)" class="el-icon-view" :title="$t('common.preview')" @click="setAttatchFileView(index, item)" ></i> <i style="margin-left:10px" class="el-icon-tickets" :title="$t('common.details')" @click="setCardDetails(item)" ></i> <i v-show="formInline.dataType=='type2' " v-if="showView(item, /[]/)" class="el-icon-view" :title="$t('common.preview')" @click="setAttatchFileView(index, item)"></i> <i style="margin-left:10px" class="el-icon-tickets" :title="$t('common.details')" @click="setCardDetails(item)"></i> <!-- <i v-show="formInline.dataType=='type2'" style="margin-left:10px" @@ -221,27 +171,21 @@ :title="$t('common.download')" @click="setCardDownload(item)" ></i> --> <i v-show="!item.isShow" style="margin-left:10px" class="el-icon-arrow-up" :title="$t('archiveObj.fold')" @click="setCardChange(item)" ></i> <i v-show="item.isShow" style="margin-left:10px" class="el-icon-arrow-down" :title="$t('archiveObj.develop')" @click="setCardChange(item)" ></i> <i v-show="!item.isShow" style="margin-left:10px" class="el-icon-arrow-up" :title="$t('archiveObj.fold')" @click="setCardChange(item)"></i> <i v-show="item.isShow" style="margin-left:10px" class="el-icon-arrow-down" :title="$t('archiveObj.develop')" @click="setCardChange(item)"></i> </div> </div> <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow && formInline.dataType=='type2'" > <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow && formInline.dataType=='type2'"> <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> <div class="cardItem"> {{$t('dataManage.vmobj.format')}} : {{ item.type }} </div> <div class="cardItem"> {{$t('dataManage.vmobj.size')}} : {{stateFormatSizes(item.sizes)}} </div> @@ -254,11 +198,9 @@ <div class="cardItem"> {{$t('dataManage.vmobj.createontime')}} : {{format(item.createTime)}} </div> </div> <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow && formInline.dataType!='type2'" > <div :id="item.id" style="margin:5px 1px" v-show="!item.isShow && formInline.dataType!='type2'"> <div class="cardItem"> {{$t('archiveObj.dataType')}} : {{ item.mold }} </div> <div class="cardItem"> {{$t('dataManage.vmobj.tab')}} : {{ item.ns+'.'+item.tab }} </div> <div class="cardItem"> {{$t('dataManage.vmobj.row')}} : {{ item.rows }} </div> @@ -271,26 +213,22 @@ </div> <div class="archBottomBox"> <div style="margin-top:10px"> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listData.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listData.count" > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listData.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listData.count"> </el-pagination> </div> </div> </div> <!-- 文件详情 --> <el-dialog :title="$t('common.details')" :visible.sync="showinfoBox1" :close-on-click-modal="false" width="30%" > <el-dialog :title="$t('common.details')" :visible.sync="showinfoBox1" :close-on-click-modal="false" width="30%"> <div class="contentBox"> <p>{{ $t('dataManage.vmobj.name') }}:{{ itemdetail1.name }}</p> <el-divider></el-divider> @@ -344,78 +282,56 @@ </div> </el-dialog> <!-- 数据库详情 --> <el-dialog :title=" this.listBankData.title" :visible.sync="dialogVisible" :close-on-click-modal="false" width="90%" top="12vh" > <el-dialog :title=" this.listBankData.title" :visible.sync="dialogVisible" :close-on-click-modal="false" width="90%" top="12vh"> <!-- 密码框 --> <el-dialog :title="$t('common.passworld')" :visible.sync="downloadLogVisible" :close-on-click-modal="false" top="15vh" width="30%" :show-close="false" :modal="false" > <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm" > <el-form-item :label="$t('common.passworld')" prop="password" > <el-input size="small" type="password" v-model="codeForm.password" show-password ></el-input> <el-dialog :title="$t('common.passworld')" :visible.sync="downloadLogVisible" :close-on-click-modal="false" top="15vh" width="30%" :show-close="false" :modal="false"> <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm"> <el-form-item :label="$t('common.passworld')" prop="password"> <el-input size="small" type="password" v-model="codeForm.password" show-password></el-input> </el-form-item> <el-form-item :label="$t('common.SPassword')" prop="repassword" > <el-input size="small" type="password" v-model="codeForm.repassword" show-password ></el-input> <el-form-item :label="$t('common.SPassword')" prop="repassword"> <el-input size="small" type="password" v-model="codeForm.repassword" show-password></el-input> </el-form-item> <el-form-item> <el-button class="primary" size="small" @click="download1('codeForm')" >{{$t('common.confirm')}}</el-button> <el-button type="info" size="small" @click="closeDown1('codeForm')" >{{$t('common.cancel')}}</el-button> <el-button class="primary" size="small" @click="download1('codeForm')">{{$t('common.confirm')}}</el-button> <el-button type="info" size="small" @click="closeDown1('codeForm')">{{$t('common.cancel')}}</el-button> </el-form-item> </el-form> </el-dialog> <!-- 数据库table详情 --> <el-dialog width="30%" :visible.sync="itemDetailVisible" :modal="false" > <div class="contentBox" style="height:60vh;overflow:auto" > <el-dialog width="30%" :visible.sync="itemDetailVisible" :modal="false"> <div class="contentBox" style="height:60vh;overflow:auto"> <ul> <li v-for="(item, index) in itemdetail"> <p> @@ -429,172 +345,122 @@ </el-dialog> <!-- 查询条件 --> <!-- 条件--> <el-dialog width="43%" :visible.sync="conditionVisible" :modal="false" title="查询条件" :show-close="false" > <el-form :inline="true" :model="formSql" class="demo-form-inline" > <el-dialog width="43%" :visible.sync="conditionVisible" :modal="false" title="查询条件" :show-close="false"> <el-form :inline="true" :model="formSql" class="demo-form-inline"> <el-form-item> <el-select size="small" :popper-append-to-body="false" @change="fieldChange($event)" v-model="formSql.field" > <el-option v-for="item in filedsOption" :key="item.field" :label="item.alias" :value="item.field" > <el-select size="small" :popper-append-to-body="false" @change="fieldChange($event)" v-model="formSql.field"> <el-option v-for="item in filedsOption" :key="item.field" :label="item.alias" :value="item.field"> </el-option> </el-select> </el-form-item> <el-form-item> <el-select size="small" :popper-append-to-body="false" v-model="formSql.condition" > <el-option v-for="item in condOption" :key="item.value" :label="item.label" :value="item.value" > <el-select size="small" :popper-append-to-body="false" v-model="formSql.condition"> <el-option v-for="item in condOption" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item v-show="!fromSqlflag"> <el-input size="small" v-model="formSql.value" ></el-input> <el-input size="small" v-model="formSql.value"></el-input> </el-form-item> <el-form-item v-show="fromSqlflag"> <el-date-picker size="small" v-model="formSql.date" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" > <el-date-picker size="small" v-model="formSql.date" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker> </el-form-item> </el-form> <span slot="footer" class="dialog-footer" > <el-button size="small" @click="startFiledAndcondition" >取 消</el-button> <el-button size="small" type="primary" @click="appendQueryFilter" >确 定</el-button> <span slot="footer" class="dialog-footer"> <el-button size="small" @click="startFiledAndcondition">取 消</el-button> <el-button size="small" type="primary" @click="appendQueryFilter">确 定</el-button> </span> </el-dialog> <!-- 数据库附件信息 --> <el-dialog :title="$t('common.enclosure')" :visible.sync="outerVisible" :close-on-click-modal="false" width="50%" :modal="false" > <el-dialog :title="$t('common.enclosure')" :visible.sync="outerVisible" :close-on-click-modal="false" width="50%" :modal="false"> <div style="height:68vh"> <el-form :model="fromfile" class="demo-form-inline" > <el-form :model="fromfile" class="demo-form-inline"> <el-form-item> <el-input v-model="fromfile.file" style="width: 300px; margin-right: 20px" :placeholder="$t('common.choose')" disabled ></el-input> <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none" @change="insertFile( )" /> <el-link @click="getInsertFile( )" :underline="false" ><i class="el-icon-folder-opened"></i></el-link> <el-input v-model="fromfile.file" style="width: 300px; margin-right: 20px" :placeholder="$t('common.choose')" disabled></el-input> <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none" @change="insertFile( )" /> <el-link @click="getInsertFile( )" :underline="false"><i class="el-icon-folder-opened"></i></el-link> </el-form-item> <el-form-item> <el-row> <el-col :span="2"> <el-link class="elLink" :underline="false" @click="setAttachInsert" >{{$t('common.append')}}</el-link> <el-link class="elLink" :underline="false" @click="setAttachInsert">{{$t('common.append')}}</el-link> </el-col> <el-col :span="2"> <el-link class="elLink" :underline="false" @click="setAttachDel" >{{$t('common.delete')}}</el-link> <el-link class="elLink" :underline="false" @click="setAttachDel">{{$t('common.delete')}}</el-link> </el-col> </el-row> </el-form-item> </el-form> <el-table @cell-dblclick="copyText" :data="tableAttach" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%" @selection-change="handleAttatchChange" > <el-table-column type="selection" width="70" /> <el-table-column width="60" type="index" :label="$t('common.index')" /> <el-table-column prop="name" :label="$t('common.fileNme')" /> <el-table @cell-dblclick="copyText" :data="tableAttach" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%" @selection-change="handleAttatchChange"> <el-table-column type="selection" width="70" /> <el-table-column width="60" type="index" :label="$t('common.index')" /> <el-table-column prop="name" :label="$t('common.fileNme')" /> <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" /> <el-table-column align="center" :label="$t('common.operate')" min-width="100" > <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" /> <el-table-column align="center" :label="$t('common.operate')" min-width="100"> <template slot-scope="scope"> <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)" class="elLink" >{{ $t('common.see') }}</el-link> <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)" class="elLink">{{ $t('common.see') }}</el-link> </template> </el-table-column> @@ -603,502 +469,360 @@ </el-dialog> <!-- 数据库Table信息 --> <div style="height:68vh"> <el-form :model="formInline" :inline="true" > <el-form :model="formInline" :inline="true"> <el-form-item> <el-input type="input" v-model="formInline.fileName" class="nm-skin-pretty" show-word-limit :rows="2" resize='none' disabled size="small" style="width: 650px;" :placeholder="$t('archiveObj.label7')" ></el-input> <el-input type="input" v-model="formInline.fileName" class="nm-skin-pretty" show-word-limit :rows="2" resize='none' disabled size="small" style="width: 650px;" :placeholder="$t('archiveObj.label7')"></el-input> </el-form-item> <el-form-item> <el-button type="success" size="small" icon="el-icon-plus" @click="conditionVisible = true" >{{$t('common.append')}}</el-button> <el-button type="success" size="small" icon="el-icon-plus" @click="conditionVisible = true">{{$t('common.append')}}</el-button> </el-form-item> <el-form-item> <el-button type="primary" size="small" icon="el-icon-search" @click="submitForm()" >{{$t('common.iquery')}}</el-button> <el-button type="primary" size="small" icon="el-icon-search" @click="submitForm()">{{$t('common.iquery')}}</el-button> </el-form-item> <el-form-item> <el-button type="info" size="small" icon="el-icon-search" @click="resetForm()" >{{$t('common.reset')}}</el-button> <el-button type="info" size="small" icon="el-icon-search" @click="resetForm()">{{$t('common.reset')}}</el-button> </el-form-item> <el-form-item> <el-button type="warning" size="small" icon="el-icon-download" @click="downloadLogVisible = true" >{{$t('common.download')}}</el-button> <el-button type="warning" size="small" icon="el-icon-download" @click="downloadLogVisible = true">{{$t('common.download')}}</el-button> </el-form-item> <!-- --> </el-form> <el-divider /> <el-table @cell-dblclick="copyText" ref="filterTable" :data="tableData" border style="width: 100%" height="calc(100% - 150px)" @selection-change="handleSelectionChange" > <el-table-column type="selection" align="center" width="55" /> <el-table-column width="60" type="index" align="center" :label="$t('common.index')" /> <el-table-column v-for="(item, index) in attributeData" :key="index" :label="item.alias" :prop="item.field" show-overflow-tooltip align="center" min-width="150" ></el-table-column> <el-table-column align="center" :label="$t('common.operate')" min-width="150" > <el-table @cell-dblclick="copyText" ref="filterTable" :data="tableData" border style="width: 100%" height="calc(100% - 150px)" @selection-change="handleSelectionChange"> <el-table-column type="selection" align="center" width="55" /> <el-table-column width="60" type="index" align="center" :label="$t('common.index')" /> <el-table-column v-for="(item, index) in attributeData" :key="index" :label="item.alias" :prop="item.field" show-overflow-tooltip align="center" min-width="150"></el-table-column> <el-table-column align="center" :label="$t('common.operate')" min-width="150"> <template slot-scope="scope"> <el-link class="elLink" @click="showDetail(scope.$index, scope.row)" >{{ $t('common.details') }}</el-link> <el-link class="elLink" @click="getAttachTable(scope.$index, scope.row)" style="margin-left: 20px" >{{ $t('common.enclosure') }}</el-link> <el-link class="elLink" @click="showDetail(scope.$index, scope.row)">{{ $t('common.details') }}</el-link> <el-link class="elLink" @click="getAttachTable(scope.$index, scope.row)" style="margin-left: 20px">{{ $t('common.enclosure') }}</el-link> </template> </el-table-column> </el-table> <div class="archBottomBox"> <div> <el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1" :current-page="listBankData.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listBankData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listBankData.count" > <el-pagination @size-change="handleSizeChange1" @current-change="handleCurrentChange1" :current-page="listBankData.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listBankData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listBankData.count"> </el-pagination> </div> </div> </div> </el-dialog> <!-- 密码框 --> <el-dialog :title="$t('common.passworld')" :visible.sync="passWorldVisible" :close-on-click-modal="false" top="15vh" width="30%" :show-close="false" > <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm" > <el-form-item :label="$t('common.passworld')" prop="password" > <el-input size="small" type="password" v-model="codeForm.password" show-password ></el-input> <el-dialog :title="$t('common.passworld')" :visible.sync="passWorldVisible" :close-on-click-modal="false" top="15vh" width="30%" :show-close="false"> <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm"> <el-form-item :label="$t('common.passworld')" prop="password"> <el-input size="small" type="password" v-model="codeForm.password" show-password></el-input> </el-form-item> <el-form-item :label="$t('common.SPassword')" prop="repassword" > <el-input size="small" type="password" v-model="codeForm.repassword" show-password ></el-input> <el-form-item :label="$t('common.SPassword')" prop="repassword"> <el-input size="small" type="password" v-model="codeForm.repassword" show-password></el-input> </el-form-item> <el-form-item> <el-button class="primary" size="small" @click="download('codeForm')" >{{$t('common.confirm')}}</el-button> <el-button type="info" size="small" @click="closeDown('codeForm')" >{{$t('common.cancel')}}</el-button> <el-button class="primary" size="small" @click="download('codeForm')">{{$t('common.confirm')}}</el-button> <el-button type="info" size="small" @click="closeDown('codeForm')">{{$t('common.cancel')}}</el-button> </el-form-item> </el-form> </el-dialog> <!-- 下载列表 --> <el-dialog :visible.sync="downloadListVisible" width="90%" top="14vh" :close-on-click-modal="false" > <el-dialog :visible.sync="downloadListVisible" width="90%" top="14vh" :close-on-click-modal="false"> <div class="downloadBox"> <div class="archdowntop"> <el-table @cell-dblclick="copyText" :data="downloadTableData" style="width: 100%" height="calc(100% - 5px)" > <el-table-column type="index" width="50" :label="$t('common.index')" > <el-table @cell-dblclick="copyText" :data="downloadTableData" style="width: 100%" height="calc(100% - 5px)"> <el-table-column type="index" width="50" :label="$t('common.index')"> </el-table-column> <el-table-column property="descr" :label="$t('common.title')" > </el-table-column> <el-table-column property="name" :label="$t('common.fileNme')" > </el-table-column> <el-table-column property="createName" :label="$t('operatManage.BWL.requestUser')" > </el-table-column> <el-table-column property="createTime" :formatter="formatData" :label="$t('dataApply.careatetime')" > <el-table-column property="descr" :label="$t('common.title')"> </el-table-column> <el-table-column property="name" :label="$t('common.fileNme')"> </el-table-column> <el-table-column property="createName" :label="$t('operatManage.BWL.requestUser')"> </el-table-column> <el-table-column property="createTime" :formatter="formatData" :label="$t('dataApply.careatetime')"> </el-table-column> <el-table-column :label="$t('common.download')" width="120" > <el-table-column :label="$t('common.download')" width="120"> <template slot-scope="scope"> <el-link @click.native.prevent="downloadMap(scope.$index, scope.row)" :underline="false" >下载</el-link> <el-link @click.native.prevent="downloadMap(scope.$index, scope.row)" :underline="false">下载</el-link> </template> </el-table-column> </el-table> </div> <div class="archdownbottom"> <el-pagination @size-change="downloadSizeChange" @current-change="downloadCurrentChange" :current-page="downloadPage.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="downloadPage.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="downloadPage.count" > <el-pagination @size-change="downloadSizeChange" @current-change="downloadCurrentChange" :current-page="downloadPage.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="downloadPage.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="downloadPage.count"> </el-pagination> </div> </div> </el-dialog> <!--空间查询 --> <el-dialog :title=" $t('synthesis.rangequery')" :visible.sync="dialogMapVisible" width="90%" top="10vh" :close-on-click-modal="false" :before-close="handleMaptClose" > <el-dialog :title=" $t('synthesis.rangequery')" :visible.sync="dialogMapVisible" width="90%" top="10vh" :close-on-click-modal="false" :before-close="handleMaptClose"> <div style="height:73vh"> <map-sdk v-if='showMapVisible'></map-sdk> </div> </el-dialog> <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag1" width="70%" > <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag1" width="70%"> <div style="height: 65vh; width: 100%"> <el-table @cell-dblclick="copyText" ref="filterTable" :data="metaDataTable1" style="width: 100%" height="100%" > <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" ></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120" > <el-table @cell-dblclick="copyText" ref="filterTable" :data="metaDataTable1" style="width: 100%" height="100%"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120"> </el-table-column> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="stateFormatSizes" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')" > <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="stateFormatSizes" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <a class="scopeRowColor">{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> </el-table> </div> </el-dialog> <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag" width="70%" > <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag" width="70%"> <div style="height: 65vh; width: 100%"> <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline" > <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline"> <el-form-item> <el-input size="small" v-model="fromQueryMeta.name" ></el-input> <el-input size="small" v-model="fromQueryMeta.name"></el-input> </el-form-item> <el-form-item> <el-button type="primary" size="small" @click="setSearchMetaData()" >查询 <el-button type="primary" size="small" @click="setSearchMetaData()">查询 </el-button> <el-button type="info" size="small" @click="setRestMetaData()" >重置 <el-button type="info" size="small" @click="setRestMetaData()">重置 </el-button> </el-form-item> </el-form> <el-table @cell-dblclick="copyText" ref="filterTable" :data="metaDataTable" style="width: 100%" height="calc(100% - 100px)" > <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" ></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120" > <el-table @cell-dblclick="copyText" ref="filterTable" :data="metaDataTable" style="width: 100%" height="calc(100% - 100px)"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120"> </el-table-column> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="stateFormatSizes" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')" > <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="stateFormatSizes" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <a class="scopeRowColor" @click="detail(scope.row)" >{{ <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> </el-table> <div class="pagination_box" style="margin-top: 15px" > <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange" :current-page="listMetaData.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listMetaData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listMetaData.count" > <div class="pagination_box" style="margin-top: 15px"> <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange" :current-page="listMetaData.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="listMetaData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listMetaData.count"> </el-pagination> </div> </div> </el-dialog> <el-dialog title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" :close-on-click-modal="false" > <div v-if="dialog.isPdf" class="pdfClass" > <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%" > <el-dialog title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" :close-on-click-modal="false"> <div v-if="dialog.isPdf" class="pdfClass"> <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%"> </iframe> </div> <div v-if="dialog.isJpg" class="pdfClass" > <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]" > <div v-if="dialog.isJpg" class="pdfClass"> <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]"> </el-image> </div> </el-dialog> <el-dialog title="数据申请" :visible.sync="dialogInsertVisible" width="30%" top="35vh" :modal="false" :before-close="handleInsertClose" > <el-dialog title="数据申请" :visible.sync="dialogInsertVisible" width="30%" top="35vh" :modal="false" :before-close="handleInsertClose"> <div style="width: 100%; max-height: 450px; overflow-y: auto"> <el-form ref="form" :model="ruleForm" label-width="100px" > <el-form ref="form" :model="ruleForm" label-width="100px"> <el-form-item label="审核单位"> <div> <ul> @@ -1118,106 +842,78 @@ </div> </el-form-item> <el-form-item label="条件"> <el-input :title="ruleForm.wkt" v-model="ruleForm.wkt" disabled ></el-input> <el-input :title="ruleForm.wkt" v-model="ruleForm.wkt" disabled></el-input> </el-form-item> <el-form-item label="描述"> <el-input type="textarea" placeholder="请输入内容" v-model="ruleForm.descr" maxlength="50" show-word-limit > <el-input type="textarea" placeholder="请输入内容" v-model="ruleForm.descr" maxlength="50" show-word-limit> </el-input> </el-form-item> <el-form-item> <el-button class="primary" size="small" @click="getInsertDownx" >{{ <el-button class="primary" size="small" @click="getInsertDownx">{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="closeInsertDown" >{{ <el-button type="info" size="small" @click="closeInsertDown">{{ $t("common.cancel") }}</el-button> </el-form-item> </el-form> </div> </el-dialog> <el-dialog :title="$t('common.passworld')" :visible.sync="dialogVisible1" width="30%" top="35vh" :modal="false" :before-close="handleCloseDown1" > <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm" > <el-form-item :label="$t('common.passworld')" prop="password" > <el-input type="password" v-model="codeForm.password" show-password ></el-input> <el-dialog :title="$t('common.passworld')" :visible.sync="dialogVisible1" width="30%" top="35vh" :modal="false" :before-close="handleCloseDown1"> <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm"> <el-form-item :label="$t('common.passworld')" prop="password"> <el-input type="password" v-model="codeForm.password" show-password></el-input> </el-form-item> <el-form-item :label="$t('common.SPassword')" prop="repassword" > <el-input type="password" v-model="codeForm.repassword" show-password ></el-input> <el-form-item :label="$t('common.SPassword')" prop="repassword"> <el-input type="password" v-model="codeForm.repassword" show-password></el-input> </el-form-item> <el-form-item> <el-button class="primary" size="small" @click="downloadx('codeForm')" >{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="closeDownx('codeForm')" >{{ <el-button class="primary" size="small" @click="downloadx('codeForm')">{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="closeDownx('codeForm')">{{ $t("common.cancel") }}</el-button> </el-form-item> </el-form> </el-dialog> <el-dialog title="数据申请" :visible.sync="dialogInsertFile" width="30%" top="10vh" :modal="false" :close-on-click-modal="false" :show-close="false" > <el-form ref="form" :model="fileFrom" label-width="100px" > <el-dialog title="数据申请" :visible.sync="dialogInsertFile" width="30%" top="10vh" :modal="false" :close-on-click-modal="false" :show-close="false"> <el-form ref="form" :model="fileFrom" label-width="100px"> <el-form-item label="审核单位"> <div> <ul> @@ -1229,39 +925,31 @@ </el-form-item> <el-form-item label="描述"> <el-input type="textarea" placeholder="请输入内容" v-model="fileFrom.descr" maxlength="50" show-word-limit > <el-input type="textarea" placeholder="请输入内容" v-model="fileFrom.descr" maxlength="50" show-word-limit> </el-input> </el-form-item> <el-form-item> <el-button class="primary" size="small" @click="getFileInsertApply()" >{{ <el-button class="primary" size="small" @click="getFileInsertApply()">{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="handleInsertFileClose()" >{{ <el-button type="info" size="small" @click="handleInsertFileClose()">{{ $t("common.cancel") }}</el-button> </el-form-item> </el-form> </el-dialog> <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0" ></iframe> <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> </div> </template> @@ -1298,22 +986,22 @@ import { dataLibView } from '@/api/screen.js' export default { components: { MyBread, MapSdk MyBread,MapSdk }, data() { var repasswordValidator = (rule, value, callback) => { if (value === '') { data () { var repasswordValidator=(rule,value,callback) => { if(value==='') { callback(new Error('请再次输入密码')); } else if (value !== this.codeForm.password) { } else if(value!==this.codeForm.password) { callback(new Error('两次输入密码不一致!')); } else { callback(); } }; var passwordValidator = (rule, value, callback) => { var passwordreg = var passwordValidator=(rule,value,callback) => { var passwordreg= /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; if (!passwordreg.test(value)) { if(!passwordreg.test(value)) { callback( new Error('密码必须由数字、字母、特殊字符组合,请输入13-20位') ); @@ -1332,10 +1020,10 @@ repassword: '', }, rules: { password: [{ required: true, message: '请输入密码', trigger: 'blur' }, { validator: passwordValidator, trigger: 'blur' }], password: [{ required: true,message: '请输入密码',trigger: 'blur' },{ validator: passwordValidator,trigger: 'blur' }], repassword: [ { required: true, message: '请输入确认密码', trigger: 'blur' }, { validator: repasswordValidator, trigger: 'blur' }, { required: true,message: '请输入确认密码',trigger: 'blur' }, { validator: repasswordValidator,trigger: 'blur' }, ], }, formInline: { @@ -1449,18 +1137,18 @@ }; }, watch: { "formInline.depName"() { this.$refs.treeSelect.visible = false; "formInline.depName" () { this.$refs.treeSelect.visible=false; }, }, mounted() { mounted () { this.getDepTreeData(); this.getCategorySelectData(); this.getItemSelectData(); this.signGetPublicKey(); this.$bus.$on("setDialogInsertVisible", (res) => { if (res == true) { this.dialogVisible1 = true; this.$bus.$on("setDialogInsertVisible",(res) => { if(res==true) { this.dialogVisible1=true; } else { this.setDialogInsertVisible(res); } @@ -1468,47 +1156,47 @@ }, methods: { //数据库查询下载 downloadBankData() { downloadBankData () { // downloadLogVisible }, handleCloseDown1() { handleCloseDown1 () { this.$confirm("确认关闭?") .then(_ => { this.closeDownx(); }) .catch(_ => { }) }, downloadx() { this.$bus.$emit("setInsertDown2", this.codeForm) downloadx () { this.$bus.$emit("setInsertDown2",this.codeForm) // }, closeDownx() { this.dialogVisible1 = false; this.codeForm = { closeDownx () { this.dialogVisible1=false; this.codeForm={ password: '', repassword: '', } }, async getInsertDownx() { async getInsertDownx () { this.dialogInsertVisible = false; this.dialogVisible1 = false; this.downloadLogVisible = false; var obj = null if (this.dialogMapVisible == true) { var entities = []; var tabs = []; for (var i in this.ruleForm.tabs) { this.dialogInsertVisible=false; this.dialogVisible1=false; this.downloadLogVisible=false; var obj=null if(this.dialogMapVisible==true) { var entities=[]; var tabs=[]; for(var i in this.ruleForm.tabs) { entities.push(this.ruleForm.tabs[i].entity) tabs.push(this.ruleForm.tabs[i].tabDesc) } var std = []; for (var i in this.ruleForm.depname) { var std=[]; for(var i in this.ruleForm.depname) { std.push(this.ruleForm.depname[i].name) } obj = { obj={ pwd: encr(this.codeForm.password), entities: entities, wkt: encr(this.ruleForm.wkt), @@ -1521,30 +1209,30 @@ tabs: tabs } } else { var ids = []; var filter = null; this.downloadLogVisible = false; if (this.multipleSelection.length != 0) { for (var i in this.multipleSelection) { var ids=[]; var filter=null; this.downloadLogVisible=false; if(this.multipleSelection.length!=0) { for(var i in this.multipleSelection) { ids.push(this.multipleSelection[i].gid) } filter = null; filter=null; } else { filter = this.listBankData.filter; ids = null; filter=this.listBankData.filter; ids=null; } var std = []; for (var i in this.ruleForm.depname) { var std=[]; for(var i in this.ruleForm.depname) { std.push(this.ruleForm.depname[i].name) } var dirs = null; if (this.listData.dirs) { var dirs=null; if(this.listData.dirs) { dirs = this.listData.dirs dirs=this.listData.dirs } obj = { obj={ pwd: encr(this.codeForm.password), entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach wkt: null, @@ -1558,8 +1246,8 @@ } } const data = await apply_insertApply(JSON.stringify(obj)) if (data.code != 200) { const data=await apply_insertApply(JSON.stringify(obj)) if(data.code!=200) { this.$message.error("数据申请失败") return } @@ -1571,8 +1259,8 @@ this.closeDown1(); }, closeInsertDown() { this.ruleForm = { closeInsertDown () { this.ruleForm={ depname: [], tabs: [], pwd: null, @@ -1580,128 +1268,128 @@ wkt: null, descr: null, } this.dialogInsertVisible = false this.dialogInsertVisible=false this.closeDown1(); }, handleInsertClose() { handleInsertClose () { this.$confirm("确认关闭?") .then(_ => { this.closeInsertDown() }) .catch(_ => { }) }, setDialogInsertVisible(res) { this.ruleForm = res; this.dialogInsertVisible = true; setDialogInsertVisible (res) { this.ruleForm=res; this.dialogInsertVisible=true; }, copyText(row, column, cell, event) { copyText (row,column,cell,event) { // 双击复制 let save = function (e) { e.clipboardData.setData('text/plain', event.target.innerText); let save=function(e) { e.clipboardData.setData('text/plain',event.target.innerText); e.preventDefault(); //阻止默认行为 } document.addEventListener('copy', save);//添加一个copy事件 document.addEventListener('copy',save);//添加一个copy事件 document.execCommand("copy");//执行copy方法 this.$message({ message: '复制成功', type: 'success' })//提示 this.$message({ message: '复制成功',type: 'success' })//提示 }, //批量下载复选框chagne handleCheckedDataTypeChange(res) { var std = 0; for (var i = 0; i < this.multipleSelection1.length; i++) { if (res.guid == this.multipleSelection1[i].guid) { std = i; handleCheckedDataTypeChange (res) { var std=0; for(var i=0;i<this.multipleSelection1.length;i++) { if(res.guid==this.multipleSelection1[i].guid) { std=i; } } if (std == 0) { if(std==0) { this.multipleSelection1.push(res); } else { this.multipleSelection1.splice(std, 1) this.multipleSelection1.splice(std,1) } console.log(this.multipleSelection1) }, matchState(state = "", reg) { var row = state.row; var name = row.name; if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { matchState (state="",reg) { var row=state.row; var name=row.name; if(name.indexOf('.pdf')!=-1||name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { return true; } return false; }, // 附件=>表格选择 handleAttatchChange(val) { this.attacgSelection = val; handleAttatchChange (val) { this.attacgSelection=val; }, //附件=>文件选择 getInsertFile() { getInsertFile () { $('#insertFile').click(); }, insertFile() { var val = document.getElementById('insertFile').files; if (!val || !val.length) return; this.fromfile.file = val[0].name; insertFile () { var val=document.getElementById('insertFile').files; if(!val||!val.length) return; this.fromfile.file=val[0].name; }, getAttachTable(index, row) { if (row.eventid != null) { this.upAttach.eventid = row.eventid; getAttachTable (index,row) { if(row.eventid!=null) { this.upAttach.eventid=row.eventid; } else { this.upAttach.eventid = ""; this.upAttach.eventid=""; } this.outerVisible = true; this.outerVisible=true; this.getAttacthFlieList(); }, //附件列表查询 async getAttacthFlieList() { var obj = this.upAttach; const res = await dataLib_selectFiles(obj); if (res.code != 200) { async getAttacthFlieList () { var obj=this.upAttach; const res=await dataLib_selectFiles(obj); if(res.code!=200) { this.$message.error('列表调用失败'); return } this.tableAttach = res.result; this.tableAttach=res.result; }, refreshAttatchDetail() { this.dialog.src = ""; this.dialog.dialogVisible = false; this.dialog.isPdf = false; this.dialog.isJpg = false; refreshAttatchDetail () { this.dialog.src=""; this.dialog.dialogVisible=false; this.dialog.isPdf=false; this.dialog.isJpg=false; }, //附件查看 setAttatchDetail(index, row) { setAttatchDetail (index,row) { this.refreshAttatchDetail() var name = row.name; if (name.indexOf('.pdf') != -1) { this.dialog.dialogVisible = true; this.dialog.isPdf = true; var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); this.dialog.src = url } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { this.dialog.dialogVisible = true; this.dialog.isJpg = true; var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); this.dialog.src = url var name=row.name; if(name.indexOf('.pdf')!=-1) { this.dialog.dialogVisible=true; this.dialog.isPdf=true; var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); this.dialog.src=url } else if(name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { this.dialog.dialogVisible=true; this.dialog.isJpg=true; var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); this.dialog.src=url } }, setAttatchFileView(index, row) { setAttatchFileView (index,row) { this.refreshAttatchDetail() var name = `${row.name}.${row.type}`; if (name.indexOf('.pdf') != -1) { this.dialog.isPdf = true; } else if (name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1) { this.dialog.isJpg = true; var name=`${row.name}.${row.type}`; if(name.indexOf('.pdf')!=-1) { this.dialog.isPdf=true; } else if(name.indexOf('.jpg')!=-1||name.indexOf('.gif')!=-1||name.indexOf('.png')!=-1||name.indexOf('.jpeg')!=-1) { this.dialog.isJpg=true; } this.dialog.dialogVisible = true; this.dialog.dialogVisible=true; var url = BASE_URL + "/dataLib/downloadForView?guid=" + row.guid + "&token=" + getToken(); this.dialog.src = url; var url=BASE_URL+"/dataLib/downloadForView?guid="+row.guid+"&token="+getToken(); this.dialog.src=url; }, showView(res) { var name = res.type if (name) { if (name.indexOf('pdf') != -1 || name.indexOf('jpg') != -1 || name.indexOf('gif') != -1 || name.indexOf('png') != -1 || name.indexOf('jpeg') != -1) { showView (res) { var name=res.type if(name) { if(name.indexOf('pdf')!=-1||name.indexOf('jpg')!=-1||name.indexOf('gif')!=-1||name.indexOf('png')!=-1||name.indexOf('jpeg')!=-1) { return true } else { return false @@ -1710,22 +1398,22 @@ }, //附件刪除 async setAttachDel() { var std = []; for (var i in this.attacgSelection) { async setAttachDel () { var std=[]; for(var i in this.attacgSelection) { std.push(this.attacgSelection[i].id); } const res = await dataLib_deletes({ ids: std.toString() }); if (res.code != 200) { const res=await dataLib_deletes({ ids: std.toString() }); if(res.code!=200) { this.$message.error('文件删除失败'); } this.getAttacthFlieList(); }, //附件列表新增 setAttachInsert() { var token = getToken(); var fs = document.getElementById("insertFile"); if (fs.files.length == 0) { setAttachInsert () { var token=getToken(); var fs=document.getElementById("insertFile"); if(fs.files.length==0) { this.$message({ message: '请选择要上传的文件!', @@ -1733,13 +1421,13 @@ }); return; } const formData = new FormData() for (var i = 0, c = fs.files.length; i < c; i++) { const formData=new FormData() for(var i=0,c=fs.files.length;i<c;i++) { formData.append('file', fs.files[i]); // fs.files[i].name,file formData.append('file',fs.files[i]); // fs.files[i].name,file } $.ajax(BASE_URL + "/dataQuery/uploadFiles?token=" + token + "&tabName=" + this.upAttach.tabName + "&eventid=" + this.upAttach.eventid, { $.ajax(BASE_URL+"/dataQuery/uploadFiles?token="+token+"&tabName="+this.upAttach.tabName+"&eventid="+this.upAttach.eventid,{ type: "post", data: formData, async: true, @@ -1751,15 +1439,15 @@ message: '附件添加成功', type: 'success' }); document.getElementById("insertFile").value = ""; this.fromfile = { document.getElementById("insertFile").value=""; this.fromfile={ file: '', } this.getAttacthFlieList(); }, error: (e) => { document.getElementById("insertFile").value = ""; this.fromfile = { document.getElementById("insertFile").value=""; this.fromfile={ file: '', } this.$message.error('附件添加失败'); @@ -1767,36 +1455,36 @@ }); }, setRestMetaData() { this.fromQueryMeta.name = ""; this.listMetaData.name = this.fromQueryMeta.name; this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = 10; setRestMetaData () { this.fromQueryMeta.name=""; this.listMetaData.name=this.fromQueryMeta.name; this.listMetaData.pageIndex=1; this.listMetaData.pageSize=10; this.startQueryMetaData(); }, setSearchMetaData() { this.listMetaData.name = this.fromQueryMeta.name; this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = 10; setSearchMetaData () { this.listMetaData.name=this.fromQueryMeta.name; this.listMetaData.pageIndex=1; this.listMetaData.pageSize=10; this.startQueryMetaData(); }, //源数据页面切换 handleMetaSizeChange(val) { this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = val; handleMetaSizeChange (val) { this.listMetaData.pageIndex=1; this.listMetaData.pageSize=val; this.startQueryMetaData(); }, //源数据页面切换 handMetaCurrentChange(val) { this.listMetaData.pageIndex = val; handMetaCurrentChange (val) { this.listMetaData.pageIndex=val; this.startQueryMetaData(); }, //源数据查询 setQueryMetaData(row) { this.fromQueryMeta.title = row.name; this.listMetaData = { setQueryMetaData (row) { this.fromQueryMeta.title=row.name; this.listMetaData={ metaid: row.id, name: "", pageIndex: 1, @@ -1804,221 +1492,221 @@ count: 0, }; this.startQueryMetaData(); this.queryMetaFlag = true; this.queryMetaFlag=true; }, async startQueryMetaData() { const data = await dataLib_selectPageAndCountByPid(this.listMetaData); if (data.code != 200) { async startQueryMetaData () { const data=await dataLib_selectPageAndCountByPid(this.listMetaData); if(data.code!=200) { return; } this.metaDataTable = data.result; this.listMetaData.count = data.count; this.metaDataTable=data.result; this.listMetaData.count=data.count; }, //元数据查询 async setMetaDataQuery(row) { async setMetaDataQuery (row) { this.fromQueryMeta.title = row.name; this.listMetaData = { this.fromQueryMeta.title=row.name; this.listMetaData={ id: row.metaid, }; const data = await dataLib_selectMetaById(this.listMetaData); if (data.code != 200) { const data=await dataLib_selectMetaById(this.listMetaData); if(data.code!=200) { return; } this.queryMetaFlag1 = true; this.metaDataTable1 = [data.result]; this.queryMetaFlag1=true; this.metaDataTable1=[data.result]; }, getSpaceMapVisibale() { if (window.sgworld) { getSpaceMapVisibale () { if(window.sgworld) { window.sgworld.Creator.SimpleGraphic.clear(); for (var i in this.$store.state.queryInfo) { for(var i in this.$store.state.queryInfo) { window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); } } this.$store.state.queryInfo = []; if (this.$store.state.primitLayer != null) { this.$store.state.queryInfo=[]; if(this.$store.state.primitLayer!=null) { sgworld.Viewer.entities.remove(this.$store.state.primitLayer); sgworld.Creator.DeleteObject(this.$store.state.primitLayer); this.$store.state.primitLayer = null; this.$store.state.primitLayer=null; } this.dialogMapVisible = true; this.showMapVisible = true; this.$store.state.mapMenuBoolean = true; this.$store.state.mapMenuBoxFlag = '1'; this.$store.state.mapPopBoolean = false; this.$store.state.mapPopBoxFlag = null; this.$store.state.download = true; this.dialogMapVisible=true; this.showMapVisible=true; this.$store.state.mapMenuBoolean=true; this.$store.state.mapMenuBoxFlag='1'; this.$store.state.mapPopBoolean=false; this.$store.state.mapPopBoxFlag=null; this.$store.state.download=true; }, handleMaptClose() { this.dialogMapVisible = false; this.showMapVisible = false; this.$store.state.mapMenuBoolean = false; this.$store.state.mapMenuBoxFlag = null; this.$store.state.mapPopBoolean = false; this.$store.state.mapPopBoxFlag = false; this.$store.state.download = false; if (window.sgworld) { handleMaptClose () { this.dialogMapVisible=false; this.showMapVisible=false; this.$store.state.mapMenuBoolean=false; this.$store.state.mapMenuBoxFlag=null; this.$store.state.mapPopBoolean=false; this.$store.state.mapPopBoxFlag=false; this.$store.state.download=false; if(window.sgworld) { window.sgworld.Creator.SimpleGraphic.clear(); for (var i in this.$store.state.queryInfo) { for(var i in this.$store.state.queryInfo) { window.sgworld.Viewer.entities.remove(this.$store.state.queryInfo[i]); } } this.$store.state.queryInfo = []; if (this.$store.state.primitLayer != null) { this.$store.state.queryInfo=[]; if(this.$store.state.primitLayer!=null) { sgworld.Viewer.entities.remove(this.$store.state.primitLayer); sgworld.Creator.DeleteObject(this.$store.state.primitLayer); this.$store.state.primitLayer = null; this.$store.state.primitLayer=null; } }, downloadMap(index, rows) { var token = getToken() var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + rows.guid + "&pwd=" + rows.pwd; $("#downFrame").attr("src", url).click(); downloadMap (index,rows) { var token=getToken() var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+rows.guid+"&pwd="+rows.pwd; $("#downFrame").attr("src",url).click(); }, async getdownloadListData() { const data = await dataLib_selectPageCountForDownload(this.downloadPage); if (data.code != 200) { this.downloadListVisible = false; async getdownloadListData () { const data=await dataLib_selectPageCountForDownload(this.downloadPage); if(data.code!=200) { this.downloadListVisible=false; return this.$message.error('下载列表获取失败'); } this.downloadTableData = data.result; this.downloadTableData=data.result; this.downloadPage.count = data.count; this.downloadPage.count=data.count; }, downloadSizeChange(val) { this.downloadPage.pageIndex = 1; this.downloadPage.pageSize = val; downloadSizeChange (val) { this.downloadPage.pageIndex=1; this.downloadPage.pageSize=val; this.getdownloadListData(); }, downloadCurrentChange(val) { this.downloadPage.pageIndex = val; downloadCurrentChange (val) { this.downloadPage.pageIndex=val; this.getdownloadListData(); }, getdownloadList() { this.downloadPage = { getdownloadList () { this.downloadPage={ pageIndex: 1, pageSize: 10, count: 0, name: null, } this.downloadListVisible = true; this.downloadListVisible=true; this.getdownloadListData(); }, appendQueryFilter() { if (this.formSql.type == "date" || this.formSql.type == "datetime") { if (this.formSql.date == null) { appendQueryFilter () { if(this.formSql.type=="date"||this.formSql.type=="datetime") { if(this.formSql.date==null) { this.$message.error('请输入要查询的信息!'); return; } } else { if (this.formSql.value == "") { if(this.formSql.value=="") { this.$message.error('请输入要查询的信息!'); return; } } if (this.formInline.fileName != "") { this.formInline.fileName += " and "; if(this.formInline.fileName!="") { this.formInline.fileName+=" and "; } var val; if (this.formSql.type == "long" || this.formSql.type == "integer") { if(this.formSql.type=="long"||this.formSql.type=="integer") { val = parseInt(this.formSql.value); } else if (this.formSql.type == 'double') { val=parseInt(this.formSql.value); } else if(this.formSql.type=='double') { if (this.formSql.value.indexOf(".") != -1) { val = this.formSql.value; if(this.formSql.value.indexOf(".")!=-1) { val=this.formSql.value; } else { val = parseFloat(this.formSql.value).toFixed(1) val=parseFloat(this.formSql.value).toFixed(1) } } else if (this.formSql.type == "date" || this.formSql.type == "datetime") { var time = new Date(this.formSql.date); var m = time.getMonth() + 1; var d = time.getDate(); var y = time.getFullYear(); val = "'" + y + '-' + this.add0(m) + '-' + this.add0(d) + "'"; } else if(this.formSql.type=="date"||this.formSql.type=="datetime") { var time=new Date(this.formSql.date); var m=time.getMonth()+1; var d=time.getDate(); var y=time.getFullYear(); val="'"+y+ '-'+ this.add0(m)+ '-'+ this.add0(d)+"'"; } else { val = "'" + this.formSql.value + "'"; val="'"+this.formSql.value+"'"; } this.formInline.fileName += this.formSql.field + " " + this.formSql.condition + " " + val; this.formInline.fileName+=this.formSql.field+" "+this.formSql.condition+" "+val; this.startFiledAndcondition(); }, startFiledAndcondition() { this.conditionVisible = false; startFiledAndcondition () { this.conditionVisible=false; this.conditionChange(this.filedsOption[0]); this.formSql.value = ""; this.formSql.date = new Date(); this.formSql.value=""; this.formSql.date=new Date(); }, fieldChange(value) { var obj = {} obj = this.filedsOption.find(function (item) { return item.field === value; fieldChange (value) { var obj={} obj=this.filedsOption.find(function(item) { return item.field===value; }) this.conditionChange(obj) }, conditionChange(res) { this.formSql.field = res.field; this.formSql.type = res.type; if (res.type == "date" || res.type == "datetime") { this.fromSqlflag = true conditionChange (res) { this.formSql.field=res.field; this.formSql.type=res.type; if(res.type=="date"||res.type=="datetime") { this.fromSqlflag=true } else { this.fromSqlflag = false this.fromSqlflag=false } var std = []; this.condOption = []; if (res.type == 'text' || res.type == 'blob') { std = conditions[0] } else if (res.type == 'date' || res.type == 'datetime') { std = conditions[2] var std=[]; this.condOption=[]; if(res.type=='text'||res.type=='blob') { std=conditions[0] } else if(res.type=='date'||res.type=='datetime') { std=conditions[2] } else { std = conditions[1] std=conditions[1] } for (var i in std) { for(var i in std) { this.condOption.push({ label: std[i], value: std[i], }) } this.formSql.condition = this.condOption[0].value this.formSql.condition=this.condOption[0].value }, async download1() { if (this.codeForm.password == '' || this.codeForm.repassword == '') { async download1 () { if(this.codeForm.password==''||this.codeForm.repassword=='') { return this.$message.error('密码不能为空'); } if (this.codeForm.password != this.codeForm.repassword) { if(this.codeForm.password!=this.codeForm.repassword) { return; } var passwordreg = var passwordreg= /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; if (!passwordreg.test(this.codeForm.password)) { if(!passwordreg.test(this.codeForm.password)) { return; } var ids = []; var filter = null; this.downloadLogVisible = false; if (this.multipleSelection.length != 0) { for (var i in this.multipleSelection) { var ids=[]; var filter=null; this.downloadLogVisible=false; if(this.multipleSelection.length!=0) { for(var i in this.multipleSelection) { ids.push(this.multipleSelection[i].gid) } filter = null; filter=null; } else { filter = this.listBankData.filter; ids = null; filter=this.listBankData.filter; ids=null; } var obj = { var obj={ entities: [this.listBankData.name], // bpachydrogeology,bhydrogeologyattach filter: filter, ids: ids, @@ -2027,36 +1715,36 @@ depcode: this.listData.depcode, dirs: this.listData.dirs }; const data = await dataLib_selectDbOverflowDep(obj) if (data.code != 200) { const data=await dataLib_selectDbOverflowDep(obj) if(data.code!=200) { return } if (data.result.length == 0) { var that = this; if(data.result.length==0) { var that=this; $.ajax({ url: BASE_URL + "/dataLib/downloadDbData?token=" + getToken(), url: BASE_URL+"/dataLib/downloadDbData?token="+getToken(), type: "POST", data: JSON.stringify(obj), dataType: 'json', // html、json、jsonp、script、text contentType: "application/json", // "application/x-www-form-urlencoded" success: (data) => { if (data.code == 200) { that.downloadflie(data, this.codeForm.password) if(data.code==200) { that.downloadflie(data,this.codeForm.password) } }, error: function (e) { error: function(e) { } }); } else { var val = "" var std = []; for (var i in data.result) { if (val == "") { val += "codes=" + data.result[i] var val="" var std=[]; for(var i in data.result) { if(val=="") { val+="codes="+data.result[i] } else { val += "&codes=" + data.result[i] val+="&codes="+data.result[i] } std.push({ @@ -2064,60 +1752,60 @@ }) } const data1 = await dataLib_selectDepsByIds(val) this.ruleForm.depid = data1.result this.ruleForm.depname = std this.ruleForm.wkt = null this.ruleForm.tabs = [{ const data1=await dataLib_selectDepsByIds(val) this.ruleForm.depid=data1.result this.ruleForm.depname=std this.ruleForm.wkt=null this.ruleForm.tabs=[{ tabDesc: this.listBankData.title }] this.dialogInsertVisible = true this.dialogInsertVisible=true } // this.closeDown1(); }, downloadflie(data, pwd) { downloadflie (data,pwd) { var token = getToken() var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + data.result + "&pwd=" + encrypt.encrypt(pwd); $("#downFrame").attr("src", url).click(); this.loading = false; var token=getToken() var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+data.result+"&pwd="+encrypt.encrypt(pwd); $("#downFrame").attr("src",url).click(); this.loading=false; this.closeDownx(); this.closeDown1(); }, closeDown1() { this.downloadLogVisible = false; this.codeForm.password = ''; this.codeForm.repassword = ''; closeDown1 () { this.downloadLogVisible=false; this.codeForm.password=''; this.codeForm.repassword=''; }, //文件详情 showDetail(index, row) { var std = []; for (var i in this.attributeData) { showDetail (index,row) { var std=[]; for(var i in this.attributeData) { std.push({ label: this.attributeData[i].alias, value: row[this.attributeData[i].field], }); } this.itemdetail = std; this.itemDetailVisible = true; this.itemdetail=std; this.itemDetailVisible=true; }, async download() { if (this.codeForm.password == '' || this.codeForm.repassword == '') { async download () { if(this.codeForm.password==''||this.codeForm.repassword=='') { return this.$message.error('密码不能为空'); } if (this.codeForm.password != this.codeForm.repassword) { if(this.codeForm.password!=this.codeForm.repassword) { return; } var passwordreg = var passwordreg= /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; if (!passwordreg.test(this.codeForm.password)) { if(!passwordreg.test(this.codeForm.password)) { return; } this.passWorldVisible = false; var password = this.codeForm.repassword var std = []; var ids = []; for (var i in this.multipleSelection1) { this.passWorldVisible=false; var password=this.codeForm.repassword var std=[]; var ids=[]; for(var i in this.multipleSelection1) { std.push(this.multipleSelection1[i].id) ids.push(this.multipleSelection1[i].id) } @@ -2129,77 +1817,77 @@ var obj = { var obj={ ids: std, }; const data = await dataLib_selectMetaOverflowDep(obj) if (data.code != 200) { const data=await dataLib_selectMetaOverflowDep(obj) if(data.code!=200) { return } if (data.result.length == 0) { const res = await dataLib_downloadReq(JSON.stringify({ if(data.result.length==0) { const res=await dataLib_downloadReq(JSON.stringify({ pwd: encrypt.encrypt(password), ids: std })); if (res.code != 200) { if(res.code!=200) { this.$message.error('下载请求失败'); return } if (!res.result) { if(!res.result) { return } var downObj = { var downObj={ guid: res.result, pwd: encodeURIComponent(encrypt.encrypt(password)) } const data = await dataLib_selectDownloadFile(downObj) if (data.code != 200) { const data=await dataLib_selectDownloadFile(downObj) if(data.code!=200) { this.$message.error('下载请求失败'); return } var token = getToken() var url = BASE_URL + "/dataLib/downloadFile?token=" + token + "&guid=" + res.result + "&pwd=" + encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); $("#downFrame").attr("src", url).click(); var token=getToken() var url=BASE_URL+"/dataLib/downloadFile?token="+token+"&guid="+res.result+"&pwd="+encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); $("#downFrame").attr("src",url).click(); } else { var val = "" var std = []; for (var i in data.result) { if (val == "") { val += "codes=" + data.result[i] var val="" var std=[]; for(var i in data.result) { if(val=="") { val+="codes="+data.result[i] } else { val += "&codes=" + data.result[i] val+="&codes="+data.result[i] } std.push({ name: data.result[i], }) } const data1 = await dataLib_selectDepsByIds(val) if (data1.code != 200) { const data1=await dataLib_selectDepsByIds(val) if(data1.code!=200) { return } this.fileFrom.depid = data1.result this.fileFrom.ids = ids; this.fileFrom.pwd = encr(password); this.fileFrom.depcodes = data.result; this.dialogInsertFile = true; this.fileFrom.depid=data1.result this.fileFrom.ids=ids; this.fileFrom.pwd=encr(password); this.fileFrom.depcodes=data.result; this.dialogInsertFile=true; } this.monthdata.filter((res) => { return res.ischecked = false; return res.ischecked=false; }) this.multipleSelection1 = []; this.multipleSelection1=[]; }, closeDown() { this.passWorldVisible = false; this.codeForm.password = ''; this.codeForm.repassword = ''; closeDown () { this.passWorldVisible=false; this.codeForm.password=''; this.codeForm.repassword=''; }, async getFileInsertApply() { this.dialogInsertFile = false async getFileInsertApply () { this.dialogInsertFile=false var obj = { var obj={ ids: this.fileFrom.ids, pwd: this.fileFrom.pwd, tabs: ["元数据表"], @@ -2208,9 +1896,9 @@ depcodes: this.fileFrom.depcodes }; const data = await apply_insertApply(JSON.stringify(obj)) const data=await apply_insertApply(JSON.stringify(obj)) this.handleInsertFileClose(); if (data.code != 200) { if(data.code!=200) { this.$message.error("数据申请失败") return } @@ -2221,9 +1909,9 @@ }, handleInsertFileClose() { this.dialogInsertFile = false this.fileFrom = { handleInsertFileClose () { this.dialogInsertFile=false this.fileFrom={ descr: null, depid: null, ids: null, @@ -2234,20 +1922,20 @@ //文件下载 setCardDownload(res) { setCardDownload (res) { // this.multipleSelection1 = []; // this.multipleSelection1.push(res); if (this.multipleSelection1.length == 0) { if(this.multipleSelection1.length==0) { this.$message({ message: '请先选择要下载的文件', type: 'warning' }); return; } this.passWorldVisible = true; this.passWorldVisible=true; }, //重置 setQuerAllTablesRefresh() { setQuerAllTablesRefresh () { // this.formInline = { // fileName: "",//高级搜索 // dataType: "type2", //数据类型 @@ -2257,136 +1945,136 @@ // depName: null,//单位, // keywords: '', // } this.formInline.fileName = "";//高级搜索 this.formInline.category = [];//高级搜索 this.formInline.item = [];//高级搜索 this.formInline.depcode = null;//高级搜索 this.formInline.depName = null;//高级搜索 this.formInline.keywords = "";//高级搜索 this.formInline.fileName="";//高级搜索 this.formInline.category=[];//高级搜索 this.formInline.item=[];//高级搜索 this.formInline.depcode=null;//高级搜索 this.formInline.depName=null;//高级搜索 this.formInline.keywords="";//高级搜索 this.getAllTabesData(); }, handleSelectionChange(val) { this.multipleSelection = val; handleSelectionChange (val) { this.multipleSelection=val; }, //卡片详情点击事件 async setCardDetails(res) { switch (this.formInline.dataType) { async setCardDetails (res) { switch(this.formInline.dataType) { case "type1": this.getBankTableData(res); this.formInline.fileName = "" this.formInline.fileName="" break; case "type2": this.itemdetail1 = res this.showinfoBox1 = true; this.itemdetail1=res this.showinfoBox1=true; break; } }, //获取数据库数据js getBankTableData(res) { this.listBankData.name = res.entity; this.listBankData.pageIndex = 1; this.listBankData.pageSize = 10; this.listBankData.title = res.tabDesc; this.upAttach.tabName = res.ns + "." + res.tab; this.filedsLayer = this.getBankTableFiled(); getBankTableData (res) { this.listBankData.name=res.entity; this.listBankData.pageIndex=1; this.listBankData.pageSize=10; this.listBankData.title=res.tabDesc; this.upAttach.tabName=res.ns+"."+res.tab; this.filedsLayer=this.getBankTableFiled(); this.getCollapseTable(this.filedsLayer); }, async getCollapseTable(res) { async getCollapseTable (res) { res.then((val) => { this.attributeData = val; this.attributeData=val; }); if (this.formInline.fileName != "") { this.listBankData.filter = this.formInline.fileName; if(this.formInline.fileName!="") { this.listBankData.filter=this.formInline.fileName; } else { this.listBankData.filter = null; this.listBankData.filter=null; } this.listBankData.dirs = ""; if (this.formInline.category.length != 0) { this.listBankData.dirs += this.formInline.category.toString(); this.listBankData.dirs=""; if(this.formInline.category.length!=0) { this.listBankData.dirs+=this.formInline.category.toString(); } if (this.formInline.item.length != 0) { if (this.listBankData.dirs.length != 0) { this.listBankData.dirs += "," if(this.formInline.item.length!=0) { if(this.listBankData.dirs.length!=0) { this.listBankData.dirs+="," } this.listBankData.dirs += this.formInline.item.toString(); this.listBankData.dirs+=this.formInline.item.toString(); } this.listBankData.depcode = this.listData.depcode; const data = await dataLib_selectByPage(this.listBankData); if (data.code != 200) { this.listBankData.depcode=this.listData.depcode; const data=await dataLib_selectByPage(this.listBankData); if(data.code!=200) { this.$message.error('调用列表失败,请联系工作人员!'); return; } var res_val = this.attributeData; var res_val=this.attributeData; for (var i in data.result) { let val_Data = data.result[i]; for(var i in data.result) { let val_Data=data.result[i]; for (var j in res_val) { if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) { val_Data[res_val[j].field] = res_val[j].domainNa; for(var j in res_val) { if(res_val[j].domainNa!=null&&res_val[j].domainNa!=undefined) { val_Data[res_val[j].field]=res_val[j].domainNa; } } } for (var i in data.result) { for(var i in data.result) { if (data.result[i].createtime) { data.result[i].createtime = this.format(data.result[i].createtime) if(data.result[i].createtime) { data.result[i].createtime=this.format(data.result[i].createtime) } if (data.result[i].updatetime) { data.result[i].updatetime = this.format(data.result[i].updatetime) if(data.result[i].updatetime) { data.result[i].updatetime=this.format(data.result[i].updatetime) } data.result[i].createuser = data.result[i].createName data.result[i].updateuser = data.result[i].updateName if (data.result[i].verName) { data.result[i].verid = data.result[i].verName data.result[i].createuser=data.result[i].createName data.result[i].updateuser=data.result[i].updateName if(data.result[i].verName) { data.result[i].verid=data.result[i].verName } if (data.result[i].depName) { data.result[i].depid = data.result[i].depName if(data.result[i].depName) { data.result[i].depid=data.result[i].depName } if (data.result[i].dirName) { data.result[i].dirid = data.result[i].dirName if(data.result[i].dirName) { data.result[i].dirid=data.result[i].dirName } } this.listBankData.count = data.count; this.listBankData.count=data.count; this.tableData = data.result; this.tableData=data.result; this.dialogVisible = true; this.dialogVisible=true; }, //获取数据表字段信息 async getBankTableFiled() { const fileds = await dataLib_selectFields({ async getBankTableFiled () { const fileds=await dataLib_selectFields({ name: this.listBankData.name, }); if (fileds.code != 200) { if(fileds.code!=200) { this.$message.error('列表调用失败'); return; } const domains = await dataLib_selectDomains({ const domains=await dataLib_selectDomains({ name: this.listBankData.name, }); if (domains.code != 200) { if(domains.code!=200) { this.$message.error('列表调用失败'); return; } var data1 = fileds.result; var data2 = domains.result; this.formInline.fileName = "" var std = []; this.filedsOption = []; for (var i in data1) { var data1=fileds.result; var data2=domains.result; this.formInline.fileName="" var std=[]; this.filedsOption=[]; for(var i in data1) { if (data1[i].type != 'geometry' && data1[i].type != 'null') { if(data1[i].type!='geometry'&&data1[i].type!='null') { this.filedsOption.push(data1[i]) } if (data1[i].showtype == 1) { if (data1[i].domainNa != null) { data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2); if(data1[i].showtype==1) { if(data1[i].domainNa!=null) { data1[i].domainNa=this.getDomainNaFild(data1[i].domainNa,data2); } std.push(data1[i]); } @@ -2396,118 +2084,118 @@ return std; }, //值域字段匹配 getDomainNaFild(res, result) { for (var i in result) { if (result[i].domName == res) { getDomainNaFild (res,result) { for(var i in result) { if(result[i].domName==res) { return result[i].codeDesc; } } return null; }, startFiledAndcondition() { this.conditionVisible = false; startFiledAndcondition () { this.conditionVisible=false; this.conditionChange(this.filedsOption[0]); this.formSql.value = ""; this.formSql.date = new Date(); this.formSql.value=""; this.formSql.date=new Date(); }, conditionChange(res) { this.formSql.field = res.field; this.formSql.type = res.type; if (res.type == "date" || res.type == "datetime") { this.fromSqlflag = true conditionChange (res) { this.formSql.field=res.field; this.formSql.type=res.type; if(res.type=="date"||res.type=="datetime") { this.fromSqlflag=true } else { this.fromSqlflag = false this.fromSqlflag=false } var std = []; this.condOption = []; if (res.type == 'text' || res.type == 'blob') { std = conditions[0] } else if (res.type == 'date' || res.type == 'datetime') { std = conditions[2] var std=[]; this.condOption=[]; if(res.type=='text'||res.type=='blob') { std=conditions[0] } else if(res.type=='date'||res.type=='datetime') { std=conditions[2] } else { std = conditions[1] std=conditions[1] } for (var i in std) { for(var i in std) { this.condOption.push({ label: std[i], value: std[i], }) } this.formSql.condition = this.condOption[0].value this.formSql.condition=this.condOption[0].value }, //存储类型切换 setDataTypeChange() { this.listData.pageIndex = 1; this.listData.pageSize = 10; setDataTypeChange () { this.listData.pageIndex=1; this.listData.pageSize=10; this.getAllTabesData(); }, //卡片折叠效果 setCardChange(res) { res.isShow = !res.isShow setCardChange (res) { res.isShow=!res.isShow }, //格式化时间 format(shijianchuo) { format (shijianchuo) { //shijianchuo是整数,否则要parseInt转换 var time = new Date(shijianchuo); var y = time.getFullYear(); var m = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); var time=new Date(shijianchuo); var y=time.getFullYear(); var m=time.getMonth()+1; var d=time.getDate(); var h=time.getHours(); var mm=time.getMinutes(); var s=time.getSeconds(); return ( y + '-' + this.add0(m) + '-' + this.add0(d) + ' ' + h + ':' + mm + ':' + y+ '-'+ this.add0(m)+ '-'+ this.add0(d)+ ' '+ h+ ':'+ mm+ ':'+ s ); }, //格式化时间 add0(m) { return m < 10 ? '0' + m : m; add0 (m) { return m<10? '0'+m:m; }, //格式化列表 formatData(row, column) { let data = row[column.property]; if (data == null) { formatData (row,column) { let data=row[column.property]; if(data==null) { return data; } return this.format(data); }, //格式化时间 add0(m) { return m < 10 ? '0' + m : m; add0 (m) { return m<10? '0'+m:m; }, statSizeChange(row, column) { statSizeChange (row,column) { return this.stateFormatSizes(row.sizes) }, stateFormatSizes(res) { if (res >= 1024) { const val = parseFloat(res / 1024).toFixed(3); return val + ' GB'; stateFormatSizes (res) { if(res>=1024) { const val=parseFloat(res/1024).toFixed(3); return val+' GB'; } else { return res + ' MB'; return res+' MB'; } }, setInfoBoxTime(res) { if (res == null) { setInfoBoxTime (res) { if(res==null) { return res; } return this.format(res); }, handleSizeChange(val) { this.listData.pageIndex = 1; this.listData.pageSize = val; switch (this.formInline.dataType) { handleSizeChange (val) { this.listData.pageIndex=1; this.listData.pageSize=val; switch(this.formInline.dataType) { case "type2"://文件数据 this.getQueryFileData(); break; @@ -2517,9 +2205,9 @@ } }, handleCurrentChange(val) { this.listData.pageIndex = val; switch (this.formInline.dataType) { handleCurrentChange (val) { this.listData.pageIndex=val; switch(this.formInline.dataType) { case "type2"://文件数据 this.getQueryFileData(); break; @@ -2529,135 +2217,135 @@ } }, // 关键字查询 submitForm() { this.listBankData.pageIndex = 1; this.listBankData.pageSize = 10; submitForm () { this.listBankData.pageIndex=1; this.listBankData.pageSize=10; //获取table信息 this.getCollapseTable(this.filedsLayer); }, // 重置查询 resetForm() { this.formInline.fileName = "" resetForm () { this.formInline.fileName="" //获取table信息 this.listBankData.pageIndex = 1; this.listBankData.pageSize = 10; this.listBankData.pageIndex=1; this.listBankData.pageSize=10; //获取table信息 this.getCollapseTable(this.filedsLayer); }, handleSizeChange1(val) { handleSizeChange1 (val) { this.listBankData.pageIndex = 1; this.listBankData.pageSize = val; this.listBankData.pageIndex=1; this.listBankData.pageSize=val; //获取table信息 this.getCollapseTable(this.filedsLayer); }, handleCurrentChange1(val) { handleCurrentChange1 (val) { // 将div的滚动条复位到顶部 this.listBankData.pageIndex = val; this.listBankData.pageIndex=val; //获取table信息 this.getCollapseTable(this.filedsLayer); }, //查询数据库数据 async getQueryBankData() { this.listData.dirs = ""; this.listData.types = "" if (this.formInline.category.length != 0) { this.listData.dirs += this.formInline.category.toString(); async getQueryBankData () { this.listData.dirs=""; this.listData.types="" if(this.formInline.category.length!=0) { this.listData.dirs+=this.formInline.category.toString(); } var val_data = this.formInline.category; var data_type = [] if (val_data.length > 0) { for (var i in val_data) { for (var j in this.categoryOptions) { if (this.categoryOptions[j].key == val_data[i]) { var val_data=this.formInline.category; var data_type=[] if(val_data.length>0) { for(var i in val_data) { for(var j in this.categoryOptions) { if(this.categoryOptions[j].key==val_data[i]) { data_type.push(this.categoryOptions[j].value) } } } } if (this.formInline.item.length != 0) { if (this.listData.dirs.length != 0) { this.listData.dirs += "," if(this.formInline.item.length!=0) { if(this.listData.dirs.length!=0) { this.listData.dirs+="," } this.listData.dirs += this.formInline.item.toString(); this.listData.dirs+=this.formInline.item.toString(); } this.listData.depcode = this.formInline.depcode; this.listData.tab = this.formInline.keywords; this.listData.depcode=this.formInline.depcode; this.listData.tab=this.formInline.keywords; this.listData.types = data_type.toString(); const data = await dataLib_selectTabs(this.listData); if (data.code != 200) { this.listData.types=data_type.toString(); const data=await dataLib_selectTabs(this.listData); if(data.code!=200) { this.$message.error('数据库列表调用失败'); return; } var val = data.result; if (val) { val = val.filter((res) => { res.mold = "数据库" res.isShow = false var val=data.result; if(val) { val=val.filter((res) => { res.mold="数据库" res.isShow=false return res; }) this.listData.count = data.count; this.monthdata = data.result; this.listData.count=data.count; this.monthdata=data.result; } else { this.listData.count = 0; this.monthdata = []; this.listData.count=0; this.monthdata=[]; } }, //查询文件数据 async getQueryFileData() { this.listData.dirs = ""; async getQueryFileData () { this.listData.dirs=""; if (this.formInline.category.length != 0) { this.listData.dirs += this.formInline.category.toString(); if(this.formInline.category.length!=0) { this.listData.dirs+=this.formInline.category.toString(); } if (this.formInline.item.length != 0) { if (this.listData.dirs.length != 0) { this.listData.dirs += "," if(this.formInline.item.length!=0) { if(this.listData.dirs.length!=0) { this.listData.dirs+="," } this.listData.dirs += this.formInline.item.toString(); this.listData.dirs+=this.formInline.item.toString(); } this.listData.depcode = this.formInline.depcode; this.listData.name = this.formInline.keywords; const data = await dataLib_selectByPageForMeta(this.listData); if (data.code != 200) { this.listData.depcode=this.formInline.depcode; this.listData.name=this.formInline.keywords; const data=await dataLib_selectByPageForMeta(this.listData); if(data.code!=200) { this.$message.error('文件数据列表调用失败'); } var val = data.result; if (val) { val = val.filter((res) => { var type = "." + res.type; res.name = res.name.replaceAll(type, "") res.mold = "文件"; res.isShow = false; res.ischecked = false; var val=data.result; if(val) { val=val.filter((res) => { var type="."+res.type; res.name=res.name.replaceAll(type,"") res.mold="文件"; res.isShow=false; res.ischecked=false; return res; }) this.monthdata = val; this.listData.count = data.count; this.monthdata=val; this.listData.count=data.count; } else { this.monthdata = []; this.listData.count = 0; this.monthdata=[]; this.listData.count=0; } }, //查询数据 getAllTabesData() { this.listData.pageIndex = 1; this.listData.pageSize = 10; switch (this.formInline.dataType) { getAllTabesData () { this.listData.pageIndex=1; this.listData.pageSize=10; switch(this.formInline.dataType) { case "type2"://文件数据 this.getQueryFileData(); @@ -2668,68 +2356,68 @@ } }, //项目名称数据 async getItemSelectData() { const data = await dataLib_selectProject();//查询项目名称 if (data.code != 200) { async getItemSelectData () { const data=await dataLib_selectProject();//查询项目名称 if(data.code!=200) { this.$message.error('项目名称列表调用失败'); } this.itemOptions = data.result; this.itemOptions=data.result; }, //获取资料类别数据 async getCategorySelectData() { const data = await dataLib_selectDirTypes(); if (data.code != 200) { async getCategorySelectData () { const data=await dataLib_selectDirTypes(); if(data.code!=200) { this.$message.error('资料类别列表调用失败'); } this.categoryOptions = data.result; this.categoryOptions=data.result; }, //关键字查询 setSearchKeyWords() { setSearchKeyWords () { this.getAllTabesData(); }, //单位改变值触发 depChange(data, node, nodeData) { this.formInline.depcode = data.code; this.formInline.depName = data.name; depChange (data,node,nodeData) { this.formInline.depcode=data.code; this.formInline.depName=data.name; this.getAllTabesData(); }, //资料类别下拉框值改变触发 categorySelectChange(model, prop, options) { categorySelectChange (model,prop,options) { this.getAllTabesData(); }, // 项目名称下拉框值改变触发 itemSelectChange(model, prop, options) { itemSelectChange (model,prop,options) { this.getAllTabesData(); }, //获取单位列表 async getDepTreeData() { const data = await selectdepTab(); if (data.code != 200) { async getDepTreeData () { const data=await selectdepTab(); if(data.code!=200) { return this.$message.error('单位列表获取失败'); } this.depOption = this.treeData(data.result); this.depOption=this.treeData(data.result); // this.formInline.depcode = this.depOption[0].code // this.formInline.depName = this.depOption[0].name; this.getAllTabesData(); }, //树列表生成 treeData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 treeData (source) { let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 return cloneData.filter((father) => { // 循环所有项 let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 return father.pid == 0; // 返回一级菜单 let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据 branchArr.length>0? (father.children=branchArr):""; // 给父级添加一个children属性,并赋值 return father.pid==0; // 返回一级菜单 }); }, async signGetPublicKey() { const res = await sign_getPublicKey(); if (res && res.code == 200) { window.encrypt = new JSEncrypt(); async signGetPublicKey () { const res=await sign_getPublicKey(); if(res&&res.code==200) { window.encrypt=new JSEncrypt(); encrypt.setPublicKey(res.result); } }, src/views/datamanage/SpatialData.vue
@@ -6,48 +6,38 @@ ]"></My-bread> <el-divider /> <div class="spatialContent "> <div class="spatial_leftTree subpage_Div " style="border: 1px solid #dcdfe6;" > <el-input size="small" v-model="filterText" style="width:220px;" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')" suffix-icon="el-icon-search" ></el-input> <div class="spatial_leftTree subpage_Div " style="border: 1px solid #dcdfe6;"> <el-input size="small" v-model="filterText" style="width:220px;" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valuedataName')" suffix-icon="el-icon-search"></el-input> <div style="width:300px"> <el-tree :data="tree" :props="defaultProps" node-key="id" :current-node-key="10" @node-click="handleNodeClick" :filter-node-method="filterNode" ref="tree" ></el-tree> <el-tree :data="tree" :props="defaultProps" node-key="id" :current-node-key="10" @node-click="handleNodeClick" :filter-node-method="filterNode" ref="tree"></el-tree> </div> </div> <div class="contentshuju"> <div class="contentshujutou"> <el-form ref="ruleForm" :model="ruleForm" :inline="true" > <el-form ref="ruleForm" :model="ruleForm" :inline="true"> <el-form-item> <!-- type="textarea" disabled--> <el-input v-model="ruleForm.fileName" size="small" :rows="2" style="width: 300px;" disabled :placeholder="$t('shuJuGuanLi.shuJuJianSuo.label')" > <el-input v-model="ruleForm.fileName" size="small" :rows="2" style="width: 300px;" disabled :placeholder="$t('shuJuGuanLi.shuJuJianSuo.label')"> <!-- <i slot="suffix" class="el-icon-search" @@ -58,22 +48,18 @@ </el-form-item> <el-form-item> <el-button @click="conditionVisible = true" size="small" type="success" icon="el-icon-plus" >{{$t('common.lable6')}}</el-button> <el-button @click="conditionVisible = true" size="small" type="success" icon="el-icon-plus">{{$t('common.lable6')}}</el-button> </el-form-item> <el-form-item style="float: right"> <el-button @click="resetForm" type="info" size="small" icon="el-icon-refresh" >{{$t('common.reset')}}</el-button> <el-button @click="resetForm" type="info" size="small" icon="el-icon-refresh">{{$t('common.reset')}}</el-button> </el-form-item> <!-- <el-form-item style="float: right"> @@ -97,12 +83,10 @@ </el-form-item>--> <el-form-item style="float: right"> <el-button @click="getSpaceMapVisibale" size="small" type="primary" icon="el-icon-search" >{{ <el-button @click="getSpaceMapVisibale" size="small" type="primary" icon="el-icon-search">{{ $t('synthesis.rangequery') }}</el-button> </el-form-item> @@ -110,61 +94,45 @@ </el-form> </div> <div class="dividing-line"></div> <div class="table_box" style="height:calc(100% - 130px); " > <div class="table_box" style="height:calc(100% - 130px); "> <!-- border--> <!-- ref="filterTable"--> <!-- :data="tableData"--> <!-- style="width: 100%"--> <!-- height="calc(100% - 57px)"--> <!-- :header-cell-style="{background:'#e6eaee',color:'#181818', 'text-align': 'center'} "--> <el-table ref="refTableData" :data="tableData" style="width: 100% ;" border height="100%" > <el-table-column type="selection" width="20" align="center" /> <el-table ref="refTableData" :data="tableData" style="width: 100% ;" border height="100%"> <el-table-column type="selection" width="20" align="center" /> <!-- :label="item.alias"--> <el-table-column min-width="135" v-for="(item, index) in attributeData" :key="index" :label="$i18n.locale == 'zh' ? item.alias : item.field" :prop="item.field" show-overflow-tooltip align="center" ></el-table-column> <el-table-column min-width="240" :label="$t('common.operate')" > <el-table-column min-width="135" v-for="(item, index) in attributeData" :key="index" :label="$i18n.locale == 'zh' ? item.alias : item.field" :prop="item.field" show-overflow-tooltip align="center"></el-table-column> <el-table-column min-width="240" :label="$t('common.operate')"> <template slot-scope="scope"> <el-button type="primary" plain size="small" @click="showDetail(scope.$index, scope.row)" >{{$t('common.details')}}</el-button> <el-button plain size="small" @click="getAttachTable(scope.$index, scope.row)" >{{$t('common.enclosure')}}</el-button> <el-button plain size="small" type="info" v-if="matchState1(scope, /[]/)" @click="getAttributeTable(scope.$index, scope.row)" >{{$t('common.attribute')}}</el-button> <el-button type="primary" plain size="small" @click="showDetail(scope.$index, scope.row)">{{$t('common.details')}}</el-button> <el-button plain size="small" @click="getAttachTable(scope.$index, scope.row)">{{$t('common.enclosure')}}</el-button> <el-button plain size="small" type="info" v-if="matchState1(scope, /[]/)" @click="getAttributeTable(scope.$index, scope.row)">{{$t('common.attribute')}}</el-button> </template> </el-table-column> </el-table> @@ -172,37 +140,29 @@ </div> <div class="pagination_box"> <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="count" > <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="count"> </el-pagination> </div> </div> </div> <div class="infoBox_box" v-show="showinfoBox" > <div class="infoBox_box" v-show="showinfoBox"> <div class="infoBox box_div"> <div slot="header" class="clearfix" > <div slot="header" class="clearfix"> <span>{{$t('common.details')}}</span> <div style="float: right; cursor: pointer" @click="closeDetial" > <div style="float: right; cursor: pointer" @click="closeDetial"> <i class="el-icon-close"></i> </div> <el-divider></el-divider> @@ -221,275 +181,201 @@ </div> </div> <el-dialog :title="$t('common.attachinform')" :visible.sync="dialogFormVisible" > <el-dialog :title="$t('common.attachinform')" :visible.sync="dialogFormVisible"> <div style="height:68vh"> <el-form :model="formInline" class="demo-form-inline" label-position="top" > <el-form :model="formInline" class="demo-form-inline" label-position="top"> <el-form-item> <el-input v-model="formInline.file" style="width: 300px; margin-right: 20px" :placeholder="$t('common.choose')" disabled ></el-input> <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none" @change="insertFile( )" /> <el-link @click="getInsertFile( )" :underline="false" ><i class="el-icon-folder-opened"></i></el-link> <el-input v-model="formInline.file" style="width: 300px; margin-right: 20px" :placeholder="$t('common.choose')" disabled></el-input> <input name="file1" type="file" id="insertFile" multiple="multiple" style="display: none" @change="insertFile( )" /> <el-link @click="getInsertFile( )" :underline="false"><i class="el-icon-folder-opened"></i></el-link> </el-form-item> <el-form-item> <el-row> <el-col :span="3"> <el-link v-if="btnStatus.insert" class="elLink" :underline="false" @click="setAttachInsert" >{{$t('common.append')}}</el-link> <el-link v-if="btnStatus.insert" class="elLink" :underline="false" @click="setAttachInsert">{{$t('common.append')}}</el-link> </el-col> <el-col :span="3"> <el-link v-if="btnStatus.delete" class="elLink" :underline="false" @click="setAttachDel" >{{$t('common.delete')}}</el-link> <el-link v-if="btnStatus.delete" class="elLink" :underline="false" @click="setAttachDel">{{$t('common.delete')}}</el-link> </el-col> <!-- <el-col :span="3"> <el-link class="elLink" :underline="false" >{{$t('common.reset')}}</i></el-link></el-col> --> </el-row> </el-form-item> </el-form> <el-table :data="tableAttach" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%" @selection-change="handleAttatchChange" > <el-table-column type="selection" width="70" /> <el-table-column width="60" type="index" :label="$t('common.index')" /> <el-table-column prop="name" :label="$t('common.fileNme')" /> <el-table :data="tableAttach" ref="filterTable" height="calc(100% - 130px)" border style="width: 100%" @selection-change="handleAttatchChange"> <el-table-column type="selection" width="70" /> <el-table-column width="60" type="index" :label="$t('common.index')" /> <el-table-column prop="name" :label="$t('common.fileNme')" /> <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" /> <el-table-column align="center" :label="$t('common.operate')" min-width="100" > <el-table-column prop="sizes" :label="$t('common.size')" :formatter="statSizeChange" /> <el-table-column align="center" :label="$t('common.operate')" min-width="100"> <template slot-scope="scope"> <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)" class="elLink" >{{ $t('common.see') }}</el-link> <el-link v-if="matchState(scope, /[]/)" @click="setAttatchDetail(scope.$index, scope.row)" class="elLink">{{ $t('common.see') }}</el-link> </template> </el-table-column> </el-table> </div> </el-dialog> <el-dialog :visible.sync="conditionVisible" title="高级查询" :before-close="handleconditionClose" width="44%" > <el-dialog :visible.sync="conditionVisible" title="高级查询" :before-close="handleconditionClose" width="44%"> <el-form :inline="true" :model="formSql" class="demo-form-inline" label-position="top" > <el-form :inline="true" :model="formSql" class="demo-form-inline" label-position="top"> <el-form-item> <el-select @change="fieldChange($event)" v-model="formSql.field" :popper-append-to-body="false" > <el-option v-for="item in filedsOption" :key="item.field" :label="item.alias" :value="item.field" > <el-select @change="fieldChange($event)" v-model="formSql.field" :popper-append-to-body="false"> <el-option v-for="item in filedsOption" :key="item.field" :label="item.alias" :value="item.field"> </el-option> </el-select> </el-form-item> <el-form-item> <el-select :popper-append-to-body="false" v-model="formSql.condition" > <el-option v-for="item in condOption" :key="item.value" :label="item.label" :value="item.value" > <el-select :popper-append-to-body="false" v-model="formSql.condition"> <el-option v-for="item in condOption" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <el-form-item v-show="!fromSqlflag"> <el-input v-model="formSql.value" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.queryContent')" ></el-input> <el-input v-model="formSql.value" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.queryContent')"></el-input> </el-form-item> <el-form-item v-show="fromSqlflag"> <el-date-picker v-model="formSql.date" type="date" placeholder="选择日期" value-format="yyyy-MM-dd" > <el-date-picker v-model="formSql.date" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker> </el-form-item> </el-form> <span slot="footer" class="dialog-footer" > <el-button size="small" @click="startFiledAndcondition" >取 消</el-button> <el-button class="primaries" size="small" @click="appendQueryFilter" >确 定</el-button> <span slot="footer" class="dialog-footer"> <el-button size="small" @click="startFiledAndcondition">取 消</el-button> <el-button class="primaries" size="small" @click="appendQueryFilter">确 定</el-button> </span> </el-dialog> <el-dialog :title=" $t('synthesis.rangequery')" :visible.sync="dialogMapVisible" width="90%" top="10vh" :before-close="handleMapClose" > <el-dialog :title=" $t('synthesis.rangequery')" :visible.sync="dialogMapVisible" width="90%" top="10vh" :before-close="handleMapClose"> <div style="height:700px"> <map-sdk v-if='showMapVisible'></map-sdk> </div> </el-dialog> <el-dialog title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" :close-on-click-modal="false" > <div v-if="dialog.isPdf" class="pdfClass" > <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%" > <el-dialog title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" :close-on-click-modal="false"> <div v-if="dialog.isPdf" class="pdfClass"> <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%"> </iframe> </div> <div v-if="dialog.isJpg" class="pdfClass" > <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]" > <div v-if="dialog.isJpg" class="pdfClass"> <el-image style="width:100%; height:100%" :src="dialog.src" :preview-src-list="[dialog.src]"> </el-image> </div> </el-dialog> <el-dialog :title="attribute.title" :append-to-body="false" :visible.sync="AttributedialogVisible" width="80%" :close-on-click-modal="false" > <el-dialog :title="attribute.title" :append-to-body="false" :visible.sync="AttributedialogVisible" width="80%" :close-on-click-modal="false"> <div class="attributeBox"> <div class="attrubuteLeft"> <ul> <li v-for="item in attrbuteOption" :class="{active:attributeFlag === item.name}" @click="setChangeAttrubuteData(item)" > <li v-for="item in attrbuteOption" :class="{active:attributeFlag === item.name}" @click="setChangeAttrubuteData(item)"> {{item.name}} </li> </ul> </div> <div class="attrubuteRight"> <el-table ref="refAttributeTable" :data="attributeTable" style="width:100%;" border height="calc(100% - 50px)" > <el-table-column type="selection" align="center" /> <el-table ref="refAttributeTable" :data="attributeTable" style="width:100%;" border height="calc(100% - 50px)"> <el-table-column type="selection" align="center" /> <el-table-column min-width="135" v-for="(item, index) in attributeFild" :key="index" :label="item.alias" :prop="item.field" show-overflow-tooltip align="center" ></el-table-column> <el-table-column min-width="135" v-for="(item, index) in attributeFild" :key="index" :label="item.alias" :prop="item.field" show-overflow-tooltip align="center"></el-table-column> </el-table> <div class="pagination_box"> <el-pagination @size-change="attributeSizeChange" @current-change="attributeCurrentChange" :current-page="attribute.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="attribute.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="attribute.count" > <el-pagination @size-change="attributeSizeChange" @current-change="attributeCurrentChange" :current-page="attribute.pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="attribute.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="attribute.count"> </el-pagination> </div> </div> @@ -523,8 +409,8 @@ export default { //import引入的组件需要注入到对象中才能使用 name: "dataSearch", components: { MyBread, catalogueTree, MapSdk }, data() { components: { MyBread,catalogueTree,MapSdk }, data () { return { attachtable: [ "b_pac_geologic_hazard", @@ -634,84 +520,84 @@ attributeFild: null, }; }, created() { created () { // this.getSPData(10, 1, ""); // this.getSPCount(""); this.showPermsBtn(); this.getTreeDataAll(); }, watch: { filterText(val) { filterText (val) { this.$refs.tree.filter(val); }, }, methods: { //分页点击事件 attributeSizeChange(val) { this.attribute.pageSize = val; this.attribute.pageIndex = 1; attributeSizeChange (val) { this.attribute.pageSize=val; this.attribute.pageIndex=1; //获取table信息 this.setAttributeTableData(this.attributeLayer); }, attributeCurrentChange(val) { this.attribute.pageIndex = val; attributeCurrentChange (val) { this.attribute.pageIndex=val; //获取table信息 this.setAttributeTableData(this.attributeLayer); }, getAttributeTable(idnex, row) { this.attribute.title = row.workname; this.attrbuteOption = workSite; getAttributeTable (idnex,row) { this.attribute.title=row.workname; this.attrbuteOption=workSite; this.AttributedialogVisible = true; this.AttributedialogVisible=true; this.setChangeAttrubuteData(this.attrbuteOption[0]) }, setChangeAttrubuteData(res) { this.attributeFlag = res.name; this.attribute.pageIndex = 1; this.attribute.pageSize = 10; this.attribute.count = 0; this.attributeLayer = res; setChangeAttrubuteData (res) { this.attributeFlag=res.name; this.attribute.pageIndex=1; this.attribute.pageSize=10; this.attribute.count=0; this.attributeLayer=res; this.setAttributeTableData(res) }, setAttributeTableData(res) { var name = res.table.replaceAll("_", ""); this.attribute.name = name; var value = this.getAttributeDomFiled(name) this.getAttributeTableData(value, res) setAttributeTableData (res) { var name=res.table.replaceAll("_",""); this.attribute.name=name; var value=this.getAttributeDomFiled(name) this.getAttributeTableData(value,res) }, //获取每个表字段名称及阈值 async getAttributeDomFiled(res) { async getAttributeDomFiled (res) { //查询字段信息; const fileds = await dataQuery_selectFields({ const fileds=await dataQuery_selectFields({ name: res, }); if (fileds.code != 200) { if(fileds.code!=200) { this.$message.error("调用列表失败,请联系工作人员!"); return; } //查询阈值信息; const domains = await dataQuery_selectDomains({ const domains=await dataQuery_selectDomains({ name: res, }); if (domains.code != 200) { if(domains.code!=200) { this.$message.error("调用列表失败,请联系工作人员!"); return; } var data1 = fileds.result; var data2 = domains.result; var std = []; this.filedsOption = []; for (var i in data1) { if (data1[i].type != 'geometry' && data1[i].type) { var data1=fileds.result; var data2=domains.result; var std=[]; this.filedsOption=[]; for(var i in data1) { if(data1[i].type!='geometry'&&data1[i].type) { this.filedsOption.push(data1[i]); } if (data1[i].showtype == 1) { if (data1[i].domainNa != null) { data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2); if(data1[i].showtype==1) { if(data1[i].domainNa!=null) { data1[i].domainNa=this.getDomainNaFild(data1[i].domainNa,data2); } std.push(data1[i]); } @@ -720,34 +606,34 @@ }, //获取表格信息 async getAttributeTableData(res, result) { async getAttributeTableData (res,result) { res.then((val) => { this.attributeFild = val; this.attributeFild=val; }); this.attribute.filter = "workname = " + "'" + this.attribute.title + "'"; this.attribute.filter="workname = "+"'"+this.attribute.title+"'"; const data = await dataQuery_selectByPage(this.attribute); if (data.code != 200) { const data=await dataQuery_selectByPage(this.attribute); if(data.code!=200) { this.$message.error("调用列表失败,请联系工作人员!"); return; } this.attributeTable = [] var res_val = this.attributeFild; this.attribute.count = data.count; for (var i in data.result) { let val_Data = data.result[i]; this.attributeTable=[] var res_val=this.attributeFild; this.attribute.count=data.count; for(var i in data.result) { let val_Data=data.result[i]; for (var j in res_val) { if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) { for(var j in res_val) { if(res_val[j].domainNa!=null&&res_val[j].domainNa!=undefined) { val_Data[res_val[j].field] = res_val[j].domainNa; val_Data[res_val[j].field]=res_val[j].domainNa; } } } this.attributeTable = data.result; this.attributeTable=data.result; this.$nextTick(() => { this.$resfs.refAttributeTable.doLayout() }); @@ -756,108 +642,108 @@ matchState1(state = "", reg) { var row = state.row; if ( this.listData.name == "ssurveyworksite" matchState1 (state="",reg) { var row=state.row; if( this.listData.name=="ssurveyworksite" ) { return true; } return false; }, statSizeChange(row, column) { statSizeChange (row,column) { return this.stateFormatSizes(row.sizes) }, stateFormatSizes(res) { if (res >= 1024) { const val = parseFloat(res / 1024).toFixed(3); return val + ' GB'; stateFormatSizes (res) { if(res>=1024) { const val=parseFloat(res/1024).toFixed(3); return val+' GB'; } else { return res + ' MB'; return res+' MB'; } }, filterNode(value, data) { if (!value) return true; return data.label.indexOf(value) !== -1; filterNode (value,data) { if(!value) return true; return data.label.indexOf(value)!==-1; }, getSpaceMapVisibale() { this.dialogMapVisible = true; this.showMapVisible = true; this.$store.state.mapMenuBoolean = true; this.$store.state.mapMenuBoxFlag = "1"; this.$store.state.mapPopBoolean = false; this.$store.state.mapPopBoxFlag = null; this.$store.state.download = true; getSpaceMapVisibale () { this.dialogMapVisible=true; this.showMapVisible=true; this.$store.state.mapMenuBoolean=true; this.$store.state.mapMenuBoxFlag="1"; this.$store.state.mapPopBoolean=false; this.$store.state.mapPopBoxFlag=null; this.$store.state.download=true; }, handleMapClose() { handleMapClose () { this.$confirm("确认关闭?") .then((_) => { this.closeMapDown(); }) .catch((_) => { }); }, closeMapDown() { this.dialogMapVisible = false; this.showMapVisible = false; this.$store.state.mapMenuBoolean = false; this.$store.state.mapMenuBoxFlag = null; this.$store.state.download = false; this.$store.state.mapPopBoolean = false; this.$store.state.mapPopBoxFlag = null; closeMapDown () { this.dialogMapVisible=false; this.showMapVisible=false; this.$store.state.mapMenuBoolean=false; this.$store.state.mapMenuBoxFlag=null; this.$store.state.download=false; this.$store.state.mapPopBoolean=false; this.$store.state.mapPopBoxFlag=null; }, refreshAttatchDetail() { this.dialog.src = ""; this.dialog.dialogVisible = false; this.dialog.isPdf = false; this.dialog.isJpg = false; refreshAttatchDetail () { this.dialog.src=""; this.dialog.dialogVisible=false; this.dialog.isPdf=false; this.dialog.isJpg=false; }, //附件查看 setAttatchDetail(index, row) { setAttatchDetail (index,row) { this.refreshAttatchDetail() var name = row.name; if (name.indexOf('.pdf') != -1 || name.indexOf('.PDF') != -1) { this.dialog.dialogVisible = true; this.dialog.isPdf = true; var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); this.dialog.src = url } else if ( name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1 || name.indexOf('.JPG') != -1 || name.indexOf('.GIF') != -1 || name.indexOf('.PNG') != -1 || name.indexOf('.JPEG') != -1 || name.indexOf('.BMP') != -1 || name.indexOf('.bmp') != -1 var name=row.name; if(name.indexOf('.pdf')!=-1||name.indexOf('.PDF')!=-1) { this.dialog.dialogVisible=true; this.dialog.isPdf=true; var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); this.dialog.src=url } else if( name.indexOf('.jpg')!=-1 ||name.indexOf('.gif')!=-1 ||name.indexOf('.png')!=-1 ||name.indexOf('.jpeg')!=-1 ||name.indexOf('.JPG')!=-1 ||name.indexOf('.GIF')!=-1 ||name.indexOf('.PNG')!=-1 ||name.indexOf('.JPEG')!=-1 ||name.indexOf('.BMP')!=-1 ||name.indexOf('.bmp')!=-1 ) { this.dialog.dialogVisible = true; this.dialog.isJpg = true; var url = BASE_URL + "/comprehensive/downloadForView?guid=" + row.guid + "&token=" + getToken(); this.dialog.src = url this.dialog.dialogVisible=true; this.dialog.isJpg=true; var url=BASE_URL+"/comprehensive/downloadForView?guid="+row.guid+"&token="+getToken(); this.dialog.src=url } }, matchState(state = "", reg) { var row = state.row; var name = row.name; matchState (state="",reg) { var row=state.row; var name=row.name; if (name) { if (name.indexOf('.pdf') != -1 || name.indexOf('.jpg') != -1 || name.indexOf('.gif') != -1 || name.indexOf('.png') != -1 || name.indexOf('.jpeg') != -1 || name.indexOf('.PDF') != -1 || name.indexOf('.JPG') != -1 || name.indexOf('.GIF') != -1 || name.indexOf('.PNG') != -1 || name.indexOf('.JPEG') != -1 || name.indexOf('.BMP') != -1 || name.indexOf('.bmp') != -1) { if(name) { if(name.indexOf('.pdf')!=-1 ||name.indexOf('.jpg')!=-1 ||name.indexOf('.gif')!=-1 ||name.indexOf('.png')!=-1 ||name.indexOf('.jpeg')!=-1 ||name.indexOf('.PDF')!=-1 ||name.indexOf('.JPG')!=-1 ||name.indexOf('.GIF')!=-1 ||name.indexOf('.PNG')!=-1 ||name.indexOf('.JPEG')!=-1 ||name.indexOf('.BMP')!=-1 ||name.indexOf('.bmp')!=-1) { return true; } } @@ -866,39 +752,39 @@ }, async setAttachDel() { var std = []; for (var i in this.attacgSelection) { async setAttachDel () { var std=[]; for(var i in this.attacgSelection) { std.push(this.attacgSelection[i].id); } const res = await dataQuery_deletes({ ids: std.toString() }); if (res.code != 200) { const res=await dataQuery_deletes({ ids: std.toString() }); if(res.code!=200) { this.$message.error("文件删除失败"); } this.getAttacthFlieList(); }, setAttachInsert() { var token = getToken(); var fs = document.getElementById("insertFile"); if (fs.files.length == 0) { setAttachInsert () { var token=getToken(); var fs=document.getElementById("insertFile"); if(fs.files.length==0) { this.$message({ message: "请选择要上传的文件!", type: "warning", }); return; } const formData = new FormData(); for (var i = 0, c = fs.files.length; i < c; i++) { formData.append("file", fs.files[i]); // fs.files[i].name,file const formData=new FormData(); for(var i=0,c=fs.files.length;i<c;i++) { formData.append("file",fs.files[i]); // fs.files[i].name,file } $.ajax( BASE_URL + "/dataQuery/uploadFiles?token=" + token + "&tabName=" + this.upAttach.tabName + "&eventid=" + BASE_URL+ "/dataQuery/uploadFiles?token="+ token+ "&tabName="+ this.upAttach.tabName+ "&eventid="+ this.upAttach.eventid, { type: "post", @@ -912,58 +798,58 @@ message: "附件添加成功", type: "success", }); document.getElementById("insertFile").value = ""; this.formInline = { document.getElementById("insertFile").value=""; this.formInline={ file: "", }; this.getAttacthFlieList(); }, error: (e) => { document.getElementById("insertFile").value = ""; document.getElementById("insertFile").value=""; this.$message.error("附件添加失败"); }, } ); }, async getAttacthFlieList() { var obj = this.upAttach; async getAttacthFlieList () { var obj=this.upAttach; const res = await dataQuery_selectFiles(obj); if (res.code != 200) { const res=await dataQuery_selectFiles(obj); if(res.code!=200) { this.$message.error("列表调用失败"); return; } this.tableAttach = res.result; this.tableAttach=res.result; }, getAttachTable(index, row) { if (row.eventid != null) { this.upAttach.eventid = row.eventid; getAttachTable (index,row) { if(row.eventid!=null) { this.upAttach.eventid=row.eventid; } else { this.upAttach.eventid = ""; this.upAttach.eventid=""; } this.getAttacthFlieList(); this.dialogFormVisible = true; this.dialogFormVisible=true; }, //附件=>文件选择 getInsertFile() { getInsertFile () { $("#insertFile").click(); }, insertFile() { var val = document.getElementById("insertFile").files; if (!val || !val.length) return; insertFile () { var val=document.getElementById("insertFile").files; if(!val||!val.length) return; this.formInline.file = val[0].name; this.formInline.file=val[0].name; }, //获取目录树数据 async getTreeDataAll() { const data = await dataQuery_selectTabs(); if (data.code != 200) { async getTreeDataAll () { const data=await dataQuery_selectTabs(); if(data.code!=200) { this.$message.error("列表调用失败"); } var val = data.result; this.tree = getTreeData(val) var val=data.result; this.tree=getTreeData(val) // for (var i in option) { // var val_Data = option[i]; // val_Data.id = "1" + i; @@ -1003,87 +889,87 @@ this.handleNodeClick(this.tree[0].children[0]); }, //授权管理 showPermsBtn() { let currentPerms = this.$store.state.currentPerms; let permsEntity = this.$store.state.permsEntity; showPermsBtn () { let currentPerms=this.$store.state.currentPerms; let permsEntity=this.$store.state.permsEntity; permsEntity .filter((item) => item.perms == currentPerms) .filter((item) => item.perms==currentPerms) .map((item) => { this.btnStatus[item.tag.substr(1)] = true; this.btnStatus[item.tag.substr(1)]=true; }); }, //树点击事件 handleNodeClick(data) { handleNodeClick (data) { //判断点击是否为子节点 if (data.children != null) return; if(data.children!=null) return; this.listData.name = data.entity; //要查询表格类型; this.getClickTable = data; this.listData.pageIndex = 1; this.listData.pageSize = 10; this.listData.name=data.entity; //要查询表格类型; this.getClickTable=data; this.listData.pageIndex=1; this.listData.pageSize=10; this.count = 0; this.upAttach.tabName = data.ns + "." + data.tab; this.filedsLayer = this.getCollapseDomFiled(); //获取每个表字段名称及阈值 this.count=0; this.upAttach.tabName=data.ns+"."+data.tab; this.filedsLayer=this.getCollapseDomFiled(); //获取每个表字段名称及阈值 //获取table信息 this.getCollapseTable(this.filedsLayer); }, //获取表格信息 async getCollapseTable(res) { async getCollapseTable (res) { res.then((val) => { this.attributeData = val; this.attributeData=val; }); if (this.ruleForm.fileName != "") { this.listData.filter = this.ruleForm.fileName; if(this.ruleForm.fileName!="") { this.listData.filter=this.ruleForm.fileName; } else { this.listData.filter = null; this.listData.filter=null; } const data = await dataQuery_selectByPage(this.listData); if (data.code != 200) { const data=await dataQuery_selectByPage(this.listData); if(data.code!=200) { this.$message.error("调用列表失败,请联系工作人员!"); return; } this.tableData = [] var res_val = this.attributeData; this.count = data.count; for (var i in data.result) { let val_Data = data.result[i]; this.tableData=[] var res_val=this.attributeData; this.count=data.count; for(var i in data.result) { let val_Data=data.result[i]; for (var j in res_val) { if (res_val[j].domainNa != null && res_val[j].domainNa != undefined) { for(var j in res_val) { if(res_val[j].domainNa!=null&&res_val[j].domainNa!=undefined) { val_Data[res_val[j].field] = res_val[j].domainNa; val_Data[res_val[j].field]=res_val[j].domainNa; } } } var that = this; var value = data.result.filter((item) => { var that=this; var value=data.result.filter((item) => { if (item.dirName) { item.dirid = item.dirName if(item.dirName) { item.dirid=item.dirName } if (item.depName) { if(item.depName) { item.depid = item.depName item.depid=item.depName } if (item.verName) { item.verid = item.verName if(item.verName) { item.verid=item.verName } if (item.createName) { item.createuser = item.createName if(item.createName) { item.createuser=item.createName } if (item.updateName) { item.updateuser = item.updateName if(item.updateName) { item.updateuser=item.updateName } if (item.createtime) { item.createtime = that.format(item.createtime); if(item.createtime) { item.createtime=that.format(item.createtime); } if (item.updatetime) { item.updatetime = that.format(item.updatetime); if(item.updatetime) { item.updatetime=that.format(item.updatetime); } return item }) @@ -1092,27 +978,27 @@ this.tableData = value; this.tableData=value; this.$nextTick(() => { this.$refs.refTableData.doLayout(); }); }, //格式化时间 format(shijianchuo) { format (shijianchuo) { //shijianchuo是整数,否则要parseInt转换 var time = new Date(shijianchuo); var y = time.getFullYear(); var m = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); return y + "-" + this.add0(m) + "-" + this.add0(d); var time=new Date(shijianchuo); var y=time.getFullYear(); var m=time.getMonth()+1; var d=time.getDate(); var h=time.getHours(); var mm=time.getMinutes(); var s=time.getSeconds(); return y+"-"+this.add0(m)+"-"+this.add0(d); }, //格式化时间 add0(m) { return m < 10 ? "0" + m : m; add0 (m) { return m<10? "0"+m:m; }, @@ -1120,36 +1006,36 @@ //获取每个表字段名称及阈值 async getCollapseDomFiled() { async getCollapseDomFiled () { //查询字段信息; const fileds = await dataQuery_selectFields({ const fileds=await dataQuery_selectFields({ name: this.listData.name, }); if (fileds.code != 200) { if(fileds.code!=200) { this.$message.error("调用列表失败,请联系工作人员!"); return; } //查询阈值信息; const domains = await dataQuery_selectDomains({ const domains=await dataQuery_selectDomains({ name: this.listData.name, }); if (domains.code != 200) { if(domains.code!=200) { this.$message.error("调用列表失败,请联系工作人员!"); return; } var data1 = fileds.result; var data2 = domains.result; var std = []; this.filedsOption = []; for (var i in data1) { if (data1[i].type != 'geometry' && data1[i].type) { var data1=fileds.result; var data2=domains.result; var std=[]; this.filedsOption=[]; for(var i in data1) { if(data1[i].type!='geometry'&&data1[i].type) { this.filedsOption.push(data1[i]); } if (data1[i].showtype == 1) { if (data1[i].domainNa != null) { data1[i].domainNa = this.getDomainNaFild(data1[i].domainNa, data2); if(data1[i].showtype==1) { if(data1[i].domainNa!=null) { data1[i].domainNa=this.getDomainNaFild(data1[i].domainNa,data2); } std.push(data1[i]); } @@ -1157,13 +1043,13 @@ this.startFiledAndcondition(); return std; }, startFiledAndcondition() { this.conditionVisible = false; startFiledAndcondition () { this.conditionVisible=false; this.conditionChange(this.filedsOption[0]); this.formSql.value = ""; this.formSql.date = new Date(); this.formSql.value=""; this.formSql.date=new Date(); }, handleconditionClose() { handleconditionClose () { this.$confirm("确认关闭?") .then((_) => { this.startFiledAndcondition(); @@ -1171,160 +1057,160 @@ .catch((_) => { }); }, fieldChange(value) { var obj = {}; obj = this.filedsOption.find(function (item) { return item.field === value; fieldChange (value) { var obj={}; obj=this.filedsOption.find(function(item) { return item.field===value; }); this.conditionChange(obj); }, conditionChange(res) { this.formSql.field = res.field; this.formSql.type = res.type; if (res.type == "date" || res.type == "datetime") { this.fromSqlflag = true; conditionChange (res) { this.formSql.field=res.field; this.formSql.type=res.type; if(res.type=="date"||res.type=="datetime") { this.fromSqlflag=true; } else { this.fromSqlflag = false; this.fromSqlflag=false; } var std = []; this.condOption = []; if (res.type == "text" || res.type == "blob") { std = conditions[0]; } else if (res.type == "date" || res.type == "datetime") { std = conditions[2]; var std=[]; this.condOption=[]; if(res.type=="text"||res.type=="blob") { std=conditions[0]; } else if(res.type=="date"||res.type=="datetime") { std=conditions[2]; } else { std = conditions[1]; std=conditions[1]; } for (var i in std) { for(var i in std) { this.condOption.push({ label: std[i], value: std[i], }); } this.formSql.condition = this.condOption[0].value; this.formSql.condition=this.condOption[0].value; }, appendQueryFilter() { if (this.formSql.type == "date" || this.formSql.type == "datetime") { if (this.formSql.date == null) { appendQueryFilter () { if(this.formSql.type=="date"||this.formSql.type=="datetime") { if(this.formSql.date==null) { this.$message.error("请输入要查询的信息!"); return; } } else { if (this.formSql.value == "") { if(this.formSql.value=="") { this.$message.error("请输入要查询的信息!"); return; } } if (this.ruleForm.fileName != "") { this.ruleForm.fileName += " and "; if(this.ruleForm.fileName!="") { this.ruleForm.fileName+=" and "; } var val; if (this.formSql.type == "long" || this.formSql.type == "integer") { val = parseInt(this.formSql.value); } else if (this.formSql.type == "double") { if (this.formSql.value.indexOf(".") != -1) { val = this.formSql.value; if(this.formSql.type=="long"||this.formSql.type=="integer") { val=parseInt(this.formSql.value); } else if(this.formSql.type=="double") { if(this.formSql.value.indexOf(".")!=-1) { val=this.formSql.value; } else { val = parseFloat(this.formSql.value).toFixed(1); val=parseFloat(this.formSql.value).toFixed(1); } } else if ( this.formSql.type == "date" || this.formSql.type == "datetime" } else if( this.formSql.type=="date"|| this.formSql.type=="datetime" ) { var time = new Date(this.formSql.date); var m = time.getMonth() + 1; var d = time.getDate(); var y = time.getFullYear(); val = "'" + y + "-" + this.add0(m) + "-" + this.add0(d) + "'"; var time=new Date(this.formSql.date); var m=time.getMonth()+1; var d=time.getDate(); var y=time.getFullYear(); val="'"+y+"-"+this.add0(m)+"-"+this.add0(d)+"'"; } else { val = "'" + this.formSql.value + "'"; val="'"+this.formSql.value+"'"; } this.ruleForm.fileName += this.formSql.field + " " + this.formSql.condition + " " + val; this.ruleForm.fileName+= this.formSql.field+" "+this.formSql.condition+" "+val; this.startFiledAndcondition(); this.submitForm(); }, //值域字段匹配 getDomainNaFild(res, result) { for (var i in result) { if (result[i].domName == res) { getDomainNaFild (res,result) { for(var i in result) { if(result[i].domName==res) { return result[i].codeDesc; } } return null; }, // 请求场站点内容 getSPData(size, num, name) { querySitePoint(size, num, name).then((res) => { this.tableData = res.data; getSPData (size,num,name) { querySitePoint(size,num,name).then((res) => { this.tableData=res.data; }); }, // 请求场站点数量 getSPCount(name) { getSPCount (name) { querySitePointCount(name).then((res) => { this.count = res.data; this.count=res.data; }); }, // 请求场站点内容 getSSData(size, num, name) { queryStationSeries(size, num, name).then((res) => { this.tableData = res.data; getSSData (size,num,name) { queryStationSeries(size,num,name).then((res) => { this.tableData=res.data; }); }, // 请求场站点数量 getSSCount(name) { getSSCount (name) { queryStationSeriesCount(name).then((res) => { this.count = res.data; this.count=res.data; }); }, // 请求标桩内容 getMData(size, num, name) { queryMarker(size, num, name).then((res) => { this.tableData = res.data; getMData (size,num,name) { queryMarker(size,num,name).then((res) => { this.tableData=res.data; }); }, // 请求标桩数量 getMCount(name) { getMCount (name) { queryMarkerCount(name).then((res) => { this.count = res.data; this.count=res.data; }); }, // 关键字查询 submitForm() { this.listData.pageIndex = 1; this.listData.pageSize = 10; submitForm () { this.listData.pageIndex=1; this.listData.pageSize=10; //获取table信息 this.getCollapseTable(this.filedsLayer); }, //分页点击事件 handleSizeChange(val) { this.listData.pageSize = val; this.listData.pageIndex = 1; handleSizeChange (val) { this.listData.pageSize=val; this.listData.pageIndex=1; //获取table信息 this.getCollapseTable(this.filedsLayer); }, handleCurrentChange(val) { this.listData.pageIndex = val; handleCurrentChange (val) { this.listData.pageIndex=val; //获取table信息 this.getCollapseTable(this.filedsLayer); }, // 重置查询 resetForm() { this.ruleForm.fileName = ""; this.listData.pageIndex = 1; this.listData.pageSize = 10; resetForm () { this.ruleForm.fileName=""; this.listData.pageIndex=1; this.listData.pageSize=10; //获取table信息 this.getCollapseTable(this.filedsLayer); }, // 发布按钮 testfb() { testfb () { // if (this.FBtest) { // this.$confirm("是否取消发布?", "提示", { // confirmButtonText: "确定", @@ -1332,7 +1218,7 @@ // type: "warning", // }) // .then(() => { const loading = this.$loading({ const loading=this.$loading({ lock: true, text: "Loading", spinner: "el-icon-loading", @@ -1340,69 +1226,69 @@ }); setTimeout(() => { loading.close(); this.FBtest = !this.FBtest; }, 2000); this.FBtest=!this.FBtest; },2000); // }) // .catch(() => {}); // } }, // 查看界面 showDetail(index, row) { console.log(index, row); showDetail (index,row) { console.log(index,row); console.log(this.attributeData); this.showinfoBox = true; this.showinfoBox=true; var std = []; for (var i in this.attributeData) { var std=[]; for(var i in this.attributeData) { std.push({ label: this.attributeData[i].alias, value: row[this.attributeData[i].field], }); } this.itemdetail = std; this.itemdetail=std; }, // 关闭查看 closeDetial() { this.showinfoBox = false; this.itemdetail = {}; closeDetial () { this.showinfoBox=false; this.itemdetail={}; }, // 修改界面 handleEdit(index, row) { this.dialogFormVisible = true; this.upform = JSON.parse(JSON.stringify(row)); handleEdit (index,row) { this.dialogFormVisible=true; this.upform=JSON.parse(JSON.stringify(row)); }, // 提交修改 updateForm() { let params = {}; this.$confirm("是否确定编辑?", "提示", { updateForm () { let params={}; this.$confirm("是否确定编辑?","提示",{ confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { this.dialogFormVisible = false; switch (this.tableType) { this.dialogFormVisible=false; switch(this.tableType) { case "场站点": params = { params={ gid: this.upform.gid, pipename: this.upform.pipename, sitename: this.upform.sitename, type: this.upform.type, }; UpdateSitePoint(params).then((res) => { if (res.data == 1) { if(res.data==1) { this.$message({ message: "修改成功", type: "success", }); } this.getSPData(10, 1, ""); this.getSPData(10,1,""); this.getSPCount(""); }); break; case "管道中心线": params = { params={ gid: this.upform.gid, pipename: this.upform.pipename, seriesname: this.upform.seriesname, @@ -1411,31 +1297,31 @@ diameter: this.upform.diameter, }; UpdateStationSeries(params).then((res) => { if (res.data == 1) { if(res.data==1) { this.$message({ message: "修改成功", type: "success", }); } this.getSSData(10, 1, ""); this.getSSData(10,1,""); this.getSSCount(""); }); break; case "标桩": params = { params={ gid: this.upform.gid, pipename: this.upform.pipename, name: this.upform.name, type: this.upform.type, }; UpdatgeMarker(params).then((res) => { if (res.data == 1) { if(res.data==1) { this.$message({ message: "修改成功", type: "success", }); } this.getMData(10, 1, ""); this.getMData(10,1,""); this.getMCount(""); }); break; @@ -1454,58 +1340,58 @@ .catch(() => { }); }, // 获取多选选中的对象 handleSelectionChange(val) { this.multipleSelection = val; handleSelectionChange (val) { this.multipleSelection=val; }, handleAttatchChange(val) { this.attacgSelection = val; handleAttatchChange (val) { this.attacgSelection=val; }, // 删除多条 DelFormData() { var std = []; for (var i in this.multipleSelection) { DelFormData () { var std=[]; for(var i in this.multipleSelection) { std.push(this.multipleSelection[i].gid); } this.$confirm("确定是否删除所选内容?", "提示", { this.$confirm("确定是否删除所选内容?","提示",{ confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { switch (this.tableType) { switch(this.tableType) { case "场站点": dltSitePoint(std).then((res) => { if (res.data !== 0) { if(res.data!==0) { this.$message({ message: "删除成功", type: "success", }); } this.getSPData(10, 1, ""); this.getSPData(10,1,""); this.getSPCount(""); }); break; case "管道中心线": dltStationSeries(std).then((res) => { if (res.data !== 0) { if(res.data!==0) { this.$message({ message: "删除成功", type: "success", }); } this.getSSData(10, 1, ""); this.getSSData(10,1,""); this.getSSCount(""); }); break; case "标桩": dltMarker(std).then((res) => { if (res.data !== 0) { if(res.data!==0) { this.$message({ message: "删除成功", type: "success", }); } this.getMData(10, 1, ""); this.getMData(10,1,""); this.getMCount(""); }); break; src/views/datamanage/dataUpdata.vue
@@ -1,20 +1,33 @@ <template> <div class="subpage_Box" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.8)" :element-loading-text="loadText"> <div class="subpage_Box" v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.8)" :element-loading-text="loadText"> <My-bread :list="[ `${$t('dataManage.dataManage')}`, `${$t('dataManage.dataUpdata')}`, ]"></My-bread> <el-divider /> <el-tabs type="card" v-model="activeTabName" @tab-click="handleTabClick"> <el-tabs type="card" v-model="activeTabName" @tab-click="handleTabClick"> <!-- 上传数据 --> <el-tab-pane :label="$t('dataManage.dataUpObj.uploaddata')" name="first"> <div class="inquire subpage_Div" ref="container"> <el-form :inline="true" :model="formInline" class="demo-form-inline"> <el-tab-pane :label="$t('dataManage.dataUpObj.uploaddata')" name="first"> <div class="inquire subpage_Div" ref="container"> <el-form :inline="true" :model="formInline" class="demo-form-inline"> <!-- 入库类型 --> <el-form-item :label="$t('dataManage.dataUpObj.UploadType')" style="margin-right: 2%" size="small"> <el-select :disabled="tableData.length == 0 ? false : true" v-model="formInline.uploadType" @change="uploadTypeChange" :popper-append-to-body="false" placeholder="请选择"> <el-form-item :label="$t('dataManage.dataUpObj.UploadType')" style="margin-right: 2%" size="small"> <el-select :disabled="tableData.length == 0 ? false : true" v-model="formInline.uploadType" @change="uploadTypeChange" :popper-append-to-body="false" placeholder="请选择"> <!-- <el-option v-for="item in uploadOption" :key="item.value" @@ -22,19 +35,32 @@ :value="item.value" ></el-option>--> <el-option :label="$t('shuJuGuanLi.pselect.dFile')" value="v1" /> <el-option :label="$t('shuJuGuanLi.pselect.dFiles')" value="v2" /> <el-option :label="$t('shuJuGuanLi.pselect.dFfilest')" value="v3" /> <el-option :label="$t('shuJuGuanLi.pselect.dFile')" value="v1" /> <el-option :label="$t('shuJuGuanLi.pselect.dFiles')" value="v2" /> <el-option :label="$t('shuJuGuanLi.pselect.dFfilest')" value="v3" /> </el-select> </el-form-item> <!-- 存储目录 --> <el-form-item style="margin-right: 2%" v-show="uploadFlag" :label="$t('dataManage.dataUpObj.storageDirectory')" size="small"> <el-select ref="multiSelect" :popper-append-to-body="false" v-model="formInline.dirName" :disabled="tableData.length == 0 ? false : true"> <el-option :value="formInline.dirid" :label="formInline.dirName" style=" height:auto"> <el-tree ref="tree" :data="catalogOption" node-key="id" :props="cascader" @node-click="catalogChange" /> <el-form-item style="margin-right: 2%" v-show="uploadFlag" :label="$t('dataManage.dataUpObj.storageDirectory')" size="small"> <el-select ref="multiSelect" :popper-append-to-body="false" v-model="formInline.dirName" :disabled="tableData.length == 0 ? false : true"> <el-option :value="formInline.dirid" :label="formInline.dirName" style=" height:auto"> <el-tree ref="tree" :data="catalogOption" node-key="id" :props="cascader" @node-click="catalogChange" /> </el-option> </el-select> <!-- <el-cascader @@ -47,25 +73,44 @@ ></el-cascader> --> </el-form-item> <!-- 项目名称 --> <el-form-item style="margin-right: 2%" v-show="!uploadFlag" :label="$t('dataManage.dataUpObj.entryName')" size="small"> <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" v-model="formInline.entryId" @change="entryNameChange" placeholder="请选择"> <el-option v-for="item in entryOption" :key="item.id" :label="item.name" :value="item.name"></el-option> <el-form-item style="margin-right: 2%" v-show="!uploadFlag" :label="$t('dataManage.dataUpObj.entryName')" size="small"> <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" v-model="formInline.entryId" @change="entryNameChange" placeholder="请选择"> <el-option v-for="item in entryOption" :key="item.id" :label="item.name" :value="item.name"></el-option> </el-select> </el-form-item> <!-- 数据版本 --> <el-form-item :label="$t('dataManage.dataUpObj.dataVersion')" style="margin-right: 2%" size="small"> <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" v-model="formInline.verid" :placeholder="$t('common.choose')"> <el-option v-for="item in verOption" :key="item.id" :label="item.name" :value="item.id"> <el-form-item :label="$t('dataManage.dataUpObj.dataVersion')" style="margin-right: 2%" size="small"> <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" v-model="formInline.verid" :placeholder="$t('common.choose')"> <el-option v-for="item in verOption" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> <!-- 数据专业 --> <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')" style="margin-right: 2%" size="small"> <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" v-model="formInline.specialtyId" :placeholder="$t('common.choose')"> <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')" style="margin-right: 2%" size="small"> <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" v-model="formInline.specialtyId" :placeholder="$t('common.choose')"> <!-- <el-option v-for="item in specialtyOption" :key="item.value" @@ -73,109 +118,190 @@ :value="item.value"> </el-option>--> <el-option :label="$t('shuJuGuanLi.pselect.SurveyingAndMapping')" value="测量专业" /> <el-option :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')" value="勘察专业" /> <el-option :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')" value="地灾专业" /> <el-option :label="$t('shuJuGuanLi.pselect.CavernSpecialty')" value="洞库专业" /> <el-option :label="$t('shuJuGuanLi.pselect.LineDiscipline')" value='线路专业' /> <el-option :label="$t('shuJuGuanLi.pselect.SurveyingAndMapping')" value="测量专业" /> <el-option :label="$t('shuJuGuanLi.pselect.SurveysDiscipline')" value="勘察专业" /> <el-option :label="$t('shuJuGuanLi.pselect.GeologicalDisasterSpecialty')" value="地灾专业" /> <el-option :label="$t('shuJuGuanLi.pselect.CavernSpecialty')" value="洞库专业" /> <el-option :label="$t('shuJuGuanLi.pselect.LineDiscipline')" value='线路专业' /> </el-select> </el-form-item> <!-- 坐标系 --> <el-form-item :label="$t('dataManage.dataUpObj.coordinateSystem')" style="margin-right: 3%" size="small"> <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" v-model="formInline.coordinateId" :placeholder="$t('common.choose')"> <el-option v-for="item in coordinateOption" :key="item.epsgcode" :label="item.coordinate" :value="item.epsgcode"> <el-form-item :label="$t('dataManage.dataUpObj.coordinateSystem')" style="margin-right: 3%" size="small"> <el-select :popper-append-to-body="false" :disabled="tableData.length == 0 ? false : true" v-model="formInline.coordinateId" :placeholder="$t('common.choose')"> <el-option v-for="item in coordinateOption" :key="item.epsgcode" :label="item.coordinate" :value="item.epsgcode"> </el-option> </el-select> </el-form-item> <div class="flex_box"> <div style="margin-right: auto"> <!-- 线路类别 --> <el-form-item size="small" :label="$t('dataManage.dataUpObj.labe11')" v-show="formInline.uploadType == 'v3'"> <el-select v-model="formInline.tab" placeholder="请选择"> <el-option v-for="item in lineOptions" :key="item.value" :label="item.label" :value="item.value"> <el-form-item size="small" :label="$t('dataManage.dataUpObj.labe11')" v-show="formInline.uploadType == 'v3'"> <el-select v-model="formInline.tab" placeholder="请选择"> <el-option v-for="item in lineOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <!-- 线路类别 --> <el-form-item :label="$t('dataManage.dataUpObj.labe12')" v-show="formInline.uploadType == 'v3'" size="small"> <el-select v-model="formInline.medium" size="small" placeholder="请选择"> <el-option v-for="item in mediumOptions" :key="item.value" :label="item.label" :value="item.value"> <el-form-item :label="$t('dataManage.dataUpObj.labe12')" v-show="formInline.uploadType == 'v3'" size="small"> <el-select v-model="formInline.medium" size="small" placeholder="请选择"> <el-option v-for="item in mediumOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> <!-- 选择数据 --> <el-form-item size="small"> <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.specialtyData == '请选择数据'" @click="setSelectFile" :underline="false" type="primary">{{ $t('dataManage.dataUpObj.selectData') }} <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.specialtyData == '请选择数据'" @click="setSelectFile" :underline="false" type="primary">{{ $t('dataManage.dataUpObj.selectData') }} </el-link> <el-link v-show="formInline.specialtyData != '请选择数据'" @click="restSelectFile" :underline="false" type="primary">{{ $t('common.reset') }} <el-link v-show="formInline.specialtyData != '请选择数据'" @click="restSelectFile" :underline="false" type="primary">{{ $t('common.reset') }} </el-link> <input size="small" id="selectDataFile" type="file" name="file" multiple="multiple" :accept="formInline.selectFileType" @change="handleSelectFileChange" style="display: none"></input> <input size="small" id="selectDataFile" type="file" name="file" multiple="multiple" :accept="formInline.selectFileType" @change="handleSelectFileChange" style="display: none"></input> </el-form-item> <el-form-item size="small"> <el-input :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" v-model="formInline.specialtyData" style="width:200px;" disabled> <el-input :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" v-model="formInline.specialtyData" style="width:200px;" disabled> </el-input> </el-form-item> <!-- 选择元数据 --> <el-form-item v-show="uploadFlag" v-if="formInline.uploadType == 'v1'" style="padding-left: 16px"> <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.metaData == '请选择元数据'" @click="setMetaFile" :underline="false" type="primary">{{ $t('dataManage.dataUpObj.selectMetadata') }} <el-form-item v-show="uploadFlag" v-if="formInline.uploadType == 'v1'" style="padding-left: 16px"> <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.metaData == '请选择元数据'" @click="setMetaFile" :underline="false" type="primary">{{ $t('dataManage.dataUpObj.selectMetadata') }} </el-link> <el-link v-show="formInline.metaData != '请选择元数据'" @click="restMetaFile" :underline="false" type="primary">{{ $t('common.reset') }} <el-link v-show="formInline.metaData != '请选择元数据'" @click="restMetaFile" :underline="false" type="primary">{{ $t('common.reset') }} </el-link> <input id="metaDataFile" type="file" name="file" multiple="multiple" accept=".xls,.xlsx" style="display: none" @change="handleMetaFileChange"></input> <input id="metaDataFile" type="file" name="file" multiple="multiple" accept=".xls,.xlsx" style="display: none" @change="handleMetaFileChange"></input> </el-form-item> <el-form-item v-show="uploadFlag" v-if="formInline.uploadType == 'v1'" size="small"> <el-input :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" v-model="formInline.metaData" style="width:200px;" disabled> <el-form-item v-show="uploadFlag" v-if="formInline.uploadType == 'v1'" size="small"> <el-input :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" v-model="formInline.metaData" style="width:200px;" disabled> </el-input> </el-form-item> <!-- 选择WBS数据 --> <el-form-item v-show="!uploadFlag"> <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.wbsData == '请选择WBS数据'" @click="setWBSFile" :underline="false" type="primary">{{ $t('dataManage.dataUpObj.selectWBSData') }} <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.wbsData == '请选择WBS数据'" @click="setWBSFile" :underline="false" type="primary">{{ $t('dataManage.dataUpObj.selectWBSData') }} </el-link> <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.wbsData != '请选择WBS数据'" @click="restWBSFile" :underline="false" type="primary">{{ $t('common.reset') }} <el-link :disabled="tableData.length == 0 ? false : true" v-show="formInline.wbsData != '请选择WBS数据'" @click="restWBSFile" :underline="false" type="primary">{{ $t('common.reset') }} </el-link> <input id="wbsDataFile" type="file" name="file" multiple="multiple" accept=".xls,.xlsx" style="display: none" @change="handleWBSFileChange"></input> <input id="wbsDataFile" type="file" name="file" multiple="multiple" accept=".xls,.xlsx" style="display: none" @change="handleWBSFileChange"></input> </el-form-item> <el-form-item v-show="!uploadFlag"> <el-input placeholder="请选择WBS数据" v-model="formInline.wbsData" style="width:210px;" disabled> <el-input placeholder="请选择WBS数据" v-model="formInline.wbsData" style="width:210px;" disabled> </el-input> </el-form-item> </div> <div> <el-form-item> <!-- 上传 --> <el-button v-if="menuStatus.upload" :disabled="tableData.length == 0 ? false : true" @click="setFileUpload" size="small" icon="el-icon-upload" type="success">{{ <el-button v-if="menuStatus.upload" :disabled="tableData.length == 0 ? false : true" @click="setFileUpload" size="small" icon="el-icon-upload" type="success">{{ $t('common.upload') }} </el-button> <!-- 删除 --> <el-button v-if="menuStatus.delete" :disabled="multipleSelection.length == 0 ? true : false" icon="el-icon-delete" size="small" @click="setFileDelete" type="danger">{{ $t('common.delete') }} <el-button v-if="menuStatus.delete" :disabled="multipleSelection.length == 0 ? true : false" icon="el-icon-delete" size="small" @click="setFileDelete" type="danger">{{ $t('common.delete') }} </el-button> <!-- 入库 --> <el-button v-if="menuStatus.insert" @click="setFileWare" size="small" :disabled="tableData.length == 0 ? true : false" icon="el-icon-folder-add" type="warning">{{ <el-button v-if="menuStatus.insert" @click="setFileWare" size="small" :disabled="tableData.length == 0 ? true : false" icon="el-icon-folder-add" type="warning">{{ $t('common.Warehousin') }} </el-button> <!-- 质检 --> <el-button style="margin-right:-9px" v-if="menuStatus.insert" :disabled="multipleSelection.length == 0 ? true : false" type="info" size="small" icon="el-icon-folder-checked" @click="handleQuayTestClick()">{{ $t('common.quayTest') }} <el-button style="margin-right:-9px" v-if="menuStatus.insert" :disabled="multipleSelection.length == 0 ? true : false" type="info" size="small" icon="el-icon-folder-checked" @click="handleQuayTestClick()">{{ $t('common.quayTest') }} </el-button> </el-form-item> @@ -187,20 +313,43 @@ </div> <!-- 上传数据列表 --> <div class="dividing-line"></div> <div class="table_box" :style="styleVar"> <el-table style="width:100%" border :data="tableData" @selection-change="handleSelectionChange" height="calc(100% - 57px)"> <el-table-column type="selection" width="55" /> <div class="table_box" :style="styleVar"> <el-table style="width:100%" border :data="tableData" @selection-change="handleSelectionChange" height="calc(100% - 57px)"> <el-table-column type="selection" width="55" /> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" /> <el-table-column align="center" prop="name" :label="$t('common.name')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" prop="status" label="状态" /> <el-table-column align="center" prop="code" label="状态" v-if="false" /> <el-table-column label="操作" width="120"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" /> <el-table-column align="center" prop="name" :label="$t('common.name')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" prop="status" label="状态" /> <el-table-column align="center" prop="code" label="状态" v-if="false" /> <el-table-column label="操作" width="120"> <template slot-scope="scope"> <el-button v-if="menuStatus.download" v-show="scope.row.code != null" @click="handerLogClick(scope.row)" type="primary" size="mini" plain> 日志 <el-button v-if="menuStatus.download" v-show="scope.row.code != null" @click="handerLogClick(scope.row)" type="primary" size="mini" plain> 日志 </el-button> </template> </el-table-column> @@ -208,25 +357,40 @@ </div> </el-tab-pane> <!-- 入库数据清单 --> <el-tab-pane :label="$t('dataManage.dataUpObj.receiptdata')" name="second"> <div class="inquire subpage_Div" ref="container1"> <el-form :inline="true" :model="formWarehousing" class="demo-form-inline"> <el-tab-pane :label="$t('dataManage.dataUpObj.receiptdata')" name="second"> <div class="inquire subpage_Div" ref="container1"> <el-form :inline="true" :model="formWarehousing" class="demo-form-inline"> <div class="flex_box"> <div style="margin-right: auto"> <el-form-item size="small" :label="$t('dataManage.dataUpObj.describe')"> <el-input v-model="formWarehousing.name" :placeholder="$t('shuJuGuanLi.lable1')" style="width: 200px;"><i slot="suffix" class="el-icon-search" @click="setWarehouseSearch" style="padding-right: 8px"></i></el-input> <el-form-item size="small" :label="$t('dataManage.dataUpObj.describe')"> <el-input v-model="formWarehousing.name" :placeholder="$t('shuJuGuanLi.lable1')" style="width: 200px;"><i slot="suffix" class="el-icon-search" @click="setWarehouseSearch" style="padding-right: 8px"></i></el-input> </el-form-item> </div> <div> <el-form-item> <el-button v-if="menuStatus.upload" :disabled="multipleDelete.length == 0 ? true : false" @click="setEnclosure" icon="el-icon-folder-opened" type="success" size="small">{{ <el-button v-if="menuStatus.upload" :disabled="multipleDelete.length == 0 ? true : false" @click="setEnclosure" icon="el-icon-folder-opened" type="success" size="small">{{ $t('common.enclosure') }} </el-button> <el-button v-if="menuStatus.delete" @click="setWarehouseDel" icon="el-icon-folder-delete" type="danger" size="small">{{ $t('common.delete') }} <el-button v-if="menuStatus.delete" @click="setWarehouseDel" icon="el-icon-folder-delete" type="danger" size="small">{{ $t('common.delete') }} </el-button> <!-- <el-button @click="setWarehouseSearch" @@ -237,7 +401,10 @@ $t('common.iquery') }} </el-button>--> <el-button @click="setWarehouseReset" icon="el-icon-folder-add" size="small" type="info">{{ <el-button @click="setWarehouseReset" icon="el-icon-folder-add" size="small" type="info">{{ $t('common.reset') }} </el-button> </el-form-item> @@ -248,51 +415,99 @@ </div> <!-- 入库 --> <div class="dividing-line"></div> <div class="table_box" :style="styleVar1"> <el-table ref="filterTable" :data="waretableData" style="width: 100%" border height="calc(100% - 57px)" @selection-change="handleDelteChange"> <el-table-column type="selection" width="55"> <div class="table_box" :style="styleVar1"> <el-table ref="filterTable" :data="waretableData" style="width: 100%" border height="calc(100% - 57px)" @selection-change="handleDelteChange"> <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> <el-table-column align="center" :label="$t('common.name')" width="120"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" :label="$t('common.name')" width="120"> <template slot-scope="scope"> <span v-if="scope.row.ismeta > 0"> <el-link style="color:#409eff" title="源数据查询" @click="setQueryMetaData(scope.row)" target="_blank">{{ <el-link style="color:#409eff" title="源数据查询" @click="setQueryMetaData(scope.row)" target="_blank">{{ scope.row.name }}</el-link> </span> <span v-else-if="scope.row.metaid > 0"> <el-link style="color:#409eff" title="元数据查询" @click="setMetaDataQuery(scope.row)" target="_blank">{{ <el-link style="color:#409eff" title="元数据查询" @click="setMetaDataQuery(scope.row)" target="_blank">{{ scope.row.name }}</el-link> </span> <span v-else>{{ scope.row.name }}</span> </template> </el-table-column> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a> <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" :label="$t('common.dataStatus')" :formatter="stateFormat"> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" :label="$t('common.dataStatus')" :formatter="stateFormat"> </el-table-column> <el-table-column align=" center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> <el-table-column align="center" prop="createTime" :label="$t('dataManage.vmobj.createontime')" :formatter="changetimeFile" width="100" /> center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> <el-table-column align="center" prop="createTime" :label="$t('dataManage.vmobj.createontime')" :formatter="changetimeFile" width="100" /> </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, 500]" :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count"> <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, 500]" :page-size="listData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count"> </el-pagination> </div> </div> @@ -300,47 +515,71 @@ </el-tab-pane> </el-tabs> <!-- 质检弹窗 --> <el-dialog title="数据质检" :visible.sync="quayTestVisible" width="70%" :modal="false" :before-close="handleQuayTestCloseDown"> <el-dialog title="数据质检" :visible.sync="quayTestVisible" width="70%" :modal="false" :before-close="handleQuayTestCloseDown"> <div class="dialogDiv"> <el-form :inline="true" :model="quayTestForms" class="demo-form-inline"> <el-form :inline="true" :model="quayTestForms" class="demo-form-inline"> <el-form-item :label="$t('dataManage.dataUpObj.dataSpecialty')"> <el-input disabled v-model="quayTestForms.sjzy"></el-input> <el-input disabled v-model="quayTestForms.sjzy"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.dataUpObj.storageDirectory')"> <el-input disabled style="width:400px" v-model="quayTestForms.names"></el-input> <el-input disabled style="width:400px" v-model="quayTestForms.names"></el-input> </el-form-item> </el-form> <el-divider /> <div class="dialogContent"> <div class="ContBox" v-show="quayTestShow.checkAttrs"> <el-checkbox checked disabled>属性检查:(*dlg*.gdb+*地形图**.dwg) <div class="ContBox" v-show="quayTestShow.checkAttrs"> <el-checkbox checked disabled>属性检查:(*dlg*.gdb+*地形图**.dwg) </el-checkbox> </div> <div class="ContBox" v-show="quayTestShow.checkMath"> <el-checkbox checked disabled>数学基础检查:(.shp,.dlg) <div class="ContBox" v-show="quayTestShow.checkMath"> <el-checkbox checked disabled>数学基础检查:(.shp,.dlg) </el-checkbox> </div> <div class="ContBox" v-show="quayTestShow.checkDecorate"> <el-checkbox checked disabled>图面整饰检查:(.dwg) <div class="ContBox" v-show="quayTestShow.checkDecorate"> <el-checkbox checked disabled>图面整饰检查:(.dwg) </el-checkbox> </div> <div class="ContBox" v-show="quayTestShow.checkXls"> <el-checkbox checked disabled>表格数据检查:(.xls/.xlsx) <div class="ContBox" v-show="quayTestShow.checkXls"> <el-checkbox checked disabled>表格数据检查:(.xls/.xlsx) </el-checkbox> </div> <div class="ContBox" v-show="quayTestShow.checkOrigin"> <el-checkbox checked disabled>原点检查:(*剖面图*.dwg) <div class="ContBox" v-show="quayTestShow.checkOrigin"> <el-checkbox checked disabled>原点检查:(*剖面图*.dwg) </el-checkbox> </div> <div class="ContBox" v-show="quayTestShow.checkMeta"> <el-checkbox checked disabled>元数据检查:(*元数据*.xls/.xlsx) <div class="ContBox" v-show="quayTestShow.checkMeta"> <el-checkbox checked disabled>元数据检查:(*元数据*.xls/.xlsx) </el-checkbox> </div> <div class="ContBox" v-show="quayTestShow.checkTopology"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <div class="ContBox" v-show="quayTestShow.checkTopology"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <el-form-item> <el-checkbox checked disabled>拓扑检查:(*地形图*.dwg) <el-checkbox checked disabled>拓扑检查:(*地形图*.dwg) </el-checkbox> </el-form-item> <el-form-item> @@ -385,10 +624,14 @@ </el-form-item> </el-form> </div> <div class="ContBox" v-show="quayTestShow.checkDom"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <div class="ContBox" v-show="quayTestShow.checkDom"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <el-form-item> <el-checkbox checked disabled>栅格检查:(.tif/.img) <el-checkbox checked disabled>栅格检查:(.tif/.img) </el-checkbox> </el-form-item> <el-form-item> @@ -409,10 +652,14 @@ </el-form-item> </el-form> </div> <div class="ContBox" v-show="quayTestShow.checkDem"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <div class="ContBox" v-show="quayTestShow.checkDem"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <el-form-item> <el-checkbox checked disabled>高程检查:(.tif/.img) <el-checkbox checked disabled>高程检查:(.tif/.img) </el-checkbox> </el-form-item> <el-form-item> @@ -433,10 +680,14 @@ </el-form-item> </el-form> </div> <div class="ContBox" v-show="quayTestShow.checkLaz"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <div class="ContBox" v-show="quayTestShow.checkLaz"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <el-form-item> <el-checkbox checked disabled>点云检查:(.laz + *激光点云*.xls/.xlsx) <el-checkbox checked disabled>点云检查:(.laz + *激光点云*.xls/.xlsx) </el-checkbox> </el-form-item> <el-form-item> @@ -449,10 +700,14 @@ </el-form-item> </el-form> </div> <div class="ContBox" v-show="quayTestShow.checkOsgb"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <div class="ContBox" v-show="quayTestShow.checkOsgb"> <el-form ref="quayForms" :model="quayTestForms" class="demo-form-inline"> <el-form-item> <el-checkbox checked disabled>OSGB检查:(.osgb + *倾斜摄影*.xls/.xlsx) <el-checkbox checked disabled>OSGB检查:(.osgb + *倾斜摄影*.xls/.xlsx) </el-checkbox> </el-form-item> <el-form-item> @@ -467,47 +722,77 @@ </div> </div> </div> <span slot="footer" class="dialog-footer"> <el-button class="elBotton" size="small" @click="quayTestVisible = false">取 消</el-button> <el-button class="elBotton" size="small" @click="commonQuayTest">确 定</el-button> <span slot="footer" class="dialog-footer"> <el-button class="elBotton" size="small" @click="quayTestVisible = false">取 消</el-button> <el-button class="elBotton" size="small" @click="commonQuayTest">确 定</el-button> </span> </el-dialog> <!-- 整体文件质检弹窗 --> <el-dialog title="数据质检" :visible.sync="testQuayVisible" :modal="false" :before-close="handleTestQuayCloseDown"> <el-form :model="formCheckAll" label-position="top"> <el-dialog title="数据质检" :visible.sync="testQuayVisible" :modal="false" :before-close="handleTestQuayCloseDown"> <el-form :model="formCheckAll" label-position="top"> <el-form-item label="项目名称"> <el-input disabled v-model="formCheckAll.xmmc" style="width:85%"></el-input> <el-input disabled v-model="formCheckAll.xmmc" style="width:85%"></el-input> </el-form-item> <el-form-item label="所属专业"> <el-input disabled v-model="formCheckAll.sjzy" style="width:85%"></el-input> <el-input disabled v-model="formCheckAll.sjzy" style="width:85%"></el-input> </el-form-item> <el-form-item v-show="formCheckAll.isDiZai" label="地灾类型"> <el-form-item v-show="formCheckAll.isDiZai" label="地灾类型"> <el-select v-model="formCheckAll.diZaiType" placeholder="请选择" style="width:85%"> <el-option v-for="item in disOptions" :key="item.value" :label="item.label" :value="item.value"> <el-select v-model="formCheckAll.diZaiType" placeholder="请选择" style="width:85%"> <el-option v-for="item in disOptions" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-button class="elBotton" size="small" @click="testQuayVisible = false">取 消</el-button> <el-button class="elBotton" size="small" @click.stop="commonTestQuay()">确 定</el-button> <span slot="footer" class="dialog-footer"> <el-button class="elBotton" size="small" @click="testQuayVisible = false">取 消</el-button> <el-button class="elBotton" size="small" @click.stop="commonTestQuay()">确 定</el-button> </span> </el-dialog> <!-- ifream下载文件地址 --> <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> <!-- 数据匹配 --> <el-dialog :title="$t('dataManage.datawarehousing')" :visible.sync="dialogWarehousing" width="70%"> <el-dialog :title="$t('dataManage.datawarehousing')" :visible.sync="dialogWarehousing" width="70%"> <div class="dialogBox"> <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;"> <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;"> <ul> <li @click="singleElection(item)" v-for="(item, i) in tableWareOne" :class="{ active: activeName == item.eventid }">{{ item.tab }} ({{ item.type }}) <li @click="singleElection(item)" v-for="(item, i) in tableWareOne" :class="{ active: activeName == item.eventid }">{{ item.tab }} ({{ item.type }}) </li> </ul> </div> @@ -519,10 +804,12 @@ </div> </div> <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;"> <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;"> <ul> <li @click="singleElection2(item)" v-for="(item, i) in tableWareTwo" :class="{ active: activeName2 == item.entity }">{{ item.tabDesc }} ( {{ item.ns }}.{{ item.tab }}) <li @click="singleElection2(item)" v-for="(item, i) in tableWareTwo" :class="{ active: activeName2 == item.entity }">{{ item.tabDesc }} ( {{ item.ns }}.{{ item.tab }}) </li> </ul> </div> @@ -533,139 +820,268 @@ </div> <br /> <div style="padding:2%"> <el-link><i @click="setWareTableChangeRight" class="el-icon-d-arrow-right"></i></el-link> <el-link><i @click="setWareTableChangeRight" class="el-icon-d-arrow-right"></i></el-link> </div> </div> </div> <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;"> <div class="transFarBox subpage_Div" style="border: 1px solid #E4E7ED;"> <ul> <li @click="singleElection3(i)" v-for="(item, i) in tableWareThree" :class="{ active: activeName3 == (item.tab + i) }">{{ item.tab }} ( {{ item.tabDesc }} {{ item.ns }}.{{ <li @click="singleElection3(i)" v-for="(item, i) in tableWareThree" :class="{ active: activeName3 == (item.tab + i) }">{{ item.tab }} ( {{ item.tabDesc }} {{ item.ns }}.{{ item.tabs }} ) </li> </ul> </div> </div> <span slot="footer" class="dialog-footer"> <el-button size="small" @click="autoMatchWare" type="primary">自动匹配</el-button> <el-button size="small" type="info" @click="setInsrtWareTableClose">取 消</el-button> <el-button size="small" type="primary" @click="setInsrtWareTable">确 定</el-button> <span slot="footer" class="dialog-footer"> <el-button size="small" @click="autoMatchWare" type="primary">自动匹配</el-button> <el-button size="small" type="info" @click="setInsrtWareTableClose">取 消</el-button> <el-button size="small" type="primary" @click="setInsrtWareTable">确 定</el-button> </span> </el-dialog> <el-dialog :title="$t('common.details')" :visible.sync="dialogVisible" width="70%"> <el-dialog :title="$t('common.details')" :visible.sync="dialogVisible" width="70%"> <div style="height: 500px; overflow: auto"> <el-table ref="filterTable" :data="dbTableData" height="90%" border style="width: 100%"> <el-table-column width="60" type="index" :label="$t('common.index')" /> <el-table-column v-for="(item, index) in attributeData" :key="index" :label="item.alias" :prop="item.field" show-overflow-tooltip align="center"></el-table-column> <el-table ref="filterTable" :data="dbTableData" height="90%" border style="width: 100%"> <el-table-column width="60" type="index" :label="$t('common.index')" /> <el-table-column v-for="(item, index) in attributeData" :key="index" :label="item.alias" :prop="item.field" show-overflow-tooltip align="center"></el-table-column> </el-table> <div style="margin-top: 15px" class="pagination_box"> <el-pagination @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange" :current-page="listLoader.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listLoader.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count1"> <div style="margin-top: 15px" class="pagination_box"> <el-pagination @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange" :current-page="listLoader.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listLoader.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count1"> </el-pagination> </div> </div> </el-dialog> <el-dialog :close-on-click-modal="false" :title="sc.label1" :visible.sync="jindudialogVisible" width="30%"> <el-dialog :close-on-click-modal="false" :title="sc.label1" :visible.sync="jindudialogVisible" width="30%"> <div> <div> {{ sc.label2 }} </div> <div> <el-progress :percentage="jindutiao" :format="format"></el-progress> <el-progress :percentage="jindutiao" :format="format"></el-progress> </div> </div> </el-dialog> <el-dialog :title="$t('common.details')" :visible.sync="enclosureVisible" :show-close="false"> <span style="font-size:20px" class="scopeRowColor">{{ enclosureTitle }}不能上传附件是否继续</span> <span slot="footer" class="dialog-footer"> <el-dialog :title="$t('common.details')" :visible.sync="enclosureVisible" :show-close="false"> <span style="font-size:20px" class="scopeRowColor">{{ enclosureTitle }}不能上传附件是否继续</span> <span slot="footer" class="dialog-footer"> <el-button @click="enclosureVisible = false">取 消</el-button> <el-button type="primary" @click="uploadAnFiles">继续</el-button> <el-button type="primary" @click="uploadAnFiles">继续</el-button> </span> </el-dialog> <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag" width="70%"> <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag" width="70%"> <div style="height: 500px; overflow: auto;width:100%; "> <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline"> <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline"> <el-form-item> <el-input size="small" v-model="fromQueryMeta.name" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" suffix-icon="el-icon-edit"></el-input> <el-input size="small" v-model="fromQueryMeta.name" :placeholder="$t('shuJuGuanLi.shuJuJianSuo.valueone')" suffix-icon="el-icon-edit"></el-input> </el-form-item> <el-form-item> <el-button type="primary" size="small" @click="setSearchMetaData()">查询</el-button> <el-button type="info" size="small" @click="setRestMetaData()">重置</el-button> <el-button type="primary" size="small" @click="setSearchMetaData()">查询</el-button> <el-button type="info" size="small" @click="setRestMetaData()">重置</el-button> </el-form-item> </el-form> <el-table ref="filterTable" :data="metaDataTable" style="width: 100%" height="calc(100% - 130px)"> <el-table ref="filterTable" :data="metaDataTable" style="width: 100%" height="calc(100% - 130px)"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120"> </el-table-column> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a> <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> </el-table> <div style="margin-top: 15px" class="pagination_box"> <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange" :current-page="listMetaData.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listMetaData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listMetaData.count"> <div style="margin-top: 15px" class="pagination_box"> <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange" :current-page="listMetaData.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listMetaData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listMetaData.count"> </el-pagination> </div> </div> </el-dialog> <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag1" width="70%"> <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag1" width="70%"> <div style="height: 65vh; width: 100%"> <el-table ref="filterTable" :data="metaDataTable1" style="width: 100%" height="100%"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120"> <el-table ref="filterTable" :data="metaDataTable1" style="width: 100%" height="100%"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120"> </el-table-column> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <a class="scopeRowColor" @click="detail(scope.row)">{{ <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> </el-table> </div> </el-dialog> <el-dialog :title="fromQueryMeta.title" :visible.sync="warehouseDialog" width="70%" :close-on-click-modal="false" :before-close="handleWarehouseClose"> <el-dialog :title="fromQueryMeta.title" :visible.sync="warehouseDialog" width="70%" :close-on-click-modal="false" :before-close="handleWarehouseClose"> <div style="height:65vh"> <el-table ref="wareTable" :data="wareData" style="width: 100%" height="calc(100% - 1px)"> <el-table-column align="center" prop="name" :label="$t('common.name')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="msg" :label="$t('common.warehousResults')" /> <el-table ref="wareTable" :data="wareData" style="width: 100%" height="calc(100% - 1px)"> <el-table-column align="center" prop="name" :label="$t('common.name')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="msg" :label="$t('common.warehousResults')" /> </el-table> </div> </el-dialog> <input name="file1" :accept="'.zip'" type="file" id="editimageFile" multiple="multiple" style="display: none" @change="uploadAnFilesChange" /> <input name="file1" :accept="'.zip'" type="file" id="editimageFile" multiple="multiple" style="display: none" @change="uploadAnFilesChange" /> <el-dialog :visible.sync="noteVisible"> <div class="nodeBox"> <div style="text-align: center;"> @@ -735,7 +1151,7 @@ components: { MyBread, }, data() { data () { return { coordinateOption: [], disOptions: [ @@ -909,25 +1325,25 @@ { value: 'SL', label: "液化石油气", }, { },{ value: 'WA', label: "矿浆", }, { },{ value: 'ST', label: "蒸汽", }, { },{ value: 'CD', label: "二氧化碳", }, { },{ value: 'HY', label: "氢气", }, { },{ value: 'QT', label: "其他", }, { },{ value: '-1', label: "未知", }, { },{ value: '0', label: "未调查", }, @@ -1007,8 +1423,8 @@ }; }, mounted() { this.noteVisible = true; mounted () { this.noteVisible=true; //获取坐标系 this.setCoordinateSystem(); //获取项目名称 @@ -1017,73 +1433,73 @@ this.getFilePath(); //权限获取 this.getPerms(); window.addEventListener("resize", this.onResize); window.addEventListener("resize",this.onResize); this.calHeight(); //获取目录 this.getSelectdirTab(); }, beforeDestroy() { this.timer && clearTimeout(this.timer); window.removeEventListener("resize", this.onResize); beforeDestroy () { this.timer&&clearTimeout(this.timer); window.removeEventListener("resize",this.onResize); }, watch: {}, methods: { stateFormat(row, column) { var val = ['shp', 'gdb', 'xls', 'xlsx'] if (val.indexOf(row.type) > -1 && row.rows > 0) { stateFormat (row,column) { var val=['shp','gdb','xls','xlsx'] if(val.indexOf(row.type)>-1&&row.rows>0) { return '已上传,已入库' } else if (val.indexOf(row.type) > -1 && row.rows == 0) { } else if(val.indexOf(row.type)>-1&&row.rows==0) { return '已上传,未入库' } else { return '已上传' } }, setRestMetaData() { this.fromQueryMeta.name = ""; this.listMetaData.name = this.fromQueryMeta.name; this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = 10; setRestMetaData () { this.fromQueryMeta.name=""; this.listMetaData.name=this.fromQueryMeta.name; this.listMetaData.pageIndex=1; this.listMetaData.pageSize=10; this.startQueryMetaData(); }, setSearchMetaData() { this.listMetaData.name = this.fromQueryMeta.name; this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = 10; setSearchMetaData () { this.listMetaData.name=this.fromQueryMeta.name; this.listMetaData.pageIndex=1; this.listMetaData.pageSize=10; this.startQueryMetaData(); }, //元数据页面切换 handleMetaSizeChange(val) { this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = val; handleMetaSizeChange (val) { this.listMetaData.pageIndex=1; this.listMetaData.pageSize=val; this.startQueryMetaData(); }, //元数据页面切换 handMetaCurrentChange(val) { this.listMetaData.pageIndex = val; handMetaCurrentChange (val) { this.listMetaData.pageIndex=val; this.startQueryMetaData(); }, //元数据查询 async setMetaDataQuery(row) { this.fromQueryMeta.title = row.name; this.listMetaData = { async setMetaDataQuery (row) { this.fromQueryMeta.title=row.name; this.listMetaData={ id: row.metaid, }; const data = await dataUpload_selectMetaById(this.listMetaData); if (data.code != 200) { const data=await dataUpload_selectMetaById(this.listMetaData); if(data.code!=200) { return; } this.queryMetaFlag1 = true; this.metaDataTable1 = [data.result]; this.queryMetaFlag1=true; this.metaDataTable1=[data.result]; }, //元数据查询 setQueryMetaData(row) { this.fromQueryMeta.title = row.name; this.listMetaData = { setQueryMetaData (row) { this.fromQueryMeta.title=row.name; this.listMetaData={ metaid: row.id, name: "", pageIndex: 1, @@ -1091,68 +1507,68 @@ count: 0, }; this.startQueryMetaData(); this.queryMetaFlag = true; this.queryMetaFlag=true; }, async startQueryMetaData() { const data = await dataUpload_selectPageAndCountByPid(this.listMetaData); if (data.code != 200) { async startQueryMetaData () { const data=await dataUpload_selectPageAndCountByPid(this.listMetaData); if(data.code!=200) { return; } this.metaDataTable = data.result; this.listMetaData.count = data.count; this.metaDataTable=data.result; this.listMetaData.count=data.count; }, onResize() { this.timer && clearTimeout(this.timer); this.timer = setTimeout(() => { onResize () { this.timer&&clearTimeout(this.timer); this.timer=setTimeout(() => { this.calHeight(); }, 500); },500); }, calHeight() { calHeight () { this.$nextTick(() => { const rect = this.$refs.container.getBoundingClientRect(); const rect1 = this.$refs.container1.getBoundingClientRect(); const rect=this.$refs.container.getBoundingClientRect(); const rect1=this.$refs.container1.getBoundingClientRect(); this.tableHeight = `${rect.height + 40}px`; this.styleVar["height"] = `calc(100% - ${rect.height + 28}px)`; this.styleVar1["height"] = `calc(100% - ${rect1.height + 28}px)`; this.tableHeight=`${rect.height+40}px`; this.styleVar["height"]=`calc(100% - ${rect.height+28}px)`; this.styleVar1["height"]=`calc(100% - ${rect1.height+28}px)`; }); }, editFromDataClose() { this.updateFormdialog = false; editFromDataClose () { this.updateFormdialog=false; this.$nextTick(() => { this.editForm = JSON.parse(this.initialForm); this.editForm=JSON.parse(this.initialForm); }); }, //附件变化 uploadAnFilesChange() { var formData = new FormData(); var fs = document.getElementById("editimageFile"); if (fs.files.length == 0) { uploadAnFilesChange () { var formData=new FormData(); var fs=document.getElementById("editimageFile"); if(fs.files.length==0) { this.$message.error("请选择要上传的文件"); return; } for (var i = 0, c = fs.files.length; i < c; i++) { formData.append("file", fs.files[i]); // fs.files[i].name,file for(var i=0,c=fs.files.length;i<c;i++) { formData.append("file",fs.files[i]); // fs.files[i].name,file } for (var i in this.enclosureData) { formData.append("ids", this.enclosureData[i]); for(var i in this.enclosureData) { formData.append("ids",this.enclosureData[i]); } const that = this; this.sc = { const that=this; this.sc={ label1: '上传', label2: '文件上传进度:' } that.jindudialogVisible = true; that.$set(this, "jindutiaoname", "附件上传"); that.$set(this, "jindutiao", 0); that.jindudialogVisible=true; that.$set(this,"jindutiaoname","附件上传"); that.$set(this,"jindutiao",0); this.loading = true; this.loading=true; $.ajax( BASE_URL + "/dataUpload/uploadXlsAnnex?token=" + getToken() + "&path=" + BASE_URL+ "/dataUpload/uploadXlsAnnex?token="+ getToken()+ "&path="+ this.formInline.path, { type: "post", @@ -1162,24 +1578,24 @@ processData: false, contentType: false, success: (rs) => { this.loading = false; if (rs.code != 200) { this.loading=false; if(rs.code!=200) { return this.$message.error("附件上传失败"); } this.$set(this, "jindutiao", 100); this.$set(this,"jindutiao",100); this.$message({ message: "附件上传成功", type: "success", }); }, error: (rs) => { this.loading = false; this.loading=false; this.$message.error("附件上传失败"); }, xhr: function () { var myXhr = $.ajaxSettings.xhr(); if (myXhr.upload) { xhr: function() { var myXhr=$.ajaxSettings.xhr(); if(myXhr.upload) { //检查upload属性是否存在 myXhr.upload.addEventListener( "progress", @@ -1193,15 +1609,15 @@ ); }, //选择上传附件的文件 uploadAnFiles() { uploadAnFiles () { $("#editimageFile").click(); }, //上传附件 uploadAnnex() { uploadAnnex () { }, //附件上传 setEnclosure() { var enclosureData = [ setEnclosure () { var enclosureData=[ "bd.b_pac_hydrogeology", "bd.b_pac_frozensoil", "bd.b_pac_geologic_hazard", @@ -1212,185 +1628,185 @@ "bs.m_marker", "bs.s_explorationpoint", ]; var std = []; this.enclosureData = []; this.enclosureTitle = ""; for (var i in this.multipleDelete) { var row = this.multipleDelete[i]; var std=[]; this.enclosureData=[]; this.enclosureTitle=""; for(var i in this.multipleDelete) { var row=this.multipleDelete[i]; if (row.tab && row.rows && enclosureData.indexOf(row.tab) > -1) { if(row.tab&&row.rows&&enclosureData.indexOf(row.tab)>-1) { this.enclosureData.push(row.id); } else { std.push(row.name); } } if (std.length != 0) { this.enclosureTitle = std.toString(); this.enclosureVisible = true; if(std.length!=0) { this.enclosureTitle=std.toString(); this.enclosureVisible=true; } else { this.uploadAnFiles(); } }, //权限配置 showPermsMenu(res) { switch (res.tag) { showPermsMenu (res) { switch(res.tag) { case "/delete": this.menuStatus.delete = true; this.menuStatus.delete=true; break; case "/insert": this.menuStatus.insert = true; this.menuStatus.insert=true; break; case "/update": this.menuStatus.update = true; this.menuStatus.update=true; break; case "/upload": this.menuStatus.upload = true; this.menuStatus.upload=true; break; case "/download": this.menuStatus.download = true; this.menuStatus.download=true; break; } }, getPerms() { var val = this.$store.state.currentPerms; var permsEntity = this.$store.state.permsEntity; if (!permsEntity || !permsEntity.length) { 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; if(res.code==200) { permsEntity=res.result; } }); } for (var i = 0; i < permsEntity.length; i++) { if (val === permsEntity[i].perms) { for(var i=0;i<permsEntity.length;i++) { if(val===permsEntity[i].perms) { this.showPermsMenu(permsEntity[i]); } } }, //数据列表清单-table 点击 handleLoaderSizeChange(val) { this.listLoader.pageIndex = 1; this.listLoader.pageSize = val; handleLoaderSizeChange (val) { this.listLoader.pageIndex=1; this.listLoader.pageSize=val; this.getDataLoaderSelectDbData(); }, handleLoaderCurrentChange(val) { this.listLoader.pageIndex = val; handleLoaderCurrentChange (val) { this.listLoader.pageIndex=val; this.getDataLoaderSelectDbData(); }, async detail(res) { var val = res.tab.split("."); const data = await dataUpload_selectFields({ async detail (res) { var val=res.tab.split("."); const data=await dataUpload_selectFields({ ns: val[0], tab: val[1], }); if (data.code != 200) { if(data.code!=200) { this.$message.error("字段列表调用失败"); return; } var val_data = data.result; for (var i in val_data) { if (val_data[i].alias.indexOf("ID") != -1) { val_data[i].alias = val_data[i].alias.replace("ID", ""); var val_data=data.result; for(var i in val_data) { if(val_data[i].alias.indexOf("ID")!=-1) { val_data[i].alias=val_data[i].alias.replace("ID",""); } } this.dialogVisible = true; this.attributeData = val_data; this.dialogVisible=true; this.attributeData=val_data; this.listLoader = { this.listLoader={ id: res.id, pageIndex: 1, pageSize: 10, }; this.getDataLoaderSelectDbData(); }, async getDataLoaderSelectDbData() { const data1 = await dataUpload_selectDbData(this.listLoader); if (data1.code != 200) { async getDataLoaderSelectDbData () { const data1=await dataUpload_selectDbData(this.listLoader); if(data1.code!=200) { this.$message.error("字段列表调用失败"); return; } var val = data1.result; for (var i in val) { val[i].createuser = val[i].createName; val[i].depid = val[i].depName; val[i].dirid = val[i].dirName; val[i].verid = val[i].verName; val[i].updateuser = val[i].updateName; if (val[i].createtime != null) { val[i].createtime = this.changetimeLayer(val[i].createtime); var val=data1.result; for(var i in val) { val[i].createuser=val[i].createName; val[i].depid=val[i].depName; val[i].dirid=val[i].dirName; val[i].verid=val[i].verName; val[i].updateuser=val[i].updateName; if(val[i].createtime!=null) { val[i].createtime=this.changetimeLayer(val[i].createtime); } if (val[i].updatetime != null) { val[i].updatetime = this.changetimeLayer(val[i].updatetime); if(val[i].updatetime!=null) { val[i].updatetime=this.changetimeLayer(val[i].updatetime); } } this.dbTableData = data1.result; this.count1 = data1.count; this.dbTableData=data1.result; this.count1=data1.count; }, changetimeLayer(res) { var time = new Date(res); var y = time.getFullYear(); var m = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); changetimeLayer (res) { var time=new Date(res); var y=time.getFullYear(); var m=time.getMonth()+1; var d=time.getDate(); var h=time.getHours(); var mm=time.getMinutes(); var s=time.getSeconds(); return ( y + '-' + this.add0(m) + '-' + this.add0(d) + ' ' + h + ':' + mm + ':' + y+ '-'+ this.add0(m)+ '-'+ this.add0(d)+ ' '+ h+ ':'+ mm+ ':'+ s ); }, //自动匹配取消 setInsrtWareTableClose() { this.dialogWarehousing = false; this.activeName = ""; this.activeName2 = ""; this.activeName3 = ""; this.tableWareThree = []; this.tableWareTwo = []; this.tableWareOne = []; this.insertWareList = null; this.tableData = []; setInsrtWareTableClose () { this.dialogWarehousing=false; this.activeName=""; this.activeName2=""; this.activeName3=""; this.tableWareThree=[]; this.tableWareTwo=[]; this.tableWareOne=[]; this.insertWareList=null; this.tableData=[]; }, //自动匹配确认 async setInsrtWareTable() { this.loading = true; this.dialogWarehousing = false; this.loadText = "数据入库中,请等待..." if (this.tableWareThree.length != 0) { for (var i in this.tableWareThree) { var tabs = this.tableWareThree[i].tabs; for (var j in this.insertWareList) { if (this.insertWareList[j].tabs == tabs) { this.insertWareList[j].entity = this.tableWareThree[i].entity; async setInsrtWareTable () { this.loading=true; this.dialogWarehousing=false; this.loadText="数据入库中,请等待..." if(this.tableWareThree.length!=0) { for(var i in this.tableWareThree) { var tabs=this.tableWareThree[i].tabs; for(var j in this.insertWareList) { if(this.insertWareList[j].tabs==tabs) { this.insertWareList[j].entity=this.tableWareThree[i].entity; } } } } for (var i in this.metaFileData) { for(var i in this.metaFileData) { this.insertWareList.filter((res) => { if (res.name == this.metaFileData[i]) { res.isMeta = true; if(res.name==this.metaFileData[i]) { res.isMeta=true; } }); } const res = await dataUpload_insertFiles( const res=await dataUpload_insertFiles( JSON.stringify(this.insertWareList) ); if (res.code != 200) { if(res.code!=200) { this.$message.error("数据入库失败"); return; } @@ -1399,122 +1815,122 @@ message: "数据入库成功", type: "success", }); this.loading = false; this.loadText = "" if (res.result.length > 0) { this.warehouseDialog = true; this.wareData = res.result; this.loading=false; this.loadText="" if(res.result.length>0) { this.warehouseDialog=true; this.wareData=res.result; } this.setInsrtWareTableClose(); }, handleWarehouseClose() { this.warehouseDialog = false; this.wareData = []; handleWarehouseClose () { this.warehouseDialog=false; this.wareData=[]; }, //自动匹配 autoMatchWare() { var val1 = this.tableWareOne; var val2 = this.tableWareTwo; var std = []; for (var i = 0; i < val1.length; i++) { const stdTab = this.setSplitWare(val1[i].tab); for (var j = 0; j < val2.length; j++) { var tabs = stdTab.toLowerCase(); if (val2[j].tab.indexOf(tabs) > -1) { autoMatchWare () { var val1=this.tableWareOne; var val2=this.tableWareTwo; var std=[]; for(var i=0;i<val1.length;i++) { const stdTab=this.setSplitWare(val1[i].tab); for(var j=0;j<val2.length;j++) { var tabs=stdTab.toLowerCase(); if(val2[j].tab.indexOf(tabs)>-1) { std.push(val1[i].tab); val1[i].entity = val2[j].entity; val1[i].tabDesc = val2[j].tabDesc; val1[i].tabs = val2[j].tab; val1[i].ns = val2[j].ns; val1[i].entity=val2[j].entity; val1[i].tabDesc=val2[j].tabDesc; val1[i].tabs=val2[j].tab; val1[i].ns=val2[j].ns; this.tableWareThree.push(val1[i]); } } } std.forEach((item) => { this.tableWareOne = this.tableWareOne.filter( (items) => items.tab !== item this.tableWareOne=this.tableWareOne.filter( (items) => items.tab!==item ); }); }, setSplitWare(res) { if (res.indexOf(".shp") != -1) { setSplitWare (res) { if(res.indexOf(".shp")!=-1) { return res.split(".shp").join(""); } else if (res.indexOf(".mdb") != -1) { } else if(res.indexOf(".mdb")!=-1) { return res.split(".mdb").join(""); } else if (res.indexOf(".gdb") != -1) { } else if(res.indexOf(".gdb")!=-1) { return res.split(".gdb").join(""); } else { return res; } }, //数据匹配向左 setWareTableChangeLeft() { var res = this.wareTableFlag; var value1 = this.tableWareThree[res]; value1.entity = null; value1.tabDesc = null; if (this.tableWareOne.indexOf(value1) != -1) { setWareTableChangeLeft () { var res=this.wareTableFlag; var value1=this.tableWareThree[res]; value1.entity=null; value1.tabDesc=null; if(this.tableWareOne.indexOf(value1)!=-1) { } else { this.tableWareOne.push(value1); this.tableWareThree.splice(res, 1); this.activeName = ""; this.activeName2 = ""; this.activeName3 = ""; this.tableWareThree.splice(res,1); this.activeName=""; this.activeName2=""; this.activeName3=""; } }, //数据匹配向右 setWareTableChangeRight() { this.wareSelectOne.entity = this.wareSelectTwo.entity; this.wareSelectOne.tabDesc = this.wareSelectTwo.tabDesc; this.wareSelectOne.tabs = this.wareSelectTwo.ns + "." + this.wareSelectTwo.tab; if (this.tableWareThree.indexOf(this.wareSelectOne) != -1) { setWareTableChangeRight () { this.wareSelectOne.entity=this.wareSelectTwo.entity; this.wareSelectOne.tabDesc=this.wareSelectTwo.tabDesc; this.wareSelectOne.tabs= this.wareSelectTwo.ns+"."+this.wareSelectTwo.tab; if(this.tableWareThree.indexOf(this.wareSelectOne)!=-1) { } else { this.tableWareThree.push(this.wareSelectOne); this.tableWareOne.forEach((value, index, array) => { if (value.tab == this.wareSelectOne.tab) { this.tableWareOne.splice(index, 1); this.tableWareOne.forEach((value,index,array) => { if(value.tab==this.wareSelectOne.tab) { this.tableWareOne.splice(index,1); } }); this.activeName = ""; this.activeName2 = ""; this.activeName3 = ""; this.activeName=""; this.activeName2=""; this.activeName3=""; } }, //查询所有的表 async getDataLoaderSelectTabs() { const res = await dataUpload_selectTabs(); if (res.code != 200) { async getDataLoaderSelectTabs () { const res=await dataUpload_selectTabs(); if(res.code!=200) { this.$message.error("数据请求失败"); return; } this.tableWareTwo = res.result; this.tableWareTwo=res.result; }, //数据匹配左侧点击事件 singleElection(row) { this.wareSelectOne = row; this.activeName = row.eventid; singleElection (row) { this.wareSelectOne=row; this.activeName=row.eventid; }, //数据匹配左侧中间点击事件 singleElection2(row) { this.wareSelectTwo = row; this.activeName2 = row.entity; singleElection2 (row) { this.wareSelectTwo=row; this.activeName2=row.entity; }, //数据匹配左侧右侧点击事件 singleElection3(res) { this.wareTableFlag = res; this.activeName3 = this.tableWareThree[res].tab + res; singleElection3 (res) { this.wareTableFlag=res; this.activeName3=this.tableWareThree[res].tab+res; }, //开启数据匹配 showWareHousing() { showWareHousing () { this.getDataLoaderSelectTabs(); this.dialogWarehousing = true; this.dialogWarehousing=true; }, //kml文件入库 async setKMlWare() { this.loading = true; var obj = { async setKMlWare () { this.loading=true; var obj={ dirid: this.formInline.dirid, epsgCode: this.formInline.coordinateId, path: this.formInline.path, @@ -1522,23 +1938,23 @@ entity: this.formInline.tab, medium: this.formInline.medium, }; this.loadText = "数据映射查询中,请等待..." const data = await dataUpload_selectMappers(obj); if (data.code != 200) { this.loadText="数据映射查询中,请等待..." const data=await dataUpload_selectMappers(obj); if(data.code!=200) { return this.$message.error("数据映射失败"); } var std = data.result.filter((res) => { res.entity = obj.entity res.medium = obj.medium var std=data.result.filter((res) => { res.entity=obj.entity res.medium=obj.medium return res; }) this.loadText = "数据入库中,请等待..." const res = await dataUpload_insertKml( this.loadText="数据入库中,请等待..." const res=await dataUpload_insertKml( JSON.stringify(std) ); if (res.code != 200) { if(res.code!=200) { this.$message.error("数据入库失败"); return; } @@ -1547,80 +1963,80 @@ message: "数据入库成功", type: "success", }); this.loading = false; this.loadText = "" if (res.result.length > 0) { this.warehouseDialog = true; this.wareData = res.result; this.loading=false; this.loadText="" if(res.result.length>0) { this.warehouseDialog=true; this.wareData=res.result; } this.setInsrtWareTableClose(); }, //数据入库 async setFileWare() { if (this.formInline.uploadType == "v3") { async setFileWare () { if(this.formInline.uploadType=="v3") { this.setKMlWare() } else { if (this.pathBak != null) { if(this.pathBak!=null) { //是否有质检方案 if (this.formInline.uploadType == "v1") { if(this.formInline.uploadType=="v1") { //单文件上传 var std = []; for (var i in this.tableData) { if (this.tableData[i].name.indexOf(".zip") != -1) { if (this.tableData[i].code != null) { var std=[]; for(var i in this.tableData) { if(this.tableData[i].name.indexOf(".zip")!=-1) { if(this.tableData[i].code!=null) { std.push(this.tableData[i].name); } } } if (std.length != 0) { if(std.length!=0) { return this.$message.error( std.toString() + ",未质检或质检失败,不能入库" std.toString()+",未质检或质检失败,不能入库" ); } } else if (this.formInline.uploadType == "v2") { } else if(this.formInline.uploadType=="v2") { //整体项目上传 if (this.tableData.length != 2) { if(this.tableData.length!=2) { return this.$message.error("请保留一个zip数据,一个WBS数据进行入库"); } var std = []; for (var i in this.tableData) { if (this.tableData[i].code != null) { var std=[]; for(var i in this.tableData) { if(this.tableData[i].code!=null) { std.push(this.tableData[i].name); } } if (std.length != 0) { if(std.length!=0) { return this.$message.error( std.toString() + ",未质检或质检失败,不能入库" std.toString()+",未质检或质检失败,不能入库" ); } } } this.loading = true; var obj = { this.loading=true; var obj={ dirid: this.formInline.dirid, epsgCode: this.formInline.coordinateId, path: this.formInline.path, verid: this.formInline.verid, }; this.loadText = "数据映射查询中,请等待..." this.loadText="数据映射查询中,请等待..." //查询映射 const data = await dataUpload_selectMappers(obj); if (data.code != 200) { const data=await dataUpload_selectMappers(obj); if(data.code!=200) { return this.$message.error("数据映射失败"); } this.loading = false; this.loadText = " " var std = []; var result = data.result; this.insertWareList = data.result; for (var i in result) { if (result[i].type == "shp" || result[i].type == "gdb") { this.loading=false; this.loadText=" " var std=[]; var result=data.result; this.insertWareList=data.result; for(var i in result) { if(result[i].type=="shp"||result[i].type=="gdb") { std.push(result[i]); } } if (std.length != 0) { this.tableWareOne = std; if(std.length!=0) { this.tableWareOne=std; this.showWareHousing(); } else { this.setInsrtWareTable(); @@ -1628,239 +2044,239 @@ } }, //下载日志 handerLogClick(res) { for (var i in res.code) { var url = BASE_URL + "/dataUpload/downloadResult?token=" + getToken() + "&id=" + handerLogClick (res) { for(var i in res.code) { var url= BASE_URL+ "/dataUpload/downloadResult?token="+ getToken()+ "&id="+ res.code[i]; $("#downFrame").attr("src", url).click(); $("#downFrame").attr("src",url).click(); } }, //整体文件质检提交 commonTestQuay() { this.testQuayVisible = false; commonTestQuay () { this.testQuayVisible=false; // if (this.formCheckAll.diZaiType != "NO") { // this.formCheckAll.isDiZai = "YES"; // } this.sc = { this.sc={ label1: '质检', label2: '文件质检进度:' } this.jindudialogVisible = true; this.loading = false; this.$set(this, "jindutiao", 0); this.jindudialogVisible=true; this.loading=false; this.$set(this,"jindutiao",0); this.getStartTestQuayTaskStatus(); }, //整体文件多条数据质检 async getStartTestQuayTaskStatus() { if ( this.multipleSelection == 0 || this.taskStatus == this.multipleSelection.length async getStartTestQuayTaskStatus () { if( this.multipleSelection==0|| this.taskStatus==this.multipleSelection.length ) { this.jindudialogVisible = false; this.loading = false; this.jindudialogVisible=false; this.loading=false; return; } for (var i in this.multipleSelection) { var name = this.multipleSelection[i].name; var path = this.multipleSelection[i].path; if (name.indexOf(".zip") != -1) { this.formCheckAll.zipPath = path; } else if (name.indexOf(".xls") != -1) { this.formCheckAll.wbsPath = path; } else if (name.indexOf(".xlsx") != -1) { this.formCheckAll.wbsPath = path; for(var i in this.multipleSelection) { var name=this.multipleSelection[i].name; var path=this.multipleSelection[i].path; if(name.indexOf(".zip")!=-1) { this.formCheckAll.zipPath=path; } else if(name.indexOf(".xls")!=-1) { this.formCheckAll.wbsPath=path; } else if(name.indexOf(".xlsx")!=-1) { this.formCheckAll.wbsPath=path; } } this.formCheckAll.sjfl = '数字化成果' const data = await dataUpload_uploadChecks(this.formCheckAll); if (data.code != 200) { this.formCheckAll.sjfl='数字化成果' const data=await dataUpload_uploadChecks(this.formCheckAll); if(data.code!=200) { this.$message.error("数据质检提交失败"); this.taskStatus++; this.jindudialogVisible = false; this.loading = false; this.jindudialogVisible=false; this.loading=false; return; } var reset = data.result; this.progress = 0; this.setIntel = setInterval(() => { var reset=data.result; this.progress=0; this.setIntel=setInterval(() => { this.sendTaskStatus(reset); }, 5000); },5000); }, //单文件数据质检提交 async commonQuayTest() { async commonQuayTest () { // this.loading = true; this.quayTestVisible = false; this.taskStatus = 0; this.quayTestVisible=false; this.taskStatus=0; this.getStartTaskStatus(); this.sc = { this.sc={ label1: '质检', label2: '文件质检进度:' } this.jindudialogVisible = true; this.jindudialogVisible=true; this.$set(this, "jindutiao", 0); this.$set(this,"jindutiao",0); }, //单文件多条数据质检 async getStartTaskStatus() { const that = this; if ( this.multipleSelection == 0 || this.taskStatus == this.multipleSelection.length async getStartTaskStatus () { const that=this; if( this.multipleSelection==0|| this.taskStatus==this.multipleSelection.length ) { this.loading = false; that.jindudialogVisible = false; this.loading=false; that.jindudialogVisible=false; return; } this.quayTestForms.zipPath = this.multipleSelection[this.taskStatus].path; this.quayTestForms.zipPath=this.multipleSelection[this.taskStatus].path; // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path; if (this.quayTestForms.zipPath.indexOf(".zip") == -1) { if(this.quayTestForms.zipPath.indexOf(".zip")==-1) { this.taskStatus++; this.getStartTaskStatus(); } else { this.quayTestForms.names = this.pathBak var value = this.getCheckedKeys var bak = value.data.fullName.split("\\"); this.quayTestForms.xmmc = bak[this.taskStatus]; this.quayTestForms.sjzy = this.formInline.specialtyId; this.quayTestForms.zipPath = this.quayTestForms.names=this.pathBak var value=this.getCheckedKeys var bak=value.data.fullName.split("\\"); this.quayTestForms.xmmc=bak[this.taskStatus]; this.quayTestForms.sjzy=this.formInline.specialtyId; this.quayTestForms.zipPath= this.multipleSelection[this.taskStatus].path; // this.quayTestForms.wbsPath = this.multipleSelection[this.taskStatus].path; this.quayTestForms.sjfl = '数字化成果' const data = await dataUpload_uploadChecks(this.quayTestForms); if (data.code != 200) { this.quayTestForms.sjfl='数字化成果' const data=await dataUpload_uploadChecks(this.quayTestForms); if(data.code!=200) { this.$message.error("数据质检提交失败"); this.taskStatus++; this.getStartTaskStatus(); return; } var reset = data.result; this.progress = 0; this.setIntel = setInterval(() => { var reset=data.result; this.progress=0; this.setIntel=setInterval(() => { this.getselectTaskStatus(reset); }, 5000); },5000); } }, async getselectTaskStatus(res) { var std = 0; for (var i = 0; i < res.length; i++) { const data = await dataUpload_selectTaskStatus({ id: res[i] }); async getselectTaskStatus (res) { var std=0; for(var i=0;i<res.length;i++) { const data=await dataUpload_selectTaskStatus({ id: res[i] }); std += data.progress; std+=data.progress; if (data.status == 5) { if(data.status==5) { } else { if (data.status == 1 && data.resultFile == null) { if(data.status==1&&data.resultFile==null) { //质检成功 for (var i in this.tableData) { if ( this.tableData[i].path == for(var i in this.tableData) { if( this.tableData[i].path== this.multipleSelection[this.taskStatus].path ) { this.tableData[i].status = "质检成功"; this.tableData[i].status="质检成功"; } } // if (this.progress == 1) { clearInterval(this.setIntel); this.setIntel = null; this.setIntel=null; this.taskStatus++; this.getStartTaskStatus(); // } } else { //任务失败 for (var i in this.tableData) { if ( this.tableData[i].path == for(var i in this.tableData) { if( this.tableData[i].path== this.multipleSelection[this.taskStatus].path ) { this.tableData[i].status = "质检失败"; this.tableData[i].status="质检失败"; } } for (var i in this.tableData) { for (var j in this.multipleSelection) { if (this.tableData[i].path == this.multipleSelection[j].path) { this.tableData[i].code = res; for(var i in this.tableData) { for(var j in this.multipleSelection) { if(this.tableData[i].path==this.multipleSelection[j].path) { this.tableData[i].code=res; } } } clearInterval(this.setIntel); this.setIntel = null; this.setIntel=null; this.taskStatus++; this.getStartTaskStatus(); } } } this.progress = std / (res.length * 100); for (var i in this.tableData) { if (!this.multipleSelection[this.taskStatus]) { this.progress=std/(res.length*100); for(var i in this.tableData) { if(!this.multipleSelection[this.taskStatus]) { break; } if ( if( this.tableData[i].path == this.multipleSelection[this.taskStatus].path this.tableData[i].path==this.multipleSelection[this.taskStatus].path ) { this.$set(this, "jindutiao", parseInt(this.progress * 100)); this.tableData[i].status = parseInt(this.progress * 100) + "%"; this.$set(this,"jindutiao",parseInt(this.progress*100)); this.tableData[i].status=parseInt(this.progress*100)+"%"; } } }, async sendTaskStatus(res) { var std = 0; for (var i = 0; i < res.length; i++) { const data = await dataUpload_selectTaskStatus({ id: res[i] }); std += data.progress; async sendTaskStatus (res) { var std=0; for(var i=0;i<res.length;i++) { const data=await dataUpload_selectTaskStatus({ id: res[i] }); std+=data.progress; if (data.status == 5) { if(data.status==5) { } else { if (data.status == 1 && data.resultFile == null) { if(data.status==1&&data.resultFile==null) { //质检成功 for (var i in this.tableData) { for (var j in this.multipleSelection) { if (this.tableData[i].path == this.multipleSelection[j].path) { this.tableData[i].status = "质检成功"; for(var i in this.tableData) { for(var j in this.multipleSelection) { if(this.tableData[i].path==this.multipleSelection[j].path) { this.tableData[i].status="质检成功"; } } } // if (this.progress == 1) { clearInterval(this.setIntel); this.setIntel = null; this.loading = false; this.setIntel=null; this.loading=false; // } } else { //任务失败 for (var i in this.tableData) { for (var j in this.multipleSelection) { if (this.tableData[i].path == this.multipleSelection[j].path) { this.tableData[i].status = "质检失败"; for(var i in this.tableData) { for(var j in this.multipleSelection) { if(this.tableData[i].path==this.multipleSelection[j].path) { this.tableData[i].status="质检失败"; } } } for (var i in this.tableData) { for (var j in this.multipleSelection) { if (this.tableData[i].path == this.multipleSelection[j].path) { this.tableData[i].code = res; for(var i in this.tableData) { for(var j in this.multipleSelection) { if(this.tableData[i].path==this.multipleSelection[j].path) { this.tableData[i].code=res; } } } clearInterval(this.setIntel); this.setIntel = null; this.loading = false; this.setIntel=null; this.loading=false; // this.taskStatus++; // this.getStartTestQuayTaskStatus() } } } this.progress = std / (res.length * 100); this.progress=std/(res.length*100); // for (var i in this.tableData) { @@ -1868,11 +2284,11 @@ // this.tableData[i].status = parseInt(this.progress * 100) + "%"; // } // } this.$set(this, "jindutiao", parseInt(this.progress * 100)); for (var i in this.tableData) { for (var j in this.multipleSelection) { if (this.tableData[i].path == this.multipleSelection[j].path) { this.tableData[i].status = parseInt(this.progress * 100) + "%"; this.$set(this,"jindutiao",parseInt(this.progress*100)); for(var i in this.tableData) { for(var j in this.multipleSelection) { if(this.tableData[i].path==this.multipleSelection[j].path) { this.tableData[i].status=parseInt(this.progress*100)+"%"; } } } @@ -1919,612 +2335,612 @@ // this.setIntel = null; }, //删除上传的文件 async setFileDelete() { var data = JSON.stringify(this.multipleSelection); const res = await dataUploadDeleteFiles(data); if (res.code != 200) { async setFileDelete () { var data=JSON.stringify(this.multipleSelection); const res=await dataUploadDeleteFiles(data); if(res.code!=200) { this.$message.error("删除失败"); return; } this.getFileLength(); }, //清除所有input File; clearFileSelect() { this.formInline.specialtyData = "请选择数据"; if (document.getElementById("selectDataFile")) { document.getElementById("selectDataFile").value = ""; clearFileSelect () { this.formInline.specialtyData="请选择数据"; if(document.getElementById("selectDataFile")) { document.getElementById("selectDataFile").value=""; } this.formInline.metaData = "请选择元数据"; if (document.getElementById("metaDataFile")) { document.getElementById("metaDataFile").value = "" this.formInline.metaData="请选择元数据"; if(document.getElementById("metaDataFile")) { document.getElementById("metaDataFile").value="" } this.formInline.wbsData = "请选择WBS数据"; this.formInline.wbsData="请选择WBS数据"; if (document.getElementById("wbsDataFile")) { document.getElementById("wbsDataFile").value = ""; if(document.getElementById("wbsDataFile")) { document.getElementById("wbsDataFile").value=""; } }, //获取上传文件数量 async getFileLength() { const res = await dataUploadSelectFiles(this.formInline.path); if (res.code != 200) { async getFileLength () { const res=await dataUploadSelectFiles(this.formInline.path); if(res.code!=200) { this.$message.error("文件上传数据获取失败"); return; } if (res.result == null) { this.tableData = []; if(res.result==null) { this.tableData=[]; } else { for (var i in res.result) { res.result[i].status = "--"; res.result[i].code = null; for(var i in res.result) { res.result[i].status="--"; res.result[i].code=null; } this.tableData = res.result; this.tableData=res.result; } }, //上传文件 setFileUpload() { var token = getToken(); var formData = new FormData(); var fs1 = document.getElementById("selectDataFile"); if (fs1.files.length == 0) { setFileUpload () { var token=getToken(); var formData=new FormData(); var fs1=document.getElementById("selectDataFile"); if(fs1.files.length==0) { return this.$message.error("请选择需要上传的数据文件"); } var fs2 = null; if (this.formInline.uploadType == "v1") { var fs2=null; if(this.formInline.uploadType=="v1") { //单文件项目上传 // fs2 = document.getElementById("metaDataFile"); // if (this.pathBak != null && this.pathBak.indexOf("checkMain") > -1) { // if (fs2.files.length == 0) { // return this.$message.error("请选择需要上传的元数据文件"); // } // } } else if(this.formInline.uploadType == "v2") { //整体项目上传 fs2 = document.getElementById("wbsDataFile"); if (fs2.files.length == 0) { return this.$message.error("请选择需要上传的WBS数据文件"); } } else if (this.formInline.uploadType == "v3") { // } // } } else if(this.formInline.uploadType=="v2") { //整体项目上传 fs2=document.getElementById("wbsDataFile"); if(fs2.files.length==0) { return this.$message.error("请选择需要上传的WBS数据文件"); } } else if(this.formInline.uploadType=="v3") { } for (var i = 0, c = fs1.files.length; i < c; i++) { formData.append(fs1.files[i].name, fs1.files[i]); this.fileType.push({ name: fs1.files[i].name, type: "selectData" }); } if (fs2 != null) { for (var i = 0, c = fs2.files.length; i < c; i++) { formData.append(fs2.files[i].name, fs2.files[i]); if (this.formInline.uploadType == "v1") { this.fileType.push({ name: fs2.files[i].name, type: "metaData" }); } else if (this.formInline.uploadType == "v2") { this.fileType.push({ name: fs2.files[i].name, type: "wbsData" }); } } } const that = this; that.jindudialogVisible = true; let listval = []; formData.forEach((key, val) => { listval.push({ name: val, }); }); that.$set(this, "jindutiaoname", listval); that.$set(this, "jindutiao", 0); // this.loading = true; $.ajax( BASE_URL + "/dataUpload/uploadFiles?token=" + token + "&path=" + this.formInline.path, { type: "post", data: formData, async: true, cache: false, processData: false, contentType: false, success: (rs) => { this.loading = false; if (rs.code != 200) { return this.$message.error("数据上传失败"); } this.getFileLength(); this.$set(this, "jindutiao", 100); this.$message({ message: "上传成功", type: "success", for(var i=0,c=fs1.files.length;i<c;i++) { formData.append(fs1.files[i].name,fs1.files[i]); this.fileType.push({ name: fs1.files[i].name,type: "selectData" }); } if(fs2!=null) { for(var i=0,c=fs2.files.length;i<c;i++) { formData.append(fs2.files[i].name,fs2.files[i]); if(this.formInline.uploadType=="v1") { this.fileType.push({ name: fs2.files[i].name,type: "metaData" }); } else if(this.formInline.uploadType=="v2") { this.fileType.push({ name: fs2.files[i].name,type: "wbsData" }); } } } const that=this; that.jindudialogVisible=true; let listval=[]; formData.forEach((key,val) => { listval.push({ name: val, }); }); this.clearFileSelect(); }, error: (rs) => { this.loading = false; this.$message.error("数据上传失败"); }, xhr: function () { var myXhr = $.ajaxSettings.xhr(); that.$set(this,"jindutiaoname",listval); that.$set(this,"jindutiao",0); // this.loading = true; $.ajax( BASE_URL+ "/dataUpload/uploadFiles?token="+ token+ "&path="+ this.formInline.path, { type: "post", data: formData, async: true, cache: false, processData: false, contentType: false, success: (rs) => { this.loading=false; if(rs.code!=200) { return this.$message.error("数据上传失败"); } this.getFileLength(); this.$set(this,"jindutiao",100); this.$message({ message: "上传成功", type: "success", }); this.clearFileSelect(); }, error: (rs) => { this.loading=false; this.$message.error("数据上传失败"); }, xhr: function() { var myXhr=$.ajaxSettings.xhr(); if (myXhr.upload) { //检查upload属性是否存在 myXhr.upload.addEventListener( "progress", that.progressHandlingFunction, false ); //绑定progress事件的回调函数 if(myXhr.upload) { //检查upload属性是否存在 myXhr.upload.addEventListener( "progress", that.progressHandlingFunction, false ); //绑定progress事件的回调函数 } return myXhr; //xhr对象返回给jQuery使用 }, } ); }, progressHandlingFunction (event) { var loaded=event.loaded; //已上传 var loaded=Math.floor(100*(event.loaded/event.total)-1); //计算已经上传的百分比 $("#prog").html(loaded+"%"); //应用到显示UI,可根据自己需要修改 this.jindutiao=loaded; this.$set(this,"jindutiao",loaded); }, format (percentage) { // return percentage === 100 ? "上传完毕" : `${percentage}%`; var label; if(this.sc.label1=="上传") { label="上传完毕" } else { label=`${percentage}%` } return myXhr; //xhr对象返回给jQuery使用 return percentage===100? label:`${percentage}%`; }, } ); }, progressHandlingFunction(event) { var loaded = event.loaded; //已上传 var loaded = Math.floor(100 * (event.loaded / event.total) - 1); //计算已经上传的百分比 $("#prog").html(loaded + "%"); //应用到显示UI,可根据自己需要修改 this.jindutiao = loaded; this.$set(this, "jindutiao", loaded); }, format(percentage) { // return percentage === 100 ? "上传完毕" : `${percentage}%`; var label; if (this.sc.label1 == "上传") { label = "上传完毕" } else { label = `${percentage}%` } return percentage === 100 ? label : `${percentage}%`; }, //获取文件上传路径 async getFilePath() { const res = await dataUploadSelectPath(); if (res.code != 200) { this.$message.error("文件上传路径获取失败"); return; } this.formInline.path = res.result; }, //项目名称切换 entryNameChange(res) { var val = this.entryOption.filter((rs) => { if (rs.name == res) { return rs; } }); this.pathBak = val[0].checks; this.formInline.dirid = val[0].id; this.getselectVerByDirid(); }, async getFilePath () { const res=await dataUploadSelectPath(); if(res.code!=200) { this.$message.error("文件上传路径获取失败"); return; } this.formInline.path=res.result; }, //项目名称切换 entryNameChange (res) { var val=this.entryOption.filter((rs) => { if(rs.name==res) { return rs; } }); this.pathBak=val[0].checks; this.formInline.dirid=val[0].id; this.getselectVerByDirid(); }, //获取项目名称 async setProjectName() { const data = await dataUpload_selectProject(); if (data.code != 200) { this.$message.error("项目列表获取失败"); return; } this.entryOption = data.result; this.formInline.entryId = this.entryOption[0].name; this.formInline.dirid = this.entryOption[0].id; async setProjectName () { const data=await dataUpload_selectProject(); if(data.code!=200) { this.$message.error("项目列表获取失败"); return; } this.entryOption=data.result; this.formInline.entryId=this.entryOption[0].name; this.formInline.dirid=this.entryOption[0].id; this.getselectVerByDirid(); }, this.getselectVerByDirid(); }, //获取所有坐标系 async setCoordinateSystem() { const data = await dataUpload_selectCoords(); if (data.code != 200) { this.$message.error("坐标系列表获取失败"); return; } this.coordinateOption = data.result; this.formInline.coordinateId = this.coordinateOption[0].epsgcode; }, //WBS数据选择 setWBSFile() { $("#wbsDataFile").click(); }, //重置WPS选择 restWBSFile() { this.formInline.wbsData = "请选择WBS数据"; document.getElementById("wbsDataFile").value = ""; }, //WBS数据Change事件 handleWBSFileChange(event) { var std = []; var len = event.currentTarget.files.length; for (var i = 0; i < len; i++) { var f = event.currentTarget.files[i]; std.push(f.name); } this.formInline.wbsData = std.toString(); }, //数据质检弹窗关闭--项目整体 handleTestQuayCloseDown() { this.$confirm("确认关闭?") .then((_) => { this.closeTestQuayCloseDialog(); }) .catch((_) => { }); }, closeTestQuayCloseDialog() { this.testQuayVisible = false; }, //数据质检弹窗关闭--单文件 handleQuayTestCloseDown() { this.$confirm("确认关闭?") .then((_) => { this.closeQuayTestCloseDialog(); }) .catch((_) => { }); }, closeQuayTestCloseDialog() { this.quayTestVisible = false; }, //数据质检点击事件 handleQuayTestClick() { if (this.pathBak == null) { return this.$message("无质检方案"); } if (this.multipleSelection.length == 0) { return this.$message("请选择需要质检的文件"); } if (this.formInline.uploadType == "v1") { var value = this.getCheckedKeys var fileType = value.data.fullName; this.quayTestForms.names = fileType; this.quayTestForms.sjzy = this.formInline.specialtyId; this.quayTestVisible = true; } else if (this.formInline.uploadType == "v2") { var fileZip = []; var fileExcel = []; for (var i in this.multipleSelection) { if (this.multipleSelection[i].name.indexOf(".zip") != -1) { fileZip.push(this.multipleSelection[i].name); } else if (this.multipleSelection[i].name.indexOf(".xls") != -1) { fileExcel.push(this.multipleSelection[i].name); } else if (this.multipleSelection[i].name.indexOf(".xlsx") != -1) { fileExcel.push(this.multipleSelection[i].name); async setCoordinateSystem () { const data=await dataUpload_selectCoords(); if(data.code!=200) { this.$message.error("坐标系列表获取失败"); return; } } if (fileZip.length != 1) { return this.$message("请选择一个整体项目文件"); } if (fileExcel.length != 1) { return this.$message("请选择一个WBS文件"); } this.formCheckAll.names = JSON.parse(this.pathBak).toString(); var val = this.entryOption.filter((res) => { if (res.id == this.formInline.dirid) { return res; this.coordinateOption=data.result; this.formInline.coordinateId=this.coordinateOption[0].epsgcode; }, //WBS数据选择 setWBSFile () { $("#wbsDataFile").click(); }, //重置WPS选择 restWBSFile () { this.formInline.wbsData="请选择WBS数据"; document.getElementById("wbsDataFile").value=""; }, //WBS数据Change事件 handleWBSFileChange (event) { var std=[]; var len=event.currentTarget.files.length; for(var i=0;i<len;i++) { var f=event.currentTarget.files[i]; std.push(f.name); } }); this.formInline.wbsData=std.toString(); }, //数据质检弹窗关闭--项目整体 handleTestQuayCloseDown () { this.$confirm("确认关闭?") .then((_) => { this.closeTestQuayCloseDialog(); }) .catch((_) => { }); }, closeTestQuayCloseDialog () { this.testQuayVisible=false; }, //数据质检弹窗关闭--单文件 handleQuayTestCloseDown () { this.$confirm("确认关闭?") .then((_) => { this.closeQuayTestCloseDialog(); }) .catch((_) => { }); }, closeQuayTestCloseDialog () { this.quayTestVisible=false; }, //数据质检点击事件 handleQuayTestClick () { if(this.pathBak==null) { return this.$message("无质检方案"); } if(this.multipleSelection.length==0) { return this.$message("请选择需要质检的文件"); } if(this.formInline.uploadType=="v1") { this.formCheckAll.xmmc = val[0].name; this.formCheckAll.sjzy = this.formInline.specialtyId; if (this.formCheckAll.sjzy.indexOf("地灾") != -1) { this.formCheckAll.isDiZai = "YES"; this.formCheckAll.diZaiType = this.disOptions[0].value; } else { this.formCheckAll.isDiZai = "NO"; this.formCheckAll.diZaiType = "NO"; } this.testQuayVisible = true; } }, var value=this.getCheckedKeys var fileType=value.data.fullName; this.quayTestForms.names=fileType; this.quayTestForms.sjzy=this.formInline.specialtyId; this.quayTestVisible=true; } else if(this.formInline.uploadType=="v2") { var fileZip=[]; var fileExcel=[]; for(var i in this.multipleSelection) { if(this.multipleSelection[i].name.indexOf(".zip")!=-1) { fileZip.push(this.multipleSelection[i].name); } else if(this.multipleSelection[i].name.indexOf(".xls")!=-1) { fileExcel.push(this.multipleSelection[i].name); } else if(this.multipleSelection[i].name.indexOf(".xlsx")!=-1) { fileExcel.push(this.multipleSelection[i].name); } } if(fileZip.length!=1) { return this.$message("请选择一个整体项目文件"); } if(fileExcel.length!=1) { return this.$message("请选择一个WBS文件"); } this.formCheckAll.names=JSON.parse(this.pathBak).toString(); var val=this.entryOption.filter((res) => { if(res.id==this.formInline.dirid) { return res; } }); this.formCheckAll.xmmc=val[0].name; this.formCheckAll.sjzy=this.formInline.specialtyId; if(this.formCheckAll.sjzy.indexOf("地灾")!=-1) { this.formCheckAll.isDiZai="YES"; this.formCheckAll.diZaiType=this.disOptions[0].value; } else { this.formCheckAll.isDiZai="NO"; this.formCheckAll.diZaiType="NO"; } this.testQuayVisible=true; } }, //上传数据列表清单删除 async setWarehouseDel() { this.loading = true; var std = []; for (var i in this.multipleDelete) { std.push(this.multipleDelete[i].id); } const res = await dataUpload_deleteMetas({ ids: std.toString() }); this.loading = false; if (res.code != 200) { this.$message.error("删除失败"); } else { this.$message({ message: "删除成功", type: "success", }); this.setStartWareTable(); } }, //上传数据列表清单查询 setWarehouseSearch() { this.listData = { pageIndex: 1, pageSize: 10, name: this.formWarehousing.name, }; this.getAllWareTable(); }, //上传数据列表重置 setWarehouseReset() { this.formWarehousing.name = ""; this.listData = { pageIndex: 1, pageSize: 10, name: null, }; this.getAllWareTable(); }, //格式化时间 changetimeFile(res) { var time = new Date(res.createTime); var y = time.getFullYear(); var m = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); return ( y + "-" + this.add0(m) + "-" + this.add0(d) + " " + h + ":" + mm + ":" + s ); }, //格式化时间 add0(m) { return m < 10 ? "0" + m : m; }, //大小值改变 changeSizeFile(row, column, cellValue, index) { if (cellValue >= 1024) { return parseFloat(cellValue / 1204).toFixed(3) + "GB"; } else { return cellValue + "MB"; } }, //上传数据列表清单选择 handleDelteChange(val) { this.multipleDelete = val; }, //上传数据列表清单初始化 setStartWareTable() { // this.listData = { // pageIndex: 1, // pageSize: 10, // name: null, // }; this.listData.pageIndex = 1; this.listData.name = null; this.getAllWareTable(); }, //获取数据上传列表清单 async getAllWareTable() { const res = await dataUpload_selectByPageForUpload(this.listData); if (res.code != 200) { this.$message.error("列表数据获取失败"); return; } this.count = res.count; this.waretableData = res.result; }, //数据上传列表清单page Count 切换 handleSizeChange(val) { this.listData.pageIndex = 1; this.listData.pageSize = val; this.getAllWareTable(); }, //数据上传列表清单page切换 handleCurrentChange(val) { this.listData.pageIndex = val; this.getAllWareTable(); }, //上传数据表格选择 handleSelectionChange(res) { this.multipleSelection = res; }, //选择数据文件切换 handleSelectFileChange(event) { var std = []; var len = event.currentTarget.files.length; for (var i = 0; i < len; i++) { var f = event.currentTarget.files[i]; std.push(f.name); } this.formInline.specialtyData = std.toString(); }, //选择元数据 setMetaFile() { $("#metaDataFile").click(); }, //重置元数据 restMetaFile() { this.formInline.metaData = "请选择元数据"; document.getElementById("metaDataFile").value = ""; }, //选择元数据文件切换 handleMetaFileChange(event) { var std = []; var len = event.currentTarget.files.length; for (var i = 0; i < len; i++) { var f = event.currentTarget.files[i]; std.push(f.name); } this.formInline.metaData = std.toString(); this.metaFileData = std; }, //From表单初始化 setFromStart() { this.formInline.verid = null; this.formInline.specialtyId = "测量专业"; this.formInline.specialtyData = "请选择数据"; this.formInline.metaData = "请选择元数据"; this.formInline.entryId = null; this.formInline.selectFileType = "*.*"; this.formInline.coordinateId = this.coordinateOption[0].epsgcode; this.formInline.medium = ""; this.formInline.tab = ""; }, //选择数据 setSelectFile() { $("#selectDataFile").click(); }, //重置数据 restSelectFile() { this.formInline.specialtyData = "请选择数据"; document.getElementById("selectDataFile").value = ""; }, //入库类型切换 uploadTypeChange(res) { this.setFromStart(); if (res == "v2") { this.uploadFlag = false; this.formInline.selectFileType = ".zip"; this.formInline.entryId = this.entryOption[0].name; this.formInline.dirid = this.entryOption[0].id; this.getselectVerByDirid(); this.pathBak = this.entryOption[0].checks; } else if (res == "v3") { this.formInline.selectFileType = ".kml"; this.getSelectdirTab(); this.getselectVerByDirid(); this.formInline.specialtyId = "线路专业"; this.uploadFlag = true; this.formInline.tab = this.lineOptions[0].value; this.formInline.medium = this.mediumOptions[0].value } else { this.getSelectdirTab(); this.getselectVerByDirid(); this.uploadFlag = true; } this.formInline.uploadType = res; }, //版本号获取 async getselectVerByDirid() { this.verOption = []; const res = await dataUploadSelectVerByDirid({ dirid: this.formInline.dirid, }); if (res.code != 200) { this.$message.error("版本列表获取失败"); return; } this.verOption = res.result; this.formInline.verid = res.result[0].id; }, //目录列表获取 async getSelectdirTab() { const res = await selectdirTab(); if (res.code != 200) { this.$message.error("目录列表获取失败"); return; } this.catalogOption = this.treeData(res.result); this.formInline.dirName = this.catalogOption[0].name; this.formInline.dirid = this.catalogOption[0].id; // this.getStartDirChecked(this.catalogOption); this.getselectVerByDirid(); }, getStartDirChecked(res) { if (res.length != 0) { if (res[0].children == null || res[0].children == undefined) { this.formInline.dirid = res[0].id; } else { this.getStartDirChecked(res[0].children); } } }, //单文件质检弹窗初始化 startQuayTestForms() { (this.quayTestForms = { tolerance: "0.001", gcdOffset: "20", rangeOffset: "200", kzdOffset: "100", xgMax: "0.005", coordinateSystem: "CGCS2000/degree", imgResolution: "0.2", demTolerance: "5", demChangeRate: "200", lazDensity: "1", imgResolution: "0.2", }), (this.quayTestShow = { checkOsgb: false, checkXls: false, checkLaz: false, checkDem: false, checkAttrs: false, checkTopology: false, checkDecorate: false, checkOrigin: false, checkDom: false, checkMath: false, checkMeta: false, checkMain: false, }); }, //目录切换 catalogChange(data, node, nodeData) { this.startQuayTestForms(); // this.$refs['selectcascader'].dropDownVisible = false // var value = this.$refs['selectcascader'].getCheckedNodes(); var bak = node.data.checks; this.getCheckedKeys = node this.pathBak = bak; if (bak != null) { for (var key in this.quayTestShow) { if (bak.indexOf(key) != -1) { this.quayTestShow[key] = true; async setWarehouseDel () { this.loading=true; var std=[]; for(var i in this.multipleDelete) { std.push(this.multipleDelete[i].id); } } } var fileType = node.data.exts; if (fileType == null) { fileType = "*.*"; } this.formInline.selectFileType = fileType; this.formInline.dirid = node.data.id; this.formInline.dirName = node.data.name; this.getselectVerByDirid(); setTimeout(() => { this.$refs.multiSelect.blur() }, 100) }, //Tabsq切换 handleTabClick(tab, event) { if (tab.name == "second") { this.setStartWareTable(); } else { this.noteVisible = true } this.calHeight(); }, //树列表生成 treeData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 return cloneData.filter((father) => { // 循环所有项 let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 return father.pid == 0; // 返回一级菜单 }); }, const res=await dataUpload_deleteMetas({ ids: std.toString() }); this.loading=false; if(res.code!=200) { this.$message.error("删除失败"); } else { this.$message({ message: "删除成功", type: "success", }); this.setStartWareTable(); } }, //上传数据列表清单查询 setWarehouseSearch () { this.listData={ pageIndex: 1, pageSize: 10, name: this.formWarehousing.name, }; this.getAllWareTable(); }, //上传数据列表重置 setWarehouseReset () { this.formWarehousing.name=""; this.listData={ pageIndex: 1, pageSize: 10, name: null, }; this.getAllWareTable(); }, //格式化时间 changetimeFile (res) { var time=new Date(res.createTime); var y=time.getFullYear(); var m=time.getMonth()+1; var d=time.getDate(); var h=time.getHours(); var mm=time.getMinutes(); var s=time.getSeconds(); return ( y+ "-"+ this.add0(m)+ "-"+ this.add0(d)+ " "+ h+ ":"+ mm+ ":"+ s ); }, //格式化时间 add0 (m) { return m<10? "0"+m:m; }, //大小值改变 changeSizeFile (row,column,cellValue,index) { if(cellValue>=1024) { return parseFloat(cellValue/1204).toFixed(3)+"GB"; } else { return cellValue+"MB"; } }, //上传数据列表清单选择 handleDelteChange (val) { this.multipleDelete=val; }, //上传数据列表清单初始化 setStartWareTable () { // this.listData = { // pageIndex: 1, // pageSize: 10, // name: null, // }; this.listData.pageIndex=1; this.listData.name=null; this.getAllWareTable(); }, //获取数据上传列表清单 async getAllWareTable () { const res=await dataUpload_selectByPageForUpload(this.listData); if(res.code!=200) { this.$message.error("列表数据获取失败"); return; } this.count=res.count; this.waretableData=res.result; }, //数据上传列表清单page Count 切换 handleSizeChange (val) { this.listData.pageIndex=1; this.listData.pageSize=val; this.getAllWareTable(); }, //数据上传列表清单page切换 handleCurrentChange (val) { this.listData.pageIndex=val; this.getAllWareTable(); }, //上传数据表格选择 handleSelectionChange (res) { this.multipleSelection=res; }, //选择数据文件切换 handleSelectFileChange (event) { var std=[]; var len=event.currentTarget.files.length; for(var i=0;i<len;i++) { var f=event.currentTarget.files[i]; std.push(f.name); } this.formInline.specialtyData=std.toString(); }, //选择元数据 setMetaFile () { $("#metaDataFile").click(); }, //重置元数据 restMetaFile () { this.formInline.metaData="请选择元数据"; document.getElementById("metaDataFile").value=""; }, //选择元数据文件切换 handleMetaFileChange (event) { var std=[]; var len=event.currentTarget.files.length; for(var i=0;i<len;i++) { var f=event.currentTarget.files[i]; std.push(f.name); } this.formInline.metaData=std.toString(); this.metaFileData=std; }, //From表单初始化 setFromStart () { this.formInline.verid=null; this.formInline.specialtyId="测量专业"; this.formInline.specialtyData="请选择数据"; this.formInline.metaData="请选择元数据"; this.formInline.entryId=null; this.formInline.selectFileType="*.*"; this.formInline.coordinateId=this.coordinateOption[0].epsgcode; this.formInline.medium=""; this.formInline.tab=""; }, //选择数据 setSelectFile () { $("#selectDataFile").click(); }, //重置数据 restSelectFile () { this.formInline.specialtyData="请选择数据"; document.getElementById("selectDataFile").value=""; }, //入库类型切换 uploadTypeChange (res) { this.setFromStart(); if(res=="v2") { this.uploadFlag=false; this.formInline.selectFileType=".zip"; this.formInline.entryId=this.entryOption[0].name; this.formInline.dirid=this.entryOption[0].id; this.getselectVerByDirid(); this.pathBak=this.entryOption[0].checks; } else if(res=="v3") { this.formInline.selectFileType=".kml"; this.getSelectdirTab(); this.getselectVerByDirid(); this.formInline.specialtyId="线路专业"; this.uploadFlag=true; this.formInline.tab=this.lineOptions[0].value; this.formInline.medium=this.mediumOptions[0].value } else { this.getSelectdirTab(); this.getselectVerByDirid(); this.uploadFlag=true; } this.formInline.uploadType=res; }, //版本号获取 async getselectVerByDirid () { this.verOption=[]; const res=await dataUploadSelectVerByDirid({ dirid: this.formInline.dirid, }); if(res.code!=200) { this.$message.error("版本列表获取失败"); return; } this.verOption=res.result; this.formInline.verid=res.result[0].id; }, //目录列表获取 async getSelectdirTab () { const res=await selectdirTab(); if(res.code!=200) { this.$message.error("目录列表获取失败"); return; } this.catalogOption=this.treeData(res.result); this.formInline.dirName=this.catalogOption[0].name; this.formInline.dirid=this.catalogOption[0].id; // this.getStartDirChecked(this.catalogOption); this.getselectVerByDirid(); }, getStartDirChecked (res) { if(res.length!=0) { if(res[0].children==null||res[0].children==undefined) { this.formInline.dirid=res[0].id; } else { this.getStartDirChecked(res[0].children); } } }, //单文件质检弹窗初始化 startQuayTestForms () { (this.quayTestForms={ tolerance: "0.001", gcdOffset: "20", rangeOffset: "200", kzdOffset: "100", xgMax: "0.005", coordinateSystem: "CGCS2000/degree", imgResolution: "0.2", demTolerance: "5", demChangeRate: "200", lazDensity: "1", imgResolution: "0.2", }), (this.quayTestShow={ checkOsgb: false, checkXls: false, checkLaz: false, checkDem: false, checkAttrs: false, checkTopology: false, checkDecorate: false, checkOrigin: false, checkDom: false, checkMath: false, checkMeta: false, checkMain: false, }); }, //目录切换 catalogChange (data,node,nodeData) { this.startQuayTestForms(); // this.$refs['selectcascader'].dropDownVisible = false // var value = this.$refs['selectcascader'].getCheckedNodes(); var bak=node.data.checks; this.getCheckedKeys=node this.pathBak=bak; if(bak!=null) { for(var key in this.quayTestShow) { if(bak.indexOf(key)!=-1) { this.quayTestShow[key]=true; } } } var fileType=node.data.exts; if(fileType==null) { fileType="*.*"; } this.formInline.selectFileType=fileType; this.formInline.dirid=node.data.id; this.formInline.dirName=node.data.name; this.getselectVerByDirid(); setTimeout(() => { this.$refs.multiSelect.blur() },100) }, //Tabsq切换 handleTabClick (tab,event) { if(tab.name=="second") { this.setStartWareTable(); } else { this.noteVisible=true } this.calHeight(); }, //树列表生成 treeData (source) { let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 return cloneData.filter((father) => { // 循环所有项 let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据 branchArr.length>0? (father.children=branchArr):""; // 给父级添加一个children属性,并赋值 return father.pid==0; // 返回一级菜单 }); }, }, }; </script> src/views/datamanage/metadataManage.vue
@@ -5,35 +5,25 @@ `${$t('dataManage.metadataManage')}`, ]"></My-bread> <el-divider /> <div class="inquire subpage_Div" ref="container" > <el-form ref="queryForm" :model="queryForm" :inline="true" > <div class="inquire subpage_Div" ref="container"> <el-form ref="queryForm" :model="queryForm" :inline="true"> <div class="flex_box"> <div style="margin-right: auto"> <el-form-item size="small"> <el-select :popper-append-to-body="false" v-model="queryForm.depName" ref="treeSelect" > <el-option :value="queryForm.depid" :label="queryForm.depName" style="height: auto" > <el-tree ref="tree" :data="companyOption1" node-key="id" :props="cascader" @node-click="handleChange1" /> <el-select :popper-append-to-body="false" v-model="queryForm.depName" ref="treeSelect"> <el-option :value="queryForm.depid" :label="queryForm.depName" style="height: auto"> <el-tree ref="tree" :data="companyOption1" node-key="id" :props="cascader" @node-click="handleChange1" /> </el-option> </el-select> <!-- <el-cascader @@ -51,23 +41,17 @@ ></el-cascader> --> </el-form-item> <el-form-item size="small"> <el-select :popper-append-to-body="false" v-model="queryForm.dirName" ref="treeSelect1" > <el-option :value="queryForm.dirid" :label="queryForm.dirName" style="height: auto" > <el-tree ref="tree" :data="companyOption" node-key="id" :props="cascader" @node-click="handleChange" /> <el-select :popper-append-to-body="false" v-model="queryForm.dirName" ref="treeSelect1"> <el-option :value="queryForm.dirid" :label="queryForm.dirName" style="height: auto"> <el-tree ref="tree" :data="companyOption" node-key="id" :props="cascader" @node-click="handleChange" /> </el-option> </el-select> <!-- <el-cascader @@ -85,36 +69,26 @@ ></el-cascader> --> </el-form-item> <el-form-item size="small"> <el-select :popper-append-to-body="false" v-model="queryForm.verid" placeholder="请选择" @change="verHandleChange($event)" > <el-option v-for="item in verOptions" :key="item.id" :label="item.name" :value="item.id" > <el-select :popper-append-to-body="false" v-model="queryForm.verid" placeholder="请选择" @change="verHandleChange($event)"> <el-option v-for="item in verOptions" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> </el-form-item> <el-form-item prop="name" size="small" > <el-form-item prop="name" size="small"> <!-- suffix-icon="el-icon-edit" :placeholder="$t('common.pleaseInput')"--> <el-input v-model="queryForm.name" :placeholder="$t('shuJuGuanLi.lable2')" style="width: 200px" ><i slot="suffix" class="el-icon-search" @click="queryInfo()" style="padding-right: 8px" ></i></el-input> <el-input v-model="queryForm.name" :placeholder="$t('shuJuGuanLi.lable2')" style="width: 200px"><i slot="suffix" class="el-icon-search" @click="queryInfo()" style="padding-right: 8px"></i></el-input> </el-form-item> </div> <div> @@ -129,31 +103,25 @@ > </el-form-item>--> <el-form-item v-if="btnStatus.delete"> <el-button type="danger" size="small" @click="deleteMetaInfo" icon="el-icon-delete" >{{ $t("common.delete") }} <el-button type="danger" size="small" @click="deleteMetaInfo" icon="el-icon-delete">{{ $t("common.delete") }} </el-button> </el-form-item> <el-form-item v-if="btnStatus.download"> <el-button @click="downFormData" icon="el-icon-download" type="success" size="small" >{{ $t("common.download") }} <el-button @click="downFormData" icon="el-icon-download" type="success" size="small">{{ $t("common.download") }} </el-button> </el-form-item> <el-form-item> <el-button @click="resetInfo('queryForm')" icon="el-icon-refresh" type="info" size="small" >{{ $t("common.reset") }} <el-button @click="resetInfo('queryForm')" icon="el-icon-refresh" type="info" size="small">{{ $t("common.reset") }} </el-button> </el-form-item> </div> @@ -161,58 +129,43 @@ </el-form> </div> <div class="dividing-line"></div> <div class="table_box subpage_Div" :style="styleVar" > <el-table :data="tableData" style="width: 100%" border @selection-change="handleSelectionChange" height="calc(100% - 57px)" > <el-table-column type="selection" width="55" /> <el-table-column :label="$t('dataManage.dictionaryManageObj.number')" type="index" width="50" > <div class="table_box subpage_Div" :style="styleVar"> <el-table :data="tableData" style="width: 100%" border @selection-change="handleSelectionChange" height="calc(100% - 57px)"> <el-table-column type="selection" width="55" /> <el-table-column :label="$t('dataManage.dictionaryManageObj.number')" type="index" width="50"> </el-table-column> <el-table-column :label="$t('dataManage.vmobj.name')"> <template slot-scope="scope"> <span v-if="scope.row.ismeta > 0"> <el-link style="color: #409eff" title="源数据查询" @click="setQueryMetaData(scope.row)" target="_blank" >{{ scope.row.name }}</el-link> <el-link style="color: #409eff" title="源数据查询" @click="setQueryMetaData(scope.row)" target="_blank">{{ scope.row.name }}</el-link> </span> <span v-else-if="scope.row.metaid > 0"> <el-link style="color: #409eff" title="元数据查询" @click="setMetaDataQuery(scope.row)" target="_blank" >{{ scope.row.name }}</el-link></span> <el-link style="color: #409eff" title="元数据查询" @click="setMetaDataQuery(scope.row)" target="_blank">{{ scope.row.name }}</el-link> </span> <span v-else>{{ scope.row.name }}</span> </template> </el-table-column> <el-table-column prop="type" :label="$t('dataManage.vmobj.format')" > <el-table-column prop="type" :label="$t('dataManage.vmobj.format')"> <template slot-scope="scope"> <span v-if="scope.row.type == 'gdb'"> <el-link @click="setSelectGdbByGuid(scope.row)" style="color: #409eff" > <el-link @click="setSelectGdbByGuid(scope.row)" style="color: #409eff"> {{ scope.row.type }} </el-link> </span> @@ -224,32 +177,22 @@ </el-table-column> <el-table-column prop="sizes" :label="$t('dataManage.vmobj.size')" :formatter="stateFormatSizes" /> <el-table-column prop="depName" :label="$t('dataManage.vmobj.depName')" /> <el-table-column prop="dirName" :label="$t('dataManage.vmobj.dirName')" width="200" /> <el-table-column prop="verName" :label="$t('dataManage.vmobj.versionNumber')" /> <el-table-column prop="sizes" :label="$t('dataManage.vmobj.size')" :formatter="stateFormatSizes" /> <el-table-column prop="depName" :label="$t('dataManage.vmobj.depName')" /> <el-table-column prop="dirName" :label="$t('dataManage.vmobj.dirName')" width="200" /> <el-table-column prop="verName" :label="$t('dataManage.vmobj.versionNumber')" /> <el-table-column :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <!-- <span ></span> --> <el-link></el-link> <el-link :underline="false" @click="detail(scope.row)" >{{ <el-link :underline="false" @click="detail(scope.row)">{{ scope.row.tab }}</el-link> </template> @@ -260,97 +203,76 @@ :label="$t('dataManage.vmobj.tab')" :formatter="formatData" /> --> <el-table-column prop="rows" :label="$t('dataManage.vmobj.row')" /> <el-table-column prop="rows" :label="$t('dataManage.vmobj.row')" /> <el-table-column :label="$t('common.dataStatus')" :formatter="stateFormat" > <el-table-column :label="$t('common.dataStatus')" :formatter="stateFormat"> </el-table-column> <el-table-column prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> <el-table-column prop="createTime" :label="$t('dataManage.vmobj.createontime')" :formatter="formatData" /> <el-table-column min-width="210" :label="$t('common.operate')" > <el-table-column prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> <el-table-column prop="createTime" :label="$t('dataManage.vmobj.createontime')" :formatter="formatData" /> <el-table-column min-width="210" :label="$t('common.operate')"> <template slot-scope="scope"> <el-button @click="showDetail(scope.row)" type="primary" plain size="small" >{{ $t("common.details") }} <el-button @click="showDetail(scope.row)" type="primary" plain size="small">{{ $t("common.details") }} </el-button> <el-button type="warning" plain size="small" v-if="btnStatus.update" @click="editInfo(scope.row)" style="margin-left: 10px" >{{ $t("common.edit") }} <el-button type="warning" plain size="small" v-if="btnStatus.update" @click="editInfo(scope.row)" style="margin-left: 10px">{{ $t("common.edit") }} </el-button> <el-button plain size="small" v-if="showPreview(scope.row)" @click="handlePreview(scope.row)" style="margin-left: 10px" >{{ $t("common.preview") }} <el-button plain size="small" v-if="showPreview(scope.row)" @click="handlePreview(scope.row)" style="margin-left: 10px">{{ $t("common.preview") }} </el-button> <el-button plain size="small" type="success" v-if="showCAD(scope.row)" @click="handleCAD(scope.row)" style="margin-left: 10px"> {{ $t('common.preview') }}</el-button> </template> </el-table-column> </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="count" > <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="count"> </el-pagination> </div> </div> <div class="infoBox_box" v-show="showinfoBox" style="z-index:99999" > <div class="infoBox_box" v-show="showinfoBox" style="z-index:99999"> <div class="infoBox box_div"> <div slot="header" class="clearfix" > <div slot="header" class="clearfix"> <span>{{ $t("common.details") }}</span> <div style="float: right; cursor: pointer" @click="closeDetial" > <div style="float: right; cursor: pointer" @click="closeDetial"> <i class="el-icon-close"></i> </div> </div> <el-divider></el-divider> <div class="contentBox" style="padding: 1%" > <div class="contentBox" style="padding: 1%"> <p>{{ $t("dataManage.vmobj.name") }}:{{ itemdetail.name }}</p> <el-divider></el-divider> <p>{{ $t("dataManage.vmobj.format") }}:{{ itemdetail.type }}</p> @@ -392,69 +314,45 @@ </div> </div> <el-dialog width="80vh" top="5vh" :title=" <el-dialog width="80vh" top="5vh" :title=" behavior == '新增用户' ? `${$t('common.append')}` : `${$t('common.update')}` " :visible.sync="dialogFormVisible" :before-close="handleClose" > <el-form :model="editForm" ref="editForm" > <el-form-item :label="$t('dataManage.vmobj.name')" :label-width="formLabelWidth" > <el-input v-model="editForm.name" autocomplete="off" ></el-input> :visible.sync="dialogFormVisible" :before-close="handleClose"> <el-form :model="editForm" ref="editForm"> <el-form-item :label="$t('dataManage.vmobj.name')" :label-width="formLabelWidth"> <el-input v-model="editForm.name" autocomplete="off"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.format')" :label-width="formLabelWidth" > <el-input v-model="editForm.type" autocomplete="off" ></el-input> <el-form-item :label="$t('dataManage.vmobj.format')" :label-width="formLabelWidth"> <el-input v-model="editForm.type" autocomplete="off"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.size')" :label-width="formLabelWidth" > <el-input v-model="editForm.sizes" autocomplete="off" ></el-input> <el-form-item :label="$t('dataManage.vmobj.size')" :label-width="formLabelWidth"> <el-input v-model="editForm.sizes" autocomplete="off"></el-input> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.depName')" :label-width="formLabelWidth" > <el-select style="width: 100%" :popper-append-to-body="false" v-model="editForm.depName" > <el-option :value="editForm.depid" :label="editForm.depName" style="height: auto" > <el-tree ref="tree" :data="companyOption1" node-key="id" :props="cascader" @node-click="handleChange2" /> <el-form-item :label="$t('dataManage.vmobj.depName')" :label-width="formLabelWidth"> <el-select style="width: 100%" :popper-append-to-body="false" v-model="editForm.depName"> <el-option :value="editForm.depid" :label="editForm.depName" style="height: auto"> <el-tree ref="tree" :data="companyOption1" node-key="id" :props="cascader" @node-click="handleChange2" /> </el-option> </el-select> <!-- <el-cascader @@ -464,27 +362,19 @@ style="width:350px" ></el-cascader> --> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.dirName')" :label-width="formLabelWidth" > <el-select style="width: 100%" :popper-append-to-body="false" v-model="editForm.dirName" > <el-option :value="editForm.dirid" :label="editForm.dirName" style="height: auto" > <el-tree ref="tree" :data="dirComPanyOption" node-key="id" :props="cascader" @node-click="handleChange3" /> <el-form-item :label="$t('dataManage.vmobj.dirName')" :label-width="formLabelWidth"> <el-select style="width: 100%" :popper-append-to-body="false" v-model="editForm.dirName"> <el-option :value="editForm.dirid" :label="editForm.dirName" style="height: auto"> <el-tree ref="tree" :data="dirComPanyOption" node-key="id" :props="cascader" @node-click="handleChange3" /> </el-option> </el-select> <!-- <el-cascader @@ -494,14 +384,10 @@ style="width:350px" ></el-cascader> --> </el-form-item> <el-form-item :label="$t('dataManage.vmobj.describe')" :label-width="formLabelWidth" > <el-input v-model="editForm.describe" autocomplete="off" ></el-input> <el-form-item :label="$t('dataManage.vmobj.describe')" :label-width="formLabelWidth"> <el-input v-model="editForm.describe" autocomplete="off"></el-input> </el-form-item> <!-- <el-form-item :label="$t('dataManage.vmobj.gather')" @@ -510,382 +396,264 @@ <el-input v-model="editForm.gather" autocomplete="off"></el-input> </el-form-item> --> </el-form> <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer" > <el-button size="small" @click="cancelEdit()" >{{ $t("common.reset") }} <div v-if="behavior == '修改信息'" slot="footer" class="dialog-footer"> <el-button size="small" @click="cancelEdit()">{{ $t("common.reset") }} </el-button> <el-button size="small" type="primary" @click="sendEdit('editForm')" v-loading.fullscreen.lock="fullscreenLoading" >{{ $t("common.submit") }} <el-button size="small" type="primary" @click="sendEdit('editForm')" v-loading.fullscreen.lock="fullscreenLoading">{{ $t("common.submit") }} </el-button> </div> <div v-else slot="footer" class="dialog-footer" > <el-button size="small" @click="cancelAdd('editForm')" >{{ $t("common.reset") }} <div v-else slot="footer" class="dialog-footer"> <el-button size="small" @click="cancelAdd('editForm')">{{ $t("common.reset") }} </el-button> <el-button size="small" type="primary" @click="sendAdd('editForm')" v-loading.fullscreen.lock="fullscreenLoading" >{{ $t("common.submit") }} <el-button size="small" type="primary" @click="sendAdd('editForm')" v-loading.fullscreen.lock="fullscreenLoading">{{ $t("common.submit") }} </el-button> </div> </el-dialog> <el-dialog :title="$t('common.details')" :visible.sync="dialogVisible" width="70%" > <el-dialog :title="$t('common.details')" :visible.sync="dialogVisible" width="70%"> <div style="height: 600px"> <el-table ref="filterTable" :data="dbTableData" height="90%" border style="width: 100%" > <el-table-column width="60" align="center" type="index" :label="$t('common.index')" /> <el-table-column v-for="(item, index) in attributeData" :key="index" :label="item.alias" :prop="item.field" show-overflow-tooltip align="center" ></el-table-column> <el-table ref="filterTable" :data="dbTableData" height="90%" border style="width: 100%"> <el-table-column width="60" align="center" type="index" :label="$t('common.index')" /> <el-table-column v-for="(item, index) in attributeData" :key="index" :label="item.alias" :prop="item.field" show-overflow-tooltip align="center"></el-table-column> </el-table> <div style="margin-top: 10px" class="pagination_box" > <el-pagination @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange" :current-page="listLoader.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listLoader.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count1" > <div style="margin-top: 10px" class="pagination_box"> <el-pagination @size-change="handleLoaderSizeChange" @current-change="handleLoaderCurrentChange" :current-page="listLoader.pageIndex" :page-sizes="[10, 50, 100, 200]" :page-size="listLoader.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="count1"> </el-pagination> </div> </div> </el-dialog> <div class="downloadBox box_div subpage_Div" v-if="showCodeBox" > <div class="downloadBox box_div subpage_Div" v-if="showCodeBox"> <h4 style="padding: 20px">{{ $t("common.passworld") }}</h4> <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm" > <el-form-item :label="$t('common.passworld')" prop="password" > <el-input type="password" v-model="codeForm.password" show-password ></el-input> <el-form :model="codeForm" :rules="rules" ref="codeForm" label-width="100px" class="codeForm"> <el-form-item :label="$t('common.passworld')" prop="password"> <el-input type="password" v-model="codeForm.password" show-password></el-input> </el-form-item> <el-form-item :label="$t('common.SPassword')" prop="repassword" > <el-input type="password" v-model="codeForm.repassword" show-password ></el-input> <el-form-item :label="$t('common.SPassword')" prop="repassword"> <el-input type="password" v-model="codeForm.repassword" show-password></el-input> </el-form-item> <el-form-item> <el-button class="primary" size="small" @click="download('codeForm')" >{{ $t("common.confirm") }} <el-button class="primary" size="small" @click="download('codeForm')">{{ $t("common.confirm") }} </el-button> <el-button type="info" size="small" @click="closeDown('codeForm')" >{{ $t("common.cancel") }} <el-button type="info" size="small" @click="closeDown('codeForm')">{{ $t("common.cancel") }} </el-button> </el-form-item> </el-form> </div> <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag" width="70%" > <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag" width="70%"> <div style="height: 65vh; width: 100%"> <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline" > <el-form :inline="true" :model="fromQueryMeta" class="demo-form-inline"> <el-form-item> <el-input size="small" v-model="fromQueryMeta.name" ></el-input> <el-input size="small" v-model="fromQueryMeta.name"></el-input> </el-form-item> <el-form-item> <el-button type="primary" size="small" @click="setSearchMetaData()" >查询 <el-button type="primary" size="small" @click="setSearchMetaData()">查询 </el-button> <el-button type="info" size="small" @click="setRestMetaData()" >重置 <el-button type="info" size="small" @click="setRestMetaData()">重置 </el-button> </el-form-item> </el-form> <el-table ref="filterTable" :data="metaDataTable" style="width: 100%" height="calc(100% - 100px)" > <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" ></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120" > <el-table ref="filterTable" :data="metaDataTable" style="width: 100%" height="calc(100% - 100px)"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120"> </el-table-column> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')" > <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <a class="scopeRowColor" @click="detail(scope.row)" >{{ <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> </el-table> <div class="pagination_box" style="margin-top: 15px" > <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange" :current-page="listMetaData.pageIndex" :page-sizes="[10, 50, 100, 200,500]" :page-size="listMetaData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listMetaData.count" > <div class="pagination_box" style="margin-top: 15px"> <el-pagination @size-change="handleMetaSizeChange" @current-change="handMetaCurrentChange" :current-page="listMetaData.pageIndex" :page-sizes="[10, 50, 100, 200,500]" :page-size="listMetaData.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listMetaData.count"> </el-pagination> </div> </div> </el-dialog> <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag1" width="70%" > <el-dialog :title="fromQueryMeta.title" :visible.sync="queryMetaFlag1" width="70%"> <div style="height: 65vh; width: 100%"> <el-table ref="filterTable" :data="metaDataTable1" style="width: 100%" height="100%" > <el-table-column align="center" type="index" :label="$t('common.index')" width="70px" ></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120" > <el-table ref="filterTable" :data="metaDataTable1" style="width: 100%" height="100%"> <el-table-column align="center" type="index" :label="$t('common.index')" width="70px"></el-table-column> <el-table-column align="center" prop="name" :label="$t('common.name')" width="120"> </el-table-column> <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')" > <el-table-column align="center" prop="dirName" :label="$t('dataManage.dataUpObj.catalogue')" width="300" /> <el-table-column align="center" prop="depName" :label="$t('dataManage.dataUpObj.company')" width="200" /> <el-table-column align="center" prop="verName" :label="$t('dataManage.dataUpObj.versionNo')" /> <el-table-column align="center" prop="type" :label="$t('common.type')" /> <el-table-column align="center" prop="sizes" :label="$t('common.size')" :formatter="changeSizeFile" /> <el-table-column align="center" :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <a class="scopeRowColor" @click="detail(scope.row)" >{{ <a class="scopeRowColor" @click="detail(scope.row)">{{ scope.row.tab }}</a> </template> </el-table-column> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> <el-table-column align="center" prop="rows" :label="$t('common.lineNuber')" /> <el-table-column align="center" prop="desc" :label="$t('dataManage.dataUpObj.describe')" /> </el-table> </div> </el-dialog> <el-dialog custom-class="preview-dialog" title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" :close-on-click-modal="false" > <div v-if="dialog.isPdf" class="pdfClass" > <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%" > <el-dialog custom-class="preview-dialog" title="预览" :append-to-body="false" :visible.sync="dialog.dialogVisible" width="70%" :close-on-click-modal="false"> <div v-if="dialog.isPdf" class="pdfClass"> <iframe :src="dialog.src" type="application/x-google-chrome-pdf" width="100%" height="100%"> </iframe> </div> <div v-if="dialog.isJpg" class="pdfClass" > <el-image style="width: 100%; height: 100%" :src="dialog.src" :preview-src-list="[dialog.src]" > <div v-if="dialog.isJpg" class="pdfClass"> <el-image style="width: 100%; height: 100%" :src="dialog.src" :preview-src-list="[dialog.src]"> </el-image> </div> </el-dialog> <el-dialog title="数据申请" :visible.sync="dialogInsertFile" width="30%" top="10vh" :modal="false" :close-on-click-modal="false" :show-close="false" > <el-form ref="form" :model="fileFrom" label-width="100px" > <el-dialog title="数据申请" :visible.sync="dialogInsertFile" width="30%" top="10vh" :modal="false" :close-on-click-modal="false" :show-close="false"> <el-form ref="form" :model="fileFrom" label-width="100px"> <el-form-item label="审核单位"> <div> <ul> @@ -897,160 +665,115 @@ </el-form-item> <el-form-item label="描述"> <el-input type="textarea" placeholder="请输入内容" v-model="fileFrom.descr" maxlength="50" show-word-limit > <el-input type="textarea" placeholder="请输入内容" v-model="fileFrom.descr" maxlength="50" show-word-limit> </el-input> </el-form-item> <el-form-item> <el-button class="primary" size="small" @click="getFileInsertApply()" >{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="handleInsertFileClose()" >{{ $t("common.cancel") }}</el-button> <el-button class="primary" size="small" @click="getFileInsertApply()">{{ $t("common.confirm") }}</el-button> <el-button type="info" size="small" @click="handleInsertFileClose()">{{ $t("common.cancel") }}</el-button> </el-form-item> </el-form> </el-dialog> <el-dialog title="" :visible.sync="gdbDialog" width="80%" top="8vh" :modal="false" :close-on-click-modal="false" > <el-dialog title="" :visible.sync="gdbDialog" width="80%" top="8vh" :modal="false" :close-on-click-modal="false"> <div class="gdbTableBox"> <el-table :data="gdbData" style="width: 100%" max-height="38.54167vw" > <el-table-column type="selection" width="55" /> <el-table-column :label="$t('dataManage.dictionaryManageObj.number')" type="index" width="50" > <el-table :data="gdbData" style="width: 100%" max-height="38.54167vw"> <el-table-column type="selection" width="55" /> <el-table-column :label="$t('dataManage.dictionaryManageObj.number')" type="index" width="50"> </el-table-column> <el-table-column :label="$t('dataManage.vmobj.name')"> <template slot-scope="scope"> <span v-if="scope.row.ismeta > 0"> <el-link style="color: #409eff" title="源数据查询" @click="setQueryMetaData(scope.row)" target="_blank" >{{ scope.row.name }}</el-link> <el-link style="color: #409eff" title="源数据查询" @click="setQueryMetaData(scope.row)" target="_blank">{{ scope.row.name }}</el-link> </span> <span v-else-if="scope.row.metaid > 0"> <el-link style="color: #409eff" title="元数据查询" @click="setMetaDataQuery(scope.row)" target="_blank" >{{ scope.row.name }}</el-link></span> <el-link style="color: #409eff" title="元数据查询" @click="setMetaDataQuery(scope.row)" target="_blank">{{ scope.row.name }}</el-link> </span> <span v-else>{{ scope.row.name }}</span> </template> </el-table-column> <el-table-column prop="type" :label="$t('dataManage.vmobj.format')" > <el-table-column prop="type" :label="$t('dataManage.vmobj.format')"> </el-table-column> <el-table-column prop="sizes" :label="$t('dataManage.vmobj.size')" :formatter="stateFormatSizes" /> <el-table-column prop="depName" :label="$t('dataManage.vmobj.depName')" /> <el-table-column prop="dirName" :label="$t('dataManage.vmobj.dirName')" width="200" /> <el-table-column prop="verName" :label="$t('dataManage.vmobj.versionNumber')" /> <el-table-column prop="sizes" :label="$t('dataManage.vmobj.size')" :formatter="stateFormatSizes" /> <el-table-column prop="depName" :label="$t('dataManage.vmobj.depName')" /> <el-table-column prop="dirName" :label="$t('dataManage.vmobj.dirName')" width="200" /> <el-table-column prop="verName" :label="$t('dataManage.vmobj.versionNumber')" /> <el-table-column :label="$t('dataManage.dataUpObj.tableName')"> <template slot-scope="scope"> <el-link></el-link> <el-link :underline="false" @click="detail(scope.row)" >{{ <el-link :underline="false" @click="detail(scope.row)">{{ scope.row.tab }}</el-link> </template> </el-table-column> <el-table-column prop="rows" :label="$t('dataManage.vmobj.row')" /> <el-table-column prop="rows" :label="$t('dataManage.vmobj.row')" /> <el-table-column :label="$t('common.dataStatus')" :formatter="stateFormat" > <el-table-column :label="$t('common.dataStatus')" :formatter="stateFormat"> </el-table-column> <el-table-column prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> <el-table-column prop="createTime" :label="$t('dataManage.vmobj.createontime')" :formatter="formatData" /> <el-table-column min-width="210" :label="$t('common.operate')" > <el-table-column prop="uname" :label="$t('dataManage.vmobj.createonuser')" /> <el-table-column prop="createTime" :label="$t('dataManage.vmobj.createontime')" :formatter="formatData" /> <el-table-column min-width="210" :label="$t('common.operate')"> <template slot-scope="scope"> <el-button @click="showDetail(scope.row)" type="primary" plain size="small" >{{ $t("common.details") }} <el-button @click="showDetail(scope.row)" type="primary" plain size="small">{{ $t("common.details") }} </el-button> <el-button type="warning" plain size="small" v-if="btnStatus.update" @click="editInfo(scope.row)" style="margin-left: 10px" >{{ $t("common.edit") }} <el-button type="warning" plain size="small" v-if="btnStatus.update" @click="editInfo(scope.row)" style="margin-left: 10px">{{ $t("common.edit") }} </el-button> <el-button plain size="small" v-if="showPreview(scope.row)" @click="handlePreview(scope.row)" style="margin-left: 10px" >{{ $t("common.preview") }} <el-button plain size="small" v-if="showPreview(scope.row)" @click="handlePreview(scope.row)" style="margin-left: 10px">{{ $t("common.preview") }} </el-button> </template> </el-table-column> @@ -1058,16 +781,12 @@ </div> </el-dialog> <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0" ></iframe> <iframe id="downFrame" src="" style="display: none; border: 0; padding: 0; height: 0; width: 0"></iframe> <div class="loadBox" v-if="loadDialogVisible" > <div class="loadBox" v-if="loadDialogVisible"> <div style="widht:100%; margin:20px; color:white"> <div style="margin-left:99%"> <!-- <el-link @@ -1076,12 +795,10 @@ > X</el-link> --> </div> </div> <div v-loading="true" element-loading-background="rgba(0, 0, 0, 0.0) " element-loading-text="数据删除中" style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); " > <div v-loading="true" element-loading-background="rgba(0, 0, 0, 0.0) " element-loading-text="数据删除中" style="margin: 0px 20px;widht:100%;height:calc(100% - 80px); "> </div> </div> </div> @@ -1110,6 +827,7 @@ meta_selectDepsByCodes, apply_insertApply, meta_selectGdbByGuid, meta_selectConvertToDwg } from "../../api/api"; import MyBread from "../../components/MyBread.vue"; @@ -1117,20 +835,20 @@ export default { name: "metadataManage", components: { MyBread }, data() { var repasswordValidator = (rule, value, callback) => { if (value === "") { data () { var repasswordValidator=(rule,value,callback) => { if(value==="") { callback(new Error("请再次输入密码")); } else if (value !== this.codeForm.password) { } else if(value!==this.codeForm.password) { callback(new Error("两次输入密码不一致!")); } else { callback(); } }; var passwordValidator = (rule, value, callback) => { var passwordreg = var passwordValidator=(rule,value,callback) => { var passwordreg= /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![a-z0-9]+$)(?![a-z\W!@#$%^&*`~()\\-_+=,.?;<>]+$)(?![0-9\W!@#$%^&*`~()\\-_+=,.?;<>]+$)[a-zA-Z0-9\W!@#$%^&*`~()\\-_+=,.?;<>]{12,20}$/; if (!passwordreg.test(value)) { if(!passwordreg.test(value)) { callback(new Error("密码必须由数字、字母、特殊字符组合,请输入13-20位")); } else { callback(); @@ -1172,12 +890,12 @@ }, rules: { password: [ { required: true, message: "请输入密码", trigger: "blur" }, { validator: passwordValidator, trigger: "blur" }, { required: true,message: "请输入密码",trigger: "blur" }, { validator: passwordValidator,trigger: "blur" }, ], repassword: [ { required: true, message: "请输入确认密码", trigger: "blur" }, { validator: repasswordValidator, trigger: "blur" }, { required: true,message: "请输入确认密码",trigger: "blur" }, { validator: repasswordValidator,trigger: "blur" }, ], }, tableData: [], @@ -1256,119 +974,119 @@ loadDialogVisible: false }; }, created() { created () { // this.getSelectDictTab(); this.showPermsBtn(); this.getQueryDepTree(); this.signGetPublicKey(); }, beforeDestroy() { this.timer && clearTimeout(this.timer); window.removeEventListener("resize", this.onResize); beforeDestroy () { this.timer&&clearTimeout(this.timer); window.removeEventListener("resize",this.onResize); }, mounted() { window.addEventListener("resize", this.onResize); mounted () { window.addEventListener("resize",this.onResize); this.calHeight(); }, watch: { "queryForm.depName"() { "queryForm.depName" () { this.$refs.treeSelect.visible = false; this.$refs.treeSelect.visible=false; }, "queryForm.dirid"() { "queryForm.dirid" () { this.$refs.treeSelect1.visible = false; this.$refs.treeSelect1.visible=false; }, }, methods: { //gdb 点击事件 setSelectGdbByGuid(row) { this.gdbGuid = row.guid setSelectGdbByGuid (row) { this.gdbGuid=row.guid this.getSelectGdbByGuid(); }, async getSelectGdbByGuid() { if (!this.gdbGuid) return const data = await meta_selectGdbByGuid({ guid: this.gdbGuid }) if (data.code != 200) { async getSelectGdbByGuid () { if(!this.gdbGuid) return const data=await meta_selectGdbByGuid({ guid: this.gdbGuid }) if(data.code!=200) { return this.$message.error("根据GUID查询GDB数据失败"); } if (data.count <= 0) { if(data.count<=0) { return this.$message("查无更多数据"); } this.gdbData = data.result; this.gdbDialog = true; this.gdbData=data.result; this.gdbDialog=true; }, stateFormat(row, column) { var val = ['shp', 'gdb', 'xls', 'xlsx'] if (val.indexOf(row.type) > -1 && row.rows > 0) { stateFormat (row,column) { var val=['shp','gdb','xls','xlsx'] if(val.indexOf(row.type)>-1&&row.rows>0) { return '已上传,已入库' } else if (val.indexOf(row.type) > -1 && row.rows == 0) { } else if(val.indexOf(row.type)>-1&&row.rows==0) { return '已上传,未入库' } else { return '已上传' } }, //大小值改变 changeSizeFile(row, column, cellValue, index) { if (cellValue >= 1024) { return parseFloat(cellValue / 1204).toFixed(3) + "GB"; changeSizeFile (row,column,cellValue,index) { if(cellValue>=1024) { return parseFloat(cellValue/1204).toFixed(3)+"GB"; } else { return cellValue + "MB"; return cellValue+"MB"; } }, setRestMetaData() { this.fromQueryMeta.name = ""; this.listMetaData.name = this.fromQueryMeta.name; this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = 10; setRestMetaData () { this.fromQueryMeta.name=""; this.listMetaData.name=this.fromQueryMeta.name; this.listMetaData.pageIndex=1; this.listMetaData.pageSize=10; this.startQueryMetaData(); }, setSearchMetaData() { this.listMetaData.name = this.fromQueryMeta.name; this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = 10; setSearchMetaData () { this.listMetaData.name=this.fromQueryMeta.name; this.listMetaData.pageIndex=1; this.listMetaData.pageSize=10; this.startQueryMetaData(); }, //源数据页面切换 handleMetaSizeChange(val) { this.listMetaData.pageIndex = 1; this.listMetaData.pageSize = val; handleMetaSizeChange (val) { this.listMetaData.pageIndex=1; this.listMetaData.pageSize=val; this.startQueryMetaData(); }, //源数据页面切换 handMetaCurrentChange(val) { this.listMetaData.pageIndex = val; handMetaCurrentChange (val) { this.listMetaData.pageIndex=val; this.startQueryMetaData(); }, //元数据查询 async setMetaDataQuery(row) { this.fromQueryMeta.title = row.name; this.listMetaData = { async setMetaDataQuery (row) { this.fromQueryMeta.title=row.name; this.listMetaData={ id: row.metaid, }; const data = await meta_selectById(this.listMetaData); if (data.code != 200) { const data=await meta_selectById(this.listMetaData); if(data.code!=200) { return; } this.queryMetaFlag1 = true; this.metaDataTable1 = [data.result]; this.queryMetaFlag1=true; this.metaDataTable1=[data.result]; // this.listMetaData.count = data.count; }, //源数据查询 setQueryMetaData(row) { this.fromQueryMeta.title = row.name; this.listMetaData = { setQueryMetaData (row) { this.fromQueryMeta.title=row.name; this.listMetaData={ metaid: row.id, name: "", pageIndex: 1, @@ -1376,47 +1094,47 @@ count: 0, }; this.startQueryMetaData(); this.queryMetaFlag = true; this.queryMetaFlag=true; }, async startQueryMetaData() { const data = await meta_selectPageAndCountByPid(this.listMetaData); if (data.code != 200) { async startQueryMetaData () { const data=await meta_selectPageAndCountByPid(this.listMetaData); if(data.code!=200) { return; } this.metaDataTable = data.result; this.listMetaData.count = data.count; this.metaDataTable=data.result; this.listMetaData.count=data.count; }, onResize() { this.timer && clearTimeout(this.timer); this.timer = setTimeout(() => { onResize () { this.timer&&clearTimeout(this.timer); this.timer=setTimeout(() => { this.calHeight(); }, 500); },500); }, calHeight() { calHeight () { this.$nextTick(() => { const rect = this.$refs.container.getBoundingClientRect(); this.tableHeight = `${rect.height + 97}px`; this.styleVar["height"] = `calc(100% - ${rect.height + 28}px)`; const rect=this.$refs.container.getBoundingClientRect(); this.tableHeight=`${rect.height+97}px`; this.styleVar["height"]=`calc(100% - ${rect.height+28}px)`; }); }, async detail(res) { var val = res.tab.split("."); const data = await meta_selectFields({ async detail (res) { var val=res.tab.split("."); const data=await meta_selectFields({ ns: val[0], tab: val[1], }); if (data.code != 200) { if(data.code!=200) { this.$message.error("字段列表调用失败"); return; } this.dialogVisible = true; this.dialogVisible=true; this.attributeData = data.result; this.attributeData=data.result; this.listLoader = { this.listLoader={ id: res.id, pageIndex: 1, pageSize: 10, @@ -1424,199 +1142,199 @@ this.getDataLoaderSelectDbData(); }, async getDataLoaderSelectDbData() { const data1 = await meta_selectByPageForUpload(this.listLoader); if (data1.code != 200) { async getDataLoaderSelectDbData () { const data1=await meta_selectByPageForUpload(this.listLoader); if(data1.code!=200) { this.$message.error("字段列表调用失败"); return; } var option = data1.result; for (var i in option) { option[i].dirid = option[i].dirName; option[i].depid = option[i].depName; option[i].createuser = option[i].createName; option[i].updateuser = option[i].updateName; option[i].verid = option[i].verName; if (option[i].createtime != null) { option[i].createtime = this.setInfoBoxTime(option[i].createtime); var option=data1.result; for(var i in option) { option[i].dirid=option[i].dirName; option[i].depid=option[i].depName; option[i].createuser=option[i].createName; option[i].updateuser=option[i].updateName; option[i].verid=option[i].verName; if(option[i].createtime!=null) { option[i].createtime=this.setInfoBoxTime(option[i].createtime); } if (option[i].updatetime != null) { option[i].updatetime = this.setInfoBoxTime(option[i].updatetime); if(option[i].updatetime!=null) { option[i].updatetime=this.setInfoBoxTime(option[i].updatetime); } } this.dbTableData = data1.result; this.count1 = data1.count; this.dbTableData=data1.result; this.count1=data1.count; }, handleLoaderSizeChange(val) { this.listLoader.pageIndex = 1; this.listLoader.pageSize = val; handleLoaderSizeChange (val) { this.listLoader.pageIndex=1; this.listLoader.pageSize=val; this.getDataLoaderSelectDbData(); }, handleLoaderCurrentChange(val) { this.listLoader.pageIndex = val; handleLoaderCurrentChange (val) { this.listLoader.pageIndex=val; this.getDataLoaderSelectDbData(); }, async signGetPublicKey() { const res = await sign_getPublicKey(); if (res && res.code == 200) { window.encrypt = new JSEncrypt(); async signGetPublicKey () { const res=await sign_getPublicKey(); if(res&&res.code==200) { window.encrypt=new JSEncrypt(); encrypt.setPublicKey(res.result); } }, //单位列表获取 async getQueryDepTree() { const res = await selectdepTab(); if (res.code != 200) { async getQueryDepTree () { const res=await selectdepTab(); if(res.code!=200) { this.$message.error("单位列表获取失败"); return; } this.companyOption1 = this.treeData(res.result); this.queryForm.depcode = this.companyOption1[0].code; this.queryForm.depName = this.companyOption1[0].name; this.companyOption1=this.treeData(res.result); this.queryForm.depcode=this.companyOption1[0].code; this.queryForm.depName=this.companyOption1[0].name; this.getQueryDirTree(); }, async getQueryDirTree() { const res = await selectdirTab(); if (res.code != 200) { async getQueryDirTree () { const res=await selectdirTab(); if(res.code!=200) { this.$message.error("单位列表获取失败"); return; } this.companyOption = this.treeData(res.result); this.queryForm.dirid = this.companyOption[0].id; this.queryForm.dircode = this.companyOption[0].code; this.queryForm.dirName = this.companyOption[0].name; this.companyOption=this.treeData(res.result); this.queryForm.dirid=this.companyOption[0].id; this.queryForm.dircode=this.companyOption[0].code; this.queryForm.dirName=this.companyOption[0].name; this.getQueryVerList(); }, async getQueryVerList() { const data = await meta_selectVerByDirid({ dirid: this.queryForm.dirid }); if (data.code != 200) { async getQueryVerList () { const data=await meta_selectVerByDirid({ dirid: this.queryForm.dirid }); if(data.code!=200) { this.$message.error("版本列表获取失败"); return; } this.verOptions = data.result; this.queryForm.verid = data.result[0].id; this.verOptions=data.result; this.queryForm.verid=data.result[0].id; this.getMetaData(); }, verHandleChange(val) { this.queryForm.verid = val; this.listData.pageSize = 10; this.listData.pageIndex = 1; verHandleChange (val) { this.queryForm.verid=val; this.listData.pageSize=10; this.listData.pageIndex=1; this.getMetaData(); }, handleChange(data, node, nodeData) { this.listData.pageSize = 10; this.listData.pageIndex = 1; this.queryForm.dircode = data.code; this.queryForm.dirid = data.id; this.queryForm.dirName = data.name; handleChange (data,node,nodeData) { this.listData.pageSize=10; this.listData.pageIndex=1; this.queryForm.dircode=data.code; this.queryForm.dirid=data.id; this.queryForm.dirName=data.name; this.getQueryVerList(); }, handleChange1(data, node, nodeData) { this.listData.pageSize = 10; this.listData.pageIndex = 1; this.queryForm.depcode = data.code; this.queryForm.depName = data.name; handleChange1 (data,node,nodeData) { this.listData.pageSize=10; this.listData.pageIndex=1; this.queryForm.depcode=data.code; this.queryForm.depName=data.name; this.getMetaData(); }, handleChange2(data, node, nodeData) { this.editForm.depid = data.id; this.editForm.depcode = data.code; this.editForm.depName = data.name; handleChange2 (data,node,nodeData) { this.editForm.depid=data.id; this.editForm.depcode=data.code; this.editForm.depName=data.name; }, handleChange3(data, node, nodeData) { this.editForm.dirid = data.id; this.editForm.dircode = data.code; this.editForm.dirName = data.name; handleChange3 (data,node,nodeData) { this.editForm.dirid=data.id; this.editForm.dircode=data.code; this.editForm.dirName=data.name; }, //格式化列表 formatData(row, column) { let data = row[column.property]; if (data == null) { formatData (row,column) { let data=row[column.property]; if(data==null) { return data; } return this.format(data); }, setInfoBoxTime(res) { if (res == null) { setInfoBoxTime (res) { if(res==null) { return res; } return this.format(res); }, setInfoBoxSize(res) { if (res >= 1024) { return parseFloat(res / 1024).toFixed(3) + " GB"; setInfoBoxSize (res) { if(res>=1024) { return parseFloat(res/1024).toFixed(3)+" GB"; } else { return res + " MB"; return res+" MB"; } }, //格式化时间 format(shijianchuo) { format (shijianchuo) { //shijianchuo是整数,否则要parseInt转换 var time = new Date(shijianchuo); var y = time.getFullYear(); var m = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); var time=new Date(shijianchuo); var y=time.getFullYear(); var m=time.getMonth()+1; var d=time.getDate(); var h=time.getHours(); var mm=time.getMinutes(); var s=time.getSeconds(); return ( y + "-" + this.add0(m) + "-" + this.add0(d) + " " + h + ":" + mm + ":" + y+ "-"+ this.add0(m)+ "-"+ this.add0(d)+ " "+ h+ ":"+ mm+ ":"+ s ); }, //格式化时间 add0(m) { return m < 10 ? "0" + m : m; add0 (m) { return m<10? "0"+m:m; }, //单位转换 stateFormatSizes(row, column) { if (row.sizes >= 1024) { const val = parseFloat(row.sizes / 1024).toFixed(3); return val + " GB"; stateFormatSizes (row,column) { if(row.sizes>=1024) { const val=parseFloat(row.sizes/1024).toFixed(3); return val+" GB"; } else { return row.sizes + " MB"; return row.sizes+" MB"; } }, //目录树获取 async getSelectDictTab() { const res = await selectdirTab(); if (res.code != 200) { async getSelectDictTab () { const res=await selectdirTab(); if(res.code!=200) { this.$message.error("列表调用失败"); } this.optionCount = this.treeData(res.result); this.dirComPanyOption = this.treeData(res.result); this.listData.depcode = this.optionCount[0].code; this.optionCount=this.treeData(res.result); this.dirComPanyOption=this.treeData(res.result); this.listData.depcode=this.optionCount[0].code; }, handleNodeClick(data) { this.listData.pageSize = 10; this.listData.pageIndex = 1; this.listData.dirid = data.id; handleNodeClick (data) { this.listData.pageSize=10; this.listData.pageIndex=1; this.listData.dirid=data.id; this.getMetaData(); }, getTableDesc(res) { this.activeName = res.tab; getTableDesc (res) { this.activeName=res.tab; }, //显示权限按钮 showPermsBtn() { let currentPerms = this.$store.state.currentPerms; let permsEntity = this.$store.state.permsEntity; showPermsBtn () { let currentPerms=this.$store.state.currentPerms; let permsEntity=this.$store.state.permsEntity; permsEntity .filter((item) => item.perms == currentPerms) .map((item) => (this.btnStatus[item.tag.substr(1)] = true)); .filter((item) => item.perms==currentPerms) .map((item) => (this.btnStatus[item.tag.substr(1)]=true)); }, // ShowWindowFly(res) { // console.log(res); @@ -1651,74 +1369,74 @@ // ); // }, // 请求数据内容 getMetaData() { this.listData.depcode = this.queryForm.depcode; this.listData.dircode = this.queryForm.dircode; getMetaData () { this.listData.depcode=this.queryForm.depcode; this.listData.dircode=this.queryForm.dircode; this.listData.verid = this.queryForm.verid; this.listData.verid=this.queryForm.verid; // this.listData.dirid = 57 select_meta_ByPageAndCount(this.listData).then((res) => { this.tableData = res.result; this.count = res.count; this.tableData=res.result; this.count=res.count; }); }, // 查询 queryInfo() { this.listData.name = this.queryForm.name.trim(); this.listData.pageSize = 10; this.listData.pageIndex = 1; queryInfo () { this.listData.name=this.queryForm.name.trim(); this.listData.pageSize=10; this.listData.pageIndex=1; this.getMetaData(); }, // 重置查询 resetInfo(formName) { resetInfo (formName) { this.$refs[formName].resetFields(); this.listData.pageSize = 10; this.listData.pageIndex = 1; this.listData.name = null; this.queryForm.dirid = this.companyOption[0].id; this.queryForm.depid = this.companyOption1[0].id; this.queryForm.dircode = this.companyOption[0].code; this.queryForm.depcode = this.companyOption1[0].code; this.queryForm.dirName = this.companyOption[0].name; this.queryForm.depName = this.companyOption1[0].name; this.listData.pageSize=10; this.listData.pageIndex=1; this.listData.name=null; this.queryForm.dirid=this.companyOption[0].id; this.queryForm.depid=this.companyOption1[0].id; this.queryForm.dircode=this.companyOption[0].code; this.queryForm.depcode=this.companyOption1[0].code; this.queryForm.dirName=this.companyOption[0].name; this.queryForm.depName=this.companyOption1[0].name; this.getQueryVerList(); this.getMetaData(); }, //新增按钮 showAddDialog() { this.behavior = "新增用户"; this.editForm = {}; this.dialogFormVisible = true; showAddDialog () { this.behavior="新增用户"; this.editForm={}; this.dialogFormVisible=true; }, cancelAdd(formName) { this.editForm = {}; cancelAdd (formName) { this.editForm={}; this.$refs[formName].resetFields(); }, sendAdd(formName) { sendAdd (formName) { this.$refs[formName].validate((valid) => { if (valid) { this.fullscreenLoading = true; if(valid) { this.fullscreenLoading=true; insertMeta(this.editForm) .then((res) => { setTimeout(() => { this.fullscreenLoading = false; if (res.code == 200) { this.listData.pageSize = 10; this.listData.pageIndex = 1; this.fullscreenLoading=false; if(res.code==200) { this.listData.pageSize=10; this.listData.pageIndex=1; this.getMetaData(); this.$message({ message: "添加成功", type: "success", }); this.editForm = {}; this.dialogFormVisible = false; this.editForm={}; this.dialogFormVisible=false; } }, 500); },500); }) .catch((res) => { alert("修改失败,请重试!"); this.fullscreenLoading = false; this.fullscreenLoading=false; }); } else { console.log("error submit!!"); @@ -1727,42 +1445,42 @@ }); }, // 获取多选选中的对象 handleSelectionChange(val) { this.multipleSelection = val; handleSelectionChange (val) { this.multipleSelection=val; }, // 删除多条 deleteMetaInfo() { if (this.multipleSelection.length <= 0) { deleteMetaInfo () { if(this.multipleSelection.length<=0) { return this.$message("请选择要删除的数据"); } this.$confirm("确定是否删除所选内容?", "提示", { this.$confirm("确定是否删除所选内容?","提示",{ confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { var std = []; for (var i in this.multipleSelection) { var std=[]; for(var i in this.multipleSelection) { std.push(this.multipleSelection[i].id); } this.loadDialogVisible = true; this.loadDialogVisible=true; deleteMeta({ ids: std.toString() }).then((res) => { if (res.code == 200) { this.loadDialogVisible = false; if(res.code==200) { this.loadDialogVisible=false; this.$message({ type: "success", message: "删除成功!", }); this.multipleSelection = []; this.multipleSelection=[]; // this.listData.pageSize = 10 this.listData.pageIndex = 1; this.listData.pageIndex=1; this.getMetaData(); } else { this.loadDialogVisible = false; this.loadDialogVisible=false; this.$message.error("删除失败"); this.multipleSelection = []; this.multipleSelection=[]; } }); }) @@ -1772,57 +1490,57 @@ }, // 查看界面 showDetail(row) { showDetail (row) { // console.log(index, row); this.showinfoBox = true; this.showinfoBox=true; this.itemdetail = row; this.itemdetail=row; }, // 关闭查看 closeDetial() { this.showinfoBox = false; this.itemdetail = {}; closeDetial () { this.showinfoBox=false; this.itemdetail={}; }, // 修改界面 editInfo(row) { editInfo (row) { // console.log(row); delete row.createTime; delete row.createUser; delete row.updateUser; delete row.updateUser; this.initialForm = JSON.stringify(row); //备份 this.behavior = "修改信息"; this.editForm = JSON.parse(JSON.stringify(row)); this.dialogFormVisible = true; this.initialForm=JSON.stringify(row); //备份 this.behavior="修改信息"; this.editForm=JSON.parse(JSON.stringify(row)); this.dialogFormVisible=true; this.getSelectDictTab(); }, handleClose(done) { handleClose (done) { this.$confirm("确认关闭?") .then((_) => { this.editForm = {}; this.editForm={}; done(); }) .catch((_) => { }); }, // 提交修改 sendEdit() { this.$confirm("是否确定编辑?", "提示", { sendEdit () { this.$confirm("是否确定编辑?","提示",{ confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { this.dialogFormVisible = false; this.dialogFormVisible=false; updateMeta(this.editForm).then((res) => { setTimeout(() => { this.fullscreenLoading = false; if (res.code == 200) { this.listData.pageSize = 10; this.listData.pageIndex = 1; this.fullscreenLoading=false; if(res.code==200) { this.listData.pageSize=10; this.listData.pageIndex=1; if (this.gdbDialog) { if(this.gdbDialog) { this.getSelectGdbByGuid(); } else { this.getMetaData(); @@ -1833,99 +1551,99 @@ message: "修改成功", type: "success", }); this.editForm = {}; this.dialogFormVisible = false; this.editForm={}; this.dialogFormVisible=false; } }, 500); },500); }); }) .catch(() => { alert("修改失败,请重试!"); this.fullscreenLoading = false; this.fullscreenLoading=false; }); }, cancelEdit() { cancelEdit () { this.$nextTick(() => { this.editForm = JSON.parse(this.initialForm); this.editForm=JSON.parse(this.initialForm); }); }, async download() { var ids = []; for (var i in this.multipleSelection) { async download () { var ids=[]; for(var i in this.multipleSelection) { ids.push(this.multipleSelection[i].id); } var obj = { var obj={ ids: ids, }; const data = await meta_selectMetaOverflowDep(obj); if (data.code != 200) { const data=await meta_selectMetaOverflowDep(obj); if(data.code!=200) { return; } var password = this.codeForm.repassword; if (data.result.length == 0) { var obj = { var password=this.codeForm.repassword; if(data.result.length==0) { var obj={ pwd: encrypt.encrypt(this.codeForm.repassword), ids: ids, }; const res = await meta_downloadReq(JSON.stringify(obj)); if (res.code != 200) { const res=await meta_downloadReq(JSON.stringify(obj)); if(res.code!=200) { this.$message.error("下载请求失败"); return; } var downObj = { var downObj={ guid: res.result, pwd: encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)), }; const data1 = await meta_selectDownloadFile(downObj); if (data1.code != 200) { const data1=await meta_selectDownloadFile(downObj); if(data1.code!=200) { this.$message.error("下载请求失败"); return; } var token = getToken(); var url = BASE_URL + "/meta/downloadFile?token=" + token + "&guid=" + res.result + "&pwd=" + var token=getToken(); var url= BASE_URL+ "/meta/downloadFile?token="+ token+ "&guid="+ res.result+ "&pwd="+ encodeURIComponent(encrypt.encrypt(this.codeForm.repassword)); $("#downFrame").attr("src", url).click(); $("#downFrame").attr("src",url).click(); } else { var val = ""; var std = []; for (var i in data.result) { if (val == "") { val += "codes=" + data.result[i]; var val=""; var std=[]; for(var i in data.result) { if(val=="") { val+="codes="+data.result[i]; } else { val += "&codes=" + data.result[i]; val+="&codes="+data.result[i]; } std.push({ name: data.result[i], }); } const data1 = await meta_selectDepsByCodes(val); if (data1.code != 200) { const data1=await meta_selectDepsByCodes(val); if(data1.code!=200) { return; } this.fileFrom.depid = data1.result; this.fileFrom.ids = ids; this.fileFrom.pwd = encr(password); this.fileFrom.depcodes = data.result; this.dialogInsertFile = true; this.fileFrom.depid=data1.result; this.fileFrom.ids=ids; this.fileFrom.pwd=encr(password); this.fileFrom.depcodes=data.result; this.dialogInsertFile=true; } this.closeDown(); }, async getFileInsertApply() { this.dialogInsertFile = false; async getFileInsertApply () { this.dialogInsertFile=false; var obj = { var obj={ ids: this.fileFrom.ids, pwd: this.fileFrom.pwd, tabs: ["元数据表"], @@ -1934,9 +1652,9 @@ depcodes: this.fileFrom.depcodes, }; const data = await apply_insertApply(JSON.stringify(obj)); const data=await apply_insertApply(JSON.stringify(obj)); this.handleInsertFileClose(); if (data.code != 200) { if(data.code!=200) { this.$message.error("数据申请失败"); return; } @@ -1945,9 +1663,9 @@ type: "success", }); }, handleInsertFileClose() { this.dialogInsertFile = false; this.fileFrom = { handleInsertFileClose () { this.dialogInsertFile=false; this.fileFrom={ descr: null, depid: null, ids: null, @@ -1956,78 +1674,96 @@ }; }, closeDown() { this.showCodeBox = false; this.codeForm.password = ""; this.codeForm.repassword = ""; closeDown () { this.showCodeBox=false; this.codeForm.password=""; this.codeForm.repassword=""; }, downFormData() { if (this.multipleSelection.length == 0) { downFormData () { if(this.multipleSelection.length==0) { alert("请先选择要下载的文件"); return; } this.showCodeBox = true; this.showCodeBox=true; }, handleSizeChange(val) { this.listData.pageSize = val; this.listData.pageIndex = 1; handleSizeChange (val) { this.listData.pageSize=val; this.listData.pageIndex=1; this.getMetaData(); }, handleCurrentChange(val) { this.listData.pageIndex = val; handleCurrentChange (val) { this.listData.pageIndex=val; this.getMetaData(); }, //树列表生成 treeData(source) { let cloneData = JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 treeData (source) { let cloneData=JSON.parse(JSON.stringify(source)); // 对源数据深度克隆 return cloneData.filter((father) => { // 循环所有项 let branchArr = cloneData.filter((child) => father.id == child.pid); // 对比ID,分别上下级菜单,并返回数据 branchArr.length > 0 ? (father.children = branchArr) : ""; // 给父级添加一个children属性,并赋值 return father.pid == 0; // 返回一级菜单 let branchArr=cloneData.filter((child) => father.id==child.pid); // 对比ID,分别上下级菜单,并返回数据 branchArr.length>0? (father.children=branchArr):""; // 给父级添加一个children属性,并赋值 return father.pid==0; // 返回一级菜单 }); }, showPreview(row) { let name = row.name; if (!name) return false; showPreview (row) { let name=row.name; if(!name) return false; return ( name.indexOf("pdf") != -1 || name.indexOf("jpg") != -1 || name.indexOf("gif") != -1 || name.indexOf("png") != -1 || name.indexOf("jpeg") != -1 name.indexOf("pdf")!=-1|| name.indexOf("jpg")!=-1|| name.indexOf("gif")!=-1|| name.indexOf("png")!=-1|| name.indexOf("jpeg")!=-1 ); }, handlePreview(row) { let name = row.name; showCAD (row) { let name=row.name; if(!name) return false; return ( name.indexOf("dwg")!=-1 ); }, async handleCAD (row) { const data=await meta_selectConvertToDwg(row.id) if(data.result) { var url=iisHost+"/dwg/cad/browse/?file=data/"+data.result; window.open(url) } else { return this.$message("数据转换失败,无法预览"); } }, handlePreview (row) { let name=row.name; this.refreshAttatchDetail(); if (name.indexOf(".pdf") != -1) { this.dialog.isPdf = true; } else if ( name.indexOf(".jpg") != -1 || name.indexOf(".gif") != -1 || name.indexOf(".png") != -1 || name.indexOf(".jpeg") != -1 if(name.indexOf(".pdf")!=-1) { this.dialog.isPdf=true; } else if( name.indexOf(".jpg")!=-1|| name.indexOf(".gif")!=-1|| name.indexOf(".png")!=-1|| name.indexOf(".jpeg")!=-1 ) { this.dialog.isJpg = true; this.dialog.isJpg=true; } this.dialog.dialogVisible = true; this.dialog.dialogVisible=true; var url = BASE_URL + "/inquiry/downloadForView?guid=" + row.guid + "&token=" + var url= BASE_URL+ "/inquiry/downloadForView?guid="+ row.guid+ "&token="+ getToken(); this.dialog.src = url; this.dialog.src=url; }, refreshAttatchDetail() { this.dialog.src = ""; this.dialog.dialogVisible = false; this.dialog.isPdf = false; this.dialog.isJpg = false; refreshAttatchDetail () { this.dialog.src=""; this.dialog.dialogVisible=false; this.dialog.isPdf=false; this.dialog.isJpg=false; }, }, };