Browse Source

新加OW拿和箱池动态模块

Qukatie 9 months ago
parent
commit
f78c0ddd78

+ 32 - 0
src/api/boxManagement/boxPoolDynamics/index.js

@@ -0,0 +1,32 @@
+import request from '@/router/axios';
+//查询列表
+export const getList = (current, size, params) => {
+  return request({
+    url: '/api/blade-los/boxPool/listPort',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
+  })
+}
+export const getList2 = (current, size, params) => {
+    return request({
+      url: '/api/blade-los/boxPool/listContainerNumber',
+      method: 'get',
+      params: {
+        ...params,
+        current,
+        size,
+      }
+    })
+  }
+//查询明细
+export const detail = (params) => {
+  return request({
+    url: '/api/blade-los/boxPool/listBoxItem',
+    method: 'get',
+    params: params
+  })
+}

+ 9 - 0
src/enums/column-name.js

@@ -2037,6 +2037,15 @@ const columnName = [{
   },{
     code: 464,
     name: '永发-箱管-应付费用'
+  },{
+    code: 465,
+    name: '永发-箱管-箱池动态-港口'
+  },{
+    code: 466,
+    name: '永发-箱管-箱池动态-放箱'
+  },{
+    code: 467,
+    name: '永发-箱管-箱池动态-明细表'
   }
 ]
 export const getColumnName = (key) => {

File diff suppressed because it is too large
+ 82 - 1068
src/views/boxManagement/boxPoolDynamics/detailsPage.vue


+ 265 - 200
src/views/boxManagement/boxPoolDynamics/index.vue

@@ -2,27 +2,28 @@
     <div>
         <basic-container v-if="isShow">
             <el-tabs v-model="activeName" type="card">
-                <el-tab-pane label="港口" name="1">
+                <el-tab-pane label="港口" name="1">
                     <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page"
                         :search.sync="query" v-model="form" id="out-table" :header-cell-class-name="headerClassName"
-                        ref="crud" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
-                        @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
-                        @refresh-change="refreshChange" @resetColumn="resetColumn('crud', 'option', 'optionBack', 461)"
-                        @saveColumn="saveColumn('crud', 'option', 'optionBack', 461)" @on-load="onLoad">
+                        ref="crud" @search-change="searchChange" @search-reset="searchReset"
+                        @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+                        @on-load="onLoad">
+                    </avue-crud>
+                </el-tab-pane>
+                <el-tab-pane label="按放箱号" name="2">
+                    <avue-crud :option="option2" :table-loading="loading2" :data="data2" :page.sync="page2"
+                        :search.sync="query2" v-model="form2" id="out-table" :header-cell-class-name="headerClassName"
+                        ref="crud2" @search-change="searchChange2" @search-reset="searchReset2"
+                        @current-change="currentChange2" @size-change="sizeChange2" @refresh-change="refreshChange2"
+                        @on-load="onLoad2">
                         <template slot="menu" slot-scope="{ row, index }">
                             <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
-                            <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)"
-                                :disabled="row.count > 0">删 除</el-button>
                         </template>
-                        <template slot="businessNo" slot-scope="{ row }">
-                            <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{ row.businessNo
-                                }}</span>
+                        <template slot="containerNumber" slot-scope="{ row }">
+                            <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{ row.containerNumber}}</span>
                         </template>
                     </avue-crud>
                 </el-tab-pane>
-                <el-tab-pane label="放箱" name="2">
-
-                </el-tab-pane>
             </el-tabs>
 
         </basic-container>
@@ -31,7 +32,7 @@
 </template>
 
 <script>
-import { getList, remove } from "@/api/boxManagement/buyContainer/index.js";
+import { getList, getList2 } from "@/api/boxManagement/boxPoolDynamics/index.js";
 import { getWorkDicts } from "@/api/system/dictbiz";
 import detailsPage from "./detailsPage";
 import { getToken } from "@/util/auth";
@@ -49,71 +50,59 @@ export default {
                 currentPage: 1,
                 total: 0
             },
+            form2: {},
+            query2: {},
+            loading2: false,
+            page2: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0
+            },
             selectionList: [],
-            option: {},
-            optionBack: {
+            option: {
                 height: 'auto',
                 calcHeight: 30,
-                menuWidth: 140,
+                menuWidth: 70,
                 tip: false,
                 searchShow: true,
-                searchMenuSpan: 18,
+                searchMenuSpan: 12,
+                menu:false,
                 border: true,
                 index: true,
                 addBtn: false,
                 viewBtn: false,
                 editBtn: false,
                 delBtn: false,
-                selection: true,
                 searchIcon: true,
                 align: 'center',
                 searchIndex: 3,
-                summaryText: "合计",
-                showSummary: true,
-                sumColumnList: [
-                    {
-                        name: 'totalAmount',
-                        type: 'sum',
-                        decimals: 2
-                    }
-                ],
                 column: [
                     {
-                        label: '系统号',
-                        prop: 'sysNo',
-                        width: 150,
-                        overHidden: true,
-                    },
-                    {
-                        label: '箱东',
-                        prop: 'boxEastName',
-                        width: 150,
+                        label: '港口',
+                        prop: 'portId',
                         overHidden: true,
+                        hide: true,
+                        showColumn: false,
                         search: true,
-                        searchOrder: 5,
+                        searchOrder: 1,
                         type: "select",
                         filterable: true,
                         remote: true,
-                        dicUrl: "/api/blade-los/bcorps/selectList?corpTypeName=箱东&size=20&current=1&cnName={{key}}",
+                        dicUrl: "/api/blade-los/bports/list?size=10&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
-                            value: "cnName",
+                            value: "id",
                             res: "data.records"
                         }
                     },
                     {
-                        label: '放箱号',
-                        prop: 'containerNumber',
-                        width: 150,
+                        label: '港口',
+                        prop: 'portName',
                         overHidden: true,
-                        search: true,
-                        searchOrder: 1,
-
                     },
                     {
-                        label: '起运港',
-                        prop: 'polId',
-                        width: 150,
+                        label: '场站',
+                        prop: 'stationId',
                         overHidden: true,
                         hide: true,
                         showColumn: false,
@@ -122,7 +111,7 @@ export default {
                         type: "select",
                         filterable: true,
                         remote: true,
-                        dicUrl: "/api/blade-los/bports/list?size=10&current=1&cnName={{key}}",
+                        dicUrl: "/api/blade-los/blocations/list?size=20&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
                             value: "id",
@@ -130,14 +119,102 @@ export default {
                         }
                     },
                     {
-                        label: '起运港',
-                        prop: 'polCname',
+                        label: '场站',
+                        prop: 'stationCname',
+                        overHidden: true,
+                    },
+                    {
+                        label: '好',
+                        prop: 'good',
+                        overHidden: true,
+                        children: [
+                            {
+                                label: '20GP',
+                                prop: 'gP20Good',
+                                overHidden: true,
+                            },
+                            {
+                                label: '40GP',
+                                prop: 'gP40Good',
+                                overHidden: true,
+                            },
+                            {
+                                label: '40GP',
+                                prop: 'hG40Good',
+                                overHidden: true,
+                            },
+                            {
+                                label: 'OTHER',
+                                prop: 'otherGood',
+                                overHidden: true,
+                            }
+                        ]
+                    },
+                    {
+                        label: '坏',
+                        prop: 'bad',
+                        overHidden: true,
+                        children: [
+                            {
+                                label: '20GP',
+                                prop: 'gP20Bad',
+                                overHidden: true,
+                            },
+                            {
+                                label: '40GP',
+                                prop: 'gP40Bad',
+                                overHidden: true,
+                            },
+                            {
+                                label: '40GP',
+                                prop: 'hG40Bad',
+                                overHidden: true,
+                            },
+                            {
+                                label: 'OTHER',
+                                prop: 'otherBad',
+                                overHidden: true,
+                            }
+                        ]
+                    },
+                ]
+            },
+            option2: {
+                height: 'auto',
+                calcHeight: 30,
+                menuWidth: 70,
+                tip: false,
+                searchShow: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                addBtn: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: false,
+                searchIcon: true,
+                align: 'center',
+                searchIndex: 3,
+                column: [
+                    {
+                        label: '放箱号',
+                        prop: 'containerNumber',
                         width: 150,
                         overHidden: true,
+                        search: true,
+                        searchOrder: 1,
                     },
                     {
-                        label: '目的港',
-                        prop: 'podId',
+                        label: '放箱号类型',
+                        prop: 'busType',
+                        width: 150,
+                        overHidden: true,
+                        search: true,
+                        searchOrder: 2,
+                    },
+                    {
+                        label: '箱东',
+                        prop: 'boxEastName',
                         width: 150,
                         overHidden: true,
                         hide: true,
@@ -147,32 +224,36 @@ export default {
                         type: "select",
                         filterable: true,
                         remote: true,
-                        dicUrl: "/api/blade-los/bports/list?size=20&current=1&cnName={{key}}",
+                        dicUrl: "/api/blade-los/bcorps/selectList?corpTypeName=箱东&size=20&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
-                            value: "id",
+                            value: "cnName",
                             res: "data.records"
                         }
                     },
                     {
-                        label: '目的港',
-                        prop: 'podCname',
-                        width: 150,
+                        label: '箱号',
+                        prop: 'code',
+                        width: 100,
+                        hide: true,
+                        showColumn: false,
+                        search: true,
+                        searchOrder: 4,
                         overHidden: true,
                     },
                     {
-                        label: '场站',
-                        prop: 'stationId',
+                        label: '起运港',
+                        prop: 'polId',
                         width: 150,
                         overHidden: true,
                         hide: true,
                         showColumn: false,
                         search: true,
-                        searchOrder: 4,
+                        searchOrder: 5,
                         type: "select",
                         filterable: true,
                         remote: true,
-                        dicUrl: "/api/blade-los/blocations/list?size=20&current=1&cnName={{key}}",
+                        dicUrl: "/api/blade-los/bports/list?size=10&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
                             value: "id",
@@ -180,126 +261,121 @@ export default {
                         }
                     },
                     {
-                        label: '场站',
-                        prop: 'stationCname',
+                        label: '起运港',
+                        prop: 'polCname',
                         width: 150,
                         overHidden: true,
                     },
                     {
-                        label: '固定费用',
-                        prop: 'pickupFee',
+                        label: '起运港场站',
+                        prop: 'polStationName',
                         width: 150,
                         overHidden: true,
                     },
                     {
-                        label: '超期费',
-                        prop: 'overdueFee',
-                        width: 120,
-                        overHidden: true,
-                    },
-                    {
-                        label: '箱型',
-                        prop: 'boxType',
+                        label: '目的港',
+                        prop: 'podId',
                         width: 150,
                         overHidden: true,
+                        hide: true,
+                        showColumn: false,
                         search: true,
                         searchOrder: 6,
                         type: "select",
                         filterable: true,
                         remote: true,
-                        dicUrl: "/api/blade-los/bcntrtypes/list?size=20&current=1&cnName={{key}}",
+                        dicUrl: "/api/blade-los/bports/list?size=20&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
-                            value: "cnName",
+                            value: "id",
                             res: "data.records"
                         }
                     },
                     {
-                        label: '箱种类',
-                        prop: 'boxClass',
-                        width: 150,
-                        overHidden: true,
-                        search: true,
-                        searchOrder: 7,
-                        type: 'select',
-                        dicUrl: "/api/blade-system/dict-biz/dictionary?code=boxCategory",
-                        props: {
-                            label: "dictValue",
-                            value: "dictValue"
-                        },
-                    },
-                    {
-                        label: '总箱箱',
-                        prop: 'totalNum',
+                        label: '目的港',
+                        prop: 'podCname',
                         width: 150,
                         overHidden: true,
                     },
                     {
-                        label: '剩余箱量',
-                        prop: 'remainingNum',
+                        label: '目的港场站',
+                        prop: 'podStationName',
                         width: 150,
                         overHidden: true,
                     },
                     {
-                        label: '箱',
-                        prop: 'boxBelongsTo',
+                        label: '箱型',
+                        prop: 'boxType',
                         width: 150,
                         overHidden: true,
+                        hide: true,
+                        showColumn: false,
                         search: true,
-                        searchOrder: 8,
-                        type: 'select',
-                        dicUrl: "/api/blade-system/dict-biz/dictionary?code=boxBelongsTo",
+                        searchOrder: 7,
+                        type: "select",
+                        filterable: true,
+                        remote: true,
+                        dicUrl: "/api/blade-los/bcntrtypes/list?size=20&current=1&cnName={{key}}",
                         props: {
-                            label: "dictValue",
-                            value: "dictValue"
-                        },
+                            label: "cnName",
+                            value: "cnName",
+                            res: "data.records"
+                        }
                     },
                     {
-                        label: '用箱时间',
-                        prop: 'effectiveDate',
-                        width: 120,
-                        search: true,
-                        searchOrder: 9,
-                        searchProp: 'effectiveDateList',
+                        label: '好',
+                        prop: 'good',
                         overHidden: true,
-                        type: "date",
-                        searchRange: true,
-                        searchDefaultTime: ["00:00:00", "23:59:59"],
-                        format: "yyyy-MM-dd",
-                        valueFormat: "yyyy-MM-dd HH:mm:ss"
+                        children: [
+                            {
+                                label: '20GP',
+                                prop: 'gP20Good',
+                                overHidden: true,
+                            },
+                            {
+                                label: '40GP',
+                                prop: 'gP40Good',
+                                overHidden: true,
+                            },
+                            {
+                                label: '40GP',
+                                prop: 'hG40Good',
+                                overHidden: true,
+                            },
+                            {
+                                label: 'OTHER',
+                                prop: 'otherGood',
+                                overHidden: true,
+                            }
+                        ]
                     },
                     {
-                        label: "制单人",
-                        prop: "createUserName",
-                        overHidden: true,
-                        width: 120,
-                    }, {
-                        label: "制单日期",
-                        prop: "createTime",
-                        type: "date",
+                        label: '坏',
+                        prop: 'bad',
                         overHidden: true,
-                        width: 120,
-                        format: "yyyy-MM-dd",
-                        valueFormat: "yyyy-MM-dd HH:mm:ss"
-                    }, {
-                        label: "修改人",
-                        prop: "updateUserName",
-                        overHidden: true,
-                        width: 120,
-                    }, {
-                        label: "修改日期",
-                        prop: "updateTime",
-                        type: "date",
-                        overHidden: true,
-                        width: 120,
-                        format: "yyyy-MM-dd",
-                        valueFormat: "yyyy-MM-dd HH:mm:ss"
-                    }, {
-                        label: '备注',
-                        prop: 'remarks',
-                        width: 150,
-                        searchOrder: 5,
-                    }
+                        children: [
+                            {
+                                label: '20GP',
+                                prop: 'gP20Bad',
+                                overHidden: true,
+                            },
+                            {
+                                label: '40GP',
+                                prop: 'gP40Bad',
+                                overHidden: true,
+                            },
+                            {
+                                label: '40GP',
+                                prop: 'hG40Bad',
+                                overHidden: true,
+                            },
+                            {
+                                label: 'OTHER',
+                                prop: 'otherBad',
+                                overHidden: true,
+                            }
+                        ]
+                    },
                 ]
             },
             data: [],
@@ -308,12 +384,7 @@ export default {
     components: {
         detailsPage
     },
-    async created() {
-        this.option = await this.getColumnData(this.getColumnName(461), this.optionBack);
-    },
-    activated() {
-        setTimeout(() => {
-        }, 100);
+    created() {
     },
     methods: {
         addButton() {
@@ -331,23 +402,6 @@ export default {
             };
             this.isShow = false
         },
-        // 删除
-        rowDel(row, index) {
-            if (row.item == 1) {
-                return this.$message.error("存在明细不允许删除");
-            }
-            this.$confirm("确定将选择数据删除?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                remove({ ids: row.id }).then(res => {
-                    this.onLoad(this.page, this.query);
-                    this.$message.success("成功删除");
-                })
-            })
-
-        },
         searchReset() {
             this.query = this.$options.data().query;
             this.onLoad(this.page);
@@ -387,6 +441,42 @@ export default {
                 this.loading = false;
             })
         },
+        searchReset2() {
+            this.query2 = this.$options.data().query2;
+            this.onLoad2(this.page2);
+        },
+        // 搜索按钮点击
+        searchChange2(params, done) {
+            this.page2.currentPage = 1;
+            this.onLoad2(this.page2, this.query2);
+            done();
+        },
+        currentChange2(currentPage) {
+            this.page2.currentPage = currentPage;
+        },
+        sizeChange2(pageSize) {
+            this.page2.pageSize = pageSize;
+        },
+        refreshChange2() {
+            this.onLoad2(this.page2, this.query2);
+        },
+        onLoad2(page, params = {}) {
+            let obj = {}
+            obj = {
+                ...Object.assign(params, this.query2),
+            }
+            this.loading2 = true;
+            getList2(page.currentPage, page.pageSize, obj).then(res => {
+                this.data2 = res.data.data.records;
+                this.page2.total = res.data.data.total;
+                this.$nextTick(() => {
+                    this.$refs.crud2.doLayout();
+                    this.$refs.crud2.dicInit();
+                });
+            }).finally(() => {
+                this.loading2 = false;
+            })
+        },
         // 详情的返回列表
         goBack() {
             // 初始化数据
@@ -425,42 +515,17 @@ export default {
             })
             window.open(routeData.href.slice(1, routeData.href.length) + '&' + `${this.website.tokenHeader}=${getToken()}`);
         },
-        //自定义列保存
-        async saveColumn(ref, option, optionBack, code) {
-            /**
-             * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
-             * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
-             * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
-             */
-            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
-            if (inSave) {
-                this.$message.success("保存成功");
-                //关闭窗口
-                this.$refs[ref].$refs.dialogColumn.columnBox = false;
-                this.searchReset()
-            }
-        },
-        //自定义列重置
-        async resetColumn(ref, option, optionBack, code) {
-            this[option] = this[optionBack];
-            const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
-            if (inSave) {
-                this.$message.success("重置成功");
-                this.$refs[ref].$refs.dialogColumn.columnBox = false;
-                this.searchReset()
-            }
-        },
         // 更改表格颜色
         headerClassName(tab) {
             //颜色间隔
-            let back = ""
-            if (tab.columnIndex >= 0 && tab.column.level === 1) {
-                if (tab.columnIndex % 2 === 0) {
-                    back = "back-one"
-                } else if (tab.columnIndex % 2 === 1) {
-                    back = "back-two"
-                }
-            }
+            let back = "back-two"
+            // if (tab.columnIndex >= 0 && tab.column.level === 1) {
+            //     if (tab.columnIndex % 2 === 0) {
+            //         back = "back-one"
+            //     } else if (tab.columnIndex % 2 === 1) {
+            //         back = "back-two"
+            //     }
+            // }
             return back;
         },
 

+ 1 - 1
src/views/boxManagement/buyContainer/detailsPage.vue

@@ -280,7 +280,7 @@ import {
   submitItemList,
   submitFeeList,
   enable
-} from "@/api/boxManagement/buyContainer";
+} from "@/api/boxManagement/buyContainer/index.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
 import businessReports from "@/components/tradeAgency/businessReports.vue";

+ 2 - 2
src/views/boxManagement/buyContainer/index.vue

@@ -10,8 +10,8 @@
         <template slot="menuLeft">
           <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
           </el-button>
-          <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
-          </el-button>
+          <!-- <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
+          </el-button> -->
           <el-button type="warning" size="small" @click="outExport">导 出
           </el-button>
         </template>

+ 463 - 60
src/views/boxManagement/owTask/detailsPage.vue

@@ -34,10 +34,11 @@
         <el-tab-pane label="基础信息">
           <trade-card title="基础信息">
             <avue-form :option="optionForm" v-model="form" ref="form">
-              <tempalte slot="boxEastName">
-                <dic-select v-model="form.boxEastName" placeholder="箱东" key="id" label="cnName" res="records"
-                  @selectChange="dicChange('boxEastName', $event)" url="/blade-los/bcorps/selectList?corpTypeName=箱东"
-                  :filterable="true" :remote="true" dataName="cnName">
+              <tempalte slot="purchaseCompanyName">
+                <dic-select v-model="form.purchaseCompanyName" placeholder="箱东" key="id" label="cnName" res="records"
+                  @selectChange="dicChange('purchaseCompanyName', $event)"
+                  url="/blade-los/bcorps/selectList?corpTypeName=箱东" :filterable="true" :remote="true"
+                  dataName="cnName">
                 </dic-select>
               </tempalte>
               <tempalte slot="polStationCname">
@@ -66,11 +67,14 @@
                   :collapseTags="true" dataType="string" @selectChange="dicChange('podCname', $event)"
                   :disabled="editDisabled"></dic-select>
               </tempalte>
-              <template slot="boxType">
-                <dic-select v-model="form.boxType" key="id" label="cnName" res="records"
+              <template slot="boxTypeQuantityOne">
+                <dic-select v-model="form.boxTypeQuantityOne" key="id" label="cnName" res="records"
                   url="/blade-los/bcntrtypes/list?status=0&current=1&size=20" :filterable="true" :remote="true"
                   dataName="cnName"></dic-select>
               </template>
+              <template slot="perDiemAfterFreeDays">
+                <el-link type="primary" :underline="false" @click.stop="rtDialog = true">箱租金条款</el-link>
+              </template>
             </avue-form>
           </trade-card>
           <trade-card title="基础明细">
@@ -89,8 +93,7 @@
                 <el-button type="danger" plain size="small" :disabled="editDisabled || selectionList.length == 0"
                   @click="allClick('批量删除')">批量删除</el-button>
                 <el-button type="success" size="small" @click="allClick('导入')">导入</el-button>
-                <el-button type="info" size="small" @click="allClick('启用')"
-                  :disabled="selectionList.length == 0">启用</el-button>
+                <el-button type="info" size="small" @click="allClick('启用')">启用</el-button>
                 <!-- <el-button type="primary" size="small" @click="allClick('卖箱')">卖箱</el-button> -->
                 <!-- <el-button size="small" style="margin-right: 8px" :disabled="!form.id"
                   @click="$refs.print.openDialog()">打印账单
@@ -118,6 +121,12 @@
                   dataName="cnName" @selectChange="rowDicChange('corpName', $event, row)"></dic-select>
                 <span v-else>{{ row.corpName }}</span>
               </tempalte>
+              <tempalte slot="stationCnameForm" slot-scope="{ row }">
+                <dic-select v-if="row.$cellEdit" v-model="row.stationCname" placeholder="场站" key="id" label="cnName"
+                  res="records" url="/blade-los/blocations/list" :filterable="true" :remote="true" dataName="cnName"
+                  @selectChange="rowDicChange('stationCname', $event, row)"></dic-select>
+                <span v-else>{{ row.stationCname }}</span>
+              </tempalte>
               <tempalte slot="shipCnameForm" slot-scope="{ row }">
                 <dic-select v-if="row.$cellEdit" v-model="row.shipCname" placeholder="船名" key="id" label="cnName"
                   res="records" url="/blade-los/bvessels/list" :filterable="true" :remote="true" dataName="cnName"
@@ -160,21 +169,21 @@
           <el-card
             v-show="roleName.indexOf('admin') != -1 || roleName.indexOf('应付修改') != -1 ? true : roleName.indexOf('应付查看') != -1"
             class="box-card" style="margin: 2px 0">
-            <avue-crud :option="feedOption" :data="form.feeCenterList" id="out-table" ref="crud2"
+            <avue-crud :option="feedOption" :data="feeCenterListD" id="out-table" ref="crud2"
               :header-cell-class-name="headerClassName" :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
-              @selection-change="feecChange" @row-update="rowUpdate"
+              @selection-change="feedChange" @row-update="rowUpdate"
               @resetColumn="resetColumn('crud2', 'feedOption', 'feedOptionBack', 463)"
               @saveColumn="saveColumn('crud2', 'feedOption', 'feedOptionBack', 463)">
               <template slot="menuLeft">
-                <div style="display: inline-block;margin-right: 20px" class="disabledBox meetSize">
+                <div style="display: inline-block;margin-right: 20px" class="disabledBox fontSize">
                   <i class="el-icon-coin"></i>
-                  <span>应费用</span>
+                  <span>应费用</span>
                 </div>
                 <el-button type="info" plain size="small" :disabled="editDisabled"
                   @click="allClick('D费用一键保存')">一键保存</el-button>
                 <el-button type="info" plain size="small" :disabled="editDisabled"
                   @click="allClick('D费用一键编辑')">一键编辑</el-button>
-                <el-button type="danger" plain size="small" :disabled="editDisabled || selectionfeecList.length == 0"
+                <el-button type="danger" plain size="small" :disabled="editDisabled || selectionfeedList.length == 0"
                   @click="allClick('D费用批量删除')">批量删除</el-button>
                 <!-- <el-button type="primary" plain size="small" @click="$refs.printC.openDialog()">打印账单</el-button> -->
               </template>
@@ -211,7 +220,7 @@
               </template>
               <template slot="curCodeForm" slot-scope="{ row }">
                 <dic-select v-if="row.$cellEdit" v-model="row.curCode" placeholder="币别" label="code"
-                  :url="'/blade-los/bcurrency/getExrate?date=' + form.purchaseDate + '&dc=C'" :filterable="true"
+                  :url="'/blade-los/bcurrency/getExrate?date=' + form.effectiveDate + '&dc=D'" :filterable="true"
                   @selectChange="rowDicChange('curCode', $event, row)"></dic-select>
                 <span v-else>{{ row.curCode }}</span>
               </template>
@@ -240,7 +249,7 @@
           <el-card
             v-show="roleName.indexOf('admin') != -1 || roleName.indexOf('应付修改') != -1 ? true : roleName.indexOf('应付查看') != -1"
             class="box-card" style="margin: 2px 0">
-            <avue-crud :option="feecOption" :data="form.feeCenterList" id="out-table" ref="crud3"
+            <avue-crud :option="feecOption" :data="feeCenterListC" id="out-table" ref="crud3"
               :header-cell-class-name="headerClassName" :row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
               @selection-change="feecChange" @row-update="rowUpdate"
               @resetColumn="resetColumn('crud3', 'feecOption', 'feecOptionBack', 464)"
@@ -291,7 +300,7 @@
               </template>
               <template slot="curCodeForm" slot-scope="{ row }">
                 <dic-select v-if="row.$cellEdit" v-model="row.curCode" placeholder="币别" label="code"
-                  :url="'/blade-los/bcurrency/getExrate?date=' + form.purchaseDate + '&dc=C'" :filterable="true"
+                  :url="'/blade-los/bcurrency/getExrate?date=' + form.effectiveDate + '&dc=C'" :filterable="true"
                   @selectChange="rowDicChange('curCode', $event, row)"></dic-select>
                 <span v-else>{{ row.curCode }}</span>
               </template>
@@ -317,6 +326,74 @@
               </template>
             </avue-crud>
           </el-card>
+          <avue-crud id="out-table" class="box-card" :header-cell-class-name="headerClassName" ref="crud4"
+            :row-style="{ height: '16px' }" :cell-style="{ padding: '0px' }" :option="sumOption"
+            :data="sumData"></avue-crud>
+          <div
+            v-if="roleName.indexOf('admin') != -1 || roleName.indexOf('利润查看') != -1 || ((roleName.indexOf('应收修改') != -1 || roleName.indexOf('应收查看') != -1) && (roleName.indexOf('应付修改') != -1 || roleName.indexOf('应付查看') != -1))"
+            style="display: flex;align-items: center;justify-content: space-around">
+            <div style="width: 30%">
+              <div style="display: flex;align-items: center;justify-content: space-around">
+                <div>
+                  <div style="color: #81B337">
+                    <span>应收:</span>
+                    <span class="weightnum">¥{{ form.amountD ? form.amountD : 0 }}元</span>
+                  </div>
+                </div>
+                <div>
+                  <div style="color: #6BBCD1">
+                    <span>应付:</span>
+                    <span class="weightnum">¥{{ form.amountC ? form.amountC : 0 }}元</span>
+                  </div>
+                </div>
+                <div class="bottomFlex">
+                  <span>利润</span>
+                  <span>¥{{ form.profit ? form.profit : 0 }}元</span>
+                </div>
+              </div>
+            </div>
+            <div style="width: 30%">
+              <div style="display: flex;align-items: center;justify-content: space-around">
+                <div>
+                  <div style="color: #81B337">
+                    <span>应收:</span>
+                    <span class="weightnum">${{ form.amountDUsd ? form.amountDUsd : 0 }}元</span>
+                  </div>
+                </div>
+                <div>
+                  <div style="color: #6BBCD1">
+                    <span>应付:</span>
+                    <span class="weightnum">${{ form.amountCUsd ? form.amountCUsd : 0 }}元</span>
+                  </div>
+                </div>
+                <div class="bottomFlex">
+                  <span>利润</span>
+                  <span>${{ form.profitUsd ? form.profitUsd : 0 }}元</span>
+                </div>
+              </div>
+            </div>
+            <div style="width: 30%">
+              <div style="display: flex;align-items: center;justify-content: space-around">
+                <div>
+                  <div style="color: #81B337">
+                    <span>应收:</span>
+                    <span class="weightnum">¥{{ form.totalAmountD ? form.totalAmountD : 0 }}元</span>
+                  </div>
+
+                </div>
+                <div>
+                  <div style="color: #6BBCD1">
+                    <span>应付:</span>
+                    <span class="weightnum">¥{{ form.totalAmountC ? form.totalAmountC : 0 }}元</span>
+                  </div>
+                </div>
+                <div class="bottomFlex">
+                  <span>利润</span>
+                  <span>¥{{ form.totalProfit ? form.totalProfit : 0 }}元</span>
+                </div>
+              </div>
+            </div>
+          </div>
         </el-tab-pane>
         <el-tab-pane label="文件中心">
           <containerTitle title="上传附件"></containerTitle>
@@ -341,12 +418,12 @@
           <tempalte slot="polCname">
             <dic-select v-model="activationForm.polCname" placeholder="港口" key="id" label="cnName" res="records"
               url="/blade-los/bports/list" :filterable="true" :remote="true" dataName="cnName"
-              @selectChange="dicChange('polCname', $event)"></dic-select>
+              @selectChange="dicChange('polCname2', $event)"></dic-select>
           </tempalte>
           <tempalte slot="podCname">
             <dic-select v-model="activationForm.podCname" placeholder="港口" key="id" label="cnName" res="records"
               url="/blade-los/bports/list" :filterable="true" :remote="true" dataName="cnName"
-              @selectChange="dicChange('podCname', $event)" :disabled="editDisabled"></dic-select>
+              @selectChange="dicChange('podCname2', $event)" :disabled="editDisabled"></dic-select>
           </tempalte>
         </avue-form>
       </span>
@@ -369,6 +446,26 @@
         温馨提示 第一次导入时请先下载模板
       </p>
     </el-dialog>
+    <el-dialog title="箱租金条款" append-to-body :visible.sync="rtDialog" width="50%" :close-on-click-modal="false"
+      v-dialog-drag>
+      <avue-crud :option="rtOption" :data="form.rentTermList" id="out-table" ref="crud"
+        :header-cell-class-name="headerClassName" :row-style="{ height: '20px', padding: '0px' }"
+        :cell-style="{ height: '20px', padding: '0px' }">
+        <template slot="indexHeader" slot-scope="{row,index}">
+          <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled" circle @click="rtAddRow()">
+          </el-button>
+        </template>
+        <template slot="index" slot-scope="{row,index}">
+          <span>{{ index + 1 }}</span>
+        </template>
+        <template slot="menu" slot-scope="{ row, index }">
+          <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
+        </template>
+      </avue-crud>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="rtDialog = false" size="mini">关 闭</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -396,6 +493,7 @@ export default {
   name: "detailsPage",
   data() {
     return {
+      rtDialog: false,
       excelBox: false,
       excelForm: {},
       excelLoading: false,
@@ -479,6 +577,7 @@ export default {
       itemCIds: null,
       feeType: null,
       selectionList: [],
+      selectionfeedList: [],
       selectionfeecList: [],
       checkId: '', // 审核需要的id
       batchNo: '',
@@ -491,8 +590,8 @@ export default {
         feeCenterList: [],
         tradingBoxFilesList: [],
       },
-      feeCenterListD:[],
-      feeCenterListC:[],
+      feeCenterListD: [],
+      feeCenterListC: [],
       oldForm: {},
       optionForm: {
         menuBtn: false,
@@ -502,7 +601,7 @@ export default {
         column: [
           {
             label: '箱东',
-            prop: 'boxEastName',
+            prop: 'purchaseCompanyName',
             disabled: false
           },
           {
@@ -523,12 +622,22 @@ export default {
           {
             label: '起运港',
             prop: 'polCname',
-            disabled: false
+            disabled: false,
+            rules: [{
+              required: true,
+              message: "",
+              trigger: "blur"
+            }]
           },
           {
             label: '目的港',
             prop: 'podCname',
-            disabled: false
+            disabled: false,
+            rules: [{
+              required: true,
+              message: "",
+              trigger: "blur"
+            }]
           },
           {
             label: '起运港提/送箱场站',
@@ -548,11 +657,16 @@ export default {
           {
             label: '箱量',
             prop: 'boxNumber',
-            disabled: false
+            disabled: false,
+            rules: [{
+              required: true,
+              message: "",
+              trigger: "blur"
+            }]
           },
           {
             label: '箱型',
-            prop: 'boxType',
+            prop: 'boxTypeQuantityOne',
             disabled: false
           },
           {
@@ -572,15 +686,10 @@ export default {
               label: '旧',
               value: '旧',
             }],
-            rules: [{
-              required: true,
-              message: " ",
-              trigger: "blur"
-            }]
           },
           {
             label: '有效日期启',
-            prop: 'effectiveStartDate',
+            prop: 'effectiveDate',
             type: "date",
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd HH:mm:ss",
@@ -588,7 +697,7 @@ export default {
           },
           {
             label: '有效日期止',
-            prop: 'effectiveEndDate',
+            prop: 'expiryDate',
             type: "date",
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd HH:mm:ss",
@@ -700,16 +809,11 @@ export default {
         selection: true,
         align: 'center',
         menu: false,
+        index: true,
         column: [
           {
-            label: "index",
-            prop: "index",
-            width: "55",
-            headerslot: true,
-          },
-          {
             label: '箱号',
-            prop: 'boxCode',
+            prop: 'code',
             width: 100,
             cell: true,
             overHidden: true,
@@ -767,7 +871,7 @@ export default {
           },
           {
             label: '箱种类',
-            prop: 'boxClass',
+            prop: 'boxCategory',
             overHidden: true,
             cell: true,
             width: 100,
@@ -1466,6 +1570,112 @@ export default {
           }
         ]
       },
+      sumData: [],
+      sumOption: {
+        border: true,
+        align: 'center',
+        menuAlign: 'center',
+        menu: false,
+        header: false,
+        addBtn: false,
+        // height: '100px',
+        column: [
+          {
+            label: '客户',
+            prop: 'corpCnName',
+            overHidden: true,
+          }, {
+            label: 'RMB应收',
+            prop: 'rmbD',
+            overHidden: true,
+          }, {
+            label: 'RMB应付',
+            prop: 'rmbC',
+            overHidden: true,
+          }, {
+            label: 'USD应收',
+            prop: 'usdD',
+            overHidden: true,
+          }, {
+            label: 'USD应付',
+            prop: 'usdC',
+            overHidden: true,
+          }, {
+            label: '合计应收',
+            prop: 'sumD',
+            overHidden: true,
+          }, {
+            label: '合计应付',
+            prop: 'sumC',
+            overHidden: true,
+          }
+        ]
+      },
+      rtOption: {
+        border: true,
+        align: 'center',
+        menuWidth:80,
+        // menu: false,
+        editBtn:false,
+        delBtn:false,
+        header: false,
+        addBtn: false,
+        height: '400px',
+        column: [
+          {
+            label: "index",
+            prop: "index",
+            width: "55",
+            headerslot: true,
+          },
+          {
+            label: '起',
+            prop: 'riseDays',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '止',
+            prop: 'stopDays',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '费率',
+            prop: 'rate',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '无货返空费率',
+            prop: 'emptyRate',
+            cell: true,
+            type: 'number',
+            controls: false,
+            overHidden: true,
+          },
+          {
+            label: '币别',
+            prop: 'curCode',
+            cell: true,
+            type: 'select',
+            dicData: [{
+              label: 'CNY',
+              value: 'CNY',
+            }, {
+              label: 'USD',
+              value: 'USD',
+            }],
+            overHidden: true,
+          },
+        ]
+      },
       roleName: []
     }
   },
@@ -1497,6 +1707,56 @@ export default {
     }
   },
   methods: {
+    getSum() {
+      let sumArr = []
+      let corpArr = []
+      let newArr = []
+      this.sumData = []
+      sumArr = this.feeCenterListD.concat(this.feeCenterListC)
+      sumArr.forEach(e => {
+        if (e.shortName) {
+          corpArr.push(e.shortName)
+        }
+      })
+      newArr = [... new Set(corpArr)]
+      newArr.forEach(e => {
+        let rmbD = 0
+        let rmbC = 0
+        let usdD = 0
+        let usdC = 0
+        let sumD = 0
+        let sumC = 0
+        sumArr.forEach(item => {
+          if (e == item.shortName) {
+            if (item.curCode == 'CNY' && item.dc == 'D') {
+              rmbD += Number(item.amount)
+              sumD += Number(item.amount)
+            }
+            if (item.curCode == 'CNY' && item.dc == 'C') {
+              rmbC += Number(item.amount)
+              sumC += Number(item.amount)
+            }
+            if (item.curCode == 'USD' && item.dc == 'D') {
+              usdD += Number(item.amountLoc)
+              sumD += Number(item.amountLoc) * Number(item.exrate)
+            }
+            if (item.curCode == 'USD' && item.dc == 'C') {
+              usdC += Number(item.amountLoc)
+              sumC += Number(item.amountLoc) * Number(item.exrate)
+            }
+          }
+        })
+        this.sumData.push({
+          corpCnName: e,
+          rmbD: _.round(rmbD, 2),
+          rmbC: _.round(rmbC, 2),
+          usdD: _.round(usdD, 2),
+          usdC: _.round(usdC, 2),
+          sumD: _.round(sumD, 2),
+          sumC: _.round(sumC, 2)
+        })
+      })
+    },
     countChange(row) {
       if (row.curCode == 'CNY') {
         row.amount = _.round(_.multiply(row.price, row.quantity), 2)
@@ -1553,12 +1813,12 @@ export default {
       );
     },
     dicChange(name, row) {
-      if (name == 'boxEastName') {
+      if (name == 'purchaseCompanyName') {
         if (row) {
-          this.form.boxEastId = row.id
+          this.form.purchaseCompanyId = row.id
         } else {
-          this.form.boxEastId = null
-          this.form.boxEastName = null
+          this.form.purchaseCompanyId = null
+          this.form.purchaseCompanyName = null
         }
       }
       if (name == 'polStationCname') {
@@ -1615,6 +1875,30 @@ export default {
           this.form.podCname = null
         }
       }
+      if (name == 'polCname2') {
+        if (row) {
+          this.activationForm.polId = row.id
+          this.activationForm.polCode = row.code
+          this.activationForm.polEname = row.enName
+        } else {
+          this.activationForm.polId = null
+          this.activationForm.polCode = null
+          this.activationForm.polEname = null
+          this.activationForm.polCname = null
+        }
+      }
+      if (name == 'podCname2') {
+        if (row) {
+          this.activationForm.podId = row.id
+          this.activationForm.podCode = row.code
+          this.activationForm.podEname = row.enName
+        } else {
+          this.activationForm.podId = null
+          this.activationForm.podCode = null
+          this.activationForm.podEname = null
+          this.activationForm.podCname = null
+        }
+      }
     },
     rowDicChange(name, row, el) {
       if (name == 'boxEastName') {
@@ -1720,12 +2004,22 @@ export default {
       }
     },
     rowEdit(row) {
+      if (row.$cellEdit == true) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    rtAddRow() {
+      this.form.rentTermList.push({
+        $cellEdit: true
+      })
     },
     feedAddRow() {
       if (!this.form.id) {
         return this.$message.error("请保存数据");
       }
-      this.form.feeCenterListD.push({
+      this.feeCenterListD.push({
         pid: this.form.id,
         feesType: 1,
         dc: 'D',
@@ -1739,7 +2033,7 @@ export default {
       if (!this.form.id) {
         return this.$message.error("请保存数据");
       }
-      this.form.feeCenterListC.push({
+      this.feeCenterListC.push({
         pid: this.form.id,
         feesType: 1,
         dc: 'C',
@@ -1752,6 +2046,18 @@ export default {
     selectionChange(list) {
       this.selectionList = list;
     },
+    feedChange(list) {
+      let ids = []
+      list.forEach(e => {
+        ids.push(e.id)
+      })
+      if (ids.length) {
+        this.itemCIds = ids.join(',')
+      } else {
+        this.itemCIds = null
+      }
+      this.selectionfeedList = list;
+    },
     feecChange(list) {
       let ids = []
       list.forEach(e => {
@@ -1772,6 +2078,8 @@ export default {
         background: 'rgba(255,255,255,0.7)'
       });
       detail({ id: id }).then(res => {
+        this.feeCenterListD = res.data.data.feeCenterList.filter(item => item.dc == "D")
+        this.feeCenterListC = res.data.data.feeCenterList.filter(item => item.dc == "C")
         this.form = res.data.data
         // if (res.data.data.status != '录入') {
         //   this.editButton = true
@@ -1826,7 +2134,7 @@ export default {
           return this.$message.error("请添加数据");
         }
         for (let row of this.form.tradingBoxItemsList) {
-          if (!row.boxCode || !row.boxType || !row.boxBelongsTo || !row.boxEastName || !row.boxClass || !row.boxStatus || !row.boxCondition) {
+          if (!row.code || !row.boxType || !row.boxBelongsTo || !row.boxEastName || !row.boxCategory || !row.boxStatus || !row.boxCondition) {
             this.$refs.crud.rowCell(row, row.$index)
             return this.$message.error("请完善明细信息");
           }
@@ -1906,12 +2214,75 @@ export default {
         this.activationForm = {}
         this.activationDialog = true
       }
-
-      if (name == '费用一键保存') {
-        if (!this.form.feeCenterList.length) {
+      if (name == 'D费用一键保存') {
+        if (!this.feeCenterListD.length) {
+          return this.$message.error("请添加数据");
+        }
+        for (let row of this.feeCenterListD) {
+          if (!row.billType || !row.corpCnName || !row.feeCnName || !row.curCode || !row.price || !row.quantity) {
+            this.$refs.crud2.rowCell(row, row.$index)
+            return this.$message.error("请完善费用明细");
+          }
+        }
+        const loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          spinner: 'el-icon-loading',
+          background: 'rgba(255,255,255,0.7)'
+        });
+        submitFeeList(this.feeCenterListD).then(res => {
+          this.$message.success("保存成功");
+          this.feeCenterListD = res.data.data
+        }).finally(() => {
+          loading.close();
+        })
+      }
+      if (name == 'D费用一键编辑') {
+        for (let row of this.feeCenterListD) {
+          this.$set(row, "$cellEdit", true);
+        }
+      }
+      if (name == 'D费用批量删除') {
+        let multiList = []
+        let arr = []
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          multiList = this.selectionfeedList
+          arr = this.feeCenterListD
+          // 获取有id 的数据
+          const itemsWithId = multiList.filter(item => item.hasOwnProperty('id'));
+          let arrIds = itemsWithId.map(item => item.id) // 获取id 数据
+          // 把选中的删除掉
+          multiList.forEach((item) => {
+            for (let index in arr) {
+              if (JSON.stringify(item) == JSON.stringify(arr[index])) {
+                arr.splice(Number(index), 1)
+              }
+            }
+          })
+          if (itemsWithId.length != 0) {
+            const loading = this.$loading({
+              lock: true,
+              text: '加载中',
+              spinner: 'el-icon-loading',
+              background: 'rgba(255,255,255,0.7)'
+            });
+            tradingBoxFees({ ids: arrIds.join(',') }).then(res => {
+              this.$message.success("删除成功");
+            }).finally(() => {
+              loading.close();
+            })
+          }
+        })
+      }
+      if (name == 'C费用一键保存') {
+        if (!this.feeCenterListC.length) {
           return this.$message.error("请添加数据");
         }
-        for (let row of this.form.feeCenterList) {
+        for (let row of this.feeCenterListC) {
           if (!row.billType || !row.corpCnName || !row.feeCnName || !row.curCode || !row.price || !row.quantity) {
             this.$refs.crud2.rowCell(row, row.$index)
             return this.$message.error("请完善费用明细");
@@ -1923,19 +2294,19 @@ export default {
           spinner: 'el-icon-loading',
           background: 'rgba(255,255,255,0.7)'
         });
-        submitFeeList(this.form.feeCenterList).then(res => {
+        submitFeeList(this.form.feeCenterListC).then(res => {
           this.$message.success("保存成功");
-          this.form.feeCenterList = res.data.data
+          this.form.feeCenterListC = res.data.data
         }).finally(() => {
           loading.close();
         })
       }
-      if (name == '费用一键编辑') {
-        for (let row of this.form.feeCenterList) {
+      if (name == 'C费用一键编辑') {
+        for (let row of this.feeCenterListC) {
           this.$set(row, "$cellEdit", true);
         }
       }
-      if (name == '费用批量删除') {
+      if (name == 'C费用批量删除') {
         let multiList = []
         let arr = []
         this.$confirm("确定将选择数据删除?", {
@@ -1944,7 +2315,7 @@ export default {
           type: "warning"
         }).then(() => {
           multiList = this.selectionfeecList
-          arr = this.form.feeCenterList
+          arr = this.feeCenterListC
           // 获取有id 的数据
           const itemsWithId = multiList.filter(item => item.hasOwnProperty('id'));
           let arrIds = itemsWithId.map(item => item.id) // 获取id 数据
@@ -1977,17 +2348,24 @@ export default {
         done();
         if (valid) {
           for (let row of this.form.tradingBoxItemsList) {
-            if (!row.boxCode || !row.boxType || !row.boxBelongsTo || !row.boxEastName || !row.boxClass || !row.boxStatus || !row.boxCondition) {
+            if (!row.code || !row.boxType || !row.boxBelongsTo || !row.boxEastName || !row.boxCategory || !row.boxStatus || !row.boxCondition) {
               this.$refs.crud.rowCell(row, row.$index)
               return this.$message.error("请完善明细信息");
             }
           }
-          for (let row of this.form.feeCenterList) {
+          for (let row of this.feeCenterListD) {
             if (!row.billType || !row.corpCnName || !row.feeCnName || !row.curCode || !row.price || !row.quantity) {
               this.$refs.crud2.rowCell(row, row.$index)
-              return this.$message.error("请完善费用明细");
+              return this.$message.error("请完善应收费用明细");
             }
           }
+          for (let row of this.feeCenterListC) {
+            if (!row.billType || !row.corpCnName || !row.feeCnName || !row.curCode || !row.price || !row.quantity) {
+              this.$refs.crud3.rowCell(row, row.$index)
+              return this.$message.error("请完善应付费用明细");
+            }
+          }
+          this.form.feeCenterList = [...this.feeCenterListD, ...this.feeCenterListC]
           const loading = this.$loading({
             lock: true,
             text: '加载中',
@@ -2097,6 +2475,26 @@ export default {
     goBack(type) {
       this.$emit("goBack");
     },
+  },
+  watch: {
+    // 监听业务类型 如果不是分单 可以编辑分单号
+    'form.feeCenterListD': {
+      // 执行方法
+      handler(oldValue, newValue) {
+        this.getSum()
+      },
+      deep: true, // 深度监听
+      immediate: true  // 第一次改变就执行
+    },
+    // 监听箱信息数据 箱信息中有温度 自动切换 冻货
+    'form.feeCenterListC': {
+      // 执行方法
+      handler(oldValue, newValue) {
+        this.getSum()
+      },
+      deep: true, // 深度监听
+      immediate: true  // 第一次改变就执行,
+    }
   }
 }
 </script>
@@ -2158,6 +2556,11 @@ export default {
   align-items: center;
 }
 
+.fontSize {
+  font-size: 16px;
+  color: #81B337;
+}
+
 .meetSize {
   font-size: 16px;
   color: #54BCBD;

+ 4 - 4
src/views/boxManagement/owTask/index.vue

@@ -10,8 +10,8 @@
         <template slot="menuLeft">
           <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">新 增
           </el-button>
-          <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
-          </el-button>
+          <!-- <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制订单
+          </el-button> -->
           <el-button type="warning" size="small" @click="outExport">导 出
           </el-button>
         </template>
@@ -86,7 +86,7 @@ export default {
           },
           {
             label: '箱东',
-            prop: 'boxEastName',
+            prop: 'purchaseCompanyName',
             width: 150,
             overHidden: true,
             search: true,
@@ -199,7 +199,7 @@ export default {
           },
           {
             label: '箱型',
-            prop: 'boxType',
+            prop: 'boxTypeQuantityOne',
             width: 150,
             overHidden: true,
             search: true,

Some files were not shown because too many files changed in this diff