From bc0ca4aa1100348dd3c737ac5e2111b46efcb324 Mon Sep 17 00:00:00 2001 From: zhanghao <774378400@qq.com> Date: Tue, 25 Nov 2025 10:34:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BD=A6=E6=9C=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/is/func/index.js | 63 +++++ src/api/is/im/index.js | 2 + .../is/func/FunctionTable/FunctionDialog.vue | 31 ++- .../is/func/FunctionTable/FunctionTable.vue | 227 ++++++++++++------ src/views/is/func/TreePanel/TreeDialog.vue | 8 +- src/views/is/func/TreePanel/TreePanel.vue | 195 ++++++--------- src/views/is/func/index.vue | 12 +- src/views/is/im/TreePanel/TreePanel.vue | 1 + vite.config.js | 4 +- 9 files changed, 319 insertions(+), 224 deletions(-) create mode 100644 src/api/is/func/index.js create mode 100644 src/api/is/im/index.js diff --git a/src/api/is/func/index.js b/src/api/is/func/index.js new file mode 100644 index 0000000..0503469 --- /dev/null +++ b/src/api/is/func/index.js @@ -0,0 +1,63 @@ +import request from '@/utils/request' + +// 查询语音交互-方案列表 +export function getTreeDataApi() { + return request({ + url: '/ti/config/list', + method: 'get' + }) +} + +export function postTreeData(data) { + return request({ + url: '/ti/config', + method: 'post', + data + }) +} + +export function updateTreeData(data) { + return request({ + url: '/ti/config', + method: 'put', + data + }) +} + +export function deleteTreeData(ids) { + return request({ + url: `/ti/config/${ids}`, + method: 'delete' + }) +} + +export function addFunction(data) { + return request({ + url: '/ti/function', + method: 'post', + data + }) +} + +export function getFunction(params) { + return request({ + url: '/ti/function/list', + method: 'get', + params + }) +} + +export function updateFunction(data) { + return request({ + url: '/ti/function', + method: 'put', + data + }) +} + +export function deleteFunction(ids) { + return request({ + url: `/ti/function/${ids}`, + method: 'delete' + }) +} \ No newline at end of file diff --git a/src/api/is/im/index.js b/src/api/is/im/index.js new file mode 100644 index 0000000..d95ed38 --- /dev/null +++ b/src/api/is/im/index.js @@ -0,0 +1,2 @@ +import request from '@/utils/request' + diff --git a/src/views/is/func/FunctionTable/FunctionDialog.vue b/src/views/is/func/FunctionTable/FunctionDialog.vue index 1162652..7d19257 100644 --- a/src/views/is/func/FunctionTable/FunctionDialog.vue +++ b/src/views/is/func/FunctionTable/FunctionDialog.vue @@ -11,17 +11,22 @@ :rules="formRules" label-width="80px" > - - - 11 + + + - + - + import { ref, watch } from 'vue' import FileUpload from '@/components/FileUpload/index' +import { useDict } from '@/utils/dict' const props = defineProps({ visible: { @@ -58,11 +64,13 @@ const props = defineProps({ }) const emit = defineEmits(['update:visible', 'confirm']) +const { ti_function_config } = useDict("ti_function_config"); + const formRef = ref() // 表单验证规则 const formRules = { - name: [ + funcKey: [ { required: true, message: '请输入功能名称', trigger: 'blur' } ] } @@ -73,6 +81,9 @@ const imgUrl = ref('') watch(() => props.visible, (newVal) => { visible.value = newVal + if (props.formData.iconUrl) { + imgUrl.value = props.formData.iconUrl + } }) watch(visible, (newVal) => { @@ -83,7 +94,11 @@ function handleConfirm() { if (!formRef.value) return formRef.value.validate((valid) => { - emit('confirm', valid, { ...props.formData }) + const obj = { ...props.formData } + if (imgUrl.value && imgUrl.value.length > 0) { + obj.iconUrl = imgUrl.value + } + emit('confirm', valid, { ...obj }) }) } diff --git a/src/views/is/func/FunctionTable/FunctionTable.vue b/src/views/is/func/FunctionTable/FunctionTable.vue index 8678b33..492c473 100644 --- a/src/views/is/func/FunctionTable/FunctionTable.vue +++ b/src/views/is/func/FunctionTable/FunctionTable.vue @@ -4,7 +4,7 @@ - 搜索 + 搜索 重置
+
选中左侧的车机版本后,才显示数据
新增功能 @@ -34,23 +35,47 @@ - - - - + + + - + + + + + + + + - \ No newline at end of file diff --git a/src/views/is/func/TreePanel/TreeDialog.vue b/src/views/is/func/TreePanel/TreeDialog.vue index bdbc686..392b430 100644 --- a/src/views/is/func/TreePanel/TreeDialog.vue +++ b/src/views/is/func/TreePanel/TreeDialog.vue @@ -16,7 +16,7 @@ props.visible, (newVal) => { - console.log(123) visible.value = newVal }) watch(visible, (newVal) => { - console.log(234) emit('update:visible', newVal) }) diff --git a/src/views/is/func/TreePanel/TreePanel.vue b/src/views/is/func/TreePanel/TreePanel.vue index a195bdc..b85f01c 100644 --- a/src/views/is/func/TreePanel/TreePanel.vue +++ b/src/views/is/func/TreePanel/TreePanel.vue @@ -13,6 +13,7 @@ node-key="id" :props="treeProps" :expand-on-click-node="false" + :highlight-current="true" default-expand-all @node-click="handleNodeClick" > @@ -21,7 +22,7 @@ {{ node.label }} -