feat: 完善自动与手动派单流程
This commit is contained in:
@@ -105,18 +105,18 @@
|
||||
</section>
|
||||
<section v-if="canSubmit" class="m-order-submit-panel">
|
||||
<div>
|
||||
<strong>任务已匹配成功</strong>
|
||||
<p>请确认任务信息,提交后佣金将自动结算到可用余额。</p>
|
||||
<strong>大额订单已匹配</strong>
|
||||
<p>请确认订单信息。提交时将校验可用余额,余额不足需先完成储入。</p>
|
||||
</div>
|
||||
<button type="button" :disabled="submitting" @click="showSubmitConfirm = true">立即提交</button>
|
||||
<button type="button" :disabled="submitting" @click="showSubmitConfirm = true">提交确认</button>
|
||||
</section>
|
||||
</div>
|
||||
</AsyncState>
|
||||
|
||||
<n-modal v-model:show="showSubmitConfirm" :mask-closable="!submitting">
|
||||
<section class="m-order-submit-confirm">
|
||||
<h2>确认提交任务</h2>
|
||||
<p>提交后系统将自动完成订单并发放佣金,请确认订单信息无误。</p>
|
||||
<h2>确认提交订单</h2>
|
||||
<p>系统将校验账户余额并完成订单;余额不足时需要先前往储入。</p>
|
||||
<dl>
|
||||
<div><dt>记录编号</dt><dd>{{ detail?.order_no || '--' }}</dd></div>
|
||||
<div><dt>任务商品</dt><dd>{{ detail?.product?.name || '--' }}</dd></div>
|
||||
@@ -124,7 +124,7 @@
|
||||
</dl>
|
||||
<div class="m-order-submit-actions">
|
||||
<button type="button" :disabled="submitting" @click="showSubmitConfirm = false">暂不提交</button>
|
||||
<button type="button" :disabled="submitting" @click="submitOrder">{{ submitting ? '提交中...' : '立即提交' }}</button>
|
||||
<button type="button" :disabled="submitting" @click="submitOrder">{{ submitting ? '提交中...' : '确认提交' }}</button>
|
||||
</div>
|
||||
</section>
|
||||
</n-modal>
|
||||
@@ -133,13 +133,14 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue';
|
||||
import { useRoute } from 'vue-router';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { ImageOutline } from '@vicons/ionicons5';
|
||||
import PageHeader from '../components/PageHeader.vue';
|
||||
import AsyncState from '../components/AsyncState.vue';
|
||||
import { MobileApiError, dateTime, errorText, money, request, safeImage } from '../api';
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const isDetail = computed(() => Boolean(route.params.id));
|
||||
const loading = ref(true);
|
||||
const error = ref('');
|
||||
@@ -226,6 +227,12 @@
|
||||
window.$message.success('提交成功,佣金已自动入账');
|
||||
await loadDetail();
|
||||
} catch (err) {
|
||||
if (err instanceof MobileApiError && err.reason === 'INSUFFICIENT_BALANCE') {
|
||||
showSubmitConfirm.value = false;
|
||||
window.$message.warning('账户余额不足,请先完成储入');
|
||||
await router.push('/app/recharge');
|
||||
return;
|
||||
}
|
||||
window.$message.error(errorText(err));
|
||||
if (err instanceof MobileApiError && err.reason === 'ORDER_EXPIRED') {
|
||||
showSubmitConfirm.value = false;
|
||||
|
||||
Reference in New Issue
Block a user