Procházet zdrojové kódy

feature:经销商提货列表 预留单列表 工程发货申请单

chenqilong před 2 roky
rodič
revize
6599cff3d7

+ 20 - 2
src/api/supply/pickup.js

@@ -1,4 +1,23 @@
-import request from '@/utils/request'
+import request, { postBlob, handleImport, getBlob } from '@/utils/request'
+
+// 提货-列表V2
+export function pickListV2(data) {
+  return request({
+    url: `/pick/listV2?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+//提货-列表V2导出
+export function pickListV2Export(data, name) {
+  return postBlob({
+    url: '/pick/listV2/export',
+    method: 'post',
+    data,
+    name
+  })
+}
 
 // 获取列表
 export function getPickupList(params) {
@@ -194,4 +213,3 @@ export function getListOrderTrack(params) {
     params
   })
 }
-

+ 34 - 1
src/api/supply/reserve.js

@@ -1,4 +1,37 @@
-import request from '@/utils/request'
+import request, { postBlob, handleImport, getBlob } from '@/utils/request'
+
+// 导入
+export function reserveImportData(data) {
+  return handleImport('/reserve/importData', data.formdata, data.id || '')
+}
+
+// 下载模板
+export function reserveImportDataExcel(data, name) {
+  return getBlob({
+    url: '/reserve/download',
+    data,
+    name
+  })
+}
+
+// 提货-列表V2
+export function reserveListV2(data) {
+  return request({
+    url: `/reserve/listV2?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+//提货-列表V2导出
+export function reserveListV2Export(data, name) {
+  return postBlob({
+    url: '/reserve/listV2/export',
+    method: 'post',
+    data,
+    name
+  })
+}
 
 // 获取列表
 export function getList(params) {

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

@@ -397,7 +397,7 @@ export default {
           examineEngin(params).then(res => {
             this.$successMsg()
             this.goBack()
-            this.$parent.getList()
+            // this.$parent.getList()
           })
         })
         .catch(() => {})

+ 7 - 7
src/views/supply/apply/components/engin_form.vue

@@ -134,7 +134,7 @@
       <el-row :gutter="20">
         <el-col :xs="24" :sm="8" :lg="8">
           <el-form-item label="附件" prop="fileUrl">
-            <fileUpload :fileList="fileList" multiple/>
+            <fileUpload :fileList="fileList" multiple />
           </el-form-item>
         </el-col>
       </el-row>
@@ -269,7 +269,7 @@
       </div>
     </div>
 
-    <el-dialog title="添加引用" :visible.sync="isShowDialog" width="80%">
+    <el-dialog title="添加引用" append-to-body :visible.sync="isShowDialog" width="80%">
       <el-form ref="screenForm" :model="screenForm" size="small" label-position="left" label-width="100px">
         <el-row :gutter="20">
           <el-col :xs="12" :sm="12" :lg="6">
@@ -297,7 +297,7 @@
               <el-date-picker
                 v-model="screenForm.date"
                 type="datetimerange"
-:default-time="['00:00:00','23:59:59']"
+                :default-time="['00:00:00', '23:59:59']"
                 range-separator="至"
                 style="width: 100%; height: 33px"
                 value-format="yyyy-MM-dd HH:mm:ss"
@@ -677,7 +677,7 @@ export default {
           k.name = k.fileName
           k.url = k.fileUrl
         })
-        this.fileList =  data.salesOrderPictures
+        this.fileList = data.salesOrderPictures
         // data.orders.forEach(item => {
         //   item.orderId = item.id;
         // })
@@ -808,7 +808,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.tableGoodsList = []
       // this.getGoodsList();
@@ -960,13 +960,13 @@ export default {
             editEngin(params).then(res => {
               this.$successMsg('编辑成功')
               this.goBack()
-              this.$parent.getList()
+              // this.$parent.getList()
             })
           } else {
             addEngin(params).then(res => {
               this.$successMsg('添加成功')
               this.goBack()
-              this.$parent.getList()
+              // this.$parent.getList()
             })
           }
         }

+ 6 - 6
src/views/supply/apply/components/engin_return_form.vue

@@ -268,7 +268,7 @@
       </div>
     </div>
 
-    <el-dialog title="添加引用" :visible.sync="isShowDialog" width="80%">
+    <el-dialog title="添加引用" append-to-body :visible.sync="isShowDialog" width="80%">
       <el-form ref="screenForm" :model="screenForm" size="mini" label-position="left" label-width="100px">
         <el-row :gutter="20">
           <el-col :xs="12" :sm="12" :lg="6">
@@ -638,7 +638,7 @@ export default {
   methods: {
     // 返回列表
     goBack() {
-      if (this.$parent.isShow) {
+      if (this.isShow) {
         this.$router.replace('/supply/implement/sum_list')
       } else {
         this.$emit('backListFormDetail')
@@ -688,7 +688,7 @@ export default {
           k.name = k.fileName
           k.url = k.fileUrl
         })
-        this.fileList =  data.salesOrderPictures
+        this.fileList = data.salesOrderPictures
         // data.orders.forEach(item => {
         //   item.orderId = item.id;
         // })
@@ -814,7 +814,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       // this.tableGoodsList = [];
       this.getGoodsList()
@@ -975,13 +975,13 @@ export default {
             editEngin(params).then(res => {
               this.$successMsg('编辑成功')
               this.goBack()
-              this.$parent.getList()
+              // this.$parent.getList()
             })
           } else {
             addApplyReturn(params).then(res => {
               this.$successMsg('添加成功')
               this.goBack()
-              this.$parent.getList()
+              // this.$parent.getList()
             })
           }
         }

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 318 - 600
src/views/supply/apply/engin_list.vue


+ 14 - 0
src/views/supply/engin/commerce_list.vue

@@ -8,6 +8,8 @@
     :columnParsing="columnParsing"
     :tableAttributes="tableAttributes"
     :tableEvents="tableEvents"
+    :fieldBeansHook="fieldBeansHook"
+    :operationColumnWidth="200"
   >
     <!-- <EditDateDialog :is-show.sync="isShowEditDateDialog" :date-form.sync="dateForm" /> -->
     <Popu v-if="isShowDetail || isShowForm || isShowExamine || isShowReturn">
@@ -214,6 +216,17 @@ export default {
     selectionChange(data) {
       this.recordSelected = data
     },
+
+    fieldBeansHook(val) {
+      if (this.isCustomer !== '') {
+        let res = val.filter(
+          v => v.jname !== 'refPowerCategory' && v.jname !== 'geLiInerNote' && v.jname !== 'geLiNote'
+        )
+        return res
+      } else {
+        return val
+      }
+    },
     operation() {
       return (h, { row, index, column }) => {
         return (
@@ -461,6 +474,7 @@ export default {
       this.isShowForm = false
       this.isShowExamine = false
       this.isShowReturn = false
+      this.$refs.pageRef.refreshList()
     },
 
     // 申请

+ 10 - 9
src/views/supply/engin/components/commerce_form.vue

@@ -615,10 +615,11 @@ export default {
         newValue.forEach(item => {
           item.dd = (item.price || 0) * (item.qty || 0)
           item.zk = item.qty * item.discAmount
-          item.sf =   (item.price * item.qty * 100 -
-                ((item.price * item.qty * (item.rebateRate * 100)) / 100) * 100 -
-                ((item.qty * (item.discAmount * 100)) / 100) * 100) /
-              100
+          item.sf =
+            (item.price * item.qty * 100 -
+              ((item.price * item.qty * (item.rebateRate * 100)) / 100) * 100 -
+              ((item.qty * (item.discAmount * 100)) / 100) * 100) /
+            100
 
           item.fl = (item.price * item.qty * (item.rebateRate * 100)) / 100
           item.sums1 = [
@@ -632,7 +633,7 @@ export default {
             'retiredQty',
             'zk'
           ]
-          item.sums2 = ['totalAmount', 'dd','fl','sf','payAmount', 'price', 'payRebateAmount', 'discAmount']
+          item.sums2 = ['totalAmount', 'dd', 'fl', 'sf', 'payAmount', 'price', 'payRebateAmount', 'discAmount']
         })
 
         if (this.goodsList && this.goodsList.length) {
@@ -920,7 +921,7 @@ export default {
             customerWalletId: '',
             isDirectTransfer: false,
             directTransferQty: 0,
-            retiredQty:0,
+            retiredQty: 0,
             hasSendQty: 0,
             hasOrderQty: item.hasOrderQty,
             remark: item.remark,
@@ -1098,7 +1099,7 @@ export default {
               editCom(params).then(res => {
                 this.$successMsg('编辑成功')
                 this.goBack()
-                this.$parent.getList()
+                // this.$parent.getList()
               })
             } else {
               params.customerNumber = this.mainForm.jxsNum
@@ -1107,7 +1108,7 @@ export default {
               addCom(params).then(res => {
                 this.$successMsg('新增成功')
                 this.goBack()
-                this.$parent.getList()
+                // this.$parent.getList()
               })
             }
           } else if (type === 2) {
@@ -1117,7 +1118,7 @@ export default {
             submitCom(params).then(res => {
               this.$successMsg('提交审核成功')
               this.goBack()
-              this.$parent.getList()
+              // this.$parent.getList()
             })
           }
         }

+ 3 - 3
src/views/supply/engin/components/home_form.vue

@@ -1577,7 +1577,7 @@ export default {
                 .then(res => {
                   this.$successMsg('编辑成功')
                   this.goBack()
-                  this.$parent.getList()
+                  // this.$parent.getList()
                 })
                 .finally(res => {
                   this.formLoading = false
@@ -1587,7 +1587,7 @@ export default {
                 .then(res => {
                   this.$successMsg('新增成功')
                   this.goBack()
-                  this.$parent.getList()
+                  // this.$parent.getList()
                 })
                 .finally(res => {
                   this.formLoading = false
@@ -1598,7 +1598,7 @@ export default {
               .then(res => {
                 this.$successMsg('提交审核成功')
                 this.goBack()
-                this.$parent.getList()
+                // this.$parent.getList()
               })
               .finally(res => {
                 this.formLoading = false

+ 14 - 2
src/views/supply/engin/home_list.vue

@@ -8,6 +8,8 @@
     :columnParsing="columnParsing"
     :tableAttributes="tableAttributes"
     :tableEvents="tableEvents"
+    :fieldBeansHook="fieldBeansHook"
+    :operationColumnWidth="200"
   >
     <!-- <div slot="moreSearch">
       <ul class="ulStyle">
@@ -250,6 +252,16 @@ export default {
     selectionChange(data) {
       this.recordSelected = data
     },
+    fieldBeansHook(val) {
+      if (this.isCustomer !== '') {
+        let res = val.filter(
+          v => v.jname !== 'refPowerCategory' && v.jname !== 'geLiInerNote' && v.jname !== 'geLiNote'
+        )
+        return res
+      } else {
+        return val
+      }
+    },
     operation() {
       return (h, { row, index, column }) => {
         return (
@@ -314,8 +326,7 @@ export default {
               ''
             )}
 
-            {this.$checkBtnRole('examine', this.$route.meta.roles) &&
-            (row.examineStatus === '保存' || row.examineStatus === '待审核') ? (
+            {this.$checkBtnRole('examine', this.$route.meta.roles) && row.examineStatus === '待审核' ? (
               <el-button
                 size="mini"
                 type="text"
@@ -544,6 +555,7 @@ export default {
       this.isShowForm = false
       this.isShowExamine = false
       this.isShowReturn = false
+      this.$refs.pageRef.refreshList()
     },
 
     // 申请

+ 5 - 5
src/views/supply/pickup/components/pickup_form.vue

@@ -569,9 +569,9 @@ export default {
             }
           }
           if (e == 1) {
-            item.refLinkman = item.copyRefLinkman || item.copyReceivingName  || item.refLinkman 
-            item.refPhone = item.copyRefPhone || item.copyPhone ||  item.refPhone 
-            item.refInstallAddress = item.copyRefInstallAddress || item.copyAddress || item.refInstallAddress 
+            item.refLinkman = item.copyRefLinkman || item.copyReceivingName || item.refLinkman
+            item.refPhone = item.copyRefPhone || item.copyPhone || item.refPhone
+            item.refInstallAddress = item.copyRefInstallAddress || item.copyAddress || item.refInstallAddress
           }
           if (e == 2) {
             item.receivingName = item.copyReceivingName
@@ -933,7 +933,7 @@ export default {
           .then(res => {
             this.$successMsg('提交成功')
             this.goBack()
-            this.$parent.getList()
+            // this.$parent.getList()
           })
           .finally(res => {
             this.formLoading = false
@@ -943,7 +943,7 @@ export default {
           .then(res => {
             this.$successMsg('提交成功')
             this.goBack()
-            this.$parent.getList()
+            // this.$parent.getList()
           })
           .finally(res => {
             this.formLoading = false

+ 137 - 353
src/views/supply/pickup/pickup_list.vue

@@ -1,339 +1,61 @@
 <template>
-  <div class="app-container">
-    <div v-show="!isShowForm">
-      <!-- 筛选条件 -->
-      <div class="screen-container">
-        <Collapse :screen-form="screenForm">
-          <template #right_btn>
-            <el-button size="mini" @click="resetScreenForm">清空</el-button>
-            <el-button type="primary" size="mini" @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="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="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="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="correspondId">
-                    <el-select
-                      v-model="screenForm.correspondId"
-                      placeholder="请选择发货仓库"
-                      size="mini"
-                      style="margin-right: 10px"
-                    >
-                      <el-option
-                        v-for="(item, index) in warehouseList"
-                        :key="index"
-                        :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="status">
-                    <el-select v-model="screenForm.status" placeholder="请选择">
-                      <el-option label="未打单" :value="0" />
-                      <el-option label="已打单" :value="1" />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="手机号" prop="takerPhone">
-                    <el-input
-                      v-model.number="screenForm.takerPhone"
-                      type="number"
-                      placeholder="请输入手机号"
-                      @mousewheel.native.prevent
-                    />
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="提货人" prop="takerId">
-                    <el-select v-model="screenForm.takerId" placeholder="请选择">
-                      <el-option
-                        v-for="item in pickupManList"
-                        :key="item.id"
-                        :label="item.takerName"
-                        :value="item.id"
-                      />
-                    </el-select>
-                  </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-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="打印时间" prop="printTime">
-                    <el-date-picker
-                      v-model="screenForm.printTime"
-                      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="salesOrderId">
-                    <el-input
-                      v-model.number="screenForm.salesOrderId"
-                      type="number"
-                      placeholder="请输入出库单号"
-                      @mousewheel.native.prevent
-                    />
-                  </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
-              v-if="$checkBtnRole('add', $route.meta.roles)"
-              size="mini"
-              type="primary"
-              icon="el-icon-plus"
-              @click="toForm()"
-              >新增</el-button
-            >
-          </div>
-          <div class="fr">
-            <ExportButton :ex-url="'pick/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
-          >
-            <el-table-column align="left" label="状态" min-width="80" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.printNum ? '已打单' : '未打单' }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="是否上楼" prop="isUp" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.isUp == 'YES' ? '是' : '否' }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="是否卸货" prop="isDischarge" min-width="160" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.isDischarge == 'YES' ? '是' : '否' }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="打单日期" prop="printTime" min-width="160" show-overflow-tooltip />
-            <el-table-column align="left" label="信息密钥" prop="informationKey" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.informationKey" />
-                <span>{{ scope.row.informationKey }}</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="refundableQty"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="发货申请单号" prop="invoiceId" min-width="120" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copy-text="scope.row.invoiceId" />
-                <span>{{ scope.row.invoiceId }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="销售订单号" prop="mainOrderId" min-width="140" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton
-                  :copy-text="
-                    scope.row.orderType === 'TRADE' ||
-                    scope.row.orderType === 'HOME' ||
-                    scope.row.orderType === 'REQUISITION_TRADE' ||
-                    scope.row.orderType === 'REQUISITION_HOME'
-                      ? scope.row.enginOrderNo
-                      : scope.row.mainOrderId
-                  "
-                />
-                <span>{{
-                  scope.row.orderType === 'TRADE' ||
-                  scope.row.orderType === 'HOME' ||
-                  scope.row.orderType === 'REQUISITION_TRADE' ||
-                  scope.row.orderType === 'REQUISITION_HOME'
-                    ? scope.row.enginOrderNo
-                    : scope.row.mainOrderId
-                }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="销售类型" prop="saleTypeName" 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="pickTime" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.pickTime | dateToDayFilter }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="提货时段" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.pickStatus == '1' ? '上午' : '下午' }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="提货仓库"
-              prop="correspondName"
-              min-width="100"
-              show-overflow-tooltip
-            />
-            <el-table-column align="left" label="提货方式" prop="pickType" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.pickType == '1' ? '自提' : '物流快递' }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="单据日期" prop="theTime" min-width="120" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.theTime | dateToDayFilter }}
-              </template>
-            </el-table-column>
-
-            <el-table-column align="left" label="备注" prop="remark" min-width="100" show-overflow-tooltip />
-            <el-table-column align="left" label="提货人姓名" prop="takerName" min-width="100" show-overflow-tooltip />
-            <el-table-column align="left" label="提货人电话" prop="takerPhone" min-width="150" show-overflow-tooltip />
-            <el-table-column align="left" label="提货物流" prop="pickLogistics" min-width="200" 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="120" show-overflow-tooltip>
-            <template slot-scope="scope">
-              {{ scope.row.createTime  }}
-            </template>
-          </el-table-column>
-            <el-table-column align="center" label="操作" width="100" fixed="right">
-              <template slot-scope="scope">
-                <el-button type="text" @click="toForm(scope.row, true)">详情</el-button>
-                <el-button
-                  v-if="$checkBtnRole('edit', $route.meta.roles) && !scope.row.printNum"
-                  type="text"
-                  @click="toForm(scope.row)"
-                  >编辑</el-button
-                >
-                <el-popconfirm
-                  v-if="$checkBtnRole('cancel', $route.meta.roles) && ((isDealer && !scope.row.printNum) || !isDealer)"
-                  style="margin-left: 10px"
-                  :title="'确定' + (scope.row.printNum ? '作废' : '取消') + '吗?'"
-                  @onConfirm="handleCancel(scope.row.id)"
-                >
-                  <el-button slot="reference" type="text">{{ scope.row.printNum ? '作废' : '取消' }}</el-button>
-                </el-popconfirm>
-              </template>
-            </el-table-column>
-          </el-table>
-        </div>
-      </div>
-      <div class="pagination clearfix">
-        <div class="fr">
-          <el-pagination
-            :current-page="currentPage"
-            :page-sizes="[10, 20, 30, 50]"
-            :page-size="10"
-            layout="total, sizes, prev, pager, next, jumper"
-            :total="listTotal"
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
-          />
-        </div>
-      </div>
-    </div>
-
-    <PickupForm v-if="isShowForm" :list-item="queryItem" :flag="flag" @backListFormDetail="backList" />
-  </div>
+  <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+    <Popu v-if="isShowForm">
+      <PickupForm :list-item="queryItem" :flag="flag" @backListFormDetail="backList" />
+    </Popu>
+  </template-page>
 </template>
 
 <script>
-import { getPickupList, cancelData, getPickupManList } from '@/api/supply/pickup'
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
+
+import { getPickupList, cancelData, getPickupManList, pickListV2, pickListV2Export } from '@/api/supply/pickup'
 import { getWarehouseList } from '@/api/supply/engin'
 import PickupForm from '@/views/supply/pickup/components/pickup_form'
 
 export default {
   components: {
-    PickupForm
+    PickupForm,
+    TemplatePage,
+    Popu
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: () => {
+                this.toForm()
+              },
+              isRole: this.$checkBtnRole('add', this.$route.meta.roles)
+            }
+          ]
+        ]
+      ],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -386,12 +108,72 @@ export default {
   },
 
   created() {
-    this.getList()
-    this.getWarehouseList()
-    this.getPickupManList()
+    // this.getList()
+    // this.getWarehouseList()
+    // this.getPickupManList()
   },
 
   methods: {
+    // 列表请求函数
+    getList: pickListV2,
+    // 列表导出函数
+    exportList: pickListV2Export,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button
+              size="mini"
+              type="text"
+              onClick={async () => {
+                this.toForm(row, true)
+              }}
+            >
+              详情
+            </el-button>
+
+            {this.$checkBtnRole('edit', this.$route.meta.roles) && !row.printNum ? (
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.toForm(row)
+                }}
+              >
+                编辑
+              </el-button>
+            ) : (
+              ''
+            )}
+
+            {this.$checkBtnRole('cancel', this.$route.meta.roles) &&
+            ((this.isDealer && !row.printNum) || !this.isDealer) ? (
+              <el-popconfirm
+                onOnConfirm={async () => {
+                  this.handleCancel(row.id)
+                }}
+                title={`是否确定需要${row.printNum ? '作废' : '取消'}该项内容?`}
+              >
+                <el-button slot="reference" size="mini" type="text">
+                  {row.printNum ? '作废' : '取消'}
+                </el-button>
+              </el-popconfirm>
+            ) : (
+              ''
+            )}
+          </div>
+        )
+      }
+    },
+
     // 获取仓库列表
     getWarehouseList() {
       getWarehouseList({
@@ -416,33 +198,33 @@ export default {
       })
     },
     // 查询列表
-    getList() {
-      this.listLoading = true
+    // getList() {
+    //   this.listLoading = true
 
-      const params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        invoiceId: this.screenForm.orderNum,
-        customerName: this.screenForm.jxsName,
-        customerNumber: this.screenForm.jxsNum,
-        correspondId: this.screenForm.correspondId,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        status: this.screenForm.status,
-        takerPhone: this.screenForm.takerPhone,
-        takerId: this.screenForm.takerId,
-        createBy: this.screenForm.createBy,
+    //   const params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     invoiceId: this.screenForm.orderNum,
+    //     customerName: this.screenForm.jxsName,
+    //     customerNumber: this.screenForm.jxsNum,
+    //     correspondId: this.screenForm.correspondId,
+    //     startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+    //     endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+    //     status: this.screenForm.status,
+    //     takerPhone: this.screenForm.takerPhone,
+    //     takerId: this.screenForm.takerId,
+    //     createBy: this.screenForm.createBy,
 
-        printStartTime: this.screenForm.printTime[0],
-        printEndTime: this.screenForm.printTime[1],
-        salesOrderId: this.screenForm.salesOrderId
-      }
-      getPickupList(params).then(res => {
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
-    },
+    //     printStartTime: this.screenForm.printTime[0],
+    //     printEndTime: this.screenForm.printTime[1],
+    //     salesOrderId: this.screenForm.salesOrderId
+    //   }
+    //   getPickupList(params).then(res => {
+    //     this.dataList = res.data.records
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    // },
 
     // 提交筛选表单
     submitScreenForm() {
@@ -480,13 +262,15 @@ export default {
     backList() {
       this.queryItem = {}
       this.isShowForm = false
+      this.$refs.pageRef.refreshList()
     },
 
     // 取消/作废
     handleCancel(id) {
       cancelData({ id }).then(res => {
         this.$successMsg()
-        this.getList()
+        // this.getList()
+        this.$refs.pageRef.refreshList()
       })
     }
   }

+ 6 - 5
src/views/supply/reserve/components/reserve_form.vue

@@ -293,7 +293,7 @@
       </div>
     </div>
 
-    <el-dialog title="添加引用" :visible.sync="isShowDialog" width="80%">
+    <el-dialog title="添加引用" append-to-body :visible.sync="isShowDialog" width="80%">
       <el-form ref="screenForm" :model="screenForm" size="small" label-position="left">
         <el-row :gutter="20">
           <el-col :xs="12" :sm="6" :lg="4">
@@ -573,6 +573,7 @@ export default {
     // await this.getWarehouseList();
     // await this.getListStock()
     if (this.listItem) {
+      console.log(this.listItem)
       this.getDetail()
     } else {
       this.mainForm.createMan = JSON.parse(localStorage.getItem('supply_user')).nickName
@@ -695,7 +696,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.dialogGoodsList = []
       this.getGoodsList()
@@ -712,7 +713,7 @@ export default {
 
     // 关闭 弹窗
     closeDialog() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.isShowDialog = false
     },
 
@@ -891,13 +892,13 @@ export default {
             editData(params).then(res => {
               this.$successMsg('编辑成功')
               this.goBack()
-              this.$parent.getList()
+              // this.$parent.getList()
             })
           } else {
             addData(params).then(res => {
               this.$successMsg('添加成功')
               this.goBack()
-              this.$parent.getList()
+              // this.$parent.getList()
             })
           }
         }

+ 181 - 372
src/views/supply/reserve/reserve_list.vue

@@ -1,352 +1,46 @@
 <template>
-  <div class="app-container">
-    <div v-show="!isShowDetail && !isShowForm">
-      <!-- 筛选条件 -->
-      <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 v-model="screenForm.status" @change="getList()" size="mini">
-              <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="85px" size="mini" label-position="left">
-              <el-row :gutter="20">
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="产品名称" prop="goodsName">
-                    <el-input v-model="screenForm.goodsName" placeholder="请输入产品名称"></el-input>
-                  </el-form-item>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="6">
-                  <el-form-item label="物料编码" prop="goodsNum">
-                    <el-input v-model="screenForm.goodsNum" 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 label="销售订单号" prop="saleNum">
-                    <el-input v-model="screenForm.saleNum" 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="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="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="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="updateMan">
-                    <el-input v-model="screenForm.updateMan" placeholder="请输入修改人"></el-input>
-                  </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="warehouse">
-                    <el-select v-model="screenForm.warehouse" placeholder="选择预留仓库" clearable>
-                      <el-option
-                        :label="item.name"
-                        :value="item.id"
-                        v-for="(item, index) in warehouseList"
-                        :key="index"
-                      ></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 flex">
-            <el-button
-              size="mini"
-              type="primary"
-              icon="el-icon-plus"
-              @click="toForm()"
-              v-if="$checkBtnRole('add', $route.meta.roles)"
-              >新增</el-button
-            >
-            <ExportButton class="ml" :exUrl="'reserve/download'" v-if="!isDealer" exText="下载模板" :exParams="{}" />
-            <ImportButton :imUrl="'reserve/importData'" v-if="!isDealer" @importSuccess="getList" />
-          </div>
-          <div class="fr">
-            <ExportButton :exUrl="'reserve/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
-            show-summary
-            :summary-method="$getSummaries"
-          >
-            <!--            <el-table-column type="index" width="50" label="序号"> </el-table-column>-->
-            <el-table-column align="left" label="状态" prop="status" min-width="100" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.status | statusFilter }}
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="预留单号" prop="id" min-width="180" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="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>
-            <el-table-column align="left" label="销售订单号" prop="mainOrderId" min-width="140" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.mainOrderId" />
-                <span>{{ scope.row.mainOrderId }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column align="left" label="订单日期" prop="orderTime" min-width="120" show-overflow-tooltip>
-              <template slot-scope="scope">
-                {{ scope.row.orderTime | dateToDayFilter }}
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="序号"
-              prop="frequency"
-              min-width="50"
-              show-overflow-tooltip
-            ></el-table-column>
-
-            <el-table-column align="left" label="物料编码" prop="materialCode" min-width="120" show-overflow-tooltip>
-              <template slot-scope="scope">
-                <CopyButton :copyText="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 :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="oldNum"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="right"
-              label="预留数量"
-              prop="reservedNum"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="right"
-              label="订单数量"
-              prop="qty"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="预留仓库"
-              prop="correspondName"
-              min-width="100"
-              show-overflow-tooltip
-            ></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="customerNumber"
-              min-width="100"
-              show-overflow-tooltip
-            >
-              <template slot-scope="scope">
-                <CopyButton :copyText="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 :copyText="scope.row.customerName" />
-                <span>{{ scope.row.customerName }}</span>
-              </template>
-            </el-table-column>
-            <el-table-column
-              align="left"
-              label="制表人"
-              prop="createBy"
-              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="updateBy"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="修改日期"
-              prop="updateTime"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="关闭人"
-              prop="closureBy"
-              min-width="100"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column
-              align="left"
-              label="关闭日期"
-              prop="closureTime"
-              min-width="160"
-              show-overflow-tooltip
-            ></el-table-column>
-            <el-table-column align="center" label="操作" width="160" fixed="right">
-              <template slot-scope="scope">
-                <el-button type="text" @click="toForm(scope.row)" v-if="$checkBtnRole('edit', $route.meta.roles)"
-                  >编辑</el-button
-                >
-                <el-button type="text" @click="toDetail(scope.row)">详情</el-button>
-                <el-popconfirm
-                  style="margin-left: 10px"
-                  title="确定关闭吗?"
-                  @onConfirm="handleClose(scope.row.itemId)"
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.status === 1"
-                >
-                  <el-button slot="reference" type="text">关闭</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>
-
-    <ReserveDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
-    <ReserveForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
-  </div>
+  <template-page
+    ref="pageRef"
+    :getList="getList"
+    :operation="operation()"
+    :optionsEvensGroup="optionsEvensGroup"
+    :exportList="exportList"
+    :columnParsing="columnParsing"
+    :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents"
+  >
+    <Popu v-if="isShowForm || isShowDetail">
+      <ReserveDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+      <ReserveForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
+    </Popu>
+  </template-page>
 </template>
 
 <script>
-import { getList, closeData, getWarehouseList } from '@/api/supply/reserve'
+import TemplatePage from '@/components/template/template-page-1.vue'
+import Popu from '@/components/template/popu.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+
+import {
+  getList,
+  closeData,
+  getWarehouseList,
+  reserveListV2,
+  reserveListV2Export,
+  reserveImportData,
+  reserveImportDataExcel
+} from '@/api/supply/reserve'
 import ReserveDetail from '@/views/supply/reserve/components/reserve_detail'
 import ReserveForm from '@/views/supply/reserve/components/reserve_form'
 
 let that
 export default {
+  mixins: [import_mixin],
   components: {
     ReserveDetail,
-    ReserveForm
+    ReserveForm,
+    TemplatePage,
+    Popu
   },
   filters: {
     statusFilter(val) {
@@ -356,6 +50,60 @@ export default {
   },
   data() {
     return {
+      // 事件组合
+      optionsEvensGroup: [
+        [
+          [
+            {
+              name: '新增',
+              click: () => {
+                this.toForm()
+              },
+              isRole: this.$checkBtnRole('add', this.$route.meta.roles)
+            }
+          ]
+        ],
+        [
+          [
+            {
+              name: '下载模板',
+              click: () => {
+                reserveImportDataExcel({}, `${this.$route.meta.title}`)
+                  .then(res => {
+                    this.$message({
+                      message: '下载成功',
+                      type: 'success'
+                    })
+                  })
+                  .catch(err => {
+                    this.$message.error('下载失败')
+                  })
+              },
+              isRole: !this.isDealer
+            }
+          ]
+        ],
+        [
+          [
+            {
+              name: '',
+              render: this.importButton(reserveImportData),
+              isRole: !this.isDealer
+            }
+          ]
+        ]
+      ],
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: true
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      recordSelected: [],
+
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -416,12 +164,71 @@ export default {
   },
 
   created() {
-    this.getWarehouseList()
-    this.getList()
-    console.log(this.$route.meta.roles)
+    // this.getWarehouseList()
+    // this.getList()
+    // console.log(this.$route.meta.roles)
   },
 
   methods: {
+    // 列表请求函数
+    getList: reserveListV2,
+    // 列表导出函数
+    exportList: reserveListV2Export,
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+    operation() {
+      return (h, { row, index, column }) => {
+        return (
+          <div class="operation-btns">
+            <el-button
+              size="mini"
+              type="text"
+              onClick={async () => {
+                this.toDetail(row)
+              }}
+            >
+              详情
+            </el-button>
+
+            {this.$checkBtnRole('edit', this.$route.meta.roles) && !row.printNum ? (
+              <el-button
+                size="mini"
+                type="text"
+                onClick={async () => {
+                  this.toForm(row)
+                }}
+              >
+                编辑
+              </el-button>
+            ) : (
+              ''
+            )}
+
+            {this.$checkBtnRole('examine', this.$route.meta.roles) && row.status === 1 ? (
+              <el-popconfirm
+                onOnConfirm={async () => {
+                  this.handleClose(row.itemId)
+                }}
+                title="是否确定需要关闭该项内容?"
+              >
+                <el-button slot="reference" size="mini" type="text">
+                  关闭
+                </el-button>
+              </el-popconfirm>
+            ) : (
+              ''
+            )}
+          </div>
+        )
+      }
+    },
+
     // 获取仓库列表
     getWarehouseList() {
       getWarehouseList({
@@ -433,36 +240,36 @@ export default {
     },
 
     // 查询列表
-    getList() {
-      this.listLoading = true
+    // getList() {
+    //   this.listLoading = true
 
-      let params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        materialName: this.screenForm.goodsName,
-        materialCode: this.screenForm.goodsNum,
-        customerNumber: this.screenForm.jxsNum,
-        customerName: this.screenForm.jxsName,
-        startTime: this.screenForm.date ? this.screenForm.date[0] : '',
-        endTime: this.screenForm.date ? this.screenForm.date[1] : '',
-        createBy: this.screenForm.createMan,
-        updateBy: this.screenForm.updateMan,
-        id: this.screenForm.orderNum,
-        orderId: this.screenForm.saleNum,
-        specification: this.screenForm.model,
-        status: this.screenForm.status,
-        correspondId: this.screenForm.warehouse
-      }
-      getList(params).then(res => {
-        res.data.records.forEach(item => {
-          item.sums1 = ['oldNum', 'reservedNum', 'qty']
-          item.sums2 = []
-        })
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
-    },
+    //   let params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     materialName: this.screenForm.goodsName,
+    //     materialCode: this.screenForm.goodsNum,
+    //     customerNumber: this.screenForm.jxsNum,
+    //     customerName: this.screenForm.jxsName,
+    //     startTime: this.screenForm.date ? this.screenForm.date[0] : '',
+    //     endTime: this.screenForm.date ? this.screenForm.date[1] : '',
+    //     createBy: this.screenForm.createMan,
+    //     updateBy: this.screenForm.updateMan,
+    //     id: this.screenForm.orderNum,
+    //     orderId: this.screenForm.saleNum,
+    //     specification: this.screenForm.model,
+    //     status: this.screenForm.status,
+    //     correspondId: this.screenForm.warehouse
+    //   }
+    //   getList(params).then(res => {
+    //     res.data.records.forEach(item => {
+    //       item.sums1 = ['oldNum', 'reservedNum', 'qty']
+    //       item.sums2 = []
+    //     })
+    //     this.dataList = res.data.records
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    // },
 
     // 提交筛选表单
     submitScreenForm() {
@@ -472,7 +279,7 @@ export default {
 
     // 重置筛选表单
     resetScreenForm() {
-        this.$refs.screenForm.resetFields()
+      this.$refs.screenForm.resetFields()
       this.currentPage = 1
       this.getList()
     },
@@ -506,13 +313,15 @@ export default {
       this.queryItem = {}
       this.isShowDetail = false
       this.isShowForm = false
+      this.$refs.pageRef.refreshList()
     },
 
     // 关闭
     handleClose(id) {
       closeData({ itemId: id }).then(res => {
         this.$successMsg()
-        this.getList()
+        // this.getList()
+        this.$refs.pageRef.refreshList()
       })
     }
   }

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů