From a5fe20c7211ce80ef3b3d71319e4f4a1c3b2312d Mon Sep 17 00:00:00 2001
From: xk_guohonglei <2057494155@qq.com>
Date: Sat, 5 Sep 2020 11:53:19 +0800
Subject: [PATCH] =?UTF-8?q?=E8=80=81=E7=99=BB=E9=99=86=EF=BC=8C=E7=BB=8F?=
=?UTF-8?q?=E8=90=A5=E5=88=86=E6=9E=90=EF=BC=8C=E8=A2=AB=E6=8C=A4=E6=8E=89?=
=?UTF-8?q?=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/cloud-site.js | 21 ++
components/analysis-card/analysis-card.vue | 85 +++++++
components/area-month.vue | 198 ++++++++++++++++
components/area-time.vue | 167 ++++++--------
pages.json | 44 ++--
pages/login/boforeLogin/boforeLogin.vue | 4 +-
pages/login/posLogin/posLogin.vue | 211 ++++++++++++------
.../operation-analysis/analysis/analysis.vue | 6 +-
pages/operation-analysis/analysis/daily.vue | 173 +++++++++++++-
pages/operation-analysis/analysis/monthly.vue | 187 +++++++++++++++-
.../operation-analysis/operation-analysis.vue | 58 ++---
pages/startPage/startPage.vue | 179 +++++++--------
utils/encode.js | 8 +-
utils/request.js | 53 ++++-
14 files changed, 1065 insertions(+), 329 deletions(-)
create mode 100644 components/analysis-card/analysis-card.vue
create mode 100644 components/area-month.vue
diff --git a/api/cloud-site.js b/api/cloud-site.js
index 14dd3fe..b6aed52 100644
--- a/api/cloud-site.js
+++ b/api/cloud-site.js
@@ -81,4 +81,25 @@ export default {
data: data
})
},
+ // 经营分析 日
+ getAnyDay(date) {
+ return request({
+ url: `/${service_name}/${group_name}/getAnyDay/${date}`,
+ method: 'get'
+ })
+ },
+ // 经营分析 月
+ getAnyMonth(date) {
+ return request({
+ url: `/${service_name}/${group_name}/getAnyMonth/${date}`,
+ method: 'get'
+ })
+ },
+ // 昨日数据
+ getYesterday() {
+ return request({
+ url: `/${service_name}/${group_name}/getYesterday`,
+ method: 'get'
+ })
+ },
}
diff --git a/components/analysis-card/analysis-card.vue b/components/analysis-card/analysis-card.vue
new file mode 100644
index 0000000..19739fe
--- /dev/null
+++ b/components/analysis-card/analysis-card.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+ 交易金额(元)
+
+
+ ¥{{basicData.totalAmout|numberFilter}}
+
+
+
+
+
+
+
+
+ 交易笔数
+
+ {{basicData.totalCount}}
+
+
+
+ 客单均价
+
+ ¥{{basicData.totalAmout/basicData.totalAccount|numberFilter}}
+
+
+
+ 顾客数
+
+ {{basicData.totalAccount}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/area-month.vue b/components/area-month.vue
new file mode 100644
index 0000000..ffb3958
--- /dev/null
+++ b/components/area-month.vue
@@ -0,0 +1,198 @@
+
+
+
+
+ 页面地址
+
+
+ pages/basic/area/time
+
+
+
+ 单量
+
+
+
+
+
+
+
+
+
+
+
+ 标准数据格式
+
+
+
+
+ Tips:修改后点击更新图表
+
+
+
+
+
+
+
+
diff --git a/components/area-time.vue b/components/area-time.vue
index 1287104..2d25dce 100644
--- a/components/area-time.vue
+++ b/components/area-time.vue
@@ -1,39 +1,32 @@
-
-
-
- 页面地址
-
-
- pages/basic/area/time
-
-
-
- 发生金额
-
-
-
-
-
-
-
-
-
-
-
- 标准数据格式
-
-
-
-
+
+
+
+ 页面地址
+
+
+ pages/basic/area/time
+
+
+
+ 单量
+
+
+
+
+
+
+
+
+
+
+
+ 标准数据格式
+
+
+
+
Tips:修改后点击更新图表
@@ -47,6 +40,13 @@ import { isJSON } from '@/common/checker.js';
var _self;
var canvaLineA = null;
export default {
+ props: {
+ chartData: {
+ type: Array,
+ default: []
+ }
+ },
+
data() {
return {
cWidth: '',
@@ -70,66 +70,39 @@ export default {
//#endif
this.cWidth = uni.upx2px(650);
this.cHeight = uni.upx2px(500);
- this.getServerData();
+ console.log('chartData', this.chartData)
+ },
+ watch: {
+ chartData: {
+ handler(newVal, oldVal) {
+ console.log('深度监听', newVal, oldVal)
+ this.chartData = newVal
+ this.getServerData()
+ },
+ deep: true
+ }
},
methods: {
getServerData() {
- console.log('/')
- uni.request({
- url: 'https://www.ucharts.cn/data.json',
- data: {
- },
- success: function (res) {
- console.log(res.data.data)
- let LineA = {
- series: [{
- name: '交易时段分布', data: [
- [10000, 75], [50000, 35], [150000, 55], [170000, 35], [190000, 75],
- [210000, 25], [280000, 5], [450000, 95], [460000, 5], [470000, 95],
- [490000, 5]
- ]
- },
- {
- name: '交易时段分布', data: [
- [30000, 77], [50000, 25], [170000, 50], [200000, 40], [210000, 25],
- [220000, 45], [280000,55], [450000,19], [460000, 30], [470000, 88],
- [490000, 95]
- ]
- }]
- };
- _self.textarea = JSON.stringify(res.data.data.LineA);
- console.log('-----------------------')
- console.log('res.data.data.LineA', res.data.data.LineA)
- console.log('_self.textarea', _self.textarea)
- console.log('LineA', LineA)
- console.log('-----------------------')
- _self.showLineA("canvasLineA", LineA);
- },
- fail: () => {
- _self.tips = "网络错误,小程序端请检查合法域名";
- },
- });
+ if (this.chartData) {
+ let LineA = {
+ series: [{
+ name: '交易时段分布', data: this.chartData
+ }]
+ }
+ _self.textarea = JSON.stringify(LineA);
+ console.log('-----------------------')
+ console.log('_self.textarea', _self.textarea)
+ console.log('LineA', LineA)
+ console.log('-----------------------')
+ _self.showLineA("canvasLineA", LineA);
+ }
},
- formatDateTime(timeStamp, returnType) {
- var date = new Date();
- date.setTime(timeStamp * 1000);
- console.log('\n\n------ begin:', timeStamp, ' ------')
- console.log('')
- console.log('------ end: ', date.setTime(timeStamp * 1000), ' ------\n\n')
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- m = m < 10 ? ('0' + m) : m;
- var d = date.getDate();
- d = d < 10 ? ('0' + d) : d;
- var h = date.getHours();
- h = h < 10 ? ('0' + h) : h;
- var minute = date.getMinutes();
- var second = date.getSeconds();
- minute = minute < 10 ? ('0' + minute) : minute;
- second = second < 10 ? ('0' + second) : second;
- if (returnType == 'str') { return h + ':' + minute; }
- // return [y, m, d, h, minute, second];
- // return [y + '-'+ m + '-'+ d +' '+ h+ ':'+ minute + ':' + second];
+ formatDateTime(timeStr) {
+ console.log('-----------------------')
+ console.log('timeStr', timeStr)
+ console.log('-----------------------')
+ return (timeStr > 0 ? timeStr.toFixed(0) : 0) + ':00'
},
showLineA(canvasId, chartData) {
canvaLineA = new uCharts({
@@ -154,16 +127,16 @@ export default {
boundaryGap: 'justify',
splitNumber: 5,
format: (val) => {
- console.log('----', val, '-----')
- console.log('----', this.formatDateTime(val, 'str'), '-----')
- return this.formatDateTime(val, 'str') }
+ // console.log('----', val, '-----')
+ // console.log('----', this.formatDateTime(val, 'str'), '-----')
+ return this.formatDateTime(val) }
},
yAxis: {
gridType: 'dash',
gridColor: '#CCCCCC',
dashLength: 8,
splitNumber: 5,
- format: (val) => { return val.toFixed(0) + '元' }
+ format: (val) => { return val>0?val.toFixed(0):0 + '单' }
},
width: _self.cWidth * _self.pixelRatio,
height: _self.cHeight * _self.pixelRatio,
@@ -178,11 +151,11 @@ export default {
},
touchLineA(e) {
- var that = this
+ var that = this
canvaLineA.showToolTip(e, {
format: function (item, category) {
console.log(' item.data', item.data)
- return that.formatDateTime(item.data[0], 'str') +'交易金额'+ item.data[1] + '元'
+ return (item.data[0] + ':00 ') + item.data[1] + '单 ' + '交易金额' + item.data[2] + '元'
}
});
},
diff --git a/pages.json b/pages.json
index d208d42..8fd2a6e 100644
--- a/pages.json
+++ b/pages.json
@@ -1,21 +1,33 @@
{
"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
- {
+ {
"path": "pages/startPage/startPage",
"style": {}
- },
- {
+ },{
"path": "pages/operation-analysis/operation-analysis",
- "style": {}
- },
+ "style": {
+ "enablePullDownRefresh": true
+ }
+ },{
+ "path" : "pages/operation-analysis/analysis/daily",
+ "style" : {
+ "enablePullDownRefresh": true
+ }
+ },{
+ "path": "pages/login/login",
+ "style": {
+
+ }
+ },{
+ "path": "pages/login/posLogin/posLogin",
+ "style": {}
+ }
+
+ ,
+
{
"path": "pages/login/boforeLogin/boforeLogin",
"style": {}
- },{
- "path": "pages/login/login",
- "style": {
-
- }
}, {
"path": "pages/staff/editStaff/addUser",
"style": {}
@@ -69,14 +81,14 @@
"style": {}
}
- , {
- "path": "pages/login/posLogin/posLogin",
- "style": {}
- }
-
- ,{
+ ,{
"path" : "pages/operation-analysis/analysis/analysis",
"style" : {}
+ },{
+ "path" : "pages/operation-analysis/analysis/monthly",
+ "style" : {
+ "enablePullDownRefresh": true
+ }
}
],
"globalStyle": {
diff --git a/pages/login/boforeLogin/boforeLogin.vue b/pages/login/boforeLogin/boforeLogin.vue
index 435a897..396d0b9 100644
--- a/pages/login/boforeLogin/boforeLogin.vue
+++ b/pages/login/boforeLogin/boforeLogin.vue
@@ -27,9 +27,7 @@
-
- 短信验证码登录
-
+
diff --git a/pages/login/posLogin/posLogin.vue b/pages/login/posLogin/posLogin.vue
index 8e050f2..cea0370 100644
--- a/pages/login/posLogin/posLogin.vue
+++ b/pages/login/posLogin/posLogin.vue
@@ -6,43 +6,36 @@
-
- 油站工作人员绑定油站
-
+ 油站工作人员绑定油站
-
-
+
手机号
-
+
验证码
-
-
+
+ {{tips}}
密码
-
+
-
- 短信验证码登录
+
+ 短信验证码登录
-
- 密码登录
+
+ 密码登录
-
-
-
+
+
+
@@ -53,6 +46,8 @@
-
diff --git a/pages/operation-analysis/analysis/monthly.vue b/pages/operation-analysis/analysis/monthly.vue
index 48d48ea..1b8966b 100644
--- a/pages/operation-analysis/analysis/monthly.vue
+++ b/pages/operation-analysis/analysis/monthly.vue
@@ -1,8 +1,193 @@
+// 昨日经营分析
+
+
+ 返回
+ 月报
+
+
+
+
+
+ {{selDate}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 选择日期
+ 确定
+
+
+
+ {{item}}年
+
+
+ {{item}}月
+
+
+ {{item}}日
+
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/pages/operation-analysis/operation-analysis.vue b/pages/operation-analysis/operation-analysis.vue
index 2b31380..e3a916a 100644
--- a/pages/operation-analysis/operation-analysis.vue
+++ b/pages/operation-analysis/operation-analysis.vue
@@ -2,15 +2,16 @@
经营分析
- 返回
+ 返回
+
昨日交易金额(元)
- ¥{{userAccount.totalMoney|numberFilter}}
+ ¥{{basicData.totalAmout|numberFilter}}
@@ -23,7 +24,7 @@
交易笔数
- {{userAccount.totalCount}}
+ {{basicData.totalCount}}
-
-
-
-
-
-
- 星油云站
-
-
-
-
+ -->
+
+
+
+ 星油云站
+
+
+
diff --git a/utils/encode.js b/utils/encode.js
index 4b7c260..46dda0f 100644
--- a/utils/encode.js
+++ b/utils/encode.js
@@ -58,10 +58,10 @@ export default {
md5Salt(str) {
// console.log('hahahahaha',str, str + "Do&9hY%l8e", md5(str + 'Do&9hY%l8e'))
// str ='fd3fc615-3554-4ff5-8848-364577e8687d'
- console.log('hahahahaha', str, str + "kdq*&qflbn1gga?aDq", md5(str + 'kdq*&qflbn1gga?aDq'))
- console.log('\n\n------ begin: ------')
- console.log("md5(str + 'kdq*&qflbn1gga?aDq')", md5(str + 'kdq*&qflbn1gga?aDq'))
- console.log('------ end: ------\n\n')
+ // console.log('hahahahaha', str, str + "kdq*&qflbn1gga?aDq", md5(str + 'kdq*&qflbn1gga?aDq'))
+ // console.log('\n\n------ begin: ------')
+ // console.log("md5(str + 'kdq*&qflbn1gga?aDq')", md5(str + 'kdq*&qflbn1gga?aDq'))
+ // console.log('------ end: ------\n\n')
return md5(str + 'kdq*&qflbn1gga?aDq')
},
md5NoSalt(str) {
diff --git a/utils/request.js b/utils/request.js
index dedbca5..65ba7c1 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -16,20 +16,20 @@ service.interceptors.request.use(
})
const token = uni.getStorageSync('Authorization')
const openid = uni.getStorageSync('device')
- console.log('取出来缓存' ,token,openid)
+ console.log('取出来缓存', token, openid)
config.headers['Authorization'] = token
config.headers['device'] = openid
config.headers['dataSources'] = 'MP'
- // if (env === 'production') {
+ if (env === 'production') {
// 生产环境,加密,不输出任何东西
// 设置jsessionid和token
const JSESSIONID = utils.uuid()
config.headers['JSESSIONID'] = JSESSIONID
config.headers['token'] = utils.md5Salt(JSESSIONID)
// if ( encryptWhite.indexOf(config.url) < 0) {
- // if (!notEncrypt && encryptWhite.indexOf(config.url) < 0) {
+ if (!notEncrypt && encryptWhite.indexOf(config.url) < 0) {
// 这是定义在哪的
const data = { // 用于存储加密
params: '' // 加密后的密文
@@ -38,10 +38,10 @@ service.interceptors.request.use(
data.params = utils.encrypt(JSON.stringify(config.data))
console.log(data.params)
config.data = data
- // }
- // } else {
+ }
+ } else {
console.log('请求路径', config.url, '参数加密前', config.data)
- // }
+ }
return config
},
@@ -60,17 +60,17 @@ service.interceptors.response.use(
const res = response.data
const env = process.env.NODE_ENV
- // if (env === 'production') {
+ if (env === 'production') {
// 生产环境,进行加密解密,不输出日志
- if (res.encrypt === 1) {
+ if (res.encrypt == 1) {
// 加密的数据,需要解密
const dataParam = JSON.parse(utils.decrypt(res.data))
res.data = JSON.stringify(dataParam) === '{}' ? null : dataParam
}
- // } else {
+ } else {
console.log('请求路径', response.config.url, '返回结果未加密', res)
console.log('-------------------------------------------')
- // }
+ }
uni.hideLoading()
if (res.code != 20000) {
@@ -78,7 +78,7 @@ service.interceptors.response.use(
title: res.msg,
icon: "none"
})
- if(res.code===42011){
+ if (res.code === 42011) {
console.log(res.code)
// uni.navigateTo({
// url:'/pages/login/login',
@@ -90,6 +90,37 @@ service.interceptors.response.use(
// }
// })
}
+ if (res.msg === '您已被迫下线') {
+ uni.showModal({
+ title: '下线提醒',
+ confirmText: '重新登录',
+ cancelText: "退出",
+ content: '您的账号在另一微信下登录了星油云站,请确认是否本加油站工作人员操作',
+ success: function(res) {
+ if (res.confirm) {
+ uni.reLaunch({
+ url: '/pages/startPage/startPage',
+ success: () => {
+ console.log('跳转成功')
+ },
+ fail: (err) => {
+ console.log(err)
+ }
+ })
+ } else if (res.cancel) {
+ uni.reLaunch({
+ url: '/pages/login/boforeLogin/boforeLogin',
+ success: () => {
+ console.log('跳转成功')
+ },
+ fail: (err) => {
+ console.log(err)
+ }
+ })
+ }
+ }
+ });
+ }
}
return res
},