Qukatie 1 тиждень тому
батько
коміт
e2c5554141

+ 89 - 55
src/views/iosBasicData/OceanFreightImport/bills/assembly/EntrustmentLnformation.vue

@@ -36,8 +36,8 @@
                                 <el-col :span="10">
                                     <search-query :datalist="polData" :selectValue="assemblyForm.polCode"
                                         :filterable="true" :clearable="true" :remote="true"
-                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
-                                        :joinData="true"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        :buttonIf="false" :joinData="true"
                                         :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
                                         placeholder="请选择装货港" @remoteMethod="remoteMethod($event, 'pol')"
                                         @corpChange="corpChange($event, 'pol')"
@@ -48,8 +48,8 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;" v-model="assemblyForm.polNamePrint"
                                         size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable
-                                        placeholder="装货港"></el-input>
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        clearable placeholder="装货港"></el-input>
                                 </el-col>
                             </el-row>
                         </el-form-item>
@@ -84,7 +84,8 @@
                                 <el-col :span="10">
                                     <search-query :datalist="destinationData"
                                         :selectValue="assemblyForm.destinationCode" :filterable="true" :clearable="true"
-                                        :remote="true" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                        :remote="true"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                         :buttonIf="false" :joinData="true"
                                         :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
                                         placeholder="请选择目的地" @remoteMethod="remoteMethod($event, 'destination')"
@@ -96,8 +97,8 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;"
                                         v-model="assemblyForm.destinationNamePrint" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable
-                                        placeholder="目的地"></el-input>
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        clearable placeholder="目的地"></el-input>
                                 </el-col>
                             </el-row>
                         </el-form-item>
@@ -142,8 +143,8 @@
                             <el-form-item label="" prop="hshipperDetails">
                                 <el-input type="textarea" style="width: 100%;"
                                     v-model="assemblyForm.detail.hshipperDetails" size="small" autocomplete="off"
-                                    :disabled="detailData.seeDisabled"  :rows="textareaNumber" clearable placeholder="请输入发货人提单描述"
-                                    @change="textareaBlur('hshipperDetails')"></el-input>
+                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
+                                    placeholder="请输入发货人提单描述" @change="textareaBlur('hshipperDetails')"></el-input>
                             </el-form-item>
                         </div>
                         <el-form-item label="收货人" prop="hconsigneeCnName">
@@ -174,12 +175,12 @@
                             <el-form-item label="同通" prop="hconsigneeDetails">
                                 <span slot="label">
                                     <span style="font-size: 12px;color: #1e9fff;cursor: pointer;"
-                                          @click="notifybyfun">同通</span>
+                                        @click="notifybyfun">同通</span>
                                 </span>
                                 <el-input type="textarea" style="width: 100%;"
                                     v-model="assemblyForm.detail.hconsigneeDetails" size="small" autocomplete="off"
-                                    :disabled="detailData.seeDisabled"  :rows="textareaNumber" clearable placeholder="请输入收货人提单描述"
-                                    @change="textareaBlur('hconsigneeDetails')"></el-input>
+                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
+                                    placeholder="请输入收货人提单描述" @change="textareaBlur('hconsigneeDetails')"></el-input>
                             </el-form-item>
                         </div>
                         <el-form-item label="通知人" prop="hnotifyCnName">
@@ -201,9 +202,8 @@
                                 </el-col>
                                 <el-col :span="8">
                                     <el-input type="age" style="width: 100%;"
-                                                v-model="assemblyForm.detail.hnotifyCntyName" size="small"
-                                                autocomplete="off" :disabled="detailData.seeDisabled" clearable
-                                                placeholder="通知人"></el-input>
+                                        v-model="assemblyForm.detail.hnotifyCntyName" size="small" autocomplete="off"
+                                        :disabled="detailData.seeDisabled" clearable placeholder="通知人"></el-input>
                                 </el-col>
                             </div>
                         </el-form-item>
@@ -211,12 +211,12 @@
                             <el-form-item label="" prop="hnotifyDetails">
                                 <span slot="label">
                                     <el-button type="primary" icon="el-icon-plus" size="mini"
-                                    @click="hnotifyClick"></el-button>
+                                        @click="hnotifyClick"></el-button>
                                 </span>
                                 <el-input type="textarea" style="width: 100%;"
                                     v-model="assemblyForm.detail.hnotifyDetails" size="small" autocomplete="off"
-                                    :disabled="detailData.seeDisabled"  :rows="textareaNumber" clearable placeholder="请输入通知人提单描述"
-                                    @change="textareaBlur('hnotifyDetails')"></el-input>
+                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
+                                    placeholder="请输入通知人提单描述" @change="textareaBlur('hnotifyDetails')"></el-input>
                             </el-form-item>
                         </div>
                     </el-row>
@@ -265,23 +265,42 @@
                         </el-row>
                     </el-col>
                     <el-col :span="12">
-                        <el-form-item label="ETA" prop="eta"
-                            :rules="[{ required: true, message: '', trigger: 'blur' }]">
-                            <span slot="label">
-                                <span style="color: #1e9fff">ETA</span>
-                            </span>
-                            <el-date-picker v-model="assemblyForm.eta" style="width: 100%" clearable type="date"
-                                size="small" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
-                                value-format="yyyy-MM-dd" :picker-options="etdPickerOptions" placeholder="请选择ETA日期"
-                                @change="handlePick">
-                            </el-date-picker>
-                        </el-form-item>
+
+                        <el-row>
+                            <el-col :span="12">
+                                <el-form-item label="ETA" prop="eta"
+                                    :rules="[{ required: true, message: '', trigger: 'blur' }]">
+                                    <span slot="label">
+                                        <span style="color: #1e9fff">ETA</span>
+                                    </span>
+                                    <el-date-picker v-model="assemblyForm.eta" style="width: 100%" clearable type="date"
+                                        size="small"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        value-format="yyyy-MM-dd" :picker-options="etdPickerOptions"
+                                        placeholder="请选择ETA日期" @change="handlePick">
+                                    </el-date-picker>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="12">
+                                <el-form-item v-if="business != 1" label="客服" prop="customerServiceName"
+                                    label-width="50px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
+                                    <span slot="label">
+                                        <span style="color: #1e9fff">客服</span>
+                                    </span>
+                                    <dic-select v-model="assemblyForm.customerServiceName" placeholder="客服" label="name"
+                                        url="/blade-user/selectListLos?roles=客服" :filterable="true" dataName="name"
+                                        @selectChange="dicChange('customerServiceName', $event)"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"></dic-select>
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
                         <el-form-item label="ETD" prop="etd" label-width="90px">
                             <span slot="label">
                                 <span style="color: #1e9fff">ETD</span>
                             </span>
                             <el-date-picker v-model="assemblyForm.etd" clearable style="width: 100%" type="date"
-                                size="small" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                size="small"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                 value-format="yyyy-MM-dd" :picker-options="etdPickerOptions" placeholder="请选择ETD日期">
                             </el-date-picker>
                         </el-form-item>
@@ -292,9 +311,9 @@
                                 </span>
                                 <search-query :datalist="vesselData" :selectValue="assemblyForm.vesselEnName"
                                     :filterable="true" :clearable="true" :remote="true" :allowCreate="true"
-                                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
-                                    :forParameter="{ key: 'id', label: 'enName', value: 'enName' }" placeholder="请选择船名"
-                                    @remoteMethod="remoteMethod($event, 'vessel')"
+                                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                    :buttonIf="false" :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
+                                    placeholder="请选择船名" @remoteMethod="remoteMethod($event, 'vessel')"
                                     @corpChange="corpChange($event, 'vessel')"
                                     @corpFocus="remoteMethod($event, 'vessel')">
                                 </search-query>
@@ -304,7 +323,8 @@
                                     <span style="color: #1e9fff">航次</span>
                                 </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo" size="small"
-                                    autocomplete="off" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                    autocomplete="off"
+                                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                     clearable placeholder="请选择航次"></el-input>
                             </el-form-item>
                         </div>
@@ -323,7 +343,8 @@
                             </span>
                             <search-query :datalist="carrierData" :selectValue="assemblyForm.carrierCnName"
                                 :filterable="true" :clearable="true" :remote="true" :joinData="true"
-                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                :buttonIf="false"
                                 :forParameter="{ key: 'id', short: 'shortName', label: 'cnName', value: 'cnName' }"
                                 placeholder="请选择船公司" @remoteMethod="remoteMethod($event, 'carrier')"
                                 @corpChange="corpChange($event, 'carrier')"
@@ -351,7 +372,8 @@
                                     </span>
                                     <search-query :datalist="packingUnitData" style="margin-right: -10px;"
                                         :selectValue="assemblyForm.packingUnit" :filterable="true" :clearable="true"
-                                        :remote="true" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                        :remote="true"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                         :buttonIf="false"
                                         :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
                                         placeholder="请选择包装" @remoteMethod="remoteMethod($event, 'packingUnit')"
@@ -435,10 +457,10 @@
                             </span>
                             <search-query :datalist="cyData" :selectValue="assemblyForm.cyCnName" :filterable="true"
                                 :clearable="true" :remote="true"
-                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
-                                :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
-                                @remoteMethod="remoteMethod($event, 'cy')" @corpChange="corpChange($event, 'cy')"
-                                @corpFocus="remoteMethod($event, 'cy')">
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                :buttonIf="false" :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
+                                placeholder="请选择场站" @remoteMethod="remoteMethod($event, 'cy')"
+                                @corpChange="corpChange($event, 'cy')" @corpFocus="remoteMethod($event, 'cy')">
                             </search-query>
                         </el-form-item>
                     </el-col>
@@ -453,7 +475,7 @@
                             <!--          clearable placeholder="请输入联系人" ></el-input>-->
                             <search-query :datalist="cyContactsData" :selectValue="assemblyForm.cyContacts"
                                 :filterable="true" :clearable="true"
-                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0 || !assemblyForm.cyCnName"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0 || !assemblyForm.cyCnName"
                                 :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
                                 placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
                                 @corpFocus="remoteMethod($event, 'cyContacts')">
@@ -468,8 +490,8 @@
                         </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyAddress" size="small"
                             autocomplete="off"
-                            :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0 || !assemblyForm.cyCnName" clearable
-                            placeholder="地址"></el-input>
+                            :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0 || !assemblyForm.cyCnName"
+                            clearable placeholder="地址"></el-input>
                     </el-form-item>
                 </el-col>
             </el-row>
@@ -478,8 +500,9 @@
                     <span style="color: #1e9fff">场站备注</span>
                 </span>
                 <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.cyRemarks" size="small"
-                    autocomplete="off" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" rows="3" clearable
-                    placeholder="请输入场站备注" @change="textareaBlur('cyRemarks')"></el-input>
+                    autocomplete="off"
+                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                    rows="3" clearable placeholder="请输入场站备注" @change="textareaBlur('cyRemarks')"></el-input>
             </el-form-item>
         </el-form>
 
@@ -681,7 +704,7 @@ export default {
     components: { bcorps, SearchQuery, precontainers, bcorpstypedefine, dicSelect },
     data() {
         return {
-            textareaNumber:5,
+            textareaNumber: 5,
             // 设置当前时间选择的范围
             etdPickerOptions: {
                 disabledDate(time) {
@@ -749,7 +772,7 @@ export default {
     },
     created() {
         isProcurement({ "param": "textarea.number" }).then(res => {
-            if(res.data.data){
+            if (res.data.data) {
                 this.textareaNumber = res.data.data
             }
         })
@@ -856,6 +879,17 @@ export default {
             }
             else { }
         },
+        dicChange(name, row) {
+            if (name == 'customerServiceName') {
+                if (row) {
+                    this.assemblyForm.customerServiceName = row.name
+                    this.assemblyForm.customerServiceId = row.id
+                } else {
+                    this.assemblyForm.customerServiceName = null
+                    this.assemblyForm.customerServiceId = null
+                }
+            }
+        },
         // 选择框的回调
         corpChange(value, name) {
             let arr = ['hshipper', 'hconsignee', 'hnotify', 'hnotify2']
@@ -943,7 +977,7 @@ export default {
                     this.$set(this.assemblyForm, 'vesselEnName', '')
                 }
                 if (this[name + 'Data'].length == 0) {
-                    this.$set(this.assemblyForm, 'vesselId',null)
+                    this.$set(this.assemblyForm, 'vesselId', null)
                     this.$set(this.assemblyForm, 'vesselCnName', value)
                     this.$set(this.assemblyForm, 'vesselEnName', value)
                 }
@@ -1141,15 +1175,15 @@ export default {
             //         type: 'warning'
             //     });
             // }
-            let arr = ['hshipperDetails','hconsigneeDetails','hnotifyDetails','hnotify2Details']
+            let arr = ['hshipperDetails', 'hconsigneeDetails', 'hnotifyDetails', 'hnotify2Details']
             if (arr.indexOf(name) != -1) {
-                this.assemblyForm.detail[name] =_.toUpper(this.assemblyForm.detail[name])
-                
+                this.assemblyForm.detail[name] = _.toUpper(this.assemblyForm.detail[name])
+
             }
-            let arr2=['marks','commodityDescr','remarks','cyRemarks']
+            let arr2 = ['marks', 'commodityDescr', 'remarks', 'cyRemarks']
             if (arr2.indexOf(name) != -1) {
-                this.assemblyForm[name] =_.toUpper(this.assemblyForm[name])
-                
+                this.assemblyForm[name] = _.toUpper(this.assemblyForm[name])
+
             }
             // this.assemblyForm[name] = textareaWrap(this.assemblyForm[name])
         },
@@ -1279,7 +1313,7 @@ export default {
         },
         // 包装数据
         packingUnitBpackagesListfun(cnName) {
-            bpackagesList(1, 10, { cnName, status: 0, whetherDg: 0  }).then(res => {
+            bpackagesList(1, 10, { cnName, status: 0, whetherDg: 0 }).then(res => {
                 this.packingUnitData = res.data.data.records
             })
         },

+ 108 - 74
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -147,8 +147,7 @@
                                         :clearable="true" :remote="true" :joinData="true" :special="true"
                                         :disabled="detailData.seeDisabled" :buttonIf="false" placeholder="请选择收货地"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
-                                        :multi-columns="true"
-                                        :dropdown-columns="portDorpdownColumns"
+                                        :multi-columns="true" :dropdown-columns="portDorpdownColumns"
                                         @remoteMethod="remoteMethod($event, 'placeReceipt')"
                                         @corpChange="corpChange($event, 'placeReceipt')"
                                         @corpFocus="remoteMethod($event, 'placeReceipt')">
@@ -178,11 +177,11 @@
                                 <el-col :span="10">
                                     <search-query :datalist="polData" :selectValue="assemblyForm.polEnName"
                                         :filterable="true" :clearable="true" :remote="true" :joinData="true"
-                                        :special="true" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                        :special="true"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                         :buttonIf="false" placeholder="请选择装货港"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
-                                        :multi-columns="true"
-                                        :dropdown-columns="portDorpdownColumns"
+                                        :multi-columns="true" :dropdown-columns="portDorpdownColumns"
                                         @remoteMethod="remoteMethod($event, 'pol')"
                                         @corpChange="corpChange($event, 'pol')"
                                         @corpFocus="remoteMethod($event, 'pol')">
@@ -192,8 +191,8 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;" v-model="assemblyForm.polNamePrint"
                                         size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable
-                                        placeholder="装货港" @change="textareaBlur('polNamePrint')"></el-input>
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        clearable placeholder="装货港" @change="textareaBlur('polNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
                         </el-form-item>
@@ -215,8 +214,7 @@
                                         :joinData="true" :special="true" :disabled="detailData.seeDisabled"
                                         :buttonIf="false" placeholder="请选择卸货港"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
-                                        :multi-columns="true"
-                                        :dropdown-columns="portDorpdownColumns"
+                                        :multi-columns="true" :dropdown-columns="portDorpdownColumns"
                                         @remoteMethod="remoteMethod($event, 'pod')"
                                         @corpChange="corpChange($event, 'pod')"
                                         @corpFocus="remoteMethod($event, 'pod')">
@@ -246,11 +244,10 @@
                                     <search-query :datalist="destinationData"
                                         :selectValue="assemblyForm.destinationName" :filterable="true" :clearable="true"
                                         :remote="true" :joinData="true" :special="true"
-                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
-                                        placeholder="请选择目的地"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        :buttonIf="false" placeholder="请选择目的地"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
-                                        :multi-columns="true"
-                                        :dropdown-columns="portDorpdownColumns"
+                                        :multi-columns="true" :dropdown-columns="portDorpdownColumns"
                                         @remoteMethod="remoteMethod($event, 'destination')"
                                         @corpChange="corpChange($event, 'destination')"
                                         @corpFocus="remoteMethod($event, 'destination')">
@@ -260,8 +257,9 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;"
                                         v-model="assemblyForm.destinationNamePrint" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable
-                                        placeholder="目的地" @change="textareaBlur('destinationNamePrint')"></el-input>
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        clearable placeholder="目的地"
+                                        @change="textareaBlur('destinationNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
                         </el-form-item>
@@ -280,11 +278,11 @@
                                 <el-col :span="10">
                                     <search-query :datalist="placeDeliveryData" :joinData="true"
                                         :selectValue="assemblyForm.placeDeliveryName" :filterable="true" :special="true"
-                                        :clearable="true" :remote="true" :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                        :clearable="true" :remote="true"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                         :buttonIf="false" placeholder="请选择交货地"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
-                                        :multi-columns="true"
-                                        :dropdown-columns="portDorpdownColumns"
+                                        :multi-columns="true" :dropdown-columns="portDorpdownColumns"
                                         @remoteMethod="remoteMethod($event, 'placeDelivery')"
                                         @corpChange="corpChange($event, 'placeDelivery')"
                                         @corpFocus="remoteMethod($event, 'placeDelivery')">
@@ -294,7 +292,8 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;"
                                         v-model="assemblyForm.placeDeliveryNamePrint" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable placeholder="交货地"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        clearable placeholder="交货地"
                                         @change="textareaBlur('placeDeliveryNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
@@ -317,8 +316,7 @@
                                         :special="true" :disabled="detailData.seeDisabled" :buttonIf="false"
                                         placeholder="请选择中转港"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
-                                        :multi-columns="true"
-                                        :dropdown-columns="portDorpdownColumns"
+                                        :multi-columns="true" :dropdown-columns="portDorpdownColumns"
                                         @remoteMethod="remoteMethod($event, 'pot')"
                                         @corpChange="corpChange($event, 'pot')"
                                         @corpFocus="remoteMethod($event, 'pot')">
@@ -423,20 +421,38 @@
                         </el-row>
                     </el-col>
                     <el-col :span="12">
-                        <el-form-item label="ETD" prop="etd" label-width="90px"
-                            :rules="[{ required: true, message: '', trigger: 'blur' }]">
-                            <span slot="label">
-                                <span style="color: #1e9fff">ETD</span>
-                            </span>
-                            <el-date-picker v-model="assemblyForm.etd" clearable style="width: 60%" type="date"
-                                size="small" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
-                                value-format="yyyy-MM-dd" :picker-options="etdPickerOptions" placeholder="请选择ETD日期"
-                                @change="handlePick">
-                            </el-date-picker>
-                            <el-button style="margin-left: 6px" size="small" type="primary"
-                                       :disabled="!assemblyForm.id" @click="copyReceiptUrl(assemblyForm.id)">背箱小票链接
-                            </el-button>
-                        </el-form-item>
+                        <el-row>
+                            <el-col :span="12">
+                                <el-form-item label="ETD" prop="etd" label-width="90px"
+                                    :rules="[{ required: true, message: '', trigger: 'blur' }]">
+                                    <span slot="label">
+                                        <span style="color: #1e9fff">ETD</span>
+                                    </span>
+                                    <el-date-picker v-model="assemblyForm.etd" clearable style="width: 100%" type="date"
+                                        size="small"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        value-format="yyyy-MM-dd" :picker-options="etdPickerOptions"
+                                        placeholder="请选择ETD日期" @change="handlePick">
+                                    </el-date-picker>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="12">
+                                <el-button v-if="business == 1" style="margin:4px 6px" size="small" type="primary"
+                                    :disabled="!assemblyForm.id" @click="copyReceiptUrl(assemblyForm.id)">背箱小票链接
+                                </el-button>
+                                <el-form-item v-if="business != 1" label="客服" prop="customerServiceName"
+                                    label-width="50px" :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
+                                    <span slot="label">
+                                        <span style="color: #1e9fff">客服</span>
+                                    </span>
+                                    <dic-select v-model="assemblyForm.customerServiceName" placeholder="客服"
+                                        label="name" url="/blade-user/selectListLos?roles=客服" :filterable="true"
+                                        dataName="name" @selectChange="dicChange('customerServiceName', $event)"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"></dic-select>
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+
                         <div>
                             <el-form-item label="船名" prop="vesselCnName" label-width="90px">
                                 <span slot="label">
@@ -452,10 +468,10 @@
                                 </span>
                                 <search-query :datalist="vesselData" :selectValue="assemblyForm.vesselEnName"
                                     :filterable="true" :clearable="true" :remote="true" :allowCreate="true"
-                                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
-                                    placeholder="请选择船名" :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
-                                    :multi-columns="true"
-                                    :dropdown-columns="vesselDorpdownColumns"
+                                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                    :buttonIf="false" placeholder="请选择船名"
+                                    :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
+                                    :multi-columns="true" :dropdown-columns="vesselDorpdownColumns"
                                     @remoteMethod="remoteMethod($event, 'vessel')"
                                     @corpChange="corpChange($event, 'vessel')"
                                     @corpFocus="remoteMethod($event, 'vessel')">
@@ -466,7 +482,8 @@
                                     <span style="color: #1e9fff">航次</span>
                                 </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo" size="small"
-                                    autocomplete="off" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                    autocomplete="off"
+                                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                     clearable placeholder="请输入航次" @change="textareaBlur('voyageNo')"></el-input>
                             </el-form-item>
                         </div>
@@ -486,8 +503,8 @@
                             </span>
                             <search-query :datalist="carrierData" :selectValue="assemblyForm.carrierCnName"
                                 :filterable="true" :clearable="true" :remote="true" :joinData="true"
-                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
-                                placeholder="请选择船公司"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                :buttonIf="false" placeholder="请选择船公司"
                                 :forParameter="{ key: 'id', short: 'shortName', label: 'cnName', value: 'cnName' }"
                                 @remoteMethod="remoteMethod($event, 'carrier')"
                                 @corpChange="corpChange($event, 'carrier')"
@@ -542,7 +559,8 @@
                                         <span style="color: #1e9fff">件数</span>
                                     </span>
                                     <el-input ref="quantityRef" style="width: 100%;" v-model="assemblyForm.quantity"
-                                        size="small" autocomplete="off" min="1" :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                        size="small" autocomplete="off" min="1"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                         @input="quantityInput" @focus="quantityFocus" clearable
                                         placeholder="请输入件数"></el-input>
                                 </el-form-item>
@@ -563,7 +581,8 @@
                                     </span>
                                     <search-query :datalist="packingUnitData" style="margin-right: -10px;"
                                         :selectValue="assemblyForm.packingUnit" :filterable="true" :clearable="true"
-                                        :remote="true" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                                        :remote="true"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                                         :buttonIf="false" placeholder="请选择包装"
                                         :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
                                         @remoteMethod="remoteMethod($event, 'packingUnit')"
@@ -582,8 +601,9 @@
                                     </span>
                                     <el-input ref="grossWeightRef" step="0.01" style="width: 100%;"
                                         v-model="assemblyForm.grossWeight" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" @input="floatingInput($event, 'grossWeight')"
-                                        @focus="quantityFocus" clearable placeholder="请输入毛重"></el-input>
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        @input="floatingInput($event, 'grossWeight')" @focus="quantityFocus" clearable
+                                        placeholder="请输入毛重"></el-input>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
@@ -594,14 +614,16 @@
                                     </span>
                                     <el-input ref="measurementRef" step="0.01" style="width: 106%;"
                                         v-model="assemblyForm.measurement" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" @input="floatingInput($event, 'measurement')"
-                                        @focus="quantityFocus" clearable placeholder="请输入尺码/体积"></el-input>
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                                        @input="floatingInput($event, 'measurement')" @focus="quantityFocus" clearable
+                                        placeholder="请输入尺码/体积"></el-input>
                                 </el-form-item>
                             </el-col>
                         </div>
                     </el-col>
                     <el-col :span="24">
-                        <precontainers :assemblyForm="assemblyForm" :seeDisabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
+                        <precontainers :assemblyForm="assemblyForm"
+                            :seeDisabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
                             :pid="assemblyForm.id" @billsDetailfun="billsDetailfun">
                         </precontainers>
                     </el-col>
@@ -729,7 +751,7 @@
                             <!--          clearable placeholder="请输入联系人" ></el-input>-->
                             <search-query :datalist="cyContactsData" :selectValue="assemblyForm.cyContacts"
                                 :filterable="true" :clearable="true"
-                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0 || !assemblyForm.cyCnName"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0 || !assemblyForm.cyCnName"
                                 :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
                                 placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
                                 @corpFocus="remoteMethod($event, 'cyContacts')">
@@ -744,8 +766,8 @@
                         </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyAddress" size="small"
                             autocomplete="off"
-                            :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0 || !assemblyForm.cyCnName" clearable
-                            placeholder="地址"></el-input>
+                            :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0 || !assemblyForm.cyCnName"
+                            clearable placeholder="地址"></el-input>
                     </el-form-item>
                 </el-col>
             </el-row>
@@ -754,8 +776,9 @@
                     <span style="color: #1e9fff">场站备注</span>
                 </span>
                 <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.cyRemarks" size="small"
-                    autocomplete="off" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" rows="3" clearable
-                    placeholder="请输入场站备注" @change="textareaBlur('cyRemarks')"></el-input>
+                    autocomplete="off"
+                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0 || assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length > 0"
+                    rows="3" clearable placeholder="请输入场站备注" @change="textareaBlur('cyRemarks')"></el-input>
             </el-form-item>
         </el-form>
 
@@ -922,7 +945,7 @@ import { bportsList } from "@/api/iosBasicData/bports";
 import { bpackagesList } from "@/api/iosBasicData/bpackages";
 import { bcommodityList } from "@/api/iosBasicData/bcommodity";
 import { getBvesselsList } from "@/api/iosBasicData/bvessels";
-import {blinesList, getReceiptUrl} from "@/api/iosBasicData/blines";
+import { blinesList, getReceiptUrl } from "@/api/iosBasicData/blines";
 import { bcorpstypedefineList } from "@/api/iosBasicData/bcorpstypedefine";
 import bcorpstypedefine from "@/views/iosBasicData/bcorps/bcorpstypedefine.vue";
 import { textareaWrap } from "@/util/messageReminder";
@@ -1060,35 +1083,35 @@ export default {
             dgPackingLevelData: [],
 
             marksIndex: 1,
-            business:null,
+            business: null,
 
             // 港口下拉列
-            portDorpdownColumns:[],
+            portDorpdownColumns: [],
             // 客户下拉列
-            vesselDorpdownColumns:[],
+            vesselDorpdownColumns: [],
         }
     },
     created() {
         let portColumns = [
-            {key: 'code', field: 'code', label: '编码', width: '60px'},
-            {key: 'enName', field: 'enName', label: '名称', width: '200px'},
+            { key: 'code', field: 'code', label: '编码', width: '60px' },
+            { key: 'enName', field: 'enName', label: '名称', width: '200px' },
         ]
 
         // KL,CUSTOMS,MOL
         // APL,ESL,HMM,INTTRA,ONE,PIL,SML,VOLTA,YANGMING,ZIM
         // let columnNames = 'INTTRA,MAEU,OOCL,APL,PIL,HJ,HMM,ESL,ZIM,PO,MSC,CSAV,QQCT,CTM,SML,VOLTA';
         let columnNames = 'APL,ESL,HMM,INTTRA,ONE,PIL,SML,VOLTA,PO,ZIM';
-        columnNames.split(',').forEach(col=>{
-            portColumns.push({key: col, field: col, label: col, fontSize: '10px', width: '45px'})
+        columnNames.split(',').forEach(col => {
+            portColumns.push({ key: col, field: col, label: col, fontSize: '10px', width: '45px' })
         })
         this.portDorpdownColumns = portColumns;
 
         let vslColumns = [
-            {key: 'enName', field: 'enName', label: '名称', width: '200px'},
+            { key: 'enName', field: 'enName', label: '名称', width: '200px' },
         ]
         columnNames = 'APL,HMM,MSC,CSAV,SML'
-        columnNames.split(',').forEach(col=>{
-            vslColumns.push({key: col, field: col, label: col, fontSize: '10px', width: '45px'})
+        columnNames.split(',').forEach(col => {
+            vslColumns.push({ key: col, field: col, label: col, fontSize: '10px', width: '45px' })
         })
         this.vesselDorpdownColumns = vslColumns;
 
@@ -1183,6 +1206,17 @@ export default {
                 this.delData = []
             }
         },
+        dicChange(name, row) {
+            if (name == 'customerServiceName') {
+                if (row) {
+                    this.assemblyForm.customerServiceName = row.name
+                    this.assemblyForm.customerServiceId = row.id
+                } else {
+                    this.assemblyForm.customerServiceName = null
+                    this.assemblyForm.customerServiceId = null
+                }
+            }
+        },
         //ETD监听
         handlePick(val) {
             if (this.assemblyForm.id) {
@@ -1395,13 +1429,13 @@ export default {
                         this.$set(this.assemblyForm, name + 'NamePrint', item.enName)
                         if (this.business == 1) {
                             if (name == 'placeDelivery') {
-                                let wt = Number(item.weightLimit), gw=Number(this.assemblyForm.grossWeight), sm = typeof item.specalMarks == 'string' ? item.specalMarks.trim() : '', msg='';
+                                let wt = Number(item.weightLimit), gw = Number(this.assemblyForm.grossWeight), sm = typeof item.specalMarks == 'string' ? item.specalMarks.trim() : '', msg = '';
                                 wt = isNaN(wt) ? 0 : wt;
                                 gw = isNaN(gw) ? 0 : gw;
 
-                                msg += (wt>0 && gw>wt) ? `超出港口限重,限重:${wt},毛重:${gw}!` : ''
+                                msg += (wt > 0 && gw > wt) ? `超出港口限重,限重:${wt},毛重:${gw}!` : ''
                                 msg += sm ? `<br/>港口特殊要求:${sm}!` : ''
-                                if(msg){
+                                if (msg) {
                                     this.$confirm(msg, '提示', {
                                         confirmButtonText: '确定',
                                         showCancelButton: false,
@@ -1838,11 +1872,11 @@ export default {
             })
         },
         // EDI 信息转成列
-        processEDIAsColumns(records){
-            if(Array.isArray(records)){
-                records.forEach(rec=>{
-                    if(Array.isArray(rec.extendedDataArr)) {
-                        rec.extendedDataArr.forEach(js=>rec[js.name]=js.value);
+        processEDIAsColumns(records) {
+            if (Array.isArray(records)) {
+                records.forEach(rec => {
+                    if (Array.isArray(rec.extendedDataArr)) {
+                        rec.extendedDataArr.forEach(js => rec[js.name] = js.value);
                     }
                 })
             }
@@ -1973,7 +2007,7 @@ export default {
             })
         },
 
-        copyReceiptUrl(id){
+        copyReceiptUrl(id) {
             getReceiptUrl(id).then(res => {
                 console.info('res---', res)
                 const input = document.createElement('textarea');