| 
					
				 | 
			
			
				@@ -0,0 +1,163 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="search"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-input placeholder="请输入关键字查询" style="width: 200px" v-model="username"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button type="info" plain style="margin-left: 10px" @click="load(1)">查询</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button type="warning" plain style="margin-left: 10px" @click="reset">重置</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="operation"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button type="primary" plain @click="handleAdd">新增</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button type="danger" plain @click="delBatch">批量删除</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="table"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table :data="tableData" strip @selection-change="handleSelectionChange"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column type="selection" width="55" align="center"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column prop="id" label="序号" width="70" align="center" sortable></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column prop="productTypeName" label="产品类型名称"></el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column label="操作" align="center" width="180"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template v-slot="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-button size="mini" type="primary" plain @click="handleEdit(scope.row)">编辑</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-button size="mini" type="danger" plain @click="del(scope.row.id)">删除</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="pagination"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-pagination 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            background 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @current-change="handleCurrentChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :current-page="pageNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :page-sizes="[5, 10, 20]" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :page-size="pageSize" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            layout="total, prev, pager, next" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :total="total"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-pagination> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-dialog title="" :visible.sync="fromVisible" width="40%" :close-on-click-modal="false" destroy-on-close> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form :model="form" label-width="100px" style="padding-right: 50px" :rules="rules" ref="formRef"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item label="产品类型名称" prop="productTypeName"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-input v-model="form.productTypeName" placeholder="产品类型名称"></el-input> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div slot="footer" class="dialog-footer"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button @click="fromVisible = false">取 消</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button type="primary" @click="save">确 定</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: "Productype", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tableData: [],  // 所有的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pageNum: 1,   // 当前的页码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pageSize: 10,  // 每页显示的个数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      total: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      username: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      fromVisible: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      form: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      user: JSON.parse(localStorage.getItem('xm-user') || '{}'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      rules: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ids: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  created() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.load(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleAdd() {   // 新增数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.form = {}  // 新增数据的时候清空数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.fromVisible = true   // 打开弹窗 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleEdit(row) {   // 编辑数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.form = JSON.parse(JSON.stringify(row))  // 给form对象赋值  注意要深拷贝数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.fromVisible = true   // 打开弹窗 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    save() {   // 保存按钮触发的逻辑  它会触发新增或者更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$refs.formRef.validate((valid) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (valid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$request({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            url: this.form.id ? '/productype/update' : '/productype/add', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            method: this.form.id ? 'PUT' : 'POST', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data: this.form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (res.code === '200') {  // 表示成功保存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.$message.success('保存成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.load(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.fromVisible = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.$message.error(res.msg)  // 弹出错误的信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    del(id) {   // 单个删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$confirm('您确定删除吗?', '确认删除', {type: "warning"}).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$request.delete('/productype/delete/' + id).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (res.code === '200') {   // 表示操作成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.success('操作成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.load(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.error(res.msg)  // 弹出错误的信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleSelectionChange(rows) {   // 当前选中的所有的行数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.ids = rows.map(v => v.id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    delBatch() {   // 批量删除 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!this.ids.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$message.warning('请选择数据') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$confirm('您确定批量删除这些数据吗?', '确认删除', {type: "warning"}).then(response => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$request.delete('/productype/delete/batch', {data: this.ids}).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (res.code === '200') {   // 表示操作成功 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.success('操作成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.load(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.error(res.msg)  // 弹出错误的信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    load(pageNum) {  // 分页查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (pageNum) this.pageNum = pageNum 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$request.get('/productype/selectPage', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          pageNum: this.pageNum, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          pageSize: this.pageSize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          username: this.username, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }).then(res => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.tableData = res.data?.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.total = res.data?.total 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    reset() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.username = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.load(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleCurrentChange(pageNum) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.load(pageNum) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |