Browse Source

建议花材和分类管理

shish 2 years ago
parent
commit
8f8eadecab
2 changed files with 68 additions and 3 deletions
  1. 8 0
      pt/src/service/pt-cp/index.js
  2. 60 3
      pt/src/views/cp/pt-list.vue

+ 8 - 0
pt/src/service/pt-cp/index.js

@@ -2,6 +2,14 @@ import { BaseService, Service } from '@/cool';
 @Service('pt-cp')
 export class CpService extends BaseService {
 
+	batchModifyClass(data) {
+		return this.request({
+			url: '/batch-modify-class',
+			method: 'POST',
+			data: data
+		});
+	}
+
 	addCp(data) {
 		return this.request({
 			url: '/add-cp',

+ 60 - 3
pt/src/views/cp/pt-list.vue

@@ -43,6 +43,22 @@
 				</el-radio-group>
 			</template>
 
+
+			<template #slot-more-do-btn>
+				<el-dropdown size="medium" split-button type="primary" @click="modifyClassFn" @command="doMore">
+				修改分类
+				<el-dropdown-menu slot="dropdown">
+					<el-dropdown-item command="developing">开发中</el-dropdown-item>
+				</el-dropdown-menu>
+				</el-dropdown>
+			</template>
+
+			<template #slot-selected-class="{scope}">
+				<el-select size="medium" v-model="selectedClassName" placeholder="新的分类" style="width:150px;margin-left:20px;" @change="getSeletedClass" clearable>
+					<el-option v-for="item in cpClassData" :key="item.value" :label="item.name" :value="item.id"> </el-option>
+				</el-select>				
+			</template>
+
 			<template #slot-cp-class="{scope}">
 				<el-select size="mini" v-model="currentCpClassName" placeholder="请选分类" style="width:150px;margin-right:10px;" @change="getCpClass" clearable>
 					<el-option v-for="item in cpClassData" :key="item.value" :label="item.name" :value="item.id"> </el-option>
@@ -170,7 +186,10 @@ export default {
 					message: '请选择分类',
 				}
 			},
-			selects:{ids:[]}
+			selects:{ids:[]},
+			selectedIds:[],
+			selectedClassName:'',
+			selectedClassId:''
 		};
 	},
 	computed: {},
@@ -245,6 +264,9 @@ export default {
 				})
 			}
 		},
+		getSeletedClass(e){
+			this.selectedClassId = e
+		},
 		getCpClass(e){
 			this.currentCpClassId = e
 			this.app.refresh({classStyle:this.classStyle,classId:this.currentCpClassId})
@@ -272,6 +294,11 @@ export default {
 			ctx.service(this.$service.ptCp)
 				.set('table', {
 					columns: [
+						{
+							type: 'selection',
+							align: 'center',
+							width: '60'
+						},
 						{
 							prop: 'id',
 							label: 'ID',
@@ -328,7 +355,7 @@ export default {
 					],
 					on: {
 						'selection-change': selection => {
-							this.selects.ids = selection.map(e => e.id)
+							this.selectedIds = selection.map(e => e.id)
 						}
 					},
 					op: {
@@ -357,7 +384,7 @@ export default {
 					['slot-tabs'],
 					['slot-cp-classStyle','slot-cp-class','search-key', 'flex1','slot-add-cp-btn','refresh-btn'],
 					['data-table'],
-					['flex1', 'pagination'],
+					['slot-more-do-btn','slot-selected-class','flex1', 'pagination'],
 				])
 				.done();
 			app.refresh({ classStyle:this.classStyle,classId:this.currentCpClassId })
@@ -373,6 +400,36 @@ export default {
 			this.sort.status = false;
 		},
 		changeSort(d) {
+		},
+		modifyClassFn(){
+			let that = this
+			if (this.$util.isEmpty(this.selectedIds)) {
+				this.$message.error('请选花材')
+				return false
+			}
+			if(this.selectedClassId == 0){
+				this.$message.error('请选修改后的分类')
+				return false
+			}
+			this.$confirm('确认修改?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
+				this.$service.ptCp.batchModifyClass({ids:JSON.stringify(this.selectedIds),classId:this.selectedClassId}).then((res) => {
+					that.$message.success('操作成功')
+					that.selectedClassId = 0
+					that.selectedClassName = ''
+					that.app.refresh({ classStyle:that.classStyle,classId:that.currentCpClassId })
+				})
+			})
+		},
+		doMore(cmd){
+			let that = this
+			if (this.$util.isEmpty(this.selectedIds)) {
+				this.$message.error('请选花材')
+				return false
+			}
+			//删除产品关系
+			if(cmd == 'developing'){
+
+			}
 		}
 	},
 };