├── LICENSE ├── README.md ├── app.js ├── app.json ├── app.wxss ├── biliang ├── .DS_Store ├── res │ ├── gradient_circle.png │ └── gradient_dot.png └── scan │ ├── scanbar.js │ ├── scanbar.wxml │ └── scanbar.wxss ├── components ├── calendar │ ├── calendar.js │ ├── calendar.json │ ├── calendar.wxml │ └── calendar.wxss ├── calibration-instrument │ ├── calibration-instrument.js │ ├── calibration-instrument.json │ ├── calibration-instrument.wxml │ ├── calibration-instrument.wxss │ └── instrument.js ├── call-staticstics-cycle │ ├── call-staticstics-cycle.js │ ├── call-staticstics-cycle.json │ ├── call-staticstics-cycle.wxml │ └── call-staticstics-cycle.wxss ├── canvasdrawer │ ├── canvasdrawer.js │ ├── canvasdrawer.json │ ├── canvasdrawer.wxml │ └── canvasdrawer.wxss ├── city-picker │ ├── city-picker.js │ ├── city-picker.json │ ├── city-picker.wxml │ └── city-picker.wxss ├── column-chart │ ├── chart.js │ ├── column-chart.js │ ├── column-chart.json │ ├── column-chart.wxml │ └── column-chart.wxss ├── common-list │ ├── common-list.js │ ├── common-list.json │ ├── common-list.wxml │ └── common-list.wxss ├── common-search-and-history │ ├── common-search-and-history.js │ ├── common-search-and-history.json │ ├── common-search-and-history.wxml │ └── common-search-and-history.wxss ├── common-search-history │ ├── common-search-history.js │ ├── common-search-history.json │ ├── common-search-history.wxml │ └── common-search-history.wxss ├── common-search │ ├── common-search.js │ ├── common-search.json │ ├── common-search.wxml │ └── common-search.wxss ├── date-picker │ ├── date-picker.js │ ├── date-picker.json │ ├── date-picker.wxml │ └── date-picker.wxss ├── double-column-chart │ ├── chart.js │ ├── double-column-chart.js │ ├── double-column-chart.json │ ├── double-column-chart.wxml │ └── double-column-chart.wxss ├── double-column-chart1 │ ├── chart.js │ ├── double-column-chart.js │ ├── double-column-chart.json │ ├── double-column-chart.wxml │ └── double-column-chart.wxss ├── double-line-chart │ ├── chart.js │ ├── double-line-chart.js │ ├── double-line-chart.json │ ├── double-line-chart.wxml │ └── double-line-chart.wxss ├── float-tab │ ├── float-tab.js │ ├── float-tab.json │ ├── float-tab.wxml │ ├── float-tab.wxss │ └── tab-item │ │ ├── tab-item.wxml │ │ └── tab-item.wxss ├── line-chart │ ├── chart.js │ ├── line-chart.js │ ├── line-chart.json │ ├── line-chart.wxml │ └── line-chart.wxss ├── miniprogram_dist │ ├── index │ │ ├── index.js │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ └── poster │ │ ├── index.js │ │ ├── index.json │ │ ├── index.wxml │ │ ├── index.wxss │ │ └── poster.js ├── mod-process │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss ├── mode-list-item │ ├── mode-list-item.js │ ├── mode-list-item.json │ ├── mode-list-item.wxml │ └── mode-list-item.wxss ├── popup │ ├── popup.js │ ├── popup.json │ ├── popup.wxml │ └── popup.wxss ├── poster │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss ├── poster1 │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss ├── poster2 │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss ├── progress-bar │ ├── progress-bar.js │ ├── progress-bar.json │ ├── progress-bar.wxml │ ├── progress-bar.wxss │ └── progress.js ├── progress │ ├── progress.js │ ├── progress.json │ ├── progress.wxml │ └── progress.wxss ├── progress2 │ ├── progress2.js │ ├── progress2.json │ ├── progress2.wxml │ └── progress2.wxss ├── record-item │ ├── record-item.js │ ├── record-item.json │ ├── record-item.wxml │ └── record-item.wxss ├── record-tab-list │ ├── record-tab-list.js │ ├── record-tab-list.json │ ├── record-tab-list.wxml │ └── record-tab-list.wxss ├── slide-delete │ ├── slide-delete.css │ ├── slide-delete.js │ ├── slide-delete.json │ └── slide-delete.wxml ├── slideBarChart │ ├── slideBarChart.js │ ├── slideBarChart.json │ ├── slideBarChart.wxml │ └── slideBarChart.wxss └── tab-cycle │ ├── tab-cycle.js │ ├── tab-cycle.json │ ├── tab-cycle.wxml │ └── tab-cycle.wxss ├── images ├── 1.png ├── course-first.png ├── dele.png ├── dialog.png ├── ic_about.png ├── ic_about_selected.png ├── ic_component.png ├── ic_component_selected.png ├── ic_input_delete.png ├── ic_left_black_arrow.png ├── ic_left_gray_arrow.png ├── ic_record_next.png ├── ic_record_pause.png ├── ic_record_play.png ├── ic_record_pre.png ├── ic_right_black_arrow.png ├── ic_right_gray_arrow.png ├── ic_search.png ├── ic_search_delete.png ├── icon_163news.png ├── icon_baidu.png ├── icon_cnr.png ├── icon_ifeng.svg ├── icon_sina.svg ├── icon_sohu.svg ├── icon_teiba.png ├── icon_toutiao.svg ├── icon_wangyi163.svg ├── icon_weibo.svg ├── icon_weixin.svg ├── icon_yidian.png ├── icon_zhihu.svg ├── img │ ├── 0722_tbg1.png │ ├── 0722_tbg2.png │ ├── 0723bg.jpg │ ├── avatar.jpeg │ ├── share2.png │ └── wxacode.jpeg ├── loading.svg ├── person.svg ├── person2.svg ├── qqqq.png ├── selected.svg ├── share-app.jpg ├── success.svg └── test.png ├── package-lock.json ├── pages ├── about │ ├── about.js │ ├── about.json │ ├── about.wxml │ └── about.wxss ├── calibration-instrument │ ├── calibration-instrument.js │ ├── calibration-instrument.json │ ├── calibration-instrument.wxml │ └── calibration-instrument.wxss ├── call-statistics-detail │ ├── call-statistics-detail.js │ ├── call-statistics-detail.json │ ├── call-statistics-detail.wxml │ └── call-statistics-detail.wxss ├── call-statistics │ ├── call-statistics.js │ ├── call-statistics.json │ ├── call-statistics.wxml │ └── call-statistics.wxss ├── canvasDemo │ ├── canvasDemo.js │ ├── canvasDemo.json │ ├── canvasDemo.wxml │ └── canvasDemo.wxss ├── circle │ ├── circle.js │ ├── circle.json │ ├── circle.wxml │ └── circle.wxss ├── city │ ├── city.js │ ├── city.json │ ├── city.wxml │ └── city.wxss ├── column-chart │ ├── column-chart.js │ ├── column-chart.json │ ├── column-chart.wxml │ └── column-chart.wxss ├── comon-search-history │ ├── comon-search-history.js │ ├── comon-search-history.json │ ├── comon-search-history.wxml │ └── comon-search-history.wxss ├── comon-search │ ├── comon-search.js │ ├── comon-search.json │ ├── comon-search.wxml │ └── comon-search.wxss ├── date │ ├── date.js │ ├── date.json │ ├── date.wxml │ └── date.wxss ├── delete │ ├── delete.js │ ├── delete.json │ ├── delete.wxml │ └── delete.wxss ├── double-column-chart │ ├── double-column-chart.js │ ├── double-column-chart.json │ ├── double-column-chart.wxml │ └── double-column-chart.wxss ├── double-line-chart │ ├── double-line-chart.js │ ├── double-line-chart.json │ ├── double-line-chart.wxml │ └── double-line-chart.wxss ├── fenxianghaibao │ ├── fenxianghaibao.js │ ├── fenxianghaibao.json │ ├── fenxianghaibao.wxml │ └── fenxianghaibao.wxss ├── float_tab │ ├── float_tab.js │ ├── float_tab.json │ ├── float_tab.wxml │ └── float_tab.wxss ├── haibao │ ├── haibao.js │ ├── haibao.json │ ├── haibao.wxml │ └── haibao.wxss ├── haibao1 │ ├── haibao1.js │ ├── haibao1.json │ ├── haibao1.wxml │ └── haibao1.wxss ├── haibao2 │ ├── haibao2.js │ ├── haibao2.json │ ├── haibao2.wxml │ └── haibao2.wxss ├── haibao3 │ ├── haibao3.js │ ├── haibao3.json │ ├── haibao3.wxml │ └── haibao3.wxss ├── haibao4 │ ├── haibao3.js │ ├── haibao3.json │ ├── haibao3.wxml │ └── haibao3.wxss ├── horizontal-scroll_tab │ ├── horizontal-scroll_tab.js │ ├── horizontal-scroll_tab.json │ ├── horizontal-scroll_tab.wxml │ └── horizontal-scroll_tab.wxss ├── huadonglizhuti │ ├── huadonglizhutu.js │ ├── huadonglizhutu.json │ ├── huadonglizhutu.wxml │ └── huadonglizhutu.wxss ├── index │ ├── index.js │ ├── index.json │ ├── index.wxml │ └── index.wxss ├── jiazaisaomiao │ ├── jiazaisaomiao.js │ ├── jiazaisaomiao.json │ ├── jiazaisaomiao.wxml │ └── jiazaisaomiao.wxss ├── line-chart │ ├── line-chart.js │ ├── line-chart.json │ ├── line-chart.wxml │ └── line-chart.wxss ├── line-column-chart │ ├── line-column-chart.js │ ├── line-column-chart.json │ ├── line-column-chart.wxml │ └── line-column-chart.wxss ├── linghuojindutiao │ ├── linghuojindutiao.js │ ├── linghuojindutiao.json │ ├── linghuojindutiao.wxml │ └── linghuojindutiao.wxss ├── meituan │ ├── meituan.js │ ├── meituan.json │ ├── meituan.wxml │ └── meituan.wxss ├── mian │ ├── mian.js │ ├── mian.json │ ├── mian.wxml │ └── mian.wxss ├── posters │ ├── posters1 │ │ ├── posters1.js │ │ ├── posters1.json │ │ ├── posters1.wxml │ │ └── posters1.wxss │ └── posters2 │ │ ├── posters2.js │ │ ├── posters2.json │ │ ├── posters2.wxml │ │ └── posters2.wxss ├── progress-bar │ ├── progress-bar.js │ ├── progress-bar.json │ ├── progress-bar.wxml │ └── progress-bar.wxss ├── share │ ├── share.js │ ├── share.json │ ├── share.wxml │ └── share.wxss ├── share1 │ ├── share.js │ ├── share.json │ ├── share.wxml │ └── share.wxss ├── slideCharts │ ├── slideCharts.js │ ├── slideCharts.json │ ├── slideCharts.wxml │ └── slideCharts.wxss ├── study-components │ ├── study-components.js │ ├── study-components.json │ ├── study-components.wxml │ └── study-components.wxss ├── yuanjindu │ ├── yuanjindu.js │ ├── yuanjindu.json │ ├── yuanjindu.wxml │ └── yuanjindu.wxss └── yuanjindu1 │ ├── yuanjindu1.js │ ├── yuanjindu1.json │ ├── yuanjindu1.wxml │ └── yuanjindu1.wxss ├── project.config.json ├── sitemap.json └── utils ├── canvas.js ├── drawing.js ├── qrCode.js └── util.js /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 seedling 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 9 | # 优秀的前端开发者,你居然来了.就 10 | 11 | # 点一下 star 吧 12 | 13 | # 很多部分组件不是本人开发的,大部分来源于网络论坛大佬的代码. 14 | 15 | # 少部分组件由本人开发的! 16 | 17 | 18 | # 技术交流 19 | > 大家可以接着往后面更新开发,继续完善这个小程序组件库,有兴趣互相学习的可以加下 20 | > 微信:wm1061214467 回复:wechat 21 | 22 | 23 | 24 | ![image](http://oss.wangmiaozero.cn/demo/1.png) 25 | ![image](http://oss.wangmiaozero.cn/demo/2.png) 26 | ![image](http://oss.wangmiaozero.cn/demo/3.png) 27 | ![image](http://oss.wangmiaozero.cn/demo/4.png) 28 | ![image](http://oss.wangmiaozero.cn/demo/5.png) 29 | ![image](http://oss.wangmiaozero.cn/demo/6.png) 30 | ![image](http://oss.wangmiaozero.cn/demo/7.png) 31 | ![image](http://oss.wangmiaozero.cn/demo/8.png) 32 | ![image](http://oss.wangmiaozero.cn/demo/9.png) 33 | ![image](http://oss.wangmiaozero.cn/demo/10.png) 34 | ![image](http://oss.wangmiaozero.cn/demo/11.png) 35 | ![image](http://oss.wangmiaozero.cn/demo/12.png) 36 | ![image](http://oss.wangmiaozero.cn/demo/13.png) 37 | 38 | ### 注意要点: 39 | 40 | 1,由于部分功能小程序的基础库需要 1.9.90 才能使用,因此建议使用微信 1.9.90 以上的基础库 41 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | //app.js 2 | App({ 3 | onLaunch: function (options) { 4 | //调用API从本地缓存中获取数据 5 | var logs = wx.getStorageSync('logs') || [] 6 | logs.unshift(Date.now()) 7 | wx.setStorageSync('logs', logs) 8 | var _that = this; 9 | wx: wx.getSystemInfo({ 10 | success: function (res) { 11 | _that.systemInfo = res; 12 | } 13 | }); 14 | }, 15 | getUserInfo: function (cb) { 16 | var that = this 17 | if (this.globalData.userInfo) { 18 | typeof cb == "function" && cb(this.globalData.userInfo) 19 | } else { 20 | //调用登录接口 21 | wx.login({ 22 | success: function () { 23 | wx.getUserInfo({ 24 | success: function (res) { 25 | that.globalData.userInfo = res.userInfo 26 | typeof cb == "function" && cb(that.globalData.userInfo) 27 | } 28 | }) 29 | } 30 | }) 31 | } 32 | }, 33 | globalData: { 34 | userInfo: null 35 | }, 36 | 37 | 38 | /** 39 | * 系统信息 40 | */ 41 | systemInfo: null,//系统信息 42 | 43 | 44 | /** 45 | * 音频播放上下文 46 | */ 47 | audioContext: null, 48 | 49 | /** 50 | * 获取当前音频上下文 51 | */ 52 | getAudioContext: function getAudioContext() { 53 | if (this.audioContext == null) { 54 | this.audioContext = wx.createInnerAudioContext(); 55 | } 56 | return this.audioContext; 57 | }, 58 | 59 | /** 60 | * 摧毁当前音频上下文 61 | */ 62 | destroyAudioContext: function destroyAudioContext() { 63 | if (this.audioContext != null) { 64 | this.audioContext.stop(); 65 | this.audioContext.destroy 66 | } 67 | }, 68 | }) -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ 3 | "pages/index/index", 4 | "pages/study-components/study-components", 5 | "pages/about/about", 6 | "pages/date/date", 7 | "pages/city/city", 8 | "pages/float_tab/float_tab", 9 | "pages/horizontal-scroll_tab/horizontal-scroll_tab", 10 | "pages/line-chart/line-chart", 11 | "pages/column-chart/column-chart", 12 | "pages/double-line-chart/double-line-chart", 13 | "pages/line-column-chart/line-column-chart", 14 | "pages/double-column-chart/double-column-chart", 15 | "pages/calibration-instrument/calibration-instrument", 16 | "pages/progress-bar/progress-bar", 17 | "pages/call-statistics/call-statistics", 18 | "pages/call-statistics-detail/call-statistics-detail", 19 | "pages/comon-search/comon-search", 20 | "pages/comon-search-history/comon-search-history", 21 | "pages/circle/circle", 22 | "pages/canvasDemo/canvasDemo", 23 | "pages/meituan/meituan", 24 | "pages/linghuojindutiao/linghuojindutiao", 25 | "pages/yuanjindu/yuanjindu", 26 | "pages/yuanjindu1/yuanjindu1", 27 | "pages/delete/delete", 28 | "pages/mian/mian", 29 | "pages/huadonglizhuti/huadonglizhutu", 30 | "pages/slideCharts/slideCharts", 31 | "pages/jiazaisaomiao/jiazaisaomiao", 32 | "pages/share/share", 33 | "pages/share1/share", 34 | "pages/fenxianghaibao/fenxianghaibao", 35 | "pages/haibao/haibao", 36 | "pages/haibao1/haibao1", 37 | "pages/posters/posters1/posters1", 38 | "pages/posters/posters2/posters2", 39 | "pages/haibao2/haibao2", 40 | "pages/haibao3/haibao3", 41 | "pages/haibao4/haibao3" 42 | ], 43 | "window": { 44 | "backgroundTextStyle": "light", 45 | "navigationBarBackgroundColor": "#8C25FF", 46 | "navigationBarTitleText": "自定义组件", 47 | "navigationBarTextStyle": "white" 48 | }, 49 | "tabBar": { 50 | "position": "bottom", 51 | "color": "#888888", 52 | "selectedColor": "#8C25FF", 53 | "list": [ 54 | { 55 | "pagePath": "pages/index/index", 56 | "text": "组件", 57 | "iconPath": "images/ic_component.png", 58 | "selectedIconPath": "images/ic_component_selected.png" 59 | }, 60 | { 61 | "pagePath": "pages/about/about", 62 | "text": "关于", 63 | "iconPath": "images/ic_about.png", 64 | "selectedIconPath": "images/ic_about_selected.png" 65 | } 66 | ] 67 | }, 68 | "sitemapLocation": "sitemap.json" 69 | } -------------------------------------------------------------------------------- /app.wxss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangmiaozero/wxComoponents/97d4e00820f846c0f8c1295a595affde34eb91b3/app.wxss -------------------------------------------------------------------------------- /biliang/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangmiaozero/wxComoponents/97d4e00820f846c0f8c1295a595affde34eb91b3/biliang/.DS_Store -------------------------------------------------------------------------------- /biliang/res/gradient_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangmiaozero/wxComoponents/97d4e00820f846c0f8c1295a595affde34eb91b3/biliang/res/gradient_circle.png -------------------------------------------------------------------------------- /biliang/res/gradient_dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wangmiaozero/wxComoponents/97d4e00820f846c0f8c1295a595affde34eb91b3/biliang/res/gradient_dot.png -------------------------------------------------------------------------------- /biliang/scan/scanbar.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /biliang/scan/scanbar.wxss: -------------------------------------------------------------------------------- 1 | /*---------- radar start ----------*/ 2 | 3 | .radar { 4 | width: 100%; 5 | height: 330px; 6 | position: relative; 7 | } 8 | 9 | .circle_end { 10 | position: absolute; 11 | left: 0; 12 | right: 0; 13 | top: 0; 14 | bottom: 0; 15 | margin: auto; 16 | width: 300px; 17 | height: 300px; 18 | box-sizing: border-box; 19 | border-radius: 50%; 20 | border: 4px solid rgba(255, 255, 255, 0.5); 21 | } 22 | 23 | .circle { 24 | position: absolute; 25 | left: 0; 26 | right: 0; 27 | top: 0; 28 | bottom: 0; 29 | margin: auto; 30 | width: 300px; 31 | height: 300px; 32 | border-radius: 50%; 33 | } 34 | 35 | .gradient_circle { 36 | position: absolute; 37 | top: 0; 38 | left: 0; 39 | } 40 | 41 | .scan { 42 | width: 150px; 43 | height: 150px; 44 | background: linear-gradient(0deg, rgba(40, 168, 252, 0.0), rgba(255, 255, 255, 0.45)); 45 | border-radius: 100% 0 0 0; 46 | z-index: 999; 47 | position: relative; 48 | } 49 | 50 | .gradient_dot { 51 | position: absolute; 52 | top: -14px; 53 | right: -14px; 54 | } 55 | 56 | .cursor { 57 | width: 2px; 58 | height: 100%; 59 | background: linear-gradient(0deg, rgba(40, 168, 252, 0.0), rgba(255, 255, 255, 0.45)); 60 | position: absolute; 61 | top: 0; 62 | right: 0; 63 | } 64 | 65 | .radar_score { 66 | margin-top: -30px; 67 | margin-left: -80px; 68 | width: 160px; 69 | height: 60px; 70 | text-align: center; 71 | line-height: 60px; 72 | font-size: 60px; 73 | color: #fff; 74 | position: absolute; 75 | top: 50%; 76 | left: 50%; 77 | z-index: 1000; 78 | } 79 | 80 | .radar_score_percent { 81 | display: inline-block; 82 | margin-top: 25px; 83 | margin-left: -15px; 84 | height: 30px; 85 | line-height: 30px; 86 | font-size: 30px; 87 | } 88 | 89 | /*---------- radar end ----------*/ -------------------------------------------------------------------------------- /components/calendar/calendar.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "date-picker": "../date-picker/date-picker" 5 | } 6 | } -------------------------------------------------------------------------------- /components/calendar/calendar.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{preText}} 6 | 7 | {{content}} 8 | 9 | {{nextText}} 10 | 11 | 12 | 13 | 14 | {{callbackDate.startDate}} 15 | 16 | {{callbackDate.endDate}} 17 | 查询 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /components/calendar/calendar.wxss: -------------------------------------------------------------------------------- 1 | .container { 2 | display: flex; 3 | justify-content: space-between; 4 | flex-direction: row; 5 | align-items: center; 6 | box-sizing: border-box; 7 | height: 96rpx; 8 | padding-left: 32rpx; 9 | padding-right: 32rpx; 10 | } 11 | 12 | .seletion{ 13 | display: flex; 14 | flex-direction: row; 15 | align-items: center; 16 | } 17 | 18 | .letf_arrow,.right_arrow{ 19 | width: 15rpx; 20 | height: 25rpx; 21 | flex-shrink: 0; 22 | margin-left: 10rpx; 23 | margin-right: 10rpx; 24 | } 25 | 26 | .date_enable,.date_disable{ 27 | flex-shrink: 0; 28 | font-size: 20rpx; 29 | } 30 | 31 | .date_enable{ 32 | color: #8A96A0; 33 | } 34 | 35 | .date_disable{ 36 | color: #CCCCCC; 37 | } 38 | 39 | .content{ 40 | flex-grow: 1; 41 | text-align: center; 42 | clear: #8A96A0; 43 | font-size: 28rpx; 44 | font-weight: 500; 45 | } 46 | 47 | .select_date{ 48 | background-color: #F9FAFB; 49 | border-radius:30rpx; 50 | height: 52rpx; 51 | width: 220rpx; 52 | font-size: 22rpx; 53 | line-height: 52rpx; 54 | text-align: center; 55 | color: #555555; 56 | font-weight: 600; 57 | } 58 | .select_center{ 59 | font-size: 22rpx; 60 | line-height: 52rpx; 61 | text-align: center; 62 | color: #8A96A0; 63 | flex-grow: 1; 64 | } 65 | 66 | .query,.query_disable{ 67 | border-radius:30rpx; 68 | height: 52rpx; 69 | width: 120rpx; 70 | font-size: 24rpx; 71 | line-height: 52rpx; 72 | text-align: center; 73 | color: #FFFFFF; 74 | font-weight: 600; 75 | margin-left: 32rpx; 76 | } 77 | 78 | .query{ 79 | background-color: #0077FF; 80 | } 81 | 82 | .query_disable{ 83 | background-color: #CCCCCC; 84 | color: #FFFFFF; 85 | } 86 | -------------------------------------------------------------------------------- /components/calibration-instrument/calibration-instrument.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var instrument = require('instrument.js'); 4 | 5 | Component({ 6 | properties: { 7 | canvasData: { 8 | type: Object, 9 | value: {}, 10 | observer: "onItemsChange" 11 | }, 12 | title: { 13 | type: String, 14 | value: '', 15 | observer: "onTitleChange" 16 | }, 17 | units: { 18 | type: Array, 19 | value: [], 20 | observer: "onUnitChange" 21 | } 22 | }, 23 | 24 | data: { 25 | instrument: null 26 | }, 27 | 28 | detached: function detached() { 29 | this.data.instrument = null; 30 | }, 31 | 32 | methods: { 33 | onItemsChange: function onItemsChange() { 34 | this.setData({ 35 | canvasData: this.data.canvasData 36 | }); 37 | if (this.data.instrument == null || this.data.instrument == undefined) { 38 | this.data.instrument = new instrument(this.data.canvasData, this); 39 | } else { 40 | this.data.instrument.updateData(this.data.canvasData); 41 | } 42 | }, 43 | onTitleChange: function onTitleChange() { 44 | this.setData({ 45 | title: this.data.title 46 | }); 47 | }, 48 | onUnitChange: function onUnitChange() { 49 | this.setData({ 50 | units: this.data.units 51 | }); 52 | }, 53 | } 54 | 55 | }); -------------------------------------------------------------------------------- /components/calibration-instrument/calibration-instrument.json: -------------------------------------------------------------------------------- 1 | {"component":true} -------------------------------------------------------------------------------- /components/calibration-instrument/calibration-instrument.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | {{title}} 4 | 5 | 6 | {{item.title}} 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /components/calibration-instrument/calibration-instrument.wxss: -------------------------------------------------------------------------------- 1 | .line_chart_container { 2 | display: flex; 3 | flex-direction: column; 4 | justify-content: space-between; 5 | align-items: center; 6 | padding: 42rpx 32rpx 56rpx; 7 | } 8 | .line_chart_title_container { 9 | display: flex; 10 | flex-direction: row; 11 | justify-content: space-between; 12 | align-items: center; 13 | margin-bottom: 28rpx; 14 | width: 100%; 15 | } 16 | .line_chart_title_type { 17 | line-height: 34rpx; 18 | font-size: 24rpx; 19 | text-align: left; 20 | flex-grow: 1; 21 | color: #1A173B; 22 | } 23 | .line_chart_unit_color { 24 | width: 32rpx; 25 | height: 10rpx; 26 | margin: 0 12rpx 0 38rpx; 27 | } 28 | .line_chart_unit_title { 29 | line-height: 28rpx; 30 | font-size: 20rpx; 31 | text-align: right; 32 | color: #8A96A0; 33 | } 34 | -------------------------------------------------------------------------------- /components/call-staticstics-cycle/call-staticstics-cycle.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | Component({ 4 | properties: { 5 | data: { 6 | type: Object, 7 | value: { 8 | }, 9 | observer: "onDataChange" 10 | }, 11 | dateType: { 12 | type: String, 13 | value: '', 14 | }, 15 | }, 16 | 17 | 18 | data: { 19 | dateType:"" 20 | }, 21 | 22 | 23 | methods: { 24 | onDataChange: function onDataChange() { 25 | this.setData({ 26 | data: this.data.data, 27 | }); 28 | }, 29 | 30 | /** 31 | * 日期选择回调 32 | * @param {*} e 33 | */ 34 | onCallbackDate: function onCallbackDate(e) { 35 | console.log(e); 36 | }, 37 | 38 | } 39 | }); -------------------------------------------------------------------------------- /components/call-staticstics-cycle/call-staticstics-cycle.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "usingComponents": { 4 | "calendar":"../../components/calendar/calendar" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /components/call-staticstics-cycle/call-staticstics-cycle.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /components/call-staticstics-cycle/call-staticstics-cycle.wxss: -------------------------------------------------------------------------------- 1 | .container { 2 | flex-direction: row 3 | } 4 | -------------------------------------------------------------------------------- /components/canvasdrawer/canvasdrawer.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/canvasdrawer/canvasdrawer.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/canvasdrawer/canvasdrawer.wxss: -------------------------------------------------------------------------------- 1 | .board { 2 | position: fixed; 3 | top: 2000rpx; 4 | } -------------------------------------------------------------------------------- /components/city-picker/city-picker.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/city-picker/city-picker.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 取消 7 | 8 | 9 | 确认 10 | 11 | 12 | 13 | 14 | 15 | 16 | {{item.province_name}} 17 | 18 | 19 | 20 | 21 | {{item.city_name}} 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /components/city-picker/city-picker.wxss: -------------------------------------------------------------------------------- 1 | .city-picker { 2 | position: absolute; 3 | top: 0; 4 | left: 0; 5 | margin: 0; 6 | padding: 0; 7 | width: 100%; 8 | height: 100%; 9 | z-index: 9; 10 | } 11 | 12 | .city-picker-mask { 13 | position: absolute; 14 | top: 0; 15 | left: 0; 16 | background-color: #353535; 17 | opacity: 0.3; 18 | width: 100%; 19 | height: 100%; 20 | z-index: 10; 21 | } 22 | 23 | .city-picker-content { 24 | position: absolute; 25 | bottom: 64rpx; 26 | left: 0; 27 | width: 654rpx; 28 | height: 474rpx; 29 | margin-right: 48rpx; 30 | margin-left: 48rpx; 31 | border-radius: 8px; 32 | background-color: #fff; 33 | z-index: 33; 34 | overflow: hidden; 35 | } 36 | 37 | .hover-class{ 38 | background-color: #e6e6e6; 39 | } 40 | 41 | .city-picker-content-top { 42 | display: flex; 43 | flex-direction: row; 44 | align-items: center; 45 | height: 112rpx; 46 | justify-content: space-between; 47 | } 48 | 49 | .city-picker-content-line { 50 | background-color: #d3dce6; 51 | height: 1px; 52 | width: 100%; 53 | } 54 | 55 | .city-picker-content-cancel { 56 | line-height: 50rpx; 57 | height: 50rpx; 58 | font-size: 36rpx; 59 | color: #353535; 60 | padding: 30rpx 48rpx; 61 | } 62 | 63 | .city-picker-content-sure { 64 | line-height: 50rpx; 65 | height: 50rpx; 66 | font-size: 36rpx; 67 | color: #ed373d; 68 | padding: 30rpx 48rpx; 69 | } 70 | 71 | .city-picker-content-center { 72 | display: flex; 73 | flex-direction: row; 74 | align-items: center; 75 | height: 362rpx; 76 | overflow: hidden; 77 | margin-top: 6rpx; 78 | margin-bottom: 6rpx; 79 | justify-content: space-between; 80 | } 81 | 82 | .city-picker-content-item { 83 | width: 50%; 84 | height: 210rpx; 85 | text-align: center; 86 | } -------------------------------------------------------------------------------- /components/column-chart/column-chart.js: -------------------------------------------------------------------------------- 1 | var chart = require('chart.js'); 2 | Component({ 3 | properties: { 4 | canvasData: { 5 | type: Object, 6 | value: {}, 7 | observer: "onItemsChange" 8 | }, 9 | title: { 10 | type: String, 11 | value: '', 12 | observer: "onTitleChange" 13 | }, 14 | unit: { 15 | type: String, 16 | value: '', 17 | observer: "onUnitChange" 18 | } 19 | }, 20 | 21 | data: { 22 | columnChart: null, 23 | }, 24 | 25 | detached: function () { 26 | this.data.columnChart = null; 27 | }, 28 | 29 | methods: { 30 | onItemsChange() { 31 | this.setData({ 32 | canvasData: this.data.canvasData 33 | }); 34 | if (this.data.columnChart == null || this.data.columnChart == undefined) { 35 | this.data.columnChart = new chart(this.data.canvasData, this); 36 | } else { 37 | this.data.columnChart.updateData(this.data.canvasData); 38 | } 39 | }, 40 | onTitleChange() { 41 | this.setData({ 42 | title: this.data.title, 43 | }); 44 | 45 | }, 46 | onUnitChange() { 47 | this.setData({ 48 | unit: this.data.unit 49 | }); 50 | }, 51 | onTouchHandler(e) { 52 | if (this.data.columnChart != null) { 53 | this.data.columnChart.scrollStart(e); 54 | } 55 | // console.log('onTouchHandler1'); 56 | }, 57 | onTouchMoveHandler(e) { 58 | if (this.data.columnChart != null) { 59 | this.data.columnChart.scroll(e); 60 | } 61 | // console.log('onTouchMoveHandler1'); 62 | }, 63 | onTouchEndHandler(e) { 64 | if (this.data.columnChart != null) { 65 | this.data.columnChart.scrollEnd(e); 66 | } 67 | // console.log('onTouchEndHandler1'); 68 | }, 69 | } 70 | 71 | }); -------------------------------------------------------------------------------- /components/column-chart/column-chart.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true 3 | } -------------------------------------------------------------------------------- /components/column-chart/column-chart.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 按渠道 4 | 单位:次 5 | 6 | 7 | -------------------------------------------------------------------------------- /components/column-chart/column-chart.wxss: -------------------------------------------------------------------------------- 1 | .column_chart_container { 2 | display: flex; 3 | flex-direction: column; 4 | justify-content: space-between; 5 | align-items: center; 6 | padding: 30rpx 32rpx 60rpx; 7 | } 8 | 9 | .column_chart_title_container{ 10 | display: flex; 11 | flex-direction: row; 12 | justify-content: space-between; 13 | align-items: center; 14 | margin-bottom: 32rpx; 15 | flex-shrink: 0; 16 | width: 100%; 17 | } 18 | 19 | 20 | .column_chart_title_type{ 21 | line-height: 44rpx; 22 | font-size: 32rpx; 23 | text-align: left; 24 | color: #1A173B; 25 | } 26 | 27 | .column_chart_title_unit{ 28 | line-height: 34rpx; 29 | font-size: 24rpx; 30 | text-align: right; 31 | color: #8A96A0; 32 | } -------------------------------------------------------------------------------- /components/common-list/common-list.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Component({ 3 | properties: { 4 | list: { 5 | type: Array, 6 | value: [], 7 | observer: "onListChange" 8 | }, 9 | loadMore: { 10 | type: Object, 11 | value: { 12 | enableLoadMore: false, 13 | hasMore: true, 14 | }, 15 | observer: "onLoadMoreChange" 16 | }, 17 | 18 | }, 19 | 20 | 21 | data: { 22 | enableLoadMore: false, 23 | hasMore: true, 24 | }, 25 | 26 | 27 | methods: { 28 | 29 | onListChange: function onListChange() { 30 | this.setData({ 31 | list: this.data.list, 32 | }); 33 | }, 34 | 35 | /** 36 | * list里面item内部点击 37 | * 可通过e.detail.clickEvent.target知道是Item内部哪个子控件自身点击事件 38 | * @param {*} e 39 | */ 40 | onClickItem: function onClickItem(e) { 41 | // console.log(e); 42 | this.triggerEvent('onClickListItem', e.detail); 43 | }, 44 | 45 | /** 46 | * 加载更多控件更新 47 | */ 48 | onLoadMoreChange: function onLoadMoreChange() { 49 | this.setData({ 50 | enableLoadMore: this.data.loadMore.enableLoadMore, 51 | hasMore: this.data.loadMore.hasMore, 52 | }); 53 | }, 54 | 55 | } 56 | }); -------------------------------------------------------------------------------- /components/common-list/common-list.json: -------------------------------------------------------------------------------- 1 | { 2 | "component": true, 3 | "componentGenerics": { 4 | "list-item": true 5 | } 6 | } -------------------------------------------------------------------------------- /components/common-list/common-list.wxml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 21 | 22 |