Browse Source

修改bug

Qukatie 10 months ago
parent
commit
c92548a8b4

+ 33 - 0
src/api/tradeAgency/oceanFreightImport.js

@@ -320,3 +320,36 @@ export const retreatPledge= (data) => {
         params: data
     })
 }
+
+
+export const confirmInspection= (data) => {
+    return request({
+        url: '/api/blade-los/dispatchvehicles/confirmInspection',
+        method: 'post',
+        data: data
+    })
+}
+
+export const revokeInspection= (data) => {
+    return request({
+        url: '/api/blade-los/dispatchvehicles/revokeInspection',
+        method: 'post',
+        data: data
+    })
+}
+
+export const confirmReturnBox= (data) => {
+    return request({
+        url: '/api/blade-los/dispatchvehicles/confirmReturnBox',
+        method: 'post',
+        data: data
+    })
+}
+
+export const revokeReturnBox= (data) => {
+    return request({
+        url: '/api/blade-los/dispatchvehicles/revokeReturnBox',
+        method: 'post',
+        data: data
+    })
+}

+ 17 - 0
src/api/wel.js

@@ -251,4 +251,21 @@ export const indexStatisticsTrend = (query) => {
     params: query
   })
 }
+// 货代趋势图
+export const boxReturnReminder = (query) => {
+  return request({
+    url: '/api/blade-los/indexStatistics/boxReturnReminder',
+    method: 'get',
+    params: query
+  })
+}
+
+// 货代趋势图
+export const withdrawalReminder = (query) => {
+  return request({
+    url: '/api/blade-los/indexStatistics/withdrawalReminder',
+    method: 'get',
+    params: query
+  })
+}
 

+ 1 - 0
src/components/dicSelect/main.vue

@@ -319,6 +319,7 @@ export default {
         },
         clear() {
             if (this.remote) {
+                this.data = this.$options.data().data
                 this.getDicData()
             }
             this.$emit('selectChange', null)

+ 363 - 53
src/views/tradeAgency/oceanFreightImport/detailsPage.vue

@@ -145,7 +145,7 @@
                             :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"
                             :searchShow="true"></dic-select>
                     </tempalte>
-                    <template slot="hscode">
+                    <!-- <template slot="hscode">
                         <div style="display:flex;">
                             <dic-select v-model="form.hscode" placeholder="品名" key="id" res="records" label="hsCode"
                                 url="/blade-los/bcommodity/list" :filterable="true" :remote="true" dataName="hsCode"
@@ -154,7 +154,7 @@
                             <el-input style="margin-left: 10px;" v-model="form.commodityCnName" placeholder="请输入品名"
                                 :disabled="editDisabled || form.dispatchVehiclesList.findIndex(item => item.whetherDispatchVehicles == '1') !== -1"></el-input>
                         </div>
-                    </template>
+                    </template> -->
                     <tempalte slot="mnotifyCntyCode" slot-scope="{ row }">
                         <dic-select v-model="form.mnotifyCntyCode" placeholder="原产地" key="id" label="cnName" res="records"
                             url="/blade-los/bcountrys/list" :filterable="true" :remote="true" dataName="cnName"
@@ -181,6 +181,10 @@
                         <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">{{ (column || {}).label
                         }}</span>
                     </template>
+                    <template slot="hsCodeHeader" slot-scope="{column}">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">{{ (column || {}).label
+                        }}</span>
+                    </template>
                     <template slot="index" slot-scope="{row,index}">
                         <span>{{ index + 1 }}</span>
                     </template>
@@ -195,6 +199,12 @@
                             size="small"></el-input>
                         <span v-else>{{ row.boxNo }}</span>
                     </template>
+                    <template slot="hsCodeForm" slot-scope="{ row }">
+                        <dic-select v-if="row.$cellEdit" v-model="row.hsCode" placeholder="HSCODE" key="id" res="records"
+                            label="hsCode" url="/blade-los/bcommodity/list" :filterable="true" :remote="true"
+                            dataName="hsCode" @selectChange="rowDicChange('hsCode', $event, row)"></dic-select>
+                        <span v-else>{{ row.hsCode }}</span>
+                    </template>
                     <template slot="goodsName" slot-scope="{ row }">
                         <dic-select v-if="row.$cellEdit && !row.srcId" v-model="row.goodsName" placeholder="品名" key="id"
                             res="records" label="cnName" url="/blade-los/bcommodity/list" :filterable="true" :remote="true"
@@ -209,18 +219,20 @@
                     </tempalte>
                     <tempalte slot="number" slot-scope="{ row }">
                         <el-input-number v-if="row.$cellEdit && !row.srcId" v-model="row.number" :controls="false"
-                            placeholder="请输入 件数" size="small" style="width: 100%;"></el-input-number>
+                            placeholder="请输入 件数" size="small" style="width: 100%;"
+                            @change="amountChange(row)"></el-input-number>
                         <span v-else>{{ row.number }}</span>
                     </tempalte>
                     <tempalte slot="netWeight" slot-scope="{ row }">
                         <el-input-number v-if="row.$cellEdit && !row.srcId" v-model="row.netWeight" :controls="false"
-                            placeholder="请输入 重" size="small" style="width: 100%;"></el-input-number>
+                            placeholder="请输入 重" size="small" style="width: 100%;"></el-input-number>
                         <span v-else>{{ row.netWeight }}</span>
                     </tempalte>
-                    <tempalte slot="price" slot-scope="{ row }">
-                        <el-input-number v-if="row.$cellEdit && !row.srcId" v-model="row.price" :controls="false"
-                            placeholder="请输入 单价" size="small" style="width: 100%;"></el-input-number>
-                        <span v-else>{{ row.price }}</span>
+                    <tempalte slot="amount" slot-scope="{ row }">
+                        <el-input-number v-if="row.$cellEdit && !row.srcId" v-model="row.amount" :controls="false"
+                            placeholder="请输入 总金额" size="small" style="width: 100%;"
+                            @change="amountChange(row)"></el-input-number>
+                        <span v-else>{{ row.amount }}</span>
                     </tempalte>
                     <template slot="menu" slot-scope="{ row, index }">
                         <el-button size="small" type="text" :disabled="editDisabled || row.whetherDispatchVehicles == 1"
@@ -259,23 +271,28 @@
                             :disabled="editDisabled"></dic-select>
                         <span v-else>{{ row.deliveryAddressName }}</span>
                     </tempalte>
-                    <template slot="returnCyName" slot-scope="{ row }">
+                    <!-- <template slot="returnCyName" slot-scope="{ row }">
                         <dic-select v-if="row.$cellEdit" v-model="row.returnCyName" placeholder="返空场站" key="id"
                             label="cnName" res="records" url="/blade-los/bcorps/listByType?corpTypeName=场站"
                             :filterable="true" :remote="true" dataName="cnName"
                             @selectChange="rowDicChange('returnCyName', $event, row)"></dic-select>
                         <span v-else>{{ row.returnCyName }}</span>
-                    </template>
+                    </template> -->
                     <template slot="menu" slot-scope="{ row, index }">
                         <el-button size="small" type="text"
                             :disabled="editDisabled || row.whetherDispatchVehicles == 1 || row.whetherWarehouseEntry == 1"
                             @click="rowCell('派车编辑', row, index)">
                             {{ row.$cellEdit ? '保 存' : '编 辑' }}
                         </el-button>
+                        <el-button size="small" type="text" :disabled="editDisabled || row.$cellEdit"
+                            @click="rowCell('还箱', row, index)">{{ row.whetherReturn == 1 ? '撤销还箱' : '确认还箱' }}</el-button>
+                        <el-button size="small" type="text" :disabled="editDisabled || row.$cellEdit"
+                            @click="rowCell('查验/倒柜派车', row, index)">{{ row.whetherInspection == 1 ? '撤销查验/倒柜派车' : '查验/倒柜派车'
+                            }}</el-button>
                         <el-button size="small" type="text"
                             :disabled="editDisabled || row.whetherWarehouseEntry == 1 || row.$cellEdit"
-                            @click="rowCell('确认派车', row, index)">
-                            {{ row.whetherDispatchVehicles == 1 ? '撤销确认' : '确 认' }}
+                            @click="rowCell('入库派车', row, index)">
+                            {{ row.whetherDispatchVehicles == 1 ? '撤销入库派车' : '入库派车' }}
                         </el-button>
                         <el-button size="small" type="text" :disabled="editDisabled || row.$cellEdit"
                             @click="rowCell('生成入库', row, index)">{{ row.whetherWarehouseEntry == 1 ? '撤销入库' : '入 库'
@@ -353,11 +370,44 @@
             :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
             <check-schedule :checkId="checkId" :batchNo="batchNo" @choceScheduleFun="choceScheduleFun"></check-schedule>
         </el-dialog>
+        <el-dialog append-to-body title="查验/倒柜派车" :visible.sync="carVisible" width="40%" :close-on-click-modal="false"
+            v-dialog-drag @closed="carClosed">
+            <span>
+                <avue-form :option="carOption" v-model="carForm">
+                    <tempalte slot="inspectionFleetName">
+                        <dic-select v-model="carForm.inspectionFleetName" placeholder="承运车队" key="id" label="cnName"
+                            res="records" url="/blade-los/bcorps/listByType?corpTypeName=车队" :filterable="true"
+                            :remote="true" dataName="cnName"
+                            @selectChange="dicChange('inspectionFleetName', $event)"></dic-select>
+                    </tempalte>
+                </avue-form>
+            </span>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="carVisible = false">取 消</el-button>
+                <el-button type="primary" @click="carSubmit(carForm)">确 定</el-button>
+            </span>
+        </el-dialog>
+        <el-dialog append-to-body title="还箱" :visible.sync="boxVisible" width="40%" :close-on-click-modal="false"
+            v-dialog-drag @closed="boxClosed()">
+            <span>
+                <avue-form :option="boxOption" v-model="boxForm">
+                    <template slot="returnCyName">
+                        <dic-select v-model="boxForm.returnCyName" placeholder="返空场站" key="id" label="cnName" res="records"
+                            url="/blade-los/bcorps/listByType?corpTypeName=场站" :filterable="true" :remote="true"
+                            dataName="cnName"></dic-select>
+                    </template>
+                </avue-form>
+            </span>
+            <span slot="footer" class="dialog-footer">
+                <el-button @click="boxVisible = false">取 消</el-button>
+                <el-button type="primary" @click="boxSubmit(boxForm)">确 定</el-button>
+            </span>
+        </el-dialog>
     </div>
 </template>
 
 <script>
-import { submit, getDetail, detailTradeByMblno, remove, checkAgent, revokeCheckAgent, copyAgent, generateDispatchVehicles, confirmDispatchVehicles, generateWarehouseEntry, confirmWarehouseEntry, generateOutbound, dispatchvehiclesRemove, inoutstorageRemove, calculationWarehouseUnitPrice, billsCopyBills, submitList1, submitList2, revokePrecontainers, revokeDispatchVehicles, revokeWarehouseEntry, revokeInoutstorage, revokeOutbound } from "@/api/tradeAgency/oceanFreightImport";
+import { submit, getDetail, detailTradeByMblno, remove, checkAgent, revokeCheckAgent, copyAgent, generateDispatchVehicles, confirmDispatchVehicles, generateWarehouseEntry, confirmWarehouseEntry, generateOutbound, dispatchvehiclesRemove, inoutstorageRemove, calculationWarehouseUnitPrice, billsCopyBills, submitList1, submitList2, revokePrecontainers, revokeDispatchVehicles, revokeWarehouseEntry, revokeInoutstorage, revokeOutbound, confirmInspection, revokeInspection, confirmReturnBox, revokeReturnBox } from "@/api/tradeAgency/oceanFreightImport";
 import { contrastObj, contrastList } from "@/util/contrastData";
 import feeInfo from "@/components/tradeAgency/fee-oceanFreight";
 import dicSelect from "@/components/dicSelect/main";
@@ -369,6 +419,21 @@ export default {
     name: "detailsPage",
     data() {
         return {
+            carForm: {
+                // id: null,
+                // inspectionFleetId: null,
+                // inspectionFleetName: null,
+                // inspectionLicenseNumber: null,
+                // inspectionFullName: null,
+                // inspectionContactInformation: null
+            },
+            boxForm: {
+                // id: null,
+                // returnDate: null,
+                // returnCyName: null,
+            },
+            boxVisible: false,
+            carVisible: false,
             checkId: '', // 审核需要的id
             batchNo: '',
             checkScheduleDialog: false, // 审核弹窗
@@ -493,6 +558,7 @@ export default {
                         type: 'select',
                         filterable: true,
                         remote: true,
+                        allowCreate: true,
                         dicUrl: "/api/blade-los/bvessels/list?cnName={{key}}",
                         props: {
                             label: 'cnName',
@@ -565,11 +631,11 @@ export default {
                         }],
                         disabled: false,
                     },
-                    {
-                        label: "HSCODE",
-                        prop: "hscode",
-                        disabled: false,
-                    },
+                    // {
+                    //     label: "HSCODE",
+                    //     prop: "hscode",
+                    //     disabled: false,
+                    // },
                     {
                         label: "件数",
                         prop: "quantity",
@@ -595,7 +661,7 @@ export default {
                         disabled: false,
                     },
                     {
-                        label: "重",
+                        label: "重",
                         prop: "grossWeight",
                         disabled: false,
                     },
@@ -712,6 +778,53 @@ export default {
                     },
                 ]
             },
+            carOption: {
+                labelWidth: 120,
+                menuBtn: false,
+                span: 12,
+                disabled: false,
+                column: [
+                    {
+                        label: '查验/倒柜承运车队',
+                        prop: "inspectionFleetName",
+                        disabled: false,
+                    },
+                    {
+                        label: '查验/倒柜车号',
+                        prop: "inspectionLicenseNumber",
+                        disabled: false,
+                    },
+                    {
+                        label: '查验/倒柜姓名',
+                        prop: "inspectionFullName",
+                        disabled: false,
+                    },
+                    {
+                        label: '查验/倒柜联系方式',
+                        prop: "inspectionContactInformation",
+                        disabled: false,
+                    }
+                ]
+            },
+            boxOption: {
+                // labelWidth: 120,
+                menuBtn: false,
+                span: 12,
+                disabled: false,
+                column: [
+                    {
+                        label: "返空时间",
+                        prop: "returnDate",
+                        type: "date",
+                        format: "yyyy-MM-dd",
+                        valueFormat: "yyyy-MM-dd 00:00:00",
+                    },
+                    {
+                        label: "返空场站",
+                        prop: "returnCyName",
+                    },
+                ]
+            },
             option: {},
             optionBack: {
                 height: 'auto',
@@ -746,6 +859,22 @@ export default {
                         overHidden: true
                     },
                     {
+                        label: "HSCODE",
+                        prop: "hsCode",
+                        width: "100",
+                        overHidden: true,
+                        cell: true,
+                        slot: true,
+                        formslot: true,
+                        rules: [
+                            {
+                                required: true,
+                                message: '请输入HSCODE',
+                                trigger: 'blur'
+                            }
+                        ]
+                    },
+                    {
                         label: "品名",
                         prop: "goodsName",
                         width: "100",
@@ -764,18 +893,30 @@ export default {
                         overHidden: true
                     },
                     {
-                        label: "重",
+                        label: "重",
                         prop: "netWeight",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "单价",
-                        prop: "price",
+                        label: "总金额",
+                        prop: "amount",
                         width: "100",
                         overHidden: true
                     },
                     {
+                        label: '币别',
+                        prop: 'curCode',
+                        type: 'select',
+                        cell: true,
+                        filterable: true,
+                        dicData: [
+                            { label: 'CNY', value: 'CNY' },
+                            { label: 'USD', value: 'USD' }
+                        ],
+                        overHidden: true,
+                    },
+                    {
                         label: "查验类型",
                         prop: "inspectionType",
                         cell: true,
@@ -859,6 +1000,21 @@ export default {
                         width: "90",
                         overHidden: true
                     },
+                    // {
+                    //     label: "是否还箱",
+                    //     prop: "whetherReturn",
+                    //     cell: true,
+                    //     type: 'select',
+                    //     dicData: [{
+                    //         label: '是',
+                    //         value: 1
+                    //     }, {
+                    //         label: '否',
+                    //         value: 0
+                    //     }],
+                    //     width: "90",
+                    //     overHidden: true
+                    // },
                     {
                         label: "备注",
                         prop: "remarks",
@@ -872,7 +1028,7 @@ export default {
             optionBack2: {
                 height: 'auto',
                 calcHeight: 30,
-                menuWidth: 160,
+                menuWidth: 320,
                 tip: false,
                 border: true,
                 index: true,
@@ -984,7 +1140,7 @@ export default {
                     {
                         label: "返空时间",
                         prop: "returnDate",
-                        cell: true,
+                        // cell: true,
                         type: "date",
                         format: "yyyy-MM-dd",
                         valueFormat: "yyyy-MM-dd 00:00:00",
@@ -998,6 +1154,30 @@ export default {
                         overHidden: true
                     },
                     {
+                        label: "查验/倒柜承运车队",
+                        prop: "inspectionFleetName",
+                        width: "120",
+                        overHidden: true
+                    },
+                    {
+                        label: "查验/倒柜车号",
+                        prop: "inspectionLicenseNumber",
+                        width: "120",
+                        overHidden: true
+                    },
+                    {
+                        label: "查验/倒柜姓名",
+                        prop: "inspectionFullName",
+                        width: "120",
+                        overHidden: true
+                    },
+                    {
+                        label: "查验/倒柜联系方式",
+                        prop: "inspectionContactInformation",
+                        width: "120",
+                        overHidden: true
+                    },
+                    {
                         label: "箱号",
                         prop: "boxNo",
                         width: "120",
@@ -1073,19 +1253,13 @@ export default {
                         overHidden: true
                     },
                     {
-                        label: "单价",
-                        prop: "price",
-                        width: "120",
-                        overHidden: true
-                    },
-                    {
                         label: "件数",
                         prop: "quantity",
                         width: "120",
                         overHidden: true
                     },
                     {
-                        label: "重",
+                        label: "重",
                         prop: "grossWeight",
                         width: "120",
                         overHidden: true
@@ -1121,7 +1295,7 @@ export default {
                         overHidden: true
                     },
                     {
-                        label: "仓储单价",
+                        label: "平均单价",
                         prop: "warehouseUnitPrice",
                         cell: true,
                         type: 'number',
@@ -1185,6 +1359,16 @@ export default {
                         overHidden: true
                     },
                     {
+                        label: "出库时间",
+                        prop: "outStorageDate",
+                        width: "120",
+                        cell: true,
+                        type: "date",
+                        format: "yyyy-MM-dd",
+                        valueFormat: "yyyy-MM-dd 00:00:00",
+                        overHidden: true
+                    },
+                    {
                         label: "出库件数",
                         prop: "outQuantity",
                         width: "120",
@@ -1194,7 +1378,7 @@ export default {
                         overHidden: true
                     },
                     {
-                        label: "出库重",
+                        label: "出库重",
                         prop: "outWeight",
                         width: "120",
                         cell: true,
@@ -1384,6 +1568,7 @@ export default {
                 whetherSampling: 0,
                 whetherWarehousing: 0,
                 whetherReturnSite: 0,
+                curCode: 'CNY',
                 $cellEdit: true
             })
             this.$nextTick(() => {
@@ -1391,7 +1576,84 @@ export default {
                 this.$refs.crud.dicInit();
             });
         },
+        amountChange(row) {
+            if (!row.number) row.number = 1
+            row.price = _.round(_.divide(row.amount, row.number ? row.number : 1), 2)
+        },
+        boxClosed() {
+            this.boxForm = {
+                // id: null,
+                // returnDate: null,
+                // returnCyName: null,
+            }
+        },
+        carClosed() {
+            this.carForm = {
+                // id: null,
+                // inspectionFleetId: null,
+                // inspectionFleetName: null,
+                // inspectionLicenseNumber: null,
+                // inspectionFullName: null,
+                // inspectionContactInformation: null
+            }
+        },
+        carSubmit(row) {
+            this.form.dispatchVehiclesList.forEach(e => {
+                if (e.id == row.id) {
+                    this.$set(e, 'inspectionFleetId', row.inspectionFleetId)
+                    this.$set(e, 'inspectionFleetName', row.inspectionFleetName)
+                    this.$set(e, 'inspectionLicenseNumber', row.inspectionLicenseNumber)
+                    this.$set(e, 'inspectionFullName', row.inspectionFullName)
+                    this.$set(e, 'inspectionContactInformation', row.inspectionContactInformation)
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(255,255,255,0.7)'
+                    });
+                    confirmInspection(row).then(res => {
+                        this.$message.success("查验/倒柜派车成功");
+                        this.carVisible = false
+                        this.getDetails(this.form.id)
+                    }).finally(() => {
+                        loading.close()
+                    })
+                }
+            })
+        },
+        boxSubmit(row) {
+            this.form.dispatchVehiclesList.forEach(e => {
+                if (e.id == row.id) {
+                    this.$set(e, 'returnDate', row.returnDate)
+                    this.$set(e, 'returnCyName', row.returnCyName)
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(255,255,255,0.7)'
+                    });
+                    confirmReturnBox(row).then(res => {
+                        this.$message.success("还箱成功");
+                        this.boxVisible = false
+                        this.getDetails(this.form.id)
+                    }).finally(() => {
+                        loading.close()
+                    })
+                }
+            })
+        },
         dicChange(name, row) {
+            if (name == 'inspectionFleetName') {
+                if (row) {
+                    this.carForm.inspectionFleetId = row.id
+                    this.carForm.inspectionFullName = row.mgrName
+                    this.carForm.inspectionContactInformation = row.tel
+                } else {
+                    this.carForm.inspectionFleetId = null
+                    this.carForm.inspectionFullName = null
+                    this.carForm.inspectionContactInformation = null
+                }
+            }
             if (name == 'corpCnName') {
                 if (row) {
                     this.form.corpId = row.id
@@ -1468,13 +1730,13 @@ export default {
                     this.form.carrierId = null
                 }
             }
-            if (name == 'hscode') {
-                if (row) {
-                    this.form.commodityCnName = row.cnName
-                } else {
-                    this.form.commodityCnName = null
-                }
-            }
+            // if (name == 'hscode') {
+            //     if (row) {
+            //         this.form.commodityCnName = row.cnName
+            //     } else {
+            //         this.form.commodityCnName = null
+            //     }
+            // }
             if (name == 'bookingAgentCnName') {
                 if (row) {
                     this.form.bookingAgentId = row.id
@@ -1490,18 +1752,27 @@ export default {
             }
         },
         rowDicChange(name, row, el) {
-            if (name == 'goodsName') {
+            if (name == 'hsCode') {
                 if (row) {
-                    el.hsCode = row.hsCode
+                    el.goodsName = row.cnName
                 } else {
-                    el.hsCode = null
+                    el.goodsName = null
                 }
             }
+            // if (name == 'goodsName') {
+            //     if (row) {
+            //         el.hsCode = row.hsCode
+            //     } else {
+            //         el.hsCode = null
+            //     }
+            // }
             if (name == 'fleetName') {
                 if (row) {
+                    el.fleetId = row.id
                     el.fullName = row.mgrName
                     el.contactInformation = row.tel
                 } else {
+                    el.fleetId = null
                     el.fullName = null
                     el.contactInformation = null
                 }
@@ -1531,8 +1802,8 @@ export default {
         rowCell(name, row, index) {
             if (name == '箱编辑') {
                 if (row.$cellEdit == true) {
-                    if (!row.cntrTypeCode || !row.boxNo || !row.goodsName || !row.goodsType || !row.number || !row.netWeight || !row.price) {
-                        return this.$message.error((!row.cntrTypeCode ? "箱型," : '') + (!row.boxNo ? "箱号," : '') + (!row.goodsName ? "品名," : '') + (!row.goodsType ? "类型," : '') + (!row.number ? "件数," : '') + (!row.netWeight ? "重量," : '') + (!row.price ? "单价" : '') + "不能为空");
+                    if (!row.cntrTypeCode || !row.boxNo || !row.goodsName || !row.goodsType || !row.number || !row.netWeight || !row.amount) {
+                        return this.$message.error((!row.cntrTypeCode ? "箱型," : '') + (!row.boxNo ? "箱号," : '') + (!row.goodsName ? "品名," : '') + (!row.goodsType ? "类型," : '') + (!row.number ? "件数," : '') + (!row.netWeight ? "净重," : '') + (!row.amount ? "总金额" : '') + "不能为空");
                     }
                     this.$set(row, "$cellEdit", false);
                 } else {
@@ -1707,7 +1978,45 @@ export default {
             //         loading.close()
             //     })
             // }
-            if (name == '确认派车') {
+            if (name == '还箱') {
+                if (row.whetherReturn == 1) {
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(255,255,255,0.7)'
+                    });
+                    revokeReturnBox(row).then(res => {
+                        this.$message.success("撤销成功");
+                        this.getDetails(this.form.id)
+                    }).finally(() => {
+                        loading.close()
+                    })
+                } else {
+                    this.boxForm = row
+                    this.boxVisible = true
+                }
+            }
+            if (name == '查验/倒柜派车') {
+                if (row.whetherInspection == 1) {
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(255,255,255,0.7)'
+                    });
+                    revokeInspection(row).then(res => {
+                        this.$message.success("撤销成功");
+                        this.getDetails(this.form.id)
+                    }).finally(() => {
+                        loading.close()
+                    })
+                } else {
+                    this.carForm = row
+                    this.carVisible = true
+                }
+            }
+            if (name == '入库派车') {
                 if (!row.fleetName || !row.licenseNumber || !row.fullName || !row.contactInformation || !row.deliveryDate || !row.deliveryAddressName) {
                     return this.$message.error((!row.fleetName ? "承运车队," : '') + (!row.licenseNumber ? "车号," : '') + (!row.fullName ? "姓名," : '') + (!row.contactInformation ? "联系方式," : '') + (!row.deliveryDate ? "送货时间," : null) + (!row.deliveryAddressName ? "送货地点" : null) + "不能为空");
                 }
@@ -1777,8 +2086,8 @@ export default {
 
             }
             if (name == '入库确认') {
-                if (!this.form.eta || !row.warehouseName) {
-                    return this.$message.error((!this.form.eta ? "基础信息的实际到港," : '') + (!row.warehouseName ? "仓库" : '') + "不能为空");
+                if (!this.form.eta || !row.storageDate || !row.warehouseName) {
+                    return this.$message.error((!this.form.eta ? "基础信息的实际到港," : '') + (!row.storageDate ? "入库时间," : '') + (!row.warehouseName ? "仓库" : '') + "不能为空");
                 }
                 if (row.confirmDispatchVehicles == 1) {
                     const loading = this.$loading({
@@ -1853,8 +2162,8 @@ export default {
 
             }
             if (name == '出库确认') {
-                if (!row.outQuantity || !row.outWeight) {
-                    return this.$message.error((!row.outQuantity ? "出库件数," : '') + (!row.outWeight ? "出库重量" : '') + "不能为空");
+                if (!row.outStorageDate || !row.outQuantity || !row.outWeight) {
+                    return this.$message.error((!row.outStorageDate ? "出库时间," : '') + (!row.outQuantity ? "出库件数," : '') + (!row.outWeight ? "出库重量" : '') + "不能为空");
                 }
                 if (row.confirmDispatchVehicles == 1) {
                     const loading = this.$loading({
@@ -1953,8 +2262,8 @@ export default {
                 if (valid) {
                     for (let row of this.form.preContainersList) {
                         console.log(row)
-                        if (!row.cntrTypeCode || !row.boxNo || !row.goodsName || !row.goodsType || !row.number || !row.netWeight || !row.price) {
-                            return this.$message.error("箱信息:" + (!row.cntrTypeCode ? "箱型," : '') + (!row.boxNo ? "箱号," : '') + (!row.goodsName ? "品名," : '') + (!row.goodsType ? "类型," : '') + (!row.number ? "件数," : '') + (!row.netWeight ? "重量," : '') + (!row.price ? "单价" : '') + "不能为空");
+                        if (!row.cntrTypeCode || !row.boxNo || !row.goodsName || !row.goodsType || !row.number || !row.netWeight || !row.amount) {
+                            return this.$message.error("箱信息:" + (!row.cntrTypeCode ? "箱型," : '') + (!row.boxNo ? "箱号," : '') + (!row.goodsName ? "品名," : '') + (!row.goodsType ? "类型," : '') + (!row.number ? "件数," : '') + (!row.netWeight ? "净重," : '') + (!row.amount ? "总金额" : '') + "不能为空");
                         }
                     }
                     if (this.$refs.feeInfo.submitValidate()) {
@@ -2140,4 +2449,5 @@ export default {
 
 ::v-deep .el-card__body {
     padding: 3px 10px;
-}</style>
+}
+</style>

+ 3 - 1
src/views/wel/components/losAssembly/losleftform.vue

@@ -50,7 +50,7 @@
 </template>
 
 <script>
-import { monthSales, documentQuantityStatistics, completionRate } from "@/api/wel";
+import { monthSales, documentQuantityStatistics, completionRate,boxReturnReminder,withdrawalReminder } from "@/api/wel";
 import search from "@/page/index/search.vue";
 import { dateFormat, defaultDate2, defaultDate3 } from "@/util/date";
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
@@ -76,6 +76,8 @@ export default {
   created() {
     this.saberTenantId = JSON.parse(localStorage.getItem('saber-tenantId')).content
     this.realDate = defaultDate2();
+    boxReturnReminder()
+    withdrawalReminder()
   },
   mounted() {
     this.init();