Explorar o código

货代bug 2023-12-29

caojunjie hai 1 ano
pai
achega
32c393ec59

+ 15 - 0
src/router/views/index.js

@@ -2953,5 +2953,20 @@ export default [{
       component: () => import( /* webpackChunkName: "views" */ '@/views/iosBasicData/accounts/index')
     }]
   },
+  // 结算中心(F)
+  {
+    path: '/iosBasicData/ComputationCenter/index',
+    component: Layout,
+    hidden: true,
+    children: [{
+      path: '/iosBasicData/ComputationCenter/index',
+      name: '结算中心(F)',
+      meta: {
+        i18n: '/iosBasicData/ComputationCenter/index',
+        keepAlive: true,
+      },
+      component: () => import( /* webpackChunkName: "views" */ '@/views/iosBasicData/ComputationCenter/index')
+    }]
+  },
 
 ]

+ 2 - 2
src/views/approveDataH/index.vue

@@ -75,8 +75,8 @@
               <reportformsList ref="reportformsList" @reportRadio="reportRadio"></reportformsList>
           </div>
           <span slot="footer" class="dialog-footer">
-                <el-button size="small" @click="selectPrintingDialog = false;">取 消</el-button>
-            </span>
+              <el-button size="small" @click="selectPrintingDialog = false;">取 消</el-button>
+          </span>
       </el-dialog>
 
   </basic-container>

+ 123 - 48
src/views/iosBasicData/ComputationCenter/index.vue

@@ -37,13 +37,20 @@
                        @on-load="onLoad"
                        @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 324)"
                        @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 324)" >
-                <template slot="menuLeft" slot-scope="{row}">
-
+                <template slot="menuLeft" >
+                    <el-button v-if="tabsValue == 'C' || tabsValue == 'D'"
+                               type="primary" size="small" plain
+                               @click="chooseSettlement()">选择结算
+                    </el-button>
+                    <el-button v-if="tabsValue == '业务单据'"
+                               type="danger" size="small" plain
+                               @click="handleDelete()">批量删除
+                    </el-button>
                 </template>
                 <template slot="menu" slot-scope="{row}">
                     <el-button v-if="tabsValue == 'C' || tabsValue == 'D'" type="text" size="small" @click="settlementfun(row)" >结算</el-button>
                     <el-button type="text" size="small" @click="editfun(row)" >编辑</el-button>
-                    <el-button v-if="tabsValue == '业务单据'" type="text" size="small" >删除</el-button>
+                    <el-button v-if="tabsValue == '业务单据'" type="text" size="small" @click="rowDel(row)" >删除</el-button>
                 </template>
             </avue-crud>
         </basic-container>
@@ -54,7 +61,7 @@
 
 <script>
 import {fininvoicesList, generateFinStlBills} from "@/api/iosBasicData/fininvoices";
-    import {finstlbillsList} from "@/api/iosBasicData/finstlbills";
+import {finstlbillsList, finstlbillsRemove} from "@/api/iosBasicData/finstlbills";
 import finstlbillsDetails from "@/views/iosBasicData/CollectionSettlement/finstlbillsDetails.vue";
 import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlementDetails.vue";
 
@@ -62,6 +69,7 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
         components: {settlementDetails},
         data() {
             return {
+                selectionList:[], // 多选的数据
                 isShow:true,
                 editSave:false, // 详情是否禁用
                 tabsValue:'C', // tabs切换
@@ -89,7 +97,7 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
                     selection: true,
                     dialogClickModal: false,
                     searchIcon: true,
-                    searchIndex: 2,
+                    searchIndex: 3,
                     stripe:true,
                     addBtn:false,
                     viewBtn:false,
@@ -98,15 +106,8 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
                     menuWidth:'auto',
                     column: [
                         {
-                            label: "行号",
-                            prop: "billNo",
-                            search:true,
-                            overHidden:true,
-                        },
-                        {
                             label: "业务类型",
                             prop: "businessTypes",
-                            search:true,
                             overHidden:true,
                         },
                         {
@@ -122,39 +123,53 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
                             overHidden:true,
                         },
                         {
+                            label: "发票抬头",
+                            prop: "invCorpCnName",
+                            hide:true,
+                            overHidden:true,
+                        },
+                        {
                             label: "申请人",
-                            prop: "billNo",
-                            search:true,
+                            prop: "createUserName",
                             overHidden:true,
                         },
                         {
-                            label: "申请日期",
-                            prop: "billNo",
+                            label: "单据日期",
+                            prop: "billDate",
                             search:true,
                             overHidden:true,
+                            searchProp: 'billDateList',
+                            type: "daterange",
+                            searchRange: true,
+                            searchDefaultTime: ["00:00:00", "23:59:59"],
+                            format: "yyyy-MM-dd",
+                            valueFormat: "yyyy-MM-dd HH:mm:ss"
+                        },
+                        {
+                            label: "提交日期",
+                            prop: "auditDateFrom",
+                            width: "140",
+                            overHidden:true,
                         },
                         {
                             label: "审核日期",
-                            prop: "billNo",
-                            search:true,
+                            prop: "auditDateTo",
+                            width: "140",
                             overHidden:true,
                         },
                         {
                             label: "CNY",
-                            prop: "billNo",
-                            search:true,
+                            prop: "amountSub",
                             overHidden:true,
                         },
                         {
                             label: "USD",
-                            prop: "billNo",
-                            search:true,
+                            prop: "amountSubUsd",
                             overHidden:true,
                         },
                         {
                             label: "备注",
                             prop: "billNo",
-                            search:true,
                             overHidden:true,
                         },
                     ]
@@ -165,6 +180,26 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
             this.option = await this.getColumnData(this.getColumnName(324), this.optionBack);
         },
         methods:{
+            // 选择结算
+            chooseSettlement(){
+                if (this.selectionList.length === 0) {
+                    this.$message.warning("请选择至少一条数据");
+                    return;
+                }
+                this.$confirm("确定将选择数据结算?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(()=>{
+                    let arrId =  this.selectionList.map(item=>{
+                        return item.id
+                    })
+                    this.isShow = false
+                    this.$nextTick(()=>{
+                        this.$refs.settlementDetailsRef.generateFinStlBillsfun(arrId.join(','),this.tabsValue)
+                    })
+                })
+            },
             // 结算
             settlementfun(row){
                 this.isShow = false
@@ -196,6 +231,14 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
             },
             // tabs 切换
             handleClick(){
+                if (this.tabsValue == 'D') {
+                    this.findObject(this.option.column, "invCorpCnName").hide = false
+                }else {
+                    this.findObject(this.option.column, "invCorpCnName").hide = true
+                }
+                this.query = {};
+                this.page.currentPage = 1
+                this.selectionList = []
                 this.onLoad(this.page)
             },
              // 刷新回调
@@ -206,25 +249,70 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
             // 分页回调
             currentChange(currentPage){
                 console.log(currentPage,'分页回调')
+                this.page.currentPage = currentPage;
             },
             sizeChange(pageSize){
                 console.log(pageSize,'分条回调')
+                this.page.pageSize = pageSize;
             },
             // 多选回调
             selectionChange(list){
                 console.log(list,'多选回调')
+                this.selectionList = list;
             },
             // 清空回调
             searchReset(){
                 console.log('清空回调')
+                this.query = {};
+                this.onLoad(this.page);
             },
             // 搜索回调
             searchChange(params, done){
                 console.log(params,'搜索回调')
+                this.query = params;
+                this.page.currentPage = 1;
+                this.onLoad(this.page, params);
+                done();
+            },
+            // 批量删除
+            handleDelete(){
+                if (this.selectionList.length === 0) {
+                    this.$message.warning("请选择至少一条数据");
+                    return;
+                }
+                this.$confirm("确定将选择数据删除?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(()=>{
+                    let arrId = this.selectionList.map(item=>{
+                        return item.id
+                    })
+                    finstlbillsRemove(arrId.join(',')).then(res=>{
+                        this.onLoad(this.page);
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                    })
+                })
             },
             // 行删除回调
             rowDel(row){
                 console.log('行删除回调')
+                this.$confirm("确定将选择数据删除?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(() => {
+                    finstlbillsRemove(row.id).then(res => {
+                        this.onLoad(this.page);
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                    })
+                })
             },
             // 新增弹窗确认回调
             rowSave(row, done, loading){
@@ -242,58 +330,42 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
                 done();
             },
             // 列表获取数据
-            onLoad(page, params = {}) {
+            async onLoad(page, params = {}) {
                 this.loading = true;
+                let res = {}
                 if (this.tabsValue == 'C') {
                     // 调用 付费申请数据
-                    finstlbillsList(page.currentPage, page.pageSize,{
+                    res = await finstlbillsList(page.currentPage, page.pageSize,{
                         ...Object.assign(params, this.query),
                         businessType:'FFSQ',
                         status:3,
                         billStatus:0,
-                    }).then(res=>{
-                        console.log(res,212)
-                        const data = res.data.data;
-                        this.page.total = data.total;
-                        this.data = data.records;
                     })
                 }else if (this.tabsValue == 'D') {
                     // 调用 销项发票业务数据
-                    fininvoicesList(page.currentPage, page.pageSize,{
+                    res = await fininvoicesList(page.currentPage, page.pageSize,{
                         ...Object.assign(params, this.query),
                         type:'销项',
                         status:3,
-                    }).then(res=>{
-                        console.log(res,219)
-                        const data = res.data.data;
-                        this.page.total = data.total;
-                        this.data = data.records;
                     })
                 }else if (this.tabsValue == '业务单据') {
                     // 应收应付 业务数据
-                    finstlbillsList(page.currentPage, page.pageSize, {
+                    res = await finstlbillsList(page.currentPage, page.pageSize, {
                         ...Object.assign(params, this.query),
                         businessType:'STL',
                         status:0,
-                    },).then(res=>{
-                        console.log(res,234)
-                        const data = res.data.data;
-                        this.page.total = data.total;
-                        this.data = data.records;
                     })
                 }else {
                     // 应收应付 业务数据 已完成
-                    finstlbillsList(page.currentPage, page.pageSize, {
+                    res = await finstlbillsList(page.currentPage, page.pageSize, {
                         ...Object.assign(params, this.query),
                         businessType:'STL',
                         status:3,
-                    },).then(res=>{
-                        console.log(res,283)
-                        const data = res.data.data;
-                        this.page.total = data.total;
-                        this.data = data.records;
                     })
                 }
+                const data = res.data.data;
+                this.page.total = data.total;
+                this.data = data.records;
                 this.loading = false;
             },
             //自定义列保存
@@ -347,4 +419,7 @@ import settlementDetails from "@/views/iosBasicData/ComputationCenter/settlement
     background: #ecf5ff !important;
     text-align: center;
 }
+/deep/ .el-col-md-8 {
+    width: 24.33333%;
+}
 </style>

+ 7 - 0
src/views/iosBasicData/PaymentApplication/index.vue

@@ -50,6 +50,9 @@
                              @click="rowDel(row)">删除
                   </el-button>
               </template>
+              <template slot="billNo" slot-scope="{row}">
+                  <span class="pointerClick" @click="editFun(row)" >{{row.billNo}}</span>
+              </template>
 
           </avue-crud>
       </basic-container>
@@ -604,4 +607,8 @@
 /deep/ .el-col-md-8 {
     width: 24.33333%;
 }
+.pointerClick {
+    cursor:pointer;
+    color: #1e9fff;
+}
 </style>

+ 7 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -1053,6 +1053,13 @@ import {NdayDate} from "@/util/date";
                             if (name == 'pol') {
                                 this.$set(this.assemblyForm,'issueAt',this.assemblyForm.polCnName)
                             }
+                            // 选择卸货港带出目的地
+                            if(name == 'pod') {
+                                this.$set(this.assemblyForm,'destinationId',item.id)
+                                this.$set(this.assemblyForm,'destinationName',item.enName)
+                                this.$set(this.assemblyForm,'destinationCode',item.code)
+                                this.$set(this.assemblyForm,'destinationNamePrint',item.enName)
+                            }
                         }
                     }
                 }

+ 21 - 5
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -148,7 +148,7 @@
                                   @corpChange="corpChange($event,'paymode',row)"
                                   @corpFocus="paymodeWorkDictsfun" >
                     </search-query>
-                    <span v-else>{{paymodefun(row.paymode)}}</span>
+                    <span v-else>{{row.paymode}}</span>
                 </template>
                 <template slot="unitNo" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -306,7 +306,7 @@
                                   @corpChange="corpChange($event,'paymode',row)"
                                   @corpFocus="paymodeWorkDictsfun" >
                     </search-query>
-                    <span v-else>{{paymodefun(row.paymode)}}</span>
+                    <span v-else>{{row.paymode}}</span>
                 </template>
                 <template slot="unitNo" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -1081,12 +1081,15 @@
             printingCostsfun(dc){
                 this.printingDC = dc
                 let groupCode = ''
+                let selectionArr = []
                 if (dc == 'D') {
                     groupCode = '应收'
+                    selectionArr = this.selectionDList
                 }else {
                     groupCode = '应付'
+                    selectionArr = this.selectionCList
                 }
-                if(this.selectionDList.length > 0) {
+                if(selectionArr.length > 0) {
                     // 打开选择弹窗
                     this.selectPrintingDialog = true
                     let page = {
@@ -1208,6 +1211,16 @@
             },
             // 模板
             templateClick(dc){
+                if (popupReminder(this.assemblyForm,this.messageData)){
+                    this.$confirm(popupReminder(this.assemblyForm,this.messageData), {
+                        confirmButtonText: "确定",
+                        cancelButtonText: "取消",
+                        type: "warning"
+                    })
+                }
+                if (popupReminder(this.assemblyForm,this.messageData)) {
+                    return;
+                }
                 this.templateVisible = true
                 losbfeestemplateGetListTemplate(1,50,{
                     dc:dc,
@@ -1279,7 +1292,11 @@
                     // 币种
                     obj.curCode = this.assemblyForm.feeCenterListD[this.assemblyForm.feeCenterListD.length - 1].curCode
                     obj.taxRate = this.assemblyForm.feeCenterListD[this.assemblyForm.feeCenterListD.length - 1].taxRate
-
+                }else {
+                    // 往来单位
+                    obj.corpId = this.assemblyForm.corpId
+                    obj.corpCnName = this.assemblyForm.corpCnName
+                    obj.corpEnName = this.assemblyForm.corpEnName
                 }
                 this.assemblyForm.feeCenterListD.unshift(obj)
             },
@@ -1332,7 +1349,6 @@
                     // 币种
                     obj.curCode = this.assemblyForm.feeCenterListC[this.assemblyForm.feeCenterListC.length - 1].curCode
                     obj.taxRate = this.assemblyForm.feeCenterListC[this.assemblyForm.feeCenterListC.length - 1].taxRate
-
                 }
                 this.assemblyForm.feeCenterListC.push(obj)
             },

+ 75 - 1
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -303,6 +303,7 @@ import checkSchedule from "@/components/checkH/checkSchedule.vue";
 import {getBvesselsList} from "@/api/iosBasicData/bvessels";
 import DocumentCenter from "@/views/iosBasicData/SeafreightExportF/bills/assembly/DocumentCenter.vue";
 import businessReports from "@/views/iosBasicData/SeafreightExportF/bills/assembly/businessReports.vue";
+import {popupReminder} from "@/util/messageReminder";
     export default {
         components:{
             checkSchedule,
@@ -586,6 +587,62 @@ import businessReports from "@/views/iosBasicData/SeafreightExportF/bills/assemb
                 activeName:'first',
                 bigtabs:'wt',
                 saberUserInfo:{}, // 当前登录人信息
+                // 需要加判断是否必填的数据
+                messageData:[
+                    {
+                        name:'客户',
+                        value:'corpCnName',
+                    },
+                    {
+                        name:'业务来源',
+                        value:'srcType',
+                    },
+                    {
+                        name:'MBLNO',
+                        value:'mblno',
+                    },
+                    {
+                        name:'booking NO',
+                        value:'bookingNo',
+                    },
+                    {
+                        name:'外提单号',
+                        value:'refno',
+                    },
+                    {
+                        name:'船名(VSL)',
+                        value:'vesselCnName',
+                    },
+                    {
+                        name:'航次(VOY)',
+                        value:'voyageNo',
+                    },
+                    {
+                        name:'ETD',
+                        value:'etd',
+                    },
+                    {
+                        name:'装货港',
+                        value:'polCnName',
+                    },
+                    {
+                        name:'目的港',
+                        value:'destinationNamePrint',
+                    },
+                    {
+                        name:'包装单位',
+                        value:'packingUnit',
+                    },
+                    {
+                        name:'船公司',
+                        value:'carrierCnName',
+                    },
+                    {
+                        name:'场站',
+                        value:'cyCnName',
+                    },
+                ],
+
             }
         },
         watch:{
@@ -893,8 +950,15 @@ import businessReports from "@/views/iosBasicData/SeafreightExportF/bills/assemb
                             this.columnforfun('srcType').disabled = false
                             this.columnforfun('srcCnName').disabled = false
                             // 航线带出往来单位的优势航线
-                            console.log(item,894)
                             this.$set(this.form,'lineCnName',item.advantageRoute)
+                            // 带出发货人数据
+                            this.$set(this.form,'hshipperId',item.id)
+                            this.$set(this.form,'hshipperCnName',item.cnName)
+                            this.$set(this.form,'hshipperEnName',item.enName)
+                            this.$set(this.form,'hshipperCode',item.code)
+                            this.$set(this.form,'hshipperDetails',item.details)
+                            this.$set(this.form,'hshipperCntyName',item.cntyName)
+                            this.$set(this.form,'hshipperCntyCode',item.cntyCode)
                         }
                     }
                 }
@@ -1056,6 +1120,16 @@ import businessReports from "@/views/iosBasicData/SeafreightExportF/bills/assemb
                     this.$message.warning('分单不能提交请核')
                     return
                 }
+                if (popupReminder(this.form,this.messageData)){
+                    this.$confirm(popupReminder(this.form,this.messageData), {
+                        confirmButtonText: "确定",
+                        cancelButtonText: "取消",
+                        type: "warning"
+                    })
+                }
+                if (popupReminder(this.form,this.messageData)) {
+                    return;
+                }
                 this.$confirm("确定要请核数据?", {
                     confirmButtonText: "确定",
                     cancelButtonText: "取消",

+ 7 - 0
src/views/iosBasicData/fininvoicesApplyfor/index.vue

@@ -50,6 +50,9 @@
               <template slot-scope="scope" slot="stlMode">
                   <span>{{scope.row.stlMode?'月结':'票结'}}</span>
               </template>
+              <template slot-scope="{ row }" slot="billNo">
+                  <span class="pointerClick" @click="editFun(row)" >{{row.billNo}}</span>
+              </template>
           </avue-crud>
       </basic-container>
       <fininvoicesDetails ref="fininvoicesDetails" :editSave="editSave" v-if="!isShow" @goBack="goBack"></fininvoicesDetails>
@@ -751,4 +754,8 @@ import fininvoicesDetails from "@/views/iosBasicData/fininvoicesApplyfor/fininvo
     background: #ecf5ff !important;
     text-align: center;
 }
+.pointerClick {
+    cursor:pointer;
+    color: #1e9fff;
+}
 </style>

+ 7 - 1
src/views/iosBasicData/fininvoicesOutput/index.vue

@@ -80,6 +80,9 @@
                              @click="rowDel(row)">删除
                   </el-button>
               </template>
+              <template slot-scope="{ row }" slot="billNo">
+                  <span class="pointerClick" @click="editFun(row)" >{{row.billNo}}</span>
+              </template>
           </avue-crud>
       </basic-container>
       <fininvoicesDetails ref="fininvoicesDetails" :editSave="editSave" v-if="!isShow" @goBack="goBack"></fininvoicesDetails>
@@ -937,8 +940,11 @@ import {getRateList} from "@/api/iosBasicData/rateManagement";
     background: #ecf5ff !important;
     text-align: center;
 }
-
 /deep/ .el-col-md-8 {
     width: 24.33333%;
 }
+.pointerClick {
+    cursor:pointer;
+    color: #1e9fff;
+}
 </style>

+ 7 - 1
src/views/iosBasicData/finstlbills/index.vue

@@ -50,7 +50,9 @@
                              @click="rowDel(row)">删除
                   </el-button>
               </template>
-
+              <template slot-scope="{ row }" slot="billNo">
+                  <span class="pointerClick" @click="editFun(row)" >{{row.billNo}}</span>
+              </template>
           </avue-crud>
       </basic-container>
 
@@ -670,4 +672,8 @@
     background: #ecf5ff !important;
     text-align: center;
 }
+.pointerClick {
+    cursor:pointer;
+    color: #1e9fff;
+}
 </style>