Browse Source

修改 进出口船公司检索 新加同步订舱模块 去掉文件中心限制和pid 修改客户订舱新需求 COC新加锁定模块

Qukatie 5 months ago
parent
commit
5c012485ed

+ 7 - 0
src/api/iosBasicData/filescenter.js

@@ -48,3 +48,10 @@ export const update = (row) => {
   })
 }
 
+export const synchronousFile = (row) => {
+  return request({
+    url: '/api/blade-los/bills/synchronousFile ',
+    method: 'post',
+    data: row
+  })
+}

+ 1 - 1
src/components/upload/index.vue

@@ -7,7 +7,7 @@
           <el-button type="primary" size="small" icon="el-icon-edit" @click="addDetail" :disabled="disabled"
             v-if="display">上传
           </el-button>
-          <el-button type="success" size="small" icon="el-icon-edit" @click="submit" :disabled="disabled"
+          <el-button type="success" size="small" @click="submit" :disabled="disabled"
             v-if="saveBtn">一键保存
           </el-button>
           <slot name="c_button"></slot>

+ 1 - 0
src/views/iosBasicData/OceanFreightImport/bills/assembly/filescenter.vue

@@ -253,6 +253,7 @@ export default {
     // 新增
     addBtnfun() {
       this.assemblyForm.filesList.push({
+        pid:this.assemblyForm.id,
         edit: true
       })
       // this.$refs.crud.rowAdd()

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

@@ -698,7 +698,7 @@ export default {
                         filterable: true,
                         remote: true,
                         dicUrl:
-                            "/api/blade-los/bcorps/listByType?enName={{key}}",
+                            "/api/blade-los/bcorps/listByType?corpTypeName=船公司&enName={{key}}",
                         props: {
                             label: "enName",
                             value: "enName",
@@ -1258,17 +1258,19 @@ export default {
                         width: "120",
                         overHidden: true
                     },
-                    {
+                  {
                         label: "审核状态",
                         prop: "status",
                         type: "select",
-                        //dicData: [],
+                        dicUrl: "/api/blade-system/dict-biz/dictionary?code=audit_status_los",
                         width: "120",
                         props: {
                             label: "dictValue",
                             value: "dictKey"
                         },
-                        overHidden: true
+                        overHidden: true,
+                        search: true,
+                        searchOrder: 18.1
                     },
                     {
                         label: "备注",
@@ -1446,7 +1448,7 @@ export default {
             this.mawbOptionBack
         ); // 主单列表
         if (this.saberUserInfo.role_name.indexOf('admin') != -1 || this.saberUserInfo.role_name.indexOf('总部') != -1) {
-            this.option.searchMenuSpan = 24
+            this.option.searchMenuSpan = 12
             this.option.column.forEach(item => {
                 if (item.prop == 'branchId') {
                     item.search = true
@@ -1462,7 +1464,7 @@ export default {
         this.accountStatusWorkDictsfun(); // 获取财务状态字典数据
         this.corpBcorpslistByType(); // 获取客户名数据
         this.vesselBvesselsListfun(); // 获取船名数据
-        this.carrierBcorpslistByTypefun(); // 获取船公司数据
+        // this.carrierBcorpslistByTypefun(); // 获取船公司数据
         this.podBportsListfun(); // 获取目的港数据
         this.lineBlinesListfun(); // 获取航线数据
         this.cyBcorpslistByType(); // 获取场站数据
@@ -2512,7 +2514,7 @@ export default {
                 this[optionBack]
             );
             if (this.saberUserInfo.role_name.indexOf('admin') != -1 || this.saberUserInfo.role_name.indexOf('总部') != -1) {
-                this.option.searchMenuSpan = 24
+                this.option.searchMenuSpan = 12
                 this.option.column.forEach(item => {
                     if (item.prop == 'branchId') {
                         item.search = true

+ 37 - 7
src/views/iosBasicData/SeafreightExportF/bills/assembly/filescenter.vue

@@ -6,17 +6,24 @@
       @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
       @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
       <template slot="menuLeft">
-        <el-button type="primary" size="small" icon="el-icon-plus" plain
-          :disabled="!assemblyForm.id || detailData.seeDisabled || showLock" @click="addBtnfun">新 增
+        <el-button type="primary" size="small" icon="el-icon-plus" plain :disabled="!assemblyForm.id || showLock"
+          @click="addBtnfun">新 增
         </el-button>
         <el-button type="danger" size="small" icon="el-icon-delete" plain :disabled="detailData.seeDisabled || showLock"
           @click="handleDelete">删 除
         </el-button>
+        <el-button type="success" size="small" plain :disabled="detailData.seeDisabled || showLock"
+          @click="syncData">同步订舱文件
+        </el-button>
       </template>
       <template slot="menu" slot-scope="{ row, index }">
-        <el-button size="small" v-if="row.isImage==0" icon="el-icon-view" type="text" @click="rowDownload(row, index)">下 载
+        <el-button size="small" v-if="row.isImage == 0" icon="el-icon-view" type="text"
+          @click="rowDownload(row, index)">下
+          载
         </el-button>
-        <el-button size="small" v-if="row.isImage==1" icon="el-icon-view" type="text" @click="rowPreview(row, index)">预 览
+        <el-button size="small" v-if="row.isImage == 1" icon="el-icon-view" type="text"
+          @click="rowPreview(row, index)">预
+          览
         </el-button>
         <el-button v-if="row.edit" size="small" icon="el-icon-edit" type="text" @click="rowCell(row, index)">保 存
         </el-button>
@@ -75,7 +82,7 @@
 </template>
 
 <script>
-import { filescenterList, filescenterDetail, filescenterSubmit, filescenterRemove } from "@/api/iosBasicData/filescenter";
+import { filescenterList, filescenterDetail, filescenterSubmit, filescenterRemove, synchronousFile } from "@/api/iosBasicData/filescenter";
 import { mapGetters } from "vuex";
 import { requiredMessage } from "@/util/messageReminder";
 import website from "@/config/website";
@@ -256,6 +263,7 @@ export default {
     // 新增
     addBtnfun() {
       this.assemblyForm.filesList.push({
+        pid: this.assemblyForm.id,
         edit: true
       })
       // this.$refs.crud.rowAdd()
@@ -275,8 +283,8 @@ export default {
       this.$set(this.assemblyForm.filesList[this.selectIndex], 'url', res.link)
       this.$set(this.assemblyForm.filesList[this.selectIndex], 'fileName', res.originalName)
       this.$set(this.assemblyForm.filesList[this.selectIndex], 'fileExt', res.originalName)
-      this.$set(this.assemblyForm.filesList[this.selectIndex], 'serialNo',this.selectIndex+1)
-      this.$set(this.assemblyForm.filesList[this.selectIndex], 'isImage',0)
+      this.$set(this.assemblyForm.filesList[this.selectIndex], 'serialNo', this.selectIndex + 1)
+      this.$set(this.assemblyForm.filesList[this.selectIndex], 'isImage', 0)
       loading = false;
       done();
     },
@@ -450,6 +458,28 @@ export default {
         }
       })
     },
+    syncData() {
+      if(this.selectionList.length==0){
+        return this.$message.error('请选择文件明细')
+      }
+      this.$confirm('是否同步订舱文件?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        let obj = {
+          id: this.assemblyForm.id,
+          filesList: this.selectionList
+        }
+        synchronousFile(obj).then(res => {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+        })
+      })
+
+    },
     beforeOpen(done, type) {
       if (["edit", "view"].includes(type)) {
         filescenterDetail(this.form.id).then(res => {

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

@@ -818,27 +818,27 @@ export default {
                     },
                     {
                         label: "承运人",
-                        prop: "carrierCnName",
+                        prop: "carrierEnName",
                         overHidden: true,
                         type: "select",
                         filterable: true,
                         remote: true,
-                        dicUrl: "/api/blade-los/bcorps/listByType?cnName={{key}}",
+                        dicUrl: "/api/blade-los/bcorps/listByType?corpTypeName=船公司&enName={{key}}",
                         props: {
-                            label: "cnName",
-                            value: "cnName",
+                            label: "enName",
+                            value: "enName",
                             res: "data.records"
                         },
                         search: true,
                         span: 6,
                         searchOrder: 10,
-                        hide: true,
-                    },
-                    {
-                        label: "承运人",
-                        prop: "carrierShortName",
-                        overHidden: true
+                        // hide: true,
                     },
+                    // {
+                    //     label: "承运人",
+                    //     prop: "carrierShortName",
+                    //     overHidden: true
+                    // },
                     {
                         label: "装货港",
                         prop: "polEnName",

+ 171 - 49
src/views/iosBasicData/businessCenter/customerBooking/detailsPage.vue

@@ -31,10 +31,10 @@
           size="small" @click="allClick('撤销订舱')">撤销订舱
         </el-button>
         <el-button v-if="form.issueStatus == 1 || form.issueStatus == 2" class="el-button--small-yh"
-          style="margin-left: 6px;" type="danger" size="small" @click="allClick('提单修改')">提单修改
+          style="margin-left: 6px;" type="danger" size="small" @click="allClick('提单修改')">截单SI修改
         </el-button>
         <el-button v-if="form.issueStatus == 1 || form.issueStatus == 2" class="el-button--small-yh"
-          style="margin-left: 6px;" type="success" size="small" :disabled="flxDisabled" @click="allClick('提单确认')">提单确认
+          style="margin-left: 6px;" type="success" size="small" :disabled="flxDisabled" @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">提单确认
@@ -85,21 +85,21 @@
                       <el-row>
                         <el-form-item label="发货人" prop="hshipperDetails">
                           <el-input type="textarea" style="width: 100%;" v-model="form.detail.hshipperDetails"
-                            size="small" autocomplete="off" :disabled="editDisabled" :rows="5" clearable
+                            size="small" autocomplete="off" :disabled="editDisabled" :rows="6" clearable
                             placeholder="请输入发货人提单描述" @change="textareaBlur('hshipperDetails', $event)"></el-input>
                         </el-form-item>
                       </el-row>
                       <el-row>
                         <el-form-item label="收货人" prop="hconsigneeDetails">
                           <el-input type="textarea" style="width: 100%;" v-model="form.detail.hconsigneeDetails"
-                            size="small" autocomplete="off" :disabled="editDisabled" :rows="5" clearable
+                            size="small" autocomplete="off" :disabled="editDisabled" :rows="6" clearable
                             placeholder="请输入收货人提单描述" @change="textareaBlur('hconsigneeDetails', $event)"></el-input>
                         </el-form-item>
                       </el-row>
                       <el-row>
                         <el-form-item label="通知人" prop="hnotifyDetails">
                           <el-input type="textarea" style="width: 100%;" v-model="form.detail.hnotifyDetails"
-                            size="small" autocomplete="off" :disabled="editDisabled" :rows="5" clearable
+                            size="small" autocomplete="off" :disabled="editDisabled" :rows="6" clearable
                             placeholder="请输入通知人提单描述" @change="textareaBlur('hnotifyDetails', $event)"></el-input>
                         </el-form-item>
                       </el-row>
@@ -109,7 +109,7 @@
                         <el-form-item label="唛头" prop="marks"
                           :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
                           <el-input type="textarea" style="width: 100%;" v-model="form.marks" size="small"
-                            autocomplete="off" :disabled="editDisabled" :rows="7" clearable placeholder="请输入唛头"
+                            autocomplete="off" :disabled="editDisabled" :rows="10" clearable placeholder="请输入唛头"
                             @change="textareaBlur2('marks', $event)"></el-input>
                         </el-form-item>
                       </el-row>
@@ -117,7 +117,7 @@
                         <el-form-item label="货物" prop="commodityDescr"
                           :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
                           <el-input type="textarea" style="width: 100%;" v-model="form.commodityDescr" size="small"
-                            autocomplete="off" :disabled="editDisabled" :rows="9" clearable placeholder="请输入提单上货物描述"
+                            autocomplete="off" :disabled="editDisabled" :rows="10" clearable placeholder="请输入提单上货物描述"
                             @change="textareaBlur2('commodityDescr', $event)"></el-input>
                         </el-form-item>
                       </el-row>
@@ -126,22 +126,93 @@
                 </el-col>
                 <el-col span="12">
                   <el-row>
+                    <el-col span="8">
+                      <el-form-item label="B/L NO" prop="hblno">
+                        <el-input style="width: 100%;" v-model="form.hblno" size="small" :disabled="true" clearable
+                          placeholder="B/L NO"></el-input>
+                      </el-form-item>
+                    </el-col>
+                    <el-col span="8">
+                      <el-form-item label="船名" prop="vesselCnName">
+                        <el-input style="width: 100%;" v-model="form.vesselCnName" size="small" :disabled="true" clearable
+                          placeholder="船名"></el-input>
+                      </el-form-item>
+                    </el-col>
+                    <el-col span="8">
+                      <el-form-item label="航次" prop="voyageNo">
+                        <el-input style="width: 100%;" v-model="form.voyageNo" size="small" :disabled="true" clearable
+                          placeholder="航次"></el-input>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row>
                     <el-col span="12">
                       <el-form-item label="起运港" prop="polCnName"
                         :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
-                        <dic-select v-model="form.polCnName" placeholder="起运港" key="id" label="cnName" res="records"
-                          url="/blade-los/bports/list?current=1&size=5" :filterable="true" :remote="true"
-                          dataName="cnName" @selectChange="dicChange('polCnName', $event)" :disabled="editDisabled"
-                          :slotRight="true" rightLabel="code"></dic-select>
+                        <el-row>
+                          <el-col span="12">
+                            <dic-select v-model="form.polCnName" placeholder="起运港" key="id" label="cnName" res="records"
+                              url="/blade-los/bports/list?current=1&size=5" :filterable="true" :remote="true"
+                              dataName="cnName" @selectChange="dicChange('polCnName', $event)" :disabled="editDisabled"
+                              :slotRight="true" rightLabel="code"></dic-select>
+                          </el-col>
+                          <el-col span="12">
+                            <el-input style="width: 100%;" v-model="form.polNamePrint" size="small"
+                              :disabled="editDisabled" clearable placeholder="装货港"
+                              @change="textareaBlur2('polNamePrint', $event)"></el-input>
+                          </el-col>
+                        </el-row>
                       </el-form-item>
                     </el-col>
                     <el-col span="12">
                       <el-form-item label="卸货港" prop="podCnName"
                         :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
-                        <dic-select v-model="form.podCnName" placeholder="卸货港" key="id" label="cnName" res="records"
-                          url="/blade-los/bports/list?current=1&size=5" :filterable="true" :remote="true"
-                          dataName="cnName" @selectChange="dicChange('podCnName', $event)" :disabled="editDisabled"
-                          :slotRight="true" rightLabel="code"></dic-select>
+                        <el-row>
+                          <el-col span="12">
+                            <dic-select v-model="form.podCnName" placeholder="卸货港" key="id" label="cnName" res="records"
+                              url="/blade-los/bports/list?current=1&size=5" :filterable="true" :remote="true"
+                              dataName="cnName" @selectChange="dicChange('podCnName', $event)" :disabled="editDisabled"
+                              :slotRight="true" rightLabel="code"></dic-select>
+                          </el-col>
+                          <el-col span="12">
+                            <el-input style="width: 100%;" v-model="form.podNamePrint" size="small"
+                              :disabled="editDisabled" clearable placeholder="卸货港"
+                              @change="textareaBlur2('podNamePrint', $event)"></el-input>
+                          </el-col>
+                        </el-row>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row>
+                    <el-col span="12">
+                      <el-form-item label="交货地" prop="polCnName">
+                        <el-row>
+                          <el-col span="12">
+                            <dic-select v-model="form.placeDeliveryName" placeholder="交货地" key="id" label="cnName"
+                              res="records" url="/blade-los/bports/list?current=1&size=5" :filterable="true"
+                              :remote="true" dataName="cnName" @selectChange="dicChange('placeDeliveryName', $event)"
+                              :disabled="editDisabled" :slotRight="true" rightLabel="code"></dic-select>
+                          </el-col>
+                          <el-col span="12">
+                            <el-input style="width: 100%;" v-model="form.placeDeliveryNamePrint" size="small"
+                              :disabled="editDisabled" clearable placeholder="交货地"
+                              @change="textareaBlur2('placeDeliveryNamePrint', $event)"></el-input>
+                          </el-col>
+                        </el-row>
+                      </el-form-item>
+                    </el-col>
+                    <el-col span="12">
+                      <el-form-item label="HS CODE" prop="hscode">
+                        <el-row>
+                          <el-col span="12">
+                            <el-input style="width: 100%;" v-model="form.hscode" size="small" :disabled="editDisabled"
+                              clearable placeholder="HS CODE"></el-input>
+                          </el-col>
+                          <el-col span="12">
+                            <el-input style="width: 100%;" v-model="form.commodityCnName" size="small"
+                              :disabled="editDisabled" clearable placeholder="英文名称"></el-input>
+                          </el-col>
+                        </el-row>
                       </el-form-item>
                     </el-col>
                   </el-row>
@@ -183,7 +254,7 @@
                   </el-row>
                   <el-row>
                     <el-col span="12">
-                      <el-form-item label="件数" prop="quantity"
+                      <el-form-item label="件数" prop="quantity"
                         :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
                         <el-input style="width: 100%;" v-model="form.quantity" size="small" autocomplete="off" min="1"
                           :disabled="editDisabled" clearable placeholder="请输入 件数">
@@ -202,24 +273,25 @@
                   </el-row>
                   <el-row>
                     <el-col span="12">
-                      <el-form-item label="毛重(KGS)" prop="grossWeight"
+                      <el-form-item label="总重量(KGS)" prop="grossWeight"
                         :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
                         <el-input style="width: 100%;" v-model="form.grossWeight" size="small" autocomplete="off"
-                          :disabled="editDisabled" clearable placeholder="请输入 毛重">
+                          :disabled="editDisabled" clearable placeholder="请输入 总重量">
                         </el-input>
                       </el-form-item>
                     </el-col>
                     <el-col span="12">
-                      <el-form-item label="尺码(CBM)" prop="measurement"
+                      <el-form-item label="总体积(CBM)" prop="measurement"
                         :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
                         <el-input style="width: 100%;" v-model="form.measurement" size="small" autocomplete="off"
-                          :disabled="editDisabled" clearable placeholder="请输入 尺码(CBM)">
+                          :disabled="editDisabled" clearable placeholder="请输入 总体积(CBM)">
                         </el-input>
                       </el-form-item>
                     </el-col>
                   </el-row>
                   <el-row>
-<!--                    <el-col span="12">
+
+                    <!--                    
                       <el-form-item label="所属公司" prop="branchName">
                         <dic-select v-model="form.branchName" placeholder="所属公司" key="id" label="deptName"
                           url="/blade-system/dept/top-list" :filterable="true" :remote="true" dataName="deptName"
@@ -228,16 +300,34 @@
                       </el-form-item>
                     </el-col>-->
                     <el-col span="24">
-                      <el-form-item label="货类" prop="cargoType">
-                        <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">
-                          </el-option>
-                        </el-select>
-                      </el-form-item>
+                      <el-row>
+                        <el-col span="12">
+                          <el-form-item label="货类" prop="cargoType">
+                            <el-select v-model="form.cargoType" placeholder="请选择 货类" :disabled="editDisabled"
+                              size="small" style="width: 100%;">
+                              <el-option v-for="item in cargoTypeData" :key="item.value" :label="item.label"
+                                :value="item.value">
+                              </el-option>
+                            </el-select>
+                          </el-form-item>
+                        </el-col>
+                        <el-col span="12">
+                          <el-form-item label="签单方式" prop="podCnName">
+                            <dic-select v-model="form.issueType" placeholder="签单方式" key="dictKey" label="dictValue"
+                              keyValue="dictKey" url="/blade-system/dict-biz/dictionary?code=issue_type_F"
+                              :filterable="true" :disabled="detailData.seeDisabled" :initData="true"></dic-select>
+                          </el-form-item>
+                        </el-col>
+                      </el-row>
                     </el-col>
                   </el-row>
                   <el-row>
+                    <el-form-item label="邮箱" prop="fileEmail">
+                      <el-input style="width: 100%;" size="small" v-model="form.fileEmail" :disabled="editDisabled"
+                        placeholder="文件联络人邮箱"></el-input>
+                    </el-form-item>
+                  </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="请输入场站备注"
@@ -548,12 +638,22 @@ export default {
         businessTypeCode: 'KHTS',
         boxBelongsTo: 'SOC',
         cargoType: 'dry',
+        issueType: "TER", // 签单方式 默认 正本提单
         bookingDate: dateFormat(new Date()),
         polId: null,
         polCode: null,
         polEnName: null,
         polCnName: null,
         polNamePrint: null,
+        podId: null,
+        podCode: null,
+        podEnName: null,
+        podCnName: null,
+        podNamePrint: null,
+        placeDeliveryId: null,
+        placeDeliveryCode: null,
+        placeDeliveryName: null,
+        placeDeliveryNamePrint: null,
         serviceTerms: 'CY-CY',
         mpaymode: 'PP',
         srcType: 'SALES',
@@ -582,21 +682,21 @@ export default {
             prop: "billNo",
             disabled: true,
           },
-          {
-            label: 'B/L NO',
-            prop: "hblno",
-            disabled: true,
-          },
-          {
-            label: '船名',
-            prop: "vesselCnName",
-            disabled: true,
-          },
-          {
-            label: '航次',
-            prop: "voyageNo",
-            disabled: true,
-          },
+          // {
+          //   label: 'B/L NO',
+          //   prop: "hblno",
+          //   disabled: true,
+          // },
+          // {
+          //   label: '船名',
+          //   prop: "vesselCnName",
+          //   disabled: true,
+          // },
+          // {
+          //   label: '航次',
+          //   prop: "voyageNo",
+          //   disabled: true,
+          // },
           {
             label: '截单日期',
             prop: "cyTrailerTime",
@@ -1301,6 +1401,20 @@ export default {
           this.form.podNamePrint = null
         }
       }
+      if (name == 'placeDeliveryName') {
+        if (row) {
+          this.form.placeDeliveryId = row.id
+          this.form.placeDeliveryCode = row.code
+          // this.form.podEnName = row.enName
+          this.form.placeDeliveryNamePrint = row.enName
+        } else {
+          this.form.placeDeliveryId = null
+          this.form.placeDeliveryCode = null
+          // this.form.podEnName = null
+          this.form.placeDeliveryName = null
+          this.form.placeDeliveryNamePrint = null
+        }
+      }
       if (name == 'srcType') {
         this.form.srcId = null
         this.form.srcEnName = null
@@ -1746,8 +1860,8 @@ export default {
         this.optionForm.disabled = false
       }
       if (name == '提单确认') {
-        if(this.form.containersList.length==0){
-            return this.$message.error("配箱信息不能为空");
+        if (this.form.containersList.length == 0) {
+          return this.$message.error("配箱信息不能为空");
         }
         for (let item of this.form.containersList) {
           let textList = []
@@ -1760,13 +1874,13 @@ export default {
           if (!item.sealNo) {
             textList.push('封号')
           }
-          if (!item.quantity||Number(item.quantity)==0) {
+          if (!item.quantity || Number(item.quantity) == 0) {
             textList.push('件数')
           }
-          if (!item.grossWeight||Number(item.grossWeight)==0) {
+          if (!item.grossWeight || Number(item.grossWeight) == 0) {
             textList.push('毛重')
           }
-          if (!item.measurement||Number(item.measurement)==0) {
+          if (!item.measurement || Number(item.measurement) == 0) {
             textList.push('尺码/体积')
           }
           if (textList.length) {
@@ -1795,8 +1909,16 @@ export default {
     },
     submit(type) {
       this.$refs["form"].validate((valid) => {
-        console.log(valid, this.form)
         if (valid) {
+          if (!this.form.detail.hshipperDetails) {
+            return this.$message.error("请输入发货人提单描述");
+          }
+          if (!this.form.detail.hconsigneeDetails) {
+            return this.$message.error("请输入收货人提单描述");
+          }
+          if (!this.form.detail.hnotifyDetails) {
+            return this.$message.error("请输入通知人提单描述");
+          }
           for (let row of this.form.preContainersList) {
             if (!row.cntrTypeCode || !row.quantity) {
               this.$refs.crud.rowCell(row, row.$index)

+ 30 - 3
src/views/iosBasicData/costcenter/coc/detailsPage.vue

@@ -1199,7 +1199,8 @@ export default {
                 ]
             },
             roleName: [],
-            saberUserInfo: null
+            saberUserInfo: null,
+            showLock:false, 
         }
     },
     components: {
@@ -1236,6 +1237,31 @@ export default {
         }
     },
     methods: {
+        inLock() {
+            this.showLock = true;
+            const data = {
+                moduleName: "COC",
+                tableName: "COC",
+                billId: this.form.id,
+                no: localStorage.getItem("browserID"),
+                billNo: this.form.businessNo
+            };
+            this.inDetailsKey(this.$route.name, {
+                moduleName: "COC",
+                tableName: "COC",
+                billId: this.form.id,
+                billNo: this.form.businessNo
+            });
+            this.checkLock(data).then(res => {
+                if (res.data.code == 200) {
+                    this.onLock(data).then(res => {
+                        if (res.data.code == 200) {
+                            this.showLock = false
+                        }
+                    });
+                }
+            });
+        },
         lastPage() {
             if (this.pageIds.length) {
                 const index = this.pageIds.indexOf(this.form.id)
@@ -1555,6 +1581,7 @@ export default {
                 console.log(res.data.data)
                 this.saveLocalCurrency(res.data.data.belongingCompanyId)
                 this.form = res.data.data
+                this.inLock()
                 if (res.data.data.status != '录入') {
                     this.editButton = true
                     this.editDisabled = true
@@ -2116,8 +2143,8 @@ export default {
         },
         goBack(type) {
             this.unLock({
-                moduleName: "SOC",
-                tableName: "SOC",
+                moduleName: "COC",
+                tableName: "COC",
                 billId: this.form.id,
                 billNo: this.form.businessNo
             });

+ 48 - 3
src/views/iosBasicData/finstlbills/assembly/finstlbillsitems.vue

@@ -1,11 +1,15 @@
 <template>
     <div>
-        <!--:row-style="{height:'20px',padding:'0px',fontSize:'12px'}"-->
         <avue-crud :option="option" :data="tableData" id="out-table" ref="crud"
             @selection-change="handleSelectionChange" :header-cell-style="tableHeaderCellStyle"
             :row-class-name="rowClassName" :cell-style="cellStyle"
             @resetColumn="resetColumn('crud', 'option', 'optionBack', 492)"
             @saveColumn="saveColumn('crud', 'option', 'optionBack', 492)">
+            <!-- <avue-crud :option="option" :data="pageData" id="out-table" ref="crud"
+            @selection-change="handleSelectionChange" :header-cell-style="tableHeaderCellStyle"
+            :row-class-name="rowClassName" :cell-style="cellStyle" :page.sync="page" @size-change="sizeChange"
+            @current-change="currentChange" @resetColumn="resetColumn('crud', 'option', 'optionBack', 492)"
+            @saveColumn="saveColumn('crud', 'option', 'optionBack', 492)"> -->
             <template slot="menuLeft">
                 <slot name="menuLeft"></slot>
             </template>
@@ -72,12 +76,18 @@ export default {
     },
     data() {
         return {
+            page: {
+                currentPage: 1,
+                total: 0,
+                pageSize: 10
+            },
+            pageData: [],
             ifInvoiceData: [], // 是否数据
             invoicelosDara: [],// 发票
             curCodeData: [], // 币种
             option: {},
             optionBack: {
-                maxHeight:'300px',
+                maxHeight: '300px',
                 calcHeight: 30,
                 menuWidth: 60,
                 // tip: false,
@@ -212,6 +222,22 @@ export default {
         this.invoicelosWorkDictsfun()
     },
     methods: {
+        getList() {
+            const start = (this.page.currentPage - 1) * this.page.pageSize
+            const end = start + this.page.pageSize
+            this.pageData = this.tableData.slice(start, end)
+        },
+        sizeChange(val) {
+            console.log('size', val)
+            this.page.currentPage = 1
+            this.page.pageSize = val
+            this.getList()
+        },
+        currentChange(val) {
+            console.log('current', val)
+            this.page.currentPage = val
+            this.getList()
+        },
         armbChange(row) {
             if (Number(row.amount - row.reconciliationAmount) > 0) {
                 if (Number(row.currentStlAmountRMB) < 0) {
@@ -486,7 +512,26 @@ export default {
             });
         }
     },
-
+    watch: {
+        tableData: {
+            // 执行方法
+            handler(oldValue, newValue) {
+                this.page.total = oldValue.length
+                this.getList()
+            },
+            deep: true, // 深度监听
+            immediate: true  // 第一次改变就执行,
+        },
+        // pageData: {
+        //     // 执行方法
+        //     handler(oldValue, newValue) {
+        //         this.page.total = oldValue.length
+        //         this.getList()
+        //     },
+        //     deep: true, // 深度监听
+        //     immediate: true  // 第一次改变就执行,
+        // }
+    }
 }
 </script>
 

+ 16 - 15
src/views/iosBasicData/finstlbills/finstlbillsDetails.vue

@@ -418,7 +418,7 @@
 -->
 
                     <el-card style="margin-top: 10px">
-                        <finstlbillsitems :tableData="tableData" :form="form" :handleSelectionData="handleSelectionData"
+                        <finstlbillsitems ref="billsItem" :tableData="tableData" :form="form" :handleSelectionData="handleSelectionData"
                             :brfalse="!editSave" @handleSelectionChange="handleSelectionChange">
                             <template slot="menuLeft">
                                 <div>
@@ -816,19 +816,19 @@ export default {
                 this.$message.warning('请选择对账单位');
                 return
             }
-            if (!this.form.id) {
-                // 是否选择从表数据
-                if (this.handleSelectionData.length == 0) {
-                    this.$message.warning('请选择对账数据');
-                    return;
-                }
-            }
-            for (let item of this.handleSelectionData) {
-                if (!item.currentStlCurCode) {
-                    this.$message.warning('请选择本次结算币种');
-                    return;
-                }
-            }
+            // if (!this.form.id) {
+            //     // 是否选择从表数据
+            //     if (this.handleSelectionData.length == 0) {
+            //         this.$message.warning('请选择对账数据');
+            //         return;
+            //     }
+            // }
+            // for (let item of this.handleSelectionData) {
+            //     if (!item.currentStlCurCode) {
+            //         this.$message.warning('请选择本次结算币种');
+            //         return;
+            //     }
+            // }
             this.form.billNoFormat = 'HYDZ'
             this.form.businessTypeCode = 'HYDZ'
             this.form.businessType = 'CHK' // 对账单
@@ -842,7 +842,7 @@ export default {
             this.form.billDate = this.form.billDate ? this.form.billDate.slice(0, 10) + ' 00:00:00' : null
             this.form.feeCnName = Array.isArray(this.form.feeCnName) ? this.form.feeCnName.join(',') : this.form.feeCnName
             if (!this.form.id) {
-                this.form.finStlBillsItemsList = this.handleSelectionData.map((item, index) => {
+                this.form.finStlBillsItemsList = this.tableData.map((item, index) => {
                     item.lineNo = Number(index) + 1
                     item.pType = item.businessType
                     item.accDate = item.billDate
@@ -1116,6 +1116,7 @@ export default {
                 if (this.tableData.length == 0) {
                     this.$message.warning('当前检索暂无数据!')
                 }
+                this.$refs.billsItem.getList()
             })
         },
         // 确认发票

+ 6 - 0
src/views/iosBasicData/finstlbills/index.vue

@@ -528,6 +528,12 @@ export default {
           //   prop: "voucherDate",
           //   overHidden: true,
           // },
+          // {
+          //   label: "制单人",
+          //   prop: "createUserName",
+          //   search:true,
+          //   overHidden: true,
+          // },
           {
             label: "备注",
             prop: "remarks",