From feb30f7d8c53e861832caae70bda81eae90da594 Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Fri, 13 Sep 2024 12:00:55 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=A0=81=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/tool/gen/code-preview-modal.vue | 180 ++++++++++++++++++ apps/web-antd/src/views/tool/gen/index.vue | 19 +- apps/web-antd/src/views/tool/gen/preview.json | 23 +++ .../components/code-mirror/code-mirror.vue | 2 +- 4 files changed, 219 insertions(+), 5 deletions(-) create mode 100644 apps/web-antd/src/views/tool/gen/code-preview-modal.vue create mode 100644 apps/web-antd/src/views/tool/gen/preview.json diff --git a/apps/web-antd/src/views/tool/gen/code-preview-modal.vue b/apps/web-antd/src/views/tool/gen/code-preview-modal.vue new file mode 100644 index 00000000..6effc10b --- /dev/null +++ b/apps/web-antd/src/views/tool/gen/code-preview-modal.vue @@ -0,0 +1,180 @@ + + + + + diff --git a/apps/web-antd/src/views/tool/gen/index.vue b/apps/web-antd/src/views/tool/gen/index.vue index 06372a15..6b5d5a74 100644 --- a/apps/web-antd/src/views/tool/gen/index.vue +++ b/apps/web-antd/src/views/tool/gen/index.vue @@ -1,9 +1,20 @@ diff --git a/apps/web-antd/src/views/tool/gen/preview.json b/apps/web-antd/src/views/tool/gen/preview.json new file mode 100644 index 00000000..88dc5d2f --- /dev/null +++ b/apps/web-antd/src/views/tool/gen/preview.json @@ -0,0 +1,23 @@ +{ + "code": 200, + "msg": "操作成功", + "data": { + "vm/java/domain.java.vm": "package org.dromara.system.domain;\n\nimport org.dromara.common.tenant.core.TenantEntity;\nimport com.baomidou.mybatisplus.annotation.*;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\n\nimport java.io.Serial;\n\n/**\n * 通知公告对象 sys_notice\n *\n * @author Lion Li\n * @date 2024-09-13\n */\n@Data\n@EqualsAndHashCode(callSuper = true)\n@TableName(\"sys_notice\")\npublic class SysNotice extends TenantEntity {\n\n @Serial\n private static final long serialVersionUID = 1L;\n\n /**\n * 公告ID\n */\n @TableId(value = \"notice_id\")\n private Long noticeId;\n\n /**\n * 公告标题\n */\n private String noticeTitle;\n\n /**\n * 公告类型(1通知 2公告)\n */\n private String noticeType;\n\n /**\n * 公告内容\n */\n private String noticeContent;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n private String status;\n\n /**\n * 备注\n */\n private String remark;\n\n\n}\n", + "vm/java/vo.java.vm": "package org.dromara.system.domain.vo;\n\nimport org.dromara.system.domain.SysNotice;\nimport com.alibaba.excel.annotation.ExcelIgnoreUnannotated;\nimport com.alibaba.excel.annotation.ExcelProperty;\nimport org.dromara.common.excel.annotation.ExcelDictFormat;\nimport org.dromara.common.excel.convert.ExcelDictConvert;\nimport io.github.linpeilie.annotations.AutoMapper;\nimport lombok.Data;\n\nimport java.io.Serial;\nimport java.io.Serializable;\nimport java.util.Date;\n\n\n\n/**\n * 通知公告视图对象 sys_notice\n *\n * @author Lion Li\n * @date 2024-09-13\n */\n@Data\n@ExcelIgnoreUnannotated\n@AutoMapper(target = SysNotice.class)\npublic class SysNoticeVo implements Serializable {\n\n @Serial\n private static final long serialVersionUID = 1L;\n\n /**\n * 公告ID\n */\n @ExcelProperty(value = \"公告ID\")\n private Long noticeId;\n\n /**\n * 公告标题\n */\n @ExcelProperty(value = \"公告标题\")\n private String noticeTitle;\n\n /**\n * 公告类型(1通知 2公告)\n */\n @ExcelProperty(value = \"公告类型\", converter = ExcelDictConvert.class)\n @ExcelDictFormat(readConverterExp = \"1=通知,2=公告\")\n private String noticeType;\n\n /**\n * 公告内容\n */\n @ExcelProperty(value = \"公告内容\")\n private String noticeContent;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n @ExcelProperty(value = \"公告状态\", converter = ExcelDictConvert.class)\n @ExcelDictFormat(readConverterExp = \"0=正常,1=关闭\")\n private String status;\n\n /**\n * 备注\n */\n @ExcelProperty(value = \"备注\")\n private String remark;\n\n\n}\n", + "vm/java/bo.java.vm": "package org.dromara.system.domain.bo;\n\nimport org.dromara.system.domain.SysNotice;\nimport org.dromara.common.mybatis.core.domain.BaseEntity;\nimport org.dromara.common.core.validate.AddGroup;\nimport org.dromara.common.core.validate.EditGroup;\nimport io.github.linpeilie.annotations.AutoMapper;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\nimport jakarta.validation.constraints.*;\n\n/**\n * 通知公告业务对象 sys_notice\n *\n * @author Lion Li\n * @date 2024-09-13\n */\n@Data\n@EqualsAndHashCode(callSuper = true)\n@AutoMapper(target = SysNotice.class, reverseConvertGenerate = false)\npublic class SysNoticeBo extends BaseEntity {\n\n /**\n * 公告ID\n */\n @NotNull(message = \"公告ID不能为空\", groups = { EditGroup.class })\n private Long noticeId;\n\n /**\n * 公告标题\n */\n @NotBlank(message = \"公告标题不能为空\", groups = { AddGroup.class, EditGroup.class })\n private String noticeTitle;\n\n /**\n * 公告类型(1通知 2公告)\n */\n @NotBlank(message = \"公告类型(1通知 2公告)不能为空\", groups = { AddGroup.class, EditGroup.class })\n private String noticeType;\n\n /**\n * 公告内容\n */\n @NotBlank(message = \"公告内容不能为空\", groups = { AddGroup.class, EditGroup.class })\n private String noticeContent;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n @NotBlank(message = \"公告状态(0正常 1关闭)不能为空\", groups = { AddGroup.class, EditGroup.class })\n private String status;\n\n /**\n * 备注\n */\n @NotBlank(message = \"备注不能为空\", groups = { AddGroup.class, EditGroup.class })\n private String remark;\n\n\n}\n", + "vm/java/mapper.java.vm": "package org.dromara.system.mapper;\n\nimport org.dromara.system.domain.SysNotice;\nimport org.dromara.system.domain.vo.SysNoticeVo;\nimport org.dromara.common.mybatis.core.mapper.BaseMapperPlus;\n\n/**\n * 通知公告Mapper接口\n *\n * @author Lion Li\n * @date 2024-09-13\n */\npublic interface SysNoticeMapper extends BaseMapperPlus {\n\n}\n", + "vm/java/service.java.vm": "package org.dromara.system.service;\n\nimport org.dromara.system.domain.vo.SysNoticeVo;\nimport org.dromara.system.domain.bo.SysNoticeBo;\nimport org.dromara.common.mybatis.core.page.TableDataInfo;\nimport org.dromara.common.mybatis.core.page.PageQuery;\n\nimport java.util.Collection;\nimport java.util.List;\n\n/**\n * 通知公告Service接口\n *\n * @author Lion Li\n * @date 2024-09-13\n */\npublic interface ISysNoticeService {\n\n /**\n * 查询通知公告\n *\n * @param noticeId 主键\n * @return 通知公告\n */\n SysNoticeVo queryById(Long noticeId);\n\n /**\n * 分页查询通知公告列表\n *\n * @param bo 查询条件\n * @param pageQuery 分页参数\n * @return 通知公告分页列表\n */\n TableDataInfo queryPageList(SysNoticeBo bo, PageQuery pageQuery);\n\n /**\n * 查询符合条件的通知公告列表\n *\n * @param bo 查询条件\n * @return 通知公告列表\n */\n List queryList(SysNoticeBo bo);\n\n /**\n * 新增通知公告\n *\n * @param bo 通知公告\n * @return 是否新增成功\n */\n Boolean insertByBo(SysNoticeBo bo);\n\n /**\n * 修改通知公告\n *\n * @param bo 通知公告\n * @return 是否修改成功\n */\n Boolean updateByBo(SysNoticeBo bo);\n\n /**\n * 校验并批量删除通知公告信息\n *\n * @param ids 待删除的主键集合\n * @param isValid 是否进行有效性校验\n * @return 是否删除成功\n */\n Boolean deleteWithValidByIds(Collection ids, Boolean isValid);\n}\n", + "vm/java/serviceImpl.java.vm": "package org.dromara.system.service.impl;\n\nimport org.dromara.common.core.utils.MapstructUtils;\nimport org.dromara.common.core.utils.StringUtils;\nimport org.dromara.common.mybatis.core.page.TableDataInfo;\nimport org.dromara.common.mybatis.core.page.PageQuery;\nimport com.baomidou.mybatisplus.extension.plugins.pagination.Page;\nimport com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;\nimport com.baomidou.mybatisplus.core.toolkit.Wrappers;\nimport lombok.RequiredArgsConstructor;\nimport org.springframework.stereotype.Service;\nimport org.dromara.system.domain.bo.SysNoticeBo;\nimport org.dromara.system.domain.vo.SysNoticeVo;\nimport org.dromara.system.domain.SysNotice;\nimport org.dromara.system.mapper.SysNoticeMapper;\nimport org.dromara.system.service.ISysNoticeService;\n\nimport java.util.List;\nimport java.util.Map;\nimport java.util.Collection;\n\n/**\n * 通知公告Service业务层处理\n *\n * @author Lion Li\n * @date 2024-09-13\n */\n@RequiredArgsConstructor\n@Service\npublic class SysNoticeServiceImpl implements ISysNoticeService {\n\n private final SysNoticeMapper baseMapper;\n\n /**\n * 查询通知公告\n *\n * @param noticeId 主键\n * @return 通知公告\n */\n @Override\n public SysNoticeVo queryById(Long noticeId){\n return baseMapper.selectVoById(noticeId);\n }\n\n /**\n * 分页查询通知公告列表\n *\n * @param bo 查询条件\n * @param pageQuery 分页参数\n * @return 通知公告分页列表\n */\n @Override\n public TableDataInfo queryPageList(SysNoticeBo bo, PageQuery pageQuery) {\n LambdaQueryWrapper lqw = buildQueryWrapper(bo);\n Page result = baseMapper.selectVoPage(pageQuery.build(), lqw);\n return TableDataInfo.build(result);\n }\n\n /**\n * 查询符合条件的通知公告列表\n *\n * @param bo 查询条件\n * @return 通知公告列表\n */\n @Override\n public List queryList(SysNoticeBo bo) {\n LambdaQueryWrapper lqw = buildQueryWrapper(bo);\n return baseMapper.selectVoList(lqw);\n }\n\n private LambdaQueryWrapper buildQueryWrapper(SysNoticeBo bo) {\n Map params = bo.getParams();\n LambdaQueryWrapper lqw = Wrappers.lambdaQuery();\n lqw.eq(StringUtils.isNotBlank(bo.getNoticeTitle()), SysNotice::getNoticeTitle, bo.getNoticeTitle());\n lqw.eq(StringUtils.isNotBlank(bo.getNoticeType()), SysNotice::getNoticeType, bo.getNoticeType());\n lqw.eq(StringUtils.isNotBlank(bo.getNoticeContent()), SysNotice::getNoticeContent, bo.getNoticeContent());\n lqw.eq(StringUtils.isNotBlank(bo.getStatus()), SysNotice::getStatus, bo.getStatus());\n return lqw;\n }\n\n /**\n * 新增通知公告\n *\n * @param bo 通知公告\n * @return 是否新增成功\n */\n @Override\n public Boolean insertByBo(SysNoticeBo bo) {\n SysNotice add = MapstructUtils.convert(bo, SysNotice.class);\n validEntityBeforeSave(add);\n boolean flag = baseMapper.insert(add) > 0;\n if (flag) {\n bo.setNoticeId(add.getNoticeId());\n }\n return flag;\n }\n\n /**\n * 修改通知公告\n *\n * @param bo 通知公告\n * @return 是否修改成功\n */\n @Override\n public Boolean updateByBo(SysNoticeBo bo) {\n SysNotice update = MapstructUtils.convert(bo, SysNotice.class);\n validEntityBeforeSave(update);\n return baseMapper.updateById(update) > 0;\n }\n\n /**\n * 保存前的数据校验\n */\n private void validEntityBeforeSave(SysNotice entity){\n //TODO 做一些数据校验,如唯一约束\n }\n\n /**\n * 校验并批量删除通知公告信息\n *\n * @param ids 待删除的主键集合\n * @param isValid 是否进行有效性校验\n * @return 是否删除成功\n */\n @Override\n public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {\n if(isValid){\n //TODO 做一些业务上的校验,判断是否需要校验\n }\n return baseMapper.deleteByIds(ids) > 0;\n }\n}\n", + "vm/java/controller.java.vm": "package org.dromara.system.controller;\n\nimport java.util.List;\n\nimport lombok.RequiredArgsConstructor;\nimport jakarta.servlet.http.HttpServletResponse;\nimport jakarta.validation.constraints.*;\nimport cn.dev33.satoken.annotation.SaCheckPermission;\nimport org.springframework.web.bind.annotation.*;\nimport org.springframework.validation.annotation.Validated;\nimport org.dromara.common.idempotent.annotation.RepeatSubmit;\nimport org.dromara.common.log.annotation.Log;\nimport org.dromara.common.web.core.BaseController;\nimport org.dromara.common.mybatis.core.page.PageQuery;\nimport org.dromara.common.core.domain.R;\nimport org.dromara.common.core.validate.AddGroup;\nimport org.dromara.common.core.validate.EditGroup;\nimport org.dromara.common.log.enums.BusinessType;\nimport org.dromara.common.excel.utils.ExcelUtil;\nimport org.dromara.system.domain.vo.SysNoticeVo;\nimport org.dromara.system.domain.bo.SysNoticeBo;\nimport org.dromara.system.service.ISysNoticeService;\nimport org.dromara.common.mybatis.core.page.TableDataInfo;\n\n/**\n * 通知公告\n *\n * @author Lion Li\n * @date 2024-09-13\n */\n@Validated\n@RequiredArgsConstructor\n@RestController\n@RequestMapping(\"/system/notice\")\npublic class SysNoticeController extends BaseController {\n\n private final ISysNoticeService sysNoticeService;\n\n /**\n * 查询通知公告列表\n */\n @SaCheckPermission(\"system:notice:list\")\n @GetMapping(\"/list\")\n public TableDataInfo list(SysNoticeBo bo, PageQuery pageQuery) {\n return sysNoticeService.queryPageList(bo, pageQuery);\n }\n\n /**\n * 导出通知公告列表\n */\n @SaCheckPermission(\"system:notice:export\")\n @Log(title = \"通知公告\", businessType = BusinessType.EXPORT)\n @PostMapping(\"/export\")\n public void export(SysNoticeBo bo, HttpServletResponse response) {\n List list = sysNoticeService.queryList(bo);\n ExcelUtil.exportExcel(list, \"通知公告\", SysNoticeVo.class, response);\n }\n\n /**\n * 获取通知公告详细信息\n *\n * @param noticeId 主键\n */\n @SaCheckPermission(\"system:notice:query\")\n @GetMapping(\"/{noticeId}\")\n public R getInfo(@NotNull(message = \"主键不能为空\")\n @PathVariable Long noticeId) {\n return R.ok(sysNoticeService.queryById(noticeId));\n }\n\n /**\n * 新增通知公告\n */\n @SaCheckPermission(\"system:notice:add\")\n @Log(title = \"通知公告\", businessType = BusinessType.INSERT)\n @RepeatSubmit()\n @PostMapping()\n public R add(@Validated(AddGroup.class) @RequestBody SysNoticeBo bo) {\n return toAjax(sysNoticeService.insertByBo(bo));\n }\n\n /**\n * 修改通知公告\n */\n @SaCheckPermission(\"system:notice:edit\")\n @Log(title = \"通知公告\", businessType = BusinessType.UPDATE)\n @RepeatSubmit()\n @PutMapping()\n public R edit(@Validated(EditGroup.class) @RequestBody SysNoticeBo bo) {\n return toAjax(sysNoticeService.updateByBo(bo));\n }\n\n /**\n * 删除通知公告\n *\n * @param noticeIds 主键串\n */\n @SaCheckPermission(\"system:notice:remove\")\n @Log(title = \"通知公告\", businessType = BusinessType.DELETE)\n @DeleteMapping(\"/{noticeIds}\")\n public R remove(@NotEmpty(message = \"主键不能为空\")\n @PathVariable Long[] noticeIds) {\n return toAjax(sysNoticeService.deleteWithValidByIds(List.of(noticeIds), true));\n }\n}\n", + "vm/xml/mapper.xml.vm": "\n\n\n\n\n", + "vm/sql/sql.vm": "-- 菜单 SQL\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)\nvalues(1834422614669983745, '通知公告', '3', '1', 'notice', 'system/notice/index', 1, 0, 'C', '0', '0', 'system:notice:list', '#', 103, 1, sysdate(), null, null, '通知公告菜单');\n\n-- 按钮 SQL\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)\nvalues(1834422614669983746, '通知公告查询', 1834422614669983745, '1', '#', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 103, 1, sysdate(), null, null, '');\n\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)\nvalues(1834422614669983747, '通知公告新增', 1834422614669983745, '2', '#', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 103, 1, sysdate(), null, null, '');\n\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)\nvalues(1834422614669983748, '通知公告修改', 1834422614669983745, '3', '#', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 103, 1, sysdate(), null, null, '');\n\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)\nvalues(1834422614669983749, '通知公告删除', 1834422614669983745, '4', '#', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 103, 1, sysdate(), null, null, '');\n\ninsert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)\nvalues(1834422614669983750, '通知公告导出', 1834422614669983745, '5', '#', '', 1, 0, 'F', '0', '0', 'system:notice:export', '#', 103, 1, sysdate(), null, null, '');\n", + "vm/ts/api.ts.vm": "import request from '@/utils/request';\nimport { AxiosPromise } from 'axios';\nimport { NoticeVO, NoticeForm, NoticeQuery } from '@/api/system/notice/types';\n\n/**\n * 查询通知公告列表\n * @param query\n * @returns {*}\n */\n\nexport const listNotice = (query?: NoticeQuery): AxiosPromise => {\n return request({\n url: '/system/notice/list',\n method: 'get',\n params: query\n });\n};\n\n/**\n * 查询通知公告详细\n * @param noticeId\n */\nexport const getNotice = (noticeId: string | number): AxiosPromise => {\n return request({\n url: '/system/notice/' + noticeId,\n method: 'get'\n });\n};\n\n/**\n * 新增通知公告\n * @param data\n */\nexport const addNotice = (data: NoticeForm) => {\n return request({\n url: '/system/notice',\n method: 'post',\n data: data\n });\n};\n\n/**\n * 修改通知公告\n * @param data\n */\nexport const updateNotice = (data: NoticeForm) => {\n return request({\n url: '/system/notice',\n method: 'put',\n data: data\n });\n};\n\n/**\n * 删除通知公告\n * @param noticeId\n */\nexport const delNotice = (noticeId: string | number | Array) => {\n return request({\n url: '/system/notice/' + noticeId,\n method: 'delete'\n });\n};\n", + "vm/ts/types.ts.vm": "export interface NoticeVO {\n /**\n * 公告ID\n */\n noticeId: string | number;\n\n /**\n * 公告标题\n */\n noticeTitle: string;\n\n /**\n * 公告类型(1通知 2公告)\n */\n noticeType: string;\n\n /**\n * 公告内容\n */\n noticeContent: string;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n status: string;\n\n /**\n * 备注\n */\n remark: string;\n\n}\n\nexport interface NoticeForm extends BaseEntity {\n /**\n * 公告ID\n */\n noticeId?: string | number;\n\n /**\n * 公告标题\n */\n noticeTitle?: string;\n\n /**\n * 公告类型(1通知 2公告)\n */\n noticeType?: string;\n\n /**\n * 公告内容\n */\n noticeContent?: string;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n status?: string;\n\n /**\n * 备注\n */\n remark?: string;\n\n}\n\nexport interface NoticeQuery extends PageQuery {\n\n /**\n * 公告标题\n */\n noticeTitle?: string;\n\n /**\n * 公告类型(1通知 2公告)\n */\n noticeType?: string;\n\n /**\n * 公告内容\n */\n noticeContent?: string;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n status?: string;\n\n /**\n * 日期范围参数\n */\n params?: any;\n}\n\n\n\n", + "vm/vue/index.vue.vm": "\n\n\n", + "vm/vben/api/index.ts.vm": "import { defHttp } from '@/utils/http/axios';\nimport { ID, IDS, commonExport } from '@/api/base';\nimport { NoticeVO, NoticeForm, NoticeQuery } from './model';\n\n/**\n * 查询通知公告列表\n * @param params\n * @returns\n */\nexport function noticeList(params?: NoticeQuery) {\n return defHttp.get({ url: '/system/notice/list', params });\n}\n\n/**\n * 导出通知公告列表\n * @param params\n * @returns\n */\nexport function noticeExport(params?: NoticeQuery) {\n return commonExport('/system/notice/export', params ?? {});\n}\n\n/**\n * 查询通知公告详细\n * @param noticeId id\n * @returns\n */\nexport function noticeInfo(noticeId: ID) {\n return defHttp.get({ url: '/system/notice/' + noticeId });\n}\n\n/**\n * 新增通知公告\n * @param data\n * @returns\n */\nexport function noticeAdd(data: NoticeForm) {\n return defHttp.postWithMsg({ url: '/system/notice', data });\n}\n\n/**\n * 更新通知公告\n * @param data\n * @returns\n */\nexport function noticeUpdate(data: NoticeForm) {\n return defHttp.putWithMsg({ url: '/system/notice', data });\n}\n\n/**\n * 删除通知公告\n * @param noticeId id\n * @returns\n */\nexport function noticeRemove(noticeId: ID | IDS) {\n return defHttp.deleteWithMsg({ url: '/system/notice/' + noticeId });\n}\n", + "vm/vben/api/model.ts.vm": "import { BaseEntity, PageQuery } from '@/api/base';\n\nexport interface NoticeVO {\n /**\n * 公告ID\n */\n noticeId: string | number;\n\n /**\n * 公告标题\n */\n noticeTitle: string;\n\n /**\n * 公告类型(1通知 2公告)\n */\n noticeType: string;\n\n /**\n * 公告内容\n */\n noticeContent: string;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n status: string;\n\n /**\n * 备注\n */\n remark: string;\n\n}\n\nexport interface NoticeForm extends BaseEntity {\n /**\n * 公告ID\n */\n noticeId?: string | number;\n\n /**\n * 公告标题\n */\n noticeTitle?: string;\n\n /**\n * 公告类型(1通知 2公告)\n */\n noticeType?: string;\n\n /**\n * 公告内容\n */\n noticeContent?: string;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n status?: string;\n\n /**\n * 备注\n */\n remark?: string;\n\n}\n\nexport interface NoticeQuery extends PageQuery {\n /**\n * 公告标题\n */\n noticeTitle?: string;\n\n /**\n * 公告类型(1通知 2公告)\n */\n noticeType?: string;\n\n /**\n * 公告内容\n */\n noticeContent?: string;\n\n /**\n * 公告状态(0正常 1关闭)\n */\n status?: string;\n\n /**\n * 日期范围参数\n */\n params?: any;\n}\n", + "vm/vben/views/data.ts.vm": "import { BasicColumn } from '@/components/Table';\nimport { FormSchema } from '@/components/Form';\n\nexport const formSchemas: FormSchema[] = [\n {\n label: '公告标题',\n field: 'noticeTitle',\n component: 'Input',\n },\n {\n label: '公告类型',\n field: 'noticeType',\n component: 'Select',\n },\n {\n label: '公告内容',\n field: 'noticeContent',\n component: 'Input',\n },\n {\n label: '公告状态',\n field: 'status',\n component: 'RadioButtonGroup',\n },\n];\n\nexport const columns: BasicColumn[] = [\n {\n title: '公告ID',\n dataIndex: 'noticeId',\n },\n {\n title: '公告标题',\n dataIndex: 'noticeTitle',\n },\n {\n title: '公告类型',\n dataIndex: 'noticeType',\n },\n {\n title: '公告内容',\n dataIndex: 'noticeContent',\n },\n {\n title: '公告状态',\n dataIndex: 'status',\n },\n {\n title: '备注',\n dataIndex: 'remark',\n },\n];\n\nexport const modalSchemas: FormSchema[] = [\n {\n label: '公告ID',\n field: 'noticeId',\n required: false,\n component: 'Input',\n show: false,\n },\n {\n label: '公告标题',\n field: 'noticeTitle',\n required: true,\n component: 'Input',\n },\n {\n label: '公告类型',\n field: 'noticeType',\n required: true,\n component: 'Select',\n },\n {\n label: '公告内容',\n field: 'noticeContent',\n required: true,\n component: 'RichTextarea',\n /**\n * 注意 好像没啥可写的\n */\n componentProps: {\n // 没啥可写的\n }, \n },\n {\n label: '公告状态',\n field: 'status',\n required: true,\n component: 'RadioButtonGroup',\n },\n {\n label: '备注',\n field: 'remark',\n required: true,\n component: 'Input',\n },\n];\n", + "vm/vben/views/index_vben.vue.vm": "\n\n\n\n\n", + "vm/vben/views/modal.vue.vm": "\n\n\n\n\n" + } +} diff --git a/packages/effects/common-ui/src/components/code-mirror/code-mirror.vue b/packages/effects/common-ui/src/components/code-mirror/code-mirror.vue index 5fba4896..a449f08e 100644 --- a/packages/effects/common-ui/src/components/code-mirror/code-mirror.vue +++ b/packages/effects/common-ui/src/components/code-mirror/code-mirror.vue @@ -18,7 +18,7 @@ const props = withDefaults( /** * 只读 */ - readonly: boolean; + readonly?: boolean; }>(), { language: 'js',