Compare commits

..

16 Commits
test ... master

Author SHA1 Message Date
zzh
f1e2cb9b8a Merge pull request '20261030' (#16) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 2m0s
Reviewed-on: #16
2026-10-30 17:38:34 +08:00
zzh
25bc5efd30 Merge pull request 'fix: 页签缓存名对齐、状态标签去色条,并修复订单详情嵌套字段不显示' (#15) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 2m38s
Reviewed-on: #15
2026-10-28 14:27:13 +08:00
zzh
ffadbcd92f Merge pull request '20261028' (#14) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 2m13s
Reviewed-on: #14
2026-10-28 11:47:07 +08:00
zzh
3d7a19f4a7 Merge pull request '20261027' (#13) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 2m16s
Reviewed-on: #13
2026-10-27 17:52:02 +08:00
zzh
7da7395b90 Merge pull request '20261026' (#12) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 2m7s
Reviewed-on: #12
2026-10-26 12:27:54 +08:00
zzh
ab8ed08e52 Merge pull request 'feat: 客户门户可折叠侧栏导航,去掉页签并区分打印入口提示' (#11) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 2m13s
Reviewed-on: #11
2026-10-24 19:13:03 +08:00
zzh
52071ecf47 Merge pull request 'feat: 入库预报查看编辑合一、箱唛/SKU打印与订单改销售产品' (#10) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m49s
Reviewed-on: #10
2026-10-22 19:13:29 +08:00
zzh
3661c0e86e Merge pull request 'feat: 官网海洋蓝波浪首页与指南分受众,并同步业务页优化' (#9) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m43s
Reviewed-on: #9
2026-10-21 18:18:26 +08:00
zzh
7f49b26ac7 Merge pull request '1.06' (#8) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m48s
Reviewed-on: #8
2026-10-19 17:04:22 +08:00
zzh
cd02a48017 Merge pull request 'feat: H5 门户切换与充值审核,订单编辑支持仓库件重尺及 COS 资源代理修复' (#7) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m53s
Reviewed-on: #7
2026-10-15 20:01:31 +08:00
zzh
1d095be338 Merge pull request '1.05' (#6) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 2m10s
Reviewed-on: #6
2026-10-15 14:18:03 +08:00
zzh
7a52327819 1.04
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m46s
1.04
2026-10-10 19:34:33 +08:00
zzh
bf5be87823 1.03
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m58s
1.03
2026-10-10 17:06:02 +08:00
zzh
61df911a5c 1.02
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m51s
1.02
2026-10-09 18:55:53 +08:00
zzh
1ca023f5e7 Merge pull request '1.01版本' (#2) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m38s
Reviewed-on: #2
2026-10-08 17:43:14 +08:00
zzh
5cc4f69fbf Merge pull request '20261008-ide1.0发布' (#1) from test into master
All checks were successful
Build and Deploy Front / deploy (push) Successful in 1m59s
Reviewed-on: #1
2026-10-08 09:19:20 +08:00
3 changed files with 9 additions and 24 deletions

View File

@ -3,10 +3,8 @@
*/ */
import { axiosInstance } from '@/api/rbac' import { axiosInstance } from '@/api/rbac'
import { assertBusinessOk, omsUrl, parseListPayload, unwrapData } from '@/api/oms/common' import { assertBusinessOk, omsUrl, parseListPayload, unwrapData } from '@/api/oms/common'
import { CUSTOMER_STATUS } from '@/utils/customerStatus'
/** 与后端 CustomerStatus 对齐:0=None,1=Disabled,2=Normal,3=Frozen */ export type CustomerStatus = 0 | 1 | 2
export type CustomerStatus = 0 | 1 | 2 | 3
export type CustomerGroup = 0 | 1 | 2 | 3 | 4 | 5 export type CustomerGroup = 0 | 1 | 2 | 3 | 4 | 5
@ -156,7 +154,7 @@ export const CustomerService = {
balance: data.accountBalance ?? data.balance ?? 0, balance: data.accountBalance ?? data.balance ?? 0,
totalQuota: data.totalQuota ?? 0, totalQuota: data.totalQuota ?? 0,
usedQuota: data.usedQuota ?? 0, usedQuota: data.usedQuota ?? 0,
status: data.status ?? CUSTOMER_STATUS.normal, status: data.status ?? 1,
remark: data.remark, remark: data.remark,
salesman: data.salesman ?? data.salesPerson, salesman: data.salesman ?? data.salesPerson,
customerService: data.customerService, customerService: data.customerService,
@ -188,8 +186,7 @@ export const CustomerService = {
balance: data.accountBalance ?? data.balance, balance: data.accountBalance ?? data.balance,
totalQuota: data.totalQuota, totalQuota: data.totalQuota,
usedQuota: data.usedQuota, usedQuota: data.usedQuota,
// 后端:1=Disabled,2=Normal;勿默认 1,否则公开注册账号无法登录 status: data.status ?? 1,
status: data.status ?? CUSTOMER_STATUS.normal,
role: data.role, role: data.role,
remark: data.remark, remark: data.remark,
salesman: data.salesman ?? data.salesPerson, salesman: data.salesman ?? data.salesPerson,

View File

@ -318,11 +318,7 @@ export const useRbacUserStore = defineStore('rbacUser', () => {
enableKeepAlive() enableKeepAlive()
await hydrateUserAfterLogin(result) await hydrateUserAfterLogin(result)
return true return true
} catch (error: unknown) { } catch {
// 交给登录页展示业务文案(如「客户已禁用」),勿一律当成账号密码错误
const anyErr = error as { body?: { message?: string }; message?: string }
const msg = String(anyErr?.body?.message || anyErr?.message || '').trim()
if (msg) throw new Error(msg)
return false return false
} }
} }

View File

@ -350,19 +350,11 @@ async function handleSubmit() {
loading.value = true; loading.value = true;
errorBox.value = ''; errorBox.value = '';
let success = false; const success = await rbacUserStore.login(
try { loginForm.account,
success = await rbacUserStore.login( loginForm.password,
loginForm.account, props.loginType,
loginForm.password, );
props.loginType,
);
} catch (loginErr: unknown) {
const msg = loginErr instanceof Error ? loginErr.message.trim() : '';
errorBox.value = msg || t('login.form.login.failed');
loginCharacters.value?.onLoginFailed();
return;
}
if (success && rbacUserStore.userInfo) { if (success && rbacUserStore.userInfo) {
const userInfoData = rbacUserStore.userInfo; const userInfoData = rbacUserStore.userInfo;