| | |
| | | <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> |
| | |
| | | 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: "", |
| | |
| | | ...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) { |
| | |
| | | }) |
| | | 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(); //获取字段 |
| | | } |
| | | }) |
| | |
| | | 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; |
| | |
| | | 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) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | }, |
| | | 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=> { |
| | |
| | | margin-right: 4px; |
| | | color: red; |
| | | } |
| | | .operationIcon { |
| | | font-size: 16px; |
| | | margin-right:4px; |
| | | cursor: pointer; |
| | | } |
| | | .saveBtn { |
| | | margin-top: 20px; |
| | | text-align: right; |
| | | } |
| | | </style> |