Commit 5064d0e6 by liangjianmin

fix(apply): update order number field naming and enhance validation logic

- Rename order_no field to order_sn for consistency with API
- Update validation logic to ensure customer name is fetched based on order_sn
- Improve error messages for better user guidance during form submission
- Adjust navigation behavior after successful submission to switch tabs instead of navigating back
parent 0224b381
Showing with 21 additions and 14 deletions
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
<u--input v-model="apply_type_name" disabled disabledColor="#ffffff" placeholder="请选择" border="none" inputAlign="right"></u--input> <u--input v-model="apply_type_name" disabled disabledColor="#ffffff" placeholder="请选择" border="none" inputAlign="right"></u--input>
<u-icon slot="right" name="arrow-down" color="#c0c4cc"></u-icon> <u-icon slot="right" name="arrow-down" color="#c0c4cc"></u-icon>
</u-form-item> </u-form-item>
<u-form-item label="订单号" prop="order_no" required borderBottom> <u-form-item label="订单号" prop="order_sn" required borderBottom>
<u--input v-model="form.order_no" placeholder="请输入" border="none" inputAlign="right" @input="handleOrderNoInput"></u--input> <u--input v-model="form.order_sn" placeholder="请输入" border="none" inputAlign="right" @input="handleOrderNoInput"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="客户名称" prop="customer_name" required> <u-form-item label="客户名称" prop="customer_name" required>
<view class="row verCenter boxFlex" style="justify-content: flex-end;"> <view class="row verCenter boxFlex" style="justify-content: flex-end;">
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
return { return {
form: { form: {
apply_type: '', apply_type: '',
order_no: '', order_sn: '',
customer_name: '', customer_name: '',
apply_fee_amount: '', apply_fee_amount: '',
relief_detail: '', relief_detail: '',
...@@ -108,14 +108,14 @@ ...@@ -108,14 +108,14 @@
* @return {void} * @return {void}
*/ */
handleOrderNoInput: debounce(function() { handleOrderNoInput: debounce(function() {
var orderNo = this.form.order_no.trim(); var orderSn = this.form.order_sn.trim();
if (!orderNo) { if (!orderSn) {
this.form.customer_name = ''; this.form.customer_name = '';
return; return;
} }
this.request(API.getCustomerName, 'GET', { order_sn: orderNo }).then(res => { this.request(API.getCustomerName, 'GET', { order_sn: orderSn }).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.form.customer_name = res.data; this.form.customer_name = res.data;
} else { } else {
...@@ -133,25 +133,25 @@ ...@@ -133,25 +133,25 @@
* @return {boolean} 校验是否通过 * @return {boolean} 校验是否通过
*/ */
validateForm() { validateForm() {
var { apply_type, order_no, customer_name, apply_fee_amount, relief_detail, relief_reason } = this.form; var { apply_type, order_sn, customer_name, apply_fee_amount, relief_detail, relief_reason } = this.form;
if (!apply_type) { if (!apply_type) {
this.errorMsg = '请选择申请类型'; this.errorMsg = '请选择申请类型';
return false; return false;
} }
if (!order_no) { if (!order_sn) {
this.errorMsg = '请输入订单号'; this.errorMsg = '请输入订单号';
return false; return false;
} }
if (!customer_name) { if (!apply_fee_amount) {
this.errorMsg = '请输入有效的订单号以获取客户名称'; this.errorMsg = '请输入申请免收金额';
return false; return false;
} }
if (!apply_fee_amount) { if (isNaN(apply_fee_amount) || Number(apply_fee_amount) <= 0) {
this.errorMsg = '请输入申请免收金额'; this.errorMsg = '请输入有效的申请免收金额';
return false; return false;
} }
...@@ -165,6 +165,11 @@ ...@@ -165,6 +165,11 @@
return false; return false;
} }
if (!customer_name) {
this.errorMsg = '请输入有效的订单号以获取客户名称';
return false;
}
this.errorMsg = ''; this.errorMsg = '';
return true; return true;
}, },
...@@ -186,8 +191,10 @@ ...@@ -186,8 +191,10 @@
}); });
setTimeout(() => { setTimeout(() => {
uni.navigateBack(); uni.switchTab({
}, 1500); url: '/pages/approve/index'
});
}, 2000);
} else { } else {
this.errorMsg = res.msg || '提交失败'; this.errorMsg = res.msg || '提交失败';
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment