Browse Source

1.成本中心SOC COC 用别的账号登录看不到详情信息
2.航线利润增加反转功能
3.海运进出口 打印单证入货通知 HTCL免箱使天数从主表带过来
4.海运进出口 全部拥有应收应付权限,才允许出现预览按钮tab 在单证中心 不显示 预览
5.海运进出口 amend 费用新加所属公司
6.海运进出口 主单的费用 只有总部可以看 分公司不可以看 ,主单的预览只有总部可以使用
7.海运进出口 增加模板导入 联调接口
8.海运进出口 箱明细增加箱皮重和pod堆场
9.费用模板增加所属公司,多选,按照登陆人所属公司带出相应费用模板
10.海运进出口 主表和报表新增码头字段
11.分单添加主单的时候 把特殊符号转换成换行处理

Qukatie 9 months ago
parent
commit
30315954a4

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

@@ -77,4 +77,11 @@ export const getListTemplatelist = (data) => {
     method: 'get',
     params:data
   })
+}
+export const getListAll = (data) => {
+  return request({
+    url: '/api/blade-los/bunits/listAll',
+    method: 'get',
+    params:data
+  })
 }

+ 0 - 1
src/components/dicSelect/main.vue

@@ -332,7 +332,6 @@ export default {
     },
     methods: {
         visibleChange(status) {
-            console.log(status)
             if (status) {
                 if (this.options.length == 0) {
                     this.data={}

+ 0 - 2
src/views/approval/processConfigH/index.vue

@@ -188,11 +188,9 @@ export default {
       })
     }
     this.detailOption = detailOption
-
     getUserApprovalList().then(res => {
       this.auditUserIdDic = res.data.data
     })
-
     this.tenantId = this.$store.getters.userInfo.tenant_id;
     getRoleTree(this.tenantId).then(res => {
       this.roleData = res.data.data;

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

@@ -417,6 +417,7 @@ export default {
                 type: 'HYJK'
             }).then(res => {
                 this.editData.groupCode = this.businesstypeData.groupCode
+                res.data.data.data.hlclBoxenvoy=res.data.data.data.polFreeBoxUseDays
                 this.documentForm = res.data.data.data
                 // 联系人
                 this.documentForm.corpAttnName = this.documentForm.corpAttnName + '' + this.documentForm.corpAttnTel

+ 10 - 1
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -1915,7 +1915,8 @@ export default {
                 dc: dc,
                 status: 0,
                 type: 'HYJK',
-                shippingCompanyId: this.assemblyForm.carrierId
+                shippingCompanyId: this.assemblyForm.carrierId,
+                branchId:this.assemblyForm.branchId
             }).then(res => {
                 this.templateData = res.data.data.records
                 this.lefttemplate = res.data.data.records[0]
@@ -1968,6 +1969,8 @@ export default {
                     edit: true
                 }
                 if (this.assemblyForm.feeCenterListD.length != 0) {
+                    obj.branchId = this.assemblyForm.branchId
+                    obj.branchName = this.assemblyForm.branchName
                     // 结算单位
                     obj.corpId = this.assemblyForm.feeCenterListD[this.assemblyForm.feeCenterListD.length - 1]
                         .corpId
@@ -2011,6 +2014,8 @@ export default {
                     // obj.usdAmountNet = this.assemblyForm.feeCenterListD[this.assemblyForm.feeCenterListD.length - 1].usdAmountNet
                     this.assemblyForm.feeCenterListD.push(obj)
                 } else {
+                    obj.branchId = this.assemblyForm.branchId
+                    obj.branchName = this.assemblyForm.branchName
                     // 结算单位拿主表客户名称
                     obj.corpId = this.assemblyForm.corpId
                     obj.corpCnName = this.assemblyForm.corpCnName
@@ -2067,6 +2072,8 @@ export default {
                     edit: true
                 }
                 if (this.assemblyForm.feeCenterListC.length != 0) {
+                    obj.branchId = this.assemblyForm.branchId
+                    obj.branchName = this.assemblyForm.branchName
                     // 结算单位
                     obj.corpId = this.assemblyForm.feeCenterListC[this.assemblyForm.feeCenterListC.length - 1]
                         .corpId
@@ -2110,6 +2117,8 @@ export default {
                     // obj.usdAmountNet = this.assemblyForm.feeCenterListC[this.assemblyForm.feeCenterListC.length - 1].usdAmountNet
                     this.assemblyForm.feeCenterListC.push(obj)
                 } else {
+                    obj.branchId = this.assemblyForm.branchId
+                    obj.branchName = this.assemblyForm.branchName
                     // 结算单位拿主表客户名称
                     // obj.corpId = this.assemblyForm.corpId
                     // obj.corpCnName = this.assemblyForm.corpCnName.split(' - ')[0]

+ 18 - 21
src/views/iosBasicData/OceanFreightImport/bills/billsDetails.vue

@@ -54,24 +54,25 @@
                         </el-dropdown-item>
                     </el-dropdown-menu>
                 </el-dropdown> -->
-                <el-button size="small" style="margin-right: 8px" :loading="saveLoading" :disabled="!form.id"
+                <el-button
+                    v-if="bigtabs != 'dz' && (roleName.includes('admin') || (roleName.includes('应付修改') && roleName.includes('应付查看')) || (roleName.includes('应收修改') && roleName.includes('应收查看')))"
+                    size="small" style="margin-right: 8px" :loading="saveLoading" :disabled="!form.id"
                     @click="previewDialogfun">预 览
                 </el-button>
                 <el-button v-if="form.id && form.receiveStatus == '录入'" size="small" type="success"
-                    @click.stop="allClick('接收')">接收
+                    @click.stop="allClick('接收')">接 
                 </el-button>
                 <el-button v-if="form.id && form.receiveStatus == '已接收'" size="small" type="danger"
                     @click.stop="allClick('撤销接收')">撤销接收
                 </el-button>
                 <el-button v-if="form.id && form.changeOrdersStatus == '可换单'" size="small" type="warning"
-                    @click.stop="allClick('换单')">换单
+                    @click.stop="allClick('换单')">换 
                 </el-button>
                 <el-button v-if="form.id && form.changeOrdersStatus == '已换单'" size="small" type="danger"
                     @click.stop="allClick('撤销换单')">撤销换单
                 </el-button>
-                <el-button v-if="
-                    form.id && form.returningSecurityMoneyStatus == '可退押'
-                " size="small" type="info" @click.stop="allClick('退押')">退押
+                <el-button v-if="form.id && form.returningSecurityMoneyStatus == '可退押'" size="small" type="info"
+                    @click.stop="allClick('退押')">退 押
                 </el-button>
                 <el-button v-if="
                     form.id && form.returningSecurityMoneyStatus == '已退押'
@@ -186,11 +187,11 @@
                                                                                             item[0].prop
                                                                                         )
                                                                                         " @corpFocus="
-                                                                                                remoteMethod(
-                                                                                                    $event,
-                                                                                                    item[0].prop
-                                                                                                )
-                                                                                                ">
+                                                                                            remoteMethod(
+                                                                                                $event,
+                                                                                                item[0].prop
+                                                                                            )
+                                                                                            ">
                                                         </search-query>
                                                         <el-input v-else type="age" style="width: 100%;" v-model="form[item[0].prop]
                                                             " size="small" autocomplete="off"
@@ -440,14 +441,8 @@
                     </div>
                 </el-tab-pane>
 
-                <el-tab-pane label="费用信息" name="fy" class="scrollable-container" v-if="
-                    roleName.indexOf('admin') != -1
-                        ? true
-                        : roleName.indexOf('应收修改') != -1 ||
-                        roleName.indexOf('应付修改') != -1 ||
-                        roleName.indexOf('应收查看') != -1 ||
-                        roleName.indexOf('应付查看') != -1
-                ">
+                <el-tab-pane label="费用信息" name="fy" class="scrollable-container"
+                    v-if="!(form.billType == 'MM' && roleName.includes('secondaryAdmin')) && (roleName.includes('admin') || roleName.includes('应收修改') || roleName.includes('应付修改') || roleName.includes('应收查看') || roleName.includes('应付查看'))">
                     <feecenter :assemblyForm="form" :copyFormData="copyFormData" :detailData="detailData"
                         :disabled="detailData.seeDisabled || showLock" :pleasereviewType="pleasereviewType"
                         :pid="form.id" @billsDetailfun="billsDetailfun(form.id)">
@@ -1074,7 +1069,7 @@ export default {
                     emptyText: "取消",
                     span: 24,
                     column: [
-                                   {
+                        {
                             label: "单据类型",
                             prop: "billType",
                             type: "select",
@@ -2876,7 +2871,7 @@ export default {
                 });
         },
         // 复制单据接口
-        async billsCopyBillsfun(id, type,billType) {
+        async billsCopyBillsfun(id, type, billType) {
             const loading = this.$loading({
                 lock: true,
                 text: "加载中",
@@ -2982,6 +2977,8 @@ export default {
             if (!this.roleName.includes('admin') && (this.roleName.includes('应付修改') || this.roleName.includes('应付查看')) && !(this.roleName.includes('应收修改') || this.roleName.includes('应收查看'))) {
                 res.data.data.feeCenterListD = []
             }
+            res.data.data.marks = res.data.data.marks ? res.data.data.marks.replace('&|&', "\n") : ''
+            res.data.data.commodityDescr = res.data.data.commodityDescr ? res.data.data.commodityDescr.replace('&|&', "\n") : ''
             this.$set(this, "form", res.data.data);
             this.inLock();
             //   console.log('form', this.form)

+ 51 - 12
src/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox/containers.vue

@@ -116,6 +116,23 @@
                         placeholder="请输入MARKS"></el-input>
                     <span v-else>{{ scope.row.marks }}</span>
                 </template>
+                <template slot-scope="{row}" slot="tare">
+                    <el-input v-if="row.edit" v-model="row.tare" size="small" clearable placeholder="请输入箱皮重"></el-input>
+                    <span v-else>{{ row.tare }}</span>
+                </template>
+                <template slot-scope="{row}" slot="vgmWeight">
+                    <el-input v-if="row.edit" v-model="row.vgmWeight" size="small" clearable
+                        placeholder="请输入VGM总重(KGM)"></el-input>
+                    <span v-else>{{ row.vgmWeight }}</span>
+                </template>
+                <tempalte slot="podStationCname" slot-scope="{row}">
+                    <dic-select v-if="row.edit" v-model="row.podStationCname" placeholder="目的港还箱场站" label="cnName"
+                        res="records" url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=POD堆场&status=0"
+                        :filterable="true" :remote="true" dataName="cnName"
+                        @selectChange="rowDicChange('podStationCname', $event, row)" :slotRight="true"
+                        rightLabel="code"></dic-select>
+                    <span v-else>{{ row.podStationCname }}</span>
+                </tempalte>
             </avue-crud>
         </basic-container>
 
@@ -166,11 +183,11 @@ import bports from "@/views/iosBasicData/bports/index.vue";
 import { bportsList } from "@/api/iosBasicData/bports";
 import { getToken } from "@/util/auth";
 import { decryptLhtData } from "@/util/lhtDataDesc";
-import extractBoxInformation
-    from "@/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox/extractBoxInformation.vue";
+import extractBoxInformation from "@/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox/extractBoxInformation.vue";
 import { billsAdd } from "@/api/iosBasicData/bills";
+import dicSelect from "@/components/dicSelect/main";
 export default {
-    components: { SearchQuery, bports, extractBoxInformation },
+    components: { SearchQuery, bports, extractBoxInformation, dicSelect },
     props: {
         assemblyForm: {},
         detailData: {},
@@ -264,10 +281,18 @@ export default {
                         width: "140",
                         overHidden: true,
                     },
-                    // {
-                    //   label: "票数",
-                    //   prop: "ticketNumber"
-                    // },
+                    {
+                        label: "箱皮重",
+                        prop: "tare",
+                        width: "140",
+                        overHidden: true,
+                    },
+                    {
+                        label: "VGM总重(KGM)",
+                        prop: "vgmWeight",
+                        width: "140",
+                        overHidden: true,
+                    },
                     {
                         label: "件数",
                         prop: "quantity",
@@ -298,13 +323,13 @@ export default {
                         span: 24,
                     },
                     {
-                        label: "MARKS",
-                        prop: "marks",
+                        label: "POD堆场",
+                        prop: "podStationCname",
+                        width: "140",
                     },
                     {
-                        label: "VGM总重(KGM)",
-                        prop: "vgmWeight",
-                        width: "140",
+                        label: "MARKS",
+                        prop: "marks",
                     },
                 ]
             },
@@ -334,6 +359,20 @@ export default {
     },
     created() { },
     methods: {
+        rowDicChange(name, row, el) {
+            if (name == 'podStationCname') {
+                if (row) {
+                    el.podStationId = row.id
+                    el.podStationCode = row.code
+                    el.podStationEname = row.enName
+                } else {
+                    el.podStationId = null
+                    el.podStationCode = null
+                    el.podStationEname = null
+                    el.podStationCname = null
+                }
+            }
+        },
         // 提取箱信息
         extractBoxInformation() {
             if (!this.assemblyForm.id) {

+ 1 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/DocumentCenter.vue

@@ -448,6 +448,7 @@ export default {
                 this.editData.groupCode = this.businesstypeData.groupCode
                 res.data.data.data.vgmDeadline = res.data.data.data.cyTrailerTime
                 res.data.data.data.vgmDeadline2 = res.data.data.data.cyReturnTime
+                res.data.data.data.hlclBoxenvoy=res.data.data.data.polFreeBoxUseDays
                 this.documentForm = res.data.data.data
                 // 联系人
                 this.documentForm.corpAttnName = this.documentForm.corpAttnName + '' + this.documentForm.corpAttnTel

+ 22 - 1
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -991,6 +991,12 @@ export default {
                         headerslot: true,
                     },
                     {
+                        label: "所属公司",
+                        prop: "branchName",
+                        width: 100,
+                        overHidden: true,
+                    },
+                    {
                         label: "账单",
                         prop: "accStatus",
                         width: "60",
@@ -1176,6 +1182,12 @@ export default {
                         headerslot: true,
                     },
                     {
+                        label: "所属公司",
+                        prop: "branchName",
+                        width: 100,
+                        overHidden: true,
+                    },
+                    {
                         label: "账单",
                         prop: "accStatus",
                         width: "60",
@@ -1888,7 +1900,8 @@ export default {
                 dc: dc,
                 status: 0,
                 type: 'HYCK',
-                shippingCompanyId: this.assemblyForm.carrierId
+                shippingCompanyId: this.assemblyForm.carrierId,
+                branchId:this.assemblyForm.branchId
             }).then(res => {
                 this.templateData = res.data.data.records
                 this.lefttemplate = res.data.data.records[0]
@@ -1941,6 +1954,8 @@ export default {
                     edit: true
                 }
                 if (this.assemblyForm.feeCenterListD.length != 0) {
+                    obj.branchId = this.assemblyForm.branchId
+                    obj.branchName = this.assemblyForm.branchName
                     // 结算单位
                     obj.corpId = this.assemblyForm.feeCenterListD[this.assemblyForm.feeCenterListD.length - 1].corpId
                     obj.corpCnName = this.assemblyForm.feeCenterListD[this.assemblyForm.feeCenterListD.length - 1].corpCnName
@@ -1976,6 +1991,8 @@ export default {
                     // obj.usdAmountNet = this.assemblyForm.feeCenterListD[this.assemblyForm.feeCenterListD.length - 1].usdAmountNet
                     this.assemblyForm.feeCenterListD.push(obj)
                 } else {
+                    obj.branchId = this.assemblyForm.branchId
+                    obj.branchName = this.assemblyForm.branchName
                     // 结算单位拿主表客户名称
                     obj.corpId = this.assemblyForm.corpId
                     obj.corpCnName = this.assemblyForm.corpCnName
@@ -2030,6 +2047,8 @@ export default {
                     edit: true
                 }
                 if (this.assemblyForm.feeCenterListC.length != 0) {
+                    obj.branchId = this.assemblyForm.branchId
+                    obj.branchName = this.assemblyForm.branchName
                     // 结算单位
                     obj.corpId = this.assemblyForm.feeCenterListC[this.assemblyForm.feeCenterListC.length - 1].corpId
                     obj.corpCnName = this.assemblyForm.feeCenterListC[this.assemblyForm.feeCenterListC.length - 1].corpCnName
@@ -2065,6 +2084,8 @@ export default {
                     // obj.usdAmountNet = this.assemblyForm.feeCenterListC[this.assemblyForm.feeCenterListC.length - 1].usdAmountNet
                     this.assemblyForm.feeCenterListC.push(obj)
                 } else {
+                    obj.branchId = this.assemblyForm.branchId
+                    obj.branchName = this.assemblyForm.branchName
                     // 结算单位拿主表客户名称
                     // obj.corpId = this.assemblyForm.corpId
                     // obj.corpCnName = this.assemblyForm.corpCnName.split(' - ')[0]

+ 0 - 2
src/views/iosBasicData/SeafreightExportF/bills/assembly/formbottom.vue

@@ -301,7 +301,6 @@
                                 label="dictValue" url="/blade-system/dict-biz/dictionary?code=boxBelongsTo"
                                 :filterable="true" :disabled="detailData.seeDisabled"></dic-select>
                         </div>
-
                     </el-form-item>
                 </el-col>
                 <el-col :span="6">
@@ -350,7 +349,6 @@
                                 style="width: 100%;" placeholder="请输入限制重量(吨)"
                                 :disabled="detailData.seeDisabled"></el-input>
                         </div>
-
                     </el-form-item>
                 </el-col>
                 <el-col :span="6">

+ 46 - 15
src/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/DispatchNotice.vue

@@ -103,17 +103,36 @@
                     </el-form-item>
                 </el-col>
             </el-row>
-            <el-form-item label="派车时间:" prop="corpCnName">
-                <!-- <el-date-picker v-model="documentForm.dispatchTime" clearable style="width: 100%" type="datetime"
+            <el-row>
+                <el-col :span="12">
+                    <el-form-item label="派车时间:" prop="corpCnName">
+                        <!-- <el-date-picker v-model="documentForm.dispatchTime" clearable style="width: 100%" type="datetime"
                     size="small" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择派车时间">
                 </el-date-picker> -->
-                <el-date-picker v-model="documentForm.dispatchTime" clearable style="width: 160px" type="date"
-                    size="small" value-format="yyyy-MM-dd" placeholder="请选择日期">
-                </el-date-picker>
-                <el-time-select v-model="documentForm.dispatchTime2" format="HH:mm" value-format="HH:mm" style="width: 140px"
-                    placeholder="请选择时间" :picker-options="{start: '00:00',step: '00:30',end: '23:30'}" size="small">
-                </el-time-select>
-            </el-form-item>
+                        <div style="display: flex;">
+                            <el-date-picker v-model="documentForm.dispatchTime" clearable style="width: 160px"
+                                type="date" size="small" value-format="yyyy-MM-dd" placeholder="请选择日期">
+                            </el-date-picker>
+                            <el-time-select v-model="documentForm.dispatchTime2" format="HH:mm" value-format="HH:mm"
+                                style="width: 140px" placeholder="请选择时间"
+                                :picker-options="{ start: '00:00', step: '00:30', end: '23:30' }" size="small">
+                            </el-time-select>
+                        </div>
+
+                    </el-form-item>
+                </el-col>
+
+                <el-col :span="12">
+                    <el-form-item label="集港码头:" prop="portTerminalCyCnName">
+                        <dic-select v-model="documentForm.portTerminalCyCnName" placeholder="集港码头" :key="updateFormKey2"
+                            label="cnName" res="records"
+                            url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=码头" :filterable="true"
+                            :remote="true" dataName="cnName" @selectChange="dicChange('portTerminalCyCnName', $event)"
+                            :slotRight="true" rightLabel="code"></dic-select>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+
             <el-form-item label="费用确认:" prop="corpCnName">
                 <el-input type="age" style="width: 100%;" v-model="documentForm.costConfirmation" size="small"
                     autocomplete="off" clearable placeholder="费用确认">
@@ -127,8 +146,8 @@
                 <el-date-picker v-model="documentForm.timeOn" clearable style="width: 160px" type="date" size="small"
                     value-format="yyyy-MM-dd" placeholder="请选择日期">
                 </el-date-picker>
-                <el-time-select v-model="documentForm.timeOn2" format="HH:mm" value-format="HH:mm" style="width:140px" placeholder="请选择时间"
-                                :picker-options="{start: '00:00',step: '00:30',end: '23:30'}" size="small">
+                <el-time-select v-model="documentForm.timeOn2" format="HH:mm" value-format="HH:mm" style="width:140px"
+                    placeholder="请选择时间" :picker-options="{ start: '00:00', step: '00:30', end: '23:30' }" size="small">
                 </el-time-select>
                 <span>前到达指定工厂,并于</span>
                 <!-- <el-date-picker v-model="documentForm.endTime" clearable style="width: 30%" type="datetime" size="small"
@@ -137,8 +156,8 @@
                 <el-date-picker v-model="documentForm.endTime" clearable style="width: 160px" type="date" size="small"
                     value-format="yyyy-MM-dd" placeholder="请选择日期">
                 </el-date-picker>
-                <el-time-select v-model="documentForm.endTime2" format="HH:mm" value-format="HH:mm" style="width: 140px" placeholder="请选择时间"
-                                :picker-options="{start: '00:00',step: '00:30',end: '23:30'}" size="small">
+                <el-time-select v-model="documentForm.endTime2" format="HH:mm" value-format="HH:mm" style="width: 140px"
+                    placeholder="请选择时间" :picker-options="{ start: '00:00', step: '00:30', end: '23:30' }" size="small">
                 </el-time-select>
                 <span>前回场站</span>
             </div>
@@ -153,9 +172,9 @@
 <script>
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import { getBcorpslistByType } from "@/api/iosBasicData/bcorps";
-
+import dicSelect from "@/components/dicSelect/main";
 export default {
-    components: { SearchQuery },
+    components: { SearchQuery, dicSelect },
     data() {
         return {
             cyData: [], // 场站
@@ -168,6 +187,18 @@ export default {
         }
     },
     methods: {
+        dicChange(name, row) {
+            if (name == 'portTerminalCyCnName') {
+                this.$set(this.documentForm, 'portTerminalCyId', row.id)
+                this.$set(this.documentForm, 'portTerminalCyCode', row.code)
+                this.$set(this.documentForm, 'portTerminalCyEnName', row.enName)
+            } else {
+                this.$set(this.documentForm, 'portTerminalCyId', null)
+                this.$set(this.documentForm, 'portTerminalCyCode', null)
+                this.$set(this.documentForm, 'portTerminalCyEnName', null)
+                this.$set(this.documentForm, 'portTerminalCyCnName', null)
+            }
+        },
         corpChange(value, name) {
             if (name == 'cy') {
                 if (!value) {

+ 2 - 0
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -2522,6 +2522,8 @@ export default {
             if (!this.roleName.includes('admin') && (this.roleName.includes('应付修改') || this.roleName.includes('应付查看')) && !(this.roleName.includes('应收修改') || this.roleName.includes('应收查看'))) {
                 res.data.data.feeCenterListD = []
             }
+            res.data.data.marks = res.data.data.marks ? res.data.data.marks.replace('&|&', "\n") : ''
+            res.data.data.commodityDescr = res.data.data.commodityDescr ? res.data.data.commodityDescr.replace('&|&', "\n") : ''
             this.$set(this, 'form', res.data.data)
             this.inLock()
             //   console.log('form', this.form)

+ 49 - 49
src/views/iosBasicData/costcenter/airlineProfit/index.vue

@@ -19,6 +19,8 @@
                         <template slot="menuLeft">
                             <el-button type="warning" size="small" @click="outExport">导 出
                             </el-button>
+                            <el-button type="danger" size="small" @click="swap(1)">反 转
+                            </el-button>
                         </template>
                     </avue-crud>
                 </el-tab-pane>
@@ -29,6 +31,10 @@
                         @current-change="currentChange2" @size-change="sizeChange2" @refresh-change="refreshChange2"
                         @resetColumn="resetColumn('crud2', 'option2', 'optionBack2', 468)"
                         @saveColumn="saveColumn('crud2', 'option2', 'optionBack2', 468)" @on-load="onLoad2">>
+                        <template slot="menuLeft">
+                            <el-button type="danger" size="small" @click="swap(2)">反 转
+                            </el-button>
+                        </template>
                     </avue-crud>
                 </el-tab-pane>
                 <el-tab-pane label="ow箱型箱量" name="third">
@@ -38,10 +44,19 @@
                         @current-change="currentChange3" @size-change="sizeChange3" @refresh-change="refreshChange3"
                         @resetColumn="resetColumn('crud3', 'option3', 'optionBack3', 469)"
                         @saveColumn="saveColumn('crud3', 'option3', 'optionBack3', 469)" @on-load="onLoad3">>
+                        <template slot="menuLeft">
+                            <el-button type="danger" size="small" @click="swap(3)">反 转
+                            </el-button>
+                        </template>
                     </avue-crud>
                 </el-tab-pane>
                 <el-tab-pane label="调箱" name="fourth">
-                    <avue-crud :data="data4" :option="option4"></avue-crud>
+                    <avue-crud :data="data4" :option="option4">
+                        <template slot="menuLeft">
+                            <el-button type="danger" size="small" @click="swap(4)">反 转
+                            </el-button>
+                        </template>
+                    </avue-crud>
                 </el-tab-pane>
             </el-tabs>
 
@@ -51,10 +66,10 @@
 
 <script>
 import { getList, remove } from "@/api/iosBasicData/costcenter/airlineProfit";
-import {  getList2 } from "@/api/boxManagement/boxPoolDynamics/index.js";
+import { getList2 } from "@/api/boxManagement/boxPoolDynamics/index.js";
 import { getWorkDicts } from "@/api/system/dictbiz";
 import { getToken } from "@/util/auth";
-import {dateFormat} from "@/util/date";
+import { dateFormat } from "@/util/date";
 import _ from "lodash";
 export default {
     data() {
@@ -87,7 +102,7 @@ export default {
                 height: 'auto',
                 calcHeight: 30,
                 menuWidth: 70,
-                menu:false,
+                menu: false,
                 tip: false,
                 searchShow: true,
                 searchMenuSpan: 12,
@@ -164,11 +179,9 @@ export default {
                     },
                     {
                         label: '起运港',
-                        prop: 'polId',
+                        prop: 'polName',
                         // width: 150,
                         overHidden: true,
-                        hide: true,
-                        showColumn: false,
                         search: true,
                         searchOrder: 5,
                         type: "select",
@@ -177,17 +190,11 @@ export default {
                         dicUrl: "/api/blade-los/bports/list?size=10&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
-                            value: "id",
+                            value: "cnName",
                             res: "data.records"
                         }
                     },
                     {
-                        label: '起运港',
-                        prop: 'polName',
-                        // width: 150,
-                        overHidden: true,
-                    },
-                    {
                         label: '起运港场站/堆场',
                         prop: 'polStationName',
                         // width: 150,
@@ -195,11 +202,9 @@ export default {
                     },
                     {
                         label: '目的港',
-                        prop: 'podId',
+                        prop: 'podName',
                         // width: 150,
                         overHidden: true,
-                        hide: true,
-                        showColumn: false,
                         search: true,
                         searchOrder: 6,
                         type: "select",
@@ -208,17 +213,11 @@ export default {
                         dicUrl: "/api/blade-los/bports/list?size=20&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
-                            value: "id",
+                            value: "cnName",
                             res: "data.records"
                         }
                     },
                     {
-                        label: '目的港',
-                        prop: 'podName',
-                        // width: 150,
-                        overHidden: true,
-                    },
-                    {
                         label: '目的运港场站/堆场',
                         prop: 'podStationName',
                         // width: 150,
@@ -273,7 +272,7 @@ export default {
                 height: 'auto',
                 calcHeight: 30,
                 menuWidth: 70,
-                menu:false,
+                menu: false,
                 tip: false,
                 searchShow: true,
                 searchMenuSpan: 12,
@@ -350,11 +349,9 @@ export default {
                     },
                     {
                         label: '起运港',
-                        prop: 'polId',
+                        prop: 'polName',
                         // width: 150,
                         overHidden: true,
-                        hide: true,
-                        showColumn: false,
                         search: true,
                         searchOrder: 5,
                         type: "select",
@@ -363,17 +360,11 @@ export default {
                         dicUrl: "/api/blade-los/bports/list?size=10&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
-                            value: "id",
+                            value: "cnName",
                             res: "data.records"
                         }
                     },
                     {
-                        label: '起运港',
-                        prop: 'polName',
-                        // width: 150,
-                        overHidden: true,
-                    },
-                    {
                         label: '起运港场站/堆场',
                         prop: 'polStationName',
                         // width: 150,
@@ -381,11 +372,9 @@ export default {
                     },
                     {
                         label: '目的港',
-                        prop: 'podId',
+                        prop: 'podName',
                         // width: 150,
                         overHidden: true,
-                        hide: true,
-                        showColumn: false,
                         search: true,
                         searchOrder: 6,
                         type: "select",
@@ -394,17 +383,11 @@ export default {
                         dicUrl: "/api/blade-los/bports/list?size=20&current=1&cnName={{key}}",
                         props: {
                             label: "cnName",
-                            value: "id",
+                            value: "cnName",
                             res: "data.records"
                         }
                     },
                     {
-                        label: '目的港',
-                        prop: 'podName',
-                        // width: 150,
-                        overHidden: true,
-                    },
-                    {
                         label: '目的运港场站/堆场',
                         prop: 'podStationName',
                         // width: 150,
@@ -513,7 +496,7 @@ export default {
             form: {},
             query: {
                 sort: 0,
-                effectiveStartDate:dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00"
+                effectiveStartDate: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00"
             },
             loading: false,
             page: {
@@ -645,7 +628,7 @@ export default {
                         type: "date",
                         format: "yyyy-MM-dd",
                         valueFormat: "yyyy-MM-dd 00:00:00",
-                        searchValue:dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00",
+                        searchValue: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00",
                     },
                     {
                         label: "有效期止",
@@ -780,6 +763,23 @@ export default {
         }, 100);
     },
     methods: {
+        swap(type) {
+            if (type == 1) {
+                let obj = this.deepClone(this.query)
+                this.query.podCname = obj.destinationCname
+                this.query.destinationCname = obj.podCname
+            }
+            if (type == 2) {
+                let obj2 = this.deepClone(this.query2)
+                this.query2.polName = obj2.podName
+                this.query2.podName = obj2.polName
+            }
+            if (type == 3) {
+                let obj3 = this.deepClone(this.query3)
+                this.query3.polName = obj3.podName
+                this.query3.podName = obj3.polName
+            }
+        },
         handleClick() {
 
         },
@@ -878,7 +878,7 @@ export default {
             obj = {
                 ...Object.assign(params, this.query2),
             }
-            obj.busType='自有箱,代理箱'
+            obj.busType = '自有箱,代理箱'
             this.loading2 = true;
             getList2(page.currentPage, page.pageSize, obj).then(res => {
                 this.data2 = res.data.data.records;
@@ -915,7 +915,7 @@ export default {
             obj = {
                 ...Object.assign(params, this.query3),
             }
-            obj.busType='OW(拿)'
+            obj.busType = 'OW(拿)'
             this.loading3 = true;
             getList2(page.currentPage, page.pageSize, obj).then(res => {
                 this.data3 = res.data.data.records;

+ 2 - 0
src/views/iosBasicData/costcenter/coc/detailsPage.vue

@@ -1176,6 +1176,7 @@ export default {
                 ]
             },
             roleName: [],
+            saberUserInfo:null
         }
     },
     components: {
@@ -1188,6 +1189,7 @@ export default {
         detailData: Object
     },
     async created() {
+        this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
         this.roleName = localStorage.getItem('roleName').split(',')
         this.option = await this.getColumnData(this.getColumnName(452), this.optionBack);
         this.polOption = await this.getColumnData(this.getColumnName(453), this.polOptionBack);

+ 4 - 2
src/views/iosBasicData/costcenter/soc/detailsPage.vue

@@ -1772,7 +1772,8 @@ export default {
                     }
                 ]
             },
-            roleName: []
+            roleName: [],
+            saberUserInfo:null
         }
     },
     components: {
@@ -1785,6 +1786,7 @@ export default {
         detailData: Object
     },
     async created() {
+        this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
         this.roleName = localStorage.getItem('roleName').split(',')
         this.option = await this.getColumnData(this.getColumnName(447), this.optionBack);
         this.option2 = await this.getColumnData(this.getColumnName(458), this.optionBack2);
@@ -2024,7 +2026,7 @@ export default {
                 }
                 if (row) {
                     this.form.airlineId = row.ids
-                    this.form.airlineCname =row.names
+                    this.form.airlineCname = row.names
                     this.form.airlineCode = codes.join(',')
                     this.form.airlineEname = enNames.join(',')
                 } else {

+ 49 - 9
src/views/iosBasicData/losbfeestemplate/feesTemplateItems.vue

@@ -22,17 +22,18 @@
             <basic-container>
                 <avue-form :option="basicData" v-model="form" ref="form">
                     <tempalte slot="shippingCompanyCname">
-                        <!-- <dic-select v-model="form.shippingCompanyCname" placeholder="船公司" key="id" label="cnName"
-                            url="/blade-los/bcorps/listAll?status=0&corpTypeName=船公司" :filterable="true"
-                            :multiple="true" :collapseTags="true" :remote="true" dataName="cnName"
-                            @selectChange="dicChange('shippingCompanyCname', $event)" :multipleStrings="true"
-                            :disabled="basicData.disabled"></dic-select> -->
                         <dic-select v-model="form.shippingCompanyCname" placeholder="港口" key="id" label="cnName"
                             url="/blade-los/bcorps/listAll?status=0&corpTypeName=船公司" :filterable="true"
                             dataName="cnName" :multiple="true" :collapseTags="true" dataType="string"
                             :disabled="basicData.disabled" @selectChange="dicChange('shippingCompanyCname', $event)"
                             :multipleStrings="true"></dic-select>
                     </tempalte>
+                    <tempalte slot="branchName">
+                        <dic-select v-model="form.branchName" placeholder="所属公司" key="id" label="deptName"
+                            url="/blade-system/dept/top-list" :filterable="true" dataName="deptName" :multiple="true"
+                            :collapseTags="true" dataType="string" :disabled="basicData.disabled"
+                            @selectChange="dicChange('branchName', $event)" :multipleStrings="true"></dic-select>
+                    </tempalte>
                     <tempalte slot="addressCname">
                         <dic-select v-model="form.addressCname" placeholder="" key="id" label="cnName" res="records"
                             url="/blade-los/bports/list" :filterable="true" :remote="true" dataName="cnName"
@@ -80,12 +81,13 @@
                     </template>
                     <template slot="quantityRuleForm" slot-scope="{row,index}">
                         <dic-select v-if="row.$cellEdit" v-model="row.quantityRule" key="id" label="dictValue"
-                            url="/blade-system/dict-biz/dictionary?code=number_rule" :filterable="true"></dic-select>
+                            url="/blade-system/dict-biz/dictionary?code=number_rule" :filterable="true"
+                            @selectChange="rowDicChange('quantityRule', $event, row)"></dic-select>
                         <span v-else>{{ row.quantityRule }}</span>
                     </template>
                     <template slot="unitNoForm" slot-scope="{row,index}">
                         <dic-select v-if="row.$cellEdit" v-model="row.unitNo" key="id" label="cnName"
-                            url="/blade-los//bunits/listAll" :filterable="true"
+                            url="/blade-los/bunits/listAll" :filterable="true"
                             @selectChange="rowDicChange('unitNo', $event, row)"></dic-select>
                         <span v-else>{{ row.unitNo }}</span>
                     </template>
@@ -167,7 +169,7 @@
 </template>
 
 <script>
-import { losbfeestemplateDetail, losbfeestemplateSubmit, copytemplateDetail, itemRemove, remove } from "@/api/iosBasicData/losbfeestemplate";
+import { losbfeestemplateDetail, losbfeestemplateSubmit, copytemplateDetail, itemRemove, remove, getListAll } from "@/api/iosBasicData/losbfeestemplate";
 import { bfeesList } from "@/api/iosBasicData/bfees";
 import { getBcorpsList } from "@/api/iosBasicData/bcorps";
 import { getRateList } from "@/api/iosBasicData/rateManagement";
@@ -190,6 +192,7 @@ export default {
 
     data() {
         return {
+            unitNoListAll: [],
             sonOption: {
                 calcHeight: 30,
                 // tip: false,
@@ -328,6 +331,16 @@ export default {
                         }]
                     },
                     {
+                        label: "所属公司",
+                        prop: "branchName",
+                        disabled: false,
+                        rules: [{
+                            required: true,
+                            message: "请选择所属公司",
+                            trigger: "blur"
+                        }]
+                    },
+                    {
                         label: "POL",
                         prop: "addressCname",
                         disabled: false,
@@ -692,6 +705,9 @@ export default {
         this.getRateListfun()
         this.getBunitsListfun()
         this.getcorpTypeData()
+        getListAll().then(res => {
+            this.unitNoListAll = res.data.data
+        })
         if (this.detailData.id) {
             this.basicData.disabled = true
             this.losbfeestemplateDetailfun(this.detailData.id)
@@ -752,6 +768,21 @@ export default {
                     el.corpType = null
                 }
             }
+            // if (name == 'quantityRule') {
+            //     if (row) {
+            //         console.log(row,)
+            //         for (let item of this.unitNoListAll) {
+            //             if (item.cnName == '箱量') {
+            //                 el.unitId = item.id
+            //                 el.unitNo = item.cnName
+            //             }
+            //         }
+
+            //     } else {
+            //         el.unitId = null
+            //         el.unitNo = null
+            //     }
+            // }
         },
         dicChange(name, row) {
             if (name == 'shippingCompanyCname') {
@@ -781,6 +812,15 @@ export default {
                     this.form.addressCname = null
                 }
             }
+            if (name == 'branchName') {
+                if (row) {
+                    this.form.branchId = row.ids
+                    this.form.branchName = row.names
+                } else {
+                    this.form.branchId = null
+                    this.form.branchName = null
+                }
+            }
         },
         addRow() {
             this.feestemplateForm.sonItemsList.push({
@@ -1061,7 +1101,7 @@ export default {
                 price: 1,
                 quantityRule: '按箱型',
                 curCode: 'CNY',
-                unitNo: '20GP',
+                unitNo: '箱量',
                 sonItemsList: [],
                 $cellEdit: true
             })

+ 1 - 0
src/views/iosBasicData/seamends/assembly/billgenerated.vue

@@ -17,6 +17,7 @@
                     <span>{{Number(scope.$index) + 1}}</span>
                 </template>
             </el-table-column>
+            <el-table-column label="所属公司" prop="branchName" width="120px" />
             <el-table-column label="账单" prop="accStatus" width="60px" >
                 <template slot-scope="{ row }">
                     <span>{{row.accStatus?'是':'否'}}</span>

+ 5 - 3
src/views/iosBasicData/siamends/assembly/billgenerated.vue

@@ -1,14 +1,16 @@
 <template>
     <div>
-        <el-table ref="tableRef" :cell-style="{ padding: '0px', fontSize: '12px' }" :header-cell-style="tableHeaderCellStyle"
-            :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange" @row-click="rowClick"
-            :row-style="rowStyle" :row-class-name="rowClassName">
+        <el-table ref="tableRef" :cell-style="{ padding: '0px', fontSize: '12px' }"
+            :header-cell-style="tableHeaderCellStyle" :data="tableData" border style="width: 100%"
+            @selection-change="handleSelectionChange" @row-click="rowClick" :row-style="rowStyle"
+            :row-class-name="rowClassName">
             <el-table-column type="selection" width="55" />
             <el-table-column prop="sort" label="行号" width="50px">
                 <template slot-scope="scope">
                     <span>{{ Number(scope.$index) + 1 }}</span>
                 </template>
             </el-table-column>
+            <el-table-column label="所属公司" prop="branchName" width="120px" />
             <el-table-column label="账单" prop="accStatus" width="60px">
                 <template slot-scope="{ row }">
                     <span>{{ row.accStatus ? '是' : '否' }}</span>