diff --git a/src/views/recharge/addCoinRecharge.vue b/src/views/recharge/addCoinRecharge.vue index 5598790..8ebe3a6 100644 --- a/src/views/recharge/addCoinRecharge.vue +++ b/src/views/recharge/addCoinRecharge.vue @@ -132,6 +132,19 @@ const add = async function () { const addBefore = () => { Ref.value.validate(async (valid) => { if (valid) { + + // 强制查询用户是否存在 + try { + await getUser(recharge.value.jwcode); + if (!user.value.jwcode) { + ElMessage.error('请先验证有效的精网号'); + return; + } + } catch (error) { + ElMessage.error('精网号验证失败'); + return; + } + if (recharge.value.rateName == null || recharge.value.rateName == '' || recharge.value.rateName == undefined) { ElMessage({ type: 'error', @@ -173,9 +186,20 @@ const addBefore = () => { // 开始时间改变时,重新验证结束时间 const Ref = ref(null) +const validateJwCode = (rule, value, callback) => { + if (!value) { + callback(new Error('精网号不能为空')); + return; + } + if (/[^0-9]/.test(value)) { + callback(new Error('精网号只能包含数字')); + return; + } + callback(); +}; const rules = reactive({ - jwcode: [{ required: true, message: '请输入精网号', trigger: 'blur' }], + jwcode: [{ required: true, validator: validateJwCode, trigger: 'blur' }], activity: [{ required: true, message: '请选择活动名称', trigger: 'blur' }], permanentGold: [ { required: true, message: '请输入永久金币数', trigger: 'blur' }, @@ -307,30 +331,27 @@ const getUser = async function (jwcode) { trimJwCode(); try { - // 发送POST请求 + const result = await API({ url: '/user/selectUser', data: { jwcode: recharge.value.jwcode } }) - console.log('请求成功', result) if (result.code === 0) { ElMessage.error(result.msg); } else if (result.data === null) { ElMessage.error("用户不存在"); - recharge.value.jwcode = '' } else { user.value = result.data; console.log("用户信息", user.value); - ElMessage.success(result.msg); + ElMessage.success("查询成功"); } } catch (error) { console.log("请求失败", error); ElMessage.error("精网号错误"); - recharge.value.jwcode = '' } } @@ -525,10 +546,10 @@ onMounted(() => { class="add-form" > - + 查询 { Ref.value.validate(async (valid) => { if (valid) { + + try { + await getUser(refund.value.jwcode); + if (!user.value.jwcode) { + ElMessage.error('请先验证有效的精网号'); + return; + } + } catch (error) { + ElMessage.error('精网号验证失败'); + return; + } + ElMessageBox.confirm('确认添加?') .then(() => { add() @@ -128,9 +140,19 @@ const addBefore = () => { // 开始时间改变时,重新验证结束时间 const Ref = ref(null) const startChange = (val) => {} - +const validateJwCode = (rule, value, callback) => { + if (!value) { + callback(new Error('精网号不能为空')); + return; + } + if (/[^0-9]/.test(value)) { + callback(new Error('精网号只能包含数字')); + return; + } + callback(); +}; const rules = reactive({ - jwcode: [{ required: true, message: '请输入精网号', trigger: 'blur' }], + jwcode: [{ required: true, validator:validateJwCode, trigger: 'blur' }], refundType: [{ required: true, message: '请选择退款类型', trigger: 'blur' }], goodsName: [{ required: true, message: '请选择退款商品', trigger: 'blur' }], taskGold: [{ required: true, message: '请输入任务金币', trigger: 'blur' }], @@ -192,7 +214,6 @@ const getUser = async function (jwcode) { ElMessage.error(result.msg); } else if (result.data === null) { ElMessage.error("用户不存在"); - addRefund.value.jwcode = ''; // 精网号清空 } else { // 对传过来的金币数除以 100 const processedData = { @@ -209,8 +230,7 @@ const getUser = async function (jwcode) { } } catch (error) { console.log("请求失败", error); - ElMessage.error("查询失败,请检查精网号是否正确"); - addRefund.value.jwcode = ''; // 精网号清空 + ElMessage.error("精网号错误"); } } @@ -418,11 +438,11 @@ onMounted(async function () { v-model="addRefund.jwcode" style="width: 220px" @change="getGoods(addRefund.jwcode)" - @blur="getUser(addRefund.jwcode)" + /> 查询