|
@@ -1,733 +1,184 @@
|
|
|
<template>
|
|
|
<div class="xm-detal">
|
|
|
- <el-tabs v-model="activeName" @tab-click="tabClick" :style="{width:contentWidth+'px'}">
|
|
|
- <el-tab-pane label="批而未供信息卡" name="first">
|
|
|
- <div class="content">
|
|
|
- <div class="head">
|
|
|
- <div class="title">
|
|
|
- <div></div>
|
|
|
- <span>属性数据</span>
|
|
|
- </div>
|
|
|
- <div class="handler-btn">
|
|
|
- <div v-show="showMap" @click="showMap=false">
|
|
|
- <i class="iconfont yh-sheshinongyongdi" style="color: #44CAE7"/>
|
|
|
- <span>查看项目</span>
|
|
|
- </div>
|
|
|
-<!-- <div v-show="!showMap" @click="openXmLoc" >
|
|
|
- <i class="iconfont yh-dingwei1" style="font-size: 20px;color: rgb(237 115 5);"/>
|
|
|
- <span>查看位置</span>
|
|
|
- </div>-->
|
|
|
- <div v-show="!jbxxEdit && !showMap" @click="()=>{jbxxEdit=true;}">
|
|
|
- <i class="iconfont yh-bianji" style="color: #5988FF"/>
|
|
|
- <span>开始编辑</span>
|
|
|
- </div>
|
|
|
- <div v-show="jbxxEdit && !showMap" @click="updateBpxm">
|
|
|
- <i class="iconfont yh-baocun" style="color: #44CAE7"/>
|
|
|
- <span>保存项目</span>
|
|
|
- </div>
|
|
|
- <div @click="showMap=false">
|
|
|
- <i class="iconfont yh-dikuai" style="color: #35D173"/>
|
|
|
- <span>供应出库</span>
|
|
|
- </div>
|
|
|
- <div v-show="!showMap" @click="deletePc">
|
|
|
- <i class="iconfont yh-shanchu" style="color: #F0A123"/>
|
|
|
- <span>删除项目</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div v-if="!showMap" class="tables" :style="{height:contentHeight-140+'px'}">
|
|
|
- <table>
|
|
|
- <tr>
|
|
|
- <th>地块名称</th>
|
|
|
- <td colspan="2"><el-input v-model="currProject.dk_mc" placeholder="地块名称" clearable :disabled="!jbxxEdit" /></td>
|
|
|
- <th>所在镇街</th>
|
|
|
- <td colspan="2"><el-input v-model="currProject.xzqmc" placeholder="所在镇街" clearable :disabled="!jbxxEdit" /></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>所属平台</th>
|
|
|
- <td colspan="2"><el-input v-model="currProject.pt" placeholder="所属平台" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <th>地块编号</th>
|
|
|
- <td colspan="2"><el-input v-model="currProject.dk_bh" placeholder="所属平台" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>地块坐落</th>
|
|
|
- <td colspan="5"><el-input v-model="currProject.tdzl" placeholder="土地坐落" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>批复文号</th>
|
|
|
- <td colspan="2"><el-input v-model="currProject.pf_wh" placeholder="用地单位名称" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <th>指标类型</th>
|
|
|
- <td colspan="2">
|
|
|
- <el-select v-model="currProject.nzy_zblx" placeholder="请选择项目类型" clearable :disabled="!jbxxEdit">
|
|
|
- <el-option
|
|
|
- style="width: 100%"
|
|
|
- v-for="item in staticData.指标类型"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>原规划用途</th>
|
|
|
- <td><el-input v-model="currProject.td_yt" placeholder="原规划用途" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <td><el-input v-model="currProject.td_yt" placeholder="原规划用途" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <th>现规划用途</th>
|
|
|
- <td><el-input v-model="currProject.td_yt_current" placeholder="现规划用途" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <td><el-input v-model="currProject.td_yt_current" placeholder="现规划用途" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>批准面积</th>
|
|
|
- <td><el-input v-model="currProject.pz_mj" placeholder="批准面积" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <th>剩余面积</th>
|
|
|
- <td><el-input v-model="currProject.dk_mj" placeholder="剩余面积" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <th>图上编号</th>
|
|
|
- <td><el-input v-model="currProject.tf_bh" placeholder="图上编号" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>地块现状</th>
|
|
|
- <td colspan="2"><el-input v-model="currProject.dk_xz" placeholder="地块现状" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <th>拟处置时间</th>
|
|
|
- <td colspan="2">
|
|
|
- <el-date-picker
|
|
|
- v-model="currProject.nczsj"
|
|
|
- clearable :disabled="!jbxxEdit"
|
|
|
- type="date"
|
|
|
- placeholder="拟处置时间">
|
|
|
- </el-date-picker>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th colspan="2">征地拆迁情况</th>
|
|
|
- <td><el-input v-model="currProject.zdcq_qk" placeholder="征地拆迁情况" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <th colspan="2">其他选项说明</th>
|
|
|
- <td><el-input v-model="currProject.bz1" placeholder="其他选项说明" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th colspan="6">土地利用价值分析</th>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>无利用价值</th>
|
|
|
- <td>
|
|
|
- <el-input v-model="currProject.wlyjz" placeholder="无利用价值" clearable :disabled="!jbxxEdit"/>
|
|
|
- </td>
|
|
|
- <th>其他选项说明</th>
|
|
|
- <td colspan="3"><el-input v-model="currProject.bz2" placeholder="其他选项说明" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>有利用价值</th>
|
|
|
- <td><el-input v-model="currProject.ylyjz" placeholder="有利用价值" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- <th>其他选项说明</th>
|
|
|
- <td colspan="3"><el-input v-model="currProject.bz3" placeholder="其他选项说明" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>备注</th>
|
|
|
- <td colspan="5"><el-input v-model="currProject.bz" placeholder="备注" clearable :disabled="!jbxxEdit"/></td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
- </div>
|
|
|
- <div v-else class="content-map" :style="{height:contentHeight-100+'px',width: contentWidth+'px'}" >
|
|
|
- <base-map ref="basemap" :visibleLayerIds="visibleLayerId"/>
|
|
|
- </div>
|
|
|
+ <el-tabs type="border-card" v-model="currentTab">
|
|
|
+ <el-tab-pane label="项目信息" name="tab1">
|
|
|
+ <div class="tables">
|
|
|
+ <table>
|
|
|
+ <tr>
|
|
|
+ <th>项目编号</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ <th>项目名称</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ <th>乡镇街道</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>土地用途</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ <th>土地坐落</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th class="title" colspan="10">用地主体农转用批次信息</th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>项目编号</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ <th>项目类型</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ <th>批准文号</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>批准日期</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ <th>批次总面积(公顷)</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>剩余面积</th>
|
|
|
+ <td colspan="3">{{ detailData.xm_bh }}</td>
|
|
|
+ <th>有无利用价值</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <el-input
|
|
|
+ v-model="detailData.xm_mc"
|
|
|
+ placeholder="请输入合同是否已备案"
|
|
|
+ clearable
|
|
|
+ :disabled="!jbxxEdit"
|
|
|
+ />
|
|
|
+ </td>
|
|
|
+ <th>拟处置类型</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <el-input
|
|
|
+ v-model="detailData.xm_mc"
|
|
|
+ placeholder="请输入合同是否已备案"
|
|
|
+ clearable
|
|
|
+ :disabled="!jbxxEdit"
|
|
|
+ />
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>拟处置时间</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <el-input
|
|
|
+ v-model="detailData.xm_mc"
|
|
|
+ placeholder="请输入合同是否已备案"
|
|
|
+ clearable
|
|
|
+ :disabled="!jbxxEdit"
|
|
|
+ />
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane label="附件信息" name="second">
|
|
|
- <div class="content flex" :style="{height:contentHeight+'px'}">
|
|
|
- <div class="btns" style="width: 30%">
|
|
|
- <div class="btn flex-between" v-for="item in treeList" :key="item.value" :class="item.value==treeSelected?'selected':''" @click="fileChange(item)">
|
|
|
- <div class="flex-between">
|
|
|
- <img src="@/assets/images/datamanage/folder.png"/>
|
|
|
- {{item.folderName}}
|
|
|
- </div>
|
|
|
- <el-upload
|
|
|
- class="upload-demo"
|
|
|
- action=""
|
|
|
- :before-upload="annexUpload"
|
|
|
- accept=".pdf,.png,.jpeg,.jpg"
|
|
|
- :show-file-list="false">
|
|
|
- <div style="
|
|
|
- width: 40px;
|
|
|
- height: 26px;
|
|
|
- border: 1px solid;
|
|
|
- line-height: 26px;
|
|
|
- border-radius: 4px;"
|
|
|
- title="上传材料">
|
|
|
- <i class="iconfont yh-shangchuan" style="font-size: 20px"/>
|
|
|
- </div>
|
|
|
- </el-upload>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="files" v-if="fileList.length>0">
|
|
|
- <div class="file" v-for="(item,index) in fileList" :key="index">
|
|
|
- <div>
|
|
|
- <span>{{item.filename}}</span>
|
|
|
- <span>{{new Date(item.createtime).toLocaleDateString("af")}}</span>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <i title="预览" class="iconfont yh-fujianxiangqing" @click="viewFile(item)"/>
|
|
|
- <div class="zw"/>
|
|
|
- <i title="删除" class="iconfont yh-shanchufujian" @click="deletefile(item)"/>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="fileList" style="width: 70%" v-else>
|
|
|
- <el-empty description="暂无相关附件"/>
|
|
|
- </div>
|
|
|
+ <el-tab-pane label="查看地图" name="tab2">
|
|
|
+ <div class="map_box">
|
|
|
+ <base-map ref="baseMap" v-if="currentTab === 'tab2'" :overlayShow="true" @drawShapeJson="drawShapeJsonEvent" :visibleLayerIds="visibleLayerId"/>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
- <Modal
|
|
|
- v-model="modal"
|
|
|
- class-name="modalClass"
|
|
|
- title="操作提醒">
|
|
|
- <p style="text-align: center"><Icon type="md-alert" style="color: #ff9900;font-size: 20px;margin-right: 3px"/>确定对此附件进行【删除】操作?</p>
|
|
|
- </Modal>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import BaseMap from "../../../components/common/BaseMap";
|
|
|
export default {
|
|
|
-name: "Detail",
|
|
|
- components:{BaseMap},
|
|
|
- data(){
|
|
|
- return{
|
|
|
- user:JSON.parse(window.sessionStorage.getItem('yzt-user')),
|
|
|
- activeName:'first',
|
|
|
- jbxxEdit:false,
|
|
|
- visibleLayerId:['YHYZT_NZYDK_NEW'],
|
|
|
- treeList:[
|
|
|
- {folderName:'附件目录',value:"mzybp"}
|
|
|
- ],
|
|
|
- treeSelected:'mzybp',
|
|
|
- fileList:[
|
|
|
- // {fileName:'一号',url:'112.pdf',time:'2024-01-01 12:00'},
|
|
|
- // {fileName:'二号',url:'112.pdf',time:'2024-01-01 12:00'},
|
|
|
- ],
|
|
|
- modal:false,
|
|
|
- showMap:false,
|
|
|
- tableData:[],
|
|
|
- currProject:{
|
|
|
- xmmc:'',
|
|
|
- xmlx:'',
|
|
|
- zblx:'',
|
|
|
- pdcz:'',
|
|
|
- xmbh:'',
|
|
|
- sqdw:'',
|
|
|
- pzjg:'',
|
|
|
- szx:'余杭区',
|
|
|
- zbjb:'',
|
|
|
- zbnd:'',
|
|
|
- pzwh:'',
|
|
|
- pzrq:'',
|
|
|
- sjgswh:'',
|
|
|
- sqyj:'',
|
|
|
- sqrq:'',
|
|
|
- sfcmjf:'',
|
|
|
- kxxmsbsjzj:'',
|
|
|
- xmmj:0,
|
|
|
- tbdw:'',
|
|
|
- sqydfw:'',
|
|
|
- tbr:'',
|
|
|
- shr:'',
|
|
|
- sflstd:'',
|
|
|
- tzxmdm:'',
|
|
|
- zsggh:'',
|
|
|
- pczyyt:''
|
|
|
- },
|
|
|
- oldProject:{},
|
|
|
- xmdkInfo:{
|
|
|
- data:[{xm_bh:''}],
|
|
|
- page:1,
|
|
|
- size:30,
|
|
|
- total:0,
|
|
|
- currDk:{},
|
|
|
- xmdkSelected:'',
|
|
|
- },
|
|
|
- staticData:window.ApplicationConfig.staticData
|
|
|
- }
|
|
|
+ name: "Detail",
|
|
|
+ components: { BaseMap },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ user: JSON.parse(window.sessionStorage.getItem("yzt-user")),
|
|
|
+ currentTab: 'tab1',
|
|
|
+ visibleLayerId:['YHYZT_PEWG_NEW'],
|
|
|
+ detailData: {},
|
|
|
+ };
|
|
|
},
|
|
|
- props:{
|
|
|
- contentWidth:Number,
|
|
|
- contentHeight:Number,
|
|
|
- project:Object
|
|
|
+ props: {
|
|
|
+ contentWidth: Number,
|
|
|
+ contentHeight: Number,
|
|
|
+ project: Object,
|
|
|
},
|
|
|
- watch:{
|
|
|
- project(val){
|
|
|
- //this.activeName='first';
|
|
|
- this.currProject = val;
|
|
|
- this.oldProject = { ...val };
|
|
|
- }
|
|
|
+ watch: {
|
|
|
+
|
|
|
},
|
|
|
- methods:{
|
|
|
- deleteFiles(fileid){
|
|
|
- let params = new FormData();
|
|
|
- params.append("fileid",fileid);
|
|
|
- this.$ajax.post('/api/data/upload/nzy/delfile', params, this).then(res => {
|
|
|
- const {success, data} = res;
|
|
|
- if(success && data){
|
|
|
- this.fileList = data;
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- viewFile(data) {
|
|
|
- let filetype = data.filename.split(".");
|
|
|
- let type = filetype[filetype.length-1].toLowerCase();
|
|
|
- if (type == 'pdf' || type == 'doc' || type == 'docx' || type == 'xls') {
|
|
|
- this.getPdfStream(data.fileurl, data.filename)
|
|
|
- }
|
|
|
- if (type == 'jpg' || type == 'png' || type == 'jpeg') {
|
|
|
- this.getJpgStream(data.fileurl, data.filename)
|
|
|
- }
|
|
|
- },
|
|
|
- getPdfStream(path) {
|
|
|
- let params = new FormData()
|
|
|
- params.append('path', path)
|
|
|
- this.$ajax.downLoadFile('/api/data/upload/getPdfStream', params, this).then(res => {
|
|
|
- const blob = new Blob([res.data], {type: "application/pdf"})
|
|
|
- const link = document.createElement('a')
|
|
|
- link.style.display = 'none'
|
|
|
- link.target = '_blank'
|
|
|
- link.href = URL.createObjectURL(blob)
|
|
|
- document.body.appendChild(link)
|
|
|
- link.click()
|
|
|
- URL.revokeObjectURL(link.href)
|
|
|
- document.body.removeChild(link)
|
|
|
- })
|
|
|
- },
|
|
|
- getJpgStream(path) {
|
|
|
- let params = new FormData()
|
|
|
- params.append('path', path)
|
|
|
- this.$ajax.downLoadFile('/api/data/upload/getJpgStream', params, this).then(res => {
|
|
|
- const blob = new Blob([res.data], {type: "image/jpeg"})
|
|
|
- const link = document.createElement('a')
|
|
|
- link.style.display = 'none'
|
|
|
- link.target = '_blank';
|
|
|
- link.href = URL.createObjectURL(blob)
|
|
|
- document.body.appendChild(link)
|
|
|
- link.click()
|
|
|
- URL.revokeObjectURL(link.href)
|
|
|
- document.body.removeChild(link)
|
|
|
- })
|
|
|
- },
|
|
|
- initFileList(){
|
|
|
- let params = new FormData();
|
|
|
- params.append("folderName",this.treeSelected);
|
|
|
- params.append("xmid",this.currProject.xm_guid);
|
|
|
- this.fileList =[];
|
|
|
- this.$ajax.post('/api/data/upload/nzy/getFileList', params, this).then(res => {
|
|
|
- const {success, data} = res;
|
|
|
- if(success && data){
|
|
|
- this.fileList = data;
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- //附件上传
|
|
|
- annexUpload(file){
|
|
|
- if(file){
|
|
|
- this.uploadAnnex(file);
|
|
|
- }
|
|
|
- return false;
|
|
|
+ methods: {
|
|
|
+ initDetailData () {
|
|
|
+ this.currentTab = 'tab1'
|
|
|
},
|
|
|
- uploadAnnex(file){
|
|
|
+ showDetail(item){
|
|
|
let params = new FormData();
|
|
|
- params.append("file",file);
|
|
|
- params.append("xmId",this.currProject.xm_guid);
|
|
|
- params.append("folderName",this.treeSelected);
|
|
|
- this.$ajax.post('/api/data/upload/nzy/annex', params, this).then(res => {
|
|
|
- const {success, data} = res;
|
|
|
- if(success && data){
|
|
|
- this.$message({type: 'success',message: '上传成功!'});
|
|
|
- this.initFileList();
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- //删除批次
|
|
|
- deletePc(){
|
|
|
- this.$confirm('此操作将永久删除该项目, 是否继续?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning',
|
|
|
- center: true
|
|
|
- }).then(() => {
|
|
|
- let params = new FormData();
|
|
|
- params.append("pewg",JSON.stringify(this.currProject));
|
|
|
- this.$ajax.post('/api/data/manage/pewg/delOnePewg', params, this).then(res => {
|
|
|
- const {success, data} = res;
|
|
|
- if(success && data>0){
|
|
|
- this.recordInfo('del','批而未供项目删除',this.currProject.pewg_id);
|
|
|
- this.$parent.getBpxmList();
|
|
|
- }
|
|
|
- })
|
|
|
- }).catch(() => {
|
|
|
- this.$message({
|
|
|
- type: 'info',
|
|
|
- message: '已取消删除'
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- tabClick(tab){
|
|
|
- if(tab.index==1){
|
|
|
- this.getBpxmDetail();
|
|
|
- }else if(tab.index==2){
|
|
|
- this.initFileList();
|
|
|
- }
|
|
|
- },
|
|
|
- openXmLoc(){
|
|
|
- this.showMap =true;
|
|
|
- let arr = this.currProject.xm_guid;
|
|
|
- let _this = this;
|
|
|
- setTimeout(() => {
|
|
|
- _this.$refs.basemap.locationGlobal('YHYZT_ST_GDDK_NEW',`xm_guid = '${arr}'`);
|
|
|
- }, 500);
|
|
|
- },
|
|
|
- getBpxmDetail(){
|
|
|
- this.jbxxEdit = false;
|
|
|
- let params = new FormData();
|
|
|
- params.append("page",this.xmdkInfo.page);
|
|
|
- params.append("size",this.xmdkInfo.size);
|
|
|
- params.append("bpxmId",this.currProject.xm_guid);
|
|
|
- this.xmdkInfo.data =[];
|
|
|
- this.xmdkInfo.total=0;
|
|
|
- let _this = this;
|
|
|
- this.$ajax.post('/api/data/manage/nzy/getBpxmDetail', params, this, true).then(res => {
|
|
|
- const {success,data} = res;
|
|
|
- if(success){
|
|
|
- this.xmdkInfo.data = data.list;
|
|
|
- this.xmdkInfo.total = data.total;
|
|
|
- this.xmdkInfo.currDk = data.list?this.xmdkInfo.data[0]:{};
|
|
|
- this.xmdkInfo.xmdkSelected = data.list?this.xmdkInfo.data[0].xm_bh:'';
|
|
|
- }else{
|
|
|
- this.$message.error("查询失败!")
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- updateBpxm(){
|
|
|
- this.jbxxEdit = false;
|
|
|
- let params = new FormData();
|
|
|
- params.append("project",JSON.stringify(this.currProject));
|
|
|
- let _this = this;
|
|
|
- this.$ajax.post('/api/data/manage/pewg/editOnePewg', params, this, true).then(res => {
|
|
|
+ params.append("guid",item.index_id);
|
|
|
+ this.$ajax.post('/api/data/manage/gd/getGdDetail', params, this, true).then(res => {
|
|
|
const {success,data} = res;
|
|
|
if(success){
|
|
|
- this.initBpxm();
|
|
|
- this.recordInfo('edit','批而未供项目修改');
|
|
|
- }else{
|
|
|
- this.$message.error("修改失败!")
|
|
|
+ this.openDetail(0,data);
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- initBpxm(){},
|
|
|
- //附件材料切换
|
|
|
- fileChange(item){
|
|
|
- this.treeSelected =item.value;
|
|
|
- this.files = this.fileList[item.value];
|
|
|
- },
|
|
|
- //删除材料
|
|
|
- deletefile(item){
|
|
|
- this.$confirm('此操作将永久删除该附件, 是否继续?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning',
|
|
|
- center: true
|
|
|
- }).then(() => {
|
|
|
- let params = new FormData();
|
|
|
- params.append("fileid",item.id);
|
|
|
- params.append("fileUrl",item.fileurl);
|
|
|
- this.$ajax.post('/api/data/upload/nzy/delfile', params, this).then(res => {
|
|
|
- const {success, data} = res;
|
|
|
- if(success && data){
|
|
|
- this.fileList = data;
|
|
|
- this.initFileList();
|
|
|
- }
|
|
|
- })
|
|
|
- }).catch(() => {
|
|
|
- this.$message({
|
|
|
- type: 'info',
|
|
|
- message: '已取消删除'
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- /**
|
|
|
- * 表格样式
|
|
|
- * @param row
|
|
|
- * @param rowIndex
|
|
|
- * @returns {string}
|
|
|
- */
|
|
|
- tableRowStyle({row, rowIndex}) {
|
|
|
- if (rowIndex%2 === 1) {
|
|
|
- return 'text-align:center;background:#F7F8FA';
|
|
|
- }else{
|
|
|
- return 'text-align:center;';
|
|
|
+ locationDk(index,row){
|
|
|
+ if(row.pewg_id){
|
|
|
+ this.detailShow = false;
|
|
|
+ let dkbhArr = row.pewg_id?row.pewg_id.split(","):'';
|
|
|
+ let arr = dkbhArr.map(i=>{return "'"+i+"'";});
|
|
|
+ this.$vm.$emit('locationGlobal', this.visibleLayerId[0], `xm_guid in (${arr.join()})`)
|
|
|
+ //this.$message.warning("暂无图形")
|
|
|
}
|
|
|
},
|
|
|
- tableHeaderStyle(){
|
|
|
- return 'background:#E5EDFE; font-family:AlibabaPuHuiTiR; font-size:16px; color:rgba(51, 51, 51, 1);text-align:center;';
|
|
|
- },
|
|
|
- //处理内容变化记录信息
|
|
|
- recordInfo(type,name,id){
|
|
|
- let info = {};
|
|
|
- info.re_recorder = this.user.userInfo.orgName;
|
|
|
- info.table_type = '批而未供管理';
|
|
|
- info.re_content='';
|
|
|
- let _this = this;
|
|
|
- info.re_name = name;
|
|
|
- if(type=='edit'){
|
|
|
- Object.keys(this.currProject).forEach(function(key) {
|
|
|
- if(_this.currProject[key]!=_this.oldProject[key]){
|
|
|
- info.re_content += '字段'+key+'内容由'+_this.oldProject[key]+'改为'+_this.currProject[key]+';';
|
|
|
- }
|
|
|
- });
|
|
|
- }else if(type=='del'){
|
|
|
- info.re_content ='删除主键为:'+id;
|
|
|
- }
|
|
|
- if(info.re_content==''){
|
|
|
- this.$message.success("编辑成功!")
|
|
|
- return;
|
|
|
+ drawShapeJsonEvent(json){
|
|
|
+ if(json){
|
|
|
+ this.drawShapeJson = json;
|
|
|
+ this.getBpxmList();
|
|
|
+ this.$message.success("绘制结束");
|
|
|
}
|
|
|
- let params = new FormData();
|
|
|
- params.append('data',JSON.stringify(info))
|
|
|
- //执行持久化操作(记录入库)
|
|
|
- this.$ajax.post('/api/opera/record/insert',params, this, true).then(res => {
|
|
|
- const {success,data} = res;
|
|
|
- if(success && type=="edit"){
|
|
|
- this.$message.success("编辑成功!")
|
|
|
- }else if(success && type=="del"){
|
|
|
- this.$message.success("删除成功!")
|
|
|
- }else{
|
|
|
- this.$message.error("编辑失败!")
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
+ },
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
- .xm-detal{
|
|
|
- padding-top: 20px;
|
|
|
- ::v-deep{
|
|
|
- .el-tabs__nav-scroll{
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- .el-tabs__item{
|
|
|
- padding:0px 60px;
|
|
|
- font-size: 16px;
|
|
|
- }
|
|
|
- .el-tabs__item.is-active{
|
|
|
- color: #446AE7;
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
- .el-tabs__active-bar{
|
|
|
- height: 4px;
|
|
|
- width: 56px;
|
|
|
- background: #446AE7;
|
|
|
- border-radius: 0px 0px 0px 0px;
|
|
|
- }
|
|
|
- }
|
|
|
- .el-upload-list{
|
|
|
- position: absolute;
|
|
|
- top: 200px;
|
|
|
- left: 20px;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .head{
|
|
|
- padding: 0px 20px;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- .title{
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- div{
|
|
|
- width: 6px;
|
|
|
- height: 18px;
|
|
|
- background: #5988FF;
|
|
|
- border-radius: 1px 1px 1px 1px;
|
|
|
- }
|
|
|
- span{
|
|
|
- font-family: AlibabaPuHuiTiM;
|
|
|
- font-weight: 500;
|
|
|
- font-size: 16px;
|
|
|
- color: #1F2F47;
|
|
|
- margin-left: 10px;
|
|
|
- }
|
|
|
- }
|
|
|
- .handler-btn{
|
|
|
- display: flex;
|
|
|
- >div{
|
|
|
- width: 102px;
|
|
|
- height: 30px;
|
|
|
- background: #E8F0FF;
|
|
|
- border-radius: 4px 4px 4px 4px;
|
|
|
- border: 1px solid #C2D8FF;
|
|
|
- display: flex;
|
|
|
- justify-content: space-around;
|
|
|
- align-items: center;
|
|
|
- margin-left: 8px;
|
|
|
- cursor: pointer;
|
|
|
- i{
|
|
|
- font-size: 16px;
|
|
|
- }
|
|
|
- span{
|
|
|
- font-family: AlibabaPuHuiTiM;
|
|
|
- font-weight: normal;
|
|
|
- font-size: 14px;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .content{
|
|
|
- .tables{
|
|
|
- padding: 0px 20px;
|
|
|
- width: 100%;margin-top: 15px;
|
|
|
- overflow-y: auto;
|
|
|
- table{
|
|
|
- width: 100%;
|
|
|
- border-collapse: collapse;
|
|
|
- tr,th,td{
|
|
|
- border:1px solid #D6D6D6;
|
|
|
- height: 40px;
|
|
|
- font-size: 14px;
|
|
|
- color: #1F2F47;
|
|
|
- }
|
|
|
- th{
|
|
|
- width: 16%;
|
|
|
- background: #F4F6F8;
|
|
|
- font-family: AlibabaPuHuiTiM;
|
|
|
- font-weight: normal;
|
|
|
- }
|
|
|
- td{
|
|
|
- width: 16%;
|
|
|
- padding: 0px 5px;
|
|
|
- }
|
|
|
- }
|
|
|
- ::v-deep{
|
|
|
- .el-input__inner{
|
|
|
- //border:1px solid #fff;
|
|
|
- border-radius:0px;
|
|
|
- border-color: transparent;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .btns{
|
|
|
- width:100%;
|
|
|
- height: calc(92% - 90px);
|
|
|
- overflow-y: auto;
|
|
|
- border-right: 1px solid #D2DAE6;
|
|
|
- .btn{
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- cursor: pointer;
|
|
|
- height: 40px;
|
|
|
- margin: 5px 0px;
|
|
|
-
|
|
|
- font-family: AlibabaPuHuiTiM;
|
|
|
- font-weight: normal;
|
|
|
- font-size: 16px;
|
|
|
- color: #666666;
|
|
|
- padding: 0px 10px;
|
|
|
- img{
|
|
|
- width: 26px;
|
|
|
- margin-right: 10px;
|
|
|
- }
|
|
|
- &.selected{
|
|
|
- background: #F0F6FC;
|
|
|
- border-radius: 4px 4px 4px 4px;
|
|
|
- color: #446AE7;
|
|
|
- .el-upload{
|
|
|
- color: #19be6b;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .files{
|
|
|
- width: 70%;
|
|
|
- .file{
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- padding: 0px 10px;
|
|
|
- margin: 20px 0px;
|
|
|
- >div:first-child{
|
|
|
- display: flex;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: baseline;
|
|
|
- line-height: 20px;
|
|
|
- span:nth-child(1){
|
|
|
- font-family: AlibabaPuHuiTiM;
|
|
|
- font-weight: normal;
|
|
|
- font-size: 14px;
|
|
|
- color: #172339;
|
|
|
- line-height: 16px;
|
|
|
- }
|
|
|
- span:nth-child(2){
|
|
|
- font-family: AlibabaPuHuiTiR;
|
|
|
- font-weight: normal;
|
|
|
- font-size: 12px;
|
|
|
- color: #91969B;
|
|
|
- }
|
|
|
- }
|
|
|
- >div:nth-child(2){
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- .zw{
|
|
|
- width: 2px;
|
|
|
- height: 18px;
|
|
|
- background: #CCD1DC;
|
|
|
- margin: 0 8px;
|
|
|
- }
|
|
|
- i{
|
|
|
- color: #8d9093;
|
|
|
- font-size: 20px;
|
|
|
- cursor: pointer;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .content-map{
|
|
|
- padding: 20px;
|
|
|
- border-radius: 6px;
|
|
|
- ::v-deep{
|
|
|
- .vl-tool-bar{
|
|
|
- margin: 50px 20px 0 0;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+.xm-detal {
|
|
|
+ width: 100%;
|
|
|
+ .map_box {
|
|
|
+ width: 100%;
|
|
|
+ height: 600px;
|
|
|
}
|
|
|
- ::v-deep{
|
|
|
- .modalClass{
|
|
|
- .ivu-modal-content{
|
|
|
- border-radius: 12px;
|
|
|
- }
|
|
|
- .ivu-modal-header{
|
|
|
- border-radius: 12px 12px 0px 0px;
|
|
|
- background: linear-gradient( 180deg, #DEEBFF 0%, #FFFFFF 100%);
|
|
|
- border-bottom:none;
|
|
|
- .ivu-modal-header-inner{
|
|
|
- font-family: AlibabaPuHuiTiM;
|
|
|
- font-weight: normal;
|
|
|
- font-size: 18px;
|
|
|
- color: #181B1F;
|
|
|
- }
|
|
|
- }
|
|
|
- .ivu-modal-body{
|
|
|
+ .tables {
|
|
|
+ width: 100%;
|
|
|
+ overflow-y: auto;
|
|
|
+ table {
|
|
|
+ width: 100%;
|
|
|
+ border-collapse: collapse;
|
|
|
+ tr,
|
|
|
+ th,
|
|
|
+ td {
|
|
|
+ border: 1px solid #d6d6d6;
|
|
|
+ height: 40px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #1f2f47;
|
|
|
+ padding: 0px 10px;
|
|
|
+ }
|
|
|
+ th {
|
|
|
+ width: 155px;
|
|
|
+ background: #f4f6f8;
|
|
|
font-family: AlibabaPuHuiTiM;
|
|
|
font-weight: normal;
|
|
|
- font-size: 18px;
|
|
|
- color: #000000;
|
|
|
+ &.title {
|
|
|
+ text-align: left;
|
|
|
+ background: #fff;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
}
|
|
|
- .ivu-modal-close .ivu-icon-ios-close{
|
|
|
- font-weight: bold;
|
|
|
- color: #181B1F;
|
|
|
+ td {
|
|
|
+ padding: 0px 5px;
|
|
|
}
|
|
|
- .ivu-modal-footer{
|
|
|
- border-top: none;
|
|
|
+ }
|
|
|
+ ::v-deep {
|
|
|
+ .el-input__inner {
|
|
|
+ //border:1px solid #fff;
|
|
|
+ border-radius: 0px;
|
|
|
+ border-color: transparent;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+}
|
|
|
</style>
|