From b28a825dd4dee120f70398308c04cf97fa0688d8 Mon Sep 17 00:00:00 2001
From: lzhe <181968431@qq.com>
Date: 星期一, 01 四月 2024 23:35:53 +0800
Subject: [PATCH] 1

---
 src/views/console/system/addMenu.vue |   12 ++
 src/views/console/system/addDict.vue |   97 ++++++------------
 src/router/index.js                  |    2 
 src/views/console/system/dict.vue    |  102 ++++++++++---------
 src/views/console/system/menu.vue    |   38 ++++++-
 5 files changed, 130 insertions(+), 121 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index 7ba9ab5..d0735c0 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -81,7 +81,7 @@
 		if (to.matched.length == 0) {
 			router.push(to.fullPath);
 		}
-		console.log(menuRouter,router,8899)
+		console.log(menuRouter,router)
 		isGetRouter = true;
 	}
 	beforeEach(to, from)
diff --git a/src/views/console/system/addDict.vue b/src/views/console/system/addDict.vue
index e37b9dc..9a0a522 100644
--- a/src/views/console/system/addDict.vue
+++ b/src/views/console/system/addDict.vue
@@ -1,37 +1,37 @@
 <template>
 	<el-dialog :title="titleMap[mode]" v-model="visible" :width="800" destroy-on-close @closed="$emit('closed')">
-		<el-form :model="form" :rules="rules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center">
+		<el-form :model="addDictForm" :rules="addDictRules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center">
 			<el-row>
 				<el-col :span="24">
-					<el-form-item label="瀛楀吀缂栧彿" prop="userName">
-						<el-input v-model="form.userName" placeholder="瀛楀吀缂栧彿" clearable></el-input>
+					<el-form-item label="瀛楀吀缂栧彿" prop="code">
+						<el-input v-model="addDictForm.code" placeholder="瀛楀吀缂栧彿" clearable></el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="瀛楀吀鍚嶇О" prop="name">
-						<el-input v-model="form.name" placeholder="瀛楀吀鍚嶇О" clearable></el-input>
+					<el-form-item label="瀛楀吀鍚嶇О" prop="dictValue">
+						<el-input v-model="addDictForm.dictValue" placeholder="瀛楀吀鍚嶇О" clearable></el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="瀛楀吀鎺掑簭" prop="name">
-						<el-input v-model="form.name" placeholder="瀛楀吀鎺掑簭" clearable></el-input>
+					<el-form-item label="瀛楀吀鎺掑簭" prop="sort">
+						<el-input v-model="addDictForm.sort" placeholder="瀛楀吀鎺掑簭" clearable></el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="灏佸瓨" prop="name">
-						<el-switch v-model="value1" />
+					<el-form-item label="灏佸瓨">
+						<el-switch v-model="addDictForm.isSealed" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="瀛楀吀澶囨敞" prop="name">
-						<el-input v-model="form.name" placeholder="瀛楀吀澶囨敞" clearable></el-input>
+					<el-form-item label="瀛楀吀澶囨敞">
+						<el-input v-model="addDictForm.remark" placeholder="瀛楀吀澶囨敞" clearable></el-input>
 					</el-form-item>
 				</el-col>
 			</el-row>
 		</el-form>
 		<template #footer>
 			<el-button @click="visible=false" >鍙� 娑�</el-button>
-			<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="submit()">淇� 瀛�</el-button>
+			<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="dictSubmit()">淇� 瀛�</el-button>
 		</template>
 	</el-dialog>
 </template>
@@ -51,50 +51,18 @@
 				visible: false,
 				isSaveing: false,
 				//琛ㄥ崟鏁版嵁
-				form: {
-					id:"",
-					userName: "",
-					avatar: "",
-					name: "",
-					dept: "",
-					group: []
+				addDictForm: {
+					code: "",
+					dictValue: "",
+					sort: "",
+					isSealed: "",
+					remark: ""
 				},
 				//楠岃瘉瑙勫垯
-				rules: {
-					avatar:[
-						{required: true, message: '璇蜂笂浼犲ご鍍�'}
-					],
-					userName: [
-						{required: true, message: '璇疯緭鍏ョ櫥褰曡处鍙�'}
-					],
-					name: [
-						{required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�'}
-					],
-					password: [
-						{required: true, message: '璇疯緭鍏ョ櫥褰曞瘑鐮�'},
-						{validator: (rule, value, callback) => {
-							if (this.form.password2 !== '') {
-								this.$refs.dialogForm.validateField('password2');
-							}
-							callback();
-						}}
-					],
-					password2: [
-						{required: true, message: '璇峰啀娆¤緭鍏ュ瘑鐮�'},
-						{validator: (rule, value, callback) => {
-							if (value !== this.form.password) {
-								callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
-							}else{
-								callback();
-							}
-						}}
-					],
-					dept: [
-						{required: true, message: '璇烽�夋嫨鎵�灞為儴闂�'}
-					],
-					group: [
-						{required: true, message: '璇烽�夋嫨鎵�灞炶鑹�', trigger: 'change'}
-					]
+				addDictRules: {
+					code:[{required: true, message: '璇疯緭鍏ュ瓧鍏哥紪鍙�'}],
+					dictValue:[{required: true, message: '璇疯緭鍏ュ瓧鍏稿悕绉�'}],
+					sort:[{required: true, message: '璇疯緭鍏ュ瓧鍏告帓搴�'}]
 				},
 				//鎵�闇�鏁版嵁閫夐」
 				groups: [],
@@ -131,19 +99,20 @@
 				this.depts = res.data;
 			},
 			//琛ㄥ崟鎻愪氦鏂规硶
-			submit(){
+			dictSubmit(){
 				this.$refs.dialogForm.validate(async (valid) => {
 					if (valid) {
 						this.isSaveing = true;
-						var res = await this.$API.demo.post.post(this.form);
-						this.isSaveing = false;
-						if(res.code == 200){
-							this.$emit('success', this.form, this.mode)
-							this.visible = false;
-							this.$message.success("鎿嶄綔鎴愬姛")
-						}else{
-							this.$alert(res.message, "鎻愮ず", {type: 'error'})
-						}
+						this.$HTTP.post("/api/blade-system/dict/submit",this.addDictForm).then(res=> {
+							this.isSaveing = false;
+							if(res.code == 200) {
+								this.$emit('success', this.addDictForm, this.mode);
+								this.visible = false;
+								this.$message.success("鎿嶄綔鎴愬姛");
+							}else {
+								this.$alert(res.message, "鎻愮ず", {type: 'error'});
+							}
+						})
 					}else{
 						return false;
 					}
diff --git a/src/views/console/system/addMenu.vue b/src/views/console/system/addMenu.vue
index 0d9761b..f94a368 100644
--- a/src/views/console/system/addMenu.vue
+++ b/src/views/console/system/addMenu.vue
@@ -97,6 +97,7 @@
 		emits: ['success', 'closed'],
 		data() {
 			return {
+				fixed: false,
 				parentData: {},
 				categoryList: [
 					{label: 0,id: "0",value: "APP"},
@@ -168,6 +169,7 @@
 			parentIdChange(val) {
 				var $parentId = this.$refs.parentTree.getCurrentNode().title;
 				this.formAddMenu.$parentId = $parentId;
+				alert(4)
 			},
 			belongApplicationChange(val) {
 				var $belongApplication =  this.applicationList.find(option=>option.code === val).name;
@@ -240,9 +242,15 @@
 			},
 			//琛ㄥ崟娉ㄥ叆鏁版嵁
 			setData(data){
+				if(data.parentId == "0") {
+					data.parentId = "";
+				}
 				//鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
-				console.log(data)
-				Object.assign(this.formAddMenu, data)
+				if(data.fixed) { //鏂板瀛愰」
+					this.formAddMenu.parentId = data.id;
+				}else {
+					Object.assign(this.formAddMenu, data);
+				}
 			}
 		}
 	}
diff --git a/src/views/console/system/dict.vue b/src/views/console/system/dict.vue
index 92e39e1..2f05ad4 100644
--- a/src/views/console/system/dict.vue
+++ b/src/views/console/system/dict.vue
@@ -10,21 +10,17 @@
 	<div class="dict-main">
 		<el-form :inline="true" :model="searchData" abel-width="120px">
 			<el-form-item label="瀛楀吀缂栧彿">
-				<el-input v-model="searchData.test" placeholder="瀛楀吀缂栧彿" clearable />
+				<el-input v-model="searchData.code" placeholder="瀛楀吀缂栧彿" clearable />
 			</el-form-item>
 			<el-form-item label="瀛楀吀鍚嶇О">
-				<el-select
-					v-model="searchData.test"
-					placeholder="瀛楀吀鍚嶇О"
-					clearable
-				>
+				<el-select v-model="searchData.dictValue" placeholder="瀛楀吀鍚嶇О" clearable>
 					<el-option label="Zone one" value="shanghai" />
 					<el-option label="Zone two" value="beijing" />
 				</el-select>
 			</el-form-item>
 			<el-form-item>
-				<el-button type="primary" @click="searchBtn">鎼滅储</el-button>
-				<el-button @click="searchBtn">娓呯┖</el-button>
+				<el-button type="primary" @click="searchclick">鎼滅储</el-button>
+				<el-button @click="searchClearBtn">娓呯┖</el-button>
 			</el-form-item>
 		</el-form>
 		<div>
@@ -37,10 +33,14 @@
 			<div class="dict-table">
 				<el-table ref="multipleTableRef" :data="tableData" border style="width: 100%" class="multipleTableRef" @selection-change="handleSelectionChange">
 					<el-table-column type="selection" width="55" />
-					<el-table-column prop="date" label="瀛楀吀缂栧彿"></el-table-column>
-					<el-table-column prop="name" label="瀛楀吀鍚嶇О"></el-table-column>
-					<el-table-column prop="name" label="瀛楀吀鎺掑簭"></el-table-column>
-					<el-table-column prop="name" label="灏佸瓨"></el-table-column>
+					<el-table-column prop="code" label="瀛楀吀缂栧彿"></el-table-column>
+					<el-table-column prop="dictValue" label="瀛楀吀鍚嶇О"></el-table-column>
+					<el-table-column prop="sort" label="瀛楀吀鎺掑簭"></el-table-column>
+					<el-table-column prop="isSealed" label="灏佸瓨">
+						<template #default="scope">
+							<div>{{scope.row.isSealed == 0?"鍚�":"鏄�"}}</div>
+						</template>
+					</el-table-column>
 					<el-table-column fixed="right" label="鎿嶄綔">
 						<template #default="scope">
 							<el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">鏌ョ湅</el-button>
@@ -51,19 +51,20 @@
 					</el-table-column>
 				</el-table>
 				<el-pagination
+					style="margin-top: 12px;"
 					@size-change="handleSizeChange"
 					@current-change="handleCurrentChange"
 					:current-page="currentPage4"
-					:page-sizes="[100, 200, 300, 400]"
-					:page-size="100"
+					:page-sizes="[15, 50, 100]"
+					:page-size="15"
 					layout="total, sizes, prev, pager, next, jumper"
-					:total="400">
+					:total="total">
 				</el-pagination>
 			</div>
 		</div>
 	</div>
 	
-	<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSuccess" @closed="dialog.save=false"></save-dialog>
+	<save-dialog v-if="dialog.save" ref="saveDialog" @success="addDictSuccess" @closed="dialog.save=false"></save-dialog>
 	<allocation-dialog v-if="dialog.allocation" ref="allocationDialog" @success="handleSuccess" @closed="dialog.allocation=false"></allocation-dialog>
 </template>
 <script>
@@ -73,8 +74,12 @@
 		name: "allocation",
 		data(){
 			return {
+				total: 0,
 				searchData: {
-					test: ""
+					code: "",
+					dictValue: "",
+					current: "1",
+					size: "15"
 				},
 				dialog: {
 					save: false,
@@ -87,48 +92,44 @@
 					label: '榛勯噾绯�'
 				}],
 				input3: '',
-				tableData: [{
-					date: '2016-05-02',
-					name: '鐜嬪皬铏�',
-					province: '涓婃捣',
-					city: '鏅檧鍖�',
-					address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
-					zip: 200333
-					}, {
-					date: '2016-05-04',
-					name: '鐜嬪皬铏�',
-					province: '涓婃捣',
-					city: '鏅檧鍖�',
-					address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�',
-					zip: 200333
-					}, {
-					date: '2016-05-01',
-					name: '鐜嬪皬铏�',
-					province: '涓婃捣',
-					city: '鏅檧鍖�',
-					address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�',
-					zip: 200333
-					}, {
-					date: '2016-05-03',
-					name: '鐜嬪皬铏�',
-					province: '涓婃捣',
-					city: '鏅檧鍖�',
-					address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�',
-					zip: 200333
-				}]
+				tableData: []
 			}
 		},
 		created(){
 			
 		},
 		mounted(){
-			
+			this.searchBtn();
 		},
 		components: {
 			saveDialog,allocationDialog
 		},
 		methods: {
-			searchBtn() {},
+			addDictSuccess(addDictForm) {
+				this.searchClearBtn();
+			},
+			searchClearBtn() {
+				this.searchData = {
+					code: "",
+					dictValue: "",
+					current: "1",
+					size: "15"
+				}
+				this.searchBtn();
+			},
+			searchclick() {
+				this.searchData.current = "1";
+				this.searchData.size = "15";
+				this.searchBtn();
+			},
+			searchBtn() {
+				this.$HTTP.get("/api/blade-system/dict/parent-list",this.searchData).then(res=> {
+					if(res.code == 200) {
+						this.tableData = res.data.records;
+						this.total = res.data.total;
+					}
+				})
+			},
 			//瀛楀吀閰嶇疆
 			table_allocation(row) {
 				this.dialog.allocation = true;
@@ -172,9 +173,14 @@
 			},
 			handleSizeChange(val) {
 				console.log(`姣忛〉 ${val} 鏉);
+				this.searchData.current = "1";
+				this.searchData.size = val;
+				this.searchBtn();
 			},
 			handleCurrentChange(val) {
 				console.log(`褰撳墠椤�: ${val}`);
+				this.searchData.current = val;
+				this.searchBtn();
 			}
 		}
 	}
diff --git a/src/views/console/system/menu.vue b/src/views/console/system/menu.vue
index 4fd6ad5..ea69a17 100644
--- a/src/views/console/system/menu.vue
+++ b/src/views/console/system/menu.vue
@@ -72,7 +72,7 @@
 							<el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">鏌ョ湅</el-button>
 							<el-button type="text" size="small" @click="table_edit(scope.row, scope.$index)">缂栬緫</el-button>
 							<el-button text type="primary" size="small" @click="table_del(scope.row, scope.$index)">鍒犻櫎</el-button>
-							<el-button text type="primary" size="small" @click="addPerson(scope.row, scope.$index)">鏂板瀛愰」</el-button>
+							<el-button text type="primary" size="small" @click="table_edit(scope.row, scope.$index,'fixed')">鏂板瀛愰」</el-button>
 						</template>
 					</el-table-column>
 				</el-table>
@@ -88,6 +88,7 @@
 		name: "allocation",
 		data(){
 			return {
+				selection: [],
 				applicationList: [],
 				searchData: {
 					name: "",
@@ -123,7 +124,7 @@
 		methods: {
 			handleSuccess(formAddMenu) {
 				this.searchData.parentId = formAddMenu.parentId;
-				this.searchBtn();
+				this.searchClearBtn();
 			},
 			tableLoad(row,treeNode,resolve) {
 				this.searchData.parentId= row.id;
@@ -177,7 +178,7 @@
 					this.$HTTP.post("/api/blade-system/menu/remove?ids="+row.id).then(res=> {
 						if(res.code == 200) {
 							that.$message.success("鎿嶄綔鎴愬姛");
-							that.searchBtn();
+							that.searchclick();
 						}
 					})
 				}).catch(() => {
@@ -191,12 +192,15 @@
 					this.$refs.saveDialog.open()
 				})
 			},
-			table_edit(row){
+			table_edit(row,index,fixed){
 				this.dialog.save = true
 				this.$HTTP.get("/api/blade-system/menu/detail?id="+row.id).then(res=> {
 					if(res.code == 200) {
 						this.dialog.save = true;
 						this.$nextTick(() => {
+							if(fixed) {  //鍒ゆ柇鏂板瀛愰」
+								res.data.fixed = "fixed";
+							}
 							this.$refs.saveDialog.open('edit').setData(res.data);
 						})
 					}
@@ -209,8 +213,30 @@
 					this.$refs.saveDialog.open('show').setData(row)
 				})
 			},
-			handleSelectionChange() {},
-			delPerson() {},
+			handleSelectionChange(selection) {
+				this.selection = selection;
+			},
+			delPerson() {
+				if(this.selection.length == 0) {
+					this.$message({
+			          message: '璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�',
+			          type: 'warning'
+			        });
+			        return;
+				}
+				var selStr = "";
+				this.selection.map(item=> {
+					selStr += item.id + ","
+				})
+				selStr = selStr.replace(/,$/, '');
+				var that = this;
+				this.$HTTP.post("/api/blade-system/menu/remove?ids="+selStr).then(res=> {
+					if(res.code == 200) {
+						that.$message.success("鎿嶄綔鎴愬姛");
+						that.searchclick();
+					}
+				})
+			},
 			changeDepartment() {
 				this.departmentVisible = true;
 			},

--
Gitblit v1.9.3