diff --git a/pages/NursingNew/component/nurse/bigindex.css b/pages/NursingNew/component/nurse/bigindex.css
index a33e6d5..d45a34b 100644
--- a/pages/NursingNew/component/nurse/bigindex.css
+++ b/pages/NursingNew/component/nurse/bigindex.css
@@ -150,10 +150,11 @@
.title-time-blue {
/* 你的定位与尺寸保持不变 */
position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 96%;
+ height: 96%;
z-index: 10;
.blue-img {
@@ -257,10 +258,8 @@
}
.title-time-border {
- margin-top: 4rpx;
- margin-left: 4rpx;
- width: calc(100% - 8rpx);
- height: calc(100% - 8rpx);
+ width: calc(100% - 20rpx);
+ height: calc(100% - 20rpx);
border-radius: 20rpx;
display: flex;
align-items: center;
@@ -525,19 +524,34 @@
.order-history {
width: 100%;
height: 450rpx;
+ margin-top: 5rpx;
+
+ .history-spe {
+ min-width: 86%;
+ height: 100%;
+ margin-left: 14%;
+ background-color: #F7F8F9;
+ border-radius: 15rpx;
+ padding-top: 10rpx;
+ padding-left: 20rpx;
+ }
+
/* background-color: red; */
- .history-title{
+ .history-title {
width: 100%;
height: 70rpx;
display: flex;
align-items: center;
padding: 0 30rpx;
justify-content: space-between;
- .history-left{
+
+
+ .history-left {
font-size: 30rpx;
margin-top: 10rpx;
}
- .history-right{
+
+ .history-right {
margin-top: 0.5vw;
width: 7vw;
height: 2.5vw;
@@ -551,6 +565,90 @@
position: relative;
}
}
+
+ .history-items {
+ width: 100%;
+ margin-top: 15rpx;
+ height: 385rpx;
+
+ .history-item {
+ /* margin-left: 1%; */
+ width: 95%;
+ height: 120rpx;
+ margin-bottom: 13rpx;
+ position: relative;
+ display: flex;
+ align-items: center;
+
+ .history-left {
+ /* margin-left: 58rpx; */
+ width: 120rpx;
+ }
+
+ .history-right {
+ height: 100%;
+ width: 245rpx;
+
+ border-radius: 10rpx;
+ display: flex;
+ align-items: center;
+ position: relative;
+ margin-left: 5rpx;
+
+
+
+ .item-name {
+ width: 80rpx;
+ /* 必须有宽度 */
+ font-size: 25rpx;
+ white-space: nowrap;
+ /* 不换行 */
+ overflow: hidden;
+ /* 超出隐藏 */
+ text-overflow: ellipsis;
+ /* 省略号 */
+ }
+
+ .item-min {
+ font-size: 25rpx;
+ }
+ }
+
+ .history-time {
+ font-weight: 800;
+ font-size: 32rpx;
+ margin-bottom: 0rpx;
+ }
+
+ .history-name {
+ margin-left: 5rpx;
+ font-size: 24rpx;
+ color: #555555;
+
+ }
+
+ .history-shu-up {
+ position: absolute;
+ left: 32rpx;
+ top: -53.5%;
+ width: 3rpx;
+ height: 93%;
+ background-color: #E5E5E5;
+ }
+
+ .history-shu-circle {
+ position: absolute;
+ left: 20rpx;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 26.5rpx;
+ height: 26.5rpx;
+ border-radius: 50%;
+ border: 4.5rpx solid #D0D1D1;
+ z-index: 1;
+ }
+ }
+ }
}
.order-future {
@@ -564,12 +662,13 @@
.future-fonts {
font-size: 27rpx;
+ display: flex;
}
.future-item-target {
width: 90%;
margin-left: 5%;
- min-height: 150rpx;
+ min-height: 152rpx;
margin-bottom: 10rpx;
background-color: #F7F8F9;
border-radius: 30rpx;
@@ -580,14 +679,14 @@
color: #555555;
position: relative;
border: 2rpx solid #4690FF;
-
+ transition: height 0.3s ease;
}
.future-item {
width: 90%;
margin-left: 5%;
- min-height: 150rpx;
+ min-height: 152rpx;
margin-bottom: 10rpx;
background-color: #F7F8F9;
border-radius: 30rpx;
@@ -598,7 +697,7 @@
color: #555555;
position: relative;
border: 2rpx solid #F7F8F9;
-
+ transition: height 0.3s ease;
}
@@ -634,7 +733,22 @@
justify-content: center;
align-items: center;
}
-
+.future-info {
+ position: absolute;
+ left: 23rpx;
+ bottom: 23rpx;
+ font-size: 25rpx;
+ color: #555555;
+ display: flex;
+}
+.info{
+ display: flex;
+ .info-img{
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 3rpx;
+ }
+}
.calendar-father {
position: fixed;
top: 150rpx;
@@ -652,4 +766,136 @@
left: 0;
z-index: 100;
background: RGBA(239, 240, 244, 0.55);
+}
+
+.history-img {
+ width: 30rpx;
+ height: 30rpx;
+ /* margin-left: 15rpx; */
+ /* background-color: red; */
+}
+
+.small-font {
+ margin-top: 3rpx;
+ width: 310rpx;
+ white-space: nowrap;
+ /* 不换行 */
+ overflow: hidden;
+ /* 超出隐藏 */
+ text-overflow: ellipsis;
+ /* 省略号 */
+ color: #999999;
+ font-size: 22rpx;
+}
+
+.card-bao {
+ position: absolute;
+ right: 30rpx;
+ top: 40rpx;
+ width: 30rpx;
+ height: 30rpx;
+ font-size: 18rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-color: #4690FF;
+ color: #fff;
+ border-radius: 5rpx;
+}
+
+.card-overtime {
+ position: absolute;
+ right: 30rpx;
+ bottom: 40rpx;
+ width: 45rpx;
+ height: 30rpx;
+ font-size: 18rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background-color: #E33B3B;
+ color: #fff;
+ border-radius: 5rpx;
+}
+
+.card-over {
+ max-width: 200rpx;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.time-right-bad {
+ color: #666666;
+ font-size: 24rpx;
+ margin-left: 10rpx;
+ margin-top: 10rpx;
+}
+
+.time-right-blue {
+ color: #4690FF;
+ font-size: 24rpx;
+ margin-left: 10rpx;
+ margin-top: 10rpx;
+ display: flex;
+ position: relative;
+}
+
+.ellipsis {
+ position: absolute;
+ left: 105rpx;
+ top: 20rpx;
+ display: flex;
+ gap: 5rpx;
+
+
+ /* height: 28px; */
+ /* 点的高度 + 跳起空间 */
+}
+
+
+.dot {
+ width: 5rpx;
+ height: 5rpx;
+ background: #4690FF;
+ border-radius: 50%;
+ animation: jump 1.5s ease-in-out infinite;
+
+}
+
+
+@keyframes jump {
+
+ 0%,
+ 80%,
+ 100% {
+ transform: translateY(0);
+ }
+
+ 40% {
+ transform: translateY(-8px);
+ }
+}
+
+
+@media (prefers-reduced-motion: reduce) {
+ .dot {
+ animation: none;
+ }
+}
+.open-img-father{
+ position: absolute;
+ right: 35rpx;
+ bottom: 28rpx;
+ width: 22rpx;
+ height: 22rpx;
+ transition: transform 0.3s ease;
+ .open-img{
+ width: 100%;
+ height: 100%;
+ }
+}
+.serviceContent{
+ color: #999999;
+ margin-top: 20rpx;
}
\ No newline at end of file
diff --git a/pages/NursingNew/component/nurse/bigindex.vue b/pages/NursingNew/component/nurse/bigindex.vue
index 2090078..26848ed 100644
--- a/pages/NursingNew/component/nurse/bigindex.vue
+++ b/pages/NursingNew/component/nurse/bigindex.vue
@@ -53,6 +53,14 @@
src="/static/index/bluetarget.png" />
+
+ 包
+
+
+ 超时
+
+
@@ -78,8 +86,14 @@
-
+
+
+
+ {{(item0.positioning.length == 1 ? ('0' + item0.positioning) : item0.positioning) + ":" + timeArray[index1]}}
+
@@ -105,22 +119,65 @@
-
-
+
+
- {{ item.directiveName + ` | ` }} {{ item.serviceDuration + `分钟` }}
+
+ {{ item.directiveName }}
+
+ {{ ` | ` +item.serviceDuration + `分钟` }}
{{ extractHHMM(item.startTime) }}
-
+
+ {{ item.tagtype=="1"?'即将开始':'指令尚未开始' }}
+
+
+ 正在进行
+
+
+
+
{{ item.cycleType }}
-
+
+
+
+
+ {{ item.optNames?.split(',')[0] }}
+
+
+
+ {{ item.optNames?.split(',')[1] }}
+
+
+
+
+
+ {{ item.optTypeName }}
+
+
+
+ {{ item.optNames }}
+
+
+
+
+
+
+
+ {{ item.serviceContent }}
+
+
@@ -133,24 +190,33 @@
长者标签
-
+
@@ -177,22 +243,15 @@
required: true,
},
});
- // watch(
- // () => props.isshow,
- // (newVal, oldVal) => {
- // // 只有当新旧值不相同时才执行
- // if (newVal !== oldVal) {
-
-
- // }
- // }
- // )
+ const serverUrl = ref(uni.getStorageSync('serverUrl') + '/sys/common/static/')
const opendata = ref(false);
const bodystatus = ref(false);
const bodystatustarget = ref(-1);
const facestatus = ref(false);
const facestatustarget = ref(-1);
+ const firstListTarget = ref(-1)
+ const secondListTarget = ref(-1)
/* ---- 用于 transform 的响应式字符串 ----
注意:虽然这是响应式,但我们只在 rAF 里更新它(受控更新),避免频繁触发 Vue 渲染 */
const transformStyle = ref('translate3d(0, 0, 0)');
@@ -258,7 +317,7 @@
endDay = new Date(selY, selM, 0).getDate()
}
daysarray.value = Array.from({ length: endDay }, (_, i) => String(i + 1).padStart(2, '0'))
- console.log("啥",daysarray.value)
+ // console.log("啥", daysarray.value)
movetime.value = (Number(selectdata.value.day) - 3) * 25
}
const daytarget = ref(0)
@@ -326,8 +385,11 @@
})
const getFontClass = (item : any, index0, index1) => {
+
switch (item.executeStatus) {
- case 'hisFaild':
+ case 'hisUnExe':
+ return 'card-time-red';
+ case 'hisTimeOut':
return 'card-time-red';
case 'current':
@@ -397,8 +459,9 @@
switch (item.executeStatus) {
case 'hisOk':
return 'title-time-border-hisOk';
-
- case 'hisFaild':
+ case 'hisUnExe':
+ return 'title-time-border-hisFaild';
+ case 'hisTimeOut':
return 'title-time-border-hisFaild';
case 'current':
@@ -411,23 +474,12 @@
}
return 'title-time-border';
}
- function getstates(item) {
- // console.log("啥啊",item.izStart)
- // if(item.izStart=='N'){
-
- // if(item.izTimeout == 'Y'){
-
- // return `超时`
- // }else{
- // return `未执行`
- // }
- // }else{
- // if(item.optType==2){
- // return item.optNames?.split(',').join('/')
- // }else{
- // return `${item.optTypeName}/${item.optNames}`
- // }
- // }
+ const clickfirstarray = (item, index) => {
+ if (firstListTarget.value != -1) {
+ firstListTarget.value = -1
+ } else if (!item.tagtype) {
+ firstListTarget.value = index;
+ }
}
// 通用的生成函数
function genPaths(base, prefix, count, ext = 'png', startIndex = 0, pad = false) {
@@ -470,7 +522,9 @@
const showDetail = ref([-1, -1])
const moveById = ref(0);
const rulerTouchClickfather = (index0 : number, index1 : number) => {
- // console.log("sssss", timearr.value[index0].children[index1].id)
+ console.log("sssss", timearr.value[index0].children[index1])
+ firstListTarget.value = -1;
+ secondListTarget.value = -1;
moveById.value = timearr.value[index0].children[index1].id
backsearch(moveById.value)
rulerTouchClick(index0, index1)
@@ -568,9 +622,20 @@
let time = `${selectdata.value.year}-${selectdata.value.month}-${selectdata.value.day}`
getDirectiveOrders(time).then((data) => {
- console.log("所有的数据",data.result.history)
- console.log("现在",data.result.current)
- console.log("未来",data.result.future)
+ firstListTarget.value = -1;
+ secondListTarget.value = -1;
+ // console.log("现在", data.result.current)
+ // console.log("未来", data.result.future)
+ data.result.current.forEach((element : any) => {
+ element.tagtype = 0
+ })
+ data.result.future.forEach((element : any, index : number) => {
+ if (index) {
+ element.tagtype = 2
+ } else {
+ element.tagtype = 1
+ }
+ })
upmenuarray.value = [...data.result.current, ...data.result.future]
downmenuarray.value = [...data.result.history]
timearr.value = Array.from({ length: 24 }, (_, hour) => ({
@@ -582,22 +647,45 @@
data.result.all.forEach((element : any) => {
element.positioning = parseHourMinute(element.startTime).hour;
element.positioningLong = parseHourMinute(element.startTime).minute / 5;
- if (element.izStart == 'N') {
+ if (element.executeStatus === 'hisUnExe') {
element.rightshow = `未执行`
-
- } else {
- if (element.izTimeout == 'Y') {
- element.rightshow = `超时`
- return
- }
+ } else if (element.executeStatus === 'current') {
+ element.rightshow = ``
+ } else if (element.executeStatus === 'future') {
+ element.rightshow = ``
+ }
+ else {
if (element.optType == 2) {
element.rightshow = element.optNames?.split(',').join('/')
} else {
element.rightshow = `${element.optTypeName}/${element.optNames}`
}
}
- timearr.value[element.positioning].children[element.positioningLong] = element;
+ // switch (element.executeStatus) {
+
+ // case 'hisUnExe':
+ // element.rightshow = `未执行`
+
+ // case 'hisTimeOut':
+ // element.rightshow = `${element.optTypeName}/${element.optNames}`
+ // case 'hisOk':
+ // element.rightshow = `${element.optTypeName}/${element.optNames}`
+ // case 'hisTimeOut':
+ // element.rightshow = `${element.optTypeName}/${element.optNames}`
+ // case 'hisTimeOut':
+ // element.rightshow = `${element.optTypeName}/${element.optNames}`
+
+ // default:
+ // return 'card-time';
+
+ // }
+ if (element.cycleTypeId != 3) {
+ timearr.value[element.positioning].children[element.positioningLong] = element;
+ }
+
+ // console.log("aaaaaa", element)
})
+
})
}
const savePackagelist = ref([]);
@@ -721,7 +809,9 @@
opendata.value = true;
}
const searchtable = (item : any) => {
- // console.log("aaaa", item)
+ // console.log("aaaaaaa",item)
+ firstListTarget.value = -1;
+ secondListTarget.value = -1;
moveById.value = item.id
backsearch(item.id)
timearr.value.forEach((element : any) => {
@@ -733,10 +823,16 @@
})
}
const firsttopmove = ref(0)
+ const secondtopmove = ref(0)
const backsearch = (id) => {
- upmenuarray.value.forEach((element:any,index:number)=>{
- if(element.id === id){
- firsttopmove.value = (index-1) * 80
+ upmenuarray.value.forEach((element : any, index : number) => {
+ if (element.id === id) {
+ firsttopmove.value = (index - 1) * 80
+ }
+ })
+ downmenuarray.value.forEach((element : any, index : number) => {
+ if (element.id === id) {
+ secondtopmove.value = (index - 1) * 66.5
}
})
}
diff --git a/static/index/down.png b/static/index/down.png
new file mode 100644
index 0000000..e69b9ab
Binary files /dev/null and b/static/index/down.png differ
diff --git a/static/index/leftpeople.png b/static/index/leftpeople.png
new file mode 100644
index 0000000..3f5f8e7
Binary files /dev/null and b/static/index/leftpeople.png differ
diff --git a/static/index/rightpeople.png b/static/index/rightpeople.png
new file mode 100644
index 0000000..da9b2ce
Binary files /dev/null and b/static/index/rightpeople.png differ