feat:工单添加评价文字、图片
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
dev_ljl 2025-07-31 15:25:36 +08:00
parent 988ce1d7c4
commit d722c62f49
2 changed files with 52 additions and 13 deletions

View File

@ -1,4 +1,4 @@
import type { PageQuery, BaseEntity } from '#/api/common';
import type {PageQuery, BaseEntity} from '#/api/common';
export interface WorkOrdersVO {
/**
@ -71,8 +71,40 @@ export interface WorkOrdersVO {
*/
isTimeOut: number;
workOrdersRecordVoList: HandleRecords[];
typeName: string;
initiatorPeople: string;
handlerText: string;
/**
*
*/
imgUrl: string;
/**
*
*/
serviceEvaluaText: string;
/**
*
*/
createTime: string;
/**
*
*/
remark: string;
}
export interface HandleRecords {
status: string;
createTime: string;
handlerName: string;
initiatorPeople: string;
}
export interface WorkOrdersForm extends BaseEntity {
/**
* id
@ -213,7 +245,7 @@ export interface WorkOrdersQuery extends PageQuery {
isTimeOut?: number;
/**
*
*/
*
*/
params?: any;
}

View File

@ -1,5 +1,5 @@
<script setup lang="ts">
import {computed, ref, shallowRef} from 'vue';
import { ref, shallowRef} from 'vue';
import {useVbenModal} from '@vben/common-ui';
import {Descriptions, DescriptionsItem, Timeline, TimelineItem, Rate,Divider} from 'ant-design-vue';
import dayjs from 'dayjs';
@ -7,7 +7,7 @@ import duration from 'dayjs/plugin/duration';
import relativeTime from 'dayjs/plugin/relativeTime';
import {renderDict} from "#/utils/render";
import {workOrdersInfo} from "#/api/property/businessManagement/workOrders";
import type {WorkOrdersVO} from "#/api/property/businessManagement/workOrders/model";
import type {HandleRecords, WorkOrdersVO} from "#/api/property/businessManagement/workOrders/model";
dayjs.extend(duration);
dayjs.extend(relativeTime);
@ -20,7 +20,7 @@ const [BasicModal, modalApi] = useVbenModal({
});
const orderDetail = shallowRef<null | WorkOrdersVO>(null);
const handleRecords=ref<any[]>([])
const handleRecords=ref<HandleRecords[]>([])
async function handleOpenChange(open: boolean) {
if (!open) {
return null;
@ -67,22 +67,29 @@ async function handleOpenChange(open: boolean) {
<!-- <DescriptionsItem label="计划完成时间">-->
<!-- {{ orderDetail.planCompleTime }}-->
<!-- </DescriptionsItem>-->
<DescriptionsItem label="完成时间">
{{ orderDetail.compleTime }}
</DescriptionsItem>
<DescriptionsItem label="创建时间">
{{ orderDetail.createTime }}
</DescriptionsItem>
<DescriptionsItem label="服务评价" :span="2">
<Rate :value="orderDetail.serviceEvalua" disabled/>
<DescriptionsItem label="备注">
{{ orderDetail.remark }}
</DescriptionsItem>
<DescriptionsItem label="完成时间">
{{ orderDetail.compleTime }}
</DescriptionsItem>
<DescriptionsItem label="是否超时">
<component
:is="orderDetail.isTimeOut ? renderDict(orderDetail.isTimeOut,'wy_sf') : ''"
/>
</DescriptionsItem>
<DescriptionsItem label="备注">
{{ orderDetail.remark }}
<DescriptionsItem label="服务评价">
<Rate :value="orderDetail.serviceEvalua" disabled/>
</DescriptionsItem>
<DescriptionsItem label="评价内容" v-if="orderDetail.serviceEvaluaText" :span="2">
{{ orderDetail.serviceEvaluaText }}
</DescriptionsItem>
<DescriptionsItem label="评价图片" v-if="orderDetail.imgUrl" :span="2">
{{ orderDetail.imgUrl }}
</DescriptionsItem>
</Descriptions>
<Divider orientation="left" orientation-margin="0px">