diff --git a/package.json b/package.json
index 204bc5ef..ba21488e 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"dagre-d3": "^0.6.4",
"dhtmlx-gantt": "^8.0.6",
"echarts": "^5.5.1",
- "element-plus": "^2.7.4",
+ "element-plus": "^2.8.4",
"file-saver": "^2.0.5",
"html2canvas": "^1.4.1",
"json-editor-vue3": "^1.0.6",
@@ -42,7 +42,6 @@
"three": "^0.155.0",
"tinymce": "6.3.2",
"vue": "3.2.47",
- "vue-echarts": "^7.0.3",
"vue-i18n": "9.2.2",
"vue-router": "4.1.6",
"vuedraggable": "4.0.3",
diff --git a/src/components/scTable/index.vue b/src/components/scTable/index.vue
index bd12d783..61bd7604 100644
--- a/src/components/scTable/index.vue
+++ b/src/components/scTable/index.vue
@@ -35,7 +35,7 @@
diff --git a/src/components/scTableSelect/index.vue b/src/components/scTableSelect/index.vue
index 772a7cc3..2af07aee 100644
--- a/src/components/scTableSelect/index.vue
+++ b/src/components/scTableSelect/index.vue
@@ -106,7 +106,7 @@
[this.defaultProps.keyword]: this.keyword
}
Object.assign(reqData, this.params, this.formData)
- var res = await this.apiObj.get(reqData);
+ var res = await this.apiObj.req(reqData);
var parseData = config.parseData(res)
this.tableData = parseData.rows;
this.total = parseData.total;
diff --git a/src/components/xSelect/index.vue b/src/components/xSelect/index.vue
index ebda00f8..f41cf4bc 100644
--- a/src/components/xSelect/index.vue
+++ b/src/components/xSelect/index.vue
@@ -1,8 +1,6 @@
-
-
-
+
-
@@ -39,6 +36,7 @@
>
+
-
+
@@ -62,26 +63,39 @@
import { ref, defineProps, defineEmits, computed } from "vue";
const props = defineProps({
+ multiple: { type: Boolean, default: false },
edit: { type: Boolean, default: true },
hidePagination: { type: Boolean, default: false },
tableWidth: { type: Number, default: 600 },
tableHeight: { type: Number, default: 400 },
apiObj: { type: Object, default: () => {}, required: true },
params: { type: Object, default: () => {} },
- label: { type: String, default: "" },
- modelValue: { type: String, default: null },
+ label: { type: [String, Number, Array], default: "" },
+ obj: { type: Object, default: () => {} },
+ modelValue: { type: [String, Number, Array], default: null },
labelField: { type: String, default: "name" },
valueField: { type: String, default: "id" },
});
-const emit = defineEmits(["update:modelValue", "update:label"]);
+const emit = defineEmits(["update:modelValue", "update:label", "update:obj"]);
// 控制 popover 显示与隐藏的状态
+const multiple = ref(props.multiple);
+const obj = ref(props.obj);
const showPopover = ref(false);
const inputRef = ref();
-const inputRef0 = ref();
const table = ref();
-const inputLabel = computed({
+
+const selectObj = computed({
+ get() {
+ return props.obj;
+ },
+ set(val) {
+ emit("update:obj", val);
+ }
+})
+
+const selectLabel = computed({
get() {
return props.label;
},
@@ -89,7 +103,7 @@ const inputLabel = computed({
emit("update:label", val);
},
});
-const inputValue = computed({
+const selectValue = computed({
get() {
return props.modelValue;
},
@@ -107,13 +121,31 @@ const handleQuery = () => {
};
const rowClick = (row) => {
- inputLabel.value = row[props.labelField];
- inputValue.value = row[props.valueField];
- showPopover.value = false;
+ if(!multiple.value){
+ selectObj.value = row;
+ selectLabel.value = row[props.labelField];
+ selectValue.value = row[props.valueField];
+ showPopover.value = false;
+ }
};
const handleClear = () => {
- inputLabel.value = "";
- inputValue.value = null;
+ selectObj.value = {};
+ selectLabel.value = "";
+ selectValue.value = null;
};
-
+
+const tdChange = (res, tableData) =>{
+ // if(obj.value && multiple){
+
+ // }
+}
+
+const selectionChange = (val) => {
+ if(multiple.value){
+ selectObj.value = val;
+ selectLabel.value = val.map(item => item[props.labelField]).join(";");
+ selectValue.value = val.map(item => item[props.valueField]);
+ }
+};
+
\ No newline at end of file
diff --git a/src/components/xSelect/index2.vue b/src/components/xSelect/index2.vue
new file mode 100644
index 00000000..7b300281
--- /dev/null
+++ b/src/components/xSelect/index2.vue
@@ -0,0 +1,126 @@
+