Przeglądaj źródła

货代bug 2024-1-24

caojunjie 1 rok temu
rodzic
commit
91c6ab48c8

+ 15 - 3
src/components/iosbasic-data/searchquery.vue

@@ -21,7 +21,11 @@
                 </el-select>
             </div>
             <div v-if="buttonIf" style="display: flex;align-items: center">
-                <div class="bottonBox" v-if="tableIf" :class="disabled?'disabledBox':''" @click="disabled?'':corpVisible = true"><i class="el-icon-search"></i></div>
+                <div class="bottonBox" v-if="tableIf"
+                     :class="disabled?'disabledBox':''"
+                     @click="bottonSearchfun" >
+                    <i class="el-icon-search"></i>
+                </div>
                 <el-tooltip effect="dark" content="获取最新资料" placement="top-start">
                     <div class="bottonBox" :class="disabled?'disabledBox':''" @click="refreshData"><i class="el-icon-refresh"></i></div>
                 </el-tooltip>
@@ -196,8 +200,16 @@
             },
             // 弹窗确认事件
             confirm(){
-                this.corpVisible = false
-                // this.$emit('')
+                // this.corpVisible = false
+                this.$emit('eldialogConfirm')
+            },
+            // 打开弹窗
+            bottonSearchfun(){
+                if (this.disabled) return
+                if (!this.disabled) {
+                    this.corpVisible = true
+                    this.$emit('bottonSearchfun')
+                }
             },
 
         }

+ 42 - 2
src/views/iosBasicData/AirtransportExport/bills/assembly/EntrustmentLnformation.vue

@@ -336,7 +336,7 @@
                                 <el-form-item label="高度" prop="height" label-width="50px"
                                               :rules="[{required: true,message: ' ',trigger: 'blur' }]" >
                                     <span slot="label">
-                                        <span style="color: #1e9fff">度</span>
+                                        <span style="color: #1e9fff">度</span>
                                     </span>
                                     <el-input style="width: 100%;" v-model="assemblyForm.height"
                                               size="small" autocomplete="off"
@@ -462,7 +462,8 @@
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
-                                <el-form-item label="运价等级" prop="freightRateGrade" label-width="70px" >
+                                <el-form-item label="运价等级" prop="freightRateGrade" label-width="70px"
+                                              :rules="[{required: true,message: '',trigger: 'blur' }]" >
                                 <span slot="label">
                                     <span style="color: #1e9fff">运价等级</span>
                                 </span>
@@ -570,6 +571,23 @@
                                 </search-query>
                             </el-form-item>
                         </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="单据类型" prop="billType" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">单据类型</span>
+                                </span>
+                                <search-query :datalist="billTypeData"
+                                              :selectValue="assemblyForm.billType"
+                                              :filterable="true"
+                                              :clearable="true"
+                                              :remote="true"
+                                              :disabled="detailData.seeDisabled"
+                                              :buttonIf="false"
+                                              @corpChange="corpChange($event,'billType')">
+                                </search-query>
+                            </el-form-item>
+                        </el-col>
+
                         <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled" v-model="assemblyForm.isNeedDeclare">需报关</el-checkbox>
                         <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled" v-model="assemblyForm.isNeedIq">需三检</el-checkbox>
                         <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled" v-model="assemblyForm.isStorage">需仓储</el-checkbox>
@@ -804,6 +822,28 @@ import {getWorkDicts} from "@/api/system/dictbiz";
                         value:'reefer',
                     }
                 ],
+                // 单据类型
+                billTypeData:[
+                    {
+                        label:'直单',
+                        value:'DD'
+                    },
+                    {
+                        label:'主单',
+                        value:'MM'
+                    },
+                    {
+                        label:'分单',
+                        value:'MH'
+                    }
+                ],
+                // 业务类型数据
+                seaTypeData:[
+                    {
+                        dictValue:'直航',
+                        dictKey:'直航',
+                    }
+                ],
                 // 危险品弹窗
                 dgVisible:false,
                 // 航空公司数据

+ 4 - 24
src/views/iosBasicData/AirtransportExport/bills/assembly/feecenter.vue

@@ -1043,43 +1043,23 @@
                         value:'mblno',
                     },
                     {
-                        name:'booking NO',
-                        value:'bookingNo',
-                    },
-                    {
-                        name:'外提单号',
+                        name:'Reference NO',
                         value:'refno',
                     },
                     {
-                        name:'船名(VSL)',
-                        value:'vesselCnName',
-                    },
-                    {
-                        name:'航次(VOY)',
+                        name:'航班号',
                         value:'voyageNo',
                     },
                     {
-                        name:'ETD',
-                        value:'etd',
-                    },
-                    {
-                        name:'装货港',
-                        value:'polCnName',
-                    },
-                    {
-                        name:'目的港',
-                        value:'destinationNamePrint',
-                    },
-                    {
                         name:'包装单位',
                         value:'packingUnit',
                     },
                     {
-                        name:'公司',
+                        name:'航空公司',
                         value:'carrierCnName',
                     },
                     {
-                        name:'站',
+                        name:'航站',
                         value:'cyCnName',
                     },
                 ],

+ 21 - 14
src/views/iosBasicData/AirtransportExport/bills/billsDetails.vue

@@ -345,7 +345,6 @@ import {
                     numberOfObl:'THREE', // 正本份数 默认 THREE
                     numberOfCopy:'ONE', // 副本份数 默认 ONE
                     seaType:'E', // 进出口 默认出口 E=出口 I=进口"
-                    cargoType:'dry', // 货物类型默认普货
                     marks:'N/M',
                     filesList:[], // 文件中心
                     feeCenterListD:[], // 收
@@ -552,14 +551,9 @@ import {
                                     label:'name',
                                     value:'name',
                                 },
-                                rules: [{
-                                    required: true,
-                                    message: " ",
-                                    trigger: "blur"
-                                }]
                             },
                             {
-                                label: "运输类型",  // 操作id 用户管理下拉 模糊搜索
+                                label: "运输类型",
                                 text:"运输类型",
                                 prop: "transportType",
                                 type:'select',
@@ -571,11 +565,6 @@ import {
                                     label:'name',
                                     value:'name',
                                 },
-                                rules: [{
-                                    required: true,
-                                    message: " ",
-                                    trigger: "blur"
-                                }]
                             },
                         ]
                     ]
@@ -1132,6 +1121,15 @@ import {
                     if (valid) {
                         // 判断必填项
                         let sum = '请填写'
+                        if (!this.form.length) {
+                            sum += ` 长度`
+                        }
+                        if (!this.form.width) {
+                            sum += ` 宽度`
+                        }
+                        if (!this.form.height) {
+                            sum += ` 高度`
+                        }
                         if (!this.form.quantity) {
                             sum += ` 件数`
                         }
@@ -1144,8 +1142,17 @@ import {
                         if (!this.form.measurement) {
                             sum += ` 尺码`
                         }
-                        if (!this.form.etd) {
-                            sum += ` ETD`
+                        if (!this.form.goodsValue) {
+                            sum += ` 货物价值`
+                        }
+                        if (!this.form.billingWeight) {
+                            sum += ` 计费重量`
+                        }
+                        if (!this.form.unit) {
+                            sum += ` 计量单位`
+                        }
+                        if (!this.form.freightRateGrade) {
+                            sum += ` 运价等级`
                         }
                         for (let item of this.form.feeCenterListD) {
                             if (!item.corpId) {

+ 52 - 34
src/views/iosBasicData/OceanFreightImport/bills/assembly/DistributionBox/containers.vue

@@ -21,27 +21,34 @@
                   <div style="display: flex;align-items: center;justify-content: space-between">
                       <div>
                           <!--<el-button type="primary" size="small" @click="DistributionBox">配箱</el-button>-->
-                          <el-button type="danger" size="small"
+                          <!--<el-button type="danger" size="small"-->
+                          <!--           :disabled="detailData.seeDisabled || pleasereviewType"-->
+                          <!--           @click="revokefun">撤销-->
+                          <!--</el-button>-->
+                          <!--<el-button type="danger" size="small"-->
+                          <!--           :disabled="detailData.seeDisabled || pleasereviewType"-->
+                          <!--           @click="wholeRevokefun">全部撤销-->
+                          <!--</el-button>-->
+                          <el-button type="warning" size="small"
                                      :disabled="detailData.seeDisabled || pleasereviewType"
-                                     @click="revokefun">撤销
+                                     @click="cleanCntrNofun">清除箱号
                           </el-button>
-                          <el-button type="danger" size="small"
+                          <el-button type="info" plain size="small"
                                      :disabled="detailData.seeDisabled || pleasereviewType"
-                                     @click="wholeRevokefun">全部撤销
+                                     @click="oneclickEditing">一键编辑
                           </el-button>
-                          <el-button type="warning" size="small"
+                          <el-button type="primary" size="small"
                                      :disabled="detailData.seeDisabled || pleasereviewType"
-                                     @click="cleanCntrNofun">清除箱号
+                                     @click="containersSubmitListfun" >一键保存
                           </el-button>
-                          <el-button type="primary" size="small"
+                          <el-button type="danger" size="small"
                                      :disabled="detailData.seeDisabled || pleasereviewType"
-                                     @click="containersSubmitListfun" >批量保存
+                                     @click="handleDelete">一键删除
                           </el-button>
                           <el-button type="success" size="small"
                                      :disabled="detailData.seeDisabled || !assemblyForm.id || pleasereviewType"
                                      @click="excelBox = true" >导入箱号,铅封号
                           </el-button>
-
                           <!--<el-button type="warning" size="small"-->
                           <!--           :disabled="numberfalsefun() || assemblyForm.id"-->
                           <!--           @click="equalDistribution">平均分配</el-button>-->
@@ -53,19 +60,19 @@
                       <!--</div>-->
                   </div>
               </template>
-              <template slot-scope="scope" slot="menu">
-                  <el-button v-if="scope.row.edit" :type="scope.type" :size="scope.size" icon="el-icon-edit"
-                             @click.stop="rowSavefun(scope.row, scope.index)">保存
-                  </el-button>
-                  <el-button v-else :type="scope.type" :size="scope.size" icon="el-icon-edit"
-                             :disabled="detailData.seeDisabled || pleasereviewType"
-                             @click.stop="rowCellfun(scope.row, scope.index)">编辑
-                  </el-button>
-                  <el-button :type="scope.type" :size="scope.size" icon="el-icon-delete"
-                             :disabled="detailData.seeDisabled || pleasereviewType"
-                             @click.stop="rowDel(scope.row, scope.index)">删除
-                  </el-button>
-              </template>
+              <!--<template slot-scope="scope" slot="menu">-->
+              <!--    <el-button v-if="scope.row.edit" :type="scope.type" :size="scope.size" icon="el-icon-edit"-->
+              <!--               @click.stop="rowSavefun(scope.row, scope.index)">保存-->
+              <!--    </el-button>-->
+              <!--    <el-button v-else :type="scope.type" :size="scope.size" icon="el-icon-edit"-->
+              <!--               :disabled="detailData.seeDisabled || pleasereviewType"-->
+              <!--               @click.stop="rowCellfun(scope.row, scope.index)">编辑-->
+              <!--    </el-button>-->
+              <!--    <el-button :type="scope.type" :size="scope.size" icon="el-icon-delete"-->
+              <!--               :disabled="detailData.seeDisabled || pleasereviewType"-->
+              <!--               @click.stop="rowDel(scope.row, scope.index)">删除-->
+              <!--    </el-button>-->
+              <!--</template>-->
               <template slot-scope="scope" slot="cntrNo">
                   <el-input v-if="scope.row.edit" v-model="scope.row.cntrNo" maxlength='11'
                             size="small" clearable placeholder="请输入箱号" @input="cntrNoInput(scope.row,'cntrNo')"></el-input>
@@ -215,6 +222,7 @@ import {getToken} from "@/util/auth";
           dialogClickModal: false,
           refreshBtn:false,
           columnBtn:false,
+          menu:false,
           column: [
               {
                   label: "箱型",
@@ -427,6 +435,13 @@ import {getToken} from "@/util/auth";
                   });
               }
           },
+          // 配像一键编辑
+          oneclickEditing(){
+              for(let item of this.assemblyForm.containersList) {
+                  this.$delete(item, 'edit')
+                  this.$set(item,'edit',true)
+              }
+          },
           // 配箱批量保存
           containersSubmitListfun(){
               if (!this.assemblyForm.id) {
@@ -474,7 +489,7 @@ import {getToken} from "@/util/auth";
           console.log(error);
         });
       },
-          // 删除
+      // 删除
       rowDel(row) {
         this.$confirm("确定将选择数据删除?", {
           confirmButtonText: "确定",
@@ -493,6 +508,7 @@ import {getToken} from "@/util/auth";
             this.$emit('billsDetailfun')
           });
       },
+          // 一键删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
@@ -507,11 +523,12 @@ import {getToken} from "@/util/auth";
             return containersRemove(this.ids);
           })
           .then(() => {
-            this.onLoad(this.page);
+            // this.onLoad(this.page);
             this.$message({
               type: "success",
               message: "操作成功!"
             });
+            this.$emit('billsDetailfun')
             this.$refs.crud.toggleSelection();
           });
       },
@@ -525,16 +542,17 @@ import {getToken} from "@/util/auth";
       },
       // 当选择项发生变化时会触发该事件
       selectionChange(list) {
-          let arr = []
-          if (list.length > 1) {
-              this.$refs.crud.toggleSelection() // 先清空所以选择的数据
-              arr = [list[list.length -1]] // 获取最新点击的数组
-              this.$refs.crud.toggleSelection(arr,true) // 把刚点击的数组变成选择状态
-          }else {
-              arr = list
-          }
-          this.selectionList = arr
-          this.$emit('selectionChange',this.selectionList)
+          this.selectionList = list
+          // let arr = []
+          // if (list.length > 1) {
+          //     this.$refs.crud.toggleSelection() // 先清空所以选择的数据
+          //     arr = [list[list.length -1]] // 获取最新点击的数组
+          //     this.$refs.crud.toggleSelection(arr,true) // 把刚点击的数组变成选择状态
+          // }else {
+          //     arr = list
+          // }
+          // this.selectionList = arr
+          // this.$emit('selectionChange',this.selectionList)
       },
       selectionClear() {
         this.selectionList = [];

+ 26 - 27
src/views/iosBasicData/OceanFreightImport/bills/assembly/EntrustmentLnformation.vue

@@ -463,42 +463,41 @@
                                        @billsDetailfun="billsDetailfun" >
                         </precontainers>
                     </el-col>
-                </el-col>
-            </el-row>
-
-            <el-row :gutter="10">
-                <el-col :span="8">
-                    <el-form-item label="业务编号" prop="billNo">
+                    <el-col :span="12">
+                        <el-form-item label="业务编号" prop="billNo">
                                 <span slot="label">
                                     <span style="color: #1e9fff">业务编号</span>
                                 </span>
-                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.billNo"
-                                  size="small" autocomplete="off"
-                                  :disabled="true"
-                                  clearable placeholder="业务编号"></el-input>
-                    </el-form-item>
-                    <el-form-item label="创建日期" prop="billNo">
+                            <el-input type="age" style="width: 100%;" v-model="assemblyForm.billNo"
+                                      size="small" autocomplete="off"
+                                      :disabled="true"
+                                      clearable placeholder="业务编号"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="创建日期" prop="billNo">
                                 <span slot="label">
                                     <span style="color: #1e9fff">创建日期</span>
                                 </span>
-                        <el-date-picker v-model="assemblyForm.createTime" clearable style="width: 100%;"
-                                        type="date" size="small" :disabled="true"
-                                        value-format="yyyy-MM-dd HH:mm"
-                                        placeholder="创建日期" >
-                        </el-date-picker>
-                    </el-form-item>
-                </el-col>
-                <el-col :span="16">
-                    <el-form-item label="备注" prop="remarks" >
+                            <el-date-picker v-model="assemblyForm.createTime" clearable style="width: 100%;"
+                                            type="date" size="small" :disabled="true"
+                                            value-format="yyyy-MM-dd HH:mm"
+                                            placeholder="创建日期" >
+                            </el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="24">
+                        <el-form-item label="备注" prop="remarks" >
                         <span slot="label">
                             <span style="color: #1e9fff">备注</span>
                         </span>
-                        <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.remarks"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.seeDisabled" rows="3"
-                                  clearable placeholder="备注"
-                                  @blur="textareaBlur('remarks')" ></el-input>
-                    </el-form-item>
+                            <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.remarks"
+                                      size="small" autocomplete="off"
+                                      :disabled="detailData.seeDisabled" rows="3"
+                                      clearable placeholder="备注"
+                                      @blur="textareaBlur('remarks')" ></el-input>
+                        </el-form-item>
+                    </el-col>
                 </el-col>
             </el-row>
 

+ 2 - 1
src/views/iosBasicData/OceanFreightImport/bills/assembly/EntrustmentLnformation/precontainers.vue

@@ -108,7 +108,8 @@ import {number} from "echarts";
         selectionList: [],
         option:{},
         optionBack: {
-          height:'180',
+          height:'140',
+            maxHeight:'140',
           calcHeight: 30,
           tip: false,
           searchShow: true,

+ 60 - 4
src/views/iosBasicData/OceanFreightImport/bills/billsDetails.vue

@@ -185,6 +185,7 @@
                                                         <span style="color: #1e9fff">{{item.label}}</span>
                                                     </span>
                                                 <search-query v-if="item.type == 'select'"
+                                                              ref="searchQueryRef"
                                                               :datalist="item.dicData"
                                                               :selectValue="form[item.prop]"
                                                               :filterable="true"
@@ -196,9 +197,14 @@
                                                               :placeholder="`请选择${item.text || ''}`"
                                                               @remoteMethod="remoteMethod($event,item.prop)"
                                                               @corpChange="corpChange($event,item.prop)"
-                                                              @corpFocus="remoteMethod($event,item.prop)">
-                                                    <bcorps v-if="item.slot == 'bcorps'"></bcorps>
-                                                    <bcorpstypedefine v-if="item.slot == 'bcorpstypedefine'"></bcorpstypedefine>
+                                                              @corpFocus="remoteMethod($event,item.prop)"
+                                                              @eldialogConfirm="eldialogConfirm(item.slot)" >
+                                                    <bcorps v-show="item.slot == 'bcorps'"
+                                                            ref="bcorps"
+                                                            :eldialog="true"
+                                                            @selectionChange="eldialogMultipleChoice($event,item.slot)" >
+                                                    </bcorps>
+                                                    <bcorpstypedefine v-show="item.slot == 'bcorpstypedefine'"></bcorpstypedefine>
                                                 </search-query>
                                                 <el-input v-else type="age" style="width: 100%;" v-model="form[item.prop]"
                                                           size="small" autocomplete="off"
@@ -845,6 +851,57 @@ import {editypesList} from "@/api/iosBasicData/editypes";
                     this.billsSubmitfun()
                 })
             },
+            // 下拉多选弹窗的确认
+            eldialogConfirm(name){
+                if (name == 'bcorps') {
+                    if (this.$refs.bcorps[0].isShow) {
+                        console.log('列表确认')
+                        this.form.corpCnName = this.$refs.bcorps[0].selectionList[0].cnName
+                        this.form.corpEnName = this.$refs.bcorps[0].selectionList[0].enName
+                        this.form.corpId = this.$refs.bcorps[0].selectionList[0].id
+                        this.form.corpCode = this.$refs.bcorps[0].selectionList[0].code
+                        // 获取 客户op数据
+                        this.getBcorpsattnListfun()
+                        // 业务来源参数带出
+                        this.$set(this.form,'srcType',this.$refs.bcorps[0].selectionList[0].sourceType)
+                        this.$set(this.form,'srcId',this.$refs.bcorps[0].selectionList[0].srcId)
+                        this.$set(this.form,'srcCnName',this.$refs.bcorps[0].selectionList[0].srcCnName)
+                        this.$set(this.form,'srcEnName',this.$refs.bcorps[0].selectionList[0].srcEnName)
+                        this.columnforfun('srcType').disabled = false
+                        this.columnforfun('srcCnName').disabled = false
+                        // 航线带出往来单位的优势航线
+                        this.$set(this.form,'lineCnName',this.$refs.bcorps[0].selectionList[0].advantageRoute)
+                        // 带出发货人数据
+                        this.$set(this.form,'hshipperId',this.$refs.bcorps[0].selectionList[0].id)
+                        this.$set(this.form,'hshipperCnName',this.$refs.bcorps[0].selectionList[0].cnName)
+                        this.$set(this.form,'hshipperEnName',this.$refs.bcorps[0].selectionList[0].enName)
+                        this.$set(this.form,'hshipperCode',this.$refs.bcorps[0].selectionList[0].code)
+                        this.$set(this.form,'hshipperDetails',this.$refs.bcorps[0].selectionList[0].details)
+                        this.$set(this.form,'hshipperCntyName',this.$refs.bcorps[0].selectionList[0].cntyName)
+                        this.$set(this.form,'hshipperCntyCode',this.$refs.bcorps[0].selectionList[0].cntyCode)
+                    }else {
+                        console.log('详情确认')
+                        this.$refs.bcorps[0].$refs.detail.submitForm()
+                    }
+                }
+                this.$refs.searchQueryRef[0].corpVisible = false
+            },
+            // 下拉多选弹窗数据多选回调
+            eldialogMultipleChoice(list,name){
+                if (name == 'bcorps') {
+                    let arr = []
+                    if (list.length > 1) {
+                        this.$refs.bcorps[0].$refs.crud.toggleSelection() // 先清空所以选择的数据
+                        arr = [list[list.length -1]] // 获取最新点击的数组
+                        this.$refs.bcorps[0].$refs.crud.toggleSelection(arr,true) // 把刚点击的数组变成选择状态
+                    }else {
+                        arr = list
+                    }
+                    this.$refs.bcorps[0].selectionList = arr
+                }else {
+
+                }
+            },
             /* 远程模糊查询操作用户 */
             remoteMethod(value,name) {
                 if (name == 'operatorName') {
@@ -874,7 +931,6 @@ import {editypesList} from "@/api/iosBasicData/editypes";
                 }else {
 
                 }
-
             },
             // 下拉的监听事件
             corpChange(value,name){

+ 4 - 4
src/views/iosBasicData/PaymentApplication/finstlbillsDetails.vue

@@ -57,9 +57,9 @@
                                                   :clearable="true"
                                                   :disabled="editSave || !form.corpId"
                                                   :filterable="true"
-                                                  :tableIf="false"
-                                                  :addIf="true"
                                                   :forParameter="{ key:'id', label:'accountBankNo', value:'id'}"
+                                                  :addIf="true"
+                                                  :tableIf="false"
                                                   @addJump="bankJump"
                                                   @corpChange="corpChange($event,'bankId')"
                                                   @remoteMethod="bcorpsbankListfun"
@@ -372,7 +372,6 @@
             </span>
         </el-dialog>
 
-
         <!--报表组件-->
         <reportContainer ref="reportContainer"></reportContainer>
     </div>
@@ -397,9 +396,10 @@
     import reportContainer from "@/views/iosBasicData/report-container/report-container.vue";
     import {getList as getreportsList} from "@/api/iosBasicData/reports";
     import {getBvesselsList} from "@/api/iosBasicData/bvessels";
+    import bcorps from "@/views/iosBasicData/bcorps/index.vue";
 
     export default {
-        components: {reportContainer, reportformsList, reports, SearchQuery,expand,finstlbillsitems},
+        components: {bcorps, reportContainer, reportformsList, reports, SearchQuery,expand,finstlbillsitems},
         props:{
             // 编辑还是保存
             editSave:{

+ 77 - 82
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -558,11 +558,66 @@
                                        @billsDetailfun="billsDetailfun" >
                         </precontainers>
                     </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="航线" prop="lineCnName" >
+                                <span slot="label">
+                                    <span style="color: #1e9fff">航线</span>
+                                </span>
+                            <search-query :datalist="lineData"
+                                          :selectValue="assemblyForm.lineCnName"
+                                          :filterable="true"
+                                          :clearable="true"
+                                          :remote="true"
+                                          :disabled="detailData.seeDisabled"
+                                          :buttonIf="false"
+                                          :forParameter="{key:'id',label:'cnName',value:'cnName'}"
+                                          @remoteMethod="remoteMethod($event,'line')"
+                                          @corpChange="corpChange($event,'line')"
+                                          @corpFocus="remoteMethod($event,'line')" >
+                            </search-query>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="订舱日期" prop="bookingDate">
+                                <span slot="label">
+                                    <span style="color: #1e9fff">订舱日期</span>
+                                </span>
+                            <el-date-picker v-model="assemblyForm.bookingDate" clearable style="width: 100%"
+                                            type="date" size="small" :disabled="detailData.seeDisabled"
+                                            value-format="yyyy-MM-dd HH:mm:ss"
+                                            placeholder="选择日期">
+                            </el-date-picker>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="订舱备注" prop="bookingRemarks" >
+                        <span slot="label">
+                            <span style="color: #1e9fff">订舱备注</span>
+                        </span>
+                            <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.bookingRemarks"
+                                      size="small" autocomplete="off"
+                                      :disabled="detailData.seeDisabled" rows="2"
+                                      clearable placeholder="订舱备注"
+                                      @blur="textareaBlur('bookingRemarks')" ></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="SI备注" prop="siRemarks" >
+                        <span slot="label">
+                           <span style="color: #1e9fff">SI备注</span>
+                        </span>
+                            <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.siRemarks"
+                                      size="small" autocomplete="off"
+                                      :disabled="detailData.seeDisabled" rows="2"
+                                      clearable placeholder="SI备注"
+                                      @blur="textareaBlur('siRemarks')" ></el-input>
+                        </el-form-item>
+                    </el-col>
                 </el-col>
             </el-row>
 
-            <el-row :gutter="0">
-                <el-col :span="12">
+            <el-row :gutter="20">
+                <el-col :span="8">
                     <el-form-item label="COLOADER" prop="coloaderCnName" >
                         <span slot="label">
                             <span style="color: #1e9fff">COLOADER</span>
@@ -585,91 +640,31 @@
                         </search-query>
                     </el-form-item>
                 </el-col>
-                <el-col :span="12">
-                    <el-row>
-                        <el-col :span="12">
-                            <el-form-item label="航线" prop="lineCnName" >
-                                <span slot="label">
-                                    <span style="color: #1e9fff">航线</span>
-                                </span>
-                                <search-query :datalist="lineData"
-                                              :selectValue="assemblyForm.lineCnName"
-                                              :filterable="true"
-                                              :clearable="true"
-                                              :remote="true"
-                                              :disabled="detailData.seeDisabled"
-                                              :buttonIf="false"
-                                              :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                              @remoteMethod="remoteMethod($event,'line')"
-                                              @corpChange="corpChange($event,'line')"
-                                              @corpFocus="remoteMethod($event,'line')" >
-                                </search-query>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="12">
-                            <el-form-item label="订舱日期" prop="bookingDate">
-                                <span slot="label">
-                                    <span style="color: #1e9fff">订舱日期</span>
-                                </span>
-                                <el-date-picker v-model="assemblyForm.bookingDate" clearable style="width: 100%"
-                                                type="date" size="small" :disabled="detailData.seeDisabled"
-                                                value-format="yyyy-MM-dd HH:mm:ss"
-                                                placeholder="选择日期">
-                                </el-date-picker>
-                            </el-form-item>
-                        </el-col>
-                    </el-row>
-
-                </el-col>
-            </el-row>
-            <el-row>
-                <el-col :span="6">
-                    <el-form-item label="FORWARDING" prop="bookingRemarks" >
-                        <span slot="label">
-                            <span style="color: #1e9fff">FORWARDING</span>
-                        </span>
-                        <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.forwarding"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.seeDisabled" rows="3"
-                                  clearable placeholder="FORWARDING"
-                                  @blur="textareaBlur('FORWARDING')" ></el-input>
-                    </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                    <el-form-item label="订舱备注" prop="bookingRemarks" >
-                        <span slot="label">
-                            <span style="color: #1e9fff">订舱备注</span>
-                        </span>
-                        <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.bookingRemarks"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.seeDisabled" rows="3"
-                                  clearable placeholder="订舱备注"
-                                  @blur="textareaBlur('bookingRemarks')" ></el-input>
-                    </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                    <el-form-item label="SI备注" prop="siRemarks" >
+                <el-col :span="16">
+                    <el-col :span="12">
+                        <el-form-item label="FORWARDING" prop="bookingRemarks" >
                         <span slot="label">
-                           <span style="color: #1e9fff">SI备注</span>
+                            <span style="color: #1e9fff;">FORWARDING</span>
                         </span>
-                        <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.siRemarks"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.seeDisabled" rows="3"
-                                  clearable placeholder="SI备注"
-                                  @blur="textareaBlur('siRemarks')" ></el-input>
-                    </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                    <el-form-item label="备注" prop="remarks" >
+                            <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.forwarding"
+                                      size="small" autocomplete="off"
+                                      :disabled="detailData.seeDisabled" rows="2"
+                                      clearable placeholder="FORWARDING"
+                                      @blur="textareaBlur('FORWARDING')" ></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item label="备注" prop="remarks" >
                         <span slot="label">
                             <span style="color: #1e9fff">备注</span>
                         </span>
-                        <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.remarks"
-                                  size="small" autocomplete="off"
-                                  :disabled="detailData.seeDisabled" rows="3"
-                                  clearable placeholder="备注"
-                                  @blur="textareaBlur('remarks')" ></el-input>
-                    </el-form-item>
+                            <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.remarks"
+                                      size="small" autocomplete="off"
+                                      :disabled="detailData.seeDisabled" rows="2"
+                                      clearable placeholder="备注"
+                                      @blur="textareaBlur('remarks')" ></el-input>
+                        </el-form-item>
+                    </el-col>
                 </el-col>
             </el-row>
         </el-form>

+ 2 - 1
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue

@@ -108,8 +108,9 @@ import {number} from "echarts";
         selectionList: [],
         option:{},
         optionBack: {
-          height:'180',
+          height:'140',
           calcHeight: 30,
+          maxHeight:'140',
           tip: false,
           searchShow: true,
           searchMenuSpan: 6,

+ 58 - 6
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -185,6 +185,7 @@
                                                         <span style="color: #1e9fff">{{item.label}}</span>
                                                     </span>
                                                 <search-query v-if="item.type == 'select'"
+                                                              ref="searchQueryRef"
                                                               :datalist="item.dicData"
                                                               :selectValue="form[item.prop]"
                                                               :filterable="true"
@@ -196,9 +197,14 @@
                                                               :placeholder="`请选择${item.text || ''}`"
                                                               @remoteMethod="remoteMethod($event,item.prop)"
                                                               @corpChange="corpChange($event,item.prop)"
-                                                              @corpFocus="remoteMethod($event,item.prop)">
-                                                    <bcorps v-if="item.slot == 'bcorps'"></bcorps>
-                                                    <bcorpstypedefine v-if="item.slot == 'bcorpstypedefine'"></bcorpstypedefine>
+                                                              @corpFocus="remoteMethod($event,item.prop)"
+                                                              @eldialogConfirm="eldialogConfirm(item.slot)" >
+                                                    <bcorps v-show="item.slot == 'bcorps'"
+                                                            ref="bcorps"
+                                                            :eldialog="true"
+                                                            @selectionChange="eldialogMultipleChoice($event,item.slot)" >
+                                                    </bcorps>
+                                                    <bcorpstypedefine v-show="item.slot == 'bcorpstypedefine'"></bcorpstypedefine>
                                                 </search-query>
                                                 <el-input v-else type="age" style="width: 100%;" v-model="form[item.prop]"
                                                           size="small" autocomplete="off"
@@ -782,12 +788,9 @@ import {editypesList} from "@/api/iosBasicData/editypes";
             },
             // 获取付款方式字典数据
             mpaymodeWorkDictsfun(){
-                console.log(787)
                 getWorkDicts('payment_method_los').then((res) => {
-                    console.log(res,789)
                     this.columnforfun('mpaymode').dicData = res.data.data
                     this.columnforfun('hpaymode').dicData = res.data.data
-                    console.log(this.columnforfun('hpaymode'),792)
                 })
             },
             // 获取核算部分数据 // 机构管理接口
@@ -880,6 +883,55 @@ import {editypesList} from "@/api/iosBasicData/editypes";
                     this.billsSubmitfun()
                 })
             },
+            // 下拉多选弹窗的确认
+            eldialogConfirm(name){
+                if (name == 'bcorps') {
+                    if (this.$refs.bcorps[0].isShow) {
+                        console.log('列表确认')
+                        this.form.corpCnName = this.$refs.bcorps[0].selectionList[0].cnName
+                        this.form.corpEnName = this.$refs.bcorps[0].selectionList[0].enName
+                        this.form.corpId = this.$refs.bcorps[0].selectionList[0].id
+                        this.form.corpCode = this.$refs.bcorps[0].selectionList[0].code
+                        // 获取 客户op数据
+                        this.getBcorpsattnListfun()
+                        // 业务来源参数带出
+                        this.$set(this.form,'srcType',this.$refs.bcorps[0].selectionList[0].sourceType)
+                        this.$set(this.form,'srcId',this.$refs.bcorps[0].selectionList[0].srcId)
+                        this.$set(this.form,'srcCnName',this.$refs.bcorps[0].selectionList[0].srcCnName)
+                        this.$set(this.form,'srcEnName',this.$refs.bcorps[0].selectionList[0].srcEnName)
+                        this.columnforfun('srcType').disabled = false
+                        this.columnforfun('srcCnName').disabled = false
+                        // 航线带出往来单位的优势航线
+                        this.$set(this.form,'lineCnName',this.$refs.bcorps[0].selectionList[0].advantageRoute)
+                        // 带出发货人数据
+                        this.$set(this.form,'hshipperId',this.$refs.bcorps[0].selectionList[0].id)
+                        this.$set(this.form,'hshipperCnName',this.$refs.bcorps[0].selectionList[0].cnName)
+                        this.$set(this.form,'hshipperEnName',this.$refs.bcorps[0].selectionList[0].enName)
+                        this.$set(this.form,'hshipperCode',this.$refs.bcorps[0].selectionList[0].code)
+                        this.$set(this.form,'hshipperDetails',this.$refs.bcorps[0].selectionList[0].details)
+                        this.$set(this.form,'hshipperCntyName',this.$refs.bcorps[0].selectionList[0].cntyName)
+                        this.$set(this.form,'hshipperCntyCode',this.$refs.bcorps[0].selectionList[0].cntyCode)
+                    }else {
+                        console.log('详情确认')
+                        this.$refs.bcorps[0].$refs.detail.submitForm()
+                    }
+                }
+                this.$refs.searchQueryRef[0].corpVisible = false
+            },
+            // 下拉多选弹窗数据多选回调
+            eldialogMultipleChoice(list,name){
+                if (name == 'bcorps') {
+                    let arr = []
+                    if (list.length > 1) {
+                        this.$refs.bcorps[0].$refs.crud.toggleSelection() // 先清空所以选择的数据
+                        arr = [list[list.length -1]] // 获取最新点击的数组
+                        this.$refs.bcorps[0].$refs.crud.toggleSelection(arr,true) // 把刚点击的数组变成选择状态
+                    }else {
+                        arr = list
+                    }
+                    this.$refs.bcorps[0].selectionList = arr
+                }else {}
+            },
             /* 远程模糊查询操作用户 */
             remoteMethod(value,name) {
                 if (name == 'operatorName') {

+ 9 - 5
src/views/iosBasicData/bcorps/detailsPage.vue

@@ -1093,11 +1093,7 @@ export default {
   created() {
 
     if (this.detailData.id) {
-      getBcorpsDetail(this.detailData.id).then(res => {
-        this.formData = res.data.data
-        this.formData.corpTypeList = res.data.data.corpType.split(',')
-        this.$set(this.formData, 'adminProfilesList', res.data.data.adminProfiles.split(','))
-      })
+        this.getBcorpsDetailfun(this.detailData.id)
     }
     if (this.detailData.corpType != null) {
       this.formData.corpTypeList = [this.detailData.corpType]
@@ -1134,6 +1130,14 @@ export default {
   },
   mounted() { },
   methods: {
+      // 详情
+      getBcorpsDetailfun(id){
+          getBcorpsDetail(id).then(res => {
+              this.formData = res.data.data
+              this.formData.corpTypeList = res.data.data.corpType.split(',')
+              this.$set(this.formData, 'adminProfilesList', res.data.data.adminProfiles.split(','))
+          })
+      },
       // ps 规则下拉
       psRateChange(value,name){
           this.$set(this.formData,name,value)

+ 13 - 1
src/views/iosBasicData/bcorps/index.vue

@@ -419,6 +419,13 @@ export default {
         ifInvoiceData:[],
     };
   },
+  props:{
+      // 是否的弹窗状态打开
+      eldialog:{
+          type:Boolean,
+          default:false
+      }
+  },
   computed: {
     ...mapGetters(["permission"]),
     permissionList() {
@@ -449,6 +456,7 @@ export default {
         this.detailData.id = this.$route.query.id
         this.$nextTick(()=>{
             this.$refs.detail.activeName = "yhxx" // tabs切换成银行信息
+            this.$refs.detail.getBcorpsDetailfun(this.$route.query.id)
         })
         this.isShow = false
         this.$store.commit("DOMIO_IN_CUL");
@@ -677,7 +685,11 @@ export default {
       done();
     },
     selectionChange(list) {
-      this.selectionList = list;
+      if(this.eldialog){
+          this.$emit('selectionChange',list)
+      }else {
+          this.selectionList = list;
+      }
     },
     selectionClear() {
       this.selectionList = [];

+ 34 - 1
src/views/iosBasicData/finstlbills/finstlbillsDetails.vue

@@ -469,6 +469,9 @@
                     <el-button  size="small" type="info" style="margin-right: 8px" :disabled="editSave"
                                 :loading="saveLoading" @click="SelectedRows">确认选定行
                     </el-button>
+                    <el-button  size="small" type="danger" style="margin-left: 10px" :disabled="editSave"
+                                :loading="saveLoading" @click="batchDeletefun" >一键删除
+                    </el-button>
                 </div>
 
                 <finstlbillsitems :tableData="tableData"
@@ -525,7 +528,8 @@
         finstlbillsConfirmSignFor,
         finstlbillsDetail,
         finstlbillslistAccBillV1, finstlbillsRevokeReconciliation, finstlbillsRevokeSignFor,
-        finstlbillsSubmit
+        finstlbillsSubmit,
+        finstlbillsitemsRemove
     } from '@/api/iosBasicData/finstlbills'
     import expand from "@/components/basic-container/expand.vue";
     import finstlbillsitems from "@/views/iosBasicData/finstlbills/assembly/finstlbillsitems.vue";
@@ -1050,6 +1054,35 @@
             SelectedRows(){
                 this.editCustomer()
             },
+            // 一键删除
+            batchDeletefun(){
+                if (this.handleSelectionData.length == 0) {
+                    return this.$message.warning('请选择要删除的数据')
+                }
+                this.$confirm("确定将选择数据删除?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(()=>{
+                    // 获取有id 的数据
+                    const itemsWithId = this.handleSelectionData.filter(item => item.hasOwnProperty('id'));
+                    let arrIds = itemsWithId.map(item=>item.id) // 获取id 数据
+                    // 把选中的删除掉
+                    this.handleSelectionData.forEach((item)=>{
+                        for (let index in this.tableData) {
+                            if (item.accBillNo == this.tableData[index].accBillNo) {
+                                this.tableData.splice(Number(index),1)
+                            }
+                        }
+                    })
+                    // 有id 的处理
+                    if(itemsWithId.length != 0) {
+                        finstlbillsitemsRemove(arrIds.join(',')).then(res=>{
+                            this.$message.success('操作成功')
+                        })
+                    }
+                })
+            },
             // 下面表格多选
             handleSelectionChange(arr){
                 this.handleSelectionData = arr