Commit 88244ae542ded48c8e40e53186b3a36aa0b5ba55
1 parent
0e1f79ab
fix:检查修复了之前字段有些验证失效问题,修复了账号管理的租户管理员用户名需要显示已经存在问题,修复组织管理默认展开,修复了消息模板邮件里面的有些字段为数组问题
Showing
35 changed files
with
254 additions
and
797 deletions
| @@ -41,6 +41,8 @@ export interface TenantPageRequestParams extends BaseQueryParams { | @@ -41,6 +41,8 @@ export interface TenantPageRequestParams extends BaseQueryParams { | ||
| 41 | export interface TenantAdminPageRequestParams extends BaseQueryParams { | 41 | export interface TenantAdminPageRequestParams extends BaseQueryParams { |
| 42 | realName?: string; | 42 | realName?: string; |
| 43 | tenantCode: string; | 43 | tenantCode: string; |
| 44 | + tenantId?: string; | ||
| 45 | + roleType?: string; | ||
| 44 | } | 46 | } |
| 45 | 47 | ||
| 46 | export interface tenantProfileDTO { | 48 | export interface tenantProfileDTO { |
| @@ -33,7 +33,7 @@ | @@ -33,7 +33,7 @@ | ||
| 33 | :before-upload="beforeUploadqrcodePic" | 33 | :before-upload="beforeUploadqrcodePic" |
| 34 | > | 34 | > |
| 35 | <img | 35 | <img |
| 36 | - style="text-align: center; border-radius: 50%; width: 10vw; height: 15vh" | 36 | + style="text-align: center; border-radius: 50%; width: 8vw; height: 15vh" |
| 37 | v-if="peresonalPic" | 37 | v-if="peresonalPic" |
| 38 | :src="peresonalPic" | 38 | :src="peresonalPic" |
| 39 | alt="avatar" | 39 | alt="avatar" |
| @@ -92,6 +92,7 @@ | @@ -92,6 +92,7 @@ | ||
| 92 | import { Upload } from 'ant-design-vue'; | 92 | import { Upload } from 'ant-design-vue'; |
| 93 | import { PlusOutlined } from '@ant-design/icons-vue'; | 93 | import { PlusOutlined } from '@ant-design/icons-vue'; |
| 94 | import type { FileItem } from '/@/components/Upload/src/typing'; | 94 | import type { FileItem } from '/@/components/Upload/src/typing'; |
| 95 | + import { useUserStore } from '/@/store/modules/user'; | ||
| 95 | 96 | ||
| 96 | const schema: DescItem[] = [ | 97 | const schema: DescItem[] = [ |
| 97 | { | 98 | { |
| @@ -124,12 +125,16 @@ | @@ -124,12 +125,16 @@ | ||
| 124 | components: { BasicModal, BasicForm, Description, Upload, PlusOutlined }, | 125 | components: { BasicModal, BasicForm, Description, Upload, PlusOutlined }, |
| 125 | emits: ['refreshPersonl', 'register'], | 126 | emits: ['refreshPersonl', 'register'], |
| 126 | setup(_, { emit }) { | 127 | setup(_, { emit }) { |
| 128 | + // const userStore = useUserStore(); | ||
| 127 | const userInfo = getAuthCache(USER_INFO_KEY); | 129 | const userInfo = getAuthCache(USER_INFO_KEY); |
| 128 | const { createMessage } = useMessage(); | 130 | const { createMessage } = useMessage(); |
| 129 | const getPersonalValue: any = ref({}); | 131 | const getPersonalValue: any = ref({}); |
| 130 | const getPersonalDetailValue: any = ref({}); | 132 | const getPersonalDetailValue: any = ref({}); |
| 131 | const updatePersonalData: any = ref({}); | 133 | const updatePersonalData: any = ref({}); |
| 132 | const getBackendV: any = ref({}); | 134 | const getBackendV: any = ref({}); |
| 135 | + const getData: any = ref({}); | ||
| 136 | + const updataPersonlData: any = ref({}); | ||
| 137 | + // const getUpdateUserInfo: any = ref({}); | ||
| 133 | const [registerDesc] = useDescription({ | 138 | const [registerDesc] = useDescription({ |
| 134 | title: '个人详情', | 139 | title: '个人详情', |
| 135 | schema: schema, | 140 | schema: schema, |
| @@ -164,16 +169,37 @@ | @@ -164,16 +169,37 @@ | ||
| 164 | showActionButtonGroup: false, | 169 | showActionButtonGroup: false, |
| 165 | schemas: formSchema, | 170 | schemas: formSchema, |
| 166 | }); | 171 | }); |
| 172 | + const refreshCacheGetData = () => { | ||
| 173 | + const getItem = window.localStorage.getItem('updateUserInfo'); | ||
| 174 | + const newItem = JSON.parse(getItem); | ||
| 175 | + updataPersonlData.value = newItem; | ||
| 176 | + }; | ||
| 167 | 177 | ||
| 168 | const [registerModal, { closeModal }] = useModalInner(async (data) => { | 178 | const [registerModal, { closeModal }] = useModalInner(async (data) => { |
| 169 | - (peresonalPic.value = data.userInfo.avatar), | ||
| 170 | - setFieldsValue({ | ||
| 171 | - realName: data.userInfo.realName, | ||
| 172 | - phoneNumber: data.userInfo.phoneNumber, | ||
| 173 | - email: data.userInfo.email, | ||
| 174 | - }); | ||
| 175 | - if (data.userInfo) { | ||
| 176 | - getPersonalDetailValue.value = data.userInfo; | 179 | + refreshCacheGetData(); |
| 180 | + console.log(updataPersonlData.value); | ||
| 181 | + try { | ||
| 182 | + if (updataPersonlData.value != null) { | ||
| 183 | + (peresonalPic.value = updataPersonlData.value.avatar), | ||
| 184 | + setFieldsValue({ | ||
| 185 | + realName: updataPersonlData.value.realName, | ||
| 186 | + phoneNumber: updataPersonlData.value.phoneNumber, | ||
| 187 | + email: updataPersonlData.value.email, | ||
| 188 | + }); | ||
| 189 | + getPersonalDetailValue.value = updataPersonlData.value; | ||
| 190 | + } else { | ||
| 191 | + if (data.userInfo) { | ||
| 192 | + getPersonalDetailValue.value = data.userInfo; | ||
| 193 | + peresonalPic.value = data.userInfo.avatar; | ||
| 194 | + setFieldsValue({ | ||
| 195 | + realName: data.userInfo.realName, | ||
| 196 | + phoneNumber: data.userInfo.phoneNumber, | ||
| 197 | + email: data.userInfo.email, | ||
| 198 | + }); | ||
| 199 | + } | ||
| 200 | + } | ||
| 201 | + } catch (e) { | ||
| 202 | + return e; | ||
| 177 | } | 203 | } |
| 178 | if (Object.keys(updatePersonalData.value).length != 0) { | 204 | if (Object.keys(updatePersonalData.value).length != 0) { |
| 179 | getPersonalDetailValue.value = updatePersonalData.value; | 205 | getPersonalDetailValue.value = updatePersonalData.value; |
| @@ -191,9 +217,11 @@ | @@ -191,9 +217,11 @@ | ||
| 191 | getPersonalValue.value.id = getUserInfo.userId; | 217 | getPersonalValue.value.id = getUserInfo.userId; |
| 192 | getPersonalValue.value.username = getBackendV.value.username; | 218 | getPersonalValue.value.username = getBackendV.value.username; |
| 193 | getPersonalValue.value.avatar = peresonalPic.value; | 219 | getPersonalValue.value.avatar = peresonalPic.value; |
| 194 | - const data = await personalPut(getPersonalValue.value); | ||
| 195 | - updatePersonalData.value = data; | 220 | + getData.value = await personalPut(getPersonalValue.value); |
| 221 | + updatePersonalData.value = getData.value; | ||
| 196 | createMessage.success('修改成功'); | 222 | createMessage.success('修改成功'); |
| 223 | + const setUpdateUserInfo = JSON.stringify(getData.value); | ||
| 224 | + window.localStorage.setItem('updateUserInfo', setUpdateUserInfo); | ||
| 197 | closeModal(); | 225 | closeModal(); |
| 198 | resetFields(); | 226 | resetFields(); |
| 199 | emit('refreshPersonl', updatePersonalData.value); | 227 | emit('refreshPersonl', updatePersonalData.value); |
| @@ -221,7 +249,7 @@ | @@ -221,7 +249,7 @@ | ||
| 221 | /deep/ .ant-upload-select-picture-card { | 249 | /deep/ .ant-upload-select-picture-card { |
| 222 | display: inherit; | 250 | display: inherit; |
| 223 | float: none; | 251 | float: none; |
| 224 | - width: 10vw; | 252 | + width: 8.6vw; |
| 225 | height: 17vh; | 253 | height: 17vh; |
| 226 | margin-right: 8px; | 254 | margin-right: 8px; |
| 227 | margin-bottom: 8px; | 255 | margin-bottom: 8px; |
| @@ -3,11 +3,23 @@ | @@ -3,11 +3,23 @@ | ||
| 3 | <span :class="[prefixCls, `${prefixCls}--${theme}`]" class="flex"> | 3 | <span :class="[prefixCls, `${prefixCls}--${theme}`]" class="flex"> |
| 4 | <img | 4 | <img |
| 5 | :class="`${prefixCls}__header`" | 5 | :class="`${prefixCls}__header`" |
| 6 | - :src="refreshPersonlData.avatar ? refreshPersonlData.avatar : getUserInfo.avatar" | 6 | + :src=" |
| 7 | + refreshPersonlData.avatar | ||
| 8 | + ? refreshPersonlData.avatar | ||
| 9 | + : updataPersonlData.avatar | ||
| 10 | + ? updataPersonlData.avatar | ||
| 11 | + : getUserInfo.avatar | ||
| 12 | + " | ||
| 7 | /> | 13 | /> |
| 8 | <span :class="`${prefixCls}__info hidden md:block`"> | 14 | <span :class="`${prefixCls}__info hidden md:block`"> |
| 9 | <span :class="`${prefixCls}__name `" class="truncate"> | 15 | <span :class="`${prefixCls}__name `" class="truncate"> |
| 10 | - {{ refreshPersonlData.realName ? refreshPersonlData.realName : getUserInfo.realName }} | 16 | + {{ |
| 17 | + refreshPersonlData.realName | ||
| 18 | + ? refreshPersonlData.realName | ||
| 19 | + : updataPersonlData.realName | ||
| 20 | + ? updataPersonlData.realName | ||
| 21 | + : getUserInfo.realName | ||
| 22 | + }} | ||
| 11 | </span> | 23 | </span> |
| 12 | </span> | 24 | </span> |
| 13 | </span> | 25 | </span> |
| @@ -78,6 +90,10 @@ | @@ -78,6 +90,10 @@ | ||
| 78 | avatar: '', | 90 | avatar: '', |
| 79 | realName: '', | 91 | realName: '', |
| 80 | }); | 92 | }); |
| 93 | + const updataPersonlData = reactive({ | ||
| 94 | + avatar: '', | ||
| 95 | + realName: '', | ||
| 96 | + }); | ||
| 81 | const userInfo = getAuthCache(USER_INFO_KEY); | 97 | const userInfo = getAuthCache(USER_INFO_KEY); |
| 82 | const { proxy } = getCurrentInstance(); | 98 | const { proxy } = getCurrentInstance(); |
| 83 | const personalRef = ref(null); | 99 | const personalRef = ref(null); |
| @@ -132,6 +148,13 @@ | @@ -132,6 +148,13 @@ | ||
| 132 | }); | 148 | }); |
| 133 | }, 10); | 149 | }, 10); |
| 134 | }; | 150 | }; |
| 151 | + const refreshCacheGetData = () => { | ||
| 152 | + const getItem = window.localStorage.getItem('updateUserInfo'); | ||
| 153 | + const newItem = JSON.parse(getItem); | ||
| 154 | + updataPersonlData.avatar = newItem?.avatar; | ||
| 155 | + updataPersonlData.realName = newItem?.realName; | ||
| 156 | + }; | ||
| 157 | + refreshCacheGetData(); | ||
| 135 | 158 | ||
| 136 | const refreshPersonlFunc = (v) => { | 159 | const refreshPersonlFunc = (v) => { |
| 137 | refreshPersonlData.avatar = v.avatar; | 160 | refreshPersonlData.avatar = v.avatar; |
| @@ -139,6 +162,7 @@ | @@ -139,6 +162,7 @@ | ||
| 139 | }; | 162 | }; |
| 140 | 163 | ||
| 141 | return { | 164 | return { |
| 165 | + updataPersonlData, | ||
| 142 | refreshPersonlData, | 166 | refreshPersonlData, |
| 143 | refreshPersonlFunc, | 167 | refreshPersonlFunc, |
| 144 | personalRef, | 168 | personalRef, |
| 1 | -import type { UserInfo } from '/#/store'; | 1 | +import type { UserInfo, UserUpdateInfo } from '/#/store'; |
| 2 | import type { ErrorMessageMode } from '/#/axios'; | 2 | import type { ErrorMessageMode } from '/#/axios'; |
| 3 | import { defineStore } from 'pinia'; | 3 | import { defineStore } from 'pinia'; |
| 4 | import { store } from '/@/store'; | 4 | import { store } from '/@/store'; |
| @@ -30,6 +30,7 @@ interface UserState { | @@ -30,6 +30,7 @@ interface UserState { | ||
| 30 | platInfo: any; | 30 | platInfo: any; |
| 31 | enterPriseInfo: any; | 31 | enterPriseInfo: any; |
| 32 | userInfo: Nullable<UserInfo>; | 32 | userInfo: Nullable<UserInfo>; |
| 33 | + userUpdateInfo?: Nullable<UserUpdateInfo>; | ||
| 33 | token?: string; | 34 | token?: string; |
| 34 | roleList: RoleEnum[]; | 35 | roleList: RoleEnum[]; |
| 35 | sessionTimeout?: boolean; | 36 | sessionTimeout?: boolean; |
| @@ -47,6 +48,7 @@ export const useUserStore = defineStore({ | @@ -47,6 +48,7 @@ export const useUserStore = defineStore({ | ||
| 47 | enterPriseInfo: storage.get('enterPriseInfo') || null, | 48 | enterPriseInfo: storage.get('enterPriseInfo') || null, |
| 48 | // user info | 49 | // user info |
| 49 | userInfo: null, | 50 | userInfo: null, |
| 51 | + userUpdateInfo: null, | ||
| 50 | // token | 52 | // token |
| 51 | jwtToken: undefined, | 53 | jwtToken: undefined, |
| 52 | //refresh Token | 54 | //refresh Token |
| @@ -66,6 +68,9 @@ export const useUserStore = defineStore({ | @@ -66,6 +68,9 @@ export const useUserStore = defineStore({ | ||
| 66 | getUserInfo(): UserInfo { | 68 | getUserInfo(): UserInfo { |
| 67 | return this.userInfo || getAuthCache<UserInfo>(USER_INFO_KEY) || {}; | 69 | return this.userInfo || getAuthCache<UserInfo>(USER_INFO_KEY) || {}; |
| 68 | }, | 70 | }, |
| 71 | + getUserUpdateInfo(): UserUpdateInfo { | ||
| 72 | + return this.userUpdateInfo || {}; | ||
| 73 | + }, | ||
| 69 | getJwtToken(): string { | 74 | getJwtToken(): string { |
| 70 | return this.jwtToken || getAuthCache<string>(JWT_TOKEN_KEY); | 75 | return this.jwtToken || getAuthCache<string>(JWT_TOKEN_KEY); |
| 71 | }, | 76 | }, |
| @@ -108,6 +113,9 @@ export const useUserStore = defineStore({ | @@ -108,6 +113,9 @@ export const useUserStore = defineStore({ | ||
| 108 | this.lastUpdateTime = new Date().getTime(); | 113 | this.lastUpdateTime = new Date().getTime(); |
| 109 | setAuthCache(USER_INFO_KEY, info); | 114 | setAuthCache(USER_INFO_KEY, info); |
| 110 | }, | 115 | }, |
| 116 | + setUserUpdateInfo(info: UserUpdateInfo) { | ||
| 117 | + this.userUpdateInfo = info; | ||
| 118 | + }, | ||
| 111 | setSessionTimeout(flag: boolean) { | 119 | setSessionTimeout(flag: boolean) { |
| 112 | this.sessionTimeout = flag; | 120 | this.sessionTimeout = flag; |
| 113 | }, | 121 | }, |
| @@ -194,6 +202,8 @@ export const useUserStore = defineStore({ | @@ -194,6 +202,8 @@ export const useUserStore = defineStore({ | ||
| 194 | // this.setSessionTimeout(false); | 202 | // this.setSessionTimeout(false); |
| 195 | // goLogin && router.push(PageEnum.BASE_LOGIN); | 203 | // goLogin && router.push(PageEnum.BASE_LOGIN); |
| 196 | await router.push(PageEnum.BASE_LOGIN); | 204 | await router.push(PageEnum.BASE_LOGIN); |
| 205 | + window.localStorage.clear(); | ||
| 206 | + window.localStorage.removeItem('updateUserInfo'); | ||
| 197 | }, | 207 | }, |
| 198 | 208 | ||
| 199 | async doRefresh() { | 209 | async doRefresh() { |
| @@ -42,6 +42,7 @@ export const formSchema: FormSchema[] = [ | @@ -42,6 +42,7 @@ export const formSchema: FormSchema[] = [ | ||
| 42 | component: 'Input', | 42 | component: 'Input', |
| 43 | componentProps: { | 43 | componentProps: { |
| 44 | placeholder: '请输入设备名称', | 44 | placeholder: '请输入设备名称', |
| 45 | + maxLength: 255, | ||
| 45 | }, | 46 | }, |
| 46 | }, | 47 | }, |
| 47 | { | 48 | { |
| @@ -57,6 +57,7 @@ export const searchFormSchema: FormSchema[] = [ | @@ -57,6 +57,7 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 57 | colProps: { span: 6 }, | 57 | colProps: { span: 6 }, |
| 58 | componentProps: { | 58 | componentProps: { |
| 59 | placeholder: '请输入联系人姓名', | 59 | placeholder: '请输入联系人姓名', |
| 60 | + maxLength: 36, | ||
| 60 | }, | 61 | }, |
| 61 | }, | 62 | }, |
| 62 | ]; | 63 | ]; |
| @@ -128,6 +129,7 @@ export const formSchema: FormSchema[] = [ | @@ -128,6 +129,7 @@ export const formSchema: FormSchema[] = [ | ||
| 128 | show: false, | 129 | show: false, |
| 129 | componentProps: { | 130 | componentProps: { |
| 130 | maxLength: 36, | 131 | maxLength: 36, |
| 132 | + placeholder: 'id', | ||
| 131 | }, | 133 | }, |
| 132 | }, | 134 | }, |
| 133 | ]; | 135 | ]; |
| 1 | <template> | 1 | <template> |
| 2 | <div class="bg-white m-4 mr-0 overflow-hidden"> | 2 | <div class="bg-white m-4 mr-0 overflow-hidden"> |
| 3 | <BasicTree | 3 | <BasicTree |
| 4 | + v-if="treeData.length > 0" | ||
| 4 | title="组织列表" | 5 | title="组织列表" |
| 5 | toolbar | 6 | toolbar |
| 6 | search | 7 | search |
| 7 | :clickRowToExpand="false" | 8 | :clickRowToExpand="false" |
| 8 | :treeData="treeData" | 9 | :treeData="treeData" |
| 9 | :replaceFields="{ key: 'id', title: 'name' }" | 10 | :replaceFields="{ key: 'id', title: 'name' }" |
| 11 | + v-model:expandedKeys="expandedKeys" | ||
| 10 | v-model:selectedKeys="selectedKeys" | 12 | v-model:selectedKeys="selectedKeys" |
| 11 | @select="handleSelect" | 13 | @select="handleSelect" |
| 14 | + :defaultExpandAll="true" | ||
| 12 | /> | 15 | /> |
| 13 | </div> | 16 | </div> |
| 14 | </template> | 17 | </template> |
| @@ -24,8 +27,11 @@ | @@ -24,8 +27,11 @@ | ||
| 24 | 27 | ||
| 25 | emits: ['select'], | 28 | emits: ['select'], |
| 26 | setup(_, { emit }) { | 29 | setup(_, { emit }) { |
| 30 | + // const { proxy } = getCurrentInstance(); | ||
| 31 | + const getTreeRef: any = ref(null); | ||
| 27 | const treeData = ref<TreeItem[]>([]); | 32 | const treeData = ref<TreeItem[]>([]); |
| 28 | const selectedKeys = ref<string[]>(); | 33 | const selectedKeys = ref<string[]>(); |
| 34 | + const expandedKeys = ref<string[]>(); | ||
| 29 | async function fetch() { | 35 | async function fetch() { |
| 30 | treeData.value = (await getOrganizationList()) as unknown as TreeItem[]; | 36 | treeData.value = (await getOrganizationList()) as unknown as TreeItem[]; |
| 31 | } | 37 | } |
| @@ -40,7 +46,14 @@ | @@ -40,7 +46,14 @@ | ||
| 40 | onMounted(() => { | 46 | onMounted(() => { |
| 41 | fetch(); | 47 | fetch(); |
| 42 | }); | 48 | }); |
| 43 | - return { treeData, handleSelect, resetOrganization, selectedKeys }; | 49 | + return { |
| 50 | + treeData, | ||
| 51 | + handleSelect, | ||
| 52 | + resetOrganization, | ||
| 53 | + selectedKeys, | ||
| 54 | + expandedKeys, | ||
| 55 | + getTreeRef, | ||
| 56 | + }; | ||
| 44 | }, | 57 | }, |
| 45 | }); | 58 | }); |
| 46 | </script> | 59 | </script> |
| @@ -28,11 +28,9 @@ | @@ -28,11 +28,9 @@ | ||
| 28 | }); | 28 | }); |
| 29 | 29 | ||
| 30 | const userInfo: any = getAuthCache(USER_INFO_KEY); | 30 | const userInfo: any = getAuthCache(USER_INFO_KEY); |
| 31 | - const role: string = userInfo.roles[0]; | 31 | + const role: string = userInfo?.roles[0]; |
| 32 | const loading = ref(true); | 32 | const loading = ref(true); |
| 33 | 33 | ||
| 34 | - console.log(role); | ||
| 35 | - | ||
| 36 | setTimeout(() => { | 34 | setTimeout(() => { |
| 37 | loading.value = false; | 35 | loading.value = false; |
| 38 | }, 1500); | 36 | }, 1500); |
| @@ -3,11 +3,6 @@ import { findDictItemByCode } from '/@/api/system/dict'; | @@ -3,11 +3,6 @@ import { findDictItemByCode } from '/@/api/system/dict'; | ||
| 3 | import { deviceProfile } from '/@/api/device/deviceManager'; | 3 | import { deviceProfile } from '/@/api/device/deviceManager'; |
| 4 | import { getOrganizationList } from '/@/api/system/system'; | 4 | import { getOrganizationList } from '/@/api/system/system'; |
| 5 | import { copyTransFun } from '/@/utils/fnUtils'; | 5 | import { copyTransFun } from '/@/utils/fnUtils'; |
| 6 | -import { | ||
| 7 | - DeviceNameMaxLength, | ||
| 8 | - DeviceProfileIdMaxLength, | ||
| 9 | - DeviceOrgIdMaxLength, | ||
| 10 | -} from '/@/utils/rules'; | ||
| 11 | 6 | ||
| 12 | // 第一步的表单 | 7 | // 第一步的表单 |
| 13 | export const step1Schemas: FormSchema[] = [ | 8 | export const step1Schemas: FormSchema[] = [ |
| @@ -26,7 +21,6 @@ export const step1Schemas: FormSchema[] = [ | @@ -26,7 +21,6 @@ export const step1Schemas: FormSchema[] = [ | ||
| 26 | placeholder: '设备名称', | 21 | placeholder: '设备名称', |
| 27 | maxLength: 30, | 22 | maxLength: 30, |
| 28 | }, | 23 | }, |
| 29 | - rules: DeviceNameMaxLength, | ||
| 30 | }, | 24 | }, |
| 31 | { | 25 | { |
| 32 | field: 'deviceType', | 26 | field: 'deviceType', |
| @@ -53,7 +47,6 @@ export const step1Schemas: FormSchema[] = [ | @@ -53,7 +47,6 @@ export const step1Schemas: FormSchema[] = [ | ||
| 53 | labelField: 'name', | 47 | labelField: 'name', |
| 54 | valueField: 'id', | 48 | valueField: 'id', |
| 55 | }, | 49 | }, |
| 56 | - rules: DeviceProfileIdMaxLength, | ||
| 57 | }, | 50 | }, |
| 58 | { | 51 | { |
| 59 | field: 'organizationId', | 52 | field: 'organizationId', |
| @@ -67,7 +60,6 @@ export const step1Schemas: FormSchema[] = [ | @@ -67,7 +60,6 @@ export const step1Schemas: FormSchema[] = [ | ||
| 67 | return data; | 60 | return data; |
| 68 | }, | 61 | }, |
| 69 | }, | 62 | }, |
| 70 | - rules: DeviceOrgIdMaxLength, | ||
| 71 | }, | 63 | }, |
| 72 | { | 64 | { |
| 73 | field: 'label', | 65 | field: 'label', |
| @@ -128,19 +120,6 @@ export const step1Schemas: FormSchema[] = [ | @@ -128,19 +120,6 @@ export const step1Schemas: FormSchema[] = [ | ||
| 128 | maxLength: 36, | 120 | maxLength: 36, |
| 129 | placeholder: '请输入id', | 121 | placeholder: '请输入id', |
| 130 | }, | 122 | }, |
| 131 | - dynamicRules: () => { | ||
| 132 | - return [ | ||
| 133 | - { | ||
| 134 | - required: false, | ||
| 135 | - validator: (_, value) => { | ||
| 136 | - if (String(value).length > 36) { | ||
| 137 | - return Promise.reject('字数不超过36个字'); | ||
| 138 | - } | ||
| 139 | - return Promise.resolve(); | ||
| 140 | - }, | ||
| 141 | - }, | ||
| 142 | - ]; | ||
| 143 | - }, | ||
| 144 | }, | 123 | }, |
| 145 | { | 124 | { |
| 146 | field: 'tenantId', | 125 | field: 'tenantId', |
| @@ -174,19 +153,6 @@ export const step1Schemas: FormSchema[] = [ | @@ -174,19 +153,6 @@ export const step1Schemas: FormSchema[] = [ | ||
| 174 | maxLength: 36, | 153 | maxLength: 36, |
| 175 | placeholder: '请输入tbDeviceId', | 154 | placeholder: '请输入tbDeviceId', |
| 176 | }, | 155 | }, |
| 177 | - dynamicRules: () => { | ||
| 178 | - return [ | ||
| 179 | - { | ||
| 180 | - required: false, | ||
| 181 | - validator: (_, value) => { | ||
| 182 | - if (String(value).length > 36) { | ||
| 183 | - return Promise.reject('字数不超过36个字'); | ||
| 184 | - } | ||
| 185 | - return Promise.resolve(); | ||
| 186 | - }, | ||
| 187 | - }, | ||
| 188 | - ]; | ||
| 189 | - }, | ||
| 190 | }, | 156 | }, |
| 191 | ]; | 157 | ]; |
| 192 | 158 | ||
| @@ -341,19 +307,6 @@ export const step2Schemas: FormSchema[] = [ | @@ -341,19 +307,6 @@ export const step2Schemas: FormSchema[] = [ | ||
| 341 | maxLength: 36, | 307 | maxLength: 36, |
| 342 | placeholder: '请输入访问令牌', | 308 | placeholder: '请输入访问令牌', |
| 343 | }, | 309 | }, |
| 344 | - dynamicRules: () => { | ||
| 345 | - return [ | ||
| 346 | - { | ||
| 347 | - required: true, | ||
| 348 | - validator: (_, value) => { | ||
| 349 | - if (String(value).length > 36) { | ||
| 350 | - return Promise.reject('字数不超过36个字'); | ||
| 351 | - } | ||
| 352 | - return Promise.resolve(); | ||
| 353 | - }, | ||
| 354 | - }, | ||
| 355 | - ]; | ||
| 356 | - }, | ||
| 357 | }, | 310 | }, |
| 358 | { | 311 | { |
| 359 | label: 'RSA公钥', | 312 | label: 'RSA公钥', |
| @@ -365,19 +318,6 @@ export const step2Schemas: FormSchema[] = [ | @@ -365,19 +318,6 @@ export const step2Schemas: FormSchema[] = [ | ||
| 365 | maxLength: 36, | 318 | maxLength: 36, |
| 366 | placeholder: '请输入RSA公钥', | 319 | placeholder: '请输入RSA公钥', |
| 367 | }, | 320 | }, |
| 368 | - dynamicRules: () => { | ||
| 369 | - return [ | ||
| 370 | - { | ||
| 371 | - required: true, | ||
| 372 | - validator: (_, value) => { | ||
| 373 | - if (String(value).length > 36) { | ||
| 374 | - return Promise.reject('字数不超过36个字'); | ||
| 375 | - } | ||
| 376 | - return Promise.resolve(); | ||
| 377 | - }, | ||
| 378 | - }, | ||
| 379 | - ]; | ||
| 380 | - }, | ||
| 381 | }, | 321 | }, |
| 382 | { | 322 | { |
| 383 | label: '客户端ID', | 323 | label: '客户端ID', |
| @@ -389,19 +329,6 @@ export const step2Schemas: FormSchema[] = [ | @@ -389,19 +329,6 @@ export const step2Schemas: FormSchema[] = [ | ||
| 389 | maxLength: 36, | 329 | maxLength: 36, |
| 390 | placeholder: '请输入客户端ID', | 330 | placeholder: '请输入客户端ID', |
| 391 | }, | 331 | }, |
| 392 | - dynamicRules: () => { | ||
| 393 | - return [ | ||
| 394 | - { | ||
| 395 | - required: true, | ||
| 396 | - validator: (_, value) => { | ||
| 397 | - if (String(value).length > 36) { | ||
| 398 | - return Promise.reject('字数不超过36个字'); | ||
| 399 | - } | ||
| 400 | - return Promise.resolve(); | ||
| 401 | - }, | ||
| 402 | - }, | ||
| 403 | - ]; | ||
| 404 | - }, | ||
| 405 | }, | 332 | }, |
| 406 | { | 333 | { |
| 407 | label: '用户名', | 334 | label: '用户名', |
| @@ -413,19 +340,6 @@ export const step2Schemas: FormSchema[] = [ | @@ -413,19 +340,6 @@ export const step2Schemas: FormSchema[] = [ | ||
| 413 | maxLength: 255, | 340 | maxLength: 255, |
| 414 | placeholder: '请输入用户名', | 341 | placeholder: '请输入用户名', |
| 415 | }, | 342 | }, |
| 416 | - dynamicRules: () => { | ||
| 417 | - return [ | ||
| 418 | - { | ||
| 419 | - required: true, | ||
| 420 | - validator: (_, value) => { | ||
| 421 | - if (String(value).length > 255) { | ||
| 422 | - return Promise.reject('字数不超过255个字'); | ||
| 423 | - } | ||
| 424 | - return Promise.resolve(); | ||
| 425 | - }, | ||
| 426 | - }, | ||
| 427 | - ]; | ||
| 428 | - }, | ||
| 429 | }, | 343 | }, |
| 430 | { | 344 | { |
| 431 | label: '密码', | 345 | label: '密码', |
| @@ -591,19 +505,6 @@ export const TokenSchemas: FormSchema[] = [ | @@ -591,19 +505,6 @@ export const TokenSchemas: FormSchema[] = [ | ||
| 591 | maxLength: 36, | 505 | maxLength: 36, |
| 592 | placeholder: '请输入访问令牌', | 506 | placeholder: '请输入访问令牌', |
| 593 | }, | 507 | }, |
| 594 | - dynamicRules: () => { | ||
| 595 | - return [ | ||
| 596 | - { | ||
| 597 | - required: false, | ||
| 598 | - validator: (_, value) => { | ||
| 599 | - if (String(value).length > 36) { | ||
| 600 | - return Promise.reject('字数不超过36个字'); | ||
| 601 | - } | ||
| 602 | - return Promise.resolve(); | ||
| 603 | - }, | ||
| 604 | - }, | ||
| 605 | - ]; | ||
| 606 | - }, | ||
| 607 | }, | 508 | }, |
| 608 | { | 509 | { |
| 609 | label: 'RSA公钥', | 510 | label: 'RSA公钥', |
| @@ -615,19 +516,6 @@ export const TokenSchemas: FormSchema[] = [ | @@ -615,19 +516,6 @@ export const TokenSchemas: FormSchema[] = [ | ||
| 615 | maxLength: 36, | 516 | maxLength: 36, |
| 616 | placeholder: '请输入RSA公钥', | 517 | placeholder: '请输入RSA公钥', |
| 617 | }, | 518 | }, |
| 618 | - dynamicRules: () => { | ||
| 619 | - return [ | ||
| 620 | - { | ||
| 621 | - required: true, | ||
| 622 | - validator: (_, value) => { | ||
| 623 | - if (String(value).length > 36) { | ||
| 624 | - return Promise.reject('字数不超过36个字'); | ||
| 625 | - } | ||
| 626 | - return Promise.resolve(); | ||
| 627 | - }, | ||
| 628 | - }, | ||
| 629 | - ]; | ||
| 630 | - }, | ||
| 631 | }, | 519 | }, |
| 632 | { | 520 | { |
| 633 | label: '客户端ID', | 521 | label: '客户端ID', |
| @@ -639,19 +527,6 @@ export const TokenSchemas: FormSchema[] = [ | @@ -639,19 +527,6 @@ export const TokenSchemas: FormSchema[] = [ | ||
| 639 | maxLength: 36, | 527 | maxLength: 36, |
| 640 | placeholder: '请输入客户端ID', | 528 | placeholder: '请输入客户端ID', |
| 641 | }, | 529 | }, |
| 642 | - dynamicRules: () => { | ||
| 643 | - return [ | ||
| 644 | - { | ||
| 645 | - required: true, | ||
| 646 | - validator: (_, value) => { | ||
| 647 | - if (String(value).length > 36) { | ||
| 648 | - return Promise.reject('字数不超过36个字'); | ||
| 649 | - } | ||
| 650 | - return Promise.resolve(); | ||
| 651 | - }, | ||
| 652 | - }, | ||
| 653 | - ]; | ||
| 654 | - }, | ||
| 655 | }, | 530 | }, |
| 656 | { | 531 | { |
| 657 | label: '用户名', | 532 | label: '用户名', |
| @@ -663,19 +538,6 @@ export const TokenSchemas: FormSchema[] = [ | @@ -663,19 +538,6 @@ export const TokenSchemas: FormSchema[] = [ | ||
| 663 | maxLength: 255, | 538 | maxLength: 255, |
| 664 | placeholder: '请输入用户名', | 539 | placeholder: '请输入用户名', |
| 665 | }, | 540 | }, |
| 666 | - dynamicRules: () => { | ||
| 667 | - return [ | ||
| 668 | - { | ||
| 669 | - required: true, | ||
| 670 | - validator: (_, value) => { | ||
| 671 | - if (String(value).length > 255) { | ||
| 672 | - return Promise.reject('字数不超过255个字'); | ||
| 673 | - } | ||
| 674 | - return Promise.resolve(); | ||
| 675 | - }, | ||
| 676 | - }, | ||
| 677 | - ]; | ||
| 678 | - }, | ||
| 679 | }, | 541 | }, |
| 680 | { | 542 | { |
| 681 | label: '密码', | 543 | label: '密码', |
| @@ -709,19 +571,6 @@ export const TokenSchemas: FormSchema[] = [ | @@ -709,19 +571,6 @@ export const TokenSchemas: FormSchema[] = [ | ||
| 709 | maxLength: 36, | 571 | maxLength: 36, |
| 710 | placeholder: '请输入id', | 572 | placeholder: '请输入id', |
| 711 | }, | 573 | }, |
| 712 | - dynamicRules: () => { | ||
| 713 | - return [ | ||
| 714 | - { | ||
| 715 | - required: false, | ||
| 716 | - validator: (_, value) => { | ||
| 717 | - if (String(value).length > 36) { | ||
| 718 | - return Promise.reject('字数不超过36个字'); | ||
| 719 | - } | ||
| 720 | - return Promise.resolve(); | ||
| 721 | - }, | ||
| 722 | - }, | ||
| 723 | - ]; | ||
| 724 | - }, | ||
| 725 | }, | 574 | }, |
| 726 | { | 575 | { |
| 727 | label: 'tbDeviceId', | 576 | label: 'tbDeviceId', |
| @@ -90,6 +90,10 @@ export const alarmSearchSchemas: FormSchema[] = [ | @@ -90,6 +90,10 @@ export const alarmSearchSchemas: FormSchema[] = [ | ||
| 90 | label: '告警类型', | 90 | label: '告警类型', |
| 91 | component: 'Input', | 91 | component: 'Input', |
| 92 | colProps: { span: 6 }, | 92 | colProps: { span: 6 }, |
| 93 | + componentProps: { | ||
| 94 | + placeholder: '请输入告警类型', | ||
| 95 | + maxLength: 36, | ||
| 96 | + }, | ||
| 93 | }, | 97 | }, |
| 94 | { | 98 | { |
| 95 | field: 'endTime', | 99 | field: 'endTime', |
| @@ -227,6 +231,7 @@ export const childDeviceSchemas: FormSchema[] = [ | @@ -227,6 +231,7 @@ export const childDeviceSchemas: FormSchema[] = [ | ||
| 227 | colProps: { span: 12 }, | 231 | colProps: { span: 12 }, |
| 228 | componentProps: { | 232 | componentProps: { |
| 229 | maxLength: 255, | 233 | maxLength: 255, |
| 234 | + placeholder: '请输入设备名称', | ||
| 230 | }, | 235 | }, |
| 231 | }, | 236 | }, |
| 232 | ]; | 237 | ]; |
| @@ -124,19 +124,7 @@ export const formSchema: FormSchema[] = [ | @@ -124,19 +124,7 @@ export const formSchema: FormSchema[] = [ | ||
| 124 | maxLength: 36, | 124 | maxLength: 36, |
| 125 | placeholder: '请输入accessKeyId', | 125 | placeholder: '请输入accessKeyId', |
| 126 | }, | 126 | }, |
| 127 | - dynamicRules: () => { | ||
| 128 | - return [ | ||
| 129 | - { | ||
| 130 | - required: true, | ||
| 131 | - validator: (_, value) => { | ||
| 132 | - if (String(value).length > 36) { | ||
| 133 | - return Promise.reject('字数不超过36个字'); | ||
| 134 | - } | ||
| 135 | - return Promise.resolve(); | ||
| 136 | - }, | ||
| 137 | - }, | ||
| 138 | - ]; | ||
| 139 | - }, | 127 | + |
| 140 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), | 128 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), |
| 141 | }, | 129 | }, |
| 142 | { | 130 | { |
| @@ -171,21 +159,9 @@ export const formSchema: FormSchema[] = [ | @@ -171,21 +159,9 @@ export const formSchema: FormSchema[] = [ | ||
| 171 | component: 'Input', | 159 | component: 'Input', |
| 172 | componentProps: { | 160 | componentProps: { |
| 173 | maxLength: 36, | 161 | maxLength: 36, |
| 174 | - placeholder: '请输入accessKeySecret', | ||
| 175 | - }, | ||
| 176 | - dynamicRules: () => { | ||
| 177 | - return [ | ||
| 178 | - { | ||
| 179 | - required: true, | ||
| 180 | - validator: (_, value) => { | ||
| 181 | - if (String(value).length > 36) { | ||
| 182 | - return Promise.reject('字数不超过36个字'); | ||
| 183 | - } | ||
| 184 | - return Promise.resolve(); | ||
| 185 | - }, | ||
| 186 | - }, | ||
| 187 | - ]; | 162 | + placeholder: '请输入服务器地址', |
| 188 | }, | 163 | }, |
| 164 | + | ||
| 189 | ifShow: ({ values }) => isEmail(Reflect.get(values, 'messageType')), | 165 | ifShow: ({ values }) => isEmail(Reflect.get(values, 'messageType')), |
| 190 | }, | 166 | }, |
| 191 | { | 167 | { |
| @@ -266,19 +242,6 @@ export const formSchema: FormSchema[] = [ | @@ -266,19 +242,6 @@ export const formSchema: FormSchema[] = [ | ||
| 266 | maxLength: 36, | 242 | maxLength: 36, |
| 267 | placeholder: '请输入主键', | 243 | placeholder: '请输入主键', |
| 268 | }, | 244 | }, |
| 269 | - dynamicRules: () => { | ||
| 270 | - return [ | ||
| 271 | - { | ||
| 272 | - required: false, | ||
| 273 | - validator: (_, value) => { | ||
| 274 | - if (String(value).length > 36) { | ||
| 275 | - return Promise.reject('字数不超过36个字'); | ||
| 276 | - } | ||
| 277 | - return Promise.resolve(); | ||
| 278 | - }, | ||
| 279 | - }, | ||
| 280 | - ]; | ||
| 281 | - }, | ||
| 282 | }, | 245 | }, |
| 283 | { | 246 | { |
| 284 | field: 'status', | 247 | field: 'status', |
| @@ -11,18 +11,5 @@ export const formSchema: FormSchema[] = [ | @@ -11,18 +11,5 @@ export const formSchema: FormSchema[] = [ | ||
| 11 | maxLength: 255, | 11 | maxLength: 255, |
| 12 | placeholder: '请输入报警详细信息', | 12 | placeholder: '请输入报警详细信息', |
| 13 | }, | 13 | }, |
| 14 | - dynamicRules: () => { | ||
| 15 | - return [ | ||
| 16 | - { | ||
| 17 | - required: true, | ||
| 18 | - validator: (_, value) => { | ||
| 19 | - if (String(value).length > 255) { | ||
| 20 | - return Promise.reject('字数不超过255个字'); | ||
| 21 | - } | ||
| 22 | - return Promise.resolve(); | ||
| 23 | - }, | ||
| 24 | - }, | ||
| 25 | - ]; | ||
| 26 | - }, | ||
| 27 | }, | 14 | }, |
| 28 | ]; | 15 | ]; |
| @@ -16,19 +16,6 @@ export const step1Schemas: FormSchema[] = [ | @@ -16,19 +16,6 @@ export const step1Schemas: FormSchema[] = [ | ||
| 16 | maxLength: 255, | 16 | maxLength: 255, |
| 17 | placeholder: '请输入配置名称', | 17 | placeholder: '请输入配置名称', |
| 18 | }, | 18 | }, |
| 19 | - dynamicRules: () => { | ||
| 20 | - return [ | ||
| 21 | - { | ||
| 22 | - required: true, | ||
| 23 | - validator: (_, value) => { | ||
| 24 | - if (String(value).length > 255) { | ||
| 25 | - return Promise.reject('字数不超过255个字'); | ||
| 26 | - } | ||
| 27 | - return Promise.resolve(); | ||
| 28 | - }, | ||
| 29 | - }, | ||
| 30 | - ]; | ||
| 31 | - }, | ||
| 32 | }, | 19 | }, |
| 33 | //规则链(string) | 20 | //规则链(string) |
| 34 | { | 21 | { |
| @@ -118,19 +118,6 @@ export const formSchema: FormSchema[] = [ | @@ -118,19 +118,6 @@ export const formSchema: FormSchema[] = [ | ||
| 118 | maxLength: 30, | 118 | maxLength: 30, |
| 119 | placeholder: '请输入配置名称', | 119 | placeholder: '请输入配置名称', |
| 120 | }, | 120 | }, |
| 121 | - dynamicRules: () => { | ||
| 122 | - return [ | ||
| 123 | - { | ||
| 124 | - required: true, | ||
| 125 | - validator: (_, value) => { | ||
| 126 | - if (String(value).length > 30) { | ||
| 127 | - return Promise.reject('字数不超过30个字'); | ||
| 128 | - } | ||
| 129 | - return Promise.resolve(); | ||
| 130 | - }, | ||
| 131 | - }, | ||
| 132 | - ]; | ||
| 133 | - }, | ||
| 134 | }, | 121 | }, |
| 135 | { | 122 | { |
| 136 | field: 'messageType', | 123 | field: 'messageType', |
| @@ -170,19 +157,7 @@ export const formSchema: FormSchema[] = [ | @@ -170,19 +157,7 @@ export const formSchema: FormSchema[] = [ | ||
| 170 | maxLength: 36, | 157 | maxLength: 36, |
| 171 | placeholder: '请输入accessKeyId', | 158 | placeholder: '请输入accessKeyId', |
| 172 | }, | 159 | }, |
| 173 | - dynamicRules: () => { | ||
| 174 | - return [ | ||
| 175 | - { | ||
| 176 | - required: true, | ||
| 177 | - validator: (_, value) => { | ||
| 178 | - if (String(value).length > 36) { | ||
| 179 | - return Promise.reject('字数不超过36个字'); | ||
| 180 | - } | ||
| 181 | - return Promise.resolve(); | ||
| 182 | - }, | ||
| 183 | - }, | ||
| 184 | - ]; | ||
| 185 | - }, | 160 | + |
| 186 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), | 161 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), |
| 187 | }, | 162 | }, |
| 188 | { | 163 | { |
| @@ -193,19 +168,7 @@ export const formSchema: FormSchema[] = [ | @@ -193,19 +168,7 @@ export const formSchema: FormSchema[] = [ | ||
| 193 | maxLength: 36, | 168 | maxLength: 36, |
| 194 | placeholder: '请输入accessKeySecret', | 169 | placeholder: '请输入accessKeySecret', |
| 195 | }, | 170 | }, |
| 196 | - dynamicRules: () => { | ||
| 197 | - return [ | ||
| 198 | - { | ||
| 199 | - required: true, | ||
| 200 | - validator: (_, value) => { | ||
| 201 | - if (String(value).length > 36) { | ||
| 202 | - return Promise.reject('字数不超过36个字'); | ||
| 203 | - } | ||
| 204 | - return Promise.resolve(); | ||
| 205 | - }, | ||
| 206 | - }, | ||
| 207 | - ]; | ||
| 208 | - }, | 171 | + |
| 209 | component: 'Input', | 172 | component: 'Input', |
| 210 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), | 173 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), |
| 211 | }, | 174 | }, |
| @@ -219,19 +182,7 @@ export const formSchema: FormSchema[] = [ | @@ -219,19 +182,7 @@ export const formSchema: FormSchema[] = [ | ||
| 219 | maxLength: 36, | 182 | maxLength: 36, |
| 220 | placeholder: '请输入服务器地址', | 183 | placeholder: '请输入服务器地址', |
| 221 | }, | 184 | }, |
| 222 | - dynamicRules: () => { | ||
| 223 | - return [ | ||
| 224 | - { | ||
| 225 | - required: true, | ||
| 226 | - validator: (_, value) => { | ||
| 227 | - if (String(value).length > 36) { | ||
| 228 | - return Promise.reject('字数不超过36个字'); | ||
| 229 | - } | ||
| 230 | - return Promise.resolve(); | ||
| 231 | - }, | ||
| 232 | - }, | ||
| 233 | - ]; | ||
| 234 | - }, | 185 | + |
| 235 | ifShow: ({ values }) => isEmail(Reflect.get(values, 'messageType')), | 186 | ifShow: ({ values }) => isEmail(Reflect.get(values, 'messageType')), |
| 236 | }, | 187 | }, |
| 237 | { | 188 | { |
| @@ -243,19 +194,7 @@ export const formSchema: FormSchema[] = [ | @@ -243,19 +194,7 @@ export const formSchema: FormSchema[] = [ | ||
| 243 | maxLength: 36, | 194 | maxLength: 36, |
| 244 | placeholder: '请输入端口', | 195 | placeholder: '请输入端口', |
| 245 | }, | 196 | }, |
| 246 | - dynamicRules: () => { | ||
| 247 | - return [ | ||
| 248 | - { | ||
| 249 | - required: true, | ||
| 250 | - validator: (_, value) => { | ||
| 251 | - if (String(value).length > 36) { | ||
| 252 | - return Promise.reject('字数不超过36个字'); | ||
| 253 | - } | ||
| 254 | - return Promise.resolve(); | ||
| 255 | - }, | ||
| 256 | - }, | ||
| 257 | - ]; | ||
| 258 | - }, | 197 | + |
| 259 | component: 'InputNumber', | 198 | component: 'InputNumber', |
| 260 | ifShow: ({ values }) => isEmail(Reflect.get(values, 'messageType')), | 199 | ifShow: ({ values }) => isEmail(Reflect.get(values, 'messageType')), |
| 261 | }, | 200 | }, |
| @@ -267,19 +206,6 @@ export const formSchema: FormSchema[] = [ | @@ -267,19 +206,6 @@ export const formSchema: FormSchema[] = [ | ||
| 267 | maxLength: 255, | 206 | maxLength: 255, |
| 268 | placeholder: '请输入用户名', | 207 | placeholder: '请输入用户名', |
| 269 | }, | 208 | }, |
| 270 | - dynamicRules: () => { | ||
| 271 | - return [ | ||
| 272 | - { | ||
| 273 | - required: false, | ||
| 274 | - validator: (_, value) => { | ||
| 275 | - if (String(value).length > 255) { | ||
| 276 | - return Promise.reject('字数不超过255个字'); | ||
| 277 | - } | ||
| 278 | - return Promise.resolve(); | ||
| 279 | - }, | ||
| 280 | - }, | ||
| 281 | - ]; | ||
| 282 | - }, | ||
| 283 | 209 | ||
| 284 | component: 'Input', | 210 | component: 'Input', |
| 285 | ifShow: ({ values }) => isEmail(Reflect.get(values, 'messageType')), | 211 | ifShow: ({ values }) => isEmail(Reflect.get(values, 'messageType')), |
| @@ -324,19 +250,6 @@ export const formSchema: FormSchema[] = [ | @@ -324,19 +250,6 @@ export const formSchema: FormSchema[] = [ | ||
| 324 | maxLength: 36, | 250 | maxLength: 36, |
| 325 | placeholder: '请输入主键', | 251 | placeholder: '请输入主键', |
| 326 | }, | 252 | }, |
| 327 | - dynamicRules: () => { | ||
| 328 | - return [ | ||
| 329 | - { | ||
| 330 | - required: false, | ||
| 331 | - validator: (_, value) => { | ||
| 332 | - if (String(value).length > 36) { | ||
| 333 | - return Promise.reject('字数不超过255个字'); | ||
| 334 | - } | ||
| 335 | - return Promise.resolve(); | ||
| 336 | - }, | ||
| 337 | - }, | ||
| 338 | - ]; | ||
| 339 | - }, | ||
| 340 | }, | 253 | }, |
| 341 | { | 254 | { |
| 342 | field: 'status', | 255 | field: 'status', |
| @@ -382,18 +295,5 @@ export const formSchema: FormSchema[] = [ | @@ -382,18 +295,5 @@ export const formSchema: FormSchema[] = [ | ||
| 382 | maxLength: 36, | 295 | maxLength: 36, |
| 383 | placeholder: '请输入租户ID', | 296 | placeholder: '请输入租户ID', |
| 384 | }, | 297 | }, |
| 385 | - dynamicRules: () => { | ||
| 386 | - return [ | ||
| 387 | - { | ||
| 388 | - required: false, | ||
| 389 | - validator: (_, value) => { | ||
| 390 | - if (String(value).length > 36) { | ||
| 391 | - return Promise.reject('字数不超过255个字'); | ||
| 392 | - } | ||
| 393 | - return Promise.resolve(); | ||
| 394 | - }, | ||
| 395 | - }, | ||
| 396 | - ]; | ||
| 397 | - }, | ||
| 398 | }, | 298 | }, |
| 399 | ]; | 299 | ]; |
| @@ -52,6 +52,10 @@ export const searchFormSchema: FormSchema[] = [ | @@ -52,6 +52,10 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 52 | label: '发送手机', | 52 | label: '发送手机', |
| 53 | component: 'Input', | 53 | component: 'Input', |
| 54 | colProps: { span: 6 }, | 54 | colProps: { span: 6 }, |
| 55 | + componentProps: { | ||
| 56 | + maxLength: 36, | ||
| 57 | + placeholder: '请输入发送手机', | ||
| 58 | + }, | ||
| 55 | }, | 59 | }, |
| 56 | { | 60 | { |
| 57 | field: 'sendTime', | 61 | field: 'sendTime', |
| @@ -18,24 +18,38 @@ | @@ -18,24 +18,38 @@ | ||
| 18 | import { useMessage } from '/@/hooks/web/useMessage'; | 18 | import { useMessage } from '/@/hooks/web/useMessage'; |
| 19 | import { Tinymce } from '/@/components/Tinymce'; | 19 | import { Tinymce } from '/@/components/Tinymce'; |
| 20 | import { sendEmail } from '/@/api/message/template'; | 20 | import { sendEmail } from '/@/api/message/template'; |
| 21 | + import { emailRule } from '/@/utils/rules'; | ||
| 22 | + | ||
| 21 | const schemas: FormSchema[] = [ | 23 | const schemas: FormSchema[] = [ |
| 22 | { | 24 | { |
| 23 | field: 'id', | 25 | field: 'id', |
| 24 | component: 'Input', | 26 | component: 'Input', |
| 25 | label: 'id', | 27 | label: 'id', |
| 26 | show: false, | 28 | show: false, |
| 29 | + componentProps: { | ||
| 30 | + maxLength: 36, | ||
| 31 | + placeholder: '请输入id', | ||
| 32 | + }, | ||
| 27 | }, | 33 | }, |
| 28 | { | 34 | { |
| 29 | field: 'templatePurpose', | 35 | field: 'templatePurpose', |
| 30 | label: '用途', | 36 | label: '用途', |
| 31 | component: 'Input', | 37 | component: 'Input', |
| 32 | show: false, | 38 | show: false, |
| 39 | + componentProps: { | ||
| 40 | + maxLength: 255, | ||
| 41 | + placeholder: '请输入用途', | ||
| 42 | + }, | ||
| 33 | }, | 43 | }, |
| 34 | { | 44 | { |
| 35 | field: 'messageType', | 45 | field: 'messageType', |
| 36 | component: 'Input', | 46 | component: 'Input', |
| 37 | label: 'messageType', | 47 | label: 'messageType', |
| 38 | show: false, | 48 | show: false, |
| 49 | + componentProps: { | ||
| 50 | + maxLength: 255, | ||
| 51 | + placeholder: '请输入messageType', | ||
| 52 | + }, | ||
| 39 | }, | 53 | }, |
| 40 | { | 54 | { |
| 41 | field: 'subject', | 55 | field: 'subject', |
| @@ -45,6 +59,10 @@ | @@ -45,6 +59,10 @@ | ||
| 45 | colProps: { | 59 | colProps: { |
| 46 | span: 12, | 60 | span: 12, |
| 47 | }, | 61 | }, |
| 62 | + componentProps: { | ||
| 63 | + maxLength: 255, | ||
| 64 | + placeholder: '请输入邮件主题', | ||
| 65 | + }, | ||
| 48 | }, | 66 | }, |
| 49 | { | 67 | { |
| 50 | field: 'to', | 68 | field: 'to', |
| @@ -54,6 +72,11 @@ | @@ -54,6 +72,11 @@ | ||
| 54 | colProps: { | 72 | colProps: { |
| 55 | span: 12, | 73 | span: 12, |
| 56 | }, | 74 | }, |
| 75 | + rules: emailRule, | ||
| 76 | + componentProps: { | ||
| 77 | + maxLength: 255, | ||
| 78 | + placeholder: '请输入主送', | ||
| 79 | + }, | ||
| 57 | }, | 80 | }, |
| 58 | { | 81 | { |
| 59 | field: 'cc', | 82 | field: 'cc', |
| @@ -62,6 +85,11 @@ | @@ -62,6 +85,11 @@ | ||
| 62 | colProps: { | 85 | colProps: { |
| 63 | span: 12, | 86 | span: 12, |
| 64 | }, | 87 | }, |
| 88 | + rules: emailRule, | ||
| 89 | + componentProps: { | ||
| 90 | + maxLength: 255, | ||
| 91 | + placeholder: '请输入抄送', | ||
| 92 | + }, | ||
| 65 | }, | 93 | }, |
| 66 | { | 94 | { |
| 67 | field: 'bcc', | 95 | field: 'bcc', |
| @@ -70,6 +98,11 @@ | @@ -70,6 +98,11 @@ | ||
| 70 | colProps: { | 98 | colProps: { |
| 71 | span: 12, | 99 | span: 12, |
| 72 | }, | 100 | }, |
| 101 | + rules: emailRule, | ||
| 102 | + componentProps: { | ||
| 103 | + maxLength: 255, | ||
| 104 | + placeholder: '请输入密送', | ||
| 105 | + }, | ||
| 73 | }, | 106 | }, |
| 74 | { | 107 | { |
| 75 | field: 'body', | 108 | field: 'body', |
| @@ -111,17 +144,14 @@ | @@ -111,17 +144,14 @@ | ||
| 111 | const cc = Reflect.get(values, 'cc'); | 144 | const cc = Reflect.get(values, 'cc'); |
| 112 | const bcc = Reflect.get(values, 'bcc'); | 145 | const bcc = Reflect.get(values, 'bcc'); |
| 113 | if (typeof cc != 'undefined') { | 146 | if (typeof cc != 'undefined') { |
| 114 | - cc.split(','); | ||
| 115 | - Reflect.set(values, 'cc', cc); | 147 | + Reflect.set(values, 'cc', cc.split(',')); |
| 116 | } | 148 | } |
| 117 | if (typeof bcc != 'undefined') { | 149 | if (typeof bcc != 'undefined') { |
| 118 | - bcc.split(','); | ||
| 119 | - Reflect.set(values, 'bcc', bcc); | 150 | + Reflect.set(values, 'bcc', bcc.split(',')); |
| 120 | } | 151 | } |
| 121 | Reflect.set(values, 'to', to); | 152 | Reflect.set(values, 'to', to); |
| 122 | Reflect.set(values, 'emailFormatEnum', 'HTML'); | 153 | Reflect.set(values, 'emailFormatEnum', 'HTML'); |
| 123 | await sendEmail(values); | 154 | await sendEmail(values); |
| 124 | - console.log(values, 'values'); | ||
| 125 | closeModal(); | 155 | closeModal(); |
| 126 | createMessage.success('发送成功'); | 156 | createMessage.success('发送成功'); |
| 127 | } | 157 | } |
| @@ -148,19 +148,6 @@ export const formSchema: FormSchema[] = [ | @@ -148,19 +148,6 @@ export const formSchema: FormSchema[] = [ | ||
| 148 | maxLength: 36, | 148 | maxLength: 36, |
| 149 | placeholder: '请输入主键', | 149 | placeholder: '请输入主键', |
| 150 | }, | 150 | }, |
| 151 | - dynamicRules: () => { | ||
| 152 | - return [ | ||
| 153 | - { | ||
| 154 | - required: false, | ||
| 155 | - validator: (_, value) => { | ||
| 156 | - if (String(value).length > 36) { | ||
| 157 | - return Promise.reject('字数不超过36个字'); | ||
| 158 | - } | ||
| 159 | - return Promise.resolve(); | ||
| 160 | - }, | ||
| 161 | - }, | ||
| 162 | - ]; | ||
| 163 | - }, | ||
| 164 | }, | 151 | }, |
| 165 | { | 152 | { |
| 166 | field: 'messageType', | 153 | field: 'messageType', |
| @@ -200,19 +187,6 @@ export const formSchema: FormSchema[] = [ | @@ -200,19 +187,6 @@ export const formSchema: FormSchema[] = [ | ||
| 200 | maxLength: 32, | 187 | maxLength: 32, |
| 201 | placeholder: '请输入模板名称', | 188 | placeholder: '请输入模板名称', |
| 202 | }, | 189 | }, |
| 203 | - dynamicRules: () => { | ||
| 204 | - return [ | ||
| 205 | - { | ||
| 206 | - required: false, | ||
| 207 | - validator: (_, value) => { | ||
| 208 | - if (String(value).length > 32) { | ||
| 209 | - return Promise.reject('字数不超过32个字'); | ||
| 210 | - } | ||
| 211 | - return Promise.resolve(); | ||
| 212 | - }, | ||
| 213 | - }, | ||
| 214 | - ]; | ||
| 215 | - }, | ||
| 216 | }, | 190 | }, |
| 217 | { | 191 | { |
| 218 | field: 'templateCode', | 192 | field: 'templateCode', |
| @@ -223,19 +197,7 @@ export const formSchema: FormSchema[] = [ | @@ -223,19 +197,7 @@ export const formSchema: FormSchema[] = [ | ||
| 223 | maxLength: 20, | 197 | maxLength: 20, |
| 224 | placeholder: '请输入模板编号', | 198 | placeholder: '请输入模板编号', |
| 225 | }, | 199 | }, |
| 226 | - dynamicRules: () => { | ||
| 227 | - return [ | ||
| 228 | - { | ||
| 229 | - required: false, | ||
| 230 | - validator: (_, value) => { | ||
| 231 | - if (String(value).length > 20) { | ||
| 232 | - return Promise.reject('字数不超过20个字'); | ||
| 233 | - } | ||
| 234 | - return Promise.resolve(); | ||
| 235 | - }, | ||
| 236 | - }, | ||
| 237 | - ]; | ||
| 238 | - }, | 200 | + |
| 239 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), | 201 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), |
| 240 | }, | 202 | }, |
| 241 | { | 203 | { |
| @@ -247,19 +209,6 @@ export const formSchema: FormSchema[] = [ | @@ -247,19 +209,6 @@ export const formSchema: FormSchema[] = [ | ||
| 247 | maxLength: 32, | 209 | maxLength: 32, |
| 248 | placeholder: '请输入签名', | 210 | placeholder: '请输入签名', |
| 249 | }, | 211 | }, |
| 250 | - dynamicRules: () => { | ||
| 251 | - return [ | ||
| 252 | - { | ||
| 253 | - required: false, | ||
| 254 | - validator: (_, value) => { | ||
| 255 | - if (String(value).length > 32) { | ||
| 256 | - return Promise.reject('字数不超过32个字'); | ||
| 257 | - } | ||
| 258 | - return Promise.resolve(); | ||
| 259 | - }, | ||
| 260 | - }, | ||
| 261 | - ]; | ||
| 262 | - }, | ||
| 263 | 212 | ||
| 264 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), | 213 | ifShow: ({ values }) => isMessage(Reflect.get(values, 'messageType')), |
| 265 | }, | 214 | }, |
| @@ -287,18 +236,5 @@ export const formSchema: FormSchema[] = [ | @@ -287,18 +236,5 @@ export const formSchema: FormSchema[] = [ | ||
| 287 | maxLength: 36, | 236 | maxLength: 36, |
| 288 | placeholder: '请输入租户ID', | 237 | placeholder: '请输入租户ID', |
| 289 | }, | 238 | }, |
| 290 | - dynamicRules: () => { | ||
| 291 | - return [ | ||
| 292 | - { | ||
| 293 | - required: false, | ||
| 294 | - validator: (_, value) => { | ||
| 295 | - if (String(value).length > 36) { | ||
| 296 | - return Promise.reject('字数不超过36个字'); | ||
| 297 | - } | ||
| 298 | - return Promise.resolve(); | ||
| 299 | - }, | ||
| 300 | - }, | ||
| 301 | - ]; | ||
| 302 | - }, | ||
| 303 | }, | 239 | }, |
| 304 | ]; | 240 | ]; |
| @@ -108,6 +108,9 @@ | @@ -108,6 +108,9 @@ | ||
| 108 | // function unique(arr) { | 108 | // function unique(arr) { |
| 109 | // return Array.from(new Set(arr)); | 109 | // return Array.from(new Set(arr)); |
| 110 | // } | 110 | // } |
| 111 | + const clearGetPushValueDataEmpty = () => { | ||
| 112 | + getPushValueData.value.length = 0; | ||
| 113 | + }; | ||
| 111 | function getAllFields(getV) { | 114 | function getAllFields(getV) { |
| 112 | const values = getFieldsValue(); | 115 | const values = getFieldsValue(); |
| 113 | getValueData.value = values; | 116 | getValueData.value = values; |
| @@ -368,7 +371,15 @@ | @@ -368,7 +371,15 @@ | ||
| 368 | ]); | 371 | ]); |
| 369 | n.value--; | 372 | n.value--; |
| 370 | } | 373 | } |
| 371 | - return { setFieldsFormValue, registerTrigger, add, del, getAllFields, funcResetFields }; | 374 | + return { |
| 375 | + clearGetPushValueDataEmpty, | ||
| 376 | + setFieldsFormValue, | ||
| 377 | + registerTrigger, | ||
| 378 | + add, | ||
| 379 | + del, | ||
| 380 | + getAllFields, | ||
| 381 | + funcResetFields, | ||
| 382 | + }; | ||
| 372 | }, | 383 | }, |
| 373 | }); | 384 | }); |
| 374 | </script> | 385 | </script> |
| @@ -150,19 +150,6 @@ export const formSchema: FormSchema[] = [ | @@ -150,19 +150,6 @@ export const formSchema: FormSchema[] = [ | ||
| 150 | maxLength: 36, | 150 | maxLength: 36, |
| 151 | placeholder: '请输入场景联动名称', | 151 | placeholder: '请输入场景联动名称', |
| 152 | }, | 152 | }, |
| 153 | - dynamicRules: () => { | ||
| 154 | - return [ | ||
| 155 | - { | ||
| 156 | - required: true, | ||
| 157 | - validator: (_, value) => { | ||
| 158 | - if (String(value).length > 36) { | ||
| 159 | - return Promise.reject('字数不超过36个字'); | ||
| 160 | - } | ||
| 161 | - return Promise.resolve(); | ||
| 162 | - }, | ||
| 163 | - }, | ||
| 164 | - ]; | ||
| 165 | - }, | ||
| 166 | }, | 153 | }, |
| 167 | { | 154 | { |
| 168 | required: true, | 155 | required: true, |
| @@ -101,6 +101,7 @@ | @@ -101,6 +101,7 @@ | ||
| 101 | } | 101 | } |
| 102 | } else { | 102 | } else { |
| 103 | await resetFields(); | 103 | await resetFields(); |
| 104 | + proxy.$refs.getTriggerChildData.clearGetPushValueDataEmpty(); | ||
| 104 | } | 105 | } |
| 105 | }); | 106 | }); |
| 106 | const getTitle = computed(() => (!unref(isUpdate) ? '新增场景联动' : '编辑场景联动')); | 107 | const getTitle = computed(() => (!unref(isUpdate) ? '新增场景联动' : '编辑场景联动')); |
| @@ -5,7 +5,6 @@ import { Tinymce } from '/@/components/Tinymce/index'; | @@ -5,7 +5,6 @@ import { Tinymce } from '/@/components/Tinymce/index'; | ||
| 5 | import { getOrganizationList } from '/@/api/system/system'; | 5 | import { getOrganizationList } from '/@/api/system/system'; |
| 6 | import { copyTransFun } from '/@/utils/fnUtils'; | 6 | import { copyTransFun } from '/@/utils/fnUtils'; |
| 7 | import { Tag } from 'ant-design-vue'; | 7 | import { Tag } from 'ant-design-vue'; |
| 8 | -import { NotificationTitleMaxLength } from '/@/utils/rules'; | ||
| 9 | 8 | ||
| 10 | export enum IsOrgEnum { | 9 | export enum IsOrgEnum { |
| 11 | IS_ORG_ENUM = '1', | 10 | IS_ORG_ENUM = '1', |
| @@ -98,7 +97,6 @@ export const formSchema: FormSchema[] = [ | @@ -98,7 +97,6 @@ export const formSchema: FormSchema[] = [ | ||
| 98 | placeholder: '请输入标题', | 97 | placeholder: '请输入标题', |
| 99 | maxLength: 200, | 98 | maxLength: 200, |
| 100 | }, | 99 | }, |
| 101 | - rules: NotificationTitleMaxLength, | ||
| 102 | }, | 100 | }, |
| 103 | { | 101 | { |
| 104 | field: 'content', | 102 | field: 'content', |
| @@ -6,18 +6,21 @@ | @@ -6,18 +6,21 @@ | ||
| 6 | :title="getTitle" | 6 | :title="getTitle" |
| 7 | @ok="handleSubmit" | 7 | @ok="handleSubmit" |
| 8 | > | 8 | > |
| 9 | - <BasicForm @register="registerForm"> | ||
| 10 | - <template #organizationId="{ model, field }"> | ||
| 11 | - <BasicTree | ||
| 12 | - v-model:value="model[field]" | ||
| 13 | - :treeData="organizationTreeData" | ||
| 14 | - :checked-keys="checkGroup" | ||
| 15 | - checkable | ||
| 16 | - toolbar | ||
| 17 | - title="所属组织" | ||
| 18 | - /> | ||
| 19 | - </template> | ||
| 20 | - </BasicForm> | 9 | + <div style="height: 50vh"> |
| 10 | + <BasicForm @register="registerForm"> | ||
| 11 | + <template #organizationId="{ model, field }"> | ||
| 12 | + <BasicTree | ||
| 13 | + v-model:value="model[field]" | ||
| 14 | + :treeData="organizationTreeData" | ||
| 15 | + :checked-keys="checkGroup" | ||
| 16 | + :defaultExpandAll="true" | ||
| 17 | + checkable | ||
| 18 | + toolbar | ||
| 19 | + title="所属组织" | ||
| 20 | + /> | ||
| 21 | + </template> | ||
| 22 | + </BasicForm> | ||
| 23 | + </div> | ||
| 21 | </BasicModal> | 24 | </BasicModal> |
| 22 | </template> | 25 | </template> |
| 23 | <script lang="ts"> | 26 | <script lang="ts"> |
| @@ -45,6 +45,7 @@ export const searchFormSchema: FormSchema[] = [ | @@ -45,6 +45,7 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 45 | colProps: { span: 8 }, | 45 | colProps: { span: 8 }, |
| 46 | componentProps: { | 46 | componentProps: { |
| 47 | maxLength: 255, | 47 | maxLength: 255, |
| 48 | + placeholder: '请输入用户名', | ||
| 48 | }, | 49 | }, |
| 49 | dynamicRules: () => { | 50 | dynamicRules: () => { |
| 50 | return [ | 51 | return [ |
| @@ -67,6 +68,7 @@ export const searchFormSchema: FormSchema[] = [ | @@ -67,6 +68,7 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 67 | colProps: { span: 8 }, | 68 | colProps: { span: 8 }, |
| 68 | componentProps: { | 69 | componentProps: { |
| 69 | maxLength: 255, | 70 | maxLength: 255, |
| 71 | + placeholder: '请输入姓名', | ||
| 70 | }, | 72 | }, |
| 71 | dynamicRules: () => { | 73 | dynamicRules: () => { |
| 72 | return [ | 74 | return [ |
| @@ -93,19 +95,6 @@ export const accountFormSchema: FormSchema[] = [ | @@ -93,19 +95,6 @@ export const accountFormSchema: FormSchema[] = [ | ||
| 93 | componentProps: { | 95 | componentProps: { |
| 94 | maxLength: 36, | 96 | maxLength: 36, |
| 95 | }, | 97 | }, |
| 96 | - dynamicRules: () => { | ||
| 97 | - return [ | ||
| 98 | - { | ||
| 99 | - required: false, | ||
| 100 | - validator: (_, value) => { | ||
| 101 | - if (String(value).length > 36) { | ||
| 102 | - return Promise.reject('字数不超过36个字'); | ||
| 103 | - } | ||
| 104 | - return Promise.resolve(); | ||
| 105 | - }, | ||
| 106 | - }, | ||
| 107 | - ]; | ||
| 108 | - }, | ||
| 109 | }, | 98 | }, |
| 110 | { | 99 | { |
| 111 | field: 'username', | 100 | field: 'username', |
| @@ -113,9 +102,14 @@ export const accountFormSchema: FormSchema[] = [ | @@ -113,9 +102,14 @@ export const accountFormSchema: FormSchema[] = [ | ||
| 113 | component: 'Input', | 102 | component: 'Input', |
| 114 | colProps: { span: 12 }, | 103 | colProps: { span: 12 }, |
| 115 | dynamicDisabled: false, | 104 | dynamicDisabled: false, |
| 105 | + componentProps: { | ||
| 106 | + maxLength: 36, | ||
| 107 | + placeholder: '请输入账号', | ||
| 108 | + }, | ||
| 116 | dynamicRules: ({ values }) => { | 109 | dynamicRules: ({ values }) => { |
| 117 | return [ | 110 | return [ |
| 118 | { | 111 | { |
| 112 | + required: true, | ||
| 119 | validator(_, value) { | 113 | validator(_, value) { |
| 120 | return new Promise((resolve, reject) => { | 114 | return new Promise((resolve, reject) => { |
| 121 | if (value == '') { | 115 | if (value == '') { |
| @@ -159,19 +153,6 @@ export const accountFormSchema: FormSchema[] = [ | @@ -159,19 +153,6 @@ export const accountFormSchema: FormSchema[] = [ | ||
| 159 | componentProps: { | 153 | componentProps: { |
| 160 | maxLength: 255, | 154 | maxLength: 255, |
| 161 | }, | 155 | }, |
| 162 | - dynamicRules: () => { | ||
| 163 | - return [ | ||
| 164 | - { | ||
| 165 | - required: true, | ||
| 166 | - validator: (_, value) => { | ||
| 167 | - if (String(value).length > 255) { | ||
| 168 | - return Promise.reject('字数不超过255个字'); | ||
| 169 | - } | ||
| 170 | - return Promise.resolve(); | ||
| 171 | - }, | ||
| 172 | - }, | ||
| 173 | - ]; | ||
| 174 | - }, | ||
| 175 | }, | 156 | }, |
| 176 | { | 157 | { |
| 177 | label: '角色', | 158 | label: '角色', |
| @@ -237,18 +218,5 @@ export const accountFormSchema: FormSchema[] = [ | @@ -237,18 +218,5 @@ export const accountFormSchema: FormSchema[] = [ | ||
| 237 | componentProps: { | 218 | componentProps: { |
| 238 | maxLength: 36, | 219 | maxLength: 36, |
| 239 | }, | 220 | }, |
| 240 | - dynamicRules: () => { | ||
| 241 | - return [ | ||
| 242 | - { | ||
| 243 | - required: false, | ||
| 244 | - validator: (_, value) => { | ||
| 245 | - if (String(value).length > 36) { | ||
| 246 | - return Promise.reject('字数不超过36个字'); | ||
| 247 | - } | ||
| 248 | - return Promise.resolve(); | ||
| 249 | - }, | ||
| 250 | - }, | ||
| 251 | - ]; | ||
| 252 | - }, | ||
| 253 | }, | 221 | }, |
| 254 | ]; | 222 | ]; |
| @@ -37,6 +37,7 @@ export const searchFormSchema: FormSchema[] = [ | @@ -37,6 +37,7 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 37 | colProps: { span: 6 }, | 37 | colProps: { span: 6 }, |
| 38 | componentProps: { | 38 | componentProps: { |
| 39 | maxLength: 32, | 39 | maxLength: 32, |
| 40 | + placeholder: '请输入字典名称', | ||
| 40 | }, | 41 | }, |
| 41 | dynamicRules: () => { | 42 | dynamicRules: () => { |
| 42 | return [ | 43 | return [ |
| @@ -59,6 +60,7 @@ export const searchFormSchema: FormSchema[] = [ | @@ -59,6 +60,7 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 59 | colProps: { span: 6 }, | 60 | colProps: { span: 6 }, |
| 60 | componentProps: { | 61 | componentProps: { |
| 61 | maxLength: 32, | 62 | maxLength: 32, |
| 63 | + placeholder: '请输入字典编码', | ||
| 62 | }, | 64 | }, |
| 63 | dynamicRules: () => { | 65 | dynamicRules: () => { |
| 64 | return [ | 66 | return [ |
| @@ -84,19 +86,7 @@ export const formSchema: FormSchema[] = [ | @@ -84,19 +86,7 @@ export const formSchema: FormSchema[] = [ | ||
| 84 | component: 'Input', | 86 | component: 'Input', |
| 85 | componentProps: { | 87 | componentProps: { |
| 86 | maxLength: 32, | 88 | maxLength: 32, |
| 87 | - }, | ||
| 88 | - dynamicRules: () => { | ||
| 89 | - return [ | ||
| 90 | - { | ||
| 91 | - required: true, | ||
| 92 | - validator: (_, value) => { | ||
| 93 | - if (String(value).length > 32) { | ||
| 94 | - return Promise.reject('字数不超过32个字'); | ||
| 95 | - } | ||
| 96 | - return Promise.resolve(); | ||
| 97 | - }, | ||
| 98 | - }, | ||
| 99 | - ]; | 89 | + placeholder: '请输入字典名称', |
| 100 | }, | 90 | }, |
| 101 | }, | 91 | }, |
| 102 | { | 92 | { |
| @@ -106,19 +96,7 @@ export const formSchema: FormSchema[] = [ | @@ -106,19 +96,7 @@ export const formSchema: FormSchema[] = [ | ||
| 106 | component: 'Input', | 96 | component: 'Input', |
| 107 | componentProps: { | 97 | componentProps: { |
| 108 | maxLength: 32, | 98 | maxLength: 32, |
| 109 | - }, | ||
| 110 | - dynamicRules: () => { | ||
| 111 | - return [ | ||
| 112 | - { | ||
| 113 | - required: true, | ||
| 114 | - validator: (_, value) => { | ||
| 115 | - if (String(value).length > 32) { | ||
| 116 | - return Promise.reject('字数不超过32个字'); | ||
| 117 | - } | ||
| 118 | - return Promise.resolve(); | ||
| 119 | - }, | ||
| 120 | - }, | ||
| 121 | - ]; | 99 | + placeholder: '请输入字典编码', |
| 122 | }, | 100 | }, |
| 123 | }, | 101 | }, |
| 124 | { | 102 | { |
| @@ -127,6 +105,7 @@ export const formSchema: FormSchema[] = [ | @@ -127,6 +105,7 @@ export const formSchema: FormSchema[] = [ | ||
| 127 | component: 'InputTextArea', | 105 | component: 'InputTextArea', |
| 128 | componentProps: { | 106 | componentProps: { |
| 129 | maxLength: 255, | 107 | maxLength: 255, |
| 108 | + placeholder: '请输入备注', | ||
| 130 | }, | 109 | }, |
| 131 | dynamicRules: () => { | 110 | dynamicRules: () => { |
| 132 | return [ | 111 | return [ |
| @@ -69,6 +69,7 @@ export const searchFormSchema: FormSchema[] = [ | @@ -69,6 +69,7 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 69 | colProps: { span: 6 }, | 69 | colProps: { span: 6 }, |
| 70 | componentProps: { | 70 | componentProps: { |
| 71 | maxLength: 32, | 71 | maxLength: 32, |
| 72 | + placeholder: '请输入文本值', | ||
| 72 | }, | 73 | }, |
| 73 | dynamicRules: () => { | 74 | dynamicRules: () => { |
| 74 | return [ | 75 | return [ |
| @@ -91,6 +92,7 @@ export const searchFormSchema: FormSchema[] = [ | @@ -91,6 +92,7 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 91 | show: false, | 92 | show: false, |
| 92 | componentProps: { | 93 | componentProps: { |
| 93 | maxLength: 36, | 94 | maxLength: 36, |
| 95 | + placeholder: '请输入文本值', | ||
| 94 | }, | 96 | }, |
| 95 | dynamicRules: () => { | 97 | dynamicRules: () => { |
| 96 | return [ | 98 | return [ |
| @@ -116,19 +118,7 @@ export const formSchema: FormSchema[] = [ | @@ -116,19 +118,7 @@ export const formSchema: FormSchema[] = [ | ||
| 116 | component: 'Input', | 118 | component: 'Input', |
| 117 | componentProps: { | 119 | componentProps: { |
| 118 | maxLength: 32, | 120 | maxLength: 32, |
| 119 | - }, | ||
| 120 | - dynamicRules: () => { | ||
| 121 | - return [ | ||
| 122 | - { | ||
| 123 | - required: true, | ||
| 124 | - validator: (_, value) => { | ||
| 125 | - if (String(value).length > 32) { | ||
| 126 | - return Promise.reject('字数不超过32个字'); | ||
| 127 | - } | ||
| 128 | - return Promise.resolve(); | ||
| 129 | - }, | ||
| 130 | - }, | ||
| 131 | - ]; | 121 | + placeholder: '请输入文本值', |
| 132 | }, | 122 | }, |
| 133 | }, | 123 | }, |
| 134 | { | 124 | { |
| @@ -138,19 +128,7 @@ export const formSchema: FormSchema[] = [ | @@ -138,19 +128,7 @@ export const formSchema: FormSchema[] = [ | ||
| 138 | component: 'Input', | 128 | component: 'Input', |
| 139 | componentProps: { | 129 | componentProps: { |
| 140 | maxLength: 32, | 130 | maxLength: 32, |
| 141 | - }, | ||
| 142 | - dynamicRules: () => { | ||
| 143 | - return [ | ||
| 144 | - { | ||
| 145 | - required: true, | ||
| 146 | - validator: (_, value) => { | ||
| 147 | - if (String(value).length > 32) { | ||
| 148 | - return Promise.reject('字数不超过32个字'); | ||
| 149 | - } | ||
| 150 | - return Promise.resolve(); | ||
| 151 | - }, | ||
| 152 | - }, | ||
| 153 | - ]; | 131 | + placeholder: '请输入字典值', |
| 154 | }, | 132 | }, |
| 155 | }, | 133 | }, |
| 156 | { | 134 | { |
| @@ -142,19 +142,6 @@ export const formSchema: FormSchema[] = [ | @@ -142,19 +142,6 @@ export const formSchema: FormSchema[] = [ | ||
| 142 | componentProps: { | 142 | componentProps: { |
| 143 | maxLength: 255, | 143 | maxLength: 255, |
| 144 | }, | 144 | }, |
| 145 | - dynamicRules: () => { | ||
| 146 | - return [ | ||
| 147 | - { | ||
| 148 | - required: true, | ||
| 149 | - validator: (_, value) => { | ||
| 150 | - if (String(value).length > 255) { | ||
| 151 | - return Promise.reject('字数不超过255个字'); | ||
| 152 | - } | ||
| 153 | - return Promise.resolve(); | ||
| 154 | - }, | ||
| 155 | - }, | ||
| 156 | - ]; | ||
| 157 | - }, | ||
| 158 | }, | 145 | }, |
| 159 | 146 | ||
| 160 | { | 147 | { |
| @@ -179,19 +166,6 @@ export const formSchema: FormSchema[] = [ | @@ -179,19 +166,6 @@ export const formSchema: FormSchema[] = [ | ||
| 179 | componentProps: { | 166 | componentProps: { |
| 180 | maxLength: 32, | 167 | maxLength: 32, |
| 181 | }, | 168 | }, |
| 182 | - dynamicRules: () => { | ||
| 183 | - return [ | ||
| 184 | - { | ||
| 185 | - required: true, | ||
| 186 | - validator: (_, value) => { | ||
| 187 | - if (String(value).length > 32) { | ||
| 188 | - return Promise.reject('字数不超过32个字'); | ||
| 189 | - } | ||
| 190 | - return Promise.resolve(); | ||
| 191 | - }, | ||
| 192 | - }, | ||
| 193 | - ]; | ||
| 194 | - }, | ||
| 195 | }, | 169 | }, |
| 196 | { | 170 | { |
| 197 | field: 'icon', | 171 | field: 'icon', |
| @@ -210,19 +184,6 @@ export const formSchema: FormSchema[] = [ | @@ -210,19 +184,6 @@ export const formSchema: FormSchema[] = [ | ||
| 210 | componentProps: { | 184 | componentProps: { |
| 211 | maxLength: 255, | 185 | maxLength: 255, |
| 212 | }, | 186 | }, |
| 213 | - dynamicRules: () => { | ||
| 214 | - return [ | ||
| 215 | - { | ||
| 216 | - required: false, | ||
| 217 | - validator: (_, value) => { | ||
| 218 | - if (String(value).length > 255) { | ||
| 219 | - return Promise.reject('字数不超过255个字'); | ||
| 220 | - } | ||
| 221 | - return Promise.resolve(); | ||
| 222 | - }, | ||
| 223 | - }, | ||
| 224 | - ]; | ||
| 225 | - }, | ||
| 226 | }, | 187 | }, |
| 227 | { | 188 | { |
| 228 | field: 'component', | 189 | field: 'component', |
| @@ -48,19 +48,6 @@ export const formSchema: FormSchema[] = [ | @@ -48,19 +48,6 @@ export const formSchema: FormSchema[] = [ | ||
| 48 | componentProps: { | 48 | componentProps: { |
| 49 | maxLength: 255, | 49 | maxLength: 255, |
| 50 | }, | 50 | }, |
| 51 | - dynamicRules: () => { | ||
| 52 | - return [ | ||
| 53 | - { | ||
| 54 | - required: true, | ||
| 55 | - validator: (_, value) => { | ||
| 56 | - if (String(value).length > 255) { | ||
| 57 | - return Promise.reject('字数不超过255个字'); | ||
| 58 | - } | ||
| 59 | - return Promise.resolve(); | ||
| 60 | - }, | ||
| 61 | - }, | ||
| 62 | - ]; | ||
| 63 | - }, | ||
| 64 | }, | 51 | }, |
| 65 | { | 52 | { |
| 66 | field: 'sort', | 53 | field: 'sort', |
| @@ -70,19 +57,6 @@ export const formSchema: FormSchema[] = [ | @@ -70,19 +57,6 @@ export const formSchema: FormSchema[] = [ | ||
| 70 | componentProps: { | 57 | componentProps: { |
| 71 | maxLength: 32, | 58 | maxLength: 32, |
| 72 | }, | 59 | }, |
| 73 | - dynamicRules: () => { | ||
| 74 | - return [ | ||
| 75 | - { | ||
| 76 | - required: true, | ||
| 77 | - validator: (_, value) => { | ||
| 78 | - if (String(value).length > 32) { | ||
| 79 | - return Promise.reject('字数不超过32个字'); | ||
| 80 | - } | ||
| 81 | - return Promise.resolve(); | ||
| 82 | - }, | ||
| 83 | - }, | ||
| 84 | - ]; | ||
| 85 | - }, | ||
| 86 | }, | 60 | }, |
| 87 | { | 61 | { |
| 88 | label: t('routes.common.common.remark'), //备注 | 62 | label: t('routes.common.common.remark'), //备注 |
| @@ -113,18 +87,5 @@ export const formSchema: FormSchema[] = [ | @@ -113,18 +87,5 @@ export const formSchema: FormSchema[] = [ | ||
| 113 | componentProps: { | 87 | componentProps: { |
| 114 | maxLength: 36, | 88 | maxLength: 36, |
| 115 | }, | 89 | }, |
| 116 | - dynamicRules: () => { | ||
| 117 | - return [ | ||
| 118 | - { | ||
| 119 | - required: false, | ||
| 120 | - validator: (_, value) => { | ||
| 121 | - if (String(value).length > 36) { | ||
| 122 | - return Promise.reject('字数不超过36个字'); | ||
| 123 | - } | ||
| 124 | - return Promise.resolve(); | ||
| 125 | - }, | ||
| 126 | - }, | ||
| 127 | - ]; | ||
| 128 | - }, | ||
| 129 | }, | 90 | }, |
| 130 | ]; | 91 | ]; |
| @@ -70,19 +70,6 @@ export const searchFormSchema: FormSchema[] = [ | @@ -70,19 +70,6 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 70 | componentProps: { | 70 | componentProps: { |
| 71 | maxLength: 255, | 71 | maxLength: 255, |
| 72 | }, | 72 | }, |
| 73 | - dynamicRules: () => { | ||
| 74 | - return [ | ||
| 75 | - { | ||
| 76 | - required: false, | ||
| 77 | - validator: (_, value) => { | ||
| 78 | - if (String(value).length > 255) { | ||
| 79 | - return Promise.reject('字数不超过255个字'); | ||
| 80 | - } | ||
| 81 | - return Promise.resolve(); | ||
| 82 | - }, | ||
| 83 | - }, | ||
| 84 | - ]; | ||
| 85 | - }, | ||
| 86 | }, | 73 | }, |
| 87 | { | 74 | { |
| 88 | field: 'status', | 75 | field: 'status', |
| @@ -106,19 +93,7 @@ export const formSchema: FormSchema[] = [ | @@ -106,19 +93,7 @@ export const formSchema: FormSchema[] = [ | ||
| 106 | component: 'Input', | 93 | component: 'Input', |
| 107 | componentProps: { | 94 | componentProps: { |
| 108 | maxLength: 255, | 95 | maxLength: 255, |
| 109 | - }, | ||
| 110 | - dynamicRules: () => { | ||
| 111 | - return [ | ||
| 112 | - { | ||
| 113 | - required: true, | ||
| 114 | - validator: (_, value) => { | ||
| 115 | - if (String(value).length > 255) { | ||
| 116 | - return Promise.reject('字数不超过255个字'); | ||
| 117 | - } | ||
| 118 | - return Promise.resolve(); | ||
| 119 | - }, | ||
| 120 | - }, | ||
| 121 | - ]; | 96 | + placeholder: '请输入角色名称', |
| 122 | }, | 97 | }, |
| 123 | }, | 98 | }, |
| 124 | { | 99 | { |
| @@ -139,19 +114,7 @@ export const formSchema: FormSchema[] = [ | @@ -139,19 +114,7 @@ export const formSchema: FormSchema[] = [ | ||
| 139 | component: 'InputTextArea', | 114 | component: 'InputTextArea', |
| 140 | componentProps: { | 115 | componentProps: { |
| 141 | maxLength: 255, | 116 | maxLength: 255, |
| 142 | - }, | ||
| 143 | - dynamicRules: () => { | ||
| 144 | - return [ | ||
| 145 | - { | ||
| 146 | - required: false, | ||
| 147 | - validator: (_, value) => { | ||
| 148 | - if (String(value).length > 255) { | ||
| 149 | - return Promise.reject('字数不超过255个字'); | ||
| 150 | - } | ||
| 151 | - return Promise.resolve(); | ||
| 152 | - }, | ||
| 153 | - }, | ||
| 154 | - ]; | 117 | + placeholder: '请输入备注', |
| 155 | }, | 118 | }, |
| 156 | }, | 119 | }, |
| 157 | { | 120 | { |
| @@ -162,18 +125,5 @@ export const formSchema: FormSchema[] = [ | @@ -162,18 +125,5 @@ export const formSchema: FormSchema[] = [ | ||
| 162 | componentProps: { | 125 | componentProps: { |
| 163 | maxLength: 255, | 126 | maxLength: 255, |
| 164 | }, | 127 | }, |
| 165 | - dynamicRules: () => { | ||
| 166 | - return [ | ||
| 167 | - { | ||
| 168 | - required: false, | ||
| 169 | - validator: (_, value) => { | ||
| 170 | - if (String(value).length > 255) { | ||
| 171 | - return Promise.reject('字数不超过255个字'); | ||
| 172 | - } | ||
| 173 | - return Promise.resolve(); | ||
| 174 | - }, | ||
| 175 | - }, | ||
| 176 | - ]; | ||
| 177 | - }, | ||
| 178 | }, | 128 | }, |
| 179 | ]; | 129 | ]; |
| @@ -100,10 +100,18 @@ | @@ -100,10 +100,18 @@ | ||
| 100 | const [tenantAdminFormDrawer, { openDrawer: openTenantAdminFormDrawer }] = useDrawer(); | 100 | const [tenantAdminFormDrawer, { openDrawer: openTenantAdminFormDrawer }] = useDrawer(); |
| 101 | 101 | ||
| 102 | const tenantId = ref(''); | 102 | const tenantId = ref(''); |
| 103 | - function handleCreateTenantAdmin() { | 103 | + async function handleCreateTenantAdmin() { |
| 104 | + const { items: getPageData } = await getTenantAdminPage({ | ||
| 105 | + page: 1, | ||
| 106 | + pageSize: 1000, | ||
| 107 | + tenantId: tenantId.value, | ||
| 108 | + roleType: RoleEnum.TENANT_ADMIN, | ||
| 109 | + tenantCode: '', | ||
| 110 | + }); | ||
| 104 | openTenantAdminFormDrawer(true, { | 111 | openTenantAdminFormDrawer(true, { |
| 105 | isUpdate: false, | 112 | isUpdate: false, |
| 106 | tenantId: tenantId.value, | 113 | tenantId: tenantId.value, |
| 114 | + judgeExistUserName: getPageData, | ||
| 107 | }); | 115 | }); |
| 108 | } | 116 | } |
| 109 | 117 |
| @@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
| 17 | import { saveTenantAdmin } from '/@/api/tenant/tenantApi'; | 17 | import { saveTenantAdmin } from '/@/api/tenant/tenantApi'; |
| 18 | import { UserDTO } from '/@/api/tenant/tenantInfo'; | 18 | import { UserDTO } from '/@/api/tenant/tenantInfo'; |
| 19 | import { ChineseRegexp, EmailRegexp, emailRule, phoneRule } from '/@/utils/rules'; | 19 | import { ChineseRegexp, EmailRegexp, emailRule, phoneRule } from '/@/utils/rules'; |
| 20 | - import { isAccountExist } from '/@/api/system/system'; | 20 | + // import { isAccountExist } from '/@/api/system/system'; |
| 21 | 21 | ||
| 22 | export default defineComponent({ | 22 | export default defineComponent({ |
| 23 | name: 'TenantAdminFormDrawer', | 23 | name: 'TenantAdminFormDrawer', |
| @@ -29,6 +29,7 @@ | @@ -29,6 +29,7 @@ | ||
| 29 | setup(_, { emit }) { | 29 | setup(_, { emit }) { |
| 30 | const isUpdate = ref(true); | 30 | const isUpdate = ref(true); |
| 31 | const tenantId = ref(''); | 31 | const tenantId = ref(''); |
| 32 | + const isJudgeUserNameExist: any = ref([]); | ||
| 32 | const formSchema: FormSchema[] = [ | 33 | const formSchema: FormSchema[] = [ |
| 33 | { | 34 | { |
| 34 | field: 'id', | 35 | field: 'id', |
| @@ -37,6 +38,7 @@ | @@ -37,6 +38,7 @@ | ||
| 37 | component: 'Input', | 38 | component: 'Input', |
| 38 | componentProps: { | 39 | componentProps: { |
| 39 | maxLength: 36, | 40 | maxLength: 36, |
| 41 | + placeholder: '请输入id', | ||
| 40 | }, | 42 | }, |
| 41 | }, | 43 | }, |
| 42 | { | 44 | { |
| @@ -44,9 +46,14 @@ | @@ -44,9 +46,14 @@ | ||
| 44 | required: true, | 46 | required: true, |
| 45 | label: '账号', | 47 | label: '账号', |
| 46 | component: 'Input', | 48 | component: 'Input', |
| 47 | - dynamicRules: ({ values }) => { | 49 | + componentProps: { |
| 50 | + maxLength: 255, | ||
| 51 | + placeholder: '请输入账号', | ||
| 52 | + }, | ||
| 53 | + dynamicRules: () => { | ||
| 48 | return [ | 54 | return [ |
| 49 | { | 55 | { |
| 56 | + required: true, | ||
| 50 | validator(_, value) { | 57 | validator(_, value) { |
| 51 | return new Promise((resolve, reject) => { | 58 | return new Promise((resolve, reject) => { |
| 52 | if (value == '') { | 59 | if (value == '') { |
| @@ -56,17 +63,19 @@ | @@ -56,17 +63,19 @@ | ||
| 56 | } else if (EmailRegexp.test(value)) { | 63 | } else if (EmailRegexp.test(value)) { |
| 57 | reject('账号不能为电子邮箱格式'); | 64 | reject('账号不能为电子邮箱格式'); |
| 58 | } else { | 65 | } else { |
| 59 | - if (values.username != undefined && values.id == undefined) { | ||
| 60 | - isAccountExist(value).then((data) => { | ||
| 61 | - if (data.data != null) { | ||
| 62 | - reject('账号已存在'); | ||
| 63 | - } else { | ||
| 64 | - resolve(); | ||
| 65 | - } | 66 | + try { |
| 67 | + const findUserName = isJudgeUserNameExist.value.find((f) => { | ||
| 68 | + return f.username == value; | ||
| 66 | }); | 69 | }); |
| 67 | - } else { | ||
| 68 | - resolve(); | 70 | + if (value == findUserName?.username) { |
| 71 | + reject('账号已存在'); | ||
| 72 | + } else { | ||
| 73 | + return reject(''); | ||
| 74 | + } | ||
| 75 | + } catch (e) { | ||
| 76 | + return e; | ||
| 69 | } | 77 | } |
| 78 | + resolve(); | ||
| 70 | } | 79 | } |
| 71 | }); | 80 | }); |
| 72 | }, | 81 | }, |
| @@ -122,6 +131,7 @@ | @@ -122,6 +131,7 @@ | ||
| 122 | await resetFields(); | 131 | await resetFields(); |
| 123 | isUpdate.value = !!data?.isUpdate; | 132 | isUpdate.value = !!data?.isUpdate; |
| 124 | tenantId.value = data?.tenantId; | 133 | tenantId.value = data?.tenantId; |
| 134 | + isJudgeUserNameExist.value = data.judgeExistUserName; | ||
| 125 | if (unref(isUpdate)) { | 135 | if (unref(isUpdate)) { |
| 126 | await updateSchema({ field: 'username', componentProps: { disabled: true } }); | 136 | await updateSchema({ field: 'username', componentProps: { disabled: true } }); |
| 127 | await setFieldsValue({ | 137 | await setFieldsValue({ |
| @@ -49,19 +49,7 @@ export const tenantFormSchema: FormSchema[] = [ | @@ -49,19 +49,7 @@ export const tenantFormSchema: FormSchema[] = [ | ||
| 49 | componentProps: { | 49 | componentProps: { |
| 50 | maxLength: 36, | 50 | maxLength: 36, |
| 51 | }, | 51 | }, |
| 52 | - dynamicRules: () => { | ||
| 53 | - return [ | ||
| 54 | - { | ||
| 55 | - required: false, | ||
| 56 | - validator: (_, value) => { | ||
| 57 | - if (String(value).length > 36) { | ||
| 58 | - return Promise.reject('字数不超过36个字'); | ||
| 59 | - } | ||
| 60 | - return Promise.resolve(); | ||
| 61 | - }, | ||
| 62 | - }, | ||
| 63 | - ]; | ||
| 64 | - }, | 52 | + |
| 65 | show: false, | 53 | show: false, |
| 66 | }, | 54 | }, |
| 67 | { | 55 | { |
| @@ -116,19 +104,6 @@ export const tenantFormSchema: FormSchema[] = [ | @@ -116,19 +104,6 @@ export const tenantFormSchema: FormSchema[] = [ | ||
| 116 | componentProps: { | 104 | componentProps: { |
| 117 | maxLength: 255, | 105 | maxLength: 255, |
| 118 | }, | 106 | }, |
| 119 | - dynamicRules: () => { | ||
| 120 | - return [ | ||
| 121 | - { | ||
| 122 | - required: false, | ||
| 123 | - validator: (_, value) => { | ||
| 124 | - if (String(value).length > 255) { | ||
| 125 | - return Promise.reject('字数不超过255个字'); | ||
| 126 | - } | ||
| 127 | - return Promise.resolve(); | ||
| 128 | - }, | ||
| 129 | - }, | ||
| 130 | - ]; | ||
| 131 | - }, | ||
| 132 | }, | 107 | }, |
| 133 | { | 108 | { |
| 134 | field: 'roleIds', | 109 | field: 'roleIds', |
| @@ -389,20 +389,7 @@ export const schemas: FormSchema[] = [ | @@ -389,20 +389,7 @@ export const schemas: FormSchema[] = [ | ||
| 389 | show: false, | 389 | show: false, |
| 390 | componentProps: { | 390 | componentProps: { |
| 391 | maxLength: 36, | 391 | maxLength: 36, |
| 392 | - placeholder: '请输入平台名称', | ||
| 393 | - }, | ||
| 394 | - dynamicRules: () => { | ||
| 395 | - return [ | ||
| 396 | - { | ||
| 397 | - required: false, | ||
| 398 | - validator: (_, value) => { | ||
| 399 | - if (String(value).length > 36) { | ||
| 400 | - return Promise.reject('字数不超过36个字'); | ||
| 401 | - } | ||
| 402 | - return Promise.resolve(); | ||
| 403 | - }, | ||
| 404 | - }, | ||
| 405 | - ]; | 392 | + placeholder: '请输入唯一id', |
| 406 | }, | 393 | }, |
| 407 | }, | 394 | }, |
| 408 | ]; | 395 | ]; |
| @@ -71,19 +71,6 @@ export const searchFormSchema: FormSchema[] = [ | @@ -71,19 +71,6 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 71 | maxLength: 255, | 71 | maxLength: 255, |
| 72 | placeholder: '请输入角色名称', | 72 | placeholder: '请输入角色名称', |
| 73 | }, | 73 | }, |
| 74 | - dynamicRules: () => { | ||
| 75 | - return [ | ||
| 76 | - { | ||
| 77 | - required: false, | ||
| 78 | - validator: (_, value) => { | ||
| 79 | - if (String(value).length > 255) { | ||
| 80 | - return Promise.reject('字数不超过255个字'); | ||
| 81 | - } | ||
| 82 | - return Promise.resolve(); | ||
| 83 | - }, | ||
| 84 | - }, | ||
| 85 | - ]; | ||
| 86 | - }, | ||
| 87 | }, | 74 | }, |
| 88 | { | 75 | { |
| 89 | field: 'roleType', | 76 | field: 'roleType', |
| @@ -95,19 +82,6 @@ export const searchFormSchema: FormSchema[] = [ | @@ -95,19 +82,6 @@ export const searchFormSchema: FormSchema[] = [ | ||
| 95 | componentProps: { | 82 | componentProps: { |
| 96 | maxLength: 20, | 83 | maxLength: 20, |
| 97 | }, | 84 | }, |
| 98 | - dynamicRules: () => { | ||
| 99 | - return [ | ||
| 100 | - { | ||
| 101 | - required: false, | ||
| 102 | - validator: (_, value) => { | ||
| 103 | - if (String(value).length > 20) { | ||
| 104 | - return Promise.reject('字数不超过20个字'); | ||
| 105 | - } | ||
| 106 | - return Promise.resolve(); | ||
| 107 | - }, | ||
| 108 | - }, | ||
| 109 | - ]; | ||
| 110 | - }, | ||
| 111 | }, | 85 | }, |
| 112 | { | 86 | { |
| 113 | field: 'status', | 87 | field: 'status', |
| @@ -133,19 +107,6 @@ export const formSchema: FormSchema[] = [ | @@ -133,19 +107,6 @@ export const formSchema: FormSchema[] = [ | ||
| 133 | maxLength: 255, | 107 | maxLength: 255, |
| 134 | placeholder: '请输入角色名称', | 108 | placeholder: '请输入角色名称', |
| 135 | }, | 109 | }, |
| 136 | - dynamicRules: () => { | ||
| 137 | - return [ | ||
| 138 | - { | ||
| 139 | - required: true, | ||
| 140 | - validator: (_, value) => { | ||
| 141 | - if (String(value).length > 255) { | ||
| 142 | - return Promise.reject('字数不超过255个字'); | ||
| 143 | - } | ||
| 144 | - return Promise.resolve(); | ||
| 145 | - }, | ||
| 146 | - }, | ||
| 147 | - ]; | ||
| 148 | - }, | ||
| 149 | }, | 110 | }, |
| 150 | { | 111 | { |
| 151 | field: 'status', | 112 | field: 'status', |
| @@ -167,19 +128,6 @@ export const formSchema: FormSchema[] = [ | @@ -167,19 +128,6 @@ export const formSchema: FormSchema[] = [ | ||
| 167 | maxLength: 255, | 128 | maxLength: 255, |
| 168 | placeholder: '请输入备注', | 129 | placeholder: '请输入备注', |
| 169 | }, | 130 | }, |
| 170 | - dynamicRules: () => { | ||
| 171 | - return [ | ||
| 172 | - { | ||
| 173 | - required: false, | ||
| 174 | - validator: (_, value) => { | ||
| 175 | - if (String(value).length > 255) { | ||
| 176 | - return Promise.reject('字数不超过255个字'); | ||
| 177 | - } | ||
| 178 | - return Promise.resolve(); | ||
| 179 | - }, | ||
| 180 | - }, | ||
| 181 | - ]; | ||
| 182 | - }, | ||
| 183 | }, | 131 | }, |
| 184 | { | 132 | { |
| 185 | label: ' ', | 133 | label: ' ', |
| @@ -189,18 +137,5 @@ export const formSchema: FormSchema[] = [ | @@ -189,18 +137,5 @@ export const formSchema: FormSchema[] = [ | ||
| 189 | componentProps: { | 137 | componentProps: { |
| 190 | maxLength: 255, | 138 | maxLength: 255, |
| 191 | }, | 139 | }, |
| 192 | - dynamicRules: () => { | ||
| 193 | - return [ | ||
| 194 | - { | ||
| 195 | - required: false, | ||
| 196 | - validator: (_, value) => { | ||
| 197 | - if (String(value).length > 255) { | ||
| 198 | - return Promise.reject('字数不超过255个字'); | ||
| 199 | - } | ||
| 200 | - return Promise.resolve(); | ||
| 201 | - }, | ||
| 202 | - }, | ||
| 203 | - ]; | ||
| 204 | - }, | ||
| 205 | }, | 140 | }, |
| 206 | ]; | 141 | ]; |
| @@ -66,19 +66,6 @@ export const formSchema: FormSchema[] = [ | @@ -66,19 +66,6 @@ export const formSchema: FormSchema[] = [ | ||
| 66 | maxLength: 255, | 66 | maxLength: 255, |
| 67 | placeholder: '请输入名称', | 67 | placeholder: '请输入名称', |
| 68 | }, | 68 | }, |
| 69 | - dynamicRules: () => { | ||
| 70 | - return [ | ||
| 71 | - { | ||
| 72 | - required: true, | ||
| 73 | - validator: (_, value) => { | ||
| 74 | - if (String(value).length > 255) { | ||
| 75 | - return Promise.reject('字数不超过255个字'); | ||
| 76 | - } | ||
| 77 | - return Promise.resolve(); | ||
| 78 | - }, | ||
| 79 | - }, | ||
| 80 | - ]; | ||
| 81 | - }, | ||
| 82 | }, | 69 | }, |
| 83 | { | 70 | { |
| 84 | field: 'isolatedTbRuleEngine', | 71 | field: 'isolatedTbRuleEngine', |
| 1 | import { ErrorTypeEnum } from '/@/enums/exceptionEnum'; | 1 | import { ErrorTypeEnum } from '/@/enums/exceptionEnum'; |
| 2 | import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum'; | 2 | import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum'; |
| 3 | -import { PlainRoleInfo, RoleInfo } from '/@/api/sys/model/userModel'; | 3 | +import { PlainRoleInfo } from '/@/api/sys/model/userModel'; |
| 4 | 4 | ||
| 5 | // Lock screen information | 5 | // Lock screen information |
| 6 | export interface LockInfo { | 6 | export interface LockInfo { |
| @@ -31,14 +31,14 @@ export interface ErrorLogInfo { | @@ -31,14 +31,14 @@ export interface ErrorLogInfo { | ||
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | export interface UserInfo { | 33 | export interface UserInfo { |
| 34 | - userId: string | number; | ||
| 35 | - username: string; | ||
| 36 | - realName: string; | ||
| 37 | - avatar: string; | 34 | + userId?: string | number; |
| 35 | + username?: string; | ||
| 36 | + realName?: string; | ||
| 37 | + avatar?: string; | ||
| 38 | homePath?: string; | 38 | homePath?: string; |
| 39 | - tenantCode: string; | ||
| 40 | - tenantName: string; | ||
| 41 | - roles: string[]; | 39 | + tenantCode?: string; |
| 40 | + tenantName?: string; | ||
| 41 | + roles?: string[]; | ||
| 42 | plainRoles?: PlainRoleInfo[]; | 42 | plainRoles?: PlainRoleInfo[]; |
| 43 | } | 43 | } |
| 44 | 44 | ||
| @@ -48,3 +48,22 @@ export interface BeforeMiniState { | @@ -48,3 +48,22 @@ export interface BeforeMiniState { | ||
| 48 | menuMode?: MenuModeEnum; | 48 | menuMode?: MenuModeEnum; |
| 49 | menuType?: MenuTypeEnum; | 49 | menuType?: MenuTypeEnum; |
| 50 | } | 50 | } |
| 51 | + | ||
| 52 | +export interface UserUpdateInfo { | ||
| 53 | + activateToken?: string; | ||
| 54 | + avatar?: string; | ||
| 55 | + createTime?: string; | ||
| 56 | + creator?: string; | ||
| 57 | + email?: string; | ||
| 58 | + enabled?: true; | ||
| 59 | + hasPassword?: false; | ||
| 60 | + id?: string; | ||
| 61 | + level?: 2; | ||
| 62 | + password?: string; | ||
| 63 | + phoneNumber?: string; | ||
| 64 | + realName?: string; | ||
| 65 | + tenantId?: string; | ||
| 66 | + updateTime?: string; | ||
| 67 | + updater?: string; | ||
| 68 | + username?: string; | ||
| 69 | +} |