Browse Source

批量操作

Qukatie 1 tháng trước cách đây
mục cha
commit
97d067a52c

+ 49 - 7
src/api/iosBasicData/bills.js

@@ -107,7 +107,7 @@ export const billsAdd = (row) => {
   })
 }
 // 添加到主单
-export const billsIncreaseReinsurancePolicy = (ids,id) => {
+export const billsIncreaseReinsurancePolicy = (ids, id) => {
   return request({
     url: '/api/blade-los/bills/increaseReinsurancePolicy',
     method: 'post',
@@ -118,7 +118,7 @@ export const billsIncreaseReinsurancePolicy = (ids,id) => {
   })
 }
 // 主单撤销
-export const billsRevokeReinsurancePolicy = (ids,id) => {
+export const billsRevokeReinsurancePolicy = (ids, id) => {
   return request({
     url: '/api/blade-los/bills/revokeReinsurancePolicy',
     method: 'post',
@@ -276,11 +276,11 @@ export const accountsReceivable = (data) => {
 }
 
 export const updateBatchField = (row) => {
-    return request({
-        url: '/api/blade-los/bills/updateBatchField',
-        method: 'post',
-        data: row
-    })
+  return request({
+    url: '/api/blade-los/bills/updateBatchField',
+    method: 'post',
+    data: row
+  })
 }
 export const updateBillType = (data) => {
   return request({
@@ -288,4 +288,46 @@ export const updateBillType = (data) => {
     method: 'get',
     params: data
   })
+}
+export const checkBillsBatch = (data) => {
+  return request({
+    url: '/api/blade-los/bills/checkBillsBatch',
+    method: 'get',
+    params: data
+  })
+}
+export const revokeCheckBillsBatch = (data) => {
+  return request({
+    url: '/api/blade-los/bills/revokeCheckBillsBatch',
+    method: 'get',
+    params: data
+  })
+}
+export const generateBillBatch = (data) => {
+  return request({
+    url: '/api/blade-los/finaccbills/generateBillBatch',
+    method: 'get',
+    params: data
+  })
+}
+export const revokeBillBatch = (data) => {
+  return request({
+    url: '/api/blade-los/finaccbills/revokeBillBatch',
+    method: 'get',
+    params: data
+  })
+}
+export const batchCopyBills = (data) => {
+  return request({
+    url: '/api/blade-los/bills/batchCopyBills',
+    method: 'get',
+    params: data
+  })
+}
+export const updateCorpBatch = (data) => {
+  return request({
+    url: '/api/blade-los/feecenter/updateCorpBatch',
+    method: 'post',
+    data: data
+  })
 }

+ 178 - 313
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -14,301 +14,6 @@
                         <el-radio label="2">提单号</el-radio>
                     </el-radio-group>
                 </template>
-                <!--#region-->
-                <!--<template slot="search" slot-scope="{row,size}">-->
-                <!--    <el-form ref="form" :model="row" label-width="80px" :style="fold?'width: 100%':'width: 70%'">-->
-                <!--        <el-row>-->
-                <!--            <el-col :span="fold?6:8" >-->
-                <!--                <el-form-item label="主单号">-->
-                <!--                    <el-input placeholder="请输入主单号" clearable-->
-                <!--                              size="small" style="width:100%" v-model="query.mblno">-->
-                <!--                    </el-input>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="fold?6:8">-->
-                <!--                <el-form-item label="委托人">-->
-                <!--                    &lt;!&ndash;<el-input placeholder="请输入委托人" clearable&ndash;&gt;-->
-                <!--                    &lt;!&ndash;          size="small" style="width:100%" v-model="query.corpCnName">&ndash;&gt;-->
-                <!--                    &lt;!&ndash;</el-input>&ndash;&gt;-->
-                <!--                    <search-query :datalist="corpData"-->
-                <!--                                  :selectValue="query.corpCnName"-->
-                <!--                                  :filterable="true"-->
-                <!--                                  :clearable="true"-->
-                <!--                                  :remote="true"-->
-                <!--                                  :buttonIf="false"-->
-                <!--                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"-->
-                <!--                                  placeholder="请输入委托人"-->
-                <!--                                  @remoteMethod="corpBcorpslistByType"-->
-                <!--                                  @corpChange="corpChange($event,'corpCnName')"-->
-                <!--                                  @corpFocus="corpBcorpslistByType" >-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="fold?6:8" >-->
-                <!--                <el-form-item label="业务号">-->
-                <!--                    <el-input placeholder="请输入业务号" clearable-->
-                <!--                              size="small" style="width:100%" v-model="query.billNo">-->
-                <!--                    </el-input>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="单据类型">-->
-                <!--                    <search-query-->
-                <!--                        :datalist="billTypeData"-->
-                <!--                        :selectValue="query.billType"-->
-                <!--                        :filterable="true"-->
-                <!--                        :clearable="true"-->
-                <!--                        :remote="true"-->
-                <!--                        :buttonIf="false"-->
-                <!--                        @corpChange="corpChange($event,'billType')">-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="分单号">-->
-                <!--                    <el-input placeholder="请输入分单号" clearable-->
-                <!--                              size="small" style="width:100%" v-model="query.hblno">-->
-                <!--                    </el-input>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="船名">-->
-                <!--                    <search-query :datalist="vesselData"-->
-                <!--                                  :selectValue="query.vesselEnName"-->
-                <!--                                  :filterable="true"-->
-                <!--                                  :clearable="true"-->
-                <!--                                  :remote="true"-->
-                <!--                                  :buttonIf="false"-->
-                <!--                                  :forParameter="{key:'id',label:'enName',value:'enName'}"-->
-                <!--                                  placeholder="请输入船名"-->
-                <!--                                  @remoteMethod="vesselBvesselsListfun"-->
-                <!--                                  @corpChange="corpChange($event,'vesselEnName')"-->
-                <!--                                  @corpFocus="vesselBvesselsListfun" >-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold" >-->
-                <!--                <el-form-item label="航次">-->
-                <!--                    <el-input placeholder="请输入航次" clearable-->
-                <!--                              size="small" style="width:100%" v-model="query.voyageNo">-->
-                <!--                    </el-input>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="船公司">-->
-                <!--                    <search-query :datalist="carrierData"-->
-                <!--                                  :selectValue="query.carrierCnName"-->
-                <!--                                  :filterable="true"-->
-                <!--                                  :clearable="true"-->
-                <!--                                  :remote="true"-->
-                <!--                                  :buttonIf="false"-->
-                <!--                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"-->
-                <!--                                  placeholder="请输入船公司"-->
-                <!--                                  @remoteMethod="carrierBcorpslistByTypefun"-->
-                <!--                                  @corpChange="corpChange($event,'carrierCnName')"-->
-                <!--                                  @corpFocus="carrierBcorpslistByTypefun" >-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="目的港">-->
-                <!--                    &lt;!&ndash;<el-input placeholder="请输入目的港" clearable&ndash;&gt;-->
-                <!--                    &lt;!&ndash;          size="small" style="width:100%" v-model="query.podCnName">&ndash;&gt;-->
-                <!--                    &lt;!&ndash;</el-input>&ndash;&gt;-->
-                <!--                    <search-query :datalist="podData"-->
-                <!--                                  :selectValue="query.podEnName"-->
-                <!--                                  :filterable="true"-->
-                <!--                                  :clearable="true"-->
-                <!--                                  :remote="true"-->
-                <!--                                  :buttonIf="false"-->
-                <!--                                  :forParameter="{key:'id',label:'enName',value:'enName'}"-->
-                <!--                                  placeholder="请输入目的港"-->
-                <!--                                  @remoteMethod="podBportsListfun"-->
-                <!--                                  @corpChange="corpChange($event,'podEnName')"-->
-                <!--                                  @corpFocus="podBportsListfun" >-->
-                <!--                    </search-query>-->
-
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="航线">-->
-                <!--                    &lt;!&ndash;<el-input placeholder="请输入航线" clearable&ndash;&gt;-->
-                <!--                    &lt;!&ndash;          size="small" style="width:100%" v-model="query.lineCnName">&ndash;&gt;-->
-                <!--                    &lt;!&ndash;</el-input>&ndash;&gt;-->
-                <!--                    <search-query :datalist="lineData"-->
-                <!--                                  :selectValue="query.lineCnName"-->
-                <!--                                  :filterable="true"-->
-                <!--                                  :clearable="true"-->
-                <!--                                  :remote="true"-->
-                <!--                                  :buttonIf="false"-->
-                <!--                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"-->
-                <!--                                  placeholder="请输入航线"-->
-                <!--                                  @remoteMethod="lineBlinesListfun"-->
-                <!--                                  @corpChange="corpChange($event,'lineCnName')"-->
-                <!--                                  @corpFocus="lineBlinesListfun" >-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="场站">-->
-                <!--                    &lt;!&ndash;<el-input placeholder="请输入场站" clearable&ndash;&gt;-->
-                <!--                    &lt;!&ndash;          size="small" style="width:100%" v-model="query.cyCode">&ndash;&gt;-->
-                <!--                    &lt;!&ndash;</el-input>&ndash;&gt;-->
-                <!--                    <search-query :datalist="cyData"-->
-                <!--                                  :selectValue="query.cyCnName"-->
-                <!--                                  :filterable="true"-->
-                <!--                                  :clearable="true"-->
-                <!--                                  :remote="true"-->
-                <!--                                  :buttonIf="false"-->
-                <!--                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"-->
-                <!--                                  placeholder="请输入场站"-->
-                <!--                                  @remoteMethod="cyBcorpslistByType"-->
-                <!--                                  @corpChange="corpChange($event,'cyCnName')"-->
-                <!--                                  @corpFocus="cyBcorpslistByType" >-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="业务来源">-->
-                <!--                    <search-query-->
-                <!--                        :datalist="srcTypeData"-->
-                <!--                        :selectValue="query.srcType"-->
-                <!--                        :filterable="true"-->
-                <!--                        :clearable="true"-->
-                <!--                        :remote="true"-->
-                <!--                        :buttonIf="false"-->
-                <!--                        @corpChange="corpChange($event,'srcType')">-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="来源详情">-->
-                <!--                    <el-input placeholder="请输入来源详情" clearable-->
-                <!--                              size="small" style="width:100%" v-model="query.srcCnName">-->
-                <!--                    </el-input>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="9" v-show="fold">-->
-                <!--                <el-form-item label="ETD">-->
-                <!--                    <el-checkbox v-model="etdDisabled">-->
-                <!--                        <el-date-picker-->
-                <!--                            v-model="etdList"-->
-                <!--                            style="width: 100%"-->
-                <!--                            :disabled="!etdDisabled"-->
-                <!--                            size="small"-->
-                <!--                            type="datetimerange"-->
-                <!--                            range-separator="至"-->
-                <!--                            start-placeholder="开始日期"-->
-                <!--                            end-placeholder="结束日期"-->
-                <!--                            format="yyyy-MM-dd HH:mm"-->
-                <!--                            value-format="yyyy-MM-dd HH:mm"-->
-                <!--                            clearable>-->
-                <!--                        </el-date-picker>-->
-                <!--                    </el-checkbox>-->
-
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="9" v-show="fold">-->
-                <!--                <el-form-item label="ETA">-->
-                <!--                    <el-checkbox v-model="etaDisabled">-->
-                <!--                        <el-date-picker-->
-                <!--                            v-model="etaList"-->
-                <!--                            style="width: 100%"-->
-                <!--                            :disabled="!etaDisabled"-->
-                <!--                            size="small"-->
-                <!--                            type="datetimerange"-->
-                <!--                            range-separator="至"-->
-                <!--                            start-placeholder="开始日期"-->
-                <!--                            end-placeholder="结束日期"-->
-                <!--                            format="yyyy-MM-dd HH:mm"-->
-                <!--                            value-format="yyyy-MM-dd HH:mm"-->
-                <!--                            clearable>-->
-                <!--                        </el-date-picker>-->
-                <!--                    </el-checkbox>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="创建部门">-->
-                <!--                    &lt;!&ndash;<el-input placeholder="请输入创建部门" clearable&ndash;&gt;-->
-                <!--                    &lt;!&ndash;          size="small" style="width:100%" v-model="query.createDeptName">&ndash;&gt;-->
-                <!--                    &lt;!&ndash;</el-input>&ndash;&gt;-->
-                <!--                    <tree-select v-model="query.createDeptName" filterable-->
-                <!--                                 :data="createDeptData"-->
-                <!--                                 :props="{label: 'title', children:'children' }"-->
-                <!--                                 nodeKey="title"-->
-                <!--                                 size="small"-->
-                <!--                                 :multiple="false"-->
-                <!--                                 placeholder="请选择创建部门"-->
-                <!--                                 @focus="createDeptLzylistfun"-->
-                <!--                                 @input="corpChange($event,'createDeptName')">-->
-                <!--                    </tree-select>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="订舱代理">-->
-                <!--                    &lt;!&ndash;<el-input placeholder="请输入订舱代理" clearable&ndash;&gt;-->
-                <!--                    &lt;!&ndash;          size="small" style="width:100%" v-model="query.bookingAgentCnName">&ndash;&gt;-->
-                <!--                    &lt;!&ndash;</el-input>&ndash;&gt;-->
-                <!--                    <search-query :datalist="bookingAgentData"-->
-                <!--                                  :selectValue="query.bookingAgentCnName"-->
-                <!--                                  :filterable="true"-->
-                <!--                                  :clearable="true"-->
-                <!--                                  :remote="true"-->
-                <!--                                  :buttonIf="false"-->
-                <!--                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"-->
-                <!--                                  placeholder="请输入订舱代理"-->
-                <!--                                  @remoteMethod="bookingAgentBcorpsListfun"-->
-                <!--                                  @corpChange="corpChange($event,'bookingAgentCnName')"-->
-                <!--                                  @corpFocus="bookingAgentBcorpsListfun">-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="签单方式">-->
-                <!--                    <search-query-->
-                <!--                        :datalist="issueTypeData"-->
-                <!--                        :selectValue="query.issueType"-->
-                <!--                        :filterable="true"-->
-                <!--                        :clearable="true"-->
-                <!--                        :remote="true"-->
-                <!--                        :buttonIf="false"-->
-                <!--                        :forParameter="{ key:'dictKey', label:'dictValue', value:'dictValue'}"-->
-                <!--                        @corpChange="corpChange($event,'issueType')" >-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--            <el-col :span="6" v-show="fold">-->
-                <!--                <el-form-item label="收货人">-->
-                <!--                    &lt;!&ndash;<el-input placeholder="请输入收货人" clearable&ndash;&gt;-->
-                <!--                    &lt;!&ndash;          size="small" style="width:100%" v-model="query.hConsigneeCnName">&ndash;&gt;-->
-                <!--                    &lt;!&ndash;</el-input>&ndash;&gt;-->
-                <!--                    <search-query :datalist="hConsigneeData"-->
-                <!--                                  :selectValue="query.hConsigneeCnName"-->
-                <!--                                  :filterable="true"-->
-                <!--                                  :clearable="true"-->
-                <!--                                  :remote="true"-->
-                <!--                                  :buttonIf="false"-->
-                <!--                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"-->
-                <!--                                  placeholder="请选择收货人"-->
-                <!--                                  @remoteMethod="hConsigneeBcorpslistByType"-->
-                <!--                                  @corpChange="corpChange($event,'hConsigneeCnName')"-->
-                <!--                                  @corpFocus="hConsigneeBcorpslistByType" >-->
-                <!--                    </search-query>-->
-                <!--                </el-form-item>-->
-                <!--            </el-col>-->
-                <!--        </el-row>-->
-                <!--    </el-form>-->
-                <!--</template>-->
-                <!--<template slot="searchMenu"  slot-scope="{row,size}">-->
-                <!--    <el-button type="text" @click="shiftCollapsiable">-->
-                <!--        <span>-->
-                <!--            {{ fold ? '收起' : '展开' }}-->
-                <!--            <i :class="fold ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i>-->
-                <!--        </span>-->
-                <!--    </el-button>-->
-                <!--</template>-->
-                <!--#endregion-->
-
                 <template slot="menuLeft">
                     <el-button type="primary" size="small" @click="addbtnfun('DD')">新建直单
                     </el-button>
@@ -333,8 +38,7 @@
                     <el-button type="warning" size="small" @click="outExport">导 出
                     </el-button>
                     <el-dropdown style="line-height: 0">
-                        <el-button size="small" type="success" style="margin-right: 8px"
-                            :disabled="selectionList.length == 0">
+                        <el-button size="small" type="success" :disabled="selectionList.length == 0">
                             发送 SO EDI<i class="el-icon-arrow-down el-icon--right"></i>
                         </el-button>
                         <el-dropdown-menu slot="dropdown">
@@ -344,8 +48,7 @@
                         </el-dropdown-menu>
                     </el-dropdown>
                     <el-dropdown style="line-height: 0">
-                        <el-button size="small" type="success" style="margin-right: 8px"
-                            :disabled="selectionList.length == 0">
+                        <el-button size="small" type="success" :disabled="selectionList.length == 0">
                             发送 SI EDI<i class="el-icon-arrow-down el-icon--right"></i>
                         </el-button>
                         <el-dropdown-menu slot="dropdown">
@@ -354,9 +57,19 @@
                             </el-dropdown-item>
                         </el-dropdown-menu>
                     </el-dropdown>
-                    <el-button type="primary" size="small" @click="updateField"
-                        :disabled="selectionList.length === 0">批量更改
-                    </el-button>
+                    <el-dropdown style="line-height: 0" @command="batchClick">
+                        <el-button size="small" type="danger" :disabled="selectionList.length == 0">
+                            批量操作<i class="el-icon-arrow-down el-icon--right"></i>
+                        </el-button>
+                        <el-dropdown-menu slot="dropdown">
+                            <el-dropdown-item command="批量更改">批量更改</el-dropdown-item>
+                            <el-dropdown-item command="批量单据请核">批量单据请核</el-dropdown-item>
+                            <el-dropdown-item command="批量撤销单据请核">批量撤销单据请核</el-dropdown-item>
+                            <el-dropdown-item command="批量生成账单">批量生成账单</el-dropdown-item>
+                            <el-dropdown-item command="批量撤销账单">批量撤销账单</el-dropdown-item>
+                            <el-dropdown-item command="批量复制">批量复制</el-dropdown-item>
+                        </el-dropdown-menu>
+                    </el-dropdown>
                     <div style="margin-top: 10px">
                         <el-tabs type="card" v-model="query.billStatus" @tab-click="handleClick">
 
@@ -380,16 +93,6 @@
                             </el-tab-pane>
                             <el-tab-pane label="完成" name="3"></el-tab-pane>
                         </el-tabs>
-                        <!-- <el-tabs type="card" v-model="query.billStatus" @tab-click="handleClick">
-                            <el-tab-pane label="接单" name="0">
-                                <span slot="label">接单</span>
-                            </el-tab-pane>
-                            <el-tab-pane label="退舱" name="1">
-                                <span slot="label" style="color: #d86363">退舱</span>
-                            </el-tab-pane>
-                            <el-tab-pane label="完成" name="3"></el-tab-pane>
-                            <el-tab-pane label="全部" name="4"></el-tab-pane>
-                        </el-tabs> -->
                     </div>
                 </template>
                 <template slot-scope="scope" slot="menu">
@@ -593,7 +296,12 @@ import {
     billsRevokeDisembarking,
     billsSubmit,
     editypesSendingEdi,
-    updateBillType
+    updateBillType,
+    checkBillsBatch,
+    revokeCheckBillsBatch,
+    generateBillBatch,
+    revokeBillBatch,
+    batchCopyBills
 } from "@/api/iosBasicData/bills";
 import { mapGetters } from "vuex";
 import billsDetails from "@/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue";
@@ -1715,7 +1423,164 @@ export default {
         }
     },
     methods: {
+        batchClick(name) {
+            if (name == '批量更改') {
+                this.updateField()
+            }
+            if (name == '批量单据请核') {
+                this.$confirm('是否批量单据请核?', '提示', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    const obj = {
+                        billsIds: this.ids,
+                        url: '/iosBasicData/SeafreightExportF/bills/approvalDetails',
+                        pageStatus: "this.$store.getters.approvalDetails",
+                        pageLabel: "审批详情(F)",
+                    }
+                    checkBillsBatch(obj).then(res => {
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                        this.onLoad(this.page, this.query);
+                    })
+                })
+            }
+            if (name == '批量撤销单据请核') {
+                this.$confirm('是否批量撤销单据请核?', '提示', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    const obj = {
+                        billsIds: this.ids,
+                    }
+                    revokeCheckBillsBatch(obj).then(res => {
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                        this.onLoad(this.page, this.query);
+                    })
+                })
+            }
+            if (name == '批量生成账单') {
+                this.$confirm('是否批量生成账单?', '提示', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    const obj = {
+                        billsIds: this.ids,
+                    }
+                    generateBillBatch(obj).then(res => {
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                        this.onLoad(this.page, this.query);
+                    })
+                })
+            }
+            if (name == '批量撤销账单') {
+                this.$confirm('是否批量撤销账单?', '提示', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    const obj = {
+                        billsIds: this.ids,
+                    }
+                    revokeBillBatch(obj).then(res => {
+                        this.$message({
+                            type: "success",
+                            message: "操作成功!"
+                        });
+                        this.onLoad(this.page, this.query);
+                    })
+                })
+
+            }
+            if (name == '批量复制') {
+                this.$DialogForm.show({
+                    title: "复制单据",
+                    width: "300px",
+                    menuPosition: "right",
+                    data: { checkbox: "复制费用,复制箱型箱量" },
+                    option: {
+                        submitText: "确认",
+                        emptyText: "取消",
+                        span: 24,
+                        column: [
+                            {
+                                label: "单据类型",
+                                prop: "billType",
+                                type: "select",
+                                value: this.selectionList[0].billType,
+                                dicData: [
+                                    {
+                                        label: '直单',
+                                        value: 'DD'
+                                    },
+                                    {
+                                        label: '主单',
+                                        value: 'MM'
+                                    },
+                                    {
+                                        label: '分单',
+                                        value: 'MH'
+                                    }
+                                ],
+                                dataType: "string",
+                                span: 24
+                            },
+                            {
+                                label: "复制类型",
+                                prop: "checkbox",
+                                type: "checkbox",
+                                dicData: [
+                                    {
+                                        label: "复制费用",
+                                        value: "复制费用"
+                                    },
+                                    {
+                                        label: "复制箱型箱量",
+                                        value: "复制箱型箱量"
+                                    }
+                                ],
+                                dataType: "string",
+                                span: 24
+                            }
+                        ]
+                    },
+                    beforeClose: done => {
+                        done();
+                    },
+                    callback: res => {
+                        res.done();
+                        const types = res.data.checkbox ? res.data.checkbox.split(",") : []
+                        console.log(res.data.checkbox.includes('复制费用'))
+                        const obj = {
+                            ids: this.ids,
+                            billType: res.data.billType,
+                            copyCntr: res.data.checkbox.includes('复制箱型箱量') ? 1 : 0,
+                            copyFee: res.data.checkbox.includes('复制费用') ? 1 : 0
+                        }
+                        batchCopyBills(obj).then(res => {
+                            this.$message({
+                                type: "success",
+                                message: "操作成功!"
+                            });
+                            this.onLoad(this.page, this.query);
+                        })
+                        res.close();
+                    }
+                });
+            }
 
+        },
         updateField() {
             this.$refs.updateFieldRef.formData.ids = this.selectionList.map(item => item.id)
             this.$refs.updateFieldRef.dialogVisible = true