|
@@ -219,10 +219,28 @@ export default {
|
|
|
},
|
|
|
options: [],
|
|
|
selectSlot: true,
|
|
|
+ listeners: {
|
|
|
+ change: this.handleTableChangeTree, // 监听 change 事件
|
|
|
+ // focus: this.treeSelectFocus, // 监听 focus 事件
|
|
|
+ },
|
|
|
rules: [
|
|
|
{ required: true, message: '关联表格不能为空', trigger: 'blur' }
|
|
|
],
|
|
|
},
|
|
|
+ {//treeTableJoinTablecondition
|
|
|
+ label: '关联字段',
|
|
|
+ prop: 'treeTableJoinTableCondition',
|
|
|
+ component: 'el-select',
|
|
|
+ attrs: {
|
|
|
+ placeholder: '请选择表格关联字段',
|
|
|
+ clearable: true,
|
|
|
+ },
|
|
|
+ options: [],
|
|
|
+ selectSlot: true,
|
|
|
+ rules: [
|
|
|
+ { required: true, message: '关联字段不能为空', trigger: 'blur' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
],
|
|
|
//树形表单按钮配置
|
|
|
treeFormButtons: [
|
|
@@ -380,6 +398,7 @@ export default {
|
|
|
let data = {}
|
|
|
let judgmentMenuResult = await this.judgmentMenu(this.mode);
|
|
|
if (judgmentMenuResult.code == 200) {
|
|
|
+ console.log('this.tableList[1]',this.tableList)
|
|
|
data = {
|
|
|
menuId: judgmentMenuResult.data,//菜单id
|
|
|
menuName: formTopData.menuName,//菜单名称
|
|
@@ -387,10 +406,11 @@ export default {
|
|
|
treeTableName: formTopData.treeTableName,//树形绑定的表名
|
|
|
treeTablePrimaryKey: formTopData.treeTablePrimaryKey,//树形表主键
|
|
|
treeTableDgl: formTopData.treeTableDgl,//树形表后台递归列
|
|
|
- treeShowLabel: fromTopData.treeShowLabel,// 树形展示列
|
|
|
+ treeShowLabel: formTopData.treeShowLabel,// 树形展示列
|
|
|
treeTableCondition: formTopData.treeTableCondition,//树形表是lable/还是value作为条件
|
|
|
tableId: x.tableId,//关联表
|
|
|
tableNameDes: this.tableList[0].dtName,//关联表
|
|
|
+ treeTableJoinTableCondition:x.treeTableJoinTableCondition,
|
|
|
treeTableJoinTable: this.tableList[0].dtTableName,//关联表表名
|
|
|
treeTableKey: this.treeTableKey// 树形菜单的treeTableKey
|
|
|
}
|
|
@@ -415,10 +435,10 @@ export default {
|
|
|
treeTablePrimaryKey: formTopData.treeTablePrimaryKey,//树形表主键
|
|
|
treeTableDgl: formTopData.treeTableDgl,//树形表后台递归列
|
|
|
treeShowLabel: formTopData.treeShowLabel,//树形表展示列
|
|
|
-
|
|
|
treeTableCondition: formTopData.treeTableCondition,//树形表是lable/还是value作为条件
|
|
|
tableId: x.tableId,//关联表
|
|
|
tableNameDes: this.tableList[0].dtName,//关联表
|
|
|
+ treeTableJoinTableCondition:x.treeTableJoinTableCondition,
|
|
|
treeTableJoinTable: this.tableList[0].dtTableName,//关联表表名
|
|
|
treeTableKey: this.treeTableKey// 树形菜单的treeTableKey
|
|
|
}
|
|
@@ -452,10 +472,10 @@ export default {
|
|
|
if (mode == 2) {
|
|
|
let tableId = this.$refs.treeTableFormItems.queryParams['tableId']
|
|
|
let addTableKey;
|
|
|
- if(tableId){//0314-cs
|
|
|
+ if (tableId) {//0314-cs
|
|
|
let res = await getTableInfo(tableId);
|
|
|
- console.log('[res0314----]',res)
|
|
|
- addTableKey = res.data.tableKey
|
|
|
+ console.log('[res0314----]', res)
|
|
|
+ addTableKey = res.data.tableKey
|
|
|
}
|
|
|
let menuName = this.$refs.dynamicForm.queryParams['menuName']
|
|
|
let parentId = this.$refs.dynamicForm.queryParams['menuId']
|
|
@@ -589,14 +609,16 @@ export default {
|
|
|
},
|
|
|
// 关联表选择后触发的事件
|
|
|
handleTableChange(value) {
|
|
|
+ console.log('handleTableChange---value', value)
|
|
|
// 1. 清除 treeTablePrimaryKey treeTableDgl
|
|
|
this.$refs.dynamicForm.queryParams.treeTablePrimaryKey = null; // 或者设置为空数组 []
|
|
|
this.$refs.dynamicForm.queryParams.treeTableDgl = null; // 或者设置为空数组 []
|
|
|
this.$refs.dynamicForm.queryParams.treeShowLabel = null; // 或者设置为空数组 []
|
|
|
-
|
|
|
+
|
|
|
// 清空 treeTablePrimaryKey 的 options(可选,如果需要清空选项)
|
|
|
this.treeFormItems[5].options = [];
|
|
|
this.treeFormItems[7].options = [];
|
|
|
+ this.treeFormItems[8].options = [];
|
|
|
let data = {
|
|
|
databaseName: this.databaseName,
|
|
|
databaseType: this.databaseType,
|
|
@@ -618,25 +640,58 @@ export default {
|
|
|
value: item.fieldName,
|
|
|
}
|
|
|
})
|
|
|
+ this.treeFormItems[8].options = res.map(item => {
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ label: item.fieldDescription,
|
|
|
+ value: item.fieldName,
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
}).catch(() => {
|
|
|
// 清空 treeTablePrimaryKey treeTableDgl 的值
|
|
|
this.$refs.dynamicForm.queryParams.treeTablePrimaryKey = null; // 或者设置为空数组 []
|
|
|
this.$refs.dynamicForm.queryParams.treeTableDgl = null; // 或者设置为空数组 []
|
|
|
this.$refs.dynamicForm.queryParams.treeShowLabel = null; // 或者设置为空数组 []
|
|
|
-
|
|
|
+
|
|
|
// 清空 treeTablePrimaryKey 的 options(可选,如果需要清空选项)
|
|
|
this.treeFormItems[5].options = [];
|
|
|
this.treeFormItems[7].options = [];
|
|
|
-
|
|
|
+ this.treeFormItems[8].options = [];
|
|
|
});
|
|
|
},
|
|
|
+ handleTableChangeTree(value) {
|
|
|
+ this.treeTableFormItems[1].options = []
|
|
|
+ this.$refs.treeTableFormItems.queryParams.treeTableJoinTableCondition = null; // 或者设置为空数组 []
|
|
|
+ let data = this.treeTableFormItems[0].options.filter(item => item.tId == value)[0]
|
|
|
+ if (data?.spare) {
|
|
|
+ let spare = JSON.parse(JSON.parse(JSON.stringify(data.spare)))
|
|
|
+ if (Array.isArray(spare)) {
|
|
|
+ this.treeTableFormItems[1].options = spare.map(item => {
|
|
|
+ return {
|
|
|
+ value: item.fieldName, // 使用 fieldName 作为 value
|
|
|
+ label: item.fieldDescription.trim() // 使用 fieldDescription 作为显示文本,并去掉可能存在的多余空白字符
|
|
|
+ };
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ console.error('Expected an array for spare but got:', typeof spare);
|
|
|
+ this.treeTableFormItems[1].options = []
|
|
|
+ this.$refs.treeTableFormItems.queryParams.treeTableJoinTableCondition = null; // 或者设置为空数组 []
|
|
|
+
|
|
|
+
|
|
|
+ // 根据实际情况处理 spare 不是数组的情况
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ // this.treeTableFormItems[1].options
|
|
|
+ },
|
|
|
// 监听表单值发生变化queryParams
|
|
|
handleQueryParamsChange(newParams) {
|
|
|
// console.log('queryParams 发生变化:', newParams);
|
|
|
},
|
|
|
// 监听表单值发生变化-表单配置的下方表单
|
|
|
handleQueryParamsTableChange(newParams) {
|
|
|
+ console.log('newParams',newParams)
|
|
|
if (newParams.tableId) {
|
|
|
this.tableLoading = true
|
|
|
this.getList(newParams.tableId)
|
|
@@ -650,14 +705,14 @@ export default {
|
|
|
listTable(queryParams).then((response) => {
|
|
|
if (response.code == 200) {
|
|
|
this.treeTableFormItems[0].options = response.rows.map(item => {
|
|
|
- return {
|
|
|
- ...item,
|
|
|
- label: item.dtName,
|
|
|
- value: item.tId,
|
|
|
- }
|
|
|
- })
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ label: item.dtName,
|
|
|
+ value: item.tId,
|
|
|
+ }
|
|
|
+ })
|
|
|
if (id) {
|
|
|
- console.log('--------newParams.tableId存在--------------', id,this.$refs.treeTableFormItems.queryParams)
|
|
|
+ console.log('--------newParams.tableId存在--------------', id, this.$refs.treeTableFormItems.queryParams)
|
|
|
// tableList是表格字段配置下面的表格
|
|
|
this.tableList = [];
|
|
|
// 如果id存在,则找出response.rows中id等于response.rows的item.tId的一项,给表格字段配置下面的表格赋值
|
|
@@ -666,14 +721,14 @@ export default {
|
|
|
this.tableList = [selectedItem];
|
|
|
this.tableLoading = false
|
|
|
//让关联表格下拉框有值
|
|
|
-
|
|
|
+
|
|
|
} else {
|
|
|
console.error("未找到与提供的ID匹配的项");
|
|
|
this.tableList = [];
|
|
|
this.tableLoading = false
|
|
|
}
|
|
|
} else {
|
|
|
-
|
|
|
+
|
|
|
this.loading = false
|
|
|
this.tableLoading = false
|
|
|
}
|
|
@@ -696,6 +751,7 @@ export default {
|
|
|
if (res.code === 200) {
|
|
|
this.editor = res.data
|
|
|
this.handleTableChange(this.editor.treeTableName)
|
|
|
+ console.log("res.data",res.data)
|
|
|
let {
|
|
|
menuName,
|
|
|
treeDesc,
|
|
@@ -705,7 +761,7 @@ export default {
|
|
|
treeTableCondition,
|
|
|
tableId,
|
|
|
tableNameDes,
|
|
|
- treeTableJoinTable,
|
|
|
+ treeTableJoinTableCondition,
|
|
|
treeShowLabel,
|
|
|
} = this.editor;
|
|
|
Object.assign(this.$refs.dynamicForm.queryParams, {
|
|
@@ -718,8 +774,8 @@ export default {
|
|
|
treeTableCondition,
|
|
|
});
|
|
|
Object.assign(this.$refs.treeTableFormItems.queryParams, {
|
|
|
- tableId:Number(tableId),
|
|
|
- // dtName: this.editData.dtName
|
|
|
+ tableId: Number(tableId),
|
|
|
+ treeTableJoinTableCondition,
|
|
|
});
|
|
|
this.$refs.dynamicForm.queryParams.menuId = this.getParentMenuId(
|
|
|
res.data.menuId,
|