|
|
@@ -1,5 +1,6 @@
|
|
|
<script setup lang="ts">
|
|
|
import type { SystemCwModel } from '@/model/care.model';
|
|
|
+import type { ApplyRecordModel } from '@/model/order.model';
|
|
|
import { PlayCircleOutlined } from '@ant-design/icons-vue';
|
|
|
import { computed, h, onMounted, ref } from 'vue';
|
|
|
import { notification } from 'ant-design-vue';
|
|
|
@@ -7,28 +8,27 @@ import VxeUI from 'vxe-table';
|
|
|
import ReviewMediaPreview from '@/service/ReviewMediaPreview.vue';
|
|
|
import type { MediaItem } from '@/service/ReviewMediaPreview.vue';
|
|
|
import seeEvaluate from '@/service/seeEvaluate.vue';
|
|
|
-import { getEvaluateDetailMethod } from '@/request/api/order.api';
|
|
|
-
|
|
|
+import { getEvaluateDetailMethod, getApplyRecordMethod } from '@/request/api/order.api';
|
|
|
|
|
|
const props = defineProps<{
|
|
|
data: SystemCwModel['items'][number];
|
|
|
}>();
|
|
|
// 服务记录--查看评价
|
|
|
function openSeeEvaluate(row: any) {
|
|
|
- VxeUI.modal.open({
|
|
|
- title: '用户评价',
|
|
|
- width: 900,
|
|
|
- height: 600,
|
|
|
- escClosable: true,
|
|
|
- destroyOnClose: true,
|
|
|
- slots: {
|
|
|
- default() {
|
|
|
- return h(seeEvaluate, {
|
|
|
- data: row,
|
|
|
- });
|
|
|
- },
|
|
|
+ VxeUI.modal.open({
|
|
|
+ title: '用户评价',
|
|
|
+ width: 900,
|
|
|
+ height: 600,
|
|
|
+ escClosable: true,
|
|
|
+ destroyOnClose: true,
|
|
|
+ slots: {
|
|
|
+ default() {
|
|
|
+ return h(seeEvaluate, {
|
|
|
+ data: row,
|
|
|
+ });
|
|
|
},
|
|
|
- });
|
|
|
+ },
|
|
|
+ });
|
|
|
}
|
|
|
// 复制物流信息
|
|
|
function handleCopyTracking() {
|
|
|
@@ -145,7 +145,17 @@ async function getEvaluateDetail() {
|
|
|
evaluateDetail.value.depict = res.depict ?? '';
|
|
|
evaluateDetail.value.mediaList = normalizeMediaList(res.imageVideos);
|
|
|
}
|
|
|
-
|
|
|
+const applyRecordList = ref<ApplyRecordModel[]>([]);
|
|
|
+// 获取预约
|
|
|
+async function getApplyRecord() {
|
|
|
+ const id = (props.data as any)?.id;
|
|
|
+ if (!id) return;
|
|
|
+ const res = await getApplyRecordMethod(id);
|
|
|
+ if (!res) return;
|
|
|
+ console.log(res, "获取预约");
|
|
|
+ applyRecordList.value = res ?? [];
|
|
|
+ console.log(applyRecordList.value, "applyRecordList");
|
|
|
+}
|
|
|
const REVIEW_PREVIEW_MODAL_ID = 'review-media-preview-modal';
|
|
|
//预览图片/视频
|
|
|
function openPreview(list: MediaItem[], index: number) {
|
|
|
@@ -167,8 +177,9 @@ function openPreview(list: MediaItem[], index: number) {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-onMounted(() => {
|
|
|
- getEvaluateDetail();
|
|
|
+onMounted(async () => {
|
|
|
+ await getEvaluateDetail();
|
|
|
+ await getApplyRecord();
|
|
|
});
|
|
|
</script>
|
|
|
|
|
|
@@ -236,16 +247,13 @@ onMounted(() => {
|
|
|
<!-- 分账信息 -->
|
|
|
<div class="info-section">
|
|
|
<h3 class="info-title">分账信息</h3>
|
|
|
- <vxe-table
|
|
|
- class="split-account-table"
|
|
|
- :data="mockSplitAccountList"
|
|
|
- border
|
|
|
- >
|
|
|
+ <vxe-table class="split-account-table" :data="mockSplitAccountList" border>
|
|
|
<vxe-column field="profitSharingTime" title="分账时间" align="center" />
|
|
|
<vxe-column field="conditioningProgramSupplierName" title="供应商" align="center" />
|
|
|
- <vxe-column field="profitSharingStatus" title="分账状态" align="center" >
|
|
|
+ <vxe-column field="profitSharingStatus" title="分账状态" align="center">
|
|
|
<template #default="{ row }">
|
|
|
- {{ row.profitSharingStatus === '1' ? '未分账' : row.profitSharingStatus === '2' ? '已分账' : row.profitSharingStatus === '3' ? '分账异常' : '' }}
|
|
|
+ {{ row.profitSharingStatus === '1' ? '未分账' : row.profitSharingStatus === '2' ? '已分账' :
|
|
|
+ row.profitSharingStatus === '3' ? '分账异常' : '' }}
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
<vxe-column field="profitSharing" title="分账比例" align="center">
|
|
|
@@ -253,7 +261,7 @@ onMounted(() => {
|
|
|
{{ row.profitSharing || '-' }}%
|
|
|
</template>
|
|
|
</vxe-column>
|
|
|
- <vxe-column field="profitSharingAmount" title="预计分账金额" align="center" >
|
|
|
+ <vxe-column field="profitSharingAmount" title="预计分账金额" align="center">
|
|
|
<template #default="{ row }">
|
|
|
{{ row.profitSharingAmount ? row.profitSharingAmount + '元' : '' }}
|
|
|
</template>
|
|
|
@@ -327,13 +335,35 @@ onMounted(() => {
|
|
|
暂无
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
+ <!-- 预约派单记录 线下服务才显示 1-实体商品 2-线下服务 3-线上权益-->
|
|
|
+ <div class="info-section" v-if="data?.sellType === '2'">
|
|
|
+ <h3 class="info-title">
|
|
|
+ 预约派单记录
|
|
|
+ </h3>
|
|
|
+ <vxe-table :data="applyRecordList" border>
|
|
|
+ <vxe-column type="seq" title="序号" width="60" align="center" />
|
|
|
+ <vxe-column field="applyTime" title="预约时间" align="center" />
|
|
|
+ <vxe-column field="updateTime" title="最新修改预约时间" align="center" />
|
|
|
+ <vxe-column field="cancelTime" title="取消预约时间" align="center" />
|
|
|
+ <vxe-column field="arrangeTime" title="预约服务日期" align="center" />
|
|
|
+ <vxe-column field="arrangePeriod" title="预约服务时间段" align="center" />
|
|
|
+ <vxe-column field="pieTime" title="是否派单" align="center">
|
|
|
+ <template #default="{ row }">
|
|
|
+ {{ row.pieTime ? '是' : '否' }}
|
|
|
+ </template>
|
|
|
+ </vxe-column>
|
|
|
+ <vxe-column field="pieBy" title="派单员" align="center" />
|
|
|
+ <vxe-column field="pieTime" title="派单时间" align="center" />
|
|
|
+ <vxe-column field="conditioningProgramSupplierName" title="服务机构" align="center" />
|
|
|
+ <vxe-column field="status" title="服务状态" align="center" />
|
|
|
+ </vxe-table>
|
|
|
+ </div>
|
|
|
<!-- 服务记录 线下服务才显示 1-实体商品 2-线下服务 3-线上权益-->
|
|
|
<div class="info-section" v-if="data?.sellType === '2'">
|
|
|
<h3 class="info-title">
|
|
|
服务记录
|
|
|
<span class="title-count">({{ data?.patientConditioningOfflines?.length || 0 }}/{{ data?.totalMeasure || 0
|
|
|
- }})</span>
|
|
|
+ }})</span>
|
|
|
</h3>
|
|
|
<vxe-table :data="data?.patientConditioningOfflines" border>
|
|
|
<vxe-column type="seq" title="序号" width="60" align="center" />
|
|
|
@@ -626,6 +656,7 @@ onMounted(() => {
|
|
|
|
|
|
/* 分账表格仅按内容自适应高度,避免一行数据时出现多余空白 */
|
|
|
.split-account-table {
|
|
|
+
|
|
|
:deep(.vxe-table--wrapper),
|
|
|
:deep(.vxe-table) {
|
|
|
height: auto !important;
|