From 4da6c7785693893ba6b7a7777768ead4cbca02b2 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Mon, 7 Nov 2022 19:01:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=B8=80=E4=BA=9B=E5=B0=8Fbu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/vite/plugin/index.ts | 5 ++ .../Form/src/hooks/useFormEvents.ts | 6 ++- .../components/modal/DeptSelectModal.vue | 9 +++- .../Form/src/jeecg/hooks/useSelectBiz.ts | 4 ++ .../JVxeTable/src/components/JVxeToolbar.vue | 3 +- .../jeecg/OnLine/JPopupOnlReport.vue | 18 ++++--- src/hooks/component/useFormItem.ts | 2 +- src/settings/registerThirdComp.ts | 2 +- src/views/demo/jeecg/PrintDemo.vue | 54 ++++++++++++++++++- .../jeecg/erplist/JeecgOrderCustomerList.vue | 3 ++ .../jeecg/erplist/JeecgOrderTicketList.vue | 3 ++ src/views/demo/jeecg/erplist/index.vue | 3 ++ src/views/system/position/position.data.ts | 1 + src/views/system/user/UserDrawer.vue | 9 +++- 14 files changed, 107 insertions(+), 15 deletions(-) diff --git a/build/vite/plugin/index.ts b/build/vite/plugin/index.ts index d3d40da..661eb4e 100644 --- a/build/vite/plugin/index.ts +++ b/build/vite/plugin/index.ts @@ -15,6 +15,8 @@ import { configVisualizerConfig } from './visualizer'; import { configThemePlugin } from './theme'; import { configImageminPlugin } from './imagemin'; import { configSvgIconsPlugin } from './svgSprite'; +import OptimizationPersist from 'vite-plugin-optimize-persist' +import PkgConfig from 'vite-plugin-package-config' export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { const { VITE_USE_IMAGEMIN, VITE_USE_MOCK, VITE_LEGACY, VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE } = viteEnv; @@ -71,5 +73,8 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { vitePlugins.push(configPwaConfig(viteEnv)); } + //vite-plugin-theme【解决vite首次打开界面加载慢问题】 + vitePlugins.push(PkgConfig()); + vitePlugins.push(OptimizationPersist()); return vitePlugins; } diff --git a/src/components/Form/src/hooks/useFormEvents.ts b/src/components/Form/src/hooks/useFormEvents.ts index f8eece2..3bb6664 100644 --- a/src/components/Form/src/hooks/useFormEvents.ts +++ b/src/components/Form/src/hooks/useFormEvents.ts @@ -251,7 +251,11 @@ export function useFormEvents({ const res = handleFormValues(values); emit('submit', res); } catch (error) { - throw new Error(error); + //update-begin-author:taoyan date:2022-11-4 for: 列表查询表单会触发校验错误导致重置失败,原因不明 + emit('submit', {}); + console.error('query form validate error, please ignore!', error) + //throw new Error(error); + //update-end-author:taoyan date:2022-11-4 for: 列表查询表单会触发校验错误导致重置失败,原因不明 } } diff --git a/src/components/Form/src/jeecg/components/modal/DeptSelectModal.vue b/src/components/Form/src/jeecg/components/modal/DeptSelectModal.vue index 28c600e..4c569e5 100644 --- a/src/components/Form/src/jeecg/components/modal/DeptSelectModal.vue +++ b/src/components/Form/src/jeecg/components/modal/DeptSelectModal.vue @@ -38,6 +38,7 @@ import { treeProps } from '/@/components/Form/src/jeecg/props/props'; import { BasicTree, TreeActionType } from '/@/components/Tree'; import { useTreeBiz } from '/@/components/Form/src/jeecg/hooks/useTreeBiz'; + import {propTypes} from "/@/utils/propTypes"; export default defineComponent({ name: 'DeptSelectModal', @@ -52,6 +53,7 @@ type: String, default: '部门选择', }, + value: propTypes.oneOfType([propTypes.string, propTypes.array]) }, emits: ['register', 'getSelectResult'], setup(props, { emit, refs }) { @@ -59,7 +61,12 @@ const [register, { closeModal }] = useModalInner(); const attrs = useAttrs(); const treeRef = ref>(null); - const getBindValue = Object.assign({}, unref(props), unref(attrs)); + + //update-begin-author:taoyan date:2022-10-28 for: 部门选择警告类型不匹配 + let propValue = props.value === ''?[]:props.value; + const getBindValue = Object.assign({}, unref(props), unref(attrs), {value: propValue}); + //update-end-author:taoyan date:2022-10-28 for: 部门选择警告类型不匹配 + const queryUrl = getQueryUrl(); const [{ visibleChange, checkedKeys, getCheckStrictly, getSelectTreeData, onCheck, onLoadData, treeData, checkALL, expandAll, onSelect }] = useTreeBiz(treeRef, queryUrl, getBindValue); diff --git a/src/components/Form/src/jeecg/hooks/useSelectBiz.ts b/src/components/Form/src/jeecg/hooks/useSelectBiz.ts index d743e7f..5d36216 100644 --- a/src/components/Form/src/jeecg/hooks/useSelectBiz.ts +++ b/src/components/Form/src/jeecg/hooks/useSelectBiz.ts @@ -68,6 +68,10 @@ export function useSelectBiz(getList, props) { columnWidth: 20, selectedRowKeys: checkedKeys, onChange: onSelectChange, + //update-begin-author:wangshuai---date:20221102--for: [VUEN-2562]用户选择,跨页选择后,只有当前页人员 --- + //table4.4.0新增属性选中之后是否清空上一页下一页的数据,默认false + preserveSelectedRowKeys:true, + //update-end-author:wangshuai---date:20221102--for: [VUEN-2562]用户选择,跨页选择后,只有当前页人员 --- }; /** diff --git a/src/components/jeecg/JVxeTable/src/components/JVxeToolbar.vue b/src/components/jeecg/JVxeTable/src/components/JVxeToolbar.vue index bc130c5..6a9fc8e 100644 --- a/src/components/jeecg/JVxeTable/src/components/JVxeToolbar.vue +++ b/src/components/jeecg/JVxeTable/src/components/JVxeToolbar.vue @@ -59,7 +59,8 @@ const collapsed = ref(true); // 配置的按钮 const btns = computed(() => { - let btns = props.toolbarConfig?.btn || ['add', 'remove', 'clearSelection']; + let { btn, btns } = props.toolbarConfig || {}; + btns = btn || btns || ['add', 'remove', 'clearSelection']; // 排除掉没有授权的按钮 return btns.filter((btn) => { // 系统默认的批量删除编码配置为 batch_delete 此处需要兼容一下 diff --git a/src/components/jeecg/OnLine/JPopupOnlReport.vue b/src/components/jeecg/OnLine/JPopupOnlReport.vue index 1f12d2e..a4db90f 100644 --- a/src/components/jeecg/OnLine/JPopupOnlReport.vue +++ b/src/components/jeecg/OnLine/JPopupOnlReport.vue @@ -5,22 +5,22 @@ - + - 重置 - 查询 + 查询 + 重置 {{ toggleSearchStatus ? '收起' : '展开' }} @@ -63,7 +63,8 @@ import { useAttrs } from '/@/hooks/core/useAttrs'; import { usePopBiz } from '/@/components/jeecg/OnLine/hooks/usePopBiz'; import { useMessage } from '/@/hooks/web/useMessage'; - + import { useRoute } from 'vue-router'; + export default defineComponent({ name: 'JPopupOnlReport', components: { @@ -89,7 +90,10 @@ const toggleSearchStatus = ref(false); const attrs = useAttrs(); const tableScroll = ref({ x: true }); - const getBindValue = Object.assign({}, unref(props), unref(attrs)); + const route = useRoute(); + console.log('route.query = ',route.query) + const getBindValue = Object.assign({}, {routeQuery: route.query}, unref(props), unref(attrs)); + const [ { visibleChange, diff --git a/src/hooks/component/useFormItem.ts b/src/hooks/component/useFormItem.ts index 1bc4ac0..900a073 100644 --- a/src/hooks/component/useFormItem.ts +++ b/src/hooks/component/useFormItem.ts @@ -29,7 +29,7 @@ export function useRuleFormItem(props: T, key: keyof T = ' const state: any = computed({ get() { //修复多选时空值显示问题 - return innerState.value === '' ? [] : innerState.value; + return !innerState.value || innerState.value === '' ? [] : innerState.value; }, set(value) { if (isEqual(value, defaultState.value)) return; diff --git a/src/settings/registerThirdComp.ts b/src/settings/registerThirdComp.ts index 3abfa78..2001a45 100644 --- a/src/settings/registerThirdComp.ts +++ b/src/settings/registerThirdComp.ts @@ -30,7 +30,7 @@ export async function registerThirdComp(app: App) { app.provide('$globalEmojiIndex', myEmojiIndex) //--------------------------------------------------------------------- // 注册全局dayjs - dayjs.locale('zh'); + dayjs.locale('zh-cn'); dayjs.extend(relativeTime); dayjs.extend(customParseFormat); app.config.globalProperties.$dayjs = dayjs diff --git a/src/views/demo/jeecg/PrintDemo.vue b/src/views/demo/jeecg/PrintDemo.vue index 987da1a..c5ff362 100644 --- a/src/views/demo/jeecg/PrintDemo.vue +++ b/src/views/demo/jeecg/PrintDemo.vue @@ -23,7 +23,59 @@ - 打印目的: + 打印目的1: + + + + 打印目的2: + + + + 打印目的3: + + + + 打印目的4: + + + + 打印目的5: + + + + 打印目的6: + + + + 打印目的7: + + + + 打印目的8: + + + + 打印目的9: + + + + 打印目的10: + + + + 打印目的11: + + + + 打印目的12: + + + + 打印目的13: + + + + 打印目的14: diff --git a/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue b/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue index 4e5bea3..bb64e22 100644 --- a/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue +++ b/src/views/demo/jeecg/erplist/JeecgOrderCustomerList.vue @@ -52,6 +52,9 @@ const { prefixCls, tableContext } = useListPage({ tableProps: { api: customList, + tableSetting:{ + cacheKey:'customer' + }, columns: customColumns, canResize: false, useSearchForm: false, diff --git a/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue b/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue index 8628487..0c15823 100644 --- a/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue +++ b/src/views/demo/jeecg/erplist/JeecgOrderTicketList.vue @@ -52,6 +52,9 @@ const { prefixCls, tableContext } = useListPage({ tableProps: { api: ticketList, + tableSetting:{ + cacheKey:'ticket' + }, columns: ticketColumns, canResize: false, useSearchForm: false, diff --git a/src/views/demo/jeecg/erplist/index.vue b/src/views/demo/jeecg/erplist/index.vue index b1219d2..29db61d 100644 --- a/src/views/demo/jeecg/erplist/index.vue +++ b/src/views/demo/jeecg/erplist/index.vue @@ -58,6 +58,9 @@ const { tableContext } = useListPage({ tableProps: { api: list, + tableSetting:{ + cacheKey:'erp_main' + }, columns: columns, canResize: false, rowSelection: { type: 'radio' }, diff --git a/src/views/system/position/position.data.ts b/src/views/system/position/position.data.ts index a7d9a64..cec59e2 100644 --- a/src/views/system/position/position.data.ts +++ b/src/views/system/position/position.data.ts @@ -46,6 +46,7 @@ export const formSchema: FormSchema[] = [ dropdownStyle: { maxHeight: '100vh', }, + getPopupContainer: () => document.body, }, }, { diff --git a/src/views/system/user/UserDrawer.vue b/src/views/system/user/UserDrawer.vue index f445ea5..3943b53 100644 --- a/src/views/system/user/UserDrawer.vue +++ b/src/views/system/user/UserDrawer.vue @@ -96,6 +96,10 @@ field: 'selecteddeparts', show: !data?.departDisabled ?? false, }, + { + field: 'selectedroles', + show: !data?.departDisabled ?? false, + }, ]); // 无论新增还是编辑,都可以设置表单值 if (typeof data.record === 'object') { @@ -118,12 +122,13 @@ let values = await validate(); setDrawerProps({ confirmLoading: true }); values.userIdentity === 1 && (values.departIds = ''); + let isUpdateVal = unref(isUpdate); //提交表单 - await saveOrUpdateUser(values, unref(isUpdate)); + await saveOrUpdateUser(values, isUpdateVal); //关闭弹窗 closeDrawer(); //刷新列表 - emit('success'); + emit('success',{isUpdateVal ,values}); } finally { setDrawerProps({ confirmLoading: false }); }