【订单列表】 修复# 历史服务师傅

dev1.0
kaeery 2025-01-22 15:51:04 +08:00
parent c54498c553
commit dec27219c9
4 changed files with 123 additions and 88 deletions

View File

@ -6,12 +6,19 @@
<el-card shadow="never" style="margin-top: 15px" class="!border-none"> <el-card shadow="never" style="margin-top: 15px" class="!border-none">
<!-- 用户绑定 --> <!-- 用户绑定 -->
<el-form-item label="绑定用户:" prop="userId"> <el-form-item label="绑定用户:" prop="userId">
<user-select btn-text="" type="primary" v-model="formData.userId" :userVo="formData.userVo" :id="id" <user-select
v-model:userMobile="formData.mobile" :api="apiUserNotStaff" /> btn-text="选择用户"
type="primary"
v-model="formData.userId"
:userVo="formData.userVo"
:id="id"
v-model:userMobile="formData.mobile"
:api="apiUserNotStaff"
/>
</el-form-item> </el-form-item>
<el-form-item label="师傅编号:" prop="sn"> <!-- <el-form-item label="师傅编号:" prop="sn">
<el-input class="w-56 ls-input" :disabled="true" v-model="formData.sn" placeholder="请输入师傅编号" /> <el-input class="w-56 ls-input" :disabled="true" v-model="formData.sn" placeholder="请输入师傅编号" />
</el-form-item> </el-form-item> -->
<el-form-item label="师傅名称:" prop="name"> <el-form-item label="师傅名称:" prop="name">
<el-input class="w-56 ls-input" v-model="formData.name" placeholder="请输入师傅的真实姓名" /> <el-input class="w-56 ls-input" v-model="formData.name" placeholder="请输入师傅的真实姓名" />
</el-form-item> </el-form-item>
@ -22,8 +29,7 @@
<!-- 服务项目 --> <!-- 服务项目 -->
<el-form-item label="服务项目" prop="goodsIds"> <el-form-item label="服务项目" prop="goodsIds">
<el-select v-model="formData.goodsIds" placeholder="请选择" class="ls-input" clearable multiple> <el-select v-model="formData.goodsIds" placeholder="请选择" class="ls-input" clearable multiple>
<el-option v-for="category in categoryLists" :key="category.id" :label="category.name" <el-option v-for="category in categoryLists" :key="category.id" :label="category.name" :value="category.id"></el-option>
:value="category.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <div class="serviceItem"> <!-- <div class="serviceItem">
@ -51,27 +57,37 @@
</el-form-item> </el-form-item>
<!-- 所在地区 --> <!-- 所在地区 -->
<el-form-item label="所在地区:" prop="districtId"> <el-form-item label="所在地区:" prop="districtId">
<area-select class="w-56 ls-input" v-model:province="formData.provinceId" v-model:city="formData.cityId" <area-select
v-model:district="formData.districtId" /> class="w-56 ls-input"
v-model:province="formData.provinceId"
v-model:city="formData.cityId"
v-model:district="formData.districtId"
/>
</el-form-item> </el-form-item>
<el-form-item label="详细地址:"> <el-form-item label="详细地址:">
<el-input class="ls-input" type="textarea" v-model="formData.address" placeholder="选填,请输入详细地址" <el-input class="ls-input" type="textarea" v-model="formData.address" placeholder="选填,请输入详细地址" :rows="6"></el-input>
:rows="6"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="接单状态:" prop="isReceiveOrder"> <el-form-item label="接单状态:" prop="isReceiveOrder">
<el-switch v-model="formData.isReceiveOrder" :active-text="!formData.isReceiveOrder ? '' : ''" <el-switch
:active-value="0" :inactive-value="1" /> v-model="formData.isReceiveOrder"
:active-text="!formData.isReceiveOrder ? '启用' : '停用'"
:active-value="0"
:inactive-value="1"
disabled
/>
</el-form-item> </el-form-item>
<el-form-item label="运营师傅:"> <!-- <el-form-item label="运营师傅:">
<el-switch v-model="formData.isOperational" :active-value="1" :inactive-value="0" <el-switch
:active-text="formData.isOperational ? '是' : '否'" /> v-model="formData.isOperational"
:active-value="1"
:inactive-value="0"
:active-text="formData.isOperational ? '是' : '否'"
/>
</el-form-item> </el-form-item>
<el-form-item label="工作时间" prop="workStartTime" v-if="formData.isOperational === 1"> <el-form-item label="工作时间" prop="workStartTime" v-if="formData.isOperational === 1">
<el-time-picker v-model="formData.workStartTime" placeholder="开始时间" value-format="HH:mm" format="HH:mm" <el-time-picker v-model="formData.workStartTime" placeholder="开始时间" value-format="HH:mm" format="HH:mm" class="h-[45px]" />
class="h-[45px]" /> <el-time-picker v-model="formData.workEndTime" placeholder="结束时间" value-format="HH:mm" format="HH:mm" class="h-[45px]" />
<el-time-picker v-model="formData.workEndTime" placeholder="结束时间" value-format="HH:mm" format="HH:mm" </el-form-item> -->
class="h-[45px]" />
</el-form-item>
<!-- <el-form-item label="首页推荐:"> <!-- <el-form-item label="首页推荐:">
<el-radio v-model="formData.isRecommend" name="1" :label="1"></el-radio> <el-radio v-model="formData.isRecommend" name="1" :label="1"></el-radio>
<el-radio v-model="formData.isRecommend" name="0" :label="0"></el-radio> <el-radio v-model="formData.isRecommend" name="0" :label="0"></el-radio>
@ -84,18 +100,15 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { apiMasterWorkerAdd, apiMasterWorkerEdit, apiMasterWorkerDetail, apiMasterWorkerAreaAdd, apiMasterWorkerArea } from '@/api/master_worker' import { apiMasterWorkerAdd, apiMasterWorkerArea, apiMasterWorkerDetail, apiMasterWorkerEdit, apiUserNotStaff } from '@/api/master_worker'
import { ref, reactive } from 'vue' import AreaSelect from '@/components/area-select/index.vue'
import FooterBtns from '@/components/footer-btns/index.vue' import FooterBtns from '@/components/footer-btns/index.vue'
import UserSelect from '@/components/user-select/index.vue' import UserSelect from '@/components/user-select/index.vue'
import AreaSelect from '@/components/area-select/index.vue'
import ServiceSelect from '@/components/service-select/index.vue'
import ServiceArea from '@/components/service-area/index.vue'
import type { ElForm } from 'element-plus'
import feedback from '@/utils/feedback'
import { apiUserNotStaff } from '@/api/master_worker'
import { validateWorkTime } from '@/utils/validate'
import { useCommon } from '@/hooks/useCommon' import { useCommon } from '@/hooks/useCommon'
import feedback from '@/utils/feedback'
import { validateWorkTime } from '@/utils/validate'
import type { ElForm } from 'element-plus'
import { reactive, ref } from 'vue'
/** Interface Start **/ /** Interface Start **/
interface formDataObj { interface formDataObj {
@ -155,7 +168,7 @@ const formData = ref<formDataObj>({
isRecommend: 0, // isRecommend: 0, //
serviceArea: [], serviceArea: [],
serviceAreaIds: [], serviceAreaIds: [],
isReceiveOrder: '', isReceiveOrder: 0,
workStartTime: '', workStartTime: '',
workEndTime: '', workEndTime: '',
isOperational: 0 isOperational: 0
@ -221,6 +234,7 @@ const onSubmit = (formEl: FormInstance | undefined): void => {
// return true // return true
// } // }
// => // =>
fetchCategoryList()
onMounted(async () => { onMounted(async () => {
if (id) { if (id) {
fetchCategoryList() fetchCategoryList()

View File

@ -4,26 +4,26 @@
<el-form-item label="师傅信息"> <el-form-item label="师傅信息">
<el-input class="ls-input" v-model="formData.staffInfo" placeholder="师傅编号/姓名/手机号" /> <el-input class="ls-input" v-model="formData.staffInfo" placeholder="师傅编号/姓名/手机号" />
</el-form-item> </el-form-item>
<el-form-item label="用户信息"> <!-- <el-form-item label="用户信息">
<el-input class="ls-input" v-model="formData.userInfo" placeholder="请输入用户昵称/用户编号/手机号" /> <el-input class="ls-input" v-model="formData.userInfo" placeholder="请输入用户昵称/用户编号/手机号" />
</el-form-item> </el-form-item> -->
<el-form-item label="所在地区"> <el-form-item label="所在地区">
<el-cascader class="w-56 ls-input" :options="options" :props="props2" @change="handleSelect" ref="cascader" /> <el-cascader class="w-56 ls-input" :options="options" :props="props2" @change="handleSelect" ref="cascader" />
</el-form-item> </el-form-item>
<el-form-item label="首页推荐"> <!-- <el-form-item label="首页推荐">
<el-select v-model="formData.isRecommend" placeholder="请选择" class="ls-input"> <el-select v-model="formData.isRecommend" placeholder="请选择" class="ls-input">
<el-option label="全部" value></el-option> <el-option label="全部" value></el-option>
<el-option label="推荐" value="1"></el-option> <el-option label="推荐" value="1"></el-option>
<el-option label="不推荐" value="0"></el-option> <el-option label="不推荐" value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="师傅状态"> <!-- <el-form-item label="师傅状态">
<el-select v-model="formData.status" placeholder="请选择" class="ls-input"> <el-select v-model="formData.status" placeholder="请选择" class="ls-input">
<el-option label="全部" value></el-option> <el-option label="全部" value></el-option>
<el-option label="启用" value="1"></el-option> <el-option label="启用" value="1"></el-option>
<el-option label="停用" value="0"></el-option> <el-option label="停用" value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item> <el-form-item>
<div class="flex"> <div class="flex">
<el-button type="primary" @click="getLists"></el-button> <el-button type="primary" @click="getLists"></el-button>
@ -34,7 +34,7 @@
</el-card> </el-card>
<el-card shadow="never" class="mt-4 !border-none"> <el-card shadow="never" class="mt-4 !border-none">
<!-- <el-button type="primary" @click="$router.push('edit')"></el-button> --> <el-button type="primary" @click="$router.push('edit')"></el-button>
<div class="mt-3"> <div class="mt-3">
<el-table :data="pager.lists" style="width: 100%" v-loading="pager.loading"> <el-table :data="pager.lists" style="width: 100%" v-loading="pager.loading">
<el-table-column property="sn" label="师傅编号" min-width="110"> <el-table-column property="sn" label="师傅编号" min-width="110">
@ -45,8 +45,8 @@
<div class="flex items-center"> <div class="flex items-center">
<el-image <el-image
class="avatar" class="avatar"
:src="row.headPortrait" :src="row.avatarUrl"
:preview-src-list="[row.headPortrait]" :preview-src-list="[row.avatarUrl]"
:hide-on-click-modal="true" :hide-on-click-modal="true"
:preview-teleported="true" :preview-teleported="true"
fit="cover" fit="cover"
@ -63,7 +63,7 @@
<div>{{ scope.row.province }}{{ scope.row.city }}{{ scope.row.district }}</div> <div>{{ scope.row.province }}{{ scope.row.city }}{{ scope.row.district }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="idCard" label="身份证号码" min-width="200"></el-table-column> <!-- <el-table-column prop="idCard" label="身份证号码" min-width="200"></el-table-column>
<el-table-column prop="idCardImg" label="身份证正反面" min-width="200" align="center"> <el-table-column prop="idCardImg" label="身份证正反面" min-width="200" align="center">
<template #default="{ row }"> <template #default="{ row }">
<el-image <el-image
@ -75,7 +75,6 @@
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="physicalExamination" min-width="200" label="体检报告图片和pdf"> <el-table-column prop="physicalExamination" min-width="200" label="体检报告图片和pdf">
<template #default="{ row }"> <template #default="{ row }">
<div class="method" v-if="row.physicalExamination"> <div class="method" v-if="row.physicalExamination">
@ -104,13 +103,20 @@
<template #default="scope"> <template #default="scope">
<el-popover placement="top-start" title="提示:" trigger="hover" content="点击可跳转服务评价页面"> <el-popover placement="top-start" title="提示:" trigger="hover" content="点击可跳转服务评价页面">
<template #reference> <template #reference>
<router-link :to="{ path: '/service/evaluate', query: { staffInfo: scope.row.sn } }"> <router-link
<div class="w-[50px] text-center text-[#4A5DFF]">{{ scope.row.score }}</div> :to="{
path: '/service/evaluate',
query: { staffInfo: scope.row.sn }
}"
>
<div class="w-[50px] text-center text-[#4A5DFF]">
{{ scope.row.score }}
</div>
</router-link> </router-link>
</template> </template>
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column label="接单状态" min-width="80"> <el-table-column label="接单状态" min-width="80">
<template #default="scope"> <template #default="scope">
<el-switch <el-switch
@ -118,10 +124,11 @@
:active-value="0" :active-value="0"
:inactive-value="1" :inactive-value="1"
:before-change="() => handleStatusChange(scope.row)" :before-change="() => handleStatusChange(scope.row)"
disabled
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="运营师傅" min-width="80"> <!-- <el-table-column label="运营师傅" min-width="80">
<template #default="scope"> <template #default="scope">
<el-switch <el-switch
v-model="scope.row.isOperational" v-model="scope.row.isOperational"
@ -130,18 +137,18 @@
:before-change="() => handleIsOperationalChange(scope.row)" :before-change="() => handleIsOperationalChange(scope.row)"
/> />
</template> </template>
</el-table-column> </el-table-column> -->
<!-- <el-table-column property="recommend_desc" label="首页推荐" min-width="160"> <!-- <el-table-column property="recommend_desc" label="首页推荐" min-width="160">
<template #default="scope"> <template #default="scope">
<el-tag type="info" v-if="scope.row.isRecommend == 0"></el-tag> <el-tag type="info" v-if="scope.row.isRecommend == 0"></el-tag>
<el-tag v-if="scope.row.isRecommend == 1"></el-tag> <el-tag v-if="scope.row.isRecommend == 1"></el-tag>
</template> </template>
</el-table-column> --> </el-table-column> -->
<el-table-column prop="getType" label="金额详情" min-width="110"> <!-- <el-table-column prop="getType" label="金额详情" min-width="110">
<template #default="{ row }"> <template #default="{ row }">
<MoneyDetailDialog btn-text="" :rowData="row" /> <MoneyDetailDialog btn-text="" :rowData="row" />
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column property="createTime" label="添加时间" min-width="180" /> <el-table-column property="createTime" label="添加时间" min-width="180" />
<el-table-column label="操作" width="148" fixed="right"> <el-table-column label="操作" width="148" fixed="right">
<template #default="scope"> <template #default="scope">
@ -170,17 +177,13 @@
</template> </template>
<script lang="ts" setup name="masterList"> <script lang="ts" setup name="masterList">
import { apiMasterWorkerLists, apiMasterWorkerDel, apiMasterWorkerStatusEdit, apiStaffIsOperationalUpdate } from '@/api/master_worker' import { apiMasterWorkerDel, apiMasterWorkerLists, apiMasterWorkerStatusEdit, apiStaffIsOperationalUpdate } from '@/api/master_worker'
import { ref } from 'vue'
import Pagination from '@/components/pagination/index.vue' import Pagination from '@/components/pagination/index.vue'
import MoneyDetailDialog from '@/components/money-detail/moneyDetailDialog.vue' import { ReceiveOrderEnum } from '@/enums/modeEnum'
import { usePaging } from '@/hooks/usePaging' import { usePaging } from '@/hooks/usePaging'
import area from '@/utils/area' import area from '@/utils/area'
import feedback from '@/utils/feedback' import feedback from '@/utils/feedback'
import { ReceiveOrderEnum } from '@/enums/modeEnum' import { ref } from 'vue'
import PdfImg from '@/assets/icons/pdf.svg'
import reportImg from '@/assets/images/report.png'
import IdCardImg from '@/assets/images/idCard.png'
const router = useRouter() const router = useRouter()
@ -216,7 +219,7 @@ const isVisiblePdf = computed(() => {
}) })
const previewIdCardList = computed(() => { const previewIdCardList = computed(() => {
return (row: any) => { return (row: any) => {
return row.idCardImg.split(',') return row.idCardImg?.split(',')
} }
}) })
const { pager, getLists, resetPage, resetParams } = usePaging({ const { pager, getLists, resetPage, resetParams } = usePaging({
@ -268,7 +271,10 @@ const handleIsOperationalChange = (row: any) => {
const handlePreviewPdf = (row: any) => { const handlePreviewPdf = (row: any) => {
const { physicalExamination } = row const { physicalExamination } = row
if (!physicalExamination) return if (!physicalExamination) return
const url = router.resolve({ path: '/report/pdf', query: { path: physicalExamination?.split(',').filter(item => item.includes('pdf')) } }) const url = router.resolve({
path: '/report/pdf',
query: { path: physicalExamination?.split(',').filter(item => item.includes('pdf')) }
})
window.open(url.href) window.open(url.href)
} }
getLists() getLists()

View File

@ -39,7 +39,7 @@
<el-form-item label="用户备注: "> <el-form-item label="用户备注: ">
<div class="content">{{ formData.userRemark || '-' }}</div> <div class="content">{{ formData.userRemark || '-' }}</div>
</el-form-item> </el-form-item>
<!-- <el-form-item label="核销码: "> <el-form-item label="核销码: ">
<div class="content">{{ formData.verificationCode || '-' }}</div> <div class="content">{{ formData.verificationCode || '-' }}</div>
</el-form-item> </el-form-item>
<el-form-item label="核销状态: "> <el-form-item label="核销状态: ">
@ -49,7 +49,7 @@
</span> </span>
<span v-else>-</span> <span v-else>-</span>
</div> </div>
</el-form-item> --> </el-form-item>
<el-form-item label="完成时间: "> <el-form-item label="完成时间: ">
<div class="content break-words">{{ formData.finishTime || '-' }}</div> <div class="content break-words">{{ formData.finishTime || '-' }}</div>
</el-form-item> </el-form-item>
@ -112,7 +112,7 @@
</el-card> </el-card>
<!-- 服务师傅 Start --> <!-- 服务师傅 Start -->
<!-- <el-card class="!border-none mt-4" shadow="never" style="padding: 0 20px" v-if="formData.orderStatus !== 0"> <el-card class="!border-none mt-4" shadow="never" style="padding: 0 20px" v-if="formData.orderStatus !== 0">
<template #header> <template #header>
<span class="font-medium nr">服务师傅</span> <span class="font-medium nr">服务师傅</span>
</template> </template>
@ -160,11 +160,11 @@
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-card> --> </el-card>
<!-- 服务师傅 End --> <!-- 服务师傅 End -->
<!-- 历史服务师傅 --> <!-- 历史服务师傅 -->
<!-- <el-card <el-card
class="!border-none mt-4" class="!border-none mt-4"
shadow="never" shadow="never"
style="padding: 0 20px" style="padding: 0 20px"
@ -179,14 +179,18 @@
<div class="ml-2"> <div class="ml-2">
{{ `${staff.staffName}${staff.staffSn}` }} {{ `${staff.staffName}${staff.staffSn}` }}
</div> </div>
<div> <!-- <div>
上门服务时间{{ staff.timeBefore < 0 ? '后' : '前' }}{{ staff.timeBefore.toString().replace(/\-/g, ' ') }}分钟退单 上门服务时间{{ staff.timeBefore < 0 ? '后' : '前' }}{{ staff.timeBefore.toString().replace(/\-/g, ' ') }}分钟退单
<span style="color: #f56c6c">{{ staff.deductScore }}</span> <span style="color: #f56c6c">{{ staff.deductScore }}</span>
(改派时间{{ staff.createTime }}) (改派时间{{ staff.createTime }})
</div> -->
<div>
上门服务时间{{ staff.timeBefore < 0 ? '后' : '前'
}}{{ staff.timeBefore.toString().replace(/\-/g, ' ') }}分钟退单改派时间{{ staff.createTime }}
</div> </div>
</div> </div>
</div> </div>
</el-card> --> </el-card>
<!-- 预约信息 Start --> <!-- 预约信息 Start -->
<el-card class="!border-none mt-4" shadow="never" style="padding: 0 20px"> <el-card class="!border-none mt-4" shadow="never" style="padding: 0 20px">
@ -283,17 +287,16 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { apiOrderDetail, apiMasterLists, apiDispatchStaff, apiDispatchStaffScore } from '@/api/order/lists' import { apiDispatchStaff, apiDispatchStaffScore, apiMasterLists, apiOrderDetail } from '@/api/order/lists'
import { ref } from 'vue' import { ReceiveOrderEnum, getTypeMap, useGoodsTypeMap } from '@/enums/modeEnum'
import Operation from './components/operation.vue' import { useCreateModal } from '@/hooks/useCreateModal'
import dispatchDialog from './components/dispatchDialog.vue'
import area from '@/utils/area' import area from '@/utils/area'
import feedback from '@/utils/feedback' import feedback from '@/utils/feedback'
import { useGoodsTypeMap, getTypeMap, ReceiveOrderEnum } from '@/enums/modeEnum' import { parseCouponTime, parseEmpty } from '@/utils/util'
import { parseEmpty, timeFormat } from '@/utils/util' import { ref } from 'vue'
import { parseCouponTime } from '@/utils/util'
import { useCreateModal } from '@/hooks/useCreateModal'
import cancelOrderDialog from './components/cancelOrderDialog.vue' import cancelOrderDialog from './components/cancelOrderDialog.vue'
import dispatchDialog from './components/dispatchDialog.vue'
import Operation from './components/operation.vue'
import { useCancelOrderAction } from './hook' import { useCancelOrderAction } from './hook'
const route = useRoute() const route = useRoute()
@ -423,7 +426,8 @@ const handleChange = (val: any) => {
return val return val
} }
const areaValue = ref([440000, 440100, 440118]) // const areaValue = ref([440000, 440100, 440118])
const areaValue = ref([])
// //
const handleSelect = async (val: number[]) => { const handleSelect = async (val: number[]) => {
// //
@ -435,13 +439,25 @@ const handleSelect = async (val: number[]) => {
isReceiveOrder: ReceiveOrderEnum.ENABLEDING, isReceiveOrder: ReceiveOrderEnum.ENABLEDING,
isOrder: ReceiveOrderEnum.ENABLEDING, isOrder: ReceiveOrderEnum.ENABLEDING,
appointTimeStart: unref(formData).appointTimeStart, appointTimeStart: unref(formData).appointTimeStart,
appointTimeEnd: unref(formData).appointTimeEnd appointTimeEnd: unref(formData).appointTimeEnd,
goodsId: goodsData.value[0].goodsId,
staffId: formData.value.staffId
} }
const { lists } = await apiMasterLists({ ...params }) const { lists } = await apiMasterLists({ ...params })
staffData.value = lists staffData.value = lists
areaValue.value = val areaValue.value = val
} }
watch(
() => formData.value.staffId,
newVal => {
if (newVal) {
console.log('watch', newVal)
const { provinceId, cityId, districtId } = formData.value
areaValue.value = [provinceId, cityId, districtId]
handleSelect(areaValue.value)
}
}
)
// //
const handleDispatch = async () => { const handleDispatch = async () => {
getOrderDetail() getOrderDetail()
@ -517,7 +533,7 @@ const handleReDispatch = () => {
// //
const handleCancel = () => { const handleCancel = () => {
btnStatus.value = 2 btnStatus.value = formData.value.staffId ? 2 : 0
selStaff.value = '' selStaff.value = ''
getOrderDetail() getOrderDetail()
} }

View File

@ -10,19 +10,19 @@
<el-form-item label="服务名称"> <el-form-item label="服务名称">
<el-input class="ls-input" v-model="formData.goodsName" placeholder="请输入服务名称" /> <el-input class="ls-input" v-model="formData.goodsName" placeholder="请输入服务名称" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="师傅信息"> <el-form-item label="师傅信息">
<el-input class="ls-input" v-model="formData.staffInfo" placeholder="请输入师傅信息" clearable /> <el-input class="ls-input" v-model="formData.staffInfo" placeholder="请输入师傅信息" clearable />
</el-form-item> --> </el-form-item>
<el-form-item label="支付状态"> <el-form-item label="支付状态">
<el-select v-model="formData.payStatus" placeholder="请选择" class="ls-input"> <el-select v-model="formData.payStatus" placeholder="请选择" class="ls-input">
<el-option v-for="option in optionMap.payStatusOptions" :key="option.value" :label="option.label" :value="option.value" /> <el-option v-for="option in optionMap.payStatusOptions" :key="option.value" :label="option.label" :value="option.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="派单状态"> <el-form-item label="派单状态">
<el-select v-model="formData.isDispatch" placeholder="请选择" class="ls-input"> <el-select v-model="formData.isDispatch" placeholder="请选择" class="ls-input">
<el-option v-for="option in optionMap.dispatchOptions" :key="option.value" :label="option.label" :value="option.value" /> <el-option v-for="option in optionMap.dispatchOptions" :key="option.value" :label="option.label" :value="option.value" />
</el-select> </el-select>
</el-form-item> --> </el-form-item>
<el-form-item label="下单时间"> <el-form-item label="下单时间">
<data-picker <data-picker
class="ls-input" class="ls-input"
@ -42,9 +42,8 @@
<el-tabs class="-mt-2" v-model="formData.orderStatus" @tab-change="resetPage"> <el-tabs class="-mt-2" v-model="formData.orderStatus" @tab-change="resetPage">
<el-tab-pane :label="`全部(${countData?.totalCount || '0'})`" name="" /> <el-tab-pane :label="`全部(${countData?.totalCount || '0'})`" name="" />
<el-tab-pane :label="`待支付(${countData?.waitPayCount || '0'})`" :name="0" /> <el-tab-pane :label="`待支付(${countData?.waitPayCount || '0'})`" :name="0" />
<!-- <el-tab-pane :label="`预约中(${countData?.reserveCount || '0'})`" :name="1" /> <el-tab-pane :label="`预约中(${countData?.reserveCount || '0'})`" :name="1" />
<el-tab-pane :label="`服务中(${countData?.servicingCount || '0'})`" :name="2" /> --> <el-tab-pane :label="`服务中(${countData?.servicingCount || '0'})`" :name="2" />
<el-tab-pane :label="`已预约(${countData?.servicingCount || '0'})`" :name="2" />
<el-tab-pane :label="`已完成(${countData?.finishedCount || '0'})`" :name="3" /> <el-tab-pane :label="`已完成(${countData?.finishedCount || '0'})`" :name="3" />
<el-tab-pane :label="`退款单(${countData?.closeCount || '0'})`" :name="4" /> <el-tab-pane :label="`退款单(${countData?.closeCount || '0'})`" :name="4" />
</el-tabs> </el-tabs>
@ -105,9 +104,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column property="contact" label="联系人" min-width="100" /> <el-table-column property="contact" label="联系人" min-width="100" />
<!-- <el-table-column property="staffName" label="服务师傅" min-width="100"> <el-table-column property="staffName" label="服务师傅" min-width="100">
<template #default="{ row }">{{ parseEmpty(row, 'staffName') }}</template> <template #default="{ row }">{{ parseEmpty(row, 'staffName') }}</template>
</el-table-column> --> </el-table-column>
<el-table-column label="订单状态" min-width="100"> <el-table-column label="订单状态" min-width="100">
<template v-slot="{ row }"> <template v-slot="{ row }">
<span <span
@ -119,12 +118,12 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="派单状态" width="100" prop="isDispatchName"> <el-table-column label="派单状态" width="100" prop="isDispatchName">
<template v-slot="{ row }"> <template v-slot="{ row }">
<el-tag type="success" v-if="row.isDispatch === 1"></el-tag> <el-tag type="success" v-if="row.isDispatch === 1"></el-tag>
<el-tag type="danger" v-if="row.isDispatch === 0"></el-tag> <el-tag type="danger" v-if="row.isDispatch === 0"></el-tag>
</template> </template>
</el-table-column> --> </el-table-column>
<el-table-column label="操作" min-width="140" fixed="right"> <el-table-column label="操作" min-width="140" fixed="right">
<template #default="scope"> <template #default="scope">
<router-link <router-link