作者 王军

合并分支 'Branch_wj' 到 'master'

Branch wj



查看合并请求 !7
@@ -15,7 +15,8 @@ @@ -15,7 +15,8 @@
15 "pages/logs/logs", 15 "pages/logs/logs",
16 "pages/yujing/yujing", 16 "pages/yujing/yujing",
17 "pages/qiyeyongdian/qyyd/qyyd", 17 "pages/qiyeyongdian/qyyd/qyyd",
18 - "pages/member/member" 18 + "pages/member/member",
  19 + "pages/chengpin/chengpin"
19 ], 20 ],
20 "window": { 21 "window": {
21 "backgroundTextStyle": "light", 22 "backgroundTextStyle": "light",
  1 +// pages/qiyeyongdian/detail/detail.js
  2 +
  3 +import * as echarts from '../../ec-canvas/echarts';
  4 +
  5 +const app = getApp();
  6 +var Chart = null;
  7 +Page({
  8 +
  9 + /**
  10 + * 页面的初始数据
  11 + */
  12 + data: {
  13 + showModal: false,
  14 + modalTitle: ["选择时间", "选择地磅", "选择货物"],
  15 + modalNum: 2,
  16 + monthList: ["货物名字", "车间后方大转盘", "车间后方大转盘炒股的人格", "车间后方大转盘", "车间后方大转盘", "车间后方大转盘炒股的人格", "车间后方大转盘", "车间后方大转盘", "车间后方大转盘炒股的人格", "车间后方大转盘", "车间后方大转盘", "车间后方大转盘炒股的人格", "车间后方大转盘", "车间后方大转盘", "车间后方大转盘", "车间后方大转盘", "车间后方大转盘", "车间后方大转盘", ],
  17 + time: '2019.01.01-2019.01.31',
  18 + changeColor: 0,
  19 + tabList: ["出库", "流水"],
  20 + tabNum: 0,
  21 + tableTitle: ["时间", "地磅", "货物名称", "重量(T)"],
  22 + trList: [{
  23 + date: "09.12",
  24 + position: "大厅左上角",
  25 + name: "名字妙哉妙",
  26 + num: "18",
  27 + btn: "详情"
  28 + },
  29 + {
  30 + date: "09.12",
  31 + position: "大厅左上角",
  32 + name: "啦啦啦啦啦啦啦啦啦啦",
  33 + num: "18",
  34 + btn: "详情"
  35 + },
  36 + {
  37 + date: "09.12",
  38 + position: "车间后方大转盘",
  39 + name: "啦啦啦啦啦啦啦啦啦啦",
  40 + num: "18",
  41 + btn: "详情"
  42 + },
  43 + ],
  44 + ec: {
  45 +
  46 + onInit: function(canvas, width, height) {
  47 +
  48 + chart = echarts.init(canvas, null, {
  49 +
  50 + width: width,
  51 +
  52 + height: height
  53 +
  54 + });
  55 +
  56 + canvas.setChart(chart);
  57 +
  58 + return chart;
  59 +
  60 + },
  61 +
  62 + lazyLoad: true, // 延迟加载
  63 + showt: false
  64 + },
  65 +
  66 + },
  67 + changeTab(e) {
  68 + this.setData({
  69 + tabNum: e.currentTarget.dataset.id
  70 + })
  71 +
  72 + },
  73 + toShowModal(e) {
  74 + this.setData({
  75 + showModal: true
  76 + })
  77 + },
  78 +
  79 + hideModal() {
  80 + this.setData({
  81 + showModal: false
  82 + });
  83 + },
  84 + choice(e) {
  85 +
  86 + this.setData({
  87 + changeColor: e.currentTarget.dataset.id
  88 + })
  89 + },
  90 + /**
  91 + * 生命周期函数--监听页面加载
  92 + */
  93 + onLoad: function(options) {
  94 +
  95 + this.echartsComponnet = this.selectComponent('#mychart');
  96 +
  97 +
  98 + //如果是第一次绘制
  99 +
  100 + if (!Chart) {
  101 + this.init_echarts(); //初始化图表
  102 +
  103 +
  104 + } else {
  105 +
  106 + this.setOption(Chart); //更新数据
  107 +
  108 + }
  109 +
  110 + },
  111 + //初始化图表
  112 +
  113 + init_echarts: function() {
  114 +
  115 + this.echartsComponnet.init((canvas, width, height) => {
  116 +
  117 + // 初始化图表
  118 +
  119 + const Chart = echarts.init(canvas, null, {
  120 +
  121 + width: width,
  122 +
  123 + height: height
  124 +
  125 + });
  126 +
  127 + this.setOption(Chart)
  128 +
  129 + // 注意这里一定要返回 chart 实例,否则会影响事件处理等
  130 +
  131 + return Chart;
  132 +
  133 + });
  134 +
  135 + },
  136 +
  137 + setOption: function(Chart) {
  138 +
  139 + Chart.clear(); // 清除
  140 +
  141 + Chart.setOption(this.getOption()); //获取新数据
  142 +
  143 + },
  144 +
  145 + // 图表配置项
  146 +
  147 + getOption() {
  148 +
  149 + var self = this;
  150 +
  151 + var option = {
  152 +
  153 + color: ["#FFF"], //图例图标颜色
  154 + // lineStyle:{//阴影
  155 + // shadowColor: '#6495F8',
  156 + // shadowBlur: 10
  157 + // },
  158 + xAxis: { //横坐标
  159 +
  160 + type: 'category',
  161 +
  162 + name: '日期', //横坐标名称
  163 +
  164 + nameTextStyle: { //在name值存在下,设置name的样式
  165 +
  166 + color: '#333',
  167 +
  168 + fontStyle: 'normal'
  169 +
  170 + },
  171 + axisLabel: {
  172 + interval: 0,
  173 + },
  174 + boundaryGap: false, //1.true 数据点在2个刻度直接 2.fals 数据点在分割线上,即刻度值上
  175 +
  176 + data: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31'],
  177 +
  178 + axisLabel: {
  179 +
  180 + textStyle: {
  181 +
  182 + fontSize: 13,
  183 +
  184 + color: '#5D5D5D'
  185 +
  186 + }
  187 +
  188 + }
  189 +
  190 + },
  191 +
  192 + yAxis: { //纵坐标
  193 +
  194 + type: 'value',
  195 +
  196 + position: 'left',
  197 +
  198 + name: '重量', //纵坐标名称
  199 +
  200 + nameTextStyle: { //在name值存在下,设置name的样式
  201 +
  202 + color: '#333333',
  203 +
  204 + fontStyle: 'normal'
  205 +
  206 + },
  207 +
  208 + splitNumber: 10, //坐标轴的分割段数
  209 +
  210 +
  211 + min: 0,
  212 +
  213 + max: 100,
  214 +
  215 + },
  216 +
  217 + series: [{
  218 +
  219 + type: 'line',
  220 +
  221 + data: [10, 12, 13, 14, 23, 31, 23, 31, 48, 43, 1, 100, 23, 42, 21, 31, 23, 34, 97, 43, 59, 67, 82, 42, 23, 31, 13, 34, 34, 43, 25],
  222 +
  223 + symbol: 'true',
  224 +
  225 + itemStyle: {
  226 +
  227 + normal: {
  228 +
  229 + lineStyle: {
  230 +
  231 + color: '#ED3676'
  232 +
  233 + }
  234 +
  235 + }
  236 +
  237 + },
  238 + // areaStyle: {
  239 + // normal: {
  240 + // color: '#6495F8' //改变区域颜色
  241 + // }
  242 + // },
  243 +
  244 + }],
  245 +
  246 + }
  247 +
  248 + return option;
  249 +
  250 + },
  251 + /**
  252 + * 生命周期函数--监听页面初次渲染完成
  253 + */
  254 + onReady: function() {
  255 +
  256 + },
  257 +
  258 + /**
  259 + * 生命周期函数--监听页面显示
  260 + */
  261 + onShow: function() {
  262 + this.echartsComponnet = this.selectComponent('#mychart');
  263 +
  264 +
  265 + //如果是第一次绘制
  266 +
  267 + if (!Chart) {
  268 + this.init_echarts(); //初始化图表
  269 +
  270 +
  271 + } else {
  272 +
  273 + this.setOption(Chart); //更新数据
  274 +
  275 + }
  276 + },
  277 +
  278 + /**
  279 + * 生命周期函数--监听页面隐藏
  280 + */
  281 + onHide: function() {
  282 +
  283 + },
  284 +
  285 + /**
  286 + * 生命周期函数--监听页面卸载
  287 + */
  288 + onUnload: function() {
  289 +
  290 + },
  291 +
  292 + /**
  293 + * 页面相关事件处理函数--监听用户下拉动作
  294 + */
  295 + onPullDownRefresh: function() {
  296 +
  297 + },
  298 +
  299 + /**
  300 + * 页面上拉触底事件的处理函数
  301 + */
  302 + onReachBottom: function() {
  303 +
  304 + },
  305 +
  306 + /**
  307 + * 用户点击右上角分享
  308 + */
  309 + onShareAppMessage: function() {
  310 +
  311 + }
  312 +})
  1 +{
  2 + "navigationBarTextStyle": "black",
  3 + "navigationBarTitleText": "成品",
  4 + "usingComponents": {
  5 + "ec-canvas": "../../ec-canvas/ec-canvas"
  6 + }
  7 +}
  1 +<!--pages/qiyeyongdian/detail/detail.wxml-->
  2 +<!-- 货物信息 -->
  3 +<view class="modal-mask" bindtap="hideModal" wx:if="{{showModal}}"></view>
  4 +<view wx:if="{{showModal}}">
  5 + <view class="modal-content">
  6 + <!-- 选项卡 -->
  7 + <view class="modal_year">
  8 + <view class="modal_single {{modalNum == index ?'modal_choice':''}}" wx:for="{{modalTitle}}" wx:key="">{{item}}</view>
  9 + </view>
  10 + <!-- 月份 -->
  11 + <scroll-view scroll-y style="height: 400px;">
  12 + <view class="modal_month">
  13 + <view class="month_single {{changeColor == index?'change':''}}" wx:for="{{monthList}}" wx:key="" data-id="{{index}}" catchtap="choice">{{item}}</view>
  14 + </view>
  15 + </scroll-view>
  16 + <view class='btns'>
  17 + <view class="cacle" bindtap="hideModal">取消</view>
  18 + <view class="cacle sure" bindtap="hideModal">确定</view>
  19 + </view>
  20 + </view>
  21 +</view>
  22 +<!-- 选项卡 -->
  23 +<view class="tab">
  24 + <view wx:for="{{tabList}}" wx:key="" class="tab_single {{tabNum == index?'tab_border':''}}" bindtap='changeTab' data-id="{{index}}">{{item}}</view>
  25 +</view>
  26 +<!-- 月份 -->
  27 +<view class="search_month">
  28 + <view class="rowimg">
  29 + <image src='/img/row.png' class="left"></image>
  30 + </view>
  31 + <view class="date_time">
  32 + <!-- 出库 -->
  33 + <view wx:if="{{tabNum == 0}}">2019.06</view>
  34 + <!-- 流水 -->
  35 + <view wx:if="{{tabNum == 1}}">{{time}}</view>
  36 + <view class="rowimg">
  37 + <image src='/img/row.png' class="down"></image>
  38 + </view>
  39 + </view>
  40 + <view class="rowimg">
  41 + <image src='/img/row.png'></image>
  42 + </view>
  43 +</view>
  44 +<!-- 出库 -->
  45 +<view wx:if="{{tabNum == 0}}">
  46 + <view class="cp_title">
  47 + 成品出库信息
  48 + </view>
  49 + <view class="total">
  50 + 重量总计(吨)
  51 + <text>1000</text>
  52 + </view>
  53 + <!-- 折线图 -->
  54 + <view class="charts_line">
  55 + <view class="chart">
  56 + <ec-canvas id="mychart" canvas-id="mychart-line" ec="{{ ec }}"></ec-canvas>
  57 + </view>
  58 + <view class="total_power">
  59 + <view>2019年6月</view>
  60 + </view>
  61 + </view>
  62 +</view>
  63 +<!-- 流水 -->
  64 +<view wx:if="{{tabNum == 1}}">
  65 + <view class="second_total">重量总计(吨):1000</view>
  66 + <!-- 数据 -->
  67 + <view class="table">
  68 + <view class="table_title">
  69 + <view wx:for="{{tableTitle}}" wx:key="">{{item}}</view>
  70 + </view>
  71 + <view class="table_tr" wx:for="{{trList}}" wx:key="">
  72 + <view class="tr_time">{{item.date}}</view>
  73 + <view class="tr_pos">{{item.position}}</view>
  74 + <view class="tr_name">{{item.name}}</view>
  75 + <view class="tr_time">{{item.num}}</view>
  76 + <view class="tr_btn" bindtap='toShowModal'>{{item.btn}}</view>
  77 + </view>
  78 + </view>
  79 +</view>
  1 +/* pages/qiyeyongdian/detail/detail.wxss */
  2 +
  3 +.search_month {
  4 + width: 686rpx;
  5 + padding: 0 30rpx;
  6 + height: 70rpx;
  7 + background-color: #f3f5f8;
  8 + display: flex;
  9 + flex-direction: row;
  10 + justify-content: space-between;
  11 + align-items: center;
  12 +}
  13 +
  14 +/* 左箭头 */
  15 +
  16 +.left {
  17 + transform: rotate(180deg);
  18 +}
  19 +
  20 +/* 日期 */
  21 +
  22 +.date_time {
  23 + color: #666;
  24 + font-size: 28rpx;
  25 + display: flex;
  26 + flex-direction: row;
  27 + align-items: center;
  28 +}
  29 +
  30 +.down {
  31 + transform: rotate(90deg);
  32 + margin-left: 10rpx;
  33 +}
  34 +
  35 +/* 折线图 */
  36 +
  37 +.chart {
  38 + width: 750rpx;
  39 + height: 494rpx;
  40 + margin: 0 auto;
  41 + display: flex;
  42 + justify-content: center;
  43 + align-items: center;
  44 +}
  45 +
  46 +ec-canvas {
  47 + width: 100%;
  48 + height: 100%;
  49 +}
  50 +
  51 +.total_power {
  52 + display: flex;
  53 + flex-direction: row;
  54 + justify-content: space-around;
  55 +}
  56 +
  57 +/* 弹出框 */
  58 +
  59 +.modal-mask {
  60 + width: 100%;
  61 + height: 100%;
  62 + position: fixed;
  63 + top: 0;
  64 + left: 0;
  65 + background: #000;
  66 + opacity: 0.5;
  67 + overflow: hidden;
  68 + z-index: 9000;
  69 + color: #fff;
  70 +}
  71 +
  72 +.modal-dialog {
  73 + width: 100%;
  74 + overflow: hidden;
  75 + position: fixed;
  76 + top: 45%;
  77 + left: 0;
  78 + z-index: 9500;
  79 + margin: -180rpx 70rpx;
  80 +}
  81 +
  82 +.modal-content {
  83 + position: fixed;
  84 + top: 0;
  85 + left: 0;
  86 + z-index: 9500;
  87 + width: 100%;
  88 + /* height: 55%; */
  89 + overflow: hidden;
  90 + /* padding: 120rpx 50rpx 50rpx; */
  91 + background: #fff;
  92 + border-radius: 2rpx;
  93 +}
  94 +
  95 +/* 弹出框选项卡 */
  96 +
  97 +.modal_year {
  98 + display: flex;
  99 + flex-direction: row;
  100 + justify-content: space-around;
  101 + align-items: center;
  102 + font-size: 28rpx;
  103 + color: #666;
  104 + padding-top: 20rpx;
  105 + border:1rpx solid #f5f5f5;
  106 + border-left:none;
  107 + border-right: none;
  108 +}
  109 +.modal_single{
  110 + border-bottom:4rpx solid #fff;
  111 +}
  112 +.modal_choice{
  113 + border-bottom-color: #FF9400;
  114 + color: #FF9400;
  115 + font-weight: 600;
  116 + padding-bottom:20rpx;
  117 +}
  118 +/* 选项卡 */
  119 +
  120 +.tab {
  121 + display: flex;
  122 + flex-direction: row;
  123 + justify-content: space-around;
  124 + align-items: center;
  125 + padding-top: 20rpx;
  126 + color: #ff9400;
  127 + border-top: 1rpx solid #f5f5f5;
  128 +}
  129 +
  130 +.tab_single {
  131 + padding-bottom: 20rpx;
  132 + border-bottom: 4rpx solid #fff;
  133 +}
  134 +
  135 +.tab_border {
  136 + border-bottom: 4rpx solid #ff9400;
  137 +}
  138 +
  139 +/* 月份 */
  140 +
  141 +.modal_month {
  142 + display: flex;
  143 + flex-wrap: wrap;
  144 + flex-direction: row;
  145 + margin: 50rpx 30rpx;
  146 + justify-content: space-between;
  147 +}
  148 +
  149 +.month_single {
  150 + background-color: #F9F8FE;
  151 + padding: 20rpx 56rpx 15rpx;
  152 + border-radius: 6rpx;
  153 + font-size: 32rpx;
  154 + color: #333;
  155 + margin-bottom: 30rpx;
  156 +}
  157 +
  158 +.change {
  159 + background-color: #ff9400;
  160 + color: #fff;
  161 +}
  162 +
  163 +.date_descript {
  164 + width: 296rpx;
  165 + height: 70rpx;
  166 + line-height: 70rpx;
  167 + text-align: center;
  168 + color: #ff9400;
  169 + font-size: 28rpx;
  170 + margin: 0 auto;
  171 + background: rgba(244, 244, 244, 1);
  172 + border-radius: 6rpx;
  173 +}
  174 +
  175 +.tactive {
  176 + background: #ff9400;
  177 + color: #fff;
  178 +}
  179 +
  180 +/* 标题 */
  181 +
  182 +.cp_title {
  183 + color: #333;
  184 + font-size: 32rpx;
  185 + font-weight: bold;
  186 + padding: 30rpx 54rpx 41rpx;
  187 + position: relative;
  188 +}
  189 +
  190 +.cp_title::after {
  191 + position: absolute;
  192 + content: "";
  193 + display: block;
  194 + left: 30rpx;
  195 + top: 35rpx;
  196 + width: 8rpx;
  197 + height: 35rpx;
  198 + background-color: #ff9400;
  199 + border-radius: 4rpx;
  200 +}
  201 +
  202 +/* 重量总计 */
  203 +
  204 +.total {
  205 + padding-left: 30rpx;
  206 + color: #666;
  207 + font-size: 20rpx;
  208 + display: flex;
  209 + flex-direction: row;
  210 + align-items: center;
  211 +}
  212 +
  213 +.total text {
  214 + font-size: 32rpx;
  215 + color: #333;
  216 +}
  217 +
  218 +.btns {
  219 + margin-top: 50rpx;
  220 + display: flex;
  221 + flex-direction: row;
  222 + align-items: center;
  223 + border-top: 1rpx solid #f5f5f5;
  224 +}
  225 +
  226 +.cacle {
  227 + width: 50%;
  228 + color: #afafaf;
  229 + height: 87rpx;
  230 + line-height: 87rpx;
  231 + text-align: center;
  232 + font-size: 34rpx;
  233 +}
  234 +
  235 +.sure {
  236 + color: #ff9400;
  237 + border-left: 1rpx solid #f5f5f5;
  238 +}
  239 +
  240 +/* 流水 */
  241 +
  242 +.second_total {
  243 + padding: 40rpx 30rpx 20rpx;
  244 + display: flex;
  245 + justify-content: flex-end;
  246 + flex-direction: row;
  247 + font-size: 28rpx;
  248 +}
  249 +
  250 +.table_title {
  251 + display: flex;
  252 + flex-direction: row;
  253 + justify-content: space-around;
  254 + align-items: center;
  255 + padding: 30rpx 0 20rpx;
  256 + font-size: 28rpx;
  257 + color: #666;
  258 + border: 1rpx solid #f5f5f5;
  259 +}
  260 +
  261 +.table_tr {
  262 + display: flex;
  263 + flex-direction: row;
  264 + justify-content: space-around;
  265 + align-items: center;
  266 + padding: 30rpx 0 20rpx;
  267 + font-size: 24rpx;
  268 + color: #666;
  269 + border-bottom: 1rpx solid #f5f5f5;
  270 +}
  271 +
  272 +.tr_time {
  273 + font-size: 28rpx;
  274 + color: #333;
  275 +}
  276 +
  277 +.tr_btn {
  278 + color: #ffb77e;
  279 +}
  280 +
  281 +.tr_name {
  282 + width: 120rpx;
  283 + white-space: nowrap;
  284 + overflow: hidden;
  285 + text-overflow: ellipsis;
  286 +}
  287 +
  288 +.tr_pos {
  289 + width: 120rpx;
  290 + white-space: nowrap;
  291 + overflow: hidden;
  292 + text-overflow: ellipsis;
  293 +}
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
39 "list": [] 39 "list": []
40 }, 40 },
41 "miniprogram": { 41 "miniprogram": {
42 - "current": 4, 42 + "current": -1,
43 "list": [ 43 "list": [
44 { 44 {
45 "id": -1, 45 "id": -1,
@@ -49,13 +49,6 @@ @@ -49,13 +49,6 @@
49 "scene": null 49 "scene": null
50 }, 50 },
51 { 51 {
52 - "id": 1,  
53 - "name": "detail",  
54 - "pathName": "pages/qiyeyongdian/detail/detail",  
55 - "query": "",  
56 - "scene": null  
57 - },  
58 - {  
59 "id": -1, 52 "id": -1,
60 "name": "企业用电", 53 "name": "企业用电",
61 "pathName": "pages/qiyeyongdian/detail/detail", 54 "pathName": "pages/qiyeyongdian/detail/detail",
@@ -64,15 +57,16 @@ @@ -64,15 +57,16 @@
64 }, 57 },
65 { 58 {
66 "id": -1, 59 "id": -1,
67 - "name": "企业用电",  
68 - "pathName": "pages/qiyeyongdian/detail/detail", 60 + "name": "人员",
  61 + "pathName": "pages/member/member",
69 "query": "", 62 "query": "",
70 "scene": null 63 "scene": null
71 }, 64 },
72 { 65 {
73 "id": -1, 66 "id": -1,
74 - "name": "人员",  
75 - "pathName": "pages/member/member", 67 + "name": "成品",
  68 + "pathName": "pages/chengpin/chengpin",
  69 + "query": "",
76 "scene": null 70 "scene": null
77 } 71 }
78 ] 72 ]