| 
					
				 | 
			
			
				@@ -92,13 +92,23 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <el-card class="operate-container" shadow="never"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <i class="el-icon-tickets"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <span>数据列表</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="btn-operate-wrap"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         v-if="createproduct" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        class="btn-add" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="btn-add btn-operate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         @click="handleAddProduct()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         size="mini"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="btn-operate" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="handleImport()" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size="mini"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        导入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="table-container"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-table ref="productTable" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -306,6 +316,37 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <el-button type="primary" @click="handleEditSkuConfirm">确 定</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 用户导入对话框 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-upload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ref="upload" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :limit="1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        accept=".xlsx, .xls" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :headers="upload.headers" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :action="upload.url + '?updateSupport=' + upload.updateSupport" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :disabled="upload.isUploading" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :on-progress="handleFileUploadProgress" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :on-success="handleFileSuccess" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :auto-upload="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        drag 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <i class="el-icon-upload"></i> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="el-upload__text"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          将文件拖到此处,或 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <em>点击上传</em> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="el-upload__tip" slot="tip"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-upload> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div slot="footer" class="dialog-footer"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button type="primary" @click="submitFileForm">确 定</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button @click="upload.open = false">取 消</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -321,7 +362,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import {fetchList as fetchProductAttrList} from '@/api/productAttr'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import {fetchList as fetchBrandList} from '@/api/brand'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import {fetchListWithChildren} from '@/api/productCate'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import {selectCompList} from '@/api/product'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import {selectCompList,exportDefaultProductExcel} from '@/api/product'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import {verifyproduct,delproduct,updateproduct,createproduct} from '@/api/permissions'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const defaultListQuery = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     keyword: null, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -341,6 +382,21 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     name: "productList", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 用户导入参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        upload: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 是否显示弹出层(用户导入) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          open: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 弹出层标题(用户导入) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 是否禁用上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          isUploading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 是否更新已经存在的用户数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          updateSupport: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 设置上传的请求头部 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // headers: { Authorization: "Bearer " + getToken() }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 上传的地址 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          url: process.env.BASE_API + "/product/import" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         rangeTime:'',//时间区间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //按钮权限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         createproduct, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -762,6 +818,38 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.listQuery.startTime =  formatDate(startDate, 'yyyy-MM-dd hh:mm:ss'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.listQuery.endTime =  formatDate(endDate, 'yyyy-MM-dd hh:mm:ss'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //上传 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      handleImport() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.upload.title = "数据导入"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.upload.open = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      /** 下载模板操作 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    importTemplate() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // exportDefaultProductExcel().then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   this.exportExcel(response, '商品模版'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // }).catch(err =>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      //   console.log('exportDefaultProductExcel',err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.download('/product/out', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, `产品导入_${new Date().getTime()}.xlsx`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 文件上传中处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleFileUploadProgress(event, file, fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.upload.isUploading = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 文件上传成功处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleFileSuccess(response, file, fileList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.upload.open = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.upload.isUploading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.upload.clearFiles(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$alert(response.message, "导入结果", { dangerouslyUseHTMLString: true }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 提交上传文件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    submitFileForm() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.upload.submit(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |