allen 2 лет назад
Родитель
Сommit
dd521dd9c9

+ 8 - 0
src/api/farmer/list.js

@@ -58,3 +58,11 @@ export const importExcel = (data) => {
     data
   });
 };
+// 查询
+export const getAreaInfo = (query) => {
+  return request({
+    url: ' /wpr/waterright/area/info',
+    method: 'get',
+    params: query
+  });
+};

+ 5 - 0
src/components/SelectTree/index.vue

@@ -67,6 +67,11 @@ export default {
       },
       deep: true,
       immediate: true
+    },
+    checkVal: {
+      handler(val) {
+        this.cusareaName = val
+      }
     }
   },
   methods: {

+ 2 - 2
src/views/infrastructure/waterElectricityPriceSetting.vue

@@ -206,12 +206,12 @@ export default {
           align: 'center'
         },
         {
-          label: '水量()',
+          label: '水量()',
           prop: 'waterPriceSteps',
           customRender: 'priceYield',
           align: 'center'
         }, {
-          label: '水价(元/)',
+          label: '水价(元/)',
           prop: 'waterPriceSteps',
           customRender: 'averageWaterPrice',
           align: 'center'

+ 2 - 2
src/views/infrastructure/waterEstablishment.vue

@@ -122,8 +122,8 @@ export default {
           align: 'left'
         },{
           label: '亩均水权(亩/m³)',
-          prop: 'phone',
-          customRender: 'Permuarea',
+          prop: 'amountPerMu',
+          customRender: '',
           align: 'left'
         },
         {

+ 61 - 32
src/views/peasantHouseholdManage/components/addedFarmers.vue

@@ -33,17 +33,17 @@
           </el-form-item>
           <el-col>
             <el-row class="area">
-              <el-col :span="5">
-                <label>总面积:</label>{{ areaAll }}亩
+              <el-col>
+                  <label>总面积:</label>{{ areaAll }}亩
               </el-col>
-              <el-col :span="5">
+              <el-col>
                 <label>总水权:</label>{{ waterRightAll }}m³
               </el-col>
-              <el-col :span="7" style="width:27%">
-                <label>亩产水权:</label>{{ yieldPer }}亩/m³
+              <el-col>
+                  <label>亩产水权:</label>{{ yieldPer }}亩/m³
               </el-col>
-              <el-col :span="6">
-                <label>剩余水权:</label>{{ residualWaterRight }}m³
+              <el-col>
+                  <label>剩余水权:</label>{{ residualWaterRight }}m³
               </el-col>
             </el-row>
           </el-col>
@@ -163,7 +163,7 @@
 import { isValidIDCard, checkPhone } from '@/utils/index.js'
 import { assign } from 'lodash-es';
 import SelectTree from '@/components/SelectTree';
-import { addFarmer,editFarmer } from '@/api/farmer/list.js'
+import { addFarmer,editFarmer, getAreaInfo } from '@/api/farmer/list.js'
 
 export default {
   name: 'addedFarmers',
@@ -248,13 +248,24 @@ export default {
             }, trigger: 'blur' }
         ],
         farmerWramount: [
-          { required: true, validator: (rule, value, callback) => {
+          {
+            required: true, validator: (rule, value, callback) => {
               if (!value) { callback(new Error('请输入水权')); return }
-              if (isNaN(value)) callback(new Error('请正确输入您的水权'))
-              else if (value > this.residualWaterRight) {
-                callback(new Error('输入的水权不能大于剩余水权'))
-              } else {
-                callback()
+              if (isNaN(value)) { callback(new Error('请正确输入您的水权')); return }
+              if (this.isEdit) {
+                if (+value > (+this.residualWaterRight) + (+this.editFarmerData.farmerWrbalance)) {
+                  callback(new Error('输入的水权不能大于剩余水权'))
+                  return
+                } else { 
+                  callback()
+                }
+              } else { 
+                if (+value > +this.residualWaterRight) {
+                  callback(new Error('输入的水权不能大于剩余水权'))
+                  return
+                } else { 
+                  callback()
+                }
               }
             }, trigger: 'blur' }
         ]
@@ -265,49 +276,63 @@ export default {
     visible(val) {
       if (val !== this.dialogVisible) {
         this.dialogVisible = val;
-        if (val) {
-          assign(this.baseForm, this.data);
-          if (!this.hasFetched) {
-            this.hasFetched = true;
-          }
-        }
+      }
+      if (!val) {
+        this.$refs.baseForm.clearValidate()
+        this.baseForm = {}
+        this.cusareaName = ''
+        this.clearItem()
       }
     },
     editFarmerData: {
       handler(val) {
-        this.baseForm = {...val }
-        this.cusareaName = val.cusareaName
-        this.setItem(this.treeDataArr)
+        if (this.isEdit) { 
+          this.baseForm = { ...val }
+          this.handlerClick(val)
+          this.cusareaName = val?.cusareaName || ''
+        } else {
+          this.baseForm = {}
+          this.cusareaName =  ''
+        }
       },
       deep: true
     },
     treeData: {
       handler(val) {
         this.treeDataArr = val ?? [];
-        this.setItem(val)
       },
       deep: true,
       immediate: true
     }
   },
   methods: {
-    setItem(val) { 
-      const value = this.findItemByAreaId(this.currentClickId, val)
-      this.areaAll = value?.waterrightAreasize || '-'
+    setItem(value) { 
+      this.areaAll = value?.waterrightAreasize || '0'
+      this.areaAll = (+this.areaAll).toFixed(2)
       this.waterRightAll = value?.waterrightAmount || '0'
+      this.waterRightAll = (+this.waterRightAll).toFixed(2)
       this.yieldPer = value ? value?.waterrightAmount == 0 ? 0 : (value?.waterrightAreasize) / (value?.waterrightAmount) : 0
       this.yieldPer = (+this.yieldPer).toFixed(2)
       this.residualWaterRight = value?.amountResidue ?? 0
+      this.residualWaterRight = (+this.residualWaterRight).toFixed(2)
+    },
+    clearItem() { 
+      this.areaAll = 0.00
+      this.waterRightAll = 0.00
+      this.yieldPer = 0.00
+      this.residualWaterRight = 0.00
     },
     findItemByAreaId(areaId,list) {
       return list.find(item => item.areaId === areaId)
     },
-    handlerClick(value) {
+    async handlerClick(item) {
+      const res = await getAreaInfo({
+        waterrightYear: new Date().getFullYear(),
+        areaId: item.areaId
+      })
+      const value = res?.data
       this.baseForm.areaId = value?.areaId
-      this.areaAll = value?.waterrightAreasize
-      this.waterRightAll = value?.waterrightAmount
-      this.yieldPer = value?.waterrightAmount == 0 ? 0 : (value?.waterrightAreasize) / (value?.waterrightAmount)
-      this.residualWaterRight = value?.amountResidue ?? 0
+      this.setItem(value)
     },
     resetForm() {
       this.dialogVisible = false;
@@ -352,6 +377,10 @@ export default {
 }
 .area{
   margin:0 0 20px 20px;
+  display: flex;
+  .el-col{
+    min-width: 25%;
+  }
   label{
     color:#999;
     font-weight: 400;

+ 12 - 10
src/views/waterManage/component/associationManage.vue

@@ -227,18 +227,20 @@ export default {
       },
       deep: true
     },
-    baseForm: {
-      handler(val) {
-        const { areaIds } = val
-        if (areaIds) {
-          this.$refs?.baseForm?.clearValidate(['areaIds'])
+    'baseForm.areaIds'(val) {
+      if (val) {
+        this.$refs?.baseForm?.clearValidate(['areaIds'])
+      } else {
+        this.$refs?.baseForm?.validateField('areaIds')
+      }
+    },
+    'baseForm.assocManageid'(val) {
+        if (val) {
+          this.$refs?.baseForm?.clearValidate(['assocManageid'])
         } else { 
-          this.$refs?.baseForm?.validateField('areaIds')
+          this.$refs?.baseForm?.validateField('assocManageid')
         }
-        
-      },
-      deep: true
-    }
+      }
   },
   methods: {
     getCheckTreeHandler(val) {