Browse Source

货代bug 2024-1-25

caojunjie 1 year ago
parent
commit
b2307574ca

+ 110 - 4
src/views/iosBasicData/ComputationCenter/settlementDetails.vue

@@ -214,7 +214,7 @@
                                     <!--</el-button>-->
                                     <el-checkbox v-model="appendType" :disabled="settlementdistar || editSave" false-label="检索" true-label="追加">追加</el-checkbox>
                                     <el-button  size="small" type="primary"  style="margin-right: 8px" :disabled="settlementdistar || editSave"
-                                                :loading="saveLoading" @click="finstlbillslistAccBillV1fun(appendType)" >检 索
+                                                :loading="saveLoading" @click="retrievalfun" >检 索
                                     </el-button>
                                 </div>
                             </el-col>
@@ -294,6 +294,31 @@
             </el-row>
         </el-card>
 
+        <!--选择数据弹窗-->
+        <el-dialog
+            title="选择数据"
+            class="el-dialogDeep"
+            :visible.sync="retrievePopupsType"
+            append-to-body
+            width="70%"
+            :close-on-click-modal="false">
+            <div>
+                <avue-crud
+                    :option="retrievePopupsOption"
+                    :data="retrievePopupsData"
+                    ref="retrievePopupsRef"
+                    id="out-table">
+                    <template slot="menu" slot-scope="{ row }">
+                        <el-button
+                            type="text"
+                            size="small"
+                            @click.stop="retrievePopupsSelect(row)"
+                        >选择
+                        </el-button>
+                    </template>
+                </avue-crud>
+            </div>
+        </el-dialog>
 
         <!--设计报表弹窗-->
         <el-dialog append-to-body title="设计报表" class="el-dialogDeep" :visible.sync="DesignreportDialog" width="70%"
@@ -319,7 +344,6 @@
             </span>
         </el-dialog>
 
-
         <!--报表组件-->
         <reportContainer ref="reportContainer"></reportContainer>
     </div>
@@ -330,9 +354,14 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import {getRateList} from "@/api/iosBasicData/rateManagement";
 import {bcorpsbankList, getBcorpslistByType} from "@/api/iosBasicData/bcorps";
 import {
-    finstlbillsDetail, finstlbillsitemsRemove,
+    finstlbillsDetail,
+    finstlbillsitemsRemove,
     finstlbillslistAccBillV1,
-    finstlbillsSubmit, finstlbillsConfirmSettlement, finstlbillsRevokeSettlement, finstlbillsGetByDetail
+    finstlbillsSubmit,
+    finstlbillsConfirmSettlement,
+    finstlbillsRevokeSettlement,
+    finstlbillsGetByDetail,
+    finstlbillslistAccBillByCorp
 
 } from '@/api/iosBasicData/finstlbills'
 import expand from "@/components/basic-container/expand.vue";
@@ -354,6 +383,34 @@ export default {
     },
     data(){
         return {
+            retrievePopupsType:false, // 弹窗开启关闭
+            retrievePopupsData:[], // 选择弹窗数据
+            retrievePopupsOption: {
+                border: true,
+                calcHeight: 30,
+                tip: false,
+                height: 'auto',
+                index: true,
+                addBtn: false,
+                viewBtn: false,
+                delBtn: false,
+                editBtn: false,
+                refreshBtn: false,
+                columnBtn: false,
+                menuWidth: '60',
+                column: [
+                    {
+                        label: "客户中文名",
+                        prop: "cnName",
+                        overHidden: true,
+                    },
+                    {
+                        label: "客户英文文名",
+                        prop: "cnName",
+                        overHidden: true,
+                    },
+                ]
+            },
             invoiceAmountCNY:0, // 费用明细开票金额输入框CNY
             invoiceAmountUSD:0, // 费用明细开票金额输入框USD
             settlementdistar:false, // 结算挑进来的
@@ -735,6 +792,55 @@ export default {
         ResetFilter(){
             this.form = {}
         },
+        // 弹窗选择
+        retrievePopupsSelect(row){
+            // this.form = row
+            this.$set(this.form,'corpId',row.id)
+            this.$set(this.form,'corpCnName',row.cnName)
+            this.$set(this.form,'corpEnName',row.enName)
+            this.$set(this.form,'corpArgreementNo',row.enName)
+            this.retrievePopupsType = false
+            this.bcorpsbankListfun()
+            this.finstlbillslistAccBillV1fun(this.appendType)
+        },
+        // 检索
+        retrievalfun(){
+            // 判断是否有对账单位
+            if (!this.form.corpId && (this.form.businessNo || this.form.accountNo || this.form.hblno || this.form.mblno)) {
+                console.log('新接口')
+                this.finstlbillslistAccBillByCorpfun()
+            }else {
+                if (!this.form.corpId) {
+                    return this.$message.warning('请填写对账单位')
+                }
+                console.log('原来的接口')
+                this.finstlbillslistAccBillV1fun(this.appendType)
+            }
+        },
+        // 检索弹窗数据
+        finstlbillslistAccBillByCorpfun(){
+            let obj = {}
+            obj.type = '2'
+            obj.curCode = this.form.curCode // 币别
+            obj.dc = this.form.dc // 收付 D=收 C=付
+            obj.accBillNo = this.form.accountNo // 账单编号  ACCT NO
+            obj.billNo = this.form.businessNo // 单据编号  JOB NO
+            obj.mblno = this.form.mblno // MB/L NO
+            obj.hblno = this.form.hblno // HB/L NO
+            obj.queryAmount = this.form.queryAmount // 查询金额
+            obj.businessType = this.form.businessTypes?this.form.businessTypes.join(','):'' // 业务类型
+            obj.vesselCnName = this.form.vesselCnName // 中文船名
+            obj.receivableAdvance = this.form.receivableAdvance // 预收帐款
+            obj.voyageNo = this.form.voyageNo // 航次
+            obj.signforDateList = this.form.signforDateList // 签收日期
+            obj.auditStatus = '0'
+            obj.businessDateStart = this.form.businessDateStart // 业务开始日期
+            obj.businessDateEnd = this.form.businessDateEnd // 业务开始日期
+            finstlbillslistAccBillByCorp(obj).then(res=>{
+                this.retrievePopupsType = true
+                this.retrievePopupsData = res.data.data
+            })
+        },
         // 检索接口
         finstlbillslistAccBillV1fun(type){
             // 对账单位

+ 40 - 4
src/views/iosBasicData/PaymentApplication/assembly/finstlbillsitems.vue

@@ -11,12 +11,18 @@
             @selection-change="handleSelectionChange"
             @row-click="rowClick"
             :row-style="rowStyle"
-            :row-class-name="rowClassName" >
+            :row-class-name="rowClassName"
+            @expand-change="expandChange" >
             <el-table-column
                 v-if="brfalse"
                 type="selection"
                 width="55">
             </el-table-column>
+            <el-table-column type="expand" v-if="brfalse">
+                <template slot-scope="{row}">
+                    <costDetails :costDate="row.costDate || []"></costDetails>
+                </template>
+            </el-table-column>
             <el-table-column
                 prop="lineNo"
                 label="行号" width="50px">
@@ -185,7 +191,6 @@
                 </template>
             </el-table-column>
 
-
         </el-table>
     </div>
 </template>
@@ -194,9 +199,11 @@
     import {getWorkDicts} from "@/api/system/dictbiz";
     import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
     import {getRateList} from "@/api/iosBasicData/rateManagement";
+    import costDetails from "@/views/iosBasicData/finstlbills/assembly/costDetails.vue";
+    import {feecenterSelectByAccNoList} from "@/api/iosBasicData/finstlbills";
 
     export default {
-        components: {SearchQuery},
+        components: {costDetails, SearchQuery},
         props:{
             tableData:{
                 type:Array,
@@ -218,7 +225,11 @@
             settlementdistar:{
                 type:Boolean,
                 default:false
-            }
+            },
+            form:{
+                type:Object,
+                default:{},
+            },
         },
         data(){
             return {
@@ -232,6 +243,31 @@
             this.invoicelosWorkDictsfun()
         },
         methods:{
+            // 展开行或者关闭
+            expandChange(row){
+                let accBillId = ''
+                if (this.form.id) {
+                    accBillId = row.accBillId
+                }else {
+                    accBillId = row.id
+                }
+                feecenterSelectByAccNoList({accBillId}).then(res=>{
+                    row.costDate = res.data.data.map(item=>{
+                        if (item.curCode == 'CNY') {
+                            this.$set(item,'rmbAmount',item.amount)
+                            this.$set(item,'usdAmount','')
+                            this.$set(item,'rmbAmountNet',item.amountNet)
+                            this.$set(item,'usdAmountNet','')
+                        }else {
+                            this.$set(item,'usdAmount',item.amount)
+                            this.$set(item,'rmbAmount','')
+                            this.$set(item,'usdAmountNet',item.amountNet)
+                            this.$set(item,'rmbAmountNet','')
+                        }
+                        return item
+                    })
+                })
+            },
             // 明细删除
             deletefun(row,index){
                 this.$emit('deletefun',row.id,index)

+ 107 - 7
src/views/iosBasicData/PaymentApplication/finstlbillsDetails.vue

@@ -267,7 +267,7 @@
                                     <el-checkbox v-model="appendType" :disabled="editSave"
                                                  false-label="检索" true-label="追加">追加</el-checkbox>
                                     <el-button  size="small" type="primary"  style="margin-right: 8px" :disabled="editSave"
-                                                :loading="saveLoading" @click="finstlbillslistAccBillV1fun(appendType)" >检 索
+                                                :loading="saveLoading" @click="retrievalfun" >检 索
                                     </el-button>
                                 </div>
                             </el-col>
@@ -298,6 +298,7 @@
                     <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="primary" @click="invoiceMatchingfun()" >匹配金额</el-button>
                 </div>
                 <finstlbillsitems ref="finstlbillsitems"
+                                  :form="form"
                                   :tableData="tableData"
                                   :editSave="editSave"
                                   :handleSelectionData="handleSelectionData"
@@ -348,6 +349,33 @@
         </el-card>
 
 
+        <!--选择数据弹窗-->
+        <el-dialog
+            title="选择数据"
+            class="el-dialogDeep"
+            :visible.sync="retrievePopupsType"
+            append-to-body
+            width="70%"
+            :close-on-click-modal="false">
+            <div>
+                <avue-crud
+                    :option="retrievePopupsOption"
+                    :data="retrievePopupsData"
+                    ref="retrievePopupsRef"
+                    id="out-table">
+                    <template slot="menu" slot-scope="{ row }">
+                        <el-button
+                            type="text"
+                            icon=""
+                            size="small"
+                            @click.stop="retrievePopupsSelect(row)"
+                        >选择
+                        </el-button>
+                    </template>
+                </avue-crud>
+            </div>
+        </el-dialog>
+
         <!--设计报表弹窗-->
         <el-dialog append-to-body title="设计报表" class="el-dialogDeep" :visible.sync="DesignreportDialog" width="70%"
                    :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
@@ -383,7 +411,7 @@
     import {bcorpsbankList, getBcorpslistByType} from "@/api/iosBasicData/bcorps";
     import {
         finstlbillsConfirmSignFor,
-        finstlbillsDetail, finstlbillsGetByDetail, finstlbillsitemsRemove,
+        finstlbillsDetail, finstlbillsGetByDetail, finstlbillsitemsRemove, finstlbillslistAccBillByCorp,
         finstlbillslistAccBillV1,
         finstlbillsRevokeSignFor,
         finstlbillsSubmit, revokeSettlementApprove, settlementApprove
@@ -409,6 +437,34 @@
         },
         data(){
             return {
+                retrievePopupsType:false, // 弹窗开启关闭
+                retrievePopupsData:[], // 选择弹窗数据
+                retrievePopupsOption: {
+                    border: true,
+                    calcHeight: 30,
+                    tip: false,
+                    height: 'auto',
+                    index: true,
+                    addBtn: false,
+                    viewBtn: false,
+                    delBtn: false,
+                    editBtn: false,
+                    refreshBtn: false,
+                    columnBtn: false,
+                    menuWidth: '60',
+                    column: [
+                        {
+                            label: "客户中文名",
+                            prop: "cnName",
+                            overHidden: true,
+                        },
+                        {
+                            label: "客户英文文名",
+                            prop: "cnName",
+                            overHidden: true,
+                        },
+                    ]
+                },
                 invoiceAmountCNY:0, // 费用明细开票金额输入框CNY
                 invoiceAmountUSD:0, // 费用明细开票金额输入框USD
                 DesignreportDialog:false, // 设计报表弹窗
@@ -757,6 +813,7 @@
                             this.$set(item,'currentStlAmountNetUSD',item.currentStlAmountNet)
                             this.$set(item,'currentStlAmountUSD',item.currentStlAmount)
                         }
+                        this.$set(item,'costDate',[])
                         return item
                     })
                     this.pageLoading = false
@@ -769,13 +826,56 @@
             ResetFilter(){
                 this.form = {}
             },
+            // 弹窗选择
+            retrievePopupsSelect(row){
+                // this.form = row
+                this.$set(this.form,'corpId',row.id)
+                this.$set(this.form,'corpCnName',row.cnName)
+                this.$set(this.form,'corpEnName',row.enName)
+                this.$set(this.form,'corpArgreementNo',row.enName)
+                this.retrievePopupsType = false
+                this.bcorpsbankListfun()
+                this.finstlbillslistAccBillV1fun(this.appendType)
+            },
+            // 检索
+            retrievalfun(){
+                // 判断是否有对账单位
+                if (!this.form.corpId && (this.form.businessNo || this.form.accountNo || this.form.hblno || this.form.mblno)) {
+                    console.log('新接口')
+                    this.finstlbillslistAccBillByCorpfun()
+                }else {
+                    if (!this.form.corpId) {
+                        return this.$message.warning('请填写对账单位')
+                    }
+                    console.log('原来的接口')
+                    this.finstlbillslistAccBillV1fun(this.appendType)
+                }
+            },
+            // 检索弹窗数据
+            finstlbillslistAccBillByCorpfun(){
+                let obj = {}
+                obj.type = '2'
+                obj.curCode = this.form.curCode // 币别
+                obj.dc = this.form.dc // 收付 D=收 C=付
+                obj.accBillNo = this.form.accountNo // 账单编号  ACCT NO
+                obj.billNo = this.form.businessNo // 单据编号  JOB NO
+                obj.mblno = this.form.mblno // MB/L NO
+                obj.hblno = this.form.hblno // HB/L NO
+                obj.queryAmount = this.form.queryAmount // 查询金额
+                obj.businessType = this.form.businessTypes?this.form.businessTypes.join(','):'' // 业务类型
+                obj.vesselCnName = this.form.vesselCnName // 中文船名
+                obj.receivableAdvance = this.form.receivableAdvance // 预收帐款
+                obj.voyageNo = this.form.voyageNo // 航次
+                obj.auditStatus = '0'
+                obj.businessDateStart = this.form.businessDateStart // 财务开始日期
+                obj.businessDateEnd = this.form.businessDateEnd // 财务结束日期
+                finstlbillslistAccBillByCorp(obj).then(res=>{
+                    this.retrievePopupsType = true
+                    this.retrievePopupsData = res.data.data
+                })
+            },
             // 检索接口
             finstlbillslistAccBillV1fun(type){
-                // 对账单位
-                if (!this.form.corpId) {
-                    this.$message.warning('请选择对账单位');
-                    return
-                }
                 let obj = {}
                 obj.type = '2'
                 obj.curCode = this.form.curCode // 币别

+ 25 - 14
src/views/iosBasicData/finstlbills/assembly/costDetails.vue

@@ -9,7 +9,10 @@
             style="width: 100%">
             <el-table-column
                 prop="corpCnName"
-                label="往来单位">
+                label="往来单位" >
+                <template slot-scope="{ row }">
+                    <span class="textHide" >{{row.corpCnName}}</span>
+                </template>
             </el-table-column>
             <el-table-column
                 prop="feeCnName"
@@ -27,17 +30,20 @@
                 prop="curCode"
                 label="币种">
             </el-table-column>
-            <el-table-column
-                prop="taxRate"
-                label="税率">
-            </el-table-column>
-            <el-table-column
-                prop="surchargeRate"
-                label="附件税率">
-            </el-table-column>
+            <!--<el-table-column-->
+            <!--    prop="taxRate"-->
+            <!--    label="税率">-->
+            <!--</el-table-column>-->
+            <!--<el-table-column-->
+            <!--    prop="surchargeRate"-->
+            <!--    label="附件税率">-->
+            <!--</el-table-column>-->
             <el-table-column
                 prop="isTax"
                 label="单价是否含税">
+                <template slot-scope="{ row }">
+                    <span>{{row.isTax?'是':'否'}}</span>
+                </template>
             </el-table-column>
             <el-table-column
                 prop="price"
@@ -67,10 +73,10 @@
                 prop="exrate"
                 label="对CNY汇率">
             </el-table-column>
-            <el-table-column
-                prop="payplace"
-                label="预付地址">
-            </el-table-column>
+            <!--<el-table-column-->
+            <!--    prop="payplace"-->
+            <!--    label="预付地址">-->
+            <!--</el-table-column>-->
             <el-table-column
                 prop="remarks"
                 label="备注">
@@ -101,5 +107,10 @@
 </script>
 
 <style scoped>
-
+.textHide {
+    width: 100%;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
 </style>

+ 7 - 7
src/views/iosBasicData/finstlbills/finstlbillsDetails.vue

@@ -460,18 +460,18 @@
 
             <el-card style="margin-top: 10px">
                 <div style="margin-bottom: 10px">
-                    <!--<el-button  size="small" type="primary" style="margin-right: 8px" :disabled="editSave"-->
-                    <!--            :loading="saveLoading" @click="Confirminvoicefun">确认发票-->
-                    <!--</el-button>-->
-                    <!--<el-button  size="small" type="primary" style="margin-right: 8px" :disabled="editSave"-->
-                    <!--            :loading="saveLoading" @click="Notinvoicingfun">不开发票-->
-                    <!--</el-button>-->
                     <el-button  size="small" type="info" style="margin-right: 8px" :disabled="editSave"
                                 :loading="saveLoading" @click="SelectedRows">确认选定行
                     </el-button>
                     <el-button  size="small" type="danger" style="margin-left: 10px" :disabled="editSave"
                                 :loading="saveLoading" @click="batchDeletefun" >一键删除
                     </el-button>
+                    <el-button  size="small" type="primary" style="margin-right: 8px" :disabled="editSave"
+                                :loading="saveLoading" @click="Confirminvoicefun">禁止开票
+                    </el-button>
+                    <!--<el-button  size="small" type="primary" style="margin-right: 8px" :disabled="editSave"-->
+                    <!--            :loading="saveLoading" @click="Notinvoicingfun">不开发票-->
+                    <!--</el-button>-->
                 </div>
 
                 <finstlbillsitems :tableData="tableData"
@@ -939,7 +939,7 @@
             },
             // 弹窗选择
             retrievePopupsSelect(row){
-                this.form = row
+                // this.form = row
                 this.$set(this.form,'corpId',row.id)
                 this.$set(this.form,'corpCnName',row.cnName)
                 this.$set(this.form,'corpEnName',row.enName)

+ 5 - 1
src/views/iosBasicData/seamends/amendsDetails.vue

@@ -1167,8 +1167,12 @@ export default {
                 bookingNo: this.form.bookingNo ? this.form.bookingNo : null,
                 businessType:'SE'
             }).then(res => {
-                this.retrievePopupsType = true
                 this.retrievePopupsData = res.data.data
+                if (res.data.data.length == 1) {
+                    this.retrievePopupsSelect(this.retrievePopupsData[0])
+                }else {
+                    this.retrievePopupsType = true
+                }
             })
         },
         // 多选回调

+ 6 - 20
src/views/iosBasicData/siamends/amendsDetails.vue

@@ -47,22 +47,6 @@
                                 </el-input>
                             </el-form-item>
                         </el-col>
-                        <el-col :span="5">
-                            <el-form-item label="原外提单号:" prop="refno">
-                                <el-input style="width: 100%;" v-model="form.refno" :disabled="buttonDisable"
-                                          size="small" autocomplete="off"
-                                          clearable placeholder="请输入原外提单号">
-                                </el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="5">
-                            <el-form-item label="BOOKINGNO:" prop="bookingNo">
-                                <el-input style="width: 100%;" v-model="form.bookingNo" :disabled="buttonDisable"
-                                          size="small" autocomplete="off"
-                                          clearable placeholder="请输入BOOKINGNO">
-                                </el-input>
-                            </el-form-item>
-                        </el-col>
                         <el-col :span="4">
                             <el-form-item label="AMEND原因:" prop="responsibleParty">
                                 <search-query :datalist="responsiblePartyData"
@@ -1134,18 +1118,20 @@ export default {
             if (this.form.corpCnName) {
                 return this.$message.warning('请先一键清空数据之后再进行提取信息')
             }
-            if (!this.form.mblno && !this.form.hblno && !this.form.refno && !this.form.bookingNo) {
+            if (!this.form.mblno && !this.form.hblno) {
                 return this.$message.warning('请填写至少一项检索条件')
             }
             billsGetDetail({
                 mblno: this.form.mblno ? this.form.mblno : null,
                 hblno: this.form.hblno ? this.form.hblno : null,
-                refno: this.form.refno ? this.form.refno : null,
-                bookingNo: this.form.bookingNo ? this.form.bookingNo : null,
                 businessType:'SI'
             }).then(res => {
-                this.retrievePopupsType = true
                 this.retrievePopupsData = res.data.data
+                if (res.data.data.length == 1){
+                    this.retrievePopupsSelect(this.retrievePopupsData[0])
+                }else {
+                    this.retrievePopupsType = true
+                }
             })
         },
         // 多选回调