Browse Source

修改bug

Qukatie 1 year ago
parent
commit
7e6855ff90

+ 260 - 349
src/views/iosBasicData/CollectionSettlement/assembly/finstlbillsitems.vue

@@ -1,21 +1,10 @@
 <template>
     <div>
         <!--:row-style="{height:'20px',padding:'0px',fontSize:'12px'}"-->
-        <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
-                v-if="brfalse"
-                type="selection"
-                width="55">
+        <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 v-if="brfalse" type="selection" width="55">
                 <!--<template slot-scope="scope">-->
                 <!--    <el-checkbox v-model="scope.row.tableSelect"-->
                 <!--                 :true-label="1" :false-label="0"-->
@@ -23,20 +12,14 @@
                 <!--    </el-checkbox>-->
                 <!--</template>-->
             </el-table-column>
-            <el-table-column
-                prop="lineNo"
-                label="行号" width="50px">
+            <el-table-column prop="lineNo" label="行号" width="50px">
             </el-table-column>
-            <el-table-column
-                prop="isCleared"
-                label="核销">
+            <el-table-column prop="isCleared" label="核销">
             </el-table-column>
-            <el-table-column
-                prop="lineNo"
-                label="源业务编号" width="120px">
+            <el-table-column prop="lineNo" label="源业务编号" width="120px">
                 <template slot-scope="{ row }">
-                    <span class="textHide" v-if="row.businessBillDivideNo">{{row.businessBillDivideNo}}</span>
-                    <span class="textHide" v-else>{{row.businessBillNo}}</span>
+                    <span class="textHide" v-if="row.businessBillDivideNo">{{ row.businessBillDivideNo }}</span>
+                    <span class="textHide" v-else>{{ row.businessBillNo }}</span>
                 </template>
             </el-table-column>
             <!--<el-table-column-->
@@ -49,23 +32,17 @@
             <!--        </el-checkbox>-->
             <!--    </template>-->
             <!--</el-table-column>-->
-            <el-table-column
-                prop="accBillNo"
-                label="账单编号">
+            <el-table-column prop="accBillNo" label="账单编号">
             </el-table-column>
             <el-table-column label="结算单位">
-                <el-table-column
-                    prop="corpCode"
-                    label="编号" width="130px">
+                <el-table-column prop="corpCode" label="编号" width="130px">
                     <template slot-scope="{ row }">
                         <avue-text-ellipsis :text="row.corpArgreementNo" :height="50" :width="130">
                             <small slot="more">...</small>
                         </avue-text-ellipsis>
                     </template>
                 </el-table-column>
-                <el-table-column
-                    prop="corpCnName"
-                    label="简称" width="130px">
+                <el-table-column prop="corpCnName" label="简称" width="130px">
                     <template slot-scope="{ row }">
                         <avue-text-ellipsis :text="row.corpCnName" :height="50" :width="130">
                             <small slot="more">...</small>
@@ -73,68 +50,47 @@
                     </template>
                 </el-table-column>
             </el-table-column>
-            <el-table-column
-                prop="mblno"
-                label="MB/L NO" width="120px">
+            <el-table-column prop="mblno" label="MB/L NO" width="120px">
                 <template slot-scope="{ row }">
                     <avue-text-ellipsis :text="row.mblno" :height="50" :width="120">
                         <small slot="more">...</small>
                     </avue-text-ellipsis>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="dc"
-                label="收/付" width="120px">
+            <el-table-column prop="dc" label="收/付" width="120px">
                 <template slot-scope="{ row }">
-                    <span>{{row.dc}}</span>
+                    <span>{{ row.dc }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="currentStlExrate"
-                label="汇率">
+            <el-table-column prop="currentStlExrate" label="汇率">
             </el-table-column>
-            <el-table-column
-                label="本次结算币种"
-                prop="currentStlCurCode" width="130px">
+            <el-table-column label="本次结算币种" prop="currentStlCurCode" width="130px">
                 <template slot-scope="{row}">
-                    <search-query v-if="brfalse"
-                                  :datalist="curCodeData"
-                                  :selectValue="row.currentStlCurCode"
-                                  :filterable="true"
-                                  :clearable="true"
-                                  :remote="true"
-                                  :buttonIf="false"
-                                  :forParameter="{key:'id',label:'code',value:'code'}"
-                                  @remoteMethod="getRateListfun"
-                                  @corpChange="corpChange($event,row)"
-                                  @corpFocus="getRateListfun">
+                    <search-query v-if="brfalse" :datalist="curCodeData" :selectValue="row.currentStlCurCode"
+                        :filterable="true" :clearable="true" :remote="true" :buttonIf="false"
+                        :forParameter="{ key: 'id', label: 'code', value: 'code' }" @remoteMethod="getRateListfun"
+                        @corpChange="corpChange($event, row)" @corpFocus="getRateListfun">
                     </search-query>
-                    <span v-else >{{row.currentStlCurCode}}</span>
+                    <span v-else>{{ row.currentStlCurCode }}</span>
                 </template>
             </el-table-column>
             <el-table-column label="本次结算金额(含税)">
                 <!--默认应结算 可以修改-->
                 <!--currentStlAmount-->
-                <el-table-column
-                    prop="currentStlAmountRMB"
-                    label="RMB" width="100px">
+                <el-table-column prop="currentStlAmountRMB" label="RMB" width="100px">
                     <template slot-scope="scope">
-                        <el-input style="width: 100%;" v-model="scope.row.currentStlAmountRMB" v-if="brfalse"
-                                  size="mini" autocomplete="off"
-                                  clearable placeholder="请输入USD" >
+                        <el-input style="width: 100%;" v-model="scope.row.currentStlAmountRMB" v-if="brfalse" size="mini"
+                            autocomplete="off" clearable placeholder="请输入USD">
                         </el-input>
-                        <span v-else>{{scope.row.currentStlAmountRMB}}</span>
+                        <span v-else>{{ scope.row.currentStlAmountRMB }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column
-                    prop="currentStlAmountUSD"
-                    label="USD" width="100px">
+                <el-table-column prop="currentStlAmountUSD" label="USD" width="100px">
                     <template slot-scope="scope">
-                        <el-input style="width: 100%;" v-model="scope.row.currentStlAmountUSD" v-if="brfalse"
-                                  size="mini" autocomplete="off"
-                                  clearable placeholder="请输入USD" >
+                        <el-input style="width: 100%;" v-model="scope.row.currentStlAmountUSD" v-if="brfalse" size="mini"
+                            autocomplete="off" clearable placeholder="请输入USD">
                         </el-input>
-                        <span v-else>{{scope.row.currentStlAmountUSD}}</span>
+                        <span v-else>{{ scope.row.currentStlAmountUSD }}</span>
                     </template>
                 </el-table-column>
             </el-table-column>
@@ -142,140 +98,95 @@
             <el-table-column label="本次结算金额(净额)">
                 <!--默认应结算 可以修改-->
                 <!--currentStlAmountNet-->
-                <el-table-column
-                    prop="currentStlAmountNetRMB"
-                    label="RMB" width="100px">
+                <el-table-column prop="currentStlAmountNetRMB" label="RMB" width="100px">
                     <template slot-scope="scope">
-                        <el-input style="width: 100%;" v-model="scope.row.currentStlAmountRMB" v-if="brfalse"
-                                  size="mini" autocomplete="off"
-                                  clearable placeholder="请输入USD" >
+                        <el-input style="width: 100%;" v-model="scope.row.currentStlAmountRMB" v-if="brfalse" size="mini"
+                            autocomplete="off" clearable placeholder="请输入USD">
                         </el-input>
-                        <span v-else>{{scope.row.currentStlAmountRMB}}</span>
+                        <span v-else>{{ scope.row.currentStlAmountRMB }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column
-                    prop="currentStlAmountNetUSD"
-                    label="USD" width="100px">
+                <el-table-column prop="currentStlAmountNetUSD" label="USD" width="100px">
                     <template slot-scope="scope">
-                        <el-input style="width: 100%;" v-model="scope.row.currentStlAmountUSD" v-if="brfalse"
-                                  size="mini" autocomplete="off"
-                                  clearable placeholder="请输入USD" >
+                        <el-input style="width: 100%;" v-model="scope.row.currentStlAmountUSD" v-if="brfalse" size="mini"
+                            autocomplete="off" clearable placeholder="请输入USD">
                         </el-input>
-                        <span v-else>{{scope.row.currentStlAmountUSD}}</span>
+                        <span v-else>{{ scope.row.currentStlAmountUSD }}</span>
                     </template>
                 </el-table-column>
             </el-table-column>
 
-            <el-table-column
-                prop="isSignfor"
-                label="签收">
+            <el-table-column prop="isSignfor" label="签收">
                 <template slot-scope="{ row }">
                     <span v-if="row.isSignfor == item.dictKey" v-for="item in ifInvoiceData" :key="item.dictKey">
-                        {{item.dictValue}}
+                        {{ item.dictValue }}
                     </span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="signforDate"
-                label="签收日期">
+            <el-table-column prop="signforDate" label="签收日期">
             </el-table-column>
             <el-table-column label="发票">
                 <!--currentInvoiceAmount-->
-                <el-table-column
-                    prop="currentInvoiceAmountRMB"
-                    label="RMB">
+                <el-table-column prop="currentInvoiceAmountRMB" label="RMB">
                 </el-table-column>
-                <el-table-column
-                    prop="currentInvoiceAmountUSD"
-                    label="USD">
+                <el-table-column prop="currentInvoiceAmountUSD" label="USD">
                 </el-table-column>
             </el-table-column>
-            <el-table-column
-                prop="ETD"
-                label="ETD">
+            <el-table-column prop="ETD" label="ETD">
             </el-table-column>
-            <el-table-column
-                prop="vesselCnName"
-                label="船名">
+            <el-table-column prop="vesselCnName" label="船名">
             </el-table-column>
-            <el-table-column
-                prop="voyageNo"
-                label="航次" width="100px">
+            <el-table-column prop="voyageNo" label="航次" width="100px">
                 <template slot-scope="{ row }">
-                    <span class="textHide" >{{row.voyageNo}}</span>
+                    <span class="textHide">{{ row.voyageNo }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="podCnName"
-                label="目的港">
+            <el-table-column prop="podCnName" label="目的港">
             </el-table-column>
-            <el-table-column
-                prop="quantityCntrTypesDescr"
-                label="箱量">
+            <el-table-column prop="quantityCntrTypesDescr" label="箱量">
             </el-table-column>
             <!--amount 应结算金额 有税-->
             <!--amountNet 应结算金额 没有税-->
             <el-table-column label="应结算金额(含税)">
                 <!--amount-->
-                <el-table-column
-                    prop="amountRMB"
-                    label="RMB">
+                <el-table-column prop="amountRMB" label="RMB">
                 </el-table-column>
-                <el-table-column
-                    prop="amountUSD"
-                    label="USD">
+                <el-table-column prop="amountUSD" label="USD">
                 </el-table-column>
             </el-table-column>
             <el-table-column label="应结算金额(净额)">
                 <!--amountNet-->
-                <el-table-column
-                    prop="amountNetRMB"
-                    label="RMB">
+                <el-table-column prop="amountNetRMB" label="RMB">
                 </el-table-column>
-                <el-table-column
-                    prop="amountNetUSD"
-                    label="USD">
+                <el-table-column prop="amountNetUSD" label="USD">
                 </el-table-column>
             </el-table-column>
             <el-table-column label="已结算金额(含税)">
                 <!--stlTtlAmount-->
-                <el-table-column
-                    prop="stlTtlAmountRMB"
-                    label="RMB">
+                <el-table-column prop="stlTtlAmountRMB" label="RMB">
                 </el-table-column>
-                <el-table-column
-                    prop="stlTtlAmountUSD"
-                    label="USD">
+                <el-table-column prop="stlTtlAmountUSD" label="USD">
                 </el-table-column>
             </el-table-column>
             <el-table-column label="已结算金额(净额)">
                 <!--自己起的 stlTtlAmountNet-->
-                <el-table-column
-                    prop="stlTtlAmountNetRMB"
-                    label="RMB">
+                <el-table-column prop="stlTtlAmountNetRMB" label="RMB">
                 </el-table-column>
-                <el-table-column
-                    prop="stlTtlAmountNetUSD"
-                    label="USD">
+                <el-table-column prop="stlTtlAmountNetUSD" label="USD">
                 </el-table-column>
             </el-table-column>
             <!-- stlTtlAmount 乘 taxRate + surchargeRate-->
-            <el-table-column
-                prop="eta"
-                label="ETA">
+            <el-table-column prop="eta" label="ETA">
                 <template slot-scope="{ row }">
-                    <span class="textHide" >{{row.eta}}</span>
+                    <span class="textHide">{{ row.eta }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="remarkss"
-                label="备注" width="150px">
+            <el-table-column prop="remarkss" label="备注" width="150px">
                 <template slot-scope="scope">
-                    <el-input style="width: 100%;" v-model="scope.row.remarkss" v-if="brfalse"
-                              size="mini" autocomplete="off"
-                              clearable placeholder="请输入备注" >
+                    <el-input style="width: 100%;" v-model="scope.row.remarkss" v-if="brfalse" size="mini"
+                        autocomplete="off" clearable placeholder="请输入备注">
                     </el-input>
-                    <span v-else>{{scope.row.remarkss}}</span>
+                    <span v-else>{{ scope.row.remarkss }}</span>
                 </template>
             </el-table-column>
 
@@ -285,218 +196,218 @@
 </template>
 
 <script>
-    import {getWorkDicts} from "@/api/system/dictbiz";
-    import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
-    import {getRateList} from "@/api/iosBasicData/rateManagement";
+import { getWorkDicts } from "@/api/system/dictbiz";
+import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
+import { getRateList } from "@/api/iosBasicData/rateManagement";
 
-    export default {
-        components: {SearchQuery},
-        props:{
-            tableData:{
-                type:Array,
-                default:[],
-            },
-            brfalse:{
-                type:Boolean,
-                default:true,
-            },
-            handleSelectionData:{
-                type:Array,
-                default:[],
-            },
-            editSave:{
-                type:Boolean,
-                default:false
-            }
+export default {
+    components: { SearchQuery },
+    props: {
+        tableData: {
+            type: Array,
+            default: [],
+        },
+        brfalse: {
+            type: Boolean,
+            default: true,
+        },
+        handleSelectionData: {
+            type: Array,
+            default: [],
         },
-        data(){
-            return {
-                ifInvoiceData:[], // 是否数据
-                invoicelosDara:[],// 发票
-                curCodeData:[], // 币种
+        editSave: {
+            type: Boolean,
+            default: false
+        }
+    },
+    data() {
+        return {
+            ifInvoiceData: [], // 是否数据
+            invoicelosDara: [],// 发票
+            curCodeData: [], // 币种
+        }
+    },
+    created() {
+        this.isSignforWorkDicts()
+        this.invoicelosWorkDictsfun()
+    },
+    methods: {
+        // 币别切换
+        corpChange(value, row) {
+            this.$set(row, 'currentStlCurCode', value)
+            row.currentStlAmountNet = Number(row.currentStlAmount) - (Number(row.currentStlAmount) * (Number(row.taxRate) + Number(row.surchargeRate)))
+            if (value == 'CNY') {
+                delete row.currentStlAmountUSD
+                delete row.currentStlAmountNetUSD
+                this.$set(row, 'currentStlAmountRMB', row.unsettledAmount) // 未结算金额
+                this.$set(row, 'currentStlAmountNetRMB', row.currentStlAmountNet)
+            } else {
+                delete row.currentStlAmountRMB
+                delete row.currentStlAmountNetRMB
+                this.$set(row, 'currentStlAmountUSD', row.unsettledAmount) // 未结算金额
+                this.$set(row, 'currentStlAmountNetUSD', row.currentStlAmountNet)
             }
         },
-        created() {
-            this.isSignforWorkDicts()
-            this.invoicelosWorkDictsfun()
+        // 接口请求
+        // 是否接口
+        isSignforWorkDicts() {
+            getWorkDicts('ifInvoice').then(res => {
+                this.ifInvoiceData = res.data.data
+            })
+        },
+        // 发票
+        invoicelosWorkDictsfun() {
+            getWorkDicts('invoice_los').then(res => {
+                this.invoicelosDara = res.data.data
+            })
+        },
+        // 获取币别数据
+        getRateListfun(cnName) {
+            getRateList({ current: 1, size: 10, cnName }).then(res => {
+                this.curCodeData = res.data.data.records
+            })
         },
-        methods:{
-            // 币别切换
-            corpChange(value,row){
-                this.$set(row,'currentStlCurCode',value)
-                row.currentStlAmountNet = Number(row.currentStlAmount) - (Number(row.currentStlAmount) * (Number(row.taxRate) + Number(row.surchargeRate)))
-                if (value == 'CNY') {
-                    delete row.currentStlAmountUSD
-                    delete row.currentStlAmountNetUSD
-                    this.$set(row,'currentStlAmountRMB',row.unsettledAmount) // 未结算金额
-                    this.$set(row,'currentStlAmountNetRMB',row.currentStlAmountNet)
-                }else {
-                    delete row.currentStlAmountRMB
-                    delete row.currentStlAmountNetRMB
-                    this.$set(row,'currentStlAmountUSD',row.unsettledAmount) // 未结算金额
-                    this.$set(row,'currentStlAmountNetUSD',row.currentStlAmountNet)
-                }
-            },
-            // 接口请求
-            // 是否接口
-            isSignforWorkDicts(){
-                getWorkDicts('ifInvoice').then(res=>{
-                    this.ifInvoiceData = res.data.data
-                })
-            },
-            // 发票
-            invoicelosWorkDictsfun(){
-                getWorkDicts('invoice_los').then(res=>{
-                    this.invoicelosDara = res.data.data
-                })
-            },
-            // 获取币别数据
-            getRateListfun(cnName){
-                getRateList({current:1,size:10,cnName}).then(res=>{
-                    this.curCodeData = res.data.data.records
-                })
-            },
 
-            // 表头样式
-            tableHeaderCellStyle({row,column,rowIndex, columnIndex}){
-                return "padding:4px 0px;fontSize:12px;color:#000;background:#ecf5ff"
-            },
+        // 表头样式
+        tableHeaderCellStyle({ row, column, rowIndex, columnIndex }) {
+            return "padding:4px 0px;fontSize:12px;color:#000;background:#ecf5ff"
+        },
 
-            // Element UI 表格点击选中行/取消选中 快捷多选 以及快捷连续多选,高亮选中行 ——-------------------------------------——
-            // 多选选择的数据
-            handleSelectionChange(arr){
-                // // 全选
-                // if (arr.length == this.tableData.length) {
-                //     for (let item of arr) {
-                //         this.$set(item,'tableSelect',1)
-                //     }
-                // }
-                // // 清除全选
-                // if (arr.length == 0) {
-                //     for (let item of this.tableData) {
-                //         this.$set(item,'tableSelect',0)
-                //     }
-                // }
-                this.$emit('handleSelectionChange',arr)
-            },
-            // // 多选
-            // toggleSelection(rows){
-            //     if (rows) {
-            //         rows.forEach(row => {
-            //             this.$refs.tableRef.toggleRowSelection(row);
-            //         });
-            //     } else {
-            //         this.$refs.tableRef.clearSelection();
+        // Element UI 表格点击选中行/取消选中 快捷多选 以及快捷连续多选,高亮选中行 ——-------------------------------------——
+        // 多选选择的数据
+        handleSelectionChange(arr) {
+            // // 全选
+            // if (arr.length == this.tableData.length) {
+            //     for (let item of arr) {
+            //         this.$set(item,'tableSelect',1)
             //     }
-            // },
-            // 监听点击表格事件
-            rowClick(row, column, event) {
-                let refsElTable = this.$refs.tableRef; // 获取表格对象
-                if (this.CtrlDown) {
-                    refsElTable.toggleRowSelection(row); // ctrl多选 如果点击两次同样会取消选中
-                    return;
-                }
-                if ( this.shiftOrAltDown && this.handleSelectionData.length > 0) {
-                    // 通过rowIndex判断已选择的行中最上面和最下面的是哪行,再对比按住shift/alt点击的当前行得到新的最上面和最下面的行,把这两行中间的行进行循环选中。
-                    let topAndBottom = this.getTopAndBottom(  row, this.bottomSelectionRow, this.topSelectionRow );
-                    refsElTable.clearSelection(); //先清空 不然会导致在这两行中间之外的行状态不变
-                    for (let index = topAndBottom.top; index <= topAndBottom.bottom; index++) { //选中两行之间的所有行
-                        refsElTable.toggleRowSelection(this.tableData[index], true);
-                    }
-                } else {
-                    let findRow = this.handleSelectionData.find(c => c.rowIndex == row.rowIndex); //找出当前选中行
-                    //如果只有一行且点击的也是这一行则取消选择 否则清空再选中当前点击行
-                    if (findRow&& this.handleSelectionData.length === 1 ) {
-                        refsElTable.toggleRowSelection(row, false);
-                        return;
-                    }
-                    // refsElTable.clearSelection(); // 清空之前选择的数据(如果放开,选择之前会变成单选)
-                    refsElTable.toggleRowSelection(row); // 调用选中行方法
-                }
-            },
-            // 行的 style 的回调方法
-            rowStyle({row,rowIndex}) {
-                // 直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象
-                // object: 要添加或者修改属性的目标对象;prop: 要定义或修改属性的名称;descript: 是一个对象,里面是我们上述的对象属性的特性;
-                Object.defineProperty(row, 'rowIndex', { //给每一行添加不可枚举属性rowIndex来标识当前行
-                    value: rowIndex, // 设置age的值,不设置的话默认为undefined
-                    writable: true, // 表示属性的值true可以修改,false不可以被修改
-                    enumerable: false, // 设置为false表示不能通过 for-in 循环返回
-                    // configurable: false, // configurable 设置为 false,意味着这个属性不能从对象上删除
-                })
-            },
-            keyDown(event) {
-                let key = event.keyCode;
-                if (key == 17) this.CtrlDown = true;
-                if (key == 16 || key == 18) this.shiftOrAltDown = true;
-            },
-            keyUp(event) {
-                let key = event.keyCode;
-                if (key == 17) this.CtrlDown = false;
-                if (key == 16 || key == 18) this.shiftOrAltDown = false;
-            },
-            // 文章说明 https://www.jianshu.com/p/48f2c522d2a2
-            getTopAndBottom(row, bottom, top){
-                let n = row.rowIndex,
-                    mx = bottom.rowIndex,
-                    mi = top.rowIndex;
-                if (n > mx) {
-                    return {
-                        top: mi,
-                        bottom: n
-                    };
-                } else if (n < mx && n > mi) {
-                    return {
-                        top: mi,
-                        bottom: n
-                    };
-                } else if (n < mi) {
-                    return {
-                        top: n,
-                        bottom: mx
-                    };
-                } else if (n == mi || n == mx) {
-                    return {
-                        top: mi,
-                        bottom: mx
-                    };
+            // }
+            // // 清除全选
+            // if (arr.length == 0) {
+            //     for (let item of this.tableData) {
+            //         this.$set(item,'tableSelect',0)
+            //     }
+            // }
+            this.$emit('handleSelectionChange', arr)
+        },
+        // // 多选
+        // toggleSelection(rows){
+        //     if (rows) {
+        //         rows.forEach(row => {
+        //             this.$refs.tableRef.toggleRowSelection(row);
+        //         });
+        //     } else {
+        //         this.$refs.tableRef.clearSelection();
+        //     }
+        // },
+        // 监听点击表格事件
+        rowClick(row, column, event) {
+            let refsElTable = this.$refs.tableRef; // 获取表格对象
+            if (this.CtrlDown) {
+                refsElTable.toggleRowSelection(row); // ctrl多选 如果点击两次同样会取消选中
+                return;
+            }
+            if (this.shiftOrAltDown && this.handleSelectionData.length > 0) {
+                // 通过rowIndex判断已选择的行中最上面和最下面的是哪行,再对比按住shift/alt点击的当前行得到新的最上面和最下面的行,把这两行中间的行进行循环选中。
+                let topAndBottom = this.getTopAndBottom(row, this.bottomSelectionRow, this.topSelectionRow);
+                refsElTable.clearSelection(); //先清空 不然会导致在这两行中间之外的行状态不变
+                for (let index = topAndBottom.top; index <= topAndBottom.bottom; index++) { //选中两行之间的所有行
+                    refsElTable.toggleRowSelection(this.tableData[index], true);
                 }
-            },
-            // 给选中行加上current-row这个class类,所以要使用row-class-name这个属性(其实给每一行添加rowIndex也可以用这个属性),
-            // 判断方式也是通过判断rowIndex对比
-            rowClassName({ row,  rowIndex }) {
-                let rowName = "",
-                    findRow = this.handleSelectionData.find(c => c.rowIndex === row.rowIndex);
-                if (findRow) {
-                    rowName = "current-row "; // elementUI 默认高亮行的class类 不用再样式了^-^,也可通过css覆盖改变背景颜色
+            } else {
+                let findRow = this.handleSelectionData.find(c => c.rowIndex == row.rowIndex); //找出当前选中行
+                //如果只有一行且点击的也是这一行则取消选择 否则清空再选中当前点击行
+                if (findRow && this.handleSelectionData.length === 1) {
+                    refsElTable.toggleRowSelection(row, false);
+                    return;
                 }
-                return rowName; //也可以再加上其他类名 如果有需求的话
-            },
+                // refsElTable.clearSelection(); // 清空之前选择的数据(如果放开,选择之前会变成单选)
+                refsElTable.toggleRowSelection(row); // 调用选中行方法
+            }
         },
-        mounted() {
-            // 按住ctrl实现多选 设置监听keydown事件,以及keyup事件,
-            addEventListener("keydown", this.keyDown, false);
-            addEventListener("keyup", this.keyUp, false);
+        // 行的 style 的回调方法
+        rowStyle({ row, rowIndex }) {
+            // 直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象
+            // object: 要添加或者修改属性的目标对象;prop: 要定义或修改属性的名称;descript: 是一个对象,里面是我们上述的对象属性的特性;
+            Object.defineProperty(row, 'rowIndex', { //给每一行添加不可枚举属性rowIndex来标识当前行
+                value: rowIndex, // 设置age的值,不设置的话默认为undefined
+                writable: true, // 表示属性的值true可以修改,false不可以被修改
+                enumerable: false, // 设置为false表示不能通过 for-in 循环返回
+                // configurable: false, // configurable 设置为 false,意味着这个属性不能从对象上删除
+            })
         },
-        beforeDestroy() { //解绑
-            removeEventListener("keydown", this.keyDown);
-            removeEventListener("keyup", this.keyUp);
+        keyDown(event) {
+            let key = event.keyCode;
+            if (key == 17) this.CtrlDown = true;
+            if (key == 16 || key == 18) this.shiftOrAltDown = true;
         },
-        computed: { //实时得到最上行和最下行
-            bottomSelectionRow() {
-                if (this.handleSelectionData.length == 0) return null;
-                return this.handleSelectionData.reduce((start, end) => {
-                    return start.rowIndex > end.rowIndex ? start : end;
-                });
-            },
-            topSelectionRow() {
-                if (this.handleSelectionData.length == 0) return null;
-                return this.handleSelectionData.reduce((start, end) => {
-                    return start.rowIndex < end.rowIndex ? start : end;
-                });
+        keyUp(event) {
+            let key = event.keyCode;
+            if (key == 17) this.CtrlDown = false;
+            if (key == 16 || key == 18) this.shiftOrAltDown = false;
+        },
+        // 文章说明 https://www.jianshu.com/p/48f2c522d2a2
+        getTopAndBottom(row, bottom, top) {
+            let n = row.rowIndex,
+                mx = bottom.rowIndex,
+                mi = top.rowIndex;
+            if (n > mx) {
+                return {
+                    top: mi,
+                    bottom: n
+                };
+            } else if (n < mx && n > mi) {
+                return {
+                    top: mi,
+                    bottom: n
+                };
+            } else if (n < mi) {
+                return {
+                    top: n,
+                    bottom: mx
+                };
+            } else if (n == mi || n == mx) {
+                return {
+                    top: mi,
+                    bottom: mx
+                };
+            }
+        },
+        // 给选中行加上current-row这个class类,所以要使用row-class-name这个属性(其实给每一行添加rowIndex也可以用这个属性),
+        // 判断方式也是通过判断rowIndex对比
+        rowClassName({ row, rowIndex }) {
+            let rowName = "",
+                findRow = this.handleSelectionData.find(c => c.rowIndex === row.rowIndex);
+            if (findRow) {
+                rowName = "current-row "; // elementUI 默认高亮行的class类 不用再样式了^-^,也可通过css覆盖改变背景颜色
             }
+            return rowName; //也可以再加上其他类名 如果有需求的话
         },
-    }
+    },
+    mounted() {
+        // 按住ctrl实现多选 设置监听keydown事件,以及keyup事件,
+        addEventListener("keydown", this.keyDown, false);
+        addEventListener("keyup", this.keyUp, false);
+    },
+    beforeDestroy() { //解绑
+        removeEventListener("keydown", this.keyDown);
+        removeEventListener("keyup", this.keyUp);
+    },
+    computed: { //实时得到最上行和最下行
+        bottomSelectionRow() {
+            if (this.handleSelectionData.length == 0) return null;
+            return this.handleSelectionData.reduce((start, end) => {
+                return start.rowIndex > end.rowIndex ? start : end;
+            });
+        },
+        topSelectionRow() {
+            if (this.handleSelectionData.length == 0) return null;
+            return this.handleSelectionData.reduce((start, end) => {
+                return start.rowIndex < end.rowIndex ? start : end;
+            });
+        }
+    },
+}
 </script>
 
 <style scoped>

File diff suppressed because it is too large
+ 260 - 327
src/views/iosBasicData/CollectionSettlement/finstlbillsDetails.vue


+ 633 - 659
src/views/iosBasicData/CollectionSettlement/index.vue

@@ -1,704 +1,678 @@
 <template>
   <div>
-      <basic-container v-if="isShow">
-          <avue-crud :option="option"
-                     :table-loading="loading"
-                     :data="data"
-                     :page.sync="page"
-                     :permission="permissionList"
-                     id="out-table"
-                     :header-cell-class-name="headerClassName"
-                     :before-open="beforeOpen"
-                     v-model="form"
-                     ref="crud"
-                     @row-update="rowUpdate"
-                     @row-save="rowSave"
-                     @row-del="rowDel"
-                     @search-change="searchChange"
-                     @search-reset="searchReset"
-                     @selection-change="selectionChange"
-                     @current-change="currentChange"
-                     @size-change="sizeChange"
-                     @refresh-change="refreshChange"
-                     @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 315)"
-                     @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 315)"
-                     @on-load="onLoad" @expand-change="expandChange" >
-              <template slot="expand" slot-scope="{row}">
-                  <finstlbillsitems :tableData="row.finStlBillsItemsList || []" :brfalse="false" ></finstlbillsitems>
-              </template>
-              <template slot="menuLeft">
-                  <el-button type="success"
-                             size="small"
-                             icon="el-icon-plus"
-                             plain
-                             @click="newbillFun">新建账单
-                  </el-button>
-                  <el-button type="danger"
-                             size="small"
-                             icon="el-icon-delete"
-                             plain
-                             @click="handleDelete">删 除
-                  </el-button>
-              </template>
-              <template slot="menu" slot-scope="{row}">
-                  <el-button type="text"
-                             size="small"
-                             @click="editFun(row)">编辑
-                  </el-button>
-                  <el-button type="text"
-                             size="small"
-                             @click="rowDel(row)">删除
-                  </el-button>
-              </template>
+    <basic-container v-if="isShow">
+      <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" :permission="permissionList"
+        id="out-table" :header-cell-class-name="headerClassName" :before-open="beforeOpen" v-model="form" ref="crud"
+        @row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel" @search-change="searchChange"
+        @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
+        @size-change="sizeChange" @refresh-change="refreshChange"
+        @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 315)"
+        @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 315)" @on-load="onLoad" @expand-change="expandChange">
+        <template slot="expand" slot-scope="{row}">
+          <finstlbillsitems :tableData="row.finStlBillsItemsList || []" :brfalse="false"></finstlbillsitems>
+        </template>
+        <template slot="menuLeft">
+          <el-button type="success" size="small" icon="el-icon-plus" plain @click="newbillFun">新建账单
+          </el-button>
+          <el-button type="danger" size="small" icon="el-icon-delete" plain @click="handleDelete">删 除
+          </el-button>
+        </template>
+        <template slot="menu" slot-scope="{row}">
+          <el-button type="text" size="small" @click="editFun(row)">编辑
+          </el-button>
+          <el-button type="text" size="small" @click="rowDel(row)">删除
+          </el-button>
+        </template>
 
-          </avue-crud>
-      </basic-container>
+      </avue-crud>
+    </basic-container>
 
-      <finstlbillsDetails ref="finstlbillsDetails" v-if="!isShow" :editSave="editSave" @goBack="goBack"></finstlbillsDetails>
+    <finstlbillsDetails ref="finstlbillsDetails" v-if="!isShow" :editSave="editSave" @goBack="goBack">
+    </finstlbillsDetails>
 
   </div>
 </template>
 
 <script>
-  import {finstlbillsList, finstlbillsDetail, finstlbillsSubmit, finstlbillsRemove, finstlbillsitemsList} from "@/api/iosBasicData/finstlbills";
-  import {mapGetters} from "vuex";
-  import finstlbillsDetails from '@/views/iosBasicData/CollectionSettlement/finstlbillsDetails.vue'
-  import {getWorkDicts} from "@/api/system/dictbiz";
-  import finstlbillsitems from "@/views/iosBasicData/CollectionSettlement/assembly/finstlbillsitems.vue";
-  import {getRateList} from "@/api/iosBasicData/rateManagement";
+import { finstlbillsList, finstlbillsDetail, finstlbillsSubmit, finstlbillsRemove, finstlbillsitemsList } from "@/api/iosBasicData/finstlbills";
+import { mapGetters } from "vuex";
+import finstlbillsDetails from '@/views/iosBasicData/CollectionSettlement/finstlbillsDetails.vue'
+import { getWorkDicts } from "@/api/system/dictbiz";
+import finstlbillsitems from "@/views/iosBasicData/CollectionSettlement/assembly/finstlbillsitems.vue";
+import { getRateList } from "@/api/iosBasicData/rateManagement";
 
-  export default {
-      components:{finstlbillsitems, finstlbillsDetails},
-    data() {
+export default {
+  components: { finstlbillsitems, finstlbillsDetails },
+  data() {
+    return {
+      // 详情页面和列表切换
+      isShow: true,
+      form: {},
+      query: {},
+      loading: true,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0
+      },
+      selectionList: [],
+      option: {},
+      optionBack: {
+        height: 'auto',
+        calcHeight: 30,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        border: true,
+        index: true,
+        viewBtn: true,
+        selection: true,
+        dialogClickModal: false,
+        menuWidth: 100,
+        expand: true,
+        rowKey: 'id',
+        column: [
+          {
+            label: "业务类型",
+            prop: "businessType",
+            overHidden: true,
+          },
+          {
+            label: "MB/L NO",
+            prop: "mblno",
+            search: true,
+            overHidden: true,
+          },
+          {
+            label: "单据编号",
+            prop: "billNo",
+            search: true,
+            overHidden: true,
+          },
+          {
+            label: "对账/结算日期",
+            prop: "billDate",
+            width: "150",
+            overHidden: true,
+          },
+          {
+            label: "客户名称",
+            prop: "corpCnName",
+            search: true,
+            width: "120",
+            overHidden: true,
+          },
+          {
+            label: "客户英文名称",
+            prop: "corpEnName",
+            width: "120",
+            overHidden: true,
+          },
+          {
+            label: "客户是否已签约",
+            prop: "corpIsSigned",
+            width: "120",
+            dicData: [],
+            props: {
+              label: "dictValue",
+              value: "dictKey"
+            },
+          },
+          {
+            label: "客户约号",
+            prop: "corpArgreementNo",
+            overHidden: true,
+          },
+          {
+            label: "客户账期备注",
+            prop: "corpAccRemarks",
+            width: "120",
+            overHidden: true,
+          },
+          {
+            label: "业务类型",
+            prop: "businessTypes",
+            width: "120",
+            overHidden: true,
+            type: 'select',
+            multiple: true,
+            dicData: [
+              {
+                label: '海运出口',
+                value: 'SE'
+              }, {
+                label: '海运进口',
+                value: 'SI'
+              }
+            ],
+          },
+          {
+            label: "本位币应收(CNY)",
+            prop: "amountDr",
+            width: "160"
+          },
+          {
+            label: "本位币应付(CNY)",
+            prop: "amountCr",
+            width: "160"
+          },
+          // {
+          //   label: "综合 USD 应收(USD) - 非 USD 外币转换为 USD",
+          //   prop: "amountDrUsd",
+          //     width: "160"
+          // },
+          // {
+          //   label: "综合 USD 应付(USD) - 非 USD 外币转换为 USD",
+          //   prop: "amountCrUsd",
+          //     width: "160"
+          // },
+          {
+            label: "合计本位币应收(CNY )",
+            prop: "amountDrLoc",
+            width: "160"
+          },
+          {
+            label: "合计本位币应付(CNY)",
+            prop: "amountCrLoc",
+            width: "160"
+          },
+          {
+            label: "本位币税后应收(CNY)",
+            prop: "amountDrNet",
+            width: "160"
+          },
+          {
+            label: "本位币税后应付(CNY)",
+            prop: "amountCrNet",
+            width: "160"
+          },
+          // {
+          //   label: "综合 USD 税后应收(USD) - 非 USD 外币转换为 USD",
+          //   prop: "amountDrUsdNet",
+          //     width: "160"
+          // },
+          // {
+          //   label: "综合 USD 税后应付(USD) - 非 USD 外币转换为 USD",
+          //   prop: "amountCrUsdNet",
+          //     width: "160"
+          // },
+          {
+            label: "合计本位币税后应收(CNY)",
+            prop: "amountDrLocNet",
+            width: "170"
+          },
+          {
+            label: "合计本位币税后应付(CNY)",
+            prop: "amountCrLocNet",
+            width: "170"
+          },
+          {
+            label: "业务单据编号",
+            prop: "businessNo",
+            width: "120",
+            overHidden: true,
+          },
+          {
+            label: "账单编号",
+            prop: "accountNo",
+            width: "100",
+            overHidden: true,
+          },
+          {
+            label: "对账单编号",
+            prop: "checkNo",
+            width: "100",
+            overHidden: true,
+          },
+          {
+            label: "业务所在部门",
+            prop: "deptName",
+            width: "120",
+            overHidden: true,
+          },
+          {
+            label: "业务操作",
+            prop: "operatorName",
+            width: "100",
+            overHidden: true,
+          },
+          {
+            label: "业务员",
+            prop: "salesName",
+            overHidden: true,
+          },
+          {
+            label: "费用收付",
+            prop: "dc",
+            // search:true,
+            type: 'select',
+            dicData: [
+              {
+                label: 'Debit',
+                value: 'D'
+              }, {
+                label: 'Credit',
+                value: 'C'
+              }
+            ],
+            overHidden: true,
+          },
+          {
+            label: "币种",
+            prop: "curCode",
+            search: true,
+            type: 'select',
+            dicData: [],
+            props: {
+              label: "code",
+              value: "id"
+            },
+            overHidden: true,
+          },
+          {
+            label: "中文船名",
+            prop: "vesselCnName",
+            overHidden: true,
+          },
+          {
+            label: "英文船名",
+            prop: "vesselEnName",
+            overHidden: true,
+          },
+          {
+            label: "航次",
+            prop: "voyageNo",
+            overHidden: true,
+          },
+          {
+            label: "HB/L NO",
+            prop: "hblno",
+          },
+          {
+            label: "财务开始日期",
+            prop: "accountDateFrom",
+            width: "140"
+          },
+          {
+            label: "财务结束日期",
+            prop: "accountDateTo",
+            width: "140"
+          },
+          {
+            label: "审核开始日期",
+            prop: "auditDateFrom",
+            width: "140"
+          },
+          {
+            label: "审核结束日期",
+            prop: "auditDateTo",
+            width: "140"
+          },
+          {
+            label: "发票号",
+            prop: "invoiceNo",
+          },
+          {
+            label: "检验检疫 NO",
+            prop: "iqNo",
+            width: "140"
+          },
+          {
+            label: "费用中文名称",
+            prop: "feeCode",
+            width: "140"
+          },
+          {
+            label: "费用中文名称",
+            prop: "feeCnName",
+            width: "140"
+          },
+          {
+            label: "费用英文名称",
+            prop: "feeEnName",
+            width: "140"
+          },
+          {
+            label: "是否审核",
+            prop: "isApproved",
+            dicData: [],
+            props: {
+              label: "dictValue",
+              value: "dictKey"
+            },
+          },
+          {
+            label: "是否签收",
+            prop: "isSignfor",
+            dicData: [],
+            props: {
+              label: "dictValue",
+              value: "dictKey"
+            },
+          },
+          {
+            label: "是否对账",
+            prop: "isChecked",
+            dicData: [],
+            props: {
+              label: "dictValue",
+              value: "dictKey"
+            },
+          },
+          {
+            label: "是否销账",
+            prop: "isCleared",
+            dicData: [],
+            props: {
+              label: "dictValue",
+              value: "dictKey"
+            },
+          },
+          {
+            label: "是否开发票",
+            prop: "isInvoice",
+            dicData: [],
+            props: {
+              label: "dictValue",
+              value: "dictKey"
+            },
+            width: "140"
+          },
+          {
+            label: "是否含税价计算",
+            prop: "isTax",
+            dicData: [],
+            props: {
+              label: "dictValue",
+              value: "dictKey"
+            },
+            width: "140"
+          },
+          {
+            label: "凭证类型",
+            prop: "voucherType",
+          },
+          {
+            label: "凭证号",
+            prop: "voucherNo",
+          },
+          {
+            label: "凭证日期",
+            prop: "voucherDate",
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+          },
+        ]
+      },
+      data: [],
+      editSave: false, // 编辑保存打印状态
+    };
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
       return {
-          // 详情页面和列表切换
-          isShow:true,
-        form: {},
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option:{},
-        optionBack: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 6,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-            menuWidth:100,
-            expand: true,
-            rowKey:'id',
-          column: [
-            {
-              label: "业务类型",
-              prop: "businessType",
-              overHidden:true,
-            },
-            {
-                label: "MB/L NO",
-                prop: "mblno",
-                search:true,
-                overHidden:true,
-            },
-            {
-              label: "单据编号",
-              prop: "billNo",
-              search:true,
-              overHidden:true,
-            },
-            {
-              label: "对账/结算日期",
-              prop: "billDate",
-              width:"150",
-              overHidden:true,
-            },
-            {
-              label: "客户名称",
-              prop: "corpCnName",
-              search:true,
-              width:"120",
-              overHidden:true,
-            },
-            {
-              label: "客户英文名称",
-              prop: "corpEnName",
-              width:"120",
-              overHidden:true,
-            },
-            {
-              label: "客户是否已签约",
-              prop: "corpIsSigned",
-              width:"120",
-                dicData:[],
-                props: {
-                    label: "dictValue",
-                    value: "dictKey"
-                },
-            },
-            {
-              label: "客户约号",
-              prop: "corpArgreementNo",
-              overHidden:true,
-            },
-            {
-              label: "客户账期备注",
-              prop: "corpAccRemarks",
-              width:"120",
-              overHidden:true,
-            },
-            {
-              label: "业务类型",
-              prop: "businessTypes",
-              width:"120",
-              overHidden:true,
-              type:'select',
-              multiple:true,
-              dicData:[
-                  {
-                      label:'海运出口',
-                      value:'SE'
-                  },{
-                      label:'海运进口',
-                      value:'SI'
-                  }
-              ],
-            },
-            {
-                label: "本位币应收(CNY)",
-                prop: "amountDr",
-                width: "160"
-            },
-            {
-                label: "本位币应付(CNY)",
-                prop: "amountCr",
-                width: "160"
-            },
-            // {
-            //   label: "综合 USD 应收(USD) - 非 USD 外币转换为 USD",
-            //   prop: "amountDrUsd",
-            //     width: "160"
-            // },
-            // {
-            //   label: "综合 USD 应付(USD) - 非 USD 外币转换为 USD",
-            //   prop: "amountCrUsd",
-            //     width: "160"
-            // },
-            {
-                label: "合计本位币应收(CNY )",
-                prop: "amountDrLoc",
-                width: "160"
-            },
-            {
-                label: "合计本位币应付(CNY)",
-                prop: "amountCrLoc",
-                width: "160"
-            },
-            {
-                label: "本位币税后应收(CNY)",
-                prop: "amountDrNet",
-                width: "160"
-            },
-            {
-                label: "本位币税后应付(CNY)",
-                prop: "amountCrNet",
-                width: "160"
-            },
-            // {
-            //   label: "综合 USD 税后应收(USD) - 非 USD 外币转换为 USD",
-            //   prop: "amountDrUsdNet",
-            //     width: "160"
-            // },
-            // {
-            //   label: "综合 USD 税后应付(USD) - 非 USD 外币转换为 USD",
-            //   prop: "amountCrUsdNet",
-            //     width: "160"
-            // },
-            {
-                label: "合计本位币税后应收(CNY)",
-                prop: "amountDrLocNet",
-                width: "170"
-            },
-            {
-                label: "合计本位币税后应付(CNY)",
-                prop: "amountCrLocNet",
-                width: "170"
-            },
-            {
-              label: "业务单据编号",
-              prop: "businessNo",
-              width:"120",
-              overHidden:true,
-            },
-            {
-              label: "账单编号",
-              prop: "accountNo",
-              width:"100",
-              overHidden:true,
-            },
-            {
-              label: "对账单编号",
-              prop: "checkNo",
-              width:"100",
-              overHidden:true,
-            },
-            {
-              label: "业务所在部门",
-              prop: "deptName",
-              width:"120",
-              overHidden:true,
-            },
-            {
-              label: "业务操作",
-              prop: "operatorName",
-              width:"100",
-              overHidden:true,
-            },
-            {
-              label: "业务员",
-              prop: "salesName",
-              overHidden:true,
-            },
-            {
-              label: "费用收付",
-              prop: "dc",
-              // search:true,
-              type: 'select',
-              dicData:[
-                  {
-                      label:'Debit',
-                      value: 'D'
-                  },{
-                      label:'Credit',
-                      value: 'C'
-                  }
-              ],
-              overHidden:true,
-            },
-            {
-              label: "币种",
-              prop: "curCode",
-              search:true,
-              type: 'select',
-              dicData:[],
-              props: {
-                  label: "code",
-                  value: "id"
-              },
-              overHidden:true,
-            },
-            {
-              label: "中文船名",
-              prop: "vesselCnName",
-              overHidden:true,
-            },
-            {
-              label: "英文船名",
-              prop: "vesselEnName",
-              overHidden:true,
-            },
-            {
-              label: "航次",
-              prop: "voyageNo",
-              overHidden:true,
-            },
-            {
-              label: "HB/L NO",
-              prop: "hblno",
-            },
-            {
-              label: "财务开始日期",
-              prop: "accountDateFrom",
-                width: "140"
-            },
-            {
-              label: "财务结束日期",
-              prop: "accountDateTo",
-                width: "140"
-            },
-            {
-              label: "审核开始日期",
-              prop: "auditDateFrom",
-                width: "140"
-            },
-            {
-              label: "审核结束日期",
-              prop: "auditDateTo",
-                width: "140"
-            },
-            {
-              label: "发票号",
-              prop: "invoiceNo",
-            },
-            {
-              label: "检验检疫 NO",
-              prop: "iqNo",
-                width: "140"
-            },
-            {
-              label: "费用中文名称",
-              prop: "feeCode",
-                width: "140"
-            },
-            {
-              label: "费用中文名称",
-              prop: "feeCnName",
-                width: "140"
-            },
-            {
-              label: "费用英文名称",
-              prop: "feeEnName",
-                width: "140"
-            },
-            {
-              label: "是否审核",
-              prop: "isApproved",
-                dicData:[],
-                props: {
-                    label: "dictValue",
-                    value: "dictKey"
-                },
-            },
-            {
-              label: "是否签收",
-              prop: "isSignfor",
-              dicData:[],
-              props: {
-                label: "dictValue",
-                value: "dictKey"
-              },
-            },
-            {
-              label: "是否对账",
-              prop: "isChecked",
-                dicData:[],
-                props: {
-                    label: "dictValue",
-                    value: "dictKey"
-                },
-            },
-            {
-              label: "是否销账",
-              prop: "isCleared",
-                dicData:[],
-                props: {
-                    label: "dictValue",
-                    value: "dictKey"
-                },
-            },
-            {
-              label: "是否开发票",
-              prop: "isInvoice",
-                dicData:[],
-                props: {
-                    label: "dictValue",
-                    value: "dictKey"
-                },
-                width: "140"
-            },
-            {
-              label: "是否含税价计算",
-              prop: "isTax",
-                dicData:[],
-                props: {
-                    label: "dictValue",
-                    value: "dictKey"
-                },
-                width: "140"
-            },
-            {
-              label: "凭证类型",
-              prop: "voucherType",
-            },
-            {
-              label: "凭证号",
-              prop: "voucherNo",
-            },
-            {
-              label: "凭证日期",
-              prop: "voucherDate",
-            },
-            {
-              label: "备注",
-              prop: "remarks",
-            },
-          ]
-        },
-        data: [],
-        editSave:false, // 编辑保存打印状态
+        addBtn: this.vaildData(this.permission.finstlbills_add, false),
+        viewBtn: this.vaildData(this.permission.finstlbills_view, false),
+        delBtn: this.vaildData(this.permission.finstlbills_delete, false),
+        editBtn: this.vaildData(this.permission.finstlbills_edit, false)
       };
     },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.finstlbills_add, false),
-          viewBtn: this.vaildData(this.permission.finstlbills_view, false),
-          delBtn: this.vaildData(this.permission.finstlbills_delete, false),
-          editBtn: this.vaildData(this.permission.finstlbills_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
+    ids() {
+      let ids = [];
+      this.selectionList.forEach(ele => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    }
+  },
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(315), this.optionBack);
+    this.dictionaryfun() // 获取字典数据
+    this.getRateListfun() // 币别数据
+  },
+  methods: {
+    // 展开行
+    expandChange(row, expendList) {
+      finstlbillsitemsList(1, 20, { pid: row.id }).then(res => {
+        row.finStlBillsItemsList = res.data.data.records
+      })
+    },
+    // 新建账单
+    newbillFun() {
+      this.isShow = false
+      this.editSave = false
+      // this.$refs.finstlbillsDetails
+    },
+    // 编辑
+    editFun(row) {
+      this.isShow = false
+      this.editSave = true
+      this.$nextTick(() => {
+        this.$refs.finstlbillsDetails.finstlbillsDetailfun(row.id)
+      })
+    },
+    // 详情的返回列表
+    goBack() {
+      // 初始化数据
+      // this.detailData = this.$options.data().detailData;
+      if (JSON.stringify(this.$route.query) != "{}") {
+        this.$router.$avueRouter.closeTag();
+        this.$router.push({
+          path: "/iosBasicData/settlement/index"
         });
-        return ids.join(",");
       }
+      this.isShow = true;
+      this.onLoad(this.page, this.search);
+    },
+    // 添加
+    rowSave(row, done, loading) {
+      finstlbillsSubmit(row).then(() => {
+        this.onLoad(this.page);
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        done();
+      }, error => {
+        loading();
+        window.console.log(error);
+      });
     },
-    async created() {
-      this.option = await this.getColumnData(this.getColumnName(315), this.optionBack);
-      this.dictionaryfun() // 获取字典数据
-        this.getRateListfun() // 币别数据
+    // 保存
+    rowUpdate(row, index, done, loading) {
+      finstlbillsSubmit(row).then(() => {
+        this.onLoad(this.page);
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        done();
+      }, error => {
+        loading();
+        console.log(error);
+      });
     },
-    methods: {
-          // 展开行
-        expandChange(row,expendList){
-            finstlbillsitemsList(1,20,{pid:row.id}).then(res=>{
-                row.finStlBillsItemsList = res.data.data.records
-            })
-        },
-      // 新建账单
-      newbillFun(){
-          this.isShow = false
-          this.editSave = false
-          // this.$refs.finstlbillsDetails
-      },
-        // 编辑
-        editFun(row) {
-            this.isShow = false
-            this.editSave = true
-            this.$nextTick(()=>{
-                this.$refs.finstlbillsDetails.finstlbillsDetailfun(row.id)
-            })
-        },
-      // 详情的返回列表
-      goBack() {
-          // 初始化数据
-          // this.detailData = this.$options.data().detailData;
-          if (JSON.stringify(this.$route.query) != "{}") {
-              this.$router.$avueRouter.closeTag();
-              this.$router.push({
-                  path: "/iosBasicData/settlement/index"
-              });
-          }
-          this.isShow = true;
-          this.onLoad(this.page, this.search);
-      },
-      // 添加
-      rowSave(row, done, loading) {
-        finstlbillsSubmit(row).then(() => {
+    // 删除
+    rowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          return finstlbillsRemove(row.id);
+        })
+        .then(() => {
           this.onLoad(this.page);
           this.$message({
             type: "success",
             message: "操作成功!"
           });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
         });
-      },
-        // 保存
-      rowUpdate(row, index, done, loading) {
-        finstlbillsSubmit(row).then(() => {
+    },
+    // 批量删除
+    handleDelete() {
+      if (this.selectionList.length === 0) {
+        this.$message.warning("请选择至少一条数据");
+        return;
+      }
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          return finstlbillsRemove(this.ids);
+        })
+        .then(() => {
           this.onLoad(this.page);
           this.$message({
             type: "success",
             message: "操作成功!"
           });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
+          this.$refs.crud.toggleSelection();
         });
-      },
-        // 删除
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return finstlbillsRemove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-        // 批量删除
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return finstlbillsRemove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-        // 详情
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          finstlbillsDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        finstlbillsList(
-            page.currentPage,
-            page.pageSize,
-            {...Object.assign(params, this.query),businessType:'STL',dc:'D'},
-        ).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records.map(item=>{
-              item.isApproved = item.isApproved + ''
-              item.isSignfor = item.isSignfor + ''
-              item.isChecked = item.isChecked + ''
-              item.isCleared = item.isCleared + ''
-              item.isInvoice = item.isInvoice + ''
-              item.isTax = item.isTax + ''
-              item.corpIsSigned = item.corpIsSigned + ''
-              return item
-          })
-          this.loading = false;
-          this.selectionClear();
+    },
+    // 详情
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        finstlbillsDetail(this.form.id).then(res => {
+          this.form = res.data.data;
         });
-      },
+      }
+      done();
+    },
+    searchReset() {
+      this.query = {};
+      this.onLoad(this.page);
+    },
+    searchChange(params, done) {
+      this.query = params;
+      this.page.currentPage = 1;
+      this.onLoad(this.page, params);
+      done();
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    currentChange(currentPage) {
+      this.page.currentPage = currentPage;
+    },
+    sizeChange(pageSize) {
+      this.page.pageSize = pageSize;
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.query);
+    },
+    onLoad(page, params = {}) {
+      this.loading = true;
+      finstlbillsList(
+        page.currentPage,
+        page.pageSize,
+        { ...Object.assign(params, this.query), businessType: 'STL', dc: 'D' },
+      ).then(res => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records.map(item => {
+          item.isApproved = item.isApproved + ''
+          item.isSignfor = item.isSignfor + ''
+          item.isChecked = item.isChecked + ''
+          item.isCleared = item.isCleared + ''
+          item.isInvoice = item.isInvoice + ''
+          item.isTax = item.isTax + ''
+          item.corpIsSigned = item.corpIsSigned + ''
+          return item
+        })
+        this.loading = false;
+        this.selectionClear();
+      });
+    },
 
-        // 获取字典数据
-        dictionaryfun(){
-          // 全部是否
-            getWorkDicts('ifInvoice').then(res=>{
-                this.findObject(this.option.column, "isApproved").dicData = res.data.data
-                this.findObject(this.option.column, "isSignfor").dicData = res.data.data
-                this.findObject(this.option.column, "isChecked").dicData = res.data.data
-                this.findObject(this.option.column, "isCleared").dicData = res.data.data
-            })
-            // 是否开发票
-            getWorkDicts('invoice_los').then(res=>{
-                this.findObject(this.option.column, "isInvoice").dicData = res.data.data
-            })
-            // 是否
-            getWorkDicts('ifInvoice').then(res=>{
-                this.findObject(this.option.column, "corpIsSigned").dicData = res.data.data
-                this.findObject(this.option.column, "isTax").dicData = res.data.data
-            })
-        },
-        // 获取币别数据
-        getRateListfun(cnName){
-            getRateList({current:1,size:20,cnName}).then(res=>{
-                this.findObject(this.option.column, "curCode").dicData = res.data.data.records
-            })
-        },
+    // 获取字典数据
+    dictionaryfun() {
+      // 全部是否
+      getWorkDicts('ifInvoice').then(res => {
+        this.findObject(this.option.column, "isApproved").dicData = res.data.data
+        this.findObject(this.option.column, "isSignfor").dicData = res.data.data
+        this.findObject(this.option.column, "isChecked").dicData = res.data.data
+        this.findObject(this.option.column, "isCleared").dicData = res.data.data
+      })
+      // 是否开发票
+      getWorkDicts('invoice_los').then(res => {
+        this.findObject(this.option.column, "isInvoice").dicData = res.data.data
+      })
+      // 是否
+      getWorkDicts('ifInvoice').then(res => {
+        this.findObject(this.option.column, "corpIsSigned").dicData = res.data.data
+        this.findObject(this.option.column, "isTax").dicData = res.data.data
+      })
+    },
+    // 获取币别数据
+    getRateListfun(cnName) {
+      getRateList({ current: 1, size: 20, cnName }).then(res => {
+        this.findObject(this.option.column, "curCode").dicData = res.data.data.records
+      })
+    },
 
-        //自定义列保存
-        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;
-            }
-        },
+    //自定义列保存
+    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;
-        },
+    // 更改表格颜色
+    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 scoped>
 ::v-deep#out-table .back-one {
-    background: #ecf5ff !important;
-    text-align: center;
+  background: #ecf5ff !important;
+  text-align: center;
 }
 
 ::v-deep#out-table .back-two {
-    background: #ecf5ff !important;
-    text-align: center;
+  background: #ecf5ff !important;
+  text-align: center;
 }
 </style>

+ 532 - 571
src/views/iosBasicData/editypes/index.vue

@@ -1,613 +1,574 @@
 <template>
   <div>
-      <basic-container>
-          <avue-crud :option="option"
-                     :table-loading="loading"
-                     :data="data"
-                     :page.sync="page"
-                     :permission="permissionList"
-                     :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"
-                     @search-change="searchChange"
-                     @search-reset="searchReset"
-                     @selection-change="selectionChange"
-                     @current-change="currentChange"
-                     @size-change="sizeChange"
-                     @refresh-change="refreshChange"
-                     @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 325)"
-                     @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 325)"
-                     @on-load="onLoad">
-              <template slot="menuLeft">
-                  <el-button type="success"
-                             size="small"
-                             icon="el-icon-plus"
-                             plain
-                             @click="addfun">新建
-                  </el-button>
-                  <el-button type="danger"
-                             size="small"
-                             icon="el-icon-delete"
-                             plain
-                             @click="handleDelete">删 除
-                  </el-button>
-              </template>
-<!--              <template slot="corpCnNameForm">-->
-<!--                  <search-query :datalist="corpData"-->
-<!--                                :selectValue="form.corpCnName"-->
-<!--                                :clearable="true"-->
-<!--                                :filterable="true"-->
-<!--                                :remote="true"-->
-<!--                                :buttonIf="false"-->
-<!--                                :forParameter="{ key:'id', label:'cnName', value:'cnName'}"-->
-<!--                                @corpChange="corpChange($event,'corpCnName')"-->
-<!--                                @remoteMethod="corpBcorpsListfun"-->
-<!--                                @corpFocus="corpBcorpsListfun" >-->
-<!--                  </search-query>-->
-<!--              </template>-->
-              <template slot="addressForm">
-                  <el-button type="success"
-                             size="small"
-                             icon="el-icon-plus"
-                             plain
-                             @click="ressButton" >发送
-                  </el-button>
-              </template>
-              <template slot="userlistForm">
-                  <search-query :datalist="userData"
-                                :selectValue="form.userlist"
-                                :clearable="true"
-                                :multiple="true"
-                                :collapseTags="false"
-                                :buttonIf="false"
-                                :forParameter="{ key:'id', label:'roleName', value:'id'}"
-                                @corpChange="corpChange($event,'userlist')"
-                                @corpFocus="getRoleListfun" >
-                  </search-query>
-              </template>
-              <template slot="menu" slot-scope="{row}">
-                  <el-button type="text"
-                             size="small" icon="el-icon-edit"
-                             @click="editFun(row)">编辑
-                  </el-button>
-                  <el-button type="text"
-                             size="small" icon="el-icon-delete"
-                             @click="rowDel(row)">删除
-                  </el-button>
-                  <el-button v-if="row.status == 1" type="text" icon="el-icon-turn-off" style="color: #85e967" size="small"
-                             @click.stop="statusfun(row.id,0)">
-                      启用
-                  </el-button>
-                  <el-button v-if="row.status == 0" type="text" icon="el-icon-turn-off" style="color: #e83c3a" size="small"
-                             @click.stop="statusfun(row.id,1)">
-                      停用
-                  </el-button>
-              </template>
-          </avue-crud>
-      </basic-container>
-      <el-dialog title="配置发送数据" :visible.sync="ressVisible" width="70%" top="5vh" append-to-body
-                 class="el-dialogDeep" :close-on-click-modal="false" v-dialog-drag>
-          <div>
-              <avue-crud :option="ressOption" :data="tableData"
-                         id="out-table"
-                         :header-cell-class-name="headerClassName"
-                         @row-update="ressRowupdate"
-                         @row-save="ressRowsave" ></avue-crud>
-          </div>
-          <span slot="footer" class="dialog-footer">
-            <el-button @click="ressVisible = false;form.address = JSON.stringify(tableData)">取 消</el-button>
-            <el-button type="primary" @click="ressVisible = false;form.address = JSON.stringify(tableData)">确 定</el-button>
-          </span>
-      </el-dialog>
+    <basic-container>
+      <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" :permission="permissionList"
+        :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" @search-change="searchChange"
+        @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
+        @size-change="sizeChange" @refresh-change="refreshChange"
+        @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 325)"
+        @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 325)" @on-load="onLoad">
+        <template slot="menuLeft">
+          <el-button type="success" size="small" icon="el-icon-plus" plain @click="addfun">新建
+          </el-button>
+          <el-button type="danger" size="small" icon="el-icon-delete" plain @click="handleDelete">删 除
+          </el-button>
+        </template>
+        <!--              <template slot="corpCnNameForm">-->
+        <!--                  <search-query :datalist="corpData"-->
+        <!--                                :selectValue="form.corpCnName"-->
+        <!--                                :clearable="true"-->
+        <!--                                :filterable="true"-->
+        <!--                                :remote="true"-->
+        <!--                                :buttonIf="false"-->
+        <!--                                :forParameter="{ key:'id', label:'cnName', value:'cnName'}"-->
+        <!--                                @corpChange="corpChange($event,'corpCnName')"-->
+        <!--                                @remoteMethod="corpBcorpsListfun"-->
+        <!--                                @corpFocus="corpBcorpsListfun" >-->
+        <!--                  </search-query>-->
+        <!--              </template>-->
+        <template slot="addressForm">
+          <el-button type="success" size="small" icon="el-icon-plus" plain @click="ressButton">发送
+          </el-button>
+        </template>
+        <template slot="userlistForm">
+          <search-query :datalist="userData" :selectValue="form.userlist" :clearable="true" :multiple="true"
+            :collapseTags="false" :buttonIf="false" :forParameter="{ key: 'id', label: 'roleName', value: 'id' }"
+            @corpChange="corpChange($event, 'userlist')" @corpFocus="getRoleListfun">
+          </search-query>
+        </template>
+        <template slot="menu" slot-scope="{row}">
+          <el-button type="text" size="small" icon="el-icon-edit" @click="editFun(row)">编辑
+          </el-button>
+          <el-button type="text" size="small" icon="el-icon-delete" @click="rowDel(row)">删除
+          </el-button>
+          <el-button v-if="row.status == 1" type="text" icon="el-icon-turn-off" style="color: #85e967" size="small"
+            @click.stop="statusfun(row.id, 0)">
+            启用
+          </el-button>
+          <el-button v-if="row.status == 0" type="text" icon="el-icon-turn-off" style="color: #e83c3a" size="small"
+            @click.stop="statusfun(row.id, 1)">
+            停用
+          </el-button>
+        </template>
+      </avue-crud>
+    </basic-container>
+    <el-dialog title="配置发送数据" :visible.sync="ressVisible" width="70%" top="5vh" append-to-body class="el-dialogDeep"
+      :close-on-click-modal="false" v-dialog-drag>
+      <div>
+        <avue-crud :option="ressOption" :data="tableData" id="out-table" :header-cell-class-name="headerClassName"
+          @row-update="ressRowupdate" @row-save="ressRowsave"></avue-crud>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="ressVisible = false; form.address = JSON.stringify(tableData)">取 消</el-button>
+        <el-button type="primary" @click="ressVisible = false; form.address = JSON.stringify(tableData)">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-  import {editypesList, editypesDetail, editypesSubmit, editypesRemove} from "@/api/iosBasicData/editypes";
-  import {mapGetters} from "vuex";
-  import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
-  import {getBcorpslistByType} from "@/api/iosBasicData/bcorps";
-  import {getList as getRoleList} from "@/api/system/role"
-  import {bbusinesstypeList} from "@/api/iosBasicData/bbusinesstype";
+import { editypesList, editypesDetail, editypesSubmit, editypesRemove } from "@/api/iosBasicData/editypes";
+import { mapGetters } from "vuex";
+import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
+import { getBcorpslistByType } from "@/api/iosBasicData/bcorps";
+import { getList as getRoleList } from "@/api/system/role"
+import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 
-  export default {
-      components: {SearchQuery},
-      props:{
+export default {
+  components: { SearchQuery },
+  props: {
+  },
+  data() {
+    return {
+      form: {
+        userlist: [],
       },
-    data() {
-      return {
-        form: {
-            userlist:[],
-        },
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0
-        },
-        selectionList: [],
-        option:{},
-        optionBack: {
-          height:'auto',
-          calcHeight: 30,
-          tip: false,
-          searchShow: true,
-          searchMenuSpan: 24,
-          border: true,
-          index: true,
-          viewBtn: true,
-          selection: true,
-          dialogClickModal: false,
-            menuWidth:240,
-          column: [
-            {
-                label: "业务类型",
-                prop: "type",
-                search: true,
-                overHidden:true,
-                type: 'select',
-                dicData:[],
-                props: {
-                    label: "cnName",
-                    value: "code"
-                },
-                rules: [{
-                    required: true,
-                    message: "请输入业务类型",
-                    trigger: "blur"
-                }]
-            },
-            {
-              label: "edi编码",
-              prop: "code",
-                search: true,
-              overHidden:true,
-              rules: [{
-                required: true,
-                message: "请输入edi 编码,唯一",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "edi名称",
-              prop: "cnName",
-                search: true,
-              overHidden:true,
-              rules: [{
-                required: true,
-                message: "请输入edi 中文名称",
-                trigger: "blur"
-              }]
-            },
-            {
-              label: "edi英文",
-              prop: "enName",
-              overHidden:true,
-              rules: [{
-                required: true,
-                message: "请输入edi 英文名称",
-                trigger: "blur"
-              }]
-            },
-            // {
-            //   label: "客户名称",
-            //   prop: "corpCnName",
-            //   display:false,
-            //   overHidden:true,
-            //   rules: [{
-            //       required: false,
-            //       message: "请输入客户 id",
-            //       trigger: "blur"
-            //   }]
-            // },
-            // {
-            //   label: "客户英文",
-            //   prop: "corpEnName",
-            //   display:false,
-            //   overHidden:true,
-            // },
-            {
-              label: "发送ftp/邮件",
-              prop: "address",
-                hide:true,
-              overHidden:true,
-            },
-            {
-              label: "权限用户",
-              prop: "userlist",
-                hide:true,
-              overHidden:true,
-            },
-            {
-              label: "状态",
-              prop: "status",
-                type: "select",
-                search: true,
-                dicData: [{
-                    label: '启用',
-                    value: 0
-                }, {
-                    label: '停用',
-                    value: 1
-                }],
-                value: 0,
-              overHidden:true,
-            },
-            {
-                label: "创建人",
-                prop: "createUserName",
-                overHidden:true,
-                display:false,
-            },
-            {
-                label: "创建部门",
-                prop: "createDeptName",
-                overHidden:true,
-                display:false,
-            },
-            {
-                label: "创建时间",
-                prop: "createTime",
-                overHidden:true,
-                display:false,
-            },
-            {
-                label: "修改人",
-                prop: "updateUserName",
-                overHidden:true,
-                display:false,
+      query: {},
+      loading: true,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0
+      },
+      selectionList: [],
+      option: {},
+      optionBack: {
+        height: 'auto',
+        calcHeight: 30,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 24,
+        border: true,
+        index: true,
+        viewBtn: true,
+        selection: true,
+        dialogClickModal: false,
+        menuWidth: 240,
+        column: [
+          {
+            label: "业务类型",
+            prop: "type",
+            search: true,
+            overHidden: true,
+            type: 'select',
+            dicData: [],
+            props: {
+              label: "cnName",
+              value: "code"
             },
+            rules: [{
+              required: true,
+              message: "请输入业务类型",
+              trigger: "blur"
+            }]
+          },
+          {
+            label: "edi编码",
+            prop: "code",
+            search: true,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请输入edi 编码,唯一",
+              trigger: "blur"
+            }]
+          },
+          {
+            label: "edi名称",
+            prop: "cnName",
+            search: true,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请输入edi 中文名称",
+              trigger: "blur"
+            }]
+          },
+          {
+            label: "edi英文",
+            prop: "enName",
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请输入edi 英文名称",
+              trigger: "blur"
+            }]
+          },
+          // {
+          //   label: "客户名称",
+          //   prop: "corpCnName",
+          //   display:false,
+          //   overHidden:true,
+          //   rules: [{
+          //       required: false,
+          //       message: "请输入客户 id",
+          //       trigger: "blur"
+          //   }]
+          // },
+          // {
+          //   label: "客户英文",
+          //   prop: "corpEnName",
+          //   display:false,
+          //   overHidden:true,
+          // },
+          {
+            label: "发送ftp/邮件",
+            prop: "address",
+            hide: true,
+            overHidden: true,
+          },
+          {
+            label: "权限用户",
+            prop: "userlist",
+            hide: true,
+            overHidden: true,
+          },
+          {
+            label: "状态",
+            prop: "status",
+            type: "select",
+            search: true,
+            dicData: [{
+              label: '启用',
+              value: 0
+            }, {
+              label: '停用',
+              value: 1
+            }],
+            value: 0,
+            overHidden: true,
+          },
+          {
+            label: "创建人",
+            prop: "createUserName",
+            overHidden: true,
+            display: false,
+          },
+          {
+            label: "创建部门",
+            prop: "createDeptName",
+            overHidden: true,
+            display: false,
+          },
+          {
+            label: "创建时间",
+            prop: "createTime",
+            overHidden: true,
+            display: false,
+          },
+          {
+            label: "修改人",
+            prop: "updateUserName",
+            overHidden: true,
+            display: false,
+          },
+          {
+            label: "修改时间",
+            prop: "updateTime",
+            overHidden: true,
+            display: false,
+          },
+          {
+            label: "备注",
+            prop: "remarks",
+            overHidden: true,
+            type: "textarea",
+            minRows: 3,
+            span: 24
+          },
+        ]
+      },
+      data: [],
+      corpData: [], // 客户下拉数据
+      userData: [], // 权限用户数据
+      ressVisible: false, // 弹窗
+      tableData: [], // 弹窗表格
+      // 弹窗表格的配置
+      ressOption: {
+        border: true,
+        index: true,
+        refreshBtn: false,
+        columnBtn: false,
+        addBtn: false,
+        addRowBtn: true,
+        cellBtn: true,
+        rowKey: '$index',
+        menuWidth: 140,
+        column: [{
+          label: 'title',
+          prop: 'title',
+          cell: true,
+        }, {
+          label: 'mode',
+          prop: 'mode',
+          cell: true,
+          type: "select",
+          dicData: [
             {
-                label: "修改时间",
-                prop: "updateTime",
-                overHidden:true,
-                display:false,
+              label: 'ftp',
+              value: 'ftp'
             },
             {
-              label: "备注",
-              prop: "remarks",
-              overHidden:true,
-              type: "textarea",
-              minRows: 3,
-              span:24
-            },
-          ]
-        },
-        data: [],
-          corpData:[], // 客户下拉数据
-          userData:[], // 权限用户数据
-          ressVisible:false, // 弹窗
-          tableData:[], // 弹窗表格
-          // 弹窗表格的配置
-          ressOption:{
-              border: true,
-              index: true,
-              refreshBtn:false,
-              columnBtn:false,
-              addBtn:false,
-              addRowBtn:true,
-              cellBtn:true,
-              rowKey:'$index',
-              menuWidth:140,
-              column:[{
-                  label:'title',
-                  prop: 'title',
-                  cell: true,
-              },{
-                  label:'mode',
-                  prop: 'mode',
-                  cell: true,
-                  type: "select",
-                  dicData: [
-                      {
-                          label:'ftp',
-                          value:'ftp'
-                      },
-                      {
-                          label:'email',
-                          value:'email'
-                      }
-                  ],
-                  rules: [{
-                      required: true,
-                      message: "",
-                      trigger: "blur"
-                  }],
-              },{
-                  label:'address',
-                  prop: 'address',
-                  cell: true,
-              },{
-                  label:'host',
-                  prop: 'host',
-                  cell: true,
-              },{
-                  label:'userName',
-                  prop: 'userName',
-                  cell: true,
-              },{
-                  label:'password',
-                  prop: 'password',
-                  cell: true,
-              },{
-                  label:'path',
-                  prop: 'path',
-                  cell: true,
-              }]
-          }
-      };
-    },
-    computed: {
-      ...mapGetters(["permission"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.editypes_add, false),
-          viewBtn: this.vaildData(this.permission.editypes_view, false),
-          delBtn: this.vaildData(this.permission.editypes_delete, false),
-          editBtn: this.vaildData(this.permission.editypes_edit, false)
-        };
-      },
-      ids() {
-        let ids = [];
-        this.selectionList.forEach(ele => {
-          ids.push(ele.id);
-        });
-        return ids.join(",");
+              label: 'email',
+              value: 'email'
+            }
+          ],
+          rules: [{
+            required: true,
+            message: "",
+            trigger: "blur"
+          }],
+        }, {
+          label: 'address',
+          prop: 'address',
+          cell: true,
+        }, {
+          label: 'host',
+          prop: 'host',
+          cell: true,
+        }, {
+          label: 'userName',
+          prop: 'userName',
+          cell: true,
+        }, {
+          label: 'password',
+          prop: 'password',
+          cell: true,
+        }, {
+          label: 'path',
+          prop: 'path',
+          cell: true,
+        }]
       }
+    };
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.editypes_add, false),
+        viewBtn: this.vaildData(this.permission.editypes_view, false),
+        delBtn: this.vaildData(this.permission.editypes_delete, false),
+        editBtn: this.vaildData(this.permission.editypes_edit, false)
+      };
     },
-    async created() {
-        this.option = await this.getColumnData(this.getColumnName(325), this.optionBack);
-        this.getRoleListfun()
-        this.bbusinesstypeListfun() // 业务类型
+    ids() {
+      let ids = [];
+      this.selectionList.forEach(ele => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    }
+  },
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(325), this.optionBack);
+    this.getRoleListfun()
+    this.bbusinesstypeListfun() // 业务类型
+  },
+  methods: {
+    // 获取业务类型接口
+    bbusinesstypeListfun() {
+      // 获取业务类型
+      bbusinesstypeList(1, 1000).then(res => {
+        this.findObject(this.option.column, "type").dicData = res.data.data.records
+      })
     },
-    methods: {
-      // 获取业务类型接口
-      bbusinesstypeListfun(){
-          // 获取业务类型
-          bbusinesstypeList(1,1000).then(res=>{
-              this.findObject(this.option.column, "type").dicData = res.data.data.records
-          })
-      },
-      // 禁用启用按钮
-      statusfun(id,status){
-          this.$confirm("确定将选择数据更改状态?", {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning"
-          }).then(()=>{
-              editypesDetail(id).then(res=>{
-                  let obj = res.data.data;
-                  obj.status = status
-                  editypesSubmit(obj).then(()=>{
-                      this.onLoad(this.page);
-                      this.$message({
-                          type: "success",
-                          message: "操作成功!"
-                      });
-                  })
-              })
+    // 禁用启用按钮
+    statusfun(id, status) {
+      this.$confirm("确定将选择数据更改状态?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        editypesDetail(id).then(res => {
+          let obj = res.data.data;
+          obj.status = status
+          editypesSubmit(obj).then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
           })
-      },
-      // 添加
-      addfun(){
-          this.$refs.crud.rowAdd()
-      },
-      // 编辑
-      editFun(row){
-          this.$refs.crud.rowEdit(row,row.$index)
-      },
-      // 下拉回调
-      corpChange(value,name){
-          if (name == 'corpCnName') {
-              for (let item of this.corpData) {
-                  if (item.cnName == value) {
-                      this.$set(this.form,'corpId',item.id)
-                      this.$set(this.form,'corpCnName',item.cnName)
-                      this.$set(this.form,'corpEnName',item.enName)
-                  }
-              }
-          }else {
-              this.$set(this.form,name,value)
+        })
+      })
+    },
+    // 添加
+    addfun() {
+      this.$refs.crud.rowAdd()
+    },
+    // 编辑
+    editFun(row) {
+      this.$refs.crud.rowEdit(row, row.$index)
+    },
+    // 下拉回调
+    corpChange(value, name) {
+      if (name == 'corpCnName') {
+        for (let item of this.corpData) {
+          if (item.cnName == value) {
+            this.$set(this.form, 'corpId', item.id)
+            this.$set(this.form, 'corpCnName', item.cnName)
+            this.$set(this.form, 'corpEnName', item.enName)
           }
+        }
+      } else {
+        this.$set(this.form, name, value)
+      }
 
-      },
-      // 获取结算单位数据
-      corpBcorpsListfun(cnName){
-          getBcorpslistByType(1,10,{cnName}).then(res=>{
-              this.corpData = res.data.data.records
-          })
-      },
-      // 获取权限用户数据
-      getRoleListfun(){
-          getRoleList(1,50,).then(res=>{
-              this.userData = res.data.data
-          })
-      },
-      // 点击弹出表格
-      ressButton(){
-          this.tableData = JSON.parse(this.form.address?this.form.address:'[]')
-          this.ressVisible = true
-      },
-        // 弹窗表格的添加保存
-      ressRowsave(row,done,loading){
-          done(row)
-      },
-        // 弹窗表格的修改保存
-      ressRowupdate(row,index,done,loading){
-          done(row)
-      },
-      // 新增
-      rowSave(row, done, loading) {
-          console.log(row,237)
-          row.userlist = JSON.stringify(row.userlist)
-        editypesSubmit(row).then(() => {
+    },
+    // 获取结算单位数据
+    corpBcorpsListfun(cnName) {
+      getBcorpslistByType(1, 10, { cnName }).then(res => {
+        this.corpData = res.data.data.records
+      })
+    },
+    // 获取权限用户数据
+    getRoleListfun() {
+      getRoleList(1, 50,).then(res => {
+        this.userData = res.data.data
+      })
+    },
+    // 点击弹出表格
+    ressButton() {
+      this.tableData = JSON.parse(this.form.address ? this.form.address : '[]')
+      this.ressVisible = true
+    },
+    // 弹窗表格的添加保存
+    ressRowsave(row, done, loading) {
+      done(row)
+    },
+    // 弹窗表格的修改保存
+    ressRowupdate(row, index, done, loading) {
+      done(row)
+    },
+    // 新增
+    rowSave(row, done, loading) {
+      console.log(row, 237)
+      row.userlist = JSON.stringify(row.userlist)
+      editypesSubmit(row).then(() => {
+        this.onLoad(this.page);
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        done();
+      }, error => {
+        loading();
+        window.console.log(error);
+      });
+    },
+    rowUpdate(row, index, done, loading) {
+      row.userlist = JSON.stringify(row.userlist)
+      editypesSubmit(row).then(() => {
+        this.onLoad(this.page);
+        this.$message({
+          type: "success",
+          message: "操作成功!"
+        });
+        done();
+      }, error => {
+        loading();
+        console.log(error);
+      });
+    },
+    rowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          return editypesRemove(row.id);
+        })
+        .then(() => {
           this.onLoad(this.page);
           this.$message({
             type: "success",
             message: "操作成功!"
           });
-          done();
-        }, error => {
-          loading();
-          window.console.log(error);
         });
-      },
-      rowUpdate(row, index, done, loading) {
-          row.userlist = JSON.stringify(row.userlist)
-        editypesSubmit(row).then(() => {
+    },
+    handleDelete() {
+      if (this.selectionList.length === 0) {
+        this.$message.warning("请选择至少一条数据");
+        return;
+      }
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          return editypesRemove(this.ids);
+        })
+        .then(() => {
           this.onLoad(this.page);
           this.$message({
             type: "success",
             message: "操作成功!"
           });
-          done();
-        }, error => {
-          loading();
-          console.log(error);
+          this.$refs.crud.toggleSelection();
         });
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return editypesRemove(row.id);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-          });
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据");
-          return;
-        }
-        this.$confirm("确定将选择数据删除?", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        })
-          .then(() => {
-            return editypesRemove(this.ids);
-          })
-          .then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "操作成功!"
-            });
-            this.$refs.crud.toggleSelection();
-          });
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          editypesDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-            this.form.userlist = JSON.parse(this.form.userlist)
-          });
-        }
-        done();
-      },
-      searchReset() {
-        this.query = {};
-        this.onLoad(this.page);
-      },
-      searchChange(params, done) {
-        this.query = params;
-        this.page.currentPage = 1;
-        this.onLoad(this.page, params);
-        done();
-      },
-      selectionChange(list) {
-        this.selectionList = list;
-      },
-      selectionClear() {
-        this.selectionList = [];
-        this.$refs.crud.toggleSelection();
-      },
-      currentChange(currentPage){
-        this.page.currentPage = currentPage;
-      },
-      sizeChange(pageSize){
-        this.page.pageSize = pageSize;
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query);
-      },
-      onLoad(page, params = {}) {
-        this.loading = true;
-        editypesList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
-          const data = res.data.data;
-          this.page.total = data.total;
-          this.data = data.records;
-          this.loading = false;
-          this.selectionClear();
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        editypesDetail(this.form.id).then(res => {
+          this.form = res.data.data;
+          this.form.userlist = JSON.parse(this.form.userlist)
         });
-      },
+      }
+      done();
+    },
+    searchReset() {
+      this.query = {};
+      this.onLoad(this.page);
+    },
+    searchChange(params, done) {
+      this.query = params;
+      this.page.currentPage = 1;
+      this.onLoad(this.page, params);
+      done();
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    currentChange(currentPage) {
+      this.page.currentPage = currentPage;
+    },
+    sizeChange(pageSize) {
+      this.page.pageSize = pageSize;
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.query);
+    },
+    onLoad(page, params = {}) {
+      this.loading = true;
+      editypesList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.data = data.records;
+        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;
-      },
-      // 表头样式
-      tableHeaderCellStyle({row,column,rowIndex, columnIndex}){
-          return "padding:4px 0px;fontSize:12px;color:#000;background:#ecf5ff"
-      },
+    //自定义列保存
+    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;
+    },
+    // 表头样式
+    tableHeaderCellStyle({ row, column, rowIndex, columnIndex }) {
+      return "padding:4px 0px;fontSize:12px;color:#000;background:#ecf5ff"
+    },
 
 
-    }
-  };
+  }
+};
 </script>
 
 <style scoped>
 ::v-deep#out-table .back-one {
-    background: #ecf5ff !important;
+  background: #ecf5ff !important;
 }
+
 ::v-deep#out-table .back-two {
-    background: #ecf5ff !important;
+  background: #ecf5ff !important;
 }
 </style>

File diff suppressed because it is too large
+ 670 - 740
src/views/iosBasicData/financeProfit/index.vue


+ 208 - 253
src/views/iosBasicData/fininvoicesApplyfor/assembly/fininvoicesitems.vue

@@ -1,25 +1,12 @@
 <template>
     <div>
-        <el-table
-            ref="tableRef"
-            :cell-style="cellStyle"
-            :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
-                fixed="left"
-                type="selection"
-                width="55">
+        <el-table ref="tableRef" :cell-style="cellStyle" :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 fixed="left" type="selection" width="55">
             </el-table-column>
-            <el-table-column
-                prop="lineNo"
-                label="行号" width="50px" >
-                <template slot-scope="scope">{{Number(scope.$index) + 1}}</template>
+            <el-table-column prop="lineNo" label="行号" width="50px">
+                <template slot-scope="scope">{{ Number(scope.$index) + 1 }}</template>
             </el-table-column>
             <!--<el-table-column-->
             <!--    prop="status"-->
@@ -28,18 +15,14 @@
             <!--        <span>{{row.status?'是':'否'}}</span>-->
             <!--    </template>-->
             <!--</el-table-column>-->
-            <el-table-column
-                prop="dc"
-                label="收/付" width="80px" header-align="center" >
+            <el-table-column prop="dc" label="收/付" width="80px" header-align="center">
                 <template slot-scope="{ row }">
-                    <div style="text-align: center;" >{{row.dc}}</div>
+                    <div style="text-align: center;">{{ row.dc }}</div>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="mblno"
-                label="MB/L NO">
+            <el-table-column prop="mblno" label="MB/L NO">
                 <template slot-scope="{row}">
-                    <span class="textHide">{{row.mblno}}</span>
+                    <span class="textHide">{{ row.mblno }}</span>
                 </template>
             </el-table-column>
             <!--<el-table-column-->
@@ -50,64 +33,46 @@
             <!--    prop="feeCnName"-->
             <!--    label="费用名称">-->
             <!--</el-table-column>-->
-            <el-table-column
-                prop="currentAmountCNY"
-                label="本次CNY" width="120px">
+            <el-table-column prop="currentAmountCNY" label="本次CNY" width="120px">
                 <template slot-scope="scope">
-                    <el-input style="width: 100%;" v-model="scope.row.currentAmountCNY" v-if="!editSave"
-                              type="number" min="0"
-                              size="mini" autocomplete="off" :disabled="scope.row.currentCurCode != 'CNY'"
-                              clearable placeholder="请输入本次发票金额" >
+                    <el-input style="width: 100%;" v-model="scope.row.currentAmountCNY" v-if="!editSave" type="number"
+                        min="0" size="mini" autocomplete="off" :disabled="scope.row.currentCurCode != 'CNY'" clearable
+                        placeholder="请输入本次发票金额">
                     </el-input>
-                    <span v-else >{{scope.row.currentAmountCNY}}</span>
+                    <span v-else>{{ scope.row.currentAmountCNY }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="currentAmountUSD"
-                label="本次USD" width="120px">
+            <el-table-column prop="currentAmountUSD" label="本次USD" width="120px">
                 <template slot-scope="{row}">
-                    <el-input style="width: 100%;" v-model="row.currentAmountUSD" v-if="!editSave"
-                              size="mini" autocomplete="off" :disabled="row.currentCurCode != 'USD'"
-                              clearable placeholder="请输入本次发票金额" >
+                    <el-input style="width: 100%;" v-model="row.currentAmountUSD" v-if="!editSave" size="mini"
+                        autocomplete="off" :disabled="row.currentCurCode != 'USD'" clearable placeholder="请输入本次发票金额">
                     </el-input>
-                    <span v-else>{{row.currentAmountUSD}}</span>
+                    <span v-else>{{ row.currentAmountUSD }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="billNo"
-                label="JOB NO">
+            <el-table-column prop="billNo" label="JOB NO">
                 <template slot-scope="{row}">
-                    <span class="textHide">{{row.billNo}}</span>
+                    <span class="textHide">{{ row.billNo }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="bookingNo"
-                label="BOOKINGNO" width="120px">
+            <el-table-column prop="bookingNo" label="BOOKINGNO" width="120px">
                 <template slot-scope="{row}">
-                    <span class="textHide">{{row.bookingNo}}</span>
+                    <span class="textHide">{{ row.bookingNo }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="corpCnName"
-                label="客户中文名称" width="140px">
+            <el-table-column prop="corpCnName" label="客户中文名称" width="140px">
                 <template slot-scope="{row}">
-                    <span class="textHide">{{row.corpCnName}}</span>
+                    <span class="textHide">{{ row.corpCnName }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="accBillNo"
-                label="账单编号">
+            <el-table-column prop="accBillNo" label="账单编号">
                 <template slot-scope="{row}">
-                    <span class="textHide">{{row.accBillNo}}</span>
+                    <span class="textHide">{{ row.accBillNo }}</span>
                 </template>
             </el-table-column>
-            <el-table-column
-                prop="amount"
-                label="账单金额">
+            <el-table-column prop="amount" label="账单金额">
             </el-table-column>
-            <el-table-column
-                prop="currentCurCode"
-                label="本次发票币种" width="120px">
+            <el-table-column prop="currentCurCode" label="本次发票币种" width="120px">
                 <!--<template slot-scope="{row}">-->
                 <!--    <search-query :datalist="curCodeData"-->
                 <!--                  :selectValue="row.currentCurCode"-->
@@ -122,29 +87,17 @@
                 <!--    </search-query>-->
                 <!--</template>-->
             </el-table-column>
-            <el-table-column
-                prop="currentExrate"
-                label="本次发票汇率" width="100px">
+            <el-table-column prop="currentExrate" label="本次发票汇率" width="100px">
             </el-table-column>
-            <el-table-column
-                prop="appliedAmount"
-                label="付费申请金额" width="100px">
+            <el-table-column prop="appliedAmount" label="付费申请金额" width="100px">
             </el-table-column>
-            <el-table-column
-                prop="appliedInvoiceAmount"
-                label="发票申请金额" width="100px">
+            <el-table-column prop="appliedInvoiceAmount" label="发票申请金额" width="100px">
             </el-table-column>
-            <el-table-column
-                prop="uninvoicedAmount"
-                label="已开票金额" width="100px">
+            <el-table-column prop="uninvoicedAmount" label="已开票金额" width="100px">
             </el-table-column>
-            <el-table-column
-                prop="stlTtlAmount"
-                label="已结算金额" width="100px">
+            <el-table-column prop="stlTtlAmount" label="已结算金额" width="100px">
             </el-table-column>
-            <el-table-column
-                prop="remarks"
-                label="备注">
+            <el-table-column prop="remarks" label="备注">
             </el-table-column>
             <!--<el-table-column-->
             <!--    fixed="right"-->
@@ -159,190 +112,190 @@
 </template>
 
 <script>
-    import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
-    import {getRateList} from "@/api/iosBasicData/rateManagement";
+import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
+import { getRateList } from "@/api/iosBasicData/rateManagement";
 
-    export default {
-        components: {SearchQuery},
-        props:{
-            tableData:{
-                type:Array,
-                default:[]
-            },
-            handleSelectionData:{
-                type:Array,
-                default:[],
-            },
-            editSave:{
-                type:Boolean,
-                default:false,
-            },
+export default {
+    components: { SearchQuery },
+    props: {
+        tableData: {
+            type: Array,
+            default: []
         },
-        data(){
-            return {
-                curCodeData:[], // 本次币种
-            }
+        handleSelectionData: {
+            type: Array,
+            default: [],
+        },
+        editSave: {
+            type: Boolean,
+            default: false,
         },
-        methods:{
-            // 明细删除
-            deletefun(row,index){
-                this.$emit('deletefun',row.id,index)
-            },
-            // 下拉回调
-            corpChange(value,row){
-                console.log(value)
-                for (let item of this.curCodeData) {
-                    if (item.code == value) {
-                        this.$set(row,'currentCurCode',item.code)
-                        this.$set(row,'currentExrate',item.exrate) // 本次发票汇率
-                        if (value == 'USD') {
-                            this.$set(row,'currentAmountLoc',(Number(row.amount) * Number(row.currentExrate)).toFixed(2))
-                        }else {
-                            this.$set(row,'currentAmountLoc',row.amount)
-                        }
+    },
+    data() {
+        return {
+            curCodeData: [], // 本次币种
+        }
+    },
+    methods: {
+        // 明细删除
+        deletefun(row, index) {
+            this.$emit('deletefun', row.id, index)
+        },
+        // 下拉回调
+        corpChange(value, row) {
+            console.log(value)
+            for (let item of this.curCodeData) {
+                if (item.code == value) {
+                    this.$set(row, 'currentCurCode', item.code)
+                    this.$set(row, 'currentExrate', item.exrate) // 本次发票汇率
+                    if (value == 'USD') {
+                        this.$set(row, 'currentAmountLoc', (Number(row.amount) * Number(row.currentExrate)).toFixed(2))
+                    } else {
+                        this.$set(row, 'currentAmountLoc', row.amount)
                     }
                 }
-            },
-            // 税率监听
-            currentInput(row){
-                // 税额 两个税率加起来 / 100 乘 账单金额
-                let current = Number(row.currentTaxRate) + Number(row.currentSurRate)
-                this.$set(row,'currentAmountTax',(current / 100) * Number(row.amount)) // 税额
-                this.$set(row,'currentAmountNet',Number(row.amount) - row.currentAmountTax) // 去税金额
-            },
-            // 获取币别数据
-            getRateListfun(cnName){
-                getRateList({current:1,size:10,cnName}).then(res=>{
-                    this.curCodeData = res.data.data.records
-                })
-            },
+            }
+        },
+        // 税率监听
+        currentInput(row) {
+            // 税额 两个税率加起来 / 100 乘 账单金额
+            let current = Number(row.currentTaxRate) + Number(row.currentSurRate)
+            this.$set(row, 'currentAmountTax', (current / 100) * Number(row.amount)) // 税额
+            this.$set(row, 'currentAmountNet', Number(row.amount) - row.currentAmountTax) // 去税金额
+        },
+        // 获取币别数据
+        getRateListfun(cnName) {
+            getRateList({ current: 1, size: 10, cnName }).then(res => {
+                this.curCodeData = res.data.data.records
+            })
+        },
 
-            // 表头样式
-            tableHeaderCellStyle({row,column,rowIndex, columnIndex}){
-                return "padding:4px 0px;fontSize:12px;color:#000;background:#ecf5ff"
-            },
-            // 多选选择的数据
-            handleSelectionChange(arr){
-                this.$emit('handleSelectionChange',arr)
-            },
-            // 监听点击表格事件
-            rowClick(row, column, event) {
-                let refsElTable = this.$refs.tableRef; // 获取表格对象
-                if (this.CtrlDown) {
-                    refsElTable.toggleRowSelection(row); // ctrl多选 如果点击两次同样会取消选中
-                    return;
-                }
-                if ( this.shiftOrAltDown && this.handleSelectionData.length > 0) {
-                    // 通过rowIndex判断已选择的行中最上面和最下面的是哪行,再对比按住shift/alt点击的当前行得到新的最上面和最下面的行,把这两行中间的行进行循环选中。
-                    let topAndBottom = this.getTopAndBottom(  row, this.bottomSelectionRow, this.topSelectionRow );
-                    refsElTable.clearSelection(); //先清空 不然会导致在这两行中间之外的行状态不变
-                    for (let index = topAndBottom.top; index <= topAndBottom.bottom; index++) { //选中两行之间的所有行
-                        refsElTable.toggleRowSelection(this.tableData[index], true);
-                    }
-                } else {
-                    let findRow = this.handleSelectionData.find(c => c.rowIndex == row.rowIndex); //找出当前选中行
-                    //如果只有一行且点击的也是这一行则取消选择 否则清空再选中当前点击行
-                    if (findRow&& this.handleSelectionData.length === 1 ) {
-                        refsElTable.toggleRowSelection(row, false);
-                        return;
-                    }
-                    // refsElTable.clearSelection(); // 清空之前选择的数据(如果放开,选择之前会变成单选)
-                    refsElTable.toggleRowSelection(row); // 调用选中行方法
-                }
-            },
-            // 行的 style 的回调方法
-            rowStyle({row,rowIndex}) {
-                // 直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象
-                // object: 要添加或者修改属性的目标对象;prop: 要定义或修改属性的名称;descript: 是一个对象,里面是我们上述的对象属性的特性;
-                Object.defineProperty(row, 'rowIndex', { //给每一行添加不可枚举属性rowIndex来标识当前行
-                    value: rowIndex, // 设置age的值,不设置的话默认为undefined
-                    writable: true, // 表示属性的值true可以修改,false不可以被修改
-                    enumerable: false, // 设置为false表示不能通过 for-in 循环返回
-                    // configurable: false, // configurable 设置为 false,意味着这个属性不能从对象上删除
-                })
-            },
-            keyDown(event) {
-                let key = event.keyCode;
-                if (key == 17) this.CtrlDown = true;
-                if (key == 16 || key == 18) this.shiftOrAltDown = true;
-            },
-            keyUp(event) {
-                let key = event.keyCode;
-                if (key == 17) this.CtrlDown = false;
-                if (key == 16 || key == 18) this.shiftOrAltDown = false;
-            },
-            // 文章说明 https://www.jianshu.com/p/48f2c522d2a2
-            getTopAndBottom(row, bottom, top){
-                let n = row.rowIndex,
-                    mx = bottom.rowIndex,
-                    mi = top.rowIndex;
-                if (n > mx) {
-                    return {
-                        top: mi,
-                        bottom: n
-                    };
-                } else if (n < mx && n > mi) {
-                    return {
-                        top: mi,
-                        bottom: n
-                    };
-                } else if (n < mi) {
-                    return {
-                        top: n,
-                        bottom: mx
-                    };
-                } else if (n == mi || n == mx) {
-                    return {
-                        top: mi,
-                        bottom: mx
-                    };
+        // 表头样式
+        tableHeaderCellStyle({ row, column, rowIndex, columnIndex }) {
+            return "padding:4px 0px;fontSize:12px;color:#000;background:#ecf5ff"
+        },
+        // 多选选择的数据
+        handleSelectionChange(arr) {
+            this.$emit('handleSelectionChange', arr)
+        },
+        // 监听点击表格事件
+        rowClick(row, column, event) {
+            let refsElTable = this.$refs.tableRef; // 获取表格对象
+            if (this.CtrlDown) {
+                refsElTable.toggleRowSelection(row); // ctrl多选 如果点击两次同样会取消选中
+                return;
+            }
+            if (this.shiftOrAltDown && this.handleSelectionData.length > 0) {
+                // 通过rowIndex判断已选择的行中最上面和最下面的是哪行,再对比按住shift/alt点击的当前行得到新的最上面和最下面的行,把这两行中间的行进行循环选中。
+                let topAndBottom = this.getTopAndBottom(row, this.bottomSelectionRow, this.topSelectionRow);
+                refsElTable.clearSelection(); //先清空 不然会导致在这两行中间之外的行状态不变
+                for (let index = topAndBottom.top; index <= topAndBottom.bottom; index++) { //选中两行之间的所有行
+                    refsElTable.toggleRowSelection(this.tableData[index], true);
                 }
-            },
-            // 给选中行加上current-row这个class类,所以要使用row-class-name这个属性(其实给每一行添加rowIndex也可以用这个属性),
-            // 判断方式也是通过判断rowIndex对比
-            rowClassName({ row,  rowIndex }) {
-                let rowName = "",
-                    findRow = this.handleSelectionData.find(c => c.rowIndex === row.rowIndex);
-                if (findRow) {
-                    rowName = "current-row "; // elementUI 默认高亮行的class类 不用再样式了^-^,也可通过css覆盖改变背景颜色
+            } else {
+                let findRow = this.handleSelectionData.find(c => c.rowIndex == row.rowIndex); //找出当前选中行
+                //如果只有一行且点击的也是这一行则取消选择 否则清空再选中当前点击行
+                if (findRow && this.handleSelectionData.length === 1) {
+                    refsElTable.toggleRowSelection(row, false);
+                    return;
                 }
-                return rowName; //也可以再加上其他类名 如果有需求的话
-            },
-            // 收付展示不一样的颜色
-            cellStyle({row,rowIndex,columnIndex}){
-                let rowStyle = ''
-                if (row.dc == 'D') {
-                    rowStyle = 'color:#8cb24b;'
-                }else if (row.dc == 'C') {
-                    rowStyle = 'color:#7ebace;'
-                }else {}
-                return  rowStyle + 'padding:0px;fontSize:12px'
-            },
+                // refsElTable.clearSelection(); // 清空之前选择的数据(如果放开,选择之前会变成单选)
+                refsElTable.toggleRowSelection(row); // 调用选中行方法
+            }
+        },
+        // 行的 style 的回调方法
+        rowStyle({ row, rowIndex }) {
+            // 直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象
+            // object: 要添加或者修改属性的目标对象;prop: 要定义或修改属性的名称;descript: 是一个对象,里面是我们上述的对象属性的特性;
+            Object.defineProperty(row, 'rowIndex', { //给每一行添加不可枚举属性rowIndex来标识当前行
+                value: rowIndex, // 设置age的值,不设置的话默认为undefined
+                writable: true, // 表示属性的值true可以修改,false不可以被修改
+                enumerable: false, // 设置为false表示不能通过 for-in 循环返回
+                // configurable: false, // configurable 设置为 false,意味着这个属性不能从对象上删除
+            })
+        },
+        keyDown(event) {
+            let key = event.keyCode;
+            if (key == 17) this.CtrlDown = true;
+            if (key == 16 || key == 18) this.shiftOrAltDown = true;
         },
-        mounted() {
-            // 按住ctrl实现多选 设置监听keydown事件,以及keyup事件,
-            addEventListener("keydown", this.keyDown, false);
-            addEventListener("keyup", this.keyUp, false);
+        keyUp(event) {
+            let key = event.keyCode;
+            if (key == 17) this.CtrlDown = false;
+            if (key == 16 || key == 18) this.shiftOrAltDown = false;
         },
-        beforeDestroy() { //解绑
-            removeEventListener("keydown", this.keyDown);
-            removeEventListener("keyup", this.keyUp);
+        // 文章说明 https://www.jianshu.com/p/48f2c522d2a2
+        getTopAndBottom(row, bottom, top) {
+            let n = row.rowIndex,
+                mx = bottom.rowIndex,
+                mi = top.rowIndex;
+            if (n > mx) {
+                return {
+                    top: mi,
+                    bottom: n
+                };
+            } else if (n < mx && n > mi) {
+                return {
+                    top: mi,
+                    bottom: n
+                };
+            } else if (n < mi) {
+                return {
+                    top: n,
+                    bottom: mx
+                };
+            } else if (n == mi || n == mx) {
+                return {
+                    top: mi,
+                    bottom: mx
+                };
+            }
         },
-        computed: { //实时得到最上行和最下行
-            bottomSelectionRow() {
-                if (this.handleSelectionData.length == 0) return null;
-                return this.handleSelectionData.reduce((start, end) => {
-                    return start.rowIndex > end.rowIndex ? start : end;
-                });
-            },
-            topSelectionRow() {
-                if (this.handleSelectionData.length == 0) return null;
-                return this.handleSelectionData.reduce((start, end) => {
-                    return start.rowIndex < end.rowIndex ? start : end;
-                });
+        // 给选中行加上current-row这个class类,所以要使用row-class-name这个属性(其实给每一行添加rowIndex也可以用这个属性),
+        // 判断方式也是通过判断rowIndex对比
+        rowClassName({ row, rowIndex }) {
+            let rowName = "",
+                findRow = this.handleSelectionData.find(c => c.rowIndex === row.rowIndex);
+            if (findRow) {
+                rowName = "current-row "; // elementUI 默认高亮行的class类 不用再样式了^-^,也可通过css覆盖改变背景颜色
             }
+            return rowName; //也可以再加上其他类名 如果有需求的话
+        },
+        // 收付展示不一样的颜色
+        cellStyle({ row, rowIndex, columnIndex }) {
+            let rowStyle = ''
+            if (row.dc == 'D') {
+                rowStyle = 'color:#8cb24b;'
+            } else if (row.dc == 'C') {
+                rowStyle = 'color:#7ebace;'
+            } else { }
+            return rowStyle + 'padding:0px;fontSize:12px'
+        },
+    },
+    mounted() {
+        // 按住ctrl实现多选 设置监听keydown事件,以及keyup事件,
+        addEventListener("keydown", this.keyDown, false);
+        addEventListener("keyup", this.keyUp, false);
+    },
+    beforeDestroy() { //解绑
+        removeEventListener("keydown", this.keyDown);
+        removeEventListener("keyup", this.keyUp);
+    },
+    computed: { //实时得到最上行和最下行
+        bottomSelectionRow() {
+            if (this.handleSelectionData.length == 0) return null;
+            return this.handleSelectionData.reduce((start, end) => {
+                return start.rowIndex > end.rowIndex ? start : end;
+            });
         },
-    }
+        topSelectionRow() {
+            if (this.handleSelectionData.length == 0) return null;
+            return this.handleSelectionData.reduce((start, end) => {
+                return start.rowIndex < end.rowIndex ? start : end;
+            });
+        }
+    },
+}
 </script>
 
 <style scoped>
@@ -352,9 +305,11 @@
     white-space: nowrap;
     text-overflow: ellipsis;
 }
+
 ::v-deep.current-row {
     background: #ecf3ff;
 }
+
 .textHide {
     width: 100%;
     overflow: hidden;

+ 7 - 6
src/views/iosBasicData/fininvoicesOutput/fininvoicesDetails.vue

@@ -66,7 +66,8 @@
                                         <el-form-item label="发票币种" prop="invCurCode">
                                             <search-query :datalist="invCurCodeData" :selectValue="form.invCurCode"
                                                 :filterable="true" :clearable="true" :disabled="editSave" :buttonIf="false"
-                                                placeholder="请选择发票币种" :forParameter="{ key: 'id', label: 'code', value: 'code' }"
+                                                placeholder="请选择发票币种"
+                                                :forParameter="{ key: 'id', label: 'code', value: 'code' }"
                                                 @corpChange="corpChange($event, 'invCurCode')"
                                                 @corpFocus="invCurCodeRateListfun">
                                             </search-query>
@@ -334,7 +335,8 @@
                                         <el-form-item label="选择币种" prop="curCode">
                                             <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' }"
+                                                placeholder="请输入选择币种"
+                                                :forParameter="{ key: 'id', label: 'code', value: 'code' }"
                                                 @remoteMethod="getRateListfun" @corpChange="corpChange($event, 'curCode')"
                                                 @corpFocus="getRateListfun">
                                             </search-query>
@@ -456,9 +458,7 @@ import { bcorpsbankList, corpsinvoiceheaderList, getBcorpsList } from "@/api/ios
 import { bportsList } from "@/api/iosBasicData/bports";
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import {
-    finInvoicesApprove,
     fininvoicesDetail,
-    revokeFinInvoicesApprove,
     fininvoicesSubmit,
     fininvoicesitemsRemove,
     generateFinInvoicesDetail,
@@ -1026,7 +1026,7 @@ export default {
                         if (arr.length == 0) {
                             this.$message.warning('当前检索暂无数据!')
                         }
-                        this.tableData = arr
+                        this.tableData· = arr
                     }
                 })
             } else {
@@ -1040,6 +1040,7 @@ export default {
                         item.accDate = item.createTime
                         item.currentCurCode = item.curCode
                         item.currentExrate = item.exrate
+                        item.dc = item.accountDc
                         if (item.currentCurCode == 'CNY') {
                             // 本次发票金额
                             item.currentAmountCNY = item.appliedInvoiceCurrentAmount
@@ -1150,7 +1151,7 @@ export default {
                 this.pageLoading = false
                 this.saveLoading = false
             })
-            
+
         },
         // 撤销申请
         fininvoicesRevokeFinInvoicesfun() {

+ 1 - 1
src/views/iosBasicData/release/releaseManagement/detailsPage.vue

@@ -511,7 +511,7 @@ export default {
                         prop: "unstlDrTotal",
                         span: 6
                     },
-                    {
+                    { 
                         label: '已生成账单未放单',
                         prop: "unplacedOrders",
                         type: 'select',

+ 1 - 1
src/views/iosBasicData/release/releaseManagement/index.vue

@@ -103,7 +103,7 @@ export default {
             prop: "corpCnName",
             search: true,
             overHidden: true,
-            filterable:true,
+            filterable: true,
             type: 'select',
             props: {
               label: 'cnName',

+ 1 - 1
src/views/wel/home/landTransportation/components/quick-launch.vue

@@ -6,7 +6,7 @@
           快速发起
         </span>
       </div>
-      <div class="content" v-if="zhcontent == '234557'">
+      <div class="content">
         <div class="content-icon" @click="entrust ? inPage('wt') : 'JZ'">
           <i class="tradingIcon icon-purchase" style="color:#75CD28"></i>
           <span>委托</span>

Some files were not shown because too many files changed in this diff