Переглянути джерело

Merge branch 'dev_v2' of https://gogs.zfire.top/zfire-front/supply-front into dev_v2

zh 2 роки тому
батько
коміт
2b95630933

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

@@ -1,4 +1,4 @@
-import request from '@/utils/request'
+import request, { postBlob, handleImport, getBlob } from '@/utils/request'
 
 // 获取列表 - 零售发货单
 export function getDeliverList(params) {
@@ -36,6 +36,25 @@ export function getPasswordRecord(params) {
   })
 }
 
+// 工程申请发货单-列表V2
+export function invoiceListProjectV2(data) {
+  return request({
+    url: `/invoice/listProjectV2?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+//工程申请发货单-列表V2导出
+export function invoiceListProjectV2Export(data, name) {
+  return postBlob({
+    url: '/invoice/listProjectV2/export',
+    method: 'post',
+    data,
+    name
+  })
+}
+
 // 获取列表 - 工程发货单
 export function getEnginList(params) {
   return request({

+ 38 - 0
src/api/supply/engin.js

@@ -172,6 +172,44 @@ export function overEngin(params) {
   })
 }
 
+// 家用工程订单-列表
+export function v2EnginOrderHomeList(data) {
+  return request({
+    url: `/v2/engin-order/home/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+//家用工程订单-导出
+export function v2EnginOrderHomeListExport(data, name) {
+  return postBlob({
+    url: '/v2/engin-order/home/list/export',
+    method: 'post',
+    data,
+    name
+  })
+}
+
+// 商用工程订单-列表
+export function v2EnginOrderTradeList(data) {
+  return request({
+    url: `/v2/engin-order/trade/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+//商用工程订单-导出
+export function v2EnginOrderTradeListExport(data, name) {
+  return postBlob({
+    url: '/v2/engin-order/trade/list/export',
+    method: 'post',
+    data,
+    name
+  })
+}
+
 // 工程订单 - 获取列表
 export function getOrderList(params) {
   return request({

+ 6 - 2
src/components/template/template-page-1.vue

@@ -27,8 +27,8 @@
     </zj-page-template>
     <sel-export-column-list :columnList="columnList" @determine="exportDetermine" @cancel="columnList = []" />
     <slot />
-    <el-dialog title="定义方案名" :visible.sync="dialogVisible" width="500px" :before-close="handleClose">
-      <el-input size="mini" v-model="inputText" placeholder="请输入名称"></el-input>
+    <el-dialog title="定义方案名" :visible.sync="dialogVisible" width="380px" :before-close="handleClose">
+      <el-input size="mini" maxlength="8" show-word-limit v-model="inputText" placeholder="请输入名称"></el-input>
       <span slot="footer" class="dialog-footer">
         <el-button size="mini" @click="handleClose">取 消</el-button>
         <el-button size="mini" type="primary" @click="onSavePlanqd">确 定</el-button>
@@ -273,6 +273,10 @@ export default {
     },
     // 点击获取保存方案数据
     onSavePlan(p) {
+      if (this.paramList.length >= 10) {
+        this.$message.error('自定义方案最多支持保留10个')
+        return
+      }
       if (p.length) {
         this.planItem = p
         this.dialogVisible = true

+ 1 - 1
src/views/basic_data/dealer/dealer_stock.vue

@@ -285,7 +285,7 @@ export default {
               </el-button>
             ) : null}
             {this.$checkBtnRole('del', this.$route.meta.roles) ? (
-              <el-popconfirm onONConfirm={() => this.deleFn(row.id)} title="这是一段内容确定删除吗?">
+              <el-popconfirm onOnConfirm={() => this.deleFn(row.id)} title="这是一段内容确定删除吗?">
                 <el-button style="font-size:12px" type="text" class="textColor" slot="reference">
                   删除
                 </el-button>

+ 131 - 384
src/views/supply/deliver/commerce_list.vue

@@ -1,349 +1,14 @@
 <template>
-  <div class="app-container">
-    <div v-show="!isShowDetail">
-      <!-- 筛选条件 -->
-      <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="85px" size="mini" label-position="left">
-              <el-row :gutter="20">
-                <!-- <el-col :xs="24" :sm="24" :lg="24">
-                  <el-form-item prop="orderNum" label-width="0">
-                    <el-radio-group v-model="screenForm.status" size="medium">
-                      <el-radio-button label="1">全部</el-radio-button>
-                      <el-radio-button label="2">已发货</el-radio-button>
-                      <el-radio-button label="3">已取消</el-radio-button>
-                    </el-radio-group>
-                  </el-form-item>
-                </el-col> -->
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="发货单号" prop="orderNum">
-                    <el-input v-model="screenForm.orderNum" placeholder="请输入发货单号" />
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="订单号" prop="orderNo">
-                    <el-input v-model="screenForm.orderNo" placeholder="请输入订单号" />
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="合同号" prop="contractNo">
-                    <el-input v-model="screenForm.contractNo" placeholder="请输入合同号" />
-                  </el-form-item>
-                </el-col>
-                <!-- <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="仓库" prop="warehouse">
-                    <el-input v-model="screenForm.warehouse" placeholder="请输入仓库"></el-input>
-                  </el-form-item>
-                </el-col> -->
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="经销商编号" prop="jxsNum">
-                    <el-input v-model="screenForm.jxsNum" placeholder="请输入经销商编号" />
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="经销商名称" prop="jxsName">
-                    <el-input v-model="screenForm.jxsName" placeholder="请输入经销商名称" />
-                  </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.date"
-                      type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
-                      range-separator="至"
-                      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="chName">
-                    <el-input v-model="screenForm.chName" placeholder="请输入产品名称" />
-                  </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-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item prop="type" label="存货类别">
-                    <el-select v-model="screenForm.type" placeholder="选择存货类别" style="width: 100%" clearable>
-                      <el-option v-for="item in categoryList" :key="item.name" :label="item.name" :value="item.name" />
-                    </el-select>
-                  </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-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="区域" prop="refRegionWork">
-                    <!--                <el-input v-model="screenForm.refRegionWork" placeholder="请输入区域" />-->
-                    <el-select
-                      v-model="screenForm.refRegionWork"
-                      placeholder="选择区域"
-                      clearable
-                      filterable
-                      style="width: 100%"
-                    >
-                      <el-option label="广州" value="GZ" />
-
-                      <el-option label="佛山" value="FS" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="制单人" prop="createBy">
-                    <el-input v-model="screenForm.createBy" placeholder="请输入制单人" />
-                  </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 size="mini" type="warning" icon="el-icon-close">退货</el-button> -->
-          </div>
-          <div class="fr">
-            <ExportButton :ex-url="'ship/pExport'" :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="type" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.type == '1' ? '申请发货单' : scope.row.type == '2' ? '退货单' : '直调发货单' }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="发货申请单" prop="id" min-width="130" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.id" />
-                <span>{{ scope.row.id }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="发货申请日期"
-              prop="createTime"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="仓库" prop="correspondName" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.type === 3 ? scope.row.stockName : scope.row.correspondName }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="订单号" prop="enginOrderNo" min-width="140" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.enginOrderNo" />
-                <span>{{ scope.row.enginOrderNo }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="工程登录编号"
-              prop="refEnginRecordNo"
-              min-width="200"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.refEnginRecordNo" />
-                <span>{{ scope.row.refEnginRecordNo }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="项目类别"
-              prop="refProjectName"
-              min-width="120"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="120" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="经销商编码"
-              prop="customerNumber"
-              min-width="100"
-              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="经销商名称" 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="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.materialCode" />
-                <span>{{ scope.row.materialCode }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="产品编码"
-              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="产品名称" 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="规格型号" 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="refundableQty" min-width="100" show-overflow-tooltip />
-            <el-table-column align="right" label="含税单价" prop="singlePayPrice" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.singlePayPrice | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column align="right" label="价税合计" prop="payAmount" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.payAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="返利金额"
-              prop="payRebateAmount"
-              min-width="100"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.payRebateAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="格力折扣"
-              prop="totalDiscAmount"
-              min-width="100"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.totalDiscAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="订单备注" prop="headerRemark" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="发货申请备注" prop="remark" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="表体备注" prop="invoiceRemark" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="表头业务员"
-              prop="k3ServiceName"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="制单人" prop="createBy" min-width="100" show-overflow-tooltip />
-            <el-table-column align="left" label="制单日期" prop="createTime" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip />
-
-            <el-table-column align="left" label="审核人" prop="approvalName" min-width="100" show-overflow-tooltip />
-            <el-table-column align="left" label="审核日期" prop="approvalTime" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="审核状态" prop="examineStatus" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.examineStatus | statusFilter }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              v-if="this.$store.getters.customerNumber === '100093' || this.$store.getters.customerNumber === '600023'"
-              align="left"
-              label="同步到格匠采购入库单"
-              prop="gejiangSync"
-              min-width="160"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.gejiangSync === 1 ? '同步成功' : scope.row.gejiangSync === 0 ? '待同步' : '同步失败' }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              v-if="this.$store.getters.customerNumber === '100093' || this.$store.getters.customerNumber === '600023'"
-              label="同步格匠失败原因"
-              prop="gejiangSyncRemark"
-              min-width="160"
-              show-overflow-tooltip
-            />
-            <el-table-column align="center" label="操作" width="200" fixed="right">
-              <template slot-scope="scope">
-                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
-                <el-button v-if="!isDealer" type="text" @click="getPassword(scope.row.id)">获取密码</el-button>
-                <el-button v-if="!isDealer" type="text" @click="openShareDetail(scope.row.id)">密码记录</el-button>
-              </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"
+  >
     <!-- 密码记录 -->
     <el-dialog
       title="密码记录"
@@ -384,19 +49,32 @@
       </div>
     </el-dialog>
 
-    <CommerceDetail v-if="isShowDetail" ref="refDetail" :list-item="queryItem" @backListFormDetail="backList" />
-  </div>
+    <Popu v-if="isShowDetail">
+      <CommerceDetail v-if="isShowDetail" ref="refDetail" :list-item="queryItem" @backListFormDetail="backList" />
+    </Popu>
+  </template-page>
 </template>
 
 <script>
-import { getEnginList, getPassword, getPasswordRecord } from '@/api/supply/deliver'
+import {
+  getEnginList,
+  getPassword,
+  getPasswordRecord,
+  invoiceListProjectV2,
+  invoiceListProjectV2Export
+} from '@/api/supply/deliver'
 import { getCategoryList, getSalesmanList } from '@/api/common'
 import CommerceDetail from '@/views/supply/deliver/components/commerce_detail'
 
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
+
 let that
 export default {
   components: {
-    CommerceDetail
+    CommerceDetail,
+    TemplatePage,
+    Popu
   },
   filters: {
     statusFilter(val) {
@@ -410,6 +88,19 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: false
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -488,12 +179,68 @@ export default {
   },
 
   created() {
-    this.getSalesmanList()
-    this.getCategoryList()
-    this.getList()
+    // this.getSalesmanList()
+    // this.getCategoryList()
+    // this.getList()
   },
 
   methods: {
+    // 列表请求函数
+    getList(...p) {
+      let params = {
+        ...p[0],
+        orderType: 3
+      }
+      return invoiceListProjectV2(params)
+    },
+    // 列表导出函数
+    exportList: invoiceListProjectV2Export,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <div class="operation-btns">
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.toDetail(row)
+                }}
+              >
+                详情
+              </el-button>
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.getPassword(row.id)
+                }}
+              >
+                获取密码
+              </el-button>
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.openShareDetail(row.id)
+                }}
+              >
+                密码记录
+              </el-button>
+            </div>
+          </div>
+        )
+      }
+    },
+
     // 获取业务员列表
     getSalesmanList() {
       getSalesmanList({
@@ -517,39 +264,39 @@ export default {
     },
 
     // 查询列表
-    getList() {
-      this.listLoading = true
+    // getList() {
+    //   this.listLoading = true
 
-      const params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        id: this.screenForm.orderNum,
-        enginOrderNo: this.screenForm.orderNo,
-        refEnginRecordNo: this.screenForm.contractNo,
-        customerNumber: this.screenForm.jxsNum,
-        customerName: this.screenForm.jxsName,
-        materialName: this.screenForm.chName,
-        specification: this.screenForm.model,
-        refRegionWork: this.screenForm.refRegionWork,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        categoryName: this.screenForm.type,
-        serviceId: this.screenForm.salesMan,
-        createBy: this.screenForm.createBy,
+    //   const params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     id: this.screenForm.orderNum,
+    //     enginOrderNo: this.screenForm.orderNo,
+    //     refEnginRecordNo: this.screenForm.contractNo,
+    //     customerNumber: this.screenForm.jxsNum,
+    //     customerName: this.screenForm.jxsName,
+    //     materialName: this.screenForm.chName,
+    //     specification: this.screenForm.model,
+    //     refRegionWork: this.screenForm.refRegionWork,
+    //     startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+    //     endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+    //     categoryName: this.screenForm.type,
+    //     serviceId: this.screenForm.salesMan,
+    //     createBy: this.screenForm.createBy,
 
-        orderType: 3 // 2家用工程 3商用工程
-      }
-      getEnginList(params).then(res => {
-        res.data.records.forEach(item => {
-          item.notOutNumber = item.salesStatus ? 0 : item.refundableQty
-          item.sums1 = ['refundableQty', 'notOutNumber']
-          item.sums2 = []
-        })
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
-    },
+    //     orderType: 3 // 2家用工程 3商用工程
+    //   }
+    //   getEnginList(params).then(res => {
+    //     res.data.records.forEach(item => {
+    //       item.notOutNumber = item.salesStatus ? 0 : item.refundableQty
+    //       item.sums1 = ['refundableQty', 'notOutNumber']
+    //       item.sums2 = []
+    //     })
+    //     this.dataList = res.data.records
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    // },
 
     // 提交筛选表单
     submitScreenForm() {
@@ -559,7 +306,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },

+ 129 - 373
src/views/supply/deliver/home_list.vue

@@ -1,339 +1,14 @@
 <template>
-  <div class="app-container">
-    <div v-show="!isShowDetail">
-      <!-- 筛选条件 -->
-      <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="120px" size="mini" label-position="left">
-              <el-row :gutter="20">
-                <!-- <el-col :xs="24" :sm="24" :lg="24">
-                  <el-form-item prop="orderNum" label-width="0">
-                    <el-radio-group v-model="screenForm.status" size="medium">
-                      <el-radio-button label="1">全部</el-radio-button>
-                      <el-radio-button label="2">已发货</el-radio-button>
-                      <el-radio-button label="3">已取消</el-radio-button>
-                    </el-radio-group>
-                  </el-form-item>
-                </el-col> -->
-                <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="orderNo">
-                    <el-input v-model="screenForm.orderNo" placeholder="请输入订单号"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="工程登录编号" prop="contractNo">
-                    <el-input v-model="screenForm.contractNo" placeholder="请输入工程登录编号"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="经销商编号" prop="jxsNum">
-                    <el-input v-model="screenForm.jxsNum" placeholder="请输入经销商编号"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="经销商名称" prop="jxsName">
-                    <el-input v-model="screenForm.jxsName" 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.date"
-                      type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
-                      range-separator="至"
-                      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="chName">
-                    <el-input v-model="screenForm.chName" placeholder="请输入产品名称"></el-input>
-                  </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 prop="type" label="存货类别">
-                    <el-select v-model="screenForm.type" placeholder="选择存货类别" style="width: 100%" clearable>
-                      <el-option
-                        v-for="item in categoryList"
-                        :key="item.name"
-                        :label="item.name"
-                        :value="item.name"
-                      ></el-option>
-                    </el-select>
-                  </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="refRegionWork">
-                    <el-input v-model="screenForm.refRegionWork" placeholder="请输入区域"></el-input>
-                  </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 size="mini" type="warning" icon="el-icon-close">退货</el-button> -->
-          </div>
-          <div class="fr">
-            <ExportButton :ex-url="'ship/pExport'" :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="id" min-width="140" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.id" />
-                <span>{{ scope.row.id }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="发货申请日期" prop="orderTime" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="仓库" prop="correspondName" min-width="100" show-overflow-tooltip />
-            <el-table-column align="left" label="订单号" prop="enginOrderNo" min-width="140" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.enginOrderNo" />
-                <span>{{ scope.row.enginOrderNo }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="工程登录编号"
-              prop="refEnginRecordNo"
-              min-width="150"
-              show-overflow-tooltip
-            />
-
-            <el-table-column align="left" label="经销商名称" 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="使用单位" prop="refUseUnit" min-width="100" show-overflow-tooltip />
-            <el-table-column align="left" label="产品名称" 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="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.materialCode" />
-                <span>{{ scope.row.materialCode }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="产品编码"
-              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="规格型号" 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="right" label="数量" prop="refundableQty" min-width="100" show-overflow-tooltip />
-            <el-table-column align="right" label="单价" prop="price" min-width="100" show-overflow-tooltip />
-            <el-table-column align="right" label="总金额" prop="payAmount" min-width="100" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="安装地址"
-              prop="refInstallAddress"
-              min-width="300"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="联系人" prop="refLinkman" min-width="100" show-overflow-tooltip />
-            <el-table-column align="left" label="固定电话" prop="refTel" min-width="150" show-overflow-tooltip />
-            <el-table-column align="left" label="移动电话" prop="refPhone" min-width="150" show-overflow-tooltip />
-            <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="150" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="项目类别"
-              prop="refProjectCategory"
-              min-width="200"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="行业类别"
-              prop="refTradeCategory"
-              min-width="200"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="跨区厂编号"
-              prop="refFactoryNo"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="保证函"
-              prop="refPromiseProvide"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="押金" prop="takeDeposit" min-width="100" show-overflow-tooltip>
-              <template v-slot="scope">
-                {{ scope.row.takeDeposit ? '不扣' : '扣' }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="第几申报"
-              prop="refDeclareNo"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="备注信息" prop="headerRemark" min-width="200" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="格力内部备注"
-              prop="geLiInerNote"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="区域" prop="refRegionWork" min-width="300" show-overflow-tooltip />
-            <el-table-column align="left" label="业务员" prop="serviceName" min-width="100" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="实装物料编码"
-              prop="realMaterialNumber"
-              min-width="150"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="实装厂产品编码"
-              prop="realMaterialOldNumber"
-              min-width="150"
-              show-overflow-tooltip
-            />
-            <el-table-column
-              align="left"
-              label="实装规格型号"
-              prop="realSpecification"
-              min-width="300"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="发货申请备注" prop="remark" min-width="200" show-overflow-tooltip />
-            <el-table-column
-              align="left"
-              label="二级经销商代码"
-              prop="secondCustomerNumber"
-              min-width="150"
-              show-overflow-tooltip
-            />
-
-            <el-table-column
-              align="left"
-              label="经销商编码"
-              prop="customerNumber"
-              min-width="150"
-              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="制单人" prop="createBy" min-width="200" show-overflow-tooltip />
-            <el-table-column align="left" label="制单日期" prop="createTime" min-width="200" show-overflow-tooltip />
-            <el-table-column align="left" label="审单人" prop="approvalName" min-width="200" show-overflow-tooltip />
-            <el-table-column align="left" label="审单日期" prop="approvalTime" min-width="200" show-overflow-tooltip />
-            <el-table-column align="right" label="返利金额" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.payRebateAmount | numToFixed }}
-              </template>
-            </el-table-column>
-
-            <el-table-column align="center" label="操作" width="200" fixed="right">
-              <template slot-scope="scope">
-                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
-                <el-button type="text" @click="getPassword(scope.row.id)">获取密码</el-button>
-                <el-button type="text" @click="openShareDetail(scope.row.id)">密码记录</el-button>
-              </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"
+  >
     <!-- 密码记录 -->
     <el-dialog
       title="密码记录"
@@ -374,22 +49,47 @@
       </div>
     </el-dialog>
 
-    <HomeDetail v-if="isShowDetail" ref="refDetail" :list-item="queryItem" @backListFormDetail="backList" />
-  </div>
+    <Popu v-if="isShowDetail">
+      <HomeDetail ref="refDetail" :list-item="queryItem" @backListFormDetail="backList" />
+    </Popu>
+  </template-page>
 </template>
 
 <script>
-import { getEnginList, getPassword, getPasswordRecord } from '@/api/supply/deliver'
+import {
+  getEnginList,
+  getPassword,
+  getPasswordRecord,
+  invoiceListProjectV2,
+  invoiceListProjectV2Export
+} from '@/api/supply/deliver'
 import { getCategoryList, getSalesmanList } from '@/api/common'
 import HomeDetail from '@/views/supply/deliver/components/home_detail'
 
 let that
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
 export default {
   components: {
-    HomeDetail
+    HomeDetail,
+    TemplatePage,
+    Popu
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: false
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -451,12 +151,68 @@ export default {
   },
 
   created() {
-    this.getSalesmanList()
-    this.getCategoryList()
-    this.getList()
+    // this.getSalesmanList()
+    // this.getCategoryList()
+    // this.getList()
   },
 
   methods: {
+    // 列表请求函数
+    getList(...p) {
+      let params = {
+        ...p[0],
+        orderType: 2
+      }
+      return invoiceListProjectV2(params)
+    },
+    // 列表导出函数
+    exportList: invoiceListProjectV2Export,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <div class="operation-btns">
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.toDetail(row)
+                }}
+              >
+                详情
+              </el-button>
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.getPassword(row.id)
+                }}
+              >
+                获取密码
+              </el-button>
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.openShareDetail(row.id)
+                }}
+              >
+                密码记录
+              </el-button>
+            </div>
+          </div>
+        )
+      }
+    },
+
     // 获取业务员列表
     getSalesmanList() {
       getSalesmanList({
@@ -480,37 +236,37 @@ export default {
     },
 
     // 查询列表
-    getList() {
-      this.listLoading = true
+    // getList() {
+    //   this.listLoading = true
 
-      const params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        id: this.screenForm.orderNum,
-        enginOrderNo: this.screenForm.orderNo,
-        refEnginRecordNo: this.screenForm.contractNo,
-        customerNumber: this.screenForm.jxsNum,
-        customerName: this.screenForm.jxsName,
-        materialName: this.screenForm.chName,
-        specification: this.screenForm.model,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        categoryName: this.screenForm.type,
-        refRegionWork: this.screenForm.refRegionWork,
-        serviceId: this.screenForm.salesMan,
-        orderType: 2 // 2家用工程 3商用工程
-      }
-      getEnginList(params).then(res => {
-        res.data.records.forEach(item => {
-          item.notOutNumber = item.salesStatus ? 0 : item.refundableQty
-          item.sums1 = ['refundableQty', 'notOutNumber']
-          item.sums2 = ['payAmount', 'afterTaxPrice', 'noTotalAmount']
-        })
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
-    },
+    //   const params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     id: this.screenForm.orderNum,
+    //     enginOrderNo: this.screenForm.orderNo,
+    //     refEnginRecordNo: this.screenForm.contractNo,
+    //     customerNumber: this.screenForm.jxsNum,
+    //     customerName: this.screenForm.jxsName,
+    //     materialName: this.screenForm.chName,
+    //     specification: this.screenForm.model,
+    //     startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+    //     endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+    //     categoryName: this.screenForm.type,
+    //     refRegionWork: this.screenForm.refRegionWork,
+    //     serviceId: this.screenForm.salesMan,
+    //     orderType: 2 // 2家用工程 3商用工程
+    //   }
+    //   getEnginList(params).then(res => {
+    //     res.data.records.forEach(item => {
+    //       item.notOutNumber = item.salesStatus ? 0 : item.refundableQty
+    //       item.sums1 = ['refundableQty', 'notOutNumber']
+    //       item.sums2 = ['payAmount', 'afterTaxPrice', 'noTotalAmount']
+    //     })
+    //     this.dataList = res.data.records
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    // },
 
     // 提交筛选表单
     submitScreenForm() {
@@ -520,7 +276,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },

+ 251 - 550
src/views/supply/engin/commerce_list.vue

@@ -1,516 +1,39 @@
 <template>
-  <div class="app-container">
-    <div v-show="!isShowDetail && !isShowForm && !isShowExamine && !isShowReturn">
-      <!-- 筛选条件 -->
-      <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.status" @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.date"
-                      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="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="选择是否直" 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="customerWalletId">
-                    <el-select
-                      v-model="screenForm.customerWalletId"
-                      placeholder="选择钱包"
-                      clearable
-                      filterable
-                      style="width: 100%"
-                    >
-                      <el-option v-for="item in NoRebateWalletList" :key="item.id" :label="item.name" :value="item.id">
-                      </el-option>
-                    </el-select>
-                  </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"
-                      placeholder="选择销售类型"
-                      clearable
-                      filterable
-                      style="width: 100%"
-                    >
-                      <el-option v-for="item in typeList" :key="item.id" :label="item.saleName" :value="item.id">
-                      </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
-              size="mini"
-              type="primary"
-              icon="el-icon-plus"
-              @click="toForm()"
-              v-if="$checkBtnRole('add', $route.meta.roles)"
-              >新增</el-button
-            >
-            <el-button
-              size="mini"
-              type="danger"
-              icon="el-icon-minus"
-              :disabled="multipleSelection.length < 1"
-              @click="batchDelete()"
-              v-if="$checkBtnRole('del', $route.meta.roles)"
-              >批量删除</el-button
-            >
-          </div>
-          <div class="fr">
-            <ExportButton :exUrl="'engin-order/export'" :exParams="exParams" />
-          </div>
-        </div>
-        <div class="table">
-          <el-table
-            v-loading="listLoading"
-            :data="dataList"
-            element-loading-text="Loading"
-            border
-            fit
-            highlight-current-row
-            stripe
-            @selection-change="handleSelectionChange"
-            show-summary
-            :summary-method="$getSummaries"
-          >
-            <el-table-column align="center" type="selection" width="55"></el-table-column>
-            <el-table-column align="left" label="审核状态" 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="工程订单号" prop="enginOrderNo" min-width="140" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.enginOrderNo" />
-                <span>{{ scope.row.enginOrderNo }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="订单日期" prop="orderDate" min-width="120" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <div>
-                  <span>{{ scope.row.orderDate | dateToDayFilter }}</span>
-                  <el-button
-                    type="text"
-                    icon="el-icon-edit"
-                    style="padding: 0; margin-left: 6px"
-                    @click="editDate(scope.row)"
-                    v-if="$checkBtnRole('date', $route.meta.roles) && !isCustomer && scope.row.examineStatus !== 'SAVE'"
-                  ></el-button>
-                </div>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="工程编号"
-              prop="refProjectNo"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="工程登录编号"
-              prop="refEnginRecordNo"
-              min-width="200"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.refEnginRecordNo" />
-                <span>{{ scope.row.refEnginRecordNo }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="仓库"
-              prop="correspondName"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-
-            <el-table-column align="left" label="订单类型" prop="enginOrderType" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.enginOrderType | typeFilter }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="经销商名称" prop="customerName" min-width="250" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
-                <span>{{ scope.row.customerName }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="使用单位"
-              prop="refUseUnit"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="项目名称"
-              prop="refProjectName"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <!--            <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="120" show-overflow-tooltip></el-table-column>-->
-            <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="120" 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="140"
-              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="160" 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="350" 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="unit"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="right"
-              label="总数量"
-              prop="qty"
-              min-width="100"
-              sortable
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="是否直调"
-              prop="isDirectTransfer"
-              min-width="100"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.isDirectTransfer ? '是' : '否' }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="直调数量"
-              prop="directTransferQty"
-              min-width="110"
-              sortable
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="right"
-              label="出库数量"
-              prop="hasSendQty"
-              min-width="110"
-              sortable
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column align="right" label="单价" prop="price" min-width="100" sortable show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.price | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="实付金额"
-              prop="payAmount"
-              min-width="110"
-              sortable
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.payAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="返利钱包"
-              prop="customerWalletName2"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="right"
-              label="使用返利金额"
-              prop="rebateAmount"
-              min-width="120"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <div v-if="scope.row.examineStatus === 'OK'">
-                  {{ scope.row.payRebateAmount | numToFixed }}
-                </div>
-                <div v-else>{{ scope.row.rebateAmount | numToFixed }}</div>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="right"
-              label="格力折扣"
-              prop="discAmount"
-              min-width="110"
-              sortable
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                {{ scope.row.discAmount | numToFixed }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="备注"
-              prop="remark"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="表头业务员"
-              prop="serviceName"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="表体业务员"
-              prop="itemServiceName"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-
-            <el-table-column
-              align="left"
-              label="制表人"
-              prop="createName"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="制表日期"
-              prop="createTime"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="审核人"
-              prop="confirmName"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="审核日期"
-              prop="confirmTime"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column align="center" label="操作" width="220" fixed="right">
-              <template slot-scope="scope">
-                <el-popconfirm
-                  style="margin-right: 10px"
-                  title="确定申请吗?"
-                  @onConfirm="handleSubmit(scope.row.parentId, scope.row)"
-                  v-if="$checkBtnRole('apply', $route.meta.roles) && scope.row.examineStatus === 'SAVE'"
-                >
-                  <el-button slot="reference" type="text">申请</el-button>
-                </el-popconfirm>
-                <el-popconfirm
-                  style="margin-right: 10px"
-                  title="确定撤回吗?"
-                  @onConfirm="handleWithdraw(scope.row.parentId, scope.row)"
-                  v-if="$checkBtnRole('apply', $route.meta.roles) && scope.row.examineStatus === 'WAIT'"
-                >
-                  <el-button slot="reference" type="text">撤回</el-button>
-                </el-popconfirm>
-                <el-popconfirm
-                  style="margin-right: 10px"
-                  title="确定弃审吗?"
-                  @onConfirm="handleAbandon(scope.row.parentId, scope.row)"
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'"
-                >
-                  <el-button slot="reference" type="text">弃审</el-button>
-                </el-popconfirm>
-                <el-button
-                  type="text"
-                  @click="toForm(scope.row)"
-                  v-if="$checkBtnRole('edit', $route.meta.roles) && scope.row.examineStatus === 'SAVE'"
-                >
-                  编辑
-                </el-button>
-                <el-button
-                  type="text"
-                  @click="toExamine(scope.row)"
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'"
-                >
-                  审批
-                </el-button>
-                <el-button type="text" @click="toReturn(scope.row)" v-if="$checkBtnRole('examine', $route.meta.roles)">
-                  退订
-                </el-button>
-                <el-button type="text" @click="toDetail(scope.row)"> 详情 </el-button>
-                <el-popconfirm
-                  style="margin-left: 10px"
-                  title="确定删除吗?"
-                  @onConfirm="handleDelete(scope.row.parentId, scope.row)"
-                  v-if="$checkBtnRole('del', $route.meta.roles) && scope.row.examineStatus !== 'OK'"
-                >
-                  <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
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-            :current-page="currentPage"
-            :page-sizes="[10, 20, 30, 50]"
-            :page-size="10"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="listTotal"
-          >
-          </el-pagination>
-        </div>
-      </div>
-    </div>
-
-    <EditDateDialog :isShow.sync="isShowEditDateDialog" :dateForm.sync="dateForm" />
-
-    <CommerceDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
-    <CommerceForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
-    <CommerceExamine :listItem="queryItem" v-if="isShowExamine" @backListFormDetail="backList" />
-    <CommerceReturn :listItem="queryItem" v-if="isShowReturn" @backListFormDetail="backList" />
-  </div>
+  <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+    <!-- <EditDateDialog :is-show.sync="isShowEditDateDialog" :date-form.sync="dateForm" /> -->
+    <Popu v-if="isShowDetail || isShowForm || isShowExamine || isShowReturn">
+      <CommerceDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+      <CommerceForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
+      <CommerceExamine :listItem="queryItem" v-if="isShowExamine" @backListFormDetail="backList" />
+      <CommerceReturn :listItem="queryItem" v-if="isShowReturn" @backListFormDetail="backList" />
+    </Popu>
+  </template-page>
 </template>
 
 <script>
-import { getOrderList, applyCom, withdrawCom, deleteCom, editDateCom, abandonCom } 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 {
+  getOrderList,
+  applyCom,
+  withdrawCom,
+  deleteCom,
+  editDateCom,
+  abandonCom,
+  v2EnginOrderTradeList,
+  v2EnginOrderTradeListExport
+} from '@/api/supply/engin'
 import { getSalesmanList, getTypeList } from '@/api/common'
 import CommerceDetail from '@/views/supply/engin/components/commerce_detail'
 import CommerceForm from '@/views/supply/engin/components/commerce_form'
@@ -521,12 +44,15 @@ import { getNoRebateWalletList } from '@/api/policy_list'
 
 let that
 export default {
+  mixins: [add_callback_mixin],
   components: {
     CommerceDetail,
     CommerceForm,
     CommerceExamine,
     CommerceReturn,
-    EditDateDialog
+    EditDateDialog,
+    TemplatePage,
+    Popu
   },
   filters: {
     statusFilter(val) {
@@ -543,6 +69,46 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: this.addOn(() => {
+                this.toForm()
+              }),
+              isRole: this.$checkBtnRole('add', this.$route.meta.roles)
+            }
+          ]
+        ],
+        [
+          [
+            {
+              name: '批量删除',
+              click: async () => {
+                if (this.recordSelected.length === 0) {
+                  this.$message.error('请选择需要删除的数据')
+                  return
+                }
+                this.batchDelete()
+              },
+              isRole: this.$checkBtnRole('del', this.$route.meta.roles)
+            }
+          ]
+        ]
+      ],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -630,12 +196,146 @@ export default {
   },
 
   created() {
-    this.getSalesTypeList()
-    this.getSalesmanList()
-    this.getList()
+    // this.getSalesTypeList()
+    // this.getSalesmanList()
+    // this.getList()
   },
 
   methods: {
+    // 列表请求函数
+    getList: v2EnginOrderTradeList,
+    // 列表导出函数
+    exportList: v2EnginOrderTradeListExport,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <div class="operation-btns">
+              {this.$checkBtnRole('apply', this.$route.meta.roles) && row.examineStatus == '保存' ? (
+                <el-popconfirm
+                  onOnConfirm={async () => {
+                    this.handleSubmit(row.parentId, row)
+                  }}
+                  title="是否确定需要申请该项内容?"
+                >
+                  <el-button slot="reference" size="mini" type="text">
+                    申请
+                  </el-button>
+                </el-popconfirm>
+              ) : (
+                ''
+              )}
+
+              {this.$checkBtnRole('apply', this.$route.meta.roles) && row.examineStatus == '待审核' ? (
+                <el-popconfirm
+                  onOnConfirm={async () => {
+                    this.handleWithdraw(row.parentId, row)
+                  }}
+                  title="是否确定需要撤回该项内容?"
+                >
+                  <el-button slot="reference" size="mini" type="text">
+                    撤回
+                  </el-button>
+                </el-popconfirm>
+              ) : (
+                ''
+              )}
+
+              {this.$checkBtnRole('examine', this.$route.meta.roles) && row.examineStatus === '审核通过' ? (
+                <el-popconfirm
+                  onOnConfirm={async () => {
+                    this.handleAbandon(row.parentId, row)
+                  }}
+                  title="是否确定需要弃审该项内容?"
+                >
+                  <el-button slot="reference" size="mini" type="text">
+                    弃审
+                  </el-button>
+                </el-popconfirm>
+              ) : (
+                ''
+              )}
+
+              {this.$checkBtnRole('edit', this.$route.meta.roles) && row.examineStatus === '保存' ? (
+                <el-button
+                  size="mini"
+                  type="text"
+                  onClick={async () => {
+                    this.toForm(row)
+                  }}
+                >
+                  编辑
+                </el-button>
+              ) : (
+                ''
+              )}
+
+              {this.$checkBtnRole('examine', this.$route.meta.roles) && row.examineStatus === '待审核' ? (
+                <el-button
+                  size="mini"
+                  type="text"
+                  onClick={async () => {
+                    this.toExamine(row)
+                  }}
+                >
+                  审批
+                </el-button>
+              ) : (
+                ''
+              )}
+
+              {this.$checkBtnRole('examine', this.$route.meta.roles) ? (
+                <el-button
+                  size="mini"
+                  type="text"
+                  onClick={async () => {
+                    this.toReturn(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 !== '审核通过' ? (
+                <el-popconfirm
+                  onOnConfirm={async () => {
+                    this.handleDelete(row.parentId, row)
+                  }}
+                  title="是否确定需要删除该项内容?"
+                >
+                  <el-button slot="reference" size="mini" type="text">
+                    删除
+                  </el-button>
+                </el-popconfirm>
+              ) : (
+                ''
+              )}
+            </div>
+          </div>
+        )
+      }
+    },
+
     // 获取业务员列表
     getSalesmanList() {
       getSalesmanList({
@@ -670,40 +370,40 @@ export default {
     },
 
     // 查询列表
-    getList() {
-      this.listLoading = true
-
-      let params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        examineStatus: this.screenForm.status,
-        enginOrderNo: this.screenForm.orderNum,
-        refProjectNo: this.screenForm.enginNum,
-        refEnginRecordNo: this.screenForm.loginNum,
-        refProjectName: this.screenForm.enginName,
-        startCreateTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endCreateTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        saleTypeId: this.screenForm.saleType,
-        createName: this.screenForm.createMan,
-        confirmName: this.screenForm.examineMan,
-        customerWalletId: this.screenForm.customerWalletId,
-        serviceId: this.screenForm.salesMan,
-        customerKeyword: this.screenForm.dealer,
-        isDirectTransfer: this.screenForm.isDirectTransfer,
-
-        specification: this.screenForm.model,
-        enginOrderType: 'TRADE' // TRADE=商用 HOME=家用
-      }
-      getOrderList(params).then(res => {
-        res.data.records.forEach(item => {
-          item.sums1 = ['qty', 'directTransferQty', 'hasSendQty']
-          item.sums2 = ['price', 'payAmount', 'discAmount']
-        })
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
-    },
+    // getList() {
+    //   this.listLoading = true
+
+    //   let params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     examineStatus: this.screenForm.status,
+    //     enginOrderNo: this.screenForm.orderNum,
+    //     refProjectNo: this.screenForm.enginNum,
+    //     refEnginRecordNo: this.screenForm.loginNum,
+    //     refProjectName: this.screenForm.enginName,
+    //     startCreateTime: this.screenForm.date ? this.screenForm.date[0] : '',
+    //     endCreateTime: this.screenForm.date ? this.screenForm.date[1] : '',
+    //     saleTypeId: this.screenForm.saleType,
+    //     createName: this.screenForm.createMan,
+    //     confirmName: this.screenForm.examineMan,
+    //     customerWalletId: this.screenForm.customerWalletId,
+    //     serviceId: this.screenForm.salesMan,
+    //     customerKeyword: this.screenForm.dealer,
+    //     isDirectTransfer: this.screenForm.isDirectTransfer,
+
+    //     specification: this.screenForm.model,
+    //     enginOrderType: 'TRADE' // TRADE=商用 HOME=家用
+    //   }
+    //   getOrderList(params).then(res => {
+    //     res.data.records.forEach(item => {
+    //       item.sums1 = ['qty', 'directTransferQty', 'hasSendQty']
+    //       item.sums2 = ['price', 'payAmount', 'discAmount']
+    //     })
+    //     this.dataList = res.data.records
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    // },
 
     // 提交筛选表单
     submitScreenForm() {
@@ -713,7 +413,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },
@@ -803,12 +503,13 @@ export default {
         type: 'warning'
       })
         .then(() => {
-          let ids = this.multipleSelection.map(item => {
+          let ids = this.recordSelected.map(item => {
             return item.parentId
           })
           deleteCom({ ids: ids.join(',') }).then(res => {
             this.$successMsg()
-            this.getList()
+            // this.getList()
+            this.$refs.pageRef.refreshList()
           })
         })
         .catch(() => {})

+ 9 - 24
src/views/supply/engin/components/home_detail.vue

@@ -5,7 +5,9 @@
 
       <div id="printData">
         <div class="main-title">
-          <div class="title">工程订单 <span style="margin-left: 20px">经销商名称:{{detailData.customerName}}</span></div>
+          <div class="title">
+            工程订单 <span style="margin-left: 20px">经销商名称:{{ detailData.customerName }}</span>
+          </div>
         </div>
 
         <div class="diy-table-1">
@@ -383,7 +385,7 @@
             ></el-table-column>
           </el-table>
         </div>
-        <div class="table" style="margin-top: 20px" v-if="detailData.examineStatus =='OK'">
+        <div class="table" style="margin-top: 20px" v-if="detailData.examineStatus == 'OK'">
           <el-table
             :data="detailData.refundNoteList"
             element-loading-text="Loading"
@@ -396,28 +398,11 @@
             :summary-method="$getSummaries"
           >
             <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
-            <el-table-column
-              align="left"
-              label="创建人"
-              prop="createBy"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="创建时间"
-              prop="createTime"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="退订说明"
-              prop="refundNote"
-              show-overflow-tooltip
-            ></el-table-column>
-
+            <el-table-column align="left" label="创建人" prop="createBy" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="创建时间" prop="createTime" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="退订说明" prop="refundNote" show-overflow-tooltip></el-table-column>
           </el-table>
         </div>
-
       </div>
 
       <div class="page-footer">
@@ -445,7 +430,7 @@
       </div>
     </div>
 
-    <el-dialog title="直调发货" :visible.sync="isShowDeliverDialog" width="80%">
+    <el-dialog title="直调发货" append-to-body :visible.sync="isShowDeliverDialog" width="80%">
       <el-form
         ref="deliverForm"
         :model="deliverForm"
@@ -595,7 +580,7 @@
       </span>
     </el-dialog>
 
-    <el-dialog title="直接调拨单(提前开票)" :visible.sync="isShowDirectDialog" width="80%">
+    <el-dialog title="直接调拨单(提前开票)" append-to-body :visible.sync="isShowDirectDialog" width="80%">
       <el-form
         ref="directForm"
         :model="directForm"

+ 27 - 18
src/views/supply/engin/components/home_form.vue

@@ -213,14 +213,14 @@
             />
           </el-form-item>
         </el-col>
-<!--        <el-col :span="24" :sm="12" :lg="8">-->
-<!--          <el-form-item label="计划单" prop="isPlanOrder">-->
-<!--            <el-radio-group v-model="mainForm.isPlanOrder">-->
-<!--              <el-radio :label="true">是</el-radio>-->
-<!--              <el-radio :label="false">否</el-radio>-->
-<!--            </el-radio-group>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
+        <!--        <el-col :span="24" :sm="12" :lg="8">-->
+        <!--          <el-form-item label="计划单" prop="isPlanOrder">-->
+        <!--            <el-radio-group v-model="mainForm.isPlanOrder">-->
+        <!--              <el-radio :label="true">是</el-radio>-->
+        <!--              <el-radio :label="false">否</el-radio>-->
+        <!--            </el-radio-group>-->
+        <!--          </el-form-item>-->
+        <!--        </el-col>-->
 
         <el-col v-if="mainForm.examineRemark" :xs="24" :sm="24" :lg="24">
           <el-form-item label="审批说明" prop="examineRemark">
@@ -233,8 +233,12 @@
     <div class="main-title">
       <div class="title">货品信息</div>
       <div>
-        <el-select v-model="warehouseValue" placeholder="请选择发货仓库" @change="handleWarehouseValue"
-                   size="small" style="margin-right: 10px"
+        <el-select
+          v-model="warehouseValue"
+          placeholder="请选择发货仓库"
+          @change="handleWarehouseValue"
+          size="small"
+          style="margin-right: 10px"
         >
           <el-option v-for="(item, index) in warehouseList" :key="index" :label="item.name" :value="item.id" />
         </el-select>
@@ -460,7 +464,13 @@
     </div>
 
     <!-- 工程登录列表 -->
-    <el-dialog title="工程登录列表" :visible.sync="isShowDialog" width="70%" :close-on-click-modal="false">
+    <el-dialog
+      title="工程登录列表"
+      append-to-body
+      :visible.sync="isShowDialog"
+      width="70%"
+      :close-on-click-modal="false"
+    >
       <el-form
         ref="screenForm"
         :model="screenForm"
@@ -506,9 +516,8 @@
           <el-table-column align="center" label="" width="100">
             <template slot-scope="scope">
               <el-button type="primary" size="small" @click="chooseItem(scope.row.recordNo, scope.row.userid)"
-              >选择
-              </el-button
-              >
+                >选择
+              </el-button>
             </template>
           </el-table-column>
           <el-table-column align="center" prop="checkTime" label="工程登录日期" show-overflow-tooltip />
@@ -536,7 +545,7 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="添加产品" :visible.sync="isShowGoodsDialog" width="80%">
+    <el-dialog title="添加产品" append-to-body :visible.sync="isShowGoodsDialog" width="80%">
       <el-form ref="goodsScreenForm" :model="goodsScreenForm" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="12" :sm="6" :lg="6">
@@ -646,7 +655,7 @@
         <el-button type="primary" @click="submitAddGoods">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="添加产品" :visible.sync="isSetMaterial" width="80%">
+    <el-dialog title="添加产品" append-to-body :visible.sync="isSetMaterial" width="80%">
       <el-form ref="goodsScreenForm" :model="goodsScreenForm" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="12" :sm="6" :lg="6">
@@ -932,7 +941,7 @@ export default {
       immediate: true,
       deep: true
     },
-    'mainForm.saleType': function(newValue, oldValue) {
+    'mainForm.saleType': function (newValue, oldValue) {
       this.oldSaleType = oldValue
     }
   },
@@ -1061,7 +1070,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.dialogTable_currentPage = 1
       this.getHomeLoginList()
     },

Різницю між файлами не показано, бо вона завелика
+ 231 - 718
src/views/supply/engin/home_list.vue


Деякі файли не було показано, через те що забагато файлів було змінено