Browse Source

商用工程信息单已对接

chenqilong 2 years ago
parent
commit
d121f71a64

+ 20 - 1
src/api/supply/engin.js

@@ -1,4 +1,4 @@
-import request from '@/utils/request'
+import request, { postBlob, handleImport, getBlob } from '@/utils/request'
 
 // 获取列表
 export function getList(params) {
@@ -46,6 +46,25 @@ export function getPositionList(params) {
 }
 
 // 工程信息单 - 获取列表
+export function v2EnginInfoOrderList(data) {
+  return request({
+    url: `/v2/engin-info-order/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+//工程信息单-导出
+export function v2EnginInfoOrderListExport(data, name) {
+  return postBlob({
+    url: '/v2/engin-info-order/list/export',
+    method: 'post',
+    data,
+    name
+  })
+}
+
+// 工程信息单 - 获取列表
 export function getEnginList(params) {
   return request({
     url: '/engin-info-order/list',

+ 55 - 0
src/views/basic_data/wallet/wallet_list.vue

@@ -136,13 +136,44 @@
       </div>
     </el-dialog>
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+    
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+
 import { getWalletList, getProductCategory, getWalletBiandMain, getWalletDetail } from '@/api/basic_data/wallet_list'
 export default {
+  components: {
+    TemplatePage
+  },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
+      //
       listLoading: false, // 列表加载loading
       searchForm: {
         walletName: '',
@@ -169,6 +200,30 @@ export default {
     // this.getCategoryList();
   },
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              详情
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     //确定
     async btnOK() {
       console.log(this.addForm)

+ 56 - 0
src/views/sales_policy/codealer_list.vue

@@ -95,9 +95,25 @@
     </div>
   </div>
   <Distributor v-else :cid="id" />
+
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+    
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
+
 import { getCustomerlist } from '@/api/policy_list'
 import Minxin from '@/mixin'
 import Distributor from './components/Distributor'
@@ -106,6 +122,20 @@ export default {
   mixins: [Minxin],
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
+      //
       isCollapse: true,
       isShow: true,
       id: '',
@@ -119,6 +149,30 @@ export default {
     }
   },
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              详情
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     getList() {
       this.listLoading = true
       const params = {
@@ -137,6 +191,8 @@ export default {
     }
   },
   components: {
+    TemplatePage,
+    Popu,
     Distributor
   }
 }

+ 93 - 5
src/views/sales_rebate/rebate_list.vue

@@ -175,9 +175,12 @@
             </el-select>
           </el-form-item>
           <el-form-item label="销售类型编码" prop="saleTypeCode">
-          <el-input disabled type="text" v-model="dialogForm.saleTypeCode"
-                    placeholder="选择销售类型自动获取销售编码"
-          />
+            <el-input
+              disabled
+              type="text"
+              v-model="dialogForm.saleTypeCode"
+              placeholder="选择销售类型自动获取销售编码"
+            />
           </el-form-item>
 
           <el-form-item label="返利折扣比例" prop="rebateRate">
@@ -220,9 +223,23 @@
       </el-dialog>
     </div>
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import add_callback_mixin from '@/components/template/add_callback_mixin.js'
+
 import Mixin from '@/mixin/index'
 import Pagination from '@/components/Pagination'
 import {
@@ -236,9 +253,51 @@ import {
 } from '@/api/policy_list'
 
 export default {
-  mixins: [Mixin],
+  mixins: [Mixin, add_callback_mixin],
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: this.addOn(() => {})
+            }
+          ]
+        ],
+        [
+          [
+            {
+              name: '批量删除',
+              click: async () => {
+                if (this.recordSelected.length === 0) {
+                  this.$message.error('请选择需要删除的数据')
+                  return
+                }
+                let messengerLevelId = this.recordSelected.map(v => {
+                  return v.messengerLevelId
+                })
+                let params = messengerLevelId
+                await levelDel(params)
+                this.$refs.pageRef.refreshList()
+                this.$message.success('批量删除成功')
+              }
+            }
+          ]
+        ]
+      ],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       ids: [],
       walletList: [],
       type: 0, // 0 1
@@ -253,7 +312,7 @@ export default {
         rebateRate: '',
         saleTypeId: '',
         status: '',
-        saleTypeCode:''
+        saleTypeCode: ''
       },
       dataList: [],
       columns: [
@@ -341,6 +400,34 @@ export default {
     }
   },
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            {' '}
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              查看
+            </el-button>
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              编辑
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     //
     selectionhangeFn(value) {
       console.log(value)
@@ -532,6 +619,7 @@ export default {
     this.getWalletList()
   },
   components: {
+    Pagination,
     Pagination
   }
 }

+ 62 - 1
src/views/sales_rebate/rebate_list_type.vue

@@ -164,17 +164,54 @@
       </el-dialog>
     </div>
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+    
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import add_callback_mixin from '@/components/template/add_callback_mixin.js'
+
 import Mixin from '@/mixin/index'
 import Pagination from '@/components/Pagination'
 import { addWallet, getDictList, getTypeList, getWalletList, updateWallet } from '@/api/policy_list'
 
 export default {
-  mixins: [Mixin],
+  mixins: [Mixin, add_callback_mixin],
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: this.addOn(() => {})
+            }
+          ]
+        ]
+      ],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       addLoading: false,
       listLoading: false,
       type: 0, // 0 1
@@ -260,6 +297,30 @@ export default {
     }
   },
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              查看
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     getList() {
       this.listLoading = true
       const params = {

+ 72 - 1
src/views/sales_rebate/salestype_list.vue

@@ -164,17 +164,53 @@
       </el-dialog>
     </div>
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import add_callback_mixin from '@/components/template/add_callback_mixin.js'
+
 import Mixin from '@/mixin/index'
 import Pagination from '@/components/Pagination'
 import { addData, delTypeData, getProductList, getTypeList, updateType } from '@/api/policy_list'
 
 export default {
-  mixins: [Mixin],
+  mixins: [Mixin, add_callback_mixin],
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: this.addOn(() => {})
+            }
+          ]
+        ]
+      ],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       type: 0, // 0,1
       screenForm: {
         saleCode: '',
@@ -269,6 +305,41 @@ export default {
   },
 
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              编辑
+            </el-button>
+            <el-popconfirm
+              onConfirm={async () => {
+                this.$refs.pageRef.refreshList()
+                this.$message.success('删除成功')
+              }}
+              title="是否确定需要删除该项内容?"
+            >
+              <el-button slot="reference" size="mini" type="text">
+                删除
+              </el-button>
+            </el-popconfirm>
+          </div>
+        )
+      }
+    },
+
     getList() {
       this.listLoading = true
       const params = {

+ 93 - 14
src/views/supply/deliver/sum_list.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <div v-if="isShow ===1">
+    <div v-if="isShow === 1">
       <!-- 筛选条件 -->
       <div class="screen-container">
         <Collapse :screen-form="screenForm">
@@ -36,7 +36,7 @@
                     <el-date-picker
                       v-model="screenForm.createDate"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -50,7 +50,7 @@
                     <el-date-picker
                       v-model="screenForm.deliverDate"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -147,7 +147,7 @@
                     <el-date-picker
                       v-model="screenForm.approvaTime"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -239,7 +239,7 @@
               >打印发货单
             </el-button>
             <div v-if="totalNum" class="num">当前列表总发货数量:{{ totalNum.invoiceNumber }}</div>
-            <div v-if="totalNum" class="num">总含税金额:{{ totalNum.payAmount |toThousandFilter }}</div>
+            <div v-if="totalNum" class="num">总含税金额:{{ totalNum.payAmount | toThousandFilter }}</div>
           </div>
           <!--  -->
           <div class="fr" style="display: flex">
@@ -727,8 +727,8 @@
         </div>
       </div>
     </div>
-    <apply-return-form v-if="isShow ===2" @backListFormDetail="backList"/>
-    <engin-return-form v-if="isShow ===3" @backListFormDetail="backList"/>
+    <apply-return-form v-if="isShow === 2" @backListFormDetail="backList" />
+    <engin-return-form v-if="isShow === 3" @backListFormDetail="backList" />
     <print-preview ref="preView" />
 
     <el-dialog
@@ -782,24 +782,40 @@
       </span>
     </el-dialog>
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
+
 import { getSumList } from '@/api/supply/deliver'
 import print from '@/mixin/print'
 import { checkPassword, getListInvoiceNumber } from '@/api/supply/pickup'
 import { getCategoryList, getSalesmanList } from '@/api/common'
 import SumPrint from '@/views/supply/deliver/components/sum_print'
 import { getWarehouseList } from '@/api/supply/apply'
-import ApplyReturnForm from './components/apply_return_form.vue';
-import EnginReturnForm from './components/engin_return_form.vue';
+import ApplyReturnForm from './components/apply_return_form.vue'
+import EnginReturnForm from './components/engin_return_form.vue'
 import printPreview from './components/design/preview.vue'
 export default {
   components: {
     SumPrint,
     ApplyReturnForm,
     EnginReturnForm,
-    printPreview
+    printPreview,
+    TemplatePage,
+    Popu
   },
   filters: {
     orderTypeFilter(val) {
@@ -823,6 +839,45 @@ export default {
   mixins: [print],
   data() {
     return {
+      // 事件组合
+      // optionsEvensGroup: [
+      //   [
+      //     [
+      //       {
+      //         name: '打印发货单',
+      //         click: () => {}
+      //       }
+      //     ]
+      //   ],
+      //   [
+      //     [
+      //       {
+      //         name: '零售退货申请',
+      //         click: () => {}
+      //       }
+      //     ]
+      //   ],
+      //   [
+      //     [
+      //       {
+      //         name: '工程退货申请',
+      //         click: () => {}
+      //       }
+      //     ]
+      //   ],
+
+      // ],
+      // // 表格属性
+      // tableAttributes: {
+      //   // 启用勾选列
+      //   selectColumn: true
+      // },
+      // // 表格事件
+      // tableEvents: {
+      //   'selection-change': this.selectionChange
+      // },
+      // recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -897,7 +952,7 @@ export default {
       checkAll: false,
       isCollapse: true,
       isIndeterminate: false,
-      isShow:1
+      isShow: 1
     }
   },
   computed: {
@@ -967,6 +1022,30 @@ export default {
     this.initPrint()
   },
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              详情
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     handleFilterData() {
       this.dialogVisible = true
     },
@@ -1108,7 +1187,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },
@@ -1198,8 +1277,8 @@ export default {
       return currentdate
     },
 
-    backList(){
-      this.isShow =1
+    backList() {
+      this.isShow = 1
     }
   }
 }

+ 4 - 6
src/views/supply/engin/components/engin_detail.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="detail-container">
-    <el-page-header @back="goBack" content="详情"></el-page-header>
+    <!-- <el-page-header @back="goBack" content="详情"></el-page-header> -->
 
     <div class="main-title">
       <div class="title">工程信息单</div>
@@ -253,9 +253,8 @@
           @click="overData"
           v-if="!isDealer"
           :disabled="detailData.examineStatus !== 'OK' || detailData.directTransferStatus"
-        >直调完结
-        </el-button
-        >
+          >直调完结
+        </el-button>
         <el-button @click="goBack">返回列表</el-button>
       </div>
     </div>
@@ -345,8 +344,7 @@ export default {
             this.getDetail()
           })
         })
-        .catch(() => {
-        })
+        .catch(() => {})
     }
   }
 }

+ 1 - 1
src/views/supply/engin/components/engin_examine.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="detail-container">
-    <el-page-header content="审批" @back="goBack" />
+    <!-- <el-page-header content="审批" @back="goBack" /> -->
 
     <div class="main-title">
       <div class="title">工程信息单</div>

+ 2 - 2
src/views/supply/engin/components/engin_form.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="detail-container">
-    <el-page-header :content="listItem ? '编辑' : '新增'" @back="goBack" />
+    <!-- <el-page-header :content="listItem ? '编辑' : '新增'" @back="goBack" /> -->
 
     <div class="main-title">
       <div class="title">工程信息单</div>
@@ -906,7 +906,7 @@ export default {
               return
             }
 
-            console.log(this.goodsList[i].qty );
+            console.log(this.goodsList[i].qty)
             if (this.goodsList[i].qty == null || this.goodsList[i].qty === '' || Number(this.goodsList[i].qty) < 0) {
               this.$errorMsg('数量不能为空或者小于0')
 

+ 278 - 561
src/views/supply/engin/engin_list.vue

@@ -1,482 +1,40 @@
 <template>
-  <div class="app-container">
-    <div v-show="!isShowDetail && !isShowForm && !isShowExamine">
-      <!-- 筛选条件 -->
-      <div class="screen-container">
-        <Collapse :screen-form="screenForm">
-          <template #right_btn>
-            <el-button size="mini" @click="resetScreenForm">清空</el-button>
-            <el-button size="mini" type="primary" @click="submitScreenForm">搜索</el-button>
-          </template>
-          <template #left_btn>
-            <el-radio-group size="mini" v-model="screenForm.examineStatus" @change="getList">
-              <el-radio-button label="">全部</el-radio-button>
-              <el-radio-button v-for="(item, index) in statusList" :key="index" :label="item.value"
-                >{{ item.label }}
-              </el-radio-button>
-            </el-radio-group>
-          </template>
-          <template #search>
-            <el-form ref="screenForm" :model="screenForm" label-width="100px" size="mini" label-position="left">
-              <el-row :gutter="20">
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="工程登录编号" prop="orderNum">
-                    <el-input v-model="screenForm.orderNum" placeholder="请输入工程登录编号"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="工程编码" prop="enginNum">
-                    <el-input v-model="screenForm.enginNum" placeholder="请输入工程编码"></el-input>
-                  </el-form-item>
-                </el-col>
-                <!-- <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="工程登录编号" prop="loginNum">
-                    <el-input v-model="screenForm.loginNum" placeholder="请输入工程登录编号"></el-input>
-                  </el-form-item>
-                </el-col> -->
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="项目名称" prop="enginName">
-                    <el-input v-model="screenForm.enginName" placeholder="请输入项目名称"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="单据日期" prop="date">
-                    <el-date-picker
-                      v-model="screenForm.orderDate"
-                      type="datetimerange"
-                      :default-time="['00:00:00', '23:59:59']"
-                      range-separator="至"
-                      style="width: 100%"
-                      value-format="yyyy-MM-dd HH:mm:ss"
-                      start-placeholder="开始日期"
-                      end-placeholder="结束日期"
-                    >
-                    </el-date-picker>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="经销商" prop="dealer">
-                    <el-input v-model="screenForm.dealer" placeholder="请输入经销商"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="使用单位" prop="company">
-                    <el-input v-model="screenForm.company" placeholder="请输入使用单位"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="制表人" prop="createMan">
-                    <el-input v-model="screenForm.createMan" placeholder="请输入制表人"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="审核人" prop="examineMan">
-                    <el-input v-model="screenForm.examineMan" placeholder="请输入审核人"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="业务员" prop="salesMan">
-                    <el-select
-                      v-model="screenForm.salesMan"
-                      placeholder="选择业务员"
-                      clearable
-                      filterable
-                      style="width: 100%"
-                    >
-                      <el-option
-                        v-for="item in salesmanList"
-                        :key="item.adminUserId"
-                        :label="item.nickName"
-                        :value="item.adminUserId"
-                      >
-                      </el-option>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="规格型号" prop="model">
-                    <el-input v-model="screenForm.model" placeholder="请输入规格型号"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="是否直调" prop="isDirectTransfer">
-                    <el-select
-                      v-model="screenForm.isDirectTransfer"
-                      placeholder="选择是否直"
-                      clearable
-                      style="width: 100%"
-                    >
-                      <el-option :value="null" label="默认"></el-option>
-                      <el-option v-for="item in transfer" :key="item.value" :label="item.label" :value="item.value">
-                      </el-option>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="是否关闭" prop="isClose">
-                    <el-select v-model="screenForm.isClose" placeholder="是否关闭" clearable style="width: 100%">
-                      <el-option label="是" :value="true"> </el-option>
-                      <el-option label="否" :value="false"> </el-option>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </el-form>
-          </template>
-        </Collapse>
-      </div>
-
-      <div class="mymain-container">
-        <div class="btn-group clearfix">
-          <div class="fl">
-            <el-button
-              v-if="$checkBtnRole('add', $route.meta.roles)"
-              size="mini"
-              type="primary"
-              icon="el-icon-plus"
-              @click="toForm()"
-              >新增
-            </el-button>
-          </div>
-          <div class="fr">
-            <ExportButton :ex-url="'engin-info-order/export'" :ex-params="exParams" />
-          </div>
-        </div>
-        <div class="table">
-          <el-table
-            v-loading="listLoading"
-            :data="dataList"
-            element-loading-text="Loading"
-            border
-            fit
-            highlight-current-row
-            stripe
-            show-summary
-            :summary-method="$getSummaries"
-          >
-            <el-table-column
-              align="left"
-              label="审核状态"
-              sortable
-              prop="examineStatus"
-              min-width="100"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.examineStatus | statusFilter }}
-              </template>
-            </el-table-column>
-            <!--            <el-table-column align="left" label="数量" sortable prop="qty" min-width="160" show-overflow-tooltip />-->
-            <!--            <el-table-column align="left" label="金额" sortable prop="price" min-width="160" show-overflow-tooltip />-->
-            <el-table-column
-              align="left"
-              label="工程登录编号"
-              sortable
-              prop="enginInfoNo"
-              min-width="150"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.enginInfoNo" />
-                <span>{{ scope.row.enginInfoNo }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="订单日期"
-              sortable
-              prop="orderDate"
-              min-width="120"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.orderDate | dateToDayFilter }}</span>
-                  <el-button
-                    v-if="
-                      $checkBtnRole('date', $route.meta.roles) &&
-                      (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'WAIT')
-                    "
-                    type="text"
-                    icon="el-icon-edit"
-                    style="padding: 0; margin-left: 6px"
-                    @click="editDate(scope.row)"
-                  />
-                </div>
-              </template>
-            </el-table-column>
-
-            <el-table-column
-              align="left"
-              label="经销商编码"
-              sortable
-              prop="customerNumber"
-              min-width="120"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.customerNumber" />
-                <span>{{ scope.row.customerNumber }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="经销商名称"
-              sortable
-              prop="customerName"
-              min-width="250"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.customerName" />
-                <span>{{ scope.row.customerName }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="项目名称"
-              sortable
-              prop="projectName"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="使用单位"
-              sortable
-              prop="useUnit"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="安装地址"
-              sortable
-              prop="installAddress"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="物料编码"
-              sortable
-              prop="materialNumber"
-              min-width="120"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.materialNumber" />
-                <span>{{ scope.row.materialNumber }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="产品编码"
-              sortable
-              prop="materialOldNumber"
-              min-width="140"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.materialOldNumber" />
-                <span>{{ scope.row.materialOldNumber }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="产品名称"
-              sortable
-              prop="materialName"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.materialName" />
-                <span>{{ scope.row.materialName }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="规格型号"
-              sortable
-              prop="specification"
-              min-width="350"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.specification" />
-                <span>{{ scope.row.specification }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip />
-            <el-table-column align="right" label="数量" prop="qty" min-width="100" sortable show-overflow-tooltip />
-            <el-table-column align="right" label="已订数量" prop="hasOrderQty" min-width="100" show-overflow-tooltip />
-            <el-table-column align="right" label="可订数量" prop="compute_kdQty" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ computeAllowQty(scope.row.qty, scope.row.hasOrderQty) }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="出库数量"
-              prop="hasDeliverQty"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column align="right" label="发货数量" prop="hasSendQty" min-width="100" show-overflow-tooltip />
-            <el-table-column align="right" label="单价" prop="price" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.price | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="金额"
-              prop="totalAmount"
-              min-width="100"
-              sortable
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.totalAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="表体业务员"
-              sortable
-              prop="itemServiceName"
-              min-width="110"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="表头业务员"
-              sortable
-              prop="serviceName"
-              min-width="110"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="备注" sortable prop="remark" min-width="160" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="制表人"
-              sortable
-              prop="createName"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="制表日期"
-              sortable
-              prop="createTime"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="审核人"
-              sortable
-              prop="confirmName"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="审核日期"
-              sortable
-              prop="confirmTime"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="状态" sortable prop="isClose" min-width="160" show-overflow-tooltip>
-              <template v-slot="{ row }">
-                {{ row.isClose ? '关闭' : '启用' }}
-              </template>
-            </el-table-column>
-            <el-table-column align="center" label="操作" width="210" fixed="right">
-              <template slot-scope="scope">
-                <el-popconfirm
-                  v-if="$checkBtnRole('apply', $route.meta.roles) && scope.row.examineStatus === 'SAVE'"
-                  style="margin-right: 10px"
-                  title="确定申请吗?"
-                  @onConfirm="handleSubmit(scope.row.enginInfoId)"
-                >
-                  <el-button slot="reference" type="text">申请</el-button>
-                </el-popconfirm>
-                <el-popconfirm
-                  v-if="$checkBtnRole('apply', $route.meta.roles) && scope.row.examineStatus === 'WAIT'"
-                  style="margin-right: 10px"
-                  title="确定撤回吗?"
-                  @onConfirm="handleWithdraw(scope.row.enginInfoId)"
-                >
-                  <el-button slot="reference" type="text">撤回</el-button>
-                </el-popconfirm>
-                <el-popconfirm
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'"
-                  style="margin-right: 10px"
-                  title="确定弃审吗?"
-                  @onConfirm="handleAbandon(scope.row.enginInfoId)"
-                >
-                  <el-button slot="reference" type="text">弃审</el-button>
-                </el-popconfirm>
-                <el-button
-                  v-if="
-                    $checkBtnRole('edit', $route.meta.roles) &&
-                    (!isDealer || (isDealer && scope.row.examineStatus === 'SAVE'))
-                  "
-                  type="text"
-                  @click="toForm(scope.row)"
-                >
-                  编辑
-                </el-button>
-                <el-button
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'"
-                  type="text"
-                  @click="toExamine(scope.row)"
-                >
-                  审批
-                </el-button>
-                <el-button type="text" @click="toDetail(scope.row)"> 详情</el-button>
-                <el-popconfirm
-                  v-if="$checkBtnRole('del', $route.meta.roles) && scope.row.examineStatus !== 'OK'"
-                  style="margin-left: 10px"
-                  title="确定删除吗?"
-                  @onConfirm="handleDelete(scope.row.enginInfoId)"
-                >
-                  <el-button slot="reference" type="text" style="color: #f56c6c">删除</el-button>
-                </el-popconfirm>
-              </template>
-            </el-table-column>
-          </el-table>
-        </div>
-      </div>
-      <div class="pagination clearfix">
-        <div class="fr">
-          <el-pagination
-            :current-page="currentPage"
-            :page-sizes="[10, 20, 30, 50]"
-            :page-size="10"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="listTotal"
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-          />
-        </div>
-      </div>
-    </div>
-
+  <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+    :operationColumnWidth="200"
+  >
     <EditDateDialog :is-show.sync="isShowEditDateDialog" :date-form.sync="dateForm" />
-
-    <EnginDetail v-if="isShowDetail" :list-item="queryItem" @backListFormDetail="backList" />
-    <EnginForm v-if="isShowForm" :list-item="queryItem" @backListFormDetail="backList" />
-    <EnginExamine v-if="isShowExamine" :list-item="queryItem" @backListFormDetail="backList" />
-  </div>
+    <Popu v-if="!showPage">
+      <el-page-header slot="head" :content="content" @back="handleClose" />
+      <EnginDetail v-if="isShowDetail" :list-item="queryItem" @backListFormDetail="backList" />
+      <EnginForm v-if="isShowForm" :list-item="queryItem" @backListFormDetail="backList" />
+      <EnginExamine v-if="isShowExamine" :list-item="queryItem" @backListFormDetail="backList" />
+    </Popu>
+  </template-page>
 </template>
 
 <script>
-import { getEnginList, applyEngin, withdrawEngin, deleteEngin, editDateEngin, abandonEngin } from '@/api/supply/engin'
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
+import add_callback_mixin from '@/components/template/add_callback_mixin.js'
+
+import {
+  getEnginList,
+  applyEngin,
+  withdrawEngin,
+  deleteEngin,
+  editDateEngin,
+  abandonEngin,
+  v2EnginInfoOrderList,
+  v2EnginInfoOrderListExport
+} from '@/api/supply/engin'
 import { getSalesmanList, getTypeList } from '@/api/common'
 import EnginDetail from '@/views/supply/engin/components/engin_detail'
 import EnginForm from '@/views/supply/engin/components/engin_form'
@@ -486,11 +44,15 @@ import { getNoRebateWalletList } from '@/api/policy_list'
 
 let that
 export default {
+  mixins: [add_callback_mixin],
   components: {
     EnginDetail,
     EnginForm,
     EnginExamine,
-    EditDateDialog
+    EditDateDialog,
+    TemplatePage,
+    Popu,
+    add_callback_mixin
   },
   filters: {
     statusFilter(val) {
@@ -500,6 +62,38 @@ export default {
   },
   data() {
     return {
+      showPage: true,
+      content: '商用工程信息单',
+      // 关闭新增弹窗
+      handleClose: this.addOff(() => {
+        this.showPage = true
+        this.isShowForm = false
+        this.$refs.pageRef.refreshList()
+      }),
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: this.addOn(() => {
+                this.toForm()
+              })
+            }
+          ]
+        ]
+      ],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -555,28 +149,28 @@ export default {
   computed: {
     isDealer() {
       return JSON.parse(localStorage.getItem('supply_user')).isCustomer
-    },
-    exParams() {
-      return {
-        enginInfoNo: this.screenForm.orderNum,
-        projectNo: this.screenForm.enginNum,
-        enginSignType: this.screenForm.loginNum,
-        projectName: this.screenForm.enginName,
-        startOrderDate: this.screenForm.orderDate ? this.screenForm.orderDate[0] : '',
-        endOrderDate: this.screenForm.orderDate ? this.screenForm.orderDate[1] : '',
-        startContractExpireDate: this.screenForm.date ? this.screenForm.date[0] : '',
-        endContractExpireDate: this.screenForm.date ? this.screenForm.date[1] : '',
-        customerKeyword: this.screenForm.dealer,
-        useUnit: this.screenForm.company,
-        createName: this.screenForm.createMan,
-        confirmName: this.screenForm.examineMan,
-        examineStatus: this.screenForm.examineStatus,
-        isClose: this.screenForm.isClose,
-        serviceId: this.screenForm.salesMan,
-        specification: this.screenForm.model,
-        isDirectTransfer: this.screenForm.isDirectTransfer
-      }
     }
+    // exParams() {
+    //   return {
+    //     enginInfoNo: this.screenForm.orderNum,
+    //     projectNo: this.screenForm.enginNum,
+    //     enginSignType: this.screenForm.loginNum,
+    //     projectName: this.screenForm.enginName,
+    //     startOrderDate: this.screenForm.orderDate ? this.screenForm.orderDate[0] : '',
+    //     endOrderDate: this.screenForm.orderDate ? this.screenForm.orderDate[1] : '',
+    //     startContractExpireDate: this.screenForm.date ? this.screenForm.date[0] : '',
+    //     endContractExpireDate: this.screenForm.date ? this.screenForm.date[1] : '',
+    //     customerKeyword: this.screenForm.dealer,
+    //     useUnit: this.screenForm.company,
+    //     createName: this.screenForm.createMan,
+    //     confirmName: this.screenForm.examineMan,
+    //     examineStatus: this.screenForm.examineStatus,
+    //     isClose: this.screenForm.isClose,
+    //     serviceId: this.screenForm.salesMan,
+    //     specification: this.screenForm.model,
+    //     isDirectTransfer: this.screenForm.isDirectTransfer
+    //   }
+    // }
   },
 
   watch: {
@@ -599,10 +193,129 @@ export default {
 
   created() {
     this.getSalesmanList()
-    this.getList()
+    // this.getList()
   },
 
   methods: {
+    // 列表请求函数
+    getList: v2EnginInfoOrderList,
+    // 列表导出函数
+    exportList: v2EnginInfoOrderListExport,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            {this.$checkBtnRole('apply', this.$route.meta.roles) && row.examineStatus === 'SAVE' ? (
+              <el-popconfirm
+                onOnConfirm={async () => {
+                  this.handleSubmit(row.enginInfoId)
+                }}
+                title="是否确定需要申请该项内容?"
+              >
+                <el-button slot="reference" size="mini" type="text">
+                  申请
+                </el-button>
+              </el-popconfirm>
+            ) : (
+              ''
+            )}
+
+            {this.$checkBtnRole('apply', this.$route.meta.roles) && row.examineStatus === 'WAIT' ? (
+              <el-popconfirm
+                onOnConfirm={async () => {
+                  this.handleWithdraw(row.enginInfoId)
+                }}
+                title="是否确定需要撤回该项内容?"
+              >
+                <el-button slot="reference" size="mini" type="text">
+                  撤回
+                </el-button>
+              </el-popconfirm>
+            ) : (
+              ''
+            )}
+
+            {this.$checkBtnRole('examine', this.$route.meta.roles) && row.examineStatus === 'OK' ? (
+              <el-popconfirm
+                onOnConfirm={async () => {
+                  this.handleAbandon(row.enginInfoId)
+                }}
+                title="是否确定需要弃审该项内容?"
+              >
+                <el-button slot="reference" size="mini" type="text">
+                  弃审
+                </el-button>
+              </el-popconfirm>
+            ) : (
+              ''
+            )}
+
+            {this.$checkBtnRole('edit', this.$route.meta.roles) &&
+            (!this.isDealer || (this.isDealer && row.examineStatus === 'SAVE')) ? (
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.toForm(row)
+                }}
+              >
+                编辑
+              </el-button>
+            ) : (
+              ''
+            )}
+
+            {this.$checkBtnRole('examine', this.$route.meta.roles) && row.examineStatus === 'WAIT' ? (
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.toExamine(row)
+                }}
+              >
+                审批
+              </el-button>
+            ) : (
+              ''
+            )}
+
+            <el-button
+              size="mini"
+              type="text"
+              onClick={async () => {
+                this.toDetail(row)
+              }}
+            >
+              详情
+            </el-button>
+
+            {this.$checkBtnRole('del', this.$route.meta.roles) && row.examineStatus !== 'OK' ? (
+              <el-popconfirm
+                onOnConfirm={async () => {
+                  this.handleDelete(row.enginInfoId)
+                }}
+                title="是否确定需要删除该项内容?"
+              >
+                <el-button slot="reference" size="mini" type="text">
+                  删除
+                </el-button>
+              </el-popconfirm>
+            ) : (
+              ''
+            )}
+          </div>
+        )
+      }
+    },
+
     // 获取业务员列表
     getSalesmanList() {
       getSalesmanList({
@@ -626,83 +339,86 @@ export default {
     },
 
     // 查询列表
-    getList() {
-      this.listLoading = true
-
-      const params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        enginInfoNo: this.screenForm.orderNum,
-        projectNo: this.screenForm.enginNum,
-        enginSignType: this.screenForm.loginNum,
-        projectName: this.screenForm.enginName,
-        startOrderDate: this.screenForm.orderDate ? this.screenForm.orderDate[0] : '',
-        endOrderDate: this.screenForm.orderDate ? this.screenForm.orderDate[1] : '',
-        startContractExpireDate: this.screenForm.date ? this.screenForm.date[0] : '',
-        endContractExpireDate: this.screenForm.date ? this.screenForm.date[1] : '',
-        customerKeyword: this.screenForm.dealer,
-        useUnit: this.screenForm.company,
-        createName: this.screenForm.createMan,
-        confirmName: this.screenForm.examineMan,
-        examineStatus: this.screenForm.examineStatus,
-        isClose: this.screenForm.isClose,
-
-        serviceId: this.screenForm.salesMan,
-        specification: this.screenForm.model,
-        isDirectTransfer: this.screenForm.isDirectTransfer
-      }
-      getEnginList(params).then(res => {
-        res.data.records.forEach(item => {
-          item.sums1 = ['qty', 'hasOrderQty', 'compute_kdQty']
-          item.sums2 = ['totalAmount', 'price']
-        })
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
-    },
+    // getList() {
+    //   this.listLoading = true
+
+    //   const params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     enginInfoNo: this.screenForm.orderNum,
+    //     projectNo: this.screenForm.enginNum,
+    //     enginSignType: this.screenForm.loginNum,
+    //     projectName: this.screenForm.enginName,
+    //     startOrderDate: this.screenForm.orderDate ? this.screenForm.orderDate[0] : '',
+    //     endOrderDate: this.screenForm.orderDate ? this.screenForm.orderDate[1] : '',
+    //     startContractExpireDate: this.screenForm.date ? this.screenForm.date[0] : '',
+    //     endContractExpireDate: this.screenForm.date ? this.screenForm.date[1] : '',
+    //     customerKeyword: this.screenForm.dealer,
+    //     useUnit: this.screenForm.company,
+    //     createName: this.screenForm.createMan,
+    //     confirmName: this.screenForm.examineMan,
+    //     examineStatus: this.screenForm.examineStatus,
+    //     isClose: this.screenForm.isClose,
+
+    //     serviceId: this.screenForm.salesMan,
+    //     specification: this.screenForm.model,
+    //     isDirectTransfer: this.screenForm.isDirectTransfer
+    //   }
+    //   getEnginList(params).then(res => {
+    //     res.data.records.forEach(item => {
+    //       item.sums1 = ['qty', 'hasOrderQty', 'compute_kdQty']
+    //       item.sums2 = ['totalAmount', 'price']
+    //     })
+    //     this.dataList = res.data.records
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    // },
 
     // 提交筛选表单
-    submitScreenForm() {
-      this.currentPage = 1
-      this.getList()
-    },
+    // submitScreenForm() {
+    //   this.currentPage = 1
+    //   this.getList()
+    // },
 
-    // 重置筛选表单
-    resetScreenForm() {
-        this.$refs.screenForm.resetFields()
-      this.currentPage = 1
-      this.getList()
-    },
+    // // 重置筛选表单
+    // resetScreenForm() {
+    //   this.$refs.screenForm.resetFields()
+    //   this.currentPage = 1
+    //   this.getList()
+    // },
 
-    // 更改每页数量
-    handleSizeChange(val) {
-      this.pageSize = val
-      this.currentPage = 1
-      this.getList()
-    },
+    // // 更改每页数量
+    // handleSizeChange(val) {
+    //   this.pageSize = val
+    //   this.currentPage = 1
+    //   this.getList()
+    // },
 
-    // 更改当前页
-    handleCurrentChange(val) {
-      this.currentPage = val
-      this.getList()
-    },
+    // // 更改当前页
+    // handleCurrentChange(val) {
+    //   this.currentPage = val
+    //   this.getList()
+    // },
 
     // 进入表单
     toForm(item) {
       this.queryItem = item
+      this.showPage = false
       this.isShowForm = true
     },
 
     // 进入审批
     toExamine(item) {
       this.queryItem = item
+      this.showPage = false
       this.isShowExamine = true
     },
 
     // 进入详情
     toDetail(item) {
       this.queryItem = item
+      this.showPage = false
       this.isShowDetail = true
     },
 
@@ -711,37 +427,38 @@ export default {
       this.isShowDetail = false
       this.isShowForm = false
       this.isShowExamine = false
+      this.showPage = true
     },
 
     // 申请
     handleSubmit(id) {
       applyEngin({ id }).then(res => {
-        this.$successMsg()
-        this.getList()
+        this.$refs.pageRef.refreshList()
+        this.$message.success('申请成功')
       })
     },
 
     // 撤回
     handleWithdraw(id) {
       withdrawEngin({ id }).then(res => {
-        this.$successMsg()
-        this.getList()
+        this.$refs.pageRef.refreshList()
+        this.$message.success('撤回成功')
       })
     },
 
     // 弃审
     handleAbandon(id) {
       abandonEngin({ id }).then(res => {
-        this.$successMsg()
-        this.getList()
+        this.$refs.pageRef.refreshList()
+        this.$message.success('弃审成功')
       })
     },
 
     // 删除
     handleDelete(id) {
       deleteEngin({ ids: id }).then(res => {
-        this.$successMsg()
-        this.getList()
+        this.$refs.pageRef.refreshList()
+        this.$message.success('删除成功')
       })
     },
 

+ 89 - 1
src/views/supply/engin/home_list.vue

@@ -609,9 +609,24 @@
     <HomeExamine v-if="isShowExamine" :list-item="queryItem" @backListFormDetail="backList" />
     <HomeReturn v-if="isShowReturn" :list-item="queryItem" @backListFormDetail="backList" />
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
+import add_callback_mixin from '@/components/template/add_callback_mixin.js'
+
 import {
   getOrderList,
   applyHome,
@@ -631,12 +646,15 @@ import { getNoRebateWalletList } from '@/api/policy_list'
 
 let that
 export default {
+  mixins: [add_callback_mixin],
   components: {
     HomeDetail,
     HomeForm,
     HomeExamine,
     HomeReturn,
-    EditDateDialog
+    EditDateDialog,
+    TemplatePage,
+    Popu
   },
   filters: {
     statusFilter(val) {
@@ -653,6 +671,38 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: this.addOn(() => {})
+            }
+          ]
+        ],
+        [
+          [
+            {
+              name: '批量删除',
+              click: async () => {
+                if (this.recordSelected.length === 0) {
+                  this.$message.error('请选择需要删除的数据')
+                  return
+                }
+                let messengerLevelId = this.recordSelected.map(v => {
+                  return v.messengerLevelId
+                })
+                let params = messengerLevelId
+                await levelDel(params)
+                this.$refs.pageRef.refreshList()
+                this.$message.success('批量删除成功')
+              }
+            }
+          ]
+        ]
+      ],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -771,6 +821,44 @@ export default {
   },
 
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-popconfirm
+              onConfirm={async () => {
+                this.$refs.pageRef.refreshList()
+                this.$message.success('删除成功')
+              }}
+              title="是否确定需要删除该项内容?"
+            >
+              <el-button slot="reference" size="mini" type="text">
+                删除
+              </el-button>
+            </el-popconfirm>
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              退订
+            </el-button>
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              详情
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     // 获取业务员列表
     getSalesmanList() {
       getSalesmanList({

+ 64 - 27
src/views/supply/implement/implement_list.vue

@@ -10,9 +10,9 @@
           </template>
           <template #left_btn>
             <el-radio-group v-model="screenForm.status" @change="getList()" size="mini">
-              <el-radio-button v-for="(item, index) in statusList" :key="index" :label="item.value">{{
-                item.label
-              }} </el-radio-button>
+              <el-radio-button v-for="(item, index) in statusList" :key="index" :label="item.value"
+                >{{ item.label }}
+              </el-radio-button>
             </el-radio-group>
           </template>
           <template #search>
@@ -72,7 +72,7 @@
                     <el-date-picker
                       v-model="screenForm.date"
                       type="datetimerange"
-                      :default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -87,7 +87,7 @@
                     <el-date-picker
                       v-model="screenForm.orderDate"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -343,15 +343,9 @@
                 {{ scope.row.hasSendAmount | numToFixed }}
               </template>
             </el-table-column>
-            <el-table-column
-              align="right"
-              label="发货数量"
-              prop="hasSendQty"
-              min-width="100"
-              show-overflow-tooltip
-            >
-              <template v-slot="{row}">
-                {{row.qty - (row.refundableQty || 0)}}
+            <el-table-column align="right" label="发货数量" prop="hasSendQty" min-width="100" show-overflow-tooltip>
+              <template v-slot="{ row }">
+                {{ row.qty - (row.refundableQty || 0) }}
               </template>
             </el-table-column>
             <el-table-column
@@ -361,16 +355,9 @@
               min-width="100"
               show-overflow-tooltip
             ></el-table-column>
-            <el-table-column
-              align="right"
-              label="原供价"
-              prop="orgPrice"
-              min-width="100"
-              show-overflow-tooltip
-            >
+            <el-table-column align="right" label="原供价" prop="orgPrice" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
                 {{ scope.row.orgPrice | numToFixed }}
-
               </template>
             </el-table-column>
             <el-table-column
@@ -479,9 +466,22 @@
 
     <DisplaceDetail :listItem="queryItem" v-if="isShowDisplaceDetail" @backListFormDetail="backList" />
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+
 import { getList } from '@/api/supply/implement'
 import { getCategoryList } from '@/api/common'
 import DisplaceDetail from '@/views/supply/implement/components/displace_detail'
@@ -490,7 +490,8 @@ import { getNoRebateWalletList } from '@/api/policy_list'
 let that
 export default {
   components: {
-    DisplaceDetail
+    DisplaceDetail,
+    TemplatePage
   },
   filters: {
     statusFilter(val) {
@@ -503,6 +504,19 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -566,8 +580,7 @@ export default {
         policyRemark: this.screenForm.policyRemark,
         isOver: this.screenForm.isOver,
         walletIds1: this.screenForm.walletIds1.join(','),
-        isDisplaceOrder:this.screenForm.isDisplaceOrder
-
+        isDisplaceOrder: this.screenForm.isDisplaceOrder
       }
     }
   },
@@ -582,6 +595,30 @@ export default {
   },
 
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              查看
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     // 查询列表
     getList() {
       this.listLoading = true
@@ -609,7 +646,7 @@ export default {
         policyRemark: this.screenForm.policyRemark,
         isOver: this.screenForm.isOver,
         walletIds1: this.screenForm.walletIds1.join(','),
-        isDisplaceOrder:this.screenForm.isDisplaceOrder,
+        isDisplaceOrder: this.screenForm.isDisplaceOrder
       }
       getList(params).then(res => {
         res.data.records.forEach(item => {
@@ -647,7 +684,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },

+ 65 - 28
src/views/supply/implement/implement_total_list.vue

@@ -78,7 +78,7 @@
                     <el-date-picker
                       v-model="screenForm.date"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -93,7 +93,7 @@
                     <el-date-picker
                       v-model="screenForm.orderDate"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -189,9 +189,8 @@
                   style="cursor: pointer"
                   @click="openDisplaceDetail(scope.row)"
                   v-if="scope.row.isDisplaceOrder"
-                >置换
-                </el-tag
-                >
+                  >置换
+                </el-tag>
                 <el-tag type="success" size="mini" v-if="scope.row.directTransferStatusName !== '非直调'">直调</el-tag>
               </template>
             </el-table-column>
@@ -362,15 +361,9 @@
                 {{ scope.row.hasSendAmount | numToFixed }}
               </template>
             </el-table-column>
-            <el-table-column
-              align="right"
-              label="发货数量"
-              prop="hasSendQty"
-              min-width="100"
-              show-overflow-tooltip
-            >
-              <template v-slot="{row}">
-                {{row.qty - (row.refundableQty || 0)}}
+            <el-table-column align="right" label="发货数量" prop="hasSendQty" min-width="100" show-overflow-tooltip>
+              <template v-slot="{ row }">
+                {{ row.qty - (row.refundableQty || 0) }}
               </template>
             </el-table-column>
             <el-table-column
@@ -410,20 +403,12 @@
               min-width="100"
               show-overflow-tooltip
             ></el-table-column>
-            <el-table-column
-              align="right"
-              label="原供价"
-              prop="orgPrice"
-              min-width="100"
-              show-overflow-tooltip
-            >
+            <el-table-column align="right" label="原供价" prop="orgPrice" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
                 {{ scope.row.orgPrice | numToFixed }}
-
               </template>
             </el-table-column>
 
-
             <el-table-column
               align="left"
               label="表头业务员"
@@ -500,9 +485,22 @@
 
     <DisplaceDetail :listItem="queryItem" v-if="isShowDisplaceDetail" @backListFormDetail="backList" />
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+
 import { getTotalList } from '@/api/supply/implement'
 import { getCategoryList } from '@/api/common'
 import DisplaceDetail from '@/views/supply/implement/components/displace_detail'
@@ -511,7 +509,8 @@ import { getNoRebateWalletList } from '@/api/policy_list'
 let that
 export default {
   components: {
-    DisplaceDetail
+    DisplaceDetail,
+    TemplatePage
   },
   filters: {
     statusFilter(val) {
@@ -524,6 +523,20 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
+      //
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -549,7 +562,7 @@ export default {
         isOver: '',
         orderDate: [],
         walletIds1: [],
-        isDisplaceOrder:''
+        isDisplaceOrder: ''
       },
       categoryList: [],
       statusList: [
@@ -587,7 +600,7 @@ export default {
         policyCode: this.screenForm.policyCode,
         policyRemark: this.screenForm.policyRemark,
         isOver: this.screenForm.isOver,
-        isDisplaceOrder:this.screenForm.isDisplaceOrder
+        isDisplaceOrder: this.screenForm.isDisplaceOrder
       }
     }
   },
@@ -602,6 +615,30 @@ export default {
   },
 
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              查看
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     // 查询列表
     getList() {
       this.listLoading = true
@@ -629,7 +666,7 @@ export default {
         policyCode: this.screenForm.policyCode,
         policyRemark: this.screenForm.policyRemark,
         isOver: this.screenForm.isOver,
-        isDisplaceOrder:this.screenForm.isDisplaceOrder
+        isDisplaceOrder: this.screenForm.isDisplaceOrder
       }
       getTotalList(params).then(res => {
         res.data.records.forEach(item => {
@@ -667,7 +704,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },

+ 58 - 7
src/views/supply/implement/nsales_list.vue

@@ -64,7 +64,7 @@
                     <el-date-picker
                       v-model="screenForm.date"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -78,7 +78,7 @@
                     <el-date-picker
                       v-model="screenForm.approval"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -92,7 +92,7 @@
                     <el-date-picker
                       v-model="screenForm.printTime"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -141,7 +141,7 @@
                     <el-date-picker
                       v-model="screenForm.invoiceDate"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -497,9 +497,22 @@
     <SalesExamine v-if="isShowExamine" :list-item="queryItem" @backListFormExamine="backList" />
     <SalesReturnForm v-if="isShowReturnForm" :list-item="queryItem" @backListFormDetail="backList" />
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+
 import { abandonData, examineBatch, examineJudge, getList } from '@/api/supply/sales'
 import SalesDetail from '@/views/supply/sales/components/sales_detail'
 import SalesExamine from '@/views/supply/sales/components/sales_examine'
@@ -513,7 +526,8 @@ export default {
     SalesDetail,
     SalesExamine,
     SalesReturnForm,
-    ExamineDialog
+    ExamineDialog,
+    TemplatePage
   },
   filters: {
     statusFilter(val) {
@@ -540,6 +554,19 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -556,7 +583,7 @@ export default {
         warehouse: '',
         date: [],
         status: '',
-        approval:[],
+        approval: [],
         printTime: [],
         mainOrderId: '',
         printDesc: null,
@@ -654,6 +681,30 @@ export default {
   },
 
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              查看
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     // 查询列表
     getList() {
       this.listLoading = true
@@ -715,7 +766,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },

+ 65 - 3
src/views/supply/policy/policy_list.vue

@@ -52,7 +52,7 @@
                     <el-date-picker
                       v-model="screenForm.date"
                       type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                      :default-time="['00:00:00', '23:59:59']"
                       range-separator="至"
                       style="width: 100%"
                       value-format="yyyy-MM-dd HH:mm:ss"
@@ -508,9 +508,23 @@
     <EditDateDialog :is-show.sync="isShowEditDateDialog" :date-form.sync="dateForm" />
     <ExamineDialog :isShow.sync="isShowExamineDialog" :examineForm.sync="examineForm" />
   </div>
+  <!-- <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+  </template-page> -->
 </template>
 
 <script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
+import add_callback_mixin from '@/components/template/add_callback_mixin.js'
 import {
   abandonData,
   closeData,
@@ -532,13 +546,16 @@ import { getNoRebateWalletList } from '@/api/policy_list'
 
 let that
 export default {
+  mixins: [add_callback_mixin],
   components: {
     RetailDetail,
     RetailForm,
     RetailExamine,
     RetailReturn,
     EditDateDialog,
-    ExamineDialog
+    ExamineDialog,
+    TemplatePage,
+    Popu
   },
   filters: {
     statusFilter(val) {
@@ -548,6 +565,27 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: this.addOn(() => {})
+            }
+          ]
+        ],
+
+        [
+          [
+            {
+              name: '批量审批',
+              click: async () => {}
+            }
+          ]
+        ]
+      ],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -651,6 +689,30 @@ export default {
   },
 
   methods: {
+    // 列表请求函数
+    // getList: levelList,
+    // 列表导出函数
+    // exportList: exportLevelList,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button size="mini" type="text" onClick={async () => {}}>
+              详情
+            </el-button>
+          </div>
+        )
+      }
+    },
+
     // 获取业务员列表
     getSalesmanList() {
       getSalesmanList({
@@ -771,7 +833,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },