diff --git a/src/components/Icon/src/IconPicker.vue b/src/components/Icon/src/IconPicker.vue index dfe969f..5bbe821 100644 --- a/src/components/Icon/src/IconPicker.vue +++ b/src/components/Icon/src/IconPicker.vue @@ -2,6 +2,7 @@ + :showCount="true" :disabled="titleDisabled"> + + + - - + + @@ -40,6 +45,8 @@ import { getValueType } from '/@/utils'; import { saveOrUpdate } from '../InstructionTag.api'; import { Form } from 'ant-design-vue'; import JFormContainer from '/@/components/Form/src/container/JFormContainer.vue'; + import { Icon, IconPicker, SvgIcon } from '/@/components/Icon/index'; +import { b } from 'node_modules/vite/dist/node/moduleRunnerTransport.d-CXw_Ws6P'; const props = defineProps({ formDisabled: { type: Boolean, default: false }, formData: { type: Object, default: () => ({}) }, @@ -48,11 +55,13 @@ const props = defineProps({ const formRef = ref(); const useForm = Form.useForm; const emit = defineEmits(['register', 'ok', 'refresh']); +const titleDisabled = ref(false); const formData = reactive>({ id: '', instructionName: '', sort: 99, izEnabled: '0', + icon:'', }); const { createMessage } = useMessage(); const labelCol = ref({ xs: { span: 24 }, sm: { span: 5 } }); @@ -62,6 +71,7 @@ const confirmLoading = ref(false); const validatorRules = reactive({ instructionName: [{ required: true, message: '请输入分类标签名称!' },], sort: [{ required: true, message: '请输入排序!' }, { pattern: /^\d+$/, message: '请输入正整数!' },], + icon: [{ required: true, message: '请选择图标!' }], izEnabled: [{ required: true, message: '请选择是否启用!' },], }); const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false }); @@ -90,6 +100,7 @@ function add() { * 编辑 */ function edit(record) { + console.log("🚀 ~ edit ~ record:", record) nextTick(() => { resetFields(); const tmpData = {}; @@ -100,6 +111,13 @@ function edit(record) { }) //赋值 Object.assign(formData, tmpData); + formData.instructionName = record.title; + formData.id = record.key; + if(record.title){ + titleDisabled.value = true; + }else{ + titleDisabled.value = false; + } }); } diff --git a/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue b/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue index 37a82cd..e0d7b94 100644 --- a/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue +++ b/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue @@ -5,61 +5,12 @@ - - - @@ -86,25 +37,233 @@ style="width: 350px; height: 20vh; display: flex; justify-content: center; align-items: center;"> + 新增分类标签 - + + + + + + + + + - - + {{ data?.title + '(' + data?.cycleTypeName + ')' }} {{ data?.title }} (已停用) - - - + -->
@@ -324,6 +482,8 @@ const registerModal = ref(); const treeData = ref([]); const userStore = useUserStore(); const isShowDM = ref(false)//是否展示指令库功能 +const selectedKeys=ref([]); +const openKeys=ref([]); //注册table数据 const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ tableProps: { @@ -383,6 +543,16 @@ const emotionTagOpen = ref(false)//情绪标签抽屉 const mainOrgCode = ref()//指令库编码 const filterIzEnabled = ref('enabled')//筛选全部/已启用 +function onOpenChange(record: string[]) { + console.log("🚀 ~ onOpenChange ~ record:", record) + selectedKeys.value = record + // const latestOpenKey = record.find(key => state.openKeys.indexOf(key) === -1); + // if (state.rootSubmenuKeys.indexOf(latestOpenKey!) === -1) { + // state.openKeys = openKeys; + // } else { + // state.openKeys = latestOpenKey ? [latestOpenKey] : []; + // } + } /** * 高级查询事件 */ @@ -831,6 +1001,10 @@ function stopInstruction(data) { } }); } +function editInstruction(data) { + insRegisterModal.value.disableSubmit = false; + insRegisterModal.value.edit(data); +} //新增服务类别 function addCategory(data) { catRegisterModal.value.disableSubmit = false; @@ -938,6 +1112,7 @@ function menuItems(data) { if (data.level === 1) { const items = [ { key: 'addIns', label: '新增分类标签', icon: 'ant-design:plus-outlined', canAdd: true, action: addInstruction }, + ] if (data.canAdd) { items.push({ key: 'addCat', label: '新增服务类别', icon: 'ant-design:plus-outlined', canAdd: data.canAdd, action: addCategory }) @@ -947,6 +1122,7 @@ function menuItems(data) { } else if (data.izEnabled === '0') { items.push({ key: 'stopIns', label: '停用分类标签', icon: 'ant-design:stop-outlined', canAdd: true, action: stopInstruction }) } + items.push({ key: 'editIns', label: '修改图标', icon: 'ant-design:edit-outlined', canAdd: true, action: editInstruction },) return items } else if (data.level === 2) { @@ -1175,4 +1351,18 @@ audio::-webkit-media-controls-time-remaining-display { height: 81.5vh; } } +:deep(.ant-menu-item-selected){ + color: #4b4b4b !important; +} +:deep(.ant-menu-submenu-title){ + color: #4b4b4b !important; +} +.auto-wrap { + word-wrap: break-word; /* 长单词/URL换行 */ + word-break: break-all; /* 更激进的换行策略 */ + white-space: normal; /* 默认换行行为 */ + line-height: 20px !important; + display: inline flow-root; + padding-top: 10px; +} diff --git a/src/views/services/serviceDirective/components/ConfigServiceDirectiveForm.vue b/src/views/services/serviceDirective/components/ConfigServiceDirectiveForm.vue index 96e92de..38d307c 100644 --- a/src/views/services/serviceDirective/components/ConfigServiceDirectiveForm.vue +++ b/src/views/services/serviceDirective/components/ConfigServiceDirectiveForm.vue @@ -1,6 +1,6 @@