|
@@ -222,7 +222,24 @@
|
|
:value="item.value">
|
|
:value="item.value">
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
- <el-select v-model="elementTableNameSelect" placeholder="请输入元素表名称进行模糊检索" style="flex: 1;" filterable clearable >
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="elementTableNameSelect"
|
|
|
|
+ placeholder="请输入元素表名称进行模糊检索"
|
|
|
|
+ style="flex: 1;"
|
|
|
|
+ filterable clearable multiple
|
|
|
|
+ :popper-options="{
|
|
|
|
+ modifiers: {
|
|
|
|
+ computeStyle: {
|
|
|
|
+ enabled: true,
|
|
|
|
+ fn(data) {
|
|
|
|
+ data.styles.maxHeight = '30px'; // 设置最大高度为一行
|
|
|
|
+ data.styles.overflowY = 'auto'; // 启用垂直滚动
|
|
|
|
+ return data;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
<el-option
|
|
<el-option
|
|
v-for="item in elementTableOptions"
|
|
v-for="item in elementTableOptions"
|
|
:key="item.value"
|
|
:key="item.value"
|
|
@@ -232,10 +249,10 @@
|
|
</el-select>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div v-if="selectedSourceOption === 2" class="element-list-container">
|
|
<div v-if="selectedSourceOption === 2" class="element-list-container">
|
|
- <el-scrollbar> <!-- 18行 * 每行30px = 540px -->
|
|
|
|
|
|
+ <el-scrollbar>
|
|
<ul class="element-checkbox-list">
|
|
<ul class="element-checkbox-list">
|
|
<li v-for="(item, index) in elementList" :key="index" class="element-item">
|
|
<li v-for="(item, index) in elementList" :key="index" class="element-item">
|
|
- <el-checkbox v-model="item.checked">{{ item.name }}</el-checkbox>
|
|
|
|
|
|
+ <el-checkbox v-model="item.checked">{{ item.label }}</el-checkbox>
|
|
</li>
|
|
</li>
|
|
</ul>
|
|
</ul>
|
|
</el-scrollbar>
|
|
</el-scrollbar>
|
|
@@ -320,17 +337,14 @@
|
|
eleCheckRow: {},
|
|
eleCheckRow: {},
|
|
selectedSourceOption: 1, // 默认选中 "适配所有元素表"
|
|
selectedSourceOption: 1, // 默认选中 "适配所有元素表"
|
|
elementCategorySelect: '', // 元素分类表分类选中值
|
|
elementCategorySelect: '', // 元素分类表分类选中值
|
|
- elementTableNameSelect: '', // 元素表名称筛选选中值
|
|
|
|
|
|
+ elementTableNameSelect: [], // 元素表名称筛选选中值
|
|
elementCategoryOptions: [
|
|
elementCategoryOptions: [
|
|
|
|
|
|
],
|
|
],
|
|
elementTableOptions: [
|
|
elementTableOptions: [
|
|
|
|
|
|
],
|
|
],
|
|
- elementList: Array.from({ length: 30 }, (_, i) => ({
|
|
|
|
- name: `元素表名称 ${i + 1}`,
|
|
|
|
- checked: false
|
|
|
|
- })),
|
|
|
|
|
|
+ elementList:[],
|
|
bindPostDialogVisible: false,
|
|
bindPostDialogVisible: false,
|
|
partyCategorySelect: '', // 参建方分类选中值
|
|
partyCategorySelect: '', // 参建方分类选中值
|
|
positionNameSelect: '', // 岗位名称选中值
|
|
positionNameSelect: '', // 岗位名称选中值
|
|
@@ -350,6 +364,26 @@
|
|
})),
|
|
})),
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ watch: {
|
|
|
|
+ elementTableNameSelect(newVal) {
|
|
|
|
+ if (newVal) {
|
|
|
|
+
|
|
|
|
+ let arr=[];
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.elementTableOptions.forEach(item => {
|
|
|
|
+ newVal.forEach(tableName => {
|
|
|
|
+ if (item.value === tableName) {
|
|
|
|
+ arr.push(item)
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ this.elementList = arr;
|
|
|
|
+ // this.fetchElementList(newVal);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
clearInput() {
|
|
clearInput() {
|
|
this.postText = ''
|
|
this.postText = ''
|
|
@@ -451,17 +485,11 @@
|
|
// 删除操作的逻辑
|
|
// 删除操作的逻辑
|
|
},
|
|
},
|
|
changeEleType(value,row) {
|
|
changeEleType(value,row) {
|
|
-
|
|
|
|
-
|
|
|
|
const selectedItem = this.eleOptions.find(item => item.value === value);
|
|
const selectedItem = this.eleOptions.find(item => item.value === value);
|
|
-
|
|
|
|
-
|
|
|
|
if (selectedItem && selectedItem.etype != null) {
|
|
if (selectedItem && selectedItem.etype != null) {
|
|
row.elementType = selectedItem.etype; // 假设接口返回的 eleOptions 中有 etype 字段
|
|
row.elementType = selectedItem.etype; // 假设接口返回的 eleOptions 中有 etype 字段
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
},
|
|
},
|
|
//选择元素来源
|
|
//选择元素来源
|
|
@@ -481,7 +509,8 @@
|
|
if (res.data.code == 200) {
|
|
if (res.data.code == 200) {
|
|
this.elementCategoryOptions = res.data.data.map(item => ({
|
|
this.elementCategoryOptions = res.data.data.map(item => ({
|
|
value: item.dictKey,
|
|
value: item.dictKey,
|
|
- label: item.dictValue
|
|
|
|
|
|
+ label: item.dictValue,
|
|
|
|
+ id:item.id
|
|
}));
|
|
}));
|
|
}else{ this.elementCategoryOptions = [];}
|
|
}else{ this.elementCategoryOptions = [];}
|
|
});
|
|
});
|
|
@@ -706,4 +735,8 @@ margin-top: -20px;
|
|
line-height: 30px;
|
|
line-height: 30px;
|
|
padding-left: 10px;
|
|
padding-left: 10px;
|
|
}
|
|
}
|
|
|
|
+.limit-height-select .el-select-dropdown__wrap {
|
|
|
|
+ max-height: 30px !important;
|
|
|
|
+ overflow-y: auto !important;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|