瀏覽代碼

Merge branch 'dev' into 'purchaseDev'

Dev

See merge request new-business/drp-web!456
黄梓星 1 年之前
父節點
當前提交
022aec44d7

+ 8 - 0
src/api/business/purchase/apply.js

@@ -57,3 +57,11 @@ export function failDownload(data) {
     responseType: 'blob'
   })
 }
+//收回
+export function oaBack(data) {
+  return request({
+    url: `/oaflow/rollback`,
+    method: "POST",
+    data: data,
+  });
+}

+ 9 - 0
src/api/business/purchase/purchase-order.js

@@ -180,6 +180,14 @@ const downloadFailData = (data) =>{
   });
 }
 
+//收回
+export function oaBack(data) {
+  return request({
+    url: `/oaflow/rollback`,
+    method: "POST",
+    data: data,
+  });
+}
 
 
 export default {
@@ -203,4 +211,5 @@ export default {
   orderExport,
   orderImport,
   downloadFailData,
+  oaBack
 }

+ 21 - 0
src/api/purchase/transferOrder.js

@@ -68,4 +68,25 @@ export function listStAllotItem(pid) {
     url: `/pu/allot/material/byPid/${pid}`,
     method: 'get',
   })
+}
+
+//导入
+export function importData(data) {
+  return request({
+    url: `/pu/allot/importData`,
+    method: 'post',
+    data: data,
+    headers: {
+      'Content-Type': 'multipart/form-data'
+    }
+  })
+}
+
+//收回
+export function oaBack(data) {
+  return request({
+    url: `/oaflow/rollback`,
+    method: "POST",
+    data: data,
+  });
 }

+ 8 - 0
src/api/purchase/workSpace.js

@@ -23,4 +23,12 @@ export function rebacktWork(data) {
     method: 'post',
     data: data
   })
+}
+// 单据概述
+export function getWorkDetailList(data) {
+  return request({
+    url: `oaflow/detail?pageSize=${data.pageSize}&pageNum=${data.pageNum}`,
+    method: 'post',
+    data: data
+  })
 }

+ 9 - 0
src/api/requisition/basic.js

@@ -159,3 +159,12 @@ export function toOA(userName, fdId) {
     method: 'get',
   })
 }
+
+//收回
+export function oaBack(data) {
+  return request({
+    url: `/oaflow/rollback`,
+    method: "POST",
+    data: data,
+  });
+}

+ 26 - 1
src/views/material/requisition/index.vue

@@ -115,6 +115,12 @@
                 @click.stop="deleteRow(scope.row)"
                 v-if="scope.row.status == 0 || scope.row.status == 3"
               >删除</el-button>
+              <el-button 
+                v-if="scope.row.status == '1'" 
+                type="text" 
+                size="mini"
+                @click.stop="handleBack(scope.row)"
+              >流程收回</el-button>
             </template>
           </el-table-column>
         </el-super-table>
@@ -138,7 +144,7 @@
 
 <script>
   import addReq from './add.vue';
-  import {getReqList, delReq, importData, fileImport,betchSubmit,toOA} from '@/api/requisition/basic';
+  import {getReqList, delReq, importData, fileImport,betchSubmit,toOA,oaBack} from '@/api/requisition/basic';
   import {saveAs} from "file-saver";
   import { blobValidate } from "@/utils/ruoyi";
   import { SearchColumns, TableColumns } from './columns';
@@ -469,6 +475,25 @@
       //   this.queryParams.pageNum = val
       //   this.getList(this.queryParams)
       // }
+      //流程收回
+      async handleBack(row){
+        try {
+          const { msg, code } = await oaBack({
+            fdTemplateId: '1873b5ce924f9cc37c06e884b1e9ee26',
+            fdId: row.oaId,
+            billCode: row.code,
+            billMaker: row.createBy
+          });
+          if (code === 200) {
+            this.$emit("success");
+            this.$notify.success(msg);
+          }
+        } catch (err) {
+          console.error(err);
+        } finally {
+          this.getList(this.queryParams);
+        }
+      },
     }
   }
 </script>

+ 1 - 1
src/views/purchase/DemandSummary/index.vue

@@ -294,7 +294,7 @@
           </el-table-column>
           <el-table-column show-overflow-tooltip v-if="showColumn.demandCycle" label="需求可用周期" align="center" prop="demandCycle" width="50px">
             <template slot-scope="scope">
-              {{scope.row.demandCycle ? parseFloat(scope.row.demandCycle).toFixed(1) : '0.0'}}
+              {{scope.row.demandCycle ? parseFloat(scope.row.demandCycle).toFixed(1) : '-'}}
             </template>
           </el-table-column>
           <el-table-column show-overflow-tooltip v-if="showColumn.dullQut" label="呆滞量" align="center" prop="dullQut" width="50px">

+ 2 - 2
src/views/purchase/PurchaseDemandList/index.vue

@@ -209,7 +209,7 @@
             <el-button type="text" size="mini" @click="check(scope.row)">查看</el-button>
             <el-button type="text" size="mini" v-if="scope.row.status == '0' || scope.row.status == '3' || scope.row.status == '9'" @click="edit(scope.row)">编辑</el-button>
             <el-button type="text" size="mini" v-if="scope.row.status == '0' || scope.row.status == '3' || scope.row.status == '9'" @click="commit(scope.row)">提交</el-button>
-            <!-- <el-button type="text" size="mini" v-if="scope.row.status == '1' && scope.row.flowId" @click="reback(scope.row)">收回</el-button> -->
+            <el-button type="text" size="mini" v-if="scope.row.status == '1' && scope.row.flowId" @click="reback(scope.row)">收回</el-button>
             <el-button type="text" size="mini" v-if="scope.row.status == '0' || scope.row.status == '3' || scope.row.status == '9'" @click="deleteids(scope.row)">删除</el-button>
           </template>
         </el-table-column>
@@ -687,7 +687,7 @@ export default {
     // 流程收回
     reback(row) {
       this.$modal.loading("收回中...");
-      let params = {billCode: row.code, fdId: row.flowId, fdTemplateId: '18804432233a7813df7921d436ab69b7' }
+      let params = {billCode: row.code, fdId: row.flowId, fdTemplateId: '18804432233a7813df7921d436ab69b7',billMaker: row.createBy }
       rebacktWork(params).then(res => {
         if (res.code === 200) {
           this.$modal.notifySuccess("收回成功");

+ 18 - 4
src/views/purchase/apply/index.vue

@@ -1,7 +1,7 @@
 <script>
   import {dicts} from "./dicts";
   import useColumns from "./columns";
-  import {LIST, mbDownload, failDownload} from "@/api/business/purchase/apply";
+  import {LIST, mbDownload, failDownload,oaBack} from "@/api/business/purchase/apply";
   // 导入的token
   import {getToken} from "@/utils/auth";
 
@@ -172,8 +172,22 @@
         this.upload.open = true
       },
       // 收回
-      reback(row) {
-        console.log(row)
+      async reback(row) {
+        try {
+          const { msg, code } = await oaBack({
+            fdTemplateId: '188095a870d007772057d7d4ffaad3c7',
+            fdId: row.flowId,
+            billCode: row.priceCode,
+            billMaker: row.createBy
+          });
+          if (code === 200) {
+            this.$emit("success");
+            this.$notify.success(msg);
+          }
+        } catch (err) {
+          console.error(err);
+        } finally {
+        }
       },
     },
   };
@@ -268,7 +282,7 @@
         width="100"
         >
         <template slot-scope="scope">
-          <!-- <el-button type="text" size="mini" v-if="scope.row.status == '1' && scope.row.flowId" @click="reback(scope.row)">收回</el-button> -->
+          <el-button type="text" size="mini" v-if="scope.row.status == '1' && scope.row.flowId" @click="reback(scope.row)">收回</el-button>
         </template>
       </el-table-column>
     </el-super-table>

+ 25 - 1
src/views/purchase/purchase-order/index.vue

@@ -408,7 +408,25 @@ export default {
       })
      
     },
-
+    //流程收回
+    async handleBack(row){
+      try {
+        const { msg, code } = await orderApi.oaBack({
+          fdTemplateId: '1880447a834addc648b3763477a9b09f',
+          fdId: row.flowId,
+          billCode: row.code,
+          billMaker: row.createBy
+        });
+        if (code === 200) {
+          this.$emit("success");
+          this.$notify.success(msg);
+        }
+      } catch (err) {
+        console.error(err);
+      } finally {
+        this.fetchList(this.params, this.page);
+      }
+    },
     // 判断“整单退回”按钮
     judgeIsAllReturn() {
       if (this.checkedList.length == 1) {
@@ -757,6 +775,12 @@ export default {
                 @click.stop="handleSubmit(scope.row)"
               >提交</el-button>
               <el-button 
+                v-if="scope.row.status == '1'" 
+                type="text" 
+                size="mini"
+                @click.stop="handleBack(scope.row)"
+              >流程收回</el-button>
+              <el-button 
                 v-if="scope.row.flowId && scope.row.flowId !== '' && scope.row.status !== '9'" 
                 type="text" 
                 size="mini"

+ 3 - 10
src/views/purchase/transferOrder/add.vue

@@ -12,7 +12,6 @@
           <el-col :span="1.5">
             <el-form-item label="单据日期">
               <el-date-picker clearable :disabled="sonDisable" v-model="basicForm.billDate" size="mini" type="date"
-                @change="changeBillDate"
                 value-format="yyyy-MM-dd"
                 style="width: 200px"
               >
@@ -401,7 +400,7 @@
                     </el-form-item>
                   </template>
                 </el-table-column>
-                <el-table-column
+                <!-- <el-table-column
                   show-overflow-tooltip
                   label="调拨日期"
                   align="center"
@@ -423,7 +422,7 @@
                       </el-date-picker>
                     </el-form-item>
                   </template>
-                </el-table-column>
+                </el-table-column> -->
                 <el-table-column
                   show-overflow-tooltip
                   label="调拨出库单号"
@@ -1559,12 +1558,6 @@ export default {
     }
   },
   methods: {
-    // 改变单据日期时清空子表的调拨日期
-    changeBillDate() {
-      this.basicForm.materialInfo.forEach((item) => {
-        item.allotDate = null;
-      });
-    },
     // 控制先选调出库存组织和调入库存组织再选调出部门和调入调出仓库
     controlCk(val) {
       if (val = '调出库存组织') {console.log("进了吗");}
@@ -1640,7 +1633,7 @@ export default {
       if (this.basicForm.materialInfo.length !== 0) {
         this.basicForm.materialInfo.forEach((item) => {
           if (item.allotDate) {
-            item.allotDate = new Date();
+            item.allotDate = null;
           }
           if (item.deliveryCode) {
             item.deliveryCode = "";

+ 83 - 2
src/views/purchase/transferOrder/index.vue

@@ -72,7 +72,22 @@
 
       
         <div class="btn_grooup">
-          <el-button type="primary" size="mini" @click="addOrder">新增</el-button>
+          <el-button-group>
+            <el-button type="primary" size="mini" @click="addOrder">新增</el-button>
+          </el-button-group>
+          <!-- <el-button-group>
+            <el-dropdown @command="btnImport">
+              <el-button type="primary" size="mini">
+                导入<i class="el-icon-arrow-down el-icon--right"></i>
+              </el-button>
+              <el-dropdown-menu slot="dropdown">
+                <el-button size="mini" type="primary" @click="useImportTemplate">模板下载</el-button>
+                <el-upload ref="upload" action="" :http-request="onUpload">
+                  <el-button size="mini" type="primary">数据导入</el-button>
+                </el-upload>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-button-group> -->
         </div>
 
         <el-table 
@@ -136,6 +151,7 @@
             <el-button type="text" size="mini" @click="check(scope.row)">查看</el-button>
             <el-button type="text" size="mini" v-if="scope.row.status == '0' || scope.row.status == '3'" @click="edit(scope.row)">编辑</el-button>
             <el-button type="text" size="mini" v-if="scope.row.status == '0' || scope.row.status == '3'" @click="commit(scope.row)">提交</el-button>
+            <el-button type="text" size="mini" v-if="scope.row.status == '1'" @click="handleBack(scope.row)">流程收回</el-button>
             <el-button type="text" size="mini" v-if="scope.row.status == '0' || scope.row.status == '3'" @click="deleteids(scope.row)">删除</el-button>
           </template>
         </el-table-column>
@@ -335,7 +351,7 @@
 import Add from './add.vue'
 import CollapseTransition from '@/components/MyCollapse/collapse.vue'
 import Refers from '@/components/Refers/refers.vue'
-import {getOrderList, delOrder, submitOrder,listStAllotItem } from '@/api/purchase/transferOrder.js'
+import {getOrderList, delOrder, submitOrder,listStAllotItem,importData,oaBack } from '@/api/purchase/transferOrder.js'
 export default {
   name: 'transferOrder',
   dicts: ['sys_allot_billtype'],
@@ -577,6 +593,62 @@ export default {
         this.queryParams.createBy = selection[0].code
       }
     },
+    //导入按钮
+    btnImport(command){
+      if(command == 'useImportTemplate'){
+        this.useImportTemplate();
+      }
+      if(command == 'useImportData'){
+        this.useImportData();
+      }
+    },
+    //模板下载
+    useImportTemplate(){
+      this.download('pu/allot/importTemplate', {
+      }, `调拨单导入模板_${new Date().getTime()}.xlsx`)
+    },
+    //导入
+    useImportData(){
+      console.log("导入");
+    },
+    // 上传文件
+    onUpload (file) {
+      let formData = new FormData()
+      formData.append('file',file.file)
+      importData(formData).then((res) => {
+        console.log('res',res);
+        if(res.code == '200'){
+          this.$message.success(res.msg);
+        }else{
+          this.$message.success(res.msg);
+        }
+      }).catch((e) => {
+        console.log('e',e);
+        this.$message.error(e.message)
+      }).finally((e) => {
+        this.$refs['upload'].clearFiles();
+      })
+    },
+    //流程收回
+    async handleBack(row){
+      try {
+        const { msg, code } = await oaBack({
+          fdTemplateId: '188095b2398846ad82cad7a46ef9a971',
+          fdId: row.oaId,
+          billCode: row.code,
+          billMaker: row.createBy
+        });
+        if (code === 200) {
+          this.$emit("success");
+          this.$notify.success(msg);
+        }
+      } catch (err) {
+        console.error(err);
+      } finally {
+        this.getList(this.queryParams);
+      }
+    },
+
   }
 
 }
@@ -611,4 +683,13 @@ export default {
 .exporttable {
   border: solid 1px #c0c0c0;
  }
+.el-dropdown {
+  vertical-align: top;
+}
+.el-dropdown + .el-dropdown {
+  margin-left: 15px;
+}
+.el-icon-arrow-down {
+  font-size: 12px;
+}
 </style>

+ 205 - 7
src/views/purchase/workSpace/index.vue

@@ -50,7 +50,7 @@
         @row-dblclick="doubleClick"
         ref="tables"
       >
-        <el-table-column type="selection" width="55" />
+        <!-- <el-table-column type="selection" width="55" /> -->
         <el-table-column label="序号" type="index" align="center" width="50px"/>
         <el-table-column show-overflow-tooltip label="标题" align="center" prop="docSubject"/>
         <el-table-column show-overflow-tooltip label="创建人" align="center" prop="docCreate"/>
@@ -78,12 +78,59 @@
         :total=total>
       </el-pagination>
 
+      <el-card class="box-card" style="margin-top: 10px;">
+        <div slot="header" class="clearfix">
+          <span>单据概述</span>
+        </div>
+        <el-table
+          :data="sonTableList" 
+          fit
+          :cell-style="{ borderColor: '#c0c0c0' }"
+          :header-cell-style="{ borderColor: '#c0c0c0' }"
+          class="exporttable"
+          max-height="410"
+          border
+          highlight-current-row
+          style="font-size: 12px;"
+        >
+          <el-table-column label="序号" type="index" align="center" width="50px"/>
+            <el-table-column v-for="(col,index) in cols" :key="index"
+              :prop="col.prop"
+              :label="col.label"
+              :formatter="col.formatter"
+            >
+            </el-table-column>
+          <!-- <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode"/>
+          <el-table-column show-overflow-tooltip label="物料名称" align="center" prop="materialName"/>
+          <el-table-column show-overflow-tooltip label="规格" align="center" prop="specification"/>
+          <el-table-column show-overflow-tooltip label="型号" align="center" prop="model"/>
+          <el-table-column show-overflow-tooltip label="单位" align="center" prop="unitName"/>
+          <el-table-column show-overflow-tooltip label="生产厂家/代理人" align="center" prop="manufacturerName"/>
+          <el-table-column show-overflow-tooltip label="调出仓库" align="center" prop="deliveryWarehouseName"/>
+          <el-table-column show-overflow-tooltip label="调出货位" align="center" prop="deliveryAllocationName"/>
+          <el-table-column show-overflow-tooltip label="数量" align="center" prop="qty"/>
+          <el-table-column show-overflow-tooltip label="调入仓库" align="center" prop="storageWarehouseName"/>
+          <el-table-column show-overflow-tooltip label="调入货位" align="center" prop="storageAllocationName"/> -->
+        </el-table>
+
+        <el-pagination
+          background
+          @size-change="sonSizeChange"
+          @current-change="sonCurrentChange"
+          :current-page="sonQuery.pageNum"
+          :page-sizes="[10, 20, 50, 100, 200, 500]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total=sonTotal>
+        </el-pagination>
+      </el-card>
+
     </el-card>
   </div>
 </template>
 
 <script>
-import { getWorkSpaceList, auditWork } from '@/api/purchase/workSpace.js'
+import { getWorkSpaceList, auditWork, getWorkDetailList } from '@/api/purchase/workSpace.js'
 export default {
   name: 'workSpace',
   dicts: ['oa_templete_id'],
@@ -98,7 +145,30 @@ export default {
       loading: false,
       tableList: [],
       total: 0,
-      ids: []
+      ids: [],
+      sonTableList: [],
+      sonQuery: {
+        pageNum: 1,
+        pageSize: 10
+      },
+      sonTotal: 0,
+      checkRow: {
+        billCode: '',
+        type: ''
+      },
+      cols: [
+        {label: '物料编码',  prop: 'materialCode'},
+        {label: '物料名称',  prop: 'materialName'},
+        {label: '规格',  prop: 'specification'},
+        {label: '型号',  prop: 'model'},
+        {label: '单位',  prop: 'unitName'},
+        {label: '生产厂家/代理人',  prop: 'manufacturerName'},
+        {label: '调出仓库',  prop: 'deliveryWarehouseName'},
+        {label: '调出货位',  prop: 'deliveryAllocationName'},
+        {label: '数量',  prop: 'qty'},
+        {label: '调入仓库',  prop: 'storageWarehouseName'},
+        {label: '调入货位',  prop: 'storageAllocationName'},
+      ]
     }
   },
   created() {
@@ -134,11 +204,113 @@ export default {
       this.ids = selection
       // console.log('选中数组', this.ids.join())
     },
-    rowSelect(row) {
-      this.$refs.tables.toggleRowSelection(row);
-    },
     doubleClick(row) {
-      this.check(row)
+      // this.$refs.tables.toggleRowSelection(row);
+      this.rowSelect(row)
+    },
+    rowSelect(row) {
+      // this.check(row)
+      // 选择行存储便于子表分页
+      this.checkRow = row
+      // 采购需求单
+      if(row.type == 'PU_DEMAND_RULE') {
+        this.cols = [
+          {label: '物料编码',  prop: 'materialCode'},
+          {label: '物料名称',  prop: 'materialName'},
+          {label: '规格',  prop: 'specification'},
+          {label: '型号',  prop: 'model'},
+          {label: '单位',  prop: 'unitName'},
+          {label: '生产厂家/代理人',  prop: 'manufacturerName'},
+          {label: '实际(业务)需求量',  prop: 'qty'},
+          {label: '月均销量',  prop: 'averageQtyMonth'},
+          {label: '需求可用周期',  prop: 'demandPeriod'},
+          {label: '业务备注',  prop: 'remark'},
+          {label: '紧急标识',  prop: 'isUrgency',
+            formatter: function(row, column, cellValue, index) {
+              return row.isUrgency == 'Y' ? '是' : '否'
+            }
+          },
+          {label: '补单标识',  prop: 'isReplenishment',
+            formatter: function(row, column, cellValue, index) {
+              return row.isReplenishment == 'Y' ? '是' : '否'
+            }
+          },
+        ]
+        // 调拨订单
+      } else if (row.type == 'ALLOT_RULE') {
+        this.cols = [
+          {label: '物料编码',  prop: 'materialCode'},
+          {label: '物料名称',  prop: 'materialName'},
+          {label: '规格',  prop: 'specification'},
+          {label: '型号',  prop: 'model'},
+          {label: '单位',  prop: 'unitName'},
+          {label: '生产厂家/代理人',  prop: 'manufacturerName'},
+          {label: '调出仓库',  prop: 'deliveryWarehouseName'},
+          {label: '调出货位',  prop: 'deliveryAllocationName'},
+          {label: '数量',  prop: 'qty'},
+          {label: '调入仓库',  prop: 'storageWarehouseName'},
+          {label: '调入货位',  prop: 'storageAllocationName'},
+        ]
+        // 物料申请单
+      } else if (row.type == 'MATERIAL_APPLY_RULE') {
+        this.cols = [
+          {label: '物料一级分类',  prop: 'classOneName'},
+          {label: '物料基本分类',  prop: 'classifyName'},
+          {label: '物料名称',  prop: 'materialName'},
+          {label: '型号',  prop: 'model'},
+          {label: '规格',  prop: 'specification'},
+          {label: '生产厂家/代理人',  prop: 'manufacturerName'},
+          {label: '注册证号',  prop: 'registrationNo'},
+          {label: '注册人',  prop: 'registrant'},
+          {label: '存储条件',  prop: 'storageCondition'},
+          {label: '运输条件',  prop: 'transportationCondition'},
+          {label: '是否医药物料',  prop: 'isMedicine',
+            formatter: function(row, column, cellValue, index) {
+              return row.isMedicine == '0' ? '是' : '否'
+            }
+          },
+          {label: '是否药品',  prop: 'isDrug',
+            formatter: function(row, column, cellValue, index) {
+              return row.isDrug == '0' ? '是' : '否'
+            }
+          },
+        ]
+        // 价格申报单
+      } else if (row.type == 'PU_PRICE_APPLY_RULE') {
+        this.cols = [
+          {label: '物料编码',  prop: 'materialCode'},
+          {label: '物料名称',  prop: 'materialName'},
+          {label: '型号',  prop: 'model'},
+          {label: '规格',  prop: 'specification'},
+          {label: '生产厂家/代理人',  prop: 'manufacturerName'},
+          {label: '含税单价',  prop: 'taxPrice'},
+          {label: '最近价格',  prop: 'recentlyPrice'},
+          {label: '单价差',  prop: 'priceDiffer'},
+          {label: '客户',  prop: 'customerName'},
+          {label: '供应商名称1',  prop: 'supplierName1'},
+          {label: '单价1',  prop: 'unitPrice1'},
+        ]
+        // 采购订单
+      } else if (row.type == 'PU_ORDER_RULE') {
+        this.cols = [
+          {label: '收货客户',  prop: 'customerName'},
+          {label: '物料编码',  prop: 'materialCode'},
+          {label: '物料名称',  prop: 'materialName'},
+          {label: '生产厂家',  prop: 'manufacturerName'},
+          {label: '医药物料',  prop: 'isMedcine'},
+          {label: '数量',  prop: 'qty'},
+          {label: '含税单价',  prop: 'taxPrice'},
+          {label: '价税合计',  prop: 'money'},
+          {label: '赠品',  prop: 'isGift',
+            formatter: function(row, column, cellValue, index) {
+              return row.isGift == 'Y' ? '是' : '否'
+            }        
+          },
+          {label: '折扣%',  prop: 'nitemdiscountrate'},
+          {label: '价格类型',  prop: 'priceType'},
+        ]
+      }
+      this.getDetailList(this.checkRow)
     },
     audits() {
       if(this.ids.length == 0) {
@@ -184,6 +356,32 @@ export default {
       this.queryParams.pageNum = val
       this.getList(this.queryParams)
     },
+    sonSizeChange(val) {
+      this.sonQuery.pageSize = val
+      this.getDetailList(this.checkRow)
+    },
+    sonCurrentChange(val) {
+      this.sonQuery.pageNum = val
+      this.getDetailList(this.checkRow)
+    },
+    // 获取单据概述列表
+    getDetailList (row) {
+      this.$modal.loading("加载中...");
+      let param = {
+        billCode: row.billCode,
+        type: row.type,
+        ...this.sonQuery
+      }
+      getWorkDetailList(param).then(res => {
+        if(res.code === 200) {
+          this.sonTableList = res.rows
+          this.sonTotal = res.total
+          this.$modal.closeLoading();
+        }
+      }).catch(err => {
+        this.$modal.closeLoading();
+      })
+    },
   }
 }
 </script>