|
@@ -8,19 +8,19 @@
|
|
|
<cwg-tabs v-model:cativeIndex="cativeIndex" :tabs="tabs" />
|
|
<cwg-tabs v-model:cativeIndex="cativeIndex" :tabs="tabs" />
|
|
|
|
|
|
|
|
</view>
|
|
</view>
|
|
|
- <uni-forms ref="baseForm" :model="formData" labelWidth="200" label-position="top" :rules="rules"
|
|
|
|
|
- class="base-info-form">
|
|
|
|
|
|
|
+ <uni-forms ref="formRef" :model="formData" :rules="rules" label-width="200" label-position="top"
|
|
|
|
|
+ class="base-info-form" validate-trigger="submit">
|
|
|
<uni-row class="demo-uni-row uni-row1 uni-row2">
|
|
<uni-row class="demo-uni-row uni-row1 uni-row2">
|
|
|
<!-- MT4/MT5 -->
|
|
<!-- MT4/MT5 -->
|
|
|
<uni-col :xs="24">
|
|
<uni-col :xs="24">
|
|
|
- <uni-forms-item :label="t('Custom.NewAccount.Platform')">
|
|
|
|
|
|
|
+ <uni-forms-item :label="t('Custom.NewAccount.Platform')" name="platform">
|
|
|
<cwg-combox :clearable="false" v-model:value="formData.platform"
|
|
<cwg-combox :clearable="false" v-model:value="formData.platform"
|
|
|
:options="platformColumns" :placeholder="t('placeholder.choose')" />
|
|
:options="platformColumns" :placeholder="t('placeholder.choose')" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
<!-- 货币类型 -->
|
|
<!-- 货币类型 -->
|
|
|
<uni-col :xs="24">
|
|
<uni-col :xs="24">
|
|
|
- <uni-forms-item :label="t('Custom.NewAccount.Currency')">
|
|
|
|
|
|
|
+ <uni-forms-item :label="t('Custom.NewAccount.Currency')" name="currency">
|
|
|
<cwg-combox :clearable="false" v-model:value="formData.currency"
|
|
<cwg-combox :clearable="false" v-model:value="formData.currency"
|
|
|
:options="currencyColumns" :placeholder="t('placeholder.choose')" />
|
|
:options="currencyColumns" :placeholder="t('placeholder.choose')" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
@@ -28,7 +28,7 @@
|
|
|
|
|
|
|
|
<!-- 杠杆 -->
|
|
<!-- 杠杆 -->
|
|
|
<uni-col :xs="24">
|
|
<uni-col :xs="24">
|
|
|
- <uni-forms-item :label="t('Custom.NewAccount.Lever')">
|
|
|
|
|
|
|
+ <uni-forms-item :label="t('Custom.NewAccount.Lever')" name="leverage">
|
|
|
<cwg-combox :clearable="false" :disabled="hidden" v-model:value="formData.leverage"
|
|
<cwg-combox :clearable="false" :disabled="hidden" v-model:value="formData.leverage"
|
|
|
:options="leverageColumns" :placeholder="t('placeholder.choose')" />
|
|
:options="leverageColumns" :placeholder="t('placeholder.choose')" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
@@ -36,14 +36,14 @@
|
|
|
|
|
|
|
|
<!-- 账户余额 -->
|
|
<!-- 账户余额 -->
|
|
|
<uni-col :xs="24" v-if="dome">
|
|
<uni-col :xs="24" v-if="dome">
|
|
|
- <uni-forms-item :label="t('Custom.NewAccount.Balance')">
|
|
|
|
|
|
|
+ <uni-forms-item :label="t('Custom.NewAccount.Balance')" name="balance">
|
|
|
<uni-easyinput type="digit" :clearable="false" v-model="formData.balance"
|
|
<uni-easyinput type="digit" :clearable="false" v-model="formData.balance"
|
|
|
:placeholder="t('Custom.NewAccount.BalancePlaceholder')" />
|
|
:placeholder="t('Custom.NewAccount.BalancePlaceholder')" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
|
</uni-col>
|
|
</uni-col>
|
|
|
<!-- 交易密码 -->
|
|
<!-- 交易密码 -->
|
|
|
<uni-col :xs="24">
|
|
<uni-col :xs="24">
|
|
|
- <uni-forms-item :label="t('Custom.NewAccount.Password')">
|
|
|
|
|
|
|
+ <uni-forms-item :label="t('Custom.NewAccount.Password')" name="password">
|
|
|
<uni-easyinput :clearable="false" v-model="formData.password"
|
|
<uni-easyinput :clearable="false" v-model="formData.password"
|
|
|
:placeholder="t('Custom.NewAccount.Password')" />
|
|
:placeholder="t('Custom.NewAccount.Password')" />
|
|
|
</uni-forms-item>
|
|
</uni-forms-item>
|
|
@@ -252,6 +252,21 @@ const formData = reactive({
|
|
|
platform: '',
|
|
platform: '',
|
|
|
balance: null,
|
|
balance: null,
|
|
|
});
|
|
});
|
|
|
|
|
+const resetForm = async () => {
|
|
|
|
|
+ await nextTick();
|
|
|
|
|
+ formRef.value?.clearValidate();
|
|
|
|
|
+ formData.password = ""
|
|
|
|
|
+ formData.currency = ""
|
|
|
|
|
+ formData.leverage = ""
|
|
|
|
|
+ formData.platform = ""
|
|
|
|
|
+ formData.balance = ""
|
|
|
|
|
+ amountErrorMessage.value = ""
|
|
|
|
|
+ submitting.value = false
|
|
|
|
|
+ flag.value = false
|
|
|
|
|
+ loginValue.value = ""
|
|
|
|
|
+ dialogCheck.value = false
|
|
|
|
|
+ dialogVisible.value = false
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
|
|
|
// 计算属性
|
|
// 计算属性
|
|
@@ -269,70 +284,91 @@ const rule3 = computed(() => {
|
|
|
formData.password
|
|
formData.password
|
|
|
);
|
|
);
|
|
|
});
|
|
});
|
|
|
|
|
+const rule4 = computed(() => {
|
|
|
|
|
+ return /^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@&%$^*./\\(\\)\\+\\=#_-])[A-Za-z0-9~!@&%$^*./\\(\\)\\+\\=#_-]{8,16}$/.test(
|
|
|
|
|
+ formData.password
|
|
|
|
|
+ );
|
|
|
|
|
+});
|
|
|
const noticeItems = computed(() => [
|
|
const noticeItems = computed(() => [
|
|
|
{ label: t('signup.form.rules.1st'), valid: rule1.value },
|
|
{ label: t('signup.form.rules.1st'), valid: rule1.value },
|
|
|
{ label: t('signup.form.rules.2nd'), valid: rule2.value },
|
|
{ label: t('signup.form.rules.2nd'), valid: rule2.value },
|
|
|
- { label: t('signup.form.rules.3rd'), valid: rule3.value }
|
|
|
|
|
|
|
+ { label: t('signup.form.rules.4rd'), valid: rule4.value }
|
|
|
])
|
|
])
|
|
|
|
|
+const rules = computed(() => ({
|
|
|
|
|
+ platform: {
|
|
|
|
|
+ rules: [
|
|
|
|
|
+ {
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ errorMessage: t('vaildate.select.empty'),
|
|
|
|
|
+ trigger: 'change',
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ currency: {
|
|
|
|
|
+ rules: [
|
|
|
|
|
+ {
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ errorMessage: t('vaildate.select.empty'),
|
|
|
|
|
+ trigger: 'change',
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ leverage: {
|
|
|
|
|
+ rules: [
|
|
|
|
|
+ {
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ errorMessage: t('vaildate.select.empty'),
|
|
|
|
|
+ trigger: 'change',
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
|
|
|
-// 验证规则
|
|
|
|
|
-const rules = {
|
|
|
|
|
- password: [
|
|
|
|
|
- {
|
|
|
|
|
- validator: (rule, value, callback) => {
|
|
|
|
|
- if (/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@&%$^*./\\(\\)\\+\\=#_-])[A-Za-z0-9~!@&%$^*./\\(\\)\\+\\=#_-]{8,16}$/.test(value)) {
|
|
|
|
|
- callback();
|
|
|
|
|
- } else {
|
|
|
|
|
- callback(new Error(t('vaildate.password.format')));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ password: {
|
|
|
|
|
+ rules: [
|
|
|
|
|
+ {
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ errorMessage: t('vaildate.password.format'),
|
|
|
|
|
+ trigger: 'blur',
|
|
|
},
|
|
},
|
|
|
- trigger: 'blur',
|
|
|
|
|
- required: true
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- platform: [
|
|
|
|
|
- {
|
|
|
|
|
- required: true,
|
|
|
|
|
- message: t('vaildate.select.empty'),
|
|
|
|
|
- trigger: 'change'
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- currency: [
|
|
|
|
|
- {
|
|
|
|
|
- required: true,
|
|
|
|
|
- message: t('vaildate.select.empty'),
|
|
|
|
|
- trigger: 'change'
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- leverage: [
|
|
|
|
|
- {
|
|
|
|
|
- required: true,
|
|
|
|
|
- message: t('vaildate.select.empty'),
|
|
|
|
|
- trigger: 'change'
|
|
|
|
|
- }
|
|
|
|
|
- ],
|
|
|
|
|
- balance: [
|
|
|
|
|
- {
|
|
|
|
|
- validator: (rule, value, callback) => {
|
|
|
|
|
- if (value === null || value === undefined || value === '') {
|
|
|
|
|
- callback();
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- const numValue = Number(value);
|
|
|
|
|
- if (isNaN(numValue)) {
|
|
|
|
|
- callback(new Error(t('vaildate.amount.format')));
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if (numValue < 0 || numValue > 100000) {
|
|
|
|
|
- callback(new Error(t('vaildate.amount.amount') + '0-100000'));
|
|
|
|
|
- return;
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ validateFunction: (rule, value, data, callback) => {
|
|
|
|
|
+ if (/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@&%$^*./\\(\\)\\+\\=#_-])[A-Za-z0-9~!@&%$^*./\\(\\)\\+\\=#_-]{8,16}$/.test(value)) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback(t('vaildate.password.format')); return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ trigger: 'blur',
|
|
|
|
|
+ },
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+ balance: {
|
|
|
|
|
+ rules: [
|
|
|
|
|
+ {
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ errorMessage: t('vaildate.amount.format'),
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ validateFunction: (rule, value, data, callback) => {
|
|
|
|
|
+ if (value === null || value === undefined || value === '') {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ const numValue = Number(value);
|
|
|
|
|
+ if (isNaN(numValue)) {
|
|
|
|
|
+ callback(t('vaildate.amount.format'));
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (numValue < 0 || numValue > 100000) {
|
|
|
|
|
+ callback(t('vaildate.amount.amount') + '0-100000');
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- callback();
|
|
|
|
|
},
|
|
},
|
|
|
- trigger: ['blur', 'change']
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
-};
|
|
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+}));
|
|
|
|
|
+
|
|
|
// 平台选项
|
|
// 平台选项
|
|
|
const platformColumns = computed(() => {
|
|
const platformColumns = computed(() => {
|
|
|
const columns = [];
|
|
const columns = [];
|
|
@@ -363,11 +399,7 @@ const leverageColumns = computed(() => {
|
|
|
|
|
|
|
|
// 方法
|
|
// 方法
|
|
|
const closeDia = () => {
|
|
const closeDia = () => {
|
|
|
- if (formRef.value) {
|
|
|
|
|
- formRef.value.resetFields();
|
|
|
|
|
- }
|
|
|
|
|
- dialogCheck.value = false;
|
|
|
|
|
- dialogVisible.value = false;
|
|
|
|
|
|
|
+ resetForm()
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const closeAccountLimitDialog = () => {
|
|
const closeAccountLimitDialog = () => {
|
|
@@ -416,37 +448,51 @@ const getExcludeShowLogin = async () => {
|
|
|
// 提交开户
|
|
// 提交开户
|
|
|
const newAccount = async () => {
|
|
const newAccount = async () => {
|
|
|
|
|
|
|
|
- if (flag.value) return;
|
|
|
|
|
- flag.value = true;
|
|
|
|
|
- const api = dome.value ? customApi.AccountApplyAddDome : customApi.AccountApplyAdd;
|
|
|
|
|
- const res = await api({
|
|
|
|
|
- type: Number(isOpenAccount.value),
|
|
|
|
|
- ...formData
|
|
|
|
|
- });
|
|
|
|
|
|
|
|
|
|
- if (res.code === 200) {
|
|
|
|
|
- if (dome.value) {
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
- title: t('Msg.Success'),
|
|
|
|
|
- icon: 'success'
|
|
|
|
|
|
|
+ try {
|
|
|
|
|
+ if (formRef.value) {
|
|
|
|
|
+ const valid = await formRef.value.validate()
|
|
|
|
|
+ if (flag.value) return;
|
|
|
|
|
+ flag.value = true;
|
|
|
|
|
+ const api = dome.value ? customApi.AccountApplyAddDome : customApi.AccountApplyAdd;
|
|
|
|
|
+ const res = await api({
|
|
|
|
|
+ type: Number(isOpenAccount.value),
|
|
|
|
|
+ ...formData
|
|
|
});
|
|
});
|
|
|
|
|
+
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
|
+ if (dome.value) {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: t('Msg.Success'),
|
|
|
|
|
+ icon: 'success'
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ router.push('/pages/customer/index')
|
|
|
|
|
+ isOpenAccount.value = 0;
|
|
|
|
|
+ dialogCheck.value = true;
|
|
|
|
|
+ dialogVisible.value = true;
|
|
|
|
|
+ if (formRef.value) {
|
|
|
|
|
+ formRef.value.resetFields();
|
|
|
|
|
+ }
|
|
|
|
|
+ flag.value = false;
|
|
|
|
|
+ } else if (res.code === 407) {
|
|
|
|
|
+ showAccountLimitDialog(formData.platform);
|
|
|
|
|
+ flag.value = false;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ RES.value = res.msg;
|
|
|
|
|
+ dialogCheck.value = true;
|
|
|
|
|
+ dialogVisible.value = false;
|
|
|
|
|
+ flag.value = false;
|
|
|
|
|
+ resetForm()
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- router.push('/pages/customer/index')
|
|
|
|
|
- isOpenAccount.value = 0;
|
|
|
|
|
- dialogCheck.value = true;
|
|
|
|
|
- dialogVisible.value = true;
|
|
|
|
|
- if (formRef.value) {
|
|
|
|
|
- formRef.value.resetFields();
|
|
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ if (error instanceof Array) {
|
|
|
|
|
+ // showToast(error[0].errorMessage);
|
|
|
|
|
+ return
|
|
|
|
|
+ } else {
|
|
|
|
|
+ RES.value = error.msg;
|
|
|
}
|
|
}
|
|
|
- flag.value = false;
|
|
|
|
|
- } else if (res.code === 407) {
|
|
|
|
|
- showAccountLimitDialog(formData.platform);
|
|
|
|
|
- flag.value = false;
|
|
|
|
|
- } else {
|
|
|
|
|
- RES.value = res.msg;
|
|
|
|
|
- dialogCheck.value = true;
|
|
|
|
|
- dialogVisible.value = false;
|
|
|
|
|
- flag.value = false;
|
|
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -458,8 +504,6 @@ const checkPlatform = (pla) => {
|
|
|
} else {
|
|
} else {
|
|
|
hidden.value = true;
|
|
hidden.value = true;
|
|
|
}
|
|
}
|
|
|
- formData.currency = '';
|
|
|
|
|
- formData.leverage = '';
|
|
|
|
|
optionsLev.value = [];
|
|
optionsLev.value = [];
|
|
|
optionsCur.value = [];
|
|
optionsCur.value = [];
|
|
|
const Cur = [];
|
|
const Cur = [];
|