|
|
@@ -8,7 +8,7 @@
|
|
|
<div class="flex1 ov-hd pd-16 d-flex flex-cln">
|
|
|
<el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="auto">
|
|
|
<el-form-item label="订单号:" prop="orderNo">
|
|
|
- <el-input v-model="queryParams.orderNo" placeholder="搜订单号" clearable style="width: 180px" @keyup.enter="handleQuery" />
|
|
|
+ <el-input v-model="queryParams.orderNo" placeholder="搜订单号" clearable style="width: 140px" @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="下单时间段" prop="dateRange">
|
|
|
<div class="d-flex" style="width: 180px">
|
|
|
@@ -19,10 +19,15 @@
|
|
|
<el-input v-model="queryParams.packageName" placeholder="请输入套餐名称关键字" clearable style="width: 160px" @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="会员等级" prop="vipLevel">
|
|
|
- <el-select style="width: 160px" v-model="queryParams.vipLevel" clearable placeholder="请选择会员等级" @change="handleQuery">
|
|
|
+ <el-select style="width: 140px" v-model="queryParams.vipLevel" clearable placeholder="搜会员等级" @change="handleQuery">
|
|
|
<el-option v-for="item in vip_level" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="支付方式" prop="payType">
|
|
|
+ <el-select style="width: 120px" v-model="queryParams.payType" clearable placeholder="搜支付方式" @change="handleQuery">
|
|
|
+ <el-option v-for="item in dm_pay_method" :key="item.value" :label="item.label" :value="item.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="买家名称:" prop="cpyName">
|
|
|
<el-input v-model="queryParams.cpyName" placeholder="搜买家名称及关键字" clearable style="width: 160px" @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
|
@@ -70,6 +75,10 @@
|
|
|
<span></span>
|
|
|
<el-button @click="confirmPay(row)" text class="small-btn-font" type="primary" size="small">确认付款</el-button>
|
|
|
</template>
|
|
|
+ <template v-if="['2', '3'].includes(row?.status) && row?.payType === '2'">
|
|
|
+ <span></span>
|
|
|
+ <el-button @click="cancelOrder(row)" text class="small-btn-font" type="primary" size="small">取消订单</el-button>
|
|
|
+ </template>
|
|
|
<template v-if="row?.status === '4'">
|
|
|
<span></span>
|
|
|
<el-button @click="clickRowReport(row)" text class="small-btn-font" type="primary" size="small">上传报告</el-button>
|
|
|
@@ -95,7 +104,7 @@
|
|
|
<uploadInvoiceForm v-if="showInvoice" v-model:show="showInvoice" :info="rowInfo" @success="getList();getTabsCount()"></uploadInvoiceForm>
|
|
|
</template>
|
|
|
<script setup name="orders" lang="ts">
|
|
|
-import { testOrderConfirmPay, testOrderList, testOrderListCount } from '@/api/cdt/orders';
|
|
|
+import { testOrderCancel, testOrderConfirmPay, testOrderList, testOrderListCount } from '@/api/cdt/orders';
|
|
|
import { colNoData } from '@/utils/noData';
|
|
|
import { DateRange, searchTabs } from '@/views/models';
|
|
|
import NP from 'number-precision';
|
|
|
@@ -104,7 +113,7 @@ import { debounce } from 'lodash';
|
|
|
import { selectDictLabel } from '@/utils/ruoyi';
|
|
|
const router = useRouter();
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
-const { dm_package_type, dm_permit_type, vip_level, test_order_status_bg } = toRefs<any>(proxy?.useDict('dm_package_type', 'dm_permit_type', 'vip_level', 'test_order_status_bg'));
|
|
|
+const { dm_package_type, dm_permit_type, vip_level, test_order_status_bg, dm_pay_method } = toRefs<any>(proxy?.useDict('dm_package_type', 'dm_permit_type', 'vip_level', 'test_order_status_bg', 'dm_pay_method'));
|
|
|
const queryParams = ref<any>({
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
@@ -186,6 +195,27 @@ const confirmPay = async (row: any) => {
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
+// 取消订单
|
|
|
+const cancelOrder = async (row: any) => {
|
|
|
+ ElMessageBox({
|
|
|
+ title: '系统提示',
|
|
|
+ cancelButtonText: '我再想想',
|
|
|
+ confirmButtonText: '确认取消',
|
|
|
+ showCancelButton: true,
|
|
|
+ confirmButtonClass: 'el-button--danger',
|
|
|
+ message: h('p', null, [h('div', null, `是否将订单号:${row.orderNo}设置为取消状态?`), h('div', null, [h('span', null, '注意:'), h('span', { style: 'color: #F56C6C' }, '取消订单后,代表该订单已结束,请仔细核对!')])]),
|
|
|
+ callback: async (action: string) => {
|
|
|
+ if (action === 'confirm') {
|
|
|
+ const res = await testOrderCancel(row.id);
|
|
|
+ if (res) {
|
|
|
+ ElMessage.success('操作成功');
|
|
|
+ getList();
|
|
|
+ getTabsCount();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
onMounted(() => {
|
|
|
getList();
|
|
|
getTabsCount()
|