Browse Source

merge fix

scorpio 2 years ago
parent
commit
d1bfaaddf7

+ 3 - 0
src/api/common.js

@@ -9,5 +9,8 @@ export default {
   },
   basicFormRequest (url) {
     return fetch(url)
+  },
+  region (params) {
+    return fetch('/blade-system/region/lazy-tree', params)
   }
 }

+ 28 - 2
src/views/home/component/params/params1.vue

@@ -26,7 +26,12 @@
         </div>
         <div class='full-width  flex'>
           <el-form-item label="县(区)" style='flex:1'>
-            <el-input v-model="form.county" placeholder='县(区)'/>
+            <div class='full-width'>
+              <avue-input-tree v-model="form.county"
+                               class='full-width'
+                               placeholder="请选择县(区)"
+                               :dic="areaDic"></avue-input-tree>
+            </div>
           </el-form-item>
           <el-form-item label="责任单位" style='flex:1' class='ml-20'>
             <el-input v-model="form.region" placeholder='责任单位'/>
@@ -158,7 +163,8 @@
           </el-form-item>
           <el-form-item label="是否纳入省集中开工项目" style='flex:1' class='ml-20'>
             <div class='full-width'>
-              <el-select v-model='form.is_provincial_level_construction' placeholder='是否纳入省集中开工项目' class='full-width'>
+              <el-select v-model='form.is_provincial_level_construction' placeholder='是否纳入省集中开工项目'
+                         class='full-width'>
                 <el-option
                     v-for="item in yesOrNo"
                     :key='item.label'
@@ -217,13 +223,33 @@ export default {
     return {
       disabled: true,
       form: {},
+      areaDic: [],
       yesOrNo: [
         { label: '否', value: 0 },
         { label: '是', value: 1 }
       ]
     }
   },
+  created () {
+    this.areaList()
+  },
   methods: {
+    areaList () {
+      this.$api.common.region({ code: '' }).then(res => {
+        if (res.code === 200) {
+          this.areaDic = res.data.map(item => this.mapTree(item))
+        }
+      })
+    },
+    mapTree (item) {
+      const haveChildren = Array.isArray(item.children) && item.children.length > 0
+      return {
+        key: item.id,
+        value: item.id,
+        label: item.title,
+        children: haveChildren ? item.children.map(i => this.mapTree(i)) : []
+      }
+    },
     updata () {
       this.detail.projectId = this.detail.id
       delete this.detail._id

+ 5 - 1
src/views/home/component/params/params2.vue

@@ -2,7 +2,7 @@
   <div class='flex flex-justify-start flex-align-center flex-col'>
     <div class='flex flex-center full-width flex-justify-between mt-10 mb-10'>
       <span class='full-width text-left bold'>{{ info.dictValue }}</span>
-      <el-button type='primary' @click='disabled = !disabled'>
+      <el-button v-if='detail.can_update'  type='primary' @click='disabled = !disabled'>
         {{ disabled ? '编 辑' : '保 存' }}
       </el-button>
     </div>
@@ -93,6 +93,10 @@ export default {
     info: {
       type: Object,
       default: null
+    },
+    detail: {
+      type: Object,
+      default: null
     }
   },
   data () {

+ 1 - 1
src/views/home/component/params/params3.vue

@@ -69,7 +69,7 @@
       <div class='flex flex-center flex-wrap'>
         <div v-for='item in current.months' :key='item'>
           <div class='bold mb-10 mt-10'>{{ item.name }}月</div>
-          <input class='input flex flex-center' v-model="item.value" :min="1" @change='changeMonth(item)'/>
+          <input :disabled='!detail.can_update' class='input flex flex-center' v-model="item.value" :min="1" @change='changeMonth(item)'/>
         </div>
       </div>
       <div class='mt-20 full-width flex text-left red'>* 请按月份进行填报,单位:万元</div>

+ 1 - 1
src/views/home/pro_detail.vue

@@ -18,7 +18,7 @@
         <basic-container v-for='(item,index) in resultList' :key='item.id'>
           <div class='full-width padding-top' :id="`header`+(index+1)">
             <params1 v-if='item.dictKey === "1" ' :info='item' :detail='data'/>
-            <params2 v-if='item.dictKey === "2" ' :info='item'/>
+            <params2 v-if='item.dictKey === "2" ' :info='item' :detail='data'/>
             <params3 v-if='item.dictKey === "3" ' :info='item' :detail='data'/>
             <params4 v-if='item.dictKey === "4" ' :info='item' :detail='data'/>
             <params5 v-if='item.dictKey === "5" ' :info='item' :detail='data'/>