diff --git a/src/components/table-edit.vue b/src/components/table-edit.vue
index df9fba6..d8184de 100644
--- a/src/components/table-edit.vue
+++ b/src/components/table-edit.vue
@@ -9,7 +9,7 @@
+ :placeholder="item.placeholder" clearable :multiple="item.multiple?true:false">
import { FormOption } from '@/types/form-option';
+import { json } from 'd3';
import { FormInstance, FormRules, UploadProps } from 'element-plus';
import { PropType, ref } from 'vue';
@@ -62,7 +63,30 @@ const { options, formData, edit, update } = defineProps({
});
-const form = ref({ ...(edit ? formData : {}) });
+//const form = ref({ ...(edit ? formData : {}) });
+const form = ref();
+
+const doFormData = () => {
+ let a={}
+ let initialForm = { ...(edit ? formData : {}) };
+
+ options.list.forEach(item => {
+ if (item.type === 'select' && item.multiple) {
+ let ids = formData[item.prop];
+ let id_list = JSON.parse(ids);
+ console.log(id_list);
+ let selectedValues = [];
+ for (let i = 0; i < id_list.length; i++) {
+ selectedValues.push(id_list[i]["id"]);
+ }
+ if (!Array.isArray(initialForm[item.prop])) {
+ initialForm[item.prop] = selectedValues;
+ }
+ }
+ });
+ return initialForm;
+};
+form.value=doFormData();
const rules: FormRules = options.list.map(item => {
if (item.required) {
diff --git a/src/router/index.ts b/src/router/index.ts
index 648f9a1..5c4e8b9 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -48,7 +48,7 @@ const routes: RouteRecordRaw[] = [
title: '功能管理',
permiss: '54',
},
- component: () => import(/* webpackChunkName: "system-user" */ '../views/system/function.vue'),
+ component: () => import(/* webpackChunkName: "system-user" */ '../views/system/manage-function.vue'),
},
{
path: '/manage-file',
diff --git a/src/types/function.ts b/src/types/function.ts
index b30f389..b98ee1c 100644
--- a/src/types/function.ts
+++ b/src/types/function.ts
@@ -6,6 +6,7 @@ export interface Function{
Name: string;
Info: string;
UserID: number;
- ModelID: number;
+ ModelID: number | Object | Array;
+ ModelIDs: string;
Function: string;
}
\ No newline at end of file
diff --git a/src/views/system/function.vue b/src/views/system/manage-function.vue
similarity index 94%
rename from src/views/system/function.vue
rename to src/views/system/manage-function.vue
index 70819b3..faaf22a 100644
--- a/src/views/system/function.vue
+++ b/src/views/system/manage-function.vue
@@ -124,7 +124,7 @@ let options_edit = ref({
span: 12,
list: [
{ type: 'input', label: '名称', prop: 'Name', required: true },
- { type: 'select', label: '模型', prop: 'ModelID', required: true, opts:model_select_opts.value, multiple: true},
+ { type: 'select', label: '模型', prop: 'ModelIDS', required: true, opts:model_select_opts.value, multiple: true},
{ type: 'input', label: '功能', prop: 'Function', required: true },
{ type: 'input', label: '描述', prop: 'Info', required: true },
]
@@ -138,19 +138,26 @@ const rowData = ref({});
const handleEdit = async (row: Function) => {
let data = row;
rowData.value = data;
- console.log("edit_row_data:", rowData.value);
+ //console.log("edit_row_data:", rowData.value);
isEdit.value = true;
visible.value = true;
};
const updateData = async (data) => {
+ let model_id =[]
+ let model_id_list= data["ModelID"]
+ for (let i = 0; i < model_id_list.length; i++) {
+ model_id.push({"id":model_id_list[i]})
+ }
+ let model_ids = JSON.stringify(model_id)
let result ={}
try{
let req={
token:localStorage.getItem("token"),
id: data.ID,
name: data.Name,
- model_id: data.ModelID,
+ model_id: model_id_list[0],
function: data.Function,
+ model_ids: model_ids,
info: data.Info
};
result = await UpdateFunctionService(req)
diff --git a/src/views/system/reco-topic.vue b/src/views/system/reco-topic.vue
index 61b33bf..1b84244 100644
--- a/src/views/system/reco-topic.vue
+++ b/src/views/system/reco-topic.vue
@@ -2,5 +2,46 @@
智能选题推荐
+
+
+
+
+ 查询
+
+