Browse Source

财务管理 所有的费用明细都换成avue表格

Qukatie 7 months ago
parent
commit
2a3a1f622b

+ 10 - 1
src/enums/column-name.js

@@ -2015,7 +2015,16 @@ const columnName = [{
 }, {
   code: 454,
   name: '君海-财务管理-进账开票(F)详情明细表'
-},
+},{
+  code: 455,
+  name: '货代-财务管理-对账中心(F)明细表'
+},{
+  code: 456,
+  name: '货代-财务管理-付款申请(F)明细表'
+},{
+  code: 457,
+  name: '货代-财务管理-发票申请(F)费用明细表'
+}
 ]
 export const getColumnName = (key) => {
   for (let index = 0; index < columnName.length; index++) {

+ 28 - 26
src/views/iosBasicData/ComputationCenter/settlementDetails.vue

@@ -216,35 +216,37 @@
                 </el-form>
             </el-card>
             <el-card style="margin-top: 10px">
-                <div style="margin-bottom: 10px">
-                    <el-button size="small" type="info" :disabled="editSave" :loading="saveLoading"
-                        @click="SelectedRows">确认选定行
-                    </el-button>
-                    <el-button size="small" type="danger" style="margin-left: 10px" :disabled="editSave"
-                        :loading="saveLoading" @click="batchDeletefun">一键删除
-                    </el-button>
-                    <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY" size="small"
-                        autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                        <span style="line-height: 32px;" slot="suffix">CNY</span>
-                    </el-input>
-                    <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD" size="small"
-                        autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                        <span style="line-height: 32px;" slot="suffix">USD</span>
-                    </el-input>
-                    <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="primary"
-                        @click="invoiceMatchingfun()">匹配金额</el-button>
-                    <span style="font-size: 18px;font-weight: 600;margin-left: 50px;">
-                        <span style="color: #67C23A;margin-right: 10px;">
-                            CNY:¥{{ amountSubSum }}元
-                        </span>
-                        <span style="color: #E6A23C;">
-                            USD:${{ amountSubUsdSum }}元
-                        </span>
-                    </span>
-                </div>
                 <finstlbillsitems ref="finstlbillsitems" :tableData="tableData" :editSave="editSave"
                     :settlementdistar="settlementdistar" :handleSelectionData="handleSelectionData"
                     @handleSelectionChange="handleSelectionChange" @deletefun="finstlbillsitemsRemovefun">
+                    <template slot="menuLeft">
+                        <div>
+                            <el-button size="small" type="info" :disabled="editSave" :loading="saveLoading"
+                                @click="SelectedRows">确认选定行
+                            </el-button>
+                            <el-button size="small" type="danger" style="margin-left: 10px" :disabled="editSave"
+                                :loading="saveLoading" @click="batchDeletefun">一键删除
+                            </el-button>
+                            <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY" size="small"
+                                autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                <span style="line-height: 32px;" slot="suffix">CNY</span>
+                            </el-input>
+                            <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD" size="small"
+                                autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                <span style="line-height: 32px;" slot="suffix">USD</span>
+                            </el-input>
+                            <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="primary"
+                                @click="invoiceMatchingfun()">匹配金额</el-button>
+                            <span style="font-size: 18px;font-weight: 600;margin-left: 50px;">
+                                <span style="color: #67C23A;margin-right: 10px;">
+                                    CNY:¥{{ amountSubSum }}元
+                                </span>
+                                <span style="color: #E6A23C;">
+                                    USD:${{ amountSubUsdSum }}元
+                                </span>
+                            </span>
+                        </div>
+                    </template>
                 </finstlbillsitems>
             </el-card>
         </div>

+ 288 - 167
src/views/iosBasicData/PaymentApplication/assembly/finstlbillsitems.vue

@@ -1,172 +1,54 @@
 <template>
     <div>
         <!--:row-style="{height:'20px',padding:'0px',fontSize:'12px'}"-->
-        <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" @expand-change="expandChange">
-            <el-table-column v-if="brfalse" type="selection" width="55">
-            </el-table-column>
-            <el-table-column type="expand" v-if="brfalse">
-                <template slot-scope="{row}">
-                    <costDetails :costDate="row.costDate || []"></costDetails>
-                </template>
-            </el-table-column>
-            <el-table-column prop="lineNo" label="行号" width="50px">
-                <template slot-scope="scope">{{ Number(scope.$index) + 1 }}</template>
-            </el-table-column>
-            <el-table-column prop="isCleared" label="核销" width="70px">
-                <template slot-scope="{ row }">
-                    <span v-if="row.isCleared == 0">
-                        未销账
-                    </span>
-                    <span v-if="row.isCleared == 3">
-                        部分销账
-                    </span>
-                    <span v-if="row.isCleared == 9">
-                        销账
-                    </span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="dc" label="收/付" width="60px">
-                <template slot-scope="{ row }">
-                    <span v-if="row.dc == 'D'">收</span>
-                    <span v-if="row.dc == 'C'">付</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="billNo" label="原业务编号" width="120px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.billNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="accBillNo" label="账单编号" width="140px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.accBillNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="feeCnName" label="费用名称">
-            </el-table-column>
-            <el-table-column prop="corpCnName" label="客户名称" width="130px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.corpCnName }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="mblno" label="MB/L NO" width="120px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.mblno }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="currentStlExrate" label="汇率">
-            </el-table-column>
-            <el-table-column prop="currentStlAmountRMB" label="本次CNY" width="100px">
-                <template slot-scope="scope">
-                    <el-input style="width: 100%;" v-model="scope.row.currentStlAmountRMB"
-                        :disabled="scope.row.curCode != 'CNY' || settlementdistar || !(form.status == '0' || form.status == '4' || form.status == null)"
-                        v-if="(brfalse && !editSave)" size="mini" autocomplete="off" clearable placeholder="请输入USD"
-                        @change="armbChange(scope.row)">
-                    </el-input>
-                    <span v-else>{{ scope.row.currentStlAmountRMB }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="currentStlAmountUSD" label="本次USD" width="100px">
-                <template slot-scope="scope">
-                    <el-input style="width: 100%;" v-model="scope.row.currentStlAmountUSD"
-                        :disabled="scope.row.curCode != 'USD' || settlementdistar" v-if="(brfalse && !editSave)"
-                        size="mini" autocomplete="off" clearable placeholder="请输入USD" @change="ausdChange(scope.row)">
-                    </el-input>
-                    <span v-else>{{ scope.row.currentStlAmountUSD }}</span>
-                </template>
-            </el-table-column>
-            <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 }}
-                    </span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="signforDate" label="签收日期">
-            </el-table-column>
-            <el-table-column prop="currentInvoiceAmountRMB" label="发票CNY">
-            </el-table-column>
-            <el-table-column prop="currentInvoiceAmountUSD" label="发票USD">
-            </el-table-column>
-            <el-table-column prop="etd" label="ETD" width="100px">
-            </el-table-column>
-            <el-table-column prop="vesselCnName" label="船名" width="140px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.vesselCnName }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="voyageNo" label="航次" width="100px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.voyageNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="podCnName" label="目的港" width="100px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.podCnName }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="quantityCntrTypesDescr" label="箱量">
-            </el-table-column>
-            <!--amount 应结算金额 有税-->
-            <!--amountNet 应结算金额 没有税-->
-            <el-table-column prop="amountRMB" label="应结算CNY" width="90px">
-            </el-table-column>
-            <el-table-column prop="amountUSD" label="应结算USD" width="90px">
-            </el-table-column>
-            <el-table-column prop="stlTtlAmountRMB" label="已结算CNY" width="100px">
-            </el-table-column>
-            <el-table-column prop="stlTtlAmountUSD" label="已结算USD" width="100px">
-            </el-table-column>
-            <el-table-column prop="taxInvoiceNumber" label="税票号" width="140px">
-                <template slot-scope="scope">
-                    <el-input style="width: 100%;" v-model="scope.row.taxInvoiceNumber"
-                        v-if="scope.row.feeCnName == '增值税'" size="mini" autocomplete="off" clearable
-                        placeholder="请输入税票号">
-                    </el-input>
-                    <span v-else>{{ scope.row.taxInvoiceNumber }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="taxInvoiceDate" label="税票日期" width="140px">
-                <template slot-scope="scope">
-                    <el-date-picker style="width: 100%;" v-model="scope.row.taxInvoiceDate"
-                        v-if="scope.row.feeCnName == '增值税'" size="mini" type="date" placeholder="选择日期"
-                        format="yyyy-MM-dd" value-format="yyyy-MM-dd">
-                    </el-date-picker>
-                    <span v-else>{{ scope.row.taxInvoiceDate }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="deductionTime" label="扣款时间" width="140px">
-                <template slot-scope="scope">
-                    <el-date-picker style="width: 100%;" v-model="scope.row.deductionTime"
-                        v-if="scope.row.feeCnName == '增值税'" size="mini" type="date" placeholder="选择日期"
-                        format="yyyy-MM-dd" value-format="yyyy-MM-dd">
-                    </el-date-picker>
-                    <span v-else>{{ scope.row.deductionTime }}</span>
-                </template>
-            </el-table-column>
-            <!-- stlTtlAmount 乘 taxRate + surchargeRate-->
-            <el-table-column prop="eta" label="ETA">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.eta }}</span>
-                </template>
-            </el-table-column>
-            <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>
-                    <span v-else>{{ scope.row.remarkss }}</span>
-                </template>
-            </el-table-column>
-            <!-- <el-table-column fixed="right" label="操作" width="100" v-if="brfalse">
-                <template slot-scope="scope">
-                    <el-button type="text" size="small" :disabled="editSave"
-                        @click="deletefun(scope.row, scope.$index)">删除</el-button>
-                </template>
-            </el-table-column> -->
-
-        </el-table>
+        <avue-crud :option="option" :data="tableData" id="out-table" ref="crud"
+            @selection-change="handleSelectionChange" :header-cell-style="tableHeaderCellStyle"
+            :row-class-name="rowClassName" :cell-style="cellStyle"
+            @resetColumn="resetColumn('crud', 'option', 'optionBack', 456)"
+            @saveColumn="saveColumn('crud', 'option', 'optionBack', 456)">
+            <template slot="menuLeft">
+                <slot name="menuLeft"></slot>
+            </template>
+            <tempalte slot="currentStlAmountRMB" slot-scope="{ row }">
+                <el-input-number v-if="(brfalse && !editSave)" v-model="row.currentStlAmountRMB"
+                    @change="armbChange(row)" :controls="false" placeholder="请输入 本次对账CNY" size="mini"
+                    style="width: 100%;" :disabled="row.currentStlCurCode != 'CNY'"></el-input-number>
+                <span v-else>{{ row.currentStlAmountRMB }}</span>
+            </tempalte>
+            <tempalte slot="currentStlAmountUSD" slot-scope="{ row }">
+                <el-input-number v-if="(brfalse && !editSave)" v-model="row.currentStlAmountUSD"
+                    @change="ausdChange(row)" :controls="false" placeholder="请输入 本次对账USD" size="mini"
+                    style="width: 100%;" :disabled="row.currentStlCurCode != 'USD'"></el-input-number>
+                <span v-else>{{ row.currentStlAmountUSD }}</span>
+            </tempalte>
+            <template slot="remarkss" slot-scope="{ row }">
+                <el-input style="width: 100%;" v-model="row.remarkss" v-if="(brfalse && !editSave)" size="mini"
+                    autocomplete="off" clearable placeholder="请输入 备注">
+                </el-input>
+                <span v-else>{{ row.remarkss }}</span>
+            </template>
+            <template slot="taxInvoiceNumber" slot-scope="{ row }">
+                <el-input style="width: 100%;" v-model="row.taxInvoiceNumber"
+                    v-if="row.feeCnName == '增值税' && (brfalse && !editSave)" size="mini" autocomplete="off"
+                    clearable placeholder="请输入税票号">
+                </el-input>
+                <span v-else>{{ row.taxInvoiceNumber }}</span>
+            </template>
+            <template slot="taxInvoiceDate" slot-scope="{ row }">
+                <el-date-picker style="width: 100%;" v-model="row.taxInvoiceDate"
+                    v-if="row.feeCnName == '增值税' && (brfalse && !editSave)" size="mini" type="date"
+                    placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
+                </el-date-picker>
+                <span v-else>{{ row.taxInvoiceDate }}</span>
+            </template>
+            <template slot="deductionTime" slot-scope="{ row }">
+                <el-date-picker style="width: 100%;" v-model="row.deductionTime"
+                    v-if="row.feeCnName == '增值税' && (brfalse && !editSave)" size="mini" type="date"
+                    placeholder="选择日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
+                </el-date-picker>
+                <span v-else>{{ row.deductionTime }}</span>
+            </template>
+        </avue-crud>
     </div>
 </template>
 
@@ -211,9 +93,230 @@ export default {
             ifInvoiceData: [], // 是否数据
             invoicelosDara: [],// 发票
             curCodeData: [], // 币种
+            option: {},
+            optionBack: {
+                height: 'auto',
+                calcHeight: 30,
+                menuWidth: 60,
+                tip: false,
+                menu: false,
+                border: true,
+                addBtn: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: false,
+                refreshBtn: false,
+                index: true,
+                selection: true,
+                align: 'center',
+                column: [
+                    {
+                        label: "核销",
+                        prop: "isCleared",
+                        width: 60,
+                        type: 'select',
+                        dicData: [{
+                            label: '未销账',
+                            value: 0
+                        }, {
+                            label: '部分销账',
+                            value: 3
+                        }, {
+                            label: '销账',
+                            value: 9
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "收付",
+                        prop: "dc",
+                        width: 60,
+                        type: 'select',
+                        dicData: [{
+                            label: '收',
+                            value: 'D'
+                        }, {
+                            label: '付',
+                            value: 'C'
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "原业务编号",
+                        prop: "billNo",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "账单编号",
+                        prop: "accBillNo",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "费用名称",
+                        prop: "feeCnName",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "客户名称",
+                        prop: "corpCnName",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "MB/L NO",
+                        prop: "mblno",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "币种",
+                        prop: "currentStlCurCode",
+                        width: 60,
+                        overHidden: true
+                    },
+                    {
+                        label: "汇率",
+                        prop: "currentStlExrate",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "本次CNY",
+                        prop: "currentStlAmountRMB",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "本次USD",
+                        prop: "currentStlAmountUSD",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "签收",
+                        prop: "isSignfor",
+                        width: 60,
+                        overHidden: true,
+                        type: 'select',
+                        dicData: [{
+                            label: '否',
+                            value: 0
+                        }, {
+                            label: '是',
+                            value: 1
+                        }],
+                    },
+                    {
+                        label: "签收日期",
+                        prop: "signforDate",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "发票CNY",
+                        prop: "currentInvoiceAmountRMB",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "发票USD",
+                        prop: "currentInvoiceAmountUSD",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "ETD",
+                        prop: "etd",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "船名",
+                        prop: "vesselCnName",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "航次",
+                        prop: "voyageNo",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "目的港",
+                        prop: "podCnName",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "箱量",
+                        prop: "quantityCntrTypesDescr",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "应结算CNY",
+                        prop: "amountRMB",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "应结算USD",
+                        prop: "amountUSD",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "已结算CNY",
+                        prop: "stlTtlAmountRMB",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "已结算USD",
+                        prop: "stlTtlAmountUSD",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "税票号",
+                        prop: "taxInvoiceNumber",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "税票日期",
+                        prop: "taxInvoiceDate",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "扣款时间",
+                        prop: "deductionTime",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "ETA",
+                        prop: "eta",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "备注",
+                        prop: "remarkss",
+                        width: 120,
+                        overHidden: true
+                    }
+                ]
+            },
         }
     },
-    created() {
+    async created() {
+        this.option = await this.getColumnData(this.getColumnName(456), this.optionBack);
         this.isSignforWorkDicts()
         this.invoicelosWorkDictsfun()
     },
@@ -509,6 +612,24 @@ export default {
             }
             return rowStyle + 'padding:0px;fontSize:12px;' + bgStyle
         },
+        //自定义列保存
+        async saveColumn(ref, option, optionBack, code) {
+            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+            if (inSave) {
+                this.$message.success("保存成功");
+                //关闭窗口
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+        //自定义列重置
+        async resetColumn(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;
+            }
+        },
     },
     mounted() {
         // 按住ctrl实现多选 设置监听keydown事件,以及keyup事件,

+ 22 - 19
src/views/iosBasicData/PaymentApplication/finstlbillsDetails.vue

@@ -236,27 +236,30 @@
 
 
             <el-card style="margin-top: 10px">
-                <div style="margin-bottom: 10px">
-                    <el-button size="small" type="success" :disabled="editSave" :loading="saveLoading"
-                        @click="SelectedRows">确认选定行
-                    </el-button>
-                    <el-button size="small" type="danger" style="margin-left: 10px" :disabled="editSave"
-                        :loading="saveLoading" @click="batchDeletefun">一键删除
-                    </el-button>
-                    <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY" size="small"
-                        autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                        <span style="line-height: 32px;" slot="suffix">CNY</span>
-                    </el-input>
-                    <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD" size="small"
-                        autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                        <span style="line-height: 32px;" slot="suffix">USD</span>
-                    </el-input>
-                    <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="primary"
-                        @click="invoiceMatchingfun()">匹配金额</el-button>
-                </div>
+
                 <finstlbillsitems ref="finstlbillsitems" :form="form" :tableData="tableData" :editSave="editSave"
                     :handleSelectionData="handleSelectionData" @handleSelectionChange="handleSelectionChange"
                     @deletefun="finstlbillsitemsRemovefun">
+                    <template slot="menuLeft">
+                        <div>
+                            <el-button size="small" type="success" :disabled="editSave" :loading="saveLoading"
+                                @click="SelectedRows">确认选定行
+                            </el-button>
+                            <el-button size="small" type="danger" style="margin-left: 10px" :disabled="editSave"
+                                :loading="saveLoading" @click="batchDeletefun">一键删除
+                            </el-button>
+                            <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY" size="small"
+                                autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                <span style="line-height: 32px;" slot="suffix">CNY</span>
+                            </el-input>
+                            <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD" size="small"
+                                autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                <span style="line-height: 32px;" slot="suffix">USD</span>
+                            </el-input>
+                            <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="primary"
+                                @click="invoiceMatchingfun()">匹配金额</el-button>
+                        </div>
+                    </template>
                 </finstlbillsitems>
             </el-card>
         </div>
@@ -1060,7 +1063,7 @@ export default {
             this.form.url = '/iosBasicData/PaymentApplication/index',
                 this.form.pageStatus = "this.$store.getters.paidapplication"
             this.form.pageLabel = "付费申请(F)"
-          
+
             this.pageLoading = true
             settlementApprove(this.form).then(res => {
                 this.$message.success('操作成功');

+ 29 - 28
src/views/iosBasicData/fininvoices/fininvoicesDetails.vue

@@ -261,9 +261,9 @@
                                     </el-col>
                                     <el-col :span="8">
                                         <el-form-item label="业务结束日期" prop="businessDateEnd">
-                                            <el-date-picker v-model="form.businessDateEnd" clearable style="width: 100%;"
-                                                type="date" size="small" :disabled="editSave" value-format="yyyy-MM-dd"
-                                                placeholder="选择业务日期">
+                                            <el-date-picker v-model="form.businessDateEnd" clearable
+                                                style="width: 100%;" type="date" size="small" :disabled="editSave"
+                                                value-format="yyyy-MM-dd" placeholder="选择业务日期">
                                             </el-date-picker>
                                         </el-form-item>
                                     </el-col>
@@ -403,34 +403,35 @@
                 <el-card style="margin-top: 10px">
                     <el-tabs v-model="detailTabs" type="card">
                         <el-tab-pane label="费用明细" name="first">
-                            <div style="margin-bottom: 10px;display: flex;">
-                                <search-query :datalist="serverData" :selectValue="form.serverName" :clearable="true"
-                                    :buttonIf="false" :filterable="true"
-                                    :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictValue' }"
-                                    placeholder="请选择开票项目" @corpChange="corpChange($event, 'serverName')"
-                                    @corpFocus="serverWorkDictsfun">
-                                </search-query>
-                                <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="primary"
-                                    @click="invoicingfun">生成开票明细</el-button>
-                                <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="warning"
-                                    @click="invoicingRevokefun">撤销开票明细</el-button>
-                                <el-button size="small" :disabled="editSave" type="danger"
-                                    @click="batchDeletefun">一键删除</el-button>
-
-                                <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY" size="small"
-                                    autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                                    <span style="line-height: 32px;" slot="suffix">CNY</span>
-                                </el-input>
-                                <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD" size="small"
-                                    autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                                    <span style="line-height: 32px;" slot="suffix">USD</span>
-                                </el-input>
-                                <el-button style="margin-left: 10px" :disabled="statusType" size="small" type="primary"
-                                    @click="invoiceMatchingfun()">匹配金额</el-button>
-                            </div>
                             <fininvoicesitems ref="fininvoicesitems" :tableData="tableData" :form="form"
                                 :handleSelectionData="handleSelectionData" :editSave="editSave"
                                 @handleSelectionChange="handleSelectionChange" @deletefun="detailsdeletionfun">
+                                <template slot="menuLeft">
+                                    <div style="display: flex;">
+                                        <search-query :datalist="serverData" :selectValue="form.serverName"
+                                            :clearable="true" :buttonIf="false" :filterable="true"
+                                            :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictValue' }"
+                                            placeholder="请选择开票项目" @corpChange="corpChange($event, 'serverName')"
+                                            @corpFocus="serverWorkDictsfun">
+                                        </search-query>
+                                        <el-button style="margin-left: 10px" :disabled="editSave" size="small"
+                                            type="primary" @click="invoicingfun">生成开票明细</el-button>
+                                        <el-button style="margin-left: 10px" :disabled="editSave" size="small"
+                                            type="warning" @click="invoicingRevokefun">撤销开票明细</el-button>
+                                        <el-button size="small" :disabled="editSave" type="danger"
+                                            @click="batchDeletefun">一键删除</el-button>
+                                        <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY"
+                                            size="small" autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                            <span style="line-height: 32px;" slot="suffix">CNY</span>
+                                        </el-input>
+                                        <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD"
+                                            size="small" autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                            <span style="line-height: 32px;" slot="suffix">USD</span>
+                                        </el-input>
+                                        <el-button style="margin-left: 10px" :disabled="statusType" size="small"
+                                            type="primary" @click="invoiceMatchingfun()">匹配金额</el-button>
+                                    </div>
+                                </template>
                             </fininvoicesitems>
                         </el-tab-pane>
                         <el-tab-pane label="开票明细" name="second">

+ 172 - 114
src/views/iosBasicData/fininvoicesApplyfor/assembly/fininvoicesitems.vue

@@ -1,118 +1,26 @@
 <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-column>
-            <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"-->
-            <!--    label="开票" width="50px">-->
-            <!--    <template slot-scope="{ row }">-->
-            <!--        <span>{{row.status?'是':'否'}}</span>-->
-            <!--    </template>-->
-            <!--</el-table-column>-->
-            <el-table-column prop="dc" label="收/付" width="80px" header-align="center">
-                <template slot-scope="{ row }">
-                    <span v-if="row.dc == 'D'">收</span>
-                    <span v-if="row.dc == 'C'">付</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="mblno" label="MB/L NO">
-                <template slot-scope="{row}">
-                    <span class="textHide">{{ row.mblno }}</span>
-                </template>
-            </el-table-column>
-            <!--<el-table-column-->
-            <!--    prop="description"-->
-            <!--    label="收费内容">-->
-            <!--</el-table-column>-->
-            <!--<el-table-column-->
-            <!--    prop="feeCnName"-->
-            <!--    label="费用名称">-->
-            <!--</el-table-column>-->
-            <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"
-                        size="mini" autocomplete="off" :controls="false"
-                        :disabled="scope.row.curCode != 'CNY' || settlementdistar || !(form.status == '0' || form.status == '4' || form.status == null)"
-                        clearable placeholder="请输入本次发票金额" @change="armbChange(scope.row)">
-                    </el-input>
-                    <span v-else>{{ scope.row.currentAmountCNY }}</span>
-                </template>
-            </el-table-column>
-            <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="请输入本次发票金额"
-                        @change="ausdChange(row)">
-                    </el-input>
-                    <span v-else>{{ row.currentAmountUSD }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="billNo" label="JOB NO">
-                <template slot-scope="{row}">
-                    <span class="textHide">{{ row.billNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="bookingNo" label="BOOKINGNO" width="120px">
-                <template slot-scope="{row}">
-                    <span class="textHide">{{ row.bookingNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="feeCnName" label="费用名称">
-            </el-table-column>
-            <el-table-column prop="corpCnName" label="客户中文名称" width="140px">
-                <template slot-scope="{row}">
-                    <span class="textHide">{{ row.corpCnName }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="accBillNo" label="账单编号">
-                <template slot-scope="{row}">
-                    <span class="textHide">{{ row.accBillNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="amount" label="账单金额">
-            </el-table-column>
-            <el-table-column prop="currentCurCode" label="本次发票币种" width="120px">
-                <!--<template slot-scope="{row}">-->
-                <!--    <search-query :datalist="curCodeData"-->
-                <!--                  :selectValue="row.currentCurCode"-->
-                <!--                  :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>-->
-                <!--</template>-->
-            </el-table-column>
-            <el-table-column prop="currentExrate" label="本次发票汇率" width="100px">
-            </el-table-column>
-            <el-table-column prop="appliedAmount" label="付费申请金额" width="100px">
-            </el-table-column>
-            <el-table-column prop="appliedInvoiceAmount" label="发票申请金额" width="100px">
-            </el-table-column>
-            <el-table-column prop="uninvoicedAmount" label="已开票金额" width="100px">
-            </el-table-column>
-            <el-table-column prop="stlTtlAmount" label="已结算金额" width="100px">
-            </el-table-column>
-            <el-table-column prop="remarks" label="备注">
-            </el-table-column>
-            <!--<el-table-column-->
-            <!--    fixed="right"-->
-            <!--    label="操作"-->
-            <!--    width="100">-->
-            <!--    <template slot-scope="scope">-->
-            <!--        <el-button type="text" :disabled="editSave" size="small" @click="deletefun(scope.row,scope.$index)">删除</el-button>-->
-            <!--    </template>-->
-            <!--</el-table-column>-->
-        </el-table>
+        <avue-crud :option="option" :data="tableData" id="out-table" ref="crud"
+            @selection-change="handleSelectionChange" :header-cell-style="tableHeaderCellStyle"
+            :row-class-name="rowClassName" :cell-style="cellStyle"
+            @resetColumn="resetColumn('crud', 'option', 'optionBack', 457)"
+            @saveColumn="saveColumn('crud', 'option', 'optionBack', 457)">
+            <template slot="menuLeft">
+                <slot name="menuLeft"></slot>
+            </template>
+            <tempalte slot="currentAmountCNY" slot-scope="{ row }">
+                <el-input-number v-if="!editSave" v-model="row.currentAmountCNY" @change="armbChange(row)"
+                    :controls="false" placeholder="请输入 本次CNY" size="mini" style="width: 100%;"
+                    :disabled="row.curCode != 'CNY'||settlementdistar||!(form.status == '0' || form.status == '4' || form.status == null)"></el-input-number>
+                <span v-else>{{ row.currentAmountCNY }}</span>
+            </tempalte>
+            <tempalte slot="currentAmountUSD" slot-scope="{ row }">
+                <el-input-number v-if="!editSave" v-model="row.currentAmountUSD" @change="ausdChange(row)"
+                    :controls="false" placeholder="请输入 本次USD" size="mini" style="width: 100%;"
+                    :disabled="row.currentCurCode != 'USD'"></el-input-number>
+                <span v-else>{{ row.currentAmountUSD }}</span>
+            </tempalte>
+        </avue-crud>
     </div>
 </template>
 
@@ -143,8 +51,140 @@ export default {
     data() {
         return {
             curCodeData: [], // 本次币种
+            option: {},
+            optionBack: {
+                height: 'auto',
+                calcHeight: 30,
+                menuWidth: 60,
+                tip: false,
+                menu: false,
+                border: true,
+                addBtn: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: false,
+                refreshBtn: false,
+                index: true,
+                selection: true,
+                align: 'center',
+                column: [
+                    {
+                        label: "收/付",
+                        prop: "dc",
+                        width: 60,
+                        type: 'select',
+                        dicData: [{
+                            label: '收',
+                            value: 'D'
+                        }, {
+                            label: '付',
+                            value: 'C'
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "MB/L NO",
+                        prop: "mblno",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "本次CNY",
+                        prop: "currentAmountCNY",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "本次USD",
+                        prop: "currentAmountUSD",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "JOB NO",
+                        prop: "billNo",
+                        width: 100,
+                        overHidden: true,
+                    },
+                    {
+                        label: "BOOKINGNO",
+                        prop: "bookingNo",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "费用名称",
+                        prop: "feeCnName",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "客户名称",
+                        prop: "corpCnName",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "账单编号",
+                        prop: "accBillNo",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "账单金额",
+                        prop: "amount",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "本次发票币种",
+                        prop: "currentCurCode",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "本次发票汇率",
+                        prop: "currentExrate",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "付费申请金额",
+                        prop: "appliedAmount",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "发票申请金额",
+                        prop: "appliedInvoiceAmount",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "已开票金额",
+                        prop: "uninvoicedAmount",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "已结算金额",
+                        prop: "stlTtlAmount",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "备注",
+                        prop: "remarks",
+                        width: 120,
+                        overHidden: true
+                    }
+                ]
+            },
         }
     },
+    async created() {
+        this.option = await this.getColumnData(this.getColumnName(457), this.optionBack);
+    },
     methods: {
         armbChange(row) {
             if (Number(row.amount - row.appliedInvoiceAmount - row.appliedInvoiceAmountStl - row.uninvoicedAmount) > 0) {
@@ -323,9 +363,27 @@ export default {
                 rowStyle = 'color:#8cb24b;'
             } else if (row.dc == 'C') {
                 rowStyle = 'color:#F56C6C;'
-            } else { }
+            }
             return rowStyle + 'padding:0px;fontSize:12px'
         },
+        //自定义列保存
+        async saveColumn(ref, option, optionBack, code) {
+            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+            if (inSave) {
+                this.$message.success("保存成功");
+                //关闭窗口
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+        //自定义列重置
+        async resetColumn(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;
+            }
+        },
     },
     mounted() {
         // 按住ctrl实现多选 设置监听keydown事件,以及keyup事件,

+ 30 - 28
src/views/iosBasicData/fininvoicesApplyfor/fininvoicesDetails.vue

@@ -265,9 +265,9 @@
                                     </el-col>
                                     <el-col :span="7">
                                         <el-form-item label="-" prop="businessDateEnd" label-width="30px">
-                                            <el-date-picker v-model="form.businessDateEnd" clearable style="width: 100%;"
-                                                type="date" size="small" :disabled="editSave" value-format="yyyy-MM-dd"
-                                                placeholder="选择业务日期">
+                                            <el-date-picker v-model="form.businessDateEnd" clearable
+                                                style="width: 100%;" type="date" size="small" :disabled="editSave"
+                                                value-format="yyyy-MM-dd" placeholder="选择业务日期">
                                             </el-date-picker>
                                         </el-form-item>
                                     </el-col>
@@ -400,34 +400,36 @@
                 <el-card style="margin-top: 10px">
                     <el-tabs v-model="detailTabs" type="card">
                         <el-tab-pane label="费用明细" name="first">
-                            <div style="margin-bottom: 10px;display: flex;">
-                                <search-query :datalist="serverData" :selectValue="form.serverName" :clearable="true"
-                                    :buttonIf="false" :filterable="true"
-                                    :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictValue' }"
-                                    placeholder="请选择开票项目" @corpChange="corpChange($event, 'serverName')"
-                                    @corpFocus="serverWorkDictsfun">
-                                </search-query>
-                                <el-button style="margin-left: 10px" :disabled="!form.id || statusType" size="small"
-                                    type="primary" @click="invoicingfun">生成开票明细</el-button>
-                                <el-button style="margin-left: 10px" :disabled="!form.id || statusType" size="small"
-                                    type="warning" @click="invoicingRevokefun">撤销开票明细</el-button>
-                                <el-button size="small" :disabled="statusType" type="danger"
-                                    @click="batchDeletefun">一键删除</el-button>
-
-                                <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY" size="small"
-                                    autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                                    <span style="line-height: 32px;" slot="suffix">CNY</span>
-                                </el-input>
-                                <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD" size="small"
-                                    autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                                    <span style="line-height: 32px;" slot="suffix">USD</span>
-                                </el-input>
-                                <el-button style="margin-left: 10px" :disabled="statusType" size="small" type="primary"
-                                    @click="invoiceMatchingfun()">匹配金额</el-button>
-                            </div>
                             <fininvoicesitems ref="fininvoicesitems" :tableData="tableData"
                                 :handleSelectionData="handleSelectionData" :editSave="editSave" :form="form"
                                 @handleSelectionChange="handleSelectionChange" @deletefun="detailsdeletionfun">
+                                <template slot="menuLeft">
+                                    <div style="display: flex;">
+                                        <search-query :datalist="serverData" :selectValue="form.serverName"
+                                            :clearable="true" :buttonIf="false" :filterable="true"
+                                            :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictValue' }"
+                                            placeholder="请选择开票项目" @corpChange="corpChange($event, 'serverName')"
+                                            @corpFocus="serverWorkDictsfun">
+                                        </search-query>
+                                        <el-button style="margin-left: 10px" :disabled="!form.id || statusType"
+                                            size="small" type="primary" @click="invoicingfun">生成开票明细</el-button>
+                                        <el-button style="margin-left: 10px" :disabled="!form.id || statusType"
+                                            size="small" type="warning" @click="invoicingRevokefun">撤销开票明细</el-button>
+                                        <el-button size="small" :disabled="statusType" type="danger"
+                                            @click="batchDeletefun">一键删除</el-button>
+
+                                        <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY"
+                                            size="small" autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                            <span style="line-height: 32px;" slot="suffix">CNY</span>
+                                        </el-input>
+                                        <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD"
+                                            size="small" autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                            <span style="line-height: 32px;" slot="suffix">USD</span>
+                                        </el-input>
+                                        <el-button style="margin-left: 10px" :disabled="statusType" size="small"
+                                            type="primary" @click="invoiceMatchingfun()">匹配金额</el-button>
+                                    </div>
+                                </template>
                             </fininvoicesitems>
                         </el-tab-pane>
                         <el-tab-pane label="开票明细" name="second">

+ 38 - 36
src/views/iosBasicData/fininvoicesOutput/fininvoicesDetails.vue

@@ -261,9 +261,9 @@
                                     </el-col>
                                     <el-col :span="8">
                                         <el-form-item label="业务结束日期" prop="businessDateEnd">
-                                            <el-date-picker v-model="form.businessDateEnd" clearable style="width: 100%;"
-                                                type="date" size="small" :disabled="editSave" value-format="yyyy-MM-dd"
-                                                placeholder="选择业务日期">
+                                            <el-date-picker v-model="form.businessDateEnd" clearable
+                                                style="width: 100%;" type="date" size="small" :disabled="editSave"
+                                                value-format="yyyy-MM-dd" placeholder="选择业务日期">
                                             </el-date-picker>
                                         </el-form-item>
                                     </el-col>
@@ -403,42 +403,44 @@
                 <el-card style="margin-top: 10px">
                     <el-tabs v-model="detailTabs" type="card" @tab-click="handleClick">
                         <el-tab-pane label="费用明细" name="first">
-                            <div style="margin-bottom: 10px;display: flex;">
-                                <search-query :datalist="serverData" :selectValue="form.serverName" :clearable="true"
-                                    :buttonIf="false" :filterable="true"
-                                    :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictValue' }"
-                                    placeholder="请选择开票项目" @corpChange="corpChange($event, 'serverName')"
-                                    @corpFocus="serverWorkDictsfun">
-                                </search-query>
-                                <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="primary"
-                                    @click="invoicingfun">生成开票明细</el-button>
-                                <el-button style="margin-left: 10px" :disabled="editSave" size="small" type="warning"
-                                    @click="invoicingRevokefun">撤销开票明细</el-button>
-                                <el-button size="small" :disabled="editSave" type="danger"
-                                    @click="batchDeletefun">一键删除</el-button>
-
-                                <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY" size="small"
-                                    autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                                    <span style="line-height: 32px;" slot="suffix">CNY</span>
-                                </el-input>
-                                <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD" size="small"
-                                    autocomplete="off" type="numbers" clearable placeholder="开票金额">
-                                    <span style="line-height: 32px;" slot="suffix">USD</span>
-                                </el-input>
-                                <el-button style="margin-left: 10px" :disabled="statusType" size="small" type="primary"
-                                    @click="invoiceMatchingfun()">匹配金额</el-button>
-                                <span style="font-size: 18px;font-weight: 600;margin-left: 50px;">
-                                    <span style="color: #67C23A;margin-right: 10px;">
-                                        CNY:¥{{ amountSubSum }}元
-                                    </span>
-                                    <span style="color: #E6A23C;">
-                                        USD:${{ amountSubUsdSum }}元
-                                    </span>
-                                </span>
-                            </div>
                             <fininvoicesitems ref="fininvoicesitems" :tableData="tableData"
                                 :handleSelectionData="handleSelectionData" :editSave="editSave" :form="form"
                                 @handleSelectionChange="handleSelectionChange" @deletefun="detailsdeletionfun">
+                                <template slot="menuLeft">
+                                    <div style="display: flex;">
+                                        <search-query :datalist="serverData" :selectValue="form.serverName"
+                                            :clearable="true" :buttonIf="false" :filterable="true"
+                                            :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictValue' }"
+                                            placeholder="请选择开票项目" @corpChange="corpChange($event, 'serverName')"
+                                            @corpFocus="serverWorkDictsfun">
+                                        </search-query>
+                                        <el-button style="margin-left: 10px" :disabled="editSave" size="small"
+                                            type="primary" @click="invoicingfun">生成开票明细</el-button>
+                                        <el-button style="margin-left: 10px" :disabled="editSave" size="small"
+                                            type="warning" @click="invoicingRevokefun">撤销开票明细</el-button>
+                                        <el-button size="small" :disabled="editSave" type="danger"
+                                            @click="batchDeletefun">一键删除</el-button>
+
+                                        <el-input style="width: 10%;margin-left: 10px;" v-model="invoiceAmountCNY"
+                                            size="small" autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                            <span style="line-height: 32px;" slot="suffix">CNY</span>
+                                        </el-input>
+                                        <el-input style="width: 10%;margin-left: 5px;" v-model="invoiceAmountUSD"
+                                            size="small" autocomplete="off" type="numbers" clearable placeholder="开票金额">
+                                            <span style="line-height: 32px;" slot="suffix">USD</span>
+                                        </el-input>
+                                        <el-button style="margin-left: 10px" :disabled="statusType" size="small"
+                                            type="primary" @click="invoiceMatchingfun()">匹配金额</el-button>
+                                        <span style="font-size: 18px;font-weight: 600;margin-left: 50px;">
+                                            <span style="color: #67C23A;margin-right: 10px;">
+                                                CNY:¥{{ amountSubSum }}元
+                                            </span>
+                                            <span style="color: #E6A23C;">
+                                                USD:${{ amountSubUsdSum }}元
+                                            </span>
+                                        </span>
+                                    </div>
+                                </template>
                             </fininvoicesitems>
                         </el-tab-pane>
                         <el-tab-pane label="开票明细" name="second">

+ 299 - 243
src/views/iosBasicData/finstlbills/assembly/finstlbillsitems.vue

@@ -1,241 +1,41 @@
 <template>
     <div>
         <!--:row-style="{height:'20px',padding:'0px',fontSize:'12px'}"-->
-        <el-table ref="tableRef" :header-cell-style="tableHeaderCellStyle" :data="tableData" border style="width: 100%"
-            @selection-change="handleSelectionChange" @row-click="rowClick" :row-style="rowStyle"
-            :row-class-name="rowClassName" :cell-style="cellStyle" @expand-change="expandChange">
-            <el-table-column v-if="brfalse" fixed="left" type="selection" width="55">
-                <!--<template slot-scope="scope">-->
-                <!--    <el-checkbox v-model="scope.row.tableSelect"-->
-                <!--                 :true-label="1" :false-label="0"-->
-                <!--                 @change="toggleSelection([scope.row])">-->
-                <!--    </el-checkbox>-->
-                <!--</template>-->
-            </el-table-column>
-            <el-table-column type="expand" v-if="brfalse">
-                <template slot-scope="{row}">
-                    <costDetails :costDate="row.costDate || []"></costDetails>
-                </template>
-            </el-table-column>
-            <el-table-column prop="lineNo" label="行号" width="50px">
-            </el-table-column>
-            <el-table-column prop="dc" label="收付" width="50px">
-                <template slot-scope="{row}">
-                    <span v-if="row.dc == 'D'">收</span>
-                    <span v-if="row.dc == 'C'">付</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="isInvoice" label="开票状态" width="80px">
-                <template slot-scope="{ row }">
-                    <span v-if="row.isInvoice == 0">开票</span>
-                    <span v-if="row.isInvoice == 3">禁止开票</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="billNo" label="原业务编号" width="120px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.billNo }}</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 prop="invoiceNo" label="发票号">
-            </el-table-column>
-            <el-table-column prop="feeCnName" label="费用名称">
-            </el-table-column>
-            <el-table-column prop="corpCnName" label="结算单位" width="130px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.corpCnName }}</span>
-                </template>
-            </el-table-column>
-            <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="currentStlAmountRMB" label="本次对账CNY" width="100">
-                <template slot-scope="scope">
-                    <el-input style="width: 100%;" v-model="scope.row.currentStlAmountRMB" v-if="brfalse" size="mini"
-                        autocomplete="off" :disabled="scope.row.currentStlCurCode != 'CNY'" clearable
-                        placeholder="请输入USD" @change="armbChange(scope.row)">
-                    </el-input>
-                    <span v-else>{{ scope.row.currentStlAmountRMB }}</span>
-                    <!--<span>{{scope.row.currentStlAmountRMB}}</span>-->
-                </template>
-            </el-table-column>
-            <el-table-column prop="currentStlAmountUSD" label="本次对账USD" width="100">
-                <template slot-scope="scope">
-                    <el-input style="width: 100%;" v-model="scope.row.currentStlAmountUSD" v-if="brfalse" size="mini"
-                        autocomplete="off" :disabled="scope.row.currentStlCurCode != 'USD'" clearable
-                        placeholder="请输入USD" @change="ausdChange(scope.row)">
-                    </el-input>
-                    <span v-else>{{ scope.row.currentStlAmountUSD }}</span>
-                    <!--<span>{{scope.row.currentStlAmountUSD}}</span>-->
-                </template>
-            </el-table-column>
-            <el-table-column label="币种" prop="currentStlCurCode" width="100">
-                <template slot-scope="{row}">
-                    <!--<search-query v-if="!editSave"-->
-                    <!--              :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>{{ row.currentStlCurCode }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="currentStlExrate" label="汇率">
-            </el-table-column>
-
-            <el-table-column prop="stlAmountDr" label="已结算CNY" width="100px">
-                <template slot-scope="{ row }">
-                    <span v-if="row.dc == 'D'">{{ row.stlAmountDr }}</span>
-                    <span v-if="row.dc == 'C'">{{ row.stlAmountCr }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="stlAmountDrUSD" label="已结算USD" width="100px">
-                <template slot-scope="{ row }">
-                    <span v-if="row.dc == 'D'">{{ row.stlAmountDrUSD }}</span>
-                    <span v-if="row.dc == 'C'">{{ row.stlAmountCrUSD }}</span>
-                </template>
-            </el-table-column>
-            <!--<el-table-column-->
-            <!--    prop="tableSelect"-->
-            <!--    label="选择" width="50px" v-if="brfalse">-->
-            <!--    <template slot-scope="scope">-->
-            <!--        <el-checkbox v-model="scope.row.tableSelect"-->
-            <!--                     :true-label="1" :false-label="0"-->
-            <!--                     @change="toggleSelection([scope.row])">-->
-            <!--        </el-checkbox>-->
-            <!--    </template>-->
-            <!--</el-table-column>-->
-            <el-table-column prop="isChecked" label="对账">
-                <template slot-scope="{row}">
-                    <span v-if="row.isChecked == item.dictKey" v-for="item in ifInvoiceData" :key="item.dictKey">
-                        {{ item.dictValue }}
-                    </span>
-                </template>
-            </el-table-column>
-            <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 }}
-                    </span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="isInvoice" label="发票状态">
-                <template slot-scope="{row}">
-                    <span v-if="row.isInvoice == item.dictKey" v-for="item in invoicelosDara" :key="item.id">
-                        {{ item.dictValue }}
-                    </span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="etd" label="ETD" width="120px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.etd }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="accBillNo" label="账单编号" width="120px">
-                <template slot-scope="{row}">
-                    <span class="textHide">{{ row.accBillNo }}</span>
-                </template>
-            </el-table-column>
-
-            <el-table-column prop="signforName" label="签收人">
-            </el-table-column>
-            <el-table-column prop="signforDate" label="签收日期" width="160px">
-            </el-table-column>
-            <!-- <el-table-column prop="billDate" label="销账日期" width="150px">
-                <template slot-scope="{ row }">
-                    <span>{{ row.etd }}</span>
-                </template>
-            </el-table-column> -->
-
-            <!--<el-table-column-->
-            <!--    prop="accBillNo"-->
-            <!--    label="操作(无参数)" width="120px">-->
-            <!--</el-table-column>-->
-            <el-table-column prop="bookingNo" label="BOOKINGNO" width="150px">
-                <template slot-scope="{ row }">
-                    <span>{{ row.bookingNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="hblno" label="HB/L NO" width="150px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.hblno }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="vesselCnName" label="船名">
-                <template slot-scope="{row}">
-                    <span class="textHide">{{ row.vesselCnName }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="voyageNo" label="航次" width="100px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.voyageNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="currentInvoiceAmountRMB" label="发票CNY">
-            </el-table-column>
-            <el-table-column prop="currentInvoiceAmountUSD" label="发票USD">
-            </el-table-column>
-            <!-- <el-table-column prop="quantityCntrTypesDescr" label="箱型">
-            </el-table-column> -->
-            <el-table-column prop="quantityCntrTypesDescr" label="箱量">
-            </el-table-column>
-            <el-table-column prop="billNo" label="编号" width="100px">
-                <template slot-scope="{ row }">
-                    <span class="textHide">{{ row.billNo }}</span>
-                </template>
-            </el-table-column>
-            <el-table-column prop="unsettledAmountRMB" label="应对账CNY" width="100px">
-            </el-table-column>
-            <el-table-column prop="unsettledAmountUSD" label="应对账USD" width="100px">
-            </el-table-column>
-            <el-table-column prop="reconciliationAmount" label="已对账CNY" width="100px">
-            </el-table-column>
-            <el-table-column prop="reconciliationAmountUsd" label="已对账USD" width="100px">
-            </el-table-column>
-            <!--<el-table-column-->
-            <!--    prop="voyageNo"-->
-            <!--    label="结算单号(暂无字段)">-->
-            <!--    <template slot-scope="{ row }">-->
-            <!--        <span class="textHide" >{{row.voyageNo}}</span>-->
-            <!--    </template>-->
-            <!--</el-table-column>-->
-            <!--paymode-->
-            <!--<el-table-column-->
-            <!--    prop="paymodeH"-->
-            <!--    label="H付费方式">-->
-            <!--</el-table-column>-->
-            <!--<el-table-column-->
-            <!--    prop="paymodeM"-->
-            <!--    label="M付费方式">-->
-            <!--</el-table-column>-->
-            <!--<el-table-column-->
-            <!--    prop="eta"-->
-            <!--    label="三检单号(暂无字段)">-->
-            <!--    <template slot-scope="{ row }">-->
-            <!--        <span class="textHide" >{{row.voyageNo}}</span>-->
-            <!--    </template>-->
-            <!--</el-table-column>-->
-            <el-table-column prop="remarkss" label="备注" width="100px">
-                <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>
-                    <span v-else>{{ scope.row.remarkss }}</span>
-                </template>
-            </el-table-column>
-        </el-table>
+        <avue-crud :option="option" :data="tableData" id="out-table" ref="crud"
+            @selection-change="handleSelectionChange" :header-cell-style="tableHeaderCellStyle"
+            :row-class-name="rowClassName" :cell-style="cellStyle"
+            @resetColumn="resetColumn('crud', 'option', 'optionBack', 455)"
+            @saveColumn="saveColumn('crud', 'option', 'optionBack', 455)">
+            <template slot="menuLeft">
+                <slot name="menuLeft"></slot>
+            </template>
+            <tempalte slot="currentStlAmountRMB" slot-scope="{ row }">
+                <el-input-number v-if="brfalse" v-model="row.currentStlAmountRMB" @change="armbChange(row)"
+                    :controls="false" placeholder="请输入 本次对账CNY" size="mini" style="width: 100%;"
+                    :disabled="row.currentStlCurCode != 'CNY'"></el-input-number>
+                <span v-else>{{ row.currentStlAmountRMB }}</span>
+            </tempalte>
+            <tempalte slot="currentStlAmountUSD" slot-scope="{ row }">
+                <el-input-number v-if="brfalse" v-model="row.currentStlAmountUSD" @change="ausdChange(row)"
+                    :controls="false" placeholder="请输入 本次对账USD" size="mini" style="width: 100%;"
+                    :disabled="row.currentStlCurCode != 'USD'"></el-input-number>
+                <span v-else>{{ row.currentStlAmountUSD }}</span>
+            </tempalte>
+            <template slot="stlAmountDr" slot-scope="{ row }">
+                <span v-if="row.dc == 'D'">{{ row.stlAmountDr }}</span>
+                <span v-if="row.dc == 'C'">{{ row.stlAmountCr }}</span>
+            </template>
+            <template slot="stlAmountDrUSD" slot-scope="{ row }">
+                <span v-if="row.dc == 'D'">{{ row.stlAmountDrUSD }}</span>
+                <span v-if="row.dc == 'C'">{{ row.stlAmountCrUSD }}</span>
+            </template>
+            <template slot="remarkss" slot-scope="{ row }">
+                <el-input style="width: 100%;" v-model="row.remarkss" v-if="brfalse" size="mini" autocomplete="off"
+                    clearable placeholder="请输入 备注">
+                </el-input>
+                <span v-else>{{ row.remarkss }}</span>
+            </template>
+        </avue-crud>
     </div>
 </template>
 
@@ -275,16 +75,254 @@ export default {
             ifInvoiceData: [], // 是否数据
             invoicelosDara: [],// 发票
             curCodeData: [], // 币种
+            option: {},
+            optionBack: {
+                height: 'auto',
+                calcHeight: 30,
+                menuWidth: 60,
+                tip: false,
+                menu: false,
+                border: true,
+                addBtn: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: false,
+                refreshBtn: false,
+                index: true,
+                selection: true,
+                align: 'center',
+                column: [
+                    {
+                        label: "收付",
+                        prop: "dc",
+                        width: 60,
+                        type: 'select',
+                        dicData: [{
+                            label: '收',
+                            value: 'D'
+                        }, {
+                            label: '付',
+                            value: 'C'
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "开票状态",
+                        prop: "isInvoice",
+                        width: 80,
+                        type: 'select',
+                        dicData: [{
+                            label: '开票',
+                            value: 0
+                        }, {
+                            label: '禁止开票',
+                            value: 3
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "原业务编号",
+                        prop: "billNo",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "发票号",
+                        prop: "invoiceNo",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "费用名称",
+                        prop: "feeCnName",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "结算单位",
+                        prop: "corpCnName",
+                        width: 120,
+                        overHidden: true
+                    },
+                    {
+                        label: "MB/L NO",
+                        prop: "mblno",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "本次对账CNY",
+                        prop: "currentStlAmountRMB",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "本次对账USD",
+                        prop: "currentStlAmountUSD",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "币种",
+                        prop: "currentStlCurCode",
+                        width: 60,
+                        overHidden: true
+                    },
+                    {
+                        label: "汇率",
+                        prop: "currentStlExrate",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "已结算CNY",
+                        prop: "stlAmountDr",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "已结算USD",
+                        prop: "stlAmountDrUSD",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "对账",
+                        prop: "isChecked",
+                        width: 60,
+                        overHidden: true,
+                        type: 'select',
+                        dicData: [{
+                            label: '否',
+                            value: 0
+                        }, {
+                            label: '是',
+                            value: 1
+                        }],
+                    },
+                    {
+                        label: "签收",
+                        prop: "isSignfor",
+                        width: 60,
+                        overHidden: true,
+                        type: 'select',
+                        dicData: [{
+                            label: '否',
+                            value: 0
+                        }, {
+                            label: '是',
+                            value: 1
+                        }],
+                    },
+                    {
+                        label: "ETD",
+                        prop: "etd",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "账单编号",
+                        prop: "accBillNo",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "签收人",
+                        prop: "signforName",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "签收日期",
+                        prop: "signforDate",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "BOOKINGNO",
+                        prop: "bookingNo",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "HB/L NO",
+                        prop: "hblno",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "船名",
+                        prop: "vesselCnName",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "航次",
+                        prop: "voyageNo",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "发票CNY",
+                        prop: "currentInvoiceAmountRMB",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "发票USD",
+                        prop: "currentInvoiceAmountUSD",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "箱量",
+                        prop: "quantityCntrTypesDescr",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
+                        label: "应对账CNY",
+                        prop: "unsettledAmountRMB",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "应对账USD",
+                        prop: "unsettledAmountUSD",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "已对账CNY",
+                        prop: "reconciliationAmount",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "已对账USD",
+                        prop: "reconciliationAmountUsd",
+                        width: 100,
+                        overHidden: true
+                    },
+                    {
+                        label: "备注",
+                        prop: "remarkss",
+                        width: 120,
+                        overHidden: true
+                    }
+                ]
+            },
         }
     },
-    created() {
+    async created() {
+        this.option = await this.getColumnData(this.getColumnName(455), this.optionBack);
         this.isSignforWorkDicts()
         this.invoicelosWorkDictsfun()
     },
     methods: {
         armbChange(row) {
             if (Number(row.amount - row.reconciliationAmount) > 0) {
-                if (Number(row.currentStlAmountRMB)<0) {
+                if (Number(row.currentStlAmountRMB) < 0) {
                     row.currentStlAmountRMB = 0
                     return this.$message.error("本次对账金额不能输入负数");
                 }
@@ -294,7 +332,7 @@ export default {
                 }
             }
             if (Number(row.amount - row.reconciliationAmount) < 0) {
-                if(row.currentStlAmountRMB>=0){
+                if (row.currentStlAmountRMB >= 0) {
                     row.currentStlAmountRMB = Number(row.amount - row.reconciliationAmount)
                     return this.$message.error("本次对账金额不能输入非负数");
                 }
@@ -307,7 +345,7 @@ export default {
         },
         ausdChange(row) {
             if (Number(row.amount - row.reconciliationAmount) > 0) {
-                if (Number(row.currentStlAmountUSD)<0) {
+                if (Number(row.currentStlAmountUSD) < 0) {
                     row.currentStlAmountUSD = 0
                     return this.$message.error("本次对账金额不能输入负数");
                 }
@@ -317,12 +355,12 @@ export default {
                 }
             }
             if (Number(row.amount - row.reconciliationAmount) < 0) {
-                if(row.currentStlAmountUSD>=0){
-                    row.currentStlAmountUSD =  Number(row.amount - row.reconciliationAmount)
+                if (row.currentStlAmountUSD >= 0) {
+                    row.currentStlAmountUSD = Number(row.amount - row.reconciliationAmount)
                     return this.$message.error("本次对账金额不能输入非负数");
                 }
                 if (Number(row.currentStlAmountUSD) < Number(row.amount - row.reconciliationAmount)) {
-                    row.currentStlAmountUSD =  Number(row.amount - row.reconciliationAmount)
+                    row.currentStlAmountUSD = Number(row.amount - row.reconciliationAmount)
                     return this.$message.error("本次对账金额不能超过未对账金额");
                 }
             }
@@ -512,9 +550,27 @@ export default {
                 rowStyle = 'color:#8cb24b;'
             } else if (row.dc == 'C') {
                 rowStyle = 'color:#F56C6C;'
-            } else { }
+            }
             return rowStyle + 'padding:0px;fontSize:12px'
         },
+        //自定义列保存
+        async saveColumn(ref, option, optionBack, code) {
+            const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+            if (inSave) {
+                this.$message.success("保存成功");
+                //关闭窗口
+                this.$refs[ref].$refs.dialogColumn.columnBox = false;
+            }
+        },
+        //自定义列重置
+        async resetColumn(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;
+            }
+        },
     },
     mounted() {
         // 按住ctrl实现多选 设置监听keydown事件,以及keyup事件,

+ 20 - 17
src/views/iosBasicData/finstlbills/finstlbillsDetails.vue

@@ -387,26 +387,29 @@
             </el-card>
 
             <el-card style="margin-top: 10px">
-                <div style="margin-bottom: 10px">
-                    <el-button size="small" type="info" style="margin-right: 8px" :disabled="editSave"
-                        :loading="saveLoading" @click="SelectedRows">确认选定行
-                    </el-button>
-                    <el-button size="small" type="danger" style="margin-left: 10px" :disabled="editSave"
-                        :loading="saveLoading" @click="batchDeletefun">一键删除
-                    </el-button>
-                    <el-button size="small" type="primary" style="margin-left: 10px" :disabled="editSave"
-                        :loading="saveLoading" @click="editHandle">一键编辑
-                    </el-button>
-                    <el-button size="small" type="primary" style="margin-right: 8px" :disabled="editSave"
-                        :loading="saveLoading" @click="Confirminvoicefun">禁止开票
-                    </el-button>
-                    <el-button size="small" type="warning" style="margin-right: 8px" :disabled="editSave"
-                        :loading="saveLoading" @click="Notinvoicingfun">取消禁止开票
-                    </el-button>
-                </div>
+
 
                 <finstlbillsitems :tableData="tableData" :form="form" :handleSelectionData="handleSelectionData"
                     :brfalse="!editSave" @handleSelectionChange="handleSelectionChange">
+                    <template slot="menuLeft">
+                        <div>
+                            <el-button size="small" type="info" style="margin-right: 8px" :disabled="editSave"
+                                :loading="saveLoading" @click="SelectedRows">确认选定行
+                            </el-button>
+                            <el-button size="small" type="danger" style="margin-left: 10px" :disabled="editSave"
+                                :loading="saveLoading" @click="batchDeletefun">一键删除
+                            </el-button>
+                            <el-button size="small" type="primary" style="margin-left: 10px" :disabled="editSave"
+                                :loading="saveLoading" @click="editHandle">一键编辑
+                            </el-button>
+                            <el-button size="small" type="primary" style="margin-right: 8px" :disabled="editSave"
+                                :loading="saveLoading" @click="Confirminvoicefun">禁止开票
+                            </el-button>
+                            <el-button size="small" type="warning" style="margin-right: 8px" :disabled="editSave"
+                                :loading="saveLoading" @click="Notinvoicingfun">取消禁止开票
+                            </el-button>
+                        </div>
+                    </template>
                 </finstlbillsitems>
             </el-card>
         </div>