From 985ebbc7fbc592ed1dad3ae938c0a994eb66aa06 Mon Sep 17 00:00:00 2001 From: xpz2018 <107107461@qq.com> Date: Tue, 15 Jun 2021 20:12:46 +0800 Subject: [PATCH] no message --- api/saas.js | 5 +- assets/home/icon-report.png | Bin 0 -> 3526 bytes components/circle/canvas.js | 43 +++++ components/circle/index.js | 185 +++++++++++++++++++ components/circle/index.json | 3 + components/circle/index.wxml | 9 + components/circle/index.wxss | 1 + components/grid-item/index.js | 3 +- components/grid-item/index.wxml | 7 +- components/table/index.js | 215 +++++++++------------- components/table/index.json | 2 +- components/table/index.wxml | 43 +++-- components/table/index.wxss | 76 +++++--- pages/home/index/index.wxml | 2 +- xtends/image/icon-agent.png | Bin 0 -> 3689 bytes xtends/image/icon-gross.png | Bin 0 -> 4378 bytes xtends/image/icon-purchase.png | Bin 0 -> 3441 bytes xtends/image/icon-sale.png | Bin 0 -> 4652 bytes xtends/statics/agent-report/index.js | 82 ++++----- xtends/statics/agent-report/index.wxml | 26 ++- xtends/statics/gross-report/index.js | 82 ++++----- xtends/statics/gross-report/index.wxml | 27 ++- xtends/statics/index/index.js | 209 +++++++++++++-------- xtends/statics/index/index.json | 2 + xtends/statics/index/index.wxml | 175 +++++++++++------- xtends/statics/index/index.wxss | 59 +++++- xtends/statics/purchase-report/index.js | 92 ++++----- xtends/statics/purchase-report/index.wxml | 18 +- xtends/statics/sale-report/index.js | 84 ++++----- xtends/statics/sale-report/index.wxml | 27 ++- 30 files changed, 954 insertions(+), 523 deletions(-) create mode 100644 assets/home/icon-report.png create mode 100644 components/circle/canvas.js create mode 100644 components/circle/index.js create mode 100644 components/circle/index.json create mode 100644 components/circle/index.wxml create mode 100644 components/circle/index.wxss create mode 100644 xtends/image/icon-agent.png create mode 100644 xtends/image/icon-gross.png create mode 100644 xtends/image/icon-purchase.png create mode 100644 xtends/image/icon-sale.png diff --git a/api/saas.js b/api/saas.js index 5bda9f7..d99a3bc 100644 --- a/api/saas.js +++ b/api/saas.js @@ -76,6 +76,8 @@ const poundSideOrder = (params) => mPost(`/ztb-factory/submit/scrap-paper-offsit const priceSideOrder = (params) => mPost(`/ztb-factory/submit/scrap-paper-offsite-receipt-order-price`, params, sconfig) const repeatSideOrder = (params) => mPost(`/ztb-factory/renew/scrap-paper-offsite-receipt-order-price`, params, sconfig) +const getSummaryReport = (params) => mGet(`/ztb-factory/get/receipt-daily-report`, params, sconfig) + export { sconfig, loginToken, @@ -141,5 +143,6 @@ export { saveSideOrder, poundSideOrder, priceSideOrder, - repeatSideOrder + repeatSideOrder, + getSummaryReport } \ No newline at end of file diff --git a/assets/home/icon-report.png b/assets/home/icon-report.png new file mode 100644 index 0000000000000000000000000000000000000000..57539dbe0162eaf023a6b6e5bb9685777e52345d GIT binary patch literal 3526 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 Avj6}9 literal 0 HcmV?d00001 diff --git a/components/circle/canvas.js b/components/circle/canvas.js new file mode 100644 index 0000000..c311335 --- /dev/null +++ b/components/circle/canvas.js @@ -0,0 +1,43 @@ +export function adaptor(ctx) { + // @ts-ignore + return Object.assign(ctx, { + setStrokeStyle(val) { + ctx.strokeStyle = val; + }, + setLineWidth(val) { + ctx.lineWidth = val; + }, + setLineCap(val) { + ctx.lineCap = val; + }, + setFillStyle(val) { + ctx.fillStyle = val; + }, + setFontSize(val) { + ctx.font = String(val); + }, + setGlobalAlpha(val) { + ctx.globalAlpha = val; + }, + setLineJoin(val) { + ctx.lineJoin = val; + }, + setTextAlign(val) { + ctx.textAlign = val; + }, + setMiterLimit(val) { + ctx.miterLimit = val; + }, + setShadow(offsetX, offsetY, blur, color) { + ctx.shadowOffsetX = offsetX; + ctx.shadowOffsetY = offsetY; + ctx.shadowBlur = blur; + ctx.shadowColor = color; + }, + setTextBaseline(val) { + ctx.textBaseline = val; + }, + createCircularGradient() {}, + draw() {}, + }); +} diff --git a/components/circle/index.js b/components/circle/index.js new file mode 100644 index 0000000..dd27f52 --- /dev/null +++ b/components/circle/index.js @@ -0,0 +1,185 @@ +import { VantComponent } from '../common/component'; +import { BLUE, WHITE } from '../common/color'; +import { adaptor } from './canvas'; +import { isObj } from '../common/validator'; +import { getSystemInfoSync } from '../common/utils'; +function format(rate) { + return Math.min(Math.max(rate, 0), 100); +} +const PERIMETER = 2 * Math.PI; +const BEGIN_ANGLE = -Math.PI / 2; +const STEP = 1; +VantComponent({ + props: { + text: String, + lineCap: { + type: String, + value: 'round', + }, + value: { + type: Number, + value: 0, + observer: 'reRender', + }, + speed: { + type: Number, + value: 50, + }, + size: { + type: Number, + value: 100, + observer() { + this.drawCircle(this.currentValue); + }, + }, + fill: String, + layerColor: { + type: String, + value: WHITE, + }, + color: { + type: null, + value: BLUE, + observer() { + this.setHoverColor().then(() => { + this.drawCircle(this.currentValue); + }); + }, + }, + type: { + type: String, + value: '', + }, + strokeWidth: { + type: Number, + value: 4, + }, + clockwise: { + type: Boolean, + value: true, + }, + }, + data: { + hoverColor: BLUE, + }, + methods: { + getContext() { + const { type, size } = this.data; + if (type === '') { + const ctx = wx.createCanvasContext('van-circle', this); + return Promise.resolve(ctx); + } + const dpr = getSystemInfoSync().pixelRatio; + return new Promise((resolve) => { + wx.createSelectorQuery() + .in(this) + .select('#van-circle') + .node() + .exec((res) => { + const canvas = res[0].node; + const ctx = canvas.getContext(type); + if (!this.inited) { + this.inited = true; + canvas.width = size * dpr; + canvas.height = size * dpr; + ctx.scale(dpr, dpr); + } + resolve(adaptor(ctx)); + }); + }); + }, + setHoverColor() { + const { color, size } = this.data; + if (isObj(color)) { + return this.getContext().then((context) => { + const LinearColor = context.createLinearGradient(size, 0, 0, 0); + Object.keys(color) + .sort((a, b) => parseFloat(a) - parseFloat(b)) + .map((key) => + LinearColor.addColorStop(parseFloat(key) / 100, color[key]) + ); + this.hoverColor = LinearColor; + }); + } + this.hoverColor = color; + return Promise.resolve(); + }, + presetCanvas(context, strokeStyle, beginAngle, endAngle, fill) { + const { strokeWidth, lineCap, clockwise, size } = this.data; + const position = size / 2; + const radius = position - strokeWidth / 2; + context.setStrokeStyle(strokeStyle); + context.setLineWidth(strokeWidth); + context.setLineCap(lineCap); + context.beginPath(); + context.arc(position, position, radius, beginAngle, endAngle, !clockwise); + context.stroke(); + if (fill) { + context.setFillStyle(fill); + context.fill(); + } + }, + renderLayerCircle(context) { + const { layerColor, fill } = this.data; + this.presetCanvas(context, layerColor, 0, PERIMETER, fill); + }, + renderHoverCircle(context, formatValue) { + const { clockwise } = this.data; + // 结束角度 + const progress = PERIMETER * (formatValue / 100); + const endAngle = clockwise + ? BEGIN_ANGLE + progress + : 3 * Math.PI - (BEGIN_ANGLE + progress); + this.presetCanvas(context, this.hoverColor, BEGIN_ANGLE, endAngle); + }, + drawCircle(currentValue) { + const { size } = this.data; + this.getContext().then((context) => { + context.clearRect(0, 0, size, size); + this.renderLayerCircle(context); + const formatValue = format(currentValue); + if (formatValue !== 0) { + this.renderHoverCircle(context, formatValue); + } + context.draw(); + }); + }, + reRender() { + // tofector 动画暂时没有想到好的解决方案 + const { value, speed } = this.data; + if (speed <= 0 || speed > 1000) { + this.drawCircle(value); + return; + } + this.clearInterval(); + this.currentValue = this.currentValue || 0; + this.interval = setInterval(() => { + if (this.currentValue !== value) { + if (this.currentValue < value) { + this.currentValue += STEP; + } else { + this.currentValue -= STEP; + } + this.drawCircle(this.currentValue); + } else { + this.clearInterval(); + } + }, 1000 / speed); + }, + clearInterval() { + if (this.interval) { + clearInterval(this.interval); + this.interval = null; + } + }, + }, + mounted() { + this.currentValue = this.data.value; + this.setHoverColor().then(() => { + this.drawCircle(this.currentValue); + }); + }, + destroyed() { + this.clearInterval(); + }, +}); diff --git a/components/circle/index.json b/components/circle/index.json new file mode 100644 index 0000000..467ce29 --- /dev/null +++ b/components/circle/index.json @@ -0,0 +1,3 @@ +{ + "component": true +} diff --git a/components/circle/index.wxml b/components/circle/index.wxml new file mode 100644 index 0000000..52bc59f --- /dev/null +++ b/components/circle/index.wxml @@ -0,0 +1,9 @@ + + + + + + + + {{ text }} + diff --git a/components/circle/index.wxss b/components/circle/index.wxss new file mode 100644 index 0000000..3ab63df --- /dev/null +++ b/components/circle/index.wxss @@ -0,0 +1 @@ +@import '../common/index.wxss';.van-circle{position:relative;display:inline-block;text-align:center}.van-circle__text{position:absolute;top:50%;left:0;width:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);color:#323233;color:var(--circle-text-color,#323233)} \ No newline at end of file diff --git a/components/grid-item/index.js b/components/grid-item/index.js index e75d9c4..7d2ac40 100644 --- a/components/grid-item/index.js +++ b/components/grid-item/index.js @@ -14,6 +14,7 @@ VantComponent({ dot: Boolean, info: null, text: String, + contentStyle: String, useSlot: Boolean }, data: { @@ -54,7 +55,7 @@ VantComponent({ } this.setData({ viewStyle: styleWrapper.join('; '), - contentStyle, + // contentStyle, center, border, square, diff --git a/components/grid-item/index.wxml b/components/grid-item/index.wxml index 061f43c..69fdb61 100644 --- a/components/grid-item/index.wxml +++ b/components/grid-item/index.wxml @@ -1,10 +1,7 @@ - + @@ -19,4 +16,4 @@ - + \ No newline at end of file diff --git a/components/table/index.js b/components/table/index.js index 0d008d5..f75a5d6 100644 --- a/components/table/index.js +++ b/components/table/index.js @@ -1,138 +1,89 @@ -/** slot action 固定按钮操作 - * btnName 按钮名 - * valueCallback 按钮返回值 - 按钮绑定事件 btnClick - - tr绑定事件 onRowClick - valueCallback tr返回值 - - columns 数组 { - key: '', - title: '', - width: 200, - fixed: 'left', //设置fixed 必须设置width - align: 'center', - - // 按钮默认 slot action - slot: 'action' - valueCallback: '', - btnName: '' - } -**/ Component({ - options: { - multipleSlots: true, + /** + * 外部样式类 + */ + externalClasses: ['header-row-class-name', 'row-class-name', 'cell-class-name'], + /** + * 组件样式隔离 + */ + options: { + styleIsolation: "isolated", + multipleSlots: true // 支持多个slot + }, + /** + * 组件的属性列表 + */ + properties: { + data: { + type: Array, + value: [] }, - // 自定义外部样式class th头部样式 tr样式 td样式 - externalClasses: ['thead-row-class', 'tbody-tow-class', 'td-class'], - properties: { - // td 数组 - data: { - type: Array, - value: [] - }, - // thead 数组 - columns: { - type: Array, - value: [] - }, - // table 高度 - height: { - type: String, - value: 'auto' - }, - // table 宽度 - width: { - type: Number || String, - value: 750 - }, - // 单元格的宽度 - tdWidth: { - type: Number, - value: 35 - }, - // 固定表头 thead达到Header的位置时就应该被fixed了 - offsetTop: { - type: Number, - value: 150 - }, - // 是否带有纵向边框 - isBorder: { - type: Boolean, - value: true - }, - // 是否带有斑马条纹 - isStripe: { - type: Boolean, - value: true - }, - // tr 返回值Key - valueCallback: { - type: String, - value: '' - }, - // 无数据时信息 - msg: { - type: String, - value: '暂无数据~' - }, - // thead 固定 - isFixed: { - type: Boolean, - value: true - }, + headers: { + type: Array, + value: [] }, - data: { - scrolWidth: '100%', - marginTopValue: 0, - leftWidth: 0, - leftIndex: 0, - rightWidth: 0, - rightIndex: 0, + // table的高度, 溢出可滚动 + height: { + type: Number || String, + value: 'auto' + }, + width: { + type: Number || String, + value: '100%' }, - // 生命周期 - lifetimes: { - // 组件实例进入页面节点树时调用 - attached() { - const scrolWidth = this.properties.columns.reduce((total, item) => total + item.width, 0) - this.createSelectorQuery().selectAll(".thead .td").boundingClientRect((res) => { - if (!isNaN(scrolWidth)) { - this.properties.columns.map(item => { - item.width = item.width / scrolWidth * this.properties.width - }) - } else { - this.properties.columns.map((item, index) => { - item.width = res[index].width - }) - } - }).exec(res => { - let list = [], listLeft = [], listRight = [], leftWidth = 0, rightWidth = 0; - list = this.properties.columns.filter(item => !item.fixed) - listLeft = this.properties.columns.filter(item => item.fixed == 'left') - listLeft.map(item => { - leftWidth += item.width - }) - listRight = this.properties.columns.filter(item => item.fixed == 'right') - listRight.map(item => { - rightWidth += item.width - }) - this.setData({ - columns: [...listLeft, ...list, ...listRight], - marginTopValue: res[0][0].height, - leftWidth: leftWidth, - rightWidth: rightWidth, - leftIndex: listLeft.length ? listLeft.length : 0, - rightIndex: listRight.length ? this.properties.columns.length - listRight.length - 1 : 0 - }) - }) - }, + // 单元格的宽度 + tdWidth: { + type: Number, + value: 35 }, - methods: { - onRowClick(e) { - this.triggerEvent('rowClick', e.target.dataset) - }, - onBtnClick(e) { - this.triggerEvent('btnClick', e.target.dataset) - } + // 固定表头 thead达到Header的位置时就应该被fixed了 + offsetTop: { + type: Number, + value: 150 }, -}) \ No newline at end of file + // 是否带有纵向边框 + stripe: { + type: Boolean, + value: false + }, + // 是否带有纵向边框 + border: { + type: Boolean, + value: true + }, + msg: { + type: String, + value: '暂无数据~' + } + }, + /** + * 组件的初始数据 + */ + data: { + scrolWidth: '100%' + }, + /** + * 组件的监听属性 + */ + observers: { + // 在 numberA 或者 numberB 被设置时,执行这个函数 + 'headers': function headers(_headers) { + var reducer = function reducer(accumulator, currentValue) { + return accumulator + Number(currentValue.width); + }; + var scrolWidth = _headers.reduce(reducer, 0); + + this.setData({ + scrolWidth: scrolWidth + }); + } + }, + /** + * 组件的方法列表 + */ + methods: { + onRowClick: function onRowClick(e) { + this.triggerEvent('rowClick', e, e.currentTarget.dataset.it); + } + } +}); \ No newline at end of file diff --git a/components/table/index.json b/components/table/index.json index 467ce29..32640e0 100644 --- a/components/table/index.json +++ b/components/table/index.json @@ -1,3 +1,3 @@ { "component": true -} +} \ No newline at end of file diff --git a/components/table/index.wxml b/components/table/index.wxml index c263b1b..05e4883 100644 --- a/components/table/index.wxml +++ b/components/table/index.wxml @@ -1,22 +1,21 @@ - - - {{item.title}} - - - - - - {{item[thead['key']]}} - - - - - - {{msg}} - - - - \ No newline at end of file + + + + {{ item.label }} + + + + + + + {{it[head["prop"]]}} + + + + + + {{ msg }} + + + \ No newline at end of file diff --git a/components/table/index.wxss b/components/table/index.wxss index bbfd2c7..1e9a64d 100644 --- a/components/table/index.wxss +++ b/components/table/index.wxss @@ -1,68 +1,86 @@ + .table { + position: relative; font-size: 28rpx; background: #fff; border-right:none; + /* border-radius: 8rpx; */ overflow: hidden; } .thead{ + border-bottom: none; display: flex; - border: 1px solid #ebeef5; + justify-content: flex-start; + /* border-top-right-radius: 8rpx; + border-top-left-radius: 8rpx; */ + overflow: visible; + color: #909399; + border: 1rpx solid #ebeef5; box-sizing: border-box; - z-index: 9; } .thead .td { - padding: 20rpx 10rpx; + /* padding: 20rpx 10rpx; */ font-weight: bold; display: inline-block; + white-space:nowrap; + text-align: center; border-right: 1rpx solid #fff; - background: #fff; } -.thead-border .td, .tbody-tr-border .td { +.thead .td:last-child { + border-right: none; +} +.thead-border .td { border-right: 1rpx solid #ebeef5; } -.thead .td:last-child, .tbody-tr-border .td:last-child{ +.thead-border .td:last-child { border-right: none; } +/* .tr{ + display: flex; + white-space:nowrap; +} */ .tbody { box-sizing: border-box; font-size: 28rpx; color: #666; - border: 1px solid #ebeef5; + border: 1px solid #ebeef5; border-top: none; + /* border-bottom-left-radius: 8rpx; + border-bottom-right-radius: 8rpx; */ } .tbody-tr { - border-bottom: 1px solid #ebeef5; display: flex; + border-bottom: 1px solid #ebeef5; } -.tbody-tr .td { - padding: 20rpx 10rpx; - display: flex; - justify-content: center; - align-items: center; - background: #fff; -} +/* .tbody-tr:last-child { + border-bottom-left-radius: 8rpx; + border-bottom-right-radius: 8rpx; +} */ + .tbody-tr-stripe { background: #fff; border-bottom: none; } -.tbody-tr-stripe:nth-child(2n) .td{ +.tbody-tr-stripe:nth-child(2n) { background: #F6F6F6; } -/* .tbody-tr .td text { - line-height: 0; -} */ -.tbody-tr .td .btn { - font-size: 28rpx; - padding:0 5rpx; - color: #666; - width: 30px; +.tbody-tr .td { + white-space: wrap; + height: 80rpx; + /* padding:20rpx 10rpx; */ + line-height: 80rpx; + text-align: center; } -.td { - overflow: hidden; - word-break: break-all; + +.tbody-tr-border .td { + border-right: 1rpx solid #F6F6F6; +} +.tbody-tr-border .td:last-child { + border-right: none; } .no-data { - text-align: center; - padding: 40rpx; + display: flex; + padding: 50rpx; color: #666; + justify-content: center; } \ No newline at end of file diff --git a/pages/home/index/index.wxml b/pages/home/index/index.wxml index f6175dd..e64ebec 100644 --- a/pages/home/index/index.wxml +++ b/pages/home/index/index.wxml @@ -47,7 +47,7 @@ - + diff --git a/xtends/image/icon-agent.png b/xtends/image/icon-agent.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d2885fb679a9c9684d290dd2e8684f3d5e1645 GIT binary patch literal 3689 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 UOKBvx@&Et;07*qoM6N<$g6EM^3jhEB literal 0 HcmV?d00001 diff --git a/xtends/image/icon-purchase.png b/xtends/image/icon-purchase.png new file mode 100644 index 0000000000000000000000000000000000000000..1f069a4d0b7eb536287e0f4eff55fbf12802d8bd GIT binary patch literal 3441 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 TQ|v$A00000NkvXXu0mjfzBYXl literal 0 HcmV?d00001 diff --git a/xtends/image/icon-sale.png b/xtends/image/icon-sale.png new file mode 100644 index 0000000000000000000000000000000000000000..26d022ec4472c9e890527ead6c879cd984c11dbe GIT binary patch literal 4652 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 igOW#1QcOBj?f(NJ!36F&91wy40000 + 代卖报表 - + - 出货信息 + 代卖统计 {{vdateString}} - - + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 代卖重量(吨) + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 实收(元) + + + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 代卖费(元) + + + + + diff --git a/xtends/statics/gross-report/index.js b/xtends/statics/gross-report/index.js index c8519a9..65b4400 100644 --- a/xtends/statics/gross-report/index.js +++ b/xtends/statics/gross-report/index.js @@ -12,48 +12,48 @@ Scene({ height: app.globalData.fragmentHeight, form: {}, columns: [ - { key: 'catname', title: '品类', width: 100, fixed: 'left', align: 'center' }, - { key: 'product_title', width: 100, fixed: 'left', title: '采购金额(元)' }, - { key: 'product_bar_code', title: '销售金额(元)', width: 100, }, - { key: 'quantity', width: 80, title: '毛利(元)' } + { prop: 'datetime', width: 200, label: '品类', color: '#55C355' }, + { prop: 'sign_in_time', width: 200, label: '采购金额(元)' }, + { prop: 'sign_out_time', width: 200, label: '销售金额(元)' }, + { prop: 'work_hour', width: 175, label: '毛利(元)' } ], data: [ - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '187500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '187500.00', quantity: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '187500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '187500.00', work_hour: '2.500', status: '2.500'}, ], show: false }, @@ -75,7 +75,7 @@ Scene({ var vdateString = util.formatDate(new Date(), 'Y-M-D') + '至' + util.formatDate(max, 'Y-M-D') this.data.form.startTime = util.formatDate(today, 'Y-M-D') + ' 00:00:00' this.data.form.endTime = util.formatDate(max, 'Y-M-D') + ' 00:00:00' - this.setData({ height: app.globalData.fragmentHeight - 80, minDate, maxDate, vdate, vdateString }) + this.setData({ height: app.globalData.fragmentHeight - 404, minDate, maxDate, vdate, vdateString }) this.fetchStatisticsInfo() }, showCalendar: function(){ diff --git a/xtends/statics/gross-report/index.wxml b/xtends/statics/gross-report/index.wxml index 26b1053..c6f4603 100644 --- a/xtends/statics/gross-report/index.wxml +++ b/xtends/statics/gross-report/index.wxml @@ -1,20 +1,39 @@ + 毛利报表 - + - 出货信息 + 收支统计 {{vdateString}} - - + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 总支出(元) + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 总收入(元) + + + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 总毛利(元) + + + + + + diff --git a/xtends/statics/index/index.js b/xtends/statics/index/index.js index 4aa3991..fcb7232 100644 --- a/xtends/statics/index/index.js +++ b/xtends/statics/index/index.js @@ -1,102 +1,151 @@ // xtends//statics/index/index.js import Scene from '../../../pages/index/scene' import uCharts from '../../libs/u-charts'; +import { getSummaryReport } from "../../../api/saas" const math = require('../../../utils/math') +import util from '../../../utils/util' const app = getApp() -var that; -var canvaColumn = null; -var windowWidth = 0; +// var that; +// var canvaColumn = null; +// var windowWidth = 0; Scene({ /** * 页面的初始数据 */ data: { - cWidth: '', - cHeight: '', + // cWidth: '', + // cHeight: '', + form1: {}, + form2: {}, + percent: 85, + show: false }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { - that = this - windowWidth = wx.getSystemInfoSync().windowWidth - this.data.cWidth = windowWidth - this.rpx2px(100) - // math.divide - this.data.cHeight = this.rpx2px(400) - this.getServerData() + // that = this + // windowWidth = wx.getSystemInfoSync().windowWidth + // this.data.cWidth = windowWidth - this.rpx2px(100) + // // math.divide + // this.data.cHeight = this.rpx2px(400) + // this.getServerData() + wx.showLoading({ title: '加载中', mask: true }) + var min = new Date() + min.setFullYear(min.getFullYear() - 1, min.getMonth(), min.getDate()) + min.setHours(0, 0, 0) + var minDate = min.getTime() + var max = new Date(new Date().getTime() + 24 * 60 * 60 * 1000) + max.setHours(0, 0, 0) + var maxDate = max.getTime() + var today = new Date() + today.setHours(0, 0, 0) + var vdate = [today.getTime(), maxDate] + var vdateString = util.formatDate(new Date(), 'Y-M-D') + '至' + util.formatDate(max, 'Y-M-D') + this.data.form1.dimensionDateStart = util.formatDate(today, 'Y-M-D') + this.data.form1.dimensionDateEnd = util.formatDate(max, 'Y-M-D') + this.data.form2.startTime = util.formatDate(today, 'Y-M-D') + ' 00:00:00' + this.data.form2.endTime = util.formatDate(max, 'Y-M-D') + ' 00:00:00' + this.setData({ minDate, maxDate, vdate, vdateString }) + this.fetchSummaryInfo(this.data.form1) }, - rpx2px: function(rpx) { - return rpx / 750 * windowWidth; - }, - getServerData: function() { - wx.request({ - url: 'https://www.ucharts.cn/data.json', - success: function (res) { - let Column = { categories: [], series: [] }; - Column.categories = res.data.data.Pie.categories; - Column.series = res.data.data.Pie.series; - // 自定义标签颜色和字体大小 - // Column.series[1].textColor = 'red'; - // Column.series[1].textSize = 18; - that.showColumn("canvasColumn", Column); - }, - fail: () => { - console.log("请点击右上角【详情】,启用不校验合法域名"); - }, + fetchSummaryInfo: function(form){ + getSummaryReport(form).then(result => { + // this.setData({ }) + wx.hideLoading() + }).catch(err => { + wx.hideLoading() }) }, - showColumn(canvasId, chartData) { - let ctx = wx.createCanvasContext(canvasId, this); - canvaColumn = new uCharts({ - type: 'ring', - context: ctx, - // fontSize: 11, - background: '#FFFFFF', - pixelRatio: 1, - // animation: true, - // categories: chartData.categories, - series: chartData.series, - color: [ "#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc" ], - dataLabel: true, - width: that.data.cWidth, - height: that.data.cHeight, - legend: { - show: true, - position: "right", - float: "center", - padding: 5, - margin: 5, - fontSize: 13, - fontColor: "#666666", - lineHeight: 25, - hiddenColor: "#CECECE", - itemGap: 10 - }, - extra: { - ring: { - ringWidth: 30, - centerColor: "#FFFFFF", - activeOpacity: 0.5, - activeRadius: 10, - offsetAngle: 0, - customRadius: 0, - labelWidth: 15, - border: true, - borderWidth: 3, - borderColor: "#FFFFFF", - linearType: "none" - } - } - }); + showCalendar: function(e){ + console.log(e.currentTarget.id) + this.setData({ show: true }) }, - touchColumn(e) { - canvaColumn.showToolTip(e, { - formatter: function (item) { - console.log(item) - return item.name + ':' + item.data - } - }) - } + onClose: function() { + this.setData({ show: false }) + }, + onSelect: function({detail}) { + var start = new Date(detail[0]) + var end = new Date(detail[1]) + var vdateString = util.formatDate(start, 'Y-M-D') + '至' + util.formatDate(end, 'Y-M-D') + this.data.form.startTime = util.formatDate(start, 'Y-M-D') + ' 00:00:00' + this.data.form.endTime = util.formatDate(end, 'Y-M-D') + ' 00:00:00' + this.setData({ show: false, vdateString }) + wx.showLoading({ title: '加载中', mask: true }) + this.fetchStatisticsInfo() + }, + // rpx2px: function(rpx) { + // return rpx / 750 * windowWidth; + // }, + // getServerData: function() { + // wx.request({ + // url: 'https://www.ucharts.cn/data.json', + // success: function (res) { + // let Column = { categories: [], series: [] }; + // Column.categories = res.data.data.Pie.categories; + // Column.series = res.data.data.Pie.series; + // // 自定义标签颜色和字体大小 + // // Column.series[1].textColor = 'red'; + // // Column.series[1].textSize = 18; + // that.showColumn("canvasColumn", Column); + // }, + // fail: () => { + // console.log("请点击右上角【详情】,启用不校验合法域名"); + // }, + // }) + // }, + // showColumn(canvasId, chartData) { + // let ctx = wx.createCanvasContext(canvasId, this); + // canvaColumn = new uCharts({ + // type: 'ring', + // context: ctx, + // // fontSize: 11, + // background: '#FFFFFF', + // pixelRatio: 1, + // // animation: true, + // // categories: chartData.categories, + // series: chartData.series, + // color: [ "#1890FF", "#91CB74", "#FAC858", "#EE6666", "#73C0DE", "#3CA272", "#FC8452", "#9A60B4", "#ea7ccc" ], + // dataLabel: true, + // width: that.data.cWidth, + // height: that.data.cHeight, + // legend: { + // show: false, + // position: "right", + // float: "center", + // padding: 5, + // margin: 5, + // fontSize: 13, + // fontColor: "#666666", + // lineHeight: 25, + // hiddenColor: "#CECECE", + // itemGap: 10 + // }, + // extra: { + // ring: { + // ringWidth: 30, + // centerColor: "#FFFFFF", + // activeOpacity: 0.5, + // activeRadius: 10, + // offsetAngle: 0, + // customRadius: 0, + // labelWidth: 15, + // border: true, + // borderWidth: 3, + // borderColor: "#FFFFFF", + // linearType: "none" + // } + // } + // }); + // }, + // touchColumn(e) { + // canvaColumn.showToolTip(e, { + // formatter: function (item) { + // console.log(item) + // return item.name + ':' + item.data + // } + // }) + // } }) \ No newline at end of file diff --git a/xtends/statics/index/index.json b/xtends/statics/index/index.json index 6929d06..eebd097 100644 --- a/xtends/statics/index/index.json +++ b/xtends/statics/index/index.json @@ -3,6 +3,8 @@ "van-grid": "/components/grid/index", "van-grid-item": "/components/grid-item/index", "van-icon": "/components/icon/index", + "van-circle": "/components/circle/index", + "van-calendar": "/components/calendar/index", "notification": "/pages/message/notification/index" } } \ No newline at end of file diff --git a/xtends/statics/index/index.wxml b/xtends/statics/index/index.wxml index 8eef297..8e31970 100644 --- a/xtends/statics/index/index.wxml +++ b/xtends/statics/index/index.wxml @@ -4,82 +4,127 @@ 智能报表 - - - - - - - - - - - - - - - - - - - - - - - 收货统计 - - - - - - 收货总重量 - 收货总金额 - - - - - - - - 出货统计 - - {{vdateString}} - - - - - - - 收货重量 + + + + + + 收货报表 + 核对收货数据 - {{formate.formateWeight(totalInfo.totalWeight || 0)}}吨 + - - - - 收货金额 + + + + + 销售报表 + 核对销售数据 - {{formate.formateAmount(totalInfo.totalMoney || 0)}} + - - - - - - 收货重量 + + + + + 毛利报表 + 分析经营利润 - {{formate.formateWeight(totalInfo.totalWeight || 0)}}吨 + - - - - 收货金额 + + + + + 代卖报表 + 核对代卖数据 - {{formate.formateAmount(totalInfo.totalMoney || 0)}} + + + + + + + + + 收货统计 + + + {{vdateString}} + + + + + + + + + + + + + + + 收货合计(吨) + 1230.45 + + + 场外收货(吨) + + 1230.45 + + + 收货总金额(元) + 1230.45 + + + 场内收货(吨) + + 1230.45 + + + + + 销售统计 + + + {{vdateString}} + + + + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 总出货重量(吨) + + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 总结算重量(吨) + + + + + + + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 总出车数(车) + + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 总结算金额(元) + + + + + diff --git a/xtends/statics/index/index.wxss b/xtends/statics/index/index.wxss index 6230d44..f528fcd 100644 --- a/xtends/statics/index/index.wxss +++ b/xtends/statics/index/index.wxss @@ -8,4 +8,61 @@ width: 100%; height: 400rpx; background-color: #FFFFFF; -} \ No newline at end of file +} + +.shanxing { + width: 200rpx; + height: 200rpx; + margin: 10rpx auto; + position: relative; + border-radius: 50%; + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; +} + +.sx1, .sx2 { + position: absolute; + top: 0; + left: 0; + width: 200rpx; + height: 200rpx; + clip: rect(0rpx, 100rpx, 200rpx, 0rpx); +} + +.sx1 { + z-index: 1; +} + +.sx2 { + z-index: 2; +} + +.sx_t { + width: 100rpx; + height: 100rpx; + border-radius: 50%; + z-index: 3; + background: #fff; +} + +.shanxing1 { + /* background: #FF222C; */ + background-image: linear-gradient(269deg, #FF222C 0%, #FF691C 100%); +} + +.shanxing1 .sx1, .shanxing1 .sx2 { + background: #007AFF; +} + +.shanxing2 { + background: #007AFF; +} + +.shanxing2 .sx1, .shanxing2 .sx2 { + /* background: #FF222C; */ + background-image: linear-gradient(269deg, #FF222C 0%, #FF691C 100%); + transform: rotate(180deg); +} + diff --git a/xtends/statics/purchase-report/index.js b/xtends/statics/purchase-report/index.js index 1572d2f..81a3302 100644 --- a/xtends/statics/purchase-report/index.js +++ b/xtends/statics/purchase-report/index.js @@ -1,5 +1,5 @@ import Scene from '../../../pages/index/scene' -import { getStatisticsInfo } from "../../../api/saas" +import { getSummaryReport } from "../../../api/saas" import util from '../../../utils/util' const app = getApp() @@ -12,48 +12,48 @@ Scene({ height: app.globalData.fragmentHeight, form: {}, columns: [ - { key: 'catname', title: '品类', width: 100, fixed: 'left', align: 'center' }, - { key: 'product_title', width: 80, fixed: 'left', title: '重量(公斤)' }, - { key: 'product_bar_code', title: '金额(元)', width: 80, }, - { key: 'quantity', width: 100, title: '均价(元/公斤)' } + { prop: 'datetime', width: 200, label: '品类', color: '#55C355' }, + { prop: 'sign_in_time', width: 175, label: '重量(公斤)' }, + { prop: 'sign_out_time', width: 175, label: '金额(元)' }, + { prop: 'work_hour', width: 200, label: '均价(元/公斤)' } ], data: [ - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '187500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '87500.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '35000.00', product_title: '187500.00', quantity: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '187500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '187500.00', work_hour: '2.500', status: '2.500'}, ], show: false }, @@ -73,9 +73,9 @@ Scene({ today.setHours(0, 0, 0) var vdate = [today.getTime(), maxDate] var vdateString = util.formatDate(new Date(), 'Y-M-D') + '至' + util.formatDate(max, 'Y-M-D') - this.data.form.startTime = util.formatDate(today, 'Y-M-D') + ' 00:00:00' - this.data.form.endTime = util.formatDate(max, 'Y-M-D') + ' 00:00:00' - this.setData({ height: app.globalData.fragmentHeight - 80, minDate, maxDate, vdate, vdateString }) + this.data.form.dimensionDateStart = util.formatDate(today, 'Y-M-D') + this.data.form.dimensionDateEnd = util.formatDate(max, 'Y-M-D') + this.setData({ height: app.globalData.fragmentHeight - 304, minDate, maxDate, vdate, vdateString }) this.fetchStatisticsInfo() }, showCalendar: function(){ @@ -85,17 +85,17 @@ Scene({ this.setData({ show: false }) }, onSelect: function({detail}) { + wx.showLoading({ title: '加载中', mask: true }) var start = new Date(detail[0]) var end = new Date(detail[1]) var vdateString = util.formatDate(start, 'Y-M-D') + '至' + util.formatDate(end, 'Y-M-D') this.data.form.startTime = util.formatDate(start, 'Y-M-D') + ' 00:00:00' this.data.form.endTime = util.formatDate(end, 'Y-M-D') + ' 00:00:00' this.setData({ show: false, vdateString }) - wx.showLoading({ title: '加载中', mask: true }) this.fetchStatisticsInfo() }, fetchStatisticsInfo: function(){ - getStatisticsInfo(this.data.form).then(result => { + getSummaryReport(this.data.form).then(result => { // this.setData({ }) wx.hideLoading() }).catch(err => { diff --git a/xtends/statics/purchase-report/index.wxml b/xtends/statics/purchase-report/index.wxml index ec93ff8..29fc667 100644 --- a/xtends/statics/purchase-report/index.wxml +++ b/xtends/statics/purchase-report/index.wxml @@ -1,9 +1,10 @@ + - 采购报表 + 收货报表 - + 出货信息 @@ -13,8 +14,17 @@ - - + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 重量(公斤) + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 合计金额(元) + + + diff --git a/xtends/statics/sale-report/index.js b/xtends/statics/sale-report/index.js index 4eccb8d..0149923 100644 --- a/xtends/statics/sale-report/index.js +++ b/xtends/statics/sale-report/index.js @@ -12,49 +12,49 @@ Scene({ height: app.globalData.fragmentHeight, form: {}, columns: [ - { key: 'catname', title: '品类', width: 100, fixed: 'left', align: 'center' }, - { key: 'product_title', width: 90, fixed: 'left', title: '出货重量' }, - { key: 'product_bar_code', title: '结算重量', width: 90, }, - { key: 'quantity', width: 90, title: '结算均价' }, - { key: 'quantity', width: 90, title: '结算金额' } + { prop: 'datetime', width: 200, label: '品类', color: '#55C355' }, + { prop: 'sign_in_time', width: 180, label: '出货重量(吨)' }, + { prop: 'sign_out_time', width: 180, label: '结算重量(吨)' }, + { prop: 'work_hour', width: 220, label: '结算均价(元/吨)' }, + { prop: 'status', width: 180, label: '结算金额(元)' } ], data: [ - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '1870.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '870.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '870.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '875.00', quantity: '2.500'}, - {catname: '黄纸皮A级', product_bar_code: '2400.00', product_title: '1875.00', quantity: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '187500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '87500.00', work_hour: '2.500', status: '2.500'}, + {datetime: '黄纸皮A级', sign_in_time: '35000.00', sign_out_time: '187500.00', work_hour: '2.500', status: '2.500'}, ], show: false }, @@ -76,7 +76,7 @@ Scene({ var vdateString = util.formatDate(new Date(), 'Y-M-D') + '至' + util.formatDate(max, 'Y-M-D') this.data.form.startTime = util.formatDate(today, 'Y-M-D') + ' 00:00:00' this.data.form.endTime = util.formatDate(max, 'Y-M-D') + ' 00:00:00' - this.setData({ height: app.globalData.fragmentHeight - 80, minDate, maxDate, vdate, vdateString }) + this.setData({ height: app.globalData.fragmentHeight - 404, minDate, maxDate, vdate, vdateString }) this.fetchStatisticsInfo() }, showCalendar: function(){ diff --git a/xtends/statics/sale-report/index.wxml b/xtends/statics/sale-report/index.wxml index 1f3d08a..364ccca 100644 --- a/xtends/statics/sale-report/index.wxml +++ b/xtends/statics/sale-report/index.wxml @@ -1,20 +1,41 @@ + 销售报表 - + - 出货信息 + 销售统计 {{vdateString}} + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 出货重量(吨) + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 结算重量(吨) + + + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 出货车数(车) + + + {{formate.formateWeight(totalInfo.totalWeight || 0)}} + 金额(元) + + - +