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 @@
+
+
+
+
+
+
+
+
+
+
+ {{shadowRow.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{row.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{row.name}}({{row.num}})
+
+
+
+
+
+
+
+
+
+
+ 触发wxs跳板,请勿删除
+
+ 触发renderjs跳板,请勿删除
+
+
+
+
+
+
+
+
+
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 @@
-
+
+
+
+
+
+
+
+ 设备
+
+
+
+
+
+
+
+
+
+
+
+
+ 2501号
+
+
+ 电表号:32562365BD253
+ 在线
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 150KWH
+
+
+ 总电量
+
+
+
+
+ 0.5元/度
+
+
+ 电价
+
+
+
+
+
+
+ 实时
+
+
+ 1.5KW
+ 实时功率
+
+
+ 43A
+ 电流
+
+
+ 220V
+ 电压
+
+
+
+
+
+ 其他
+
+
+
+
+
+ 其他设置
+
+
+
+
+
+ 异常
+
+
+
+
+
+ 用电分析
+
+
+
+
+ 电费充值
+
+
+
+
+
+
+
-
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 @@
-
-
+
+
+
+
+
+
+
+
+
+ 其他
+
+
+
+
+ 充值记录
+
+ 01:00
+
+
+
+
+
+
+ 常见问题
+
+ 充值、体现、使用说明
+
+
+
+
+
+
+ 意见反馈
+
+ 01:00
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 用户昵称
+
+
+ 共1台设备
+
+
+
+
+ 我的钱包
+
+
+
+
+
+ ¥
+
+ 52.00
+
+
+ 钱包余额
+
+
+
+
+
+
+
+ 钱包余额
+
+
+
+
+
+
+
+ 钱包余额
+
+
+
+
+
+
+ 告警设备
+
+
+ 起充金额
+
+
+ 帮助中心
+
+
+ 设置
+
+
+
+
+
+
+
+
@@ -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 @@
+
+
+
+
+
+
+
+
+
+
+
+ 1125房
+
+
+ 蓝牙电表号:YM02263659BD
+
+
+
+
+
+
+
+ 租客扫码进行添加设备绑定
+
+
+
+ 保存到相册
+
+
+
+
+
+
+
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 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}({{item.num}})
+
+
+
+
+
+
+
+
+
+
+
+
+ 新建分组
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+
+ 备注
+
+
+
+ 无
+
+
+
+
+
+
+ 分组
+
+
+
+ 华鑫
+
+
+
+
+
+
+ 电价设置
+
+
+
+ 0.5元/度
+
+
+
+
+
+
+ 欠费断电
+
+
+
+ 欠费20度断电
+
+
+
+
+
+
+ S/N
+
+
+
+ TMTM21516232
+
+
+
+
+
+
+ 类型
+
+
+
+ TC002电表
+
+
+
+
+
+
+ Wifi配网
+
+
+
+ ESP2001
+
+
+
+
+
+
+
+
+
+
+
+
+ 设备分组
+
+
+ 管理
+
+
+
+
+
+ 全部
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ 解除绑定
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+ 充值记录
+ 更多
+
+
+
+ 用户充值
+
+ 2023-12-11 15:12:11
+
+
+
+ +220.00度
+
+ ¥60.00
+
+
+
+
+ 电费充值
+
+
+
+
+
+
+
+
+
+
+
\ 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 @@
+
+
+
+
+
+ 充值记录
+ 更多
+
+
+
+ 用户充值
+
+ 2023-12-11 15:12:11
+
+
+
+ +220.00度
+
+ ¥60.00
+
+
+
+
+ 电费充值
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/static/db.png b/static/db.png
new file mode 100644
index 0000000..ea3b20e
Binary files /dev/null and b/static/db.png differ
diff --git a/static/fx.png b/static/fx.png
new file mode 100644
index 0000000..a9676cc
Binary files /dev/null and b/static/fx.png differ
diff --git a/static/icon.png b/static/icon.png
new file mode 100644
index 0000000..47f540f
Binary files /dev/null and b/static/icon.png differ
diff --git a/static/mx.png b/static/mx.png
new file mode 100644
index 0000000..6c8ab06
Binary files /dev/null and b/static/mx.png differ
diff --git a/static/off.png b/static/off.png
new file mode 100644
index 0000000..1bc69eb
Binary files /dev/null and b/static/off.png differ
diff --git a/static/sc.png b/static/sc.png
new file mode 100644
index 0000000..8116000
Binary files /dev/null and b/static/sc.png differ
diff --git a/static/sc1.png b/static/sc1.png
new file mode 100644
index 0000000..448cf87
Binary files /dev/null and b/static/sc1.png differ
diff --git a/static/share.png b/static/share.png
new file mode 100644
index 0000000..9aace80
Binary files /dev/null and b/static/share.png differ
diff --git a/static/sz.png b/static/sz.png
new file mode 100644
index 0000000..128725f
Binary files /dev/null and b/static/sz.png differ
diff --git a/static/tj.png b/static/tj.png
new file mode 100644
index 0000000..0145762
Binary files /dev/null and b/static/tj.png differ
diff --git a/static/xg.png b/static/xg.png
new file mode 100644
index 0000000..7f75899
Binary files /dev/null and b/static/xg.png differ
diff --git a/static/xq.png b/static/xq.png
new file mode 100644
index 0000000..a6bce10
Binary files /dev/null and b/static/xq.png differ
diff --git a/static/yc.png b/static/yc.png
new file mode 100644
index 0000000..4e283af
Binary files /dev/null and b/static/yc.png differ
diff --git a/static/zh.png b/static/zh.png
new file mode 100644
index 0000000..b5d50db
Binary files /dev/null and b/static/zh.png differ