refactor: clean up codebase and add new features
Replace SCSS variable usages with explicit pixel/hex values for consistent styling across all components Fix broken template syntax including missing class spaces and incorrect closing tags Migrate constant and API imports to centralized @/constants and @/api modules Add new utility classes: IdUtils, CallbackUtils, and TimerUtils Add new chat conversation API endpoints for recent conversations and message lists Add new Discovery page components (FindTabs, QuickQuestions, CardSwiper) and their styles Update app store config to use environment variables for base API and WebSocket URLs Add new selected tab icon assets
This commit is contained in:
@@ -2,10 +2,7 @@
|
||||
<div class="order-card bg-white border-box p-12 rounded-12 m-12">
|
||||
<!-- 卡片头部 -->
|
||||
<div class="border-box flex flex-items-center pb-12">
|
||||
<img
|
||||
class="icon mr-4"
|
||||
src="https://oss.nianxx.cn/mp/static/version_101/service/service_icon.png"
|
||||
/>
|
||||
<img class="icon mr-4" src="https://oss.nianxx.cn/mp/static/version_101/service/service_icon.png" />
|
||||
<span class="font-size-14 color-525866 line-height-20">工单</span>
|
||||
<span class="font-size-12 color-525866 line-height-20 ml-auto">{{
|
||||
isCancelWork ? "已取消" : workOrderStatus(orderData.workOrderStatus)
|
||||
@@ -25,54 +22,34 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<img
|
||||
v-if="orderData.contentImgUrl"
|
||||
class="right rounded-6"
|
||||
:src="orderData.contentImgUrl"
|
||||
mode="aspectFill"
|
||||
/>
|
||||
<img v-if="orderData.contentImgUrl" class="right rounded-6" :src="orderData.contentImgUrl" mode="aspectFill" />
|
||||
</div>
|
||||
|
||||
<!-- 服务人员 -->
|
||||
<div
|
||||
v-if="orderData.processMemberName && orderData.processMemberPhone"
|
||||
class="service-user border-box p-8 flex flex-items-center flex-justify-between mb-12"
|
||||
>
|
||||
<div v-if="orderData.processMemberName && orderData.processMemberPhone"
|
||||
class="service-user border-box p-8 flex flex-items-center flex-justify-between mb-12">
|
||||
<div class="font-size-12 line-height-16">
|
||||
服务人员:{{ orderData.processMemberName }}
|
||||
</div>
|
||||
<uni-icons
|
||||
class="ml-auto mr-4"
|
||||
type="phone-filled"
|
||||
size="14"
|
||||
color="#436799"
|
||||
/>
|
||||
<span class="font-size-12 line-height-16" @click="callService"
|
||||
>拨打电话</span
|
||||
>
|
||||
<uni-icons class="ml-auto mr-4" type="phone-filled" size="14" color="#436799" />
|
||||
<span class="font-size-12 line-height-16" @click="callService">拨打电话</span>
|
||||
</div>
|
||||
|
||||
<!-- 取消操作 -->
|
||||
<div
|
||||
v-if="
|
||||
!isCancelWork &&
|
||||
orderData.workOrderStatus !== '2' &&
|
||||
orderData.workOrderStatus !== '3'
|
||||
"
|
||||
class="flex flex-items-center flex-justify-between"
|
||||
>
|
||||
<span
|
||||
class="cancel border-box border rounded-6 font-size-12 line-height-16 color-525866 ml-auto"
|
||||
@click="cancelCall"
|
||||
>取消呼叫</span
|
||||
>
|
||||
<div v-if="
|
||||
!isCancelWork &&
|
||||
orderData.workOrderStatus !== '2' &&
|
||||
orderData.workOrderStatus !== '3'
|
||||
" class="flex flex-items-center flex-justify-between">
|
||||
<span class="cancel border-box border rounded-6 font-size-12 line-height-16 color-525866 ml-auto"
|
||||
@click="cancelCall">取消呼叫</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { defineProps } from "vue";
|
||||
import { closeWorkOrder } from "@/request/api/WorkOrderApi";
|
||||
import { closeWorkOrder } from "@/api/WorkOrder";
|
||||
import { ref } from "vue";
|
||||
const isCancelWork = ref(false);
|
||||
|
||||
|
||||
@@ -1,36 +1,21 @@
|
||||
<template>
|
||||
<z-paging
|
||||
:bg-color="
|
||||
'linear-gradient(180deg, ' +
|
||||
$theme -
|
||||
color -
|
||||
100 +
|
||||
' 0%, #F5F7FA 100%) 0 86px / 100% 100px no-repeat'
|
||||
"
|
||||
ref="paging"
|
||||
v-model="dataList"
|
||||
use-virtual-list
|
||||
:force-close-inner-list="true"
|
||||
cell-height-mode="dynamic"
|
||||
safe-area-inset-bottom
|
||||
@query="queryList"
|
||||
>
|
||||
<z-paging :bg-color="'linear-gradient(180deg, ' +
|
||||
$theme -
|
||||
color -
|
||||
100 +
|
||||
' 0%, #F5F7FA 100%) 0 86px / 100% 100px no-repeat'
|
||||
" ref="paging" v-model="dataList" use-virtual-list :force-close-inner-list="true" cell-height-mode="dynamic"
|
||||
safe-area-inset-bottom @query="queryList">
|
||||
<template #top>
|
||||
<TopNavBar title="呼叫服务" />
|
||||
</template>
|
||||
|
||||
<template #empty>
|
||||
<CustomEmpty
|
||||
emptyIcon="https://oss.nianxx.cn/mp/static/version_101/order/service_empty.png"
|
||||
statusspan="您暂无呼叫服务"
|
||||
/>
|
||||
<CustomEmpty emptyIcon="https://oss.nianxx.cn/mp/static/version_101/order/service_empty.png"
|
||||
statusspan="您暂无呼叫服务" />
|
||||
</template>
|
||||
|
||||
<OrderCard
|
||||
v-for="(item, index) in dataList"
|
||||
:key="item.id || index"
|
||||
:orderData="item"
|
||||
/>
|
||||
<OrderCard v-for="(item, index) in dataList" :key="item.id || index" :orderData="item" />
|
||||
</z-paging>
|
||||
</template>
|
||||
|
||||
@@ -39,7 +24,7 @@ import { ref } from "vue";
|
||||
import TopNavBar from "@/components/TopNavBar/index.vue";
|
||||
import CustomEmpty from "@/components/CustomEmpty/index.vue";
|
||||
import OrderCard from "./components/OrderCard/index.vue";
|
||||
import { userWorkOrderList } from "@/request/api/WorkOrderApi";
|
||||
import { userWorkOrderList } from "@/api/WorkOrder";
|
||||
|
||||
const dataList = ref([]);
|
||||
const paging = ref(null);
|
||||
|
||||
Reference in New Issue
Block a user