From ab493128b646ede67a2bfa2e16c966eb4e5f2d94 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期四, 13 六月 2024 23:19:00 +0800
Subject: [PATCH] 传输文件
---
src/views/console/system/meta-object-type/index.vue | 167 +++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 118 insertions(+), 49 deletions(-)
diff --git a/src/views/console/system/meta-object-type/index.vue b/src/views/console/system/meta-object-type/index.vue
index 94c556e..f8b2261 100644
--- a/src/views/console/system/meta-object-type/index.vue
+++ b/src/views/console/system/meta-object-type/index.vue
@@ -2,7 +2,7 @@
* @Author: lzhe lzhe@example.com
* @Date: 2024-03-26 10:28:33
* @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-05-13 16:28:30
+ * @LastEditTime: 2024-05-14 16:22:28
* @FilePath: /smart-web/src/views/master/person/main/index.vue
* @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
@@ -33,8 +33,8 @@
</div>
<div class="right-content">
<div class="content-title">缂栫爜瀛楁</div>
- <el-select v-model="metaForm.test">
- <el-option v-for="item in refCodeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+ <el-select v-model="metaForm.code">
+ <el-option v-for="item in refCodeList" :key="item.columnName" :label="item.columnName" :value="item.columnName"/>
</el-select>
</div>
<div class="right-content">
@@ -43,39 +43,51 @@
</div>
<el-table ref="searchDataListRef" :data="searchDataList" border style="width: 100%;margin-top: 20px;" class="multipleTableRef">
<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>
+ <template #default="scope">
+ <div v-if="scope.row.isEdit">
+ <span class="important-star">*</span>
+ <el-select v-model="tableForm.fcode" style="width: 90%;">
+ <el-option v-for="item in refCodeList" :key="item.columnName" :label="item.columnName" :value="item.columnName"/>
+ </el-select>
+ </div>
<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-if="scope.row.isEdit">
+ <span class="important-star">*</span>
+ <el-input v-model="tableForm.fname" style="width: 90%;"></el-input>
+ </div>
<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-if="scope.row.isEdit">
+ <span class="important-star">*</span>
+ <el-input v-model="tableForm.field" style="width: 90%;"></el-input>
+ </div>
<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>
+ <el-table-column prop="elementType" label="鍏冪礌绫诲瀷">
+ <template #default="scope">
+ <div v-if="scope.row.isEdit">
+ <span class="important-star">*</span>
+ <el-select v-model="tableForm.elementType" @change="elementTypeNameChange" style="width: 90%;">
+ <el-option v-for="item in dictionaryType" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
+ </el-select>
+ </div>
<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 v-if="scope.row.isEdit" v-model="tableForm.enumType" :disabled="tableForm.elementType!='4'" @change = enumTypeChange>
+ <el-option v-for="item in dictList" :key="item.id" :label="item.code" :value="item.id"/>
</el-select>
- <div v-else>{{scope.row.enumType}}</div>
+ <div v-else>{{scope.row.enumTypeZn}}</div>
</template>
</el-table-column>
<el-table-column prop="seq" label="瀛楁椤哄簭">
@@ -86,10 +98,8 @@
</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>
+ <el-tree-select v-if="scope.row.isEdit" node-key="id" :props="defalutProps" v-model="tableForm.refObjectTypeId" :data="tableData" :render-after-expand="false" :disabled="tableForm.elementType!='5'" @node-click="handleNodeClick1"/>
+ <div v-else>{{scope.row.refObjectTypeIdZn}}</div>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔">
@@ -99,14 +109,14 @@
<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>
+ <!-- <el-icon class="operationIcon" @click="editTable(scope.$index)"><Edit /></el-icon> -->
+ <el-icon class="operationIcon" @click="deleteTable(scope.$index)"><Delete /></el-icon>
</div>
</template>
</el-table-column>
</el-table>
<div class="saveBtn">
- <el-button type="primary" @click="saveBtn">淇濆瓨</el-button>
+ <el-button type="primary" @click="saveBtn" :disabled="isAdd">淇濆瓨</el-button>
</div>
</div>
</div>
@@ -121,12 +131,15 @@
name: "metaObject",
data(){
return {
+ dictList: [], //鏋氫妇绫诲瀷
+ elementTypeValue: "",
+ detailobj: {},
testList: [],
tableForm: {
fcode: "",
fname: "",
field: "",
- elementTypeName: "",
+ elementType: "",
enumType: "",
seq: 0,
refObjectTypeId: ""
@@ -139,7 +152,8 @@
metaForm: {
tableName: "",
refCode: "",
- refName: ""
+ refName: "",
+ code: ""
},
classificationRules: {
classify: [
@@ -168,16 +182,59 @@
},
mounted(){
this.getDictionary(); //瀛楀吀绫诲瀷
+ this.getDict(); //鏋氫妇绫诲瀷
},
components: {
...ElementPlusIconsVue
},
methods: {
+ getDict() { //鏋氫妇绫诲瀷
+ this.$HTTP.get("/api/blade-system/dict/list").then(res=> { //鐗╃悊琛�
+ if(res.code == 200) {
+ this.dictList = res.data;
+ }
+ })
+ },
+ editTable(index) {
+ this.isAdd = true;
+ var obj = Object.assign({},this.searchDataList[index],{isEdit: true});
+ this.searchDataList.splice(index,1,obj);
+ },
+ deleteTable(index) {
+ this.searchDataList.splice(index,1);
+ },
+ enumTypeChange(val) { //鏋氫妇绫诲瀷
+ this.dictList.forEach(item=> {
+ if(item.id == val) {
+ this.tableForm.enumTypeZn = item.code;
+ }
+ })
+ },
+ elementTypeNameChange(val) { //鍏冪礌绫诲瀷
+ this.dictionaryType.forEach(item=> {
+ if(item.dictKey == val) {
+ this.elementTypeValue = item.dictValue;
+ }
+ })
+ this.tableForm.enumType = "";
+ this.tableForm.refObjectTypeId = "";
+ },
saveBtn() {
-
+ var obj = Object.assign(this.detailobj,this.metaForm); //detailobj鐗╃悊鏁版嵁锛宮etaForm鍩虹鏁版嵁
+ obj.fields = this.searchDataList;
+ this.$HTTP.post("/api/blade-system/meta-object-type/submit",obj).then(res=> {
+ if(res.code == 200) {
+ this.$message.success("淇濆瓨鎴愬姛");
+ }
+ })
},
comfirmTable() {
- this.cancelTable(); //杩樺師
+ this.cancelTable();
+ this.tableForm.refObjectTypeIdZn = this.tableForm.dictKey;
+ this.tableForm.elementTypeName = this.elementTypeValue;
+ this.tableForm.enumType = this.tableForm.enumTypeZn;
+ this.tableForm.id = null;
+ this.tableForm.objectId = this.detailobj.objectId;
this.searchDataList.unshift(this.tableForm);
},
cancelTable() {
@@ -185,8 +242,19 @@
this.isAdd = false;
},
addParameter() {
+ this.tableForm = {
+ fcode: "",
+ fname: "",
+ field: "",
+ elementType: "",
+ enumType: "",
+ seq: 0,
+ refObjectTypeId: ""
+ }
this.isAdd = true;
- this.searchDataList.unshift({isEdit: true});
+ var obj = Object.assign({},this.tableForm,{isEdit: true})
+ obj.id = null;
+ this.searchDataList.unshift(obj);
},
getDictionary() { //瀛楀吀绫诲瀷
this.$HTTP.get("/api/blade-system/dict/dictionary?code=element_type").then(res=> { //鐗╃悊琛�
@@ -222,10 +290,12 @@
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;
+ this.metaForm.code = res.data.code;
+ this.detailobj = res.data;
+ this.detailobj.objectId = res.data.fid;
}
})
},
@@ -233,7 +303,11 @@
this.$HTTP.get(`/api/blade-system/meta-object-type-field/list?objectId=${this.dictKey}`).then(res=> { //琛ㄦ牸鏁版嵁
if(res.code == 200) {
this.searchDataList = res.data;
- this.dictionaryType.forEach(item=> {
+ res.data.forEach(item=> {
+ item.enumTypeZn = item.enumType; //鏋氫妇绫诲瀷
+ item.refObjectTypeIdZn = item.refObjectTypeId; //寮曠敤鍏崇郴
+ })
+ this.dictionaryType.forEach(item=> { //鍏冪礌绫诲瀷
this.searchDataList.forEach(item1=> {
if(item1.elementType == item.dictKey) {
item1.elementTypeName = item.dictValue;
@@ -252,24 +326,15 @@
this.$refs.dialogForm.resetFields();
};
},
- classificationSubmit() {
- this.$refs.dialogForm.validate(async (valid) => {
- if (valid) {
- this.isSaveing = false;
- // this.$HTTP.post("/api/blade-system/data-scope/submit",obj).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;
- }
- })
+ handleNodeClick1(data) {
+ if(this.firstChild.includes(data.id)) { //涓�绾ц彍鍗曡繑鍥�
+ this.$nextTick(()=> {
+ this.tableForm.refObjectTypeId = "";
+ })
+ return;
+ };
+ this.tableForm.refObjectTypeIdZn = data.dictValue;
+ this.tableForm.dictKey = data.dictKey;
},
handleNodeClick(data) {
if(!this.firstChild.includes(data.id)) {
@@ -369,4 +434,8 @@
margin-top: 20px;
text-align: right;
}
+.important-star {
+ margin-right: 4px;
+ color: red;
+}
</style>
--
Gitblit v1.9.3