diff --git a/component/rightItemssecond/index.vue b/component/rightItemssecond/index.vue index 33cc867..f6b2ceb 100644 --- a/component/rightItemssecond/index.vue +++ b/component/rightItemssecond/index.vue @@ -1,7 +1,8 @@ @@ -99,26 +125,39 @@ index0: 999, index1: 999, }) + //翻页计时器 + const canTrigger = ref(true); //全局获得x轴和y轴 const getxyrel = (event) => { - // event.stopPropagation(); - // event.preventDefault(); const touch = event.touches[0]; clientX.value = 2 * (Math.floor(touch.clientX) - 100); clientY.value = 2 * (Math.floor(touch.clientY) - 55); - // console.log("?????",clientX.value,clientY.value) // 遍历数组,找到点击区域所在的对象 const translateX = Math.floor(touch.clientX) - 50; const translateY = Math.floor(touch.clientY) - 25; + const clickedItem = fangkuaiValue.value.find(item => { - return translateX >= item.left && translateX <= item.right && - translateY >= item.top && translateY <= item.bottom; + + if (translateX >= item.left && translateX <= item.right && + translateY >= item.top && translateY <= item.bottom) { + // console.log("AAAA",item.left,item.right,item.top,item.bottom) + } + + return translateX >= Math.floor(item.left) && translateX <= Math.floor(item.right) && + translateY >= Math.floor(item.top) && translateY <= Math.floor(item.bottom); }); - // 如果找到,则输出该对象的 index0 和 index1 if (clickedItem) { const { index0, index1 } = clickedItem.dataset; indexNumber.value.index0 = index0 indexNumber.value.index1 = index1 + // console.log("????",indexNumber.value.index0 ,indexNumber.value.index1) + if (clientX.value > 2050 && canTrigger.value) { + ruler.value?.nextItems(); + canTrigger.value = false; + setTimeout(() => { + canTrigger.value = true; + }, 1000); + } } else { indexNumber.value.index0 = 999 indexNumber.value.index1 = 999 @@ -129,16 +168,27 @@ const fangkuaiValue = ref([]) //所有适合的方块 - const openname = (res : string, fangkuai : Object) => { + const openname = (res : string, fangkuai : any) => { savename.value = res; canmove.value = false; fangkuaiValue.value = fangkuai } + const changefangkuang = (fangkuang : any) => { + fangkuaiValue.value = fangkuang + console.log("!!!!", fangkuaiValue.value) + } + //移动方块 + const saveruler = ref({}) + const openruler = (res : string, fangkuai : any) => { + saveruler.value = res + canmove.value = false; + fangkuaiValue.value = fangkuai + } //解决拖动bug const closename = () => { savename.value = ""; canmove.value = true; - fangkuaiValue.value = [] + // fangkuaiValue.value = [] } const ruler = ref(null) //结束、禁止滑动 @@ -150,8 +200,14 @@ index0: 999, index1: 999, }; - ruler.value?.rulerEnd(savename.value); + + if (savename.value) { + ruler.value?.rulerEnd(savename.value); + } else if (saveruler.value.type) { + ruler.value?.rulerMoveEnd(saveruler.value); + } savename.value = ""; + saveruler.value = {}; } //节流函数 function throttle(fn, delay) { @@ -164,6 +220,37 @@ } }; } + function splitString(str) { + // 使用正则表达式找到所有括号的内容 + let result = []; + let remainingStr = str; + + // 正则匹配最外层括号(支持全角和半角) + let regex = /([^((]*)[((]([^))]+)[))]/; + + while (regex.test(remainingStr)) { + let match = remainingStr.match(regex); + if (match) { + // 添加括号前的部分(去掉空白) + if (match[1].trim()) { + result.push(match[1].trim()); + } + // 添加括号内的内容 + if (match[2].trim()) { + result.push(match[2].trim()); + } + // 更新剩余的字符串 + remainingStr = remainingStr.replace(match[0], '').trim(); + } + } + + // 如果最后还有剩余部分,也加入结果 + if (remainingStr.trim()) { + result.push(remainingStr.trim()); + } + + return result; + } // 生命周期钩子 onShow(() => { //首次加载和跳转回来需要重新做个动画 @@ -279,4 +366,83 @@ } } } + + .title-time-border-yellow { + width: 255rpx; + height: 189rpx; + margin: 10rpx; + border: 1rpx solid #dae8fa; + background: linear-gradient(to bottom, #fff1db, #ffe2b2); + // width: calc(100% - 20rpx); + // height: calc(100% - 20rpx); + border-radius: 20rpx; + display: flex; + align-items: center; + flex-direction: column; + position: absolute; + z-index: 10; + } + + .title-time-border-pouple { + width: 255rpx; + height: 189rpx; + margin: 10rpx; + border: 1rpx solid #dae8fa; + background: linear-gradient(to bottom, #f1eeff, #e3deff); + // width: calc(100% - 20rpx); + // height: calc(100% - 20rpx); + border-radius: 20rpx; + display: flex; + align-items: center; + flex-direction: column; + position: absolute; + z-index: 10; + } + + .title-time { + display: flex; + width: 100%; + position: relative; + + .title-time-time { + font-size: 32rpx; + margin-left: 27rpx; + margin-top: 12rpx; + } + + .title-time-button { + position: absolute; + top: -5rpx; + right: 0rpx; + width: 70rpx; + height: 70rpx; + } + + .title-time-font { + position: absolute; + top: 7rpx; + right: 5rpx; + font-size: 23rpx; + color: #fff; + } + } + + .down-icons { + margin-top: 20rpx; + width: 100%; + height: 50rpx; + background-color: rgb(255, 216, 126); + display: flex; + justify-content: center; + align-items: center; + + .icon { + margin: 0 5rpx; + font-size: 20rpx; + padding: 5rpx 10rpx; + background-color: rgb(255, 138, 0); + color: #fff; + border-radius: 5rpx; + } + } \ No newline at end of file diff --git a/static/index/clearmountain.png b/static/index/clearmountain.png new file mode 100644 index 0000000..854d294 Binary files /dev/null and b/static/index/clearmountain.png differ diff --git a/static/index/deleteicon.png b/static/index/deleteicon.png new file mode 100644 index 0000000..e0cb99f Binary files /dev/null and b/static/index/deleteicon.png differ diff --git a/static/index/pouplezhejiao.png b/static/index/pouplezhejiao.png new file mode 100644 index 0000000..3290307 Binary files /dev/null and b/static/index/pouplezhejiao.png differ diff --git a/static/index/yellowzhejiao.png b/static/index/yellowzhejiao.png new file mode 100644 index 0000000..5b27551 Binary files /dev/null and b/static/index/yellowzhejiao.png differ diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index b7c25b5..de8734f 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -31,6 +31,20 @@ if (uni.restoreGlobal) { } (function(vue) { "use strict"; + const ON_SHOW = "onShow"; + const ON_LOAD = "onLoad"; + function formatAppLog(type, filename, ...args) { + if (uni.__log__) { + uni.__log__(type, filename, ...args); + } else { + console[type].apply(console, [...args, filename]); + } + } + const createHook = (lifecycle) => (hook, target = vue.getCurrentInstance()) => { + !vue.isInSSRComponentSetup && vue.injectHook(lifecycle, hook, target); + }; + const onShow = /* @__PURE__ */ createHook(ON_SHOW); + const onLoad = /* @__PURE__ */ createHook(ON_LOAD); const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({ __name: "index", props: { @@ -2212,7 +2226,7 @@ if (uni.restoreGlobal) { type: Object } }, - emits: ["darkchange", "savename", "closename"], + emits: ["darkchange", "savename", "saveruler", "closename", "changefangkuang"], setup(__props, { expose: __expose, emit: __emit }) { const props = __props; vue.watch( @@ -2225,12 +2239,61 @@ if (uni.restoreGlobal) { () => props.isshow, () => { bottomisShaking.value = false; + shakyTable.value = false; } ); vue.onMounted(() => { downList.value = bigArray[0].data; }); const bottomItems = vue.ref([ + { + name: "纸尿裤", + url: "/static/index/niao.png" + }, + { + name: "呕吐", + url: "/static/index/tu.png" + }, + { + name: "吸痰", + url: "/static/index/ou.png" + }, + { + name: "大便", + url: "/static/index/baba.png" + }, + { + name: "纸尿裤", + url: "/static/index/niao.png" + }, + { + name: "呕吐", + url: "/static/index/tu.png" + }, + { + name: "吸痰", + url: "/static/index/ou.png" + }, + { + name: "大便", + url: "/static/index/baba.png" + }, + { + name: "纸尿裤", + url: "/static/index/niao.png" + }, + { + name: "呕吐", + url: "/static/index/tu.png" + }, + { + name: "吸痰", + url: "/static/index/ou.png" + }, + { + name: "大便", + url: "/static/index/baba.png" + }, { name: "纸尿裤", url: "/static/index/niao.png" @@ -2265,6 +2328,7 @@ if (uni.restoreGlobal) { const weekDays = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]; const days = Array.from({ length: 31 }, (_, i) => (i + 1).toString().padStart(2, "0")); const isweek = vue.ref(true); + const scrollLeft = vue.ref(0); const scrollTop = vue.ref(0); const downList = vue.ref(); const rightList = vue.ref([ @@ -2275,17 +2339,57 @@ if (uni.restoreGlobal) { const songisopen = vue.ref(false); const isopacity = vue.ref(false); const songisopacity = vue.ref(false); + const deleteisopen = vue.ref(false); + const deletename = vue.ref(""); + const deleteisopacity = vue.ref(false); const currentNumber = vue.ref(1); + const scrollKey = vue.ref(0); + function pseudoRandom(index0, index1) { + const seed = index0 * 55.9898 + index1 * 78.233; + return Math.abs(Math.sin(seed) * 43758.5453) % 1; + } + function computeDelay(index0, index1) { + const range = 2; + return pseudoRandom(index0, index1) * range; + } const changecurrentNumber = (event) => { currentNumber.value = event.detail.current; + vue.nextTick(() => { + scrollTop.value = moveDownNumber.value; + }); + }; + const dragOffset = vue.ref(0); + const moveDownNumber = vue.ref(0); + function handleScrolltime(e) { + let num = e.detail.scrollTop; + let formattedNum = parseFloat(num.toFixed(2)); + moveDownNumber.value = formattedNum; + } + const changeBug = vue.ref(true); + const nextItems = () => { + currentNumber.value > 2 ? currentNumber.value = 0 : currentNumber.value++; }; const getClass = (item, index0, index1) => { - if (!props.canmove && props.liang.index0 === index0 && props.liang.index1 === index1) { + if (!props.canmove && props.liang.index0 === index0 && redNameindex0.value.includes(index0 + currentNumber.value * 6) && props.liang.index1 === index1) { + return "title-time-border-red"; + } else if (!props.canmove && props.liang.index0 === index0 && props.liang.index1 === index1) { return "title-time-border-blue"; } else if (item.type === "日常") { - return "title-time-border-yellow"; + if (flyNumber.value.index0 === index0 + currentNumber.value * 6 && flyNumber.value.index1 === index1 && shakyTable.value) { + return "title-time-border-yellow-active-transparent"; + } else if (shakyTable.value) { + return "title-time-border-yellow-active"; + } else { + return "title-time-border-yellow"; + } } else if (item.type) { - return "title-time-border-pouple"; + if (flyNumber.value.index0 === index0 + currentNumber.value * 6 && flyNumber.value.index1 === index1 && shakyTable.value) { + return "title-time-border-pouple-active-transparent"; + } else if (shakyTable.value) { + return "title-time-border-pouple-active"; + } else { + return "title-time-border-pouple"; + } } return "title-time-border"; }; @@ -2321,39 +2425,90 @@ if (uni.restoreGlobal) { const openY = vue.ref(0); const flyNumber = vue.ref({ index0: 999, - index1: 999 + index1: 999, + serve: "" }); - const deletebottom = (index) => { - bottomItems.value.splice(index, 1); + const deletebottomindex = vue.ref(-1); + const deletedownisopen = vue.ref(false); + const deletedownisopacity = vue.ref(false); + const deletebottom = (index, name) => { + bottomisShaking.value = false; + deletebottomindex.value = index; + shakyTable.value = false; + deletedownisopacity.value = false; + deletedownisopen.value = true; + deletename.value = name; + setTimeout(() => { + deletedownisopacity.value = true; + }, 200); }; + const deleteindex = vue.ref([-1, -1]); + const deleteItems = (name, index0, index1) => { + deleteindex.value = [-1, -1]; + shakyTable.value = false; + bottomisShaking.value = false; + deleteisopacity.value = false; + deleteisopen.value = true; + deleteindex.value = [index0 + currentNumber.value * 6, index1]; + deletename.value = name; + setTimeout(() => { + deleteisopacity.value = true; + }, 200); + }; + const rulerTouchClick = (item, index0, index1, e) => { + moveX.value = Math.floor(e.touches[0].pageX); + moveY.value = Math.floor(e.touches[0].pageY); + if (item.value) { + const query = uni.createSelectorQuery(); + query.selectAll(".super-card-time-card").boundingClientRect((data) => { + data.forEach(async (res) => { + if (res.left > 200 && res.left < 1067 && res.top < 570 && res.top > 140 && res.dataset.index0 == index0 && res.dataset.index1 == index1) { + if (res.left > 200 && res.left < 500) { + openX.value = Math.floor(res.left) + 520; + } else { + openX.value = Math.floor(res.left); + } + if (res.top > 140 && res.top < 300) { + openY.value = Math.floor(res.top) + 250; + } else { + openY.value = Math.floor(res.top); + } + await vue.nextTick(); + isopen.value = true; + isopacity.value = false; + setTimeout(() => { + isopacity.value = true; + }, 100); + } + }); + }).exec(); + } + }; + const shakyTable = vue.ref(false); const rulerTouchStart = (item, index0, index1, e) => { + scrollTop.value = moveDownNumber.value; moveX.value = Math.floor(e.touches[0].pageX); moveY.value = Math.floor(e.touches[0].pageY); timer.value = setTimeout(() => { if (item.value) { + flyNumber.value.serve = item.serve; flyNumber.value.index0 = index0 + currentNumber.value * 6; flyNumber.value.index1 = index1; + indexsave.value = [-1, -1]; + const reldata = []; + isTuoing.value = true; const query = uni.createSelectorQuery(); query.selectAll(".super-card-time-card").boundingClientRect((data) => { data.forEach(async (res) => { - if (res.left > 200 && res.left < 1067 && res.top < 600 && res.top > 170 && res.dataset.index0 == index0 && res.dataset.index1 == index1) { - if (res.left > 200 && res.left < 500) { - openX.value = Math.floor(res.left) + 520; - } else { - openX.value = Math.floor(res.left); - } - openY.value = Math.floor(res.top); - await vue.nextTick(); - isopen.value = true; - isopacity.value = false; - setTimeout(() => { - isopacity.value = true; - }, 100); + if (res.left > 200 && res.left < 1067 && res.top < 570 && res.top > 140) { + shakyTable.value = true; + reldata.push(res); } }); }).exec(); + emit("saveruler", item, reldata); } - }, 200); + }, 100); }; const rulerTouchMove = (e) => { const moveXa = Math.floor(e.touches[0].pageX); @@ -2366,6 +2521,7 @@ if (uni.restoreGlobal) { } }; const rulerTouchEnd = () => { + isTuoing.value = false; if (timer.value) { clearTimeout(timer.value); timer.value = null; @@ -2403,6 +2559,7 @@ if (uni.restoreGlobal) { res.children.push({ value: "" }); }); } + deleteisopen.value = false; }; const longPressTimer = vue.ref(null); const isScrolling = vue.ref(false); @@ -2418,20 +2575,32 @@ if (uni.restoreGlobal) { const isBack = vue.ref(false); const saveX = vue.ref(0); const saveY = vue.ref(0); + const isTuoing = vue.ref(false); + const redNameindex0 = vue.ref([]); const handleTouchStart = (item, index, e) => { + redNameindex0.value = []; + shakyTable.value = false; saveX.value = Math.floor(e.touches[0].pageX); saveY.value = Math.floor(e.touches[0].pageY); longPressTimer.value = setTimeout(() => { if (isScrolling.value) return; + timearr.value.forEach((element0, index0) => { + element0.children.forEach((element1) => { + if (element1.serve === item && element1.value) { + redNameindex0.value.push(index0); + } + }); + }); isBack.value = true; downmenuIndex.value = index; indexsave.value = [-1, -1]; + isTuoing.value = true; const reldata = []; const query = uni.createSelectorQuery(); query.selectAll(".super-card-time-card").boundingClientRect((data) => { data.forEach((res) => { - if (res.left > 200 && res.left < 1067 && res.top < 600 && res.top > 170) { + if (res.left > 200 && res.left < 1067 && res.top < 570 && res.top > 140) { reldata.push(res); } }); @@ -2457,6 +2626,7 @@ if (uni.restoreGlobal) { } }; const handleTouchEnd = () => { + isTuoing.value = false; if (longPressTimer.value) { clearTimeout(longPressTimer.value); longPressTimer.value = null; @@ -2464,11 +2634,23 @@ if (uni.restoreGlobal) { }; const bottomTimer = vue.ref(null); const bottomisShaking = vue.ref(false); - const bottomTouchStart = () => { + const bottomTouchStart = (e) => { + saveX.value = Math.floor(e.touches[0].pageX); + saveY.value = Math.floor(e.touches[0].pageY); bottomTimer.value = setTimeout(() => { bottomisShaking.value = true; }, 500); }; + const bottomTouchMove = (e) => { + const moveX2 = Math.floor(e.touches[0].pageX); + const moveY2 = Math.floor(e.touches[0].pageY); + if (Math.abs(moveX2 - saveX.value) > 0 || Math.abs(moveY2 - saveY.value) > 0) { + if (bottomTimer.value) { + clearTimeout(bottomTimer.value); + bottomTimer.value = null; + } + } + }; const bottomTouchEnd = () => { if (bottomTimer.value) { clearTimeout(bottomTimer.value); @@ -2550,11 +2732,89 @@ if (uni.restoreGlobal) { clickOp(0, openValue.value.array[0].type, openValue.value.array[0].op); } }; + const rulerMoveEnd = (object) => { + if (props.liang.index0 !== 999 && object.type) { + indexsave.value = [props.liang.index0 + currentNumber.value * 6, props.liang.index1]; + let savaIndex = -1; + let emptyChildIndices = []; + timearr.value.forEach((res, rowIndex) => { + emptyChildIndices = []; + res.children.forEach((child, index) => { + if (child.value === null || child.value === "" || child.value === void 0) { + const isEmptyInAllRows = timearr.value.every((otherRes) => { + const otherChild = otherRes.children[index]; + return otherChild === void 0 || otherChild.value === null || otherChild.value === "" || otherChild.value === void 0; + }); + if (isEmptyInAllRows) { + emptyChildIndices.push(index); + } + } + }); + res.children.forEach((item, index) => { + if (item.serve == object.serve) { + savaIndex = index; + } + }); + }); + if (savaIndex === -1) { + savaIndex = emptyChildIndices[0]; + } + let haveAnyItem = 0; + let saveServe = ""; + timearr.value.forEach((element) => { + if (element.children[0].value) { + haveAnyItem++; + saveServe = element.children[0].serve; + } + }); + if (haveAnyItem > 1) { + timearr.value[flyNumber.value.index0].children[flyNumber.value.index1] = { value: "", serve: saveServe }; + } else { + timearr.value[flyNumber.value.index0].children[flyNumber.value.index1] = { value: "" }; + } + timearr.value[indexsave.value[0]].children[savaIndex] = object; + const parentHour = parseInt(timearr.value[indexsave.value[0]].time, 10); + object.time = object.time.split("-").map((item) => { + const parts = item.split(":"); + return `${parentHour}:${parts[1]}`; + }).join("-"); + const shouldAdd = timearr.value.some((obj) => { + const children = obj.children; + return children[children.length - 1].value.trim() !== ""; + }); + if (shouldAdd) { + timearr.value.forEach((obj) => { + obj.children.push({ value: "" }); + }); + scrollTop.value = 999; + scrollTop.value = 9999; + } + } + }; + const scrollContainer = vue.ref(null); const movetoruler = async () => { songisopen.value = false; isweek.value = true; let savaIndex = -1; let emptyChildIndices = []; + if (openOp.value === 2) { + scrollLeft.value = 1; + vue.nextTick(() => { + scrollLeft.value = 0; + bottomItems.value.unshift({ + name: cardsumit.value.op.name, + url: "/static/index/ou.png", + target: `#00a8ff` + }); + setTimeout(() => { + bottomItems.value[0].target = `#fff`; + }, 1500); + setTimeout(() => { + bottomItems.value[0].target = ""; + }, 3e3); + }); + return; + } timearr.value.forEach((res, rowIndex) => { emptyChildIndices = []; res.children.forEach((child, index) => { @@ -2577,25 +2837,18 @@ if (uni.restoreGlobal) { if (savaIndex === -1) { savaIndex = emptyChildIndices[0]; } - if (savaIndex !== -1) { - let saveserve = bigArray[cardsumit.value.op.index[0]].data[cardsumit.value.op.index[1]].type; - timearr.value.forEach((element, index) => { - element.children[savaIndex].serve = saveserve; - element.serve = saveserve; - }); - if (!openOp.value) { - timearr.value[indexsave.value[0]].children[savaIndex].type = "日常"; - } else if (openOp.value === 1) { - timearr.value[indexsave.value[0]].children[savaIndex].type = cardsumit.value.weekTime || cardsumit.value.monthTime + "号"; - } else if (openOp.value === 2) { - bottomItems.value.push({ - name: cardsumit.value.op.name, - url: "/static/index/ou.png" - }); - return; - } - timearr.value[indexsave.value[0]].children[savaIndex].value = cardsumit.value.op.name; + let saveserve = bigArray[cardsumit.value.op.index[0]].data[cardsumit.value.op.index[1]].type; + await vue.nextTick(); + timearr.value.forEach((element, index) => { + element.children[savaIndex].serve = saveserve; + element.serve = saveserve; + }); + if (!openOp.value) { + timearr.value[indexsave.value[0]].children[savaIndex].type = "日常"; + } else if (openOp.value === 1) { + timearr.value[indexsave.value[0]].children[savaIndex].type = cardsumit.value.weekTime || cardsumit.value.monthTime + "号"; } + timearr.value[indexsave.value[0]].children[savaIndex].value = cardsumit.value.op.name; const startHour = Number(openValue.value.time); const startMinute = Number(cardsumit.value.startTime); const endMinute = startMinute + 10; @@ -2621,7 +2874,9 @@ if (uni.restoreGlobal) { } }; __expose({ - rulerEnd + rulerEnd, + rulerMoveEnd, + nextItems }); const moveNumber = vue.ref({ index0: 999, @@ -2855,16 +3110,25 @@ if (uni.restoreGlobal) { } ]); function splitString(str) { - let index = str.indexOf("("); - if (index === -1) { - index = str.indexOf("("); + let result = []; + let remainingStr = str; + let regex = /([^((]*)[((]([^))]+)[))]/; + while (regex.test(remainingStr)) { + let match = remainingStr.match(regex); + if (match) { + if (match[1].trim()) { + result.push(match[1].trim()); + } + if (match[2].trim()) { + result.push(match[2].trim()); + } + remainingStr = remainingStr.replace(match[0], "").trim(); + } } - if (index !== -1) { - const firstPart = str.substring(0, index); - const secondPart = str.substring(index); - return [firstPart, secondPart]; + if (remainingStr.trim()) { + result.push(remainingStr.trim()); } - return [str]; + return result; } const bigArray = [ { @@ -3077,7 +3341,7 @@ if (uni.restoreGlobal) { "color": "#FFC363", "data": [ { "type": "被褥调整", "data": "老人踢蹬被褥,调成被褥", "op": 0 }, - { "type": "被褥调整", "data": "老人踢蹬被褥,调成被褥", "op": 1 }, + { "type": "被褥调整(超时1)(超时2)", "data": "老人踢蹬被褥,调成被褥", "op": 1 }, { "type": "被褥调整", "data": "老人踢蹬被褥,调成被褥", "op": 2 } ] } @@ -3159,7 +3423,7 @@ if (uni.restoreGlobal) { { "type": "一级压疮防护", "data": "准备好体位垫.整理好衣物.进行翻身.扣背" }, { "type": "二级压疮防护", "data": "翻身扣背垫枕开始操作" }, { "type": "三级压疮防护", "data": "带压疮翻身扣背垫枕.进行操作" }, - { "type": "一级压疮防护(大体重)", "data": "" }, + { "type": "一级压疮防护(大体重)(小体重)", "data": "" }, { "type": "二级压疮防护(大体重)", "data": "" }, { "type": "三级压疮防护(大体重)", "data": "" } ] @@ -3247,19 +3511,20 @@ if (uni.restoreGlobal) { ] } ]; - const __returned__ = { props, bottomItems, timeArray, weekDays, days, isweek, scrollTop, downList, rightList, isopen, songisopen, isopacity, songisopacity, currentNumber, changecurrentNumber, getClass, doctorsayList, rightListIndex, upmenuIndex, downmenuIndex, underFans, roomTar, emit, darkFanschange, changLeft, rightListClick, timer, elementsInfo, moveX, moveY, openX, openY, flyNumber, deletebottom, rulerTouchStart, rulerTouchMove, rulerTouchEnd, deleteRuler, longPressTimer, isScrolling, get scrollTimeout() { + const __returned__ = { props, bottomItems, timeArray, weekDays, days, isweek, scrollLeft, scrollTop, downList, rightList, isopen, songisopen, isopacity, songisopacity, deleteisopen, deletename, deleteisopacity, currentNumber, scrollKey, pseudoRandom, computeDelay, changecurrentNumber, dragOffset, moveDownNumber, handleScrolltime, changeBug, nextItems, getClass, doctorsayList, rightListIndex, upmenuIndex, downmenuIndex, underFans, roomTar, emit, darkFanschange, changLeft, rightListClick, timer, elementsInfo, moveX, moveY, openX, openY, flyNumber, deletebottomindex, deletedownisopen, deletedownisopacity, deletebottom, deleteindex, deleteItems, rulerTouchClick, shakyTable, rulerTouchStart, rulerTouchMove, rulerTouchEnd, deleteRuler, longPressTimer, isScrolling, get scrollTimeout() { return scrollTimeout; }, set scrollTimeout(v) { scrollTimeout = v; - }, handleScroll, isBack, saveX, saveY, handleTouchStart, isblue, handleTouchMove, handleTouchEnd, bottomTimer, bottomisShaking, bottomTouchStart, bottomTouchEnd, openValue, cardsumit, openOp, clickOp, clickTime, clickweek, clickmonth, indexsave, rulerEnd, movetoruler, moveNumber, timearr, splitString, bigArray }; + }, handleScroll, isBack, saveX, saveY, isTuoing, redNameindex0, handleTouchStart, isblue, handleTouchMove, handleTouchEnd, bottomTimer, bottomisShaking, bottomTouchStart, bottomTouchMove, bottomTouchEnd, openValue, cardsumit, openOp, clickOp, clickTime, clickweek, clickmonth, indexsave, rulerEnd, rulerMoveEnd, scrollContainer, movetoruler, moveNumber, timearr, splitString, bigArray }; Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); return __returned__; } }); const _imports_0$1 = "/static/index/shexiang.png"; const _imports_1 = "/static/index/cheng.png"; + const _imports_2 = "/static/index/deleteicon.png"; function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) { - var _a, _b, _c, _d, _e, _f; + var _a, _b, _c, _d; return vue.openBlock(), vue.createElementBlock( vue.Fragment, null, @@ -3270,7 +3535,10 @@ if (uni.restoreGlobal) { { class: "right-container", style: vue.normalizeStyle($props.isshow ? { opacity: `1` } : { opacity: `0` }), - onClick: _cache[13] || (_cache[13] = ($event) => $setup.bottomisShaking = false) + onClick: _cache[20] || (_cache[20] = ($event) => { + $setup.bottomisShaking = false; + $setup.shakyTable = false; + }) }, [ vue.createElementVNode("view", { class: "right-container-title-nav" }, [ @@ -3401,7 +3669,7 @@ if (uni.restoreGlobal) { vue.createElementVNode("view", null, [ vue.createElementVNode("view", { class: "doctorsay-container-card", - style: { "background": "linear-gradient(135deg, #f78499 0%, #f56f87 100%)" } + style: { "background": "linear-gradient(135deg, #01e7be 0%, #0080dd 100%)" } }, [ vue.createElementVNode("image", { class: "doctorsay-container-card-img", @@ -3494,6 +3762,7 @@ if (uni.restoreGlobal) { vue.createElementVNode("view", { class: "super-card" }, [ vue.createElementVNode("view", { class: "super-card-container" }, [ vue.createElementVNode("swiper", { + "disable-touch": !$props.canmove || $setup.shakyTable, current: $setup.currentNumber, class: "scroll-x", circular: "", @@ -3507,7 +3776,7 @@ if (uni.restoreGlobal) { null, vue.renderList([1, 2, 3, 4], (item, index) => { return vue.createElementVNode("swiper-item", { key: index }, [ - vue.createElementVNode("view", { style: { "display": "flex" } }, [ + vue.createElementVNode("view", { style: { "display": "flex", "box-shadow": "10rpx 10rpx 20rpx rgba(0, 0, 0, 0.1)", "background": "linear-gradient(to right, #c4dbf4,#c9c2ef, #c6dcf3)" } }, [ (vue.openBlock(true), vue.createElementBlock( vue.Fragment, null, @@ -3517,7 +3786,7 @@ if (uni.restoreGlobal) { "view", { class: "super-card-time", - style: vue.normalizeStyle($setup.rightListIndex ? { width: "275rpx" } : { width: "206rpx" }) + style: vue.normalizeStyle($setup.rightListIndex ? { width: "274rpx" } : { width: "206rpx" }) }, vue.toDisplayString(item0.time + ":00"), 5 @@ -3533,7 +3802,8 @@ if (uni.restoreGlobal) { vue.createElementVNode("scroll-view", { style: vue.normalizeStyle([{ "height": "100%" }, $setup.rightListIndex ? { width: "6700rpx" } : { width: "5000rpx" }]), "scroll-top": $setup.scrollTop, - "scroll-y": "", + "scroll-y": $props.canmove && !$setup.shakyTable, + onScroll: $setup.handleScrolltime, "show-scrollbar": false }, [ vue.createElementVNode("view", { style: { "display": "flex", "height": "100%" } }, [ @@ -3546,7 +3816,7 @@ if (uni.restoreGlobal) { "view", { class: "super-card-time-und", - style: vue.normalizeStyle($setup.rightListIndex ? { width: "275rpx" } : { width: "206rpx" }) + style: vue.normalizeStyle($setup.rightListIndex ? { width: "274rpx" } : { width: "206rpx" }) }, [ (vue.openBlock(true), vue.createElementBlock( @@ -3561,6 +3831,7 @@ if (uni.restoreGlobal) { class: "super-card-time-card", id: `a${index0}_${index1}`, style: { "position": "relative" }, + onClick: ($event) => $setup.rulerTouchClick(item1, index0, index1, $event), onTouchstart: ($event) => $setup.rulerTouchStart(item1, index0, index1, $event), onTouchmove: $setup.rulerTouchMove, onTouchend: _cache[2] || (_cache[2] = ($event) => $setup.rulerTouchEnd()), @@ -3570,26 +3841,31 @@ if (uni.restoreGlobal) { vue.createCommentVNode(" 气泡 "), vue.withDirectives(vue.createElementVNode( "view", - { - class: "boom", - style: vue.normalizeStyle(index1 > item0.children.length / 2 - 1 ? { background: `linear-gradient(to bottom, #f1eeff, #e3deff)` } : { background: `linear-gradient(to bottom, #fff1db, #ffe2b2)` }) - }, + { class: "boom" }, vue.toDisplayString(item1.serve), - 5 - /* TEXT, STYLE */ + 513 + /* TEXT, NEED_PATCH */ ), [ [vue.vShow, !$props.canmove && $props.liang.index1 === index1 && item1.serve && !index0] ]), + item1.value && $setup.shakyTable ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "title-time-delete", + onClick: vue.withModifiers(($event) => $setup.deleteItems(item1.value, index0, index1), ["stop"]) + }, " - ", 8, ["onClick"])), [ + [vue.vShow, $props.liang.index0 !== index0 || $props.liang.index1 !== index1 || $props.canmove] + ]) : vue.createCommentVNode("v-if", true), vue.createElementVNode( "view", { class: vue.normalizeClass($setup.getClass(item1, index0, index1)), - style: { "font-size": "30rpx" } + style: vue.normalizeStyle([{ "font-size": "30rpx", "overflow": "hidden" }, { animationDelay: `-${$setup.computeDelay(index0, index1).toFixed(2)}s` }]) }, [ - vue.withDirectives(vue.createElementVNode( + item1.time ? vue.withDirectives((vue.openBlock(), vue.createElementBlock( "view", { + key: 0, class: "title-time", style: { "margin-top": "5rpx" } }, @@ -3604,9 +3880,10 @@ if (uni.restoreGlobal) { 1 /* TEXT */ ), + vue.createCommentVNode(' '), vue.createElementVNode("image", { class: "title-time-button", - src: item1.type == "日常" ? `/static/index/yellowbian.png` : `/static/index/pouplebian.png` + src: item1.type == "日常" ? `/static/index/yellowbian.png` : `/static/index/puoplebian.png` }, null, 8, ["src"]), vue.createElementVNode( "view", @@ -3614,54 +3891,64 @@ if (uni.restoreGlobal) { vue.toDisplayString(item1.type), 1 /* TEXT */ - ), - vue.createCommentVNode(' \r\n {{item1.type}}\r\n ') - ], - 512 - /* NEED_PATCH */ - ), [ - [vue.vShow, item1.time] - ]), - vue.withDirectives(vue.createElementVNode( - "view", - { style: { "margin-top": "-15rpx", "font-weight": "700" } }, - vue.toDisplayString($setup.splitString(item1.value)[0]), - 513 - /* TEXT, NEED_PATCH */ - ), [ - [vue.vShow, !$setup.splitString(item1.value)[1]] - ]), - vue.withDirectives(vue.createElementVNode( - "view", - { style: { "margin-top": "-15rpx", "font-weight": "700" } }, - vue.toDisplayString($setup.splitString(item1.value)[0]), - 513 - /* TEXT, NEED_PATCH */ - ), [ - [vue.vShow, $setup.splitString(item1.value)[1]] - ]), - vue.withDirectives(vue.createElementVNode( - "view", - { style: { "margin-top": "-15rpx", "width": "100%", "background-color": "rgb(255, 206, 216)" } }, - [ - vue.createElementVNode( - "view", - { class: "" }, - vue.toDisplayString($setup.splitString(item1.value)[1]), - 1 - /* TEXT */ ) ], 512 /* NEED_PATCH */ + )), [ + [vue.vShow, $props.liang.index0 !== index0 || $props.liang.index1 !== index1 || $props.canmove] + ]) : vue.createCommentVNode("v-if", true), + vue.withDirectives(vue.createElementVNode( + "view", + { style: { "margin-top": "20rpx", "font-weight": "700" } }, + vue.toDisplayString($setup.splitString(item1.value)[0]), + 513 + /* TEXT, NEED_PATCH */ ), [ - [vue.vShow, $setup.splitString(item1.value)[1]] - ]) + [vue.vShow, $props.liang.index0 !== index0 || $props.liang.index1 !== index1 || $props.canmove] + ]), + $setup.splitString(item1.value)[1] ? vue.withDirectives((vue.openBlock(), vue.createElementBlock( + "view", + { + key: 1, + class: "down-icons", + style: vue.normalizeStyle(item1.type != "日常" ? { backgroundColor: `rgb(212,203,255)` } : {}) + }, + [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.splitString(item1.value).slice(1), (item2, index2) => { + return vue.openBlock(), vue.createElementBlock("view", { + class: "", + key: index2 + }, [ + vue.createElementVNode( + "view", + { + class: "icon", + style: vue.normalizeStyle(item1.type != "日常" ? { backgroundColor: `rgb(123,97,255)` } : {}) + }, + vue.toDisplayString($setup.splitString(item1.value)[index2 + 1]), + 5 + /* TEXT, STYLE */ + ) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ], + 4 + /* STYLE */ + )), [ + [vue.vShow, $props.liang.index0 !== index0 || $props.liang.index1 !== index1 || $props.canmove] + ]) : vue.createCommentVNode("v-if", true) ], - 2 - /* CLASS */ + 6 + /* CLASS, STYLE */ ) - ], 40, ["id", "onTouchstart", "data-index0", "data-index1"]) + ], 40, ["id", "onClick", "onTouchstart", "data-index0", "data-index1"]) ]); }), 128 @@ -3677,73 +3964,82 @@ if (uni.restoreGlobal) { /* KEYED_FRAGMENT */ )) ]) - ], 12, ["scroll-top"]) + ], 44, ["scroll-top", "scroll-y"]) ]) ]); }), 64 /* STABLE_FRAGMENT */ )) - ], 40, ["current"]) + ], 40, ["disable-touch", "current"]) ]) ]), vue.createElementVNode("view", { class: "super-card-end" }, [ vue.createElementVNode("view", { class: "super-end-father" }, [ vue.createElementVNode("view", { class: "super-end-font-father" }, [ vue.createElementVNode("view", { class: "super-end-font-gun" }), - vue.createElementVNode("view", { class: "super-end-font-font" }, "快捷指令") + vue.createElementVNode("view", { class: "super-end-font-font" }, "即时指令") ]), - vue.createElementVNode("view", { class: "super-end-items" }, [ - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList($setup.bottomItems, (item, index) => { - return vue.openBlock(), vue.createElementBlock("view", { key: index }, [ - vue.createElementVNode( - "view", - { - onTouchstart: $setup.bottomTouchStart, - onTouchend: $setup.bottomTouchEnd, - class: "super-end-items-father" - }, - [ - vue.withDirectives(vue.createElementVNode("view", { - class: "super-end-items-father-close-father", - onClick: vue.withModifiers(($event) => $setup.deletebottom(index), ["stop"]) - }, " × ", 8, ["onClick"]), [ - [vue.vShow, $setup.bottomisShaking] - ]), - vue.createElementVNode( - "view", - { - class: vue.normalizeClass($setup.bottomisShaking ? `super-end-items-img-father-active` : `super-end-items-img-father`) - }, - [ - vue.createElementVNode("image", { - class: "super-end-items-img", - src: item.url - }, null, 8, ["src"]) - ], - 2 - /* CLASS */ - ), - vue.createElementVNode( - "view", - { class: "super-end-items-font" }, - vue.toDisplayString(item.name), - 1 - /* TEXT */ - ) - ], - 32 - /* NEED_HYDRATION */ - ) - ]); - }), - 128 - /* KEYED_FRAGMENT */ - )) - ]) + vue.createElementVNode("scroll-view", { + "scroll-x": "", + class: "super-end-items-all", + "scroll-left": $setup.scrollLeft + }, [ + vue.createElementVNode("view", { class: "super-end-items" }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.bottomItems, (item, index) => { + return vue.openBlock(), vue.createElementBlock("view", { key: index }, [ + vue.createElementVNode( + "view", + { + onTouchstart: $setup.bottomTouchStart, + onTouchmove: $setup.bottomTouchMove, + onTouchend: $setup.bottomTouchEnd, + style: vue.normalizeStyle(item.target ? { background: item.target, transition: `all 1.5s ease-in-out` } : { transition: `all 1.5s ease-in-out` }), + class: "super-end-items-father" + }, + [ + vue.withDirectives(vue.createElementVNode("view", { + class: "super-end-items-father-close-father", + onClick: vue.withModifiers(($event) => $setup.deletebottom(index, item.name), ["stop"]) + }, " - ", 8, ["onClick"]), [ + [vue.vShow, $setup.bottomisShaking] + ]), + vue.createElementVNode( + "view", + { + style: vue.normalizeStyle({ animationDelay: `-${index * 0.1}s` }), + class: vue.normalizeClass($setup.bottomisShaking ? `super-end-items-img-father-active` : `super-end-items-img-father`) + }, + [ + vue.createElementVNode("image", { + class: "super-end-items-img", + src: item.url + }, null, 8, ["src"]) + ], + 6 + /* CLASS, STYLE */ + ), + vue.createElementVNode( + "view", + { class: "super-end-items-font" }, + vue.toDisplayString(item.name), + 1 + /* TEXT */ + ) + ], + 36 + /* STYLE, NEED_HYDRATION */ + ) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ]) + ], 8, ["scroll-left"]) ]) ]) ]) @@ -3753,7 +4049,7 @@ if (uni.restoreGlobal) { "view", { class: "popup-overlay", - onClick: _cache[5] || (_cache[5] = ($event) => { + onClick: _cache[4] || (_cache[4] = ($event) => { $setup.isopen = false; $setup.flyNumber.index0 = 999; }) @@ -3764,7 +4060,7 @@ if (uni.restoreGlobal) { { class: "popup-overlay-content", style: vue.normalizeStyle({ top: 2 * $setup.openY - 350 + "rpx", left: 2 * $setup.openX - 780 + "rpx", opacity: $setup.isopacity ? 1 : 0, backgroundColor: ((_b = (_a = $setup.timearr[$setup.flyNumber.index0]) == null ? void 0 : _a.children[$setup.flyNumber.index1]) == null ? void 0 : _b.type) === "日常" ? "#fffcf6" : "rgb(246, 244, 254)" }), - onClick: _cache[4] || (_cache[4] = vue.withModifiers(() => { + onClick: _cache[3] || (_cache[3] = vue.withModifiers(() => { }, ["stop"])) }, [ @@ -3782,11 +4078,6 @@ if (uni.restoreGlobal) { ) ]), vue.createElementVNode("view", { class: "popup-overlay-content-right" }, [ - vue.createElementVNode("image", { - class: "right-crush", - src: ((_f = (_e = $setup.timearr[$setup.flyNumber.index0]) == null ? void 0 : _e.children[$setup.flyNumber.index1]) == null ? void 0 : _f.type) === "日常" ? `/static/index/crushyellow.png` : `/static/index/crushpouple.png`, - onClick: _cache[3] || (_cache[3] = ($event) => $setup.deleteRuler($setup.flyNumber.index0, $setup.flyNumber.index1)) - }, null, 8, ["src"]), vue.createElementVNode("view", { class: "time-font" }, " 10:00 - 10:10 "), vue.createElementVNode("view", { class: "time-text" }, " 为老人提供口腔清洁器具,牙膏、牙刷及水杯,看护完成 ") ]) @@ -3804,14 +4095,14 @@ if (uni.restoreGlobal) { $setup.songisopen ? (vue.openBlock(), vue.createElementBlock("view", { key: 0, class: "popup-song", - onClick: _cache[12] || (_cache[12] = ($event) => $setup.songisopen = false) + onClick: _cache[11] || (_cache[11] = ($event) => $setup.songisopen = false) }, [ vue.createElementVNode( "view", { class: "popup-song-contain", style: vue.normalizeStyle({ opacity: $setup.songisopacity ? 1 : 0 }), - onClick: _cache[11] || (_cache[11] = vue.withModifiers(() => { + onClick: _cache[10] || (_cache[10] = vue.withModifiers(() => { }, ["stop"])) }, [ @@ -3841,7 +4132,7 @@ if (uni.restoreGlobal) { vue.renderList($setup.openValue.array, (item, index) => { return vue.openBlock(), vue.createElementBlock("view", { key: index }, [ vue.createElementVNode("view", { - style: { "position": "relative" }, + style: { "position": "relative", "box-shadow": "10rpx 10rpx 20rpx rgba(105, 129, 178, 0.4)" }, class: vue.normalizeClass($setup.cardsumit.op.index[2] === index ? `arrayindex-one-target` : `arrayindex-one`), onClick: ($event) => $setup.clickOp(index, item.type, item.op) }, [ @@ -3948,7 +4239,7 @@ if (uni.restoreGlobal) { "view", { class: vue.normalizeClass($setup.isweek ? `radio-circle-target` : `radio-circle`), - onClick: _cache[6] || (_cache[6] = ($event) => { + onClick: _cache[5] || (_cache[5] = ($event) => { $setup.isweek = true; $setup.cardsumit.monthTime = ""; }) @@ -3959,7 +4250,7 @@ if (uni.restoreGlobal) { ), vue.createElementVNode("view", { class: "radio-font", - onClick: _cache[7] || (_cache[7] = ($event) => { + onClick: _cache[6] || (_cache[6] = ($event) => { $setup.isweek = true; $setup.cardsumit.monthTime = ""; }) @@ -3968,7 +4259,7 @@ if (uni.restoreGlobal) { "view", { class: vue.normalizeClass(!$setup.isweek ? `radio-circle-target` : `radio-circle`), - onClick: _cache[8] || (_cache[8] = ($event) => { + onClick: _cache[7] || (_cache[7] = ($event) => { $setup.isweek = false; $setup.cardsumit.weekTime = ""; }) @@ -3979,7 +4270,7 @@ if (uni.restoreGlobal) { ), vue.createElementVNode("view", { class: "radio-font", - onClick: _cache[9] || (_cache[9] = ($event) => { + onClick: _cache[8] || (_cache[8] = ($event) => { $setup.isweek = false; $setup.cardsumit.weekTime = ""; }) @@ -4063,7 +4354,7 @@ if (uni.restoreGlobal) { ]), vue.createElementVNode("view", { class: "button-father-wrong", - onClick: _cache[10] || (_cache[10] = ($event) => $setup.songisopen = false), + onClick: _cache[9] || (_cache[9] = ($event) => $setup.songisopen = false), style: { "margin-left": "20rpx" } }, " 取消 ") ]) @@ -4073,7 +4364,106 @@ if (uni.restoreGlobal) { 4 /* STYLE */ ) - ])) : vue.createCommentVNode("v-if", true) + ])) : vue.createCommentVNode("v-if", true), + vue.createCommentVNode(" 删除表格的的弹出层 "), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "popup-delete", + onClick: _cache[15] || (_cache[15] = ($event) => $setup.deleteisopen = false) + }, + [ + vue.createElementVNode( + "view", + { + class: "popup-delete-content", + style: vue.normalizeStyle({ opacity: $setup.deleteisopacity ? 1 : 0 }), + onClick: _cache[14] || (_cache[14] = vue.withModifiers(() => { + }, ["stop"])) + }, + [ + vue.createElementVNode("image", { + class: "popup-delete-img", + src: _imports_2 + }), + vue.createElementVNode( + "view", + { class: "popup-delete-text" }, + " 确定要删除 " + vue.toDisplayString($setup.deletename) + " 吗? ", + 1 + /* TEXT */ + ), + vue.createElementVNode("view", { class: "popup-delete-button" }, [ + vue.createElementVNode("view", { + class: "popup-delete-button-right", + onClick: _cache[12] || (_cache[12] = ($event) => $setup.deleteisopen = false) + }, " 取消 "), + vue.createElementVNode("view", { + class: "popup-delete-button-left", + onClick: _cache[13] || (_cache[13] = ($event) => $setup.deleteRuler($setup.deleteindex[0], $setup.deleteindex[1])) + }, " 确定 ") + ]) + ], + 4 + /* STYLE */ + ) + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.deleteisopen] + ]), + vue.createCommentVNode(" 删除下方菜单的的弹出层 "), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "popup-delete", + onClick: _cache[19] || (_cache[19] = ($event) => $setup.deletedownisopen = false) + }, + [ + vue.createElementVNode( + "view", + { + class: "popup-delete-content", + style: vue.normalizeStyle({ opacity: $setup.deletedownisopacity ? 1 : 0 }), + onClick: _cache[18] || (_cache[18] = vue.withModifiers(() => { + }, ["stop"])) + }, + [ + vue.createElementVNode("image", { + class: "popup-delete-img", + src: _imports_2 + }), + vue.createElementVNode( + "view", + { class: "popup-delete-text" }, + " 确定要删除 " + vue.toDisplayString($setup.deletename) + " 吗? ", + 1 + /* TEXT */ + ), + vue.createElementVNode("view", { class: "popup-delete-button" }, [ + vue.createElementVNode("view", { + class: "popup-delete-button-right", + onClick: _cache[16] || (_cache[16] = ($event) => $setup.deletedownisopen = false) + }, " 取消 "), + vue.createElementVNode("view", { + class: "popup-delete-button-left", + onClick: _cache[17] || (_cache[17] = ($event) => { + $setup.bottomItems.splice($setup.deletebottomindex, 1); + $setup.deletedownisopen = false; + }) + }, " 确定 ") + ]) + ], + 4 + /* STYLE */ + ) + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.deletedownisopen] + ]) ], 4 /* STYLE */ @@ -4084,20 +4474,6 @@ if (uni.restoreGlobal) { ); } const rightItemssecond = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["render", _sfc_render$3], ["__scopeId", "data-v-337bb5da"], ["__file", "D:/hldy_app/component/rightItemssecond/index.vue"]]); - const ON_SHOW = "onShow"; - const ON_LOAD = "onLoad"; - function formatAppLog(type, filename, ...args) { - if (uni.__log__) { - uni.__log__(type, filename, ...args); - } else { - console[type].apply(console, [...args, filename]); - } - } - const createHook = (lifecycle) => (hook, target = vue.getCurrentInstance()) => { - !vue.isInSSRComponentSetup && vue.injectHook(lifecycle, hook, target); - }; - const onShow = /* @__PURE__ */ createHook(ON_SHOW); - const onLoad = /* @__PURE__ */ createHook(ON_LOAD); const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({ __name: "index", setup(__props, { expose: __expose }) { @@ -4157,19 +4533,30 @@ if (uni.restoreGlobal) { index0: 999, index1: 999 }); + const canTrigger = vue.ref(true); const getxyrel = (event) => { + var _a; const touch = event.touches[0]; clientX.value = 2 * (Math.floor(touch.clientX) - 100); clientY.value = 2 * (Math.floor(touch.clientY) - 55); const translateX = Math.floor(touch.clientX) - 50; const translateY = Math.floor(touch.clientY) - 25; const clickedItem = fangkuaiValue.value.find((item) => { - return translateX >= item.left && translateX <= item.right && translateY >= item.top && translateY <= item.bottom; + if (translateX >= item.left && translateX <= item.right && translateY >= item.top && translateY <= item.bottom) + ; + return translateX >= Math.floor(item.left) && translateX <= Math.floor(item.right) && translateY >= Math.floor(item.top) && translateY <= Math.floor(item.bottom); }); if (clickedItem) { const { index0, index1 } = clickedItem.dataset; indexNumber.value.index0 = index0; indexNumber.value.index1 = index1; + if (clientX.value > 2050 && canTrigger.value) { + (_a = ruler.value) == null ? void 0 : _a.nextItems(); + canTrigger.value = false; + setTimeout(() => { + canTrigger.value = true; + }, 1e3); + } } else { indexNumber.value.index0 = 999; indexNumber.value.index1 = 999; @@ -4182,14 +4569,23 @@ if (uni.restoreGlobal) { canmove.value = false; fangkuaiValue.value = fangkuai; }; + const changefangkuang = (fangkuang) => { + fangkuaiValue.value = fangkuang; + formatAppLog("log", "at pages/index/index.vue:178", "!!!!", fangkuaiValue.value); + }; + const saveruler = vue.ref({}); + const openruler = (res, fangkuai) => { + saveruler.value = res; + canmove.value = false; + fangkuaiValue.value = fangkuai; + }; const closename = () => { savename.value = ""; canmove.value = true; - fangkuaiValue.value = []; }; const ruler = vue.ref(null); const cleanall = () => { - var _a; + var _a, _b; clientX.value = 9999; clientY.value = 9999; canmove.value = true; @@ -4197,8 +4593,13 @@ if (uni.restoreGlobal) { index0: 999, index1: 999 }; - (_a = ruler.value) == null ? void 0 : _a.rulerEnd(savename.value); + if (savename.value) { + (_a = ruler.value) == null ? void 0 : _a.rulerEnd(savename.value); + } else if (saveruler.value.type) { + (_b = ruler.value) == null ? void 0 : _b.rulerMoveEnd(saveruler.value); + } savename.value = ""; + saveruler.value = {}; }; function throttle(fn, delay) { let lastExecutionTime = 0; @@ -4210,12 +4611,33 @@ if (uni.restoreGlobal) { } }; } + function splitString(str) { + let result = []; + let remainingStr = str; + let regex = /([^((]*)[((]([^))]+)[))]/; + while (regex.test(remainingStr)) { + let match = remainingStr.match(regex); + if (match) { + if (match[1].trim()) { + result.push(match[1].trim()); + } + if (match[2].trim()) { + result.push(match[2].trim()); + } + remainingStr = remainingStr.replace(match[0], "").trim(); + } + } + if (remainingStr.trim()) { + result.push(remainingStr.trim()); + } + return result; + } onShow(() => { setTimeout(() => { changeMenu(menuIndex.value); }, 50); }); - const __returned__ = { iconList, menuIndex, menuIndexshow, menuIndexshowsecond, darkFans, roomTar, firstcurrentIndex, firstcurrentIndexup, secondcurrentIndexup, secondcurrentIndex, thirdcurrentIndex, darkchange, changeMenu, clientX, clientY, savename, canmove, indexNumber, getxyrel, getxy, fangkuaiValue, openname, closename, ruler, cleanall, throttle, rightItemsfirst, rightItemssecond }; + const __returned__ = { iconList, menuIndex, menuIndexshow, menuIndexshowsecond, darkFans, roomTar, firstcurrentIndex, firstcurrentIndexup, secondcurrentIndexup, secondcurrentIndex, thirdcurrentIndex, darkchange, changeMenu, clientX, clientY, savename, canmove, indexNumber, canTrigger, getxyrel, getxy, fangkuaiValue, openname, changefangkuang, saveruler, openruler, closename, ruler, cleanall, throttle, splitString, rightItemsfirst, rightItemssecond }; Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); return __returned__; } @@ -4242,6 +4664,95 @@ if (uni.restoreGlobal) { ), [ [vue.vShow, $setup.savename && $setup.clientX] ]), + $setup.saveruler.type ? (vue.openBlock(), vue.createElementBlock( + "view", + { + key: 0, + class: vue.normalizeClass($setup.saveruler.type == "日常" ? `title-time-border-yellow` : `title-time-border-pouple`), + style: vue.normalizeStyle([{ top: `${$setup.clientY}rpx`, left: `${$setup.clientX}rpx` }, { "font-size": "30rpx", "overflow": "hidden" }]) + }, + [ + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "title-time", + style: { "margin-top": "5rpx" } + }, + [ + vue.createElementVNode( + "view", + { + class: "title-time-time", + style: { "font-size": "30rpx" } + }, + vue.toDisplayString($setup.saveruler.time), + 1 + /* TEXT */ + ), + vue.createElementVNode("image", { + class: "title-time-button", + src: $setup.saveruler.type == "日常" ? `/static/index/yellowbian.png` : `/static/index/puoplebian.png` + }, null, 8, ["src"]), + vue.createElementVNode( + "view", + { class: "title-time-font" }, + vue.toDisplayString($setup.saveruler.type), + 1 + /* TEXT */ + ) + ], + 512 + /* NEED_PATCH */ + ), [ + [vue.vShow, $setup.saveruler.time] + ]), + vue.createElementVNode( + "view", + { style: { "margin-top": "20rpx", "font-weight": "700" } }, + vue.toDisplayString($setup.splitString($setup.saveruler.value)[0]), + 1 + /* TEXT */ + ), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "down-icons", + style: vue.normalizeStyle($setup.saveruler.type != "日常" ? { backgroundColor: `rgb(212,203,255)` } : {}) + }, + [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($setup.splitString($setup.saveruler.value).slice(1), (item, index) => { + return vue.openBlock(), vue.createElementBlock("view", { + class: "", + key: index + }, [ + vue.createElementVNode( + "view", + { + class: "icon", + style: vue.normalizeStyle($setup.saveruler.type != "日常" ? { backgroundColor: `rgb(123,97,255)` } : {}) + }, + vue.toDisplayString($setup.splitString($setup.saveruler.value)[1]), + 5 + /* TEXT, STYLE */ + ) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ], + 4 + /* STYLE */ + ), [ + [vue.vShow, $setup.splitString($setup.saveruler.value)[1]] + ]) + ], + 6 + /* CLASS, STYLE */ + )) : vue.createCommentVNode("v-if", true), vue.createElementVNode("view", { class: "left-container" }, [ vue.createElementVNode("view", { class: "left-head" }, [ vue.createElementVNode("image", { @@ -4310,6 +4821,8 @@ if (uni.restoreGlobal) { darkFans: $setup.darkFans, onDarkchange: $setup.darkchange, onSavename: $setup.openname, + onSaveruler: $setup.openruler, + onChangefangkuang: $setup.changefangkuang, onCleanname: $setup.closename }, null, 8, ["liang", "isshow", "canmove", "darkFans"]), [ [vue.vShow, $setup.menuIndex == 1] diff --git a/unpackage/dist/dev/app-plus/pages/index/index.css b/unpackage/dist/dev/app-plus/pages/index/index.css index a204355..06080ce 100644 --- a/unpackage/dist/dev/app-plus/pages/index/index.css +++ b/unpackage/dist/dev/app-plus/pages/index/index.css @@ -3323,28 +3323,32 @@ justify-content: center; width: 100%; height: calc(100% - 12.5rem); - margin-top: 0.9375rem; } .super-card .scroll-x[data-v-337bb5da] { height: 100%; width: 100%; } .super-card .super-card-container[data-v-337bb5da] { - background-color: #f1f7fd; + /* 设置背景图和白色背景 */ + background: url("../../static/index/clearmountain.png") center / cover, rgba(255, 255, 255, 0.5); + /* 使用 screen 混合模式,让图像与白色混合变淡 */ + background-blend-mode: screen; + isolation: isolate; overflow: hidden; width: 51.5625rem; height: 28.75rem; border-radius: 0.625rem; - border: 0.03125rem solid black; + border: 0.0625rem solid #fff; + box-shadow: 0.3125rem 0.3125rem 20px rgba(0, 0, 0, 0.1); } .super-card .super-card-time[data-v-337bb5da] { display: flex; justify-content: center; align-items: center; - background-color: #e9efff; height: 2.5rem; width: 3.125rem; - border-right: 0.03125rem solid #BFBFCB; + border-right: 0.03125rem solid transparent; + border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1; font-weight: 700; } .super-card .super-card-time-und[data-v-337bb5da] { @@ -3353,7 +3357,8 @@ align-items: center; width: 3.125rem; flex-direction: column; - border-right: 0.03125rem solid #BFBFCB; + border-right: 0.03125rem solid transparent; + border-image: repeating-linear-gradient(180deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1; } .super-card .super-card-time-card[data-v-337bb5da] { display: flex; @@ -3361,10 +3366,9 @@ align-items: center; height: 6.53125rem; width: calc(100%); - border-right: 0.03125rem solid #BFBFCB; - border-top: 0.03125rem solid #BFBFCB; + border-top: 0.03125rem solid transparent; + border-image: repeating-linear-gradient(90deg, #0184db 0px, #0184db 0.1875rem, transparent 0.1875rem, transparent 0.375rem) 1; flex-direction: column; - background-color: #f3f6fc; position: relative; } .super-card .super-card-time-card .boom[data-v-337bb5da] { @@ -3386,6 +3390,7 @@ text-align: center; z-index: 10; /* 确保文字在容器内居中 */ + background: linear-gradient(to bottom, #ffe2b2, #e3deff); } .right-container[data-v-337bb5da] { width: calc(100% - 7.34375rem); @@ -3442,7 +3447,7 @@ backdrop-filter: blur(0.25rem); width: 9.0625rem; height: 28.125rem; - border-radius: 1.25rem; + border-radius: 0.9375rem; margin-top: 0; box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); /* 右下角阴影 */ @@ -3506,6 +3511,7 @@ transition: all 0.4s ease-in-out; font-weight: 500; font-size: 0.9375rem; + box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); } .right-container .doctorsay-container-view .doctorsay-container-items .doctorsay-container-down .doctorsay-container-button .doctorsay-container-button-gun[data-v-337bb5da] { position: absolute; @@ -3526,10 +3532,16 @@ transition: all 0.4s ease-in-out; } .right-container .doctorsay-container-view .doctorsay-container-container[data-v-337bb5da] { - width: 54.0625rem; - height: 42rem; - background-color: rgba(255, 255, 255, 0.7); - border-radius: 1.875rem; + border: 0.0625rem solid #fff; + width: 53.9375rem; + height: 41.875rem; + /* 设置背景图和白色背景 */ + background: url("../../static/index/lightbgcnew.png") center / cover, rgba(255, 255, 255, 0.3); + -webkit-backdrop-filter: blur(0.625rem); + backdrop-filter: blur(0.625rem); + /* 使用 screen 混合模式,让图像与白色混合变淡 */ + background-blend-mode: screen; + border-radius: 0.9375rem; box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); /* 右下角阴影 */ overflow: hidden; @@ -3544,36 +3556,45 @@ flex-direction: column; width: 100%; } +.right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items-all[data-v-337bb5da] { + width: calc(100% - 2.65625rem); + height: 6.25rem; + margin-left: 1.25rem; + margin-right: 1.25rem; + margin-top: 0.625rem; +} .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items[data-v-337bb5da] { display: flex; - width: calc(100% - 1.875rem); - height: 9.375rem; - margin-left: 0.9375rem; - overflow-x: auto; + width: calc(100% - 2.65625rem); + height: 6.25rem; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father[data-v-337bb5da] { - margin-left: 0.3125rem; - margin-top: 0.46875rem; + margin-right: 0.625rem; width: 4.6875rem; + height: 4.6875rem; display: flex; justify-content: center; align-items: center; flex-direction: column; position: relative; + background: linear-gradient(to bottom right, #fff 0%, #dcdcf9 50%, #dbdcf8 100%); + border-radius: 0.78125rem; + border: 0.0625rem solid #fff; + box-shadow: 0.3125rem 0.3125rem 0.625rem rgba(0, 0, 0, 0.1); + transition: all 1.5s ease-in-out; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-father-close-father[data-v-337bb5da] { width: 1.25rem; height: 1.25rem; border-radius: 50%; display: flex; - background-color: #fff; + background-color: #0184db; justify-content: center; align-items: center; position: absolute; - top: -0.3125rem; - right: 0.46875rem; + top: 0; + right: 0; z-index: 10; - background-color: #02abfe; color: #fff; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father[data-v-337bb5da] { @@ -3581,53 +3602,36 @@ height: 3.125rem; border-radius: 50%; display: flex; - background-color: #fff; justify-content: center; align-items: center; /* 让正方形变成圆 */ } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father .super-end-items-img[data-v-337bb5da] { - width: 2.34375rem; - height: 2.34375rem; + width: 2.65625rem; + height: 2.65625rem; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father-active[data-v-337bb5da] { width: 3.125rem; height: 3.125rem; border-radius: 50%; display: flex; - background-color: #fff; justify-content: center; align-items: center; animation: shake-337bb5da 0.5s infinite; /* 让正方形变成圆 */ } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-img-father-active .super-end-items-img[data-v-337bb5da] { - width: 2.34375rem; - height: 2.34375rem; -} -@keyframes shake-337bb5da { -0% { - transform: rotate(-10deg); -} -25% { - transform: rotate(10deg); -} -50% { - transform: rotate(-10deg); -} -75% { - transform: rotate(10deg); -} -100% { - transform: rotate(-10deg); -} + width: 2.65625rem; + height: 2.65625rem; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-items .super-end-items-father .super-end-items-font[data-v-337bb5da] { - margin-top: 0.3125rem; + margin-top: -0.3125rem; font-size: 0.78125rem; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-font-father[data-v-337bb5da] { display: flex; + margin-top: 0.625rem; + margin-bottom: 0.3125rem; } .right-container .doctorsay-container-view .doctorsay-container-container .super-card-end .super-end-father .super-end-font-father .super-end-font-gun[data-v-337bb5da] { margin-left: 1.25rem; @@ -3644,8 +3648,9 @@ } .right-container .doctorsay-container-view .doctorsay-container-container .doctorsay-container-title[data-v-337bb5da] { width: 100%; - height: 4.0625rem; - background-color: #f1f6fd; + height: 3.28125rem; + /* 设置背景图和白色背景 */ + /* 使用 screen 混合模式,让图像与白色混合变淡 */ display: flex; align-items: center; justify-content: space-between; @@ -3794,29 +3799,121 @@ font-weight: 800; color: white; } +.title-time-delete[data-v-337bb5da] { + width: 1.71875rem; + height: 1.71875rem; + border-radius: 50%; + display: flex; + background-color: #fff; + justify-content: center; + align-items: center; + position: absolute; + top: 0; + right: 0; + z-index: 10; + background-color: #02abfe; + color: #fff; + z-index: 999; + font-size: 1.5625rem; +} .title-time[data-v-337bb5da] { display: flex; + width: 100%; position: relative; } .title-time .title-time-time[data-v-337bb5da] { font-size: 1rem; - margin-right: 2.5rem; - margin-top: -0.3125rem; + margin-left: 1.25rem; + margin-top: 0.375rem; } .title-time .title-time-button[data-v-337bb5da] { position: absolute; - top: -0.875rem; - right: -0.78125rem; - width: 2.5rem; - height: 2.5rem; + top: -0.125rem; + right: -0.125rem; + width: 2.03125rem; + height: 1.875rem; +} +.title-time .title-time-zhejiao[data-v-337bb5da] { + position: absolute; + top: 0; + left: 0.15625rem; + width: 1.25rem; + height: 1.25rem; } .title-time .title-time-font[data-v-337bb5da] { position: absolute; - top: -0.3125rem; - right: -0.625rem; - font-size: 0.78125rem; + top: 0.21875rem; + right: 0.15625rem; + font-size: 0.625rem; color: #fff; } +.popup-delete[data-v-337bb5da] { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + display: flex; + justify-content: center; + align-items: center; + -webkit-backdrop-filter: blur(0.03125rem); + backdrop-filter: blur(0.03125rem); + background-color: rgba(89, 109, 154, 0.4); + /* 添加毛玻璃效果 */ + z-index: 999; +} +.popup-delete .popup-delete-content[data-v-337bb5da] { + position: absolute; + right: 16.09375rem; + display: flex; + flex-direction: column; + align-items: center; + width: 25rem; + height: 15.625rem; + background: url("../../static/index/lightbgcnew.png") center / cover, rgba(255, 255, 255, 0.7); + border: 0.0625rem solid #fff; + /* 使用 screen 混合模式,让图像与白色混合变淡 */ + background-blend-mode: screen; + border-radius: 0.9375rem; + box-shadow: 0.3125rem 0.3125rem 0.625rem rgba(0, 0, 0, 0.1); + transition: opacity 0.4s ease; +} +.popup-delete .popup-delete-content .popup-delete-img[data-v-337bb5da] { + width: 7.8125rem; + height: 7.1875rem; + margin-top: 1.25rem; + margin-bottom: 0.625rem; +} +.popup-delete .popup-delete-content .popup-delete-text[data-v-337bb5da] { + font-size: 0.9375rem; + color: #42474E; +} +.popup-delete .popup-delete-content .popup-delete-button[data-v-337bb5da] { + display: flex; + justify-content: space-around; + height: 2.8125rem; + margin-top: 0.9375rem; +} +.popup-delete .popup-delete-content .popup-delete-button .popup-delete-button-left[data-v-337bb5da] { + background-color: #02abfe; + width: 6.25rem; + height: 2.5rem; + border-radius: 1.25rem; + display: flex; + justify-content: center; + align-items: center; + color: #fff; +} +.popup-delete .popup-delete-content .popup-delete-button .popup-delete-button-right[data-v-337bb5da] { + background-color: #ced9e8; + width: 6.25rem; + height: 2.5rem; + border-radius: 1.25rem; + display: flex; + justify-content: center; + align-items: center; + margin-right: 0.625rem; +} .popup-overlay[data-v-337bb5da] { position: fixed; top: 0; @@ -3912,15 +4009,23 @@ display: flex; justify-content: center; align-items: center; + -webkit-backdrop-filter: blur(0.03125rem); + backdrop-filter: blur(0.03125rem); + background-color: rgba(89, 109, 154, 0.4); /* 添加毛玻璃效果 */ z-index: 999; } .popup-song .popup-song-contain[data-v-337bb5da] { position: absolute; - right: 13.125rem; - width: 40.625rem; - background-color: #fff; - border-radius: 0.625rem; + right: 8.4375rem; + width: 40.5rem; + /* 设置背景图和白色背景 */ + background: url("../../static/index/clearmountain.png") center / cover, rgba(255, 255, 255, 0.7); + /* 使用 screen 混合模式,让图像与白色混合变淡 */ + border: 0.0625rem solid #fff; + /* 使用 screen 混合模式,让图像与白色混合变淡 */ + background-blend-mode: screen; + border-radius: 1.25rem; box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); opacity: 0; transition: opacity 0.4s ease; @@ -3985,9 +4090,10 @@ height: 3.125rem; margin-left: 0.625rem; margin-top: 0.625rem; - background-color: #fffaf1; + background-color: #02abfe; + color: #fff; border-radius: 0.625rem; - border: 0.03125rem solid #ffb501; + border: 0.03125rem solid #02abfe; display: flex; justify-content: center; align-items: center; @@ -3996,9 +4102,9 @@ .ri-img[data-v-337bb5da] { position: absolute; top: -0.125rem; - right: -0.09375rem; - width: 1.5625rem; - height: 1.5625rem; + right: -0.125rem; + width: 1.875rem; + height: 1.875rem; } .time-father[data-v-337bb5da] { display: flex; @@ -4019,6 +4125,7 @@ justify-content: center; align-items: center; font-size: 0.90625rem; + box-shadow: 0.15625rem 0.15625rem 0.3125rem rgba(105, 129, 178, 0.4); } .time-father .time-one-target[data-v-337bb5da] { width: 3.125rem; @@ -4033,20 +4140,21 @@ justify-content: center; align-items: center; font-size: 0.90625rem; + box-shadow: 0.15625rem 0.15625rem 0.3125rem rgba(105, 129, 178, 0.4); } .time-father .time-one-hui[data-v-337bb5da] { width: 3.125rem; height: 3.125rem; margin-left: 0.625rem; margin-top: 0.625rem; - background-color: #dadada; - color: #fff; + background-color: #c2c9d3; border-radius: 0.625rem; border: 0.03125rem solid #fff; display: flex; justify-content: center; align-items: center; font-size: 0.90625rem; + box-shadow: 0.15625rem 0.15625rem 0.3125rem rgba(105, 129, 178, 0.4); } .button-father[data-v-337bb5da] { height: 6.25rem; @@ -4070,7 +4178,7 @@ color: #fff; } .button-father .button-father-wrong[data-v-337bb5da] { - background-color: #dadada; + background-color: #c2c9d3; width: 6.25rem; height: 2.5rem; border-radius: 1.25rem; @@ -4195,16 +4303,25 @@ height: calc(100% - 0.25rem); border-radius: 0.625rem; display: flex; - justify-content: space-evenly; align-items: center; flex-direction: column; } +.title-time-border-red[data-v-337bb5da] { + background-color: #dae8fa; + width: calc(100%); + height: calc(100%); + display: flex; + align-items: center; + flex-direction: column; + /* 调整 box-shadow 使其向下投影 */ + box-shadow: 0px 0.625rem 1.25rem #dae8fa; + background: linear-gradient(to right, red, red) top left / 1.875rem 0.25rem no-repeat, linear-gradient(to bottom, red, red) top left / 0.25rem 1.875rem no-repeat, linear-gradient(to left, red, red) top right / 1.875rem 0.25rem no-repeat, linear-gradient(to bottom, red, red) top right / 0.25rem 1.875rem no-repeat, linear-gradient(to right, red, red) bottom left / 1.875rem 0.25rem no-repeat, linear-gradient(to top, red, red) bottom left / 0.25rem 1.875rem no-repeat, linear-gradient(to left, red, red) bottom right / 1.875rem 0.25rem no-repeat, linear-gradient(to top, red, red) bottom right / 0.25rem 1.875rem no-repeat; +} .title-time-border-blue[data-v-337bb5da] { background-color: #dae8fa; width: calc(100%); height: calc(100%); display: flex; - justify-content: space-evenly; align-items: center; flex-direction: column; /* 调整 box-shadow 使其向下投影 */ @@ -4212,6 +4329,31 @@ background: linear-gradient(to right, #0184db, #0184db) top left / 1.875rem 0.25rem no-repeat, linear-gradient(to bottom, #0184db, #0184db) top left / 0.25rem 1.875rem no-repeat, linear-gradient(to left, #0184db, #0184db) top right / 1.875rem 0.25rem no-repeat, linear-gradient(to bottom, #0184db, #0184db) top right / 0.25rem 1.875rem no-repeat, linear-gradient(to right, #0184db, #0184db) bottom left / 1.875rem 0.25rem no-repeat, linear-gradient(to top, #0184db, #0184db) bottom left / 0.25rem 1.875rem no-repeat, linear-gradient(to left, #0184db, #0184db) bottom right / 1.875rem 0.25rem no-repeat, linear-gradient(to top, #0184db, #0184db) bottom right / 0.25rem 1.875rem no-repeat; } .title-time-border-yellow[data-v-337bb5da] { + margin: 0.3125rem; + border: 0.0625rem solid #d0d8e0; + background: linear-gradient(to bottom, #fff1db, #ffe2b2); + width: calc(100% - 0.625rem); + height: calc(100% - 0.625rem); + border-radius: 0.625rem; + display: flex; + align-items: center; + flex-direction: column; + box-shadow: 0.25rem 0.25rem 0.5rem rgba(255, 138, 0, 0.7); +} +.title-time-border-yellow-active-transparent[data-v-337bb5da] { + margin: 0.3125rem; + border: 0.125rem dashed #ff8a00; + background: linear-gradient(to bottom, #fff1db, #ffe2b2); + width: calc(100% - 0.8125rem); + height: calc(100% - 0.8125rem); + border-radius: 0.625rem; + display: flex; + align-items: center; + flex-direction: column; + opacity: 0.3; + box-shadow: 0.25rem 0.25rem 0.5rem rgba(255, 138, 0, 0.7); +} +.title-time-border-yellow-active[data-v-337bb5da] { margin: 0.3125rem; border: 0.03125rem solid #dae8fa; background: linear-gradient(to bottom, #fff1db, #ffe2b2); @@ -4219,9 +4361,23 @@ height: calc(100% - 0.625rem); border-radius: 0.625rem; display: flex; - justify-content: space-evenly; align-items: center; flex-direction: column; + animation: shakesmall-337bb5da 0.8s infinite; + box-shadow: 0.25rem 0.25rem 0.5rem rgba(255, 138, 0, 0.7); +} +.title-time-border-pouple-active-transparent[data-v-337bb5da] { + margin: 0.3125rem; + border: 0.125rem dashed #7B61FF; + background: linear-gradient(to bottom, #f1eeff, #e3deff); + width: calc(100% - 0.8125rem); + height: calc(100% - 0.8125rem); + border-radius: 0.625rem; + display: flex; + align-items: center; + flex-direction: column; + opacity: 0.3; + box-shadow: 0.25rem 0.25rem 0.5rem rgba(123, 97, 255, 0.7); } .title-time-border-pouple[data-v-337bb5da] { margin: 0.3125rem; @@ -4231,9 +4387,73 @@ height: calc(100% - 0.625rem); border-radius: 0.625rem; display: flex; - justify-content: space-evenly; align-items: center; flex-direction: column; + box-shadow: 0.25rem 0.25rem 0.5rem rgba(123, 97, 255, 0.7); +} +.title-time-border-pouple-active[data-v-337bb5da] { + margin: 0.3125rem; + border: 0.03125rem solid #dae8fa; + background: linear-gradient(to bottom, #f1eeff, #e3deff); + width: calc(100% - 0.625rem); + height: calc(100% - 0.625rem); + border-radius: 0.625rem; + display: flex; + align-items: center; + flex-direction: column; + animation: shakesmall-337bb5da 1s infinite; + box-shadow: 0.25rem 0.25rem 0.5rem rgba(123, 97, 255, 0.7); +} +.down-icons[data-v-337bb5da] { + margin-top: 0.3125rem; + width: 100%; + height: 1.875rem; + background-color: #ffd87e; + display: flex; + justify-content: center; + align-items: center; +} +.down-icons .icon[data-v-337bb5da] { + margin: 0 0.15625rem; + font-size: 0.625rem; + padding: 0.15625rem 0.3125rem; + background-color: #ff8a00; + color: #fff; + border-radius: 0.15625rem; +} +@keyframes shake-337bb5da { +0% { + transform: rotate(-10deg); +} +25% { + transform: rotate(10deg); +} +50% { + transform: rotate(-10deg); +} +75% { + transform: rotate(10deg); +} +100% { + transform: rotate(-10deg); +} +} +@keyframes shakesmall-337bb5da { +0% { + transform: rotate(-2deg); +} +25% { + transform: rotate(2deg); +} +50% { + transform: rotate(-2deg); +} +75% { + transform: rotate(2deg); +} +100% { + transform: rotate(-2deg); +} } .backgroundContainer[data-v-1cf27b2a] { @@ -4324,3 +4544,70 @@ margin: 1.5625rem 0; z-index: 100; } +.title-time-border-yellow[data-v-1cf27b2a] { + width: 7.96875rem; + height: 5.90625rem; + margin: 0.3125rem; + border: 0.03125rem solid #dae8fa; + background: linear-gradient(to bottom, #fff1db, #ffe2b2); + border-radius: 0.625rem; + display: flex; + align-items: center; + flex-direction: column; + position: absolute; + z-index: 10; +} +.title-time-border-pouple[data-v-1cf27b2a] { + width: 7.96875rem; + height: 5.90625rem; + margin: 0.3125rem; + border: 0.03125rem solid #dae8fa; + background: linear-gradient(to bottom, #f1eeff, #e3deff); + border-radius: 0.625rem; + display: flex; + align-items: center; + flex-direction: column; + position: absolute; + z-index: 10; +} +.title-time[data-v-1cf27b2a] { + display: flex; + width: 100%; + position: relative; +} +.title-time .title-time-time[data-v-1cf27b2a] { + font-size: 1rem; + margin-left: 0.84375rem; + margin-top: 0.375rem; +} +.title-time .title-time-button[data-v-1cf27b2a] { + position: absolute; + top: -0.15625rem; + right: 0; + width: 2.1875rem; + height: 2.1875rem; +} +.title-time .title-time-font[data-v-1cf27b2a] { + position: absolute; + top: 0.21875rem; + right: 0.15625rem; + font-size: 0.71875rem; + color: #fff; +} +.down-icons[data-v-1cf27b2a] { + margin-top: 0.625rem; + width: 100%; + height: 1.5625rem; + background-color: #ffd87e; + display: flex; + justify-content: center; + align-items: center; +} +.down-icons .icon[data-v-1cf27b2a] { + margin: 0 0.15625rem; + font-size: 0.625rem; + padding: 0.15625rem 0.3125rem; + background-color: #ff8a00; + color: #fff; + border-radius: 0.15625rem; +} diff --git a/unpackage/dist/dev/app-plus/static/index/clearmountain.png b/unpackage/dist/dev/app-plus/static/index/clearmountain.png new file mode 100644 index 0000000..854d294 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/clearmountain.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/deleteicon.png b/unpackage/dist/dev/app-plus/static/index/deleteicon.png new file mode 100644 index 0000000..e0cb99f Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/deleteicon.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/pouplezhejiao.png b/unpackage/dist/dev/app-plus/static/index/pouplezhejiao.png new file mode 100644 index 0000000..3290307 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/pouplezhejiao.png differ diff --git a/unpackage/dist/dev/app-plus/static/index/yellowzhejiao.png b/unpackage/dist/dev/app-plus/static/index/yellowzhejiao.png new file mode 100644 index 0000000..5b27551 Binary files /dev/null and b/unpackage/dist/dev/app-plus/static/index/yellowzhejiao.png differ