From 7d13bbe39257ab5231d062e431fbb920c60d8ed5 Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期二, 19 九月 2023 14:29:01 +0800
Subject: [PATCH] 企业端

---
 platform/src/views/business/goods.vue |   87 +++++++++++--------------------------------
 1 files changed, 23 insertions(+), 64 deletions(-)

diff --git a/platform/src/views/business/goods.vue b/platform/src/views/business/goods.vue
index 8992e61..b7f8046 100644
--- a/platform/src/views/business/goods.vue
+++ b/platform/src/views/business/goods.vue
@@ -1,6 +1,6 @@
 
 <template>
-  <TableLayout :permissions="['business:goods:query']">
+  <TableLayout :permissions="['business:basegoods:query']">
     <!-- 鎼滅储琛ㄥ崟 -->
     <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
       <el-form-item label="鍟嗗搧鍚嶇О" prop="name">
@@ -37,15 +37,17 @@
     </el-form>
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['business:goods:create', 'business:goods:delete']">
-        <li><el-button type="primary" @click="$refs.operaGoodsWindow.open('鏂板缓鍟嗗搧')" icon="el-icon-plus"
-            v-permissions="['business:goods:create']">鏂板缓</el-button></li>
+      <ul class="toolbar" v-permissions="['business:basegoods:create', 'business:basegoods:delete']">
+        <li v-permissions="['business:basegoods:create']">
+          <el-button type="primary" @click="$refs.operaGoodsWindow.open('鏂板缓鍟嗗搧')" icon="el-icon-plus">鏂板缓</el-button>
+        </li>
         <!-- <el-button type="primary" :loading="isWorking.export"
           @click="$refs.selectProduct.open('閫夋嫨骞冲彴鍟嗗搧')">閫夋嫨骞冲彴鍟嗗搧</el-button> -->
-        <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goods:exportExcel']"
-          @click="importFile">瀵煎叆</el-button>
-        <el-button type="primary" :loading="isWorking.export" @click="downloadFile">涓嬭浇妯℃澘</el-button>
-
+        <li v-permissions="['business:basegoods:exportExcel']">
+          <ImportButton text="瀵煎叆" template-name="goods_import_modle.xlsx"
+            template-path="/template/goods_import_modle.xlsx" action="/business/baseGoods/importExcel"
+            @success="search" />
+        </li>
         <el-button type="primary" :loading="isWorking.export" @click="bulkOperation(0)">鎵归噺涓婃灦</el-button>
         <el-button type="primary" :loading="isWorking.export" @click="bulkOperation(1)">鎵归噺涓嬫灦</el-button>
         <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:goods:delete']">鍒犻櫎</el-button></li> -->
@@ -77,17 +79,16 @@
             </el-switch>
           </template>
         </el-table-column>
-        <el-table-column v-if="containPermissions(['business:goods:update', 'business:goods:delete'])" label="鎿嶄綔"
+        <el-table-column v-if="containPermissions(['business:basegoods:update', 'business:basegoods:delete'])" label="鎿嶄綔"
           min-width="120" fixed="right">
           <template slot-scope="{row}">
             <el-button type="text" @click="edit(row.id)" icon="el-icon-edit"
-              v-permissions="['business:goods:update']">缂栬緫</el-button>
+              v-permissions="['business:basegoods:update']">缂栬緫</el-button>
             <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
-              v-permissions="['business:goods:delete']">鍒犻櫎</el-button>
+              v-permissions="['business:basegoods:delete']">鍒犻櫎</el-button>
           </template>
         </el-table-column>
       </el-table>
-      <input type="file" ref="upload" style="display: none;" @change="uplaodFile" />
       <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
       </pagination>
     </template>
@@ -104,12 +105,13 @@
 import Pagination from '@/components/common/Pagination'
 import OperaGoodsWindow from '@/components/business/OperaGoodsWindow'
 import selectProduct from '@/components/business/selectProduct'
+import ImportButton from '@/components/common/ImportButton'
 import { brand, baseCategory, importExcel } from '@/api/system/common.js'
 import { updateStatus, queryById, exportDoc } from '@/api/business/goods.js'
 export default {
   name: 'Goods',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaGoodsWindow, selectProduct },
+  components: { TableLayout, Pagination, OperaGoodsWindow, selectProduct, ImportButton },
   data() {
     return {
       // 鎼滅储
@@ -130,6 +132,12 @@
       ]
     }
   },
+  provide() {
+    return {
+      brandList: () => this.brandList,
+      categoryList: () => this.categoryList
+    }
+  },
   created() {
     this.config({
       module: '鍟嗗搧',
@@ -146,7 +154,6 @@
       let arr = e.map(item => item.id)
       this.ids = arr.join(',')
       this.idList = arr;
-      console.log(this.ids)
     },
     // 鎵归噺涓婁笅鏋�
     bulkOperation(type) {
@@ -175,52 +182,10 @@
     rowStyle() {
       return "text-align:center";
     },
-    importFile() {
-      this.$refs.upload.click()
-    },
-    uplaodFile(e) {
-      const FORMDATE = new FormData()
-      FORMDATE.append('file', e.target.files[0])
-      // 璇锋眰鎺ュ彛
-      importExcel(FORMDATE)
-        .then(res => {
-          console.log(res)
-          this.search()
-        })
-        .catch((err) => {
-          this.$message.error(err.message)
-        })
-      this.$refs.upload.value = null
-    },
     edit(id) {
       queryById(id)
         .then(res => {
-          let obj = {
-            id: res.id,
-            name: res.name,
-            categoryId: res.categoryId,
-            brandId: res.brandId,
-            zdPrice: res.zdPrice,
-            price: res.price,
-            attrFirstIds: res.attrFirstIds ? this.turnNum(res.attrFirstIds.split(',')) : [],
-            attrFirstNames: res.attrFirstNames,
-            attrSecodIds: res.attrSecodIds ? this.turnNum(res.attrSecodIds.split(',')) : [],
-            attrSecodNames: res.attrSecodNames,
-            imgurl: res.imgurl,
-            multifileList: [],
-            files: [],
-            ztList: res.imgurl ? [{ url: res.prefixUrl + res.imgurl }] : [],
-            pzList: [],
-            attrFirstList: [],
-            attrSecodList: []
-          }
-          if (res.multifileList.length > 0) {
-            res.multifileList.forEach(item => {
-              obj.multifileList.push({ fileurl: item.fileurl, name: item.name, url: res.prefixUrl + item.fileurl })
-              obj.files.push({ fileurl: item.fileurl, name: item.name, url: res.prefixUrl + item.fileurl })
-            })
-          }
-          this.$refs.operaGoodsWindow.open('缂栬緫鍟嗗搧', obj)
+          this.$refs.operaGoodsWindow.open('缂栬緫鍟嗗搧', res)
         })
     },
     changeStatus(item) {
@@ -233,14 +198,8 @@
         // this.search()
       })
     },
-    turnNum(nums) {
-      for (let i = 0; i < nums.length; i++) {
-        nums[i] = parseInt(nums[i])
-      }
-      return nums;
-    },
     getbrand() {
-      brand({type:1})
+      brand({ type: 1 })
         .then(res => {
           this.brandList = res
         })

--
Gitblit v1.9.3