更新 体检分诊联动

wenjuan
鹿和sa0ChunLuyu 1 year ago
parent 4401ed0f50
commit 2b8d8fde58

@ -3,11 +3,16 @@
namespace App\Http\Controllers\API\H5; namespace App\Http\Controllers\API\H5;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
class FenzhenController extends Controller class FenzhenController extends Controller
{ {
public static $url = 'https://lkt3.work.cjy.net.cn';
public static $log = null;
public function abandon() public function abandon()
{ {
// 这里放 弃检逻辑 // 这里放 弃检逻辑
@ -29,75 +34,112 @@ class FenzhenController extends Controller
$info = DB::table('orders')->where(['id' => $id])->whereIn('status', [2, 4])->first(); $info = DB::table('orders')->where(['id' => $id])->whereIn('status', [2, 4])->first();
if (!$info) return \Yz::echoError1("查询就诊人订单失败"); if (!$info) return \Yz::echoError1("查询就诊人订单失败");
$end_time = date('H:i', strtotime($info->appointment_date . ' ' . $info->appointment_time) + (60 * 60 * 0.54)); $end_time = date('H:i', strtotime($info->appointment_date . ' ' . $info->appointment_time) + (60 * 60 * 0.54));
return \Yz::Return(true, "获取成功", [ $res = self::fz('time', [
'info' => [ 'exam_id' => $info->tj_number ?? '??????????',
'name' => $info->name, 'start_time' => date('H:i', strtotime($info->appointment_date . ' ' . $info->appointment_time)),
'sex' => $info->sex, 'clinics' => [[
'combo_name' => $info->title, "name" => "外科诊室",
'check_date' => $info->appointment_date, "count" => 3
'start_time' => $info->appointment_time,
'end_time' => $end_time,
'qrcode' => '',
'code' => $info->appointment_number, // 体检条码
],
'list' => [[
'time' => '08:25',
'name' => '体检登记',
'status' => 4,
'desc' => '已完成',
'tip' => '体检登记 2024-08-09 08:25:30',
'more' => 0
], [
'time' => '08:30',
'name' => '体格检查',
'status' => 4,
'desc' => '已完成',
'tip' => '体格检查 2024-08-09 08:30:33',
'more' => 0
], [ ], [
'time' => '08:50', "name" => "内科诊室",
'name' => '超声科', "count" => 3
'status' => 2, ]]
'desc' => '第5位预计等待 11 分钟', ]);
'tip' => '腹部彩超', if (!!$res) {
'more' => 0 $time_line = $res['data']['time_line'];
], [ $check_report_status = -1;
'time' => '09:20', if (!!$res['data']['report']) {
'name' => '心电图', $report_time = date('m月d日', strtotime($res['data']['report'] . ' 00:00:00') + (60 * 60 * 24 * 5));
'status' => 1, $report_status = false;
'desc' => '预计 09:20 进入队列', // 这里补充 获取 出具报告 时间的逻辑
'tip' => '剩余5项正在排队中', if (!$report_status) {
'more' => 1 $time_line[] = [
], [ 'time' => '',
'time' => $end_time, 'name' => '出具报告',
'name' => '体检结束',
'status' => -1, 'status' => -1,
'desc' => '用餐时间 ' . $end_time, 'desc' => "预计 $report_time 出具体检报告",
'tip' => '', 'tip' => '',
'more' => 0 'more' => 0
], [ ];
} else {
$time_line[] = [
'time' => '', 'time' => '',
'name' => '出具报告', 'name' => '出具报告',
'status' => -1, 'status' => -1,
'desc' => '预计 9月23日 出具体检报告', 'desc' => "已出具体检报告 $report_status",
'tip' => '', 'tip' => '',
'more' => 0 'more' => 0
], [ ];
}
$check_report_status = 0;
// $check_report_status = '2024年10月11日';
// 这里补充 获取 报告解读 时间的逻辑
if ($check_report_status == 0) {
$check_report_time = date('m月d日', strtotime($res['data']['report'] . ' 00:00:00') + (60 * 60 * 24 * 6));
$time_line[] = [
'time' => '', 'time' => '',
'name' => '报告解读', 'name' => '报告解读',
'status' => -1, 'status' => -1,
'desc' => '预计 9月24日 可以预约报告解读', 'desc' => "预计 $check_report_time 可以预约报告解读",
'tip' => '', 'tip' => '',
'more' => 0 'more' => 0
]], ];
} else {
$show_date = explode('年', $check_report_status)[1];
$time_line[] = [
'time' => '',
'name' => '报告解读',
'status' => -1,
'desc' => "已预约 $show_date 报告解读",
'tip' => '',
'more' => 0
];
}
}
return \Yz::Return(true, "获取成功", [
'info' => [
'name' => $info->name,
'sex' => $info->sex,
'combo_name' => $info->title,
'check_date' => $info->appointment_date,
'start_time' => $res['data']['start_time'] . ':00',
'end_time' => $res['data']['end_time'],
'qrcode' => '',
'code' => $info->appointment_number,
],
'list' => $time_line,
'report' => $check_report_status,
]); ]);
} else {
return \Yz::Return(true, "获取成功", [
'info' => [
'name' => $info->name,
'sex' => $info->sex,
'combo_name' => $info->title,
'check_date' => $info->appointment_date,
'start_time' => $info->appointment_time,
'end_time' => $end_time,
'qrcode' => '',
'code' => $info->appointment_number,
],
'list' => [],
'report' => -1,
]);
}
} }
public function info() public function info()
{ {
$id = request('id'); $id = request('id');
$clinic = request('clinic');
$info = DB::table('orders')->where(['id' => $id])->whereIn('status', [2, 4])->first(); $info = DB::table('orders')->where(['id' => $id])->whereIn('status', [2, 4])->first();
if (!$info) return \Yz::echoError1("查询就诊人订单失败"); if (!$info) return \Yz::echoError1("查询就诊人订单失败");
$res = self::fz('info', [
'exam_id' => $info->tj_number ?? '??????????',
'clinic' => $clinic,
]);
if (!!$res) {
if ($res['code'] == 200) {
return \Yz::Return(true, "获取成功", [ return \Yz::Return(true, "获取成功", [
'info' => [ 'info' => [
'name' => $info->name, 'name' => $info->name,
@ -107,34 +149,79 @@ class FenzhenController extends Controller
'start_time' => $info->appointment_time, 'start_time' => $info->appointment_time,
'end_time' => '10:25', 'end_time' => '10:25',
'qrcode' => '', 'qrcode' => '',
'code' => $info->appointment_number, // 体检条码 'code' => $info->appointment_number,
], ],
'list' => [[ 'list' => $res['data']['list'],
'id' => '1', ]);
'time' => '2024.09.11 08:25', } else {
'name' => '超声科-颈部血管彩超', return \Yz::Return(false, $res['message']);
'status' => 4, }
], [ } else {
'id' => '1', return \Yz::Return(false, "获取失败");
'time' => '2024.09.11 08:25', }
'name' => '内科-内科问诊', }
'status' => 4,
], [ public function post($url, $data)
'id' => '1', {
'time' => '2024.09.11 08:25', $data_string = json_encode($data, JSON_UNESCAPED_UNICODE);
'name' => '内科-内科问诊', $curl = curl_init();
'status' => 1, curl_setopt($curl, CURLOPT_URL, $url);
], [ curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
'id' => '1', curl_setopt($curl, CURLOPT_POST, true);
'time' => '2024.09.11 08:25', curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
'name' => '内科-内科问诊', curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
'status' => 1, curl_setopt($curl, CURLOPT_HTTPHEADER, [
], [ 'Content-Type: application/json; charset=utf-8',
'id' => '1', 'Content-Length: ' . strlen($data_string),
'time' => '2024.09.11 08:25', 'Authorization: Bearer BD30333C-CBD4-4BA3-A27C-76727FF4D8B1'
'name' => '内科-内科问诊',
'status' => 1,
]],
]); ]);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
$r = curl_exec($curl);
curl_close($curl);
return $r;
}
public function fz($type, $content)
{
$date = date('Y-m-d');
self::CheckTableName(date('Y-m-d'));
self::$log->date = $date;
self::$log->type = $type;
self::$log->content = json_encode($content, JSON_UNESCAPED_UNICODE);
self::$log->callback = '{}';
self::$log->save();
$url_map = [
'time' => '/api/Open/TiJian/get',
'info' => '/api/Open/TiJian/info',
];
$url = self::$url;
$res = self::post("$url{$url_map[$type]}", $content);
// /api/Open/TiJian/get
self::$log->callback = $res;
self::$log->save();
if (json_decode($res)) {
return json_decode($res, true);
} else {
return false;
}
}
public static function CheckTableName($date)
{
$table_name = 'zz_fenzhen_log_' . date('ym', strtotime($date));
$table_count = DB::select('select count(1) as c from information_schema.TABLES where table_schema = ? and table_name = ?', [env('DB_DATABASE'), $table_name])[0];
if ($table_count->c === 0) {
Schema::create($table_name, function (Blueprint $table) {
$table->id();
$table->date('date')->index();
$table->string('type', 20)->index();
$table->longText('content');
$table->longText('callback');
$table->timestamps();
});
}
self::$log = new \App\Models\FenzhenLog;
self::$log->setTable($table_name);
return $table_name;
} }
} }

@ -0,0 +1,10 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class FenzhenLog extends Model
{
use HasFactory;
}

@ -1,24 +1,33 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue"; import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
* date2024年9月11日 19:24:50 * date2024年9月11日 19:24:50
*/ */
import { ref } from "vue"; import {
import { $api, $response } from "@/api"; ref
import { onShow } from "@dcloudio/uni-app"; } from "vue";
import { useStore } from "@/store"; import {
const $store = useStore(); $api,
const $props = defineProps({ $response
} from "@/api";
import {
onShow
} from "@dcloudio/uni-app";
import {
useStore
} from "@/store";
const $store = useStore();
const $props = defineProps({
id: { id: {
type: String, type: String,
default: "0", default: "0",
}, },
}); });
const fenzhen_list = ref(false); const fenzhen_list = ref(false);
const getFenzhenList = async () => { const getFenzhenList = async () => {
uni.showLoading(); uni.showLoading();
const response = await $api("FenzhenList", { const response = await $api("FenzhenList", {
id: $props.id, id: $props.id,
@ -27,34 +36,34 @@ const getFenzhenList = async () => {
$response(response, () => { $response(response, () => {
fenzhen_list.value = response.data; fenzhen_list.value = response.data;
}); });
}; };
const mountedAction = () => { const mountedAction = () => {
getFenzhenList(); getFenzhenList();
}; };
const config_ref = ref(null); const config_ref = ref(null);
const configRef = (e) => { const configRef = (e) => {
if (!config_ref.value) { if (!config_ref.value) {
config_ref.value = e; config_ref.value = e;
mountedAction(); mountedAction();
} }
}; };
const toRouter = () => { const toRouter = (clinic) => {
uni.navigateTo({ uni.navigateTo({
url: "/pages/user/fenzhen/xindiantu?id=" + $props.id, url: "/pages/user/fenzhen/xindiantu?id=" + $props.id + '&clinic=' + clinic,
}); });
}; };
const timeShow = (time) => { const timeShow = (time) => {
let time_array = time.split(":"); let time_array = time.split(":");
return `${time_array[0]}:${time_array[1]}`; return `${time_array[0]}:${time_array[1]}`;
}; };
const tip_show = ref(false); const tip_show = ref(false);
const tip_content = ref(""); const tip_content = ref("");
const getTipContent = async () => { const getTipContent = async () => {
uni.showLoading(); uni.showLoading();
const response = await $api("GetReadme"); const response = await $api("GetReadme");
uni.hideLoading(); uni.hideLoading();
@ -62,20 +71,26 @@ const getTipContent = async () => {
tip_content.value = response.data.content; tip_content.value = response.data.content;
tip_show.value = true; tip_show.value = true;
}); });
}; };
const tipShowClick = () => { const tipShowClick = () => {
if (!!tip_content.value) { if (!!tip_content.value) {
tip_show.value = true; tip_show.value = true;
} else { } else {
getTipContent(); getTipContent();
} }
}; };
const toReport = () => {
wx.miniProgram.navigateTo({
url: '/pages/other/entry/index?path=/pages/outpatient/doctor-appointment/index&scene=1035&hospitalAreaId=6&departmentCode=A0030077&subDepartmentCode=4773794195699464904'
})
}
onShow(() => { onShow(() => {
if (!!config_ref.value) { if (!!config_ref.value) {
mountedAction(); mountedAction();
} }
}); });
</script> </script>
<template> <template>
<DraggableButton /> <DraggableButton />
@ -92,18 +107,13 @@ onShow(() => {
</view> </view>
</view> </view>
<view v-if="!!fenzhen_list"> <view v-if="!!fenzhen_list">
<view <view class="order_info_wrapper relative">
class="order_info_wrapper relative" <w-qrcode v-if="fenzhen_list.info.qrcode" class="absolute top-20rpx right-15rpx b-1 b-dashed b-#000 p-8rpx"
>
<w-qrcode
v-if="fenzhen_list.info.qrcode"
class="absolute top-20rpx right-15rpx b-1 b-dashed b-#000 p-8rpx"
:options="{ :options="{
level: 4, level: 4,
size: 130, size: 130,
code: fenzhen_list.info.qrcode, code: fenzhen_list.info.qrcode,
}" }"></w-qrcode>
></w-qrcode>
<view class="person_name_wrapper"> <view class="person_name_wrapper">
<view class="person_name_text_wrapper">{{ <view class="person_name_text_wrapper">{{
fenzhen_list.info.name fenzhen_list.info.name
@ -145,21 +155,15 @@ onShow(() => {
<view class="tip_icon_wrapper"> <view class="tip_icon_wrapper">
<image src="@/static/assets/fenzhen/tip@2x.png"></image> <image src="@/static/assets/fenzhen/tip@2x.png"></image>
</view> </view>
<view class="tip_text_wrapper" <view class="tip_text_wrapper">尊敬的客户为了使您的体检流程更加顺畅请按以下步骤提
>尊敬的客户为了使您的体检流程更加顺畅请按以下步骤提 示顺序逐项完成体检</view>
示顺序逐项完成体检</view
>
</view> </view>
</view> </view>
<view class="time_line_wrapper"> <view class="time_line_wrapper">
<view class="time_line_title_wrapper">自助导检</view> <view class="time_line_title_wrapper">自助导检</view>
<view class="time_line_box_wrapper"> <view class="time_line_box_wrapper">
<view <view class="time_line_item_wrapper" :class="[`time_line_item-${i.status}_wrapper`]"
class="time_line_item_wrapper" v-for="(i, k) in fenzhen_list.list" :key="k">
:class="[`time_line_item-${i.status}_wrapper`]"
v-for="(i, k) in fenzhen_list.list"
:key="k"
>
<view class="time_line_item_time_wrapper"> <view class="time_line_item_time_wrapper">
<view v-if="!!i.time" class="time_line_item_time_value_wrapper">{{ <view v-if="!!i.time" class="time_line_item_time_value_wrapper">{{
i.time i.time
@ -167,40 +171,29 @@ onShow(() => {
<view class="time_line_item_time_dot_wrapper"> <view class="time_line_item_time_dot_wrapper">
<view class="time_line_item_time_dot_in_wrapper"></view> <view class="time_line_item_time_dot_in_wrapper"></view>
</view> </view>
<view <view v-if="!!i.time" class="time_line_item_time_line_wrapper"></view>
v-if="!!i.time" <view v-if="!i.time" class="time_line_item_time_cover_wrapper"></view>
class="time_line_item_time_line_wrapper"
></view>
<view
v-if="!i.time"
class="time_line_item_time_cover_wrapper"
></view>
</view> </view>
<view class="time_line_item_content_wrapper"> <view class="time_line_item_content_wrapper">
<view class="time_line_item_triangle_wrapper"></view> <view class="time_line_item_triangle_wrapper"></view>
<view class="time_line_item_flex_wrapper"> <view class="time_line_item_flex_wrapper">
<view class="time_line_item_title_wrapper" <view class="time_line_item_title_wrapper">{{ k + 1 }}.{{ i.name }}</view>
>{{ k + 1 }}.{{ i.name }}</view
>
<view class="time_line_item_box_wrapper">{{ i.desc }}</view> <view class="time_line_item_box_wrapper">{{ i.desc }}</view>
</view> </view>
<view <view v-if="!!i.time && !!i.tip" class="time_line_item_line_wrapper"></view>
v-if="!!i.time && !!i.tip" <view v-if="!!i.time && !!i.tip" class="time_line_item_flex_wrapper">
class="time_line_item_line_wrapper"
></view>
<view
v-if="!!i.time && !!i.tip"
class="time_line_item_flex_wrapper"
>
<view class="time_line_item_text_wrapper">{{ i.tip }}</view> <view class="time_line_item_text_wrapper">{{ i.tip }}</view>
<view <view v-if="i.more !== 0" class="time_line_item_more_wrapper" @click="toRouter(i.more)">>></view>
v-if="i.more > 0" </view>
class="time_line_item_more_wrapper"
@click="toRouter()"
>查看详情>></view
>
</view> </view>
</view> </view>
<view v-if="fenzhen_list.report !== -1" class="report_wrapper">
<view v-if="fenzhen_list.report !== 0" class="report_tip_wrapper">
已预约 {{ fenzhen_list.report }} 报告解读
</view>
<view v-else @click="toReport()" class="report_button_wrapper">
预约解读
</view>
</view> </view>
</view> </view>
</view> </view>
@ -208,12 +201,38 @@ onShow(() => {
</view> </view>
</template> </template>
<style scoped> <style scoped>
.tip_dialog_text_wrapper { .report_tip_wrapper {
font-weight: 500;
font-size: 28rpx;
color: #239EA3;
line-height: 90rpx;
margin-right: 29rpx;
}
.report_wrapper {
display: flex;
justify-content: end;
}
.report_button_wrapper {
width: 200rpx;
height: 60rpx;
background: #239ea3;
border-radius: 30rpx;
font-size: 24rpx;
color: #ffffff;
line-height: 60rpx;
text-align: center;
margin-right: 29rpx;
margin-top: 50rpx;
}
.tip_dialog_text_wrapper {
max-height: calc(100vh - 600rpx); max-height: calc(100vh - 600rpx);
overflow-y: auto; overflow-y: auto;
} }
.tip_dialog_wrapper { .tip_dialog_wrapper {
position: fixed; position: fixed;
top: 0; top: 0;
bottom: 0; bottom: 0;
@ -223,24 +242,24 @@ onShow(() => {
background: #00000060; background: #00000060;
margin: 0 auto; margin: 0 auto;
z-index: 9999; z-index: 9999;
} }
.tip_dialog_close_wrapper { .tip_dialog_close_wrapper {
position: absolute; position: absolute;
top: 30rpx; top: 30rpx;
right: 40rpx; right: 40rpx;
width: 26rpx; width: 26rpx;
height: 26rpx; height: 26rpx;
} }
.tip_dialog_close_wrapper image { .tip_dialog_close_wrapper image {
width: 26rpx; width: 26rpx;
height: 26rpx; height: 26rpx;
display: block; display: block;
object-fit: contain; object-fit: contain;
} }
.tip_dialog_box_wrapper { .tip_dialog_box_wrapper {
position: absolute; position: absolute;
width: 610rpx; width: 610rpx;
background: #ffffff; background: #ffffff;
@ -252,33 +271,38 @@ onShow(() => {
left: 50%; left: 50%;
top: 50%; top: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }
.time_line_item_more_wrapper { .time_line_item_more_wrapper {
font-size: 22rpx; font-size: 22rpx;
color: #239ea3; color: #239ea3;
line-height: 1; line-height: 1;
text-decoration-line: underline; text-decoration-line: underline;
margin-right: 19rpx; margin-right: 19rpx;
} }
.time_line_item_text_wrapper { .time_line_item_text_wrapper {
font-weight: 500; font-weight: 500;
font-size: 24rpx; font-size: 24rpx;
color: #6e6e6e; color: #6e6e6e;
line-height: 1; line-height: 1;
margin-left: 42rpx; margin-left: 42rpx;
}
.time_line_item_line_wrapper { width: calc(100% - 210rpx);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.time_line_item_line_wrapper {
width: 550rpx; width: 550rpx;
height: 1rpx; height: 1rpx;
background: #e8e8e8; background: #e8e8e8;
border-radius: 1rpx; border-radius: 1rpx;
margin: 13rpx auto 5rpx; margin: 13rpx auto 5rpx;
} }
.time_line_item_box_wrapper { .time_line_item_box_wrapper {
width: 400rpx; width: 400rpx;
height: 40rpx; height: 40rpx;
background: #5a75ca30; background: #5a75ca30;
@ -289,9 +313,9 @@ onShow(() => {
line-height: 40rpx; line-height: 40rpx;
text-align: center; text-align: center;
margin-right: 17rpx; margin-right: 17rpx;
} }
.time_line_item_title_wrapper { .time_line_item_title_wrapper {
width: 140rpx; width: 140rpx;
font-weight: bold; font-weight: bold;
font-size: 28rpx; font-size: 28rpx;
@ -299,16 +323,16 @@ onShow(() => {
line-height: 40rpx; line-height: 40rpx;
height: 40rpx; height: 40rpx;
margin-left: 22rpx; margin-left: 22rpx;
} }
.time_line_item_flex_wrapper { .time_line_item_flex_wrapper {
margin-top: 15rpx; margin-top: 15rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.time_line_item_time_cover_wrapper { .time_line_item_time_cover_wrapper {
position: absolute; position: absolute;
width: 2rpx; width: 2rpx;
top: -36rpx; top: -36rpx;
@ -317,9 +341,9 @@ onShow(() => {
background: #ffffff; background: #ffffff;
transform: translateX(-50%); transform: translateX(-50%);
z-index: 99; z-index: 99;
} }
.time_line_item_time_line_wrapper { .time_line_item_time_line_wrapper {
position: absolute; position: absolute;
width: 2rpx; width: 2rpx;
top: 0; top: 0;
@ -327,9 +351,9 @@ onShow(() => {
left: 50%; left: 50%;
background: #dedede; background: #dedede;
transform: translateX(-50%); transform: translateX(-50%);
} }
.time_line_item_time_dot_wrapper { .time_line_item_time_dot_wrapper {
position: absolute; position: absolute;
width: 16rpx; width: 16rpx;
height: 16rpx; height: 16rpx;
@ -339,9 +363,9 @@ onShow(() => {
top: 50%; top: 50%;
transform: translate(-50%, calc(-50% + 26rpx)); transform: translate(-50%, calc(-50% + 26rpx));
z-index: 999; z-index: 999;
} }
.time_line_item_time_dot_in_wrapper { .time_line_item_time_dot_in_wrapper {
width: 8rpx; width: 8rpx;
height: 8rpx; height: 8rpx;
background: #cfcece; background: #cfcece;
@ -350,13 +374,13 @@ onShow(() => {
left: 50%; left: 50%;
top: 50%; top: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }
.time_line_box_wrapper { .time_line_box_wrapper {
margin-top: 28rpx; margin-top: 28rpx;
} }
.time_line_item_triangle_wrapper { .time_line_item_triangle_wrapper {
width: 16rpx; width: 16rpx;
height: 16rpx; height: 16rpx;
border-left: 1rpx #e8e8e8 solid; border-left: 1rpx #e8e8e8 solid;
@ -366,9 +390,9 @@ onShow(() => {
top: 50%; top: 50%;
left: -10rpx; left: -10rpx;
transform: rotate(45deg); transform: rotate(45deg);
} }
.time_line_item_content_wrapper { .time_line_item_content_wrapper {
width: 590rpx; width: 590rpx;
background: #f8f8f8; background: #f8f8f8;
border-radius: 5rpx; border-radius: 5rpx;
@ -377,9 +401,9 @@ onShow(() => {
border: 1rpx #e8e8e8 solid; border: 1rpx #e8e8e8 solid;
margin-top: 36rpx; margin-top: 36rpx;
padding-bottom: 15rpx; padding-bottom: 15rpx;
} }
.time_line_item_time_value_wrapper { .time_line_item_time_value_wrapper {
width: 90rpx; width: 90rpx;
height: 55rpx; height: 55rpx;
background: #e4e4e4; background: #e4e4e4;
@ -391,26 +415,26 @@ onShow(() => {
text-align: center; text-align: center;
position: relative; position: relative;
z-index: 99; z-index: 99;
} }
.time_line_item_time_wrapper { .time_line_item_time_wrapper {
width: 90rpx; width: 90rpx;
position: absolute; position: absolute;
left: 6rpx; left: 6rpx;
right: 0; right: 0;
top: 0; top: 0;
bottom: 0; bottom: 0;
} }
.time_line_item_wrapper { .time_line_item_wrapper {
width: calc(90rpx + 12rpx + 590rpx); width: calc(90rpx + 12rpx + 590rpx);
display: flex; display: flex;
justify-content: end; justify-content: end;
margin: 0 auto; margin: 0 auto;
position: relative; position: relative;
} }
.time_line_title_wrapper { .time_line_title_wrapper {
width: 180rpx; width: 180rpx;
height: 60rpx; height: 60rpx;
background: linear-gradient(90deg, #edf6f5 0%, #bbdfe1 99%); background: linear-gradient(90deg, #edf6f5 0%, #bbdfe1 99%);
@ -422,9 +446,9 @@ onShow(() => {
line-height: 60rpx; line-height: 60rpx;
margin-top: 26rpx; margin-top: 26rpx;
overflow: hidden; overflow: hidden;
} }
.time_line_wrapper { .time_line_wrapper {
width: 710rpx; width: 710rpx;
background: #ffffff; background: #ffffff;
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04); box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04);
@ -433,71 +457,71 @@ onShow(() => {
overflow: hidden; overflow: hidden;
position: relative; position: relative;
padding-bottom: 30rpx; padding-bottom: 30rpx;
} }
.tip_text_wrapper { .tip_text_wrapper {
font-weight: 400; font-weight: 400;
font-size: 22rpx; font-size: 22rpx;
color: #e95515; color: #e95515;
line-height: 36rpx; line-height: 36rpx;
margin-left: 10rpx; margin-left: 10rpx;
} }
.tip_icon_wrapper { .tip_icon_wrapper {
width: 24rpx; width: 24rpx;
height: 24rpx; height: 24rpx;
margin-top: 5rpx; margin-top: 5rpx;
} }
.tip_icon_wrapper image { .tip_icon_wrapper image {
width: 24rpx; width: 24rpx;
height: 24rpx; height: 24rpx;
display: block; display: block;
object-fit: contain; object-fit: contain;
} }
.tip_box_wrapper { .tip_box_wrapper {
display: flex; display: flex;
margin-top: 20rpx; margin-top: 20rpx;
} }
.tip_time_value_wrapper { .tip_time_value_wrapper {
font-size: 36rpx; font-size: 36rpx;
color: #239ea3; color: #239ea3;
margin: 0 10rpx; margin: 0 10rpx;
} }
.tip_time_text_wrapper { .tip_time_text_wrapper {
font-size: 22rpx; font-size: 22rpx;
color: #161616; color: #161616;
} }
.tip_time_wrapper { .tip_time_wrapper {
display: flex; display: flex;
align-items: end; align-items: end;
line-height: 1; line-height: 1;
} }
.tip_wrapper { .tip_wrapper {
width: calc(100% - 50px); width: calc(100% - 50px);
margin: 32rpx auto 0; margin: 32rpx auto 0;
} }
.info2_wrapper { .info2_wrapper {
margin-top: 30rpx; margin-top: 30rpx;
} }
.info_box_wrapper { .info_box_wrapper {
margin-top: 60rpx; margin-top: 60rpx;
margin-left: 29rpx; margin-left: 29rpx;
} }
.button_wrapper { .button_wrapper {
display: flex; display: flex;
justify-content: end; justify-content: end;
} }
.desc_wrapper { .desc_wrapper {
width: 160rpx; width: 160rpx;
height: 48rpx; height: 48rpx;
background: #239ea3; background: #239ea3;
@ -508,26 +532,26 @@ onShow(() => {
text-align: center; text-align: center;
margin-right: 29rpx; margin-right: 29rpx;
margin-top: 24rpx; margin-top: 24rpx;
} }
.info_wrapper { .info_wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.info_text_wrapper { .info_text_wrapper {
font-size: 24rpx; font-size: 24rpx;
color: #0f0f0f; color: #0f0f0f;
line-height: 1; line-height: 1;
} }
.info_title_wrapper { .info_title_wrapper {
font-size: 24rpx; font-size: 24rpx;
color: #8b8b8b; color: #8b8b8b;
line-height: 1; line-height: 1;
} }
.order_info_wrapper { .order_info_wrapper {
width: 710rpx; width: 710rpx;
height: 360rpx; height: 360rpx;
background: #ffffff; background: #ffffff;
@ -535,64 +559,64 @@ onShow(() => {
border-radius: 15rpx; border-radius: 15rpx;
margin: 20rpx auto 0; margin: 20rpx auto 0;
overflow: hidden; overflow: hidden;
} }
.person_name_wrapper { .person_name_wrapper {
display: flex; display: flex;
align-items: end; align-items: end;
margin-top: 72rpx; margin-top: 72rpx;
margin-left: 29rpx; margin-left: 29rpx;
} }
.person_name_text_wrapper { .person_name_text_wrapper {
font-weight: bold; font-weight: bold;
font-size: 34rpx; font-size: 34rpx;
color: #171717; color: #171717;
} }
.person_sex_wrapper { .person_sex_wrapper {
font-size: 24rpx; font-size: 24rpx;
color: #7e7e7e; color: #7e7e7e;
margin-left: 15rpx; margin-left: 15rpx;
} }
.time_line_item-2_wrapper .time_line_item_time_value_wrapper, .time_line_item-2_wrapper .time_line_item_time_value_wrapper,
.time_line_item-1_wrapper .time_line_item_time_value_wrapper { .time_line_item-1_wrapper .time_line_item_time_value_wrapper {
background: #239ea3; background: #239ea3;
color: #f8f8f8; color: #f8f8f8;
} }
.time_line_item-2_wrapper .time_line_item_time_dot_wrapper, .time_line_item-2_wrapper .time_line_item_time_dot_wrapper,
.time_line_item-1_wrapper .time_line_item_time_dot_wrapper { .time_line_item-1_wrapper .time_line_item_time_dot_wrapper {
background: #239ea360; background: #239ea360;
} }
.time_line_item-2_wrapper .time_line_item_time_dot_in_wrapper, .time_line_item-2_wrapper .time_line_item_time_dot_in_wrapper,
.time_line_item-1_wrapper .time_line_item_time_dot_in_wrapper { .time_line_item-1_wrapper .time_line_item_time_dot_in_wrapper {
background: #239ea3; background: #239ea3;
} }
.time_line_item-2_wrapper .time_line_item_box_wrapper, .time_line_item-2_wrapper .time_line_item_box_wrapper,
.time_line_item-1_wrapper .time_line_item_box_wrapper { .time_line_item-1_wrapper .time_line_item_box_wrapper {
background: #6cafb230; background: #6cafb230;
color: #239ea3; color: #239ea3;
} }
.time_line_item--1_wrapper .time_line_item_time_value_wrapper { .time_line_item--1_wrapper .time_line_item_time_value_wrapper {
background: #239ea3; background: #239ea3;
color: #f8f8f8; color: #f8f8f8;
} }
.time_line_item--1_wrapper .time_line_item_time_dot_wrapper { .time_line_item--1_wrapper .time_line_item_time_dot_wrapper {
background: #239ea360; background: #239ea360;
} }
.time_line_item--1_wrapper .time_line_item_time_dot_in_wrapper { .time_line_item--1_wrapper .time_line_item_time_dot_in_wrapper {
background: #239ea3; background: #239ea3;
} }
.time_line_item--1_wrapper .time_line_item_box_wrapper { .time_line_item--1_wrapper .time_line_item_box_wrapper {
background: #e1af6830; background: #e1af6830;
color: #cc913e; color: #cc913e;
} }
</style> </style>

@ -1,68 +1,95 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue"; import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
* date2024年9月11日 19:24:50 * date2024年9月11日 19:24:50
*/ */
import { ref } from "vue"; import {
import { $api, $response } from "@/api"; ref
import { onShow } from "@dcloudio/uni-app"; } from "vue";
import { useStore } from "@/store"; import {
const $store = useStore(); $api,
const $props = defineProps({ $response
} from "@/api";
import {
onShow
} from "@dcloudio/uni-app";
import {
useStore
} from "@/store";
const $store = useStore();
const $props = defineProps({
id: { id: {
type: String, type: String,
default: "0", default: "0",
}, },
}); clinic: {
type: String,
default: "0",
},
});
let tabIndex = ref(0); let tabIndex = ref(0);
const fenzhen_list = ref(false); const fenzhen_time = ref(false);
const fenzhen_list = ref(false);
const getFenzhenList = async () => {
uni.showLoading();
const response = await $api("FenzhenList", {
id: $props.id,
});
uni.hideLoading();
$response(response, () => {
fenzhen_time.value = response.data;
getFenzhenInfo()
});
};
const getFenzhenInfo = async (id) => { const getFenzhenInfo = async (id) => {
uni.showLoading(); uni.showLoading();
const response = await $api("FenzhenInfo", { const response = await $api("FenzhenInfo", {
id: $props.id, id: $props.id,
clinic: $props.clinic,
}); });
uni.hideLoading(); uni.hideLoading();
$response(response, () => { $response(response, () => {
fenzhen_list.value = response.data; fenzhen_list.value = response.data;
}); });
}; };
const mountedAction = () => { const mountedAction = () => {
getFenzhenInfo(); getFenzhenList();
}; };
const config_ref = ref(null); const config_ref = ref(null);
const configRef = (e) => { const configRef = (e) => {
if (!config_ref.value) { if (!config_ref.value) {
config_ref.value = e; config_ref.value = e;
mountedAction(); mountedAction();
} }
}; };
const timeShow = (time) => { const timeShow = (time) => {
let time_array = time.split(":"); let time_array = time.split(":");
return `${time_array[0]}:${time_array[1]}`; return `${time_array[0]}:${time_array[1]}`;
}; };
const tip_show = ref(false); const tip_show = ref(false);
const tip_content = ref(""); const tip_content = ref("");
const qijian = (item) => { const qijian = (item) => {
uni.navigateTo({ uni.navigateTo({
url: `/pages/user/fenzhen/qijian?id=${$props.id}&xmid=${item.id}`, url: `/pages/user/fenzhen/qijian?id=${$props.id}&xmid=${item.id}`,
}); });
}; };
onShow(() => { onShow(() => {
if (!!config_ref.value) { if (!!config_ref.value) {
mountedAction(); mountedAction();
} }
}); });
</script> </script>
<template> <template>
<DraggableButton /> <DraggableButton />
@ -78,81 +105,66 @@ onShow(() => {
<view class="tip_dialog_text_wrapper" v-html="tip_content"></view> <view class="tip_dialog_text_wrapper" v-html="tip_content"></view>
</view> </view>
</view> --> </view> -->
<view v-if="!!fenzhen_list"> <view v-if="!!fenzhen_list && !!fenzhen_time">
<view class="order_info_wrapper"> <view class="order_info_wrapper">
<view class="person_name_wrapper"> <view class="person_name_wrapper">
<view class="person_name_text_wrapper">{{ <view class="person_name_text_wrapper">{{
fenzhen_list.info.name fenzhen_time.info.name
}}</view> }}</view>
<view class="person_sex_wrapper">{{ <view class="person_sex_wrapper">{{
fenzhen_list.info.sex === 1 ? "男士" : "女士" fenzhen_time.info.sex === 1 ? "男士" : "女士"
}}</view> }}</view>
</view> </view>
<view class="info_box_wrapper"> <view class="info_box_wrapper">
<view class="info_wrapper"> <view class="info_wrapper">
<view class="info_title_wrapper">体检套餐</view> <view class="info_title_wrapper">体检套餐</view>
<view class="info_text_wrapper">{{ <view class="info_text_wrapper">{{
fenzhen_list.info.combo_name fenzhen_time.info.combo_name
}}</view> }}</view>
</view> </view>
<view class="info_wrapper info2_wrapper"> <view class="info_wrapper info2_wrapper">
<view class="info_title_wrapper">体检日期</view> <view class="info_title_wrapper">体检日期</view>
<view class="info_text_wrapper">{{ <view class="info_text_wrapper">{{
fenzhen_list.info.check_date fenzhen_time.info.check_date
}}</view> }}</view>
</view> </view>
<view <view class="info_wrapper info2_wrapper" v-if="fenzhen_time.info.code">
class="info_wrapper info2_wrapper"
v-if="fenzhen_list.info.code"
>
<view class="info_title_wrapper">体检号条码</view> <view class="info_title_wrapper">体检号条码</view>
<w-barcode <w-barcode :options="{
:options="{
width: 500, width: 500,
height: 100, height: 100,
code: fenzhen_list.info.code, code: fenzhen_time.info.code,
}" }"></w-barcode>
></w-barcode>
</view> </view>
</view> </view>
<view class="tip_wrapper"> <view class="tip_wrapper">
<view class="tip_time_wrapper"> <view class="tip_time_wrapper">
<view class="tip_time_text_wrapper">开始体检时间</view> <view class="tip_time_text_wrapper">开始体检时间</view>
<view class="tip_time_value_wrapper">{{ <view class="tip_time_value_wrapper">{{
timeShow(fenzhen_list.info.start_time) timeShow(fenzhen_time.info.start_time)
}}</view> }}</view>
<view class="tip_time_text_wrapper"> 预计结束时间</view> <view class="tip_time_text_wrapper"> 预计结束时间</view>
<view class="tip_time_value_wrapper">{{ <view class="tip_time_value_wrapper">{{
timeShow(fenzhen_list.info.end_time) timeShow(fenzhen_time.info.end_time)
}}</view> }}</view>
</view> </view>
<view class="tip_box_wrapper"> <view class="tip_box_wrapper">
<view class="tip_icon_wrapper"> <view class="tip_icon_wrapper">
<image src="@/static/assets/fenzhen/tip@2x.png"></image> <image src="@/static/assets/fenzhen/tip@2x.png"></image>
</view> </view>
<view class="tip_text_wrapper" <view class="tip_text_wrapper">尊敬的客户为了使您的体检流程更加顺畅请按以下步骤提
>尊敬的客户为了使您的体检流程更加顺畅请按以下步骤提 示顺序逐项完成体检</view>
示顺序逐项完成体检</view
>
</view> </view>
</view> </view>
</view> </view>
<view class="time_line_wrapper py-40rpx px-10rpx"> <view class="time_line_wrapper py-40rpx px-10rpx">
<view <view class="mb-20rpx flex rounded-8rpx w-428rpx h-66rpx ma b-0 b-1 b-solid b-#239EA3">
class="mb-20rpx flex rounded-8rpx w-428rpx h-66rpx ma b-0 b-1 b-solid b-#239EA3" <view @click="tabIndex = 0" :class="tabIndex == 0 ? 'ckjg_active' : ''"
> class="text-#239EA3 flex-1 text-#26rpx bg-#D9F3F2 flex flex-items-center flex-justify-center rounded-l-8rpx">
<view
@click="tabIndex = 0"
:class="tabIndex == 0 ? 'ckjg_active' : ''"
class="text-#239EA3 flex-1 text-#26rpx bg-#D9F3F2 flex flex-items-center flex-justify-center rounded-l-8rpx"
>
未完成 未完成
</view> </view>
<view <view @click="tabIndex = 1" :class="tabIndex == 1 ? 'ckjg_active' : ''"
@click="tabIndex = 1" class="text-#239EA3 flex-1 flex flex-items-center flex-justify-center bg-#D9F3F2 rounded-r-8rpx">已完成
:class="tabIndex == 1 ? 'ckjg_active' : ''"
class="text-#239EA3 flex-1 flex flex-items-center flex-justify-center bg-#D9F3F2 rounded-r-8rpx"
>已完成
</view> </view>
</view> </view>
<view> <view>
@ -160,20 +172,14 @@ onShow(() => {
<view class="between h-90rpx b-0 b-b-1 b-solid b-#EAEAEA" v-if="item.status == 1 && tabIndex == 0"> <view class="between h-90rpx b-0 b-b-1 b-solid b-#EAEAEA" v-if="item.status == 1 && tabIndex == 0">
<view class="text-#000000 text-30rpx">{{ item.name }}</view> <view class="text-#000000 text-30rpx">{{ item.name }}</view>
<view class="center"> <view class="center">
<text <text @click="qijian(item)"
@click="qijian(item)" class="rounded-full text-28rpx center w-105rpx h-48rpx text-#E95515 bg-#FAECE6">弃检</text>
class="rounded-full text-28rpx center w-105rpx h-48rpx text-#E95515 bg-#FAECE6"
>弃检</text
>
</view> </view>
</view> </view>
<view class="between h-90rpx b-0 b-b-1 b-solid b-#EAEAEA" v-if="item.status == 4 && tabIndex == 1"> <view class="between h-90rpx b-0 b-b-1 b-solid b-#EAEAEA" v-if="item.status == 4 && tabIndex == 1">
<view class="text-#000000 text-30rpx">{{ item.name }}</view> <view class="text-#000000 text-30rpx">{{ item.name }}</view>
<view class="center"> <view class="center">
<text <text class="rounded-full text-28rpx center w-105rpx h-48rpx mr-30rpx text-#239EA3 bg-#E5F3F2">完成</text>
class="rounded-full text-28rpx center w-105rpx h-48rpx mr-30rpx text-#239EA3 bg-#E5F3F2"
>完成</text
>
<text class="text-#141414 text-28rpx">{{ item.time }}</text> <text class="text-#141414 text-28rpx">{{ item.time }}</text>
</view> </view>
</view> </view>
@ -184,12 +190,12 @@ onShow(() => {
</view> </view>
</template> </template>
<style scoped> <style scoped>
.tip_dialog_text_wrapper { .tip_dialog_text_wrapper {
max-height: calc(100vh - 600rpx); max-height: calc(100vh - 600rpx);
overflow-y: auto; overflow-y: auto;
} }
.tip_dialog_wrapper { .tip_dialog_wrapper {
position: fixed; position: fixed;
top: 0; top: 0;
bottom: 0; bottom: 0;
@ -199,24 +205,24 @@ onShow(() => {
background: #00000060; background: #00000060;
margin: 0 auto; margin: 0 auto;
z-index: 9999; z-index: 9999;
} }
.tip_dialog_close_wrapper { .tip_dialog_close_wrapper {
position: absolute; position: absolute;
top: 30rpx; top: 30rpx;
right: 40rpx; right: 40rpx;
width: 26rpx; width: 26rpx;
height: 26rpx; height: 26rpx;
} }
.tip_dialog_close_wrapper image { .tip_dialog_close_wrapper image {
width: 26rpx; width: 26rpx;
height: 26rpx; height: 26rpx;
display: block; display: block;
object-fit: contain; object-fit: contain;
} }
.tip_dialog_box_wrapper { .tip_dialog_box_wrapper {
position: absolute; position: absolute;
width: 610rpx; width: 610rpx;
background: #ffffff; background: #ffffff;
@ -228,33 +234,33 @@ onShow(() => {
left: 50%; left: 50%;
top: 50%; top: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }
.time_line_item_more_wrapper { .time_line_item_more_wrapper {
font-size: 22rpx; font-size: 22rpx;
color: #239ea3; color: #239ea3;
line-height: 1; line-height: 1;
text-decoration-line: underline; text-decoration-line: underline;
margin-right: 19rpx; margin-right: 19rpx;
} }
.time_line_item_text_wrapper { .time_line_item_text_wrapper {
font-weight: 500; font-weight: 500;
font-size: 24rpx; font-size: 24rpx;
color: #6e6e6e; color: #6e6e6e;
line-height: 1; line-height: 1;
margin-left: 42rpx; margin-left: 42rpx;
} }
.time_line_item_line_wrapper { .time_line_item_line_wrapper {
width: 550rpx; width: 550rpx;
height: 1rpx; height: 1rpx;
background: #e8e8e8; background: #e8e8e8;
border-radius: 1rpx; border-radius: 1rpx;
margin: 13rpx auto 5rpx; margin: 13rpx auto 5rpx;
} }
.time_line_item_box_wrapper { .time_line_item_box_wrapper {
width: 400rpx; width: 400rpx;
height: 40rpx; height: 40rpx;
background: #5a75ca30; background: #5a75ca30;
@ -265,9 +271,9 @@ onShow(() => {
line-height: 40rpx; line-height: 40rpx;
text-align: center; text-align: center;
margin-right: 17rpx; margin-right: 17rpx;
} }
.time_line_item_title_wrapper { .time_line_item_title_wrapper {
width: 140rpx; width: 140rpx;
font-weight: bold; font-weight: bold;
font-size: 28rpx; font-size: 28rpx;
@ -275,16 +281,16 @@ onShow(() => {
line-height: 40rpx; line-height: 40rpx;
height: 40rpx; height: 40rpx;
margin-left: 22rpx; margin-left: 22rpx;
} }
.time_line_item_flex_wrapper { .time_line_item_flex_wrapper {
margin-top: 15rpx; margin-top: 15rpx;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.time_line_item_time_cover_wrapper { .time_line_item_time_cover_wrapper {
position: absolute; position: absolute;
width: 2rpx; width: 2rpx;
top: -36rpx; top: -36rpx;
@ -293,9 +299,9 @@ onShow(() => {
background: #ffffff; background: #ffffff;
transform: translateX(-50%); transform: translateX(-50%);
z-index: 99; z-index: 99;
} }
.time_line_item_time_line_wrapper { .time_line_item_time_line_wrapper {
position: absolute; position: absolute;
width: 2rpx; width: 2rpx;
top: 0; top: 0;
@ -303,9 +309,9 @@ onShow(() => {
left: 50%; left: 50%;
background: #dedede; background: #dedede;
transform: translateX(-50%); transform: translateX(-50%);
} }
.time_line_item_time_dot_wrapper { .time_line_item_time_dot_wrapper {
position: absolute; position: absolute;
width: 16rpx; width: 16rpx;
height: 16rpx; height: 16rpx;
@ -315,9 +321,9 @@ onShow(() => {
top: 50%; top: 50%;
transform: translate(-50%, calc(-50% + 26rpx)); transform: translate(-50%, calc(-50% + 26rpx));
z-index: 999; z-index: 999;
} }
.time_line_item_time_dot_in_wrapper { .time_line_item_time_dot_in_wrapper {
width: 8rpx; width: 8rpx;
height: 8rpx; height: 8rpx;
background: #cfcece; background: #cfcece;
@ -326,13 +332,13 @@ onShow(() => {
left: 50%; left: 50%;
top: 50%; top: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }
.time_line_box_wrapper { .time_line_box_wrapper {
margin-top: 28rpx; margin-top: 28rpx;
} }
.time_line_item_triangle_wrapper { .time_line_item_triangle_wrapper {
width: 16rpx; width: 16rpx;
height: 16rpx; height: 16rpx;
border-left: 1rpx #e8e8e8 solid; border-left: 1rpx #e8e8e8 solid;
@ -342,9 +348,9 @@ onShow(() => {
top: 50%; top: 50%;
left: -10rpx; left: -10rpx;
transform: rotate(45deg); transform: rotate(45deg);
} }
.time_line_item_content_wrapper { .time_line_item_content_wrapper {
width: 590rpx; width: 590rpx;
background: #f8f8f8; background: #f8f8f8;
border-radius: 5rpx; border-radius: 5rpx;
@ -353,9 +359,9 @@ onShow(() => {
border: 1rpx #e8e8e8 solid; border: 1rpx #e8e8e8 solid;
margin-top: 36rpx; margin-top: 36rpx;
padding-bottom: 15rpx; padding-bottom: 15rpx;
} }
.time_line_item_time_value_wrapper { .time_line_item_time_value_wrapper {
width: 90rpx; width: 90rpx;
height: 55rpx; height: 55rpx;
background: #e4e4e4; background: #e4e4e4;
@ -367,26 +373,26 @@ onShow(() => {
text-align: center; text-align: center;
position: relative; position: relative;
z-index: 99; z-index: 99;
} }
.time_line_item_time_wrapper { .time_line_item_time_wrapper {
width: 90rpx; width: 90rpx;
position: absolute; position: absolute;
left: 6rpx; left: 6rpx;
right: 0; right: 0;
top: 0; top: 0;
bottom: 0; bottom: 0;
} }
.time_line_item_wrapper { .time_line_item_wrapper {
width: calc(90rpx + 12rpx + 590rpx); width: calc(90rpx + 12rpx + 590rpx);
display: flex; display: flex;
justify-content: end; justify-content: end;
margin: 0 auto; margin: 0 auto;
position: relative; position: relative;
} }
.time_line_title_wrapper { .time_line_title_wrapper {
width: 180rpx; width: 180rpx;
height: 60rpx; height: 60rpx;
background: linear-gradient(90deg, #edf6f5 0%, #bbdfe1 99%); background: linear-gradient(90deg, #edf6f5 0%, #bbdfe1 99%);
@ -398,9 +404,9 @@ onShow(() => {
line-height: 60rpx; line-height: 60rpx;
margin-top: 26rpx; margin-top: 26rpx;
overflow: hidden; overflow: hidden;
} }
.time_line_wrapper { .time_line_wrapper {
width: 710rpx; width: 710rpx;
background: #ffffff; background: #ffffff;
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04); box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04);
@ -409,75 +415,75 @@ onShow(() => {
overflow: hidden; overflow: hidden;
position: relative; position: relative;
padding-bottom: 30rpx; padding-bottom: 30rpx;
} }
.tip_text_wrapper { .tip_text_wrapper {
font-weight: 400; font-weight: 400;
font-size: 22rpx; font-size: 22rpx;
color: #e95515; color: #e95515;
line-height: 36rpx; line-height: 36rpx;
margin-left: 10rpx; margin-left: 10rpx;
} }
.tip_icon_wrapper { .tip_icon_wrapper {
width: 24rpx; width: 24rpx;
height: 24rpx; height: 24rpx;
margin-top: 5rpx; margin-top: 5rpx;
} }
.tip_icon_wrapper image { .tip_icon_wrapper image {
width: 24rpx; width: 24rpx;
height: 24rpx; height: 24rpx;
display: block; display: block;
object-fit: contain; object-fit: contain;
} }
.tip_box_wrapper { .tip_box_wrapper {
display: flex; display: flex;
margin-top: 20rpx; margin-top: 20rpx;
} }
.tip_time_value_wrapper { .tip_time_value_wrapper {
font-size: 36rpx; font-size: 36rpx;
color: #239ea3; color: #239ea3;
margin: 0 10rpx; margin: 0 10rpx;
} }
.tip_time_text_wrapper { .tip_time_text_wrapper {
font-size: 22rpx; font-size: 22rpx;
color: #161616; color: #161616;
} }
.tip_time_wrapper { .tip_time_wrapper {
display: flex; display: flex;
align-items: end; align-items: end;
line-height: 1; line-height: 1;
} }
.tip_wrapper { .tip_wrapper {
width: 100%; width: 100%;
padding: 30rpx; padding: 30rpx;
padding-bottom: 0; padding-bottom: 0;
margin-top: 30rpx; margin-top: 30rpx;
border-top: 1rpx solid #e8e8e8; border-top: 1rpx solid #e8e8e8;
box-sizing: border-box; box-sizing: border-box;
} }
.info2_wrapper { .info2_wrapper {
margin-top: 30rpx; margin-top: 30rpx;
} }
.info_box_wrapper { .info_box_wrapper {
margin-top: 60rpx; margin-top: 60rpx;
margin-left: 29rpx; margin-left: 29rpx;
} }
.button_wrapper { .button_wrapper {
display: flex; display: flex;
justify-content: end; justify-content: end;
} }
.desc_wrapper { .desc_wrapper {
width: 160rpx; width: 160rpx;
height: 48rpx; height: 48rpx;
background: #239ea3; background: #239ea3;
@ -488,26 +494,26 @@ onShow(() => {
text-align: center; text-align: center;
margin-right: 29rpx; margin-right: 29rpx;
margin-top: 24rpx; margin-top: 24rpx;
} }
.info_wrapper { .info_wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.info_text_wrapper { .info_text_wrapper {
font-size: 24rpx; font-size: 24rpx;
color: #0f0f0f; color: #0f0f0f;
line-height: 1; line-height: 1;
} }
.info_title_wrapper { .info_title_wrapper {
font-size: 24rpx; font-size: 24rpx;
color: #8b8b8b; color: #8b8b8b;
line-height: 1; line-height: 1;
} }
.order_info_wrapper { .order_info_wrapper {
width: 710rpx; width: 710rpx;
/* height: 360rpx; */ /* height: 360rpx; */
background: #ffffff; background: #ffffff;
@ -516,68 +522,68 @@ onShow(() => {
margin: 20rpx auto 0; margin: 20rpx auto 0;
overflow: hidden; overflow: hidden;
padding-bottom: 40rpx; padding-bottom: 40rpx;
} }
.person_name_wrapper { .person_name_wrapper {
display: flex; display: flex;
align-items: end; align-items: end;
margin-top: 72rpx; margin-top: 72rpx;
margin-left: 29rpx; margin-left: 29rpx;
} }
.person_name_text_wrapper { .person_name_text_wrapper {
font-weight: bold; font-weight: bold;
font-size: 34rpx; font-size: 34rpx;
color: #171717; color: #171717;
} }
.person_sex_wrapper { .person_sex_wrapper {
font-size: 24rpx; font-size: 24rpx;
color: #7e7e7e; color: #7e7e7e;
margin-left: 15rpx; margin-left: 15rpx;
} }
.time_line_item-2_wrapper .time_line_item_time_value_wrapper, .time_line_item-2_wrapper .time_line_item_time_value_wrapper,
.time_line_item-1_wrapper .time_line_item_time_value_wrapper { .time_line_item-1_wrapper .time_line_item_time_value_wrapper {
background: #239ea3; background: #239ea3;
color: #f8f8f8; color: #f8f8f8;
} }
.time_line_item-2_wrapper .time_line_item_time_dot_wrapper, .time_line_item-2_wrapper .time_line_item_time_dot_wrapper,
.time_line_item-1_wrapper .time_line_item_time_dot_wrapper { .time_line_item-1_wrapper .time_line_item_time_dot_wrapper {
background: #239ea360; background: #239ea360;
} }
.time_line_item-2_wrapper .time_line_item_time_dot_in_wrapper, .time_line_item-2_wrapper .time_line_item_time_dot_in_wrapper,
.time_line_item-1_wrapper .time_line_item_time_dot_in_wrapper { .time_line_item-1_wrapper .time_line_item_time_dot_in_wrapper {
background: #239ea3; background: #239ea3;
} }
.time_line_item-2_wrapper .time_line_item_box_wrapper, .time_line_item-2_wrapper .time_line_item_box_wrapper,
.time_line_item-1_wrapper .time_line_item_box_wrapper { .time_line_item-1_wrapper .time_line_item_box_wrapper {
background: #6cafb230; background: #6cafb230;
color: #239ea3; color: #239ea3;
} }
.time_line_item--1_wrapper .time_line_item_time_value_wrapper { .time_line_item--1_wrapper .time_line_item_time_value_wrapper {
background: #239ea3; background: #239ea3;
color: #f8f8f8; color: #f8f8f8;
} }
.time_line_item--1_wrapper .time_line_item_time_dot_wrapper { .time_line_item--1_wrapper .time_line_item_time_dot_wrapper {
background: #239ea360; background: #239ea360;
} }
.time_line_item--1_wrapper .time_line_item_time_dot_in_wrapper { .time_line_item--1_wrapper .time_line_item_time_dot_in_wrapper {
background: #239ea3; background: #239ea3;
} }
.time_line_item--1_wrapper .time_line_item_box_wrapper { .time_line_item--1_wrapper .time_line_item_box_wrapper {
background: #e1af6830; background: #e1af6830;
color: #cc913e; color: #cc913e;
} }
.table_wrapper { .table_wrapper {
width: 100%; width: 100%;
background: #ffffff; background: #ffffff;
box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05); box-shadow: 0px 1rpx 1rpx 0px rgba(2, 2, 4, 0.05);
@ -585,10 +591,10 @@ onShow(() => {
margin-top: 15rpx; margin-top: 15rpx;
overflow: hidden; overflow: hidden;
padding-bottom: 34rpx; padding-bottom: 34rpx;
} }
.ckjg_active { .ckjg_active {
background: #239ea3; background: #239ea3;
color: #fff; color: #fff;
} }
</style> </style>
Loading…
Cancel
Save