From f8df4a41ddfc01782b96ea203450902004b1469f Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Sat, 7 Feb 2026 23:53:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8A=9F=E8=83=BD=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E4=BC=98=E5=8C=96=E5=AE=8C=E5=96=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/system/config/addEdit.vue | 8 +- src/pages_mine/pages/system/dept/addEdit.vue | 7 +- src/pages_mine/pages/system/dict/addEdit.vue | 8 +- .../pages/system/dictData/addEdit.vue | 2 +- src/pages_mine/pages/system/menu/addEdit.vue | 2 +- .../pages/system/notice/addEdit.vue | 216 +++++++++--------- src/pages_mine/pages/system/post/addEdit.vue | 7 +- src/pages_mine/pages/system/role/addEdit.vue | 2 +- src/pages_mine/pages/system/user/addEdit.vue | 81 +++++-- src/static/scss/global.scss | 51 ++++- 10 files changed, 229 insertions(+), 155 deletions(-) diff --git a/src/pages_mine/pages/system/config/addEdit.vue b/src/pages_mine/pages/system/config/addEdit.vue index 0e04471..1b0430c 100644 --- a/src/pages_mine/pages/system/config/addEdit.vue +++ b/src/pages_mine/pages/system/config/addEdit.vue @@ -3,7 +3,7 @@ {{ title }} - err.field || err.prop) } - console.log('验证失败') - proxy.$refs['uToast'].show({ - type: 'error', - message: '请填写完整信息' - }) + proxy.$modal.msgError('请填写完整信息') }) } diff --git a/src/pages_mine/pages/system/dept/addEdit.vue b/src/pages_mine/pages/system/dept/addEdit.vue index 0ee97f1..3a12ec5 100644 --- a/src/pages_mine/pages/system/dept/addEdit.vue +++ b/src/pages_mine/pages/system/dept/addEdit.vue @@ -3,7 +3,7 @@ {{ title }} - @@ -274,10 +274,7 @@ function submit() { if (errors && Array.isArray(errors)) { errorFields.value = errors.map(err => err.field || err.prop) } - proxy.$refs['uToast'].show({ - type: 'error', - message: '请填写完整信息' - }) + proxy.$modal.msgError('请填写完整信息') }) } diff --git a/src/pages_mine/pages/system/dict/addEdit.vue b/src/pages_mine/pages/system/dict/addEdit.vue index 2cd9fcb..2988205 100644 --- a/src/pages_mine/pages/system/dict/addEdit.vue +++ b/src/pages_mine/pages/system/dict/addEdit.vue @@ -3,7 +3,7 @@ {{ title }} - err.field || err.prop) } - console.log('验证失败') - proxy.$refs['uToast'].show({ - type: 'error', - message: '请填写完整信息' - }) + proxy.$modal.msgError('请填写完整信息') }) } diff --git a/src/pages_mine/pages/system/dictData/addEdit.vue b/src/pages_mine/pages/system/dictData/addEdit.vue index 7f0cfbf..13d5a12 100644 --- a/src/pages_mine/pages/system/dictData/addEdit.vue +++ b/src/pages_mine/pages/system/dictData/addEdit.vue @@ -3,7 +3,7 @@ {{ title }} - {{ title }} - diff --git a/src/pages_mine/pages/system/notice/addEdit.vue b/src/pages_mine/pages/system/notice/addEdit.vue index bf0f10a..e14057e 100644 --- a/src/pages_mine/pages/system/notice/addEdit.vue +++ b/src/pages_mine/pages/system/notice/addEdit.vue @@ -3,23 +3,26 @@ 公告信息 - + - - - - - + + + + + - - - - - + + + + + + @@ -79,11 +82,19 @@ + + + + + + diff --git a/src/pages_mine/pages/system/role/addEdit.vue b/src/pages_mine/pages/system/role/addEdit.vue index d533f69..a1fa08d 100644 --- a/src/pages_mine/pages/system/role/addEdit.vue +++ b/src/pages_mine/pages/system/role/addEdit.vue @@ -3,7 +3,7 @@ {{ title }} - diff --git a/src/pages_mine/pages/system/user/addEdit.vue b/src/pages_mine/pages/system/user/addEdit.vue index 78ce421..a56ee91 100644 --- a/src/pages_mine/pages/system/user/addEdit.vue +++ b/src/pages_mine/pages/system/user/addEdit.vue @@ -3,8 +3,8 @@ {{ title }} - + @@ -460,29 +460,64 @@ function confirmRoleSelect() { // 提交 function submit() { errorFields.value = [] // 清空错误字段 - proxy.$refs['uForm'].validate().then(() => { - if (form.userId) { - updateUser(form).then(() => { - proxy.$modal.msgSuccess('修改成功') - setTimeout(() => { - uni.navigateTo({ url: `/pages_mine/pages/system/user/list` }) - }, 1500) - }) - } else { - addUser(form).then(() => { - proxy.$modal.msgSuccess('新增成功') - setTimeout(() => { - uni.navigateTo({ url: `/pages_mine/pages/system/user/list` }) - }, 1500) - }) + + // 手动验证必填项 + if (!form.nickName) { + errorFields.value.push('nickName') + proxy.$modal.msgError('请输入用户昵称') + return + } + + // 新增时验证用户名和密码 + if (!form.userId) { + if (!form.userName) { + errorFields.value.push('userName') + proxy.$modal.msgError('请输入用户名称') + return } - }).catch((errors) => { - // 记录验证失败的字段 - if (errors && Array.isArray(errors)) { - errorFields.value = errors.map(err => err.field || err.prop) + if (!form.password) { + errorFields.value.push('password') + proxy.$modal.msgError('请输入用户密码') + return } - proxy.$modal.msgError('请填写完整信息') - }) + } + + if (!form.phonenumber) { + errorFields.value.push('phonenumber') + proxy.$modal.msgError('请输入手机号码') + return + } + + // 验证手机号格式 + if (!/^1[3-9]\d{9}$/.test(form.phonenumber)) { + errorFields.value.push('phonenumber') + proxy.$modal.msgError('请输入正确的手机号码') + return + } + + // 验证邮箱格式(如果填写了邮箱) + if (form.email && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(form.email)) { + errorFields.value.push('email') + proxy.$modal.msgError('请输入正确的邮箱地址') + return + } + + // 提交数据 + if (form.userId) { + updateUser(form).then(() => { + proxy.$modal.msgSuccess('修改成功') + setTimeout(() => { + uni.navigateTo({ url: `/pages_mine/pages/system/user/list` }) + }, 1500) + }) + } else { + addUser(form).then(() => { + proxy.$modal.msgSuccess('新增成功') + setTimeout(() => { + uni.navigateTo({ url: `/pages_mine/pages/system/user/list` }) + }, 1500) + }) + } } diff --git a/src/static/scss/global.scss b/src/static/scss/global.scss index b4f0cb1..f5df3ca 100644 --- a/src/static/scss/global.scss +++ b/src/static/scss/global.scss @@ -95,7 +95,7 @@ .form-view { // 表单项间距 :deep(.u-form-item) { - margin-bottom: 5rpx; + margin-bottom: -10rpx; position: relative; } @@ -179,8 +179,8 @@ border-color: #f56c6c !important; } - // 下拉箭头放到输入框内部右侧 - :deep(.u-form-item__body__right) { + // 下拉箭头放到输入框内部右侧(仅在有图标时生效) + :deep(.u-form-item__body__right:has(.u-icon)) { position: absolute !important; right: 24rpx !important; top: 50% !important; @@ -195,6 +195,51 @@ font-size: 28rpx !important; } + // 带箭头的下拉选择框(使用 class="with-arrow") + :deep(.with-arrow) { + position: relative; + cursor: pointer; + + // 增加点击区域提示 + .u-form-item__body { + cursor: pointer; + } + + // disabled 输入框允许点击穿透 + .u--input { + pointer-events: none !important; + } + + .u-input { + pointer-events: none !important; + } + + .u-input__content { + pointer-events: none !important; + } + + .u-input__content__field-wrapper { + pointer-events: none !important; + } + + .u-input__content__field-wrapper__field { + pointer-events: none !important; + } + + // 用伪元素添加箭头,不影响布局宽度 + &::after { + content: '▼'; + position: absolute; + right: 20rpx; + top: 50%; + transform: translateY(-50%); + color: #c0c4cc; + font-size: 20rpx; + pointer-events: none; + z-index: 10; + } + } + // 统一图标颜色 :deep(.u-icon) { color: #909399 !important;