From 01b72c6a0ec002f2c337aa18adfbee51e317d98c Mon Sep 17 00:00:00 2001 From: zhang zhuo Date: Mon, 24 Nov 2025 14:03:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/AssetChoice.vue | 3 + src/assets/icons/Button.vue | 3 + src/assets/icons/Cascader.vue | 3 + src/assets/icons/Checkbox.vue | 3 + src/assets/icons/ColorPicker.vue | 3 + src/assets/icons/DatePicker.vue | 3 + src/assets/icons/DateRange.vue | 3 + src/assets/icons/IconChoice.vue | 3 + src/assets/icons/LineInput.vue | 3 + src/assets/icons/Lock.vue | 3 + src/assets/icons/MultiInput.vue | 3 + src/assets/icons/NumberInput.vue | 3 + src/assets/icons/Radio.vue | 3 + src/assets/icons/Rate.vue | 3 + src/assets/icons/RowLayout.vue | 3 + src/assets/icons/Select.vue | 3 + src/assets/icons/Slider.vue | 3 + src/assets/icons/Switch.vue | 3 + src/assets/icons/TimePicker.vue | 3 + src/assets/icons/TimeRange.vue | 3 + src/assets/icons/UploadFile.vue | 3 + src/assets/icons/ZuJian.vue | 3 + src/components/piAsset/picker.vue | 16 +- src/components/piAsset/save.vue | 19 +- src/components/piEditor/ext/extImage.ts | 1 - src/views/monitor/crontab/save.vue | 5 +- src/views/tools/form/center.vue | 16 ++ src/views/tools/form/index.vue | 22 ++ src/views/tools/form/left.vue | 287 ++++++++++++++++++++++++ src/views/tools/form/right.vue | 13 ++ 30 files changed, 428 insertions(+), 17 deletions(-) create mode 100644 src/assets/icons/AssetChoice.vue create mode 100644 src/assets/icons/Button.vue create mode 100644 src/assets/icons/Cascader.vue create mode 100644 src/assets/icons/Checkbox.vue create mode 100644 src/assets/icons/ColorPicker.vue create mode 100644 src/assets/icons/DatePicker.vue create mode 100644 src/assets/icons/DateRange.vue create mode 100644 src/assets/icons/IconChoice.vue create mode 100644 src/assets/icons/LineInput.vue create mode 100644 src/assets/icons/Lock.vue create mode 100644 src/assets/icons/MultiInput.vue create mode 100644 src/assets/icons/NumberInput.vue create mode 100644 src/assets/icons/Radio.vue create mode 100644 src/assets/icons/Rate.vue create mode 100644 src/assets/icons/RowLayout.vue create mode 100644 src/assets/icons/Select.vue create mode 100644 src/assets/icons/Slider.vue create mode 100644 src/assets/icons/Switch.vue create mode 100644 src/assets/icons/TimePicker.vue create mode 100644 src/assets/icons/TimeRange.vue create mode 100644 src/assets/icons/UploadFile.vue create mode 100644 src/assets/icons/ZuJian.vue create mode 100644 src/views/tools/form/center.vue create mode 100644 src/views/tools/form/index.vue create mode 100644 src/views/tools/form/left.vue create mode 100644 src/views/tools/form/right.vue diff --git a/src/assets/icons/AssetChoice.vue b/src/assets/icons/AssetChoice.vue new file mode 100644 index 0000000..ea89e57 --- /dev/null +++ b/src/assets/icons/AssetChoice.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Button.vue b/src/assets/icons/Button.vue new file mode 100644 index 0000000..45da1be --- /dev/null +++ b/src/assets/icons/Button.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Cascader.vue b/src/assets/icons/Cascader.vue new file mode 100644 index 0000000..95047d8 --- /dev/null +++ b/src/assets/icons/Cascader.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Checkbox.vue b/src/assets/icons/Checkbox.vue new file mode 100644 index 0000000..5f80992 --- /dev/null +++ b/src/assets/icons/Checkbox.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/ColorPicker.vue b/src/assets/icons/ColorPicker.vue new file mode 100644 index 0000000..781fa50 --- /dev/null +++ b/src/assets/icons/ColorPicker.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/DatePicker.vue b/src/assets/icons/DatePicker.vue new file mode 100644 index 0000000..928a19b --- /dev/null +++ b/src/assets/icons/DatePicker.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/DateRange.vue b/src/assets/icons/DateRange.vue new file mode 100644 index 0000000..0758a8c --- /dev/null +++ b/src/assets/icons/DateRange.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/IconChoice.vue b/src/assets/icons/IconChoice.vue new file mode 100644 index 0000000..d896635 --- /dev/null +++ b/src/assets/icons/IconChoice.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/LineInput.vue b/src/assets/icons/LineInput.vue new file mode 100644 index 0000000..f62d388 --- /dev/null +++ b/src/assets/icons/LineInput.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Lock.vue b/src/assets/icons/Lock.vue new file mode 100644 index 0000000..c07ae6d --- /dev/null +++ b/src/assets/icons/Lock.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/MultiInput.vue b/src/assets/icons/MultiInput.vue new file mode 100644 index 0000000..611d0fd --- /dev/null +++ b/src/assets/icons/MultiInput.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/NumberInput.vue b/src/assets/icons/NumberInput.vue new file mode 100644 index 0000000..3cfcd6a --- /dev/null +++ b/src/assets/icons/NumberInput.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Radio.vue b/src/assets/icons/Radio.vue new file mode 100644 index 0000000..441353e --- /dev/null +++ b/src/assets/icons/Radio.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Rate.vue b/src/assets/icons/Rate.vue new file mode 100644 index 0000000..179dc21 --- /dev/null +++ b/src/assets/icons/Rate.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/RowLayout.vue b/src/assets/icons/RowLayout.vue new file mode 100644 index 0000000..194e34b --- /dev/null +++ b/src/assets/icons/RowLayout.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Select.vue b/src/assets/icons/Select.vue new file mode 100644 index 0000000..a4b72b0 --- /dev/null +++ b/src/assets/icons/Select.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Slider.vue b/src/assets/icons/Slider.vue new file mode 100644 index 0000000..7a817a6 --- /dev/null +++ b/src/assets/icons/Slider.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/Switch.vue b/src/assets/icons/Switch.vue new file mode 100644 index 0000000..2a8088d --- /dev/null +++ b/src/assets/icons/Switch.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/TimePicker.vue b/src/assets/icons/TimePicker.vue new file mode 100644 index 0000000..0df87df --- /dev/null +++ b/src/assets/icons/TimePicker.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/TimeRange.vue b/src/assets/icons/TimeRange.vue new file mode 100644 index 0000000..eb81a50 --- /dev/null +++ b/src/assets/icons/TimeRange.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/UploadFile.vue b/src/assets/icons/UploadFile.vue new file mode 100644 index 0000000..b18b459 --- /dev/null +++ b/src/assets/icons/UploadFile.vue @@ -0,0 +1,3 @@ + diff --git a/src/assets/icons/ZuJian.vue b/src/assets/icons/ZuJian.vue new file mode 100644 index 0000000..244a860 --- /dev/null +++ b/src/assets/icons/ZuJian.vue @@ -0,0 +1,3 @@ + diff --git a/src/components/piAsset/picker.vue b/src/components/piAsset/picker.vue index e7ac324..92419da 100644 --- a/src/components/piAsset/picker.vue +++ b/src/components/piAsset/picker.vue @@ -56,7 +56,7 @@

{{ file.name }}

-
@@ -110,7 +110,7 @@ import assetConfig from "@/config/asset" import saveDialog from "./save.vue"; import moveDialog from "./move.vue"; import * as imageConversion from 'image-conversion'; -import {ref, onMounted, nextTick, getCurrentInstance, computed} from "vue" +import {ref, onMounted, nextTick, getCurrentInstance} from "vue" import tools from "@/utils/tools" import config from "@/config" @@ -164,7 +164,7 @@ async function open() { async function getMenu() { menuLoading.value = true - const res = await assetConfig.menuListObj(); + const res = await assetConfig.menuListObj({type: props.type}); menu.value = tools.makeTreeData(res.data, 0, "category_id") menu.value.unshift({ 'category_id': 0, @@ -269,10 +269,12 @@ function moveFile() { async function moveSuccess(category_id) { const _value = JSON.parse(JSON.stringify(value.value)) - const ids = props.multiple ? _value.map(i=>i[assetConfig.fileProps.id]) :[ _value[assetConfig.fileProps.id]]; + const ids = props.multiple ? _value.map(i => i[assetConfig.fileProps.id]) : [_value[assetConfig.fileProps.id]]; if (!ids) return; const res = await assetConfig.moveFileObj({ids: ids, category_id: category_id}); proxy.$message.success(res.msg) + // 清空选中值 + value.value = props.multiple ? [] : '' getData() } @@ -348,14 +350,14 @@ function uploadError(err) { function editCategory(data) { dialog.value.save = true nextTick(() => { - saveRef.value.open('edit', menu.value, data) + saveRef.value.setType(props.type).setMenu(menu.value).open('edit', data) }) } function addCategory() { dialog.value.save = true nextTick(() => { - saveRef.value.open('add', menu.value, null, menuRef.value.getCurrentKey()) + saveRef.value.setType(props.type).setMenu(menu.value).open('add', null, menuRef.value.getCurrentKey()) }) } @@ -383,8 +385,6 @@ async function delCategory() { var node = menuRef.value.getNode(item) if (node == null) { reload() - } else if (node.isCurrent) { - saveRef.value.setData({}) } menuRef.value.remove(item) }) diff --git a/src/components/piAsset/save.vue b/src/components/piAsset/save.vue index ba4e7f4..3d3130c 100644 --- a/src/components/piAsset/save.vue +++ b/src/components/piAsset/save.vue @@ -25,6 +25,7 @@ import assetConfig from "@/config/asset" import {getCurrentInstance, ref} from "vue" defineExpose({ + setType, open }) @@ -45,7 +46,8 @@ let form = ref({ category_id: null, category_name: "", pid: 0, - rank: 1 + rank: 1, + type: "" }) let rules = ref({ category_name: [ @@ -59,12 +61,9 @@ let menuProps = ref({ checkStrictly: true }) -function open(_mode = 'add', _menu = null, data = null, pid=null) { +function open(_mode = 'add', data = null, pid = null) { mode.value = _mode; visible.value = true; - if (_menu) { - menu.value = _menu - } if (pid) { form.value.pid = pid } @@ -73,6 +72,16 @@ function open(_mode = 'add', _menu = null, data = null, pid=null) { } } +function setType(type) { + form.value.type = type + return {open, setMenu}; +} + +function setMenu(_menu) { + menu.value = _menu + return {open, setType}; +} + async function submit() { // 校验登录 const validate = await formRef.value.validate().catch(() => { diff --git a/src/components/piEditor/ext/extImage.ts b/src/components/piEditor/ext/extImage.ts index 7e2cfc9..62bbc7d 100644 --- a/src/components/piEditor/ext/extImage.ts +++ b/src/components/piEditor/ext/extImage.ts @@ -8,7 +8,6 @@ export default class ExtImage implements IButtonMenu{ // 执行逻辑 exec(editor: IDomEditor, value?: any) { - console.log(editor.getConfig()?.MENU_CONF?.headerSelect) const fn = editor.getConfig()?.MENU_CONF?.extImage?.callback if (fn) fn() } diff --git a/src/views/monitor/crontab/save.vue b/src/views/monitor/crontab/save.vue index d85b8f1..42a4e6d 100644 --- a/src/views/monitor/crontab/save.vue +++ b/src/views/monitor/crontab/save.vue @@ -1,5 +1,5 @@