zouling 1 mesiac pred
rodič
commit
c94f1d7c14

+ 8 - 2
src/api/zhaoshang/jsxx.js

@@ -9,14 +9,20 @@ export function listJsxx(query) {
   })
 }
 
-// 查询招商引资_建设信息详细
+//查询招商引资_建设信息详细
 export function getJsxx(jsxxId) {
   return request({
     url: '/zhaoshangV3/jsxx/' + jsxxId,
     method: 'get'
   })
 }
-
+// 详情编号
+export function getJsxxNum(xmbh) {
+  return request({
+    url: '/zhaoshangV3/jsxx/get/' + xmbh,
+    method: 'get'
+  })
+}
 // 新增招商引资_建设信息
 export function addJsxx(data) {
   return request({

+ 7 - 1
src/api/zhaoshang/kgxx.js

@@ -16,7 +16,13 @@ export function getKgxx(kgxxId) {
     method: 'get'
   })
 }
-
+// 查询招商引资_开工信息详情编号
+export function getKgxxNum(xmbh) {
+  return request({
+    url: '/zhaoshangV3/kgxx/get/' + xmbh,
+    method: 'get'
+  })
+}
 // 新增招商引资_开工信息
 export function addKgxx(data) {
   return request({

+ 7 - 1
src/api/zhaoshang/tcxx.js

@@ -16,7 +16,13 @@ export function getTcxx(tcxxId) {
     method: 'get'
   })
 }
-
+// 查询招商引资_详情编号
+export function getJsxxNum(xmbh) {
+  return request({
+    url: '/zhaoshangV3/tcxx/get/' + xmbh,
+    method: 'get'
+  })
+}
 // 新增招商引资_投产信息
 export function addTcxx(data) {
   return request({

+ 7 - 19
src/components/FileUploads/index.vue

@@ -5,7 +5,7 @@
       :action="uploadFileUrl"
       :before-upload="handleBeforeUpload"
       :file-list="fileList"
-      :data="datam"
+      :data="data"
       :limit="limit"
       :on-error="handleUploadError"
       :on-exceed="handleExceed"
@@ -63,8 +63,12 @@ export default {
     data: {
       type: Object
     },
+	datam:{
+		type: Object
+	},
   xmbh:{
-    type: String
+    type: [Number,String],
+    default: null
   },
     // 数量限制
     limit: {
@@ -107,31 +111,15 @@ export default {
         Authorization: "Bearer " + getToken(),
       },
       fileList: [],
-	  slgegse:'',
-    datam:{}
+	  slgegse:''
     }
   },
   watch:{
-      xmbh(val){
-      
-        this.datam.xmbh=val
-      },
-      data:{
-        handler(val){
-          console.log(val,111)
-          for(var i in val){
-            console.log(i)
-          }
-          // datam[key]=i
-        },
-        deep:true
-      }
   },
   created() {
   	this.slgegse = this.fileType.join(',')
   },
   mounted() {
-    console.log(this.data,22)
     if (this.drag && !this.disabled) {
       this.$nextTick(() => {
         const element = this.$refs.uploadFileList?.$el || this.$refs.uploadFileList

+ 49 - 71
src/views/project/add.vue

@@ -24,40 +24,40 @@
                   <span>签约环节
                   </span>
                 </div>
-                <!-- <first-info-form ref="firstInfo" :cylbOptions="cylbOptions" :qybjOptions="qybjOptions" :info="qyxxinfo" @getSubmit="getSubmitqxyy"></first-info-form> -->
+                <first-info-form v-if="activeName=='first'" ref="firstInfo" :cylbOptions="cylbOptions" :qybjOptions="qybjOptions" :info="qyxxinfo" @getSubmit="getSubmitqxyy" :xmbh="xmbh"></first-info-form>
               </el-tab-pane>
-              <el-tab-pane  name="second">
-                <div slot="label" class="tab flexc">
+              <el-tab-pane  name="second" :disabled="isdisabled">
+                <div slot="label" class="tab flexc" @click="handleClicka">
                   <img class="tabimg" v-if="activeName=='second'" src="@/assets/images/project/tabb_.png"/>
                   <img class="tabimg" v-else src="@/assets/images/project/tabb.png"/>
                   <span>开工环节
                   </span>
                 </div>
-                <second-info-form ref="secondInfo" :info="kghjinfo"></second-info-form>
+                <second-info-form v-if="activeName=='second'" ref="secondInfo" :xmbh="xmbh" :info="kghjinfo"></second-info-form>
               </el-tab-pane>
-              <el-tab-pane  name="third">
-                <div slot="label" class="tab flexc">
+              <el-tab-pane  name="third" :disabled="isdisabled">
+                <div slot="label" class="tab flexc" @click="handleClicka">
                   <img class="tabcimg" v-if="activeName=='third'" src="@/assets/images/project/tabc_.png"/>
                   <img class="tabcimg" v-else src="@/assets/images/project/tabc.png"/>
                   <span>建设环节
                   </span>
                 </div>
-                <third-info-form ref="thirdInfo" :info="jshjinfo"></third-info-form>
+                <third-info-form v-if="activeName=='third'" ref="thirdInfo" :info="jshjinfo"></third-info-form>
                 </el-tab-pane>
-              <el-tab-pane  name="fourth">
-                <div slot="label" class="tab flexc">
+              <el-tab-pane  name="fourth" :disabled="isdisabled">
+                <div slot="label" class="tab flexc" @click="handleClicka">
                   <img class="tabdimg" v-if="activeName=='fourth'" src="@/assets/images/project/tabd_.png"/>
                   <img class="tabdimg" v-else src="@/assets/images/project/tabd.png"/>
                   <span>投产环节
                   </span>
                 </div>
-                <fourth-info-form ref="fourthInfo" :info="tchjinfo"></fourth-info-form>
+                <fourth-info-form v-if="activeName=='fourth'" ref="fourthInfo" :info="tchjinfo"></fourth-info-form>
                 </el-tab-pane>
             </el-tabs>
 
-            <div class="btns flexcc">
+            <!-- <div class="btns flexcc">
               <el-button type="success" size="small">审核</el-button>
-            </div>
+            </div> -->
         <!-- </div> -->
 
 
@@ -73,9 +73,9 @@
   import thirdInfoForm from "./thirdInfoForm"
   import fourthInfoForm from "./fourthInfoForm"
   import { getXmbh,addQyxx, updateQyxx, delQyxx, getQyxx,listQyxx } from "@/api/zhaoshang/qyxx"
-  import {addKgxx, updateKgxx, delKgxx, getKgxx,listKgxx } from "@/api/zhaoshang/kgxx"
-  import {addJsxx, updateJsxx, delJsxx, getJsxx,listJsxx } from "@/api/zhaoshang/jsxx"
-  import {addTcxx, updateTcxx, delTcxx, getTcxx,listTcxx } from "@/api/zhaoshang/tcxx"
+  import {addKgxx, updateKgxx, delKgxx, getKgxxNum,listKgxx } from "@/api/zhaoshang/kgxx"
+  import {addJsxx, updateJsxx, delJsxx, getJsxxNum,listJsxx } from "@/api/zhaoshang/jsxx"
+  import {addTcxx, updateTcxx, delTcxx, getTcxxNum,listTcxx } from "@/api/zhaoshang/tcxx"
   export default{
     components:{
       firstInfoForm,secondInfoForm,thirdInfoForm,fourthInfoForm
@@ -142,7 +142,6 @@
 
         cylbOptions:[],//产业类型
         qybjOptions:[],//企业背景,
-        xmbh:'',
         ptype:'add',//新增还是修改,
 
         xmId:'',//项目id,
@@ -153,6 +152,7 @@
         tctab:[{tit:'投产信息'},{tit:'年度统计'},{tit:'附件上传'}],
         wctab:[{tit:'提交'}],
         progress:1,
+        isdisabled:true,
       }
     },
     created() {
@@ -188,7 +188,7 @@
         this.ptype='edit'
         this.xmId=this.$route.query.id;
         this.xmbh=this.$route.query.bh;
-        this.getDetail()
+        this.getQyxxDetail()
       }else{
         this.ptype='add';
         // this.xmbh='ZS20250714102';
@@ -205,9 +205,13 @@
       this.qyxxinfo.qyrq=this.time()
     },
     methods:{
+      handleClicka(){
+        if(this.isdisabled){
+          this.$message.error('请先提交签约信息');
+        }
+      },
       handleClick(e){
         var name=e.name;
-        console.log(name)
         if(name=='first'){
           this.getQyxxDetail()
         }else if(name=='second'){
@@ -222,9 +226,9 @@
         getXmbh().then(res=>{
           this.xmbh=res.data;
           this.qyxxinfo.xmbh=res.data
-          this.tchjinfo.xmbh=res.data
           this.kghjinfo.xmbh=res.data
           this.jshjinfo.xmbh=res.data
+          this.tchjinfo.xmbh=res.data
         })
       },
       time() {
@@ -241,58 +245,38 @@
         return yearStr
 			},
       getSubmitqxyy(params){
-          var info=JSON.parse(JSON.stringify(params))
-          if(this.ptype=='add'){
-            addQyxx(info).then(res=>{
-              if(res.code==200){
-                 this.$message.success('保存成功');
-              }
-            })
-          }else{
-            updateQyxx(info).then(res=>{
-              if(res.code==200){
-                this.$message.success('修改成功');
-              }
-            })
-          }
+          // var info=JSON.parse(JSON.stringify(params))
+          // if(this.ptype=='add'){
+          //   addQyxx(info).then(res=>{
+          //     if(res.code==200){
+          //        this.$message.success('保存成功');
+          //     }
+          //   })
+          // }else{
+          //   updateQyxx(info).then(res=>{
+          //     if(res.code==200){
+          //       this.$message.success('修改成功');
+          //     }
+          //   })
+          // }
       },
-      getDetail(){
+      //签约
+      getQyxxDetail(){
         getQyxx(this.xmId).then(res=>{
           if(res.code==200){
             this.qyxxinfo=res.data;
             this.xmbh=res.data.xmbh;
+            this.isdisabled=false;
             this.progress=Number(res.data.progress)
           }
         })
       },
-      //签约
-      getQyxxDetail(){
-        var params={
-          xmbh:this.xmbh
-        }
-        listQyxx(params).then(res=>{
-          if(res.code==200){
-            if(res.rows&&res.rows.length){
-              this.qyxxinfo=res.rows[0]
-            }else{
-              var obj={
-                xmbh:this.xmbh,
-                id:-1
-              }
-              this.qyxxinfo=JSON.parse(JSON.stringify(obj));
-            }
-          }
-        })
-      },
       // 开工
       getKgxxDetail(){
-        var params={
-          xmbh:this.xmbh
-        }
-        listKgxx(params).then(res=>{
+        getKgxxNum(this.xmbh).then(res=>{
           if(res.code==200){
-            if(res.rows&&res.rows.length){
-              this.kghjinfo=res.rows[0]
+            if(res.data){
+              this.kghjinfo=res.data
             }else{
               var obj={
                 xmbh:this.xmbh,
@@ -305,13 +289,10 @@
       },
       // 建设
       getJsxxDetail(){
-        var params={
-          xmbh:this.xmbh
-        }
-        listJsxx(params).then(res=>{
+        getJsxxNum(this.xmbh).then(res=>{
           if(res.code==200){
-            if(res.rows&&res.rows.length){
-              this.jshjinfo=res.rows[0]
+            if(res.data){
+              this.jshjinfo=res.data
             }else{
               var obj={
                 xmbh:this.xmbh,
@@ -324,13 +305,10 @@
       },
       // 投产
       getTcxxDetail(){
-        var params={
-          xmbh:this.xmbh
-        }
-        listTcxx(params).then(res=>{
+        getTcxxNum(this.xmbh).then(res=>{
           if(res.code==200){
-            if(res.rows&&res.rows.length){
-              this.tchjinfo=res.rows[0]
+            if(res.data){
+              this.tchjinfo=res.data
             }else{
               var obj={
                 xmbh:this.xmbh,

+ 23 - 14
src/views/project/firstInfoForm.vue

@@ -34,6 +34,7 @@
                 <el-date-picker
                       v-model="info.qyrq"
                       type="date"
+                      value-format="yyyy-MM-dd"
                       placeholder="年 / 月 / 日">
                     </el-date-picker>
               </el-form-item>
@@ -79,6 +80,7 @@
                 <el-date-picker
                       v-model="info.lxsjTime"
                       type="date"
+                      value-format="yyyy-MM-dd"
                       placeholder="年 / 月 / 日">
                     </el-date-picker>
               </el-form-item>
@@ -136,6 +138,7 @@
                 <el-date-picker
                       v-model="info.zcrq"
                       type="date"
+                      value-format="yyyy-MM-dd"
                       placeholder="年 / 月 / 日">
                     </el-date-picker>
               </el-form-item>
@@ -293,6 +296,10 @@ export default {
     qybjOptions:{
       type:Array,
       default: []
+    },
+    xmbh:{
+      type:[Number,String],
+      default: null
     }
   },
   watch: {
@@ -347,20 +354,22 @@ export default {
             	this.$message.error('请输入正确的联系方式');
             	return
             }
-            // if(this.ptype=='add'){
-            //   addQyxx(info).then(res=>{
-            //     if(res.code==200){
-            //       this.$message.success('保存成功');
-            //     }
-            //   })
-            // }else{
-            //   updateQyxx(info).then(res=>{
-            //     if(res.code==200){
-
-            //     }
-            //   })
-            // }
-             this.$emit("getSubmit",params)
+            var id=params.id
+            if(id!=-1){
+              updateQyxx(params).then(res=>{
+                if(res.code==200){
+                  this.$message.success('修改成功');
+                  this.$emit("getSubmit")
+                }
+              })
+            }else{
+              addQyxx(params).then(res=>{
+                if(res.code==200){
+                  this.$message.success('保存成功');
+                  this.$emit("getSubmit")
+                }
+              })
+            }   
           }
       })
     },

+ 86 - 27
src/views/project/secondInfoForm.vue

@@ -14,6 +14,7 @@
                 <el-date-picker
                       v-model="info.ykzTime"
                       type="date"
+                      value-format="yyyy-MM-dd"
                       placeholder="年 / 月 / 日">
                     </el-date-picker>
               </el-form-item>
@@ -23,6 +24,7 @@
                 <el-date-picker
                       v-model="info.tdzpTime"
                       type="date"
+                      value-format="yyyy-MM-dd"
                       placeholder="年 / 月 / 日">
                     </el-date-picker>
               </el-form-item>
@@ -32,6 +34,7 @@
                 <el-date-picker
                       v-model="info.hppfTime"
                       type="date"
+                      value-format="yyyy-MM-dd"
                       placeholder="年 / 月 / 日">
                     </el-date-picker>
               </el-form-item>
@@ -52,6 +55,7 @@
                 <el-date-picker
                       v-model="info.sgxkTime"
                       type="date"
+                      value-format="yyyy-MM-dd"
                       placeholder="年 / 月 / 日">
                     </el-date-picker>
               </el-form-item>
@@ -61,6 +65,7 @@
                 <el-date-picker
                       v-model="info.kgrq"
                       type="date"
+                      value-format="yyyy-MM-dd"
                       placeholder="年 / 月 / 日">
                     </el-date-picker>
               </el-form-item>
@@ -82,11 +87,16 @@
                   <template slot-scope="scope">
                    <div class="flexcc">
                      <div class="btna flexc coa">
-              <fileUploads  v-model="info.zsyzFjList" :xmbh="info.xmbh" :data="scope.row['data']" />
-             <!-- <fileUploads  v-model="info.zsyzFjList" v-if="scope.row['type']==2"  :data="xmxd" />
-              <fileUploads  v-model="info.zsyzFjList" v-if="scope.row['type']==3"  :data="yyzz" />
-              <fileUploads  v-model="info.zsyzFjList" v-if="scope.row['type']==4"  :data="fgwlx" />
-              <fileUploads  v-model="info.zsyzFjList" v-if="scope.row['type']==5"  :data="tzht" /> -->
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==6"  :data="hppf" />
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==7"  :data="kgcj" />
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==8"  :data="sbzp" />
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==9"  :data="sgxkz" />
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==10"  :data="ydghxkz" />
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==11"  :data="gytdcrht" />
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==12"  :data="tdz" />
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==13"  :data="zlht" />
+              <fileUploads  v-model="info.zsyzFjList" :xmbh="xmbh" v-if="scope.row['type']==14"  :data="tdlzxy" />
+
                      </div>
                    </div>
                   </template>
@@ -97,18 +107,43 @@
     </el-form>
     <div class="flexcc pt7">
         <!-- <el-button type="primary" plain>暂存</el-button> -->
-         <el-button type="primary"  style="margin-left: 26px;">提交</el-button>
+         <el-button type="primary" @click="getSubmit"  style="margin-left: 26px;">提交</el-button>
     </div>
   </div>
 
 </template>
 
 <script>
+  import {addKgxx, updateKgxx, delKgxx, getKgxx,listKgxx } from "@/api/zhaoshang/kgxx"
 export default {
   props: {
     info: {
       type: Object,
       default: null
+    },
+    xmbh:{
+      type:[Number,String],
+      default: null
+    }
+  },
+  watch: {
+    info: {
+      handler(newVal, oldVal) {
+        if(newVal.xmbh){
+          var xmbh=newVal.xmbh
+          this.hppf.xmbh=xmbh
+          this.kgcj.xmbh=xmbh
+          this.sbzp.xmbh=xmbh
+          this.sgxkz.xmbh=xmbh
+          this.ydghxkz.xmbh=xmbh
+          this.gytdcrht.xmbh=xmbh
+          this.tdz.xmbh=xmbh
+          this.zlht.xmbh=xmbh
+          this.tdlzxy.xmbh=xmbh
+        }
+
+      },
+      deep: true
     }
   },
   data() {
@@ -123,31 +158,55 @@ export default {
                 label: '双皮奶'
               }],
       tableData: [
-        {fjlx: '环评批复',type:'6',data:{bigType:'b',type:'6',}},
-        {fjlx: '开工场景',bigType:'b',type:'7',data:{bigType:'b',type:'7',}},
-        {fjlx: '设备照片',bigType:'b',type:'8',data:{bigType:'b',type:'8',}},
-        {fjlx: '施工许可证',bigType:'b',type:'9',data:{bigType:'b',type:'9',}},
-        {fjlx: '供地类项目须上传建设用地规划许可证',bigType:'b',type:'10',data:{bigType:'b',type:'10',}},
-        {fjlx: '国有土地出让合同',bigType:'b',type:'11',data:{bigType:'b',type:'11',}},
-        {fjlx: '土地证',bigType:'b',type:'12',data:{bigType:'b',type:'12',}},
-        {fjlx: '租赁厂房或流转土地类须上传租赁合同',bigType:'b',type:'13',data:{bigType:'b',type:'13',}},
-        {fjlx: '土地流转协议',bigType:'b',type:'14',data:{bigType:'b',type:'14',}},
+        {fjlx: '环评批复',type:'6',},
+        {fjlx: '开工场景',bigType:'b',type:'7',},
+        {fjlx: '设备照片',bigType:'b',type:'8',},
+        {fjlx: '施工许可证',bigType:'b',type:'9'},
+        {fjlx: '供地类项目须上传建设用地规划许可证',bigType:'b',type:'10'},
+        {fjlx: '国有土地出让合同',bigType:'b',type:'11'},
+        {fjlx: '土地证',bigType:'b',type:'12'},
+        {fjlx: '租赁厂房或流转土地类须上传租赁合同',bigType:'b',type:'13'},
+        {fjlx: '土地流转协议',bigType:'b',type:'14'},
       ],
+      hppf:{xmbh:null,bigType:'b',type:6,fileName:null,},
+      kgcj:{xmbh:null,bigType:'b',type:7,fileName:null},
+      sbzp:{xmbh:null,bigType:'b',type:8,fileName:null},
+      sgxkz:{xmbh:null,bigType:'b',type:9,fileName:null},
+      ydghxkz:{xmbh:null,bigType:'b',type:10,fileName:null},
+      gytdcrht:{xmbh:null,bigType:'b',type:11,fileName:null},
+      tdz:{xmbh:null,bigType:'b',type:12,fileName:null},
+      zlht:{xmbh:null,bigType:'b',type:13,fileName:null},
+      tdlzxy:{xmbh:null,bigType:'b',type:14,fileName:null},
       rules: {
-        // tableName: [
-        //   { required: true, message: "请输入表名称", trigger: "blur" }
-        // ],
-        // tableComment: [
-        //   { required: true, message: "请输入表描述", trigger: "blur" }
-        // ],
-        // className: [
-        //   { required: true, message: "请输入实体类名称", trigger: "blur" }
-        // ],
-        // functionAuthor: [
-        //   { required: true, message: "请输入作者", trigger: "blur" }
-        // ]
+        kgrq: [
+          { required: true, message: "请选择开工时间", trigger: "blur" }
+        ],
       }
     }
+  },
+  methods:{
+    getSubmit(){
+      this.$refs.basicInfoForm.validate(valid => {
+          if(valid){
+            var params=JSON.parse(JSON.stringify(this.info))
+            let regphone = /^1[3|4|5|6|7|8|9][0-9]\d{8}$/
+            var id=params.id
+            if(id!=-1){
+              updateKgxx(params).then(res=>{
+                if(res.code==200){
+                  this.$message.success('修改成功');
+                }
+              })
+            }else{
+              addKgxx(params).then(res=>{
+                if(res.code==200){
+                  this.$message.success('保存成功');
+                }
+              })
+            }
+          }
+      })
+    },
   }
 }
 </script>