Bladeren bron

Merge remote-tracking branch 'origin/master'

liutao 2 weken geleden
bovenliggende
commit
6ef7cba508

+ 99 - 125
YHYZT/client/src/views/DataManage/Gd.vue

@@ -2,60 +2,66 @@
   <div class="page-nzy-manage">
     <div class="page-left" :style="{height:contentHeight+'px',width:contentWidth+'px'}">
       <div class="nzy-tools">
-        <el-form label-width="138px" :model="paramsList">
+        <el-form label-width="158px" :model="searchParam">
           <el-row :gutter="0">
-            <el-col :span="4">
+            <el-col :span="6">
               <el-form-item label="做地主体:">
-                <el-input v-model="paramsList.pzwh" placeholder="请输入做地主体" clearable></el-input>
+                <el-input v-model="searchParam.gdsy" placeholder="请输入做地主体" clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+            <el-col :span="6">
+              <el-form-item label="地块名称:">
+                <el-input v-model="searchParam.dkMc" placeholder="请输入地块名称"  clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
               <el-form-item label="用地性质:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入用地性质"  clearable></el-input>
+                <el-input v-model="searchParam.xxz" placeholder="请输入用地性质"  clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
-              <span></span>
+            <el-col :span="6">
               <el-form-item label="挂牌出让地块:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入挂牌出让地块"  clearable></el-input>
+                <el-input v-model="searchParam.gpcrdk" placeholder="请输入挂牌出让地块"  clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+          </el-row>
+          <el-row>
+            <el-col :span="6">
               <el-form-item label="竞得单位:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入竞得单位"  clearable></el-input>
+                <el-input v-model="searchParam.dwMc" placeholder="请输入竞得单位"  clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+            <el-col :span="6">
               <el-form-item label="土地面积(亩):">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入土地面积(亩)"  clearable></el-input>
+                <el-input v-model="searchParam.tdmj" placeholder="请输入土地面积(亩)"  clearable></el-input>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+            <el-col :span="6">
               <el-form-item label="土地坐落:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入土地坐落"  clearable></el-input>
+                <el-input v-model="searchParam.tdZl" placeholder="请输入土地坐落"  clearable></el-input>
               </el-form-item>
             </el-col>
-          </el-row>
-          <el-row>
-            <el-col :span="4">
+            <el-col :span="6">
               <el-form-item label="出让金是否已缴清:">
-                <el-select>
-                  <el-option value="1" label="是"></el-option>
-                  <el-option value="0" label="否"></el-option>
+                <el-select v-model="searchParam.crjsfyjq" style="width: 100%;">
+                  <el-option value="" label="是"></el-option>
+                  <el-option value="" label="否"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+          </el-row>
+          <el-row>
+            <el-col :span="6">
               <el-form-item label="合同是否已备案:">
-                <el-select>
-                  <el-option value="1" label="是"></el-option>
-                  <el-option value="0" label="否"></el-option>
+                <el-select v-model="searchParam.htsfyba" style="width: 100%;">
+                  <el-option value="" label="是"></el-option>
+                  <el-option value="" label="否"></el-option>
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="4">
+            <el-col :span="6">
               <div class="btn-group" style="margin-left: 20px;">
-                <el-button type="primary" @click="getBpxmList">查询</el-button>
+                <el-button type="primary" @click="queryByPage">查询</el-button>
                 <div class="panel-dropdown">
                   <el-dropdown>
                     <el-button type="success">
@@ -90,7 +96,6 @@
             :height="contentHeight-260"
             :header-cell-style="tableHeaderStyle"
             :cell-style="tableRowStyle"
-            :row-click="rowClick"
             ref="report-table"
             >
           <el-table-column
@@ -99,56 +104,66 @@
               label="序号">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="gdsy"
               label="做地主体">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="dkMc"
+              label="地块名称">
+          </el-table-column>
+          <el-table-column
+              prop="xxz"
               label="用地性质">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="gpcrdk"
               label="挂牌出让地块">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="dwMc"
               label="竞得单位">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="tdmj"
               label="土地面积(亩)">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="tdZl"
               label="土地坐落">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="crjsfyjq"
               label="出让金是否已缴清">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="htsfyba"
               label="合同是否已备案">
           </el-table-column>
           <el-table-column
-              width="150"
-
+              width="260"
               label="操作">
             <template slot-scope="scope">
               <div style="line-height: 34px;">
                 <el-button
-                  @click.native.prevent="openDetail(scope.$index, scope.row)"
-                  style="margin-right: 10px;"
+                  @click.native.prevent="openDetail(scope.row)"
                   plain
                   type="primary"
                   size="mini">
                   查看
                 </el-button>
+                <el-button
+                  @click.native.prevent="openDetail(scope.row, true)"
+                  style="margin: 0px 10px;"
+                  plain
+                  type="primary"
+                  size="mini">
+                  编辑
+                </el-button>
                 <el-popconfirm
                   title="该条数据确定删除吗?"
+                  @confirm="deleteHandle(scope.$index, scope.row)"
                 >
                   <el-button
-                    @click.native.prevent="locationDk(scope.$index, scope.row)"
                     plain
                     type="danger"
                     slot="reference"
@@ -162,8 +177,8 @@
         </el-table>
         <Page style="float: right;margin-top: 10px;"
               show-total
-              :total="paramsList.total"
-              :page-size="paramsList.size"
+              :total="tableData.total"
+              :page-size="searchParam.size"
               @on-change="pageChange"
               @on-page-size-change="sizeChange"
               show-sizer />
@@ -175,21 +190,16 @@
       top="5vh"
       width="80%"
     >
-      <detail ref="details" @initBpxm="getBpxmList" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight" :project="currProject"/>
+      <detail ref="details" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight"/>
     </el-dialog>
   </div>
 </template>
 <script>
-import BaseMap from "../../components/common/BaseMap";
 import Detail from "./gd/Detail";
-import {Geometry as WkxGeometry} from "wkx";
 import JSZip from 'jszip'
 import mapshaper from 'mapshaper';
 import { saveAs } from 'file-saver'
-import * as XLSX from "xlsx";
 const {
-  importContent,
-  setDatasetCRS,
   exportFileContent
 } = mapshaper.internal
 export default {
@@ -198,102 +208,68 @@ export default {
     contentWidth:Number,
     contentHeight:Number
   },
-  components:{BaseMap,Detail},
+  components:{Detail},
   data() {
     return {
-      compName: 'data-manage',
       menus:JSON.parse(window.sessionStorage.getItem('yzt-user')),
       menusWidth:700,
       detailShow:false,
       tableData:{
         data:[],
       },
-      currProject:null,
-      paramsList:{pzwh:'',pcmc:'',page:1,size:15,total:0},
-      fullscreenLoading: false,
-      drawShapeJson:null,
+      searchParam: {
+        pcbh: '',
+        pch: '',
+        lx: '',
+        pwh: '',
+        pzrqStart: '',
+        pzrqEnd: '',
+        pzmj: '',
+        nmjf: '',
+        current: 1,
+        size: 10
+      }
     }
   },
   mounted(){
-    this.getBpxmList();
+    this.queryByPage();
   },
   methods: {
-    //处理内容变化记录信息
-    recordInfo(type,name,content){
-      let info = {};
-      info.re_recorder = this.menus.userInfo.orgName;
-      info.table_type = '农转用导入';
-      info.re_content='';
-      let _this = this;
-      info.re_name = name;
-      if(type=='input'){
-        info.re_content ='导入项目文件名:'+content;
-      }else{
-        info.re_content ='导出文件名:'+content;
-      }
-      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){
-          this.$message.success("操作成功!")
-        }else{
-          this.$message.error("操作失败!")
-        }
-      })
-    },
     pageChange:function (page){
-      this.paramsList.page=page;
-      this.getBpxmList()
+      this.searchParam.current=page;
+      this.queryByPage()
     },
     sizeChange:function (size){
-      this.paramsList.size=size;
-      this.getBpxmList()
+      this.searchParam.size=size;
+      this.queryByPage()
     },
     //查询报批项目信息
-    getBpxmList(){
-      let params = new FormData();
-      params.append("pzwh",this.paramsList.pzwh);
-      params.append("pcmc",this.paramsList.pcmc);
-      params.append("page",this.paramsList.page);
-      params.append("size",this.paramsList.size);
-      if(this.drawShapeJson){
-        params.append("shapes",JSON.stringify(this.drawShapeJson));
-      }
+    queryByPage(){
       let _this = this;
-      this.$ajax.post('/api/data/manage/nzy/getBpxm', params, this, true).then(res => {
-        const {success,data} = res;
-        if(success){
-          _this.tableData.data =[];
-          _this.paramsList.total=0;
-          if(data.list){
-            _this.tableData.data= data.list;
-            _this.paramsList.total = data.total;
-          }
+      const params = {
+        ...this.searchParam
+      }
+      this.$ajax.get('/api/stnzy/page', params, this, true).then(res => {
+        if (res.status === 200) {
+            _this.tableData.data= res.records;
+            _this.tableData.total = res.total;
         }
       })
     },
-    rowClick(row, column, event){
-      this.currProject = row;
-      this.detailShow =true;
-    },
-    openDetail(index,row){
-      this.currProject = row;
+    openDetail(row, isEditor = false){
       this.detailShow = true;
-      this.$nextTick(()=>{
-        console.log(this.$refs['details'])
-        this.$refs['details'].initDetailData()
+      this.$nextTick(() => {
+        this.$refs['details'].initDetailData(row, isEditor)
       })
     },
-    locationDk(index,row){
-      if(row.dk_bh){
-        this.detailShow = false;
-        let dkbhArr = row.dk_bh?row.dk_bh.split(","):'';
-        let arr = dkbhArr.map(i=>{return   "'"+i+"'";});
-        this.$vm.$emit('locationGlobal', 'YHYZT_NZYDK_NEW', `index_id in (${arr.join()})`)
-        //this.$message.warning("暂无图形")
-      }
+    deleteHandle (index, row) {
+      const params = {id: row['objectid']}
+      this.$ajax.get('/api/stgddk/delete', params, this, true).then(res => {
+        if (res) {
+          this.$Message.success('删除成功!')
+          this.queryByPage();
+        }
+      })
     },
     tableRowStyle({row, rowIndex}) {
       if (rowIndex%2 === 1) {
@@ -316,19 +292,17 @@ export default {
     doInput(file){
       let params = new FormData();
       params.append("file",file);
-      let _this = this;
       const loading = this.$loading({
         lock: true,
         text: '正在导入中',
         spinner: 'el-icon-loading',
         background: 'rgba(0, 0, 0, 0.7)'
       });
-      this.$ajax.post('/api/data/upload/gd/zip', params, this).then(res => {
-        const {success,data} = res;
+      this.$ajax.post('/api/stgddk/upload', params, this).then(res => {
         loading.close();
-        if(success && data){
-          this.recordInfo("input",'供地成果导入',file.name);
-        }
+         if (res) {
+          this.$Message.success("导入成功!")
+         }
       })
     },
     saveDataset(dataset, type = 'shapefile') {

+ 100 - 134
YHYZT/client/src/views/DataManage/Lsyd.vue

@@ -2,44 +2,58 @@
   <div class="page-nzy-manage">
     <div class="page-left" :style="{height:contentHeight+'px',width:contentWidth+'px'}">
       <div class="nzy-tools">
-        <el-form label-width="120px" :model="paramsList">
-          <el-row :gutter="20">
+        <el-form label-width="120px" :model="searchParam">
+          <el-row :gutter="10">
+            <el-col :span="6">
+              <el-form-item label="项目名称:">
+                <el-input v-model="searchParam.xmmc" placeholder="请输入项目名称" clearable></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :span="6">
               <el-form-item label="批复文号:">
-                <el-input v-model="paramsList.pzwh" placeholder="请输入批复文号" clearable></el-input>
+                <el-input v-model="searchParam.pzwh" placeholder="请输入批复文号" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="用地单位:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入用地单位"  clearable></el-input>
+                <el-input v-model="searchParam.yddw" placeholder="请输入用地单位"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <span></span>
               <el-form-item label="批准面积:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入批准面积"  clearable></el-input>
+                <el-input v-model="searchParam.pzmj" placeholder="请输入批准面积"  clearable></el-input>
               </el-form-item>
             </el-col>
+          </el-row>
+          <el-row :gutter="10">
             <el-col :span="6">
               <el-form-item label="批准单位:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入批准单位"  clearable></el-input>
+                <el-input v-model="searchParam.pzdw" placeholder="请输入批准单位"  clearable></el-input>
               </el-form-item>
             </el-col>
-          </el-row>
-          <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="坐落位置:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入坐落位置"  clearable></el-input>
+                <el-input v-model="searchParam.zlwz" placeholder="请输入坐落位置"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="到期时间:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入到期时间"  clearable></el-input>
+                <el-date-picker
+                  v-model="dqsjDateRange"
+                  type="daterange"
+                  value-format="yyyy-MM-dd"
+                  unlink-panels
+                  start-placeholder="批准开始时间"
+                  end-placeholder="批准结束时间"
+                  :shortcuts="shortcuts"
+                  style="width:100%"
+                />
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <div class="btn-group">
-                <el-button type="primary" @click="getBpxmList">查询</el-button>
+                <el-button type="primary" @click="queryByPage">查询</el-button>
                 <div class="panel-dropdown">
                   <el-dropdown>
                     <el-button type="success">
@@ -74,7 +88,6 @@
             :height="contentHeight-260"
             :header-cell-style="tableHeaderStyle"
             :cell-style="tableRowStyle"
-            :row-click="rowClick"
             ref="report-table"
             >
           <el-table-column
@@ -83,54 +96,58 @@
               label="序号">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
-              label="批次索引">
+              prop="xmmc"
+              label="项目名称">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
-              label="项目名称">
+              prop="pzwh"
+              label="批复文号">
           </el-table-column>
           <el-table-column
-              prop="xm_lx"
-              label="项目类型"
-              width="100">
-            <template slot-scope="scope">
-              <span v-if="scope.row.xm_lx=='2'">单独选址项目</span>
-              <span v-else-if="scope.row.xm_lx=='3'">城市分批次项目</span>
-              <span v-else-if="scope.row.xm_lx=='10'">实施方案项目</span>
-            </template>
+              prop="yddw"
+              label="用地单位">
           </el-table-column>
           <el-table-column
-              prop="xm_bh"
-              label="批准文号">
+              prop="pzmj"
+              label="批准面积">
           </el-table-column>
           <el-table-column
-              prop="xm_mc"
-              label="批准日期">
+              prop="pzdw"
+              label="批准单位">
           </el-table-column>
           <el-table-column
-              prop="xm_mc"
-              label="批次总面积(公顷)">
+              prop="zlwz"
+              label="坐落位置">
           </el-table-column>
           <el-table-column
-              width="150"
-
+              prop="dqsj"
+              label="到期时间">
+          </el-table-column>
+          <el-table-column
+              width="260"
               label="操作">
             <template slot-scope="scope">
               <div style="line-height: 34px;">
                 <el-button
-                  @click.native.prevent="openDetail(scope.$index, scope.row)"
-                  style="margin-right: 10px;"
+                  @click.native.prevent="openDetail(scope.row)"
                   plain
                   type="primary"
                   size="mini">
                   查看
                 </el-button>
+                <el-button
+                  @click.native.prevent="openDetail(scope.row, true)"
+                  style="margin: 0px 10px;"
+                  plain
+                  type="primary"
+                  size="mini">
+                  编辑
+                </el-button>
                 <el-popconfirm
                   title="该条数据确定删除吗?"
+                  @confirm="deleteHandle(scope.$index, scope.row)"
                 >
                   <el-button
-                    @click.native.prevent="locationDk(scope.$index, scope.row)"
                     plain
                     type="danger"
                     slot="reference"
@@ -144,8 +161,8 @@
         </el-table>
         <Page style="float: right;margin-top: 10px;"
               show-total
-              :total="paramsList.total"
-              :page-size="paramsList.size"
+              :total="tableData.total"
+              :page-size="searchParam.size"
               @on-change="pageChange"
               @on-page-size-change="sizeChange"
               show-sizer />
@@ -157,14 +174,12 @@
       top="5vh"
       width="80%"
     >
-      <detail ref="details" @initBpxm="getBpxmList" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight" :project="currProject"/>
+      <detail ref="details" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight" />
     </el-dialog>
   </div>
 </template>
 <script>
-import Detail from "./nzy/Detail";
-import JSZip from 'jszip'
-import { saveAs } from 'file-saver'
+import Detail from "./lsyd/Detail";
 export default {
   name: "Nzy",
   props:{
@@ -174,96 +189,69 @@ export default {
   components:{Detail},
   data() {
     return {
-      compName: 'data-manage',
-      menus:JSON.parse(window.sessionStorage.getItem('yzt-user')),
+      dqsjDateRange: [],
       menusWidth:700,
       detailShow:false,
       tableData:{
         data:[],
       },
-      currProject:null,
-      paramsList:{pzwh:'',pcmc:'',page:1,size:15,total:0},
-      fullscreenLoading: false,
-      drawShapeJson:null,
+      searchParam: {
+        xmmc: '',
+        pzwh: '',
+        yddw: '',
+        pzmj: '',
+        pzdw: '',
+        zlwz: '',
+        dqsjStart: '',
+        dqsjEnd: '',
+        current: 1,
+        size: 10
+      }
     }
   },
   mounted(){
-    this.getBpxmList();
+    this.queryByPage();
   },
   methods: {
-    //处理内容变化记录信息
-    recordInfo(type,name,content){
-      let info = {};
-      info.re_recorder = this.menus.userInfo.orgName;
-      info.table_type = '农转用导入';
-      info.re_content='';
-      let _this = this;
-      info.re_name = name;
-      if(type=='input'){
-        info.re_content ='导入项目文件名:'+content;
-      }else{
-        info.re_content ='导出文件名:'+content;
-      }
-      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){
-          this.$message.success("操作成功!")
-        }else{
-          this.$message.error("操作失败!")
-        }
-      })
-    },
     pageChange:function (page){
-      this.paramsList.page=page;
-      this.getBpxmList()
+      this.searchParam.current=page;
+      this.queryByPage()
     },
     sizeChange:function (size){
-      this.paramsList.size=size;
-      this.getBpxmList()
+      this.searchParam.size=size;
+      this.queryByPage()
     },
     //查询报批项目信息
-    getBpxmList(){
-      let params = new FormData();
-      params.append("page",this.paramsList.page);
-      params.append("size",this.paramsList.size);
-      params.append("dkbh",this.paramsList.dkbh);
-      params.append("dkmc",this.paramsList.dkmc);
-      if(this.drawShapeJson){
-        params.append("shapes",JSON.stringify(this.drawShapeJson));
-      }
+    queryByPage(){
       let _this = this;
-      this.$ajax.post('/api/data/manage/lsyd/getList', params, this, true).then(res => {
-        const {success,data} = res;
-        if(success){
-          _this.tableData.data =[];
-          _this.paramsList.total=0;
-          if(data.list){
-            _this.tableData.data= data.list;
-            _this.paramsList.total = data.total;
-          }
+      if (this.dqsjDateRange.length > 0) {
+        this.searchParam.dqsjStart = this.dqsjDateRange[0]
+        this.searchParam.dqsjEnd = this.dqsjDateRange[1]
+      }
+      const params = {
+        ...this.searchParam
+      }
+      this.$ajax.get('/api/templand/page', params, this, true).then(res => {
+        if (res.status === 200) {
+            _this.tableData.data= res.records;
+            _this.tableData.total = res.total;
         }
       })
     },
-    rowClick(row, column, event){
-      this.currProject = row;
-      this.detailShow =true;
-    },
-    openDetail(index,row){
-      this.currProject = row;
+    openDetail(row, isEditor = false){
       this.detailShow = true;
-      this.$refs['details'].initDetailData()
+      this.$nextTick(() => {
+        this.$refs['details'].initDetailData(row, isEditor)
+      })
     },
-    locationDk(index,row){
-      if(row.dk_bh){
-        this.detailShow = false;
-        let dkbhArr = row.dk_bh?row.dk_bh.split(","):'';
-        let arr = dkbhArr.map(i=>{return   "'"+i+"'";});
-        this.$vm.$emit('locationGlobal', 'YHYZT_NZYDK_NEW', `index_id in (${arr.join()})`)
-        //this.$message.warning("暂无图形")
-      }
+    deleteHandle (index, row) {
+      const params = {id: row['objectid']}
+      this.$ajax.get('/api/stgddk/delete', params, this, true).then(res => {
+        if (res) {
+          this.$Message.success('删除成功!')
+          this.queryByPage();
+        }
+      })
     },
     tableRowStyle({row, rowIndex}) {
       if (rowIndex%2 === 1) {
@@ -286,7 +274,6 @@ export default {
     doInput(file){
       let params = new FormData();
       params.append("file",file);
-      let _this = this;
       const loading = this.$loading({
         lock: true,
         text: '正在导入中',
@@ -294,32 +281,11 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       this.$ajax.post('/api/data/upload/lsyd/zip', params, this).then(res => {
-        const {success,data} = res;
         loading.close();
-        if(success && data){
-          this.recordInfo("input",'临时用地成果导入',file.name);
-        }
-      })
-    },
-    saveFileContent(fileContent) {
-      var zip = new JSZip()
-
-      fileContent.forEach(i => {
-        zip.file(i.filename, i.content)
-      })
-      zip.file('农转用项目.cpg', 'UTF-8')
-      zip.generateAsync({ type: 'blob' }, function updateCallback(metadata) {
-        var msg = 'progression : ' + metadata.percent.toFixed(2) + ' %'
-        if (metadata.currentFile) {
-          msg += ', current file = ' + metadata.currentFile
+         if (res) {
+          this.$Message.error("导入成功!")
         }
-        console.log(msg)
-      }).then((blob) => {
-        // see FileSaver.js
-        saveAs(blob, '农转用项目.zip')
-        console.log('done !')
       })
-          .catch(error => console.error(error.stack))
     },
   }
 }

+ 109 - 167
YHYZT/client/src/views/DataManage/Nzy.vue

@@ -2,44 +2,63 @@
   <div class="page-nzy-manage">
     <div class="page-left" :style="{height:contentHeight+'px',width:contentWidth+'px'}">
       <div class="nzy-tools">
-        <el-form label-width="120px" :model="paramsList">
-          <el-row :gutter="20">
+        <el-form label-width="120px" :model="searchParam">
+          <el-row :gutter="10">
             <el-col :span="6">
               <el-form-item label="批次索引:">
-                <el-input v-model="paramsList.pzwh" placeholder="请输入批次索引" clearable></el-input>
+                <el-input v-model="searchParam.pcbh" placeholder="请输入项目名称"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="项目名称:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入项目名称"  clearable></el-input>
+              <el-form-item label="批次名称:">
+                <el-input v-model="searchParam.pch" placeholder="请输入项目名称"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <span></span>
-              <el-form-item label="项目类型:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入项目类型"  clearable></el-input>
+              <el-form-item label="类型:">
+                <el-select v-model="searchParam.lx" style="width: 100%;">
+                  <el-option value="单独选址" label="单独选址" />
+                  <el-option value="批次用地" label="批次用地" />
+                </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="批准文号:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入批准文号"  clearable></el-input>
+                <el-input v-model="searchParam.pwh" placeholder="请输入批准文号"  clearable></el-input>
               </el-form-item>
             </el-col>
           </el-row>
-          <el-row :gutter="20">
+          <el-row :gutter="10">
             <el-col :span="6">
               <el-form-item label="批准日期:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入批准日期"  clearable></el-input>
+                <el-date-picker
+                  v-model="pcrqDateRange"
+                  type="daterange"
+                  value-format="yyyy-MM-dd"
+                  unlink-panels
+                  start-placeholder="批准开始时间"
+                  end-placeholder="批准结束时间"
+                  :shortcuts="shortcuts"
+                  style="width:100%"
+                />
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="批次总面积:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入批次总面积(公顷)"  clearable></el-input>
+                <el-input v-model="searchParam.pzmj" placeholder="请输入批次总面积(公顷)"  clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="是否农民建房:">
+                <el-select style="width: 100%;" v-model="searchParam.nmjf">
+                  <el-option value="是" label="是"></el-option>
+                  <el-option value="否" label="否"></el-option>
+                </el-select>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <div class="btn-group">
-                <el-button type="primary" @click="getBpxmList">查询</el-button>
+                <el-button type="primary" @click="queryByPage">查询</el-button>
                 <div class="panel-dropdown">
                   <el-dropdown>
                     <el-button type="success">
@@ -74,7 +93,6 @@
             :height="contentHeight-260"
             :header-cell-style="tableHeaderStyle"
             :cell-style="tableRowStyle"
-            :row-click="rowClick"
             ref="report-table"
             >
           <el-table-column
@@ -83,54 +101,54 @@
               label="序号">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
-              label="批次索引">
+              prop="pch"
+              label="批次名称">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
-              label="项目名称">
+              prop="lx"
+              label="类型">
           </el-table-column>
           <el-table-column
-              prop="xm_lx"
-              label="项目类型"
-              width="100">
-            <template slot-scope="scope">
-              <span v-if="scope.row.xm_lx=='2'">单独选址项目</span>
-              <span v-else-if="scope.row.xm_lx=='3'">城市分批次项目</span>
-              <span v-else-if="scope.row.xm_lx=='10'">实施方案项目</span>
-            </template>
-          </el-table-column>
-          <el-table-column
-              prop="xm_bh"
+              prop="pwh"
               label="批准文号">
           </el-table-column>
           <el-table-column
-              prop="xm_mc"
+              prop="pzrq"
               label="批准日期">
           </el-table-column>
           <el-table-column
-              prop="xm_mc"
-              label="批总面积(公顷)">
+              prop="pzmj"
+              label="批准总面积(公顷)">
           </el-table-column>
           <el-table-column
-              width="150"
-
+              prop="nmjf"
+              label="是否农民建房">
+          </el-table-column>
+          <el-table-column
+              width="260"
               label="操作">
             <template slot-scope="scope">
               <div style="line-height: 34px;">
                 <el-button
-                  @click.native.prevent="openDetail(scope.$index, scope.row)"
-                  style="margin-right: 10px;"
+                  @click.native.prevent="openDetail(scope.row)"
                   plain
                   type="primary"
                   size="mini">
                   查看
                 </el-button>
+                <el-button
+                  @click.native.prevent="openDetail(scope.row, true)"
+                  style="margin: 0px 10px;"
+                  plain
+                  type="primary"
+                  size="mini">
+                  编辑
+                </el-button>
                 <el-popconfirm
                   title="该条数据确定删除吗?"
+                  @confirm="deleteHandle(scope.$index, scope.row)"
                 >
                   <el-button
-                    @click.native.prevent="locationDk(scope.$index, scope.row)"
                     plain
                     type="danger"
                     slot="reference"
@@ -144,8 +162,8 @@
         </el-table>
         <Page style="float: right;margin-top: 10px;"
               show-total
-              :total="paramsList.total"
-              :page-size="paramsList.size"
+              :total="tableData.total"
+              :page-size="searchParam.size"
               @on-change="pageChange"
               @on-page-size-change="sizeChange"
               show-sizer />
@@ -157,21 +175,16 @@
       top="5vh"
       width="80%"
     >
-      <detail ref="details" @initBpxm="getBpxmList" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight" :project="currProject"/>
+      <detail ref="details" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight"/>
     </el-dialog>
   </div>
 </template>
 <script>
-import BaseMap from "../../components/common/BaseMap";
 import Detail from "./nzy/Detail";
-import {Geometry as WkxGeometry} from "wkx";
 import JSZip from 'jszip'
 import mapshaper from 'mapshaper';
 import { saveAs } from 'file-saver'
-import * as XLSX from "xlsx";
 const {
-  importContent,
-  setDatasetCRS,
   exportFileContent
 } = mapshaper.internal
 export default {
@@ -180,99 +193,73 @@ export default {
     contentWidth:Number,
     contentHeight:Number
   },
-  components:{BaseMap,Detail},
+  components:{Detail},
   data() {
     return {
-      compName: 'data-manage',
       menus:JSON.parse(window.sessionStorage.getItem('yzt-user')),
       menusWidth:700,
       detailShow:false,
       tableData:{
         data:[],
       },
-      currProject:null,
-      paramsList:{pzwh:'',pcmc:'',page:1,size:15,total:0},
-      fullscreenLoading: false,
-      drawShapeJson:null,
+      pcrqDateRange: [],
+      searchParam: {
+        pcbh: '',
+        pch: '',
+        lx: '',
+        pwh: '',
+        pzrqStart: '',
+        pzrqEnd: '',
+        pzmj: '',
+        nmjf: '',
+        current: 1,
+        size: 10
+      }
     }
   },
-  mounted(){
-    this.getBpxmList();
+  created () {
+    this.queryByPage();
   },
   methods: {
-    //处理内容变化记录信息
-    recordInfo(type,name,content){
-      let info = {};
-      info.re_recorder = this.menus.userInfo.orgName;
-      info.table_type = '农转用导入';
-      info.re_content='';
-      let _this = this;
-      info.re_name = name;
-      if(type=='input'){
-        info.re_content ='导入项目文件名:'+content;
-      }else{
-        info.re_content ='导出文件名:'+content;
-      }
-      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){
-          this.$message.success("操作成功!")
-        }else{
-          this.$message.error("操作失败!")
-        }
-      })
-    },
     pageChange:function (page){
-      this.paramsList.page=page;
-      this.getBpxmList()
+      this.searchParam.current=page;
+      this.queryByPage()
     },
     sizeChange:function (size){
-      this.paramsList.size=size;
-      this.getBpxmList()
+      this.searchParam.size=size;
+      this.queryByPage()
     },
     //查询报批项目信息
-    getBpxmList(){
-      let params = new FormData();
-      params.append("pzwh",this.paramsList.pzwh);
-      params.append("pcmc",this.paramsList.pcmc);
-      params.append("page",this.paramsList.page);
-      params.append("size",this.paramsList.size);
-      if(this.drawShapeJson){
-        params.append("shapes",JSON.stringify(this.drawShapeJson));
-      }
+    queryByPage () {
       let _this = this;
-      this.$ajax.post('/api/data/manage/nzy/getBpxm', params, this, true).then(res => {
-        const {success,data} = res;
-        if(success){
-          _this.tableData.data =[];
-          _this.paramsList.total=0;
-          if(data.list){
-            _this.tableData.data= data.list;
-            _this.paramsList.total = data.total;
-          }
+      if (this.pcrqDateRange.length > 0) {
+        this.searchParam.pzrqStart = this.pcrqDateRange[0]
+        this.searchParam.pzrqEnd = this.pcrqDateRange[1]
+      }
+      const params = {
+        ...this.searchParam
+      }
+      this.$ajax.get('/api/stnzy/page', params, this, true).then(res => {
+        if (res.status === 200) {
+            _this.tableData.data= res.records;
+            _this.tableData.total = res.total;
         }
       })
     },
-    rowClick(row, column, event){
-      this.currProject = row;
-      this.detailShow =true;
-    },
-    openDetail(index,row){
-      this.currProject = row;
+    openDetail(row, isEditor = false){
       this.detailShow = true;
-      this.$refs['details'].initDetailData()
+      this.$nextTick(() => {
+        this.$refs['details'].initDetailData(row, isEditor)
+      })
     },
-    locationDk(index,row){
-      if(row.dk_bh){
-        this.detailShow = false;
-        let dkbhArr = row.dk_bh?row.dk_bh.split(","):'';
-        let arr = dkbhArr.map(i=>{return   "'"+i+"'";});
-        this.$vm.$emit('locationGlobal', 'YHYZT_NZYDK_NEW', `index_id in (${arr.join()})`)
-        //this.$message.warning("暂无图形")
-      }
+    deleteHandle (index, row) {
+      const params = {pch: row['pch']}
+      this.$ajax.get('/api/stnzy/deleteByPch', params, this, true).then(res => {
+        if (res) {
+          this.$Message.success('删除成功!')
+          this.queryByPage()
+        }
+      })
     },
     tableRowStyle({row, rowIndex}) {
       if (rowIndex%2 === 1) {
@@ -295,63 +282,18 @@ export default {
     doInput(file){
       let params = new FormData();
        params.append("file",file);
-
-       let _this = this;
-        const loading = this.$loading({
-          lock: true,
-          text: '正在导入中',
-          spinner: 'el-icon-loading',
-          background: 'rgba(0, 0, 0, 0.7)'
-        });
-       this.$ajax.post('/api/data/upload/nzy/zip', params, this).then(res => {
-         const {success,data} = res;
-         loading.close();
-         if(success && data){
-           this.recordInfo("input",'农转用成果导入',file.name);
-           //this.$message.success("上传成功!")
-         }
-       })
-    },
-    doExport(){
-      let params = new FormData();
-      params.append("pzwh",this.paramsList.pzwh);
-      params.append("pcmc",this.paramsList.pcmc);
       const loading = this.$loading({
         lock: true,
-        text: '正在导',
+        text: '正在导入中',
         spinner: 'el-icon-loading',
         background: 'rgba(0, 0, 0, 0.7)'
       });
-      this.$ajax.post('/api/data/manage/nzy/exportShapeFile', params, this).then(res => {
-        const {success, data} = res;
-        if(success){
-          const geos = {
-            'type': 'FeatureCollection',
-            'features': []
-          }
-          data.map(i=>{
-            let geoT = {
-              type: 'Feature',
-              geometry: {},
-              properties: {}
-            }
-            const geo = WkxGeometry.parse(i.geomText).toGeoJSON()
-            geoT.geometry = { ...geo }
-            delete i.shape
-            delete i.geomText
-            geoT['properties'] = i
-            geos.features.push(geoT)
-          })
-          console.log(geos)
-          const dataset = importContent({ json: { filename: '农转用项目.json', content: JSON.stringify(geos) }})
-          setDatasetCRS(dataset, { prj: 'GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]' })
-          this.saveDataset(dataset);
-          loading.close();
-        }else{
-          this.$Message.error("查询异常,请联系管理员!");
-          loading.close();
-        }
-      })
+       this.$ajax.post('/api/stnzy/upload', params, this).then(res => {
+         loading.close();
+         if (res) {
+          this.$Message.success("导入成功!")
+         }
+       })
     },
     saveDataset(dataset, type = 'shapefile') {
       const fileContent = exportFileContent(dataset, { format: type })

+ 66 - 108
YHYZT/client/src/views/DataManage/Pewg.vue

@@ -5,46 +5,46 @@
         <el-form label-width="120px" :model="paramsList">
           <el-row :gutter="20">
             <el-col :span="6">
-              <el-form-item label="项目编号:">
-                <el-input v-model="paramsList.pzwh" placeholder="请输入项目编号" clearable></el-input>
+              <el-form-item label="批次名称:">
+                <el-input v-model="paramsList.pcbh" placeholder="请输入批次名称" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="乡镇街道:">
-                <el-input v-model="paramsList.pzwh" placeholder="请输入乡镇街道" clearable></el-input>
+              <el-form-item label="项目名称:">
+                <el-input v-model="paramsList.pzwh" placeholder="请输入项目名称" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="项目名称:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入项目名称"  clearable></el-input>
+              <el-form-item label="剩余面积:">
+                <el-input v-model="paramsList.pcmc" placeholder="请输入剩余面积(平方米)"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <span></span>
-              <el-form-item label="项目类型:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入项目类型"  clearable></el-input>
+              <el-form-item label="乡镇街道:">
+                <el-input v-model="paramsList.pcmc" placeholder="请输入乡镇街道"  clearable></el-input>
               </el-form-item>
             </el-col>
           </el-row>
           <el-row :gutter="20">
             <el-col :span="6">
-              <el-form-item label="批准文号:">
-                <el-input v-model="paramsList.pf_wh" placeholder="请输入批准文号"  clearable></el-input>
+              <el-form-item label="土地用途:">
+                <el-input v-model="paramsList.pf_wh" placeholder="请输入土地用途"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="土地用途:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入土地用途"  clearable></el-input>
+              <el-form-item label="类型:">
+                <el-input v-model="paramsList.lx" placeholder="请输入类型"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="剩余面积:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入剩余面积"  clearable></el-input>
+              <el-form-item label="未供原因:">
+                <el-input v-model="paramsList.wgyy" placeholder="请输入未供原因"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <div class="btn-group">
-                <el-button type="primary" @click="getBpxmList">查询</el-button>
+                <el-button type="primary" @click="queryByPage">查询</el-button>
               </div>
             </el-col>
           </el-row>
@@ -67,55 +67,61 @@
               label="序号">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
-              label="项目编号">
+              prop="pcbh"
+              label="批次名称">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
-              label="乡镇街道">
+              prop="bpxmMc"
+              label="项目名称">
           </el-table-column>
           <el-table-column
               prop="pf_wh"
-              label="项目名称">
+              label="剩余面积(平方米)">
           </el-table-column>
           <el-table-column
               prop="xm_bh"
-              label="项目类型">
+              label="乡镇街道">
           </el-table-column>
           <el-table-column
               prop="pz_wh"
-              label="批准文号">
+              label="土地用途">
           </el-table-column>
           <el-table-column
               prop="xm_mc"
-              label="土地用途">
+              label="类型">
           </el-table-column>
           <el-table-column
-              prop="xm_mc"
-              label="剩余面积">
+              prop="wgyy"
+              label="未供原因">
           </el-table-column>
           <el-table-column
               width="150"
-
               label="操作">
             <template slot-scope="scope">
               <div style="line-height: 34px;">
                 <el-button
-                  @click.native.prevent="openDetail(scope.$index, scope.row)"
-                  style="margin-right: 10px;"
+                  @click.native.prevent="openDetail(scope.row)"
                   plain
                   type="primary"
                   size="mini">
                   查看
                 </el-button>
+                <el-button
+                  @click.native.prevent="openDetail(scope.row, true)"
+                  style="margin: 0px 10px;"
+                  plain
+                  type="primary"
+                  size="mini">
+                  编辑
+                </el-button>
               </div>
             </template>
           </el-table-column>
         </el-table>
         <Page style="float: right;margin-top: 10px;"
               show-total
-              :total="paramsList.total"
-              :page-size="paramsList.size"
+              :total="tableData.total"
+              :page-size="searchParam.size"
               @on-change="pageChange"
               @on-page-size-change="sizeChange"
               show-sizer />
@@ -127,7 +133,7 @@
       top="5vh"
       width="80%"
     >
-      <detail ref="details" @initBpxm="getBpxmList" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight" :project="currProject"/>
+      <detail ref="details" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight" :project="currProject"/>
     </el-dialog>
   </div>
 </template>
@@ -156,78 +162,54 @@ export default {
       tableData:{
         data:[],
       },
-      currProject:null,
       paramsList:{pzwh:'',pcmc:'',page:1,size:15,total:0},
-      fullscreenLoading: false,
-      drawShapeJson:null,
+      searchParam: {
+        pcbh: '',
+        pch: '',
+        lx: '',
+        pwh: '',
+        pzrqStart: '',
+        pzrqEnd: '',
+        pzmj: '',
+        nmjf: '',
+        current: 1,
+        size: 10
+      }
     }
   },
   mounted(){
-    this.getBpxmList();
+    this.queryByPage();
   },
   methods: {
-    //处理内容变化记录信息
-    recordInfo(type,name,content){
-      let info = {};
-      info.re_recorder = this.menus.userInfo.orgName;
-      info.table_type = '农转用导入';
-      info.re_content='';
-      let _this = this;
-      info.re_name = name;
-      if(type=='input'){
-        info.re_content ='导入项目文件名:'+content;
-      }else{
-        info.re_content ='导出文件名:'+content;
-      }
-      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){
-          this.$message.success("操作成功!")
-        }else{
-          this.$message.error("操作失败!")
-        }
-      })
-    },
     pageChange:function (page){
-      this.paramsList.page=page;
-      this.getBpxmList()
+      this.searchParam.current=page;
+      this.queryByPage()
     },
     sizeChange:function (size){
-      this.paramsList.size=size;
-      this.getBpxmList()
+      this.searchParam.size=size;
+      this.queryByPage()
     },
     //查询报批项目信息
-    getBpxmList(){
-      let params = new FormData();
-      params.append("page",this.paramsList.page);
-      params.append("size",this.paramsList.size);
-      if(this.drawShapeJson){
-        params.append("shapes",JSON.stringify(this.drawShapeJson));
-      }
+    queryByPage(){
       let _this = this;
-      this.$ajax.post('/api/data/manage/pewg/getPewg', params, this, true).then(res => {
-        const {success,data} = res;
-        if(success){
-          _this.tableData.data =[];
-          _this.paramsList.total=0;
-          if(data.list){
-            _this.tableData.data= data.list;
-            _this.paramsList.total = data.total;
-          }
+      const params = {
+        ...this.searchParam
+      }
+      this.$ajax.get('/api/pewg/page', params, this, true).then(res => {
+        if (res.status === 200) {
+            _this.tableData.data= res.records;
+            _this.tableData.total = res.total;
         }
       })
     },
     rowClick(row, column, event){
-      this.currProject = row;
       this.detailShow =true;
     },
-    openDetail(index,row){
-      this.currProject = row;
+    openDetail(row, isEditor = false){
       this.detailShow = true;
-      this.$refs['details'].initDetailData()
+      this.$nextTick(() => {
+        this.$refs['details'].initDetailData(row, isEditor)
+      })
     },
     tableRowStyle({row, rowIndex}) {
       if (rowIndex%2 === 1) {
@@ -239,30 +221,6 @@ export default {
     tableHeaderStyle(){
       return 'background:#E5EDFE; font-family:AlibabaPuHuiTiR; font-size:16px; color:rgba(51, 51, 51, 1);text-align:center;';
     },
-    saveDataset(dataset, type = 'shapefile') {
-      const fileContent = exportFileContent(dataset, { format: type })
-      this.saveFileContent(fileContent)
-    },
-    saveFileContent(fileContent) {
-      var zip = new JSZip()
-
-      fileContent.forEach(i => {
-        zip.file(i.filename, i.content)
-      })
-      zip.file('农转用项目.cpg', 'UTF-8')
-      zip.generateAsync({ type: 'blob' }, function updateCallback(metadata) {
-        var msg = 'progression : ' + metadata.percent.toFixed(2) + ' %'
-        if (metadata.currentFile) {
-          msg += ', current file = ' + metadata.currentFile
-        }
-        console.log(msg)
-      }).then((blob) => {
-        // see FileSaver.js
-        saveAs(blob, '农转用项目.zip')
-        console.log('done !')
-      })
-          .catch(error => console.error(error.stack))
-    },
   }
 }
 </script>

+ 84 - 91
YHYZT/client/src/views/DataManage/Ssnyd.vue

@@ -6,7 +6,7 @@
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="项目名称:">
-                <el-input v-model="paramsList.pzwh" placeholder="请输入项目名称" clearable></el-input>
+                <el-input v-model="paramsList.xmbh" placeholder="请输入项目名称" clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -22,7 +22,7 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="备案号:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入备案号"  clearable></el-input>
+                <el-input v-model="paramsList.bah" placeholder="请输入备案号"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -32,29 +32,26 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="备案时间:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入备案时间"  clearable></el-input>
+                <el-date-picker
+                  v-model="basjDateRange"
+                  type="daterange"
+                  value-format="yyyy-MM-dd"
+                  unlink-panels
+                  start-placeholder="备案开始时间"
+                  end-placeholder="备案结束时间"
+                  :shortcuts="shortcuts"
+                  style="width:100%"
+                />
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="用途:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入用途"  clearable></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-          <el-row :gutter="20">
-            <el-col :span="6">
-              <el-form-item label="坐落位置:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入坐落位置"  clearable></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="到期时间:">
-                <el-input v-model="paramsList.pcmc" placeholder="请输入到期时间"  clearable></el-input>
+                <el-input v-model="paramsList.yt" placeholder="请输入用途"  clearable></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <div class="btn-group">
-                <el-button type="primary" @click="getBpxmList">查询</el-button>
+                <el-button type="primary" @click="queryByPage">查询</el-button>
                 <div class="panel-dropdown">
                   <el-dropdown>
                     <el-button type="success">
@@ -89,7 +86,6 @@
             :height="contentHeight-260"
             :header-cell-style="tableHeaderStyle"
             :cell-style="tableRowStyle"
-            :row-click="rowClick"
             ref="report-table"
             >
           <el-table-column
@@ -98,23 +94,27 @@
               label="序号">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="xmbh"
+              label="项目索引">
+          </el-table-column>
+          <el-table-column
+              prop="xmbh"
               label="项目名称">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="szs"
               label="市">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="xzq"
               label="县区">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="bah"
               label="备案号">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="bamj"
               label="备案面积">
           </el-table-column>
           <el-table-column
@@ -122,28 +122,38 @@
               label="备案时间">
           </el-table-column>
           <el-table-column
-              prop="pf_wh"
+              prop="yt"
               label="备注">
           </el-table-column>
           <el-table-column
-              width="150"
-
+              prop="bz"
+              label="备注">
+          </el-table-column>
+          <el-table-column
+              width="260"
               label="操作">
             <template slot-scope="scope">
               <div style="line-height: 34px;">
                 <el-button
-                  @click.native.prevent="openDetail(scope.$index, scope.row)"
-                  style="margin-right: 10px;"
+                  @click.native.prevent="openDetail(scope.row)"
                   plain
                   type="primary"
                   size="mini">
                   查看
                 </el-button>
+                <el-button
+                  @click.native.prevent="openDetail(scope.row, true)"
+                  style="margin: 0px 10px;"
+                  plain
+                  type="primary"
+                  size="mini">
+                  编辑
+                </el-button>
                 <el-popconfirm
                   title="该条数据确定删除吗?"
+                  @confirm="deleteHandle(scope.$index, scope.row)"
                 >
                   <el-button
-                    @click.native.prevent="locationDk(scope.$index, scope.row)"
                     plain
                     type="danger"
                     slot="reference"
@@ -170,7 +180,7 @@
       top="5vh"
       width="80%"
     >
-      <detail ref="details" @initBpxm="getBpxmList" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight" :project="currProject"/>
+      <detail ref="details" :contentWidth="contentWidth-menusWidth" :contentHeight="contentHeight" :project="currProject"/>
     </el-dialog>
   </div>
 </template>
@@ -195,79 +205,63 @@ export default {
         data:[],
       },
       currProject:null,
-      paramsList:{pzwh:'',pcmc:'',page:1,size:15,total:0},
-      fullscreenLoading: false,
-      drawShapeJson:null,
+      paramsList: { pzwh: '', pcmc: '', page: 1, size: 15, total: 0 },
+      basjDateRange: [],
+      searchParam: {
+        xmbh: '',
+        ban: '',
+        yt: '',
+        xzq: '',
+        basjStart: '',
+        basjEnd: '',
+        current: 1,
+        size: 10
+      }
     }
   },
   mounted(){
-    this.getBpxmList();
+    this.queryByPage();
   },
   methods: {
-    //处理内容变化记录信息
-    recordInfo(type,name,content){
-      let info = {};
-      info.re_recorder = this.menus.userInfo.orgName;
-      info.table_type = '农转用导入';
-      info.re_content='';
-      let _this = this;
-      info.re_name = name;
-      if(type=='input'){
-        info.re_content ='导入项目文件名:'+content;
-      }else{
-        info.re_content ='导出文件名:'+content;
-      }
-      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){
-          this.$message.success("操作成功!")
-        }else{
-          this.$message.error("操作失败!")
-        }
-      })
-    },
     pageChange:function (page){
-      this.paramsList.page=page;
-      this.getBpxmList()
+      this.searchParam.current=page;
+      this.queryByPage()
     },
     sizeChange:function (size){
-      this.paramsList.size=size;
-      this.getBpxmList()
+      this.searchParam.size=size;
+      this.queryByPage()
     },
     //查询报批项目信息
-    getBpxmList(){
-      let params = new FormData();
-      params.append("page",this.paramsList.page);
-      params.append("size",this.paramsList.size);
-      params.append("dkbh",this.paramsList.dkbh);
-      params.append("dkmc",this.paramsList.dkmc);
-      if(this.drawShapeJson){
-        params.append("shapes",JSON.stringify(this.drawShapeJson));
-      }
+    queryByPage(){
       let _this = this;
-      this.$ajax.post('/api/data/manage/ssnyd/getList', params, this, true).then(res => {
-        const {success,data} = res;
-        if(success){
-          _this.tableData.data =[];
-          _this.paramsList.total=0;
-          if(data.list){
-            _this.tableData.data= data.list;
-            _this.paramsList.total = data.total;
-          }
+      if (this.basjDateRange.length > 0) {
+        this.searchParam.basjStart = this.basjDateRange[0]
+        this.searchParam.basjEnd = this.basjDateRange[1]
+      }
+      const params = {
+        ...this.searchParam
+      }
+      this.$ajax.get('/api/templand/page', params, this, true).then(res => {
+        if (res.status === 200) {
+            _this.tableData.data= res.records;
+            _this.tableData.total = res.total;
         }
       })
     },
-    rowClick(row, column, event){
-      this.currProject = row;
-      this.detailShow =true;
-    },
-    openDetail(index,row){
-      this.currProject = row;
+    openDetail(row, isEditor = false){
       this.detailShow = true;
-      this.$refs['details'].initDetailData()
+      this.$nextTick(() => {
+        this.$refs['details'].initDetailData(row, isEditor)
+      })
+    },
+    deleteHandle (index, row) {
+      const params = {id: row['objecid']}
+      this.$ajax.get('/api/ssnyd/delete', params, this, true).then(res => {
+        if (res) {
+          this.$Message.success('删除成功!')
+          this.queryByPage()
+        }
+      })
     },
     locationDk(index,row){
       if(row.dk_bh){
@@ -307,10 +301,9 @@ export default {
         background: 'rgba(0, 0, 0, 0.7)'
       });
       this.$ajax.post('/api/data/upload/ssnyd/zip', params, this).then(res => {
-        const {success,data} = res;
         loading.close();
-        if(success && data){
-          this.recordInfo("input",'设施农用地成果导入',file.name);
+         if (res) {
+          this.$Message.error("导入成功!")
         }
       })
     },

File diff suppressed because it is too large
+ 605 - 661
YHYZT/client/src/views/DataManage/gd/Detail.vue


+ 163 - 73
YHYZT/client/src/views/DataManage/lsyd/Detail.vue

@@ -2,39 +2,127 @@
   <div class="xm-detal">
     <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>
-              <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>
-              <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>
-              <th>入库人员</th>
-              <td colspan="3">{{ detailData.xm_bh }}</td>
-              <th>备注</th>
-              <td colspan="3">{{ detailData.xm_bh }}</td>
-            </tr>
-          </table>
+        <div class="tables_grid">
+          <div class="title">项目索引</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入项目索引"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">项目名称</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmmc"
+              placeholder="请输入项目名称"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">批复文号</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.pzwh"
+              placeholder="请输入批复文号"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">用地单位</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.yddw"
+              placeholder="请输入用地单位"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">批准面积</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.pzmj"
+              placeholder="请输入批准面积"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">批准单位</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.pzdw"
+              placeholder="请输入批准单位"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">坐落位置</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.zlwz"
+              placeholder="请输入坐落位置"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">入库年份</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.rknf"
+              placeholder="请输入入库年份"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">审批时间</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.rksj"
+              placeholder="请输入审批时间"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">到期时间</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.bz"
+              placeholder="请输入到期时间"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">入库时间</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.rksj"
+              placeholder="请输入入库时间"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">入库人员</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.rkry"
+              placeholder="请输入入库人员"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">备注</div>
+          <div class="content" style="grid-column: 2 / -1;">
+            <el-input
+              v-model="detailData.bz"
+              placeholder="请输入备注"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+        </div>
+        <div class="btn-group">
+          <el-button type="primary" @click="onSavePcHandle">保存</el-button>
         </div>
       </el-tab-pane>
       <el-tab-pane label="查看地图" name="tab2">
@@ -57,6 +145,7 @@ export default {
       currentTab: 'tab1',
       visibleLayerId:['YHYZT_LSYD'],
       detailData: {},
+      editor: false
     };
   },
   props: {
@@ -68,16 +157,27 @@ export default {
     
   },
   methods: {
-    initDetailData () {
+    initDetailData (row, isEditor = false) {
       this.currentTab = 'tab1'
+      this.editor = isEditor
+      this.queryDetail(row['objectid'])
+    },
+    //查询报批项目信息
+    queryDetail (id) {
+      if(!id) return
+      this.$ajax.get(`/api/templand/${id}`, null, this, true).then(res => {
+        if (res) {
+          this.detailData = res
+        }
+      })
     },
-    showDetail(item){
-      let params = new FormData();
-      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.openDetail(0,data);
+    onSavePcHandle () {
+      const sendData = {
+        ...this.detailData
+      }
+      this.$ajax.post('/api/templand/update', sendData, this, true).then(res => {
+        if (res) {
+          this.$Message.success('更新成功!')
         }
       })
     },
@@ -108,41 +208,31 @@ export default {
     width: 100%;
     height: 600px;
   }
-  .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;
+  .btn-group {
+    margin-top: 20px;
+    text-align: right;
+  }
+  $t_w: 155px;
+  .tables_grid {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-between; /* 可选的对齐方式 */
+    border-top: 1px solid #d6d6d6;
+    border-right: 1px solid #d6d6d6;
+    display: grid;
+    grid-template-columns: repeat(4, $t_w 1fr);
+    >div {
+      border-left: 1px solid #d6d6d6;
+      border-bottom: 1px solid #d6d6d6;
+      padding: 8px 10px;
+      display: inline-block;
+      color: #1f2f47;
+      &.title {
+        width: $t_w;
         background: #f4f6f8;
         font-family: AlibabaPuHuiTiM;
         font-weight: normal;
-        &.title {
-          text-align: left;
-          background: #fff;
-          font-size: 16px;
-        }
-      }
-      td {
-        padding: 0px 5px;
-      }
-    }
-    ::v-deep {
-      .el-input__inner {
-        //border:1px solid #fff;
-        border-radius: 0px;
-        border-color: transparent;
+        text-align: center;
       }
     }
   }

+ 222 - 82
YHYZT/client/src/views/DataManage/nzy/Detail.vue

@@ -1,7 +1,23 @@
 <template>
   <div class="xm-detal">
     <div class="left_tree">
-      <el-tree :data="treeData" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
+      <ul  class="tree_box">
+        <li v-for="(item,index) in treeData" :key="index">
+          <div class="tree_item">
+            <span  :class="{ tree_title: true, active: cActive === `${index}` }" @click="handleNodeClick(item, index)">{{ item['label'] }}</span>
+            <span :class="{ icon: true, expand: cExpand === index }" @click="onExpandHandle(index)">
+              <svg v-if="item['children'].length > 0" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path fill="currentColor" d="M384 192v640l384-320.064z"></path></svg>
+            </span>
+          </div>
+          <template v-if="item['children'].length > 0">
+            <ul class="child_tree_box" v-show="cExpand === index">
+              <li v-for="(cItem,cIndex) in item['children']" :key="cIndex">
+                <span :class="{ tree_title: true, active: cActive === `${index}${cIndex}` }" @click="handleNodeClick(cItem, index, cIndex)">{{ cItem['label'] }}</span>
+              </li>
+            </ul>
+          </template>
+        </li>
+      </ul>
     </div>
     <div class="right_detail">
       <div class="tables detail_1" v-if="detailType === '1'">
@@ -10,36 +26,38 @@
             <th>批次索引</th>
             <td colspan="3">
               <el-input
-                v-model="detailData.xm_mc"
+                v-model="detailData.pcbh"
                 placeholder="请输入批次索引"
                 clearable
                 :disabled="!jbxxEdit"
               />
             </td>
-            <th>项目名称</th>
+          </tr>
+          <tr>
+            <th>批次名称</th>
             <td colspan="3">
               <el-input
-                v-model="detailData.xm_mc"
-                placeholder="请输入项目名称"
+                v-model="detailData.pch"
+                placeholder="请输入批次名称"
                 clearable
                 :disabled="!jbxxEdit"
               />
             </td>
           </tr>
           <tr>
-            <th>项目类型</th>
+            <th>类型</th>
             <td colspan="3">
-              <el-input
-                v-model="detailData.xm_mc"
-                placeholder="请输入项目类型"
-                clearable
-                :disabled="!jbxxEdit"
-              />
+              <el-select v-model="detailData.lx" :disabled="!jbxxEdit" style="width: 100%;">
+                <el-option value="单独选址" label="单独选址" />
+                <el-option value="批次用地" label="批次用地" />
+              </el-select>
             </td>
+          </tr>
+          <tr>
             <th>批准文号</th>
             <td colspan="3">
               <el-input
-                v-model="detailData.xm_mc"
+                v-model="detailData.pwh"
                 placeholder="请输入批准文号"
                 clearable
                 :disabled="!jbxxEdit"
@@ -50,23 +68,37 @@
             <th>批准日期</th>
             <td colspan="3">
               <el-input
-                v-model="detailData.xm_mc"
+                v-model="detailData.pzrq"
                 placeholder="请输入批准日期"
                 clearable
                 :disabled="!jbxxEdit"
               />
             </td>
+          </tr>
+          <tr>
             <th>批次总面积(公顷)</th>
             <td colspan="3">
               <el-input
-                v-model="detailData.xm_mc"
+                v-model="detailData.pzmj"
                 placeholder="请输入批次总面积(公顷)"
                 clearable
                 :disabled="!jbxxEdit"
               />
             </td>
           </tr>
+          <tr>
+            <th>是否农民建房</th>
+            <td colspan="3">
+              <el-select v-model="detailData.nmjf" :disabled="!jbxxEdit">
+                <el-option value="是" label="是" />
+                <el-option value="否" label="否" />
+              </el-select>
+            </td>
+          </tr>
         </table>
+        <div class="btn-group">
+          <el-button type="primary" @click="onSavePcHandle">保存</el-button>
+        </div>
       </div>
       <div class="detail_2" v-else>
         <el-tabs type="border-card" v-model="currentTab">
@@ -77,19 +109,10 @@
                   <th>批次索引</th>
                   <td colspan="3">
                     <el-input
-                      v-model="detailData.xm_mc"
+                      v-model="projectDetail.pcBh"
                       placeholder="请输入批次索引"
                       clearable
-                      :disabled="!jbxxEdit"
-                    />
-                  </td>
-                  <th>项目索引</th>
-                  <td colspan="3">
-                    <el-input
-                      v-model="detailData.xm_mc"
-                      placeholder="请输入项目索引"
-                      clearable
-                      :disabled="!jbxxEdit"
+                      :disabled="!xmxxEdit"
                     />
                   </td>
                 </tr>
@@ -97,19 +120,21 @@
                   <th>项目编号</th>
                   <td colspan="3">
                     <el-input
-                      v-model="detailData.xm_mc"
+                      v-model="projectDetail.dkBh"
                       placeholder="请输入项目编号"
                       clearable
-                      :disabled="!jbxxEdit"
+                      :disabled="!xmxxEdit"
                     />
                   </td>
+                </tr>
+                <tr>
                   <th>项目名称</th>
                   <td colspan="3">
                     <el-input
-                      v-model="detailData.xm_mc"
+                      v-model="detailData.dkMc"
                       placeholder="请输入项目名称"
                       clearable
-                      :disabled="!jbxxEdit"
+                      :disabled="!xmxxEdit"
                     />
                   </td>
                 </tr>
@@ -117,19 +142,21 @@
                   <th>乡镇街道</th>
                   <td colspan="3">
                     <el-input
-                      v-model="detailData.xm_mc"
+                      v-model="detailData.xzz"
                       placeholder="请输入乡镇街道"
                       clearable
-                      :disabled="!jbxxEdit"
+                      :disabled="!xmxxEdit"
                     />
                   </td>
+                </tr>
+                <tr>
                   <th>土地用途</th>
                   <td colspan="3">
                     <el-input
                       v-model="detailData.xm_mc"
                       placeholder="请输入土地用途"
                       clearable
-                      :disabled="!jbxxEdit"
+                      :disabled="!xmxxEdit"
                     />
                   </td>
                 </tr>
@@ -137,19 +164,21 @@
                   <th>土地坐落</th>
                   <td colspan="3">
                     <el-input
-                      v-model="detailData.xm_mc"
+                      v-model="detailData.tdZl"
                       placeholder="请输入土地坐落"
                       clearable
-                      :disabled="!jbxxEdit"
+                      :disabled="!xmxxEdit"
                     />
                   </td>
+                </tr>
+                <tr>
                   <th>项目面积(公顷)</th>
                   <td colspan="3">
                     <el-input
-                      v-model="detailData.xm_mc"
+                      v-model="detailData.dkMj"
                       placeholder="请输入项目面积(公顷)"
                       clearable
-                      :disabled="!jbxxEdit"
+                      :disabled="!xmxxEdit"
                     />
                   </td>
                 </tr>
@@ -157,14 +186,28 @@
                   <th>用地主体</th>
                   <td colspan="3">
                     <el-input
-                      v-model="detailData.xm_mc"
+                      v-model="detailData.dkQs"
                       placeholder="请输入用地主体"
                       clearable
-                      :disabled="!jbxxEdit"
+                      :disabled="!xmxxEdit"
+                    />
+                  </td>
+                </tr>
+                <tr>
+                  <th>备注</th>
+                  <td colspan="3">
+                    <el-input
+                      v-model="detailData.bz"
+                      placeholder="请输入备注"
+                      clearable
+                      :disabled="!xmxxEdit"
                     />
                   </td>
                 </tr>
               </table>
+              <div class="btn-group">
+                <el-button type="primary" @click="onSaveXmHandle">保存</el-button>
+              </div>
             </div>
           </el-tab-pane>
           <el-tab-pane label="查看地图" name="tab2">
@@ -187,43 +230,29 @@ export default {
     return {
       user: JSON.parse(window.sessionStorage.getItem("yzt-user")),
       currentTab: 'tab1',
-      visibleLayerId:['YHYZT_NZYDK_NEW'],
-      detailType: '2',  //1 农转用批次信息 2 农转用项目信息
-      detailData: {},
+      visibleLayerId: ['YHYZT_NZYDK_NEW'],
+      cExpand: 0,
+      cActive: '0',
+      detailType: '1',  //1 农转用批次信息 2 农转用项目信息
+      detailData: {
+        pcbh: '',
+        pch: '',
+        lx: '',
+        pwh: '',
+        pzrqStart: '',
+        pzrqEnd: '',
+        pzmj: '',
+        nmjf: '',
+      },
+      projectDetail: {},
+      jbxxEdit: true,
+      xmxxEdit: true,
       treeData: [{
-        label: '一级 1',
-        children: [{
-          label: '二级 1-1',
-          children: [{
-            label: '三级 1-1-1'
-          }]
-        }]
-      }, {
-        label: '一级 2',
-        children: [{
-          label: '二级 2-1',
-          children: [{
-            label: '三级 2-1-1'
-          }]
-        }, {
-          label: '二级 2-2',
-          children: [{
-            label: '三级 2-2-1'
-          }]
-        }]
+        label: '基本信息',
+        children: []
       }, {
-        label: '一级 3',
-        children: [{
-          label: '二级 3-1',
-          children: [{
-            label: '三级 3-1-1'
-          }]
-        }, {
-          label: '二级 3-2',
-          children: [{
-            label: '三级 3-2-1'
-          }]
-        }]
+        label: '项目信息',
+        children: []
       }],
       defaultProps: {
         children: 'children',
@@ -233,18 +262,72 @@ export default {
   },
   props: {
     contentWidth: Number,
-    contentHeight: Number,
-    project: Object,
+    contentHeight: Number
   },
   watch: {
     
   },
   methods: {
-    initDetailData () {
+    initDetailData (row, isEditor = false) {
+      this.cActive = '0'
+      this.detailType = '1'
       this.currentTab = 'tab1'
+      this.detailData = row
+      this.jbxxEdit = this.xmxxEdit = isEditor
+      this.getNzydkList(row['pch'])
     },
-    handleNodeClick (data) {
-      
+    onExpandHandle (index) {
+      if (this.cExpand === index) {
+        this.cExpand = -1
+        return;
+      }
+      this.cExpand = index
+    },
+    handleNodeClick (data, index, cIndex = null) {
+      if (cIndex !== null) {
+        this.cActive = `${index}${cIndex}`
+        this.detailType = '2'
+        this.projectDetail = this.treeData[index]['children'][cIndex]
+      } else {
+        this.cActive = `${index}`  
+        this.detailType = '1'      
+      }
+    },
+    getNzydkList (pch) {
+      const params = {
+        pch: pch
+      }
+      this.$ajax.get('/api/stnzy/getNzydk', params, this, true).then(res => {
+        if (res) {
+          this.treeData[1]['children'] = res.map((item) => {
+            return {
+              label: item['dkMc'],
+              ...item
+            }
+          })
+        }
+      })
+    },
+    onSavePcHandle () {
+      const sendData = {
+        ...this.detailData
+      }
+      this.$ajax.post('/api/stnzy/update', sendData, this, true).then(res => {
+        if (res) {
+          this.$Message.success('更新成功!')
+        }
+      })
+    },
+    onSaveXmHandle () {
+      const sendData = {
+        pcbh: this.projectDetail['pcBh'],
+        ...this.projectDetail
+      }
+      this.$ajax.post('/api/stnzy/updateByPcbh', sendData, this, true).then(res => {
+        if (res) {
+          this.$Message.success('更新成功!')
+        }
+      })
     },
     drawShapeJsonEvent(json){
       if(json){
@@ -263,8 +346,66 @@ export default {
   display: flex;
   align-items: flex-start;
   >div {
+      max-height: 580px;
+    .btn-group {
+      margin-top: 20px;
+      text-align: right;
+    }
     &.left_tree {
       width: 260px;
+      >.tree_box {
+        background: #f4f6f8;
+        font-family: AlibabaPuHuiTiM;
+        li {
+          font-size: 15px;
+          cursor: pointer;
+          user-select: none;
+          .tree_title {
+            width: 100%;
+            display: block;
+            padding: 8px 15px;
+            &:hover, &.active {
+              background: #e5edfe;
+            }
+          }
+        }
+        >li {
+          >.tree_item {
+            font-weight: normal;
+            color: #1f2f47;
+            font-size: 16px;
+            position: relative;
+            >.icon {
+              display: inline-block;
+              width: 1rem;
+              height: 1rem;
+              position: absolute;
+              top: 0px;
+              bottom: 0px;
+              right: 10px;
+              margin: auto;
+              >svg {
+                width: 1rem;
+                height: 1rem;
+              }
+              &.expand {
+                transform: rotateZ(90deg);
+              }
+            }
+          }
+          >.child_tree_box {
+            margin-left: 20px;
+            max-height: 480px;
+            overflow-y: auto;
+            >li {
+              >span {
+                color: #606266;
+                padding: 5px 15px;
+              }
+            }
+          }
+        }
+      }
     }
     &.right_detail {
       flex: 1;
@@ -272,7 +413,7 @@ export default {
     }
   }
   .map_box {
-    height: 600px;
+    height: 510px;
   }
   .tables {
     width: 100%;
@@ -289,13 +430,12 @@ export default {
         color: #1f2f47;
       }
       th {
-        width: 25%;
+        width: 180px;
         background: #f4f6f8;
         font-family: AlibabaPuHuiTiM;
         font-weight: normal;
       }
       td {
-        width: 25%;
         padding: 0px 5px;
       }
     }

+ 101 - 33
YHYZT/client/src/views/DataManage/ssnyd/Detail.vue

@@ -3,27 +3,87 @@
     <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>
-              <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>
-              <th>用途</th>
-              <td colspan="3">{{ detailData.xm_bh }}</td>
-              <th>备注</th>
-              <td colspan="3">{{ detailData.xm_bh }}</td>
-            </tr>
+          <div class="title">项目索引</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入项目索引"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">项目名称</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入项目名称"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">市</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入市"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">县区</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入项目县区"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">备案号</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入备案号"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">备案面积</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入备案面积"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">备案时间</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入备案时间"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">用途</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入用途"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
+          <div class="title">备注</div>
+          <div class="content">
+            <el-input
+              v-model="detailData.xmbh"
+              placeholder="请输入备注"
+              clearable
+              :disabled="!editor"
+            />
+          </div>
         </div>
       </el-tab-pane>
       <el-tab-pane label="查看地图" name="tab2">
@@ -46,27 +106,35 @@ export default {
       currentTab: 'tab1',
       visibleLayerId:['YHYZT_SSNYD'],
       detailData: {},
+      editor: false
     };
   },
   props: {
     contentWidth: Number,
     contentHeight: Number,
-    project: Object,
-  },
-  watch: {
-    
   },
   methods: {
-    initDetailData () {
+    initDetailData (row, isEditor = false) {
       this.currentTab = 'tab1'
+      this.editor = isEditor
+      this.queryDetail(row['objectid'])
     },
-    showDetail(item){
-      let params = new FormData();
-      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.openDetail(0,data);
+    //查询报批项目信息
+    queryDetail (id) {
+      if(!id) return
+      this.$ajax.get(`/api/ssnyd/${id}`, null, this, true).then(res => {
+        if (res) {
+          this.detailData = res
+        }
+      })
+    },
+    onSavePcHandle () {
+      const sendData = {
+        ...this.detailData
+      }
+      this.$ajax.post('/api/ssnyd/update', sendData, this, true).then(res => {
+        if (res) {
+          this.$Message.success('更新成功!')
         }
       })
     },

Some files were not shown because too many files changed in this diff