Browse Source

抄表录入

shudong 1 year ago
parent
commit
333b19bd9d
1 changed files with 58 additions and 59 deletions
  1. 58 59
      src/views/mis/meterReadingManagement/bwMeterReadEntry-index.vue

+ 58 - 59
src/views/mis/meterReadingManagement/bwMeterReadEntry-index.vue

@@ -115,8 +115,8 @@
                         </el-descriptions-item>
                         <el-descriptions-item label="抄表类型">
                             <el-form-item>
-                                <cpsSelect v-model="detailForm.mrType" skey="cblx" isDisabled="all" :clearable="false"
-                                    @change="onMrTypeChange">
+                                <cpsSelect ref="cblx" v-model="detailForm.mrType" skey="cblx" isDisabled="all"
+                                    :clearable="false" @change="onMrTypeChange">
                                 </cpsSelect>
                             </el-form-item>
                         </el-descriptions-item>
@@ -172,10 +172,10 @@
                     </el-descriptions>
                     <div class="buttonStyle">
                         <el-form-item>
-                            <el-checkbox ref="chkModifyReadNum" v-model="detailForm.checkModifyReadNum"
-                                style="margin-right:20px" size="medium" @change="modifyReadNum">修改底数</el-checkbox>
-                            <el-button type="primary" icon="el-icon-edit" size="medium"
-                                :disabled="listInfoSelection.length == 0" @click="submitForm()">保存信息</el-button>
+                            <el-checkbox ref="chkModifyReadNum" style="margin-right:20px" size="medium"
+                                @change="modifyReadNum">修改底数</el-checkbox>
+                            <el-button ref="btnSave" type="primary" icon="el-icon-edit" size="medium"
+                                :disabled="labelData.isDisabledSaveBtn" @click="submitForm()">保存信息</el-button>
                         </el-form-item>
                     </div>
                 </el-form>
@@ -294,7 +294,7 @@ export default {
                     width: 100
                 }
             ],
-            listData: [], // table表格数据 
+            listData: [], // table表格数据  
             detailForm: {
                 customerAddress: undefined,
                 thisReading: undefined,
@@ -317,14 +317,14 @@ export default {
                 calFlag: undefined,
                 mrFlag: undefined,
                 customerMobile: undefined,
-                customerNo: undefined,
-                checkModifyReadNum: false //是否修改底数
+                customerNo: undefined
             },
             labelData: {
                 scds: "上次读数",
                 bcds: "本次读数",
-                isXhb: false,        //是否为洗换表
-                isModifyScds: false  //修改上次读数
+                isXhb: false,           //是否为洗换表
+                isModifyScds: false,    //修改上次读数
+                isDisabledSaveBtn: true //是否禁用保存按钮
             },
             rules: {
                 lastReading: [{ required: true, message: '请输入读数', trigger: 'blur' }],
@@ -340,11 +340,6 @@ export default {
     created() {
     },
     mounted() {
-        // //回车提交事件
-        // $(window).keydown(function (e) {
-        //     var ev = document.all ? window.event : e;
-        //     if (ev.keyCode == 13) $("#lnkSave").click();
-        // });
         this.getData();
     },
     destroyed() {
@@ -357,6 +352,7 @@ export default {
         onSearch() {
             this.clearPageInfo();
             this.listInfoSelection = [];
+            this.labelData.isDisabledSaveBtn = true;
             this.getData();
         },
         /**
@@ -399,7 +395,7 @@ export default {
         onRowClick(row) {
             this.clearPageInfo();
             let rowData = Object.assign({}, row);
-            this.listInfoSelection = Object.assign({}, rowData);
+            this.listInfoSelection = Object.assign({}, rowData, { rowIndex: row.rowIndex });
             this.detailForm = rowData;
             this.detailForm.mrType = this.detailForm.mrType.toString();
             this.onMrTypeChange(this.detailForm.mrType, null);
@@ -409,6 +405,8 @@ export default {
             this.$nextTick(() => {
                 this.$refs["detailForm"].validate();
             });
+
+            this.labelData.isDisabledSaveBtn = false;
         },
         /**
          * 排序事件
@@ -422,7 +420,7 @@ export default {
         /**
          * 换表保存处理按钮 
          */
-        submitForm() { 
+        submitForm() {
             this.$refs["detailForm"].validate((valid) => {
                 if (valid) {
                     this.saveInfo();
@@ -433,7 +431,6 @@ export default {
         },
         //提交抄表信息
         saveInfo() {
-           
             var yhbh = this.detailForm.customerNo;
             var data = this.calcHjsl(true);
             var sjsl = this.detailForm.quantity;
@@ -464,16 +461,14 @@ export default {
                 this.$message.error("抄表类型为“表满度”时,水表量程必须选择!");
                 return false;
             }
-            if (!window.confirm("请确认信息是否填写正确?")) {
-                return false;
-            }
             this.$confirm('请确认信息是否填写正确?', '温馨提示', {
                 confirmButtonText: '确定',
                 cancelButtonText: '取消',
                 type: 'warning'
             }).then(() => {
-                debugger
-                var selRow = this.listInfoSelection;
+                let selRow = this.listInfoSelection;
+                let rowIndex = selRow.rowIndex;
+                selRow = this.listData[rowIndex];
                 selRow.lastReading = data.scds;
                 selRow.oldMeterEreading = data.jbzd;
                 selRow.newMeterBreading = data.xbqd;
@@ -481,39 +476,42 @@ export default {
                 selRow.jjl = data.jjl;
                 selRow.quantity = data.sjsl;
                 selRow.meterRange = v_sblc;
-                selRow.mrMode = this.detailForm.mrMode;// $("#cbfs").combobox("getValue");
-                selRow.mrModeName = this.$refs.cbfs.getSelectedText;// $("#cbfs").combobox("getText");
-                selRow.cblx = v_cblx;
+                selRow.mrMode = this.detailForm.mrMode;
+                selRow.mrModeName = this.$refs.cbfs.getSelectedText();
+                selRow.mrType = this.detailForm.mrType;
+                selRow.mrTypeName = this.$refs.cblx.getSelectedText();
                 selRow.mrFlag = "1";
-                var index = -1;
-                if (selRow) {
-                    this.$refs.tblList.toggleRowSelection(selRow, false);
-                    this.$refs.tblList.toggleRowSelection(this.listData[selRow.rowId + 1], true);
-
-                    // index = $("#dgInfo").datagrid("getRowIndex", selRow);
-                    // var rows = $("#dgInfo").datagrid("getRows");
-                    // rows[index] = selRow;
-                    // $("#dgInfo").datagrid("refreshRow", index);
-                    // $("#dgInfo").datagrid("selectRow", index);
-                    // $("#dgInfo").datagrid("movedown");
 
+                if (selRow) {
+                    if (this.pageInfo.size != rowIndex + 1) {
+                        let nextRow = this.listData[rowIndex + 1];
+                        this.$refs.tblList.setCurrentRow(nextRow);
+                        this.onRowClick(nextRow);
+                    }
                     this.$refs.bcds.select();
                 }
+                this.labelData.isDisabledSaveBtn = true;
 
-                // // $("#lnkSave").linkbutton({ disabled: false });
+                //构造数据参数
+                data.cbkid = this.detailForm.meterCardId;
+                data.cbfs = this.detailForm.mrMode;
+                data.cblx = this.detailForm.mrType;
+                data.bz = this.detailForm.remark;
+                data.czrybm = this.$store.state.user.username;
+                data.czryxm = this.$store.state.user.realName;
+                data.sblc = v_sblc;
+                data.xgds = this.$refs.chkModifyReadNum.checked;
 
-                // let params = Object.assign({}, this.detailForm);
-                // params.newMeterNowReading = params.newMeterLastReading;
-                // params.inputOcode = this.$store.state.user.username;
-                // params.inputName = this.$store.state.user.realName;
-                // MeterChangeInfo.saveInfo(params).then((res) => {
-                //     if (res.code == 1) {
-                //         this.$message.success(res.message);
-                //         this.onSearch();
-                //     } else {
-                //         this.$message.error(res.message);
-                //     }
-                // });
+                let params = Object.assign({}, data);
+                MeterReading.saveInfo(params).then((res) => {
+                    if (res.code == 1) {
+                        this.labelData.isDisabledSaveBtn = false;
+                        this.$message.success(res.message);
+                        this.onSearch();
+                    } else {
+                        this.$message.error(res.message);
+                    }
+                });
 
             }).catch(() => {
 
@@ -535,27 +533,28 @@ export default {
          * 计算实际水量
          */
         calcHjsl(isReturn) {
+            this.$refs.btnSave.$el.focus();//设置保存按钮获取焦点
             var sjsl = 0;
-            var v_cblx = this.detailForm.mrType;// $("#cblx").combobox('getValue');
-            var scds = this.detailForm.lastReading;// Number($("#scds").numberbox("getValue"));
-            var jbzd = this.detailForm.oldMeterEreading;// Number($("#jbzd").numberbox("getValue"));
-            var xbqd = this.detailForm.newMeterBreading;// Number($("#xbqd").numberbox("getValue"));
-            var bcds = this.detailForm.thisReading;// Number($("#bcds").numberbox("getValue"));
-            var jjl = this.detailForm.jjl;// Number($("#jjl").numberbox("getValue"));
+            var v_cblx = this.detailForm.mrType;
+            var scds = this.detailForm.lastReading;
+            var jbzd = this.detailForm.oldMeterEreading;
+            var xbqd = this.detailForm.newMeterBreading;
+            var bcds = this.detailForm.thisReading;
+            var jjl = this.detailForm.jjl;
             if (v_cblx == "0") {//正常                
                 sjsl = bcds - scds + jjl;
             } else if (v_cblx == "-1") { //表倒走               
                 sjsl = Math.abs(bcds - scds) + jjl;
             }
             else if (v_cblx == "-2") { //表满度               
-                var v_sblc = this.detailForm.meterRange;// parseInt($("#cmbSBLC").combobox("getValue"), 10);
+                var v_sblc = this.detailForm.meterRange;
                 var sbmdValue = Math.pow(10, v_sblc);
                 sjsl = Math.abs(sbmdValue - scds + bcds) + jjl;
             }
             else if (v_cblx == "-3") { //洗换表               
                 sjsl = (jbzd - scds) + (bcds - xbqd);
             }
-            this.detailForm.quantity = sjsl;//$("#sjsl").numberbox("setValue", sjsl);
+            this.detailForm.quantity = sjsl;
 
             if (isReturn) {
                 var data = {};