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 @@

智能选题推荐

+ + + + + 查询 + +