소스 검색

手动抄表修改提交

luogang 11 달 전
부모
커밋
987e760653
2개의 변경된 파일142개의 추가작업 그리고 206개의 파일을 삭제
  1. 55 26
      ems-ui/src/views/devmgr/meterRead/index.vue
  2. 87 180
      ems-ui/src/views/mgr/powerstore.vue

+ 55 - 26
ems-ui/src/views/devmgr/meterRead/index.vue

@@ -29,12 +29,12 @@
         </el-form>
         <el-table v-loading="loading" :data="deviceList">
           <el-table-column label="计量对象" align="left" prop="objName" width="300px">
-             <template slot-scope="scope">
-               <span>{{ "(" + getObjTypeName(scope.row.objType) + ")"+ scope.row.objName }}</span>
-             </template>
+            <template slot-scope="scope">
+              <span>{{ "(" + getObjTypeName(scope.row.objType) + ")"+ scope.row.objName }}</span>
+            </template>
           </el-table-column>
           <el-table-column label="设备代码" align="center" prop="deviceCode" />
-          <el-table-column label="计量标签" align="center" prop="objTag" >
+          <el-table-column label="计量标签" align="center" prop="objTag">
             <template slot-scope="scope">
               <span>{{ getObjTagName(scope.row.objTag) }}</span>
             </template>
@@ -64,7 +64,7 @@
             </el-form-item>
 
             <el-form-item label="抄表日期">
-              <el-input :value="fillForm.currentMonth" />
+              <el-input :value="currentMonth" />
             </el-form-item>
             <el-form-item required :rules="[{required:true,message:'请输入本次抄表示数'}]" label="本次抄表示数" prop="meterReading">
               <el-input v-model="fillForm.meterReading" oninput="value=value.replace(/[^\d]/g,'')" placeholder="请输入本次抄表示数" />
@@ -86,7 +86,9 @@
         <el-dialog :title="title" :visible.sync="recListOpen" width="1200px" append-to-body>
           <el-form ref="recListForm" :model="recListForm" label-width="80px">
             <el-form-item label="年份" prop="year">
-              <el-input size="mini" v-model="recListForm.year" placeholder="年份" />
+              <el-date-picker v-model="recListForm.year" :clearable="false" @change="getHistoryList" value-format="yyyy" type="year"
+                placeholder="选择年份">
+              </el-date-picker>
             </el-form-item>
             <el-form-item label="抄表历史" prop="recList">
               <el-table v-loading="loading" :data="recListForm.recList" max-height="280px">
@@ -98,7 +100,8 @@
                 <el-table-column label="用量" align="center" prop="increase" />
                 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
                   <template slot-scope="scope">
-                    <el-button size="mini" type="text" @click="">修改</el-button>
+                    <el-button size="mini" type="text" v-if="scope.row.meterMonth===currentMonth" @click="updateRecord(scope.row)">修改
+                    </el-button>
                   </template>
                 </el-table-column>
               </el-table>
@@ -124,7 +127,9 @@ export default {
   name: 'Device',
   components: { Treeselect },
   data() {
+    const nowDay = new Date()
     return {
+      currentMonth: dateFormat(nowDay, 'yyyyMM'),
       activeTab: 'first',
       // 遮罩层
       loading: true,
@@ -160,12 +165,12 @@ export default {
       },
       // 电表表单参数
       recListForm: {
+        year: '',
         recList: []
       },
       fillTitle: '',
       fillForm: {
-        id:'',
-        currentMonth: '',
+        id: '',
         deviceCode: '',
         areaCode: '',
         lastTime: '',
@@ -175,6 +180,7 @@ export default {
         increase: '',
         magnification: 1
       },
+      curRow: {},
       ifAdd: true // 判断 新增还是修改
     }
   },
@@ -264,42 +270,64 @@ export default {
       this.handleQuery()
     },
     handleViewRec(row) {
-      const queryMeterReading = {
-        areaCode: row.areaCode,
-        deviceCode: row.deviceCode
-      }
+      this.recListForm = this.$options.data().recListForm
+      this.resetForm('recListForm')
       this.title = row.objName
-      listMeterReadingByParam(queryMeterReading).then(response => {
-        this.recListOpen = true
-        this.recListForm.recList = response.data
+      this.curRow = row
+      this.recListForm.year = dateFormat(new Date(), 'yyyy')
+      this.getHistoryList()
+      this.recListOpen = true
+    },
+    getHistoryList() {
+      const { areaCode, deviceCode } = this.curRow
+      listMeterReadingByParam({
+        areaCode,
+        deviceCode,
+        year: this.recListForm.year,
+        orderFlag:'desc'
+      }).then(response => {
+        this.recListForm.recList = response.data || []
       })
     },
     async handleRecord(row) {
       this.fillForm = this.$options.data().fillForm
       this.resetForm('fillForm')
       this.fillTitle = row.objName
-      this.fillFormOpen = true
-      const nowDay = new Date()
-      this.fillForm.currentMonth = dateFormat(nowDay, 'yyyy年MM月dd日')
       this.fillForm.deviceCode = row.deviceCode
       this.fillForm.areaCode = row.areaCode
       this.fillForm.magnification = row.magnification
       this.ifAdd = true
+      let existFlag = false
       // 获取上次填报记录
       await getLastRecord(row.areaCode, row.deviceCode).then(({ data }) => {
         if (data) {
-          if (data.meterMonth === dateFormat(nowDay, 'yyyyMM')) {
-            this.ifAdd = false
-            this.fillForm.id = data.id
-            this.fillForm.lastTime = data.lastTime
-            this.fillForm.lastReading = data.lastReading
-            this.fillForm.meterReading = data.meterReading
+          if (data.meterMonth === this.currentMonth) {
+            existFlag = true
           } else {
             this.fillForm.lastTime = data.meterTime
             this.fillForm.lastReading = data.meterReading
           }
         }
       })
+      if (existFlag) {
+        this.fillFormOpen = true
+      } else {
+        this.$modal.msgError('当前月份已填报')
+      }
+    },
+    updateRecord(row) {
+      this.ifAdd = false
+      this.fillFormOpen = true
+      this.fillForm = this.$options.data().fillForm
+      this.resetForm('fillForm')
+      this.fillTitle = this.curRow.objName
+      this.fillForm.deviceCode = this.curRow.deviceCode
+      this.fillForm.areaCode = this.curRow.areaCode
+      this.fillForm.magnification = this.curRow.magnification
+      this.fillForm.id = row.id
+      this.fillForm.lastTime = row.lastTime
+      this.fillForm.lastReading = row.lastReading
+      this.fillForm.meterReading = row.meterReading
     },
     submitFillForm() {
       this.$refs['fillForm'].validate(valid => {
@@ -317,7 +345,8 @@ export default {
           } else {
             updateMeterReading(this.fillForm).then(({ code, msg }) => {
               if (code === 200) {
-                this.$modal.msgSuccess('填报成功')
+                this.$modal.msgSuccess('修改成功')
+                this.getHistoryList()
                 this.fillFormOpen = false
               } else {
                 this.$modal.msgError(msg)

+ 87 - 180
ems-ui/src/views/mgr/powerstore.vue

@@ -2,27 +2,13 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="园区代码" prop="areaCode">
-        <el-input
-            v-model="queryParams.areaCode"
-            placeholder="请输入园区代码"
-            clearable
-            @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.areaCode" placeholder="请输入园区代码" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="设施代码" prop="facsCode">
-        <el-input
-            v-model="queryParams.facsCode"
-            placeholder="请输入设施代码"
-            clearable
-            @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.facsCode" placeholder="请输入设施代码" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="日期" prop="date">
-        <el-date-picker clearable
-                        v-model="queryParams.date"
-                        type="date"
-                        value-format="yyyy-MM-dd"
-                        placeholder="请选择日期 yyyy-MM-dd">
+        <el-date-picker clearable v-model="queryParams.date" type="date" value-format="yyyy-MM-dd" placeholder="请选择日期 yyyy-MM-dd">
         </el-date-picker>
       </el-form-item>
       <el-form-item>
@@ -31,142 +17,55 @@
       </el-form-item>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
+    <!-- <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button
-            type="primary"
-            plain
-            icon="el-icon-plus"
-            size="mini"
-            @click="handleAdd"
-            v-hasPermi="['ems:elecStoreH:add']"
-        >新增
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['ems:elecStoreH:add']">新增
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-            type="success"
-            plain
-            icon="el-icon-edit"
-            size="mini"
-            :disabled="single"
-            @click="handleUpdate"
-            v-hasPermi="['ems:elecStoreH:edit']"
-        >修改
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['ems:elecStoreH:edit']">修改
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-            type="danger"
-            plain
-            icon="el-icon-delete"
-            size="mini"
-            :disabled="multiple"
-            @click="handleDelete"
-            v-hasPermi="['ems:elecStoreH:remove']"
-        >删除
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['ems:elecStoreH:remove']">删除
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
-            type="warning"
-            plain
-            icon="el-icon-download"
-            size="mini"
-            @click="handleExport"
-            v-hasPermi="['ems:elecStoreH:export']"
-        >导出
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['ems:elecStoreH:export']">导出
         </el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
+    </el-row> -->
 
-    <el-table v-loading="loading" :data="elecStoreHList" @selection-change="handleSelectionChange">
+    <el-table v-loading="loading" :data="elecStoreHList" >
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="园区名称" align="center" prop="areaShortName" />
       <el-table-column label="设施名称" align="center" prop="facsName" />
       <el-table-column label="日期" align="center" prop="date" width="180">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.date, '{y}-{m}-{d}') }}</span>
-        </template>
       </el-table-column>
-      <el-table-column label="时间" align="center" prop="time" >
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.time, '{h}:{i}') }}</span>
-        </template>
+      <el-table-column label="时间" align="center" prop="time">
       </el-table-column>
       <el-table-column label="充电电量 " align="center" prop="chargeElecQuantity" />
       <el-table-column label="放电电量" align="center" prop="dischargeElecQuantity" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
-          <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              @click="handleUpdate(scope.row)"
-              v-hasPermi="['ems:elecStoreH:edit']"
-          >修改
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['ems:elecStoreH:edit']">修改
           </el-button>
-          <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-delete"
-              @click="handleDelete(scope.row)"
-              v-hasPermi="['ems:elecStoreH:remove']"
-          >删除
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['ems:elecStoreH:remove']">
+            删除
           </el-button>
         </template>
       </el-table-column>
     </el-table>
 
-    <pagination
-        v-show="total>0"
-        :total="total"
-        :page.sync="queryParams.pageNum"
-        :limit.sync="queryParams.pageSize"
-        @pagination="getList"
-    />
-
-    <!-- 添加或修改储能计量-小时对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="园区代码" prop="areaCode">
-          <el-input v-model="form.areaCode" placeholder="请输入园区代码" />
-        </el-form-item>
-        <el-form-item label="设施代码" prop="facsCode">
-          <el-input v-model="form.facsCode" placeholder="请输入设施代码" />
-        </el-form-item>
-        <el-form-item label="日期" prop="date">
-          <el-date-picker clearable
-                          v-model="form.date"
-                          type="date"
-                          value-format="yyyy-MM-dd"
-                          placeholder="请选择日期">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="时间" prop="time">
-          <el-time-picker v-model="form.time" format="HH:mm" value-format="HH:mm:00"
-                          :picker-options='{"selectableRange":"00:00:00-23:59:59"}' :style="{width: '100%'}"
-                          placeholder="请选择时间选择" clearable>
-          </el-time-picker>
-        </el-form-item>
-        <el-form-item label="充电电量 " prop="chargeElecQuantity">
-          <el-input v-model="form.chargeElecQuantity" placeholder="请输入充电电量 " />
-        </el-form-item>
-        <el-form-item label="放电电量" prop="dischargeElecQuantity">
-          <el-input v-model="form.dischargeElecQuantity" placeholder="请输入放电电量" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div>
-    </el-dialog>
+    <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
   </div>
 </template>
 
 <script>
-import { addElecStoreH, delElecStoreH, getElecStoreH, listElecStoreH, updateElecStoreH } from '@/api/mgr/elecStoreH';
+import { addElecStoreH, delElecStoreH, getElecStoreH, listElecStoreH, updateElecStoreH } from '@/api/mgr/elecStoreH'
 
 export default {
   name: 'ElecStoreH',
@@ -198,7 +97,7 @@ export default {
         facsCode: null,
         date: null,
         chargeElecQuantity: null,
-        dischargeElecQuantity: null,
+        dischargeElecQuantity: null
       },
       // 表单参数
       form: {},
@@ -208,50 +107,50 @@ export default {
           {
             required: true,
             message: '园区代码不能为空',
-            trigger: 'blur',
-          },
+            trigger: 'blur'
+          }
         ],
         facsCode: [
           {
             required: true,
             message: '设施代码不能为空',
-            trigger: 'blur',
-          },
+            trigger: 'blur'
+          }
         ],
         date: [
           {
             required: true,
             message: '日期不能为空',
-            trigger: 'blur',
-          },
+            trigger: 'blur'
+          }
         ],
         time: [
           {
             required: true,
             message: '时间不能为空',
-            trigger: 'blur',
-          },
-        ],
-      },
-    };
+            trigger: 'blur'
+          }
+        ]
+      }
+    }
   },
   created() {
-    this.getList();
+    this.getList()
   },
   methods: {
     /** 查询储能计量-小时列表 */
     getList() {
-      this.loading = true;
+      this.loading = true
       listElecStoreH(this.queryParams).then(response => {
-        this.elecStoreHList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
+        this.elecStoreHList = response.rows
+        this.total = response.total
+        this.loading = false
+      })
     },
     // 取消按钮
     cancel() {
-      this.open = false;
-      this.reset();
+      this.open = false
+      this.reset()
     },
     // 表单重置
     reset() {
@@ -262,41 +161,41 @@ export default {
         date: null,
         time: null,
         chargeElecQuantity: null,
-        dischargeElecQuantity: null,
-      };
-      this.resetForm('form');
+        dischargeElecQuantity: null
+      }
+      this.resetForm('form')
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
+      this.queryParams.pageNum = 1
+      this.getList()
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm('queryForm');
-      this.handleQuery();
+      this.resetForm('queryForm')
+      this.handleQuery()
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id);
-      this.single = selection.length !== 1;
-      this.multiple = !selection.length;
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
     },
     /** 新增按钮操作 */
     handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = '添加储能计量-小时';
+      this.reset()
+      this.open = true
+      this.title = '添加储能计量-小时'
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
-      this.reset();
-      const id = row.id || this.ids;
+      this.reset()
+      const id = row.id || this.ids
       getElecStoreH(id).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = '修改储能计量-小时';
-      });
+        this.form = response.data
+        this.open = true
+        this.title = '修改储能计量-小时'
+      })
     },
     /** 提交按钮 */
     submitForm() {
@@ -304,36 +203,44 @@ export default {
         if (valid) {
           if (this.form.id != null) {
             updateElecStoreH(this.form).then(response => {
-              this.$modal.msgSuccess('修改成功');
-              this.open = false;
-              this.getList();
-            });
+              this.$modal.msgSuccess('修改成功')
+              this.open = false
+              this.getList()
+            })
           } else {
             addElecStoreH(this.form).then(response => {
-              this.$modal.msgSuccess('新增成功');
-              this.open = false;
-              this.getList();
-            });
+              this.$modal.msgSuccess('新增成功')
+              this.open = false
+              this.getList()
+            })
           }
         }
-      });
+      })
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除储能计量-小时编号为"' + ids + '"的数据项?').then(function () {
-        return delElecStoreH(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess('删除成功');
-      }).catch(() => {});
+      const ids = row.id || this.ids
+      this.$modal
+        .confirm('是否确认删除储能计量-小时编号为"' + ids + '"的数据项?')
+        .then(function() {
+          return delElecStoreH(ids)
+        })
+        .then(() => {
+          this.getList()
+          this.$modal.msgSuccess('删除成功')
+        })
+        .catch(() => {})
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('ems/elecStoreH/export', {
-        ...this.queryParams,
-      }, `elecStoreH_${new Date().getTime()}.xlsx`);
-    },
-  },
-};
+      this.download(
+        'ems/elecStoreH/export',
+        {
+          ...this.queryParams
+        },
+        `elecStoreH_${new Date().getTime()}.xlsx`
+      )
+    }
+  }
+}
 </script>