```
feat(shopro_huifu): 完善汇付进件功能的表单验证和错误处理 - 增加支行搜索功能的城市筛选支持,优化搜索逻辑 - 添加前端表单验证机制,包括身份证、银行卡、区域等必填字段校验 - 改进支行选择验证,确保必须从搜索结果中选择带联行号的支行 - 优化后端保存逻辑,添加强制保存参数控制 - 统一异常处理机制,增加HttpResponseException的正确抛出 - 完善用户界面提示信息,明确操作指引和错误反馈 - 修复表单提交前的数据准备逻辑,确保数据完整性 ```
这个提交包含在:
@@ -233,17 +233,24 @@ define(['jquery', 'bootstrap', 'backend'], function ($, undefined, Backend) {
|
||||
},
|
||||
onBranchInput: function () {
|
||||
var vm = this;
|
||||
var keyword = (vm.branchKeyword || '').trim();
|
||||
if (keyword !== vm.form.branch_name) {
|
||||
vm.form.branch_code = '';
|
||||
vm.form.branch_name = keyword;
|
||||
}
|
||||
clearTimeout(branchTimer);
|
||||
branchTimer = setTimeout(function () {
|
||||
if (!vm.branchKeyword) {
|
||||
if (!keyword) {
|
||||
vm.branchResults = [];
|
||||
vm.form.branch_code = '';
|
||||
vm.form.branch_name = '';
|
||||
return;
|
||||
}
|
||||
Fast.api.ajax({
|
||||
url: 'shopro_huifu/onboard/searchBranch',
|
||||
type: 'GET',
|
||||
data: {
|
||||
keyword: vm.branchKeyword,
|
||||
keyword: keyword,
|
||||
area_id: vm.form.area_id || vm.form.shopro_city_id
|
||||
}
|
||||
}, function (ret, res) {
|
||||
@@ -252,6 +259,47 @@ define(['jquery', 'bootstrap', 'backend'], function ($, undefined, Backend) {
|
||||
});
|
||||
}, 300);
|
||||
},
|
||||
prepareFormBeforeSubmit: function () {
|
||||
var keyword = (this.branchKeyword || '').trim();
|
||||
if (keyword) {
|
||||
this.form.branch_name = keyword;
|
||||
}
|
||||
this.form.mp = this.bankMobile;
|
||||
},
|
||||
validateFormBeforeSubmit: function () {
|
||||
var form = this.form;
|
||||
if (form.account_type === 'indv') {
|
||||
if (!form.name || !form.cert_no || !form.mobile_no || !form.reg_detail) {
|
||||
Toastr.error('请完整填写身份实名信息');
|
||||
return false;
|
||||
}
|
||||
if (!form.id_card_front_url || !form.id_card_back_url) {
|
||||
Toastr.error('请上传身份证人像面和国徽面');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (!form.card_no) {
|
||||
Toastr.error('请填写银行卡号');
|
||||
return false;
|
||||
}
|
||||
if (!this.bankMobile) {
|
||||
Toastr.error('请填写银行预留手机号');
|
||||
return false;
|
||||
}
|
||||
if (!form.branch_code) {
|
||||
if ((this.branchKeyword || '').trim() || form.branch_name) {
|
||||
Toastr.error('请从支行搜索结果中点击选择开户银行(需联行号)');
|
||||
} else {
|
||||
Toastr.error('请搜索并选择开户银行支行');
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if (!form.shopro_province_id && !form.prov_id) {
|
||||
Toastr.error('请选择所在区域');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
selectBranch: function (item) {
|
||||
this.form.branch_code = item.branch_code;
|
||||
this.form.branch_name = item.branch_name;
|
||||
@@ -282,6 +330,10 @@ define(['jquery', 'bootstrap', 'backend'], function ($, undefined, Backend) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
vm.prepareFormBeforeSubmit();
|
||||
if (!vm.validateFormBeforeSubmit()) {
|
||||
return;
|
||||
}
|
||||
vm.saving = true;
|
||||
var url = vm.isEdit
|
||||
? ('shopro_huifu/onboard/edit/ids/' + vm.editId)
|
||||
|
||||
在新工单中引用
屏蔽一个用户