1.增加回到首页按钮

2.预约时间默认选中第一个
3.体检引导心电图详情+弃检签名
wenjuan
刘佳宇 1 year ago
parent 8c996cb738
commit f0ef4c0ac7

@ -1,5 +1,6 @@
{ {
"dependencies": { "dependencies": {
"@uni-ui/code-ui": "^1.5.3",
"echarts": "^5.4.2", "echarts": "^5.4.2",
"weixin-js-sdk": "^1.6.5" "weixin-js-sdk": "^1.6.5"
}, },

@ -189,6 +189,18 @@
"navigationBarTitleText": "体检引导" "navigationBarTitleText": "体检引导"
} }
}, },
{
"path": "pages/user/fenzhen/xindiantu",
"style": {
"navigationBarTitleText": "体检引导"
}
},
{
"path": "pages/user/fenzhen/qijian",
"style": {
"navigationBarTitleText": "线上弃检"
}
},
{ {
"path": "pages/buy/contrast/contrast", "path": "pages/buy/contrast/contrast",
"style": { "style": {
@ -202,6 +214,9 @@
} }
} }
], ],
"easycom": {
"^w-(.*)": "@/uni_modules/wmf-code/components/w-$1/w-$1.vue"
},
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "white", "navigationBarTextStyle": "white",
"navigationBarTitleText": "海南现代妇女儿童医院", "navigationBarTitleText": "海南现代妇女儿童医院",

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -75,6 +76,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -172,6 +173,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -87,6 +88,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -0,0 +1,73 @@
<template>
<div
ref="button"
class="draggable-button"
@mousedown="dragButton"
@touchstart="dragButton"
>
<uni-icons @click="goHome" type="home" size="30" color="#fff"></uni-icons>
</div>
</template>
<script setup>
import { ref, onMounted, onBeforeUnmount } from "vue";
const button = ref(null);
let startX, startY, posX, posY, mouseMoveTracker, mouseUpTracker;
const goHome = () => {
console.log(11);
uni.reLaunch({ url: '/pages/main/index/index' })
};
const dragButton = (event) => {
// event.preventDefault();
//
startX = event.touches[0]?.clientX - button.value.offsetLeft;
startY = event.touches[0]?.clientY - button.value.offsetTop;
//
mouseMoveTracker = (event) => {
posX = event.touches[0]?.clientX - startX;
posY = event.touches[0]?.clientY - startY;
button.value.style.position = "absolute";
button.value.style.top = `${posY}px`;
button.value.style.left = `${posX}px`;
};
document.addEventListener("touchmove", mouseMoveTracker);
//
mouseUpTracker = () => {
document.removeEventListener("touchmove", mouseMoveTracker);
document.removeEventListener("touchend", mouseUpTracker);
};
document.addEventListener("touchend", mouseUpTracker);
};
onMounted(() => {
document.body.appendChild(button.value);
});
onBeforeUnmount(() => {
document.body.removeChild(button.value);
});
</script>
<style>
.draggable-button {
position: fixed;
cursor: pointer;
/* 其他样式 */
right: 20px;
top: 45%;
width: 100rpx;
height: 100rpx;
border-radius: 50%;
background-color: #cdcdcd;
display: flex;
justify-content: center;
align-items: center;
z-index: 900000;
}
</style>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* userbgcx * userbgcx
@ -91,6 +92,7 @@
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* userbgdb * userbgdb
@ -76,6 +77,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>
@ -193,7 +195,10 @@ onShow(() => {
</view> </view>
<view class="center text-#343434 items-stretch"> <view class="center text-#343434 items-stretch">
<view class="flex-1 mr-20rpx pt-20rpx"> <view class="flex-1 mr-20rpx pt-20rpx">
<view v-show="tabIndex == 0" class="whitespace-pre-wrap text-28rpx"> <view
v-show="tabIndex == 0"
class="whitespace-pre-wrap text-28rpx"
>
{{ item.r1?.content }} {{ item.r1?.content }}
</view> </view>
<view v-show="tabIndex == 1" class="text-center"> <view v-show="tabIndex == 1" class="text-center">
@ -210,7 +215,10 @@ onShow(() => {
</view> </view>
<view class="bg-#D2D2D2 w-1rpx mt-20rpx" /> <view class="bg-#D2D2D2 w-1rpx mt-20rpx" />
<view class="flex-1 ml-20rpx pt-20rpx"> <view class="flex-1 ml-20rpx pt-20rpx">
<view v-show="tabIndex == 0" class="whitespace-pre-wrap text-28rpx"> <view
v-show="tabIndex == 0"
class="whitespace-pre-wrap text-28rpx"
>
{{ item.r2?.content }} {{ item.r2?.content }}
</view> </view>
<view v-show="tabIndex == 1" class="text-center"> <view v-show="tabIndex == 1" class="text-center">

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* userxzbg * userxzbg
@ -65,6 +66,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -38,6 +39,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* userckbg * userckbg
@ -156,6 +157,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -44,6 +45,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -126,6 +127,7 @@ const GetGreySet = () => {
}; };
</script> </script>
<template> <template>
<DraggableButton />
<view class="pt-12rpx px-20rpx box-border"> <view class="pt-12rpx px-20rpx box-border">
<view <view
v-if="data_show" v-if="data_show"

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -277,6 +278,7 @@ const toRouter = () => {
}; };
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usertcdb * usertcdb
@ -66,6 +67,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -40,6 +41,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,6 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -58,6 +60,7 @@
} }
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view> <view>
<view> <view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -108,6 +109,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -100,6 +101,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!order_info" class="order_wrapper"> <view v-if="!!order_info" class="order_wrapper">
<view class="order_status_wrapper" :class="[`status${order_info.status}`]"> <view class="order_status_wrapper" :class="[`status${order_info.status}`]">

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -38,6 +39,7 @@ console.log(config_ref.value);
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usermyddc * usermyddc
@ -256,6 +257,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* userselectDoctor * userselectDoctor
@ -77,6 +78,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -88,6 +89,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -44,6 +45,7 @@ const toDetails = (type) => {
}; };
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -178,6 +179,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>
@ -528,7 +530,7 @@ onShow(() => {
<view class="grow"> <view class="grow">
<view class="flex items-end" v-if="comboId != 0"> <view class="flex items-end" v-if="comboId != 0">
<text class="text-18rpx text-#878787">套餐价格</text> <text class="text-18rpx text-#878787">套餐价格</text>
<text class="text-21rpx text-#ED6907 mx-20rpx" style="margin-left: 56rpx;" <text class="text-21rpx text-#ED6907 mx-20rpx ml-56rpx"
>¥ {{ comboInfo.price }}</text >¥ {{ comboInfo.price }}</text
> >
</view> </view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -265,6 +266,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* useryytjsj * useryytjsj
@ -186,6 +187,7 @@ const toRouter = (url, status) => {
}; };
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* useryytjsj * useryytjsj
@ -23,7 +24,7 @@ let groupInfo = ref({});
let comboInfo = ref({}); let comboInfo = ref({});
let itemsInfo = ref({}); let itemsInfo = ref({});
let truePrice = ref(0); // let truePrice = ref(0); //
let nmrIndex = ref(null); // let nmrIndex = ref(0); //
let time = ref(""); // let time = ref(""); //
let timeIndex = ref(null); // let timeIndex = ref(null); //
let status = ref(0); // 1 2 let status = ref(0); // 1 2
@ -72,6 +73,8 @@ const getnmrList = async () => {
id: "", id: "",
}); });
} }
console.log(yytjInfo.value.nmr_list[0]);
xmmcClick(yytjInfo.value.nmr_list[0], 0);
uni.hideLoading(); uni.hideLoading();
}); });
}; };
@ -224,6 +227,7 @@ onShow(() => {
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -56,6 +57,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -61,6 +62,7 @@
}) })
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -1,91 +1,84 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
* date2024年9月11日 19:24:50 * date2024年9月11日 19:24:50
*/ */
import { import { ref } from "vue";
ref import { $api, $response } from "@/api";
} from 'vue' import { onShow } from "@dcloudio/uni-app";
import { import { useStore } from "@/store";
$api, const $store = useStore();
$response
} from '@/api'
import {
onShow
} from '@dcloudio/uni-app'
import {
useStore
} from '@/store'
const $store = useStore()
const $props = defineProps({ 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,
}) });
uni.hideLoading() uni.hideLoading();
$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 = () => {
uni.navigateTo({ uni.navigateTo({
url: '/pages/user/fenzhen/xindiantu?id=' + $props.id url: "/pages/user/fenzhen/xindiantu?id=" + $props.id,
}) });
} };
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();
$response(response, () => { $response(response, () => {
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();
}
} }
};
onShow(() => { onShow(() => {
if (!!config_ref.value) { if (!!config_ref.value) {
mountedAction() mountedAction();
} }
}) });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>
@ -99,19 +92,38 @@
</view> </view>
</view> </view>
<view v-if="!!fenzhen_list"> <view v-if="!!fenzhen_list">
<view class="order_info_wrapper"> <view
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"
:options="{
level: 4,
size: 130,
code: fenzhen_list.info.qrcode,
}"
></w-qrcode>
<view class="person_name_wrapper"> <view class="person_name_wrapper">
<view class="person_name_text_wrapper">{{ fenzhen_list.info.name }}</view> <view class="person_name_text_wrapper">{{
<view class="person_sex_wrapper">{{ fenzhen_list.info.sex === 1 ? '男士' : '女士' }}</view> fenzhen_list.info.name
}}</view>
<view class="person_sex_wrapper">{{
fenzhen_list.info.sex === 1 ? "男士" : "女士"
}}</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">{{ fenzhen_list.info.combo_name }}</view> <view class="info_text_wrapper">{{
fenzhen_list.info.combo_name
}}</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">{{ fenzhen_list.info.check_date }}</view> <view class="info_text_wrapper">{{
fenzhen_list.info.check_date
}}</view>
</view> </view>
</view> </view>
<view class="button_wrapper"> <view class="button_wrapper">
@ -121,41 +133,72 @@
<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">{{ timeShow(fenzhen_list.info.start_time) }}</view> <view class="tip_time_value_wrapper">{{
timeShow(fenzhen_list.info.start_time)
}}</view>
<view class="tip_time_text_wrapper"> 预计结束时间</view> <view class="tip_time_text_wrapper"> 预计结束时间</view>
<view class="tip_time_value_wrapper">{{ timeShow(fenzhen_list.info.end_time) }}</view> <view class="tip_time_value_wrapper">{{
timeShow(fenzhen_list.info.end_time)
}}</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> <view class="tip_text_wrapper"
>尊敬的客户为了使您的体检流程更加顺畅请按以下步骤提
示顺序逐项完成体检</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 class="time_line_item_wrapper" :class="[ <view
`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">{{ i.time }}</view> <view v-if="!!i.time" class="time_line_item_time_value_wrapper">{{
i.time
}}</view>
<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 v-if="!!i.time" class="time_line_item_time_line_wrapper"></view> <view
<view v-if="!i.time" class="time_line_item_time_cover_wrapper"></view> v-if="!!i.time"
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">{{ k + 1 }}.{{ i.name }}</view> <view class="time_line_item_title_wrapper"
>{{ 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 v-if="!!i.time && !!i.tip" class="time_line_item_line_wrapper"></view> <view
<view v-if="!!i.time && !!i.tip" class="time_line_item_flex_wrapper"> v-if="!!i.time && !!i.tip"
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 v-if="i.more > 0" class="time_line_item_more_wrapper" @click="toRouter()">>></view> <view
v-if="i.more > 0"
class="time_line_item_more_wrapper"
@click="toRouter()"
>查看详情>></view
>
</view> </view>
</view> </view>
</view> </view>
@ -200,7 +243,7 @@
.tip_dialog_box_wrapper { .tip_dialog_box_wrapper {
position: absolute; position: absolute;
width: 610rpx; width: 610rpx;
background: #FFFFFF; background: #ffffff;
border-radius: 15rpx; border-radius: 15rpx;
padding-left: 50rpx; padding-left: 50rpx;
padding-right: 50rpx; padding-right: 50rpx;
@ -213,7 +256,7 @@
.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;
@ -222,7 +265,7 @@
.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;
} }
@ -230,7 +273,7 @@
.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;
} }
@ -238,11 +281,11 @@
.time_line_item_box_wrapper { .time_line_item_box_wrapper {
width: 400rpx; width: 400rpx;
height: 40rpx; height: 40rpx;
background: #5A75CA30; background: #5a75ca30;
border-radius: 5rpx; border-radius: 5rpx;
font-weight: 500; font-weight: 500;
font-size: 24rpx; font-size: 24rpx;
color: #5A75CA; color: #5a75ca;
line-height: 40rpx; line-height: 40rpx;
text-align: center; text-align: center;
margin-right: 17rpx; margin-right: 17rpx;
@ -252,7 +295,7 @@
width: 140rpx; width: 140rpx;
font-weight: bold; font-weight: bold;
font-size: 28rpx; font-size: 28rpx;
color: #0D0D0D; color: #0d0d0d;
line-height: 40rpx; line-height: 40rpx;
height: 40rpx; height: 40rpx;
margin-left: 22rpx; margin-left: 22rpx;
@ -282,7 +325,7 @@
top: 0; top: 0;
bottom: 0; bottom: 0;
left: 50%; left: 50%;
background: #DEDEDE; background: #dedede;
transform: translateX(-50%); transform: translateX(-50%);
} }
@ -290,7 +333,7 @@
position: absolute; position: absolute;
width: 16rpx; width: 16rpx;
height: 16rpx; height: 16rpx;
background: #CFCECE60; background: #cfcece60;
border-radius: 50%; border-radius: 50%;
left: 50%; left: 50%;
top: 50%; top: 50%;
@ -301,7 +344,7 @@
.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;
border-radius: 50%; border-radius: 50%;
position: absolute; position: absolute;
left: 50%; left: 50%;
@ -316,9 +359,9 @@
.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;
border-bottom: 1rpx #E8E8E8 solid; border-bottom: 1rpx #e8e8e8 solid;
background: #F8F8F8; background: #f8f8f8;
position: absolute; position: absolute;
top: 50%; top: 50%;
left: -10rpx; left: -10rpx;
@ -327,11 +370,11 @@
.time_line_item_content_wrapper { .time_line_item_content_wrapper {
width: 590rpx; width: 590rpx;
background: #F8F8F8; background: #f8f8f8;
border-radius: 5rpx; border-radius: 5rpx;
margin-left: 12rpx; margin-left: 12rpx;
position: relative; position: relative;
border: 1rpx #E8E8E8 solid; border: 1rpx #e8e8e8 solid;
margin-top: 36rpx; margin-top: 36rpx;
padding-bottom: 15rpx; padding-bottom: 15rpx;
} }
@ -339,7 +382,7 @@
.time_line_item_time_value_wrapper { .time_line_item_time_value_wrapper {
width: 90rpx; width: 90rpx;
height: 55rpx; height: 55rpx;
background: #E4E4E4; background: #e4e4e4;
border-radius: 28rpx; border-radius: 28rpx;
font-weight: 500; font-weight: 500;
font-size: 28rpx; font-size: 28rpx;
@ -370,7 +413,7 @@
.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%);
border-radius: 0rpx 30rpx 30rpx 0rpx; border-radius: 0rpx 30rpx 30rpx 0rpx;
font-weight: bold; font-weight: bold;
font-size: 25rpx; font-size: 25rpx;
@ -383,7 +426,7 @@
.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);
border-radius: 15rpx; border-radius: 15rpx;
margin: 53rpx auto 0; margin: 53rpx auto 0;
@ -395,7 +438,7 @@
.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;
} }
@ -420,7 +463,7 @@
.tip_time_value_wrapper { .tip_time_value_wrapper {
font-size: 36rpx; font-size: 36rpx;
color: #239EA3; color: #239ea3;
margin: 0 10rpx; margin: 0 10rpx;
} }
@ -457,10 +500,10 @@
.desc_wrapper { .desc_wrapper {
width: 160rpx; width: 160rpx;
height: 48rpx; height: 48rpx;
background: #239EA3; background: #239ea3;
border-radius: 5rpx; border-radius: 5rpx;
font-size: 20rpx; font-size: 20rpx;
color: #FFFFFF; color: #ffffff;
line-height: 48rpx; line-height: 48rpx;
text-align: center; text-align: center;
margin-right: 29rpx; margin-right: 29rpx;
@ -474,20 +517,20 @@
.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;
box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04); box-shadow: 0rpx 0rpx 10rpx 0rpx rgba(0, 0, 0, 0.04);
border-radius: 15rpx; border-radius: 15rpx;
margin: 20rpx auto 0; margin: 20rpx auto 0;
@ -509,47 +552,47 @@
.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>

@ -0,0 +1,187 @@
<template>
<view class="p-20rpx w-full h-[calc(100vh-88rpx)] box-border bg-#fff">
<view class="canvasBox">
<!-- <view class="title">请在下面输入签名</view> -->
<canvas
class="mycanvas"
id="myCanvas"
canvas-id="mycanvas"
@touchstart="touchstart"
@touchmove="touchmove"
@touchend="touchend"
></canvas>
</view>
<view class="footer">
<view class="left" @click="clear"></view>
<view class="right" @click="finish"></view>
</view>
</view>
</template>
<script>
// var x = 20;
// var y = 20;
import { $api, $response } from "@/api";
export default {
data() {
return {
ctx: "", //
points: [], //
};
},
mounted() {
var canvas = document.getElementById("myCanvas");
console.log(canvas.offsetWidth);
console.log(canvas.offsetHeight);
this.ctx = uni.createCanvasContext("mycanvas", this); //
//
this.ctx.lineWidth = 4;
this.ctx.lineCap = "round";
this.ctx.lineJoin = "round";
canvas.width = canvas.offsetWidth;
canvas.height = canvas.offsetHeight;
},
methods: {
//
touchstart: function (e) {
let startX = e.changedTouches[0].x;
let startY = e.changedTouches[0].y;
let startPoint = { X: startX, Y: startY };
this.points.push(startPoint);
//
this.ctx.beginPath();
},
//
touchmove: function (e) {
let moveX = e.changedTouches[0].x;
let moveY = e.changedTouches[0].y;
let movePoint = { X: moveX, Y: moveY };
this.points.push(movePoint); //
let len = this.points.length;
if (len >= 2) {
this.draw(); //
}
},
//
touchend: function () {
this.points = [];
},
/* ***********************************************
# 绘制笔迹
# 1.为保证笔迹实时显示必须在移动的同时绘制笔迹
# 2.为保证笔迹连续每次从路径集合中区两个点作为起点moveTo和终点(lineTo)
# 3.将上一次的终点作为下一次绘制的起点即清除第一个点
************************************************ */
draw: function () {
let point1 = this.points[0];
let point2 = this.points[1];
this.points.shift();
this.ctx.moveTo(point1.X, point1.Y);
this.ctx.lineTo(point2.X, point2.Y);
this.ctx.stroke();
this.ctx.draw(true);
},
//
clear: function () {
let that = this;
uni.getSystemInfo({
success: function (res) {
let canvasw = res.windowWidth;
let canvash = res.windowHeight;
that.ctx.clearRect(0, 0, canvasw, canvash);
that.ctx.draw(true);
},
});
},
//
finish: function () {
uni.showLoading({
title: "加载中...",
});
uni.canvasToTempFilePath({
canvasId: "mycanvas",
success: async function (res) {
let path = res.tempFilePath;
console.log(path);
let obj = {
path,
};
const response = await $api("FenzhenAbandon", obj);
$response(response, () => {
if (response.status) {
uni.showToast({
title: response.msg,
icon: "success",
success: function () {
let time = setTimeout(() => {
clearTimeout(time);
uni.navigateBack();
}, 1000);
},
});
}
uni.hideLoading();
});
},
});
},
},
};
</script>
<style>
.title {
height: 50rpx;
line-height: 50rpx;
font-size: 16px;
}
.mycanvas {
width: 100%;
height: 100%;
background-color: #ffffff;
}
.footer {
font-size: 16px;
height: 150rpx;
display: flex;
justify-content: space-around;
align-items: center;
}
.right {
width: 280rpx;
height: 75rpx;
background: #239ea3;
border-radius: 10rpx;
font-size: 30rpx;
color: #ffffff;
display: flex;
justify-content: center;
align-items: center;
}
.left {
width: 280rpx;
height: 75rpx;
background: #faece6;
border-radius: 10rpx;
font-size: 30rpx;
color: #e95515;
display: flex;
justify-content: center;
align-items: center;
}
.canvasBox {
height: calc(100vh - 300rpx);
box-sizing: border-box;
background: #ffffff;
border-radius: 5rpx;
border: 1px solid rgba(35, 158, 163, 0.48);
}
</style>

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

@ -1,4 +1,5 @@
<script setup> <script setup>
import DraggableButton from "@/pages/components/goHome.vue";
/** /**
* name * name
* usersa0ChunLuyu * usersa0ChunLuyu
@ -74,6 +75,7 @@
}); });
</script> </script>
<template> <template>
<DraggableButton />
<view> <view>
<view v-if="!!$store.config"> <view v-if="!!$store.config">
<view :ref="configRef"></view> <view :ref="configRef"></view>

@ -4,6 +4,9 @@ import Unocss from 'unocss/vite'
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig({ export default defineConfig({
transpileDependencies: [
/[/\\]node_modules[/\\](.+?)?@uni-ui(.*)[/\\]code-plugs/
],
plugins: [ plugins: [
uni(), uni(),
// https://github.com/antfu/unocss // https://github.com/antfu/unocss

Loading…
Cancel
Save