Parcourir la source

Merge branch 'feature/销售政策列表' into dev_v2

# Conflicts:
#	src/api/basic_data/material.js
chenqilong il y a 2 ans
Parent
commit
348393c383

+ 19 - 1
src/api/basic_data/material.js

@@ -244,6 +244,25 @@ export function getProductRriceSubmit(params) {
   })
 }
 
+// 产品调价单-列表
+export function v2ProductPriceList(data) {
+  return request({
+    url: `/v2/product-price/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+//产品调价单-导出
+export function v2ProductPriceListExport(data, name) {
+  return postBlob({
+    url: '/v2/product-price/list/export',
+    method: 'post',
+    data,
+    name
+  })
+}
+
 // 产品价格列表
 export function getProductPriceList(params) {
   return request({
@@ -334,7 +353,6 @@ export function getKingDeeCategory() {
   })
 }
 
-
 //新增产品类别小类
 export function getProductCategoryAddSub(data) {
   return request({

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

@@ -1,4 +1,4 @@
-import request from '@/utils/request'
+import request, { postBlob, handleImport, getBlob } from '@/utils/request'
 
 // 获取列表
 export function getList(params) {
@@ -35,3 +35,22 @@ export function getExecList(params) {
     params
   })
 }
+
+// 执行明细-列表
+export function v2EnginInfoOrderExcelList(data) {
+  return request({
+    url: `/v2/engin-info-order/exec/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+//执行明细-导出
+export function v2EnginInfoOrderExcelListExport(data, name) {
+  return postBlob({
+    url: '/v2/engin-info-order/exec/list/export',
+    method: 'post',
+    data,
+    name
+  })
+}

+ 107 - 315
src/views/basic_data/material/price_list.vue

@@ -1,238 +1,5 @@
 <template>
-  <div class="app-container">
-    <!-- 筛选条件 -->
-    <div>
-      <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 #search>
-          <el-form ref="screenForm" :model="screenForm" label-width="70px" size="mini" label-position="left">
-            <el-row :gutter="20">
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="物料编码" prop="materialNumber">
-                  <el-input v-model="screenForm.materialNumber" placeholder="请输入物料编码" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="产品名称" prop="materialName">
-                  <el-input v-model="screenForm.materialName" placeholder="请输入产品名称" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="产品编码" prop="materialOldNumber">
-                  <el-input v-model="screenForm.materialOldNumber" placeholder="请输入产品编码" />
-                </el-form-item>
-              </el-col>
-              <!--          <el-col :xs="24" :sm="12" :lg="6">-->
-              <!--            <el-form-item label="生效日期" prop="startDate">-->
-              <!--              <el-date-picker-->
-              <!--                v-model="screenForm.startDate"-->
-              <!--                type="datetime"-->
-              <!--                placeholder="请输入生效日期"-->
-              <!--                value-format="yyyy-MM-dd HH:mm:ss"-->
-              <!--              >-->
-              <!--              </el-date-picker>-->
-              <!--            </el-form-item>-->
-              <!--          </el-col>-->
-              <!--          <el-col :xs="24" :sm="12" :lg="6">-->
-              <!--            <el-form-item label="失效日期" prop="endDate">-->
-              <!--              <el-date-picker-->
-              <!--                v-model="screenForm.endDate"-->
-              <!--                type="datetime"-->
-              <!--                placeholder="请输入生效日期"-->
-              <!--                value-format="yyyy-MM-dd HH:mm:ss "-->
-              <!--              >-->
-              <!--              </el-date-picker>-->
-              <!--            </el-form-item>-->
-              <!--          </el-col>-->
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="销售类型" prop="saleTypeId">
-                  <el-select v-model="screenForm.saleTypeId" filterable placeholder="选择销售类型" style="width: 100%">
-                    <el-option label="全部" value="" />
-                    <el-option v-for="item in ztypeList" :key="item.id" :label="item.saleName" :value="item.id" />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="产品类别" prop="k3CategoryNumber">
-                  <el-select v-model="screenForm.k3CategoryNumber" style="width: 100%" placeholder="请选择产品类别">
-                    <el-option label="全部" value="" />
-                    <el-option v-for="item in dictList" :label="item.name" :value="item.number" />
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="规格型号" prop="specification">
-                  <el-input v-model="screenForm.specification" placeholder="请输入规格型号" />
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="12" :lg="6">
-                <el-form-item label="备注" prop="specification">
-                  <el-input v-model="screenForm.remark" placeholder="请输入备注" />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </template>
-      </Collapse>
-    </div>
-    <!-- 按钮 -->
-    <div class="btn-group clearfix">
-      <div>
-        <el-popconfirm
-          v-if="$checkBtnRole('del', $route.meta.roles)"
-          confirm-button-text="好的"
-          cancel-button-text="不用了"
-          icon="el-icon-info"
-          icon-color="red"
-          title="内容确定删除吗?"
-          @onConfirm="handleDelete"
-        >
-          <el-button type="primary" size="mini" icon="el-icon-delete" slot="reference" class="el-popover-left"
-            >删除</el-button
-          >
-        </el-popconfirm>
-        <el-button type="primary" style="margin-left: 10px" size="mini" @click="handleRevokeAll">批量作废</el-button>
-        <!--        <el-button type="primary" size="mini">导出</el-button>-->
-        <!-- <el-button type="primary" size="mini">打印</el-button> -->
-      </div>
-      <div class="fl"></div>
-    </div>
-    <div class="mymain-container">
-      <!-- 列表 -->
-      <div class="table">
-        <el-table
-          v-loading="listLoading"
-          :data="dataList"
-          element-loading-text="Loading"
-          border
-          fit
-          :row-class-name="tableRowClassName"
-          @select-all="hanleSelectAll"
-          @select="hanleSelectAll"
-        >
-          <el-table-column type="selection" align="left" width="50"></el-table-column>
-          <!--          <el-table-column type="selection" align="left" />-->
-          <!-- <el-table-column
-            align="left"
-            label="产品类别"
-            prop="mainName"
-            min-width="160"
-            show-overflow-tooltip
-          ></el-table-column> -->
-          <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="200" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <CopyButton :copyText="scope.row.materialNumber" />
-              <span>{{ scope.row.materialNumber }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="200" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <CopyButton :copyText="scope.row.materialOldNumber" />
-              <span>{{ scope.row.materialOldNumber }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column align="left" label="产品名称" prop="materialName" min-width="200" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <CopyButton :copyText="scope.row.materialName" />
-              <span>{{ scope.row.materialName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column align="left" label="规格型号" prop="specification" min-width="200" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <CopyButton :copyText="scope.row.specification" />
-              <span>{{ scope.row.specification }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="160" show-overflow-tooltip />
-          <el-table-column align="left" label="单位" prop="unit" min-width="160" show-overflow-tooltip />
-          <el-table-column align="left" label="数量下限" prop="qty" min-width="160" show-overflow-tooltip />
-          <el-table-column align="left" label="返利类型(钱包)" prop="wallets" min-width="200" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <template v-for="(item, index) in scope.row.wallets">
-                <template v-if="item.type === 'REBATE'">
-                  <el-tag :key="index" type="success" style="margin: 0 10px" size="mini">
-                    {{ item.walletName }}
-                  </el-tag>
-                </template>
-              </template>
-            </template>
-          </el-table-column>
-          <el-table-column
-            align="left"
-            label="现金钱包"
-            prop="modifyPriceDepartment"
-            min-width="200"
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              <template v-for="(item, index) in scope.row.wallets">
-                <template v-if="item.type === 'COMMONLY'">
-                  <el-tag :key="index" type="success" style="margin: 0 10px" size="mini">
-                    {{ item.walletName }}
-                  </el-tag>
-                </template>
-              </template>
-            </template>
-          </el-table-column>
-          <el-table-column align="left" label="生效日期" prop="startDate" min-width="160" show-overflow-tooltip />
-
-          <el-table-column align="left" label="失效日期" prop="endDate" min-width="160" show-overflow-tooltip />
-          <el-table-column align="left" label="是否销价" prop="isPromote" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <el-tag size="mini" v-if="scope.row.isPromote" type="success">是</el-tag>
-              <el-tag size="mini" v-else type="danger">否</el-tag>
-            </template>
-          </el-table-column>
-          <el-table-column align="left" label="是否作废" prop="isRevoke" min-width="160" show-overflow-tooltip>
-            <template slot-scope="scope">
-              <el-tag size="mini" v-if="scope.row.isRevoke" type="success">是</el-tag>
-              <el-tag size="mini" v-else type="danger">否</el-tag>
-            </template>
-          </el-table-column>
-          <el-table-column align="right" label="批发价1" prop="batchPrice" min-width="160" show-overflow-tooltip />
-          <el-table-column align="right" label="格力折扣" prop="discAmount" min-width="160" show-overflow-tooltip />
-          <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip />
-          <el-table-column fixed="left" width="150" label="操作" align="center">
-            <template slot-scope="scope">
-              <el-popconfirm
-                v-if="!scope.row.isRevoke"
-                style="margin-right: 10px"
-                title="作废吗?"
-                @onConfirm="handleRevoke(scope.row.id)"
-              >
-                <el-button slot="reference" type="text" size="mini">作废</el-button>
-              </el-popconfirm>
-
-              <el-button
-                v-if="$checkBtnRole('del', $route.meta.roles)"
-                type="text"
-                size="mini"
-                @click="handleDelete(scope.row.id)"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <!-- 分页 -->
-      <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
+  <template-page
     ref="pageRef"
     :getList="getList"
     :operation="operation()"
@@ -242,20 +9,26 @@
     :tableAttributes="tableAttributes"
     :tableEvents="tableEvents"
   >
-    
-  </template-page> -->
+  </template-page>
 </template>
 
 <script>
-import Mixin from '@/mixin/index'
+// import Mixin from '@/mixin/index'
 
 import TemplatePage from '@/components/template/template-page-1.vue'
-import { getProductDelete, getProductPriceList, getTypeList, handlePriceRevoke } from '@/api/basic_data/material'
+import {
+  getProductDelete,
+  getProductPriceList,
+  getTypeList,
+  handlePriceRevoke,
+  v2ProductPriceList,
+  v2ProductPriceListExport
+} from '@/api/basic_data/material'
 import { getCategoryList } from '@/api/common'
 
 export default {
-  components: { TemplatePage, Popu },
-  mixins: [Mixin],
+  components: { TemplatePage },
+  mixins: [],
   data() {
     return {
       // 事件组合
@@ -269,14 +42,9 @@ export default {
                   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('批量删除成功')
-              }
+                this.handleDelete()
+              },
+              isRole: this.$checkBtnRole('del', this.$route.meta.roles)
             }
           ]
         ],
@@ -286,16 +54,10 @@ export default {
               name: '批量作废',
               click: async () => {
                 if (this.recordSelected.length === 0) {
-                  this.$message.error('请选择需要删除的数据')
+                  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('批量删除成功')
+                this.handleRevokeAll()
               }
             }
           ]
@@ -334,16 +96,16 @@ export default {
     }
   },
   mounted() {
-    getCategoryList({ pageNum: 1, pageSize: -1 }).then(res => {
-      this.dictList = res.data.records
-      console.log(this.dictList, 777777)
-    })
+    // getCategoryList({ pageNum: 1, pageSize: -1 }).then(res => {
+    //   this.dictList = res.data.records
+    //   console.log(this.dictList, 777777)
+    // })
   },
   methods: {
     // 列表请求函数
-    // getList: levelList,
+    getList: v2ProductPriceList,
     // 列表导出函数
-    // exportList: exportLevelList,
+    exportList: v2ProductPriceListExport,
     // 表格列解析渲染数据更改
     columnParsing(item, defaultData) {
       return defaultData
@@ -356,29 +118,35 @@ export default {
       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>
+            {row.isRevoke === '否' ? (
+              <el-popconfirm
+                onOnConfirm={async () => {
+                  this.handleRevoke(row.id)
+                }}
+                title="是否确定需要作废该项内容?"
+              >
+                <el-button slot="reference" size="mini" type="text">
+                  作废
+                </el-button>
+              </el-popconfirm>
+            ) : (
+              ''
+            )}
 
-            <el-popconfirm
-              onConfirm={async () => {
-                this.$refs.pageRef.refreshList()
-                this.$message.success('删除成功')
-              }}
-              title="是否确定需要删除该项内容?"
-            >
-              <el-button slot="reference" size="mini" type="text">
-                删除
-              </el-button>
-            </el-popconfirm>
+            {this.$checkBtnRole('del', this.$route.meta.roles) ? (
+              <el-popconfirm
+                onOnConfirm={async () => {
+                  this.handleDelete(row.id)
+                }}
+                title="是否确定需要删除该项内容?"
+              >
+                <el-button slot="reference" size="mini" type="text">
+                  删除
+                </el-button>
+              </el-popconfirm>
+            ) : (
+              ''
+            )}
           </div>
         )
       }
@@ -388,51 +156,75 @@ export default {
       this.showDialogForm = true
     },
 
+    hanleDeleteAllPromise(id) {
+      return new Promise((resolve, reject) => {
+        const ids = id
+          ? [id]
+          : this.recordSelected.map(v => {
+              return v.id
+            })
+        if (!ids.length) {
+          this.$errorMsg('请选择删除内容')
+          return
+        }
+        resolve(ids)
+      })
+    },
+
     handleDelete(id) {
       this.hanleDeleteAllPromise(id).then(ids => {
         getProductDelete(ids).then(res => {
           this.$successMsg('删除成功')
-          this.getList()
+          // this.getList()
+          this.$refs.pageRef.refreshList()
         })
       })
     },
-    getList() {
-      this.listLoading = true
-      const params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        k3CategoryNumber: this.screenForm.k3CategoryNumber,
-        endDate: this.screenForm.endDate,
-        materialName: this.screenForm.materialName,
-        materialNumber: this.screenForm.materialNumber,
-        materialOldNumber: this.screenForm.materialOldNumber,
-        saleTypeId: this.screenForm.saleTypeId,
-        specification: this.screenForm.specification,
-        startDate: this.screenForm.startDate,
-        remark: this.screenForm.remark
-      }
-      getProductPriceList(params).then(res => {
-        this.dataList = res.data.records
-        console.log(res.data.records)
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
-      getTypeList({ ...params, pageNum: 1, pageSize: -1 }).then(res => {
-        this.ztypeList = res.data.records
-        // console.log(this.ztypeList, "type1111");
-      })
-    },
+    // getList() {
+    //   this.listLoading = true
+    //   const params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     k3CategoryNumber: this.screenForm.k3CategoryNumber,
+    //     endDate: this.screenForm.endDate,
+    //     materialName: this.screenForm.materialName,
+    //     materialNumber: this.screenForm.materialNumber,
+    //     materialOldNumber: this.screenForm.materialOldNumber,
+    //     saleTypeId: this.screenForm.saleTypeId,
+    //     specification: this.screenForm.specification,
+    //     startDate: this.screenForm.startDate,
+    //     remark: this.screenForm.remark
+    //   }
+    //   getProductPriceList(params).then(res => {
+    //     this.dataList = res.data.records
+    //     console.log(res.data.records)
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    //   getTypeList({ ...params, pageNum: 1, pageSize: -1 }).then(res => {
+    //     this.ztypeList = res.data.records
+    //     // console.log(this.ztypeList, "type1111");
+    //   })
+    // },
     handleRevoke(id) {
       handlePriceRevoke({ ids: id }).then(res => {
         this.$successMsg('操作成功')
-        this.getList()
+        // this.getList()
+        this.$refs.pageRef.refreshList()
       })
     },
     handleRevokeAll() {
-      if (this.ids.length) {
-        handlePriceRevoke({ ids: this.ids.join('') }).then(res => {
+      if (this.recordSelected.length) {
+        handlePriceRevoke({
+          ids: this.recordSelected
+            .map(v => {
+              return v.id
+            })
+            .toString()
+        }).then(res => {
           this.$successMsg('操作成功')
-          this.getList()
+          // this.getList()
+          this.$refs.pageRef.refreshList()
         })
       } else {
         this.$errorMsg('请选择')

+ 28 - 6
src/views/sales_rebate/rebate_list.vue

@@ -117,7 +117,12 @@ export default {
           [
             {
               name: '新增',
-              click: () => {}
+              click: () => {
+                this.dialogVisible = true
+                this.type = 1
+                this.getDictList()
+              },
+              isRole: this.$checkBtnRole('add', this.$route.meta.roles)
             }
           ]
         ],
@@ -162,6 +167,7 @@ export default {
         saleTypeName: '',
         status: ''
       },
+      dialogVisible: false,
       dialogForm: {
         walletRebateId: '',
         rebateRate: '',
@@ -271,13 +277,29 @@ export default {
       return (h, { row, index, column }) => {
         return (
           <div class="operation-btns">
-            {' '}
-            <el-button size="mini" type="text" onClick={async () => {}}>
+            <el-button
+              size="mini"
+              type="text"
+              onClick={async () => {
+                this.hanleDateil(row)
+              }}
+            >
               查看
             </el-button>
-            <el-button size="mini" type="text" onClick={async () => {}}>
-              编辑
-            </el-button>
+
+            {this.$checkBtnRole('edit', this.$route.meta.roles) ? (
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.hanleEdit(row)
+                }}
+              >
+                编辑
+              </el-button>
+            ) : (
+              ''
+            )}
           </div>
         )
       }

+ 87 - 298
src/views/supply/implement/commercial_implement_list.vue

@@ -1,265 +1,28 @@
 <template>
-  <div class="app-container">
-    <div v-show="!isShowDisplaceDetail">
-      <!-- 筛选条件 -->
-      <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 #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="orderTime">
-                    <el-date-picker
-                      v-model="screenForm.orderTime"
-                      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-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="经销商" prop="customerId">
-                    <el-select v-model="screenForm.customerId" filterable class="selectStyle" placeholder="请选择">
-                      <el-option v-for="item in dealerList" :key="item.id" :label="item.name" :value="item.id" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="项目名称" prop="refProjectName">
-                    <el-input v-model="screenForm.refProjectName" placeholder="请输入项目名称" />
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="机型型号" prop="specification">
-                    <el-input v-model="screenForm.specification" placeholder="请输入机型型号" />
-                  </el-form-item>
-                </el-col>
-                <!--            <el-col :xs="24" :sm="12" :lg="6">-->
-                <!--              <el-form-item label="信息单号" prop="policyRemark">-->
-                <!--                <el-input v-model="screenForm.policyRemark" placeholder="请输入销售政策说明" />-->
-                <!--              </el-form-item>-->
-                <!--            </el-col>-->
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="业务员" prop="serviceId">
-                    <el-select
-                      v-model="screenForm.serviceId"
-                      placeholder="选择业务员"
-                      clearable
-                      filterable
-                      style="width: 100%"
-                    >
-                      <el-option
-                        v-for="item in salesmanList"
-                        :key="item.adminUserId"
-                        :label="item.nickName"
-                        :value="item.adminUserId"
-                      />
-                    </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" clearable placeholder="请选择是否">
-                      <el-option label="是" :value="true" />
-                      <el-option label="否" :value="false" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="审核人" prop="confirmName">
-                    <el-input v-model="screenForm.confirmName" placeholder="请输入审核人" />
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="工程登录编号" prop="refEnginRecordNo">
-                    <el-input v-model="screenForm.refEnginRecordNo" placeholder="请输入工程登录编号" />
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </el-form>
-          </template>
-        </Collapse>
-      </div>
-
-      <div class="mymain-container">
-        <div class="btn-group clearfix">
-          <div class="fr">
-            <ExportButton :ex-url="'engin-info-order/exec/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="信息单日期" prop="orderDate" min-width="160" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="工程登录编号"
-              prop="refEnginRecordNo"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="经销熵编码"
-              prop="customerNumber"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="经销商名称"
-              prop="customerName"
-              min-width="250"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="项目名称"
-              prop="refProjectName"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="160" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="物料编码"
-              prop="materialNumber"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="产品编码"
-              prop="materialOldNumber"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="规格型号" prop="specification" min-width="300" show-overflow-tooltip />
-            <el-table-column align="left" label="数量" prop="qty" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="单价" prop="price" min-width="160" show-overflow-tooltip>
-              <template v-slot="scope">
-                {{ scope.row.price | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="金额" prop="totalAmount" min-width="160" show-overflow-tooltip>
-              <template v-slot="scope">
-                {{ scope.row.totalAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="未订数量" prop="wdQty" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="未订金额" prop="wdAmount" min-width="160" show-overflow-tooltip>
-              <template v-slot="scope">
-                {{ scope.row.wdAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="直调数量"
-              prop="directTransferQty"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="退订数量" prop="retiredQty" min-width="160" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="退货数量"
-              prop="refundProductQty"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="表头业务员" prop="serviceName" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="审核人" prop="confirmName" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="是否关闭" prop="isClose" min-width="160" show-overflow-tooltip>
-              <template v-slot="scope">
-                {{ scope.row.isClose ? '是' : '否' }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="格力内部备注"
-              prop="geLiInerNote"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="权限分类"
-              prop="refPowerCategory"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="合同有效期"
-              prop="contractExpireDate"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="安装地址"
-              prop="installAddress"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="联系电话" prop="phone" min-width="160" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="工程登录类型"
-              prop="enginSignType"
-              min-width="160"
-              show-overflow-tooltip
-            />
-          </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>
-    <DisplaceDetail v-if="isShowDisplaceDetail" :list-item="queryItem" @backListFormDetail="backList" />
-  </div>
+  <template-page
+    ref="pageRef"
+    :getList="getList"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+    :operationColumnWidth="200"
+  >
+  </template-page>
 </template>
 
 <script>
-import { getExecList } from '@/api/supply/implement'
+import TemplatePage from '@/components/template/template-page-1.vue'
+import { getExecList, v2EnginInfoOrderExcelList, v2EnginInfoOrderExcelListExport } from '@/api/supply/implement'
 import { getCategoryList, getSalesmanList } from '@/api/common'
-import DisplaceDetail from '@/views/supply/implement/components/displace_detail'
+// import DisplaceDetail from '@/views/supply/implement/components/displace_detail'
 import { getDealerList } from '@/api/supply/apply'
 
 let that
 export default {
   components: {
-    DisplaceDetail
+    TemplatePage
   },
   filters: {
     statusFilter(val) {
@@ -272,6 +35,19 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: false
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -324,56 +100,69 @@ export default {
   },
 
   created() {
-    this.getList()
-    this.getCategoryList()
-    this.getSalesmanList()
-    this.getDealerList()
+    // this.getList()
+    // this.getCategoryList()
+    // this.getSalesmanList()
+    // this.getDealerList()
   },
 
   methods: {
+    // 列表请求函数
+    getList: v2EnginInfoOrderExcelList,
+    // 列表导出函数
+    exportList: v2EnginInfoOrderExcelListExport,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+
     // 查询列表
-    getList() {
-      this.listLoading = true
+    // getList() {
+    //   this.listLoading = true
 
-      const params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        confirmName: this.screenForm.confirmName,
-        customerId: this.screenForm.customerId,
-        startOrderDate: this.screenForm.orderTime ? this.screenForm.orderTime[0] : '',
-        endOrderDate: this.screenForm.orderTime ? this.screenForm.orderTime[1] : '',
-        isClose: this.screenForm.isClose,
-        refEnginRecordNo: this.screenForm.refEnginRecordNo,
-        refProjectName: this.screenForm.refProjectName,
-        serviceId: this.screenForm.serviceId,
-        specification: this.screenForm.specification
-      }
-      getExecList(params).then(res => {
-        res.data.records.forEach(item => {
-          item.sums1 = [
-            'refundableQty',
-            'qty',
-            'retiredQty',
-            'hasSendQty',
-            'directTransferQty',
-            'refundProductQty',
-            'wdQty'
-          ]
-          item.sums2 = [
-            'payAmount',
-            'payRebateAmount',
-            'hasSendAmount',
-            'retiredAmount',
-            'refundProductAmount',
-            'totalAmount',
-            'wdAmount'
-          ]
-        })
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
-    },
+    //   const params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     confirmName: this.screenForm.confirmName,
+    //     customerId: this.screenForm.customerId,
+    //     startOrderDate: this.screenForm.orderTime ? this.screenForm.orderTime[0] : '',
+    //     endOrderDate: this.screenForm.orderTime ? this.screenForm.orderTime[1] : '',
+    //     isClose: this.screenForm.isClose,
+    //     refEnginRecordNo: this.screenForm.refEnginRecordNo,
+    //     refProjectName: this.screenForm.refProjectName,
+    //     serviceId: this.screenForm.serviceId,
+    //     specification: this.screenForm.specification
+    //   }
+    //   getExecList(params).then(res => {
+    //     res.data.records.forEach(item => {
+    //       item.sums1 = [
+    //         'refundableQty',
+    //         'qty',
+    //         'retiredQty',
+    //         'hasSendQty',
+    //         'directTransferQty',
+    //         'refundProductQty',
+    //         'wdQty'
+    //       ]
+    //       item.sums2 = [
+    //         'payAmount',
+    //         'payRebateAmount',
+    //         'hasSendAmount',
+    //         'retiredAmount',
+    //         'refundProductAmount',
+    //         'totalAmount',
+    //         'wdAmount'
+    //       ]
+    //     })
+    //     this.dataList = res.data.records
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    // },
     // 获取业务员列表
     getSalesmanList() {
       getSalesmanList({
@@ -413,7 +202,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },