From dcf9c9e0410fe1186239e3f8d6f7bdc789c08010 Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期三, 05 六月 2024 18:00:39 +0800
Subject: [PATCH] 1

---
 src/views/console/system/add-scope-manager.vue |  130 +++++++++++++++++++++++-------------------
 1 files changed, 71 insertions(+), 59 deletions(-)

diff --git a/src/views/console/system/add-scope-manager.vue b/src/views/console/system/add-scope-manager.vue
index 51b0ce8..c7b49ff 100644
--- a/src/views/console/system/add-scope-manager.vue
+++ b/src/views/console/system/add-scope-manager.vue
@@ -3,43 +3,44 @@
 		<el-form :model="addDictForm" :rules="addDictRules" :disabled="mode=='show'" ref="dialogForm" label-width="120px" label-position="center">
 			<el-row>
 				<el-col :span="12">
-					<el-form-item label="鏉冮檺鍚嶇О" prop="scopeName">
-						<el-input v-model="addDictForm.scopeName" placeholder="鏉冮檺鍚嶇О" clearable></el-input>
+					<el-form-item label="鏉冮檺鍚嶇О" prop="deptName">
+						<el-input v-model="addDictForm.deptName" placeholder="鏉冮檺鍚嶇О" clearable></el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="鏉冮檺缂栧彿" prop="resourceCode">
-						<el-input v-model="addDictForm.resourceCode" placeholder="鏉冮檺缂栧彿" clearable></el-input>
+					<el-form-item label="鏉冮檺鎻忚堪" prop="fullName">
+						<el-input v-model="addDictForm.fullName" placeholder="鏉冮檺鎻忚堪" clearable></el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="鏉冮檺瀛楁" prop="scopeColumn">
-						<el-input v-model="addDictForm.scopeColumn" placeholder="鏉冮檺瀛楁" clearable></el-input>
+					<el-form-item label="涓婄骇鏉冮檺">
+						<el-tree-select
+							@change = "parentIdChange"
+						    v-model="addDictForm.parentId"
+						    clearable
+							node-key="id"
+						    placeholder="涓婄骇鏉冮檺"
+							ref="parentTree"
+						    :data="parentIdList"
+						    check-strictly
+						    :props="{ label: 'title' }"
+						    style="width:100%;"
+						    :render-after-expand="false" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
-					<el-form-item label="瑙勫垯鍒嗙被" prop="scopeType">
-						<el-select v-model="addDictForm.scopeType" style="width: 100%" @change="scopeTypeNameChange" placeholder="瑙勫垯鍒嗙被">
-							<el-option v-for="item in scopeTypeNameList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+					<el-form-item label="鏉冮檺绫诲瀷" pros="deptCategory">
+						<el-select v-model="addDictForm.deptCategory" placeholder="璇烽�夋嫨鏉冮檺绫诲瀷" style="width: 100%" @change="deptCategoryChange">
+							<el-option v-for="item in deptCategoryList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
 						</el-select>
 					</el-form-item>
 				</el-col>
-				<el-col :span="24">
-					<el-form-item label="鍙瀛楁" prop="scopeField">
-						<el-input v-model="addDictForm.scopeField" placeholder="鍙瀛楁" clearable></el-input>
+				<el-col :span="12">
+					<el-form-item label="鎺掑簭" prop="sort">
+						<el-input v-model="addDictForm.sort" placeholder="鎺掑簭" clearable></el-input>
 					</el-form-item>
 				</el-col>
-				<el-col :span="24">
-					<el-form-item label="鏉冮檺绫诲悕" prop="scopeClass">
-						<el-input v-model="addDictForm.scopeClass" placeholder="鏉冮檺绫诲悕" clearable></el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="24">
-					<el-form-item label="瑙勫垯鍊�" v-if="addDictForm.scopeType == '5'">
-						<el-input type="textarea" v-model="addDictForm.scopeValue" placeholder="瑙勫垯鍊�" clearable></el-input>
-					</el-form-item>
-				</el-col>
-				<el-col :span="24">
+				<el-col :span="12">
 					<el-form-item label="澶囨敞">
 						<el-input v-model="addDictForm.remark" placeholder="澶囨敞" clearable></el-input>
 					</el-form-item>
@@ -47,8 +48,8 @@
 			</el-row>
 		</el-form>
 		<template #footer>
+			<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="dictSubmit">淇� 瀛�</el-button>
 			<el-button @click="visible=false" >鍙� 娑�</el-button>
-			<el-button v-if="mode!='show'" type="primary" :loading="isSaveing" @click="dictSubmit()">淇� 瀛�</el-button>
 		</template>
 	</el-dialog>
 </template>
@@ -56,8 +57,11 @@
 <script>
 	export default {
 		emits: ['success', 'closed'],
+		props: ["deptCategoryList","parentIdList"],
 		data() {
 			return {
+				deptCategoryList: [],
+				parentIdList: [],
 				value1: true,
 				mode: "add",
 				titleMap: {
@@ -69,24 +73,21 @@
 				isSaveing: false,
 				//琛ㄥ崟鏁版嵁
 				addDictForm: {
-					$scopeType: "",
-					scopeName: "宸ヤ綔鍙癧鏆傛棤]",
-					resourceCode: "",
-					scopeColumn: "",
-					scopeType: "",
-					scopeField: "",
-					scopeClass: "",
+					$deptCategory: "",
+					$parentId: "",
+					deptCategory: "",
+					deptName: "",
+					fullName: "",
+					parentId: "",
 					remark: "",
-					scopeValue: ""
+					sort: ""
 				},
 				//楠岃瘉瑙勫垯
 				addDictRules: {
-					scopeName:[{required: true, message: '璇疯緭鍏ユ潈闄愬悕绉�'}],
-					resourceCode:[{required: true, message: '璇疯緭鍏ユ潈闄愮紪鍙�'}],
-					scopeColumn:[{required: true, message: '璇疯緭鍏ユ潈闄愬瓧娈�'}],
-					scopeType:[{required: true, message: '璇疯緭鍏ヨ鍒欏垎绫�',trigger: 'change'}],
-					scopeField:[{required: true, message: '璇疯緭鍏ュ彲瑙佸瓧娈�'}],
-					scopeClass:[{required: true, message: '璇疯緭鍏ユ潈闄愮被鍚�'}],
+					deptName:[{required: true, message: '璇疯緭鍏ユ潈闄愬悕绉�'}],
+					fullName:[{required: true, message: '璇疯緭鍏ユ潈闄愭弿杩�'}],
+					deptCategory:[{required: true, message: '璇疯緭鍏ユ潈闄愮被鍨�',trigger: 'change'}],
+					sort:[{required: true, message: '璇疯緭鍏ユ帓搴�'}]
 				},
 				//鎵�闇�鏁版嵁閫夐」
 				groups: [],
@@ -103,30 +104,27 @@
 			}
 		},
 		mounted() {
-			// this.getDept()
+			// this.getParentIdList();  //涓婄骇鏉冮檺list
+			// this.getDictionary();  //鏉冮檺绫诲瀷list
 		},
-		props: ['scopeTypeNameList','tableRow'],
 		methods: {
-			scopeTypeNameChange(value) {
-				this.scopeTypeNameList.forEach(item=> {
+			parentIdChange(value) {
+				var $parentId = this.$refs.parentTree.getCurrentNode().title;
+				this.addDictForm.$parentId = $parentId;
+			},
+			deptCategoryChange(value) {
+				this.deptCategoryList.forEach(item=> {
 					if(item.dictKey == value) {
-						this.addDictForm.scopeName = `宸ヤ綔鍙癧${item.dictValue}]`;
-						this.addDictForm.$scopeType = item.dictValue;
+						this.addDictForm.$deptCategory = item.dictValue;
 					}
 				})
-				if(value == "2") {
-					this.addDictForm.scopeColumn = 'create_user';
-				}else if(value == "3" || value == "4") {
-					this.addDictForm.scopeColumn = 'create_dept';
-				}else {
-					this.addDictForm.scopeColumn = "";
-				}
 			},
 			//鏄剧ず
-			open(mode='add'){
+			open(parentIdList,deptCategoryList,mode='add'){
 				this.mode = mode;
+				this.parentIdList = parentIdList;
+				this.deptCategoryList = deptCategoryList;
 				this.visible = true;
-				this.addDictForm.resourceCode = this.tableRow.alias;
 				return this
 			},
 			//鍔犺浇鏍戞暟鎹�
@@ -138,14 +136,30 @@
 				var res = await this.$API.system.dept.list.get();
 				this.depts = res.data;
 			},
+			getDetail(id,fixed) {
+				this.$HTTP.get(`/api/blade-system/data-scope-manager/detail?id=${id}`).then(res=> {
+					if(res.code == 200) {
+						//鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
+						res.data.parentId == 0?res.data.parentId = "":res.data.parentId;
+						res.data.$parentId = res.data.parentName;
+						res.data.$deptCategory = res.data.deptCategoryName;
+						res.data.deptCategory = String(res.data.deptCategory);
+						if(fixed) { //鏂板瀛愰」
+							this.addDictForm.parentId = id;
+						}else {
+							Object.assign(this.addDictForm, res.data);
+						}
+						console.log(res.data.parentId,res.data.$parentId)
+					}
+				})
+			},
 			//琛ㄥ崟鎻愪氦鏂规硶
 			dictSubmit(){
-				this.addDictForm.menuId = this.tableRow.id;
-				var obj = Object.assign({},this.addDictForm);
+				var obj = Object.assign({},this.addDictForm);;
 				this.$refs.dialogForm.validate(async (valid) => {
 					if (valid) {
 						this.isSaveing = true;
-						this.$HTTP.post("/api/blade-system/data-scope/submit",obj).then(res=> {
+						this.$HTTP.post("/api/blade-system/data-scope-manager/submit",obj).then(res=> {
 							this.isSaveing = false;
 							if(res.code == 200) {
 								this.$emit('success', this.addDictForm, this.mode);
@@ -162,9 +176,7 @@
 			},
 			//琛ㄥ崟娉ㄥ叆鏁版嵁
 			setData(data){
-				data.scopeType = String(data.scopeType);
-				//鍙互鍜屼笂闈竴鏍峰崟涓敞鍏ワ紝涔熷彲浠ュ儚涓嬮潰涓�鏍风洿鎺ュ悎骞惰繘鍘�
-				Object.assign(this.addDictForm, data);
+				this.getDetail(data.id,data.fixed);
 			}
 		}
 	}

--
Gitblit v1.9.3