Просмотр исходного кода

新加价格编号 新加发送下货纸模块

Qukatie 4 месяцев назад
Родитель
Сommit
c95e6402f1

+ 16 - 0
src/api/iosBasicData/ReceivingOrders/precontainers.js

@@ -88,4 +88,20 @@ export const precontainers = (current, size, params) => {
       size,
     }
   })
+} 
+//海运出口-发送下货纸校验
+export const sendVerificationPrompt = (row) => {
+  return request({
+    url: '/api/blade-los/bills/sendVerificationPrompt',
+    method: 'get',
+    params:row
+  })
+}
+//海运出口-发送下货纸
+export const sendDeliveryPaper = (row) => {
+  return request({
+    url: '/api/blade-los/bills/sendDeliveryPaper',
+    method: 'get',
+    params:row
+  })
 }

+ 8 - 0
src/api/iosBasicData/businessCenter/bookingCabin.js

@@ -186,4 +186,12 @@ export function refundCabin(data) {
         method: 'post',
         data: data
     })
+}
+// 客户订舱-校验
+export function verificationPrompt(data) {
+    return request({
+        url: '/api/blade-los/bookingCabin/verificationPrompt',
+        method: 'post',
+        data: data
+    })
 }

+ 201 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/components/sendEdi.vue

@@ -0,0 +1,201 @@
+<template>
+  <div>
+    <el-dialog title="发送下货纸" :visible.sync="dialogVisible" append-to-body width="60%" :before-close="handleClose">
+      <avue-crud
+        v-if="dialogVisible"
+        :option="option"
+        :table-loading="loading"
+        :data="data"
+        ref="crud"
+        id="out-table"
+        :header-cell-class-name="headerClassName"
+      >
+      </avue-crud>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false" size="mini">取 消</el-button>
+        <el-button type="primary" @click="submit" size="mini">发 送</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { sendDeliveryPaper } from "@/api/iosBasicData/ReceivingOrders/precontainers";
+export default {
+  props: {},
+  data() {
+    return {
+      id: null,
+      data: [],
+      ids: null,
+      dialogVisible: false,
+      loading: false,
+      option: {
+        height: 500,
+        calcHeight: 30,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        delBtn: false,
+        editBtn: false,
+        menu: false,
+        header: false,
+        column: [
+          {
+            label: "开船日期",
+            prop: "etd",
+            overHidden: true
+          },
+          {
+            label: "目的港",
+            prop: "podEnName",
+            overHidden: true
+          },
+          {
+            label: "船名航次",
+            prop: "vesselCnName",
+            overHidden: true
+          },
+          {
+            label: "航次",
+            prop: "voyageNo",
+            overHidden: true
+          },
+          {
+            label: "箱主",
+            prop: "boxOwner",
+            overHidden: true
+          },
+          {
+            label: "入港箱主",
+            prop: "inboundContainerOwner",
+            overHidden: true
+          },
+          {
+            label: "转港",
+            prop: "potEnName",
+            overHidden: true
+          },
+          {
+            label: "提单号",
+            prop: "mblno",
+            overHidden: true
+          },
+          {
+            label: "箱型箱量",
+            prop: "quantityCntrDescr",
+            overHidden: true
+          },
+          {
+            label: "货物毛重",
+            prop: "grossWeight",
+            overHidden: true
+          },
+          {
+            label: "放箱号",
+            prop: "containerNumber",
+            overHidden: true
+          }
+        ]
+      }
+    };
+  },
+  async created() {
+    // this.option = await this.getColumnData(this.getColumnName(309.6), this.optionBack);
+  },
+  methods: {
+    openDialog(val) {
+      this.dialogVisible = true;
+      this.ids = val;
+      this.getList();
+      // this.loading = true
+      // MktSlotQuotation(obj).then(res => {
+      //     this.data = res.data.data
+      // }).finally(() => {
+      //     this.loading = false
+      // })
+    },
+    submit() {
+      // if (!this.quotationObj) {
+      //     return this.$message.error("请选择数据");
+      // }
+      // delete this.quotationObj.id
+      // let obj = {
+      //     id: this.form.id
+      // }
+      // synchronousBoxType(obj).then(res => {
+      //     this.$emit('importData', this.quotationObj)
+      //     this.$message.success("操作成功");
+      //     this.dialogVisible = false;
+      // })
+    },
+    getList() {
+      let obj = {
+        ids: this.ids
+      };
+      this.loading = true;
+      sendDeliveryPaper(obj)
+        .then(res => {
+          this.data = res.data.data;
+          // this.page.total = res.data.data.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    //自定义列保存
+    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;
+      }
+    },
+
+    // 更改表格颜色
+    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";
+        }
+      }
+      return back;
+    }
+  }
+};
+</script>
+
+<style scoped>
+::v-deep#out-table .back-one {
+  background: #ecf5ff !important;
+  text-align: center;
+  padding: 4px 0;
+}
+
+::v-deep#out-table .back-two {
+  background: #ecf5ff !important;
+  text-align: center;
+  padding: 4px 0;
+}
+</style>

+ 1132 - 1001
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue

@@ -1,98 +1,188 @@
 <template>
-    <basic-container>
-        <avue-crud :option="option" :table-loading="loading" :data="assemblyForm.preContainersList" :page.sync="page"
-            :permission="permissionList" :before-open="beforeOpen" v-model="form"
-            :cell-style="{ padding: '0px', textAlign: 'center' }" ref="crud" @row-update="rowUpdate" @row-save="rowSave"
-            @row-del="rowDel" @selection-change="selectionChange" @refresh-change="refreshChange"
-            @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 487)"
-            @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 487)">
-            <template slot="menuLeft">
-                <el-button type="primary" size="small"
-                    :disabled="seeDisabled || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
-                    @click.stop="addfun">{{ $t("btn118n.new") }}</el-button>
-                <el-button type="danger" size="small" plain
-                    :disabled="seeDisabled || assemblyForm.preContainersList.length == 0 || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
-                    @click.stop="handleDelete">{{ $t("btn118n.deleted") }}
-                </el-button>
-                <el-button type="primary" size="small"
-                    :disabled="seeDisabled || assemblyForm.preContainersList.length == 0"
-                    @click="batchSavefun">{{ $t("btn118n.save") }}</el-button>
-                <el-button type="info" plain size="small"
-                    :disabled="seeDisabled || assemblyForm.preContainersList.length == 0" @click="onclickEdit">{{ $t("btn118n.edit") }}
-                </el-button>
-                <el-button v-if="assemblyForm.whetherModify == 1" type="success" plain size="small"
-                    :disabled="seeDisabled" @click="confirmBox">确认箱型
-                </el-button>
-            </template>
-            <template slot-scope="{row,index}" slot="menu">
-                <el-button v-if="row.id && row.containerNumberStatus == '录入' && assemblyForm.billType != 'MM'"
-                    size="mini" type="text" @click.stop="pick(row)" :disabled="seeDisabled">
-                    选择
-                </el-button>
-                <el-button v-if="row.id && row.containerNumberStatus == '已选择' && assemblyForm.billType != 'MM'"
-                    size="mini" type="text" @click.stop="rowRevoke(row)" :disabled="seeDisabled">
-                    撤销
-                </el-button>
-                <el-button v-if="row.id && row.containerNumberStatus == '已选择' && assemblyForm.billType != 'MM'"
-                    size="mini" type="text" @click.stop="rowView(row)" :disabled="seeDisabled">
-                    查看放箱号
-                </el-button>
-            </template>
-            <template slot-scope="{row}" slot="cntrTypeCodeForm">
-                <search-query :datalist="cntrTypeCodeData" :selectValue="row.cntrTypeCode" :filterable="true"
-                    :clearable="true" :remote="true" :buttonIf="false"
-                    :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择尺码箱型"
-                    @remoteMethod="remoteMethod($event, 'cntrTypeCode')" @corpChange="corpChange($event, row)"
-                    @corpFocus="remoteMethod($event, 'cntrTypeCode')" @corpClear="corpClear($event, row)">
-                </search-query>
-            </template>
-            <template slot="number" slot-scope="{ row }">
-                <el-input v-if="row.$cellEdit" style="width: 100%;" v-model="row.number" size="small" autocomplete="off"
-                    min="0" @blur="numberBlur(row)" clearable placeholder="请输入件数"></el-input>
-                <span v-else>{{ row.number }}</span>
-            </template>
-            <template slot="grossWeight" slot-scope="{ row }">
-                <el-input v-if="row.$cellEdit" style="width: 100%;" v-model="row.grossWeight" size="small"
-                    autocomplete="off" min="0" @blur="grossWeightBlur(row)" clearable placeholder="请输入毛重"></el-input>
-                <span v-else>{{ row.grossWeight }}</span>
-            </template>
-            <template slot="measurement" slot-scope="{ row }">
-                <el-input v-if="row.$cellEdit" style="width: 100%;" v-model="row.measurement" size="small"
-                    autocomplete="off" min="0" @blur="measurementBlur(row)" clearable placeholder="请输入尺码"></el-input>
-                <span v-else>{{ row.measurement }}</span>
-            </template>
+  <basic-container>
+    <avue-crud
+      :option="option"
+      :table-loading="loading"
+      :data="assemblyForm.preContainersList"
+      :page.sync="page"
+      :permission="permissionList"
+      :before-open="beforeOpen"
+      v-model="form"
+      :cell-style="{ padding: '0px', textAlign: 'center' }"
+      ref="crud"
+      @row-update="rowUpdate"
+      @row-save="rowSave"
+      @row-del="rowDel"
+      @selection-change="selectionChange"
+      @refresh-change="refreshChange"
+      @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 487)"
+      @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 487)"
+    >
+      <template slot="menuLeft">
+        <el-button
+          type="primary"
+          size="small"
+          :disabled="seeDisabled || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
+          @click.stop="addfun"
+          >{{ $t("btn118n.new") }}</el-button
+        >
+        <el-button
+          type="danger"
+          size="small"
+          plain
+          :disabled="
+            seeDisabled ||
+              assemblyForm.preContainersList.length == 0 ||
+              assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0
+          "
+          @click.stop="handleDelete"
+          >{{ $t("btn118n.deleted") }}
+        </el-button>
+        <el-button type="primary" size="small" :disabled="seeDisabled || assemblyForm.preContainersList.length == 0" @click="batchSavefun">{{
+          $t("btn118n.save")
+        }}</el-button>
+        <el-button type="info" plain size="small" :disabled="seeDisabled || assemblyForm.preContainersList.length == 0" @click="onclickEdit"
+          >{{ $t("btn118n.edit") }}
+        </el-button>
+        <el-button v-if="assemblyForm.whetherModify == 1" type="success" plain size="small" :disabled="seeDisabled" @click="confirmBox"
+          >确认箱型
+        </el-button>
+        <el-button type="success" plain size="small" :disabled="seeDisabled" @click="sendEdi">发送下货纸 </el-button>
+      </template>
+      <template slot-scope="{ row, index }" slot="menu">
+        <el-button
+          v-if="row.id && row.containerNumberStatus == '录入' && assemblyForm.billType != 'MM'"
+          size="mini"
+          type="text"
+          @click.stop="pick(row)"
+          :disabled="seeDisabled"
+        >
+          选择
+        </el-button>
+        <el-button
+          v-if="row.id && row.containerNumberStatus == '已选择' && assemblyForm.billType != 'MM'"
+          size="mini"
+          type="text"
+          @click.stop="rowRevoke(row)"
+          :disabled="seeDisabled"
+        >
+          撤销
+        </el-button>
+        <el-button
+          v-if="row.id && row.containerNumberStatus == '已选择' && assemblyForm.billType != 'MM'"
+          size="mini"
+          type="text"
+          @click.stop="rowView(row)"
+          :disabled="seeDisabled"
+        >
+          查看放箱号
+        </el-button>
+      </template>
+      <template slot-scope="{ row }" slot="cntrTypeCodeForm">
+        <search-query
+          :datalist="cntrTypeCodeData"
+          :selectValue="row.cntrTypeCode"
+          :filterable="true"
+          :clearable="true"
+          :remote="true"
+          :buttonIf="false"
+          :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
+          placeholder="请选择尺码箱型"
+          @remoteMethod="remoteMethod($event, 'cntrTypeCode')"
+          @corpChange="corpChange($event, row)"
+          @corpFocus="remoteMethod($event, 'cntrTypeCode')"
+          @corpClear="corpClear($event, row)"
+        >
+        </search-query>
+      </template>
+      <template slot="number" slot-scope="{ row }">
+        <el-input
+          v-if="row.$cellEdit"
+          style="width: 100%;"
+          v-model="row.number"
+          size="small"
+          autocomplete="off"
+          min="0"
+          @blur="numberBlur(row)"
+          clearable
+          placeholder="请输入件数"
+        ></el-input>
+        <span v-else>{{ row.number }}</span>
+      </template>
+      <template slot="grossWeight" slot-scope="{ row }">
+        <el-input
+          v-if="row.$cellEdit"
+          style="width: 100%;"
+          v-model="row.grossWeight"
+          size="small"
+          autocomplete="off"
+          min="0"
+          @blur="grossWeightBlur(row)"
+          clearable
+          placeholder="请输入毛重"
+        ></el-input>
+        <span v-else>{{ row.grossWeight }}</span>
+      </template>
+      <template slot="measurement" slot-scope="{ row }">
+        <el-input
+          v-if="row.$cellEdit"
+          style="width: 100%;"
+          v-model="row.measurement"
+          size="small"
+          autocomplete="off"
+          min="0"
+          @blur="measurementBlur(row)"
+          clearable
+          placeholder="请输入尺码"
+        ></el-input>
+        <span v-else>{{ row.measurement }}</span>
+      </template>
+    </avue-crud>
+    <el-dialog title="查看放箱号" :visible.sync="dialogVisible" width="50%" :before-close="handleClose" append-to-body>
+      <span>
+        <avue-crud
+          ref="crud2"
+          :option="containerOption"
+          :data="containerNumberItemList"
+          @resetColumn="resetColumnTwo('crud2', 'containerOption', 'containerOptionBack', 488)"
+          @saveColumn="saveColumnTwo('crud2', 'containerOption', 'containerOptionBack', 488)"
+        >
+          <template slot="occupyNum" slot-scope="{ row }">
+            <el-input-number
+              v-if="!row.id"
+              v-model="row.occupyNum"
+              :min="0"
+              :max="row.remainingNum"
+              placeholder="请输入占用箱量"
+              size="small"
+              :controls="false"
+              style="width: 100%;"
+            ></el-input-number>
+            <span v-else>{{ row.occupyNum }}</span>
+          </template>
         </avue-crud>
-        <el-dialog title="查看放箱号" :visible.sync="dialogVisible" width="50%" :before-close="handleClose" append-to-body>
-            <span>
-                <avue-crud ref="crud2" :option="containerOption" :data="containerNumberItemList"
-                    @resetColumn="resetColumnTwo('crud2', 'containerOption', 'containerOptionBack', 488)"
-                    @saveColumn="saveColumnTwo('crud2', 'containerOption', 'containerOptionBack', 488)">
-                    <template slot="occupyNum" slot-scope="{ row }">
-                        <el-input-number v-if="!row.id" v-model="row.occupyNum" :min="0" :max="row.remainingNum"
-                            placeholder="请输入占用箱量" size="small" :controls="false" style="width: 100%;"></el-input-number>
-                        <span v-else>{{ row.occupyNum }}</span>
-                    </template>
-                </avue-crud>
-            </span>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisible = false" size="mini">{{ editStatus ? '取 消' : '关 闭' }}</el-button>
-                <el-button v-if="editStatus" type="primary" @click="submit" size="mini">确 定</el-button>
-            </span>
-        </el-dialog>
-        <import-temp ref="importTemp" @importData="importTemp"></import-temp>
-    </basic-container>
+      </span>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false" size="mini">{{ editStatus ? "取 消" : "关 闭" }}</el-button>
+        <el-button v-if="editStatus" type="primary" @click="submit" size="mini">确 定</el-button>
+      </span>
+    </el-dialog>
+    <import-temp ref="importTemp" @importData="importTemp"></import-temp>
+    <send-edi ref="sendEdi" @importData="sendEdi"></send-edi>
+  </basic-container>
 </template>
 
 <script>
 import {
-    precontainersList,
-    precontainersDetail,
-    precontainersSubmit,
-    precontainersRemove,
-    precontainersSubmitList,
-    getItemListHY,
-    selectedContainerNumber,
-    revokeSelectedContainerNumber,
+  precontainersList,
+  precontainersDetail,
+  precontainersSubmit,
+  precontainersRemove,
+  precontainersSubmitList,
+  getItemListHY,
+  selectedContainerNumber,
+  revokeSelectedContainerNumber,
+  sendVerificationPrompt
 } from "@/api/iosBasicData/ReceivingOrders/precontainers";
 import { getWorkDicts } from "@/api/system/dictbiz";
 import { mapGetters } from "vuex";
@@ -102,938 +192,979 @@ import { containersEqualDistribution } from "@/api/iosBasicData/containers";
 import { requiredMessage } from "@/util/messageReminder";
 import { Header } from "element-ui";
 import importTemp from "./components/importTemp.vue";
-
+import sendEdi from "./components/sendEdi.vue";
 export default {
-    components: { SearchQuery, importTemp },
-    props: {
-        pid: {},
-        assemblyForm: {
-            type: Object,
-            default: {}
-        },
-        seeDisabled: {
-            type: Boolean,
-            default: false,
-        },
-        showLock: {
-            type: Boolean,
-            default: false
-        }
+  components: { SearchQuery, importTemp, sendEdi },
+  props: {
+    pid: {},
+    assemblyForm: {
+      type: Object,
+      default: {}
     },
-    data() {
-        return {
-            editStatus: false,
-            dialogVisible: false,
-            // 集装箱尺码箱型
-            cntrTypeCodeData: [],
-            containerNumberItemList: [],
-            form: {},
-            query: {},
-            loading: false,
-            page: {
-                pageSize: 10,
-                currentPage: 1,
-                total: 0
-            },
-            selectionList: [],
-            option: {},
-            optionBack: {
-                maxHeight: '150px',
-                // calcHeight: 30,
-                calcHeight: 30,
-                menuWidth: 120,
-                tip: false,
-                border: true,
-                addBtn: false,
-                viewBtn: false,
-                editBtn: false,
-                delBtn: false,
-                refreshBtn: false,
-                selection: true,
-                align: 'center',
-                menu: true,
-                index: true,
-                column: [
-                    {
-                        label: this.$t("sea118n.ctnrType"),
-                        prop: "cntrTypeCode",
-                        formslot: true,
-                        cell: true,
-                        width: '120',
-                        rules: [{
-                            required: true,
-                            message: "请选择箱型",
-                            trigger: "blur"
-                        }]
-                    },
-                    {
-                        label: this.$t("sea118n.ctnrQty"),
-                        prop: "quantity",
-                        type: "number",
-                        cell: true,
-                        controls: false,
-                        precision: 0,
-                        width: '120',
-                        rules: [{
-                            required: true,
-                            message: "请输入箱量",
-                            trigger: "blur"
-                        }]
-                    },
-                    {
-                        label: this.$t("sea118n.QTY"),
-                        prop: "number",
-                        type: "number",
-                        width: '120',
-                        // cell:true,
-                        controls: false,
-                        precision: 0,
-                    },
-                    {
-                        label: this.$t("sea118n.GW"),
-                        prop: "grossWeight",
-                        width: '120',
-                        type: "number",
-                        // cell:true,
-                        controls: false,
-                    },
-                    {
-                        label: this.$t("sea118n.CBM"),
-                        prop: "measurement",
-                        width: '120',
-                        type: "number",
-                        // cell:true,
-                        controls: false,
-                    },
-                    {
-                        label: "temperature",
-                        prop: "temperature",
-                        cell: true,
-                        controls: false,
-                        // type:"number",
-                        width: "120"
-                    },
-                    {
-                        label: "temperatureUnit",
-                        prop: "temperatureUnit",
-                        type: 'select',
-                        cell: true,
-                        dicData: [{
-                            label: '摄氏度',
-                            value: 'C'
-                        }, {
-                            label: '华氏度',
-                            value: 'F'
-                        }]
-                    },
-                    {
-                        label: "通风度",
-                        prop: "ventilation",
-                        cell: true,
-                        controls: false,
-                        // type:"number",
-                        width: "120"
-                    },
-                    {
-                        label: "湿度",
-                        prop: "humidity",
-                        cell: true,
-                        controls: false,
-                        // type:"number",
-                        width: "120"
-                    },
-                    {
-                        label: "SOC",
-                        prop: "isSoc",
-                        width: '120',
-                        type: 'select',
-                        cell: true,
-                        dicData: [{
-                            label: '否',
-                            value: 0
-                        }, {
-                            label: '是',
-                            value: 1
-                        }]
-                    },
-                    {
-                        label: "单程",
-                        prop: "isOneway",
-                        type: 'select',
-                        cell: true,
-                        dicData: [{
-                            label: '否',
-                            value: 0
-                        }, {
-                            label: '是',
-                            value: 1
-                        }]
-                    },
-                    {
-                        label: "NOR",
-                        prop: "nor",
-                        width: '100',
-                        type: 'select',
-                        cell: true,
-                        dicData: [{
-                            label: '否',
-                            value: 0
-                        }, {
-                            label: '是',
-                            value: 1
-                        }]
-                    },
-                    {
-                        label: "OOG",
-                        prop: "oog",
-                        width: '120',
-                        type: 'select',
-                        cell: true,
-                        dicData: [{
-                            label: '否',
-                            value: 0
-                        }, {
-                            label: '是',
-                            value: 1
-                        }]
-                    },
-                    {
-                        label: "左超(CM)",
-                        prop: "overLeft",
-                        type: "number",
-                        cell: true,
-                        controls: false,
-                    },
-                    {
-                        label: "右超(CM)",
-                        prop: "overRight",
-                        type: "number",
-                        cell: true,
-                        controls: false,
-                    },
-                    {
-                        label: "前超(CM)",
-                        prop: "overFront",
-                        type: "number",
-                        cell: true,
-                        controls: false,
-                    },
-                    {
-                        label: "后超(CM)",
-                        prop: "overBack",
-                        type: "number",
-                        cell: true,
-                        controls: false,
-                    },
-                    {
-                        label: "超高(CM)",
-                        prop: "overHeight",
-                        type: "number",
-                        cell: true,
-                        controls: false,
-                    },
-                    {
-                        label: "备注",
-                        prop: "remarks",
-                        span: 24,
-                        type: 'textarea',
-                        slot: true,
-                        minRows: 3,
-                    },
-                ]
-            },
-            data: [],
-            containerOption: {},
-            containerOptionBack: {
-                height: '500',
-                // calcHeight: 30,
-                calcHeight: 30,
-                menuWidth: 160,
-                tip: false,
-                border: true,
-                addBtn: false,
-                viewBtn: false,
-                editBtn: false,
-                delBtn: false,
-                refreshBtn: false,
-                align: 'center',
-                menu: false,
-                index: true,
-                column: [
-                    {
-                        label: "放箱号",
-                        prop: "containerNumber",
-                        width: 100,
-                        overHidden: true,
-                    },
-                    {
-                        label: "内部放箱号",
-                        prop: "internalContainerNumber",
-                        width: 100,
-                        overHidden: true,
-                    },
-                    {
-                        label: "放箱号类型",
-                        prop: "busType",
-                        width: 100,
-                        overHidden: true,
-                    },
-                    {
-                        label: "场站",
-                        prop: "polStationCname",
-                        width: 100,
-                        overHidden: true,
-                    },
-                    {
-                        label: "箱型",
-                        prop: "boxType",
-                        width: 100,
-                        overHidden: true,
-                    },
-                    {
-                        label: "可用箱数",
-                        prop: "remainingNum",
-                        width: 100,
-                        overHidden: true,
-                    },
-                    {
-                        label: "占用箱量",
-                        prop: "occupyNum",
-                        width: 100,
-                        overHidden: true,
-                    },
-                    {
-                        label: "优先等级",
-                        prop: "priorityLevel",
-                        width: 100,
-                        overHidden: true,
-                    },
+    seeDisabled: {
+      type: Boolean,
+      default: false
+    },
+    showLock: {
+      type: Boolean,
+      default: false
+    }
+  },
+  data() {
+    return {
+      editStatus: false,
+      dialogVisible: false,
+      // 集装箱尺码箱型
+      cntrTypeCodeData: [],
+      containerNumberItemList: [],
+      form: {},
+      query: {},
+      loading: false,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0
+      },
+      selectionList: [],
+      option: {},
+      optionBack: {
+        maxHeight: "150px",
+        // calcHeight: 30,
+        calcHeight: 30,
+        menuWidth: 120,
+        tip: false,
+        border: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        refreshBtn: false,
+        selection: true,
+        align: "center",
+        menu: true,
+        index: true,
+        column: [
+          {
+            label: this.$t("sea118n.ctnrType"),
+            prop: "cntrTypeCode",
+            formslot: true,
+            cell: true,
+            width: "120",
+            rules: [
+              {
+                required: true,
+                message: "请选择箱型",
+                trigger: "blur"
+              }
+            ]
+          },
+          {
+            label: this.$t("sea118n.ctnrQty"),
+            prop: "quantity",
+            type: "number",
+            cell: true,
+            controls: false,
+            precision: 0,
+            width: "120",
+            rules: [
+              {
+                required: true,
+                message: "请输入箱量",
+                trigger: "blur"
+              }
+            ]
+          },
+          {
+            label: this.$t("sea118n.QTY"),
+            prop: "number",
+            type: "number",
+            width: "120",
+            // cell:true,
+            controls: false,
+            precision: 0
+          },
+          {
+            label: this.$t("sea118n.GW"),
+            prop: "grossWeight",
+            width: "120",
+            type: "number",
+            // cell:true,
+            controls: false
+          },
+          {
+            label: this.$t("sea118n.CBM"),
+            prop: "measurement",
+            width: "120",
+            type: "number",
+            // cell:true,
+            controls: false
+          },
+          {
+            label: "temperature",
+            prop: "temperature",
+            cell: true,
+            controls: false,
+            // type:"number",
+            width: "120"
+          },
+          {
+            label: "temperatureUnit",
+            prop: "temperatureUnit",
+            type: "select",
+            cell: true,
+            dicData: [
+              {
+                label: "摄氏度",
+                value: "C"
+              },
+              {
+                label: "华氏度",
+                value: "F"
+              }
+            ]
+          },
+          {
+            label: "通风度",
+            prop: "ventilation",
+            cell: true,
+            controls: false,
+            // type:"number",
+            width: "120"
+          },
+          {
+            label: "湿度",
+            prop: "humidity",
+            cell: true,
+            controls: false,
+            // type:"number",
+            width: "120"
+          },
+          {
+            label: "SOC",
+            prop: "isSoc",
+            width: "120",
+            type: "select",
+            cell: true,
+            dicData: [
+              {
+                label: "否",
+                value: 0
+              },
+              {
+                label: "是",
+                value: 1
+              }
+            ]
+          },
+          {
+            label: "单程",
+            prop: "isOneway",
+            type: "select",
+            cell: true,
+            dicData: [
+              {
+                label: "否",
+                value: 0
+              },
+              {
+                label: "是",
+                value: 1
+              }
+            ]
+          },
+          {
+            label: "NOR",
+            prop: "nor",
+            width: "100",
+            type: "select",
+            cell: true,
+            dicData: [
+              {
+                label: "否",
+                value: 0
+              },
+              {
+                label: "是",
+                value: 1
+              }
+            ]
+          },
+          {
+            label: "OOG",
+            prop: "oog",
+            width: "120",
+            type: "select",
+            cell: true,
+            dicData: [
+              {
+                label: "否",
+                value: 0
+              },
+              {
+                label: "是",
+                value: 1
+              }
+            ]
+          },
+          {
+            label: "左超(CM)",
+            prop: "overLeft",
+            type: "number",
+            cell: true,
+            controls: false
+          },
+          {
+            label: "右超(CM)",
+            prop: "overRight",
+            type: "number",
+            cell: true,
+            controls: false
+          },
+          {
+            label: "前超(CM)",
+            prop: "overFront",
+            type: "number",
+            cell: true,
+            controls: false
+          },
+          {
+            label: "后超(CM)",
+            prop: "overBack",
+            type: "number",
+            cell: true,
+            controls: false
+          },
+          {
+            label: "超高(CM)",
+            prop: "overHeight",
+            type: "number",
+            cell: true,
+            controls: false
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            span: 24,
+            type: "textarea",
+            slot: true,
+            minRows: 3
+          }
+        ]
+      },
+      data: [],
+      containerOption: {},
+      containerOptionBack: {
+        height: "500",
+        // calcHeight: 30,
+        calcHeight: 30,
+        menuWidth: 160,
+        tip: false,
+        border: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        refreshBtn: false,
+        align: "center",
+        menu: false,
+        index: true,
+        column: [
+          {
+            label: "放箱号",
+            prop: "containerNumber",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "内部放箱号",
+            prop: "internalContainerNumber",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "放箱号类型",
+            prop: "busType",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "场站",
+            prop: "polStationCname",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "箱型",
+            prop: "boxType",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "可用箱数",
+            prop: "remainingNum",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "占用箱量",
+            prop: "occupyNum",
+            width: 100,
+            overHidden: true
+          },
+          {
+            label: "优先等级",
+            prop: "priorityLevel",
+            width: 100,
+            overHidden: true
+          },
 
-                    {
-                        label: "箱管备注",
-                        prop: "boxRemarks",
-                        width: 100,
-                        overHidden: true,
-                    },
+          {
+            label: "箱管备注",
+            prop: "boxRemarks",
+            width: 100,
+            overHidden: true
+          },
 
-                    {
-                        label: "备注",
-                        prop: "remarks",
-                        width: 100,
-                        overHidden: true,
-                    },
-                ]
-            },
-        };
+          {
+            label: "备注",
+            prop: "remarks",
+            width: 100,
+            overHidden: true
+          }
+        ]
+      }
+    };
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.precontainers_add, false),
+        viewBtn: this.vaildData(this.permission.precontainers_view, false),
+        delBtn: this.vaildData(this.permission.precontainers_delete, false),
+        editBtn: this.vaildData(this.permission.precontainers_edit, false)
+      };
     },
-    computed: {
-        ...mapGetters(["permission"]),
-        permissionList() {
-            return {
-                addBtn: this.vaildData(this.permission.precontainers_add, false),
-                viewBtn: this.vaildData(this.permission.precontainers_view, false),
-                delBtn: this.vaildData(this.permission.precontainers_delete, false),
-                editBtn: this.vaildData(this.permission.precontainers_edit, false)
-            };
-        },
-        ids() {
-            let ids = [];
-            this.selectionList.forEach(ele => {
-                ids.push(ele.id);
-            });
-            return ids.join(",");
+    ids() {
+      let ids = [];
+      this.selectionList.forEach(ele => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    }
+  },
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(487), this.optionBack);
+    this.containerOption = await this.getColumnData(this.getColumnName(488), this.containerOptionBack);
+  },
+  methods: {
+    sendEdi() {
+      sendVerificationPrompt({ ids: this.assemblyForm.id }).then(res => {
+        this.$refs.sendEdi.openDialog(this.assemblyForm.id);
+      });
+    },
+    confirmBox() {
+      this.$refs.importTemp.openDialog(this.assemblyForm);
+    },
+    importTemp() {
+      this.$emit("billsDetailfun");
+    },
+    submit() {
+      // let obj = {
+      //     containerNumberItemList:
+      // }
+      // for (let item of ) {
+      //     if (!(item.occupyNum > 0)) {
+      //         return this.$message.error("占用箱量必须大于0!");
+      //     }
+      // }
+      if (this.containerNumberItemList.filter(item => item.occupyNum > 0).length == 0) {
+        return this.$message.error("至少有一条占用箱量大于0!");
+      }
+      selectedContainerNumber(this.containerNumberItemList).then(res => {
+        this.$message.success("操作成功!");
+        this.dialogVisible = false;
+        this.$emit("billsDetailfun");
+      });
+    },
+    pick(row) {
+      this.containerNumberItemList = [];
+      if (!this.assemblyForm.polId) {
+        return this.$message.error("请选择装货港");
+      }
+      if (!this.assemblyForm.podId) {
+        return this.$message.error("请选择卸货港");
+      }
+      let obj = {
+        boxType: row.cntrTypeCode,
+        polId: this.assemblyForm.polId,
+        podId: this.assemblyForm.podId,
+        cabinType: this.assemblyForm.cabinType,
+        airlineId: this.assemblyForm.airlineId,
+        etd: this.assemblyForm.etd + " 00:00:00"
+      };
+      getItemListHY(obj).then(res => {
+        if (res.data.data) {
+          res.data.data.forEach(item => {
+            item.pid = this.assemblyForm.id;
+          });
+          this.editStatus = true;
+          this.containerNumberItemList = res.data.data;
         }
+      });
+      this.dialogVisible = true;
     },
-    async created() {
-        this.option = await this.getColumnData(this.getColumnName(487), this.optionBack);
-        this.containerOption = await this.getColumnData(this.getColumnName(488), this.containerOptionBack);
+    rowRevoke(row) {
+      let obj = {
+        boxType: row.cntrTypeCode,
+        billId: this.assemblyForm.id
+      };
+      revokeSelectedContainerNumber(obj).then(res => {
+        this.$message.success("操作成功!");
+        this.$emit("billsDetailfun");
+      });
     },
-    methods: {
-        confirmBox() {
-            this.$refs.importTemp.openDialog(this.assemblyForm)
-        },
-        importTemp() {
-            this.$emit('billsDetailfun')
-        },
-        submit() {
-            // let obj = {
-            //     containerNumberItemList:
-            // }
-            // for (let item of ) {
-            //     if (!(item.occupyNum > 0)) {
-            //         return this.$message.error("占用箱量必须大于0!");
-            //     }
-            // }
-            if (this.containerNumberItemList.filter(item => item.occupyNum > 0).length == 0) {
-                return this.$message.error("至少有一条占用箱量大于0!");
-            }
-            selectedContainerNumber(this.containerNumberItemList).then(res => {
-                this.$message.success("操作成功!");
-                this.dialogVisible = false
-                this.$emit('billsDetailfun')
-            })
-        },
-        pick(row) {
-            this.containerNumberItemList = []
-            if (!this.assemblyForm.polId) {
-                return this.$message.error("请选择装货港");
-            }
-            if (!this.assemblyForm.podId) {
-                return this.$message.error("请选择卸货港");
-            }
-            let obj = {
-                boxType: row.cntrTypeCode,
-                polId: this.assemblyForm.polId,
-                podId: this.assemblyForm.podId,
-                cabinType: this.assemblyForm.cabinType,
-                airlineId: this.assemblyForm.airlineId,
-                etd: this.assemblyForm.etd + ' 00:00:00',
-            }
-            getItemListHY(obj).then(res => {
-                if (res.data.data) {
-                    res.data.data.forEach(item => {
-                        item.pid = this.assemblyForm.id
-                    })
-                    this.editStatus = true
-                    this.containerNumberItemList = res.data.data
-                }
-            })
-            this.dialogVisible = true
-
-        },
-        rowRevoke(row) {
-            let obj = {
-                boxType: row.cntrTypeCode,
-                billId: this.assemblyForm.id
-            }
-            revokeSelectedContainerNumber(obj).then(res => {
-                this.$message.success("操作成功!");
-                this.$emit('billsDetailfun')
-            })
-        },
-        rowView(row) {
-            this.containerNumberItemList = []
-            this.editStatus = false
-            this.dialogVisible = true
-            this.containerNumberItemList = this.assemblyForm.containerNumberItemList.filter(item => row.cntrTypeCode == item.boxType && item.occupyNum > 0)
-        },
-        handleClose() {
-            this.dialogVisible = false
-            this.editStatus = false
-        },
-        onclickEdit() {
-            // for (let item of this.assemblyForm.preContainersList) {
-            //     if(item.containerNumberStatus == '已选择'){
-            //         return this.$message.error('请撤销放箱号,再进行编辑!')
-            //     }else{
-            //     this.$delete(item, '$cellEdit')
-            //     this.$set(item, '$cellEdit', true)
-            //     }
-            // }
-            console.log()
-            if (this.assemblyForm.containersList.length > 0) {
-                this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
-                    confirmButtonText: '确定',
-                });
-            } else {
-                for (let item of this.assemblyForm.preContainersList) {
-                    this.$delete(item, '$cellEdit')
-                    this.$set(item, '$cellEdit', true)
-                }
-            }
-        },
-        // 件数失焦事件
-        numberBlur(row) {
-            let quantityNum = 0
-            for (let item of this.assemblyForm.preContainersList) {
-                if (item.number) {
-                    quantityNum += Number(item.number)
-                }
-            }
-            if (quantityNum != 0) {
-                this.assemblyForm.quantity = quantityNum
-            }
-        },
-        // 毛重失焦事件
-        grossWeightBlur(row) {
-            let grossWeightNum = 0
-            for (let item of this.assemblyForm.preContainersList) {
-                if (item.grossWeight) {
-                    grossWeightNum += Number(item.grossWeight)
-                }
-            }
-            if (grossWeightNum != 0) {
-                this.assemblyForm.grossWeight = grossWeightNum
-            }
-        },
-        // 尺码失焦事件
-        measurementBlur(row) {
-            let measurementNum = 0
-            for (let item of this.assemblyForm.preContainersList) {
-                if (item.measurement) {
-                    measurementNum += Number(item.measurement)
-                }
-            }
-            if (measurementNum != 0) {
-                this.assemblyForm.measurement = measurementNum
-            }
-        },
-        // 一键编辑
-        oneTouchEditefun() {
-            for (let item of this.assemblyForm.preContainersList) {
-                this.$refs.crud.rowCell(item, item.$index)
-            }
+    rowView(row) {
+      this.containerNumberItemList = [];
+      this.editStatus = false;
+      this.dialogVisible = true;
+      this.containerNumberItemList = this.assemblyForm.containerNumberItemList.filter(item => row.cntrTypeCode == item.boxType && item.occupyNum > 0);
+    },
+    handleClose() {
+      this.dialogVisible = false;
+      this.editStatus = false;
+    },
+    onclickEdit() {
+      // for (let item of this.assemblyForm.preContainersList) {
+      //     if(item.containerNumberStatus == '已选择'){
+      //         return this.$message.error('请撤销放箱号,再进行编辑!')
+      //     }else{
+      //     this.$delete(item, '$cellEdit')
+      //     this.$set(item, '$cellEdit', true)
+      //     }
+      // }
+      console.log();
+      if (this.assemblyForm.containersList.length > 0) {
+        this.$alert("当前数据已经均分箱量,请撤销之后再修改", "提示", {
+          confirmButtonText: "确定"
+        });
+      } else {
+        for (let item of this.assemblyForm.preContainersList) {
+          this.$delete(item, "$cellEdit");
+          this.$set(item, "$cellEdit", true);
+        }
+      }
+    },
+    // 件数失焦事件
+    numberBlur(row) {
+      let quantityNum = 0;
+      for (let item of this.assemblyForm.preContainersList) {
+        if (item.number) {
+          quantityNum += Number(item.number);
+        }
+      }
+      if (quantityNum != 0) {
+        this.assemblyForm.quantity = quantityNum;
+      }
+    },
+    // 毛重失焦事件
+    grossWeightBlur(row) {
+      let grossWeightNum = 0;
+      for (let item of this.assemblyForm.preContainersList) {
+        if (item.grossWeight) {
+          grossWeightNum += Number(item.grossWeight);
+        }
+      }
+      if (grossWeightNum != 0) {
+        this.assemblyForm.grossWeight = grossWeightNum;
+      }
+    },
+    // 尺码失焦事件
+    measurementBlur(row) {
+      let measurementNum = 0;
+      for (let item of this.assemblyForm.preContainersList) {
+        if (item.measurement) {
+          measurementNum += Number(item.measurement);
+        }
+      }
+      if (measurementNum != 0) {
+        this.assemblyForm.measurement = measurementNum;
+      }
+    },
+    // 一键编辑
+    oneTouchEditefun() {
+      for (let item of this.assemblyForm.preContainersList) {
+        this.$refs.crud.rowCell(item, item.$index);
+      }
 
-            console.log(this.assemblyForm.preContainersList, 294)
-            // $cellEdit
-        },
-        // 批量保存
-        batchSavefun() {
-            if (!this.assemblyForm.id) {
-                this.$message({
-                    message: '请先点击右上角保存按钮,保存数据之后才能添加!',
-                    type: 'warning'
-                });
-                return
-            }
-            // let numberSum = 0
-            // let grossWeightSum = 0
-            // let measurementSum = 0
-            // for (let item of this.assemblyForm.preContainersList) {
-            //     numberSum += Number(item.number)
-            //     grossWeightSum += Number(item.grossWeight)
-            //     measurementSum += Number(item.measurement)
-            //     if (!item.cntrTypeCode) {
-            //         this.$message.warning('请选择尺码箱型')
-            //         return;
-            //     }
-            //     if (!item.quantity) {
-            //         this.$message.warning('请输入箱量')
-            //         return;
-            //     }
-            //     item.pid = this.assemblyForm.id
-            // }
-            // if (numberSum>0&&(numberSum != this.assemblyForm.quantity)) return this.$message.error('箱型所有的件数不等于总件数')
-            // this.$confirm("批量保存后,需要重新配箱,确认继续?", {
-            //     confirmButtonText: "确定",
-            //     cancelButtonText: "取消",
-            //     type: "warning"
-            // }).then(() => {
-            //     precontainersSubmitList(this.assemblyForm.preContainersList).then(res => {
-            //         this.$message({
-            //             type: "success",
-            //             message: "操作成功!"
-            //         });
-            //         this.$emit('billsDetailfun')
-            //     })
-            // })
-            // assemblyForm.containersList
-            for (let item of this.assemblyForm.preContainersList) {
-                if (this.assemblyForm.containersList.filter(e => item.cntrTypeCode == e.cntrTypeCode).length != item.quantity) {
-                    this.$confirm("箱型箱量改变,请检查预录费用信息?", {
-                        confirmButtonText: "确定",
-                        cancelButtonText: "取消",
-                        showCancelButton: false,
-                        type: "error"
-                    }).then(() => {
-                        precontainersSubmitList(this.assemblyForm.preContainersList).then(res => {
-                            this.$message({
-                                type: "success",
-                                message: "操作成功!"
-                            });
-                            this.$emit('billsDetailfun')
-                        })
-                    })
-                    return
-                }
-            }
+      console.log(this.assemblyForm.preContainersList, 294);
+      // $cellEdit
+    },
+    // 批量保存
+    batchSavefun() {
+      if (!this.assemblyForm.id) {
+        this.$message({
+          message: "请先点击右上角保存按钮,保存数据之后才能添加!",
+          type: "warning"
+        });
+        return;
+      }
+      // let numberSum = 0
+      // let grossWeightSum = 0
+      // let measurementSum = 0
+      // for (let item of this.assemblyForm.preContainersList) {
+      //     numberSum += Number(item.number)
+      //     grossWeightSum += Number(item.grossWeight)
+      //     measurementSum += Number(item.measurement)
+      //     if (!item.cntrTypeCode) {
+      //         this.$message.warning('请选择尺码箱型')
+      //         return;
+      //     }
+      //     if (!item.quantity) {
+      //         this.$message.warning('请输入箱量')
+      //         return;
+      //     }
+      //     item.pid = this.assemblyForm.id
+      // }
+      // if (numberSum>0&&(numberSum != this.assemblyForm.quantity)) return this.$message.error('箱型所有的件数不等于总件数')
+      // this.$confirm("批量保存后,需要重新配箱,确认继续?", {
+      //     confirmButtonText: "确定",
+      //     cancelButtonText: "取消",
+      //     type: "warning"
+      // }).then(() => {
+      //     precontainersSubmitList(this.assemblyForm.preContainersList).then(res => {
+      //         this.$message({
+      //             type: "success",
+      //             message: "操作成功!"
+      //         });
+      //         this.$emit('billsDetailfun')
+      //     })
+      // })
+      // assemblyForm.containersList
+      for (let item of this.assemblyForm.preContainersList) {
+        if (this.assemblyForm.containersList.filter(e => item.cntrTypeCode == e.cntrTypeCode).length != item.quantity) {
+          this.$confirm("箱型箱量改变,请检查预录费用信息?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            showCancelButton: false,
+            type: "error"
+          }).then(() => {
             precontainersSubmitList(this.assemblyForm.preContainersList).then(res => {
-                this.$message({
-                    type: "success",
-                    message: "操作成功!"
-                });
-                this.$emit('billsDetailfun')
-            })
-        },
-        // 平均箱量
-        equalDistribution(type) {
-            if (!this.assemblyForm.id) {
-                this.$message({
-                    message: '请先点击右上角保存按钮,保存数据之后才能添加!',
-                    type: 'warning'
-                });
-                return
-            }
-            if (this.assemblyForm.waitingBoxList.length <= 0) {
-                this.$message({
-                    type: "warning",
-                    message: "请先添加集装箱数据!"
-                });
-                return
-            }
-            if (this.assemblyForm.preContainersList <= 0) {
-                this.$message({
-                    type: "warning",
-                    message: "请先添加箱型数据!"
-                });
-                return
-            }
-            this.$confirm("确定平均分配?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                this.containersEqualDistributionfun(type)
-            })
-        },
-        // 平均分配接口
-        containersEqualDistributionfun(type) {
-            containersEqualDistribution({
-                pid: this.assemblyForm.id,
-                type: type,
-                waitingBox: this.assemblyForm.waitingBoxList[0]
-            }).then(res => {
-                if (res.data.data instanceof Array) {
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    })
-                    this.$emit('billsDetailfun')
-                } else {
-                    // 没有除开
-                    this.$message({
-                        type: 'warning',
-                        dangerouslyUseHTMLString: true,
-                        message: '<span style="color:red">注意!!!件数不能平均分 ,请手工配箱,或者修改件数.</span>\n' +
-                            '<table border="1">\n' +
-                            '  <thead>\n' +
-                            '    <tr>\n' +
-                            '      <th></th>\n' +
-                            '      <th>件数</th>\n' +
-                            '      <th>毛重</th>\n' +
-                            '      <th>尺码</th>\n' +
-                            '    </tr>\n' +
-                            '  </thead>\n' +
-                            '  <tbody>\n' +
-                            '    <tr>\n' +
-                            '      <td>总数</td>\n' +
-                            '      <td>' + res.data.data.total.quantity + '</td>\n' +
-                            '      <td>' + res.data.data.total.grossWeight + '</td>\n' +
-                            '      <td>' + res.data.data.total.grossWeight + '</td>\n' +
-                            '    </tr>\n' +
-                            '    <tr>\n' +
-                            '      <td>入箱</td>\n' +
-                            '      <td>' + res.data.data.average.quantity + '</td>\n' +
-                            '      <td>' + res.data.data.average.grossWeight + '</td>\n' +
-                            '      <td>' + res.data.data.average.grossWeight + '</td>\n' +
-                            '    </tr>\n' +
-                            '    <tr>\n' +
-                            '      <td>差额</td>\n' +
-                            '      <td>' + res.data.data.subtract.quantity + '</td>\n' +
-                            '      <td>' + res.data.data.subtract.grossWeight + '</td>\n' +
-                            '      <td>' + res.data.data.subtract.grossWeight + '</td>\n' +
-                            '    </tr>\n' +
-                            '  </tbody>\n' +
-                            '</table>',
-                        duration: 5000
-                    });
-
-                }
-
-            })
-        },
-        corpClear(value, row) {
-            this.$set(row, 'cntrTypeCode', null)
-            this.$set(row, 'cntrTypeCodeId', null)
-            this.$set(row, 'teu', null)
-        },
-        // 选择框的回调
-        corpChange(value, row) {
-            if (this.assemblyForm.preContainersList.filter(e => value == e.cntrTypeCode).length) {
-                this.$set(row, 'cntrTypeCode', null)
-                this.$set(row, 'cntrTypeCodeId', null)
-                this.$set(row, 'teu', null)
-                return this.$message.error('箱型不能重复')
-            }
-            for (let item of this.cntrTypeCodeData) {
-                if (item.cnName == value) {
-                    this.$set(row, 'cntrTypeCode', item.cnName)
-                    this.$set(row, 'cntrTypeCodeId', item.id)
-                    this.$set(row, 'teu', item.teu)
-                }
-            }
-        },
-        // 筛选数据模糊查找
-        remoteMethod(value, name) {
-            this.bcntrtypesListfun(value)
-        },
-
-        // 获取箱型字典数据
-        bcntrtypesListfun(cnName) {
-            bcntrtypesList(1, 10, { cnName }).then(res => {
-                this.cntrTypeCodeData = res.data.data.records
-            })
-        },
-        // 添加按钮确认
-        rowSave(row, done, loading) {
-            row.pid = this.pid
-            // 如果是冻柜,则需要输入相应的通度和温度、温度,如果不是冻柜,不需要输入相应的温度等内容;
-            if (this.assemblyForm.cargoType == 'reefer') {
-                // 要判断的必填
-                const arr = [
-                    {
-                        name: "温度",
-                        value: "temperature",
-                    },
-                    {
-                        name: "温度单位",
-                        value: "temperatureUnit",
-                    },
-                    {
-                        name: "通风度",
-                        value: "ventilation",
-                    },
-                    {
-                        name: "湿度",
-                        value: "humidity",
-                    },
-                ]
-                if (!requiredMessage(row, arr)) {
-                    loading(); // 按钮的禁用关闭
-                    return;
-                }
-            }
-            precontainersSubmit(row).then(() => {
-                this.$message({
-                    type: "success",
-                    message: "操作成功!"
-                });
-                this.$emit('billsDetailfun')
-                done();
-            }, error => {
-                loading();
-                window.console.log(error);
+              this.$message({
+                type: "success",
+                message: "操作成功!"
+              });
+              this.$emit("billsDetailfun");
             });
-        },
-        // 编辑确认按钮
-        rowUpdate(row, index) {
-            let rulesRow = [
-                {
-                    name: "尺码箱型",
-                    value: "cntrTypeCode",
-                },
-                {
-                    name: "箱量",
-                    value: "quantity",
-                },
-
-            ]
-            if (!requiredMessage(row, rulesRow)) {
-                return;
-            }
-            // 如果是冻柜,则需要输入相应的通度和温度、温度,如果不是冻柜,不需要输入相应的温度等内容;
-            if (this.assemblyForm.cargoType == 'reefer') {
-                // 要判断的必填
-                const arr = [
-                    {
-                        name: "温度",
-                        value: "temperature",
-                    },
-                    {
-                        name: "温度单位",
-                        value: "temperatureUnit",
-                    },
-                    {
-                        name: "通风度",
-                        value: "ventilation",
-                    },
-                    {
-                        name: "湿度",
-                        value: "humidity",
-                    },
-                ]
-                if (!requiredMessage(row, arr)) {
-                    return;
-                }
-            }
-            if (!this.pid) {
-                this.$message({
-                    message: '请先保存数据之后才能添加',
-                    type: 'warning'
-                });
-                return
-            }
-            if (row.id) {
-                this.$confirm("已经存在配箱信息,如果修改预配箱数据 要清除全部配箱信息?", {
-                    confirmButtonText: "确定",
-                    cancelButtonText: "取消",
-                    type: "warning"
-                }).then(() => {
-                    precontainersSubmit(row).then(() => {
-                        this.$message({
-                            type: "success",
-                            message: "操作成功!"
-                        });
-                        this.$set(row, '$cellEdit', false)
-                        this.$emit('billsDetailfun')
-                    })
-                })
-            } else {
-                row.pid = this.pid
-                precontainersSubmit(row).then(() => {
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    });
-                    this.$set(row, '$cellEdit', false)
-                    this.$emit('billsDetailfun')
-                }, error => {
-                    console.log(error);
-                });
-            }
-        },
-        rowDel(row) {
-            this.$confirm("确定将选择数据删除?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            })
-                .then(() => {
-                    if (!row.id) {
-                        this.$message({
-                            type: "success",
-                            message: "操作成功!"
-                        });
-                        this.assemblyForm.preContainersList.splice(row.$index, 1)
-                    } else {
-                        precontainersRemove(row.id).then(() => {
-                            this.$message({
-                                type: "success",
-                                message: "操作成功!"
-                            });
-                            this.$emit('billsDetailfun')
-                        });
-                    }
-                })
-        },
-        // 新增
-        addfun() {
-            this.$refs.crud.rowCellAdd({ pid: this.assemblyForm.id })
-            // this.$refs.crud.rowAdd()
-        },
-        // 编辑
-        editfun(row, index) {
-            if (row.$cellEdit) {
-                // 保存
-                this.rowUpdate(row, index)
-                // this.$set(row,'$cellEdit',false)
-            } else {
-                if (!this.assemblyForm.id) {
-                    this.$set(row, '$cellEdit', true)
-                    return
-                }
-                if (Number(this.assemblyForm.quantity) != Number(this.assemblyForm.waitingBoxList[0].quantity)) {
-                    this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
-                        confirmButtonText: '确定',
-                    });
-                } else {
-                    this.$set(row, '$cellEdit', true)
-                }
-            }
-            // this.$refs.crud.rowEdit(row,index)
-        },
-        // 多选删除
-        handleDelete() {
-            if (this.selectionList.length === 0) {
-                this.$message.warning("请选择至少一条数据");
-                return;
-            }
-            this.$confirm("确定将选择数据删除?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            })
-                .then(() => {
-                    this.precontainersRemovefun()
-                })
-
-        },
-        // 删除接口
-        precontainersRemovefun() {
-            let multiList = this.selectionList
-            let arr = this.assemblyForm.preContainersList
-            // 获取有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)
-                    }
-                }
-            })
-            // 有id 的处理
-            if (itemsWithId.length != 0) {
-                precontainersRemove(arrIds.join(',')).then(() => {
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    });
-                    // this.$emit('billsDetailfun')
-                    this.$refs.crud.toggleSelection();
-                })
-            };
-        },
-        beforeOpen(done, type) {
-            if (["edit", "view"].includes(type)) {
-                precontainersDetail(this.form.id).then(res => {
-                    this.form = res.data.data;
-                });
-            }
-            done();
-        },
-        selectionChange(list) {
-            this.selectionList = list;
-        },
-        selectionClear() {
-            this.selectionList = [];
-            this.$refs.crud.toggleSelection();
-        },
-        refreshChange() {
-            console.log('刷新')
-        },
+          });
+          return;
+        }
+      }
+      precontainersSubmitList(this.assemblyForm.preContainersList).then(res => {
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        this.$emit("billsDetailfun");
+      });
+    },
+    // 平均箱量
+    equalDistribution(type) {
+      if (!this.assemblyForm.id) {
+        this.$message({
+          message: "请先点击右上角保存按钮,保存数据之后才能添加!",
+          type: "warning"
+        });
+        return;
+      }
+      if (this.assemblyForm.waitingBoxList.length <= 0) {
+        this.$message({
+          type: "warning",
+          message: "请先添加集装箱数据!"
+        });
+        return;
+      }
+      if (this.assemblyForm.preContainersList <= 0) {
+        this.$message({
+          type: "warning",
+          message: "请先添加箱型数据!"
+        });
+        return;
+      }
+      this.$confirm("确定平均分配?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.containersEqualDistributionfun(type);
+      });
+    },
+    // 平均分配接口
+    containersEqualDistributionfun(type) {
+      containersEqualDistribution({
+        pid: this.assemblyForm.id,
+        type: type,
+        waitingBox: this.assemblyForm.waitingBoxList[0]
+      }).then(res => {
+        if (res.data.data instanceof Array) {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.$emit("billsDetailfun");
+        } else {
+          // 没有除开
+          this.$message({
+            type: "warning",
+            dangerouslyUseHTMLString: true,
+            message:
+              '<span style="color:red">注意!!!件数不能平均分 ,请手工配箱,或者修改件数.</span>\n' +
+              '<table border="1">\n' +
+              "  <thead>\n" +
+              "    <tr>\n" +
+              "      <th></th>\n" +
+              "      <th>件数</th>\n" +
+              "      <th>毛重</th>\n" +
+              "      <th>尺码</th>\n" +
+              "    </tr>\n" +
+              "  </thead>\n" +
+              "  <tbody>\n" +
+              "    <tr>\n" +
+              "      <td>总数</td>\n" +
+              "      <td>" +
+              res.data.data.total.quantity +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.total.grossWeight +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.total.grossWeight +
+              "</td>\n" +
+              "    </tr>\n" +
+              "    <tr>\n" +
+              "      <td>入箱</td>\n" +
+              "      <td>" +
+              res.data.data.average.quantity +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.average.grossWeight +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.average.grossWeight +
+              "</td>\n" +
+              "    </tr>\n" +
+              "    <tr>\n" +
+              "      <td>差额</td>\n" +
+              "      <td>" +
+              res.data.data.subtract.quantity +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.subtract.grossWeight +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.subtract.grossWeight +
+              "</td>\n" +
+              "    </tr>\n" +
+              "  </tbody>\n" +
+              "</table>",
+            duration: 5000
+          });
+        }
+      });
+    },
+    corpClear(value, row) {
+      this.$set(row, "cntrTypeCode", null);
+      this.$set(row, "cntrTypeCodeId", null);
+      this.$set(row, "teu", null);
+    },
+    // 选择框的回调
+    corpChange(value, row) {
+      if (this.assemblyForm.preContainersList.filter(e => value == e.cntrTypeCode).length) {
+        this.$set(row, "cntrTypeCode", null);
+        this.$set(row, "cntrTypeCodeId", null);
+        this.$set(row, "teu", null);
+        return this.$message.error("箱型不能重复");
+      }
+      for (let item of this.cntrTypeCodeData) {
+        if (item.cnName == value) {
+          this.$set(row, "cntrTypeCode", item.cnName);
+          this.$set(row, "cntrTypeCodeId", item.id);
+          this.$set(row, "teu", item.teu);
+        }
+      }
+    },
+    // 筛选数据模糊查找
+    remoteMethod(value, name) {
+      this.bcntrtypesListfun(value);
+    },
 
-        //自定义列保存
-        async saveColumnTwo(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;
-            }
+    // 获取箱型字典数据
+    bcntrtypesListfun(cnName) {
+      bcntrtypesList(1, 10, { cnName }).then(res => {
+        this.cntrTypeCodeData = res.data.data.records;
+      });
+    },
+    // 添加按钮确认
+    rowSave(row, done, loading) {
+      row.pid = this.pid;
+      // 如果是冻柜,则需要输入相应的通度和温度、温度,如果不是冻柜,不需要输入相应的温度等内容;
+      if (this.assemblyForm.cargoType == "reefer") {
+        // 要判断的必填
+        const arr = [
+          {
+            name: "温度",
+            value: "temperature"
+          },
+          {
+            name: "温度单位",
+            value: "temperatureUnit"
+          },
+          {
+            name: "通风度",
+            value: "ventilation"
+          },
+          {
+            name: "湿度",
+            value: "humidity"
+          }
+        ];
+        if (!requiredMessage(row, arr)) {
+          loading(); // 按钮的禁用关闭
+          return;
+        }
+      }
+      precontainersSubmit(row).then(
+        () => {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.$emit("billsDetailfun");
+          done();
         },
-        //自定义列重置
-        async resetColumnTwo(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;
-            }
+        error => {
+          loading();
+          window.console.log(error);
+        }
+      );
+    },
+    // 编辑确认按钮
+    rowUpdate(row, index) {
+      let rulesRow = [
+        {
+          name: "尺码箱型",
+          value: "cntrTypeCode"
         },
+        {
+          name: "箱量",
+          value: "quantity"
+        }
+      ];
+      if (!requiredMessage(row, rulesRow)) {
+        return;
+      }
+      // 如果是冻柜,则需要输入相应的通度和温度、温度,如果不是冻柜,不需要输入相应的温度等内容;
+      if (this.assemblyForm.cargoType == "reefer") {
+        // 要判断的必填
+        const arr = [
+          {
+            name: "温度",
+            value: "temperature"
+          },
+          {
+            name: "温度单位",
+            value: "temperatureUnit"
+          },
+          {
+            name: "通风度",
+            value: "ventilation"
+          },
+          {
+            name: "湿度",
+            value: "humidity"
+          }
+        ];
+        if (!requiredMessage(row, arr)) {
+          return;
+        }
+      }
+      if (!this.pid) {
+        this.$message({
+          message: "请先保存数据之后才能添加",
+          type: "warning"
+        });
+        return;
+      }
+      if (row.id) {
+        this.$confirm("已经存在配箱信息,如果修改预配箱数据 要清除全部配箱信息?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          precontainersSubmit(row).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$set(row, "$cellEdit", false);
+            this.$emit("billsDetailfun");
+          });
+        });
+      } else {
+        row.pid = this.pid;
+        precontainersSubmit(row).then(
+          () => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$set(row, "$cellEdit", false);
+            this.$emit("billsDetailfun");
+          },
+          error => {
+            console.log(error);
+          }
+        );
+      }
+    },
+    rowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        if (!row.id) {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.assemblyForm.preContainersList.splice(row.$index, 1);
+        } else {
+          precontainersRemove(row.id).then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$emit("billsDetailfun");
+          });
+        }
+      });
+    },
+    // 新增
+    addfun() {
+      this.$refs.crud.rowCellAdd({ pid: this.assemblyForm.id });
+      // this.$refs.crud.rowAdd()
+    },
+    // 编辑
+    editfun(row, index) {
+      if (row.$cellEdit) {
+        // 保存
+        this.rowUpdate(row, index);
+        // this.$set(row,'$cellEdit',false)
+      } else {
+        if (!this.assemblyForm.id) {
+          this.$set(row, "$cellEdit", true);
+          return;
+        }
+        if (Number(this.assemblyForm.quantity) != Number(this.assemblyForm.waitingBoxList[0].quantity)) {
+          this.$alert("当前数据已经均分箱量,请撤销之后再修改", "提示", {
+            confirmButtonText: "确定"
+          });
+        } else {
+          this.$set(row, "$cellEdit", true);
+        }
+      }
+      // this.$refs.crud.rowEdit(row,index)
+    },
+    // 多选删除
+    handleDelete() {
+      if (this.selectionList.length === 0) {
+        this.$message.warning("请选择至少一条数据");
+        return;
+      }
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.precontainersRemovefun();
+      });
+    },
+    // 删除接口
+    precontainersRemovefun() {
+      let multiList = this.selectionList;
+      let arr = this.assemblyForm.preContainersList;
+      // 获取有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);
+          }
+        }
+      });
+      // 有id 的处理
+      if (itemsWithId.length != 0) {
+        precontainersRemove(arrIds.join(",")).then(() => {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          // this.$emit('billsDetailfun')
+          this.$refs.crud.toggleSelection();
+        });
+      }
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        precontainersDetail(this.form.id).then(res => {
+          this.form = res.data.data;
+        });
+      }
+      done();
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    refreshChange() {
+      console.log("刷新");
+    },
 
+    //自定义列保存
+    async saveColumnTwo(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;
+      }
+    },
+    //自定义列重置
+    async resetColumnTwo(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;
+      }
     }
+  }
 };
 </script>
 
 <style scoped lang="scss">
 ::v-deep .el-dialog__body {
-    padding: 0px 10px !important;
+  padding: 0px 10px !important;
 }
 </style>

+ 6 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -1616,6 +1616,12 @@ export default {
             overHidden: true
           },
           {
+            label: "价格编号",
+            prop: "srcCostNo",
+            width: "100",
+            overHidden: true
+          },
+          {
             label: "备注",
             prop: "remarks",
             width: "100",

+ 20 - 1
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -1322,7 +1322,7 @@ export default {
             label: this.$t("sea118n.ctnrNo"),
             prop: "extendedData",
             search: true,
-            hide:true
+            hide: true
           },
           {
             label: this.$t("sea118n.createTime"),
@@ -1382,6 +1382,25 @@ export default {
             overHidden: true,
             search: true,
             searchOrder: 19
+          },
+          {
+            label: "是否下货纸",
+            prop: "ediStatus",
+            type: "select",
+            dicData: [
+              {
+                label: "未发送",
+                value: '0'
+              },
+              {
+                label: "已发送",
+                value: '1'
+              }
+            ],
+            width: "120",
+            overHidden: true,
+            search: true,
+            searchOrder: 20
           }
         ]
       },

+ 2 - 1
src/views/iosBasicData/businessCenter/customerBooking/detailsPage.vue

@@ -1044,7 +1044,8 @@ import {
   getBCorps,
   submitCommonTemplates,
   submitBoxType,
-  refundCabin
+  refundCabin,
+  verificationPrompt
 } from "@/api/iosBasicData/businessCenter/bookingCabin.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";

+ 43 - 26
src/views/iosBasicData/businessCenter/customerLetter/detailsPage.vue

@@ -882,7 +882,8 @@ import {
   itemRemove,
   submitFeeList,
   itemFeeRemove,
-  rejectBooking
+  rejectBooking,
+  verificationPrompt
 } from "@/api/iosBasicData/businessCenter/bookingCabin.js";
 import { losbfeestemplateGetListTemplate } from "@/api/iosBasicData/bills";
 import { losbfeestemplateDetail } from "@/api/iosBasicData/losbfeestemplate";
@@ -1147,6 +1148,11 @@ export default {
             ]
           },
           {
+            label: "价格编号",
+            prop: "srcCostNo",
+            overHidden: true
+          },
+          {
             label: "箱量",
             prop: "quantity",
             overHidden: true,
@@ -1596,14 +1602,20 @@ export default {
         if (item.cntrTypeCode == "20GP") {
           item.salesPrice = row.gp20;
           item.costPrice = row.gp20Cost;
+          item.srcCostId = row.srcId;
+          item.srcCostNo = row.srcNo;
         }
         if (item.cntrTypeCode == "40GP") {
           item.salesPrice = row.gp40;
           item.costPrice = row.gp40Cost;
+          item.srcCostId = row.srcId;
+          item.srcCostNo = row.srcNo;
         }
         if (item.cntrTypeCode == "40HC") {
           item.salesPrice = row.hc40;
           item.costPrice = row.hc40Cost;
+          item.srcCostId = row.srcId;
+          item.srcCostNo = row.srcNo;
         }
       });
 
@@ -1737,12 +1749,14 @@ export default {
               confirmButtonText: "确定",
               cancelButtonText: "取消",
               type: "warning"
-            }).then(() => {
-              this.form.polNamePrint = row.enName;
-              this.$refs.pol.$refs.mySelect.blur();
-            }).catch(()=>{
-            this.$refs.pol.$refs.mySelect.blur();
             })
+              .then(() => {
+                this.form.polNamePrint = row.enName;
+                this.$refs.pol.$refs.mySelect.blur();
+              })
+              .catch(() => {
+                this.$refs.pol.$refs.mySelect.blur();
+              });
           } else {
             this.form.polNamePrint = row.enName;
           }
@@ -1985,9 +1999,16 @@ export default {
             if (!item.id) {
               return this.$message.error("请保存数据");
             }
+            if (!item.srcCostId) {
+              return this.$message.error("价格编号不能为空,请提取价格维护价格编号");
+            }
             if (Number(item.oceanFreight) < Number(item.salesPrice)) {
               return this.$message.error("集装箱的海运费低于销售价,请点击运费申请");
             }
+            if (!item.cntrTypeCode || !item.quantity) {
+              this.$refs.crud.rowCell(item, item.$index);
+              return this.$message.error("请完善明细信息");
+            }
           }
         }
         this.$confirm("是否生成订单?", {
@@ -1995,29 +2016,25 @@ export default {
           cancelButtonText: "取消",
           type: "warning"
         }).then(() => {
-          for (let row of this.form.preContainersList) {
-            if (!row.cntrTypeCode || !row.quantity) {
-              this.$refs.crud.rowCell(row, row.$index);
-              return this.$message.error("请完善明细信息");
-            }
-          }
           this.form.businessType = "KHTS";
           this.form.billNoFormat = "KHTS";
           this.form.businessTypeCode = "KHTS";
-          const loading = this.$loading({
-            lock: true,
-            text: "加载中",
-            spinner: "el-icon-loading",
-            background: "rgba(255,255,255,0.7)"
-          });
-          submitBookingCabin(this.form)
-            .then(res => {
-              this.$message.success("操作成功");
-              this.getDetails(this.form.id);
-            })
-            .finally(() => {
-              loading.close();
+          verificationPrompt(this.form).then(res => {
+            const loading = this.$loading({
+              lock: true,
+              text: "加载中",
+              spinner: "el-icon-loading",
+              background: "rgba(255,255,255,0.7)"
             });
+            submitBookingCabin(this.form)
+              .then(res => {
+                this.$message.success("操作成功");
+                this.getDetails(this.form.id);
+              })
+              .finally(() => {
+                loading.close();
+              });
+          });
         });
       }
       if (name == "一键保存") {
@@ -2309,7 +2326,7 @@ export default {
           //     return this.$message.error("请完善费用明细");
           //   }
           // }
-          this.form.billDate=this.form.etd;
+          this.form.billDate = this.form.etd;
           this.form.businessType = "KHTS";
           this.form.billNoFormat = "KHTS";
           this.form.businessTypeCode = "KHTS";

Разница между файлами не показана из-за своего большого размера
+ 490 - 370
src/views/iosBasicData/businessCenter/mkt&slot/detailsPage.vue


+ 6 - 0
src/views/iosBasicData/financialManagement/fininvoicesOutput/index.vue

@@ -233,6 +233,12 @@ export default {
             overHidden: true
           },
           {
+            label: "订舱代理",
+            prop: "bookingAgentCnName",
+            width: "120",
+            overHidden: true
+          },
+          {
             label: "MB/L NO",
             prop: "mblno",
             search: true,

Некоторые файлы не были показаны из-за большого количества измененных файлов