From 2c841bc48f45eec08b41feebfa03de79666f940c Mon Sep 17 00:00:00 2001
From: lzhe <181968431@qq.com>
Date: 星期一, 13 五月 2024 23:07:23 +0800
Subject: [PATCH] 1

---
 src/views/console/system/meta-object-type/index.vue |  136 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 114 insertions(+), 22 deletions(-)

diff --git a/src/views/console/system/meta-object-type/index.vue b/src/views/console/system/meta-object-type/index.vue
index f705868..94c556e 100644
--- a/src/views/console/system/meta-object-type/index.vue
+++ b/src/views/console/system/meta-object-type/index.vue
@@ -15,47 +15,99 @@
 		<div class="aposcope-right">
 			<div class="right-content">
 				<div class="content-title"><span>*</span>鎵�鍦ㄧ墿鐞嗚〃</div>
-				<el-select v-model="metaForm.tableName" style="width: 30%" :disabled="isDis">
+				<el-select v-model="metaForm.tableName" :disabled="isDis">
 					<el-option v-for="item in tableNameList" :key="item.tableName" :label="item.tableName" :value="item.tableName"/>
 				</el-select>
 			</div>
 			<div class="right-content">
 				<div class="content-title"><span>*</span>瀛楁1</div>
-				<el-select v-model="metaForm.refCode" style="width: 30%">
-					<el-option v-for="item in testList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+				<el-select v-model="metaForm.refCode" :disabled="isDis">
+					<el-option v-for="item in refCodeList" :key="item.columnName" :label="item.columnName" :value="item.columnName"/>
 				</el-select>
 			</div>
 			<div class="right-content">
 				<div class="content-title"><span>*</span>瀛楁2</div>
-				<el-select v-model="metaForm.refName" style="width: 30%">
-					<el-option v-for="item in testList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+				<el-select v-model="metaForm.refName" :disabled="isDis">
+					<el-option v-for="item in refCodeList" :key="item.columnName" :label="item.columnName" :value="item.columnName"/>
 				</el-select>
 			</div>
 			<div class="right-content">
 				<div class="content-title">缂栫爜瀛楁</div>
-				<el-select v-model="metaForm.test" style="width: 30%">
-					<el-option v-for="item in testList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+				<el-select v-model="metaForm.test">
+					<el-option v-for="item in refCodeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
 				</el-select>
 			</div>
 			<div class="right-content">
 				<div class="content-title">鍙傛暟璁剧疆</div>
-				<el-button type="primary">娣诲姞鍙傛暟</el-button>
+				<el-button type="primary" @click="addParameter" :disabled="isAdd">娣诲姞鍙傛暟</el-button>
 			</div>
 			<el-table ref="searchDataListRef" :data="searchDataList" border style="width: 100%;margin-top: 20px;" class="multipleTableRef">
-				<el-table-column prop="fcode" label="瀛楁缂栫爜"></el-table-column>
-				<el-table-column prop="fname" label="瀛楁鏍囬"></el-table-column>
-				<el-table-column prop="field" label="瀹炰綋灞炴��"></el-table-column>
-				<el-table-column prop="elementTypeName" label="鍏冪礌绫诲瀷"></el-table-column>
-				<el-table-column prop="enumType" label="鏋氫妇绫诲瀷"></el-table-column>
-				<el-table-column prop="seq" label="瀛楁椤哄簭"></el-table-column>
-				<el-table-column prop="refObjectTypeId" label="寮曠敤鍏崇郴"></el-table-column>
+				<el-table-column prop="fcode" label="瀛楁缂栫爜">
+					<template #default="scope">  
+						<el-select v-if="scope.row.isEdit" v-model="tableForm.fcode">
+							<el-option v-for="item in refCodeList" :key="item.columnName" :label="item.columnName" :value="item.columnName"/>
+						</el-select>
+						<div v-else>{{scope.row.fcode}}</div>
+					</template>
+				</el-table-column>
+				<el-table-column prop="fname" label="瀛楁鏍囬">
+					<template #default="scope">
+						<el-input v-if="scope.row.isEdit" v-model="tableForm.fname"></el-input>  
+						<div v-else>{{scope.row.fname}}</div>
+					</template>
+				</el-table-column>
+				<el-table-column prop="field" label="瀹炰綋灞炴��">
+					<template #default="scope">
+						<el-input v-if="scope.row.isEdit" v-model="tableForm.field"></el-input>  
+						<div v-else>{{scope.row.field}}</div>
+					</template>
+				</el-table-column>
+				<el-table-column prop="elementTypeName" label="鍏冪礌绫诲瀷">
+					<template #default="scope"> 
+						<el-select v-if="scope.row.isEdit" v-model="tableForm.elementTypeName">
+							<el-option v-for="item in dictionaryType" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+						</el-select> 
+						<div v-else>{{scope.row.elementTypeName}}</div>
+					</template>
+				</el-table-column>
+				<el-table-column prop="enumType" label="鏋氫妇绫诲瀷">
+					<template #default="scope">
+						<el-select v-if="scope.row.isEdit" v-model="tableForm.enumType" disabled>
+							<el-option v-for="item in testList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+						</el-select> 
+						<div v-else>{{scope.row.enumType}}</div>
+					</template>
+				</el-table-column>
+				<el-table-column prop="seq" label="瀛楁椤哄簭">
+					<template #default="scope">
+						<el-input-number v-if="scope.row.isEdit" scope.row.isEdit v-model="tableForm.seq" :min="0" :max="99" style="width:100%;"/>
+						<div v-else>{{scope.row.seq}}</div>
+					</template>
+				</el-table-column>
+				<el-table-column prop="refObjectTypeId" label="寮曠敤鍏崇郴">
+					<template #default="scope">
+						<el-select v-if="scope.row.isEdit" v-model="tableForm.refObjectTypeId" disabled>
+							<el-option v-for="item in testList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+						</el-select>   
+						<div v-else>{{scope.row.refObjectTypeId}}</div>
+					</template>
+				</el-table-column>
 				<el-table-column label="鎿嶄綔">
 					<template #default="scope">
-						<el-icon><Edit /></el-icon>
-						<el-icon><Edit /></el-icon>
+						<div v-if="scope.row.isEdit">
+							<el-button size="small" type="primary" @click="comfirmTable">纭畾</el-button>
+							<el-button size="small" @click="cancelTable">鍙栨秷</el-button>
+						</div>
+						<div v-else>
+							<el-icon class="operationIcon"><Edit /></el-icon>
+							<el-icon class="operationIcon"><Delete /></el-icon>
+						</div>
 					</template>
 				</el-table-column>
 			</el-table>
+			<div class="saveBtn">
+				<el-button type="primary" @click="saveBtn">淇濆瓨</el-button>
+			</div>
 		</div>
 	</div>
 </template>
@@ -69,9 +121,21 @@
 		name: "metaObject",
 		data(){
 			return {
-				isDis: true,
 				testList: [],
+				tableForm: {
+					fcode: "",
+					fname: "",
+					field: "",
+					elementTypeName: "",
+					enumType: "",
+					seq: 0,
+					refObjectTypeId: ""
+				},
+				inputValue: "",
+				isAdd: false,
+				isDis: true,
 				tableNameList: [],
+				refCodeList: [],
 				metaForm: {
 					tableName: "",
 					refCode: "",
@@ -109,6 +173,21 @@
 			...ElementPlusIconsVue
 		},
 		methods: {
+			saveBtn() {
+
+			},
+			comfirmTable() {
+				this.cancelTable();  //杩樺師
+				this.searchDataList.unshift(this.tableForm);
+			},
+			cancelTable() {
+				this.searchDataList.splice(0,1);
+				this.isAdd = false;
+			},
+			addParameter() {
+				this.isAdd = true;
+				this.searchDataList.unshift({isEdit: true});
+			},
 			getDictionary() {  //瀛楀吀绫诲瀷
 				this.$HTTP.get("/api/blade-system/dict/dictionary?code=element_type").then(res=> {  //鐗╃悊琛�
 					if(res.code == 200) {
@@ -129,7 +208,7 @@
 				})
 				this.$HTTP.get("/api/blade-system/meta-object-type/tableDetail").then(res=> {  //鐗╃悊琛�
 					if(res.code == 200) {
-						this.tableNameList = res.data;
+						this.tableNameList = res.data; 
 						this.gettableName();  //鑾峰彇瀛楁
 					}
 				})
@@ -138,6 +217,12 @@
 			gettableName() {
 				this.$HTTP.get(`/api/blade-system/meta-object-type/detail?fId=${this.dictKey}`).then(res=> {  //鐗╃悊琛ㄦ暟鎹�
 					if(res.code == 200) {
+						this.tableNameList.forEach(item=> {
+							if(res.data.tableName == item.tableName) {
+								this.refCodeList = item.tableColumns;
+							}
+						})
+						console.log(this.refCodeList,111)
 						this.metaForm.tableName = res.data.tableName;
 						this.metaForm.refCode = res.data.refCode;
 						this.metaForm.refName = res.data.refName;
@@ -151,12 +236,10 @@
 						this.dictionaryType.forEach(item=> {
 							this.searchDataList.forEach(item1=> {
 								if(item1.elementType == item.dictKey) {
-									console.log(item.code,99)
 									item1.elementTypeName = item.dictValue;
 								}
 							})
 						})
-						console.log(this.searchDataList,12345)
 					}
 				})
 			},
@@ -190,9 +273,9 @@
 			},
 			handleNodeClick(data) {
 				if(!this.firstChild.includes(data.id)) {
-					console.log(data,234);
 					this.dictKey = data.dictKey;
 					this.getList();  //鎵�鍦ㄧ墿鐞嗚〃銆佹槸鍚﹀彲閫�
+					this.isAdd = false;
 				}
 				// this.drawerPath = data.name;
 				// this.$HTTP.get("/api/blade-system/api-scope/list",this.searchData).then(res=> {
@@ -277,4 +360,13 @@
 	margin-right: 4px;
 	color: red;
 }
+.operationIcon {
+	font-size: 16px;
+	margin-right:4px;
+	cursor: pointer;
+}
+.saveBtn {
+	margin-top: 20px;
+	text-align: right;
+}
 </style>

--
Gitblit v1.9.3