yusheng 4 månader sedan
förälder
incheckning
04485b7077

+ 11 - 0
src/api/centralizedMeterReading/index.js

@@ -120,3 +120,14 @@ export async function refreshData(data) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+
+//获取上期抄表数
+export async function queryBySubstanceId(substanceId,id) {
+  const res = await request.get(
+    `/ems/remote_meter_reading/queryBySubstanceId?substanceId=` + substanceId+'&id='+id
+  );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 35 - 3
src/views/centralizedMeterReading/meterReadingDialog.vue

@@ -61,6 +61,7 @@
           :disabled="isView"
         ></el-input>
       </el-form-item>
+
       <el-form-item label="本期抄表时间" prop="currentMeterReadingTime">
         <el-date-picker
           v-model="form.currentMeterReadingTime"
@@ -71,12 +72,29 @@
           style="width: 100%"
         ></el-date-picker>
       </el-form-item>
+      <el-form-item label="上次抄表数" prop="lastMeterReadingNum">
+        <el-input
+          v-model.number="form.lastMeterReadingNum"
+          type="number"
+          placeholder="自动获取"
+          disabled
+        ></el-input>
+      </el-form-item>
       <el-form-item label="本期抄表数" prop="currentMeterReadingNum">
         <el-input
           v-model.number="form.currentMeterReadingNum"
           type="number"
           placeholder="请输入本期抄表数"
           :disabled="isView"
+          @input="setQuantity"
+        ></el-input>
+      </el-form-item>
+      <el-form-item label="本期用量" prop="quantity">
+        <el-input
+          v-model.number="form.quantity"
+          type="number"
+          placeholder=""
+          :disabled="isView"
         ></el-input>
       </el-form-item>
     </el-form>
@@ -110,7 +128,8 @@
   import {
     save,
     update,
-    getById
+    getById,
+    queryBySubstanceId
   } from '@/api/centralizedMeterReading/index.js';
   import MaterialAdd from '@/components/common/MaterialAdd.vue';
   import dayjs from 'dayjs';
@@ -131,7 +150,9 @@
     meterReadingId: '',
     currentMeterReadingTime: '',
     currentMeterReadingNum: '',
-    meterReadingMethod: 1
+    meterReadingMethod: 1,
+    lastMeterReadingNum: '',
+    quantity: ''
   };
 
   export default {
@@ -175,6 +196,12 @@
       }
     },
     methods: {
+      setQuantity() {
+        if (this.form.currentMeterReadingNum && this.form.lastMeterReadingNum) {
+          this.form.quantity =
+            this.form.currentMeterReadingNum - this.form.lastMeterReadingNum;
+        }
+      },
       // 打开弹窗
       async open(row, type = 'add') {
         this.activeComp = 'main';
@@ -231,7 +258,7 @@
         console.log(data, 'data');
       },
       // 选择设备回调
-      handleChooseEquipment(row) {
+      async handleChooseEquipment(row) {
         console.log('选择设备:', row);
         this.form.substanceId = row.id;
         this.form.substanceName = row?.category?.name;
@@ -246,6 +273,11 @@
         this.form.energyTypeName = row.energyTypeName || '';
         this.form.energyTypeId = row.energyTypeId || '';
         this.form.energyTypeCode = row.energyTypeCode || '';
+        console.log(this.form, ' this.form');
+        const data = await queryBySubstanceId(row.id, this.form.id);
+        this.form.lastMeterReadingNum = data.currentMeterReadingNum;
+
+        this.setQuantity();
 
         this.form.unit = energyConsumingUnitList
           .find((item) => item.value == row.energyClassificationCode)