Ver Fonte

配件商城和达沃特

caojunjie há 2 anos atrás
pai
commit
fc91c1c705

+ 8 - 0
src/api/maintenance/overpayment.js

@@ -21,6 +21,14 @@ export function getCorpDetail(data) {
     params: data
   })
 }
+//溢付款主表明细保存
+export function submit(data) {
+  return request({
+    url: '/api/blade-mocha-item/businessoverpaymentitem/submit',
+    method: 'post',
+    data: data
+  })
+}
 
 // 溢付款明细查询
 export function overpaymentDetail(data) {

+ 8 - 0
src/components/statisticsDetailed/index.vue

@@ -358,6 +358,10 @@ export default {
           name: "predictOceanFreight",
           type: "sum",
           decimals: 2
+        }, {
+          name: "feesAmount",
+          type: "sum",
+          decimals: 2
         }],
         column: [{
           label: '日期',
@@ -384,6 +388,10 @@ export default {
           prop: 'arrivalAmount',
           overHidden: true
         }, {
+          label: '扣项合计',
+          prop: 'feesAmount',
+          overHidden: true
+        }, {
           label: '返利',
           prop: 'thisUsedProfit',
           overHidden: true

+ 3 - 3
src/views/client/index.vue

@@ -94,9 +94,6 @@
               </el-date-picker>
             </template>
             <template slot-scope="{ row, index }" slot="menu">
-              <el-tooltip class="item" effect="dark" content="删除" placement="top">
-                <i class="tradingIcon icon-del" @click.stop="rowDel(row)" />
-              </el-tooltip>
               <el-tooltip class="item" effect="dark" content="编辑" placement="top">
                 <i class="tradingIcon icon-edit" @click.stop="editOpen(row, 2)" />
               </el-tooltip>
@@ -109,6 +106,9 @@
               <el-tooltip class="item" effect="dark" content="对账" placement="top">
                 <i class="tradingIcon icon-reconciliation" />
               </el-tooltip>
+              <el-tooltip class="item" effect="dark" content="删除" placement="top">
+                <i class="tradingIcon icon-del" style="color: #FF0000" @click.stop="rowDel(row)" />
+              </el-tooltip>
               <!-- <el-button type="text" size="small" @click.stop="editOpen(row, 2)">
             查看
           </el-button>

+ 139 - 14
src/views/maintenance/overpayment/index.vue

@@ -19,18 +19,37 @@
         @expand-change="expandChange"
       >
         <template slot-scope="scope" slot="expand">
-          <el-table :data="scope.row.insideList" v-loading="scope.row.loading">
-            <el-table-column  label="发货单号" prop="billNo" align="center" show-overflow-tooltip width="200"></el-table-column>
-            <el-table-column  label="订单号" prop="orderNo" align="center" show-overflow-tooltip width="200"></el-table-column>
-            <el-table-column  label="金额" prop="overpayment" align="center" show-overflow-tooltip width="200"></el-table-column>
-            <el-table-column  label="消费类型" prop="overpaymentType" align="center" show-overflow-tooltip width="200">
-              <template slot-scope="scope">
-                <span>{{ scope.row.overpaymentType == 0? '增加': '消费' }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column  label="创建时间" prop="createTime" align="center" show-overflow-tooltip width="200"></el-table-column>
-            <el-table-column  label="创建人" prop="createUserName" align="center" show-overflow-tooltip width="200"></el-table-column>
-          </el-table>
+          <avue-crud :data="scope.row.insideList" :option="expandOption" :table-loading="scope.row.loading">
+            <template slot="headerSerial">
+              <el-button type="primary" icon="el-icon-plus"
+                         v-if="roleName.includes('admin') || roleName.includes('财务')" size="mini"
+                         @click.stop="addRow(scope.row)" circle>
+              </el-button>
+              <span v-else>序号</span>
+            </template>
+            <template slot="menu" slot-scope="{row,index}">
+              <el-button size="small" icon="el-icon-edit" :disabled="row.identifier == 0" type="text"
+                         @click.stop="rowCell(row,scope)">
+                {{ row.$cellEdit ? "保存" : "修改" }}
+              </el-button>
+            </template>
+          </avue-crud>
+<!--          <el-table :data="scope.row.insideList" v-loading="scope.row.loading">-->
+<!--            <el-table-column label="发货单号" prop="billNo" align="center" show-overflow-tooltip-->
+<!--                             width="200"></el-table-column>-->
+<!--            <el-table-column label="订单号" prop="orderNo" align="center" show-overflow-tooltip-->
+<!--                             width="200"></el-table-column>-->
+<!--            <el-table-column label="金额" prop="overpayment" align="center" show-overflow-tooltip-->
+<!--                             width="200"></el-table-column>-->
+<!--            <el-table-column label="消费类型" prop="overpaymentType" align="center" show-overflow-tooltip width="200">-->
+<!--              <template slot-scope="scope">-->
+<!--                <span>{{ scope.row.overpaymentType == 0 ? '增加' : '消费' }}</span>-->
+<!--              </template>-->
+<!--            </el-table-column>-->
+<!--            <el-table-column label="创建时间" prop="createTime" align="center" show-overflow-tooltip-->
+<!--                             width="200"></el-table-column>-->
+<!--            <el-table-column  label="创建人" prop="createUserName" align="center" show-overflow-tooltip width="200"></el-table-column>-->
+<!--          </el-table>-->
         </template>
         <template slot="corpIdSearch">
           <crop-select
@@ -48,7 +67,7 @@
 
 <script>
 import option from './config/mainList.json';
-import {getList, overpaymentDetail} from '@/api/maintenance/overpayment';
+import {getList, overpaymentDetail, submit} from '@/api/maintenance/overpayment';
 
 export default {
   name: "index",
@@ -64,24 +83,127 @@ export default {
         total: 0,
         pageSizes: [20, 30, 40, 50, 100, 200, 300, 400, 500]
       },
+      expandOption: {
+        border: true,
+        align: 'center',
+        menuAlign: 'center',
+        header: false,
+        index: true,
+        editBtn: false,
+        delBtn: false,
+        menuWidth: "80",
+        dialogClickModal: false,
+        indexSlot: true,
+        column: [
+          {
+            label: '发货单号',
+            prop: 'billNo',
+            overHidden: true
+          },
+          {
+            label: '订单号',
+            prop: 'orderNo',
+            overHidden: true
+          },
+          {
+            label: '来源单号',
+            prop: 'srcOrderNo',
+            cell: true,
+            overHidden: true
+          },
+          {
+            label: '金额',
+            prop: 'overpayment',
+            cell: true,
+            type: 'number',
+            precision: 2,
+            controls: false,
+            overHidden: true
+          },
+          {
+            label: '消费类型',
+            prop: 'overpaymentType',
+            width: 80,
+            type: 'select',
+            dicData: [{
+              label: '增加',
+              value: 0
+            }, {
+              label: '消费',
+              value: 1
+            }],
+            cell: true,
+            overHidden: true
+          },
+          {
+            label: '创建时间',
+            prop: 'createTime',
+            width: 150,
+            overHidden: true
+          },
+          {
+            label: '创建人',
+            width: 80,
+            prop: 'createUserName',
+            overHidden: true
+          }
+        ]
+      },
       search: {},
       loading: false,
+      roleName: ''
     }
   },
   async created() {
     // this.option = option
+    // 获取角色
+    this.roleName = localStorage.getItem('roleName')
     this.option = await this.getColumnData(this.getColumnName(53), option);
     let i = 0;
     this.option.column.forEach(item => {
       if (item.search) i++
     })
-    if (i % 3 !== 0){
+    if (i % 3 !== 0) {
       const num = 3 - Number(i % 3)
       this.option.searchMenuSpan = num * 8;
       this.option.searchMenuPosition = "right";
     }
   },
   methods: {
+    //明细新增
+    addRow(row) {
+      row.insideList.push({
+        pid: row.id,
+        $cellEdit: true
+      })
+    },
+    //编辑
+    rowCell(row,scope) {
+      if (row.$cellEdit) {
+        submit({
+          ...row
+        }).then(res => {
+          this.$message.success('保存成功')
+          // this.$set(row, "$cellEdit", false);
+          const loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            spinner: 'el-icon-loading',
+            background: 'rgba(255,255,255,0.7)'
+          });
+          overpaymentDetail({pid: scope.row.id}).then(res => {
+            scope.row.insideList = res.data.data? res.data.data: []
+            scope.row.loading = false
+            loading.close();
+            this.$nextTick(() => {
+              this.$refs.crud.doLayout();
+            });
+          })
+        })
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
     searchChange(params, done) {
       this.onLoad(this.page, params);
       done();
@@ -127,6 +249,9 @@ export default {
         overpaymentDetail({pid: row.id}).then(res => {
           row.insideList = res.data.data? res.data.data: []
           row.loading = false
+          this.$nextTick(() => {
+            this.$refs.crud.doLayout();
+          });
         })
       }
     },

+ 3 - 5
src/views/maintenance/rebate/index.vue

@@ -12,11 +12,9 @@
               </el-button>
             </template>
             <template slot="menu" slot-scope="{row,index}">
-              <el-button size="small" icon="el-icon-edit" :disabled="row.id"  type="text" @click.stop="rowCell(row)">
-                {{ row.$cellEdit ?
-                    "保存" :
-                    "修改"
-                }}</el-button>
+              <el-button size="small" icon="el-icon-edit" :disabled="row.id" type="text" @click.stop="rowCell(row)">
+                {{ row.$cellEdit ? "保存" : "修改" }}
+              </el-button>
             </template>
           </avue-crud>
           <!-- <el-table :data="scope.row.insideList" v-loading="scope.row.loading">

+ 11 - 13
src/views/purchaseOrder/index.vue

@@ -215,20 +215,18 @@ export default {
       delete data.businesDate
       this.loading = true;
       getList(
-        page.currentPage,
-        page.pageSize,
-        data
-      )
-        .then(res => {
-          this.dataList = res.data.data.records ? res.data.data.records : [];
-          this.page.total = res.data.data.total;
-          this.$nextTick(() => {
-            this.$refs.crud.doLayout();
-          });
-        })
-        .finally(() => {
-          this.loading = false;
+          page.currentPage,
+          page.pageSize,
+          data
+      ).then(res => {
+        this.dataList = res.data.data.records ? res.data.data.records : [];
+        this.page.total = res.data.data.total;
+        this.$nextTick(() => {
+          this.$refs.crud.doLayout();
         });
+      }).finally(() => {
+        this.loading = false;
+      });
     },
     editOpen(row, status) {
       this.detailData = {