{
window.$loading?.endLoading();
+ StreamSaver.mitm = '/streamsaver/mitm.html?version=2.0.0';
const fileStream = StreamSaver.createWriteStream(filename, { size: contentLength });
if (window.WritableStream && readableStream?.pipeTo) {
diff --git a/src/hooks/common/form.ts b/src/hooks/common/form.ts
index f6296a00..fa6ce6f4 100644
--- a/src/hooks/common/form.ts
+++ b/src/hooks/common/form.ts
@@ -2,6 +2,7 @@ import { ref, toValue } from 'vue';
import type { ComputedRef, Ref } from 'vue';
import type { FormInst } from 'naive-ui';
import { REG_CODE_SIX, REG_EMAIL, REG_PHONE, REG_PWD, REG_USER_NAME } from '@/constants/reg';
+import { isNull } from '@/utils/common';
import { $t } from '@/locales';
export function useFormRules() {
@@ -52,7 +53,7 @@ export function useFormRules() {
required: true,
trigger: ['input', 'blur'],
validator: (_rule: any, value: any) => {
- if (value === null || value === undefined || value === '') {
+ if (isNull(value) || (Array.isArray(value) && value.length === 0)) {
return new Error(message);
}
return true;
diff --git a/src/utils/common.ts b/src/utils/common.ts
index 497a9b9a..1888dd27 100644
--- a/src/utils/common.ts
+++ b/src/utils/common.ts
@@ -78,12 +78,12 @@ export function humpToLine(str: string, line: string = '-') {
/** 判断是否为空 */
export function isNotNull(value: any) {
- return value !== undefined && value !== null && value !== '' && value !== 'undefined' && value !== 'null';
+ return value !== undefined && value !== null && value !== '';
}
/** 判断是否为空 */
export function isNull(value: any) {
- return value === undefined || value === null || value === '' || value === 'undefined' || value === 'null';
+ return value === undefined || value === null || value === '';
}
/** 判断是否为图片类型 */
diff --git a/src/views/system/user/modules/user-import-modal.vue b/src/views/system/user/modules/user-import-modal.vue
index 22378489..0401b091 100644
--- a/src/views/system/user/modules/user-import-modal.vue
+++ b/src/views/system/user/modules/user-import-modal.vue
@@ -142,8 +142,12 @@ watch(visible, () => {
{{ $t('common.updateExisting') }}
+
- {{ message }}
+
+
+
+
diff --git a/src/views/system/user/modules/user-operate-drawer.vue b/src/views/system/user/modules/user-operate-drawer.vue
index 8bbdc419..68ecfa2c 100644
--- a/src/views/system/user/modules/user-operate-drawer.vue
+++ b/src/views/system/user/modules/user-operate-drawer.vue
@@ -65,14 +65,15 @@ function createDefaultModel(): Model {
};
}
-type RuleKey = Extract;
+type RuleKey = Extract;
const rules: Record = {
userName: [createRequiredRule($t('page.system.user.form.userName.required'))],
nickName: [createRequiredRule($t('page.system.user.form.nickName.required'))],
password: [{ ...patternRules.pwd, required: props.operateType === 'add' }],
phonenumber: [patternRules.phone],
- status: [createRequiredRule($t('page.system.user.form.status.required'))]
+ status: [createRequiredRule($t('page.system.user.form.status.required'))],
+ roleIds: [{ ...createRequiredRule('请选择角色'), type: 'array' }]
};
async function getUserInfo() {