This commit is contained in:
Teng 2025-03-27 17:32:12 +08:00
parent fa4bc8bf0c
commit 603bbbe952
13 changed files with 3112 additions and 2685 deletions

View File

@ -0,0 +1,80 @@
<template>
<view>
<!-- 遮罩层 -->
<view v-if="isVisible" class="overlay" @click="closeDrawer"></view>
<!-- 抽屉 -->
<view :class="['drawer', { 'drawer-open': isVisible }]">
<view class="drawer-content">
<!-- 抽屉内容 -->
<slot />
</view>
</view>
</view>
</template>
<script setup>
import {
ref
} from 'vue';
const isVisible = ref(false);
//
const openDrawer = () => {
isVisible.value = true;
};
//
const closeDrawer = () => {
isVisible.value = false;
};
//
defineExpose({
openDrawer,
closeDrawer,
});
</script>
<style scoped>
/* 遮罩层样式 */
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
/* 确保遮罩层在抽屉下方 */
}
/* 抽屉样式 */
.drawer {
position: fixed;
top: 0;
right: -80%;
width: 80%;
height: 100vh;
background: #fff;
z-index: 1000;
/* 确保抽屉在遮罩层上方 */
transition: right 0.5s ease;
border-top-left-radius: 80rpx;
/* 设置左上角的圆角半径 */
border-bottom-left-radius: 80rpx;
/* overflow: hidden; */
/* 设置左下角的圆角半径 */
}
/* 抽屉打开时的样式 */
.drawer-open {
right: 0;
}
/* 抽屉内容样式 */
.drawer-content {
/* padding: 20px; */
/* overflow: hidden; */
}
</style>

View File

@ -1,160 +0,0 @@
<!-- 左侧菜单提取已废弃保留一下待用 -->
<!-- <template>
<view class="left-container">
<view class="left-head">
<image class="left-head-img" src="/static/index/oldman.png" />
<text :class="darkFans?`left-head-font-dark`:`left-head-font`">
王金凤
</text>
</view>
<view class="left-img-container">
<view v-for="(item,index) in iconList" :key="index" class="blue-circle-pos" >
<view class="blue-circle" v-show="index == menuIndex">
<image class="blue-circle-size" :src="`/static/index/ray.png`" />
</view>
<image class="left-img" :src="index == menuIndex ? item.targetUrl : item.url"
@click="jumpTonew(item.path)" />
</view>
</view>
</view>
</template>
<script setup>
import {
defineProps,
defineEmits,
ref
} from 'vue';
// Props
const props = defineProps({
darkFans: {
type: Boolean,
default: false
},
menuIndex: {
type: Number,
default: 0
},
});
//
const emit = defineEmits(['click']);
//
const iconList = ref([{
url: '/static/index/lefticon/index.png',
targetUrl: '/static/index/lefticontarget/blueindex.png',
path: `/pages/index/index`
},
{
url: '/static/index/lefticon/nurse.png',
targetUrl: '/static/index/lefticontarget/bluenurse.png',
path: `/pages/doctorsay/index`
},
{
url: '/static/index/lefticon/doctor.png',
targetUrl: '/static/index/lefticontarget/bluedoctor.png',
path: ''
},
{
url: '/static/index/lefticon/give.png',
targetUrl: '/static/index/lefticontarget/givedark.png',
path: ''
},
{
url: '/static/index/lefticon/wifi.png',
targetUrl: '/static/index/lefticontarget/bluewifi.png',
path: ''
},
{
url: '/static/index/lefticon/back.png',
targetUrl: '/static/index/lefticontarget/blueback.png',
path: ''
}
]);
const handleClick = () => {
emit('click'); //
};
//
const jumpTonew = (path) => {
const pages = getCurrentPages(); //
if (pages.length === 0) return; //
const currentPage = pages[pages.length - 1]; //
const currentPath = '/' + currentPage.route; // /
if ((currentPath !== path) && path) {
uni.redirectTo({
url: path,
animationType: 'none', //
animationDuration: 0 // 0
});
}
}
</script>
<style scoped lang="less">
.left-container {
width: 235rpx;
height: 100%;
.blue-circle-pos {
position: relative;
.blue-circle {
position: absolute;
top: -50rpx;
left: -68rpx;
.blue-circle-size {
width: 170rpx;
height: 250rpx;
}
}
}
.left-head {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
.left-head-img {
width: 150rpx;
height: 150rpx;
margin-top: 60rpx;
}
.left-head-font {
font-weight: 700;
font-size: 40rpx;
}
.left-head-font-dark {
font-weight: 700;
font-size: 40rpx;
background: linear-gradient(to right, #EBF4FF, #ADC4E0);
-webkit-background-clip: text;
color: transparent;
}
}
.left-img-container {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
// margin-top: 30rpx;
.left-img {
width: 93rpx;
height: 93rpx;
// margin-top: 25rpx;
// margin-bottom: 25rpx;
margin: 50rpx 0;
z-index: 100;
}
}
}
</style> -->

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,13 @@
// 引入 request 文件
import request from '@/utils/request.js'
// 以下 api 为博主项目示例,实际与项目相匹配
// 分页查询学习列表
export const pageStudyInfo = (params) => {
return request({
url: '/study/studyInfo/page',
method: 'get',
data: params
})
}

View File

@ -393,6 +393,7 @@
import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, defineEmits, watch } from 'vue'; import { ref, onMounted, onBeforeUnmount, computed, nextTick, defineProps, defineEmits, watch } from 'vue';
import { onShow, onHide } from '@dcloudio/uni-app'; import { onShow, onHide } from '@dcloudio/uni-app';
import type { roomBtttonType } from "./index"; import type { roomBtttonType } from "./index";
import {pageStudyInfo} from "./api.js";
const props = defineProps({ const props = defineProps({
isshow: { isshow: {
@ -423,19 +424,6 @@
bottomisShaking.value = false bottomisShaking.value = false
shakyTable.value = false shakyTable.value = false
}) })
// watch(
// () => props.liang.index1,
// () => {
// if (props.liang.index1 != 999) {
// saveBoomName.value = timearr.value[0].children[props.liang.index1].serve ? timearr.value[0].children[props.liang.index1].serve : "";
// reldata.value.find(item => {
// if (item.dataset.index0 === props.liang.index0 && item.dataset.index1 === props.liang.index1) {
// saveBoomTop.value = Math.floor(item.top)
// }
// })
// }
// }
// )
onMounted(() => { onMounted(() => {
downList.value = bigArray[0].data downList.value = bigArray[0].data
}) })
@ -2628,9 +2616,9 @@
width: 800rpx; width: 800rpx;
height: 500rpx; height: 500rpx;
background: url("/static/index/lightbgcnew.png") center/cover, rgba(255, 255, 255, 0.7); background: url("/static/index/lightbgcnew.png") center/cover, rgba(255, 255, 255, 0.7);
background-blend-mode: screen;
border: 2rpx solid #fff; border: 2rpx solid #fff;
/* 使用 screen 混合模式,让图像与白色混合变淡 */ /* 使用 screen 混合模式,让图像与白色混合变淡 */
background-blend-mode: screen;
border-radius: 30rpx; border-radius: 30rpx;
box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1); box-shadow: 10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1);
transition: opacity 0.4s ease; transition: opacity 0.4s ease;

View File

@ -22,7 +22,9 @@
"delay" : 0 "delay" : 0
}, },
/* */ /* */
"modules" : {}, "modules" : {
"Share" : {}
},
/* */ /* */
"distribute" : { "distribute" : {
/* android */ /* android */
@ -51,7 +53,14 @@
"dSYMs" : false "dSYMs" : false
}, },
/* SDK */ /* SDK */
"sdkConfigs" : {} "sdkConfigs" : {
"share" : {
"weixin" : {
"appid" : "",
"UniversalLinks" : ""
}
}
}
} }
}, },
/* */ /* */

0
pages/index/index.css Normal file
View File

View File

@ -73,7 +73,7 @@
]); ]);
// //
const menuIndex = ref<number>(1); const menuIndex = ref<number>(0);
const menuIndexshow = ref<boolean>(false); const menuIndexshow = ref<boolean>(false);
const menuIndexshowsecond = ref<boolean>(false); const menuIndexshowsecond = ref<boolean>(false);
// //
@ -144,7 +144,6 @@
const { index0, index1 } = clickedItem.dataset; const { index0, index1 } = clickedItem.dataset;
indexNumber.value.index0 = index0 indexNumber.value.index0 = index0
indexNumber.value.index1 = index1 indexNumber.value.index1 = index1
// console.log("????",indexNumber.value.index0 ,indexNumber.value.index1)
if (clientX.value > 2050 && canTrigger.value) { if (clientX.value > 2050 && canTrigger.value) {
ruler.value?.nextItems(); ruler.value?.nextItems();
canTrigger.value = false; canTrigger.value = false;

View File

@ -47,6 +47,58 @@ if (uni.restoreGlobal) {
const onShow = /* @__PURE__ */ createHook(ON_SHOW); const onShow = /* @__PURE__ */ createHook(ON_SHOW);
const onHide = /* @__PURE__ */ createHook(ON_HIDE); const onHide = /* @__PURE__ */ createHook(ON_HIDE);
const onLoad = /* @__PURE__ */ createHook(ON_LOAD); const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
const _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
const _sfc_main$6 = {
__name: "Drawer",
setup(__props, { expose: __expose }) {
const isVisible = vue.ref(false);
const openDrawer = () => {
isVisible.value = true;
};
const closeDrawer = () => {
isVisible.value = false;
};
__expose({
openDrawer,
closeDrawer
});
const __returned__ = { isVisible, openDrawer, closeDrawer, ref: vue.ref };
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
return __returned__;
}
};
function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("view", null, [
vue.createCommentVNode(" 遮罩层 "),
$setup.isVisible ? (vue.openBlock(), vue.createElementBlock("view", {
key: 0,
class: "overlay",
onClick: $setup.closeDrawer
})) : vue.createCommentVNode("v-if", true),
vue.createCommentVNode(" 抽屉 "),
vue.createElementVNode(
"view",
{
class: vue.normalizeClass(["drawer", { "drawer-open": $setup.isVisible }])
},
[
vue.createElementVNode("view", { class: "drawer-content" }, [
vue.createCommentVNode(" 抽屉内容 "),
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
])
],
2
/* CLASS */
)
]);
}
const Drawer = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render$5], ["__scopeId", "data-v-40fcca19"], ["__file", "D:/hldy_app/component/public/Drawer.vue"]]);
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
__name: "index", __name: "index",
props: { props: {
@ -62,24 +114,31 @@ if (uni.restoreGlobal) {
emits: ["darkchange"], emits: ["darkchange"],
setup(__props, { expose: __expose, emit: __emit }) { setup(__props, { expose: __expose, emit: __emit }) {
__expose(); __expose();
const drawer = vue.ref(null);
const circles = [
{ label: "指令" },
{ label: "转单" },
{ label: "完成" }
];
const lineWidth = vue.computed(() => {
switch (circlesNumber.value) {
case 0:
return "0";
case 1:
return "calc(100% - 600rpx)";
case 2:
return "calc(100% - 120rpx)";
default:
return "100%";
}
});
const circlesNumber = vue.ref(0);
const props = __props; const props = __props;
const isPopupVisible = vue.ref(false); const isPopupVisible = vue.ref(false);
const widthCom = vue.ref(1320);
const heightCom = vue.ref(540);
const topCom = vue.ref(145);
const leftCom = vue.ref(233);
const isPopupVisiblefiropen = vue.ref(false); const isPopupVisiblefiropen = vue.ref(false);
const isPopupVisiblesec = vue.ref(false); const isPopupVisiblesec = vue.ref(false);
const widthComsec = vue.ref(1150);
const heightComsec = vue.ref(630);
const topComsec = vue.ref(630);
const leftComsec = vue.ref(233);
const isPopupVisiblefiropensec = vue.ref(false); const isPopupVisiblefiropensec = vue.ref(false);
const isPopupVisiblethi = vue.ref(false); const isPopupVisiblethi = vue.ref(false);
const widthComthi = vue.ref(880);
const heightComthi = vue.ref(630);
const topComthi = vue.ref(730);
const leftComthi = vue.ref(1420);
const isPopupVisiblefiropenthi = vue.ref(false); const isPopupVisiblefiropenthi = vue.ref(false);
const currentTime = vue.ref(""); const currentTime = vue.ref("");
const fullDate = vue.ref(""); const fullDate = vue.ref("");
@ -200,8 +259,6 @@ if (uni.restoreGlobal) {
isPopupVisiblefiropen.value = false; isPopupVisiblefiropen.value = false;
}, 500); }, 500);
}; };
const closePopup = () => {
};
const showPopupsec = () => { const showPopupsec = () => {
isPopupVisiblesec.value = !isPopupVisiblesec.value; isPopupVisiblesec.value = !isPopupVisiblesec.value;
isPopupVisible.value = false; isPopupVisible.value = false;
@ -221,6 +278,9 @@ if (uni.restoreGlobal) {
}, 500); }, 500);
}; };
let timerId = null; let timerId = null;
const openhuliList = (index) => {
drawer.value.openDrawer();
};
vue.onMounted(() => { vue.onMounted(() => {
timerId = updateTime(); timerId = updateTime();
setInterval(updateTime, 1e3); setInterval(updateTime, 1e3);
@ -228,24 +288,17 @@ if (uni.restoreGlobal) {
vue.onBeforeUnmount(() => { vue.onBeforeUnmount(() => {
clearInterval(timerId); clearInterval(timerId);
}); });
const __returned__ = { props, isPopupVisible, widthCom, heightCom, topCom, leftCom, isPopupVisiblefiropen, isPopupVisiblesec, widthComsec, heightComsec, topComsec, leftComsec, isPopupVisiblefiropensec, isPopupVisiblethi, widthComthi, heightComthi, topComthi, leftComthi, isPopupVisiblefiropenthi, currentTime, fullDate, weekDay, undericonList, huliList, huliListDark, mediumList, mediumListdark, roomBtttonList, roomBtttonListdark, menuIndex, undermenuIndex, underFans, roomTar, firstcurrentIndex, firstcurrentIndexup, secondcurrentIndexup, secondcurrentIndex, thirdcurrentIndex, emit, darkFanschange, changeMenu, changeMenuUnder, saveItem, updateTime, onSwiperChange, onSwiperChangesec, jumpTonew, showPopup, closePopup, showPopupsec, showPopupthi, get timerId() { const __returned__ = { drawer, circles, lineWidth, circlesNumber, props, isPopupVisible, isPopupVisiblefiropen, isPopupVisiblesec, isPopupVisiblefiropensec, isPopupVisiblethi, isPopupVisiblefiropenthi, currentTime, fullDate, weekDay, undericonList, huliList, huliListDark, mediumList, mediumListdark, roomBtttonList, roomBtttonListdark, menuIndex, undermenuIndex, underFans, roomTar, firstcurrentIndex, firstcurrentIndexup, secondcurrentIndexup, secondcurrentIndex, thirdcurrentIndex, emit, darkFanschange, changeMenu, changeMenuUnder, saveItem, updateTime, onSwiperChange, onSwiperChangesec, jumpTonew, showPopup, showPopupsec, showPopupthi, get timerId() {
return timerId; return timerId;
}, set timerId(v) { }, set timerId(v) {
timerId = v; timerId = v;
} }; }, openhuliList, Drawer };
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
return __returned__; return __returned__;
} }
}); });
const _imports_0$2 = "/static/index/customer.png"; const _imports_0$2 = "/static/index/customer.png";
const _imports_1$1 = "/static/index/undericons/upguang.png"; const _imports_1$1 = "/static/index/undericons/upguang.png";
const _export_sfc = (sfc, props) => {
const target = sfc.__vccOpts || sfc;
for (const [key, val] of props) {
target[key] = val;
}
return target;
};
function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) { function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock( return vue.openBlock(), vue.createElementBlock(
"view", "view",
@ -569,7 +622,8 @@ if (uni.restoreGlobal) {
vue.renderList($setup.huliList, (item, index) => { vue.renderList($setup.huliList, (item, index) => {
return vue.openBlock(), vue.createElementBlock("view", { return vue.openBlock(), vue.createElementBlock("view", {
key: index, key: index,
class: "right-huli-view-dis" class: "right-huli-view-dis",
onClick: ($event) => $setup.openhuliList(index)
}, [ }, [
vue.createElementVNode("image", { vue.createElementVNode("image", {
class: "right-huli-img", class: "right-huli-img",
@ -582,7 +636,7 @@ if (uni.restoreGlobal) {
1 1
/* TEXT */ /* TEXT */
) )
]); ], 8, ["onClick"]);
}), }),
128 128
/* KEYED_FRAGMENT */ /* KEYED_FRAGMENT */
@ -1355,7 +1409,76 @@ if (uni.restoreGlobal) {
/* KEYED_FRAGMENT */ /* KEYED_FRAGMENT */
)) ))
]) ])
]),
vue.createVNode(
$setup["Drawer"],
{ ref: "drawer" },
{
default: vue.withCtx(() => [
vue.createElementVNode("view", { class: "draw-all" }, [
vue.createElementVNode("view", { class: "draw-title" }, [
vue.createElementVNode("view", { class: "draw-title-gun" }),
vue.createElementVNode("view", { class: "draw-title-font" }, "转单执行")
]),
vue.createElementVNode("view", { class: "draw-contain" }, [
vue.createElementVNode("view", { class: "container-father" }, [
vue.createElementVNode("view", { class: "draw-contain-white-sha" }),
vue.createElementVNode("view", { class: "container" }, [
vue.createElementVNode(
"div",
{
class: "line",
style: vue.normalizeStyle({ width: $setup.lineWidth })
},
null,
4
/* STYLE */
),
vue.createElementVNode("div", { class: "line-gray" }),
(vue.openBlock(), vue.createElementBlock(
vue.Fragment,
null,
vue.renderList($setup.circles, (item, index) => {
return vue.createElementVNode("div", {
key: index,
class: vue.normalizeClass($setup.circlesNumber >= index ? `outer-circle-target` : `outer-circle`),
onClick: ($event) => $setup.circlesNumber = index
}, [
vue.createElementVNode(
"div",
{
class: vue.normalizeClass($setup.circlesNumber >= index ? `inner-circle-target` : `inner-circle`)
},
[
vue.createElementVNode(
"span",
null,
vue.toDisplayString(item.label),
1
/* TEXT */
)
],
2
/* CLASS */
)
], 10, ["onClick"]);
}),
64
/* STABLE_FRAGMENT */
))
]),
vue.createElementVNode("view", { class: "draw-contain-gray" }),
vue.createElementVNode("view", { class: "draw-contain-white" })
]) ])
])
])
]),
_: 1
/* STABLE */
},
512
/* NEED_PATCH */
)
], ],
4 4
/* STYLE */ /* STYLE */
@ -3788,7 +3911,7 @@ if (uni.restoreGlobal) {
{ url: "/static/index/lefticon/wifi.png", targetUrl: "/static/index/lefticontarget/bluewifi.png" }, { url: "/static/index/lefticon/wifi.png", targetUrl: "/static/index/lefticontarget/bluewifi.png" },
{ url: "/static/index/lefticon/back.png", targetUrl: "/static/index/lefticontarget/blueback.png" } { url: "/static/index/lefticon/back.png", targetUrl: "/static/index/lefticontarget/blueback.png" }
]); ]);
const menuIndex = vue.ref(1); const menuIndex = vue.ref(0);
const menuIndexshow = vue.ref(false); const menuIndexshow = vue.ref(false);
const menuIndexshowsecond = vue.ref(false); const menuIndexshowsecond = vue.ref(false);
const darkFans = vue.ref(false); const darkFans = vue.ref(false);
@ -3871,7 +3994,7 @@ if (uni.restoreGlobal) {
}; };
const changefangkuang = (fangkuang) => { const changefangkuang = (fangkuang) => {
fangkuaiValue.value = fangkuang; fangkuaiValue.value = fangkuang;
formatAppLog("log", "at pages/index/index.vue:172", "!!!!", fangkuaiValue.value); formatAppLog("log", "at pages/index/index.vue:171", "!!!!", fangkuaiValue.value);
}; };
const saveruler = vue.ref({}); const saveruler = vue.ref({});
const openruler = (res, fangkuai) => { const openruler = (res, fangkuai) => {

View File

@ -17,6 +17,7 @@
"url": "" "url": ""
}, },
"permissions": { "permissions": {
"Share": {},
"UniNView": { "UniNView": {
"description": "UniNView原生渲染" "description": "UniNView原生渲染"
} }
@ -70,6 +71,12 @@
"dSYMs": false "dSYMs": false
}, },
"plugins": { "plugins": {
"share": {
"weixin": {
"appid": "",
"UniversalLinks": ""
}
},
"audio": { "audio": {
"mp3": { "mp3": {
"description": "Android平台录音支持MP3格式文件" "description": "Android平台录音支持MP3格式文件"

View File

@ -1,3 +1,45 @@
/* 遮罩层样式 */
.overlay[data-v-40fcca19] {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: rgba(0, 0, 0, 0.5);
z-index: 999;
/* 确保遮罩层在抽屉下方 */
}
/* 抽屉样式 */
.drawer[data-v-40fcca19] {
position: fixed;
top: 0;
right: -80%;
width: 80%;
height: 100vh;
background: #fff;
z-index: 1000;
/* 确保抽屉在遮罩层上方 */
transition: right 0.5s ease;
border-top-left-radius: 2.5rem;
/* 设置左上角的圆角半径 */
border-bottom-left-radius: 2.5rem;
/* overflow: hidden; */
/* 设置左下角的圆角半径 */
}
/* 抽屉打开时的样式 */
.drawer-open[data-v-40fcca19] {
right: 0;
}
/* 抽屉内容样式 */
.drawer-content[data-v-40fcca19] {
/* padding: 20px; */
/* overflow: hidden; */
}
.right-container[data-v-9f74ebdb] { .right-container[data-v-9f74ebdb] {
width: calc(100% - 7.34375rem); width: calc(100% - 7.34375rem);
height: 100vh; height: 100vh;
@ -1612,9 +1654,6 @@
height: 4.6875rem; height: 4.6875rem;
/* 高度占满父容器 */ /* 高度占满父容器 */
background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, #92a7c5 50%, rgba(0, 0, 0, 0) 100%); background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, #92a7c5 50%, rgba(0, 0, 0, 0) 100%);
/* 上面到下面的渐变效果
- 从透明到黑色再从黑色到透明
- 渐变的范围50%处为渐变的中心顶部和底部是透明的 */
} }
.split-line-white-sec[data-v-9f74ebdb] { .split-line-white-sec[data-v-9f74ebdb] {
width: 0.0625rem; width: 0.0625rem;
@ -1876,39 +1915,6 @@
overflow: hidden; overflow: hidden;
transition: all 0.4s ease-in-out; transition: all 0.4s ease-in-out;
} }
.time-tra-thi-photo-change[data-v-9f74ebdb] {
display: flex;
justify-content: center;
align-items: center;
width: 15.9375rem;
margin-left: 6.25rem;
flex-direction: column;
transition: all 0.4s ease-in-out;
}
.time-tra-thi-photo-change .time-tra-thi-photo-img[data-v-9f74ebdb] {
width: 15.625rem;
height: 15.625rem;
margin-top: -3.125rem;
margin-left: -1.5625rem;
transition: all 0.4s ease-in-out;
}
.time-tra-thi-photo-change .time-tra-thi-photo-font[data-v-9f74ebdb] {
font-size: 1.25rem;
margin-right: 1.5625rem;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
transition: all 0.4s ease-in-out;
}
.time-tra-thi-photo-change .time-tra-thi-photo-font-dark[data-v-9f74ebdb] {
color: #CDD6EA;
font-size: 1.25rem;
margin-right: 1.5625rem;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
transition: all 0.4s ease-in-out;
}
.down-icons[data-v-9f74ebdb] { .down-icons[data-v-9f74ebdb] {
margin-top: 0.3125rem; margin-top: 0.3125rem;
width: 100%; width: 100%;
@ -1985,6 +1991,160 @@
background-color: #b7c8f3; background-color: #b7c8f3;
border-radius: 1.5625rem; border-radius: 1.5625rem;
} }
.draw-all[data-v-9f74ebdb] {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
border-top-left-radius: 2.5rem;
overflow: hidden;
}
.draw-all .draw-title[data-v-9f74ebdb] {
width: 100%;
height: 5.3125rem;
background: linear-gradient(to bottom, #dfecfa, #c9dbee);
display: flex;
}
.draw-all .draw-title .draw-title-gun[data-v-9f74ebdb] {
margin-top: 2.1875rem;
margin-left: 1.25rem;
margin-right: 0.625rem;
width: 0.40625rem;
height: 1.5625rem;
background: linear-gradient(to bottom, #04BCED, #0160CE);
border-radius: 0.3125rem;
}
.draw-all .draw-title .draw-title-font[data-v-9f74ebdb] {
margin-top: 2.125rem;
font-size: 1.25rem;
font-weight: 700;
}
.draw-all .draw-contain[data-v-9f74ebdb] {
width: 100%;
height: calc(100vh - 5.3125rem);
background: url("../../static/index/lightbgcnew.png") center / cover, rgba(255, 255, 255, 0.5);
background-blend-mode: screen;
}
.draw-all .draw-contain .draw-contain-jindu[data-v-9f74ebdb] {
width: 100%;
height: 7.8125rem;
display: flex;
justify-content: center;
align-items: center;
}
.draw-all .container[data-v-9f74ebdb] {
display: flex;
align-items: center;
justify-content: space-between;
width: 31.25rem;
height: 6.25rem;
margin: 0 auto;
position: relative;
}
.draw-all .outer-circle-target[data-v-9f74ebdb] {
width: 3.75rem;
height: 3.75rem;
border-radius: 50%;
background: rgba(2, 136, 217, 0.2);
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 2;
}
.draw-all .outer-circle[data-v-9f74ebdb] {
width: 3.75rem;
height: 3.75rem;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
position: relative;
z-index: 2;
}
.draw-all .inner-circle-target[data-v-9f74ebdb] {
width: 2.96875rem;
height: 2.96875rem;
border-radius: 50%;
background: #0288D9;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.2);
position: absolute;
z-index: 3;
}
.draw-all .inner-circle[data-v-9f74ebdb] {
width: 2.96875rem;
height: 2.96875rem;
border-radius: 50%;
background: #dfecfa;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.2);
position: absolute;
z-index: 3;
}
.draw-all .inner-circle-target span[data-v-9f74ebdb] {
color: #fff;
font-size: 0.8125rem;
font-family: Arial, sans-serif;
z-index: 4;
}
.draw-all .inner-circle span[data-v-9f74ebdb] {
font-size: 0.8125rem;
font-family: Arial, sans-serif;
z-index: 4;
}
.draw-all .line[data-v-9f74ebdb] {
width: calc(100% - 3.75rem);
height: 0.46875rem;
background: linear-gradient(to right, #0288D1, #0288D1);
position: absolute;
top: 50%;
left: 1.875rem;
border-radius: 0.15625rem;
box-shadow: inset 0 0.0625rem 0.125rem rgba(255, 255, 255, 0.8), inset 0 -0.0625rem 0.125rem rgba(0, 0, 0, 0.4), 0 0 0.25rem rgba(2, 136, 209, 0.8);
/* 外部发光 */
filter: brightness(1.2);
z-index: 1;
transition: width 0.5s ease;
/* 设置宽度变化的过渡效果 */
}
.draw-all .line-gray[data-v-9f74ebdb] {
width: calc(100% - 3.75rem);
height: 0.46875rem;
background: #c9dbee;
position: absolute;
top: 50%;
left: 1.875rem;
z-index: 0;
border-radius: 0.15625rem;
/* 外部发光 */
filter: brightness(1.2);
}
.draw-all .container-father[data-v-9f74ebdb] {
width: 100%;
height: 6.25rem;
background-color: rgba(187, 203, 236, 0.6);
}
.draw-all .container-father .draw-contain-white-sha[data-v-9f74ebdb] {
width: 100%;
height: 0.03125rem;
background-color: #fff;
box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.2);
}
.draw-all .draw-contain-gray[data-v-9f74ebdb] {
width: 100%;
height: 0.09375rem;
background-color: #d0e0ef;
}
.draw-all .draw-contain-white[data-v-9f74ebdb] {
width: 100%;
height: 0.03125rem;
background-color: #fff;
}
.super-card[data-v-337bb5da] { .super-card[data-v-337bb5da] {
display: flex; display: flex;
@ -2530,9 +2690,9 @@
width: 25rem; width: 25rem;
height: 15.625rem; height: 15.625rem;
background: url("../../static/index/lightbgcnew.png") center / cover, rgba(255, 255, 255, 0.7); background: url("../../static/index/lightbgcnew.png") center / cover, rgba(255, 255, 255, 0.7);
background-blend-mode: screen;
border: 0.0625rem solid #fff; border: 0.0625rem solid #fff;
/* 使用 screen 混合模式,让图像与白色混合变淡 */ /* 使用 screen 混合模式,让图像与白色混合变淡 */
background-blend-mode: screen;
border-radius: 0.9375rem; border-radius: 0.9375rem;
box-shadow: 0.3125rem 0.3125rem 0.625rem rgba(0, 0, 0, 0.1); box-shadow: 0.3125rem 0.3125rem 0.625rem rgba(0, 0, 0, 0.1);
transition: opacity 0.4s ease; transition: opacity 0.4s ease;

88
utils/request.js Normal file
View File

@ -0,0 +1,88 @@
// 全局请求封装
const base_url = 'http://localhost:996'
// 需要修改token和根据实际修改请求头
export default (params) => {
let url = params.url;
let method = params.method || "get";
let data = params.data || {};
let header = {}
if (method == "post") {
header = {
'Content-Type': 'application/json'
};
}
// 获取本地token
if (uni.getStorageSync("token")) {
header['Authorization'] = 'Bearer ' + uni.getStorageSync("token");
}
return new Promise((resolve, reject) => {
uni.request({
url: base_url + url,
method: method,
header: header,
data: data,
success(response) {
const res = response
// 根据返回的状态码做出对应的操作
//获取成功
// console.log(res.statusCode);
if (res.statusCode == 200) {
resolve(res.data);
} else {
uni.clearStorageSync()
switch (res.statusCode) {
case 401:
uni.showModal({
title: "提示",
content: "请登录",
showCancel: false,
success(res) {
setTimeout(() => {
uni.navigateTo({
url: "/pages/login/index",
})
}, 1000);
},
});
break;
case 404:
uni.showToast({
title: '请求地址不存在...',
duration: 2000,
})
break;
default:
uni.showToast({
title: '请重试...',
duration: 2000,
})
break;
}
}
},
fail(err) {
console.log(err)
if (err.errMsg.indexOf('request:fail') !== -1) {
wx.showToast({
title: '网络异常',
icon: "error",
duration: 2000
})
} else {
wx.showToast({
title: '未知异常',
duration: 2000
})
}
reject(err);
},
complete() {
// 不管成功还是失败都会执行
uni.hideLoading();
uni.hideToast();
}
});
}).catch((e) => {});
};