|
|
@@ -13,16 +13,26 @@
|
|
|
</template>
|
|
|
|
|
|
<template #status="{ row }">
|
|
|
- <el-tag type="danger" v-if="row.cancelStatus == 1">已取消</el-tag>
|
|
|
- <dict-data v-else code="order_status" type="tag" :model-value="row.status" />
|
|
|
- <div v-if="row.status == 4 && row.auditRejectReason">
|
|
|
- 原因:
|
|
|
- <el-text type="info">{{ row.auditRejectReason }}</el-text>
|
|
|
- </div>
|
|
|
- <div class v-if="row.cancelReason && row.cancelStatus == 1">
|
|
|
- 取消原因:
|
|
|
- <el-text type="info">{{ row.cancelReason }}</el-text>
|
|
|
- </div>
|
|
|
+ <template v-if="permissionKey === 'review'">
|
|
|
+ <span>
|
|
|
+ {{ row.reviewStatus === 1 ? '未复审' : row.reviewStatus === 2 ? '已复审' : '-' }}
|
|
|
+ </span>
|
|
|
+ <div style="font-size: 12px;display: flex;">
|
|
|
+ 已用时长: <time-clock :start-time="row.applyTime" :end-time="row.finishTime" />
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <el-tag type="danger" v-if="row.cancelStatus == 1">已取消</el-tag>
|
|
|
+ <dict-data v-else code="order_status" type="tag" :model-value="row.status" />
|
|
|
+ <div v-if="row.status == 4 && row.auditRejectReason">
|
|
|
+ 原因:
|
|
|
+ <el-text type="info">{{ row.auditRejectReason }}</el-text>
|
|
|
+ </div>
|
|
|
+ <div class v-if="row.cancelReason && row.cancelStatus == 1">
|
|
|
+ 取消原因:
|
|
|
+ <el-text type="info">{{ row.cancelReason }}</el-text>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</template>
|
|
|
<template #orderNumber="{ row }">
|
|
|
<order-number :row="row" />
|
|
|
@@ -34,7 +44,17 @@
|
|
|
<order-amount :row="row" />
|
|
|
</template>
|
|
|
<template #time="{ row }">
|
|
|
- <order-time :row="row" />
|
|
|
+ <div class="recycle-order-number" v-if="permissionKey === 'review'">
|
|
|
+ <div class="common-text">
|
|
|
+ <el-text>申请复审:</el-text>
|
|
|
+ <el-text>{{ row.applyTime }}</el-text>
|
|
|
+ </div>
|
|
|
+ <div class="common-text">
|
|
|
+ <el-text>复审完成:</el-text>
|
|
|
+ <el-text>{{ row.finishTime || '-' }}</el-text>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <order-time :row="row" v-else />
|
|
|
</template>
|
|
|
<template #remarks="{ row }">
|
|
|
<el-popover trigger="hover" width="240px" @show="handleShowPopover(row)" @hide="showOrderId = ''">
|
|
|
@@ -95,6 +115,10 @@
|
|
|
v-permission="usePermission('auditScreenshot')" @click="handleAuditScreenshot(row)">
|
|
|
[审核截图]
|
|
|
</el-button>
|
|
|
+ <el-button type="danger" link v-if="permissionKey == 'review'"
|
|
|
+ v-permission="usePermission('reviewScreenshot')" @click="handleAuditScreenshot(row)">
|
|
|
+ [复审截图]
|
|
|
+ </el-button>
|
|
|
<el-button type="danger" link v-if="row.status == 10" v-permission="usePermission('payment')"
|
|
|
@click="handleBatchPayment(row)">
|
|
|
[支付书款]
|
|
|
@@ -170,6 +194,8 @@
|
|
|
<orderDetail ref="orderDetailRef" @refresh="reload()" />
|
|
|
<!-- 审核截图 -->
|
|
|
<auditScreenshot ref="auditScreenshotRef" />
|
|
|
+ <!-- 复审截图 -->
|
|
|
+ <reviewScreenshot ref="reviewScreenshotRef" />
|
|
|
<!-- 申请订单理赔 -->
|
|
|
<applyForOrderClaim ref="applyForOrderClaimRef" />
|
|
|
<!-- 售后补款 -->
|
|
|
@@ -190,6 +216,7 @@ import { EleMessage } from "ele-admin-plus/es";
|
|
|
import { DownloadOutlined } from "@/components/icons";
|
|
|
import { Flag, ChatDotSquare } from "@element-plus/icons-vue";
|
|
|
import OrderSearch from "../components/order-search.vue";
|
|
|
+import TimeClock from "@/views/recycleOrder/components/time-clock.vue";
|
|
|
import OrderNumber from "@/views/recycleOrder/components/order-number.vue";
|
|
|
import OrderCustomer from "@/views/recycleOrder/components/order-customer.vue";
|
|
|
import OrderAmount from "@/views/recycleOrder/components/order-amount.vue";
|
|
|
@@ -210,6 +237,8 @@ import userBindTag from "@/views/recycleOrder/components/user-bind-tag.vue";
|
|
|
import orderDetail from "@/views/recycleOrder/components/order-detail.vue";
|
|
|
//审核截图
|
|
|
import auditScreenshot from "@/views/recycleOrder/components/audit-screenshot.vue";
|
|
|
+//复审截图
|
|
|
+import reviewScreenshot from "@/views/recycleOrder/components/review-screenshot.vue";
|
|
|
//推送短信
|
|
|
import sendSMS from "@/views/recycleOrder/components/send-SMS.vue";
|
|
|
//短信记录
|
|
|
@@ -231,6 +260,7 @@ let props = defineProps({
|
|
|
exportUrl: { type: String, default: "/system/post/export" },
|
|
|
permissionKey: { type: String, default: "search" },
|
|
|
propColumns: { type: Array, default: () => [] },
|
|
|
+ formatterData: { type: Function, default: (data) => data },
|
|
|
});
|
|
|
const usePermission = computed(() => (opts) => {
|
|
|
return `recycleOrder:${props.permissionKey}:${opts}`;
|
|
|
@@ -293,7 +323,7 @@ async function queryPage(params) {
|
|
|
if (!props.pageConfig.pageUrl) return EleMessage.error("未配置页面请求URL");
|
|
|
const res = await proxy.$http.get(props.pageConfig.pageUrl, { params });
|
|
|
if (res.data.code === 200) {
|
|
|
- return res.data;
|
|
|
+ return props.formatterData(res.data);
|
|
|
}
|
|
|
return Promise.reject(new Error(res.data.msg));
|
|
|
}
|
|
|
@@ -601,8 +631,13 @@ function fallbackOrder(row) {
|
|
|
}
|
|
|
//审核截图
|
|
|
const auditScreenshotRef = ref(null);
|
|
|
+const reviewScreenshotRef = ref(null);
|
|
|
function handleAuditScreenshot(row) {
|
|
|
- auditScreenshotRef.value?.handleOpen(row);
|
|
|
+ if (props.permissionKey == 'review') {
|
|
|
+ reviewScreenshotRef.value?.handleOpen(row);
|
|
|
+ } else {
|
|
|
+ auditScreenshotRef.value?.handleOpen(row);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//申请恢复订单
|