Parcourir la source

Merge remote-tracking branch 'origin/dev' into dev

Lita-Tako il y a 4 mois
Parent
commit
3096350867

+ 2 - 2
config/index.js

@@ -1,8 +1,8 @@
1 1
 // see http://vuejs-templates.github.io/webpack for documentation.
2 2
 var path = require("path");
3 3
 
4
-// const TEST_HOST = "http://101.36.160.140:10310";
5
-const TEST_HOST = "http://172.16.0.46:9025";
4
+const TEST_HOST = "http://101.36.160.140:10310";
5
+// const TEST_HOST = "http://172.16.0.46:9025";
6 6
 // const TEST_HOST = "http://172.16.0.46:9527";
7 7
 
8 8
 module.exports = {

+ 80 - 36
src/page/APayment/components/monthlyReport.vue

@@ -201,7 +201,7 @@
201 201
         <el-divider>{{ titleText }}贷款信息</el-divider>
202 202
         <el-row>
203 203
           <el-col :span="8"
204
-            ><el-form-item label="款收回单位" prop="loanRecoveryUnit">
204
+            ><el-form-item label="款收回单位" prop="loanRecoveryUnit">
205 205
               <el-input
206 206
                 class="title-box"
207 207
                 autocomplete="off"
@@ -210,7 +210,7 @@
210 210
               /> </el-form-item
211 211
           ></el-col>
212 212
           <el-col :span="8"
213
-            ><el-form-item label="款收回数量" prop="loanRecoveryQuantity">
213
+            ><el-form-item label="款收回数量" prop="loanRecoveryQuantity">
214 214
               <el-input
215 215
                 class="title-box"
216 216
                 autocomplete="off"
@@ -220,7 +220,7 @@
220 220
             </el-form-item>
221 221
           </el-col>
222 222
           <el-col :span="8"
223
-            ><el-form-item label="款收回金额" prop="loanRecoveryAmount">
223
+            ><el-form-item label="款收回金额" prop="loanRecoveryAmount">
224 224
               <el-input
225 225
                 class="title-box"
226 226
                 autocomplete="off"
@@ -294,9 +294,26 @@
294 294
               />
295 295
             </el-form-item>
296 296
           </el-col>
297
-        </el-row>
298
-        <el-divider>{{ titleText }}差价上缴</el-divider>
299 297
 
298
+          <el-col :span="16">
299
+            <el-form-item label="附件上传">
300
+              <upload
301
+                :post-action="uploadUrl"
302
+                :download-base="downloadBase"
303
+                :readonly="showLock"
304
+                :limit="100"
305
+                :file-list="uploadFiles"
306
+                :post-data="{
307
+                  type: 'qualityEvent',
308
+                  userId: userId,
309
+                  orgId: orgId,
310
+                }"
311
+                @on-upload-success="uploadSuccess"
312
+              />
313
+            </el-form-item>
314
+          </el-col>
315
+        </el-row>
316
+        <!-- <el-divider>{{ titleText }}差价上缴</el-divider>
300 317
         <el-row>
301 318
           <el-col :span="24">
302 319
             <el-table
@@ -348,7 +365,7 @@
348 365
               </el-table-column>
349 366
             </el-table>
350 367
           </el-col>
351
-        </el-row>
368
+        </el-row> -->
352 369
         <el-row>
353 370
           <el-col style="height: 30px" :span="24"> </el-col>
354 371
         </el-row>
@@ -370,6 +387,16 @@ import {
370 387
   CRKYSQRgetContractData,
371 388
   CRKYSQRgetByContractId,
372 389
 } from "@/api/base/rotationApi.js";
390
+import {
391
+  qualityEventSave,
392
+  qualityEventEdit,
393
+  uploadUrl,
394
+  updateFile,
395
+  getUploadFiles,
396
+  downloadBase,
397
+} from "@/api/inventoryQualityTraceability";
398
+import { mapGetters } from "vuex";
399
+import upload from "@/components/upload/v2.vue";
373 400
 export default {
374 401
   props: {
375 402
     dataObj: {
@@ -381,12 +408,15 @@ export default {
381 408
     return {
382 409
       RRTYUQQW: [],
383 410
       tableData: [],
384
-      tableDataSZ: [
385
-        { projectType: "1", quantity: "", amount: "" },
386
-        { projectType: "2", quantity: "", amount: "" },
387
-        { projectType: "3", quantity: "", amount: "" },
388
-        { projectType: "4", quantity: "", amount: "" },
389
-      ],
411
+      uploadFiles: [],
412
+      uploadUrl,
413
+      downloadBase,
414
+      // tableDataSZ: [
415
+      //   { projectType: "1", quantity: "", amount: "" },
416
+      //   { projectType: "2", quantity: "", amount: "" },
417
+      //   { projectType: "3", quantity: "", amount: "" },
418
+      //   { projectType: "4", quantity: "", amount: "" },
419
+      // ],
390 420
       listLoading: false,
391 421
       isTypeData: "",
392 422
       showLock: false,
@@ -470,6 +500,7 @@ export default {
470 500
           }
471 501
           this.getRpReportListData();
472 502
           this.xialalbList();
503
+          this.uploadFiles = [];
473 504
         });
474 505
       },
475 506
       // immediate: true,
@@ -492,7 +523,12 @@ export default {
492 523
     // },
493 524
   },
494 525
   mounted() {},
495
-
526
+  components: {
527
+    upload,
528
+  },
529
+  computed: {
530
+    ...mapGetters(["userId", "orgId", "realName"]),
531
+  },
496 532
   methods: {
497 533
     getRpReportListData() {
498 534
       const userInfoJSON = JSON.parse(sessionStorage.getItem("userInfo"));
@@ -503,11 +539,9 @@ export default {
503 539
       const res = await CRKYSQRgetContractData({ orgId: userInfoJSON.orgId });
504 540
       this.houseOptions = res.data;
505 541
     },
506
-
507 542
     houseOptionsChange(v) {
508 543
       this.xiCRKYSQRgetByContractId(v);
509 544
     },
510
-
511 545
     async xiCRKYSQRgetByContractId(id) {
512 546
       const res = await CRKYSQRgetByContractId(id);
513 547
       this.formStateDEl = res.data;
@@ -602,10 +636,11 @@ export default {
602 636
               }
603 637
             }, 0);
604 638
 
639
+            //  fileIds: `[${this.uploadFiles.map(d => d.response.id).join(',')}]`,
605 640
             let data = {
606 641
               ...this.formState,
607 642
               fsOutConfirmContractItemList: this.tableData,
608
-              fsOutConfirmDiffPriceItemList: this.tableDataSZ,
643
+              // fsOutConfirmDiffPriceItemList: this.tableDataSZ,
609 644
               totalSettleAmount: totalSettleAmount,
610 645
               totalSettleQuantity: totalSettleQuantity,
611 646
               orgId: this.orgId,
@@ -659,11 +694,12 @@ export default {
659 694
                 return total;
660 695
               }
661 696
             }, 0);
697
+            //  fileIds: `[${this.uploadFiles.map(d => d.response.id).join(',')}]`,
662 698
 
663 699
             let data = {
664 700
               ...this.formState,
665 701
               fsOutConfirmContractItemList: this.tableData,
666
-              fsOutConfirmDiffPriceItemList: this.tableDataSZ,
702
+              // fsOutConfirmDiffPriceItemList: this.tableDataSZ,
667 703
               totalSettleAmount: totalSettleAmount,
668 704
               totalSettleQuantity: totalSettleQuantity,
669 705
               orgId: this.orgId,
@@ -708,12 +744,12 @@ export default {
708 744
         };
709 745
         this.tableData = [];
710 746
         this.RRTYUQQW = [];
711
-        this.tableDataSZ = [
712
-          { projectType: "1", quantity: "", amount: "" },
713
-          { projectType: "2", quantity: "", amount: "" },
714
-          { projectType: "3", quantity: "", amount: "" },
715
-          { projectType: "4", quantity: "", amount: "" },
716
-        ];
747
+        // this.tableDataSZ = [
748
+        //   { projectType: "1", quantity: "", amount: "" },
749
+        //   { projectType: "2", quantity: "", amount: "" },
750
+        //   { projectType: "3", quantity: "", amount: "" },
751
+        //   { projectType: "4", quantity: "", amount: "" },
752
+        // ];
717 753
 
718 754
         this.RRTYUQQW = JSON.parse(
719 755
           JSON.stringify(res.data.storeWareDetailDataVOList)
@@ -722,7 +758,11 @@ export default {
722 758
           JSON.stringify(res.data.storeWareDetailDataVOList)
723 759
         );
724 760
         // this.tableData = res.data.storeWareDetailDataVOList;
725
-        this.tableDataSZ = res.data.fsOutConfirmDiffPriceItemList;
761
+        // this.tableDataSZ = res.data.fsOutConfirmDiffPriceItemList;
762
+
763
+        //  this.uploadFiles = list.map(d => d.filePath)
764
+
765
+
726 766
         this.xiCRKd(this.formState.contractId);
727 767
         // 因为在弹框关闭时候还是调用一次查看接口,避免出现新增时候数据渲染了需手动清空
728 768
         if (!this.visible) {
@@ -732,12 +772,12 @@ export default {
732 772
           for (let key in this.formStateDEl) {
733 773
             this.formState[key] = "";
734 774
           }
735
-          this.tableDataSZ = [
736
-            { projectType: "1", quantity: "", amount: "" },
737
-            { projectType: "2", quantity: "", amount: "" },
738
-            { projectType: "3", quantity: "", amount: "" },
739
-            { projectType: "4", quantity: "", amount: "" },
740
-          ];
775
+          // this.tableDataSZ = [
776
+          //   { projectType: "1", quantity: "", amount: "" },
777
+          //   { projectType: "2", quantity: "", amount: "" },
778
+          //   { projectType: "3", quantity: "", amount: "" },
779
+          //   { projectType: "4", quantity: "", amount: "" },
780
+          // ];
741 781
         }
742 782
       });
743 783
     },
@@ -790,15 +830,19 @@ export default {
790 830
       for (let key in this.formStateDEl) {
791 831
         this.formState[key] = "";
792 832
       }
793
-      this.tableDataSZ = [
794
-        { projectType: "1", quantity: "", amount: "" },
795
-        { projectType: "2", quantity: "", amount: "" },
796
-        { projectType: "3", quantity: "", amount: "" },
797
-        { projectType: "4", quantity: "", amount: "" },
798
-      ];
833
+      // this.tableDataSZ = [
834
+      //   { projectType: "1", quantity: "", amount: "" },
835
+      //   { projectType: "2", quantity: "", amount: "" },
836
+      //   { projectType: "3", quantity: "", amount: "" },
837
+      //   { projectType: "4", quantity: "", amount: "" },
838
+      // ];
799 839
       this.visible = false;
800 840
       this.$emit("isVisible", false);
801 841
     },
842
+    uploadSuccess(resp, file, fileList) {
843
+      this.uploadFiles = fileList;
844
+      console.log(fileList);
845
+    },
802 846
   },
803 847
 };
804 848
 </script>

+ 323 - 0
src/page/BTenaNce/components/monthlyReport.vue

@@ -0,0 +1,323 @@
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      :close-on-press-escape="false"
5
+      :visible.sync="visible"
6
+      :before-close="handleDialogClose"
7
+      :close-on-click-modal="false"
8
+      class="dialog-box"
9
+      width="86%"
10
+    >
11
+      <el-divider>{{ titleText }}</el-divider>
12
+      <el-form
13
+        label-width="150px"
14
+        :rules="rules"
15
+        ref="ruleForm"
16
+        :model="formState"
17
+      >
18
+        <el-row>
19
+          <el-col :span="8">
20
+            <el-form-item label="合同单号" prop="contractId">
21
+              <el-select
22
+                v-model:value="formState.interestBillNo"
23
+                clearable
24
+                :disabled="showLock"
25
+                placeholder="请选择"
26
+              >
27
+                <!-- <el-option
28
+                  v-for="item in houseOptions"
29
+                  :key="item.id"
30
+                  :label="item.contractNumber"
31
+                  :value="item.id"
32
+                >
33
+                </el-option> -->
34
+                <el-option> 3</el-option>
35
+              </el-select>
36
+            </el-form-item>
37
+          </el-col>
38
+          <el-col :span="8"
39
+            ><el-form-item label="合同名称" prop="year">
40
+              <el-input
41
+                class="title-box"
42
+                autocomplete="off"
43
+                :disabled="showLock"
44
+                v-model:value="formState.year"
45
+              />
46
+            </el-form-item>
47
+          </el-col>
48
+          <el-col :span="8"
49
+            ><el-form-item label="对方单位" prop="actualInterestReceived">
50
+              <el-input
51
+                class="title-box"
52
+                autocomplete="off"
53
+                :disabled="showLock"
54
+                v-model:value="formState.actualInterestReceived"
55
+              />
56
+            </el-form-item>
57
+          </el-col>
58
+          <el-col :span="8"
59
+            ><el-form-item label="费用名称" prop="otherDeduction">
60
+              <el-input
61
+                class="title-box"
62
+                autocomplete="off"
63
+                :disabled="showLock"
64
+                v-model:value="formState.otherDeduction"
65
+              />
66
+            </el-form-item>
67
+          </el-col>
68
+
69
+          <el-col :span="8"
70
+            ><el-form-item label="会计凭证号" prop="otherDeduction">
71
+              <el-input
72
+                class="title-box"
73
+                autocomplete="off"
74
+                :disabled="showLock"
75
+                v-model:value="formState.otherDeduction"
76
+              />
77
+            </el-form-item>
78
+          </el-col>
79
+          <el-col :span="8"
80
+            ><el-form-item label="发票金额" prop="otherDeduction">
81
+              <el-input
82
+                class="title-box"
83
+                autocomplete="off"
84
+                :disabled="showLock"
85
+                v-model:value="formState.otherDeduction"
86
+              />
87
+            </el-form-item>
88
+          </el-col>
89
+          <el-col :span="8"
90
+            ><el-form-item label="以支付费用" prop="otherDeduction">
91
+              <el-input
92
+                class="title-box"
93
+                autocomplete="off"
94
+                :disabled="showLock"
95
+                v-model:value="formState.otherDeduction"
96
+              />
97
+            </el-form-item>
98
+          </el-col>
99
+          <el-col :span="8"
100
+            ><el-form-item label="非支付费用" prop="otherDeduction">
101
+              <el-input
102
+                class="title-box"
103
+                autocomplete="off"
104
+                :disabled="showLock"
105
+                v-model:value="formState.otherDeduction"
106
+              />
107
+            </el-form-item>
108
+          </el-col>
109
+        </el-row>
110
+        <el-row>
111
+          <el-col style="height: 100px" :span="24"> </el-col>
112
+        </el-row>
113
+      </el-form>
114
+      <span slot="footer" class="dialog-footer">
115
+        <el-button v-if="this.isTypeData != '3'" @click="preserve"
116
+          >提交</el-button
117
+        >
118
+        <el-button @click="handleDialogClose">关闭</el-button>
119
+      </span>
120
+    </el-dialog>
121
+  </div>
122
+</template>
123
+<script>
124
+import {
125
+  reporting,
126
+  LXWHadd,
127
+  FYBZWHgetGrainVariety,
128
+  LXWHview,
129
+  LXWHput,
130
+} from "@/api/base/rotationApi.js";
131
+export default {
132
+  props: {
133
+    dataObj: {
134
+      type: Object,
135
+      default: () => ({}),
136
+    },
137
+  },
138
+  data() {
139
+    return {
140
+      tableData: [{ acc: new Date().getTime() }],
141
+      listLoading: false,
142
+      isTypeData: "",
143
+      showLock: false,
144
+      visible: false,
145
+      titleText: "",
146
+      orgId: null,
147
+      formState: {
148
+        id: "",
149
+        interestBillNo: "",
150
+        year: null,
151
+        actualInterestReceived: null,
152
+        otherDeduction: "",
153
+        remark: null,
154
+        month: null,
155
+        // standardValue: null,
156
+        // updatedate: "",
157
+        // updatename: "",
158
+      },
159
+      houseOptions: [],
160
+      rules: {
161
+        year: [{ required: true, message: "请输入或选择", trigger: "blur" }],
162
+        actualInterestReceived: [
163
+          { required: true, message: "请输入或选择", trigger: "blur" },
164
+        ],
165
+        otherDeduction: [
166
+          { required: true, message: "请输入或选择", trigger: "blur" },
167
+        ],
168
+      },
169
+    };
170
+  },
171
+  watch: {
172
+    dataObj: {
173
+      handler(val) {
174
+        this.titleText = val.titleText;
175
+        this.visible = val.visible;
176
+        this.showLock = val.showLock;
177
+        this.isTypeData = val.isType; //isType = 1是新增 2是编辑 3是查看
178
+        this.lengthACC = val.lengthACC;
179
+        this.$nextTick(() => {
180
+          if (val.isType == "1") {
181
+          }
182
+          if (val.isType == "2" || val.isType == "3") {
183
+            this.checkData();
184
+          }
185
+          this.getRpReportListData();
186
+          // this.xialalbList();
187
+        });
188
+      },
189
+      // immediate: true,
190
+      deep: true,
191
+    },
192
+  },
193
+  mounted() {},
194
+
195
+  methods: {
196
+    getRpReportListData() {
197
+      const userInfoJSON = JSON.parse(sessionStorage.getItem("userInfo"));
198
+      this.orgId = userInfoJSON.orgId;
199
+    },
200
+    async xialalbList() {
201
+      const res = await FYBZWHgetGrainVariety();
202
+      this.houseOptions = res.data;
203
+      // grainVarietyName grainVarietyId
204
+    },
205
+
206
+    houseChanged(val) {},
207
+    // 保存
208
+    preserve() {
209
+      // 判断新增还是编辑  isType = 1是新增 2是编辑 3是查看
210
+      if (this.isTypeData === "1") {
211
+        this.$refs["ruleForm"].validate((valid) => {
212
+          if (valid) {
213
+            let del = this.formState.year.split("-");
214
+            this.formState.year = del[0];
215
+            this.formState.month = del[1];
216
+            let data = {
217
+              ...this.formState,
218
+              orgId: this.orgId,
219
+            };
220
+            delete data.interestBillNo;
221
+            delete data.id;
222
+            return LXWHadd(data).then((res) => {
223
+              this.handleDialogClose();
224
+            });
225
+          } else {
226
+            console.log("error submit!!");
227
+            return false;
228
+          }
229
+        });
230
+      } else if (this.isTypeData === "2") {
231
+        this.$refs["ruleForm"].validate((valid) => {
232
+          if (valid) {
233
+            let del = this.formState.year.split("-");
234
+            this.formState.year = del[0];
235
+            this.formState.month = del[1];
236
+            let obj = {
237
+              ...this.formState,
238
+              orgId: this.orgId,
239
+            };
240
+            return LXWHput(obj).then((res) => {
241
+              this.handleDialogClose();
242
+            });
243
+          } else {
244
+            console.log("error submit!!");
245
+            return false;
246
+          }
247
+        });
248
+      }
249
+    },
250
+
251
+    //  查看
252
+    checkData() {
253
+      return LXWHview(this.dataObj.id).then((res) => {
254
+        this.formState.id = res.data.id;
255
+        this.formState.interestBillNo = res.data.interestBillNo;
256
+        this.formState.otherDeduction = res.data.otherDeduction;
257
+        this.formState.actualInterestReceived = res.data.otherDeduction;
258
+        this.formState.remark = res.data.remark;
259
+        this.formState.year = res.data.yearAndMonth;
260
+        // 因为在弹框关闭时候还是调用一次查看接口,避免出现新增时候数据渲染了需手动清空
261
+        if (!this.visible) {
262
+          for (let key in this.formState) {
263
+            this.formState[key] = "";
264
+          }
265
+        }
266
+      });
267
+    },
268
+    // 左上角x的关闭
269
+    handleDialogClose() {
270
+      this.$refs["ruleForm"].resetFields();
271
+      for (let key in this.formState) {
272
+        this.formState[key] = "";
273
+      }
274
+      this.visible = false;
275
+      this.$emit("isVisible", false);
276
+    },
277
+  },
278
+};
279
+</script>
280
+<style lang="scss" scoped>
281
+/deep/.el-table .el-table__cell {
282
+  padding: 6px 0 !important;
283
+}
284
+
285
+/deep/.el-date-editor {
286
+  width: 100%;
287
+}
288
+
289
+/* 整个滚动条 */
290
+div::-webkit-scrollbar {
291
+  width: 8px;
292
+  /* 设置滚动条的宽度 */
293
+}
294
+
295
+/* 滚动条轨道 */
296
+div::-webkit-scrollbar-track {
297
+  background: #f1f1f1;
298
+  border-radius: 4px;
299
+  /* 设置轨道的背景颜色 */
300
+}
301
+
302
+/* 滚动条的滑块 */
303
+div::-webkit-scrollbar-thumb {
304
+  background: #888;
305
+  border-radius: 4px;
306
+  /* 设置滑块的背景颜色 */
307
+}
308
+
309
+.outbound-btn {
310
+  height: 200px;
311
+  margin-bottom: 36px;
312
+}
313
+
314
+.table-title {
315
+  float: right;
316
+  margin-bottom: 8px;
317
+}
318
+
319
+.tab-box {
320
+  height: 220px;
321
+  overflow-y: auto;
322
+}
323
+</style>

+ 263 - 0
src/page/BTenaNce/index.vue

@@ -0,0 +1,263 @@
1
+<!-- 入库费用维护 -->
2
+<template>
3
+  <div class="content-main">
4
+    <div class="search-bm-boder">
5
+      <el-row>
6
+        <el-form
7
+          label-width="120px"
8
+          :inline="true"
9
+          class="demo-form-inline search-form"
10
+        >
11
+          <el-form-item>
12
+            <el-button
13
+              type="primary"
14
+              size="small"
15
+              icon="el-icon-plus"
16
+              @click="addData"
17
+              >新增</el-button
18
+            >
19
+            <el-divider direction="vertical"></el-divider>
20
+          </el-form-item>
21
+          <el-form-item label="合同名称:" prop="unitName">
22
+            <el-input
23
+              class="title-box"
24
+              autocomplete="off"
25
+              placeholder="请输入"
26
+              v-model="searchData.interestBillNo"
27
+            />
28
+          </el-form-item>
29
+
30
+          <el-form-item label="费用名称:" prop="unitName">
31
+            <el-input
32
+              class="title-box"
33
+              autocomplete="off"
34
+              placeholder="请输入"
35
+              v-model="searchData.interestBillNo"
36
+            />
37
+          </el-form-item>
38
+          <el-form-item>
39
+            <el-button
40
+              type="primary"
41
+              size="small"
42
+              icon="el-icon-plus"
43
+              @click="search"
44
+              >查询</el-button
45
+            >
46
+            <el-button
47
+              type="primary"
48
+              size="small"
49
+              icon="el-icon-plus"
50
+              @click="reset('searchForm')"
51
+              >重置</el-button
52
+            >
53
+          </el-form-item>
54
+        </el-form>
55
+      </el-row>
56
+    </div>
57
+    <!-- 表格 -->
58
+    <el-table
59
+      :data="tableData"
60
+      border
61
+      stripe
62
+      highlight-current-row
63
+      v-loading="listLoading"
64
+      style="width: 100%"
65
+    >
66
+      <el-table-column
67
+        align="center"
68
+        type="index"
69
+        width="60"
70
+        label="序号"
71
+      ></el-table-column>
72
+      <el-table-column
73
+        align="center"
74
+        prop="interestBillNo"
75
+        label="合同单号"
76
+      ></el-table-column>
77
+      <el-table-column align="center" prop="yearAndMonth" label="合同名称">
78
+        <!-- <template v-slot="scope">
79
+          <div v-if="scope.row.standardType == 1">保管费用标准</div>
80
+          <div v-if="scope.row.standardType == 2">轮换费用标准</div>
81
+        </template> -->
82
+      </el-table-column>
83
+      <el-table-column
84
+        align="center"
85
+        prop="actualInterestReceived"
86
+        label="费用名称"
87
+      ></el-table-column>
88
+      <el-table-column
89
+        align="center"
90
+        prop="otherDeduction"
91
+        label="发票金额"
92
+      ></el-table-column>
93
+      <el-table-column label="操作" align="center" width="320">
94
+        <template v-slot="scope">
95
+          <el-button
96
+            type="primary"
97
+            @click="editData(scope.row)"
98
+            size="small"
99
+            icon="el-icon-edit"
100
+            >编辑</el-button
101
+          >
102
+          <el-button
103
+            type="primary"
104
+            @click="viewData(scope.row)"
105
+            size="small"
106
+            icon="el-icon-view"
107
+            >查看</el-button
108
+          >
109
+          <el-popconfirm
110
+            title="确定删除吗?"
111
+            icon="el-icon-info"
112
+            icon-color="red"
113
+            @confirm="deleteList(scope.row)"
114
+          >
115
+            <el-button
116
+              type="primary"
117
+              size="small"
118
+              slot="reference"
119
+              icon="el-icon-delete"
120
+              >删除</el-button
121
+            >
122
+          </el-popconfirm>
123
+        </template>
124
+      </el-table-column>
125
+    </el-table>
126
+    <!-- 分页开始 -->
127
+    <div class="pag-right clearFix">
128
+      <el-pagination
129
+        class="right"
130
+        :current-page.sync="limit.page"
131
+        :page-size="limit.size"
132
+        :page-sizes="[10, 20, 30, 40]"
133
+        :total="limit.total"
134
+        @current-change="handleCurrentChangeTask"
135
+        @size-change="handleSizeChangeTask"
136
+        layout="total, sizes, prev, pager, next, jumper"
137
+        v-if="paginationShow"
138
+      ></el-pagination>
139
+    </div>
140
+    <MonthlyReport :dataObj="dataObj" @isVisible="isVisible" />
141
+  </div>
142
+</template>
143
+<script>
144
+import MonthlyReport from "./components/monthlyReport.vue";
145
+import { LXWHlist, LXWHdel } from "@/api/base/rotationApi.js";
146
+export default {
147
+  components: { MonthlyReport },
148
+  data() {
149
+    return {
150
+      listLoading: false,
151
+      paginationShow: true,
152
+      dataObj: {
153
+        visible: false,
154
+        titleText: "",
155
+        showLock: false,
156
+        isType: "",
157
+        lengthACC: 0,
158
+      },
159
+      searchData: {
160
+        interestBillNo: "",
161
+      },
162
+      limit: {
163
+        page: 1,
164
+        size: 10,
165
+        total: 0,
166
+      },
167
+      tableData: [],
168
+    };
169
+  },
170
+
171
+  mounted() {
172
+    this.getList();
173
+  },
174
+
175
+  methods: {
176
+    getList() {
177
+      const userInfoJSON = JSON.parse(sessionStorage.getItem("userInfo"));
178
+      const obj = {
179
+        ...this.searchData,
180
+        orgId: userInfoJSON.orgId,
181
+        pageNum: this.limit.page,
182
+        pageSize: this.limit.size,
183
+      };
184
+      return LXWHlist(obj).then((res) => {
185
+        this.tableData = [];
186
+        this.tableData = res.data.records;
187
+        this.limit.total = res.data.total;
188
+      });
189
+    },
190
+    // 查询
191
+    search() {
192
+      this.getList();
193
+    },
194
+    // 重置
195
+    reset() {
196
+      this.searchData.interestBillNo = "";
197
+      this.getList();
198
+    },
199
+    // 新增
200
+    addData() {
201
+      this.dataObj.isType = "1";
202
+      this.dataObj.titleText = "新增利息维护";
203
+      // this.dataObj.lengthACC = this.tableData.length + 1
204
+      this.dataObj.visible = true;
205
+      this.dataObj.showLock = false;
206
+    },
207
+    // 编辑
208
+    editData(row) {
209
+      this.dataObj.id = row.id;
210
+      this.dataObj.isType = "2";
211
+      this.dataObj.titleText = "编辑利息维护";
212
+      this.dataObj.visible = true;
213
+      this.dataObj.showLock = false;
214
+    },
215
+    // 查看
216
+    viewData(row) {
217
+      this.dataObj.id = row.id;
218
+      this.dataObj.isType = "3";
219
+      this.dataObj.titleText = "查看利息维护";
220
+      this.dataObj.visible = true;
221
+      this.dataObj.showLock = true;
222
+    },
223
+    // 删除
224
+    deleteList(row) {
225
+      return LXWHdel(row.id).then((res) => {
226
+        this.getList();
227
+      });
228
+    },
229
+    // 子组件传递
230
+    isVisible(val) {
231
+      this.dataObj.visible = val;
232
+      this.dataObj.showLock = val;
233
+      this.dataObj.titleText = "";
234
+      this.searchData.interestBillNo = "";
235
+      this.getList();
236
+    },
237
+    // 分页
238
+    handleCurrentChangeTask(page) {
239
+      this.limit.page = page;
240
+      this.getList();
241
+    },
242
+    handleSizeChangeTask(size) {
243
+      this.limit.size = size;
244
+      this.getList();
245
+    },
246
+  },
247
+};
248
+</script>
249
+<style lang="scss" scoped>
250
+.hide-buttons .el-input-number__decrease,
251
+.hide-buttons .el-input-number__increase {
252
+  display: none;
253
+}
254
+
255
+.hide-buttons .el-input__inner {
256
+  text-align: left;
257
+  padding-left: 14px;
258
+  padding-right: 0;
259
+}
260
+.button_S {
261
+  margin-bottom: 10px;
262
+}
263
+</style>

+ 8 - 0
src/router/system/financialManagementModule.js

@@ -49,6 +49,14 @@ export default {
49 49
           },
50 50
         },
51 51
         {
52
+          path: "/financialManagement/BTenaNce",
53
+          name: "BTenaNce",
54
+          component: () => import("@/page/BTenaNce/index.vue"),
55
+          meta: {
56
+            title: "入库费用维护",
57
+          },
58
+        },
59
+        {
52 60
           path: "/financialManagement/APayment",
53 61
           name: "APayment",
54 62
           component: () => import("@/page/APayment/index.vue"),