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

新加客户订舱接口 单证新加字段 返场新加批量修改功能 海运进出口 利润统计修改字段名称

Qukatie 5 месяцев назад
Родитель
Сommit
0e16785de7

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

@@ -110,4 +110,28 @@ export const copyAgent = (data) => {
         method: 'get',
         params: data
     })
+}
+// 提交客户订舱 
+export function submitCustomerBooking(data) {
+    return request({
+        url: '/api/blade-los/bookingCabin/submitCustomerBooking',
+        method: 'post',
+        data: data
+    })
+}
+// 撤销客户订舱
+export function revokeCustomerBooking(data) {
+    return request({
+        url: '/api/blade-los/bookingCabin/revokeCustomerBooking',
+        method: 'post',
+        data: data
+    })
+}
+// 提交确认
+export function submitConfirm(data) {
+    return request({
+        url: '/api/blade-los/bookingCabin/submitConfirm',
+        method: 'post',
+        data: data
+    })
 }

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

@@ -2186,6 +2186,12 @@ const columnName = [{
 }, {
   code: 511,
   name: '永发-系统管理-邮箱签名列表页'
+}, {
+  code: 512,
+  name: '永发-商务中心-客户订舱集装箱明细'
+}, {
+  code: 513,
+  name: '永发-商务中心-客户订舱列表页'
 }
 ]
 export const getColumnName = (key) => {

+ 43 - 2
src/views/boxManagement/podComeback/index.vue

@@ -11,11 +11,15 @@
           <el-button type="success" size="small" :disabled="selectionList.length == 0"
             @click="allClick('批量修改POD场站')">批量修改POD场站
           </el-button>
+          <el-button type="success" size="small" :disabled="selectionList.length == 0"
+            @click="allClick('批量确认返场')">批量确认返场
+          </el-button>
           <el-button type="warning" size="small" @click="outExport">导 出
           </el-button>
         </template>
       </avue-crud>
-      <el-dialog append-to-body title="批量修改POD场站" :visible.sync="podDialog" width="30%" v-dialog-drag>
+      <el-dialog append-to-body :title="title" :visible.sync="podDialog" width="30%" v-dialog-drag
+        @closed="podClosed">
         <span>
           <avue-form v-if='podDialog' ref="form2" v-model="podForm" :option="podOption">
             <tempalte slot="podStationCname">
@@ -67,12 +71,26 @@ export default {
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd 00:00:00",
             span: 24,
+            display: false,
             rules: [{
               required: true,
               message: " ",
               trigger: "blur"
             }],
-          }
+          },
+          {
+            label: '唛头',
+            prop: 'marks',
+            span: 24,
+            display: false,
+            type: 'textarea',
+            rows: 3,
+            rules: [{
+              required: true,
+              message: " ",
+              trigger: "blur"
+            }],
+          },
         ]
       },
       form: {},
@@ -265,9 +283,16 @@ export default {
               value: '1'
             }]
           },
+          {
+            label: '唛头',
+            prop: 'marks',
+            overHidden: true,
+          },
         ]
       },
       data: [],
+      type: null,
+      title:null,
     };
   },
   components: {
@@ -281,10 +306,25 @@ export default {
     }, 100);
   },
   methods: {
+    podClosed() {
+      this.findObject(this.podOption.column, "returnEmptyTime").display = false
+      this.findObject(this.podOption.column, "marks").display = false
+      this.type=null
+    },
     allClick(name) {
       if (name == '批量修改POD场站') {
+        this.type = 0
+        this.title=name
+        this.podForm = {}
+        this.podDialog = true
+        this.findObject(this.podOption.column, "marks").display = true
+      }
+      if (name == '批量确认返场') {
+        this.type = 1
+        this.title=name
         this.podForm = {}
         this.podDialog = true
+        this.findObject(this.podOption.column, "returnEmptyTime").display = true
       }
     },
     dicChange(name, row) {
@@ -314,6 +354,7 @@ export default {
             businessType: 'SI',
             list: this.selectionList,
             ...this.podForm,
+            type:this.type,
           }
           const loading = this.$loading({
             lock: true,

+ 45 - 1
src/views/iosBasicData/OceanFreightImport/bills/assembly/DocumentCenter.vue

@@ -1,5 +1,45 @@
 <template>
     <div>
+        <el-form :model="assemblyForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
+            <el-row :gutter="10">
+                <el-col :span="6">
+                    <el-form-item label="客户名称" prop="corpCnName">
+                        <span slot="label">
+                            <span style="color: #1e9fff">客户名称</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName" size="small"
+                            autocomplete="off" disabled clearable placeholder="客户名称"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="提单号" prop="mblno">
+                        <span slot="label">
+                            <span style="color: #1e9fff">提单号</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.mblno" size="small"
+                            autocomplete="off" disabled clearable placeholder="提单号"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="箱型箱量" prop="containers">
+                        <span slot="label">
+                            <span style="color: #1e9fff">箱型箱量</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.quantityCntrDescr" size="small"
+                            autocomplete="off" disabled clearable placeholder="箱型箱量"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="HB/L NO" prop="hblno">
+                        <span slot="label">
+                            <span style="color: #1e9fff">HB/L NO</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.hblno" size="small"
+                            autocomplete="off" disabled clearable placeholder="HB/L NO"></el-input>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+        </el-form>
         <el-row>
             <el-col :span="5">
                 <el-scrollbar>
@@ -906,7 +946,7 @@ export default {
 }
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 ::v-deep#out-table .back-one {
     background: #ecf5ff !important;
 }
@@ -914,4 +954,8 @@ export default {
 ::v-deep#out-table .back-two {
     background: #ecf5ff !important;
 }
+
+::v-deep .el-form-item {
+    margin-bottom: 0px;
+}
 </style>

+ 9 - 9
src/views/iosBasicData/OceanFreightImport/bills/index.vue

@@ -973,33 +973,33 @@ export default {
                         width: "100",
                         overHidden: true
                     },
-                    {
-                        label: "V20",
+                                        {
+                        label: "20GP",
                         prop: "quantityV20",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "V40",
+                        label: "40GP",
                         prop: "quantityV40",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "40HC",
-                        prop: "quantityV40hc",
+                        label: "20HC",
+                        prop: "quantityV45",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "V45",
-                        prop: "quantityV45",
+                        label: "40FR",
+                        prop: "quantityV48",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "V48",
-                        prop: "quantityV48",
+                        label: "40HC",
+                        prop: "quantityV40hc",
                         width: "100",
                         overHidden: true
                     },

+ 9 - 9
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -175,7 +175,7 @@
                 <template slot="eta" slot-scope="scope">
                     <span>{{
                         scope.row.eta ? scope.row.eta.slice(0, 10) : ""
-                        }}</span>
+                    }}</span>
                 </template>
                 <template slot="updateTime" slot-scope="scope">
                     <span>{{
@@ -1077,32 +1077,32 @@ export default {
                         overHidden: true
                     },
                     {
-                        label: "V20",
+                        label: "20GP",
                         prop: "quantityV20",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "V40",
+                        label: "40GP",
                         prop: "quantityV40",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "40HC",
-                        prop: "quantityV40hc",
+                        label: "20HC",
+                        prop: "quantityV45",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "V45",
-                        prop: "quantityV45",
+                        label: "40FR",
+                        prop: "quantityV48",
                         width: "100",
                         overHidden: true
                     },
                     {
-                        label: "V48",
-                        prop: "quantityV48",
+                        label: "40HC",
+                        prop: "quantityV40hc",
                         width: "100",
                         overHidden: true
                     },

+ 3 - 3
src/views/iosBasicData/businessCenter/customerBooking/components/DistributionBox/containers.vue

@@ -9,13 +9,13 @@
                 <div style="display: flex;align-items: center;justify-content: space-between">
                     <div>
                         <!--<el-button type="primary" size="small" @click="DistributionBox">配箱</el-button>-->
-                        <el-button type="success" size="small" plain :disabled="seeDisabled"
+                        <el-button type="success" size="small" plain :disabled="seeDisabled||pleasereviewType||showLock"
                             @click.stop="equalDistribution2()">配箱
                         </el-button>
-                        <el-button type="success" size="small" plain :disabled="seeDisabled"
+                        <el-button type="success" size="small" plain :disabled="seeDisabled||pleasereviewType||showLock"
                             @click.stop="equalDistribution(1)">按TEU配箱
                         </el-button>
-                        <el-button type="success" size="small" plain :disabled="seeDisabled"
+                        <el-button type="success" size="small" plain :disabled="seeDisabled||pleasereviewType||showLock"
                             @click.stop="equalDistribution(2)">按箱量配箱
                         </el-button>
                         <el-button type="primary" size="small"

+ 161 - 119
src/views/iosBasicData/businessCenter/customerBooking/detailsPage.vue

@@ -5,6 +5,8 @@
         <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
           @click="goBack()">返回列表
         </el-button>
+        <el-button v-if="form.id && pageIds.length" type="text" @click="lastPage">上一票</el-button>
+        <el-button v-if="form.id && pageIds.length" type="text" @click="nextPage">下一票</el-button>
       </div>
       <div class="add-customer-btn">
         <el-button size="small" :disabled="!form.id" @click="$refs.print.openDialog()">预 览
@@ -20,19 +22,25 @@
           @click="inEdit">编 辑
         </el-button>
         <el-button class="el-button--small-yh" v-else style="margin-left: 6px;" type="primary" size="small"
-          :disabled="isSaveBtn || form.issueStatus == 1 || form.status == 3" @click="submit">保 存
+          :disabled="isSaveBtn || editDisabled" @click="submit">保 存
         </el-button>
         <el-button v-if="form.id" class="el-button--small-yh" style="margin-left: 6px;" type="success" size="small"
-          :disabled="form.issueStatus == 1 || form.status == 1" @click="allClick('生成订单')">生成订单
+          :disabled="form.issueStatus == 2" @click="allClick('提交订舱')">提交订舱
         </el-button>
-        <el-button v-if="form.id" class="el-button--small-yh" style="margin-left: 6px;" type="success" size="small"
-          :disabled="form.status != 0 || form.issueStatus == 1" @click="application">运费申请
+        <el-button v-if="form.issueStatus == 2" class="el-button--small-yh" style="margin-left: 6px;" type="danger"
+          size="small" @click="allClick('撤销订舱')">撤销订舱
+        </el-button>
+        <el-button v-if="form.issueStatus == 2" class="el-button--small-yh" style="margin-left: 6px;" type="success"
+          size="small" :disabled="editDisabled" @click="allClick('提单确认')">提单确认
         </el-button>
+        <!-- <el-button v-if="form.id" class="el-button--small-yh" style="margin-left: 6px;" type="success" size="small"
+          :disabled="form.status != 0 || form.issueStatus == 1" @click="application">提单确认
+        </el-button> -->
         <el-button v-if="form.status == 1" class="el-button--small-yh" style="margin-left: 6px;" type="danger"
           size="small" @click="revokeApplication">撤销单据请核
         </el-button>
         <el-dropdown style="line-height: 0" v-if="importTemplate == 1">
-          <el-button size="small" type="warning" style="margin-left: 8px" :disabled="form.status > 0 || showLock">
+          <el-button size="small" type="warning" style="margin-left: 8px" :disabled="editDisabled || showLock">
             导入模板<i class="el-icon-arrow-down el-icon--right"></i>
           </el-button>
           <el-dropdown-menu slot="dropdown">
@@ -41,7 +49,7 @@
             </el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
-        <el-dropdown style="line-height: 0">
+        <!-- <el-dropdown style="line-height: 0">
           <el-button class="el-button--small-yh" style="margin-left: 6px;" type="warning" :disabled="!form.id"
             size="small">
             审 批<i class="el-icon-arrow-down el-icon--right"></i>
@@ -50,7 +58,7 @@
             <el-dropdown-item @click.native="checkScheduleDialog = true, checkId = form.id">审核进度
             </el-dropdown-item>
           </el-dropdown-menu>
-        </el-dropdown>
+        </el-dropdown> -->
       </div>
     </div>
     <div style="margin-top: 50px">
@@ -61,11 +69,11 @@
               <el-row>
                 <el-col span="12">
                   <el-row>
-                    <el-form-item label="客户" prop="corpCnName">
-                      <dic-select v-model="form.corpCnName" placeholder="客户" key="id" label="cnName" res="records"
-                        url="/blade-los/bcorps/selectList?status=0&current=1&size=20" :filterable="true" :remote="true"
-                        dataName="cnName" @selectChange="dicChange('corpCnName', $event)" :disabled="editDisabled"
-                        :searchShow="true" :slotRight="true" rightLabel="shortName"></dic-select>
+                    <el-form-item label="客服" prop="customerServiceName">
+                      <dic-select v-model="form.customerServiceName" placeholder="客服" :key="form.branchId"
+                        label="realName" :url="'/blade-user/userListAll?roleAlias=客服&deptId=' + form.branchId"
+                        :filterable="true" @selectChange="dicChange('customerServiceName', $event)"
+                        :disabled="editDisabled"></dic-select>
                     </el-form-item>
                   </el-row>
                   <el-row>
@@ -216,28 +224,7 @@
                       </el-form-item>
                     </el-col>
                     <el-col span="12">
-                      <el-form-item label="OP" prop="operatorName"
-                        :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
-                        <dic-select v-model="form.operatorName" placeholder="OP" :key="form.branchId" label="realName"
-                          :url="'/blade-user/userListAll?roleAlias=操作员&deptId=' + form.branchId" :filterable="true"
-                          @selectChange="dicChange('operatorName', $event)" :disabled="editDisabled"></dic-select>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                  <el-row>
-                    <el-col span="12">
-                      <el-form-item label="客服" prop="customerServiceName">
-                        <dic-select v-model="form.customerServiceName" placeholder="客服" :key="form.branchId"
-                          label="realName" :url="'/blade-user/userListAll?roleAlias=客服&deptId=' + form.branchId"
-                          :filterable="true" @selectChange="dicChange('customerServiceName', $event)"
-                          :disabled="editDisabled"></dic-select>
-                      </el-form-item>
-                    </el-col>
-                    <el-col span="12">
                       <el-form-item label="货描" prop="cargoType">
-                        <!-- <dic-select v-model="form.cargoType" placeholder="货描"  label="value"
-                          keyValue="value" :mockData="cargoTypeData"
-                          :disabled="editDisabled"></dic-select> -->
                         <el-select v-model="form.cargoType" placeholder="请选择 货描" :disabled="editDisabled" size="small">
                           <el-option v-for="item in cargoTypeData" :key="item.value" :label="item.label"
                             :value="item.value">
@@ -247,40 +234,6 @@
                     </el-col>
                   </el-row>
                   <el-row>
-                    <el-col span="12">
-                      <el-form-item label="箱属" prop="boxBelongsTo">
-                        <dic-select v-model="form.boxBelongsTo" placeholder="箱属" key="dictKey" label="dictValue"
-                          keyValue="dictKey" url="/blade-system/dict-biz/dictionary?code=boxBelongsTo"
-                          :filterable="true" :disabled="editDisabled"></dic-select>
-                      </el-form-item>
-                    </el-col>
-                    <el-col span="12">
-                      <el-form-item label="业务来源" prop="srcType">
-                        <div style="display: flex;">
-                          <dic-select style="margin-right: 4px;" v-model="form.srcType" placeholder="业务来源" key="dictKey"
-                            keyValue="dictKey" label="dictValue" :initData="true"
-                            url="/blade-system/dict-biz/dictionary?code=source_Type" :filterable="true"
-                            :disabled="editDisabled" @selectChange="dicChange('srcType', $event)"></dic-select>
-                          <el-input v-show="!form.srcType" v-model="form.srcCnName" placeholder="请选择" :disabled="true"
-                            size="small">
-                          </el-input>
-                          <dic-select v-show="form.srcType == 'OWN'" v-model="form.srcCnName" placeholder="所属公司"
-                            key="id" label="title" url="/blade-system/dept/lazy-tree?parentId=0" :filterable="true"
-                            @selectChange="dicChange('OWN', $event)" :disabled="editDisabled"></dic-select>
-                          <dic-select v-show="form.srcType == 'AGENT'" v-model="form.srcCnName" placeholder="代理"
-                            key="id" label="cnName" res="records" url="/blade-los/bcorps/listByType?corpTypeName=代理客户"
-                            :filterable="true" :remote="true" dataName="cnName"
-                            @selectChange="dicChange('AGENT', $event)" :disabled="editDisabled"></dic-select>
-                          <dic-select v-show="form.srcType == 'SALES'" v-model="form.srcCnName" placeholder="业务员"
-                            key="id" label="name" url="/blade-user/selectListLos?roles=业务员" :filterable="true"
-                            :remote="true" dataName="name" @selectChange="dicChange('SALES', $event)"
-                            :disabled="editDisabled"></dic-select>
-                        </div>
-                      </el-form-item>
-
-                    </el-col>
-                  </el-row>
-                  <el-row>
                     <el-form-item label="订舱备注" prop="cyRemarks">
                       <el-input type="textarea" style="width: 100%;" v-model="form.cyRemarks" size="small"
                         autocomplete="off" :disabled="editDisabled" :rows="2" clearable placeholder="请输入场站备注"
@@ -296,8 +249,8 @@
               :header-cell-class-name="headerClassName" :row-style="{ height: '20px', padding: '0px' }"
               :cell-style="{ height: '20px', padding: '0px' }" @selection-change="selectionChange"
               @select="selectHandle" @row-update="rowUpdate"
-              @resetColumn="resetColumn('crud', 'option', 'optionBack', 502)"
-              @saveColumn="saveColumn('crud', 'option', 'optionBack', 502)">
+              @resetColumn="resetColumn('crud', 'option', 'optionBack', 512)"
+              @saveColumn="saveColumn('crud', 'option', 'optionBack', 512)">
               <template slot="menuLeft">
                 <el-button type="info" plain size="small" :disabled="editDisabled || !form.id"
                   @click="allClick('一键保存')">一键保存</el-button>
@@ -305,9 +258,6 @@
                   @click="allClick('一键编辑')">一键编辑</el-button>
                 <el-button type="danger" plain size="small" :disabled="editDisabled || selectionList.length == 0"
                   @click="allClick('批量删除')">批量删除</el-button>
-                <el-button type="success" plain size="small"
-                  :disabled="editDisabled || form.preContainersList.length == 0"
-                  @click="allClick('提取价格')">提取价格</el-button>
               </template>
               <template slot="indexHeader" slot-scope="{row,index}">
                 <el-button type="primary" size="mini" icon="el-icon-plus" :disabled="editDisabled || !form.id" circle
@@ -462,7 +412,7 @@
 </template>
 
 <script>
-import { submit, getDetail, submitBookingCabin, sendMessageBooking, copyAgent, pleaseCheck, repealCancel, submitItemList, itemRemove, submitFeeList, itemFeeRemove } from "@/api/iosBasicData/businessCenter/bookingCabin.js";
+import { submit, getDetail, submitConfirm, submitCustomerBooking, revokeCustomerBooking, submitBookingCabin, sendMessageBooking, copyAgent, pleaseCheck, repealCancel, submitItemList, itemRemove, submitFeeList, itemFeeRemove } from "@/api/iosBasicData/businessCenter/bookingCabin.js";
 import dicSelect from "@/components/dicSelect/main";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
 import businessReports from "@/components/boxManagement/businessReportsTS.vue";
@@ -586,8 +536,8 @@ export default {
       form: {
         branchId: JSON.parse(localStorage.getItem('sysitemData')).deptId,
         branchName: JSON.parse(localStorage.getItem('sysitemData')).deptName,
-        customerServiceName: JSON.parse(localStorage.getItem('saber-userInfo')).content.user_name, // OP 默认登录人
-        customerServiceId: JSON.parse(localStorage.getItem('saber-userInfo')).content.user_id,
+        customerServiceName: JSON.parse(localStorage.getItem('sysitemData')).name, // OP 默认登录人
+        customerServiceId: JSON.parse(localStorage.getItem('sysitemData')).id,
         businessType: 'KHTS',
         billNoFormat: 'KHTS',
         businessTypeCode: 'KHTS',
@@ -735,44 +685,6 @@ export default {
                 trigger: 'blur'
               }
             ]
-          },
-          {
-            label: "海运费",
-            prop: "oceanFreight",
-            overHidden: true,
-            cell: true,
-          },
-          {
-            label: "销售价",
-            prop: "salesPrice",
-            overHidden: true,
-            cell: true,
-          },
-          {
-            label: "制单人",
-            prop: "createUserName",
-            overHidden: true,
-          },
-          {
-            label: "制单日期",
-            prop: "createTime",
-            overHidden: true,
-          },
-          {
-            label: "修改人",
-            prop: "updateUserName",
-            overHidden: true
-          },
-          {
-            label: "修改日期",
-            prop: "updateTime",
-            overHidden: true,
-          },
-          {
-            label: "备注",
-            prop: "remarks",
-            cell: true,
-            overHidden: true
           }
         ]
       },
@@ -1064,12 +976,16 @@ export default {
     DistributionBox
   },
   props: {
-    detailData: Object
+    detailData: Object,
+    pageIds: {
+      type: Array, // 指定 prop 的类型为 Array
+      default: () => [], // 提供一个默认值,这里使用函数形式返回一个空数组
+    }
   },
   async created() {
     this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
     this.roleName = localStorage.getItem('roleName').split(',')
-    this.option = await this.getColumnData(this.getColumnName(502), this.optionBack);
+    this.option = await this.getColumnData(this.getColumnName(512), this.optionBack);
     this.feecOption = await this.getColumnData(this.getColumnName(235.2), this.feecOptionBack);
     this.saveLocalCurrency(JSON.parse(localStorage.getItem('sysitemData')).deptId)
     isProcurement({ "param": "import.template" }).then(res => {
@@ -1098,6 +1014,42 @@ export default {
     this.saveLocalCurrency(this.deptId)
   },
   methods: {
+    lastPage() {
+      if (this.pageIds.length) {
+        const index = this.pageIds.indexOf(this.form.id)
+        if (index == 0) {
+          return this.$message.error('没有上一票了');
+        }
+        const lastIndex = index - 1
+        // if (this.form.id) {
+        //     this.unLock({
+        //         moduleName: "SE",
+        //         tableName: "SE_order",
+        //         billId: this.form.id,
+        //         billNo: this.form.mblno
+        //     });
+        // }
+        this.getDetails(this.pageIds[lastIndex])
+      }
+    },
+    nextPage() {
+      if (this.pageIds.length) {
+        const index = this.pageIds.indexOf(this.form.id)
+        if (this.pageIds[this.pageIds.length - 1] == this.form.id) {
+          return this.$message.error('没有下一票了');
+        }
+        const nextIndex = index + 1
+        // if (this.form.id) {
+        //     this.unLock({
+        //         moduleName: "SE",
+        //         tableName: "SE_order",
+        //         billId: this.form.id,
+        //         billNo: this.form.mblno
+        //     });
+        // }
+        this.getDetails(this.pageIds[nextIndex])
+      }
+    },
     // 提取箱专用的保存
     billsAddfun() {
       billsAdd(this.form).then(res => {
@@ -1286,9 +1238,15 @@ export default {
       if (name == 'customerServiceName') {
         if (row) {
           this.form.customerServiceId = row.id
+          this.form.srcId = row.id
+          this.form.srcEnName = row.name
+          this.form.srcCnName = row.name
         } else {
           this.form.customerServiceName = null
           this.form.customerServiceId = null
+          this.form.srcId = null
+          this.form.srcEnName = null
+          this.form.srcCnName = null
         }
       }
       if (name == 'polCnName') {
@@ -1450,10 +1408,13 @@ export default {
           }
         })
         this.form = res.data.data
-        if (res.data.data.issueStatus == 1 || res.data.data.status == 1 || res.data.data.status == 2 || res.data.data.status == 3) {
+        if (res.data.data.confirmStatus == 1) {
           // this.editButton = true
           this.editDisabled = true
           this.optionForm.disabled = true
+        } else {
+          this.editDisabled = false
+          this.optionForm.disabled = false
         }
       }).finally(() => {
         loading.close()
@@ -1694,6 +1655,87 @@ export default {
           }
         })
       }
+      if (name == '提交订舱') {
+        if (!this.form.preContainersList.length) {
+          return this.$message.error("集装箱明细不能为空");
+        }
+        for (let item of this.form.preContainersList) {
+          if (!item.id) {
+            return this.$message.error("请保存数据");
+          }
+          if (!item.cntrTypeCode || !item.quantity) {
+            this.$refs.crud.rowCell(item, item.$index)
+            return this.$message.error("请完善明细信息");
+          }
+        }
+        for (let item of this.form.containersList) {
+          if (!item.id) {
+            return this.$message.error("请保存数据");
+          }
+        }
+        this.$confirm("是否提交订舱?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          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)'
+          });
+          submitCustomerBooking(this.form).then(res => {
+            this.$message.success("操作成功");
+            this.getDetails(this.form.id)
+          }).finally(() => {
+            loading.close();
+          })
+        });
+
+      }
+      if (name == '撤销订舱') {
+        this.$confirm("是否撤销订舱?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          const loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            spinner: 'el-icon-loading',
+            background: 'rgba(255,255,255,0.7)'
+          });
+          revokeCustomerBooking(this.form).then(res => {
+            this.$message.success("操作成功");
+            this.getDetails(this.form.id)
+          }).finally(() => {
+            loading.close();
+          })
+        });
+      }
+      if (name == '提单确认') {
+        this.$confirm("是否提单确认?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          const loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            spinner: 'el-icon-loading',
+            background: 'rgba(255,255,255,0.7)'
+          });
+          submitConfirm(this.form).then(res => {
+            this.$message.success("操作成功");
+            this.getDetails(this.form.id)
+          }).finally(() => {
+            loading.close();
+          })
+        });
+      }
     },
     submit(type) {
       this.$refs["form"].validate((valid) => {
@@ -1739,7 +1781,7 @@ export default {
       if (!this.form.preContainersList.length) {
         return this.$message.error("集装箱明细不能为空");
       }
-      this.$confirm("确定运费申请?", {
+      this.$confirm("是否提单确认?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning"
@@ -1747,9 +1789,9 @@ export default {
         let obj = {}
         obj = {
           id: this.form.id,
-          url: '/iosBasicData/businessCenter/customerLetter/index',
+          url: '/iosBasicData/businessCenter/customerBooking/index',
           pageStatus: '',
-          pageLabel: '客户托书 ',
+          pageLabel: '客户订舱 ',
         }
         const loading = this.$loading({
           lock: true,

+ 17 - 31
src/views/iosBasicData/businessCenter/customerBooking/index.vue

@@ -5,8 +5,8 @@
                 v-model="form" id="out-table" :header-cell-class-name="headerClassName" ref="crud" @row-del="rowDel"
                 @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
                 @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
-                @resetColumn="resetColumn('crud', 'option', 'optionBack', 501)"
-                @saveColumn="saveColumn('crud', 'option', 'optionBack', 501)" @on-load="onLoad">
+                @resetColumn="resetColumn('crud', 'option', 'optionBack', 513)"
+                @saveColumn="saveColumn('crud', 'option', 'optionBack', 513)" @on-load="onLoad">
                 <template slot="menuLeft">
                     <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
                     </el-button>
@@ -19,8 +19,8 @@
                             <!-- <el-tab-pane label="录入" name="1"></el-tab-pane>
                             <el-tab-pane label="提交" name="2"></el-tab-pane>
                             <el-tab-pane label="受理" name="3"></el-tab-pane> -->
-                            <el-tab-pane label="待确认" name="4"></el-tab-pane>
-                            <el-tab-pane label="已生成" name="5"></el-tab-pane>
+                            <el-tab-pane label="草稿" name="1"></el-tab-pane>
+                            <el-tab-pane label="已提交" name="2"></el-tab-pane>
                             <el-tab-pane label="全部" name="0"></el-tab-pane>
                         </el-tabs>
                     </div>
@@ -28,7 +28,7 @@
                 <template slot="menu" slot-scope="{ row, index }">
                     <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
                     <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)"
-                        :disabled="row.status != 0||row.issueStatus!=0">删 除</el-button>
+                        :disabled="row.confirmStatus != 0 || row.issueStatus != 0">删 除</el-button>
                 </template>
                 <!-- <template slot="status" slot-scope="{ row }">
                     <span v-if="row.issueStatus == 0"
@@ -43,7 +43,7 @@
                 </template>
             </avue-crud>
         </basic-container>
-        <detailsPage v-if="!isShow" :detailData="detailData" @goBack="goBack"></detailsPage>
+        <detailsPage v-if="!isShow" :detailData="detailData" :pageIds="pageIds" @goBack="goBack"></detailsPage>
     </div>
 </template>
 
@@ -57,11 +57,12 @@ import _ from "lodash";
 export default {
     data() {
         return {
+            pageIds: [],
             isShow: true,
             form: {},
             query: {
                 businessType: 'KHTS',
-                billStatus: '4'
+                billStatus: '1'
             },
             loading: false,
             page: {
@@ -184,7 +185,7 @@ export default {
                         },
                     },
                     {
-                        label: "生成状态",
+                        label: "订舱状态",
                         prop: "issueStatus",
                         width: "80",
                         overHidden: true,
@@ -195,28 +196,7 @@ export default {
                             value: '0',
                         }, {
                             label: '是',
-                            value: '1',
-                        }],
-                    },
-                    {
-                        label: "审核状态",
-                        prop: "status",
-                        width: "80",
-                        overHidden: true,
-                        // search: true,
-                        type: 'select',
-                        dicData: [{
-                            label: '录入',
-                            value: 0,
-                        }, {
-                            label: '提交审核',
-                            value: 1,
-                        }, {
-                            label: '已审核',
-                            value: 3,
-                        }, {
-                            label: '驳回',
-                            value: 4,
+                            value: '2',
                         }],
                     },
                     {
@@ -389,7 +369,7 @@ export default {
         detailsPage
     },
     async created() {
-        this.option = await this.getColumnData(this.getColumnName(501), this.optionBack);
+        this.option = await this.getColumnData(this.getColumnName(513), this.optionBack);
     },
     activated() {
         setTimeout(() => {
@@ -407,6 +387,7 @@ export default {
             this.onLoad(this.page, this.query);
         },
         addButton() {
+            this.pageIds = []
             this.isShow = false
             this.detailData = {
                 type: 'new'
@@ -419,6 +400,10 @@ export default {
             };
         },
         rowEdit(row) {
+            this.pageIds = []
+            this.data.forEach(item => {
+                this.pageIds.push(item.id)
+            })
             this.detailData = {
                 id: row.id
             };
@@ -482,6 +467,7 @@ export default {
         },
         // 详情的返回列表
         goBack() {
+            this.pageIds = []
             // 初始化数据
             if (JSON.stringify(this.$route.query) != "{}") {
                 this.$router.$avueRouter.closeTag();

+ 33 - 27
src/views/iosBasicData/decisionAnalysis/index.vue

@@ -369,34 +369,34 @@ export default {
                         overHidden: true,
                     },
                     {
-                        label: "20",
+                        label: "20GP",
                         prop: "quantityV20",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
                     },
                     {
-                        label: "40",
+                        label: "40GP",
                         prop: "quantityV40",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
                     },
                     {
-                        label: "45",
+                        label: "20HC",
                         prop: "quantityV45",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
                     },
                     {
-                        label: "48",
+                        label: "40FR",
                         prop: "quantityV48",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
                     },
                     {
-                        label: "40Hc",
+                        label: "40HC",
                         prop: "quantityV40hc",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
                     },
                     {
                         label: "本币应收",
@@ -488,28 +488,34 @@ export default {
                         overHidden: true,
                     },
                     {
-                        label: "20",
+                        label: "20GP",
                         prop: "quantityV20",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
                     },
                     {
-                        label: "40",
+                        label: "40GP",
                         prop: "quantityV40",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
                     },
                     {
-                        label: "45",
+                        label: "20HC",
                         prop: "quantityV45",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
                     },
                     {
-                        label: "48",
+                        label: "40FR",
                         prop: "quantityV48",
-                        width: '100',
-                        overHidden: true,
+                        width: "100",
+                        overHidden: true
+                    },
+                    {
+                        label: "40HC",
+                        prop: "quantityV40hc",
+                        width: "100",
+                        overHidden: true
                     },
                     {
                         label: "40Hc",