Преглед на файлове

货代海运出口10.30

caojunjie преди 1 година
родител
ревизия
16f9c9908b

+ 8 - 0
src/api/iosBasicData/bunits.js

@@ -11,6 +11,14 @@ export const getBunitsList = (current, size, params) => {
     }
   })
 }
+// 费用里的计算属性
+export const getBunitsPage = (params) => {
+  return request({
+    url: '/api/blade-los/bunits/page',
+    method: 'get',
+    params: params
+  })
+}
 
 export const getBunitsDetail = (id) => {
   return request({

+ 0 - 1
src/components/iosbasic-data/searchquery.vue

@@ -56,7 +56,6 @@
     export default {
         data(){
             return {
-                // selectValue:null,
                 // 弹窗关闭
                 corpVisible:false,
             }

+ 1 - 0
src/util/date.js

@@ -53,6 +53,7 @@ export function dateFormat(date, format) {
  * 获取上月第一天和下月最后一天
  * type 1为 [yyyy-MM-dd,yyyy-MM-dd]
  * type 2为 [yyyy-MM-dd 00:00:00,yyyy-MM-dd 23:59:59]
+ * type 4为 [yyyy-MM-dd,yyyy-MM-dd] 当月的第一天和最后一天
  * type为空默认2
  */
 export function defaultDate(type) {

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

@@ -117,18 +117,18 @@
             //   }]
             // },
             {
-              label: "集装箱尺码箱型",
+              label: "尺码箱型",
               prop: "cntrTypeCode",
                 formslot: true,
               width:'120',
             },
             {
-              label: "集装箱箱量",
+              label: "箱量",
               prop: "quantity",
               width:'120',
               rules: [{
                 required: true,
-                message: "请输入集装箱箱量",
+                message: "请输入箱量",
                 trigger: "blur"
               }]
             },

+ 10 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/SplitList.vue

@@ -83,42 +83,52 @@
                         {
                             label: "单据编号",
                             prop: "billNo",
+                            width:"160",
                         },
                         {
                             label: "单据日期",
                             prop: "billDate",
+                            width:"160",
                         },
                         {
                             label: "客户名",
                             prop: "corpCnName",
+                            width:"160",
                         },
                         {
                             label: "客户英文名",
                             prop: "corpEnName",
+                            width:"160",
                         },
                         {
                             label: "唛头",
                             prop: "marks",
+                            width:"160",
                         },
                         {
                             label: "件数",
                             prop: "quantity",
+                            width:"100",
                         },
                         {
                             label: "包装单位",
                             prop: "packingUnit",
+                            width:"100",
                         },
                         {
                             label: "毛重 (KGM)",
                             prop: "grossWeight",
+                            width:"100",
                         },
                         {
                             label: "净重 (KGM)",
                             prop: "netWeight",
+                            width:"100",
                         },
                         {
                             label: "体积 (CBM)",
                             prop: "measurement",
+                            width:"100",
                         },
                     ]
                 },

+ 107 - 110
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -109,7 +109,7 @@
                     <el-button type="success" plain size="small">应收账单</el-button>
                     <el-button type="primary" plain size="small">应付账单</el-button>
                     <el-button type="primary" plain size="small">打印账单</el-button>
-                    <el-button type="success" plain size="small" @click="templateClick('D')">应收模板</el-button>
+                    <el-button type="success" plain size="small" :disabled="!this.assemblyForm.id" @click="templateClick('D')">应收模板</el-button>
                 </el-col>
             </el-row>
             <div style="margin-top: 10px">
@@ -129,6 +129,8 @@
                     </el-table-column>
                     <el-table-column
                         fixed="left"
+                        type="index"
+                        align="center"
                         width="60">
                         <template slot="header" slot-scope="scope">
                             <el-button type="primary" size="small" icon="el-icon-plus" circle
@@ -204,9 +206,9 @@
                                           :remote="true"
                                           :buttonIf="false"
                                           :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                          @remoteMethod="getBunitsListfun($event,'unitNo')"
+                                          @remoteMethod="getBunitsPagefun($event,'unitNo')"
                                           @corpChange="corpChange($event,'unitNo',row)"
-                                          @corpFocus="getBunitsListfun($event,'unitNo')" >
+                                          @corpFocus="getBunitsPagefun($event,'unitNo')" >
                             </search-query>
                             <span v-else>{{row.unitNo}}</span>
                         </template>
@@ -312,7 +314,7 @@
                 <el-col :span="15">
                     <el-button type="danger" plain size="small"
                                :disabled="!selectionCList.length" @click="batchDelete('C')">批量删除</el-button>
-                    <el-button type="success" plain size="small" @click="templateClick('C')">应付模板</el-button>
+                    <el-button type="success" plain size="small" :disabled="!this.assemblyForm.id" @click="templateClick('C')">应付模板</el-button>
                 </el-col>
             </el-row>
             <div style="margin-top: 10px">
@@ -332,6 +334,8 @@
                     </el-table-column>
                     <el-table-column
                         fixed="left"
+                        type="index"
+                        align="center"
                         width="60">
                         <template slot="header" slot-scope="scope">
                             <el-button type="primary" size="small" icon="el-icon-plus" circle
@@ -407,9 +411,9 @@
                                           :remote="true"
                                           :buttonIf="false"
                                           :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                          @remoteMethod="getBunitsListfun($event,'unitNo')"
+                                          @remoteMethod="getBunitsPagefun($event,'unitNo')"
                                           @corpChange="corpChange($event,'unitNo',row)"
-                                          @corpFocus="getBunitsListfun($event,'unitNo')" >
+                                          @corpFocus="getBunitsPagefun($event,'unitNo')" >
                             </search-query>
                             <span v-else>{{row.unitNo}}</span>
                         </template>
@@ -583,19 +587,29 @@
             title="提示"
             :visible.sync="templateVisible"
             append-to-body
-            width="60%"
+            width="70%"
             :before-close="handleClose">
             <div>
-                <avue-crud :option="templateOption"
-                           :table-loading="templateLoading"
-                           :data="templateData"
-                           :page.sync="templatePage"
-                           @size-change="sizeChange"
-                           @current-change="currentChange" >
-                    <template slot="radio" slot-scope="{row}">
-                        <el-radio v-model="templateRadio" :label="row.$index"></el-radio>
-                    </template>
-                </avue-crud>
+                <el-row>
+                    <el-col :span="5">
+                        <div class="box">
+                            <el-scrollbar>
+                                <basic-container>
+                                    <avue-tree :option="treeOption" :data="templateData" @node-click="nodeClick">
+                                    </avue-tree>
+                                </basic-container>
+                            </el-scrollbar>
+                        </div>
+                    </el-col>
+                    <el-col :span="19">
+                        <basic-container>
+                            <avue-crud :option="templateOption"
+                                       :data="templateRightData"
+                                       @selection-change="feeselectionChange">
+                            </avue-crud>
+                        </basic-container>
+                    </el-col>
+                </el-row>
             </div>
             <span slot="footer" class="dialog-footer">
                 <el-button @click="templateVisible = false">取 消</el-button>
@@ -610,11 +624,12 @@
     import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
     import {getBcorpsList} from "@/api/iosBasicData/bcorps";
     import {bfeesList} from "@/api/iosBasicData/bfees";
-    import {getBunitsList} from "@/api/iosBasicData/bunits";
+    import {getBunitsPage} from "@/api/iosBasicData/bunits";
     import {getRateList} from "@/api/iosBasicData/rateManagement";
     import {feecenterList, feecenterRemove, feecenterSubmit} from "@/api/iosBasicData/feecenter";
     import {getWorkDicts} from "@/api/system/dictbiz";
     import {feecenterTemplateImport, losbfeestemplateGetListTemplate} from "@/api/iosBasicData/bills";
+    import {losbfeestemplateDetail} from "@/api/iosBasicData/losbfeestemplate";
 
     export default {
         components: {SearchQuery},
@@ -655,96 +670,63 @@
                 curCodeData:[],
                 // 模板弹窗
                 templateVisible:false,
+
+                treeOption: {
+                    nodeKey: "id",
+                    // lazy: true,
+                    addBtn: false,
+                    menu: false,
+                    size: "small",
+                    props: {
+                        labelText: "标题",
+                        label: "cnName",
+                        value: "value",
+                        children: "children"
+                    }
+                },
+                // 右侧详情数据
+                templateRightData:[],
                 templateOption:{
-                    height: 'auto',
-                    calcHeight: 30,
-                    border: true,
-                    index: true,
+                    menu:false,
+                    stripe:true,
                     addBtn:false,
                     editBtn:false,
                     delBtn:false,
                     viewBtn:false,
-                    highlightCurrentRow:true,
-                    menu:false,
+                    index:true,
+                    selection:true,
                     column:[
                         {
-                            label: '',
-                            prop: 'radio',
-                            width: 30,
-                            hide: false
-                        },
-                        {
-                            label: "编码",
-                            prop: "code",
-                            width: "180",
-                        },
-                        {
-                            label: "中文名称",
-                            prop: "cnName",
-                            width: "180",
-                            searchLabelWidth: 120,
-                        },
-                        {
-                            label: "英文名称",
-                            prop: "enName",
-                            width: "180",
-                            searchLabelWidth: 120,
+                            label: '客户',
+                            prop:'curCode'
                         },
                         {
-                            label: "业务类型中文名称",
-                            prop: "businessTypeCnName",
-                            width: 160,
+                            label: '费用',
+                            prop:'feeCnName'
                         },
                         {
-                            label: "业务类型英文名称",
-                            prop: "businessTypeEnName",
-                            width: 160,
+                            label: '数量',
+                            prop:'quantity'
                         },
                         {
-                            label: "收付",
-                            prop: "dc",
-                            type: 'select',
-                            dicData: [{
-                                label: '收',
-                                value: 'D'
-                            }, {
-                                label: '付',
-                                value: 'C'
-                            }],
+                            label: '单价',
+                            prop:'price'
                         },
                         {
-                            label: "是否公开共享",
-                            prop: "isShared",
-                            width: 100,
-                            type: 'select',
-                            dicData: [{
-                                label: '否',
-                                value: 0
-                            }, {
-                                label: '是',
-                                value: 1
-                            }],
+                            label: '计量单位',
+                            prop:'unitNo'
                         },
                         {
-                            label: "备注",
-                            prop: "remarks",
-                            span: 24,
-                            type: 'textarea',
-                            width: "180",
-                            slot: true,
-                            minRows: 3,
-                        },
+                            label: '币别',
+                            prop:'curCode'
+                        }
                     ]
                 },
-                templateLoading:false,
+                // 左侧数据
                 templateData:[],
-                templateRadio:null,
-                templatePage:{
-                    pageSize: 10,
-                    currentPage: 1,
-                    total: 0,
-                    pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
-                },
+                lefttemplate:{}, // 左侧选择的数据
+                // 选中的数据
+                feesselectionList:[],
                 selectionDList:[], // 收选择的
                 selectionCList:[], // 付选择的
 
@@ -753,28 +735,17 @@
         created() {
             // this.getBcorpsListfun()
             // this.bfeesListfun()
-            // this.getBunitsListfun()
+            // this.getBunitsPagefun()
             // this.getRateListfun()
             // this.getWorkDictsfun()
         },
         methods:{
-
-            // 模板列表的分页
-            sizeChange(val){
-                this.page.currentPage = 1
-                this.page.pageSize = val
-                this.templateClick()
-            },
-            currentChange(val){
-                this.page.currentPage = val
-                this.templateRadio = null
-                this.templateClick()
-            },
             // 模板导入
             templateExport(){
-                if (this.templateRadio || this.templateRadio == 0) {
+                if (this.feesselectionList.length > 0) {
                     feecenterTemplateImport({
-                        ...this.templateData[this.templateRadio],
+                        ...this.lefttemplate,
+                        feesTemplateItemsList:this.feesselectionList,
                         billNoId:this.assemblyForm.id
                     }).then(res=>{
                         this.$message({
@@ -791,16 +762,24 @@
             // 模板
             templateClick(dc){
                 this.templateVisible = true
-                this.templateLoading = true
-                losbfeestemplateGetListTemplate(this.templatePage.currentPage,this.templatePage.pageSize,{
+                losbfeestemplateGetListTemplate(1,50,{
                     dc:dc,
                     status:0
                 }).then(res=>{
                     this.templateData = res.data.data.records
-                    this.templatePage.total = res.data.data.total;
-                    this.templateLoading = false
                 })
             },
+            // 左侧选择
+            nodeClick(e) {
+                this.lefttemplate = e
+                losbfeestemplateDetail(e.id).then(res=>{
+                    this.templateRightData = res.data.data.feesTemplateItemsList
+                })
+            },
+            // 右侧选择回调
+            feeselectionChange(list) {
+                this.feesselectionList = list;
+            },
             // 应收新增
             addDfun(){
                 if (!this.pid) {
@@ -1026,8 +1005,14 @@
                 })
             },
             // 获取计算属性
-            getBunitsListfun(cnName){
-                getBunitsList(1,10,{cnName}).then(res=>{
+            getBunitsPagefun(){
+                let srcBillId = null
+                if (this.assemblyForm.billType == 'MH') {
+                    srcBillId = this.assemblyForm.masterId
+                }else {
+                    srcBillId = this.assemblyForm.id
+                }
+                getBunitsPage({srcBillId}).then(res=>{
                     this.unitNoData = res.data.data.records
                 })
             },
@@ -1056,7 +1041,14 @@
             tableHeaderCellStyle({row,column,rowIndex, columnIndex}){
                 return "padding:4px 0px;fontSize:12px;color:#000;background:#ecf5ff"
             },
-
+            // 关闭弹窗
+            handleClose(done) {
+                this.$confirm('确认关闭?')
+                    .then(_ => {
+                        done();
+                    })
+                    .catch(_ => {});
+            }
 
         },
     }
@@ -1095,4 +1087,9 @@
     ::v-deep.el-form-item {
         margin-bottom: 0px;
     }
+
+    // 去掉弹框内容的默认padding值
+    /deep/.el-dialog .el-dialog__body {
+        padding: 0px 20px;
+    }
 </style>

+ 45 - 18
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -85,6 +85,18 @@
                                                                           @corpChange="corpChange($event,item[1].prop)"
                                                                           @corpFocus="remoteMethod($event,item[1].prop)" >
                                                             </search-query>
+
+                                                            <tree-select v-else-if="item[1].type == 'tree'"
+                                                                         v-model="form[item[1].prop]" filterable
+                                                                         :data="item[1].dicData"
+                                                                         :props="item[1].forParameter"
+                                                                         nodeKey="title"
+                                                                         size="small"
+                                                                         :disabled="detailData.seeDisabled || item[1].disabled"
+                                                                         :multiple="false"
+                                                                         @input="corpChange($event,item[1].prop)">
+                                                            </tree-select>
+
                                                             <el-input v-else type="age" style="width: 100%;" v-model="form[item[1].prop]"
                                                                       size="small" autocomplete="off"
                                                                       :disabled="detailData.seeDisabled || item[1].disabled"
@@ -215,6 +227,7 @@ import DistributionBox from "@/views/iosBasicData/SeafreightExportF/bills/assemb
 import feecenter from '@/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue'
 import {getList as userGetList} from '@/api/system/user'
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
+import TreeSelect from "@/components/iosbasic-data/TreeSelect.vue";
 import bcorps from "@/views/iosBasicData/bcorps/index.vue";
 import bcorpstypedefine from "@/views/iosBasicData/bcorps/bcorpstypedefine.vue";
 import SplitList from "@/views/iosBasicData/SeafreightExportF/bills/assembly/SplitList.vue";
@@ -223,7 +236,7 @@ import {getBcorpsList, getBcorpslistByType} from "@/api/iosBasicData/bcorps";
 import {getBlocationsList} from "@/api/iosBasicData/blocations";
 import {getBcorpsattnList} from "@/api/iosBasicData/bcorpsattn";
 import {getWorkDicts} from "@/api/system/dictbiz";
-import {getDeptLazyTree} from "@/api/system/dept";
+import {getDeptLazyTree, getDeptTree, getLazyList} from "@/api/system/dept";
 import {billsDetail, billsGetBillNo, billsListAll, billsSubmit,deptGetDetailPol} from '@/api/iosBasicData/bills'
 import {dateFormat} from "@/util/date";
     export default {
@@ -238,7 +251,8 @@ import {dateFormat} from "@/util/date";
             feecenter,
             bcorps,
             bcorpstypedefine,
-            SplitList
+            SplitList,
+            TreeSelect
         },
         props:{
             detailData: {
@@ -254,7 +268,8 @@ import {dateFormat} from "@/util/date";
                 // 详情数据
                 form:{
                     billDate:dateFormat(new Date(), "yyyy-MM-dd"), // 单据日期 默认 当天
-                    operatorName:JSON.parse(localStorage.getItem('saber-userInfo')).content.role_name, // OP 默认登录人
+                    operatorName:JSON.parse(localStorage.getItem('saber-userInfo')).content.user_name, // OP 默认登录人
+                    operatorId:JSON.parse(localStorage.getItem('saber-userInfo')).content.user_id, // OP 默认登录人
                     businessType:'SE', // 业务类型 默认 海运出口
                     billType:'DD', // 单据类型 默认 直单
                     accDeptName:'',// 核算部门 默认登录人的部门
@@ -357,13 +372,12 @@ import {dateFormat} from "@/util/date";
                             {
                                 label: "核算部门", // 核算部门Id accDept 核算部门 accDeptName 调机构管理接口
                                 prop: "accDeptName",
-                                type:'select',
+                                type:'tree',
                                 dicData:[],
                                 disabled:false,
                                 forParameter:{
-                                    key:'id',
-                                    label:'deptName',
-                                    value:'deptName',
+                                    label: "title",
+                                    children:'children'
                                 },
                                 rules: [{
                                     required: true,
@@ -612,25 +626,36 @@ import {dateFormat} from "@/util/date";
         },
         created() {
             this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
-            this.deptGetDetailPolfun()
-            this.userGetListfun(undefined,true)
-
-            // this.getLazylistfun()
-            // this.getBcorpsListfun()
-            // this.getBlocationsListfun()
-            // this.getWorkDictsfun()
+            // 判断是否员id, 有id 就不显示
+            if (!this.form.id) {
+                this.deptGetDetailPolfun() // 收货地 装货港 当前登录人的默认
+                this.userGetListfun(undefined,true) // 获取用户管理数据
+            }
             this.ownDeptLazyTreefun() // 获取公司数据
+            this.getLazylistfun() // 获取审核数据
         },
         methods:{
             // 收货地 装货港 当前登录人的默认
             deptGetDetailPolfun(){
                 deptGetDetailPol(this.saberUserInfo.dept_id).then(res=>{
+                    // 收货地
                     this.form.placeReceiptName = res.data.data.polCnName
                     this.form.placeReceiptId = res.data.data.polId
                     this.form.placeReceiptNamePrint = res.data.data.polEnName
+                    // 装货港
                     this.form.polCnName = res.data.data.polCnName
                     this.form.placeReceiptId = res.data.data.polId
                     this.form.polNamePrint = res.data.data.polEnName
+                    // 签单地点 默认 装货港
+                    this.$set(this.form,'issueAt',this.form.polCnName)
+                    // 主单单付费地点 默认  如果主单付费方式 为PP 取装货港 如果主单付费地点为CC 取卸货港
+                    if (this.form.mpaymode == 'PP') {
+                        this.$set(this.form,'mPayplace',this.form.polCnName)
+                    }
+                    // 分单单付费地点 默认  如果分单付费方式 为PP 取装货港 如果分单付费地点为CC 取卸货港
+                    if (this.form.hpaymode == 'PP') {
+                        this.$set(this.form,'hPayplace',this.form.polCnName)
+                    }
                 })
             },
             // 获取用户管理数据
@@ -650,8 +675,8 @@ import {dateFormat} from "@/util/date";
                 })
             },
             // 获取核算部分数据 // 机构管理接口
-            getLazylistfun(deptName){
-                getLazylist({deptName}).then(res=>{
+            getLazylistfun(){
+                getDeptTree().then(res=>{
                     this.columnforfun('accDeptName').dicData = res.data.data
                 })
             },
@@ -749,6 +774,7 @@ import {dateFormat} from "@/util/date";
             },
             // 下拉的监听事件
             corpChange(value,name){
+                console.log(value,name,769)
                 if (name == 'operatorName') {
                     // OP 下拉赋值 用户管理列表
                     for(let item of this.columnforfun('operatorName').dicData) {
@@ -761,8 +787,9 @@ import {dateFormat} from "@/util/date";
                 else if (name == 'accDeptName') {
                     // OP 下拉赋值 用户管理列表
                     for(let item of this.columnforfun('accDeptName').dicData) {
-                        if (item.deptName == value) {
-                            this.form.accDeptName = item.deptName
+                        if (item.title == value) {
+                            console.log(item,783)
+                            this.form.accDeptName = item.title
                             this.form.accDeptId = item.id
                         }
                     }

+ 277 - 28
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -11,6 +11,7 @@
                      :before-open="beforeOpen"
                      v-model="form"
                      ref="crud"
+                     :search.sync="query"
                      @row-update="rowUpdate"
                      @row-save="rowSave"
                      @row-del="rowDel"
@@ -25,6 +26,194 @@
                      @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 309)"
                      @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 309)"
           >
+              <template slot="search" slot-scope="{row,size}">
+                  <el-form ref="form" :model="row" label-width="80px">
+                      <el-row>
+                          <el-col :span="6">
+                              <el-form-item label="单据类型">
+                                  <search-query
+                                      :datalist="billTypeData"
+                                      :selectValue="query.billType"
+                                      :filterable="true"
+                                      :clearable="true"
+                                      :remote="true"
+                                      :buttonIf="false"
+                                      @corpChange="corpChange($event,'billType')">
+                                  </search-query>
+                              </el-form-item>
+                          </el-col>
+                          <!--billType 单据类型-->
+                          <el-col :span="6">
+                              <el-form-item label="业务号">
+                                  <el-input placeholder="请输入业务号"
+                                            size="small" style="width:100%" v-model="query.billNo">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="主单号">
+                                  <el-input placeholder="请输入主单号"
+                                            size="small" style="width:100%" v-model="query.mblno">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="分单号">
+                                  <el-input placeholder="请输入分单号"
+                                            size="small" style="width:100%" v-model="query.hblno">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="船名">
+                                  <el-input placeholder="请输入船名"
+                                            size="small" style="width:100%" v-model="query.vesselCnName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="航次">
+                                  <el-input placeholder="请输入航次"
+                                            size="small" style="width:100%" v-model="query.voyageNo">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="委托人">
+                                  <el-input placeholder="请输入委托人"
+                                            size="small" style="width:100%" v-model="query.corpCnName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="船公司">
+                                  <el-input placeholder="请输入船公司"
+                                            size="small" style="width:100%" v-model="query.carrierCnName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="目的港">
+                                  <el-input placeholder="请输入目的港"
+                                            size="small" style="width:100%" v-model="query.podCnName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="航线">
+                                  <el-input placeholder="请输入航线"
+                                            size="small" style="width:100%" v-model="query.lineCnName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="场站">
+                                  <el-input placeholder="请输入场站"
+                                            size="small" style="width:100%" v-model="query.cyCode">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="业务来源">
+                                  <search-query
+                                                :datalist="srcTypeData"
+                                                :selectValue="query.srcType"
+                                                :filterable="true"
+                                                :clearable="true"
+                                                :remote="true"
+                                                :buttonIf="false"
+                                                @corpChange="corpChange($event,'srcType')">
+                                  </search-query>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="来源详情">
+                                  <el-input placeholder="请输入来源详情"
+                                            size="small" style="width:100%" v-model="query.srcCnName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="9">
+                              <el-form-item label="ETD">
+                                  <el-checkbox v-model="etdDisabled">
+                                      <el-date-picker
+                                          v-model="etdList"
+                                          style="width: 100%"
+                                          :disabled="!etdDisabled"
+                                          size="small"
+                                          type="datetimerange"
+                                          range-separator="至"
+                                          start-placeholder="开始日期"
+                                          end-placeholder="结束日期"
+                                          format="yyyy-MM-dd HH:mm"
+                                          value-format="yyyy-MM-dd HH:mm"
+                                          clearable>
+                                      </el-date-picker>
+                                  </el-checkbox>
+
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="9">
+                              <el-form-item label="ETA">
+                                  <el-checkbox v-model="etaDisabled">
+                                      <el-date-picker
+                                          v-model="etaList"
+                                          style="width: 100%"
+                                          :disabled="!etaDisabled"
+                                          size="small"
+                                          type="datetimerange"
+                                          range-separator="至"
+                                          start-placeholder="开始日期"
+                                          end-placeholder="结束日期"
+                                          format="yyyy-MM-dd HH:mm"
+                                          value-format="yyyy-MM-dd HH:mm"
+                                          clearable>
+                                      </el-date-picker>
+                                  </el-checkbox>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="创建部门">
+                                  <el-input placeholder="请输入创建部门"
+                                            size="small" style="width:100%" v-model="query.createDeptName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="订舱代理">
+                                  <el-input placeholder="请输入订舱代理"
+                                            size="small" style="width:100%" v-model="query.bookingAgentCnName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="签单方式">
+                                  <search-query
+                                      :datalist="issueTypeData"
+                                      :selectValue="query.issueType"
+                                      :filterable="true"
+                                      :clearable="true"
+                                      :remote="true"
+                                      :buttonIf="false"
+                                      :forParameter="{ key:'dictKey', label:'dictValue', value:'dictValue'}"
+                                      @corpChange="corpChange($event,'issueType')" >
+                                  </search-query>
+                              </el-form-item>
+                          </el-col>
+                          <el-col :span="6">
+                              <el-form-item label="收货人">
+                                  <el-input placeholder="请输入收货人"
+                                            size="small" style="width:100%" v-model="query.hConsigneeCnName">
+                                  </el-input>
+                              </el-form-item>
+                          </el-col>
+                      </el-row>
+                  </el-form>
+              </template>
+              <template slot="searchMenu"  slot-scope="{row,size}">
+
+              </template>
+
               <template slot="menuLeft">
                   <el-button type="primary" size="small" icon="el-icon-plus" @click="addbtnfun()">新增海运出口
                   </el-button>
@@ -42,9 +231,15 @@
                   </el-button>
                   <div style="margin-top: 10px">
                       <el-tabs type="card" v-model="query.billStatus" @tab-click="handleClick">
-                          <el-tab-pane label="新建" name="0"></el-tab-pane>
-                          <el-tab-pane label="退仓" name="1"></el-tab-pane>
-                          <el-tab-pane label="暂停" name="2"></el-tab-pane>
+                          <el-tab-pane label="新建" name="0">
+                              <span slot="label">新建</span>
+                          </el-tab-pane>
+                          <el-tab-pane label="退仓" name="1">
+                              <span slot="label" style="color: #d86363">退仓</span>
+                          </el-tab-pane>
+                          <el-tab-pane label="暂停" name="2">
+                              <span slot="label" style="color: #d2983c">暂停</span>
+                          </el-tab-pane>
                           <el-tab-pane label="完成" name="3"></el-tab-pane>
                       </el-tabs>
                   </div>
@@ -118,18 +313,57 @@ import {
   import feesTemplateItems from "@/views/iosBasicData/losbfeestemplate/feesTemplateItems.vue";
   import SplitList from "@/views/iosBasicData/SeafreightExportF/bills/assembly/SplitList.vue";
 import {getWorkDicts} from "@/api/system/dictbiz";
+import {dateFormat, defaultDate} from "@/util/date";
+import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 
   export default {
-    components:{feesTemplateItems, billsDetails,SplitList},
+    components:{SearchQuery, feesTemplateItems, billsDetails,SplitList},
     data() {
       return {
+          // 单据类型
+          billTypeData:[
+              {
+                  label: '直单',
+                  value: 'DD'
+              }, {
+                  label: '主单',
+                  value: 'MM'
+              },{
+                  label: '主分单',
+                  value: 'MH'
+              }
+          ],
+          // 业务来源
+          srcTypeData:[
+              {
+                  label:'公司',
+                  value:'OWN'
+              },
+              {
+                  label:'代理',
+                  value:'AGENT'
+              },
+              {
+                  label:'业务员',
+                  value:'SALES'
+              }
+          ],
+          // 签单方式
+          issueTypeData:[],
           isShow:true,
           detailData:{},
           dialogVisible:false, // 弹窗开启
-
+          // ETD是否可以检索
+          etdDisabled:false,
+          // ETA是否可以检索
+          etaDisabled:false,
         form: {},
+          // 开船日期和到港日期
+          etdList:[defaultDate(1)[0] + ' 00:00',defaultDate(1)[1] + ' 23:59'],
+          etaList:[defaultDate(1)[0] + ' 00:00',defaultDate(1)[1] + ' 23:59'],
+          // 表格的检索条件
         query: {
-            billStatus:'0'
+            billStatus:'0',
         },
           // 弹窗的搜索项
           mawbQuery:{
@@ -145,15 +379,15 @@ import {getWorkDicts} from "@/api/system/dictbiz";
           currentPage: 1,
           total: 0
         },
-          // 弹窗分页
-          mawbPage:{
+        // 弹窗分页
+        mawbPage:{
               pageSize: 10,
               currentPage: 1,
               total: 0
-          },
+        },
         selectionList: [],
-          // 弹窗的选择数据
-          dialogRadio:null,
+        // 弹窗的选择数据
+        dialogRadio:null,
         option:{},
         optionBack: {
             selectable:(row,index)=>{
@@ -167,8 +401,8 @@ import {getWorkDicts} from "@/api/system/dictbiz";
           calcHeight: 30,
           tip: false,
           searchShow: true,
-          searchMenuSpan: 6,
-            searchLabelWidth:'100',
+          searchMenuSpan: 24,
+          searchLabelWidth:'100',
           border: true,
           index: true,
           selection: true,
@@ -186,7 +420,6 @@ import {getWorkDicts} from "@/api/system/dictbiz";
             {
               label: "单据类型",
               prop: "billType",
-                search: true,
                 type: 'select',
                 dicData: [{
                     label: '直单',
@@ -197,27 +430,21 @@ import {getWorkDicts} from "@/api/system/dictbiz";
                 },{
                     label: '主分单',
                     value: 'MH'
-                }, {
-                    label: '从分单',
-                    value: 'HH'
                 }],
             },
             {
               label: "单据编号",
               prop: "billNo",
-                search: true,
                 width:"160"
             },
             {
               label: "主单据号",
               prop: "masterBillNo",
-                search: true,
                 width:"160"
             },
             {
               label: "客户名",
               prop: "corpCnName",
-                search: true,
                 width:"160"
             },
             {
@@ -236,18 +463,15 @@ import {getWorkDicts} from "@/api/system/dictbiz";
             {
               label: "MB/L NO",
               prop: "mblno",
-                search: true,
             },
             {
               label: "HB/L NO",
               prop: "hblno",
-                search: true,
             },
             {
               label: "开船日期",
               prop: "etd",
               type: "date",
-              search: true,
               unlinkPanels: true,
               searchRange: true,
               overHidden: true,
@@ -262,7 +486,6 @@ import {getWorkDicts} from "@/api/system/dictbiz";
             {
               label: "装货港",
               prop: "polCnName",
-                search: true,
                 width:"120"
             },
             {
@@ -456,7 +679,6 @@ import {getWorkDicts} from "@/api/system/dictbiz";
             {
               label: "业务状态",
               prop: "billStatus",
-                search: true,
                 type:"select",
                 dicData: [],
                 props: {
@@ -495,7 +717,7 @@ import {getWorkDicts} from "@/api/system/dictbiz";
           ]
         },
           // 弹窗的配置
-          mawbOption:{
+        mawbOption:{
               height:'450',
               calcHeight: 30,
               tip: false,
@@ -592,8 +814,8 @@ import {getWorkDicts} from "@/api/system/dictbiz";
               ]
           },
         data: [],
-          // 弹窗数据
-          mawbData:[],
+        // 弹窗数据
+        mawbData:[],
       };
     },
     computed: {
@@ -618,8 +840,20 @@ import {getWorkDicts} from "@/api/system/dictbiz";
           this.option = await this.getColumnData(this.getColumnName(309), this.optionBack);
           this.billStatusWorkDictsfun()
           this.accountStatusWorkDictsfun()
+          this.getWorkDictsfun() // 获取签单方式字典数据
       },
       methods: {
+        // 下拉的回调
+          corpChange(value,name) {
+              this.query[name] = value
+          },
+          // 获取签单方式字典数据
+          getWorkDictsfun(){
+              getWorkDicts('issue_type_F').then(res=>{
+                  this.issueTypeData = res.data.data
+              })
+          },
+
         // tabs切换筛选
           handleClick(tab, event){
               this.onLoad(this.page, this.query);
@@ -815,9 +1049,21 @@ import {getWorkDicts} from "@/api/system/dictbiz";
         this.query = {};
         this.onLoad(this.page);
       },
+      // 搜索
       searchChange(params, done) {
         this.query = params;
         this.page.currentPage = 1;
+        // 判断检索条件是否可以使用
+        if(this.etdDisabled) {
+            this.query.etdList = this.etdList
+        }else {
+            delete params.etdList
+        }
+        if(this.etaDisabled) {
+            this.query.etaList = this.etaList
+        }else {
+            delete params.etaList
+        }
         this.onLoad(this.page, params);
         done();
       },
@@ -919,4 +1165,7 @@ import {getWorkDicts} from "@/api/system/dictbiz";
 /deep/ .el-col-md-8 {
     width: 24.33333%;
 }
+::v-deep.el-form-item {
+    margin-bottom: 0;
+}
 </style>

+ 1 - 1
src/views/iosBasicData/losbfeestemplate/feesTemplateItems.vue

@@ -92,7 +92,7 @@
                     </el-table-column>
                     <el-table-column
                         prop="unitNo"
-                        label="计算属性">
+                        label="计量单位">
                     </el-table-column>
                     <el-table-column
                         prop="curCode"

+ 60 - 1
src/views/system/dept.vue

@@ -42,6 +42,22 @@
                 slot="deptCategory">
         <el-tag>{{row.deptCategoryName}}</el-tag>
       </template>
+
+        <template slot-scope="{row}"
+                  slot="polCnNameForm">
+            <search-query :datalist="polData"
+                          :selectValue="form.polCnName"
+                          :filterable="true"
+                          :clearable="true"
+                          :remote="true"
+                          :buttonIf="false"
+                          :forParameter="{key:'id',label:'cnName',value:'cnName'}"
+                          @remoteMethod="polBportsListfun($event,'polCnName')"
+                          @corpChange="corpChange($event,'polCnName')"
+                          @corpFocus="polBportsListfun($event,'polCnName')" >
+            </search-query>
+        </template>
+
     </avue-crud>
   </basic-container>
 </template>
@@ -57,10 +73,15 @@
   } from "@/api/system/dept";
   import {mapGetters} from "vuex";
   import website from '@/config/website';
+  import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
+  import {bportsList} from "@/api/iosBasicData/bports";
 
   export default {
+      components: {SearchQuery},
     data() {
       return {
+          // 装货港数据
+          polData:[],
         form: {},
         selectionList: [],
         query: {},
@@ -170,6 +191,18 @@
                   viewDisplay:false, // 当前行数据在查看表单中是否可见
                   value:0
               },
+              {
+                  label: "装货港",
+                  prop: "polCnName",
+                  type: "select",
+                  formslot:true,
+                  disabled:true,
+                  hide: true, // 表格里是否可见
+                  addDisplay:false,//当前行数据在新增表单中是否可见
+                  editDisplay:false,//当前行数据在编辑表单中是否可见
+                  viewDisplay:false, // 当前行数据在查看表单中是否可见
+              },
+
             {
               label: "排序",
               prop: "sort",
@@ -222,6 +255,15 @@
           //         this.findObject(this.option.column, "pointsBalance").viewDisplay = true
           //     })
           // }
+          // 判断是否显示装货港
+          if (content == 409341) {
+              this.$nextTick(()=>{
+                  this.findObject(this.option.column, "polCnName").hide = false
+                  this.findObject(this.option.column, "polCnName").addDisplay = true
+                  this.findObject(this.option.column, "polCnName").editDisplay = true
+                  this.findObject(this.option.column, "polCnName").viewDisplay = true
+              })
+          }
       },
       computed: {
       ...mapGetters(["userInfo", "permission"]),
@@ -242,9 +284,26 @@
       }
     },
     methods: {
+        // 装货港数据
+        polBportsListfun(enName){
+            bportsList(1,10,{enName}).then(res=>{
+                this.polData = res.data.data.records
+            })
+        },
+        // 装货港回调数据
+        corpChange(value,name){
+            for(let item of this.polData) {
+                if (item.cnName == value) {
+                    this.form.polId = item.id
+                    this.form.polCnName = item.cnName
+                    this.form.polEnName = item.enName
+                    this.form.polNamePrint = item.enName
+                }
+            }
+        },
+
       initData() {
         getDeptTree().then(res => {
-          console.log(res)
           const column = this.findObject(this.option.column, "parentId");
           column.dicData = res.data.data;
         });