From 9432b55708884fdd2b442347df2129b7b5f91f48 Mon Sep 17 00:00:00 2001 From: Sliverber <2622874537@qq.com> Date: Sat, 27 Jan 2024 16:37:52 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/css/iconfont.css | 442 +---------- components/HM-dragSorts/HM-dragSorts.vue | 903 +++++++++++++++++++++++ components/HM-dragSorts/drag.wxs | 371 ++++++++++ components/tab-bar/tab-bar.vue | 3 + manifest.json | 1 + pages.json | 60 ++ pages/index/index.vue | 470 +++++++++++- pages/my.vue | 310 +++++++- pages/shebei/ewm.vue | 129 ++++ pages/shebei/fenzu.vue | 257 +++++++ pages/shebei/setting.vue | 295 ++++++++ pages/tj.vue | 223 +++--- pages/userpage/chongzhi.vue | 152 ++++ pages/userpage/fztx.vue | 177 +++++ pages/userpage/shouzhi.vue | 156 ++++ static/db.png | Bin 0 -> 9519 bytes static/fx.png | Bin 0 -> 697 bytes static/icon.png | Bin 0 -> 967 bytes static/mx.png | Bin 0 -> 420 bytes static/off.png | Bin 0 -> 2779 bytes static/sc.png | Bin 0 -> 709 bytes static/sc1.png | Bin 0 -> 638 bytes static/share.png | Bin 0 -> 2404 bytes static/sz.png | Bin 0 -> 2182 bytes static/tj.png | Bin 0 -> 429 bytes static/xg.png | Bin 0 -> 431 bytes static/xq.png | Bin 0 -> 182 bytes static/yc.png | Bin 0 -> 1151 bytes static/zh.png | Bin 0 -> 513 bytes 29 files changed, 3420 insertions(+), 529 deletions(-) create mode 100644 components/HM-dragSorts/HM-dragSorts.vue create mode 100644 components/HM-dragSorts/drag.wxs create mode 100644 pages/shebei/ewm.vue create mode 100644 pages/shebei/fenzu.vue create mode 100644 pages/shebei/setting.vue create mode 100644 pages/userpage/chongzhi.vue create mode 100644 pages/userpage/fztx.vue create mode 100644 pages/userpage/shouzhi.vue create mode 100644 static/db.png create mode 100644 static/fx.png create mode 100644 static/icon.png create mode 100644 static/mx.png create mode 100644 static/off.png create mode 100644 static/sc.png create mode 100644 static/sc1.png create mode 100644 static/share.png create mode 100644 static/sz.png create mode 100644 static/tj.png create mode 100644 static/xg.png create mode 100644 static/xq.png create mode 100644 static/yc.png create mode 100644 static/zh.png diff --git a/common/css/iconfont.css b/common/css/iconfont.css index 12be79d..d45481d 100644 --- a/common/css/iconfont.css +++ b/common/css/iconfont.css @@ -1,8 +1,8 @@ @font-face { - font-family: "iconfont"; /* Project id 3598721 */ - src: url('//at.alicdn.com/t/c/font_3598721_z5jk4kgjfv.woff2?t=1703600739909') format('woff2'), - url('//at.alicdn.com/t/c/font_3598721_z5jk4kgjfv.woff?t=1703600739909') format('woff'), - url('//at.alicdn.com/t/c/font_3598721_z5jk4kgjfv.ttf?t=1703600739909') format('truetype'); + font-family: "iconfont"; /* Project id 4424810 */ + src: url('//at.alicdn.com/t/c/font_4424810_0wqy30upiu1m.woff2?t=1706272714682') format('woff2'), + url('//at.alicdn.com/t/c/font_4424810_0wqy30upiu1m.woff?t=1706272714682') format('woff'), + url('//at.alicdn.com/t/c/font_4424810_0wqy30upiu1m.ttf?t=1706272714682') format('truetype'); } .iconfont { @@ -13,438 +13,10 @@ -moz-osx-font-smoothing: grayscale; } -.icon-xiangxiajiantoucuxiao:before { - content: "\e8c8"; -} - -.icon-xiangshangjiantoucuxiao:before { - content: "\e8d8"; -} - -.icon-yiwancheng:before { - content: "\e630"; -} - -.icon-zanting1:before { - content: "\e66c"; -} - -.icon-yuedu:before { - content: "\e810"; -} - -.icon-sanjiao:before { - content: "\e62f"; -} - -.icon-24gf-clockCircle:before { - content: "\eb40"; -} - -.icon-shuaxin:before { - content: "\e782"; -} - -.icon-jia1:before { - content: "\e62e"; -} - -.icon-fuzhi:before { - content: "\ee15"; -} - -.icon-daoru:before { - content: "\e645"; -} - -.icon-erweima:before { - content: "\e642"; -} - -.icon-xiazai:before { - content: "\e635"; -} - -.icon-didian:before { - content: "\e60a"; -} - -.icon-jiaoyu-1:before { - content: "\e60d"; -} - -.icon-jiaoyu:before { - content: "\e60f"; -} - -.icon-huanjing-2:before { - content: "\e612"; -} - -.icon-huanjing:before { - content: "\e614"; -} - -.icon-jiaqi:before { - content: "\e616"; -} - -.icon-shipin-1:before { - content: "\e617"; -} - -.icon-yuyan:before { - content: "\e618"; -} - -.icon-xiaofei:before { - content: "\e61b"; -} - -.icon-shenghuo:before { - content: "\e61d"; -} - -.icon-keji:before { - content: "\e623"; -} - -.icon-jiaotong:before { - content: "\e626"; -} - -.icon-shenghuo-1:before { - content: "\e628"; -} - -.icon-qihouyuhuanjing:before { - content: "\e629"; -} - -.icon-xiaofei-1:before { - content: "\e62a"; -} - -.icon-huanjing-1:before { - content: "\e62b"; -} - -.icon-shipin:before { - content: "\e62c"; -} - -.icon-keji-1:before { - content: "\e62d"; -} - -.icon-tiku:before { - content: "\e6dc"; -} - -.icon-Union1:before { - content: "\e609"; -} - -.icon-Union:before { - content: "\e607"; -} - -.icon-tousujianyi:before { - content: "\e613"; -} - -.icon-shengyin1:before { - content: "\e61c"; -} - -.icon-bofang1:before { - content: "\e611"; -} - -.icon-lock-full:before { - content: "\e881"; -} - -.icon-bofang:before { - content: "\e625"; -} - -.icon-zanting:before { - content: "\e662"; -} - -.icon-shengyin2:before { - content: "\e61f"; -} - -.icon-quanping1:before { - content: "\e606"; -} - -.icon-shangyishou:before { - content: "\e718"; -} - -.icon-xiayishou:before { - content: "\e719"; -} - -.icon-jingyin:before { - content: "\e63f"; -} - -.icon-arow_down:before { - content: "\e6d7"; -} - -.icon-kefu:before { - content: "\e65d"; -} - -.icon-jiazai:before { - content: "\e6af"; -} - -.icon-yuanquan:before { - content: "\e63e"; -} - -.icon-fanhui:before { - content: "\e65f"; -} - -.icon-a-ziyuan511:before { - content: "\e78c"; -} - -.icon-circleyuanquan:before { - content: "\e71e"; -} - -.icon-circle2yuanquan:before { - content: "\e71f"; -} - -.icon-ai-copy:before { - content: "\e608"; -} - -.icon-shanchu1:before { - content: "\e66f"; -} - -.icon-gantanhao:before { - content: "\e685"; -} - -.icon-jianhao:before { - content: "\e729"; -} - -.icon-shizhongclock74:before { - content: "\e6ba"; -} - -.icon-jia:before { - content: "\e605"; -} - -.icon-wenhao:before { - content: "\e610"; -} - -.icon-wancheng1:before { - content: "\e66e"; -} - -.icon-shengyin:before { - content: "\e64c"; -} - -.icon-jiantou_zuoyouqiehuan_o:before { - content: "\eb95"; -} - -.icon-bangdingweixin:before { - content: "\e64d"; -} - -.icon-qiehuan1:before { - content: "\ec56"; -} - -.icon-shuyi_fanyi-36:before { - content: "\e65c"; -} - -.icon-zhijiao-triangle:before { - content: "\e652"; -} - -.icon-chenggong1:before { - content: "\e644"; -} - -.icon-arow_up:before { - content: "\e6e5"; -} - -.icon-arrow-down:before { - content: "\e7b2"; -} - -.icon-jiantou_xiangyouliangci:before { - content: "\eb09"; -} - -.icon-jiantou_xiangzuoliangci:before { - content: "\eb0a"; -} - -.icon-app_icons--:before { - content: "\e621"; -} - -.icon-24gf-playCircle:before { - content: "\ea83"; -} - -.icon-youjiantou11:before { - content: "\e634"; -} - -.icon-22:before { - content: "\e627"; -} - .icon-shanchu:before { - content: "\e8b6"; + content: "\e6ac"; } -.icon-quanping:before { - content: "\e7cf"; -} - -.icon-youjiantou:before { - content: "\e61e"; -} - -.icon-qiehuan:before { - content: "\e691"; -} - -.icon-guanbi-yanjing:before { - content: "\e6e3"; -} - -.icon-eye:before { - content: "\e77a"; -} - -.icon-sousuo2:before { - content: "\e67b"; -} - -.icon-dianzan1:before { - content: "\e61a"; -} - -.icon-guanbi1:before { - content: "\e60c"; -} - -.icon-icon:before { - content: "\e651"; -} - -.icon-duihao:before { - content: "\e633"; -} - -.icon-24gf-play:before { - content: "\ea82"; -} - -.icon-paixu:before { - content: "\e603"; -} - -.icon-shaixuan:before { - content: "\e60b"; -} - -.icon-yangshengqi:before { - content: "\e600"; -} - -.icon-dianzan:before { - content: "\e601"; -} - -.icon-sousuo:before { - content: "\e60e"; -} - -.icon-zuojiantou:before { - content: "\e64e"; -} - -.icon-guanbi2:before { - content: "\e725"; -} - -.icon-xiangshangjiantou:before { - content: "\e620"; -} - -.icon-shouye:before { - content: "\e64f"; -} - -.icon-luyin:before { - content: "\e615"; -} - -.icon-sousuo1:before { - content: "\e622"; -} - -.icon-guanbi:before { - content: "\e624"; -} - -.icon-xiajiantou:before { - content: "\eb6d"; -} - -.icon-shangjiantou:before { - content: "\eb6e"; -} - -.icon-icon_tianjia:before { - content: "\eb89"; -} - -.icon-guanzhu:before { - content: "\e739"; -} - -.icon-fenxiang_2:before { - content: "\e602"; -} - -.icon-guanzhu-yiguanzhu:before { - content: "\e703"; -} - -.icon-fenxiang1:before { - content: "\e8b0"; -} - -.icon-bianjisekuai:before { - content: "\e604"; -} - -.icon-xiala2:before { - content: "\e619"; +.icon-xiangyou1:before { + content: "\e775"; } diff --git a/components/HM-dragSorts/HM-dragSorts.vue b/components/HM-dragSorts/HM-dragSorts.vue new file mode 100644 index 0000000..bdd9bf3 --- /dev/null +++ b/components/HM-dragSorts/HM-dragSorts.vue @@ -0,0 +1,903 @@ + + + + + + diff --git a/components/HM-dragSorts/drag.wxs b/components/HM-dragSorts/drag.wxs new file mode 100644 index 0000000..de7591f --- /dev/null +++ b/components/HM-dragSorts/drag.wxs @@ -0,0 +1,371 @@ + + +var scrollTop = {}; //滚动条位置 +// 排序列表 +var sortList={}; +var isMove = false; //是否可拖动 长按事件控制切换这个状态 +var touchTimer = false; //长按事件定时器 +// 当页面有多个当前组件时,guid用来识别当前的列表的。因为一个页面内多个组件的wxs作用域相同。 + + +function setScrollTop(tmpGuid) { + if (typeof scrollTop[tmpGuid] == "undefined") { + scrollTop[tmpGuid] = 0; + } +} + +function scroll(event, instance) { + var dataView = instance.selectComponent('#dataView'); + var viewData = dataView.getDataset(); + setScrollTop(viewData.guid) + scrollTop[viewData.guid] = event.detail.scrollTop; +} + +function initVar(state, instance) { + var dataView = instance.selectComponent('#dataView'); + var viewData = dataView.getDataset(); + // 读取配置项 + // 获取scroll-view id + config = All_Config[viewData.guid]; + + setScrollTop(config.guid); + state.initscrollTop = scrollTop[config.guid]; + +} +function getRowSort(findId,instance){ + for (var i = 0; i < sortList[config.guid].length; i++) { + if(sortList[config.guid][i].id==findId){ + currentRowView = sortList[config.guid][i].rowView; + return sortList[config.guid][i].lastSort; + } + } +} +var shadowRowBoxView=null; +var shadowRowView = null; +var currentRowView=null; +var rowSort=0; +var sorting = false; +function touchstart(event, instance) { + if(sorting){ + return ; + } + sorting = true; + // 兼容setTimeout + if(typeof setTimeout ==="undefined" && typeof instance.setTimeout !== 'undefined'){ + setTimeout = instance.setTimeout; + clearTimeout = instance.clearTimeout; + } + + isMove = false; + var rowData = event.instance.getDataset(); + var state = instance.getState(); + if (event.touches.length == 1) { + state.point = event.touches[0]; + + state.islongTap = true; + state.rowData = rowData; + //读取数据 + initVar(state, instance); + } + var rowStyle = event.instance.getComputedStyle(['height']); + config.rowHeight = parseFloat(rowStyle.height); //获取行高 + // 计算shadowRow.style.top + + rowSort = getRowSort(rowData.id,instance); + var shadowRowTop = rowSort * config.rowHeight; + shadowRowTop = shadowRowTop - scrollTop[config.guid]; + // 加载shadowRow数据 + instance.callMethod("loadShadowRow", { + rowSort: rowSort + }); + state.shadowRowTop = shadowRowTop; + // 设置shadowRow初始位置 + shadowRowBoxView = instance.selectComponent('#shadowRowBox'); + shadowRowBoxView.setStyle({ + 'top': shadowRowTop + 'px' + }) + shadowRowView = instance.selectComponent('#shadowRow') + //长按事件 + if (config.longTouch) { + touchTimer && clearTimeout(touchTimer); + touchTimer = setTimeout(function() { + longpress(event, instance); + }, config.longTouchTime) + } +} + +function longpress(event, instance) { + if (config.longTouch) { + isMove = true; + moveRow(instance, 0) + } +} + +function touchmove(event, instance) { + var state = instance.getState(); + var rowData = event.instance.getDataset(); + var movePoint = event.touches[0]; + var initPoint = state.point; + var moveY = movePoint.pageY - initPoint.pageY; + if (config.longTouch) { + if (Math.abs(moveY) > 10) { + clearTimeout(touchTimer); + } + if (!isMove) { + return; + } + } + moveRow(instance, moveY); + //阻止滚动页面 + if (event.preventDefault) { + event.preventDefault(); + } + return false; +} +function touchend(event, instance) { + if (config.longTouch) { + clearTimeout(touchTimer); + if (!isMove) { + oldOffset = null; + sorting = false; + return; + } + } + if (lastCommand != "stop") { + lastCommand = "stop"; + config.autoScroll && instance.callMethod("pageScroll", { + 'guid': config.guid, + 'command': "stop" + }); + } + var state = instance.getState(); + // 把隐藏的行重新显示 + resetRowStyle(instance,state.rowData.id) + // 隐藏ShadowRow + resetShadowRowStyle(instance,state.offset) + if (typeof state.offset !== "undefined" && rowSort != state.offset && state.offset != null) { + var sortArray=[]; + for (var i = 0; i < sortList[config.guid].length; i++) { + sortList[config.guid][i].lastSort = sortList[config.guid][i].newSort; + sortArray.push(sortList[config.guid][i].newSort); + sortList[config.guid][i].rowView.removeClass('ani'); + } + instance.callMethod("sort", { + index: rowSort, + offset: state.offset, + sortArray:sortArray + }); + } else { + sorting = false; + triggerFeedbackGenerator(instance); //震动反馈 + return false; + } + state.offset = null; + oldOffset = null; + sorting = false; + triggerFeedbackGenerator(instance); //震动反馈 + return false; +} +// 重置列表行 +function resetRowStyle(instance,id) { + currentRowView.removeClass('hide'); +} +// 重置拖拽行 +function resetShadowRowStyle(instance,offset) { + shadowRowBoxView.removeClass('show'); + shadowRowBoxView.addClass('hide'); + shadowRowBoxView.setStyle({}); +} +var lastCommand = ''; + +// move Row +function moveRow(instance, moveY) { + var state = instance.getState(); + + // 显示shadowRowBox + shadowRowBoxView.removeClass('hide'); + shadowRowBoxView.hasClass('show') || shadowRowBoxView.addClass('show'); + // 移动shadowRowBox里面的shadowRow + shadowRowView.setStyle({ + 'transform': 'translate3d(0,' + moveY + 'px,10px)', + '-webkit-transform': 'translate3d(0,' + moveY + 'px,10px)' + }); + // 隐藏列表对应行 + currentRowView.hasClass('hide') || currentRowView.addClass('hide'); + currentRowView.removeClass('ani') + var listClientY = state.shadowRowTop + moveY + config.rowHeight/2; + var tmpscrollListTop = scrollTop[config.guid]; + + // 拖拽至边缘滚动视图 距离顶部距离1.5行高触发上滚动 下滚动同理 + var callMethodData = { + guid: config.guid, + command: listClientY < config.ListHeight * 0.2 ? "up" : listClientY > config.ListHeight - (config.ListHeight * 0.2) ? "down" : + "stop", + scrollTop: tmpscrollListTop, + } + // 把滚动指令发给逻辑层 + if (lastCommand != callMethodData.command) { + lastCommand = callMethodData.command; + config.autoScroll && instance.callMethod("pageScroll", callMethodData); + } + + var moveOffset = moveY + scrollTop[config.guid] - state.initscrollTop; + var offset = calcOffset(rowSort, moveOffset); + if (offset <= 2 || offset >= config.listLength - 2) { + callMethodData.command = 'stop'; + } + // 为减少卡顿,微信小程序端,在滚动视图期间不进行列表位置交换 + if (config.autoScroll && (!config.isAppH5) && callMethodData.command != 'stop') { + return; + } + oldOffset = oldOffset == null ? rowSort : oldOffset; + if (offset < 0 || offset >= config.listLength) { + return; + } + if (offset == oldOffset) { + return; + } + + oldOffset = offset; + state.offset = offset; + //触发change事件 并交换列表位置 + instance.callMethod("change", { + index: rowSort, + moveTo: state.offset + }); + for (var i = 0; i < sortList[config.guid].length; i++) { + var sort = sortList[config.guid][i].lastSort; + var newSort = sortList[config.guid][i].newSort; + if ((sort >= offset && sort <= rowSort) || (sort <= offset && sort >= rowSort)) { + if(sort == rowSort) { + newSort = offset; + }else{ + newSort = sort < rowSort ? sort+1 : sort-1; + } + }else{ + newSort = sort; + } + if(sortList[config.guid][i].newSort == newSort){ + continue; + } + sortList[config.guid][i].newSort = newSort; + var translateY = (sortList[config.guid][i].newSort-sortList[config.guid][i].sort) * 100; + sortList[config.guid][i].rowView.hasClass('ani') || sortList[config.guid][i].rowView.addClass('ani'); + sortList[config.guid][i].rowView.setStyle({ + 'transform': 'translate3d(0,' + translateY + '%,0)', + '-webkit-transform': 'translate3d(0,' + translateY + '%,0)' + }); + } + triggerFeedbackGenerator(instance); //震动反馈 +} +//计算偏移index +var oldOffset = null; +function calcOffset(initSort, moveY) { + var offset = initSort + parseInt(moveY / config.rowHeight); //偏移 行高的倍数 + var rest = moveY % config.rowHeight; + if (rest > 0) { + offset = offset + (rest / config.rowHeight >= 0.6 ? 1 : 0); + if (offset < oldOffset) { + offset = rest / config.rowHeight <= 0.4 ? offset : oldOffset; + } + } else + { + offset = offset + (rest / config.rowHeight <= -0.6 ? -1 : 0); + if (offset > oldOffset) { + offset = rest / config.rowHeight >= -0.4 ? offset : oldOffset; + } + } + return offset; +} + +//触感反馈 +//wxs 不支持条件编译,所以用此方法判断 +var isiOSAPP = typeof plus != "undefined" && plus.os.name == 'iOS'; +var UISelectionFeedbackGenerator; +var impact + +if (isiOSAPP) { + UISelectionFeedbackGenerator = plus.ios.importClass("UISelectionFeedbackGenerator"); + impact = new UISelectionFeedbackGenerator(); + impact.init(); +} +function triggerFeedbackGenerator(instance) { + if (!config.feedbackGenerator) { + //关闭触感反馈 + return; + } + if (isiOSAPP) { + //异步,避免与点击事件冲突 + setTimeout(function(){ + impact.selectionChanged(); + },0) + } else { + if (typeof plus != "undefined") { + plus.device.vibrate(12) + } else { + instance.callMethod("vibrate"); + } + } +} +var All_Config={}; +var config = {}; +function receiveData(e,state, instance){ + var data = JSON.parse(e); + var tmp_config = {}; + var hasGuid = false; + var sortArray=[]; + for(var i=0;i0){ + tmp_row.lastSort = sortArray[i]; + tmp_row.newSort = tmp_row.lastSort; + } + sortList[guid].push(tmp_row); + var translateY = (tmp_row.lastSort-tmp_row.sort) * 100; + tmp_row.rowView.setStyle({ + 'transform': 'translate3d(0,' + translateY + '%,0)', + '-webkit-transform': 'translate3d(0,' + translateY + '%,0)' + }); + } + +} +// 输出 +module.exports = { + receiveData:receiveData, + scroll: scroll, + longpress: longpress, + touchstart: touchstart, + touchmove: touchmove, + touchend: touchend +} \ No newline at end of file diff --git a/components/tab-bar/tab-bar.vue b/components/tab-bar/tab-bar.vue index 9022031..31b4772 100644 --- a/components/tab-bar/tab-bar.vue +++ b/components/tab-bar/tab-bar.vue @@ -55,6 +55,7 @@ if(index==0){ uni.switchTab({ url:'/pages/index/index', + routeType: 'wx://modal', success() { this.currentTabbarIndex = index } @@ -63,6 +64,7 @@ }else if(index==1){ uni.switchTab({ url:'/pages/tj', + routeType: 'wx://modal', success() { this.currentTabbarIndex = index } @@ -70,6 +72,7 @@ }else if(index==2){ uni.switchTab({ url:'/pages/my', + routeType: 'wx://modal', success() { this.currentTabbarIndex = index } diff --git a/manifest.json b/manifest.json index 21b8760..4f21a8b 100644 --- a/manifest.json +++ b/manifest.json @@ -50,6 +50,7 @@ "quickapp" : {}, /* 小程序特有相关 */ "mp-weixin" : { + "libVersion": "latest", "appid" : "wx5affa901f005d975", "setting" : { "urlCheck" : false diff --git a/pages.json b/pages.json index 702b75c..376c4f9 100644 --- a/pages.json +++ b/pages.json @@ -33,6 +33,66 @@ "navigationBarTextStyle": "#FFFFFF", "navigationStyle": "custom" } + }, + { + "path" : "pages/userpage/chongzhi", + "style" : + { + "navigationBarTitleText": "", + "navigationBarBackgroundColor": "#4473f6", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path" : "pages/userpage/shouzhi", + "style" : + { + "navigationBarTitleText": "", + "navigationBarBackgroundColor": "#4473f6", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path" : "pages/shebei/ewm", + "style" : + { + "navigationBarTitleText": "", + "navigationBarBackgroundColor": "#4473f6", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path" : "pages/shebei/fenzu", + "style" : + { + "navigationBarTitleText": "", + "navigationBarBackgroundColor": "#4473f6", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path" : "pages/shebei/setting", + "style" : + { + "navigationBarTitleText": "", + "navigationBarBackgroundColor": "#4473f6", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } + }, + { + "path" : "pages/userpage/fztx", + "style" : + { + "navigationBarTitleText": "", + "navigationBarBackgroundColor": "#4473f6", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + } } diff --git a/pages/index/index.vue b/pages/index/index.vue index f3929bf..2be0757 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,23 +1,481 @@ - diff --git a/pages/my.vue b/pages/my.vue index 863601e..572ab59 100644 --- a/pages/my.vue +++ b/pages/my.vue @@ -1,6 +1,114 @@ @@ -8,15 +116,207 @@ export default { data() { return { - + bgc: { + backgroundColor: "#8883F0", + }, } }, methods: { - + topage(num){ + if(num==1){ + uni.navigateTo({ + url:"/pages/userpage/chongzhi", + animationType: 'slide-in-top', + animationDuration: 200 + }) + } + } } } - diff --git a/pages/shebei/ewm.vue b/pages/shebei/ewm.vue new file mode 100644 index 0000000..aac3b41 --- /dev/null +++ b/pages/shebei/ewm.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/pages/shebei/fenzu.vue b/pages/shebei/fenzu.vue new file mode 100644 index 0000000..53b4d9d --- /dev/null +++ b/pages/shebei/fenzu.vue @@ -0,0 +1,257 @@ + + + + + \ No newline at end of file diff --git a/pages/shebei/setting.vue b/pages/shebei/setting.vue new file mode 100644 index 0000000..c32a210 --- /dev/null +++ b/pages/shebei/setting.vue @@ -0,0 +1,295 @@ + + + + + \ No newline at end of file diff --git a/pages/tj.vue b/pages/tj.vue index afef9b5..abdcc04 100644 --- a/pages/tj.vue +++ b/pages/tj.vue @@ -14,12 +14,21 @@ 25.36 - + - + + + + 2023年04月 + + + 5.30 度 + + + @@ -38,94 +47,108 @@ }, onLoad() { // setTimeout(() => { - + // this.initChart() // }, 300); // this.initChart() }, methods: { generateWaveData(length) { - const data = []; - for (let i = 0; i < length; i++) { - const y = Math.sin((i / (length - 1)) * Math.PI * 2); // 正弦函数生成波浪形状的y值 - data.push((y + 1) * 50); // 映射到0-100的范围 - } - return data; - }, + const data = []; + for (let i = 0; i < length; i++) { + const y = Math.sin((i / (length - 1)) * Math.PI * 2); // 正弦函数生成波浪形状的y值 + data.push((y + 1) * 50); // 映射到0-100的范围 + } + return data; + }, async initChart() { console.log('111111'); // let _this = this - const waveData = this.generateWaveData(10); - const option = { - grid: { - left: 10, - right: 10, - top: 10, - bottom: 30, - // containLabel: true, - }, - xAxis: { - type: 'category', - boundaryGap: false, - axisLine: { - show: false, // 隐藏轴线 - }, - axisTick: { - show: false, // 隐藏刻度 - }, - axisLabel: { - show: true, - color: '#fff', // x轴标签文字颜色 - fontSize: 11, // x轴标签文字大小 - rotate: 90, // 逆时针旋转180° - }, - splitLine: { - show: false, // 隐藏分隔线 - }, - data: ['1日', '2日', '3日', '4日', '5日', '6日', '7日'], // 数据项 - }, - yAxis: { - show: false, - }, - visualMap: { - type: 'piecewise', - show: false, - dimension: 0, - seriesIndex: 0, - pieces: [ - { - gt: 1, - lt: 3, - color: 'rgba(0, 0, 180, 0.4)', - }, - { - gt: 5, - lt: 7, - color: 'rgba(0, 0, 180, 0.4)', - }, - ], - }, - series: [ - { - type: 'line', - smooth: 0.6, - symbol: 'none', - lineStyle: { - color: '#E0DBFF', // 折线颜色 - width: 4, - }, - areaStyle: { - normal: { - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { offset: 0, color: '#B4B0F7' }, - ]), - }, - }, - data: [200, 560, 3000, 580, 250, 300, 450], - }, - ], - }; - + + const option = { + grid: { + left: 50, + right: 10, + top: 10, + bottom: 30, + }, + xAxis: { + type: 'category', + boundaryGap: false, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + show: true, + color: '#fff', + fontSize: 11, + rotate: 0, + }, + splitLine: { + show: false, + }, + data: ['1日', '2日', '3日', '4日', '5日', '6日', '7日'], + }, + yAxis: { + show: true, + axisLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLabel: { + show: true, + color: '#fff', + fontSize: 11, + formatter: function (value) { + // 保留两位小数,没有小数时显示00 + return value+'.00'+ '度' + }, + }, + splitLine: { + show: false, + }, + }, + visualMap: { + type: 'piecewise', + show: false, + dimension: 0, + seriesIndex: 0, + pieces: [{ + gt: 1, + lt: 3, + color: 'rgba(0, 0, 180, 0.4)', + }, + { + gt: 5, + lt: 7, + color: 'rgba(0, 0, 180, 0.4)', + }, + ], + }, + series: [{ + type: 'line', + smooth: 0.6, + symbol: 'none', + lineStyle: { + color: '#E0DBFF', + width: 4, + }, + areaStyle: { + normal: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: '#B4B0F7' + }, ]), + }, + }, + data: [20.00, 56.00, 30.00, 58.00, 25.00, 30.00, 45.00], + }], + }; // console.log( this.$refs.chartRef,'1111'); const chart = await this.$refs.chart.init(echarts); console.log(option); @@ -165,7 +188,7 @@ border-radius: 40rpx; .month { - + margin-left: 22rpx; font-size: 28rpx; font-family: Source Han Sans, Source Han Sans; @@ -191,7 +214,7 @@ font-weight: 700; color: #FFFFFF; } - + .echarts { margin-left: 22rpx; margin-top: 60rpx; @@ -201,5 +224,39 @@ height: 320rpx; } } + + .list { + margin-top: 16rpx; + + .card_list { + width: 632rpx; + height: 88rpx; + background: #FFFFFF; + box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(42, 130, 228, 0.1); + opacity: 1; + border-radius: 30rpx; + display: flex; + flex-wrap: nowrap; + justify-content: space-between; + margin-top: 16rpx; + align-items: center; + + .left { + margin-left: 52rpx; + font-size: 28rpx; + font-family: HarmonyOS Sans SC, HarmonyOS Sans SC; + font-weight: 400; + color: #808080; + } + + .right { + margin-right: 20rpx; + font-size: 28rpx; + font-family: HarmonyOS Sans SC, HarmonyOS Sans SC; + font-weight: 400; + color: #808080; + } + } + } } \ No newline at end of file diff --git a/pages/userpage/chongzhi.vue b/pages/userpage/chongzhi.vue new file mode 100644 index 0000000..103ec4f --- /dev/null +++ b/pages/userpage/chongzhi.vue @@ -0,0 +1,152 @@ + + + + + \ No newline at end of file diff --git a/pages/userpage/fztx.vue b/pages/userpage/fztx.vue new file mode 100644 index 0000000..3dfd7be --- /dev/null +++ b/pages/userpage/fztx.vue @@ -0,0 +1,177 @@ + + + + + \ No newline at end of file diff --git a/pages/userpage/shouzhi.vue b/pages/userpage/shouzhi.vue new file mode 100644 index 0000000..b5ddb80 --- /dev/null +++ b/pages/userpage/shouzhi.vue @@ -0,0 +1,156 @@ + + + + + \ No newline at end of file diff --git a/static/db.png b/static/db.png new file mode 100644 index 0000000000000000000000000000000000000000..ea3b20eafcb69b06eeb8574572df1313088965a2 GIT binary patch literal 9519 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�WPCB_JJy0{PgQADHBm67djwt}VHgmGA!(ZOe*vjL1^rKRptS%1 N002ovPDHLkV1lphOO*fs literal 0 HcmV?d00001 diff --git a/static/fx.png b/static/fx.png new file mode 100644 index 0000000000000000000000000000000000000000..a9676cc82ee64d9039d3a0b2cfdff88b1dff8992 GIT binary patch literal 697 zcmV;q0!ICbP)Px#1am@3R0s$N2z&@+hyVZrV@X6oRA_V0kT#O?+|*qJxwmbr6?8Dp-zAV)1f_h#7&<0*jet_|NDdG+MpifCeFn!i72~ z(02e}=IdbQMi@|nn3e!0047AVlu}Ll9?E0_1TVkg^FQoh5`7QQbtBOBMxgBt9(dIE z0H%{tO+Gm|r_Eau$dmP;fT2_#30eX0;2h&|uC51ji2ldrKDY?b)gXXnH~;`~Z2cj+ z7srS>g>Us9tj6&)kZx=(PzMKmz-c0s%42~GO5a`rd9pUOrVbA1_(cC8)hRjjLl8Za zbG&+5sJpgn*1-WC0w1J0bsSnDcYVnq*#=n`2Xq81!@bYa4A}$+bO5Zvz0XAQajw4V zuGtg^7zS40lEMoUJ%@Ak<+3;s8UyO5ApkVCF`3 zkS1_|0iX^p+oX#$g#%ii=?t3TAFZU|D#;AP#5%%w07%#%0~yy7#5X7HjTS3uyAqpS2fh00-0nc7e+(APwOF zP2gS}@M3C^n_KsuH-Dzg?7yabW@1f1<1|r)d)@FPx#1am@3R0s$N2z&@+hyVZsaY;l$R9J=0nXzx%RuG53qZ!yh(xpI|p>C_dV$uK{ zf}$NVc=6^XUE{s61GJmbwFta-EKtW?3usOM052XqH1I^Ah^W|7tSm1;fD8ugisE$; zNmI6Dk?ymc-$uT7d>`(;JMxagCDo4fp$Lm8-z3UCgwF*&1yFb|&=qJR?5VO-^JVuk z>qwQ!-Pd|IR(=rWvBDP>7dlj-;R=7uFG$lWU=->64fq9kQU&S)ZS`Qo_oX{&;zYoM zrmi`{uL?Kqu;mLMCCd7pyRtc9-gtFd`nxJ?Ho?vT2%BHk<>}b*aRUdDz7TkHHCV$^ z`0I`@-;Wv_2{=u-OyeM(vp3q2KA$!mfWV`6q|eXZ9|CMg`Xlxt^)h;rGUUp)xYg47 z4dovNclumIKygpFU$09G3LbQoXV(n}py0a7v+P;`-n`atlZ3x*EMQDb7@h#&c{2pT z+@+r5IDGfzg1mG9l7v+oaAA1N_V!T@7ltQ<;c*UbOkDa|8I!B3(rK|`1JIa0p69Z( zbo$Z>!xN0@V@ymC%;I^aPtl61t~s53mVsL~00)q#o(h6Ff?yV7Vm!~Sy4|-r`z$+> zuxJY|^W66K(MZT_yUR)v79E8Lwg4wV7SCiEDLin1x=p~rR?d!u^gI`1`c)oRcYxbA z0mJZ^Fg(eFp$O@DGnFD4xGn8SwTeZS=SJnY3@!*}34%F{i3@4R%_F%=ut+=77?>$D zx#*qD6H7}s@jUk&+*vzg`c=~mKwl0bH3FZNncZl7umAxs2h!TkcS50fxR(_&Iszg~Y zHkHnG7N*gU8K+TwnvcHq@zFPr&h=(8r3PD9MwLp0&2eyW0U$sc>OTqC{R&_Zt*Sh| zs5b}`00C;g{MHlh1AkhhgROtz>q*^JsMthLTO_N%3KeVVD{Z2mm8wc-pJho{Ov~0f pgW~HGps(;A<*g&U`oF&+{sRLL!>K?q>>&UE002ovPDHLkV1maoyTJee literal 0 HcmV?d00001 diff --git a/static/mx.png b/static/mx.png new file mode 100644 index 0000000000000000000000000000000000000000..6c8ab0687b8b8b1447f67cff088111ea82c40e4a GIT binary patch literal 420 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 literal 0 HcmV?d00001 diff --git a/static/sc1.png b/static/sc1.png new file mode 100644 index 0000000000000000000000000000000000000000..448cf87181e91ec07bef78474e235e3e30b56447 GIT binary patch literal 638 zcmV-^0)hRBP)Px#1am@3R0s$N2z&@+hyVZrC`m*?R9J<@n9EJ;KomgFSV`8V1MdOpx&llEgbE&% zKm{Qcz^mXv1(*t+slX$VtZ@lm+Y7VsI5GH>pFc;6VtGcMqxoFlYsGlm6|ofVU9F?GPF7pv zO5{nw{|;mTyeWLGMHX$HYG)`Ev8V9Xkx1R3ev;2tWq(zKj7&(rS^FeP!Tl{&S+W`Y z8$brYF{|){A3|%9MF#T$WD2~M$W!^oX30VkX9`~f%52Es`cmrvN;6b9eM4cw3SflR zB6om{B?Ne%BHl(QgFhq60NYtoWA2^bq;O`9+!kipd?+ole6#DL$` zfC}s^KRixD7iU7V&`SyrhvqZ;U;^-CosdO?Z3@diWB?NQ+t6gUrXOQqk?)fV(^B;8 z5|d3dJv&k>k+uXZQlPU2=_8rbyl;aEd1Bs#lMR!K0H7eY6nqRd;2ykNNr!RfR1)wl zbF_o8Wq`odIxgP!%du?~yqf=<9jC2tf(xy$p_DO>IZG+r7uOphlhZyAEu-MET+LSM zvLTmFfq$;`ZTVj1U6#Tv?ZL7uqNKD`jY6*0aSE>LH$DY*RV(cH`q7fNoWk>k)(=gM zJ3q&mBH)eF%cLNKWl<0wEmW`;xijUG*N4c#LIt6SV=9#!laJeMGlH1>Ktu{Yj`^hb Y4X(Abrt@nB8~^|S07*qoM6N<$f>odxNdN!< literal 0 HcmV?d00001 diff --git a/static/share.png b/static/share.png new file mode 100644 index 0000000000000000000000000000000000000000..9aace8000496d9dc9f67bc148822c08924a12956 GIT binary patch literal 2404 zcmV-q37htbP)Px#1am@3R0s$N2z&@+hyVZy4oO5oRCt{2oLy`b*A>VA=gzKY0O2tKVS$SMWRL&a}8ht!^3*`tQ9+lC+P2Ujb-y zvn~K32L8dOd8*sL@_%ks;)-CwVDuFcHxGj7bpWy(b(FvW^F_-e9qaCH{I}D_9ThCt zr)?7g0Wj}!(r%?NaFLmMx{s(=owDhOU`LNWTq9Yr0EqU1xz-+48X^PCr%d7PJ$!iC zRMqCHH89XWvzJ)<6ToY#wdF1}#boa9>UrUBRavR@#$ea&m160#V*vfOng%=pPFjy1 z9PA$W$-PQ$u1K&zKx^}YzXY(QlKbm`YcbF}y}fFv+#5x?Hw63c@9+Ybv3SJ-fGu9& za^jR#boRT0wMXus^z|oVynMNDlT#_kgXx0%$6`ZS_qA zBtAIQ(>Sz{!V3~C*mr-2?OAxCs;1R1GZyn(-A7h@Ghe}Z1+zPNTz)zp!&1r9B!x?P37{ul0hz40hdKS*lb?!R$C|QICe@vL*4Ii&FHF96YMM2aBtU ziWe(P*1lphf`WqCbHn&|^*`Nl3z{;8=ck3{o&_IC$%+M@U9kXw?PNj$@;oe&qWPxo zvJSO|$gnKz$W0C9d6*C!c;>|d0A^VTBLXy5m?Q`%8LRJXv9bT+%mH+^T!5Flqem~8506_7~`sz_ERTU|*be(a2=rKa$ zvD9a8{bngvH%nOEEMZfJ7dOUY?lgpXz2cem0r-!w|F_
5%gZEHyVed$74ECA3n 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 IM6N<$f`^C@0{{R3 literal 0 HcmV?d00001 diff --git a/static/tj.png b/static/tj.png new file mode 100644 index 0000000000000000000000000000000000000000..014576207e45ade589165d8ffc6899e55ecd999c GIT binary patch literal 429 zcmV;e0aE^nP)Px#1am@3R0s$N2z&@+hyVZqS4l)cR5*>Tl);gLKomr~e;EK|UoU%adlXX0V!pW?%?p01-^@K|n=NtFUh{|G(+^FikXQ8K*;|4dB!V;pMLrkY_n} zn#}xNT_0;f;s!*wX)^$TkO-Pr!FKzwj?>VjI-?oDNGM!LX_LU75H609!56(OWZnC8C@E8P;nJ z%Vo5ILHha>5KjFLaC2O8TQ__McLD%|Mb$MCUitM2&#DD&)q#+eS4$eJrl@cx=)ocG z8xn)@_%VCr*__AxBc>*hv<^c#?l80dUPQW_qdm8xr`wbejTBIYI_42FP%^?|#M<;ivf(rcu XwW*A8UBEhX00000NkvXXu0mjfoc_8c literal 0 HcmV?d00001 diff --git a/static/xg.png b/static/xg.png new file mode 100644 index 0000000000000000000000000000000000000000..7f758998eb5137c4adb99be151a192f6fdc90947 GIT binary patch literal 431 zcmV;g0Z{&lP)Px#1am@3R0s$N2z&@+hyVZqSxH1eR9J=W*uiasFcb#h{~5Sv1V(7j2up0x4VsM5 z2}mbNM(74k5x!@GWCZR=b}t1H+JLEDn@as}7(e^dGZF}b<5X4k#27mOXp~Yfobxx+ zT5=58enR>vrFNY2qe(q;iHV}<44}E$fU!eWRa=vKr=0-+DdmIKS^(G#$FmStxmDlqC05k1eXWrdMamPwLaq?F|t)VA#-fNM9VlzN|A@5jd^r7X49 z`+gy!eU@df!#P5TG)WRcM91+xXP7Z$2DB-Pq8ZP1g1HBo0-0tJW)5NtGJb$fAvQ7U z%o5129+NM~EXF5f65|_k7ZU>VEhZG?3nnDw1``_6W7Yrx09p$K0N7d}fZ@Bz2Lu4( zxd}_Y?rk&K8J`ef0^=J30I^bPHy$LSE9d;=6Y`%w6RPX_5*pDZ29SnEbaDC@!ZxeI Zd;q97)7P-x2R8r!002ovPDHLkV1fY(tEm70 literal 0 HcmV?d00001 diff --git a/static/xq.png b/static/xq.png new file mode 100644 index 0000000000000000000000000000000000000000..a6bce10424091d87e06a23e5c53f473e4569c8b7 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^dO)ne!3HFAH+#7QDaPU;cPEB*=VV?2IV{Cao*^7S zP{WbZ0purmx;TbJw7$LODA?e@!*Y;UH1PpT`hyntN7@x99&ZcUzBXZA^2|ty7YXbo znl+~EA2unwxTM&N394H!I(+s`vU^ESt!V4|XQ8DV!4lJE@&hFp@4V^g+qizwhpTl{ XLV2HZn~1al?PBnB^>bP0l+XkKK)O9B literal 0 HcmV?d00001 diff --git a/static/yc.png b/static/yc.png new file mode 100644 index 0000000000000000000000000000000000000000..4e283afc2f7da75aaba6bc5aec54ae876076a494 GIT binary patch literal 1151 zcmV-_1c3XAP)Px#1am@3R0s$N2z&@+hyVZtDM>^@RA_iMp|SYaRWF(OZ3kxukY)iH!6Qg$nsz=q;g{rHo ze;^ddMaMf9L}y_5iumN8mU&&2Z7Rx8Pu|(2?F^=$Kd)0B>G8>OS`MnV0EOLey>`-M5$Y?%&$W%%eT=98v0-JxCWvjk5!vKcfB(P z$tNq+=do&MHS)Q8f5zZrgrT`I441*}=Be4wqV~Aveclg;E<64$2v$^q!1C{w*2Ox?$GY`_}TVkgsW2@R|8PzO_ zttsC*jZwn3bc;)7<(jOnDMd204qakL*3h>tHi-f>LlX~EzF@ChVG0q;#Gvc!3`C+}=% zI(`NiM#n`s9&QuVt{W}mVPm`%K>UF$NL=`(}cxLI`!0sn60QtslFBnxdC7_9vk+gXOS+>vTPx~Xh^uz*NF5dISnSq4u$=PNWL(GG_nw0 z@DRY{j?PP|VAhQN@QVO|-;=8_+czgo9h(SXa$i7!>p*d*V+Ak_6hB@b`5$qWu6Z*~ R$T$E1002ovPDHLkV1ik665s#; literal 0 HcmV?d00001 diff --git a/static/zh.png b/static/zh.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d50dbf3a7bfb213c005c8f937bb946e19059d9 GIT binary patch literal 513 zcmV+c0{;DpP)Px#1am@3R0s$N2z&@+hyVZqt4TybRA_ zJNIA=oNhi(VMM?=>AjWFMbbpGw9Cm?9Fp2O$4P_v+dD2HThYY1b<`*$MHL9*zR_Gz zbCNb5q+ndWV5*_zDtO!K-ij}J$1h3$(bS0u=+9I%k1Hiwfk<+BNpD--Tk%Ejc%_hZ z2yFe~$Qy8PW?#!TRa#uqEpWWX(ML)9X7>KuhRU|Oq&?P?2G|9TmTjo4IPd~|{^R`f zvWJyzbu&vOod9RRHt@0H(O2Nw%*IQ1h2L?{2;#mG#C;=(`$iD=jUetDLEJZjxNih; z-)J!ZxyY4}qi9@iois_OoZ3^xfusxS_5Ey+TaTN-kXi8-aI>jIB{9lII-jU#i!UMu z4zkOwLp{g5^2DUGtchinpPAMkY1`LvdU