Explorar el Código

货代报表和发票 2023-11-27

caojunjie hace 1 año
padre
commit
e126a2cf12

+ 7 - 3
src/api/iosBasicData/bcorps.js

@@ -71,10 +71,14 @@ export const updateBcorps = (row) => {
 }
 
 // 获取银行列表
-export const bcorpsbankList = (row) => {
+export const bcorpsbankList = (current,size,params) => {
   return request({
     url: '/api/blade-los/bcorpsbank/list',
-    method: 'post',
-    data: row
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
   })
 }

+ 4 - 0
src/enums/column-name.js

@@ -1405,6 +1405,10 @@ const columnName = [{
     code: 317,
     name: '鑫畅途-调拨L'
   },
+  {
+    code: 318,
+    name: '货运代理-账单管理-发票中心'
+  },
 ]
 export const getColumnName = (key) => {
   for (let index = 0; index < columnName.length; index++) {

+ 8 - 1
src/views/approveDataH/index.vue

@@ -210,7 +210,14 @@ export default {
             reportCode:'FYSH',
             groupCode:2,
         })
-        var data = res.data.data.data
+        var data = res.data.data.data.map((item,index)=>{
+            item.index = index
+            item.feeCenterList.forEach(ite=>{
+                ite.ppid = index
+            })
+            return item
+        })
+        console.log(data,220)
         // 报表取的是最后一项,把第一项的数据赋值给最后一项
         data[data.length - 1].amountDrUsd = data[0].amountDrUsd
         data[data.length - 1].amountDr = data[0].amountDr

+ 16 - 3
src/views/iosBasicData/SeafreightExportF/bills/assembly/reports.vue

@@ -669,7 +669,14 @@
               groupCode:this.form.groupCode,
           })
           // 获取的数据赋值
-          let data = res.data.data.data
+          var data = res.data.data.data.map((item,index)=>{
+              item.index = index
+              item.feeCenterList.forEach(ite=>{
+                  ite.ppid = index
+              })
+              return item
+          })
+          console.log(data,762)
 
               var dataSet = new Stimulsoft.System.Data.DataSet(
                 'reportData'
@@ -752,8 +759,14 @@
                   reportCode:row.code,
                   groupCode:row.groupCode,
               }).then(res => {
-              var data = res.data.data.data
-
+                  var data = res.data.data.data.map((item,index)=>{
+                      item.index = index
+                      item.feeCenterList.forEach(ite=>{
+                          ite.ppid = index
+                      })
+                      return item
+                  })
+                  console.log(data,762)
               // console.log('hshipperDetails')
               // console.log(data.hshipperDetails, 'hshipperDetails')
 

+ 193 - 53
src/views/iosBasicData/fininvoices/fininvoicesDetails.vue

@@ -58,11 +58,19 @@
                         </el-col>
                         <el-col :span="5">
                             <el-form-item label="发票币种" prop="invCurCode">
-                                <el-input style="width: 100%;" v-model="form.invCurCode"
-                                          size="small" autocomplete="off"
-                                          :disabled="editSave"
-                                          clearable placeholder="请输入发票币种" >
-                                </el-input>
+                                <search-query :datalist="invCurCodeData"
+                                              :selectValue="form.invCurCode"
+                                              :filterable="true"
+                                              :clearable="true"
+                                              :disabled="editSave"
+                                              :remote="true"
+                                              :buttonIf="false"
+                                              placeholder="请选择发票币种"
+                                              :forParameter="{key:'id',label:'code',value:'code'}"
+                                              @remoteMethod="invCurCodeRateListfun"
+                                              @corpChange="corpChange($event,'invCurCode')"
+                                              @corpFocus="invCurCodeRateListfun">
+                                </search-query>
                             </el-form-item>
                         </el-col>
                         <el-col :span="4">
@@ -155,38 +163,64 @@
                             </el-col>
                             <el-col :span="12">
                                 <el-form-item label="开航日期" prop="etd">
-                                    <el-input style="width: 100%;" v-model="form.etd"
-                                              size="small" autocomplete="off"
-                                              :disabled="editSave"
-                                              clearable placeholder="请输入开航日期" >
-                                    </el-input>
+                                    <el-date-picker v-model="form.etd" clearable
+                                                    style="width: 100%;"
+                                                    type="date" size="small"
+                                                    :disabled="editSave"
+                                                    value-format="yyyy-MM-dd HH:mm"
+                                                    placeholder="请输入开航日期">
+                                    </el-date-picker>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
                                 <el-form-item label="装货港" prop="pol">
-                                    <el-input style="width: 100%;" v-model="form.pol"
-                                              size="small" autocomplete="off"
-                                              :disabled="editSave"
-                                              clearable placeholder="请输入装货港" >
-                                    </el-input>
+                                    <search-query :datalist="polData"
+                                                  :selectValue="form.pol"
+                                                  :filterable="true"
+                                                  :clearable="true"
+                                                  :remote="true"
+                                                  :disabled="editSave"
+                                                  :buttonIf="false"
+                                                  placeholder="请输入装货港"
+                                                  :forParameter="{key:'id',label:'enName',value:'enName'}"
+                                                  @corpChange="corpChange($event,'pol')"
+                                                  @remoteMethod="polBportsListfun"
+                                                  @corpFocus="polBportsListfun" >
+                                    </search-query>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
                                 <el-form-item label="卸货港" prop="pod">
-                                    <el-input style="width: 100%;" v-model="form.pod"
-                                              size="small" autocomplete="off"
-                                              :disabled="editSave"
-                                              clearable placeholder="请输入卸货港" >
-                                    </el-input>
+                                    <search-query :datalist="podData"
+                                                  :selectValue="form.pod"
+                                                  :filterable="true"
+                                                  :clearable="true"
+                                                  :remote="true"
+                                                  :disabled="editSave"
+                                                  :buttonIf="false"
+                                                  placeholder="请输入卸货港"
+                                                  :forParameter="{key:'id',label:'enName',value:'enName'}"
+                                                  @corpChange="corpChange($event,'pod')"
+                                                  @remoteMethod="podBportsListfun"
+                                                  @corpFocus="podBportsListfun" >
+                                    </search-query>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
                                 <el-form-item label="目的地" prop="destination">
-                                    <el-input style="width: 100%;" v-model="form.destination"
-                                              size="small" autocomplete="off"
-                                              :disabled="editSave"
-                                              clearable placeholder="请输入卸货港" >
-                                    </el-input>
+                                    <search-query :datalist="destinationData"
+                                                  :selectValue="form.destination"
+                                                  :filterable="true"
+                                                  :clearable="true"
+                                                  :remote="true"
+                                                  :disabled="editSave"
+                                                  :buttonIf="false"
+                                                  placeholder="请输入目的地"
+                                                  :forParameter="{key:'id',label:'enName',value:'enName'}"
+                                                  @corpChange="corpChange($event,'destination')"
+                                                  @remoteMethod="destinationBportsListfun"
+                                                  @corpFocus="destinationBportsListfun" >
+                                    </search-query>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
@@ -291,11 +325,18 @@
                             </el-col>
                             <el-col :span="8">
                                 <el-form-item label="银行账号" prop="bankReceiptAccountNo">
-                                    <el-input style="width: 100%;" v-model="form.bankReceiptAccountNo"
-                                              size="small" autocomplete="off"
-                                              :disabled="editSave"
-                                              clearable placeholder="请输入银行账号" >
-                                    </el-input>
+                                    <search-query :datalist="bankReceiptData"
+                                                  :selectValue="form.bankReceiptAccountNo"
+                                                  :clearable="true"
+                                                  :disabled="editSave || !form.corpId"
+                                                  :buttonIf="false"
+                                                  :remote="true"
+                                                  :filterable="true"
+                                                  placeholder="请输入银行账号"
+                                                  :forParameter="{ key:'id', label:'accountNo', value:'accountNo'}"
+                                                  @corpChange="corpChange($event,'bankReceiptAccountNo')"
+                                                  @remoteMethod="bcorpsbankListfun">
+                                    </search-query>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="8">
@@ -309,11 +350,13 @@
                             </el-col>
                             <el-col :span="8">
                                 <el-form-item label="导出时间" prop="exportDate">
-                                    <el-input style="width: 100%;" v-model="form.exportDate"
-                                              size="small" autocomplete="off"
-                                              :disabled="editSave"
-                                              clearable placeholder="请输入导出时间" >
-                                    </el-input>
+                                    <el-date-picker v-model="form.exportDate" clearable
+                                                    style="width: 100%;"
+                                                    type="date" size="small"
+                                                    :disabled="editSave"
+                                                    value-format="yyyy-MM-dd HH:mm"
+                                                    placeholder="请选择导出时间">
+                                    </el-date-picker>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="16">
@@ -408,11 +451,15 @@
                             </el-col>
                             <el-col :span="8">
                                 <el-form-item label="业务类型" prop="businessTypes">
-                                    <el-input style="width: 100%;" v-model="form.businessTypes"
-                                              size="small" autocomplete="off"
-                                              :disabled="editSave"
-                                              clearable placeholder="请输入业务类型" >
-                                    </el-input>
+                                    <search-query :datalist="businessTypesData"
+                                                  :selectValue="form.businessTypes"
+                                                  :clearable="true"
+                                                  :disabled="editSave"
+                                                  :buttonIf="false"
+                                                  :multiple="true"
+                                                  placeholder="请输入业务类型"
+                                                  @corpChange="corpChange($event,'businessTypes')">
+                                    </search-query>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="8">
@@ -426,11 +473,19 @@
                             </el-col>
                             <el-col :span="8">
                                 <el-form-item label="选择币种" prop="curCode">
-                                    <el-input style="width: 100%;" v-model="form.curCode"
-                                              size="small" autocomplete="off"
-                                              :disabled="editSave"
-                                              clearable placeholder="请输入选择币种" >
-                                    </el-input>
+                                    <search-query :datalist="curData"
+                                                  :selectValue="form.curCode"
+                                                  :filterable="true"
+                                                  :clearable="true"
+                                                  :disabled="editSave"
+                                                  :remote="true"
+                                                  :buttonIf="false"
+                                                  placeholder="请输入选择币种"
+                                                  :forParameter="{key:'id',label:'code',value:'code'}"
+                                                  @remoteMethod="getRateListfun"
+                                                  @corpChange="corpChange($event,'curCode')"
+                                                  @corpFocus="getRateListfun">
+                                    </search-query>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="8">
@@ -492,9 +547,12 @@
 
 <script>
 import fininvoicesitems from "@/views/iosBasicData/fininvoices/assembly/fininvoicesitems.vue";
+import {getRateList} from "@/api/iosBasicData/rateManagement";
 import {finstlbillslistAccBillV1} from "@/api/iosBasicData/finstlbills";
 import {bcorpsbankList, getBcorpsList} from "@/api/iosBasicData/bcorps";
+import {bportsList} from "@/api/iosBasicData/bports";
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
+import {fininvoicesDetail, fininvoicesSubmit} from "@/api/iosBasicData/fininvoices";
 
 export default {
         components:{SearchQuery, fininvoicesitems},
@@ -504,6 +562,22 @@ export default {
                 saveLoading:false, // 按钮加载
                 form:{},
                 corpData:[], // 结算单位数据
+                bankReceiptData:[], // 银行账号数据
+                // 业务类型
+                businessTypesData:[
+                    {
+                        label:'海运出口',
+                        value:'SE'
+                    },{
+                        label:'海运进口',
+                        value:'SI'
+                    }
+                ],
+                curData:[], // 币别
+                destinationData:[], // 目的港
+                podData:[], // 卸货港
+                polData:[], // 装货港
+                invCurCodeData:[], // 发票币种
             }
         },
         props:{
@@ -528,16 +602,50 @@ export default {
                             this.$set(this.form,'corpId',item.id)
                             this.$set(this.form,'corpCnName',item.cnName)
                             this.$set(this.form,'corpEnName',item.enName)
+                            this.bcorpsbankListfun()
+                        }
+                    }
+                }
+                // 银行账户
+                else if(name == 'bankReceiptAccountNo') {
+                    for(let item of this.bankReceiptData) {
+                        if (item.accountNo == value) {
+                            this.$set(this.form,'bankReceiptAccountNo',item.accountNo)
+                            this.$set(this.form,'bankReceiptBankName',item.accountBank)
                         }
                     }
                 }
+                else {
+                    this.$set(this.form,name,value)
+                }
 
+            },
+            // 编辑事件
+            editHandle(){
+
+            },
+            // 保存按钮事件
+            editCustomer(){
 
+                // this.fininvoicesSubmitfun()
             },
             // 检索
             finstlbillslistAccBillV1fun(){
-                finstlbillslistAccBillV1().then(res=>{
-
+                console.log(this.form,624)
+                // finstlbillslistAccBillV1().then(res=>{
+                //
+                // })
+            },
+            // 保存接口
+            fininvoicesSubmitfun(){
+                fininvoicesSubmit().then(res=>{
+                    console.log(res,'保存')
+                })
+            },
+            // 详情接口
+            fininvoicesDetailfun(){
+                fininvoicesDetail().then(res=>{
+                    console.log(res,648)
                 })
             },
             //返回列表
@@ -550,15 +658,47 @@ export default {
                     this.corpData = res.data.data.records
                 })
             },
-            // 根据往来单位选择调用银行数据
-            bcorpsbankListfun(){
-                bcorpsbankList({
-                    curNo:'',
-                    pid:''
+            // 根据往来单位选择调用获取银行数据
+            bcorpsbankListfun(accountNo){
+                bcorpsbankList(1,10,{
+                    // curNo:this.cntyCode,
+                    pid:this.form.corpId,
+                    accountNo:accountNo
                 }).then(res=>{
-                    console.log(res,556)
+                    this.bankReceiptData = res.data.data.records
+                })
+            },
+            // 获取币别数据
+            getRateListfun(cnName){
+                getRateList({current:1,size:10,cnName}).then(res=>{
+                    this.curData = res.data.data.records
+                })
+            },
+            // 获取发票币别数据
+            invCurCodeRateListfun(cnName){
+                getRateList({current:1,size:10,cnName}).then(res=>{
+                    this.invCurCodeData = res.data.data.records
+                })
+            },
+            // 目的地
+            destinationBportsListfun(enName){
+                bportsList(1,10,{enName}).then(res=>{
+                    this.destinationData = res.data.data.records
+                })
+            },
+            // 卸货港
+            podBportsListfun(enName){
+                bportsList(1,10,{enName}).then(res=>{
+                    this.podData = res.data.data.records
                 })
             },
+            // 装货港
+            polBportsListfun(enName){
+                bportsList(1,10,{enName}).then(res=>{
+                    this.polData = res.data.data.records
+                })
+            },
+
 
         },
     }

+ 60 - 3
src/views/iosBasicData/fininvoices/index.vue

@@ -9,6 +9,8 @@
                      :before-open="beforeOpen"
                      v-model="form"
                      ref="crud"
+                     id="out-table"
+                     :header-cell-class-name="headerClassName"
                      @row-update="rowUpdate"
                      @row-save="rowSave"
                      @row-del="rowDel"
@@ -18,6 +20,8 @@
                      @current-change="currentChange"
                      @size-change="sizeChange"
                      @refresh-change="refreshChange"
+                     @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 318)"
+                     @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 318)"
                      @on-load="onLoad">
               <template slot="menuLeft">
                   <el-button type="success"
@@ -65,7 +69,8 @@ import finstlbillsDetails from "@/views/iosBasicData/finstlbills/finstlbillsDeta
           total: 0
         },
         selectionList: [],
-        option: {
+        option:{},
+        optionBack: {
           height:'auto',
           calcHeight: 30,
           tip: false,
@@ -847,6 +852,10 @@ import finstlbillsDetails from "@/views/iosBasicData/finstlbills/finstlbillsDeta
         return ids.join(",");
       }
     },
+      async created() {
+          this.option = await this.getColumnData(this.getColumnName(318), this.optionBack);
+          this.dictionaryfun() // 获取字典数据
+      },
     methods: {
         // 新建发票
       newbillFun(){
@@ -975,10 +984,58 @@ import finstlbillsDetails from "@/views/iosBasicData/finstlbills/finstlbillsDeta
           this.loading = false;
           this.selectionClear();
         });
-      }
+      },
+
+        //自定义列保存
+        async saveColumnTwo(ref, option, optionBack, code) {
+            /**
+             * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+             * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+             * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+             */
+            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+            if (inSave) {
+                this.$message.success("保存成功");
+                //关闭窗口
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+        //自定义列重置
+        async resetColumnTwo(ref, option, optionBack, code) {
+            this[option] = this[optionBack];
+            const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+            if (inSave) {
+                this.$message.success("重置成功");
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+
+        // 更改表格颜色
+        headerClassName(tab) {
+            //颜色间隔
+            let back = ""
+            if (tab.columnIndex >= 0 && tab.column.level === 1) {
+                if (tab.columnIndex % 2 === 0) {
+                    back = "back-one"
+                } else if (tab.columnIndex % 2 === 1) {
+                    back = "back-two"
+                }
+            }
+            return back;
+        },
+
     }
   };
 </script>
 
-<style>
+<style scoped>
+::v-deep#out-table .back-one {
+    background: #ecf5ff !important;
+    text-align: center;
+}
+
+::v-deep#out-table .back-two {
+    background: #ecf5ff !important;
+    text-align: center;
+}
 </style>