update
@ -191,7 +191,7 @@ function addUserBehavior(obj) {
|
|||||||
*/
|
*/
|
||||||
async function getFieldEnumByField(params) {
|
async function getFieldEnumByField(params) {
|
||||||
if (!params.FieldExplainField) return null
|
if (!params.FieldExplainField) return null
|
||||||
// 缓存了上次请求的数据 如果字段一致 则直接返回缓存数据 否则请求
|
// 缓存了上次请求的数据 如果字段一致 则直接返回缓存数据 否则请求
|
||||||
// 可优化:根据有效期判断是否再次请求
|
// 可优化:根据有效期判断是否再次请求
|
||||||
if (!this.dataMap) {
|
if (!this.dataMap) {
|
||||||
this.dataMap = {}
|
this.dataMap = {}
|
||||||
@ -239,6 +239,8 @@ function getThisMonthDay(value){
|
|||||||
return howDay
|
return howDay
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 视频播放
|
// 视频播放
|
||||||
const EZUIPlayer = require('./ezuikit.js');
|
const EZUIPlayer = require('./ezuikit.js');
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="warning-image-box">
|
<view class="warning-image-box">
|
||||||
<block v-if="!isConnect">
|
<block v-if="!isConnect">
|
||||||
<image class="no-wifi" src="../static/images/no-wifi.png" mode="aspectFit"></image>
|
<image class="no-wifi" src="https://eshangtech.com/ShopICO/ahyd-BID/no-wifi.png" mode="aspectFit"></image>
|
||||||
<text>网络未连接</text>
|
<text>网络未连接</text>
|
||||||
</block>
|
</block>
|
||||||
<block v-else-if="!isLoading && !noData">
|
<block v-else-if="!isLoading && !noData">
|
||||||
<image class="no-data" src="../static/images/no-data.png" mode="aspectFit"></image>
|
<image class="no-data" src="https://eshangtech.com/ShopICO/ahyd-BID/no-data.png" mode="aspectFit"></image>
|
||||||
<text>{{text || '数据空空'}}</text>
|
<text>{{text || '数据空空'}}</text>
|
||||||
</block>
|
</block>
|
||||||
<slot ></slot>
|
<slot ></slot>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -17,10 +17,10 @@
|
|||||||
import { mapGetters} from 'vuex'
|
import { mapGetters} from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
props: ['noData','text'],
|
props: ['noData','text'],
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed:{
|
computed:{
|
||||||
@ -30,7 +30,7 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
267
pages.json
@ -118,6 +118,12 @@
|
|||||||
"navigationBarTitleText": "",
|
"navigationBarTitleText": "",
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "planMonth",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -198,39 +204,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"root": "pages/mbwa",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "mbwa",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "走动式管理"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "mbwaUnCheck",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "未检点位"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "mbwaDetail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "走动式管理"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "mbwaUpload",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "上传走动式管理"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"root": "pages/serviceAreaReimbursement",
|
"root": "pages/serviceAreaReimbursement",
|
||||||
"pages": [
|
"pages": [
|
||||||
@ -280,74 +253,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"root": "pages/askForLeave",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "askForLeave",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "请假加班"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "请假详情"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "newLeave",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "申请请假"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "newLeave2",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "申请请假"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"root": "pages/officialDocManagement",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "officialDocManagement",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "公文阅办"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "公文阅办"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "readerList",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "公文阅办"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "circulate",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "阅办记录"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"root": "pages/businessApproval",
|
"root": "pages/businessApproval",
|
||||||
"pages": [
|
"pages": [
|
||||||
@ -508,26 +413,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"root": "pages/publicity",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "publicity",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "阳光公示"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "publicityDetail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "阳光公示"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"root": "pages/expenseApproval",
|
"root": "pages/expenseApproval",
|
||||||
"pages": [
|
"pages": [
|
||||||
@ -569,146 +454,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"root": "pages/autoTest/serverpartshoptotalsummary",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "index",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "业主门店数量汇总"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "业主门店数量汇总详情"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"root": "pages/autoTest/shopmobilesummary",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "index",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "门店移动支付汇总"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "门店移动支付汇总详情"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"root": "pages/autoTest/endaccountreport",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "index",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "服务区营收数据汇总"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "服务区营收数据汇总详情"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"root": "pages/autoTest/abnormalauditreport",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "index",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "服务区现场稽核异常汇总"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "服务区现场稽核异常汇总详情"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"root": "pages/autoTest/serverpartreport",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "index",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "服务区营收汇总"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "服务区营收汇总详情"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"root": "pages/autoTest/abnormalauditsummary",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "index",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "现场稽核异常表服务区站点汇总"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "现场稽核异常表服务区站点汇总详情"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"root": "pages/autoTest/abnormalaudit",
|
|
||||||
"pages": [
|
|
||||||
{
|
|
||||||
"path": "index",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"enablePullDownRefresh": true,
|
|
||||||
"navigationBarTitleText": "现场稽核异常表"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"path": "detail",
|
|
||||||
"style":
|
|
||||||
{
|
|
||||||
"navigationBarTitleText": "现场稽核异常表详情"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"globalStyle": {
|
"globalStyle": {
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<p class="box-top">
|
<p class="box-top">
|
||||||
<view class="item-title">日期:<text style="color:#333;font-size:24rpx;">{{data.OPERATE_DATE}}</text></view>
|
<view class="item-title">日期:<text style="color:#333;font-size:24rpx;">{{data.OPERATE_DATE}}</text></view>
|
||||||
<text style="color:#F27B4C;font-size:24rpx;">{{stateEmun[data.PERMISSIONAPPLY_STATE]}}</text>
|
<text style="color:#F27B4C;font-size:24rpx;">{{stateEmun[data.PERMISSIONAPPLY_STATE]}}</text>
|
||||||
</p>
|
</p>
|
||||||
<BaseDetail :baseData="data"/>
|
<BaseDetail :baseData="data"/>
|
||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="title-row">
|
<view class="title-row">
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<view class="row">
|
<view class="row">
|
||||||
<!-- 服务区 -->
|
<!-- 服务区 -->
|
||||||
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTkxNUE3MkRDNURDMTFFQzlBOEFDQUQwNEEzNEE3MjAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTkxNUE3MkNDNURDMTFFQzlBOEFDQUQwNEEzNEE3MjAiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7WAcXUAAACkklEQVR42uyWW4iNURTHz2Eil2JM0aSJJJcHJZfCg1Au8TAPyiUaYiLKTELJXWYoeXCJIgkZyYNBichlHlCEEg+SmkzMuKQRcYQ5frv+R8v2nXO+5pyjKd+qX2fv/e3v2/+z99prrXgymYx1JOsU62AWCYoERYIKbUWpRuXJ5mwByT1/Aw/hLNQdrSj9wXvu2VA4DK2wAx6EWHssbIXtfOd+ajCeCowhBPl2B2bAJ5gENzX+CsZAS4Z3l8AGuK3+NUSd+mOHjJ2A4wHjPWAwrIQhMAFqocqb1x/qJfKb96wL7IVFcAC6wU+YBWkFNaL2Vrq/xk46sfckahlshqfQBGWaNg6OaGFro2GF2jPhEiyEKe12asR+5Oegul3lC++gHL6YqRWwxnu9l2mPgPVwkW8+z/WWvTDtPvp9pH9rbbf8LGZ2xdpLqMnHtS8z7fem7Xxno/f9MzAMZsMqjV+B6e7Y2Z3mnAThQz2NIyfkT9Z2wWnvmC7AcPXrtFNXA5w+0Kl7s+jAgPG+cspqxZ2YfOlzQLxaqvkJHZm7ABN1hNs0J3NgNFYtspmLIZvSPHNCpkKxRFSq/wS+5jN1JBQQl8Nkzj+RYW5n+c8cc6yrYXGo1GFsn4KXb+5Kf3DpIqR450vTTLB1F6FUKeYZ3A0rqJVFG3PMkfNgndr74ZCC5w1F63rFr6Z/ke1HwjHjZ2vVbnCJVO1+cB66F1pQiRZyOeqt/Oe7eV6rXXI2ygnnRscLJahIZckAaIP58Nqb4xLpApUxzuYq6xdE0B6TJLeYnfCtRaLa1K9hl8rzLWi8iV2XYWeW+ddVyP3O2UG3rCFVfrRD0GPVUMUqvsIUe07QIFUJ5/6qGKMiPxIUCfpfBP0SYADhDaNPYUPNhAAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 36rpx;width:64rpx"></image>
|
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTkxNUE3MkRDNURDMTFFQzlBOEFDQUQwNEEzNEE3MjAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTkxNUE3MkNDNURDMTFFQzlBOEFDQUQwNEEzNEE3MjAiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7WAcXUAAACkklEQVR42uyWW4iNURTHz2Eil2JM0aSJJJcHJZfCg1Au8TAPyiUaYiLKTELJXWYoeXCJIgkZyYNBichlHlCEEg+SmkzMuKQRcYQ5frv+R8v2nXO+5pyjKd+qX2fv/e3v2/+z99prrXgymYx1JOsU62AWCYoERYIKbUWpRuXJ5mwByT1/Aw/hLNQdrSj9wXvu2VA4DK2wAx6EWHssbIXtfOd+ajCeCowhBPl2B2bAJ5gENzX+CsZAS4Z3l8AGuK3+NUSd+mOHjJ2A4wHjPWAwrIQhMAFqocqb1x/qJfKb96wL7IVFcAC6wU+YBWkFNaL2Vrq/xk46sfckahlshqfQBGWaNg6OaGFro2GF2jPhEiyEKe12asR+5Oegul3lC++gHL6YqRWwxnu9l2mPgPVwkW8+z/WWvTDtPvp9pH9rbbf8LGZ2xdpLqMnHtS8z7fem7Xxno/f9MzAMZsMqjV+B6e7Y2Z3mnAThQz2NIyfkT9Z2wWnvmC7AcPXrtFNXA5w+0Kl7s+jAgPG+cspqxZ2YfOlzQLxaqvkJHZm7ABN1hNs0J3NgNFYtspmLIZvSPHNCpkKxRFSq/wS+5jN1JBQQl8Nkzj+RYW5n+c8cc6yrYXGo1GFsn4KXb+5Kf3DpIqR450vTTLB1F6FUKeYZ3A0rqJVFG3PMkfNgndr74ZCC5w1F63rFr6Z/ke1HwjHjZ2vVbnCJVO1+cB66F1pQiRZyOeqt/Oe7eV6rXXI2ygnnRscLJahIZckAaIP58Nqb4xLpApUxzuYq6xdE0B6TJLeYnfCtRaLa1K9hl8rzLWi8iV2XYWeW+ddVyP3O2UG3rCFVfrRD0GPVUMUqvsIUe07QIFUJ5/6qGKMiPxIUCfpfBP0SYADhDaNPYUPNhAAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 36rpx;width:64rpx"></image>
|
||||||
|
|
||||||
<view class="desc">
|
<view class="desc">
|
||||||
{{data.SERVERPART_NAME ||'-'}}
|
{{data.SERVERPART_NAME ||'-'}}
|
||||||
</view>
|
</view>
|
||||||
@ -24,13 +24,13 @@
|
|||||||
<view class="row">
|
<view class="row">
|
||||||
<!-- 门店 -->
|
<!-- 门店 -->
|
||||||
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk2MDIzMEJDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk2MDIzMEFDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7qjobvAAAD/klEQVR42uxYXYhVVRRea59z7rm3rqPTHUoFE0nRMMp5aCJ0EitJUhPsDxkHKYgeAhMEKcyXqEgKisinRDBGbBApGEXFGsoZ8KEgHxPJBxEx5RpCc5o75+y1+vaod+69Z+6M84vQbGbftX/WPuvba639nX2GVZXupWLoHiszgEYr/p3Ga0eIjrxKtOFQkVTcCHJLgZeVlJkMxhJi8iWhAY2x0qOBrMnn+83H0HkdiiEUT4kNd3AmuWolpsAzZPEM/OKZQtai7QkZhVmXu+6hmBW0j7cXqgGNozyYL5mTwNgMMLdGAMz4pRYl73n0Lk5nyBZk2D8D2Zye0kUsSQ8aS6cL0JIgCEczON8n/gVy+VQDepx8cwYBWngXug+ppZ8hV0wVoKd9I87A3Jrx7xOmFkmkGWnaURO+JiPSjUbLZANaq0ZOQzZW26NP8bsZ9VfUc6jtALW7BlQjCbm1rZMFaLNR6WLi+4dw4E90Vy5beN+dMM+dYJ8dQ1Dfn4VPROVdqEnFMxqgdwLyuYkCehMU1EkMjikXtsz8di7X9Bk6HuqHqFdQr6PudVQS2b6vVPgtp1tehQ2BurrQXDdeQDvBYPsruQr8FZPYtn9u2m/QzfxbKn6H0T1I8nkw2QSru/KPFI9iLuslcgD9tsE1QyVnlH+A3DhWQB/BC59zmfEGSyRGNnGQ7UQ7H5WKxyBfGWbtS3kvfxJyVtwfdTLpy7hR9A85mEPE+2idtSlADsDXCNPu6tylm3jIOl98lwdN+QbTDcW1dX3LvFpC/hGtB0oxdQnxeryA+oamKYD3D6PZNhIgb31H8VtYf6dG55on3hq81xwZPqwy4OSTox4FpZYgzDlynC8s3SyCDfDf1e9RcxDyjWEBRf3F/dj11pqtXkpIn0nY/o7Oo/BSLwwtGwN3PRZmTC/kYjKZs2LMs26DFahxKAbztD0FCG6sAUPnWUutnprzaD+F+R4EdMHY3zS6CPFxXn1CbHyOE1qNFLhc6RRD/GUKEGJ8tiJnfrNh2Go5ewndF5j1J8jCBG4Gc0mtY/lVFJg/bBI7krxQtscape5DwmYDK28xlAyYKOlUlYjY3wL1g+CQoI6h1q6thd7KgY0dxVUQPelEpzk+mVPudBnfP2HjeKUX+O9h87MRubKH+M4l/8VDN9DBRcxdw6KEbM7fbth8MRJXAQwPNw5Qdb8cHC/BI9s0Tg4DEOntVDrW3lifh/S+DAHM3qm44rojj3vjPi/I3C0xTsc1G6EY9A2PbN1UvQ+np3ANqDIgbxwfjLcTuHZs5djDKOmvjnGWHgD4n3wocrqWpjBzbqQtpogxtWoPSOoDKDdM6vki+ousbK8Ldea/HzOAJlj+E2AAkKJgt+Zq9g4AAAAASUVORK5CYII=" mode="aspectFit" style="height: 36rpx;width:64rpx;"></image>
|
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk2MDIzMEJDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk2MDIzMEFDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7qjobvAAAD/klEQVR42uxYXYhVVRRea59z7rm3rqPTHUoFE0nRMMp5aCJ0EitJUhPsDxkHKYgeAhMEKcyXqEgKisinRDBGbBApGEXFGsoZ8KEgHxPJBxEx5RpCc5o75+y1+vaod+69Z+6M84vQbGbftX/WPuvba639nX2GVZXupWLoHiszgEYr/p3Ga0eIjrxKtOFQkVTcCHJLgZeVlJkMxhJi8iWhAY2x0qOBrMnn+83H0HkdiiEUT4kNd3AmuWolpsAzZPEM/OKZQtai7QkZhVmXu+6hmBW0j7cXqgGNozyYL5mTwNgMMLdGAMz4pRYl73n0Lk5nyBZk2D8D2Zye0kUsSQ8aS6cL0JIgCEczON8n/gVy+VQDepx8cwYBWngXug+ppZ8hV0wVoKd9I87A3Jrx7xOmFkmkGWnaURO+JiPSjUbLZANaq0ZOQzZW26NP8bsZ9VfUc6jtALW7BlQjCbm1rZMFaLNR6WLi+4dw4E90Vy5beN+dMM+dYJ8dQ1Dfn4VPROVdqEnFMxqgdwLyuYkCehMU1EkMjikXtsz8di7X9Bk6HuqHqFdQr6PudVQS2b6vVPgtp1tehQ2BurrQXDdeQDvBYPsruQr8FZPYtn9u2m/QzfxbKn6H0T1I8nkw2QSru/KPFI9iLuslcgD9tsE1QyVnlH+A3DhWQB/BC59zmfEGSyRGNnGQ7UQ7H5WKxyBfGWbtS3kvfxJyVtwfdTLpy7hR9A85mEPE+2idtSlADsDXCNPu6tylm3jIOl98lwdN+QbTDcW1dX3LvFpC/hGtB0oxdQnxeryA+oamKYD3D6PZNhIgb31H8VtYf6dG55on3hq81xwZPqwy4OSTox4FpZYgzDlynC8s3SyCDfDf1e9RcxDyjWEBRf3F/dj11pqtXkpIn0nY/o7Oo/BSLwwtGwN3PRZmTC/kYjKZs2LMs26DFahxKAbztD0FCG6sAUPnWUutnprzaD+F+R4EdMHY3zS6CPFxXn1CbHyOE1qNFLhc6RRD/GUKEGJ8tiJnfrNh2Go5ewndF5j1J8jCBG4Gc0mtY/lVFJg/bBI7krxQtscape5DwmYDK28xlAyYKOlUlYjY3wL1g+CQoI6h1q6thd7KgY0dxVUQPelEpzk+mVPudBnfP2HjeKUX+O9h87MRubKH+M4l/8VDN9DBRcxdw6KEbM7fbth8MRJXAQwPNw5Qdb8cHC/BI9s0Tg4DEOntVDrW3lifh/S+DAHM3qm44rojj3vjPi/I3C0xTsc1G6EY9A2PbN1UvQ+np3ANqDIgbxwfjLcTuHZs5djDKOmvjnGWHgD4n3wocrqWpjBzbqQtpogxtWoPSOoDKDdM6vki+ousbK8Ldea/HzOAJlj+E2AAkKJgt+Zq9g4AAAAASUVORK5CYII=" mode="aspectFit" style="height: 36rpx;width:64rpx;"></image>
|
||||||
|
|
||||||
<view class="desc">
|
<view class="desc">
|
||||||
{{data.APPLYSHOP_NAME||'-'}}
|
{{data.APPLYSHOP_NAME||'-'}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="title-row">
|
<view class="title-row">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
@ -51,7 +51,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="desc" v-if="personImges && personImges.length>0">
|
<view class="desc" v-if="personImges && personImges.length>0">
|
||||||
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABSCAMAAADEi7K1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAHCUExURUdwTFKb5IW8/4W8/1ag4lWe21WZ3YS8/1eg5Feh5IW8/4O6/4W6/4W8/4S8/////4W8/4S8/4W8/4W8/4O9/4S8/4W8/1Cf34W8/4e9/4W8/4S8/4W7/4W5/4W8/4S7/1Wf34W9/4W8/4W8/4e//4S9/4a7/4a7/5K2/4W8/4W8/4a8/4W4/6qq/4W8/02Z5oW8/1yl52Wp7FWi4IW8/////1Ke4LPV//D3/8Le/+nz/2ir7Vuk5rvZ/4zA/+Xx/4a9/4i+//7+//3+/4/C/6rQ/9Xo/93s/+rz/5LD//r8/5bF/4e9/+bx/+Du/+/2//X6/9Pn/5DC/57K/8jh//v9//n8/8zj/22u8Pz9//j7/3i098ni/5zJ/5/K/5rH/8nh/4u///b6/4G5/I3A/2qs7tDl/+v0/6HL/1uj5W+v8c7k/83k/8/k/6LM/+z1/6XN/+Hv/+31/9Tn/7DU/4q//12k52Cm6Xm1+LfY/8bf/5PE//L4/1Oe4HKx9LHU/9rr/5HD/6vR/2Kn6mut79bp/6fP/67S/9jp/3y2+a/T/8Ld/9/u/63S/4/B/8Pe/9/t/5nH/+jy//T5/7DT/9nq/6g8kSsAAAA0dFJOUwAc8ZjvFQ+g6N/eJUP5nAH3bsWfI1faEMJG1onbLME8GMT4RSQ6pnwH7MN2GQO2Cv22uCHmQd0iAAACIElEQVRYw+3Y+VPTQBQH8GBVqBZBBG/k8kRRxJeAgpC2FAoW0BZBvDhUQDkUlENBReS+Bf1/3TTSNpltunm7P3TGfn96M7vzmWQ2u9l5kqTF5TiZDawpv31LipfcC2ArNc7DcaRLB8AmpcSxjtqVCEW3sooAQVGtEkBRNOsYkqJYR7CU4jxlojLRlJJxyEgBnjJbPJTJ4qKMFh9lsBDUpEK3ENRPxWAVclBvDJRyMA1PTSt0C0HBW7qFoZ4pVAtDwROqhaLg3VeKhaNgdcps3cFSAK++LVTHpgJPmZOeopKG+rRRZZ33/Q/YqBE5cToGWSifzJK2AAO1yETJowxUCxv1nYG692+u9/nml674VKUN6jOp18RQblKrzUKoIKl7vUKohgCow2JeUG5rGJAFUdbhpVqHRFF1tfBIDOV/TT6PjyKo8XptWF3hp6qa9HH3HC81Gznt3I0IyhMtH3ZHZ0yM2aZamxr3y6cvYqfct0uRpVfX9Qdrfgk8FJFIlvpI+fgD8FC6BDBTJ3t9wEPtS2TBOpeBh2qptfp72qH89SCKspZsUZB01A6ZF7KmtENrnoHa1nZc+12L/NG25w8GamuP5WjvYboU/dpNCHnaVcZbX+h3pWV8wdS1NkX919QJTCuMnnOYBh09xzFtQ3rypTOCpLOSlJUjhspDNX5puRxu8BQIsG5e1ftOF09zQtlXyiJdOpfjfDHWuVZ6/UYY+Qv6cKIzp0aufwAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 42rpx;width:37rpx;" @click="priviewImages(1)" />
|
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABSCAMAAADEi7K1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAHCUExURUdwTFKb5IW8/4W8/1ag4lWe21WZ3YS8/1eg5Feh5IW8/4O6/4W6/4W8/4S8/////4W8/4S8/4W8/4W8/4O9/4S8/4W8/1Cf34W8/4e9/4W8/4S8/4W7/4W5/4W8/4S7/1Wf34W9/4W8/4W8/4e//4S9/4a7/4a7/5K2/4W8/4W8/4a8/4W4/6qq/4W8/02Z5oW8/1yl52Wp7FWi4IW8/////1Ke4LPV//D3/8Le/+nz/2ir7Vuk5rvZ/4zA/+Xx/4a9/4i+//7+//3+/4/C/6rQ/9Xo/93s/+rz/5LD//r8/5bF/4e9/+bx/+Du/+/2//X6/9Pn/5DC/57K/8jh//v9//n8/8zj/22u8Pz9//j7/3i098ni/5zJ/5/K/5rH/8nh/4u///b6/4G5/I3A/2qs7tDl/+v0/6HL/1uj5W+v8c7k/83k/8/k/6LM/+z1/6XN/+Hv/+31/9Tn/7DU/4q//12k52Cm6Xm1+LfY/8bf/5PE//L4/1Oe4HKx9LHU/9rr/5HD/6vR/2Kn6mut79bp/6fP/67S/9jp/3y2+a/T/8Ld/9/u/63S/4/B/8Pe/9/t/5nH/+jy//T5/7DT/9nq/6g8kSsAAAA0dFJOUwAc8ZjvFQ+g6N/eJUP5nAH3bsWfI1faEMJG1onbLME8GMT4RSQ6pnwH7MN2GQO2Cv22uCHmQd0iAAACIElEQVRYw+3Y+VPTQBQH8GBVqBZBBG/k8kRRxJeAgpC2FAoW0BZBvDhUQDkUlENBReS+Bf1/3TTSNpltunm7P3TGfn96M7vzmWQ2u9l5kqTF5TiZDawpv31LipfcC2ArNc7DcaRLB8AmpcSxjtqVCEW3sooAQVGtEkBRNOsYkqJYR7CU4jxlojLRlJJxyEgBnjJbPJTJ4qKMFh9lsBDUpEK3ENRPxWAVclBvDJRyMA1PTSt0C0HBW7qFoZ4pVAtDwROqhaLg3VeKhaNgdcps3cFSAK++LVTHpgJPmZOeopKG+rRRZZ33/Q/YqBE5cToGWSifzJK2AAO1yETJowxUCxv1nYG692+u9/nml674VKUN6jOp18RQblKrzUKoIKl7vUKohgCow2JeUG5rGJAFUdbhpVqHRFF1tfBIDOV/TT6PjyKo8XptWF3hp6qa9HH3HC81Gznt3I0IyhMtH3ZHZ0yM2aZamxr3y6cvYqfct0uRpVfX9Qdrfgk8FJFIlvpI+fgD8FC6BDBTJ3t9wEPtS2TBOpeBh2qptfp72qH89SCKspZsUZB01A6ZF7KmtENrnoHa1nZc+12L/NG25w8GamuP5WjvYboU/dpNCHnaVcZbX+h3pWV8wdS1NkX919QJTCuMnnOYBh09xzFtQ3rypTOCpLOSlJUjhspDNX5puRxu8BQIsG5e1ftOF09zQtlXyiJdOpfjfDHWuVZ6/UYY+Qv6cKIzp0aufwAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 42rpx;width:37rpx;" @click="priviewImages(1)" />
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="row">
|
<view class="row">
|
||||||
@ -68,21 +68,21 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="desc">
|
<view class="desc">
|
||||||
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABSCAMAAADEi7K1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAHCUExURUdwTFKb5IW8/4W8/1ag4lWe21WZ3YS8/1eg5Feh5IW8/4O6/4W6/4W8/4S8/////4W8/4S8/4W8/4W8/4O9/4S8/4W8/1Cf34W8/4e9/4W8/4S8/4W7/4W5/4W8/4S7/1Wf34W9/4W8/4W8/4e//4S9/4a7/4a7/5K2/4W8/4W8/4a8/4W4/6qq/4W8/02Z5oW8/1yl52Wp7FWi4IW8/////1Ke4LPV//D3/8Le/+nz/2ir7Vuk5rvZ/4zA/+Xx/4a9/4i+//7+//3+/4/C/6rQ/9Xo/93s/+rz/5LD//r8/5bF/4e9/+bx/+Du/+/2//X6/9Pn/5DC/57K/8jh//v9//n8/8zj/22u8Pz9//j7/3i098ni/5zJ/5/K/5rH/8nh/4u///b6/4G5/I3A/2qs7tDl/+v0/6HL/1uj5W+v8c7k/83k/8/k/6LM/+z1/6XN/+Hv/+31/9Tn/7DU/4q//12k52Cm6Xm1+LfY/8bf/5PE//L4/1Oe4HKx9LHU/9rr/5HD/6vR/2Kn6mut79bp/6fP/67S/9jp/3y2+a/T/8Ld/9/u/63S/4/B/8Pe/9/t/5nH/+jy//T5/7DT/9nq/6g8kSsAAAA0dFJOUwAc8ZjvFQ+g6N/eJUP5nAH3bsWfI1faEMJG1onbLME8GMT4RSQ6pnwH7MN2GQO2Cv22uCHmQd0iAAACIElEQVRYw+3Y+VPTQBQH8GBVqBZBBG/k8kRRxJeAgpC2FAoW0BZBvDhUQDkUlENBReS+Bf1/3TTSNpltunm7P3TGfn96M7vzmWQ2u9l5kqTF5TiZDawpv31LipfcC2ArNc7DcaRLB8AmpcSxjtqVCEW3sooAQVGtEkBRNOsYkqJYR7CU4jxlojLRlJJxyEgBnjJbPJTJ4qKMFh9lsBDUpEK3ENRPxWAVclBvDJRyMA1PTSt0C0HBW7qFoZ4pVAtDwROqhaLg3VeKhaNgdcps3cFSAK++LVTHpgJPmZOeopKG+rRRZZ33/Q/YqBE5cToGWSifzJK2AAO1yETJowxUCxv1nYG692+u9/nml674VKUN6jOp18RQblKrzUKoIKl7vUKohgCow2JeUG5rGJAFUdbhpVqHRFF1tfBIDOV/TT6PjyKo8XptWF3hp6qa9HH3HC81Gznt3I0IyhMtH3ZHZ0yM2aZamxr3y6cvYqfct0uRpVfX9Qdrfgk8FJFIlvpI+fgD8FC6BDBTJ3t9wEPtS2TBOpeBh2qptfp72qH89SCKspZsUZB01A6ZF7KmtENrnoHa1nZc+12L/NG25w8GamuP5WjvYboU/dpNCHnaVcZbX+h3pWV8wdS1NkX919QJTCuMnnOYBh09xzFtQ3rypTOCpLOSlJUjhspDNX5puRxu8BQIsG5e1ftOF09zQtlXyiJdOpfjfDHWuVZ6/UYY+Qv6cKIzp0aufwAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 42rpx;width:37rpx;" @click="priviewImages(2)" />
|
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABSCAMAAADEi7K1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAHCUExURUdwTFKb5IW8/4W8/1ag4lWe21WZ3YS8/1eg5Feh5IW8/4O6/4W6/4W8/4S8/////4W8/4S8/4W8/4W8/4O9/4S8/4W8/1Cf34W8/4e9/4W8/4S8/4W7/4W5/4W8/4S7/1Wf34W9/4W8/4W8/4e//4S9/4a7/4a7/5K2/4W8/4W8/4a8/4W4/6qq/4W8/02Z5oW8/1yl52Wp7FWi4IW8/////1Ke4LPV//D3/8Le/+nz/2ir7Vuk5rvZ/4zA/+Xx/4a9/4i+//7+//3+/4/C/6rQ/9Xo/93s/+rz/5LD//r8/5bF/4e9/+bx/+Du/+/2//X6/9Pn/5DC/57K/8jh//v9//n8/8zj/22u8Pz9//j7/3i098ni/5zJ/5/K/5rH/8nh/4u///b6/4G5/I3A/2qs7tDl/+v0/6HL/1uj5W+v8c7k/83k/8/k/6LM/+z1/6XN/+Hv/+31/9Tn/7DU/4q//12k52Cm6Xm1+LfY/8bf/5PE//L4/1Oe4HKx9LHU/9rr/5HD/6vR/2Kn6mut79bp/6fP/67S/9jp/3y2+a/T/8Ld/9/u/63S/4/B/8Pe/9/t/5nH/+jy//T5/7DT/9nq/6g8kSsAAAA0dFJOUwAc8ZjvFQ+g6N/eJUP5nAH3bsWfI1faEMJG1onbLME8GMT4RSQ6pnwH7MN2GQO2Cv22uCHmQd0iAAACIElEQVRYw+3Y+VPTQBQH8GBVqBZBBG/k8kRRxJeAgpC2FAoW0BZBvDhUQDkUlENBReS+Bf1/3TTSNpltunm7P3TGfn96M7vzmWQ2u9l5kqTF5TiZDawpv31LipfcC2ArNc7DcaRLB8AmpcSxjtqVCEW3sooAQVGtEkBRNOsYkqJYR7CU4jxlojLRlJJxyEgBnjJbPJTJ4qKMFh9lsBDUpEK3ENRPxWAVclBvDJRyMA1PTSt0C0HBW7qFoZ4pVAtDwROqhaLg3VeKhaNgdcps3cFSAK++LVTHpgJPmZOeopKG+rRRZZ33/Q/YqBE5cToGWSifzJK2AAO1yETJowxUCxv1nYG692+u9/nml674VKUN6jOp18RQblKrzUKoIKl7vUKohgCow2JeUG5rGJAFUdbhpVqHRFF1tfBIDOV/TT6PjyKo8XptWF3hp6qa9HH3HC81Gznt3I0IyhMtH3ZHZ0yM2aZamxr3y6cvYqfct0uRpVfX9Qdrfgk8FJFIlvpI+fgD8FC6BDBTJ3t9wEPtS2TBOpeBh2qptfp72qH89SCKspZsUZB01A6ZF7KmtENrnoHa1nZc+12L/NG25w8GamuP5WjvYboU/dpNCHnaVcZbX+h3pWV8wdS1NkX919QJTCuMnnOYBh09xzFtQ3rypTOCpLOSlJUjhspDNX5puRxu8BQIsG5e1ftOF09zQtlXyiJdOpfjfDHWuVZ6/UYY+Qv6cKIzp0aufwAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 42rpx;width:37rpx;" @click="priviewImages(2)" />
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="row jc-between" style="padding-top: 0;">
|
<view class="row jc-between" style="padding-top: 0;">
|
||||||
<view style="color: #2f93e7;">审批意见</view>
|
<view style="color: #2f93e7;">审批意见</view>
|
||||||
<text v-if="data.APPOVED_DATE" class="item-title">{{$util.cutDate( data.APPOVED_DATE,'YYYY/MM/DD hh:ss')}}</text>
|
<text v-if="data.APPOVED_DATE" class="item-title">{{$util.cutDate( data.APPOVED_DATE,'YYYY/MM/DD hh:ss')}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="approved-reason">
|
<view class="approved-reason">
|
||||||
<view class="desc">
|
<view class="desc">
|
||||||
<textarea
|
<textarea
|
||||||
:value="approvalReason"
|
:value="approvalReason"
|
||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
placeholder-style="color:#969EA4;line-height:2;padding-top:10rpx;"
|
placeholder-style="color:#969EA4;line-height:2;padding-top:10rpx;"
|
||||||
auto-height
|
auto-height
|
||||||
@blur="changeReason"
|
@blur="changeReason"
|
||||||
@ -126,7 +126,7 @@
|
|||||||
<view class="row">
|
<view class="row">
|
||||||
<!-- 服务区 -->
|
<!-- 服务区 -->
|
||||||
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTkxNUE3MkRDNURDMTFFQzlBOEFDQUQwNEEzNEE3MjAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTkxNUE3MkNDNURDMTFFQzlBOEFDQUQwNEEzNEE3MjAiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7WAcXUAAACkklEQVR42uyWW4iNURTHz2Eil2JM0aSJJJcHJZfCg1Au8TAPyiUaYiLKTELJXWYoeXCJIgkZyYNBichlHlCEEg+SmkzMuKQRcYQ5frv+R8v2nXO+5pyjKd+qX2fv/e3v2/+z99prrXgymYx1JOsU62AWCYoERYIKbUWpRuXJ5mwByT1/Aw/hLNQdrSj9wXvu2VA4DK2wAx6EWHssbIXtfOd+ajCeCowhBPl2B2bAJ5gENzX+CsZAS4Z3l8AGuK3+NUSd+mOHjJ2A4wHjPWAwrIQhMAFqocqb1x/qJfKb96wL7IVFcAC6wU+YBWkFNaL2Vrq/xk46sfckahlshqfQBGWaNg6OaGFro2GF2jPhEiyEKe12asR+5Oegul3lC++gHL6YqRWwxnu9l2mPgPVwkW8+z/WWvTDtPvp9pH9rbbf8LGZ2xdpLqMnHtS8z7fem7Xxno/f9MzAMZsMqjV+B6e7Y2Z3mnAThQz2NIyfkT9Z2wWnvmC7AcPXrtFNXA5w+0Kl7s+jAgPG+cspqxZ2YfOlzQLxaqvkJHZm7ABN1hNs0J3NgNFYtspmLIZvSPHNCpkKxRFSq/wS+5jN1JBQQl8Nkzj+RYW5n+c8cc6yrYXGo1GFsn4KXb+5Kf3DpIqR450vTTLB1F6FUKeYZ3A0rqJVFG3PMkfNgndr74ZCC5w1F63rFr6Z/ke1HwjHjZ2vVbnCJVO1+cB66F1pQiRZyOeqt/Oe7eV6rXXI2ygnnRscLJahIZckAaIP58Nqb4xLpApUxzuYq6xdE0B6TJLeYnfCtRaLa1K9hl8rzLWi8iV2XYWeW+ddVyP3O2UG3rCFVfrRD0GPVUMUqvsIUe07QIFUJ5/6qGKMiPxIUCfpfBP0SYADhDaNPYUPNhAAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 36rpx;width:64rpx"></image>
|
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTkxNUE3MkRDNURDMTFFQzlBOEFDQUQwNEEzNEE3MjAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTkxNUE3MkNDNURDMTFFQzlBOEFDQUQwNEEzNEE3MjAiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7WAcXUAAACkklEQVR42uyWW4iNURTHz2Eil2JM0aSJJJcHJZfCg1Au8TAPyiUaYiLKTELJXWYoeXCJIgkZyYNBichlHlCEEg+SmkzMuKQRcYQ5frv+R8v2nXO+5pyjKd+qX2fv/e3v2/+z99prrXgymYx1JOsU62AWCYoERYIKbUWpRuXJ5mwByT1/Aw/hLNQdrSj9wXvu2VA4DK2wAx6EWHssbIXtfOd+ajCeCowhBPl2B2bAJ5gENzX+CsZAS4Z3l8AGuK3+NUSd+mOHjJ2A4wHjPWAwrIQhMAFqocqb1x/qJfKb96wL7IVFcAC6wU+YBWkFNaL2Vrq/xk46sfckahlshqfQBGWaNg6OaGFro2GF2jPhEiyEKe12asR+5Oegul3lC++gHL6YqRWwxnu9l2mPgPVwkW8+z/WWvTDtPvp9pH9rbbf8LGZ2xdpLqMnHtS8z7fem7Xxno/f9MzAMZsMqjV+B6e7Y2Z3mnAThQz2NIyfkT9Z2wWnvmC7AcPXrtFNXA5w+0Kl7s+jAgPG+cspqxZ2YfOlzQLxaqvkJHZm7ABN1hNs0J3NgNFYtspmLIZvSPHNCpkKxRFSq/wS+5jN1JBQQl8Nkzj+RYW5n+c8cc6yrYXGo1GFsn4KXb+5Kf3DpIqR450vTTLB1F6FUKeYZ3A0rqJVFG3PMkfNgndr74ZCC5w1F63rFr6Z/ke1HwjHjZ2vVbnCJVO1+cB66F1pQiRZyOeqt/Oe7eV6rXXI2ygnnRscLJahIZckAaIP58Nqb4xLpApUxzuYq6xdE0B6TJLeYnfCtRaLa1K9hl8rzLWi8iV2XYWeW+ddVyP3O2UG3rCFVfrRD0GPVUMUqvsIUe07QIFUJ5/6qGKMiPxIUCfpfBP0SYADhDaNPYUPNhAAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 36rpx;width:64rpx"></image>
|
||||||
|
|
||||||
<view class="desc">
|
<view class="desc">
|
||||||
{{data.SERVERPART_NAME ||'-'}}
|
{{data.SERVERPART_NAME ||'-'}}
|
||||||
</view>
|
</view>
|
||||||
@ -134,16 +134,16 @@
|
|||||||
<view class="row">
|
<view class="row">
|
||||||
<!-- 门店 -->
|
<!-- 门店 -->
|
||||||
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk2MDIzMEJDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk2MDIzMEFDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7qjobvAAAD/klEQVR42uxYXYhVVRRea59z7rm3rqPTHUoFE0nRMMp5aCJ0EitJUhPsDxkHKYgeAhMEKcyXqEgKisinRDBGbBApGEXFGsoZ8KEgHxPJBxEx5RpCc5o75+y1+vaod+69Z+6M84vQbGbftX/WPuvba639nX2GVZXupWLoHiszgEYr/p3Ga0eIjrxKtOFQkVTcCHJLgZeVlJkMxhJi8iWhAY2x0qOBrMnn+83H0HkdiiEUT4kNd3AmuWolpsAzZPEM/OKZQtai7QkZhVmXu+6hmBW0j7cXqgGNozyYL5mTwNgMMLdGAMz4pRYl73n0Lk5nyBZk2D8D2Zye0kUsSQ8aS6cL0JIgCEczON8n/gVy+VQDepx8cwYBWngXug+ppZ8hV0wVoKd9I87A3Jrx7xOmFkmkGWnaURO+JiPSjUbLZANaq0ZOQzZW26NP8bsZ9VfUc6jtALW7BlQjCbm1rZMFaLNR6WLi+4dw4E90Vy5beN+dMM+dYJ8dQ1Dfn4VPROVdqEnFMxqgdwLyuYkCehMU1EkMjikXtsz8di7X9Bk6HuqHqFdQr6PudVQS2b6vVPgtp1tehQ2BurrQXDdeQDvBYPsruQr8FZPYtn9u2m/QzfxbKn6H0T1I8nkw2QSru/KPFI9iLuslcgD9tsE1QyVnlH+A3DhWQB/BC59zmfEGSyRGNnGQ7UQ7H5WKxyBfGWbtS3kvfxJyVtwfdTLpy7hR9A85mEPE+2idtSlADsDXCNPu6tylm3jIOl98lwdN+QbTDcW1dX3LvFpC/hGtB0oxdQnxeryA+oamKYD3D6PZNhIgb31H8VtYf6dG55on3hq81xwZPqwy4OSTox4FpZYgzDlynC8s3SyCDfDf1e9RcxDyjWEBRf3F/dj11pqtXkpIn0nY/o7Oo/BSLwwtGwN3PRZmTC/kYjKZs2LMs26DFahxKAbztD0FCG6sAUPnWUutnprzaD+F+R4EdMHY3zS6CPFxXn1CbHyOE1qNFLhc6RRD/GUKEGJ8tiJnfrNh2Go5ewndF5j1J8jCBG4Gc0mtY/lVFJg/bBI7krxQtscape5DwmYDK28xlAyYKOlUlYjY3wL1g+CQoI6h1q6thd7KgY0dxVUQPelEpzk+mVPudBnfP2HjeKUX+O9h87MRubKH+M4l/8VDN9DBRcxdw6KEbM7fbth8MRJXAQwPNw5Qdb8cHC/BI9s0Tg4DEOntVDrW3lifh/S+DAHM3qm44rojj3vjPi/I3C0xTsc1G6EY9A2PbN1UvQ+np3ANqDIgbxwfjLcTuHZs5djDKOmvjnGWHgD4n3wocrqWpjBzbqQtpogxtWoPSOoDKDdM6vki+ousbK8Ldea/HzOAJlj+E2AAkKJgt+Zq9g4AAAAASUVORK5CYII=" mode="aspectFit" style="height: 36rpx;width:64rpx;" />
|
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk2MDIzMEJDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk2MDIzMEFDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7qjobvAAAD/klEQVR42uxYXYhVVRRea59z7rm3rqPTHUoFE0nRMMp5aCJ0EitJUhPsDxkHKYgeAhMEKcyXqEgKisinRDBGbBApGEXFGsoZ8KEgHxPJBxEx5RpCc5o75+y1+vaod+69Z+6M84vQbGbftX/WPuvba639nX2GVZXupWLoHiszgEYr/p3Ga0eIjrxKtOFQkVTcCHJLgZeVlJkMxhJi8iWhAY2x0qOBrMnn+83H0HkdiiEUT4kNd3AmuWolpsAzZPEM/OKZQtai7QkZhVmXu+6hmBW0j7cXqgGNozyYL5mTwNgMMLdGAMz4pRYl73n0Lk5nyBZk2D8D2Zye0kUsSQ8aS6cL0JIgCEczON8n/gVy+VQDepx8cwYBWngXug+ppZ8hV0wVoKd9I87A3Jrx7xOmFkmkGWnaURO+JiPSjUbLZANaq0ZOQzZW26NP8bsZ9VfUc6jtALW7BlQjCbm1rZMFaLNR6WLi+4dw4E90Vy5beN+dMM+dYJ8dQ1Dfn4VPROVdqEnFMxqgdwLyuYkCehMU1EkMjikXtsz8di7X9Bk6HuqHqFdQr6PudVQS2b6vVPgtp1tehQ2BurrQXDdeQDvBYPsruQr8FZPYtn9u2m/QzfxbKn6H0T1I8nkw2QSru/KPFI9iLuslcgD9tsE1QyVnlH+A3DhWQB/BC59zmfEGSyRGNnGQ7UQ7H5WKxyBfGWbtS3kvfxJyVtwfdTLpy7hR9A85mEPE+2idtSlADsDXCNPu6tylm3jIOl98lwdN+QbTDcW1dX3LvFpC/hGtB0oxdQnxeryA+oamKYD3D6PZNhIgb31H8VtYf6dG55on3hq81xwZPqwy4OSTox4FpZYgzDlynC8s3SyCDfDf1e9RcxDyjWEBRf3F/dj11pqtXkpIn0nY/o7Oo/BSLwwtGwN3PRZmTC/kYjKZs2LMs26DFahxKAbztD0FCG6sAUPnWUutnprzaD+F+R4EdMHY3zS6CPFxXn1CbHyOE1qNFLhc6RRD/GUKEGJ8tiJnfrNh2Go5ewndF5j1J8jCBG4Gc0mtY/lVFJg/bBI7krxQtscape5DwmYDK28xlAyYKOlUlYjY3wL1g+CQoI6h1q6thd7KgY0dxVUQPelEpzk+mVPudBnfP2HjeKUX+O9h87MRubKH+M4l/8VDN9DBRcxdw6KEbM7fbth8MRJXAQwPNw5Qdb8cHC/BI9s0Tg4DEOntVDrW3lifh/S+DAHM3qm44rojj3vjPi/I3C0xTsc1G6EY9A2PbN1UvQ+np3ANqDIgbxwfjLcTuHZs5djDKOmvjnGWHgD4n3wocrqWpjBzbqQtpogxtWoPSOoDKDdM6vki+ousbK8Ldea/HzOAJlj+E2AAkKJgt+Zq9g4AAAAASUVORK5CYII=" mode="aspectFit" style="height: 36rpx;width:64rpx;" />
|
||||||
|
|
||||||
<view class="desc">
|
<view class="desc">
|
||||||
{{data.APPLYSHOP_NAME||'-'}}
|
{{data.APPLYSHOP_NAME||'-'}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="uni-flex jc-between" style="padding:24rpx 28rpx;line-height: 3.4;">
|
<view class="uni-flex jc-between" style="padding:24rpx 28rpx;line-height: 3.4;">
|
||||||
<view class="title">门店授权</view>
|
<view class="title">门店授权</view>
|
||||||
<view>
|
<view>
|
||||||
<span v-if="selectShopids.length">
|
<span v-if="selectShopids.length">
|
||||||
已选
|
已选
|
||||||
<span style="color: #007AFF;">{{selectShopids.length}}</span>
|
<span style="color: #007AFF;">{{selectShopids.length}}</span>
|
||||||
@ -151,13 +151,13 @@
|
|||||||
</span>
|
</span>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<ShopList :data="shops" @changeValues="changeValues"/>
|
<ShopList :data="shops" @changeValues="changeValues"/>
|
||||||
<view class="button-box" >
|
<view class="button-box" >
|
||||||
<span @click="showPopupBottom=false" ><image src="@/static/images/cy-btn.png" mode="aspectFit"></image> 返回</span>
|
<span @click="showPopupBottom=false" ><image src="https://eshangtech.com/ShopICO/ahyd-BID/cy-btn.png" mode="aspectFit"></image> 返回</span>
|
||||||
<span @click="savaShops"><image src="@/static/images/sh-btn.png" mode="aspectFit"></image>确认授权</span>
|
<span @click="savaShops"><image src="@/static/images/sh-btn.png" mode="aspectFit"></image>确认授权</span>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -170,13 +170,13 @@
|
|||||||
props: {
|
props: {
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
|
||||||
},
|
},
|
||||||
businessId: {
|
businessId: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
approvalData:{ // 审核通过时,被授权的门店数据
|
approvalData:{ // 审核通过时,被授权的门店数据
|
||||||
type: Object,
|
type: Object,
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
@ -229,7 +229,7 @@
|
|||||||
changeValues(values){
|
changeValues(values){
|
||||||
let list = [] // this.selectShopids
|
let list = [] // this.selectShopids
|
||||||
let _this =this
|
let _this =this
|
||||||
|
|
||||||
if(values.length){
|
if(values.length){
|
||||||
_this.shops.forEach(n=>{
|
_this.shops.forEach(n=>{
|
||||||
const serverpartShop = values.filter(m=> m.split('-')[0]==n.node.value )
|
const serverpartShop = values.filter(m=> m.split('-')[0]==n.node.value )
|
||||||
@ -269,16 +269,16 @@
|
|||||||
ProvinceCode: data.OWNERUNIT_ID,
|
ProvinceCode: data.OWNERUNIT_ID,
|
||||||
ServerpartId: data.SERVERPART_IDS
|
ServerpartId: data.SERVERPART_IDS
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
if(res.Result_Code!==100) return
|
if(res.Result_Code!==100) return
|
||||||
_this.shops = res.Result_Data.List
|
_this.shops = res.Result_Data.List
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
savaShops() {
|
savaShops() {
|
||||||
let _this = this
|
let _this = this
|
||||||
|
|
||||||
if(!this.selectShopids.length){
|
if(!this.selectShopids.length){
|
||||||
uni.showToast({ title: '请选择需要授权的门店' ,icon:'none'})
|
uni.showToast({ title: '请选择需要授权的门店' ,icon:'none'})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(_this.isloading) return
|
if(_this.isloading) return
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
@ -313,7 +313,7 @@
|
|||||||
success: function (res) {
|
success: function (res) {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
|
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -322,7 +322,7 @@
|
|||||||
let _this = this
|
let _this = this
|
||||||
if(!this.approvalReason){
|
if(!this.approvalReason){
|
||||||
uni.showToast({ title: '请填写否决意见' ,icon:'none'})
|
uni.showToast({ title: '请填写否决意见' ,icon:'none'})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(_this.isloading) return
|
if(_this.isloading) return
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
@ -357,14 +357,14 @@
|
|||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
// _this.$emit('refresh')
|
// _this.$emit('refresh')
|
||||||
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
|
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -375,8 +375,8 @@
|
|||||||
border-radius: 12rpx;
|
border-radius: 12rpx;
|
||||||
margin: 24rpx 24rpx 24rpx;
|
margin: 24rpx 24rpx 24rpx;
|
||||||
padding: 24rpx;
|
padding: 24rpx;
|
||||||
box-shadow: 0px 4px 12px 0px rgba(225,225,225,0.56);
|
box-shadow: 0px 4px 12px 0px rgba(225,225,225,0.56);
|
||||||
|
|
||||||
.row,.title-row {
|
.row,.title-row {
|
||||||
display flex;
|
display flex;
|
||||||
align-items center
|
align-items center
|
||||||
@ -410,7 +410,7 @@
|
|||||||
padding-top: 0
|
padding-top: 0
|
||||||
padding-bottom: 0
|
padding-bottom: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.row +.row {
|
.row +.row {
|
||||||
padding-top: 0
|
padding-top: 0
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<p class="box-top">
|
<p class="box-top">
|
||||||
<view class="item-title">日期:<text style="color:#333;font-size:24rpx;">{{data.OPERATE_DATE}}</text></view>
|
<view class="item-title">日期:<text style="color:#333;font-size:24rpx;">{{data.OPERATE_DATE}}</text></view>
|
||||||
<text style="color:#F27B4C;font-size:24rpx;">{{stateEmun[data.PERMISSIONAPPLY_STATE]}}</text>
|
<text style="color:#F27B4C;font-size:24rpx;">{{stateEmun[data.PERMISSIONAPPLY_STATE]}}</text>
|
||||||
</p>
|
</p>
|
||||||
<BaseDetail :baseData="data"/>
|
<BaseDetail :baseData="data"/>
|
||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="title-row">
|
<view class="title-row">
|
||||||
@ -20,7 +20,7 @@
|
|||||||
{{data.SERVERPART_NAME ||'-'}}
|
{{data.SERVERPART_NAME ||'-'}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="row"> <!-- 门店 -->
|
<view class="row"> <!-- 门店 -->
|
||||||
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk2MDIzMEJDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk2MDIzMEFDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7qjobvAAAD/klEQVR42uxYXYhVVRRea59z7rm3rqPTHUoFE0nRMMp5aCJ0EitJUhPsDxkHKYgeAhMEKcyXqEgKisinRDBGbBApGEXFGsoZ8KEgHxPJBxEx5RpCc5o75+y1+vaod+69Z+6M84vQbGbftX/WPuvba639nX2GVZXupWLoHiszgEYr/p3Ga0eIjrxKtOFQkVTcCHJLgZeVlJkMxhJi8iWhAY2x0qOBrMnn+83H0HkdiiEUT4kNd3AmuWolpsAzZPEM/OKZQtai7QkZhVmXu+6hmBW0j7cXqgGNozyYL5mTwNgMMLdGAMz4pRYl73n0Lk5nyBZk2D8D2Zye0kUsSQ8aS6cL0JIgCEczON8n/gVy+VQDepx8cwYBWngXug+ppZ8hV0wVoKd9I87A3Jrx7xOmFkmkGWnaURO+JiPSjUbLZANaq0ZOQzZW26NP8bsZ9VfUc6jtALW7BlQjCbm1rZMFaLNR6WLi+4dw4E90Vy5beN+dMM+dYJ8dQ1Dfn4VPROVdqEnFMxqgdwLyuYkCehMU1EkMjikXtsz8di7X9Bk6HuqHqFdQr6PudVQS2b6vVPgtp1tehQ2BurrQXDdeQDvBYPsruQr8FZPYtn9u2m/QzfxbKn6H0T1I8nkw2QSru/KPFI9iLuslcgD9tsE1QyVnlH+A3DhWQB/BC59zmfEGSyRGNnGQ7UQ7H5WKxyBfGWbtS3kvfxJyVtwfdTLpy7hR9A85mEPE+2idtSlADsDXCNPu6tylm3jIOl98lwdN+QbTDcW1dX3LvFpC/hGtB0oxdQnxeryA+oamKYD3D6PZNhIgb31H8VtYf6dG55on3hq81xwZPqwy4OSTox4FpZYgzDlynC8s3SyCDfDf1e9RcxDyjWEBRf3F/dj11pqtXkpIn0nY/o7Oo/BSLwwtGwN3PRZmTC/kYjKZs2LMs26DFahxKAbztD0FCG6sAUPnWUutnprzaD+F+R4EdMHY3zS6CPFxXn1CbHyOE1qNFLhc6RRD/GUKEGJ8tiJnfrNh2Go5ewndF5j1J8jCBG4Gc0mtY/lVFJg/bBI7krxQtscape5DwmYDK28xlAyYKOlUlYjY3wL1g+CQoI6h1q6thd7KgY0dxVUQPelEpzk+mVPudBnfP2HjeKUX+O9h87MRubKH+M4l/8VDN9DBRcxdw6KEbM7fbth8MRJXAQwPNw5Qdb8cHC/BI9s0Tg4DEOntVDrW3lifh/S+DAHM3qm44rojj3vjPi/I3C0xTsc1G6EY9A2PbN1UvQ+np3ANqDIgbxwfjLcTuHZs5djDKOmvjnGWHgD4n3wocrqWpjBzbqQtpogxtWoPSOoDKDdM6vki+ousbK8Ldea/HzOAJlj+E2AAkKJgt+Zq9g4AAAAASUVORK5CYII=" mode="aspectFit" style="height: 36rpx;width:64rpx;" />
|
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAiCAYAAAA3WXuFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk2MDIzMEJDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk2MDIzMEFDNURDMTFFQzlBQjFGOUU3Qzg3QjAwQjUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFBRTY4QkE4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzFBRTY4QkI4ODM0MTFFOTgyRTJFNzExNDAyMDkyOEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7qjobvAAAD/klEQVR42uxYXYhVVRRea59z7rm3rqPTHUoFE0nRMMp5aCJ0EitJUhPsDxkHKYgeAhMEKcyXqEgKisinRDBGbBApGEXFGsoZ8KEgHxPJBxEx5RpCc5o75+y1+vaod+69Z+6M84vQbGbftX/WPuvba639nX2GVZXupWLoHiszgEYr/p3Ga0eIjrxKtOFQkVTcCHJLgZeVlJkMxhJi8iWhAY2x0qOBrMnn+83H0HkdiiEUT4kNd3AmuWolpsAzZPEM/OKZQtai7QkZhVmXu+6hmBW0j7cXqgGNozyYL5mTwNgMMLdGAMz4pRYl73n0Lk5nyBZk2D8D2Zye0kUsSQ8aS6cL0JIgCEczON8n/gVy+VQDepx8cwYBWngXug+ppZ8hV0wVoKd9I87A3Jrx7xOmFkmkGWnaURO+JiPSjUbLZANaq0ZOQzZW26NP8bsZ9VfUc6jtALW7BlQjCbm1rZMFaLNR6WLi+4dw4E90Vy5beN+dMM+dYJ8dQ1Dfn4VPROVdqEnFMxqgdwLyuYkCehMU1EkMjikXtsz8di7X9Bk6HuqHqFdQr6PudVQS2b6vVPgtp1tehQ2BurrQXDdeQDvBYPsruQr8FZPYtn9u2m/QzfxbKn6H0T1I8nkw2QSru/KPFI9iLuslcgD9tsE1QyVnlH+A3DhWQB/BC59zmfEGSyRGNnGQ7UQ7H5WKxyBfGWbtS3kvfxJyVtwfdTLpy7hR9A85mEPE+2idtSlADsDXCNPu6tylm3jIOl98lwdN+QbTDcW1dX3LvFpC/hGtB0oxdQnxeryA+oamKYD3D6PZNhIgb31H8VtYf6dG55on3hq81xwZPqwy4OSTox4FpZYgzDlynC8s3SyCDfDf1e9RcxDyjWEBRf3F/dj11pqtXkpIn0nY/o7Oo/BSLwwtGwN3PRZmTC/kYjKZs2LMs26DFahxKAbztD0FCG6sAUPnWUutnprzaD+F+R4EdMHY3zS6CPFxXn1CbHyOE1qNFLhc6RRD/GUKEGJ8tiJnfrNh2Go5ewndF5j1J8jCBG4Gc0mtY/lVFJg/bBI7krxQtscape5DwmYDK28xlAyYKOlUlYjY3wL1g+CQoI6h1q6thd7KgY0dxVUQPelEpzk+mVPudBnfP2HjeKUX+O9h87MRubKH+M4l/8VDN9DBRcxdw6KEbM7fbth8MRJXAQwPNw5Qdb8cHC/BI9s0Tg4DEOntVDrW3lifh/S+DAHM3qm44rojj3vjPi/I3C0xTsc1G6EY9A2PbN1UvQ+np3ANqDIgbxwfjLcTuHZs5djDKOmvjnGWHgD4n3wocrqWpjBzbqQtpogxtWoPSOoDKDdM6vki+ousbK8Ldea/HzOAJlj+E2AAkKJgt+Zq9g4AAAAASUVORK5CYII=" mode="aspectFit" style="height: 36rpx;width:64rpx;" />
|
||||||
<view class="desc">
|
<view class="desc">
|
||||||
{{data.APPLYSHOP_NAME||'-'}}
|
{{data.APPLYSHOP_NAME||'-'}}
|
||||||
@ -47,7 +47,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="desc" >
|
<view class="desc" >
|
||||||
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABSCAMAAADEi7K1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAHCUExURUdwTFKb5IW8/4W8/1ag4lWe21WZ3YS8/1eg5Feh5IW8/4O6/4W6/4W8/4S8/////4W8/4S8/4W8/4W8/4O9/4S8/4W8/1Cf34W8/4e9/4W8/4S8/4W7/4W5/4W8/4S7/1Wf34W9/4W8/4W8/4e//4S9/4a7/4a7/5K2/4W8/4W8/4a8/4W4/6qq/4W8/02Z5oW8/1yl52Wp7FWi4IW8/////1Ke4LPV//D3/8Le/+nz/2ir7Vuk5rvZ/4zA/+Xx/4a9/4i+//7+//3+/4/C/6rQ/9Xo/93s/+rz/5LD//r8/5bF/4e9/+bx/+Du/+/2//X6/9Pn/5DC/57K/8jh//v9//n8/8zj/22u8Pz9//j7/3i098ni/5zJ/5/K/5rH/8nh/4u///b6/4G5/I3A/2qs7tDl/+v0/6HL/1uj5W+v8c7k/83k/8/k/6LM/+z1/6XN/+Hv/+31/9Tn/7DU/4q//12k52Cm6Xm1+LfY/8bf/5PE//L4/1Oe4HKx9LHU/9rr/5HD/6vR/2Kn6mut79bp/6fP/67S/9jp/3y2+a/T/8Ld/9/u/63S/4/B/8Pe/9/t/5nH/+jy//T5/7DT/9nq/6g8kSsAAAA0dFJOUwAc8ZjvFQ+g6N/eJUP5nAH3bsWfI1faEMJG1onbLME8GMT4RSQ6pnwH7MN2GQO2Cv22uCHmQd0iAAACIElEQVRYw+3Y+VPTQBQH8GBVqBZBBG/k8kRRxJeAgpC2FAoW0BZBvDhUQDkUlENBReS+Bf1/3TTSNpltunm7P3TGfn96M7vzmWQ2u9l5kqTF5TiZDawpv31LipfcC2ArNc7DcaRLB8AmpcSxjtqVCEW3sooAQVGtEkBRNOsYkqJYR7CU4jxlojLRlJJxyEgBnjJbPJTJ4qKMFh9lsBDUpEK3ENRPxWAVclBvDJRyMA1PTSt0C0HBW7qFoZ4pVAtDwROqhaLg3VeKhaNgdcps3cFSAK++LVTHpgJPmZOeopKG+rRRZZ33/Q/YqBE5cToGWSifzJK2AAO1yETJowxUCxv1nYG692+u9/nml674VKUN6jOp18RQblKrzUKoIKl7vUKohgCow2JeUG5rGJAFUdbhpVqHRFF1tfBIDOV/TT6PjyKo8XptWF3hp6qa9HH3HC81Gznt3I0IyhMtH3ZHZ0yM2aZamxr3y6cvYqfct0uRpVfX9Qdrfgk8FJFIlvpI+fgD8FC6BDBTJ3t9wEPtS2TBOpeBh2qptfp72qH89SCKspZsUZB01A6ZF7KmtENrnoHa1nZc+12L/NG25w8GamuP5WjvYboU/dpNCHnaVcZbX+h3pWV8wdS1NkX919QJTCuMnnOYBh09xzFtQ3rypTOCpLOSlJUjhspDNX5puRxu8BQIsG5e1ftOF09zQtlXyiJdOpfjfDHWuVZ6/UYY+Qv6cKIzp0aufwAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 42rpx;width:37rpx;" @click="priviewImages(1)" />
|
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABSCAMAAADEi7K1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAHCUExURUdwTFKb5IW8/4W8/1ag4lWe21WZ3YS8/1eg5Feh5IW8/4O6/4W6/4W8/4S8/////4W8/4S8/4W8/4W8/4O9/4S8/4W8/1Cf34W8/4e9/4W8/4S8/4W7/4W5/4W8/4S7/1Wf34W9/4W8/4W8/4e//4S9/4a7/4a7/5K2/4W8/4W8/4a8/4W4/6qq/4W8/02Z5oW8/1yl52Wp7FWi4IW8/////1Ke4LPV//D3/8Le/+nz/2ir7Vuk5rvZ/4zA/+Xx/4a9/4i+//7+//3+/4/C/6rQ/9Xo/93s/+rz/5LD//r8/5bF/4e9/+bx/+Du/+/2//X6/9Pn/5DC/57K/8jh//v9//n8/8zj/22u8Pz9//j7/3i098ni/5zJ/5/K/5rH/8nh/4u///b6/4G5/I3A/2qs7tDl/+v0/6HL/1uj5W+v8c7k/83k/8/k/6LM/+z1/6XN/+Hv/+31/9Tn/7DU/4q//12k52Cm6Xm1+LfY/8bf/5PE//L4/1Oe4HKx9LHU/9rr/5HD/6vR/2Kn6mut79bp/6fP/67S/9jp/3y2+a/T/8Ld/9/u/63S/4/B/8Pe/9/t/5nH/+jy//T5/7DT/9nq/6g8kSsAAAA0dFJOUwAc8ZjvFQ+g6N/eJUP5nAH3bsWfI1faEMJG1onbLME8GMT4RSQ6pnwH7MN2GQO2Cv22uCHmQd0iAAACIElEQVRYw+3Y+VPTQBQH8GBVqBZBBG/k8kRRxJeAgpC2FAoW0BZBvDhUQDkUlENBReS+Bf1/3TTSNpltunm7P3TGfn96M7vzmWQ2u9l5kqTF5TiZDawpv31LipfcC2ArNc7DcaRLB8AmpcSxjtqVCEW3sooAQVGtEkBRNOsYkqJYR7CU4jxlojLRlJJxyEgBnjJbPJTJ4qKMFh9lsBDUpEK3ENRPxWAVclBvDJRyMA1PTSt0C0HBW7qFoZ4pVAtDwROqhaLg3VeKhaNgdcps3cFSAK++LVTHpgJPmZOeopKG+rRRZZ33/Q/YqBE5cToGWSifzJK2AAO1yETJowxUCxv1nYG692+u9/nml674VKUN6jOp18RQblKrzUKoIKl7vUKohgCow2JeUG5rGJAFUdbhpVqHRFF1tfBIDOV/TT6PjyKo8XptWF3hp6qa9HH3HC81Gznt3I0IyhMtH3ZHZ0yM2aZamxr3y6cvYqfct0uRpVfX9Qdrfgk8FJFIlvpI+fgD8FC6BDBTJ3t9wEPtS2TBOpeBh2qptfp72qH89SCKspZsUZB01A6ZF7KmtENrnoHa1nZc+12L/NG25w8GamuP5WjvYboU/dpNCHnaVcZbX+h3pWV8wdS1NkX919QJTCuMnnOYBh09xzFtQ3rypTOCpLOSlJUjhspDNX5puRxu8BQIsG5e1ftOF09zQtlXyiJdOpfjfDHWuVZ6/UYY+Qv6cKIzp0aufwAAAABJRU5ErkJggg==" mode="aspectFit" style="height: 42rpx;width:37rpx;" @click="priviewImages(1)" />
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="row">
|
<view class="row">
|
||||||
@ -69,14 +69,14 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="row jc-between" style="padding-top: 0;">
|
<view class="row jc-between" style="padding-top: 0;">
|
||||||
<view style="color: #2f93e7;">审批意见</view>
|
<view style="color: #2f93e7;">审批意见</view>
|
||||||
<text v-if="data.APPOVED_DATE" style="color:#878F94">{{$util.cutDate( data.APPOVED_DATE,'YYYY/MM/DD hh:ss')}}</text>
|
<text v-if="data.APPOVED_DATE" style="color:#878F94">{{$util.cutDate( data.APPOVED_DATE,'YYYY/MM/DD hh:ss')}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="approved-reason">
|
<view class="approved-reason">
|
||||||
<view class="desc">
|
<view class="desc">
|
||||||
<textarea
|
<textarea
|
||||||
:value="approvalReason"
|
:value="approvalReason"
|
||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
placeholder-style="color:#969EA4;line-height:2;padding-top:10rpx;"
|
placeholder-style="color:#969EA4;line-height:2;padding-top:10rpx;"
|
||||||
auto-height
|
auto-height
|
||||||
@blur="changeReason"
|
@blur="changeReason"
|
||||||
@ -113,7 +113,7 @@
|
|||||||
</view> -->
|
</view> -->
|
||||||
<view class="uni-flex jc-between" style="padding:24rpx 28rpx;line-height: 3.4;">
|
<view class="uni-flex jc-between" style="padding:24rpx 28rpx;line-height: 3.4;">
|
||||||
<view class="title">门店授权</view>
|
<view class="title">门店授权</view>
|
||||||
<view>
|
<view>
|
||||||
<span v-if="selectShopids.length">
|
<span v-if="selectShopids.length">
|
||||||
已选
|
已选
|
||||||
<span style="color: #007AFF;">{{selectShopids.length}}</span>
|
<span style="color: #007AFF;">{{selectShopids.length}}</span>
|
||||||
@ -121,13 +121,13 @@
|
|||||||
</span>
|
</span>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<ShopList :data="shops" @changeValues="changeValues"/>
|
<ShopList :data="shops" @changeValues="changeValues"/>
|
||||||
<view class="button-box" >
|
<view class="button-box" >
|
||||||
<span @click="showPopupBottom=false" ><image src="@/static/images/cy-btn.png" mode="aspectFit"></image> 返回</span>
|
<span @click="showPopupBottom=false" ><image src="https://eshangtech.com/ShopICO/ahyd-BID/cy-btn.png" mode="aspectFit"></image> 返回</span>
|
||||||
<span @click="savaShops"><image src="@/static/images/sh-btn.png" mode="aspectFit"></image>确认授权</span>
|
<span @click="savaShops"><image src="@/static/images/sh-btn.png" mode="aspectFit"></image>确认授权</span>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -140,13 +140,13 @@
|
|||||||
props: {
|
props: {
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
|
||||||
},
|
},
|
||||||
businessId: {
|
businessId: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
approvalData:{ // 审核通过时,被授权的门店数据
|
approvalData:{ // 审核通过时,被授权的门店数据
|
||||||
type: Object,
|
type: Object,
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
@ -165,7 +165,7 @@
|
|||||||
user: (state)=>{ return state.userData}
|
user: (state)=>{ return state.userData}
|
||||||
}),
|
}),
|
||||||
approvalList () {
|
approvalList () {
|
||||||
|
|
||||||
return this.approvalData && this.approvalData.NewList ? this.approvalData.NewList.map(n=>n.node) : []
|
return this.approvalData && this.approvalData.NewList ? this.approvalData.NewList.map(n=>n.node) : []
|
||||||
},
|
},
|
||||||
personImges(){
|
personImges(){
|
||||||
@ -226,7 +226,7 @@
|
|||||||
ProvinceCode: data.OWNERUNIT_ID,
|
ProvinceCode: data.OWNERUNIT_ID,
|
||||||
ServerpartId: data.SERVERPART_ID
|
ServerpartId: data.SERVERPART_ID
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
if(res.Result_Code!==100) return
|
if(res.Result_Code!==100) return
|
||||||
_this.shops = res.Result_Data.List
|
_this.shops = res.Result_Data.List
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -234,7 +234,7 @@
|
|||||||
let _this = this
|
let _this = this
|
||||||
if(!this.selectShopids.length){
|
if(!this.selectShopids.length){
|
||||||
uni.showToast({ title: '请选择需要授权的门店' ,icon:'none'})
|
uni.showToast({ title: '请选择需要授权的门店' ,icon:'none'})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(_this.isloading) return
|
if(_this.isloading) return
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
@ -269,7 +269,7 @@
|
|||||||
success: function (res) {
|
success: function (res) {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
|
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -278,7 +278,7 @@
|
|||||||
let _this = this
|
let _this = this
|
||||||
if(!this.approvalReason){
|
if(!this.approvalReason){
|
||||||
uni.showToast({ title: '请填写否决意见' ,icon:'none'})
|
uni.showToast({ title: '请填写否决意见' ,icon:'none'})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if(_this.isloading) return
|
if(_this.isloading) return
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
@ -313,14 +313,14 @@
|
|||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
// _this.$emit('refresh')
|
// _this.$emit('refresh')
|
||||||
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
|
_this.$util.toNextRoute('reLaunch', "/pages/authorityApproval/index")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -331,8 +331,8 @@
|
|||||||
border-radius: 12rpx;
|
border-radius: 12rpx;
|
||||||
margin: 24rpx 24rpx 24rpx;
|
margin: 24rpx 24rpx 24rpx;
|
||||||
padding: 24rpx;
|
padding: 24rpx;
|
||||||
box-shadow: 0px 4px 12px 0px rgba(225,225,225,0.56);
|
box-shadow: 0px 4px 12px 0px rgba(225,225,225,0.56);
|
||||||
|
|
||||||
.row,.title-row {
|
.row,.title-row {
|
||||||
display flex;
|
display flex;
|
||||||
align-items center
|
align-items center
|
||||||
@ -365,7 +365,7 @@
|
|||||||
border none
|
border none
|
||||||
padding-top: 0
|
padding-top: 0
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.row +.row {
|
.row +.row {
|
||||||
padding-top: 0
|
padding-top: 0
|
||||||
|
|||||||
@ -11,34 +11,34 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="btn-box">
|
<view class="btn-box">
|
||||||
<button type="default" class="main-btn" @click="nextStep ">提交</button>
|
<button type="default" class="main-btn" @click="nextStep ">提交</button>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="photo-box" v-else-if="pageType==0 && pageStep==2">
|
<view class="photo-box" v-else-if="pageType==0 && pageStep==2">
|
||||||
<h4>上传短款凭证照片</h4>
|
<h4>上传短款凭证照片</h4>
|
||||||
<div class="img-box">
|
<div class="img-box">
|
||||||
|
|
||||||
<div class="upload-file-container">
|
<div class="upload-file-container">
|
||||||
|
|
||||||
<div class="upload-file-unit" v-for="(item,index) in uploadImgList" :key="index">
|
<div class="upload-file-unit" v-for="(item,index) in uploadImgList" :key="index">
|
||||||
<span class="upload-file-remove" @click.stop="deleteImgFunc(index)">-</span>
|
<span class="upload-file-remove" @click.stop="deleteImgFunc(index)">-</span>
|
||||||
<image mode="aspectFill" :src="item" @tap="showImg(index)" />
|
<image mode="aspectFill" :src="item" @tap="showImg(index)" />
|
||||||
</div>
|
</div>
|
||||||
<div class="upload-file-add" @click="chooseImage">
|
<div class="upload-file-add" @click="chooseImage">
|
||||||
<div class="upload-file-add-container">
|
<div class="upload-file-add-container">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<view class="uni-flex btn-box">
|
<view class="uni-flex btn-box">
|
||||||
|
|
||||||
<button type="default" class="stip-btn" @tap="submitMsg">跳过</button>
|
<button type="default" class="stip-btn" @tap="submitMsg">跳过</button>
|
||||||
<button type="default" class="push-btn" @tap="submitMsg">提交</button>
|
<button type="default" class="push-btn" @tap="submitMsg">提交</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="success-box" v-else>
|
<view class="success-box" v-else>
|
||||||
<image src="/static/images/success.png" mode="aspectFit"></image>
|
<image src="https://eshangtech.com/ShopICO/ahyd-BID/success.png" mode="aspectFit"></image>
|
||||||
<h2>稽核反馈提交成功!</h2>
|
<h2>稽核反馈提交成功!</h2>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -62,7 +62,7 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
changeState(e){
|
changeState(e){
|
||||||
|
|
||||||
this.saveMsg.isAddIn = e.detail.value.length>0 ? true : false
|
this.saveMsg.isAddIn = e.detail.value.length>0 ? true : false
|
||||||
},
|
},
|
||||||
deleteImgFunc(index) {
|
deleteImgFunc(index) {
|
||||||
@ -84,16 +84,16 @@
|
|||||||
cout: 1 ,
|
cout: 1 ,
|
||||||
success: (data) => {
|
success: (data) => {
|
||||||
// console.log(data)
|
// console.log(data)
|
||||||
|
|
||||||
if(data.tempFilePaths.length>0) {
|
if(data.tempFilePaths.length>0) {
|
||||||
// let list = []
|
// let list = []
|
||||||
data.tempFilePaths.forEach(function (n){
|
data.tempFilePaths.forEach(function (n){
|
||||||
uni.getFileSystemManager().readFile({
|
uni.getFileSystemManager().readFile({
|
||||||
filePath: n, //选择图片返回的相对路径
|
filePath: n, //选择图片返回的相对路径
|
||||||
encoding: 'base64', //编码格式
|
encoding: 'base64', //编码格式
|
||||||
success: function(res) { //
|
success: function(res) { //
|
||||||
let base64 = 'data:image/jpeg;base64,'+res.data //.replace(/\+/ig,'%2B') //不加上这串字符,在页面无法显示的哦
|
let base64 = 'data:image/jpeg;base64,'+res.data //.replace(/\+/ig,'%2B') //不加上这串字符,在页面无法显示的哦
|
||||||
|
|
||||||
// list.unshift(base64)
|
// list.unshift(base64)
|
||||||
_this.uploadImgList.unshift(base64)
|
_this.uploadImgList.unshift(base64)
|
||||||
}
|
}
|
||||||
@ -115,7 +115,7 @@
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.pageStep=2
|
this.pageStep=2
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
submitMsg() {
|
submitMsg() {
|
||||||
@ -129,9 +129,9 @@
|
|||||||
}
|
}
|
||||||
this.saveMsg.imageInfo = this.uploadImgList.join('|')
|
this.saveMsg.imageInfo = this.uploadImgList.join('|')
|
||||||
this.$request.$webPost('Audit/UpLoadAuditExplain',this.saveMsg).then(res=>{
|
this.$request.$webPost('Audit/UpLoadAuditExplain',this.saveMsg).then(res=>{
|
||||||
|
|
||||||
if(res.Result_Code!==100) {
|
if(res.Result_Code!==100) {
|
||||||
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.Result_Desc,
|
title: res.Result_Desc,
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
@ -162,7 +162,7 @@
|
|||||||
}
|
}
|
||||||
.feedback-box {
|
.feedback-box {
|
||||||
padding: 20rpx 52rpx;
|
padding: 20rpx 52rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
.feedback {
|
.feedback {
|
||||||
width: 656rpx;
|
width: 656rpx;
|
||||||
@ -173,7 +173,7 @@
|
|||||||
border-radius: 14rpx;
|
border-radius: 14rpx;
|
||||||
margin-bottom: 28rpx;
|
margin-bottom: 28rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.checkbox-text {
|
.checkbox-text {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
color: #8A9DCA;
|
color: #8A9DCA;
|
||||||
@ -201,7 +201,7 @@
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
.btn-box {
|
.btn-box {
|
||||||
|
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left:0 ;
|
left:0 ;
|
||||||
@ -219,7 +219,7 @@
|
|||||||
border-radius: 43rpx;
|
border-radius: 43rpx;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
.push-btn {
|
.push-btn {
|
||||||
width: 277rpx;
|
width: 277rpx;
|
||||||
@ -231,7 +231,7 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-file-container {
|
.upload-file-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -273,7 +273,7 @@
|
|||||||
height: 60rpx;
|
height: 60rpx;
|
||||||
background-color: #ccc;
|
background-color: #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-file-add-img{
|
.upload-file-add-img{
|
||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
@ -288,13 +288,13 @@
|
|||||||
border-radius: 8rpx;
|
border-radius: 8rpx;
|
||||||
border: 2rpx solid #ccc;
|
border: 2rpx solid #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-file-unit image {
|
.upload-file-unit image {
|
||||||
width: 135rpx;
|
width: 135rpx;
|
||||||
height: 134rpx;
|
height: 134rpx;
|
||||||
border-radius: 8rpx;
|
border-radius: 8rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-file-remove {
|
.upload-file-remove {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -14rpx;
|
top: -14rpx;
|
||||||
@ -319,7 +319,7 @@
|
|||||||
font-size: 38rpx;
|
font-size: 38rpx;
|
||||||
color: #364656;
|
color: #364656;
|
||||||
}
|
}
|
||||||
|
|
||||||
.success-box image {
|
.success-box image {
|
||||||
width: 406rpx;
|
width: 406rpx;
|
||||||
height: 320rpx;
|
height: 320rpx;
|
||||||
|
|||||||
@ -37,6 +37,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import request from '@/util/index.js'
|
||||||
import headerTop from "./components/headerTop.vue";
|
import headerTop from "./components/headerTop.vue";
|
||||||
import transactionAnalysis from "./components/bussiness/transactionAnalysis.vue";
|
import transactionAnalysis from "./components/bussiness/transactionAnalysis.vue";
|
||||||
import TimePeriodAnalysis from "./components/bussiness/timePeriodAnalysis.vue";
|
import TimePeriodAnalysis from "./components/bussiness/timePeriodAnalysis.vue";
|
||||||
@ -92,60 +93,94 @@ export default {
|
|||||||
this.getBestsellerList()
|
this.getBestsellerList()
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
getTransactionList(){
|
async getTransactionList(){
|
||||||
let res=[]
|
let req = {
|
||||||
this.transactionList = res
|
Province_Code:'340000',
|
||||||
|
Statistics_Date:this.time,
|
||||||
|
Serverpart_ID:416,
|
||||||
|
ShowConsumptionLevel:true,
|
||||||
|
ShowConvertRate:true
|
||||||
|
}
|
||||||
|
let totalData = await request.$webGet('CommercialApi/Revenue/GetTransactionAnalysis',req)
|
||||||
|
console.log('totalData',totalData)
|
||||||
|
|
||||||
|
this.transactionList = totalData.Result_Data
|
||||||
},
|
},
|
||||||
getTimePeriodList(){
|
getTimePeriodList(){
|
||||||
let res={
|
let res={
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
name: "气泡一",
|
name: "气泡一",
|
||||||
data: [[2,35,35],[6,18,18],[10,5,5],[14,8,8],[18,9,9],[22,18,18]]
|
data: [[2,35,17],[6,18,9],[10,5,5],[14,8,8],[18,9,9],[22,18,9]]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
this.timePeriodList = res
|
this.timePeriodList = res
|
||||||
},
|
},
|
||||||
getLevelTopList(){
|
async getLevelTopList(){
|
||||||
let res = {
|
let req = {
|
||||||
categories:["商超","餐饮","水果饮品","小吃","连锁品牌","全业态"],
|
ProvinceCode:'340000',
|
||||||
series: [
|
StatisticsDate:'2023-04-02',
|
||||||
{
|
ServerpartId:416,
|
||||||
name: "高消费",
|
ShowWholeTrade:true
|
||||||
textColor: "#FFFFFF",
|
|
||||||
data: [35,36,31,33,13,34]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "普通消费",
|
|
||||||
textColor: "#FFFFFF",
|
|
||||||
data: [18,27,21,24,6,28]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "低消费",
|
|
||||||
textColor: "#FFFFFF",
|
|
||||||
data: [18,27,21,24,6,28]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
let res = {
|
||||||
|
categories:[],
|
||||||
|
series:[]
|
||||||
|
}
|
||||||
|
let totalData = await request.$webGet('CommercialApi/Revenue/GetBusinessTradeLevel',req)
|
||||||
|
console.log('totalData1111',totalData)
|
||||||
|
res.categories = totalData.Result_Data.legend
|
||||||
|
totalData.Result_Data.ColumnList.forEach(item=>{
|
||||||
|
res.series.push({name:item.name,data:item.data})
|
||||||
|
})
|
||||||
|
// let res = {
|
||||||
|
// categories:["商超","餐饮","水果饮品","小吃","连锁品牌","全业态"],
|
||||||
|
// series: [
|
||||||
|
// {
|
||||||
|
// name: "低消费",
|
||||||
|
// textColor: "#FFFFFF",
|
||||||
|
// data: [20,27,21,24,6,28]
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: "普通消费",
|
||||||
|
// textColor: "#FFFFFF",
|
||||||
|
// data: [20,27,21,24,6,28]
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: "高消费",
|
||||||
|
// textColor: "#FFFFFF",
|
||||||
|
// data: [60,46,58,52,88,44]
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
this.levelTopList = res
|
this.levelTopList = res
|
||||||
},
|
},
|
||||||
getBusinessTypeList(){
|
async getBusinessTypeList(){
|
||||||
let res= {
|
const req = {
|
||||||
|
ProvinceCode:'340000',
|
||||||
|
StatisticsDate:'2023-04-02',
|
||||||
|
serverpartId:416
|
||||||
|
}
|
||||||
|
const data = await request.$webGet('CommercialApi//Revenue/GetBusinessTradeRevenue',req)
|
||||||
|
let res = []
|
||||||
|
let all = 0
|
||||||
|
data.Result_Data.BusinessTradeRank.forEach((item,index)=>{
|
||||||
|
if (index<=10){
|
||||||
|
res.push({name:`${item.name} ${item.value}%`,value:Number(item.value)})
|
||||||
|
all+=Number(item.value)
|
||||||
|
}else if(index===11){
|
||||||
|
res.push({name:`其他${(100-all).toFixed(2)}%`,value:Number((100 - all).toFixed(2))})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
let result= {
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
data: [{"name":"商超","value":27.6},
|
data:res
|
||||||
{"name":"水果饮品","value":20.7},
|
|
||||||
{"name":"餐饮","value":15.5},
|
|
||||||
{"name":"小吃","value":11.9},
|
|
||||||
{"name":"地方特产","value":8.4},
|
|
||||||
{"name":"连锁品牌","value":7.2},
|
|
||||||
{"name":"粽子","value":5.6},
|
|
||||||
{"name":"箱包工艺","value":3.1}]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
this.businessTypeList = res
|
this.businessTypeList = result
|
||||||
},
|
},
|
||||||
getCompareList(){
|
getCompareList(){
|
||||||
let res = {
|
let res = {
|
||||||
@ -228,4 +263,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,79 +1,80 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div>
|
||||||
<div class="header">
|
<div class="main" v-if="isHaveData">
|
||||||
<div class="headerTop" :style="{height:(menu.bottom + 6) + 'px'}">
|
<div class="header" :style="{backgroundImage: 'url('+ 'https://eshangtech.com/ShopICO/ahyd-BID/commercial/car.svg' +')'}">
|
||||||
<div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}">
|
<div class="analyse">
|
||||||
<div class="icon" @click="handleBack">
|
<text class="title">分析</text>
|
||||||
<image class="img" src="/static/images/commercial/navigation-left.svg"></image>
|
<text class="content">新桥服务区入区车辆主要来自杭州市, 入车车辆主要是普通车型(30-60万)</text>
|
||||||
</div>
|
</div>
|
||||||
<text class="title">车流画像</text>
|
<div class="headerTop" :style="{height:(menu.bottom + 6) + 'px'}">
|
||||||
<!-- 占位 -->
|
<div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}">
|
||||||
<div class="seize"></div>
|
<div class="icon" @click="handleBack">
|
||||||
</div>
|
<image class="img" src="/static/images/commercial/navigation-left.svg"></image>
|
||||||
</div>
|
</div>
|
||||||
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}">
|
<text class="title">车流画像</text>
|
||||||
<picker class="picker" @change="bindPickerChange" :value="serviceIndex" :range="serviceArray">
|
<!-- 占位 -->
|
||||||
<div class="selectService">
|
<div class="seize"></div>
|
||||||
<image class="img" src="/static/images/commercial/fixed.svg"></image>
|
</div>
|
||||||
<view class="select">
|
</div>
|
||||||
<view class="content">
|
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}">
|
||||||
<view class="uni-input">大龙山服务区</view>
|
<div class="picker">
|
||||||
<p class="area">安庆片区</p>
|
<div class="selectService">
|
||||||
<image class="rightArrow" src="/static/images/commercial/rightArrow.svg"></image>
|
<image class="img" src="/static/images/commercial/fixed.svg"></image>
|
||||||
</view>
|
<view class="select">
|
||||||
</view>
|
<view class="content">
|
||||||
|
<view class="uni-input">大龙山服务区</view>
|
||||||
|
<p class="area">安庆片区</p>
|
||||||
|
<image class="rightArrow" src="/static/images/commercial/rightArrow.svg"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="other">
|
||||||
|
<div class="label">
|
||||||
|
<div v-for="(item,index) in labelList" :key="index" :class="index===0?'item0 item':index===1?'item1 item':index===2?'item2 item':index===3?'item3 item':index===4?'item4 item':'item'">
|
||||||
|
{{item.value}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="charts">
|
||||||
|
<div class="chartsItem">
|
||||||
|
<p class="title">入区车流分析</p>
|
||||||
|
<entry-zone :carData="carData" />
|
||||||
|
</div>
|
||||||
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
|
<view class="tab" >
|
||||||
|
<view v-for="(item,index) in tabList" :key="index" :class="selectTab===item.value?'tabItem tabItemActive':'tabItem'" @click="handleChangeTab(item.value)">{{item.name}}{{index!==0?'区':''}}</view>
|
||||||
|
</view>
|
||||||
|
<p class="title">车辆归属地</p>
|
||||||
|
<home-place :homeData="homePlace" :homeCity="cityPlace" />
|
||||||
|
</div>
|
||||||
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
|
<p class="title">车辆类型占比与停留时间</p>
|
||||||
|
<car-type-time :data="carTypeTimeData"/>
|
||||||
|
</div>
|
||||||
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
|
<p class="title">车辆价值与停留时间分析</p>
|
||||||
|
<time-analysis :data="timeAnalysisData"/>
|
||||||
|
</div>
|
||||||
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
|
<p class="title">入区率占比</p>
|
||||||
|
<percent-entry :data="percentEntryData" />
|
||||||
</div>
|
</div>
|
||||||
</picker>
|
|
||||||
<div class="other">
|
|
||||||
<div class="label">
|
|
||||||
<div v-for="(item,index) in labelList" :key="index" :class="index===0?'item0 item':index===1?'item1 item':index===2?'item2 item':index===3?'item3 item':index===4?'item4 item':'item'">
|
|
||||||
{{item.value}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<image class="car" src="/static/images/commercial/car.svg"></image>
|
|
||||||
</div>
|
|
||||||
<div class="analyse">
|
|
||||||
<text class="title">分析</text>
|
|
||||||
<text class="content">新桥服务区入区车辆主要来自杭州市, 入车车辆主要是普通车型(30-60万)</text>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div v-else class="noData">
|
||||||
<div class="charts">
|
<div class="box">
|
||||||
<div class="chartsItem">
|
<image class="img" src="/static/images/commercial/noData.svg"></image>
|
||||||
<p class="title">入区车流分析</p>
|
<p class="text">抱歉,服务区采集样本过小,无法分析</p>
|
||||||
<entry-zone :carData="carData" />
|
</div>
|
||||||
<analyse />
|
|
||||||
</div>
|
</div>
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
|
||||||
<view class="tab" >
|
|
||||||
<view v-for="(item,index) in tabList" :key="index" :class="selectTab===item.value?'tabItem tabItemActive':'tabItem'" @click="handleChangeTab(item.value)">{{item.name}}{{index!==0?'区':''}}</view>
|
|
||||||
</view>
|
|
||||||
<p class="title">车辆归属地</p>
|
|
||||||
<home-place :homeData="homePlace" :homeCity="cityPlace" />
|
|
||||||
<analyse />
|
|
||||||
</div>
|
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
|
||||||
<p class="title">车辆类型占比与停留时间</p>
|
|
||||||
<car-type-time :data="carTypeTimeData"/>
|
|
||||||
<analyse />
|
|
||||||
</div>
|
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
|
||||||
<p class="title">车辆价值与停留时间分析</p>
|
|
||||||
<time-analysis :data="timeAnalysisData"/>
|
|
||||||
<analyse />
|
|
||||||
</div>
|
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
|
||||||
<p class="title">入区率占比</p>
|
|
||||||
<percent-entry :data="percentEntryData" />
|
|
||||||
<analyse />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import request from '@/util/index.js'
|
import request from '@/util/index.js'
|
||||||
import analyse from "./components/analyse.vue";
|
|
||||||
import EntryZone from "./components/car/entryZone.vue";
|
import EntryZone from "./components/car/entryZone.vue";
|
||||||
import HomePlace from "./components/car/homePlace.vue";
|
import HomePlace from "./components/car/homePlace.vue";
|
||||||
import CarTypeTime from "./components/car/carTypeTime.vue";
|
import CarTypeTime from "./components/car/carTypeTime.vue";
|
||||||
@ -107,7 +108,12 @@ export default {
|
|||||||
percentEntryDataAll:[]// 入区率占比总的
|
percentEntryDataAll:[]// 入区率占比总的
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {PercentEntry, CarTypeTime, HomePlace, EntryZone, analyse,timeAnalysis},
|
components: {PercentEntry, CarTypeTime, HomePlace, EntryZone,timeAnalysis},
|
||||||
|
computed:{
|
||||||
|
isHaveData(){
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
},
|
||||||
onLoad(option){
|
onLoad(option){
|
||||||
//跳转的时候带上时间
|
//跳转的时候带上时间
|
||||||
this.time = option.time
|
this.time = option.time
|
||||||
@ -119,6 +125,8 @@ export default {
|
|||||||
uni.setStorageSync('phoneInfo',systemInfo)
|
uni.setStorageSync('phoneInfo',systemInfo)
|
||||||
this.statusBarHeight = Number(systemInfo.statusBarHeight)
|
this.statusBarHeight = Number(systemInfo.statusBarHeight)
|
||||||
this.menu = uni.getMenuButtonBoundingClientRect()
|
this.menu = uni.getMenuButtonBoundingClientRect()
|
||||||
|
// 把获取图表数据的方法统一放在一起 然后去请求接口拿到数据 再分批传到相对应的图标组件
|
||||||
|
// 每个图表都是用组件的方式引入的 数据是通过prop传入的
|
||||||
// 入区车流分析
|
// 入区车流分析
|
||||||
this.getCarData()
|
this.getCarData()
|
||||||
// 车辆归属地
|
// 车辆归属地
|
||||||
@ -140,6 +148,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
//切换改变选项卡
|
//切换改变选项卡
|
||||||
|
// 因为只让接口调用一次 所以要把全部和不同区域的内容要放在同一个列表里面 然后通过选项卡的点击来切换展示哪一块的数据
|
||||||
handleChangeTab(value){
|
handleChangeTab(value){
|
||||||
let Serverpart_Region = ''
|
let Serverpart_Region = ''
|
||||||
this.tabList.forEach(item=>{
|
this.tabList.forEach(item=>{
|
||||||
@ -175,6 +184,7 @@ export default {
|
|||||||
Serverpart_ID :this.Serverpart_ID
|
Serverpart_ID :this.Serverpart_ID
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
this.carData = res.Result_Data.List
|
this.carData = res.Result_Data.List
|
||||||
|
console.log('this.carData',this.carData)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getHomeData(){
|
getHomeData(){
|
||||||
@ -190,6 +200,7 @@ export default {
|
|||||||
Serverpart_ID:this.Serverpart_ID,
|
Serverpart_ID:this.Serverpart_ID,
|
||||||
ContainWhole:true
|
ContainWhole:true
|
||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
|
// 因为只让接口调用一次 所以要把全部和不同区域的内容要放在同一个列表里面 然后通过选项卡的点击来切换展示哪一块的数据
|
||||||
let result = res.Result_Data.List
|
let result = res.Result_Data.List
|
||||||
result.forEach(item=>{
|
result.forEach(item=>{
|
||||||
let priceAll = 0
|
let priceAll = 0
|
||||||
@ -221,6 +232,7 @@ export default {
|
|||||||
//省份
|
//省份
|
||||||
this.homePlaceAll = dataList
|
this.homePlaceAll = dataList
|
||||||
this.homePlace = dataList[this.selectTab]
|
this.homePlace = dataList[this.selectTab]
|
||||||
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getCarTypeTime(){
|
getCarTypeTime(){
|
||||||
@ -281,6 +293,7 @@ export default {
|
|||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
let result = res.Result_Data.List
|
let result = res.Result_Data.List
|
||||||
this.timeAnalysisData = result
|
this.timeAnalysisData = result
|
||||||
|
console.log('resulttimeAnalysisData',result)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -311,13 +324,61 @@ export default {
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.main{
|
.main{
|
||||||
width:100%;
|
width:100%;
|
||||||
|
background: #fff;
|
||||||
.header{
|
.header{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 396px;
|
height: calc(1.056 * 100vw);
|
||||||
padding: 0 16px;
|
padding: 0 16px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background: linear-gradient(180deg, #A1B9E8 0%, #F0F5FF 100%);
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
.car{
|
||||||
|
width: 100vw;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 0;
|
||||||
|
top: 0;left: 0;
|
||||||
|
}
|
||||||
|
.analyse{
|
||||||
|
width: calc(100vw - 32px);
|
||||||
|
height: 48px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 6px 12px;
|
||||||
|
background: #fff;
|
||||||
|
margin-top: 16px;
|
||||||
|
border-radius: 4px;
|
||||||
|
display: flex;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 16px;
|
||||||
|
.title{
|
||||||
|
width: 28px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #160002;
|
||||||
|
line-height: 18px;
|
||||||
|
padding: 0 4px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 4px;
|
||||||
|
background:rgba(6, 93, 255, 0.1);
|
||||||
|
}
|
||||||
|
.content{
|
||||||
|
width: calc(100% - 46px);
|
||||||
|
padding-left: 6px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786B6C;
|
||||||
|
line-height: 18px;
|
||||||
|
display: -webkit-box;
|
||||||
|
-webkit-box-orient: vertical;
|
||||||
|
overflow: hidden;
|
||||||
|
-webkit-line-clamp: 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.headerTop{
|
.headerTop{
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
@ -406,7 +467,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.other{
|
.other{
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
width: 100%;
|
width: calc(100vw - 32px);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
.label{
|
.label{
|
||||||
height: 54px;
|
height: 54px;
|
||||||
@ -427,31 +488,32 @@ export default {
|
|||||||
}
|
}
|
||||||
.item0{
|
.item0{
|
||||||
left: 50%;
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
z-index:3;
|
z-index:3;
|
||||||
background: linear-gradient(180deg, rgba(49, 144, 255, 0.8) 0%, rgba(22, 87, 255, 0.8) 100%);
|
background: linear-gradient(180deg, rgba(49, 144, 255, 0.8) 0%, rgba(22, 87, 255, 0.8) 100%);
|
||||||
}
|
}
|
||||||
.item1{
|
.item1{
|
||||||
left: 15%;
|
left: 25%;
|
||||||
top: 24px;
|
top: 80%;
|
||||||
z-index:2;
|
z-index:2;
|
||||||
background: linear-gradient(180deg, rgba(49, 144, 255, 0.7) 0%, rgba(22, 87, 255, 0.7) 100%);
|
background: linear-gradient(180deg, rgba(49, 144, 255, 0.7) 0%, rgba(22, 87, 255, 0.7) 100%);
|
||||||
}
|
}
|
||||||
.item2{
|
.item2{
|
||||||
right: 15%;
|
right: 15%;
|
||||||
top: 24px;
|
top: 80%;
|
||||||
z-index:2;
|
z-index:2;
|
||||||
background: linear-gradient(180deg, rgba(49, 144, 255, 0.6) 0%, rgba(22, 87, 255, 0.6) 100%);
|
background: linear-gradient(180deg, rgba(49, 144, 255, 0.6) 0%, rgba(22, 87, 255, 0.6) 100%);
|
||||||
}
|
}
|
||||||
.item3{
|
.item3{
|
||||||
right: 0;
|
right: 2%;
|
||||||
top: 46px;
|
top:100%;
|
||||||
z-index:1;
|
z-index:1;
|
||||||
background: linear-gradient(180deg, rgba(49, 144, 255, 0.5) 0%, rgba(22, 87, 255, 0.5) 100%);
|
background: linear-gradient(180deg, rgba(49, 144, 255, 0.5) 0%, rgba(22, 87, 255, 0.5) 100%);
|
||||||
}
|
}
|
||||||
.item4{
|
.item4{
|
||||||
left: 0;
|
left: 2%;
|
||||||
top: 46px;
|
top:100%;
|
||||||
z-index:1;
|
z-index:1;
|
||||||
background: linear-gradient(180deg, rgba(49, 144, 255, 0.4) 0%, rgba(22, 87, 255, 0.4) 100%);
|
background: linear-gradient(180deg, rgba(49, 144, 255, 0.4) 0%, rgba(22, 87, 255, 0.4) 100%);
|
||||||
}
|
}
|
||||||
@ -461,42 +523,6 @@ export default {
|
|||||||
height: 95px;
|
height: 95px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.analyse{
|
|
||||||
width: calc(100vw - 32px);
|
|
||||||
height: 48px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
padding: 6px 12px;
|
|
||||||
background: #fff;
|
|
||||||
margin-top: 16px;
|
|
||||||
border-radius: 4px;
|
|
||||||
display: flex;
|
|
||||||
.title{
|
|
||||||
width: 28px;
|
|
||||||
height: 18px;
|
|
||||||
font-size: 12px;
|
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #160002;
|
|
||||||
line-height: 18px;
|
|
||||||
padding: 0 4px;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 4px;
|
|
||||||
background:rgba(6, 93, 255, 0.1);
|
|
||||||
}
|
|
||||||
.content{
|
|
||||||
width: calc(100% - 46px);
|
|
||||||
padding-left: 6px;
|
|
||||||
font-size: 12px;
|
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #786B6C;
|
|
||||||
line-height: 18px;
|
|
||||||
display: -webkit-box;
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
overflow: hidden;
|
|
||||||
-webkit-line-clamp: 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.charts{
|
.charts{
|
||||||
@ -524,9 +550,10 @@ export default {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #160002;
|
color: #786B6C;
|
||||||
}
|
}
|
||||||
.tabItemActive{
|
.tabItemActive{
|
||||||
|
color:#160002;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -546,4 +573,29 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
.noData{
|
||||||
|
width: 100%;
|
||||||
|
height: 100vh;
|
||||||
|
position: relative;
|
||||||
|
.box{
|
||||||
|
margin: 30vh auto 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.img{
|
||||||
|
width: 20vw;
|
||||||
|
height: 24vw;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #6C737A;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@ -45,7 +45,6 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
|
||||||
this.shopList = value
|
this.shopList = value
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
@ -55,8 +54,8 @@ export default {
|
|||||||
// 处理传入的数据
|
// 处理传入的数据
|
||||||
handleCarData(value) {
|
handleCarData(value) {
|
||||||
let res = value
|
let res = value
|
||||||
this.drawCharts('hotSales', res[0],{color:["#1E80FF","#E5E8EF"],title:'',subTitle:'热销商品'})
|
this.drawCharts('hotSales', res[0],{color:["#1E80FF","#E5E8EF"],title:'39.8%',subTitle:'热销商品'})
|
||||||
this.drawCharts('unsalableGoods', res[1],{color:["#00C2FF","#E5E8EF"],title:'',subTitle:'滞销商品'})
|
this.drawCharts('unsalableGoods', res[1],{color:["#00C2FF","#E5E8EF"],title:'21.6%',subTitle:'滞销商品'})
|
||||||
},
|
},
|
||||||
drawCharts(id, data,config) {
|
drawCharts(id, data,config) {
|
||||||
const ctx = uni.createCanvasContext(id, this);
|
const ctx = uni.createCanvasContext(id, this);
|
||||||
@ -99,7 +98,7 @@ export default {
|
|||||||
ringWidth: 12,
|
ringWidth: 12,
|
||||||
activeOpacity: 0.5,
|
activeOpacity: 0.5,
|
||||||
activeRadius: 10,
|
activeRadius: 10,
|
||||||
offsetAngle: 0,
|
offsetAngle: -90,
|
||||||
labelWidth: 15,
|
labelWidth: 15,
|
||||||
border: false,
|
border: false,
|
||||||
borderWidth: 3,
|
borderWidth: 3,
|
||||||
@ -133,7 +132,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-bottom: 2px solid #EFEFEF;
|
border-bottom: 1px solid #EFEFEF;
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
.title{
|
.title{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -158,4 +157,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -25,7 +25,6 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('businessFormat', value)
|
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -45,13 +44,13 @@ export default {
|
|||||||
type: "ring",
|
type: "ring",
|
||||||
context: ctx,
|
context: ctx,
|
||||||
width: _this.width,
|
width: _this.width,
|
||||||
height: 250,
|
height: 280,
|
||||||
series: data.series,
|
series: data.series,
|
||||||
animation: true,
|
animation: true,
|
||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#1E80FF", "#456497","#6B85AE","#8095B8","#97A9C6","#ACB9CD","#B8C7DE","#D5DFF0"],
|
color: ["#1E80FF", "#00C2FF","#6B6FFF","#38C275","#F3BC1B","#ED6B5A","#FF9845","#74839D","#ACB9CD","#CAD0DA"],
|
||||||
padding: [5, 5, 5, 5],
|
padding: [5, 5, 5, 5],
|
||||||
dataLabel: true,
|
dataLabel: true,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
@ -69,15 +68,15 @@ export default {
|
|||||||
show: true,
|
show: true,
|
||||||
position: "bottom",
|
position: "bottom",
|
||||||
lineHeight: 25,
|
lineHeight: 25,
|
||||||
float: 'center'
|
float: 'left'
|
||||||
|
|
||||||
},
|
},
|
||||||
extra: {
|
extra: {
|
||||||
ring: {
|
ring: {
|
||||||
ringWidth: 12,
|
ringWidth: 14,
|
||||||
activeOpacity: 0.5,
|
activeOpacity: 0.5,
|
||||||
activeRadius: 10,
|
activeRadius: 10,
|
||||||
offsetAngle: 0,
|
offsetAngle: -45,
|
||||||
labelWidth: 15,
|
labelWidth: 15,
|
||||||
border: false,
|
border: false,
|
||||||
borderWidth: 3,
|
borderWidth: 3,
|
||||||
@ -115,7 +114,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
.format{
|
.format{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 250px;
|
height: 260px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -25,7 +25,6 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -46,23 +45,25 @@ export default {
|
|||||||
type: "area",
|
type: "area",
|
||||||
context: ctx,
|
context: ctx,
|
||||||
width: _this.width,
|
width: _this.width,
|
||||||
height: 220,
|
height: 240,
|
||||||
categories: data.categories,
|
categories: data.categories,
|
||||||
series: data.series,
|
series: data.series,
|
||||||
animation: true,
|
animation: true,
|
||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#CAD0DA", "#1E80FF"],
|
color: ["#1E80FF", "#00B6FF"],
|
||||||
padding: [15, 5, 5, 5],
|
padding: [15, 5, 5, 5],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
xAxis: {
|
xAxis: {
|
||||||
disableGrid: true
|
disableGrid: true,
|
||||||
|
axisLineColor:"#F2F2F5"
|
||||||
},
|
},
|
||||||
yAxis:{
|
yAxis:{
|
||||||
showTitle:true,
|
showTitle:true,
|
||||||
splitNumber:4,
|
splitNumber:4,
|
||||||
|
gridColor:'#F2F2F5',
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
index:0,
|
index:0,
|
||||||
@ -70,7 +71,8 @@ export default {
|
|||||||
min: 0,
|
min: 0,
|
||||||
max: 80,
|
max: 80,
|
||||||
position: "left",
|
position: "left",
|
||||||
titleOffsetY: -5
|
titleOffsetY: -5,
|
||||||
|
axisLineColor:"#F2F2F5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
index:1,
|
index:1,
|
||||||
@ -79,7 +81,8 @@ export default {
|
|||||||
max: 400,
|
max: 400,
|
||||||
position: 'right',
|
position: 'right',
|
||||||
titleOffsetY: -5,
|
titleOffsetY: -5,
|
||||||
titleOffsetX: 5
|
titleOffsetX: 5,
|
||||||
|
axisLineColor:"#F2F2F5"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -135,4 +138,4 @@ export default {
|
|||||||
height: 220px;
|
height: 220px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -25,7 +25,6 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,7 +51,7 @@ export default {
|
|||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#1E80FF","#ACB9CD","#CAD0DA" ],
|
color: ["#CAD0DA","#ACB9CD","#1E80FF", ],
|
||||||
padding: [15, 5, 5, 5],
|
padding: [15, 5, 5, 5],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
@ -60,22 +59,25 @@ export default {
|
|||||||
show: true,
|
show: true,
|
||||||
position: "bottom",
|
position: "bottom",
|
||||||
lineHeight: 25,
|
lineHeight: 25,
|
||||||
float: 'center'
|
float: 'center',
|
||||||
|
fontSize:10
|
||||||
|
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
disableGrid: true
|
disableGrid: true,
|
||||||
|
axisLineColor:'#F2F2F5',
|
||||||
|
fontSize:10,
|
||||||
|
titleOffsetY:5
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
showTitle:true,
|
|
||||||
splitNumber:5,
|
splitNumber:5,
|
||||||
|
gridColor:'#F2F2F5',
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
title:'单位: /%',
|
unit:'%',
|
||||||
titleOffsetY:-5,
|
axisLineColor:'#F2F2F5'
|
||||||
titleOffsetX:-5
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -120,7 +122,7 @@ export default {
|
|||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
.level{
|
.level{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 272px;
|
height: 252px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -25,7 +25,6 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -51,25 +50,29 @@ export default {
|
|||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#C7DFFF"],
|
color: ["#2483FF"],
|
||||||
padding: [15, 10, 5, 5],
|
padding: [15, 10, 5, 5],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
xAxis: {
|
xAxis: {
|
||||||
disableGrid: true,
|
disableGrid: true,
|
||||||
gridType: "dash",
|
gridType: "solid",
|
||||||
splitNumber: 6,
|
splitNumber: 6,
|
||||||
boundaryGap: "justify",
|
boundaryGap: "justify",
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 24
|
max: 24,
|
||||||
|
axisLineColor:'#F2F2F5'
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
disableGrid: false,
|
disableGrid: false,
|
||||||
gridType: "dash",
|
gridType: "solid",
|
||||||
|
gridColor:'#F2F2F5',
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 50
|
max: 50,
|
||||||
|
unit:'%',
|
||||||
|
axisLineColor:'#F2F2F5'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -81,8 +84,8 @@ export default {
|
|||||||
},
|
},
|
||||||
extra: {
|
extra: {
|
||||||
bubble: {
|
bubble: {
|
||||||
border: 2,
|
border: 1,
|
||||||
opacity: 0.5
|
opacity: 0.25
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -119,4 +122,4 @@ export default {
|
|||||||
height: 200px;
|
height: 200px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -7,11 +7,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<p class="price">18.3</p>
|
<p class="price">{{ info.AvgTicketPrice?info.AvgTicketPrice:'-' }}</p>
|
||||||
<p class="text">该服务区</p>
|
<p class="text">该服务区</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<p class="price">17.6</p>
|
<p class="price">{{ info.ProvinceAvgTicketPrice?info.ProvinceAvgTicketPrice:'-' }}</p>
|
||||||
<p class="text">省级平均</p>
|
<p class="text">省级平均</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -23,11 +23,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<p class="price">37.9</p>
|
<p class="price">{{ info.ConvertRate?info.ConvertRate:'-' }}</p>
|
||||||
<p class="text">该服务区</p>
|
<p class="text">该服务区</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<p class="price">52.8</p>
|
<p class="price">{{ info.ConvertProvinceRate?info.ConvertProvinceRate:'-'}}</p>
|
||||||
<p class="text">省级平均</p>
|
<p class="text">省级平均</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -42,76 +42,24 @@ export default {
|
|||||||
name: "transactionAnalysis",
|
name: "transactionAnalysis",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
info:{} //数据内容
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
data: {
|
data: {
|
||||||
type: Array,
|
type: Object,
|
||||||
default: () => []
|
default: () => {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
console.log('carDatawatch', value)
|
||||||
this.handleCarData(value)
|
this.info = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 处理传入的数据
|
|
||||||
handleCarData(value) {
|
|
||||||
let res = []
|
|
||||||
this.drawCharts('carNum', res)
|
|
||||||
},
|
|
||||||
drawCharts(id, data) {
|
|
||||||
const ctx = uni.createCanvasContext(id, this);
|
|
||||||
let _this = this
|
|
||||||
uChartsInstance[id] = new uCharts({
|
|
||||||
type: "ring",
|
|
||||||
context: ctx,
|
|
||||||
width: 178,
|
|
||||||
height: 208,
|
|
||||||
series: data.series,
|
|
||||||
animation: true,
|
|
||||||
rotate: false,
|
|
||||||
rotateLock: false,
|
|
||||||
background: "#FFFFFF",
|
|
||||||
color: ["#CAD0DA", "#1E80FF"],
|
|
||||||
padding: [5, 5, 5, 5],
|
|
||||||
dataLabel: false,
|
|
||||||
enableScroll: false,
|
|
||||||
title: {
|
|
||||||
name: _this.carNumAll,
|
|
||||||
fontSize: 16,
|
|
||||||
color: "#341D00"
|
|
||||||
},
|
|
||||||
subtitle: {
|
|
||||||
name: "昨日入区车流",
|
|
||||||
fontSize: 12,
|
|
||||||
color: "#786B6C",
|
|
||||||
},
|
|
||||||
legend: {
|
|
||||||
show: true,
|
|
||||||
position: "bottom",
|
|
||||||
lineHeight: 25,
|
|
||||||
float: 'center'
|
|
||||||
|
|
||||||
},
|
|
||||||
extra: {
|
|
||||||
ring: {
|
|
||||||
ringWidth: 12,
|
|
||||||
activeOpacity: 0.5,
|
|
||||||
activeRadius: 10,
|
|
||||||
offsetAngle: 0,
|
|
||||||
labelWidth: 15,
|
|
||||||
border: false,
|
|
||||||
borderWidth: 3,
|
|
||||||
borderColor: "#FFFFFF"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -123,7 +71,7 @@ export default {
|
|||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background: #F2F1F1;
|
background: #F7F7F7;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
.top{
|
.top{
|
||||||
@ -156,7 +104,7 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
.item{
|
.item{
|
||||||
width:50%;
|
width:50%;
|
||||||
padding-left: 22px;
|
padding-left: 26px;
|
||||||
.price{
|
.price{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
@ -183,4 +131,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,18 +1,29 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="carTypeTime">
|
<div style="min-height: 100px;">
|
||||||
<canvas v-if="!carTypeTimePath" class="canvas" canvas-id="carTypeTime" id="carTypeTime"/>
|
<div v-if="isShowData">
|
||||||
<image v-if="carTypeTimePath" class="canvas" :src="carTypeTimePath"></image>
|
<div class="carTypeTime" >
|
||||||
|
<canvas v-if="!carTypeTimePath" class="canvas" canvas-id="carTypeTime" id="carTypeTime"/>
|
||||||
|
<image v-if="carTypeTimePath" class="canvas" :src="carTypeTimePath"></image>
|
||||||
|
</div>
|
||||||
|
<analyse />
|
||||||
|
</div>
|
||||||
|
<no-data v-if="!isShowData"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import uCharts from '@/components/u-charts.js';
|
import uCharts from '@/components/u-charts.js';
|
||||||
|
import NoData from "../noData.vue";
|
||||||
|
import Analyse from "../analyse.vue";
|
||||||
var uChartsInstance = {};
|
var uChartsInstance = {};
|
||||||
export default {
|
export default {
|
||||||
name: "carTypeTime",
|
name: "carTypeTime",
|
||||||
|
components: {Analyse, NoData},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
width:0,
|
width:0,
|
||||||
|
isShowData:false,
|
||||||
|
info:{},
|
||||||
carTypeTimePath:''//图片路径
|
carTypeTimePath:''//图片路径
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -25,6 +36,10 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
|
if (value){
|
||||||
|
this.isShowData = true
|
||||||
|
}
|
||||||
|
this.info = value
|
||||||
this.carTypeTimePath=''
|
this.carTypeTimePath=''
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
},
|
},
|
||||||
@ -34,7 +49,6 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
// 处理传入的数据
|
// 处理传入的数据
|
||||||
handleCarData(value) {
|
handleCarData(value) {
|
||||||
console.log('carTypeTime',value)
|
|
||||||
let res = {
|
let res = {
|
||||||
categories: value.categories,
|
categories: value.categories,
|
||||||
series: value.series
|
series: value.series
|
||||||
@ -49,7 +63,7 @@ export default {
|
|||||||
type: "column",
|
type: "column",
|
||||||
context: ctx,
|
context: ctx,
|
||||||
width: this.width,
|
width: this.width,
|
||||||
height: 252,
|
height: 265,
|
||||||
categories:data.categories,
|
categories:data.categories,
|
||||||
series: data.series,
|
series: data.series,
|
||||||
animation: false,
|
animation: false,
|
||||||
@ -57,7 +71,7 @@ export default {
|
|||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#00C2FF","#CAD0DA"],
|
color: ["#1E80FF","#00B6FF"],
|
||||||
padding: [30,30,0,0],
|
padding: [30,30,0,0],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
@ -70,15 +84,18 @@ export default {
|
|||||||
},
|
},
|
||||||
xAxis:{
|
xAxis:{
|
||||||
disableGrid: true,
|
disableGrid: true,
|
||||||
|
axisLineColor:"#F2F2F5"
|
||||||
},
|
},
|
||||||
yAxis:{
|
yAxis:{
|
||||||
showTitle:true,
|
showTitle:true,
|
||||||
|
gridColor:'#F2F2F5',
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
title:'单位: %',
|
title:'单位: %',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
titleOffsetY: -5
|
titleOffsetY: -5,
|
||||||
|
axisLineColor:"#F2F2F5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title:'单位: 分钟',
|
title:'单位: 分钟',
|
||||||
@ -86,7 +103,8 @@ export default {
|
|||||||
max: 150,
|
max: 150,
|
||||||
position: 'right',
|
position: 'right',
|
||||||
titleOffsetY: -5,
|
titleOffsetY: -5,
|
||||||
titleOffsetX: 5
|
titleOffsetX: 5,
|
||||||
|
axisLineColor:"#F2F2F5"
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -94,6 +112,7 @@ export default {
|
|||||||
column: {
|
column: {
|
||||||
type: "group",
|
type: "group",
|
||||||
width: 12,
|
width: 12,
|
||||||
|
seriesGap:2,
|
||||||
categoryGap: 24,
|
categoryGap: 24,
|
||||||
activeBgColor: "#000000",
|
activeBgColor: "#000000",
|
||||||
activeBgOpacity: 0.08,
|
activeBgOpacity: 0.08,
|
||||||
@ -134,4 +153,4 @@ export default {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,27 +1,40 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="car">
|
<div style="min-height: 100px;">
|
||||||
<div class="item">
|
<div v-if="isShowData">
|
||||||
<canvas v-if="!carNumPath" class="carNum" canvas-id="carNum" id="carNum"/>
|
<div class="car">
|
||||||
<image v-if="carNumPath" class="carNum" :src="carNumPath"></image>
|
<div class="item">
|
||||||
</div>
|
<canvas v-if="!carNumPath" class="carNum" canvas-id="carNum" id="carNum"/>
|
||||||
<div class="item">
|
<image v-if="carNumPath" class="carNum" :src="carNumPath"></image>
|
||||||
<canvas v-if="!probabilityPath" class="carNum" canvas-id="probability" id="probability"/>
|
</div>
|
||||||
<image v-if="probabilityPath" class="carNum" :src="probabilityPath"></image>
|
<div class="item">
|
||||||
|
<canvas v-if="!probabilityPath" class="carNum" canvas-id="probability" id="probability"/>
|
||||||
|
<image v-if="probabilityPath" class="carNum" :src="probabilityPath"></image>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<analyse />
|
||||||
</div>
|
</div>
|
||||||
|
<no-data v-if="carData.length===0"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import uCharts from '@/components/u-charts.js';
|
import uCharts from '@/components/u-charts.js';
|
||||||
|
import NoData from "../noData.vue";
|
||||||
|
import Analyse from "../analyse.vue";
|
||||||
var uChartsInstance = {};
|
var uChartsInstance = {};
|
||||||
export default {
|
export default {
|
||||||
name: "entryZone",
|
name: "entryZone",
|
||||||
|
components: {Analyse, NoData},
|
||||||
data(){
|
data(){
|
||||||
return {
|
return {
|
||||||
|
dataList :[],
|
||||||
|
width:0,
|
||||||
entryRate: '',// 入区率
|
entryRate: '',// 入区率
|
||||||
carNumAll : 0,// 一共的入区车流数
|
carNumAll : 0,// 一共的入区车流数
|
||||||
carNumPath:'',//图片路径
|
carNumPath:'',//图片路径
|
||||||
probabilityPath:''//图片路径
|
probabilityPath:'',//图片路径
|
||||||
|
isShowData:false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props:{
|
props:{
|
||||||
@ -33,8 +46,13 @@ export default {
|
|||||||
watch:{
|
watch:{
|
||||||
carData:{
|
carData:{
|
||||||
handler(value){
|
handler(value){
|
||||||
|
if (value.length!==0){
|
||||||
|
this.isShowData = true
|
||||||
|
}
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
this.dataList = value
|
||||||
|
},
|
||||||
|
deep:true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
@ -92,35 +110,39 @@ export default {
|
|||||||
title:this.entryRate,
|
title:this.entryRate,
|
||||||
subtitle:"昨日入区率"
|
subtitle:"昨日入区率"
|
||||||
}
|
}
|
||||||
|
console.log('res1111',res)
|
||||||
|
console.log('probabilityRes1111',probabilityRes)
|
||||||
this.drawCharts('carNum' , res,configCarNum )
|
this.drawCharts('carNum' , res,configCarNum )
|
||||||
this.drawCharts('probability',probabilityRes,config)
|
this.drawCharts('probability',probabilityRes,config)
|
||||||
},
|
},
|
||||||
drawCharts(id,data,config){
|
drawCharts(id,data,config){
|
||||||
const ctx = uni.createCanvasContext(id, this);
|
const ctx = uni.createCanvasContext(id, this);
|
||||||
let _this = this
|
let _this = this
|
||||||
|
let phoneInfo = uni.getStorageSync('phoneInfo')
|
||||||
|
this.width = (phoneInfo.screenWidth - 16) / 2
|
||||||
|
console.log('this.width',this.width)
|
||||||
uChartsInstance[id] = new uCharts({
|
uChartsInstance[id] = new uCharts({
|
||||||
type: "ring",
|
type: "ring",
|
||||||
context: ctx,
|
context: ctx,
|
||||||
width: 178,
|
width: _this.width,
|
||||||
height: 208,
|
height: 208,
|
||||||
series: data.series,
|
series: data.series,
|
||||||
animation: true,
|
animation: true,
|
||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#CAD0DA","#1E80FF"],
|
color: ["#1E80FF","#00C2FF"],
|
||||||
padding: [5,5,5,5],
|
padding: [5,5,5,5],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
title: {
|
title: {
|
||||||
name: config.title,
|
name: config.title,
|
||||||
fontSize: 16,
|
fontSize: 14,
|
||||||
color: "#341D00"
|
color: "#341D00"
|
||||||
},
|
},
|
||||||
subtitle: {
|
subtitle: {
|
||||||
name: config.subtitle,
|
name: config.subtitle,
|
||||||
fontSize: 12,
|
fontSize: 10,
|
||||||
color: "#786B6C",
|
color: "#786B6C",
|
||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
@ -191,7 +213,7 @@ export default {
|
|||||||
height: 188px;
|
height: 188px;
|
||||||
display: flex;
|
display: flex;
|
||||||
.item{
|
.item{
|
||||||
width: 50%;
|
width: calc(100vw / 2);
|
||||||
height: 100%;
|
height: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -203,4 +225,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,30 +1,57 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div style="min-height: 100px;">
|
||||||
<div class="homePlace">
|
<div v-if="isShowData">
|
||||||
<canvas v-if="!homePlacePath" class="carNum" canvas-id="homePlace" id="homePlace"/>
|
<div class="main" >
|
||||||
<image v-if="homePlacePath" class="carNum" :src="homePlacePath"></image>
|
<div class="homePlace">
|
||||||
</div>
|
<canvas v-if="!homePlacePath" class="carNum" canvas-id="homePlace" id="homePlace"/>
|
||||||
<div class="homeCity">
|
<image v-if="homePlacePath" class="carNum" :src="homePlacePath"></image>
|
||||||
<view class="item" v-for="(item,index) in progressList" :key="index">
|
</div>
|
||||||
<view class="top">
|
<div class="homeCity">
|
||||||
<p class="title">{{item.name}}</p>
|
<div class="dashed box1"></div>
|
||||||
<p class="rate"> {{item.rate}}</p>
|
<div class="dashed box2"></div>
|
||||||
</view>
|
<div class="dashed box3"></div>
|
||||||
<view class="progress">
|
<div class="dashed box4"></div>
|
||||||
<view class="have" :style="{width:item.rate}"></view>
|
<div class="dashed box5"></div>
|
||||||
</view>
|
<div class="dashed box6"></div>
|
||||||
</view>
|
<view class="item" v-for="(item,index) in progressList" :key="index">
|
||||||
|
<view class="top">
|
||||||
|
<p class="title">{{item.name}}</p>
|
||||||
|
<p class="rate"> {{item.rate}}</p>
|
||||||
|
</view>
|
||||||
|
<view class="progress">
|
||||||
|
<view class="have" :style="{width:item.rate}"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<div class="notice">
|
||||||
|
<text class="noticeInfo notice1">0%</text>
|
||||||
|
<text class="noticeInfo notice2">20%</text>
|
||||||
|
<text class="noticeInfo notice3">40%</text>
|
||||||
|
<text class="noticeInfo notice4">60%</text>
|
||||||
|
<text class="noticeInfo notice5">80%</text>
|
||||||
|
<text class="noticeInfo notice6">100%</text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<analyse />
|
||||||
</div>
|
</div>
|
||||||
|
<no-data v-if="homeData.length===0"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import uCharts from '@/components/u-charts.js';
|
import uCharts from '@/components/u-charts.js';
|
||||||
|
import NoData from "../noData.vue";
|
||||||
|
import Analyse from "../analyse.vue";
|
||||||
var uChartsInstance = {};
|
var uChartsInstance = {};
|
||||||
export default {
|
export default {
|
||||||
name: "homePlace",
|
name: "homePlace",
|
||||||
|
components: {Analyse, NoData},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
isShowData:false,
|
||||||
|
homeDataisTrue:false,
|
||||||
|
homeCityisTrue:false,
|
||||||
homePlacePath:'',//图片路径
|
homePlacePath:'',//图片路径
|
||||||
progressList:[]//进度条数组
|
progressList:[]//进度条数组
|
||||||
}
|
}
|
||||||
@ -42,12 +69,19 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
homeData: {
|
homeData: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
|
if (!value){
|
||||||
|
this.homeDataisTrue = true
|
||||||
|
}
|
||||||
this.homePlacePath = ''
|
this.homePlacePath = ''
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
homeCity:{
|
homeCity:{
|
||||||
handler(value){
|
handler(value){
|
||||||
|
if (value){
|
||||||
|
this.isShowData = true
|
||||||
|
}
|
||||||
console.log('handler',value)
|
console.log('handler',value)
|
||||||
value.forEach(item=>{
|
value.forEach(item=>{
|
||||||
item.rate = item.rate.toFixed(2) + '%'
|
item.rate = item.rate.toFixed(2) + '%'
|
||||||
@ -84,7 +118,7 @@ export default {
|
|||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
canvas2d: true,
|
canvas2d: true,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#1E80FF", "#456497","#748AAE","#ACB9CD","#CAD0DA"],
|
color: ["#1E80FF", "#00B6FF","#38C275","#6B6FFF","#6B85AE"],
|
||||||
padding: [5, 5, 5, 5],
|
padding: [5, 5, 5, 5],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
@ -98,7 +132,7 @@ export default {
|
|||||||
ringWidth: 12,
|
ringWidth: 12,
|
||||||
activeOpacity: 0.5,
|
activeOpacity: 0.5,
|
||||||
activeRadius: 10,
|
activeRadius: 10,
|
||||||
offsetAngle: 0,
|
offsetAngle: -45,
|
||||||
labelWidth: 15,
|
labelWidth: 15,
|
||||||
border: false,
|
border: false,
|
||||||
borderWidth: 3,
|
borderWidth: 3,
|
||||||
@ -142,6 +176,32 @@ export default {
|
|||||||
}
|
}
|
||||||
.homeCity{
|
.homeCity{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
.dashed{
|
||||||
|
width: 1px;
|
||||||
|
height: 85%;
|
||||||
|
position: absolute;
|
||||||
|
border-right: 1px dashed #ccc;
|
||||||
|
}
|
||||||
|
.box1{
|
||||||
|
left: 0;top: 10%;
|
||||||
|
}
|
||||||
|
.box2{
|
||||||
|
left: 20%;top: 10%;
|
||||||
|
}
|
||||||
|
.box3{
|
||||||
|
left: 40%;top: 10%;
|
||||||
|
}
|
||||||
|
.box4{
|
||||||
|
left: 60%;top: 10%;
|
||||||
|
}
|
||||||
|
.box5{
|
||||||
|
left: 80%;top: 10%;
|
||||||
|
}
|
||||||
|
.box6{
|
||||||
|
left: 99%;top: 10%;
|
||||||
|
}
|
||||||
.item{
|
.item{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
@ -181,7 +241,43 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.notice{
|
||||||
|
width: 100%;
|
||||||
|
height: 18px;
|
||||||
|
margin-top: 8px;
|
||||||
|
position: relative;
|
||||||
|
.noticeInfo{
|
||||||
|
font-size: 12px;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786B6C;
|
||||||
|
line-height: 18px;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.notice1{
|
||||||
|
left: 0;top: 0;
|
||||||
|
}
|
||||||
|
.notice2{
|
||||||
|
left: 20%;top: 0;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
.notice3{
|
||||||
|
left: 40%;top: 0;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
.notice4{
|
||||||
|
left: 60%;top: 0;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
.notice5{
|
||||||
|
left: 80%;top: 0;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
.notice6{
|
||||||
|
right: 0%;top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,30 +1,38 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="percentEntry">
|
<div style="min-height: 100px;">
|
||||||
<div class="progress">
|
<div v-if="isShowData">
|
||||||
<div class="have" :style="{width:progress+'%'}">
|
<div class="percentEntry" >
|
||||||
<view class="box" >
|
<div class="progress">
|
||||||
<div class="min" :style="{width:min+'%'}"></div>
|
<div class="have" :style="{width:progress+'%'}">
|
||||||
<div class="middle" :style="{width:middle+'%',left:min+'%'}"></div>
|
<view class="box" >
|
||||||
<div class="big" :style="{width:big+'%',right:0+'%'}"></div>
|
<div class="min" :style="{width:min+'%'}"></div>
|
||||||
</view>
|
<div class="middle" :style="{width:middle+'%',left:min+'%'}"></div>
|
||||||
</div>
|
<div class="big" :style="{width:big+'%',right:0+'%'}"></div>
|
||||||
</div>
|
</view>
|
||||||
|
</div>
|
||||||
<div class="list">
|
</div>
|
||||||
<div class="listItem" v-for="(item,index) in dataList" :key="index">
|
|
||||||
<div class="left">
|
<div class="list">
|
||||||
<div style="margin-right: 4px" v-if="index!==0" :class="index===1?'icon1':index===2?'icon2':index===3?'icon3':'icon'"></div>
|
<div class="listItem" v-for="(item,index) in dataList" :key="index">
|
||||||
<p :class="index===0?'title':'smallTitle'">{{item.title}}</p>
|
<div class="left">
|
||||||
|
<div style="margin-right: 4px" v-if="index!==0" :class="index===1?'icon1':index===2?'icon2':index===3?'icon3':'icon'"></div>
|
||||||
|
<p :class="index===0?'title':'smallTitle'">{{item.title}}</p>
|
||||||
|
</div>
|
||||||
|
<p :class="index===0?'rate':'smallRate'">{{item.value + '%'}}</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p :class="index===0?'rate':'smallRate'">{{item.value + '%'}}</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<no-data v-if="data.length===0"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import NoData from "../noData.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "percentEntry",
|
name: "percentEntry",
|
||||||
|
components: {NoData},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dataList:[{title:'总车型入区率',value:''},{title:'小型车',value:''},{title:'中型车',value:''},{title:'大货车',value:''}],
|
dataList:[{title:'总车型入区率',value:''},{title:'小型车',value:''},{title:'中型车',value:''},{title:'大货车',value:''}],
|
||||||
@ -32,6 +40,7 @@ export default {
|
|||||||
min:0,//小型车
|
min:0,//小型车
|
||||||
middle:0,//中型车
|
middle:0,//中型车
|
||||||
big:0,//大型车
|
big:0,//大型车
|
||||||
|
isShowData:false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -43,6 +52,9 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
|
if (value){
|
||||||
|
this.isShowData = true
|
||||||
|
}
|
||||||
this.dataList = [{title:'总车型入区率',value:''},{title:'小型车',value:''},{title:'中型车',value:''},{title:'大货车',value:''}]
|
this.dataList = [{title:'总车型入区率',value:''},{title:'小型车',value:''},{title:'中型车',value:''},{title:'大货车',value:''}]
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,27 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="timeAnalysis">
|
<div style="min-height: 100px;">
|
||||||
<canvas :style="{width:width+'px'}" class="timeAnalysis" canvas-id="timeAnalysis" id="timeAnalysis"/>
|
<div v-if="isShowData">
|
||||||
|
<div class="timeAnalysis" >
|
||||||
|
<canvas :style="{width:width+'px'}" class="timeAnalysis" canvas-id="timeAnalysis" id="timeAnalysis"/>
|
||||||
|
</div>
|
||||||
|
<analyse />
|
||||||
|
</div>
|
||||||
|
<no-data v-if="data.length===0"/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import uCharts from '@/components/u-charts.js';
|
import uCharts from '@/components/u-charts.js';
|
||||||
|
import NoData from "../noData.vue";
|
||||||
|
import Analyse from "../analyse.vue";
|
||||||
var uChartsInstance = {};
|
var uChartsInstance = {};
|
||||||
export default {
|
export default {
|
||||||
name: "timeAnalysis",
|
name: "timeAnalysis",
|
||||||
|
components: {Analyse, NoData},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
width:0,
|
width:0,
|
||||||
|
isShowData: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -23,6 +33,9 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
|
if (value){
|
||||||
|
this.isShowData = true
|
||||||
|
}
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -75,21 +88,26 @@ export default {
|
|||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
xAxis: {
|
xAxis: {
|
||||||
disableGrid: true,
|
disableGrid: true,
|
||||||
gridType: "dash",
|
gridType: "solid",
|
||||||
splitNumber: 6,
|
splitNumber: 6,
|
||||||
boundaryGap: "justify",
|
boundaryGap: "justify",
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 24
|
max: 24,
|
||||||
|
axisLineColor:"#F2F2F5",
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
disabled: false,
|
disabled: false,
|
||||||
disableGrid: false,
|
disableGrid: false,
|
||||||
gridType: "dash",
|
gridType: "solid",
|
||||||
splitNumber: 5,
|
splitNumber: 5,
|
||||||
|
gridColor:'#F2F2F5',
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 5
|
max: 5,
|
||||||
|
unit:'h',
|
||||||
|
axisLineColor:"#F2F2F5",
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -102,8 +120,8 @@ export default {
|
|||||||
},
|
},
|
||||||
extra: {
|
extra: {
|
||||||
bubble: {
|
bubble: {
|
||||||
border: 2,
|
border: 1,
|
||||||
opacity: 0.5
|
opacity: 0.25
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -122,4 +140,4 @@ export default {
|
|||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -3,24 +3,25 @@
|
|||||||
<div class="bandItem" v-for="(item,index) in dataList" :key="index">
|
<div class="bandItem" v-for="(item,index) in dataList" :key="index">
|
||||||
<p class="title">{{item.name}}</p>
|
<p class="title">{{item.name}}</p>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div class="big" :style="{width:item.big+'%'}">{{item.big}}</div>
|
<div v-if="Number(item.small)!==0" class="small" :style="{width:item.small + '%'}">{{item.small<16?'':item.small+'%'}}</div>
|
||||||
<div class="normal" :style="{width:item.normal + '%',left:item.big+'%'}">{{item.normal}}</div>
|
<div v-if="Number(item.normal)!==0" class="normal" :style="{width:item.normal + '%',left:item.small+'%'}">{{item.normal<16?'':item.normal + '%'}}</div>
|
||||||
<div class="small" :style="{width:item.small + '%',left:(Number(item.big)+Number(item.normal))+'%'}">{{item.small}}</div>
|
<div v-if="Number(item.big)!==0" class="big" :style="{width:item.big+'%',left:(Number(item.small)+Number(item.normal))+'%'}">{{item.big<16?'':item.big + '%'}}</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="key">
|
<div class="key">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="keyItem">
|
<div class="keyItem">
|
||||||
<div class="icon" style="background: #1E80FF"></div>
|
<div class="icon" style="background: #CAD0DA"></div>
|
||||||
<p class="type">高消费</p>
|
<p class="type">低消费</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="keyItem">
|
<div class="keyItem">
|
||||||
<div class="icon" style="background: #ACB9CD"></div>
|
<div class="icon" style="background: #ACB9CD"></div>
|
||||||
<p class="type">普通消费</p>
|
<p class="type">普通消费</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="keyItem">
|
<div class="keyItem">
|
||||||
<div class="icon" style="background: #CAD0DA"></div>
|
<div class="icon" style="background: #1E80FF"></div>
|
||||||
<p class="type">低消费</p>
|
<p class="type">高消费</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -90,22 +91,12 @@ export default {
|
|||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
background: #1E80FF;
|
background: #1E80FF;
|
||||||
}
|
}
|
||||||
.big:after{
|
|
||||||
position: absolute;
|
|
||||||
content:'';
|
|
||||||
width: 2px;
|
|
||||||
height: 100%;
|
|
||||||
background: #FFFFFF;
|
|
||||||
z-index:9;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.normal{
|
.normal{
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
border-radius: 2px 0 0 2px;
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
background: #ACB9CD;
|
background: #ACB9CD;
|
||||||
@ -127,9 +118,19 @@ export default {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
border-radius: 2px 0 0 2px;
|
border-radius: 0 2px 2px 0 ;
|
||||||
background: #CAD0DA;
|
background: #CAD0DA;
|
||||||
}
|
}
|
||||||
|
.small:after{
|
||||||
|
position: absolute;
|
||||||
|
content:'';
|
||||||
|
width: 2px;
|
||||||
|
height: 100%;
|
||||||
|
background: #FFFFFF;
|
||||||
|
z-index:9;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.key{
|
.key{
|
||||||
@ -159,4 +160,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -5,6 +5,9 @@
|
|||||||
<div class="left">
|
<div class="left">
|
||||||
<image class="icon" :src="item.url"></image>
|
<image class="icon" :src="item.url"></image>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="typePic">
|
||||||
|
<image class="typeImg" :src="item.type===1?'/static/images/commercial/success.svg':item.type===2?'/static/images/commercial/punish.svg':''"></image>
|
||||||
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<p class="title">{{item.name}}</p>
|
<p class="title">{{item.name}}</p>
|
||||||
<div class="company">
|
<div class="company">
|
||||||
@ -80,6 +83,19 @@ export default {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
right: -5px;top: 0;
|
right: -5px;top: 0;
|
||||||
}
|
}
|
||||||
|
.typePic{
|
||||||
|
width: 25px;
|
||||||
|
height: 25px;
|
||||||
|
position: absolute;
|
||||||
|
top: 16px;
|
||||||
|
right: 16px;
|
||||||
|
z-index:9;
|
||||||
|
.typeImg{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
z-index:9;
|
||||||
|
}
|
||||||
|
}
|
||||||
.left{
|
.left{
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
@ -169,4 +185,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="consumLevel">
|
<div class="consumLevel">
|
||||||
<canvas class="level" canvas-id="level" id="level"/>
|
<canvas v-if="!levelPath" class="level" canvas-id="level" id="level"/>
|
||||||
|
<image v-if="levelPath" class="level" :src="levelPath"></image>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -12,6 +13,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
width:0,
|
width:0,
|
||||||
|
levelPath:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -23,7 +25,6 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -50,7 +51,7 @@ export default {
|
|||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#1E80FF","#ACB9CD","#CAD0DA" ],
|
color: ["#CAD0DA","#ACB9CD","#1E80FF" ],
|
||||||
padding: [15, 5, 5, 5],
|
padding: [15, 5, 5, 5],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
@ -58,22 +59,27 @@ export default {
|
|||||||
show: true,
|
show: true,
|
||||||
position: "bottom",
|
position: "bottom",
|
||||||
lineHeight: 25,
|
lineHeight: 25,
|
||||||
float: 'center'
|
float: 'center',
|
||||||
|
fontSize:10
|
||||||
|
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
disableGrid: true
|
disableGrid: true,
|
||||||
|
axisLineColor:'#F2F2F5',
|
||||||
|
fontSize:10
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
showTitle:true,
|
showTitle:true,
|
||||||
splitNumber:5,
|
splitNumber:5,
|
||||||
|
gridColor:'#F2F2F5',
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
title:'单位: /%',
|
title:'单位: /%',
|
||||||
titleOffsetY:-5,
|
titleOffsetY:-5,
|
||||||
titleOffsetX:-5
|
titleOffsetX:-5,
|
||||||
|
axisLineColor:'#F2F2F5'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -87,7 +93,27 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
setTimeout( ()=>{
|
||||||
|
this.canvasToTempImage('level')
|
||||||
|
},2000)
|
||||||
},
|
},
|
||||||
|
canvasToTempImage(id){
|
||||||
|
uni.canvasToTempFilePath({
|
||||||
|
canvasId:id,
|
||||||
|
complete:(res)=>{
|
||||||
|
if (res.tempFilePath){
|
||||||
|
uni.getFileSystemManager().readFile({
|
||||||
|
filePath: res.tempFilePath,
|
||||||
|
encoding: 'base64',
|
||||||
|
success: res => {
|
||||||
|
let base64 = 'data:image/png;base64,' + res.data;
|
||||||
|
this.levelPath = base64
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},this)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -101,4 +127,4 @@ export default {
|
|||||||
height: 260px;
|
height: 260px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="fillingDegree">
|
<div class="fillingDegree">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<canvas class="fillDegree" canvas-id="fillDegree" id="fillDegree"/>
|
<canvas v-if="!fillDegreePath" class="fillDegree" canvas-id="fillDegree" id="fillDegree"/>
|
||||||
|
<image v-if="fillDegreePath" class="fillDegree" :src="fillDegreePath"></image>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -13,7 +14,8 @@ export default {
|
|||||||
name: "fillingDegree",
|
name: "fillingDegree",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
width:0
|
width:0,
|
||||||
|
fillDegreePath:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -51,12 +53,12 @@ export default {
|
|||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#1E80FF", "#456497","#6B85AE","#8095B8","#97A9C6","#ACB9CD","#B8C7DE","#D5DFF0"],
|
color: ["#1E80FF", "#00C2FF","#6B6FFF","#38C275","#F3BC1B","#ED6B5A","#FF9845","#74839D","#ACB9CD","#CAD0DA"],
|
||||||
padding: [5, 5, 5, 5],
|
padding: [5, 5, 5, 5],
|
||||||
dataLabel: true,
|
dataLabel: true,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
title: {
|
title: {
|
||||||
name: _this.carNumAll,
|
name:'盈足',
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
color: "#341D00"
|
color: "#341D00"
|
||||||
},
|
},
|
||||||
@ -64,15 +66,15 @@ export default {
|
|||||||
show: true,
|
show: true,
|
||||||
position: "bottom",
|
position: "bottom",
|
||||||
lineHeight: 25,
|
lineHeight: 25,
|
||||||
float: 'center'
|
float: 'left'
|
||||||
|
|
||||||
},
|
},
|
||||||
extra: {
|
extra: {
|
||||||
ring: {
|
ring: {
|
||||||
ringWidth: 12,
|
ringWidth: 20,
|
||||||
activeOpacity: 0.5,
|
activeOpacity: 0.5,
|
||||||
activeRadius: 10,
|
activeRadius: 10,
|
||||||
offsetAngle: 0,
|
offsetAngle: -45,
|
||||||
labelWidth: 15,
|
labelWidth: 15,
|
||||||
border: false,
|
border: false,
|
||||||
borderWidth: 3,
|
borderWidth: 3,
|
||||||
@ -80,7 +82,27 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
setTimeout( ()=>{
|
||||||
|
this.canvasToTempImage('fillDegree')
|
||||||
|
},2000)
|
||||||
},
|
},
|
||||||
|
canvasToTempImage(id){
|
||||||
|
uni.canvasToTempFilePath({
|
||||||
|
canvasId:id,
|
||||||
|
complete:(res)=>{
|
||||||
|
if (res.tempFilePath){
|
||||||
|
uni.getFileSystemManager().readFile({
|
||||||
|
filePath: res.tempFilePath,
|
||||||
|
encoding: 'base64',
|
||||||
|
success: res => {
|
||||||
|
let base64 = 'data:image/png;base64,' + res.data;
|
||||||
|
this.fillDegreePath = base64
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},this)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -98,4 +120,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -23,7 +23,7 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
console.log('fdjsfhsdjkf',value)
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -47,11 +47,11 @@ export default {
|
|||||||
width: _this.width,
|
width: _this.width,
|
||||||
height: 180,
|
height: 180,
|
||||||
series: data.series,
|
series: data.series,
|
||||||
animation: true,
|
animation: false,
|
||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#1E80FF", "#456497","#748AAE","#ACB9CD","#CAD0DA","#E5E8EF"],
|
color: ["#1E80FF", "#00C2FF","#6B6FFF","#38C275","#74839D","#B8C7DE"],
|
||||||
padding: [5, 5, 5, 5],
|
padding: [5, 5, 5, 5],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
@ -64,10 +64,10 @@ export default {
|
|||||||
},
|
},
|
||||||
extra: {
|
extra: {
|
||||||
ring: {
|
ring: {
|
||||||
ringWidth: 12,
|
ringWidth: 20,
|
||||||
activeOpacity: 0.5,
|
activeOpacity: 0.5,
|
||||||
activeRadius: 10,
|
activeRadius: 10,
|
||||||
offsetAngle: 0,
|
offsetAngle: -45,
|
||||||
labelWidth: 15,
|
labelWidth: 15,
|
||||||
border: false,
|
border: false,
|
||||||
borderWidth: 3,
|
borderWidth: 3,
|
||||||
@ -88,4 +88,4 @@ export default {
|
|||||||
height: 170px;
|
height: 170px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -25,7 +25,6 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
|
||||||
this.handleCarData(value)
|
this.handleCarData(value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -33,6 +32,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
// 处理传入的数据
|
// 处理传入的数据
|
||||||
handleCarData(value) {
|
handleCarData(value) {
|
||||||
|
console.log('value11111',value)
|
||||||
let res = value
|
let res = value
|
||||||
this.drawCharts('prefer', res)
|
this.drawCharts('prefer', res)
|
||||||
},
|
},
|
||||||
@ -69,7 +69,7 @@ export default {
|
|||||||
gridColor: "#CCCCCC",
|
gridColor: "#CCCCCC",
|
||||||
gridCount: 3,
|
gridCount: 3,
|
||||||
opacity: 0.2,
|
opacity: 0.2,
|
||||||
max: 200,
|
max: data.max,
|
||||||
labelShow: true,
|
labelShow: true,
|
||||||
border: true
|
border: true
|
||||||
}
|
}
|
||||||
@ -103,10 +103,10 @@ export default {
|
|||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.consumPrefer{
|
.consumPrefer{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 294px;
|
height: 274px;
|
||||||
.prefer{
|
.prefer{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -6,23 +6,24 @@
|
|||||||
<p class="title">{{item.name}}</p>
|
<p class="title">{{item.name}}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div class="big" :style="{background:item.name==='男'?'#1E80FF':'#00C2FF', width:item.big+'%'}">{{item.big}}</div>
|
<div class="small" :style="{background:item.name==='男'?'#CAD0DA':'#C6D3D7',width:item.small + '%'}">{{item.small<16?'':item.small + '%'}}</div>
|
||||||
<div class="normal" :style="{background:item.name==='男'?'#ACB9CD':'#AFC1C6',width:item.normal + '%',left:item.big+'%'}">{{item.normal}}</div>
|
<div class="normal" :style="{background:item.name==='男'?'#ACB9CD':'#AFC1C6',width:item.normal + '%',left:item.small+'%'}">{{item.normal<16?'':item.normal+'%'}}</div>
|
||||||
<div class="small" :style="{background:item.name==='男'?'#CAD0DA':'#C6D3D7',left:(Number(item.big)+Number(item.normal))+'%',width:item.small + '%'}">{{item.small}}</div>
|
<div class="big" :style="{background:item.name==='男'?'#1E80FF':'#00C2FF',left:(Number(item.small)+Number(item.normal))+'%', width:item.big+'%'}">{{item.big<16?'':item.big + '%'}}</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="imgKey">
|
<div class="imgKey">
|
||||||
<div style="margin: 0 auto;display: flex">
|
<div style="margin: 0 auto;display: flex">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="icon" :style="{background:item.name==='男'?'#1E80FF':'#00C2FF'}"></div>
|
<div class="icon" :style="{background:item.name==='男'?'#CAD0DA':'#C6D3D7'}"></div>
|
||||||
<p class="consume">高消费</p>
|
<p class="consume">低消费</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="icon" :style="{background:item.name==='男'?'#ACB9CD':'#AFC1C6'}"></div>
|
<div class="icon" :style="{background:item.name==='男'?'#ACB9CD':'#AFC1C6'}"></div>
|
||||||
<p class="consume">普通消费</p>
|
<p class="consume">普通消费</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="icon" :style="{background:item.name==='男'?'#CAD0DA':'#C6D3D7'}"></div>
|
<div class="icon" :style="{background:item.name==='男'?'#1E80FF':'#00C2FF'}"></div>
|
||||||
<p class="consume">低消费</p>
|
<p class="consume">高消费</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -47,7 +48,6 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
data: {
|
data: {
|
||||||
handler(value) {
|
handler(value) {
|
||||||
console.log('carDatawatch', value)
|
|
||||||
this.genderList = value
|
this.genderList = value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -97,26 +97,15 @@ export default {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
border-radius: 2px 0 0 2px;
|
border-radius:0 2px 2px 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
}
|
}
|
||||||
.big:after{
|
|
||||||
position: absolute;
|
|
||||||
content:'';
|
|
||||||
width: 2px;
|
|
||||||
height: 100%;
|
|
||||||
background: #FFFFFF;
|
|
||||||
z-index:9;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
.normal{
|
.normal{
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
border-radius: 2px 0 0 2px;
|
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
}
|
}
|
||||||
@ -137,8 +126,19 @@ export default {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
border-radius: 2px 0 0 2px;
|
border-radius:2px 0 0 2px;
|
||||||
}
|
}
|
||||||
|
.small:after{
|
||||||
|
position: absolute;
|
||||||
|
content:'';
|
||||||
|
width: 2px;
|
||||||
|
height: 100%;
|
||||||
|
background: #FFFFFF;
|
||||||
|
z-index:9;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.imgKey{
|
.imgKey{
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -164,4 +164,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -7,11 +7,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<p class="price">583</p>
|
<p class="price">{{ info.TicketCount?info.TicketCount:'-' }}</p>
|
||||||
<p class="text">客单交易 <text class="unit">/笔</text></p>
|
<p class="text">客单交易 <text class="unit">/笔</text></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<p class="price">34.6</p>
|
<p class="price">{{ info.AvgTicketPrice?info.AvgTicketPrice:'-' }}</p>
|
||||||
<p class="text">客单均价 <text class="unit">/元</text></p>
|
<p class="text">客单均价 <text class="unit">/元</text></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -23,25 +23,25 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<p class="price">583</p>
|
<p class="price">{{ info.TicketAvgCount?info.TicketAvgCount:'-' }}</p>
|
||||||
<p class="text">客单交易 <text class="unit">/笔</text></p>
|
<p class="text">客单交易 <text class="unit">/笔</text></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<p class="price">34.6</p>
|
<p class="price">{{ info.MonthAvgTicketPrice?info.MonthAvgTicketPrice:'-' }}</p>
|
||||||
<p class="text">客单均价 <text class="unit">/元</text></p>
|
<p class="text">客单均价 <text class="unit">/元</text></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="pro">
|
<div class="pro">
|
||||||
<div class="big" :style="{width:big+'%'}"></div>
|
<div class="big" :style="{width:info.transactionLevel.HighConsumption_Rate +'%'}"></div>
|
||||||
<div class="normal" :style="{width:normal+'%',left:big+'%'}"></div>
|
<div class="normal" :style="{width:info.transactionLevel.NormalConsumption_Rate +'%',left:info.transactionLevel.HighConsumption_Rate+'%'}"></div>
|
||||||
<div class="small" :style="{width:small+'%',left:(Number(big) + Number(normal))+'%'}"></div>
|
<div class="small" :style="{width:info.transactionLevel.LowConsumption_Rate +'%',left:(Number(info.transactionLevel.HighConsumption_Rate) + Number(info.transactionLevel.NormalConsumption_Rate))+'%'}"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="type">
|
<div class="type">
|
||||||
<text class="item big">高消费 {{big}}%</text>
|
<text class="item big">高消费 {{info.transactionLevel.HighConsumption_Rate?info.transactionLevel.HighConsumption_Rate:'-'}}%</text>
|
||||||
<text class="item normal">普通消费 {{normal}}%</text>
|
<text class="item normal">普通消费 {{info.transactionLevel.NormalConsumption_Rate?info.transactionLevel.NormalConsumption_Rate:'-'}}%</text>
|
||||||
<text class="item small">低消费 {{small}}%</text>
|
<text class="item small">低消费 {{info.transactionLevel.LowConsumption_Rate?info.transactionLevel.LowConsumption_Rate:'-' }}%</text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -54,9 +54,21 @@ export default {
|
|||||||
name: "customerFirst",
|
name: "customerFirst",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
big:'14.8',
|
info:{}
|
||||||
normal:'41.7',
|
}
|
||||||
small:'43.5'
|
},
|
||||||
|
props: {
|
||||||
|
data: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
data: {
|
||||||
|
handler(value) {
|
||||||
|
console.log('3333333', value)
|
||||||
|
this.info = value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -69,7 +81,7 @@ export default {
|
|||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background: #F2F1F1;
|
background: #F7F7F7;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
.top{
|
.top{
|
||||||
@ -94,7 +106,7 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
.item{
|
.item{
|
||||||
width:50%;
|
width:50%;
|
||||||
padding-left: 22px;
|
padding-left: 26px;
|
||||||
.price{
|
.price{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
@ -120,9 +132,9 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.progress{
|
.progress{
|
||||||
width: 100%;
|
width: calc(100% - 8px);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-left: 22px;
|
padding-left: 26px;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
.box{
|
.box{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -152,6 +164,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.type{
|
.type{
|
||||||
display: flex;
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
.item{
|
.item{
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -163,7 +176,6 @@ export default {
|
|||||||
position: relative;
|
position: relative;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 8px;
|
padding-left: 8px;
|
||||||
margin-right: 12px;
|
|
||||||
}
|
}
|
||||||
.item:last-child{
|
.item:last-child{
|
||||||
margin-right: 0px;
|
margin-right: 0px;
|
||||||
@ -200,4 +212,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -43,8 +43,8 @@ export default {
|
|||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
data: {
|
data: {
|
||||||
type: Array,
|
type: Object,
|
||||||
default: () => []
|
default: () => {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -58,8 +58,10 @@ export default {
|
|||||||
methods:{
|
methods:{
|
||||||
// 处理传入的数据
|
// 处理传入的数据
|
||||||
handleCarData(value) {
|
handleCarData(value) {
|
||||||
|
this.man = value.man
|
||||||
|
this.woman = value.woman
|
||||||
let res = {
|
let res = {
|
||||||
series: value
|
series: value.res
|
||||||
}
|
}
|
||||||
this.drawCharts('gender', res)
|
this.drawCharts('gender', res)
|
||||||
},
|
},
|
||||||
@ -91,33 +93,38 @@ export default {
|
|||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
disableGrid: true,
|
disableGrid: true,
|
||||||
gridType: "dash",
|
gridType: "solid",
|
||||||
splitNumber: 4,
|
splitNumber:4,
|
||||||
boundaryGap: "justify",
|
boundaryGap: "justify",
|
||||||
title:'年龄: /岁',
|
title:'年龄: /岁',
|
||||||
titleOffsetY: 15,
|
titleOffsetY: 15,
|
||||||
titleOffsetX: -30,
|
titleOffsetX: -30,
|
||||||
min: 20,
|
min: 0,
|
||||||
max: 60
|
max: 80,
|
||||||
|
axisLineColor:'#F2F2F5'
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
disableGrid: false,
|
disableGrid: false,
|
||||||
gridType: "dash",
|
gridType: "solid",
|
||||||
showTitle:true,
|
showTitle:true,
|
||||||
|
splitNumber:6,
|
||||||
|
gridColor:'#F2F2F5',
|
||||||
data: [
|
data: [
|
||||||
{
|
{
|
||||||
title:'单位: /元',
|
title:'单位: /元',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 120,
|
||||||
titleOffsetY:-5,
|
titleOffsetY:-5,
|
||||||
titleOffsetX:0
|
titleOffsetX:0,
|
||||||
|
fontColor:'#786B6C',
|
||||||
|
axisLineColor:'#F2F2F5'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
extra: {
|
extra: {
|
||||||
bubble: {
|
bubble: {
|
||||||
border: 2,
|
border: 1,
|
||||||
opacity: 0.5
|
opacity: 0.25
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -188,10 +195,13 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.progress{
|
.progress{
|
||||||
width: 100%;
|
padding: 0 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: calc(100% - 32px);
|
||||||
height: 14px;
|
height: 14px;
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
margin-left: 16px;
|
||||||
.man{
|
.man{
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -238,4 +248,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}">
|
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}">
|
||||||
<picker class="picker" @change="bindPickerChange" :value="serviceIndex" :range="serviceArray">
|
<div class="picker">
|
||||||
<div class="selectService">
|
<div class="selectService">
|
||||||
<image class="img" src="/static/images/commercial/fixed.svg"></image>
|
<image class="img" src="/static/images/commercial/fixed.svg"></image>
|
||||||
<view class="select">
|
<view class="select">
|
||||||
@ -21,7 +21,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</div>
|
</div>
|
||||||
</picker>
|
</div>
|
||||||
<div class="label">
|
<div class="label">
|
||||||
<div :class="index===0?'labelItem labelItem0':index===1?'labelItem labelItem1':index===2?'labelItem labelItem2':index===3?'labelItem labelItem3':
|
<div :class="index===0?'labelItem labelItem0':index===1?'labelItem labelItem1':index===2?'labelItem labelItem2':index===3?'labelItem labelItem3':
|
||||||
index===4?'labelItem labelItem4':index===5?'labelItem labelItem5':''" v-for="(item,index) in labelList" :key="index"
|
index===4?'labelItem labelItem4':index===5?'labelItem labelItem5':''" v-for="(item,index) in labelList" :key="index"
|
||||||
|
|||||||
@ -74,7 +74,8 @@ export default {
|
|||||||
left: 0;top: 0;
|
left: 0;top: 0;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: #1E80FF;
|
background: #1E80FF;
|
||||||
|
border-radius: 0 2px 2px 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="moneyCompare">
|
<div class="moneyCompare">
|
||||||
<canvas class="compare" canvas-id="compare" id="compare"/>
|
<canvas v-if="!comparePath" class="compare" canvas-id="compare" id="compare"/>
|
||||||
|
<image v-if="comparePath" class="compare" :src="comparePath"></image>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -11,7 +12,8 @@ export default {
|
|||||||
name: "moneyCompare",
|
name: "moneyCompare",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
width:0
|
width:0,
|
||||||
|
comparePath:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -38,7 +40,7 @@ export default {
|
|||||||
const ctx = uni.createCanvasContext(id, this);
|
const ctx = uni.createCanvasContext(id, this);
|
||||||
let _this = this
|
let _this = this
|
||||||
let phoneInfo = uni.getStorageSync('phoneInfo')
|
let phoneInfo = uni.getStorageSync('phoneInfo')
|
||||||
this.width = phoneInfo.screenWidth - 16
|
this.width = phoneInfo.screenWidth
|
||||||
uChartsInstance[id] = new uCharts({
|
uChartsInstance[id] = new uCharts({
|
||||||
type: "column",
|
type: "column",
|
||||||
context: ctx,
|
context: ctx,
|
||||||
@ -50,7 +52,7 @@ export default {
|
|||||||
rotate: false,
|
rotate: false,
|
||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: ["#CAD0DA", "#1E80FF"],
|
color: ["#1E80FF", "#00B6FF","#ACB9CD"],
|
||||||
padding: [15, 40, 5, 0],
|
padding: [15, 40, 5, 0],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
@ -72,8 +74,9 @@ export default {
|
|||||||
min: 0,
|
min: 0,
|
||||||
max: 12,
|
max: 12,
|
||||||
title:'单位: 千万',
|
title:'单位: 千万',
|
||||||
titleOffsetX:5,
|
titleOffsetX:8,
|
||||||
titleOffsetY:-5
|
titleOffsetY:-5,
|
||||||
|
fontSize:12,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -81,12 +84,33 @@ export default {
|
|||||||
column: {
|
column: {
|
||||||
type: "group",
|
type: "group",
|
||||||
width: 5,
|
width: 5,
|
||||||
|
seriesGap:4,
|
||||||
activeBgColor: "#000000",
|
activeBgColor: "#000000",
|
||||||
activeBgOpacity: 0.08
|
activeBgOpacity: 0.08
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
setTimeout( ()=>{
|
||||||
|
this.canvasToTempImage('compare')
|
||||||
|
},2000)
|
||||||
},
|
},
|
||||||
|
canvasToTempImage(id){
|
||||||
|
uni.canvasToTempFilePath({
|
||||||
|
canvasId:id,
|
||||||
|
complete:(res)=>{
|
||||||
|
if (res.tempFilePath){
|
||||||
|
uni.getFileSystemManager().readFile({
|
||||||
|
filePath: res.tempFilePath,
|
||||||
|
encoding: 'base64',
|
||||||
|
success: res => {
|
||||||
|
let base64 = 'data:image/png;base64,' + res.data;
|
||||||
|
this.comparePath = base64
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},this)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -99,4 +123,4 @@ export default {
|
|||||||
height: 200px;
|
height: 200px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="revenueTrends">
|
<div class="revenueTrends">
|
||||||
<canvas class="trends" canvas-id="trends" id="trends"/>
|
<canvas v-if="!trendsPath" class="trends" canvas-id="trends" id="trends"/>
|
||||||
|
<image v-if="trendsPath" class="trends" :src="trendsPath"></image>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -11,6 +12,7 @@ export default {
|
|||||||
name: "revenueTrends",
|
name: "revenueTrends",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
trendsPath:''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -42,7 +44,7 @@ export default {
|
|||||||
type: "area",
|
type: "area",
|
||||||
context: ctx,
|
context: ctx,
|
||||||
width: _this.width ,
|
width: _this.width ,
|
||||||
height: 198,
|
height: 213,
|
||||||
categories: data.categories,
|
categories: data.categories,
|
||||||
series: data.series,
|
series: data.series,
|
||||||
animation: true,
|
animation: true,
|
||||||
@ -61,17 +63,22 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
xAxis: {
|
xAxis: {
|
||||||
disableGrid: true
|
disableGrid: true,
|
||||||
|
axisLineColor:'#F2F2F5'
|
||||||
},
|
},
|
||||||
yAxis: {
|
yAxis: {
|
||||||
splitNumber:4,
|
splitNumber:4,
|
||||||
showTitle:true,
|
showTitle:true,
|
||||||
|
gridColor:'#F2F2F5',
|
||||||
data:[
|
data:[
|
||||||
{
|
{
|
||||||
min:0,
|
min:0,
|
||||||
max:12,
|
max:12,
|
||||||
title:'单位: 千万',
|
title:'单位: 千万',
|
||||||
titleOffsetY:-5
|
titleOffsetY:-5,
|
||||||
|
titleOffsetX:8,
|
||||||
|
fontSize:12,
|
||||||
|
axisLineColor:'#F2F2F5'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -86,7 +93,27 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
setTimeout( ()=>{
|
||||||
|
this.canvasToTempImage('trends')
|
||||||
|
},2000)
|
||||||
},
|
},
|
||||||
|
canvasToTempImage(id){
|
||||||
|
uni.canvasToTempFilePath({
|
||||||
|
canvasId:id,
|
||||||
|
complete:(res)=>{
|
||||||
|
if (res.tempFilePath){
|
||||||
|
uni.getFileSystemManager().readFile({
|
||||||
|
filePath: res.tempFilePath,
|
||||||
|
encoding: 'base64',
|
||||||
|
success: res => {
|
||||||
|
let base64 = 'data:image/png;base64,' + res.data;
|
||||||
|
this.trendsPath = base64
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},this)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -99,4 +126,4 @@ export default {
|
|||||||
height: 208px;
|
height: 208px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
44
pages/commercialBI/components/noData.vue
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main">
|
||||||
|
<image class="img" src="/static/images/commercial/noData.svg"></image>
|
||||||
|
<p class="text">抱歉,服务区采集样本过小,无法分析</p>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "noData",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.main{
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 12px;
|
||||||
|
padding: 16px 0;
|
||||||
|
.img{
|
||||||
|
width:60px;
|
||||||
|
height: 60px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
.text{
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #6C737A;
|
||||||
|
line-height: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -26,13 +26,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<band-number :data="brandInfoList"/>
|
<band-number :data="brandInfoList"/>
|
||||||
<analyse />
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import request from '@/util/index.js'
|
||||||
import headerTop from "./components/headerTop.vue";
|
import headerTop from "./components/headerTop.vue";
|
||||||
import analyse from "./components/analyse.vue";
|
import analyse from "./components/analyse.vue";
|
||||||
import FillingDegree from "./components/format/fillingDegree.vue";
|
import FillingDegree from "./components/format/fillingDegree.vue";
|
||||||
@ -83,57 +83,120 @@ export default {
|
|||||||
this.getBrandInfoList()
|
this.getBrandInfoList()
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
getFillDegreeList(){
|
async getFillDegreeList(){
|
||||||
let res = {
|
const req = {
|
||||||
|
ProvinceCode:'340000',
|
||||||
|
StatisticsDate:'2023-04-02',
|
||||||
|
serverpartId:416
|
||||||
|
}
|
||||||
|
const data = await request.$webGet('CommercialApi//Revenue/GetBusinessTradeRevenue',req)
|
||||||
|
let res = []
|
||||||
|
let all = 0
|
||||||
|
data.Result_Data.BusinessTradeRank.forEach((item,index)=>{
|
||||||
|
if (index<=10){
|
||||||
|
res.push({name:`${item.name} ${item.value}%`,value:Number(item.value)})
|
||||||
|
all+=Number(item.value)
|
||||||
|
}else if(index===11){
|
||||||
|
res.push({name:`其他${(100-all).toFixed(2)}%`,value:Number((100 - all).toFixed(2))})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log('res21312312',res)
|
||||||
|
let result= {
|
||||||
series: [
|
series: [
|
||||||
{
|
{
|
||||||
data: [{"name":"商超","value":27.6},
|
data:res
|
||||||
{"name":"水果饮品","value":20.7},
|
|
||||||
{"name":"餐饮","value":15.5},
|
|
||||||
{"name":"小吃","value":11.9},
|
|
||||||
{"name":"地方特产","value":8.4},
|
|
||||||
{"name":"连锁品牌","value":7.2},
|
|
||||||
{"name":"粽子","value":5.6},
|
|
||||||
{"name":"箱包工艺","value":3.1}]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
};
|
||||||
this.fillDegreeList = res
|
// let res = {
|
||||||
|
// series: [
|
||||||
|
// {
|
||||||
|
// data: [{"name":"商超","value":27.6},
|
||||||
|
// {"name":"水果饮品","value":20.7},
|
||||||
|
// {"name":"餐饮","value":15.5},
|
||||||
|
// {"name":"小吃","value":11.9},
|
||||||
|
// {"name":"地方特产","value":8.4},
|
||||||
|
// {"name":"连锁品牌","value":7.2},
|
||||||
|
// {"name":"粽子","value":5.6},
|
||||||
|
// {"name":"箱包工艺","value":3.1}]
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
this.fillDegreeList = result
|
||||||
},
|
},
|
||||||
getBandLevelList(){
|
async getBandLevelList(){
|
||||||
let res=[{name:'五芳斋',big:'14.8',normal:'41.7',small:'43.5'},
|
|
||||||
{name:'驿佰购',big:'44.1',normal:'31.7',small:'24.2'},
|
let req = {
|
||||||
{name:'老娘舅',big:'15.2',normal:'70.1',small:'14.5'},
|
ProvinceCode:'340000',
|
||||||
{name:'吉祥馄饨',big:'25.2',normal:'39.9',small:'34.7'}]
|
StatisticsDate:'2023-04-03',
|
||||||
|
ServerpartId:416,
|
||||||
|
ShowWholeBrand:false
|
||||||
|
}
|
||||||
|
let res =[]
|
||||||
|
let totalData = await request.$webGet('CommercialApi/Revenue/GetBusinessBrandLevel',req)
|
||||||
|
totalData.Result_Data.legend.forEach(item=>{
|
||||||
|
res.push({name:item,small:0,normal:0,big:0})
|
||||||
|
})
|
||||||
|
res.forEach((item,index)=>{
|
||||||
|
totalData.Result_Data.ColumnList.forEach((subItem,subIndex)=>{
|
||||||
|
if (subItem.name==='低消费'){
|
||||||
|
item.small = subItem.data[index]
|
||||||
|
}else if(subItem.name==='普通消费'){
|
||||||
|
item.normal = subItem.data[index]
|
||||||
|
}else if(subItem.name==='高消费'){
|
||||||
|
item.big = subItem.data[index]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
// let res=[{name:'五芳斋',big:'14.8',normal:'41.7',small:'43.5'},
|
||||||
|
// {name:'驿佰购',big:'44.1',normal:'31.7',small:'24.2'},
|
||||||
|
// {name:'老娘舅',big:'15.2',normal:'70.1',small:'14.5'},
|
||||||
|
// {name:'吉祥馄饨',big:'25.2',normal:'39.9',small:'34.7'}]
|
||||||
this.bandLevelList = res
|
this.bandLevelList = res
|
||||||
},
|
},
|
||||||
getConsumLevelList(){
|
async getConsumLevelList(){
|
||||||
let res = {
|
|
||||||
categories:["商超","餐饮","水果饮品","小吃","连锁品牌"],
|
let req = {
|
||||||
series: [
|
ProvinceCode:'340000',
|
||||||
{
|
StatisticsDate:'2023-04-02',
|
||||||
name: "高消费",
|
ServerpartId:416,
|
||||||
textColor: "#FFFFFF",
|
ShowWholeTrade:false
|
||||||
data: [35,36,31,33,13]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "普通消费",
|
|
||||||
textColor: "#FFFFFF",
|
|
||||||
data: [18,27,21,24,6]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "低消费",
|
|
||||||
textColor: "#FFFFFF",
|
|
||||||
data: [18,27,21,24,6]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
let res = {
|
||||||
|
categories:[],
|
||||||
|
series:[]
|
||||||
|
}
|
||||||
|
let totalData = await request.$webGet('CommercialApi/Revenue/GetBusinessTradeLevel',req)
|
||||||
|
res.categories = totalData.Result_Data.legend
|
||||||
|
totalData.Result_Data.ColumnList.forEach(item=>{
|
||||||
|
res.series.push({name:item.name,data:item.data})
|
||||||
|
})
|
||||||
|
// let res = {
|
||||||
|
// categories:["商超","餐饮","水果饮品","小吃","连锁品牌"],
|
||||||
|
// series: [
|
||||||
|
// {
|
||||||
|
// name: "低消费",
|
||||||
|
// textColor: "#FFFFFF",
|
||||||
|
// data: [18,27,21,24,6]
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: "普通消费",
|
||||||
|
// textColor: "#FFFFFF",
|
||||||
|
// data: [18,27,21,24,6]
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: "高消费",
|
||||||
|
// textColor: "#FFFFFF",
|
||||||
|
// data: [64,46,58,52,88]
|
||||||
|
// },
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
this.consumLevelList = res
|
this.consumLevelList = res
|
||||||
},
|
},
|
||||||
getBrandInfoList(){
|
getBrandInfoList(){
|
||||||
let res = [{icon:'',name:'老娘舅',company:'老娘舅餐饮股份有限公司',time:'2019.03-2022.03',label:["中式快餐","30-40岁男性"],info:[9,8,8]},
|
let res = [{icon:'',name:'老娘舅',company:'老娘舅餐饮股份有限公司',type:0,time:'2019.03-2022.03',label:["中式快餐","30-40岁男性"],info:[9,8,8]},
|
||||||
{icon:'',name:'老乡鸡',company:'老乡鸡餐饮股份有限公司',time:'2019.03-2022.03',label:["中式快餐","30-40岁男性"],info:[9,9,9]},
|
{icon:'',name:'老乡鸡',company:'老乡鸡餐饮股份有限公司',type:1,time:'2019.03-2022.03',label:["中式快餐","30-40岁男性"],info:[9,9,9]},
|
||||||
{icon:'',name:'永和大王',company:'永和大王餐饮股份有限公司',time:'2019.03-2022.03',label:["中式快餐","30-40岁男性"],info:[8,8,8]}]
|
{icon:'',name:'永和大王',company:'永和大王餐饮股份有限公司',type:2,time:'2019.03-2022.03',label:["中式快餐","30-40岁男性"],info:[8,8,8]}]
|
||||||
this.brandInfoList = res
|
this.brandInfoList = res
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -188,6 +251,7 @@ export default {
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #A69E9F;
|
color: #A69E9F;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
margin-left: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -195,4 +259,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -5,7 +5,8 @@
|
|||||||
<div class="charts">
|
<div class="charts">
|
||||||
<div class="chartsItem">
|
<div class="chartsItem">
|
||||||
<p class="title">客群分析</p>
|
<p class="title">客群分析</p>
|
||||||
<customer-first />
|
<customer-first :data="customer" />
|
||||||
|
<!-- <no-data />-->
|
||||||
</div>
|
</div>
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
<p class="title">客群分析</p>
|
<p class="title">客群分析</p>
|
||||||
@ -23,7 +24,7 @@
|
|||||||
<analyse />
|
<analyse />
|
||||||
</div>
|
</div>
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
<p class="title">业态偏好</p>
|
<p class="title">业态消费偏好</p>
|
||||||
<business-type :data="businessTypeList"></business-type>
|
<business-type :data="businessTypeList"></business-type>
|
||||||
<analyse />
|
<analyse />
|
||||||
</div>
|
</div>
|
||||||
@ -32,6 +33,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import request from '@/util/index.js'
|
||||||
import headerTop from "./components/headerTop.vue";
|
import headerTop from "./components/headerTop.vue";
|
||||||
import customerFirst from "./components/guest/customerFirst.vue";
|
import customerFirst from "./components/guest/customerFirst.vue";
|
||||||
import customerSecond from "./components/guest/customerSecond.vue";
|
import customerSecond from "./components/guest/customerSecond.vue";
|
||||||
@ -39,9 +41,10 @@ import analyse from "./components/analyse.vue";
|
|||||||
import ConsumPrefer from "./components/guest/consumPrefer.vue";
|
import ConsumPrefer from "./components/guest/consumPrefer.vue";
|
||||||
import ConsumptionLevel from "./components/guest/consumptionLevel.vue";
|
import ConsumptionLevel from "./components/guest/consumptionLevel.vue";
|
||||||
import BusinessType from "./components/guest/businessType.vue";
|
import BusinessType from "./components/guest/businessType.vue";
|
||||||
|
import NoData from "./components/noData.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "guestPortrait",
|
name: "guestPortrait",
|
||||||
components:{BusinessType, ConsumptionLevel, ConsumPrefer, analyse, headerTop,customerFirst,customerSecond},
|
components:{NoData, BusinessType, ConsumptionLevel, ConsumPrefer, analyse, headerTop,customerFirst,customerSecond},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
topBg:'linear-gradient(180deg, #A1D0C1 0%, #B1D9CD 100%);',//顶部组件的悬浮背景色
|
topBg:'linear-gradient(180deg, #A1D0C1 0%, #B1D9CD 100%);',//顶部组件的悬浮背景色
|
||||||
@ -51,6 +54,7 @@ export default {
|
|||||||
bgUrl:'https://eshangtech.com/ShopICO/ahyd-BID/commercial/guestPortraitBg.svg',//背景图片路径
|
bgUrl:'https://eshangtech.com/ShopICO/ahyd-BID/commercial/guestPortraitBg.svg',//背景图片路径
|
||||||
time:'',//跳转携带的时间
|
time:'',//跳转携带的时间
|
||||||
menu:{},//手机配置信息
|
menu:{},//手机配置信息
|
||||||
|
customer:{}, // 客群分析第一个
|
||||||
genderBubbleList:[],//男女的气泡图
|
genderBubbleList:[],//男女的气泡图
|
||||||
consterPreferList:[],//客群消费偏好
|
consterPreferList:[],//客群消费偏好
|
||||||
consumptionLevelList:[],//客群消费水平
|
consumptionLevelList:[],//客群消费水平
|
||||||
@ -66,6 +70,11 @@ export default {
|
|||||||
uni.setStorageSync('phoneInfo',systemInfo)
|
uni.setStorageSync('phoneInfo',systemInfo)
|
||||||
this.statusBarHeight = Number(systemInfo.statusBarHeight)
|
this.statusBarHeight = Number(systemInfo.statusBarHeight)
|
||||||
this.menu = uni.getMenuButtonBoundingClientRect()
|
this.menu = uni.getMenuButtonBoundingClientRect()
|
||||||
|
// 把获取图表数据的方法统一放在一起 然后去请求接口拿到数据 再分批传到相对应的图标组件
|
||||||
|
// 每个图表都是用组件的方式引入的 数据是通过prop传入的
|
||||||
|
// 每个组件需要的数据格式都注释在方法的下面 方便修改,接口拿到数据之后 就是对数据进行处理 普通的遍历数组和遍历对象的方法
|
||||||
|
//customer
|
||||||
|
this.getCustomer()
|
||||||
//客群分析男女的气泡图
|
//客群分析男女的气泡图
|
||||||
this.getGenderBubbleList()
|
this.getGenderBubbleList()
|
||||||
//客群消费偏好
|
//客群消费偏好
|
||||||
@ -76,50 +85,157 @@ export default {
|
|||||||
this.getBusinessTypeList()
|
this.getBusinessTypeList()
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
//customer
|
||||||
|
// 用async await直接等待接口数据返回之后再对数据直接进行处理 节约时间
|
||||||
|
async getCustomer(){
|
||||||
|
const req = {
|
||||||
|
Province_Code:'340000',
|
||||||
|
Statistics_Date:this.time,
|
||||||
|
Serverpart_ID:416,
|
||||||
|
ShowConsumptionLevel:true,
|
||||||
|
ShowConvertRate:true
|
||||||
|
}
|
||||||
|
let totalData = await request.$webGet('CommercialApi/Revenue/GetTransactionAnalysis',req)
|
||||||
|
this.customer = totalData.Result_Data
|
||||||
|
},
|
||||||
//客群分析男女的气泡图
|
//客群分析男女的气泡图
|
||||||
getGenderBubbleList(){
|
async getGenderBubbleList(){
|
||||||
let res = [
|
let result = {
|
||||||
{
|
man:'',
|
||||||
name: "男",
|
woman:'',
|
||||||
data: [[25,60,60],[40,35,35]]
|
res:[]
|
||||||
},
|
}
|
||||||
{
|
const req = {
|
||||||
name: "女",
|
statisticsType:2,
|
||||||
data: [[25,35,35],[35,15,15]]
|
provinceCode:'340000',
|
||||||
|
serverpartId:416,
|
||||||
|
statisticsMonth:'202303'
|
||||||
|
}
|
||||||
|
let totalData = await request.$webGet('CommercialApi/Customer/GetCustomerRatio',req)
|
||||||
|
totalData.Result_Data.List.forEach(item=>{
|
||||||
|
// 判断男性和女性 然后赋值
|
||||||
|
if (item.name === '男性'){
|
||||||
|
result.man = item.data[0]
|
||||||
|
}else if(item.name === '女性'){
|
||||||
|
result.woman = item.data[0]
|
||||||
}
|
}
|
||||||
]
|
})
|
||||||
this.genderBubbleList = res
|
const bubbleReq = {
|
||||||
|
provinceCode:'340000',
|
||||||
|
serverpartId:416,
|
||||||
|
statisticsMonth:'202303'
|
||||||
|
}
|
||||||
|
|
||||||
|
let bubbleData = await request.$webGet('CommercialApi/Customer/GetCustomerGroupRatio',bubbleReq)
|
||||||
|
result.res = bubbleData.Result_Data.List
|
||||||
|
// let res = [
|
||||||
|
// {
|
||||||
|
// name: "男",
|
||||||
|
// data: [[25,60,30],[40,35,17]]
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// name: "女",
|
||||||
|
// data: [[25,35,17],[35,15,15]]
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
this.genderBubbleList = result
|
||||||
},
|
},
|
||||||
//客群消费偏好
|
//客群消费偏好
|
||||||
getConsterPreferList(){
|
async getConsterPreferList(){
|
||||||
let res = {
|
const date = new Date(this.time)
|
||||||
categories: ['餐饮','商超','水果饮品','连锁品牌','粽子','小吃'],
|
let y = date.getFullYear()
|
||||||
series: [
|
let m = date.getMonth() + 1
|
||||||
{name: "男", data: [90,110,165,195,187,172]},
|
if (m<10){
|
||||||
{name: "女", data: [190,210,105,35,27,102]}
|
m ='0' + m
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const req = {
|
||||||
|
statisticsType:1,
|
||||||
|
startMonth:`202303`,
|
||||||
|
endMonth:`202303`,
|
||||||
|
provinceCode: '340000',
|
||||||
|
serverpartId: 416
|
||||||
|
}
|
||||||
|
const data = await request.$webGet('CommercialApi/Customer/GetCustomerSaleRatio',req)
|
||||||
|
console.log('data',data)
|
||||||
|
let res = {
|
||||||
|
categories:[],
|
||||||
|
series:[
|
||||||
|
{name: "男", data: []},
|
||||||
|
{name: "女", data: []}
|
||||||
|
],
|
||||||
|
max:''
|
||||||
|
}
|
||||||
|
data.Result_Data.CustomerSaleList.forEach(item=>{
|
||||||
|
res.categories.push(item.BusinessTradeName)
|
||||||
|
res.series[0].data.push(item.MaleRatio)
|
||||||
|
res.series[1].data.push(item.FemaleRatio)
|
||||||
|
})
|
||||||
|
res.max = data.Result_Data.MaxSexRatio
|
||||||
|
|
||||||
|
// let res = {
|
||||||
|
// categories: ['餐饮','商超','水果饮品','连锁品牌','粽子','小吃'],
|
||||||
|
// series: [
|
||||||
|
// {name: "男", data: [90,110,165,195,187,172]},
|
||||||
|
// {name: "女", data: [190,210,105,35,27,102]}
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
this.consterPreferList = res
|
this.consterPreferList = res
|
||||||
},
|
},
|
||||||
//客群消费水平
|
//客群消费水平
|
||||||
getConsumptionLevelList(){
|
async getConsumptionLevelList(){
|
||||||
let res=[{name:'男',big:'14.8',normal:'41.7',small:'43.5'},
|
const req = {
|
||||||
{name:'女',big:'44.1',normal:'31.7',small:'24.2'}]
|
provinceCode:'340000',
|
||||||
|
serverpartId:416,
|
||||||
|
statisticsMonth:'202303'
|
||||||
|
}
|
||||||
|
const data = await request.$webGet('CommercialApi/Customer/GetCustomerConsumeRatio',req)
|
||||||
|
console.log('data',data)
|
||||||
|
let res = []
|
||||||
|
data.Result_Data.List.forEach(item=>{
|
||||||
|
res.push({name:item.name,big:item.data[3],normal:item.data[1]+item.data[2],small:item.data[0]})
|
||||||
|
})
|
||||||
|
|
||||||
|
// let res=[{name:'男',big:'14.8',normal:'41.7',small:'43.5'},
|
||||||
|
// {name:'女',big:'44.1',normal:'31.7',small:'24.2'}]
|
||||||
this.consumptionLevelList = res
|
this.consumptionLevelList = res
|
||||||
},
|
},
|
||||||
//业态偏好
|
//业态偏好
|
||||||
getBusinessTypeList(){
|
async getBusinessTypeList(){
|
||||||
let res=[
|
const req = {
|
||||||
|
ProvinceCode:'340000',
|
||||||
|
StatisticsDate:'2023-04-02',
|
||||||
|
serverpartId:416
|
||||||
|
}
|
||||||
|
const data = await request.$webGet('CommercialApi//Revenue/GetBusinessTradeRevenue',req)
|
||||||
|
let res = []
|
||||||
|
let all = 0
|
||||||
|
data.Result_Data.BusinessTradeRank.forEach((item,index)=>{
|
||||||
|
if (index<=4){
|
||||||
|
res.push({name:`${item.name} ${item.value}%`,value:Number(item.value)})
|
||||||
|
all+=Number(item.value)
|
||||||
|
}else if(index===5){
|
||||||
|
res.push({name:`其他${(100-all).toFixed(2)}%`,value:Number((100 - all).toFixed(2))})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log('res21312312',res)
|
||||||
|
let result = [
|
||||||
{
|
{
|
||||||
data: [{name:"餐饮",value:35.6},
|
data:res
|
||||||
{name:"小吃",value:22.5},
|
|
||||||
{name:"水果饮品",value:17.3},
|
|
||||||
{name:"粽子",value:15.2},
|
|
||||||
{name:"商超",value:5.8},
|
|
||||||
{name:"其他",value:3.6}]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
this.businessTypeList = res
|
|
||||||
|
// let res=[
|
||||||
|
// {
|
||||||
|
// data: [{name:"餐饮 35.6%",value:35.6},
|
||||||
|
// {name:"小吃 22.5%",value:22.5},
|
||||||
|
// {name:"水果饮品 17.3%",value:17.3},
|
||||||
|
// {name:"粽子 15.2%",value:15.2},
|
||||||
|
// {name:"商超 5.8%",value:5.8},
|
||||||
|
// {name:"其他 3.6%",value:3.6}]
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
this.businessTypeList = result
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -145,4 +261,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
<p class="sumMoney">413,168.00</p>
|
<p class="sumMoney">413,168.00</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<image class="icon" src=""></image>
|
<image class="icon" src="/static/images/commercial/addArrow.svg"></image>
|
||||||
<p class="add">+43.00%</p>
|
<p class="add">+43.00%</p>
|
||||||
<p class="text">(相比去年同日)</p>
|
<p class="text">(相比去年同日)</p>
|
||||||
</div>
|
</div>
|
||||||
@ -38,9 +38,10 @@
|
|||||||
<p class="title" style="margin-top: 20px">营收对比</p>
|
<p class="title" style="margin-top: 20px">营收对比</p>
|
||||||
<money-compare :data="moneyCompareList"/>
|
<money-compare :data="moneyCompareList"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="subItem">
|
<div class="subItem ">
|
||||||
<p class="title" style="margin-top: 20px">营收趋势</p>
|
<p class="title" style="margin-top: 20px">营收趋势</p>
|
||||||
<revenue-trends :data="trendsList"/>
|
<revenue-trends :data="trendsList"/>
|
||||||
|
<analyse/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="chartsItem" style="margin-top: 32px">
|
<div class="chartsItem" style="margin-top: 32px">
|
||||||
@ -155,12 +156,13 @@ import headerTop from "./components/headerTop.vue";
|
|||||||
import RevenueAnalysis from "./components/manager/revenueAnalysis.vue";
|
import RevenueAnalysis from "./components/manager/revenueAnalysis.vue";
|
||||||
import ContractGuarantee from "./components/manager/contractGuarantee.vue";
|
import ContractGuarantee from "./components/manager/contractGuarantee.vue";
|
||||||
import MoneyCompare from "./components/manager/moneyCompare.vue";
|
import MoneyCompare from "./components/manager/moneyCompare.vue";
|
||||||
|
import analyse from "./components/analyse.vue";
|
||||||
import RevenueTrends from "./components/manager/revenueTrends.vue";
|
import RevenueTrends from "./components/manager/revenueTrends.vue";
|
||||||
import request from '@/util/index.js'
|
import request from '@/util/index.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "businessPortrait",
|
name: "businessPortrait",
|
||||||
components: {RevenueTrends, MoneyCompare, ContractGuarantee, RevenueAnalysis, headerTop},
|
components: {RevenueTrends, MoneyCompare, ContractGuarantee, RevenueAnalysis, headerTop,analyse},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
topBg:'linear-gradient(180deg, #D9CCEF 0%, #DED3F2 100%);',
|
topBg:'linear-gradient(180deg, #D9CCEF 0%, #DED3F2 100%);',
|
||||||
@ -330,7 +332,6 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 8px;
|
|
||||||
.left,.right{
|
.left,.right{
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -339,14 +340,12 @@ export default {
|
|||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #160002;
|
color: #160002;
|
||||||
margin: 6px 0;
|
|
||||||
}
|
}
|
||||||
.value{
|
.value{
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #160002;
|
color: #160002;
|
||||||
margin: 6px 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -571,14 +570,15 @@ export default {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #160002;
|
color: #786B6C;
|
||||||
}
|
}
|
||||||
.tabItemActive{
|
.tabItemActive{
|
||||||
|
color: #160002;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.subItem{
|
.subItem{
|
||||||
width:calc(100% - 32px);
|
width:100%;
|
||||||
.title{
|
.title{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: PingFangSC-Semibold, PingFang SC;
|
font-family: PingFangSC-Semibold, PingFang SC;
|
||||||
@ -588,9 +588,10 @@ export default {
|
|||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
}
|
}
|
||||||
.money{
|
.money{
|
||||||
width:100%;
|
width:calc(100% - 32px);
|
||||||
padding: 18px 16px;
|
padding: 18px 16px;
|
||||||
background: #F7F7F7;
|
background: #F7F7F7;
|
||||||
|
border-radius: 4px;
|
||||||
.top{
|
.top{
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -615,6 +616,7 @@ export default {
|
|||||||
.icon{
|
.icon{
|
||||||
width: 14px;
|
width: 14px;
|
||||||
height: 14px;
|
height: 14px;
|
||||||
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
.add{
|
.add{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -622,6 +624,7 @@ export default {
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #FA5151;
|
color: #FA5151;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
.text{
|
.text{
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -636,4 +639,4 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
488
pages/commercialBI/planMonth.vue
Normal file
@ -0,0 +1,488 @@
|
|||||||
|
<template>
|
||||||
|
<div class="main">
|
||||||
|
<div class="thisMonth" v-if="type==='month'">
|
||||||
|
<div class="titleTop">
|
||||||
|
<p class="title">本月自营计划</p>
|
||||||
|
<div class="question" @click="handleShowNotice">
|
||||||
|
<image src="/static/images/index/noticeQuestion.svg"></image>
|
||||||
|
</div>
|
||||||
|
<div v-if="showNotice" class="titleTopNotice">这里是注解文字,这里是注解文字,这里是注解文字,这里是注解文字,这里是注解文字</div>
|
||||||
|
<div v-if="showNotice" class="meng" @click="handleNoShowNotice"></div>
|
||||||
|
</div>
|
||||||
|
<view class="box">
|
||||||
|
<view class="top">
|
||||||
|
<view class="big">
|
||||||
|
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/thisMonth.svg"></image>
|
||||||
|
</view>
|
||||||
|
<view class="text">
|
||||||
|
<view class="textTop">
|
||||||
|
<view class="left">
|
||||||
|
<p class="number">{{plan.percentageMonth?plan.percentageMonth + '%':'-'}}</p>
|
||||||
|
<p v-if="plan.percentageMonth>=100" class="desc"><image class="success" src="/static/images/index/successMonth.svg"></image></p>
|
||||||
|
</view>
|
||||||
|
<view class="right">
|
||||||
|
<text class="comparePlan">比计划: </text>
|
||||||
|
<view class="box2">
|
||||||
|
<image class="addIcon" :src="Number(monthAdd)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
|
<p class="text">{{monthAdd?monthAdd + '%':'-'}}</p>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<div class="progressPlan">
|
||||||
|
<div class="trans" :style="{width:plan.percentageMonth + '%'}"></div>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="bottom">
|
||||||
|
<view class="success" style="margin-right: 39px">
|
||||||
|
<p class="text">本月已完成<text class="unit">/元</text></p>
|
||||||
|
<p class="money">{{plan.RevenueMonth_Amount?plan.RevenueMonth_Amount:'-'}}</p>
|
||||||
|
</view>
|
||||||
|
<view class="success">
|
||||||
|
<p class="text">本月计划<text class="unit">/元</text></p>
|
||||||
|
<p class="money">{{plan.BudgetMonth_Amount?plan.BudgetMonth_Amount:'-'}}</p>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
<div class="thisYear" style="margin-top: 0px" v-if="type==='year'">
|
||||||
|
<div class="titleTop">
|
||||||
|
<p class="title">年度自营计划</p>
|
||||||
|
<div class="question" @click="handleShowNoticeYear">
|
||||||
|
<image src="/static/images/index/noticeQuestion.svg"></image>
|
||||||
|
</div>
|
||||||
|
<div v-if="showNoticeYear" class="titleTopNotice">这里是注解文字,这里是注解文字,这里是注解文字,这里是注解文字,这里是注解文字</div>
|
||||||
|
<div v-if="showNoticeYear" class="meng" @click="handleNoShowNoticeYear"></div>
|
||||||
|
</div>
|
||||||
|
<view class="box">
|
||||||
|
<view class="top">
|
||||||
|
<view class="big">
|
||||||
|
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/planYear.svg"></image>
|
||||||
|
</view>
|
||||||
|
<view class="text">
|
||||||
|
<view class="textTop">
|
||||||
|
<view class="left">
|
||||||
|
<p class="number">{{plan.percentageYear?plan.percentageYear + '%':'-'}}</p>
|
||||||
|
<p v-if="plan.percentageYear>=100" class="desc" style="color: #4E68FF"><image class="success" src="/static/images/index/yearSuccess.svg"></image></p>
|
||||||
|
</view>
|
||||||
|
<view class="right">
|
||||||
|
<text class="comparePlan">比计划: </text>
|
||||||
|
<div class="box2">
|
||||||
|
<image class="addIcon" :src="Number(yearAdd)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
|
<p class="text">{{yearAdd?yearAdd + '%':''}}</p>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<div class="progressPlan">
|
||||||
|
<div class="transYear" :style="{width:plan.percentageYear + '%'}"></div>
|
||||||
|
<!-- <image class="img" :style="{width: plan.percentageYear + '%'}" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png"></image>-->
|
||||||
|
<!-- <div class=pro :style="{width:(100 - plan.percentageYear)+ '%'}"></div>-->
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="bottom">
|
||||||
|
<view class="success" style="margin-right: 39px">
|
||||||
|
<p class="text">年度已完成<text class="unit">/元</text></p>
|
||||||
|
<p class="money">{{plan.RevenueYear_Amount?plan.RevenueYear_Amount:'-'}}</p>
|
||||||
|
</view>
|
||||||
|
<view class="success">
|
||||||
|
<p class="text">年度计划<text class="unit">/元</text></p>
|
||||||
|
<p class="money">{{plan.BudgetYear_Amount?plan.BudgetYear_Amount:'-'}}</p>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list" v-for="(item,index) in dataList" :key="index">
|
||||||
|
<div class="top">
|
||||||
|
<div class="left">
|
||||||
|
<image class="icon" :src="type==='month'?'/static/images/commercial/planMonth.svg':'/static/images/commercial/planYear.svg'"></image>
|
||||||
|
<p class="title">{{item.title}}</p>
|
||||||
|
</div>
|
||||||
|
<div class="value" :style="{color:type==='year'?'#4962FF':''}">{{item.value}}%</div>
|
||||||
|
</div>
|
||||||
|
<div class="progress">
|
||||||
|
<div class="have" :style="{width:item.value + '%',background: type==='month'?'#FF8E5B':'#778CFD'}"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bottom">
|
||||||
|
<div class="success">
|
||||||
|
<p>本月已完成<text>/元</text></p>
|
||||||
|
<p class="money">{{item.monthSuccess}}</p>
|
||||||
|
</div>
|
||||||
|
<div class="success">
|
||||||
|
<p>本月计划<text>/元</text></p>
|
||||||
|
<p class="money">{{item.planMonth}}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import request from '@/util/index.js'
|
||||||
|
export default {
|
||||||
|
name: "planMonth",
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
plan:{},
|
||||||
|
monthAdd:'',
|
||||||
|
yearAdd:'',
|
||||||
|
lastDay:'',
|
||||||
|
type:'month',
|
||||||
|
showNotice:false,
|
||||||
|
showNoticeYear:false,
|
||||||
|
dataList:[{title:'合肥片区',value:84.03,monthSuccess:'36,830,433.12',planMonth:'65,768,321.76'},{title:'安庆片区',value:57.14,monthSuccess:'36,830,433.12',planMonth:'65,768,321.76'}]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(option){
|
||||||
|
this.lastDay = option.lastDay
|
||||||
|
this.type = option.type
|
||||||
|
if (this.type==='month'){
|
||||||
|
uni.setNavigationBarTitle({
|
||||||
|
title: '本月自营计划',
|
||||||
|
})
|
||||||
|
}else if(this.type==='year'){
|
||||||
|
uni.setNavigationBarTitle({
|
||||||
|
title: '年度自营计划',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
this.monthYearPlan()
|
||||||
|
|
||||||
|
},
|
||||||
|
methods:{
|
||||||
|
monthYearPlan(){
|
||||||
|
const monthDate= {
|
||||||
|
Province_Code:'340000',
|
||||||
|
Statistics_Date:this.lastDay
|
||||||
|
}
|
||||||
|
request.$webGet('CommercialApi/Revenue/GetRevenueBudget',monthDate).then(res=>{
|
||||||
|
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
||||||
|
this.plan = res.Result_Data
|
||||||
|
this.plan.percentageMonth = (res.Result_Data.RevenueMonth_Amount / res.Result_Data.BudgetMonth_Amount*100).toFixed(2)
|
||||||
|
this.plan.percentageYear = (res.Result_Data.RevenueYear_Amount / res.Result_Data.BudgetYear_Amount*100).toFixed(2)
|
||||||
|
let date = new Date(this.lastDay)
|
||||||
|
let nowDay = date.getDate()
|
||||||
|
let day = this.$util.getThisMonthDay(this.lastDay)
|
||||||
|
//一天应该的增长率
|
||||||
|
let oneDay = 100/day
|
||||||
|
// 到了当天的应该有的百分比
|
||||||
|
let thisDayShould= oneDay*nowDay
|
||||||
|
this.monthAdd = (this.plan.percentageMonth - thisDayShould).toFixed(2)
|
||||||
|
this.yearAdd = (((res.Result_Data.RevenueYear_Amount - res.Result_Data.RevenueYear_PlanAmount)/res.Result_Data.BudgetYear_Amount)*100).toFixed(2)
|
||||||
|
//处理数据
|
||||||
|
this.plan.RevenueMonth_Amount = this.$util.fmoney(res.Result_Data.RevenueMonth_Amount)
|
||||||
|
this.plan.BudgetMonth_Amount = this.$util.fmoney(res.Result_Data.BudgetMonth_Amount)
|
||||||
|
this.plan.RevenueYear_Amount = this.$util.fmoney(res.Result_Data.RevenueYear_Amount)
|
||||||
|
this.plan.BudgetYear_Amount = this.$util.fmoney(res.Result_Data.BudgetYear_Amount)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleShowNotice(){
|
||||||
|
this.showNotice = true
|
||||||
|
},
|
||||||
|
handleNoShowNotice(){
|
||||||
|
this.showNotice = false
|
||||||
|
},
|
||||||
|
handleShowNoticeYear(){
|
||||||
|
this.showNoticeYear = true
|
||||||
|
},
|
||||||
|
handleNoShowNoticeYear(){
|
||||||
|
this.showNoticeYear = false
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.main{
|
||||||
|
padding: 0 16px;
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
.thisMonth,.thisYear{
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 12px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
.titleTop{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
.title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-family: PingFangSC-Semibold, PingFang SC;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #160002;
|
||||||
|
line-height: 44rpx;
|
||||||
|
}
|
||||||
|
.question{
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-left: 4px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
image{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.titleTopNotice{
|
||||||
|
position: absolute;
|
||||||
|
padding: 12px;
|
||||||
|
left:35%;
|
||||||
|
top: 0;
|
||||||
|
width: 50vw;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0 10px 10px 0 rgba(22,0,2,0.1);
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
.meng{
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.box {
|
||||||
|
width: 100%;
|
||||||
|
padding: 12px 16px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #f5f2f2;
|
||||||
|
margin-top: 12px;
|
||||||
|
.top {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
.big {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
background: #ffffff;
|
||||||
|
border-radius: 8px;
|
||||||
|
border: 1px solid #ebebeb;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin-right: 8px;
|
||||||
|
.icon {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.text {
|
||||||
|
width: calc(100% - 60px);
|
||||||
|
padding: 2px 0;
|
||||||
|
.textTop{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
.left{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.number {
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #150002;
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
.desc{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-left: 8px;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #FF7043;
|
||||||
|
.success{
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.right{
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
.comparePlan{
|
||||||
|
font-size: 24rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #a69e9f;
|
||||||
|
line-height: 36rpx;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
.box2{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.text{
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
|
color: #150002;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
.addIcon {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.progressPlan{
|
||||||
|
width: 100%;
|
||||||
|
height: 8px;
|
||||||
|
border-radius: 5px;
|
||||||
|
background: #fff;
|
||||||
|
margin-top: 8px;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
.trans{
|
||||||
|
height: 8px;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;top: 0;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png")no-repeat 100% 100%;
|
||||||
|
}
|
||||||
|
.transYear{
|
||||||
|
height: 8px;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;top: 0;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png")no-repeat 100% 100%;
|
||||||
|
}
|
||||||
|
//.img{
|
||||||
|
// width: 100%;
|
||||||
|
// height: 100%;
|
||||||
|
// position: absolute;
|
||||||
|
// top: 0;
|
||||||
|
// left: 0;
|
||||||
|
// z-index:1;
|
||||||
|
//}
|
||||||
|
//.pro{
|
||||||
|
// height: 100%;
|
||||||
|
// position: absolute;
|
||||||
|
// top: 0;right: 0;
|
||||||
|
// background: #fff;
|
||||||
|
// z-index:2;
|
||||||
|
//}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bottom {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 16px;
|
||||||
|
padding-left: 48px;
|
||||||
|
.success {
|
||||||
|
.text {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786b6c;
|
||||||
|
line-height: 40rpx;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
.unit {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #a69e9f;
|
||||||
|
line-height: 40rpx;
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.money {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #160002;
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.list{
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 12px;
|
||||||
|
background: #F5F5F5;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
.top{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
.left{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
.icon{
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
.title{
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: PingFangSC-Semibold, PingFang SC;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #150002;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.value{
|
||||||
|
font-size: 14px;
|
||||||
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FF6D40;
|
||||||
|
line-height: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.progress{
|
||||||
|
width: 100%;
|
||||||
|
height: 8px;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 6px;
|
||||||
|
margin: 8px 0 16px;
|
||||||
|
position: relative;
|
||||||
|
.have{
|
||||||
|
position: absolute;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 6px;
|
||||||
|
top: 0;left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bottom {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
margin-top: 16px;
|
||||||
|
.success {
|
||||||
|
width: 50%;
|
||||||
|
.text {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #786b6c;
|
||||||
|
line-height: 40rpx;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
.unit {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #a69e9f;
|
||||||
|
line-height: 40rpx;
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.money {
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #160002;
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -184,7 +184,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<shopCell v-for="(item,i) in regionList" :key="i" :item='item' @toggleShow="toggleShow" :i='i' />
|
<shopCell v-for="(item,i) in regionList" :key="i" :item='item' @toggleShow="toggleShow" :i='i' />
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
<template v-if="theRequest && theRequest.ProvinceCode==620000">
|
<template v-if="theRequest && theRequest.ProvinceCode==620000">
|
||||||
@ -548,13 +548,13 @@
|
|||||||
...n,
|
...n,
|
||||||
textColor: '#999',
|
textColor: '#999',
|
||||||
formatter: function(arg) {
|
formatter: function(arg) {
|
||||||
|
|
||||||
if (typeof arg === 'number') {
|
if (typeof arg === 'number') {
|
||||||
return [n.name, (arg * 100).toFixed(2) + '%']
|
return [n.name, (arg * 100).toFixed(2) + '%']
|
||||||
} else {
|
} else {
|
||||||
return [arg.name, (arg._proportion_ * 100).toFixed(2) + '%']
|
return [arg.name, (arg._proportion_ * 100).toFixed(2) + '%']
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -629,18 +629,18 @@
|
|||||||
ProvinceCode,
|
ProvinceCode,
|
||||||
time
|
time
|
||||||
} = this.theRequest
|
} = this.theRequest
|
||||||
|
|
||||||
const data = await this.$request.$webGet('CommercialApi/Revenue/GetWechatPushSalesList', {
|
const data = await this.$request.$webGet('CommercialApi/Revenue/GetWechatPushSalesList', {
|
||||||
pushProvinceCode: ProvinceCode,
|
pushProvinceCode: ProvinceCode,
|
||||||
Statistics_Date: time
|
Statistics_Date: time
|
||||||
})
|
})
|
||||||
|
|
||||||
if (data.Result_Code === 100 && data.Result_Data.TotalCount > 0) {
|
if (data.Result_Code === 100 && data.Result_Data.TotalCount > 0) {
|
||||||
this.wechatPushSalesList = {}
|
this.wechatPushSalesList = {}
|
||||||
data.Result_Data.List.forEach(n => {
|
data.Result_Data.List.forEach(n => {
|
||||||
this.wechatPushSalesList[n.Data_Type]= n.GoodsList
|
this.wechatPushSalesList[n.Data_Type]= n.GoodsList
|
||||||
})
|
})
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
this.wechatPushSalesList = {}
|
this.wechatPushSalesList = {}
|
||||||
}
|
}
|
||||||
@ -689,7 +689,7 @@
|
|||||||
}
|
}
|
||||||
// 若省份为甘肃,则加载甘肃单品排行
|
// 若省份为甘肃,则加载甘肃单品排行
|
||||||
if (this.theRequest.ProvinceCode == 620000) {
|
if (this.theRequest.ProvinceCode == 620000) {
|
||||||
|
|
||||||
this.getRankContent()
|
this.getRankContent()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -738,7 +738,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.new-content {
|
.new-content {
|
||||||
background: url('/static/images/revenue/banner.png') no-repeat bottom left;
|
background: url('https://eshangtech.com/ShopICO/ahyd-BID/revenue/banner.png') no-repeat bottom left;
|
||||||
height: 383rpx;
|
height: 383rpx;
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|||||||
@ -71,8 +71,8 @@ const scene = [{
|
|||||||
"name": "扫一扫",
|
"name": "扫一扫",
|
||||||
"id": "1",
|
"id": "1",
|
||||||
"modelName": "",
|
"modelName": "",
|
||||||
"imagePath": "/static/images/index/saoyisao.png",
|
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/saoyisao.png",
|
||||||
"noImagePath": "/static/images/index/saoyisao-no.png",
|
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/saoyisao-no.png",
|
||||||
"homeUrl": ""
|
"homeUrl": ""
|
||||||
}, {
|
}, {
|
||||||
"name": "走动式管理",
|
"name": "走动式管理",
|
||||||
@ -96,10 +96,10 @@ const scene = [{
|
|||||||
"imagePath": "/static/images/index/syjh.png",
|
"imagePath": "/static/images/index/syjh.png",
|
||||||
"noImagePath": "/static/images/index/syjh-no.png",
|
"noImagePath": "/static/images/index/syjh-no.png",
|
||||||
"homeUrl": "/pages/cashAudit/list"
|
"homeUrl": "/pages/cashAudit/list"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "稽核异常",
|
"name": "稽核异常",
|
||||||
"id": "b548740f-a942-4de3-8d55-c0a2370171ba",
|
"id": "b548740f-a942-4de3-8d55-c0a2370171ba",
|
||||||
"modelName": "abnormalaudit",
|
"modelName": "abnormalaudit",
|
||||||
"imagePath": "/static/images/index/syjh.png",
|
"imagePath": "/static/images/index/syjh.png",
|
||||||
"noImagePath": "/static/images/index/syjh-no.png",
|
"noImagePath": "/static/images/index/syjh-no.png",
|
||||||
@ -156,8 +156,8 @@ const management = [{
|
|||||||
"name": "经营报表",
|
"name": "经营报表",
|
||||||
"id": "4a34e1d4-47c9-4c06-8e8e-f38c6bd9450b",
|
"id": "4a34e1d4-47c9-4c06-8e8e-f38c6bd9450b",
|
||||||
"modelName": "operatingStatements",
|
"modelName": "operatingStatements",
|
||||||
"imagePath": "/static/images/index/jybb.png",
|
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/jybb.png",
|
||||||
"noImagePath": "/static/images/index/jybb-no.png",
|
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/jybb-no.png",
|
||||||
"homeUrl": "/pages/operatingStatements/index"
|
"homeUrl": "/pages/operatingStatements/index"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<div class="headerTop" :style="{ height: menu.bottom + 5 + 'px'}">
|
<div class="headerTop" :style="{ height: menu.bottom + 5 + 'px'}">
|
||||||
<view class="selectTime" :style="{ top: menu.top + (menu.height - 22) / 2 + 'px' }">
|
<view class="selectTime" :style="{ top: menu.top + (menu.height - 22) / 2 + 'px' }">
|
||||||
<image class="dateIcon" src="/static/images/index/dateTime.svg"></image>
|
<image class="dateIcon" src="/static/images/index/dateTime.svg"></image>
|
||||||
<picker mode="date" :value="single" @change="bindDateChange" @click="handleDateClick">
|
<picker mode="date" :value="single" :start="startDate" :end="endData" @change="bindDateChange" @click="handleDateClick">
|
||||||
<view class="time">
|
<view class="time">
|
||||||
<text class="day">{{ thisDay }}</text>
|
<text class="day">{{ thisDay }}</text>
|
||||||
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view>
|
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view>
|
||||||
@ -16,17 +16,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<view class="other">
|
<view class="other">
|
||||||
<view v-if="user.Membership_Id" >
|
<view v-if="user.Membership_Id" >
|
||||||
<view class="topTitle">
|
<view class="topTitle">
|
||||||
<p class="title">对客营收</p>
|
<p class="title">对客营收</p>
|
||||||
<span class="text">门店上传: <text style="margin-left: 4px" :style="{color:isBig?'red':''}">{{showTableData.Revenue_Upload?showTableData.Revenue_Upload:'-'}}/{{allShopCount?allShopCount:'-'}}</text></span>
|
<span class="text">门店上传: <text style="margin-left: 4px" :style="{color:isBig?'red':''}">{{showTableData.Revenue_Upload?showTableData.Revenue_Upload:'-'}}/{{allShopCount?allShopCount:'-'}}</text></span>
|
||||||
</view>
|
</view>
|
||||||
<view class="box" @click="handlePage">
|
<view class="box" @click="handlePage">
|
||||||
<view class="priceBox">
|
<view class="priceBox">
|
||||||
<p :class="priceMove?'allPrice allPriceMove':'allPrice'">{{showTableData.CashPay || '0.00'}}</p>
|
<p class="allPrice">{{showTableData.CashPay || '0.00'}}</p>
|
||||||
</view>
|
</view>
|
||||||
<image class="start" src="https://ahyd.eshangtech.com/UploadImageDir/ahyd_DIB/index/start.svg"></image>
|
<image class="start" src="https://ahyd.eshangtech.com/UploadImageDir/ahyd_DIB/index/start.svg"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="addBox">
|
<view class="addBox">
|
||||||
<image class="arrowTop" :src="Number(showTableData.compared)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_top.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_reduce.svg'"></image>
|
<image class="arrowTop" :src="Number(showTableData.compared)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_top.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/arrow_reduce.svg'"></image>
|
||||||
<text class="text">{{showTableData.compared?showTableData.compared + '%':'-' + '%'}}</text>
|
<text class="text">{{showTableData.compared?showTableData.compared + '%':'-' + '%'}}</text>
|
||||||
<text class="compare">(相比昨日)</text>
|
<text class="compare">(相比昨日)</text>
|
||||||
@ -138,7 +138,7 @@
|
|||||||
<p class="money" v-else>{{ item.yesterValue }}</p>
|
<p class="money" v-else>{{ item.yesterValue }}</p>
|
||||||
<view v-if="index === 0 || index === 2" class="active">
|
<view v-if="index === 0 || index === 2" class="active">
|
||||||
<image v-if="Number(item.add)!==0" class="addIcon" :src="Number(item.add)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
<image v-if="Number(item.add)!==0" class="addIcon" :src="Number(item.add)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
|
||||||
<text v-if="Number(item.add)!==0" class="add" :style="{color:Number(item.add)<0?'#07C160':'#FA5151'}">{{ item.add }}</text>
|
<text v-if="Number(item.add)!==0" class="add" :style="{color:Number(item.add)<0?'#07C160':'#FA5151'}">{{ item.add>0?'+' + item.add:item.add }}</text>
|
||||||
<text v-if="Number(item.add)!==0" class="yesterday">(相比昨日)</text>
|
<text v-if="Number(item.add)!==0" class="yesterday">(相比昨日)</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="otherBox" v-else>
|
<view class="otherBox" v-else>
|
||||||
@ -233,8 +233,15 @@
|
|||||||
</view>
|
</view>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="thisMonth">
|
<div class="thisMonth" @click="handlePlanPageGo('month')">
|
||||||
<p class="title">本月自营计划</p>
|
<div class="titleTop">
|
||||||
|
<p class="title">本月自营计划</p>
|
||||||
|
<div class="question" @click.stop="handleShowNotice">
|
||||||
|
<image src="/static/images/index/noticeQuestion.svg"></image>
|
||||||
|
</div>
|
||||||
|
<div v-if="showNotice" class="titleTopNotice">这里是注解文字,这里是注解文字,这里是注解文字,这里是注解文字,这里是注解文字</div>
|
||||||
|
<div v-if="showNotice" class="meng" @click.stop="handleNoShowNotice"></div>
|
||||||
|
</div>
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="top">
|
<view class="top">
|
||||||
<view class="big">
|
<view class="big">
|
||||||
@ -275,8 +282,15 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</div>
|
</div>
|
||||||
<div class="thisYear" style="margin-top: 0px">
|
<div class="thisYear" style="margin-top: 0px" @click="handlePlanPageGo('year')">
|
||||||
<p class="title">年度自营计划</p>
|
<div class="titleTop">
|
||||||
|
<p class="title">年度自营计划</p>
|
||||||
|
<div class="question" @click.stop="handleShowNoticeYear">
|
||||||
|
<image src="/static/images/index/noticeQuestion.svg"></image>
|
||||||
|
</div>
|
||||||
|
<div v-if="showNoticeYear" class="titleTopNotice">这里是注解文字,这里是注解文字,这里是注解文字,这里是注解文字,这里是注解文字</div>
|
||||||
|
<div v-if="showNoticeYear" class="meng" @click.stop="handleNoShowNoticeYear"></div>
|
||||||
|
</div>
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="top">
|
<view class="top">
|
||||||
<view class="big">
|
<view class="big">
|
||||||
@ -319,7 +333,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<div class="notice" v-if="isShow">
|
<div class="notice" v-if="isShow">
|
||||||
<view class="left">
|
<view class="left">
|
||||||
<image class="icon" src="/static/images/index/warning.svg"></image>
|
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/warning.svg"></image>
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<p class="name">{{isShowTitle}}个投诉建议</p>
|
<p class="name">{{isShowTitle}}个投诉建议</p>
|
||||||
<!-- <p class="desc"></p>-->
|
<!-- <p class="desc"></p>-->
|
||||||
@ -353,6 +367,8 @@ export default {
|
|||||||
statusBarHeight:'',// 每个手机的状态栏高度
|
statusBarHeight:'',// 每个手机的状态栏高度
|
||||||
page:'/pages/index/index',
|
page:'/pages/index/index',
|
||||||
menu:'', // 胶囊按钮高度
|
menu:'', // 胶囊按钮高度
|
||||||
|
startDate:'',// 开始时间
|
||||||
|
endData:'', // 结束时间
|
||||||
detailList:[ { name: '长款金额', unit: '/元', price:0 },
|
detailList:[ { name: '长款金额', unit: '/元', price:0 },
|
||||||
{ name: '短款金额', unit: '/元', price: 0 },
|
{ name: '短款金额', unit: '/元', price: 0 },
|
||||||
{ name: '优惠金额', unit: '/元', price: 0 },
|
{ name: '优惠金额', unit: '/元', price: 0 },
|
||||||
@ -362,7 +378,7 @@ export default {
|
|||||||
{ name: '入区车流', unit: '/辆', price: 0 },
|
{ name: '入区车流', unit: '/辆', price: 0 },
|
||||||
{ name: '入区率', unit: '', price: 0 },
|
{ name: '入区率', unit: '', price: 0 },
|
||||||
{ name: '停留时长', unit: '', price: 0 },],
|
{ name: '停留时长', unit: '', price: 0 },],
|
||||||
tabTypeList:[ { imgUrl: '/static/images/index/car.svg', path: '/pages/commercialBI/carPortrait', name: '车流画像' },
|
tabTypeList:[ { imgUrl: 'https://eshangtech.com/ShopICO/ahyd-BID/index/car.svg', path: '/pages/commercialBI/carPortrait', name: '车流画像' },
|
||||||
{ imgUrl: '/static/images/index/guest.svg', path: '/pages/commercialBI/guestPortrait', name: '客群画像' },
|
{ imgUrl: '/static/images/index/guest.svg', path: '/pages/commercialBI/guestPortrait', name: '客群画像' },
|
||||||
{ imgUrl: '/static/images/index/business_icon.svg', path: '/pages/commercialBI/managePortrait', name: '经营画像' },
|
{ imgUrl: '/static/images/index/business_icon.svg', path: '/pages/commercialBI/managePortrait', name: '经营画像' },
|
||||||
{ imgUrl: '/static/images/index/trade.svg', path: '/pages/commercialBI/businessPortrait', name: '交易画像' },
|
{ imgUrl: '/static/images/index/trade.svg', path: '/pages/commercialBI/businessPortrait', name: '交易画像' },
|
||||||
@ -388,6 +404,8 @@ export default {
|
|||||||
buyPriceYes:'',//昨日采购金额
|
buyPriceYes:'',//昨日采购金额
|
||||||
regionList: null,
|
regionList: null,
|
||||||
nowTab: 1,
|
nowTab: 1,
|
||||||
|
showNotice:false,
|
||||||
|
showNoticeYear:false,
|
||||||
priceMove:false,//价格出现的动画效果
|
priceMove:false,//价格出现的动画效果
|
||||||
carInfo:{},//车流信息
|
carInfo:{},//车流信息
|
||||||
regionProgress: null,
|
regionProgress: null,
|
||||||
@ -457,6 +475,21 @@ export default {
|
|||||||
if (this.user.Membership_Id){
|
if (this.user.Membership_Id){
|
||||||
this.getData(option)
|
this.getData(option)
|
||||||
}
|
}
|
||||||
|
//设置日期选择器的开始时间和结束时间
|
||||||
|
let y = date.getFullYear()
|
||||||
|
let m = date.getMonth() + 1
|
||||||
|
let d = date.getDate()
|
||||||
|
let howDay
|
||||||
|
if (d - 8 <0){
|
||||||
|
let k = 8 - d
|
||||||
|
m = m - 1
|
||||||
|
const time = `${y}-${m}`
|
||||||
|
howDay = this.$util.getThisMonthDay(time)
|
||||||
|
this.startDate = `${y}-${m}-${howDay - k}`
|
||||||
|
}else{
|
||||||
|
this.startDate = `${y}-${m}-${d - 8}`
|
||||||
|
}
|
||||||
|
this.endData = this.lastDay
|
||||||
},
|
},
|
||||||
onShow(){
|
onShow(){
|
||||||
// 隐藏掉小程序本身自带的 tabbar 让自定义的tabbar出现
|
// 隐藏掉小程序本身自带的 tabbar 让自定义的tabbar出现
|
||||||
@ -469,8 +502,23 @@ export default {
|
|||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
...mapActions(['memberLogin','getLoginCode']),
|
...mapActions(['memberLogin','getLoginCode']),
|
||||||
|
handleShowNotice(){
|
||||||
|
this.showNotice = true
|
||||||
|
},
|
||||||
|
handleNoShowNotice(){
|
||||||
|
this.showNotice = false
|
||||||
|
},
|
||||||
|
handleShowNoticeYear(){
|
||||||
|
this.showNoticeYear = true
|
||||||
|
},
|
||||||
|
handleNoShowNoticeYear(){
|
||||||
|
this.showNoticeYear = false
|
||||||
|
},
|
||||||
|
handlePlanPageGo(type){
|
||||||
|
this.$util.toNextRoute('navigateTo', `/pages/commercialBI/planMonth?lastDay=${this.lastDay}&type=${type}`)
|
||||||
|
},
|
||||||
handlePage(){
|
handlePage(){
|
||||||
this.$util.toNextRoute('navigateTo', `/pages/operatingStatements/index?time=${this.lastDay}`)
|
this.$util.toNextRoute('navigateTo', `/pages/everdayRenven/index?time=${this.lastDay}`)
|
||||||
},
|
},
|
||||||
handleGoTab(item){
|
handleGoTab(item){
|
||||||
this.$util.toNextRoute('navigateTo', `${item.path}?time=${this.lastDay}&Serverpart_ID=372`)
|
this.$util.toNextRoute('navigateTo', `${item.path}?time=${this.lastDay}&Serverpart_ID=372`)
|
||||||
@ -549,17 +597,11 @@ export default {
|
|||||||
request.$webGet('CommercialApi/Revenue/GetRevenueBudget',monthDate).then(res=>{
|
request.$webGet('CommercialApi/Revenue/GetRevenueBudget',monthDate).then(res=>{
|
||||||
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
||||||
this.plan = res.Result_Data
|
this.plan = res.Result_Data
|
||||||
this.plan.percentageMonth = (res.Result_Data.RevenueMonth_Amount / res.Result_Data.BudgetMonth_Amount*100).toFixed(2)
|
this.plan.percentageMonth = res.Result_Data.MonthBudget_Degree
|
||||||
this.plan.percentageYear = (res.Result_Data.RevenueYear_Amount / res.Result_Data.BudgetYear_Amount*100).toFixed(2)
|
this.plan.percentageYear = res.Result_Data.YearBudget_Degree
|
||||||
let date = new Date(this.lastDay)
|
|
||||||
let nowDay = date.getDate()
|
this.monthAdd = this.plan.MonthGrowth_Rate
|
||||||
let day = this.$util.getThisMonthDay(this.lastDay)
|
this.yearAdd = res.Result_Data.YearGrowth_Rate
|
||||||
//一天应该的增长率
|
|
||||||
let oneDay = 100/day
|
|
||||||
// 到了当天的应该有的百分比
|
|
||||||
let thisDayShould= oneDay*nowDay
|
|
||||||
this.monthAdd = (this.plan.percentageMonth - thisDayShould).toFixed(2)
|
|
||||||
this.yearAdd = (((res.Result_Data.RevenueYear_Amount - res.Result_Data.RevenueYear_PlanAmount)/res.Result_Data.BudgetYear_Amount)*100).toFixed(2)
|
|
||||||
//处理数据
|
//处理数据
|
||||||
this.plan.RevenueMonth_Amount = this.$util.fmoney(res.Result_Data.RevenueMonth_Amount)
|
this.plan.RevenueMonth_Amount = this.$util.fmoney(res.Result_Data.RevenueMonth_Amount)
|
||||||
this.plan.BudgetMonth_Amount = this.$util.fmoney(res.Result_Data.BudgetMonth_Amount)
|
this.plan.BudgetMonth_Amount = this.$util.fmoney(res.Result_Data.BudgetMonth_Amount)
|
||||||
@ -582,7 +624,16 @@ export default {
|
|||||||
let _this = this
|
let _this = this
|
||||||
// 传入最近的有效日期就可以拿到当前有效日期的前一天的日期
|
// 传入最近的有效日期就可以拿到当前有效日期的前一天的日期
|
||||||
let yesterday = handleYesterday(this.lastDay)
|
let yesterday = handleYesterday(this.lastDay)
|
||||||
// 定义入参 除了改变时间 别的和老乡一致
|
console.log(this.lastDay)
|
||||||
|
if ((yesterday.substr(yesterday.length-1,1)) === '0'){
|
||||||
|
let date = new Date(this.lastDay)
|
||||||
|
let y = date.getFullYear()
|
||||||
|
let m = date.getMonth() //不加1 反正要减1
|
||||||
|
let day = this.$util.getThisMonthDay(this.lastDay)
|
||||||
|
yesterday = `${y}-${m}-${day}`
|
||||||
|
}
|
||||||
|
console.log('yesterday', yesterday)
|
||||||
|
// 定义入参 除了改变时间 别的和老项目一致
|
||||||
const data = {
|
const data = {
|
||||||
Statistics_Date:yesterday,
|
Statistics_Date:yesterday,
|
||||||
Statistics_Month:this.theRequest.month,
|
Statistics_Month:this.theRequest.month,
|
||||||
@ -627,11 +678,16 @@ export default {
|
|||||||
//这一日的订单配送
|
//这一日的订单配送
|
||||||
const todayData = {
|
const todayData = {
|
||||||
Province_Code:'340000',
|
Province_Code:'340000',
|
||||||
Statistics_Date: this.lastDay
|
Statistics_Date: this.lastDay,//2023-04-02
|
||||||
|
ShowCompareRate:true
|
||||||
}
|
}
|
||||||
request.$webGet('CommercialApi/Revenue/GetMallDeliver',todayData).then(res=>{
|
request.$webGet('CommercialApi/Revenue/GetMallDeliver',todayData).then(res=>{
|
||||||
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
||||||
this.lastDayBillCount = res.Result_Data.DeliverBill_Count
|
this.lastDayBillCount = res.Result_Data
|
||||||
|
this.detailTypeList[2].value = this.lastDayBillCount.DeliverBill_Count
|
||||||
|
this.detailTypeList[2].add = this.lastDayBillCount.DeliverBillGrowth_Count
|
||||||
|
this.detailTypeList[3].value = this.$util.fmoney(this.lastDayBillCount.MonthDeliver_Price )
|
||||||
|
this.detailTypeList[3].yesterValue = this.$util.fmoney(this.lastDayBillCount.Deliver_Price)
|
||||||
})
|
})
|
||||||
|
|
||||||
//昨日的订单配送
|
//昨日的订单配送
|
||||||
@ -666,14 +722,16 @@ export default {
|
|||||||
// 获取营收推送汇总数据
|
// 获取营收推送汇总数据
|
||||||
const allPriceData = {
|
const allPriceData = {
|
||||||
pushProvinceCode:'340000',
|
pushProvinceCode:'340000',
|
||||||
Statistics_Date:this.lastDay
|
Statistics_Date:this.lastDay,
|
||||||
|
ShowCompareRate: true
|
||||||
}
|
}
|
||||||
|
console.log('allPriceData',allPriceData)
|
||||||
request.$webGet('CommercialApi/Revenue/GetSummaryRevenue',allPriceData).then(res=>{
|
request.$webGet('CommercialApi/Revenue/GetSummaryRevenue',allPriceData).then(res=>{
|
||||||
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
// 赋值给data中的这个对象 在请求完之后会进行统一的数据处理
|
||||||
let result = res.Result_Data
|
let result = res.Result_Data
|
||||||
|
console.log('resultresultresult',result)
|
||||||
for(let key in result){
|
for(let key in result){
|
||||||
if (key!=='RevenuePushModel'){
|
if (key!=='RevenuePushModel' && key!=='GrowthRate'){
|
||||||
let all = 0
|
let all = 0
|
||||||
// 先算出全部的总额数量 用来计算百分比
|
// 先算出全部的总额数量 用来计算百分比
|
||||||
result[key].forEach(item=>{
|
result[key].forEach(item=>{
|
||||||
@ -693,6 +751,7 @@ export default {
|
|||||||
this.regionProgress = result.BusinessTradeList
|
this.regionProgress = result.BusinessTradeList
|
||||||
this.areaProgress = result.SPRegionList
|
this.areaProgress = result.SPRegionList
|
||||||
this.showTableData = result.RevenuePushModel
|
this.showTableData = result.RevenuePushModel
|
||||||
|
this.showTableData.compared = result.GrowthRate
|
||||||
this.todayAmount()
|
this.todayAmount()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -864,6 +923,7 @@ export default {
|
|||||||
|
|
||||||
//获取服务区门店商家数量列表(根据省份、服务区、区域、统计日期查询)
|
//获取服务区门店商家数量列表(根据省份、服务区、区域、统计日期查询)
|
||||||
const totalData = await request.$webGet('CommercialApi/BaseInfo/GetShopCountList',data)
|
const totalData = await request.$webGet('CommercialApi/BaseInfo/GetShopCountList',data)
|
||||||
|
console.log('totalData',totalData)
|
||||||
let all = 0
|
let all = 0
|
||||||
totalData.Result_Data.List.forEach(item=>{
|
totalData.Result_Data.List.forEach(item=>{
|
||||||
all+=item.SHOP_REVENUECOUNT
|
all+=item.SHOP_REVENUECOUNT
|
||||||
@ -872,11 +932,19 @@ export default {
|
|||||||
|
|
||||||
//获取移动支付分账数据
|
//获取移动支付分账数据
|
||||||
const shareData = {
|
const shareData = {
|
||||||
Province_Code:'340000',
|
Province_Code: '340000',
|
||||||
Statistics_Date:this.lastDay
|
Statistics_Date: this.lastDay,
|
||||||
|
ShowCompareRate: true
|
||||||
}
|
}
|
||||||
const mobileShareData = await request.$webGet('CommercialApi/Revenue/GetMobileShare',shareData)
|
const mobileShareData = await request.$webGet('CommercialApi/Revenue/GetMobileShare',shareData)
|
||||||
this.mobileData = mobileShareData.Result_Data
|
this.mobileData = mobileShareData.Result_Data
|
||||||
|
|
||||||
|
|
||||||
|
//mobileData 是移动支付分账接口返回来的全部数据
|
||||||
|
this.detailTypeList[0].value = this.mobileData.ShareShop_Count
|
||||||
|
this.detailTypeList[0].add = this.mobileData.ShareShopGrowth_Count
|
||||||
|
this.detailTypeList[1].value = this.$util.fmoney(this.mobileData.MonthRoyalty_Price)
|
||||||
|
this.detailTypeList[1].yesterValue = this.$util.fmoney(this.mobileData.Royalty_Price) //返回数据可能有问题
|
||||||
// 让金额的动画效果出来
|
// 让金额的动画效果出来
|
||||||
this.priceMove = true
|
this.priceMove = true
|
||||||
//处理数据的方法
|
//处理数据的方法
|
||||||
@ -894,21 +962,11 @@ export default {
|
|||||||
this.isBig = true
|
this.isBig = true
|
||||||
}
|
}
|
||||||
// 计算相对于昨日的增长率
|
// 计算相对于昨日的增长率
|
||||||
this.showTableData.compared = (((Number(this.showTableData.CashPay) - this.yesterdayAllPay) / this.yesterdayAllPay) * 100).toFixed(2)
|
// this.showTableData.compared = (((Number(this.showTableData.CashPay) - this.yesterdayAllPay) / this.yesterdayAllPay) * 100).toFixed(2)
|
||||||
// 客单均价
|
// 客单均价
|
||||||
this.showTableData.averagePrice = (Number(this.showTableData.CashPay) / Number(this.showTableData.TicketCount)).toFixed(2)
|
this.showTableData.averagePrice = (Number(this.showTableData.CashPay) / Number(this.showTableData.TicketCount)).toFixed(2)
|
||||||
// 商品均价
|
// 商品均价
|
||||||
this.showTableData.countave = (Number(this.showTableData.CashPay) / Number(this.showTableData.TotalCount)).toFixed(2)
|
this.showTableData.countave = (Number(this.showTableData.CashPay) / Number(this.showTableData.TotalCount)).toFixed(2)
|
||||||
//分润那四个选项卡的数据 进行统一处理
|
|
||||||
//mobileData 是移动支付分账接口返回来的全部数据
|
|
||||||
this.detailTypeList[0].value =this.mobileData.ShareShop_Count
|
|
||||||
this.detailTypeList[0].add = this.mobileData.ShareShop_Count - this.ShareShopCountYes
|
|
||||||
this.detailTypeList[1].value = this.$util.fmoney(this.monthPrice)
|
|
||||||
this.detailTypeList[1].yesterValue = this.$util.fmoney(this.mobileData.Royalty_Price) //返回数据可能有问题
|
|
||||||
this.detailTypeList[2].value = this.lastDayBillCount
|
|
||||||
this.detailTypeList[2].add = this.lastDayBillCount - this.yesterdayBillCount
|
|
||||||
this.detailTypeList[3].value = this.$util.fmoney(this.buyPriceMonth)
|
|
||||||
this.detailTypeList[3].yesterValue = this.$util.fmoney(this.buyPriceYes)
|
|
||||||
// 处理所有数据 变成有千分号和小数点的数据
|
// 处理所有数据 变成有千分号和小数点的数据
|
||||||
for (let key in this.showTableData){
|
for (let key in this.showTableData){
|
||||||
if (key==='uploadState' || key==='Revenue_Upload'){
|
if (key==='uploadState' || key==='Revenue_Upload'){
|
||||||
@ -1053,7 +1111,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
|||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes allPriceAnimation {
|
@keyframes allPriceAnimation {
|
||||||
0%{
|
0%{
|
||||||
transform: translateY(30px);
|
transform: translateY(30px);
|
||||||
@ -1062,7 +1120,7 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
|||||||
transform: translateY(0px);
|
transform: translateY(0px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -1491,12 +1549,42 @@ $iphoneHeight: env(safe-area-inset-bottom);
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 28px;
|
margin-top: 28px;
|
||||||
padding-bottom: 28px;
|
padding-bottom: 28px;
|
||||||
.title {
|
.titleTop{
|
||||||
font-size: 32rpx;
|
display: flex;
|
||||||
font-family: PingFangSC-Semibold, PingFang SC;
|
align-items: center;
|
||||||
font-weight: 600;
|
position: relative;
|
||||||
color: #160002;
|
.title {
|
||||||
line-height: 44rpx;
|
font-size: 32rpx;
|
||||||
|
font-family: PingFangSC-Semibold, PingFang SC;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #160002;
|
||||||
|
line-height: 44rpx;
|
||||||
|
}
|
||||||
|
.question{
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-left: 4px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
image{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.titleTopNotice{
|
||||||
|
position: absolute;
|
||||||
|
padding: 12px;
|
||||||
|
left:35%;
|
||||||
|
width: 50vw;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0 10px 10px 0 rgba(22,0,2,0.1);
|
||||||
|
}
|
||||||
|
.meng{
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
position: fixed;
|
||||||
|
top: 0;left: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.box {
|
.box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page-view">
|
<view class="page-view">
|
||||||
<live-player :src="videoMsg.url" autoplay
|
<live-player :src="videoMsg.url" autoplay
|
||||||
:orientation="isfullScreen ? 'horizontal': 'vertical'" class="live-player"
|
:orientation="isfullScreen ? 'horizontal': 'vertical'" class="live-player"
|
||||||
muted="false"
|
muted="false"
|
||||||
@fullscreenchange="fullscreenchange" :style="isfullScreen? `width: 750rpx;height:${windowHeight}px;`:'width:750rpx;'"
|
@fullscreenchange="fullscreenchange" :style="isfullScreen? `width: 750rpx;height:${windowHeight}px;`:'width:750rpx;'"
|
||||||
@statechange="videoChange"
|
@statechange="videoChange"
|
||||||
@audiovolumenotify="audiovolumenotify"
|
@audiovolumenotify="audiovolumenotify"
|
||||||
>
|
>
|
||||||
</live-player>
|
</live-player>
|
||||||
|
|
||||||
<cover-image
|
<cover-image
|
||||||
src="/static/images/video/full-video.png"
|
src="https://eshangtech.com/ShopICO/ahyd-BID/video/full-video.png"
|
||||||
@click="isfullScreen=!isfullScreen"
|
@click="isfullScreen=!isfullScreen"
|
||||||
class="screen-ico"
|
class="screen-ico"
|
||||||
v-if="!isfullScreen"
|
v-if="!isfullScreen"
|
||||||
style="right:40rpx" ></cover-image>
|
style="right:40rpx" ></cover-image>
|
||||||
<cover-image
|
<cover-image
|
||||||
@ -77,7 +77,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
|
|
||||||
let {sc, hd, bt, et, token} = option
|
let {sc, hd, bt, et, token} = option
|
||||||
this.requestData.startTime= bt
|
this.requestData.startTime= bt
|
||||||
this.requestData.stopTime= et
|
this.requestData.stopTime= et
|
||||||
@ -93,7 +93,7 @@
|
|||||||
<style scoped>
|
<style scoped>
|
||||||
.page-view{
|
.page-view{
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
}
|
}
|
||||||
.live-player {
|
.live-player {
|
||||||
width: 750rpx;
|
width: 750rpx;
|
||||||
@ -115,7 +115,7 @@
|
|||||||
fnot-size: 24rpx;
|
fnot-size: 24rpx;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<!--
|
<!--
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
@ -205,4 +205,4 @@ export default {
|
|||||||
height: 12.5rem;
|
height: 12.5rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
-->
|
-->
|
||||||
|
|||||||
18
static/images/commercial/addArrow.svg
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>时间备份_2@2x</title>
|
||||||
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="商业BI切图" transform="translate(-148.000000, -347.000000)">
|
||||||
|
<g id="编组-3" transform="translate(100.000000, 80.000000)">
|
||||||
|
<g id="编组-10" transform="translate(48.000000, 267.000000)">
|
||||||
|
<circle id="椭圆形" fill="#FFD9D9" cx="7" cy="7" r="7"></circle>
|
||||||
|
<g id="编组-9" transform="translate(4.000000, 3.000000)" fill="#FA5151">
|
||||||
|
<rect id="矩形" x="2.56066017" y="1.06066017" width="1" height="6" rx="0.5"></rect>
|
||||||
|
<rect id="矩形备份-6" transform="translate(4.121320, 2.000000) rotate(-225.000000) translate(-4.121320, -2.000000) " x="3.62132034" y="0" width="1" height="4" rx="0.5"></rect>
|
||||||
|
<rect id="矩形" transform="translate(2.000000, 2.000000) rotate(-225.000000) translate(-2.000000, -2.000000) " x="0" y="1.5" width="4" height="1" rx="0.5"></rect>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
@ -1,99 +1,106 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<svg width="228px" height="97px" viewBox="0 0 228 97" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
<svg width="375px" height="396px" viewBox="0 0 375 396" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
<title>图标/汽车@2x</title>
|
<title>编组_84@2x</title>
|
||||||
<defs>
|
<defs>
|
||||||
<linearGradient x1="100%" y1="41.9392792%" x2="4.19207868%" y2="45.6717178%" id="linearGradient-1">
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
|
||||||
|
<stop stop-color="#A8BFED" offset="0%"></stop>
|
||||||
|
<stop stop-color="#F0F5FF" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="100%" y1="41.9392792%" x2="4.19207868%" y2="45.6717178%" id="linearGradient-2">
|
||||||
<stop stop-color="#C2D1FF" offset="0%"></stop>
|
<stop stop-color="#C2D1FF" offset="0%"></stop>
|
||||||
<stop stop-color="#728BCC" offset="100%"></stop>
|
<stop stop-color="#728BCC" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient x1="94.1450755%" y1="41.6701374%" x2="0%" y2="58.3298626%" id="linearGradient-2">
|
<linearGradient x1="94.1450755%" y1="41.6701374%" x2="0%" y2="58.3298626%" id="linearGradient-3">
|
||||||
<stop stop-color="#BECCFB" offset="0%"></stop>
|
<stop stop-color="#BECCFB" offset="0%"></stop>
|
||||||
<stop stop-color="#7790CF" offset="100%"></stop>
|
<stop stop-color="#7790CF" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<path d="M7,0 L98,0 L98,0 L98,40 L6,40 C2.6862915,40 1.29399067e-15,37.3137085 0,34 L0,7 C4.14730794e-16,3.13400675 3.13400675,1.59834986e-15 7,0 Z" id="path-3"></path>
|
<path d="M7,0 L98,0 L98,0 L98,40 L6,40 C2.6862915,40 1.29399067e-15,37.3137085 0,34 L0,7 C4.14730794e-16,3.13400675 3.13400675,1.59834986e-15 7,0 Z" id="path-4"></path>
|
||||||
<linearGradient x1="97.2664698%" y1="50.6345828%" x2="11.4191956%" y2="50.9645062%" id="linearGradient-5">
|
<linearGradient x1="97.2664698%" y1="50.6345828%" x2="11.4191956%" y2="50.9645062%" id="linearGradient-6">
|
||||||
<stop stop-color="#7389CC" offset="0%"></stop>
|
<stop stop-color="#7389CC" offset="0%"></stop>
|
||||||
<stop stop-color="#5469AA" offset="100%"></stop>
|
<stop stop-color="#5469AA" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient x1="0%" y1="53.8204772%" x2="115.74452%" y2="46.1795228%" id="linearGradient-6">
|
<linearGradient x1="0%" y1="53.8204772%" x2="115.74452%" y2="46.1795228%" id="linearGradient-7">
|
||||||
<stop stop-color="#9CBCFF" offset="0%"></stop>
|
<stop stop-color="#9CBCFF" offset="0%"></stop>
|
||||||
<stop stop-color="#F5FAFF" offset="100%"></stop>
|
<stop stop-color="#F5FAFF" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient x1="94.3171504%" y1="47.2744025%" x2="27.3265503%" y2="44.9725109%" id="linearGradient-7">
|
<linearGradient x1="94.3171504%" y1="47.2744025%" x2="27.3265503%" y2="44.9725109%" id="linearGradient-8">
|
||||||
<stop stop-color="#C9DCFF" offset="0%"></stop>
|
<stop stop-color="#C9DCFF" offset="0%"></stop>
|
||||||
<stop stop-color="#658FEB" offset="100%"></stop>
|
<stop stop-color="#658FEB" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient x1="80.8520108%" y1="34.3097823%" x2="43.644595%" y2="50%" id="linearGradient-8">
|
<linearGradient x1="80.8520108%" y1="34.3097823%" x2="43.644595%" y2="50%" id="linearGradient-9">
|
||||||
<stop stop-color="#E3E6FF" offset="0%"></stop>
|
<stop stop-color="#E3E6FF" offset="0%"></stop>
|
||||||
<stop stop-color="#97B8F9" offset="100%"></stop>
|
<stop stop-color="#97B8F9" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient x1="94.1935978%" y1="41.5905314%" x2="0%" y2="52.0645059%" id="linearGradient-9">
|
<linearGradient x1="94.1935978%" y1="41.5905314%" x2="0%" y2="52.0645059%" id="linearGradient-10">
|
||||||
<stop stop-color="#9FB7F1" offset="0%"></stop>
|
<stop stop-color="#9FB7F1" offset="0%"></stop>
|
||||||
<stop stop-color="#263878" offset="100%"></stop>
|
<stop stop-color="#263878" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient x1="58.7425425%" y1="9.61336454%" x2="58.7425425%" y2="100%" id="linearGradient-10">
|
<linearGradient x1="58.7425425%" y1="9.61336454%" x2="58.7425425%" y2="100%" id="linearGradient-11">
|
||||||
<stop stop-color="#6B80AD" offset="0%"></stop>
|
<stop stop-color="#6B80AD" offset="0%"></stop>
|
||||||
<stop stop-color="#1D2F69" offset="100%"></stop>
|
<stop stop-color="#1D2F69" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient x1="50%" y1="100%" x2="50%" y2="3.061617e-15%" id="linearGradient-11">
|
<linearGradient x1="50%" y1="100%" x2="50%" y2="3.061617e-15%" id="linearGradient-12">
|
||||||
<stop stop-color="#0F1F4A" offset="0%"></stop>
|
<stop stop-color="#0F1F4A" offset="0%"></stop>
|
||||||
<stop stop-color="#1F1D43" offset="100%"></stop>
|
<stop stop-color="#1F1D43" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-12">
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-13">
|
||||||
<stop stop-color="#5788AB" offset="0%"></stop>
|
<stop stop-color="#5788AB" offset="0%"></stop>
|
||||||
<stop stop-color="#8AA9FF" offset="93.7986324%"></stop>
|
<stop stop-color="#8AA9FF" offset="93.7986324%"></stop>
|
||||||
<stop stop-color="#7FB8F0" offset="100%"></stop>
|
<stop stop-color="#7FB8F0" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<ellipse id="path-13" cx="7.5" cy="14.5" rx="7.5" ry="14.5"></ellipse>
|
<ellipse id="path-14" cx="7.5" cy="14.5" rx="7.5" ry="14.5"></ellipse>
|
||||||
<linearGradient x1="50%" y1="100%" x2="50%" y2="3.061617e-15%" id="linearGradient-15">
|
<linearGradient x1="50%" y1="100%" x2="50%" y2="3.061617e-15%" id="linearGradient-16">
|
||||||
<stop stop-color="#FFFFFF" offset="0%"></stop>
|
<stop stop-color="#FFFFFF" offset="0%"></stop>
|
||||||
<stop stop-color="#A6B3E4" offset="100%"></stop>
|
<stop stop-color="#A6B3E4" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<ellipse id="path-16" cx="7.5" cy="14.5" rx="7.5" ry="14.5"></ellipse>
|
<ellipse id="path-17" cx="7.5" cy="14.5" rx="7.5" ry="14.5"></ellipse>
|
||||||
<linearGradient x1="100%" y1="47.4173554%" x2="0%" y2="52.5826446%" id="linearGradient-18">
|
<linearGradient x1="100%" y1="47.4173554%" x2="0%" y2="52.5826446%" id="linearGradient-19">
|
||||||
<stop stop-color="#FFFFFF" offset="0%"></stop>
|
<stop stop-color="#FFFFFF" offset="0%"></stop>
|
||||||
<stop stop-color="#EFF0F9" offset="100%"></stop>
|
<stop stop-color="#EFF0F9" offset="100%"></stop>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
<g id="商业BI-车流画像0328" transform="translate(-1215.000000, -325.000000)">
|
<g id="商业BI切图" transform="translate(-503.000000, -220.000000)">
|
||||||
<g id="图标/汽车" transform="translate(1215.000000, 322.000000)">
|
<g id="编组-3" transform="translate(100.000000, 80.000000)">
|
||||||
<g id="编组" transform="translate(0.000000, 4.000000)">
|
<g id="编组-84" transform="translate(403.000000, 140.000000)">
|
||||||
<rect id="矩形" fill="#101F4A" x="179" y="62" width="34" height="34" rx="14"></rect>
|
<rect id="蒙版" fill="url(#linearGradient-1)" x="0" y="0" width="375" height="396"></rect>
|
||||||
<rect id="矩形" fill="#101F4A" x="101" y="62" width="34" height="34" rx="14"></rect>
|
<g id="编组" transform="translate(74.000000, 220.000000)">
|
||||||
<rect id="矩形" fill="#101F4A" x="24" y="62" width="34" height="34" rx="14"></rect>
|
<rect id="矩形" fill="#101F4A" x="179" y="62" width="34" height="34" rx="14"></rect>
|
||||||
<path d="M44,34 L132,34 L93,47 L98,47 L98,87 L6,87 C2.6862915,87 0,84.3137085 0,81 L0,51.4836744 C5.62554723e-16,48.8247551 1.7499725,46.4829627 4.29992315,45.7295682 L44,34 L44,34 Z" id="路径" fill="url(#linearGradient-1)"></path>
|
<rect id="矩形" fill="#101F4A" x="101" y="62" width="34" height="34" rx="14"></rect>
|
||||||
<g id="形状结合备份-2" transform="translate(0.000000, 47.000000)">
|
<rect id="矩形" fill="#101F4A" x="24" y="62" width="34" height="34" rx="14"></rect>
|
||||||
<mask id="mask-4" fill="white">
|
<path d="M44,34 L132,34 L93,47 L98,47 L98,87 L6,87 C2.6862915,87 0,84.3137085 0,81 L0,51.4836744 C5.62554723e-16,48.8247551 1.7499725,46.4829627 4.29992315,45.7295682 L44,34 L44,34 Z" id="路径" fill="url(#linearGradient-2)"></path>
|
||||||
<use xlink:href="#path-3"></use>
|
<g id="形状结合备份-2" transform="translate(0.000000, 47.000000)">
|
||||||
</mask>
|
<mask id="mask-5" fill="white">
|
||||||
<use id="蒙版" fill="url(#linearGradient-2)" xlink:href="#path-3"></use>
|
<use xlink:href="#path-4"></use>
|
||||||
<path d="M-9,40 C-9.55228475,40 -10,39.5522847 -10,39 L-10,34 C-10,33.4477153 -9.55228475,33 -9,33 L16.333,33 L21.6666667,29 C25.1285901,26.4035574 29.3392624,25 33.6666667,25 L53.3333333,25 C57.6607376,25 61.8714099,26.4035574 65.3333333,29 L70.666,33 L97,33 C97.5522847,33 98,33.4477153 98,34 L98,39 C98,39.5522847 97.5522847,40 97,40 L-9,40 Z" id="形状结合" fill="url(#linearGradient-5)" mask="url(#mask-4)"></path>
|
</mask>
|
||||||
|
<use id="蒙版" fill="url(#linearGradient-3)" xlink:href="#path-4"></use>
|
||||||
|
<path d="M-9,40 C-9.55228475,40 -10,39.5522847 -10,39 L-10,34 C-10,33.4477153 -9.55228475,33 -9,33 L16.333,33 L21.6666667,29 C25.1285901,26.4035574 29.3392624,25 33.6666667,25 L53.3333333,25 C57.6607376,25 61.8714099,26.4035574 65.3333333,29 L70.666,33 L97,33 C97.5522847,33 98,33.4477153 98,34 L98,39 C98,39.5522847 97.5522847,40 97,40 L-9,40 Z" id="形状结合" fill="url(#linearGradient-6)" mask="url(#mask-5)"></path>
|
||||||
|
</g>
|
||||||
|
<path d="M179.415872,2.56019194 C186.868641,6.23355223 194.396683,11.7134882 202,19 C209.742617,26.4200084 215.221569,34.6986488 218.436854,43.8359213 C222.836604,56.3392339 216.267369,70.0418738 203.764056,74.4416239 C201.145194,75.3631666 198.386295,75.8233304 195.61011,75.8016415 L148.605972,75.4344217 C135.351541,75.3308735 124.690646,64.5020904 124.794197,51.2476598 C124.828389,46.871094 126.058708,42.5871967 128.352044,38.8594487 C129.376282,37.1945826 130.258933,35.5747664 131,34 C134.2984,26.9909007 138.616747,19.5993211 143.955042,11.8252611 L143.955041,11.8252609 C151.831382,0.355092103 166.935429,-3.59123515 179.415872,2.56019194 Z" id="三角形" fill="#D8D8D8" opacity="0.5"></path>
|
||||||
|
<path d="M96,0 L166,0 C166.552285,-1.01453063e-16 167,0.44771525 167,1 L167,33 C167,33.5522847 166.552285,34 166,34 L44,34 L44,34 C54.7536388,22.5328772 63.0869721,14.8662105 69,11 C74.9130279,7.13378947 83.9130279,3.4671228 96,0 L96,0 Z" id="矩形" fill="url(#linearGradient-7)"></path>
|
||||||
|
<path d="M179.415872,2.56019194 C186.868641,6.23355223 194.396683,11.7134882 202,19 C209.742617,26.4200084 215.221569,34.6986488 218.436854,43.8359213 C222.836604,56.3392339 216.267369,70.0418738 203.764056,74.4416239 C201.145194,75.3631666 198.386295,75.8233304 195.61011,75.8016415 L148.605972,75.4344217 C135.351541,75.3308735 124.690646,64.5020904 124.794197,51.2476598 C124.828389,46.871094 126.058708,42.5871967 128.352044,38.8594487 C129.376282,37.1945826 130.258933,35.5747664 131,34 C134.2984,26.9909007 138.616747,19.5993211 143.955042,11.8252611 L143.955041,11.8252609 C151.831382,0.355092103 166.935429,-3.59123515 179.415872,2.56019194 Z" id="三角形备份-2" fill="url(#linearGradient-8)"></path>
|
||||||
|
<path d="M179.654978,21.3399264 C184.102347,23.5241385 188.594573,26.7796577 193.131656,31.1064839 C197.66356,35.4283711 200.89759,40.2401537 202.833746,45.5418316 C205.561889,53.0121643 201.717583,61.2796618 194.24725,64.0078036 C192.629147,64.5987298 190.918142,64.8945269 189.195565,64.8811349 L161.397091,64.6650188 C153.444432,64.6031913 147.047648,58.106166 147.109475,50.1535062 C147.129773,47.542612 147.859557,44.9863641 149.220739,42.7582793 C149.791853,41.823438 150.28709,40.9126216 150.706449,40.0258303 C152.671199,35.8711039 155.241598,31.4903674 158.417644,26.883621 L158.417643,26.88362 C163.144406,20.0276118 172.180294,17.6689263 179.654978,21.3399264 Z" id="三角形备份" fill="url(#linearGradient-9)"></path>
|
||||||
|
<path d="M213,31 L223,34 L223,34 L227.368507,62.8321471 C227.848193,65.9980728 227.366917,69.2350997 225.98693,72.1245321 C225.084828,74.0133636 224.089184,75.6385196 223,77 C221.200875,79.2489062 217.995435,82.2172442 213.383679,85.9050142 C212.497252,86.6138478 211.396036,87 210.261048,87 L99,87 L99.000839,86.8258699 C98.519064,86.9397414 98.0165691,87 97.5,87 C93.9101491,87 91,84.0898509 91,80.5 L91,53.5 C91,53.3275617 91.0067147,53.1566918 91.019897,52.9876374 L91,53 L91,52.1239362 C91,49.0729912 92.9760387,46.3734511 95.884293,45.4513217 L132,34 L213,31 Z" id="形状结合" fill="url(#linearGradient-10)"></path>
|
||||||
|
<path d="M223,34 L227.368507,62.8321471 C227.848193,65.9980728 227.366917,69.2350997 225.98693,72.1245321 C225.084828,74.0133636 224.089184,75.6385196 223,77 C221.200875,79.2489062 217.995435,82.2172442 213.383679,85.9050142 C212.497252,86.6138478 211.396036,87 210.261048,87 L99,87 L98.9938262,86.8275233 C98.5141885,86.9403246 98.0140632,87 97.5,87 C93.9101491,87 91,84.0898509 91,80.5 L91,53.5 C91,49.9101491 93.9101491,47 97.5,47 C100.099345,46.5147827 111.099345,45.8481161 130.5,45 C149.801672,44.156211 160.825782,44.3927596 171.638743,44.0900271 L172.636498,44.0605037 C177.790893,43.8995649 182.953716,43.6046284 189,43 C201.742707,41.7257293 213.07604,38.7257293 223,34 Z" id="形状结合备份" fill="url(#linearGradient-11)"></path>
|
||||||
|
<ellipse id="椭圆形备份" fill="url(#linearGradient-12)" cx="124.5" cy="73.5" rx="11.5" ry="21.5"></ellipse>
|
||||||
|
<g id="椭圆形备份-2" transform="translate(117.000000, 59.000000)">
|
||||||
|
<mask id="mask-15" fill="white">
|
||||||
|
<use xlink:href="#path-14"></use>
|
||||||
|
</mask>
|
||||||
|
<use id="蒙版" fill="url(#linearGradient-13)" xlink:href="#path-14"></use>
|
||||||
|
<ellipse fill="url(#linearGradient-16)" opacity="0.5" mask="url(#mask-15)" cx="4.5" cy="14.5" rx="7.5" ry="14.5"></ellipse>
|
||||||
|
</g>
|
||||||
|
<ellipse id="椭圆形备份" fill="url(#linearGradient-12)" cx="202.5" cy="73.5" rx="11.5" ry="21.5"></ellipse>
|
||||||
|
<g id="椭圆形备份-2" transform="translate(195.000000, 59.000000)">
|
||||||
|
<mask id="mask-18" fill="white">
|
||||||
|
<use xlink:href="#path-17"></use>
|
||||||
|
</mask>
|
||||||
|
<use id="蒙版" fill="url(#linearGradient-13)" xlink:href="#path-17"></use>
|
||||||
|
<ellipse fill="url(#linearGradient-16)" opacity="0.5" mask="url(#mask-18)" cx="4.5" cy="14.5" rx="7.5" ry="14.5"></ellipse>
|
||||||
|
</g>
|
||||||
|
<rect id="矩形" fill="url(#linearGradient-19)" opacity="0.400000006" x="5" y="52" width="22" height="5" rx="1"></rect>
|
||||||
|
<rect id="矩形备份" fill="url(#linearGradient-19)" opacity="0.400000006" x="64" y="52" width="22" height="5" rx="1"></rect>
|
||||||
</g>
|
</g>
|
||||||
<path d="M179.415872,2.56019194 C186.868641,6.23355223 194.396683,11.7134882 202,19 C209.742617,26.4200084 215.221569,34.6986488 218.436854,43.8359213 C222.836604,56.3392339 216.267369,70.0418738 203.764056,74.4416239 C201.145194,75.3631666 198.386295,75.8233304 195.61011,75.8016415 L148.605972,75.4344217 C135.351541,75.3308735 124.690646,64.5020904 124.794197,51.2476598 C124.828389,46.871094 126.058708,42.5871967 128.352044,38.8594487 C129.376282,37.1945826 130.258933,35.5747664 131,34 C134.2984,26.9909007 138.616747,19.5993211 143.955042,11.8252611 L143.955041,11.8252609 C151.831382,0.355092103 166.935429,-3.59123515 179.415872,2.56019194 Z" id="三角形" fill="#D8D8D8" opacity="0.5"></path>
|
|
||||||
<path d="M96,0 L166,0 C166.552285,-1.01453063e-16 167,0.44771525 167,1 L167,33 C167,33.5522847 166.552285,34 166,34 L44,34 L44,34 C54.7536388,22.5328772 63.0869721,14.8662105 69,11 C74.9130279,7.13378947 83.9130279,3.4671228 96,0 L96,0 Z" id="矩形" fill="url(#linearGradient-6)"></path>
|
|
||||||
<path d="M179.415872,2.56019194 C186.868641,6.23355223 194.396683,11.7134882 202,19 C209.742617,26.4200084 215.221569,34.6986488 218.436854,43.8359213 C222.836604,56.3392339 216.267369,70.0418738 203.764056,74.4416239 C201.145194,75.3631666 198.386295,75.8233304 195.61011,75.8016415 L148.605972,75.4344217 C135.351541,75.3308735 124.690646,64.5020904 124.794197,51.2476598 C124.828389,46.871094 126.058708,42.5871967 128.352044,38.8594487 C129.376282,37.1945826 130.258933,35.5747664 131,34 C134.2984,26.9909007 138.616747,19.5993211 143.955042,11.8252611 L143.955041,11.8252609 C151.831382,0.355092103 166.935429,-3.59123515 179.415872,2.56019194 Z" id="三角形备份-2" fill="url(#linearGradient-7)"></path>
|
|
||||||
<path d="M179.654978,21.3399264 C184.102347,23.5241385 188.594573,26.7796577 193.131656,31.1064839 C197.66356,35.4283711 200.89759,40.2401537 202.833746,45.5418316 C205.561889,53.0121643 201.717583,61.2796618 194.24725,64.0078036 C192.629147,64.5987298 190.918142,64.8945269 189.195565,64.8811349 L161.397091,64.6650188 C153.444432,64.6031913 147.047648,58.106166 147.109475,50.1535062 C147.129773,47.542612 147.859557,44.9863641 149.220739,42.7582793 C149.791853,41.823438 150.28709,40.9126216 150.706449,40.0258303 C152.671199,35.8711039 155.241598,31.4903674 158.417644,26.883621 L158.417643,26.88362 C163.144406,20.0276118 172.180294,17.6689263 179.654978,21.3399264 Z" id="三角形备份" fill="url(#linearGradient-8)"></path>
|
|
||||||
<path d="M213,31 L223,34 L223,34 L227.368507,62.8321471 C227.848193,65.9980728 227.366917,69.2350997 225.98693,72.1245321 C225.084828,74.0133636 224.089184,75.6385196 223,77 C221.200875,79.2489062 217.995435,82.2172442 213.383679,85.9050142 C212.497252,86.6138478 211.396036,87 210.261048,87 L99,87 L99.000839,86.8258699 C98.519064,86.9397414 98.0165691,87 97.5,87 C93.9101491,87 91,84.0898509 91,80.5 L91,53.5 C91,53.3275617 91.0067147,53.1566918 91.019897,52.9876374 L91,53 L91,52.1239362 C91,49.0729912 92.9760387,46.3734511 95.884293,45.4513217 L132,34 L213,31 Z" id="形状结合" fill="url(#linearGradient-9)"></path>
|
|
||||||
<path d="M223,34 L227.368507,62.8321471 C227.848193,65.9980728 227.366917,69.2350997 225.98693,72.1245321 C225.084828,74.0133636 224.089184,75.6385196 223,77 C221.200875,79.2489062 217.995435,82.2172442 213.383679,85.9050142 C212.497252,86.6138478 211.396036,87 210.261048,87 L99,87 L98.9938262,86.8275233 C98.5141885,86.9403246 98.0140632,87 97.5,87 C93.9101491,87 91,84.0898509 91,80.5 L91,53.5 C91,49.9101491 93.9101491,47 97.5,47 C100.099345,46.5147827 111.099345,45.8481161 130.5,45 C149.801672,44.156211 160.825782,44.3927596 171.638743,44.0900271 L172.636498,44.0605037 C177.790893,43.8995649 182.953716,43.6046284 189,43 C201.742707,41.7257293 213.07604,38.7257293 223,34 Z" id="形状结合备份" fill="url(#linearGradient-10)"></path>
|
|
||||||
<ellipse id="椭圆形备份" fill="url(#linearGradient-11)" cx="124.5" cy="73.5" rx="11.5" ry="21.5"></ellipse>
|
|
||||||
<g id="椭圆形备份-2" transform="translate(117.000000, 59.000000)">
|
|
||||||
<mask id="mask-14" fill="white">
|
|
||||||
<use xlink:href="#path-13"></use>
|
|
||||||
</mask>
|
|
||||||
<use id="蒙版" fill="url(#linearGradient-12)" xlink:href="#path-13"></use>
|
|
||||||
<ellipse fill="url(#linearGradient-15)" opacity="0.5" mask="url(#mask-14)" cx="4.5" cy="14.5" rx="7.5" ry="14.5"></ellipse>
|
|
||||||
</g>
|
|
||||||
<ellipse id="椭圆形备份" fill="url(#linearGradient-11)" cx="202.5" cy="73.5" rx="11.5" ry="21.5"></ellipse>
|
|
||||||
<g id="椭圆形备份-2" transform="translate(195.000000, 59.000000)">
|
|
||||||
<mask id="mask-17" fill="white">
|
|
||||||
<use xlink:href="#path-16"></use>
|
|
||||||
</mask>
|
|
||||||
<use id="蒙版" fill="url(#linearGradient-12)" xlink:href="#path-16"></use>
|
|
||||||
<ellipse fill="url(#linearGradient-15)" opacity="0.5" mask="url(#mask-17)" cx="4.5" cy="14.5" rx="7.5" ry="14.5"></ellipse>
|
|
||||||
</g>
|
|
||||||
<rect id="矩形" fill="url(#linearGradient-18)" opacity="0.400000006" x="5" y="52" width="22" height="5" rx="1"></rect>
|
|
||||||
<rect id="矩形备份" fill="url(#linearGradient-18)" opacity="0.400000006" x="64" y="52" width="22" height="5" rx="1"></rect>
|
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
22
static/images/commercial/noData.svg
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="60px" height="60px" viewBox="0 0 60 60" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>图标/图表空状态@2x</title>
|
||||||
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="商业BI切图" transform="translate(-380.000000, -301.000000)">
|
||||||
|
<g id="编组-3" transform="translate(100.000000, 80.000000)">
|
||||||
|
<g id="图标/图表空状态" transform="translate(280.000000, 221.000000)">
|
||||||
|
<g id="编组-4" transform="translate(5.000000, 2.000000)">
|
||||||
|
<path d="M0,40 L50,40 L50,50 C50,51.0309315 48.9166396,52.0011353 47.0082432,52.8486135 L46.5867671,53.0283149 L46.5867671,53.0283149 L46.1405997,53.2041238 C46.0642122,53.2330934 45.9868195,53.2618952 45.9084333,53.2905263 L45.4262879,53.4602423 L45.4262879,53.4602423 L44.9208633,53.625727 L44.9208633,53.625727 L44.3927243,53.7868448 L44.3927243,53.7868448 L43.8424358,53.94346 C43.7489066,53.9691798 43.6544781,53.9947063 43.559162,54.0200368 L42.9767082,54.1696441 L42.9767082,54.1696441 L42.3735171,54.31441 L42.3735171,54.31441 L41.7501534,54.4541989 C41.6446097,54.4770747 41.5382491,54.4997376 41.4310833,54.5221846 L40.7785198,54.6542538 L40.7785198,54.6542538 L40.1071959,54.7810072 L40.1071959,54.7810072 L39.4176764,54.9023091 L39.4176764,54.9023091 L38.7105261,55.018024 L38.7105261,55.018024 L37.98631,55.1280163 L37.98631,55.1280163 L37.2455928,55.2321505 L37.2455928,55.2321505 L36.4889394,55.3302909 L36.4889394,55.3302909 L35.7169146,55.4223021 L35.7169146,55.4223021 L34.9300834,55.5080484 L34.9300834,55.5080484 L34.1290104,55.5873944 L34.1290104,55.5873944 L33.3142607,55.6602044 L33.3142607,55.6602044 L32.4863991,55.7263428 L32.4863991,55.7263428 L31.6459903,55.7856742 L31.6459903,55.7856742 L30.7935993,55.8380629 L30.7935993,55.8380629 L29.9297908,55.8833734 L29.9297908,55.8833734 L29.0551299,55.9214701 L29.0551299,55.9214701 L28.1701812,55.9522175 L28.1701812,55.9522175 L27.2755096,55.97548 L27.2755096,55.97548 L26.37168,55.9911219 L26.37168,55.9911219 L25.4592573,55.9990079 L25.4592573,55.9990079 L24.5407427,55.9990079 L24.5407427,55.9990079 L23.62832,55.9911219 L23.62832,55.9911219 L22.7244904,55.97548 L22.7244904,55.97548 L21.8298188,55.9522175 L21.8298188,55.9522175 L20.9448701,55.9214701 L20.9448701,55.9214701 L20.0702092,55.8833734 L20.0702092,55.8833734 L19.2064007,55.8380629 L19.2064007,55.8380629 L18.3540097,55.7856742 L18.3540097,55.7856742 L17.5136009,55.7263428 L17.5136009,55.7263428 L16.6857393,55.6602044 L16.6857393,55.6602044 L15.8709896,55.5873944 L15.8709896,55.5873944 L15.0699166,55.5080484 L15.0699166,55.5080484 L14.2830854,55.4223021 L14.2830854,55.4223021 L13.5110606,55.3302909 L13.5110606,55.3302909 L12.7544072,55.2321505 L12.7544072,55.2321505 L12.01369,55.1280163 L12.01369,55.1280163 L11.2894739,55.018024 L11.2894739,55.018024 L10.5823236,54.9023091 L10.5823236,54.9023091 L9.89280409,54.7810072 L9.89280409,54.7810072 L9.22148017,54.6542538 L9.22148017,54.6542538 L8.5689167,54.5221846 C8.46175087,54.4997376 8.35539026,54.4770747 8.24984664,54.4541989 L7.62648292,54.31441 L7.62648292,54.31441 L7.02329177,54.1696441 L7.02329177,54.1696441 L6.44083803,54.0200368 L6.44083803,54.0200368 L5.87968656,53.8657237 L5.87968656,53.8657237 L5.3404022,53.7068402 L5.3404022,53.7068402 L4.8235498,53.5435221 C4.73930845,53.5159403 4.65602529,53.4881795 4.5737121,53.4602423 L4.09156674,53.2905263 C4.0131805,53.2618952 3.93578776,53.2330934 3.85940029,53.2041238 L3.41323287,53.0283149 L3.41323287,53.0283149 L2.99175681,52.8486135 C1.15151737,52.0314024 0.0784352247,51.1000753 0.00413374389,50.1102217 L0,50 L0,40 Z" id="路径" fill="#CCCED5"></path>
|
||||||
|
<ellipse id="椭圆形" fill="#EDEFF5" cx="25" cy="40" rx="25" ry="6"></ellipse>
|
||||||
|
<path d="M0,24 L50,24 L50,34 C50,35.0309315 48.9166396,36.0011353 47.0082432,36.8486135 L46.5867671,37.0283149 L46.5867671,37.0283149 L46.1405997,37.2041238 C46.0642122,37.2330934 45.9868195,37.2618952 45.9084333,37.2905263 L45.4262879,37.4602423 L45.4262879,37.4602423 L44.9208633,37.625727 L44.9208633,37.625727 L44.3927243,37.7868448 L44.3927243,37.7868448 L43.8424358,37.94346 C43.7489066,37.9691798 43.6544781,37.9947063 43.559162,38.0200368 L42.9767082,38.1696441 L42.9767082,38.1696441 L42.3735171,38.31441 L42.3735171,38.31441 L41.7501534,38.4541989 C41.6446097,38.4770747 41.5382491,38.4997376 41.4310833,38.5221846 L40.7785198,38.6542538 L40.7785198,38.6542538 L40.1071959,38.7810072 L40.1071959,38.7810072 L39.4176764,38.9023091 L39.4176764,38.9023091 L38.7105261,39.018024 L38.7105261,39.018024 L37.98631,39.1280163 L37.98631,39.1280163 L37.2455928,39.2321505 L37.2455928,39.2321505 L36.4889394,39.3302909 L36.4889394,39.3302909 L35.7169146,39.4223021 L35.7169146,39.4223021 L34.9300834,39.5080484 L34.9300834,39.5080484 L34.1290104,39.5873944 L34.1290104,39.5873944 L33.3142607,39.6602044 L33.3142607,39.6602044 L32.4863991,39.7263428 L32.4863991,39.7263428 L31.6459903,39.7856742 L31.6459903,39.7856742 L30.7935993,39.8380629 L30.7935993,39.8380629 L29.9297908,39.8833734 L29.9297908,39.8833734 L29.0551299,39.9214701 L29.0551299,39.9214701 L28.1701812,39.9522175 L28.1701812,39.9522175 L27.2755096,39.97548 L27.2755096,39.97548 L26.37168,39.9911219 L26.37168,39.9911219 L25.4592573,39.9990079 L25.4592573,39.9990079 L24.5407427,39.9990079 L24.5407427,39.9990079 L23.62832,39.9911219 L23.62832,39.9911219 L22.7244904,39.97548 L22.7244904,39.97548 L21.8298188,39.9522175 L21.8298188,39.9522175 L20.9448701,39.9214701 L20.9448701,39.9214701 L20.0702092,39.8833734 L20.0702092,39.8833734 L19.2064007,39.8380629 L19.2064007,39.8380629 L18.3540097,39.7856742 L18.3540097,39.7856742 L17.5136009,39.7263428 L17.5136009,39.7263428 L16.6857393,39.6602044 L16.6857393,39.6602044 L15.8709896,39.5873944 L15.8709896,39.5873944 L15.0699166,39.5080484 L15.0699166,39.5080484 L14.2830854,39.4223021 L14.2830854,39.4223021 L13.5110606,39.3302909 L13.5110606,39.3302909 L12.7544072,39.2321505 L12.7544072,39.2321505 L12.01369,39.1280163 L12.01369,39.1280163 L11.2894739,39.018024 L11.2894739,39.018024 L10.5823236,38.9023091 L10.5823236,38.9023091 L9.89280409,38.7810072 L9.89280409,38.7810072 L9.22148017,38.6542538 L9.22148017,38.6542538 L8.5689167,38.5221846 C8.46175087,38.4997376 8.35539026,38.4770747 8.24984664,38.4541989 L7.62648292,38.31441 L7.62648292,38.31441 L7.02329177,38.1696441 L7.02329177,38.1696441 L6.44083803,38.0200368 L6.44083803,38.0200368 L5.87968656,37.8657237 L5.87968656,37.8657237 L5.3404022,37.7068402 L5.3404022,37.7068402 L4.8235498,37.5435221 C4.73930845,37.5159403 4.65602529,37.4881795 4.5737121,37.4602423 L4.09156674,37.2905263 C4.0131805,37.2618952 3.93578776,37.2330934 3.85940029,37.2041238 L3.41323287,37.0283149 L3.41323287,37.0283149 L2.99175681,36.8486135 C1.15151737,36.0314024 0.0784352247,35.1000753 0.00413374389,34.1102217 L0,34 L0,24 Z" id="路径" fill="#CCCED5"></path>
|
||||||
|
<path d="M43,25 L43.0008916,38.1636315 C38.5523136,39.2711871 32.3457098,39.9692334 25.4592573,39.9990079 L25,40 L25,25 L43,25 Z" id="路径" fill="#8B8FA0"></path>
|
||||||
|
<ellipse id="蒙版" fill="#EDEFF5" cx="25" cy="24" rx="25" ry="6"></ellipse>
|
||||||
|
<path d="M25,24 L43.1512527,28.1258708 C38.7467962,29.2416007 32.5754761,29.9515224 25.7123972,29.9976108 L25,30 L25,24 Z" id="路径" fill="#B4B8CC"></path>
|
||||||
|
<path d="M15.5,0 L35.5,0 C36.3284271,-1.52179594e-16 37,0.671572875 37,1.5 L37,14.5 C37,15.3284271 36.3284271,16 35.5,16 L28,16 L28,16 L25.5,19.5 L23,16 L15.5,16 C14.6715729,16 14,15.3284271 14,14.5 L14,1.5 C14,0.671572875 14.6715729,1.52179594e-16 15.5,0 Z" id="矩形" fill="#8B8FA0"></path>
|
||||||
|
<path d="M21.5,7 C21.7761424,7 22,7.22385763 22,7.5 L22,12 L19,12 L19,7.5 C19,7.22385763 19.2238576,7 19.5,7 L21.5,7 Z M26.5,8 C26.7761424,8 27,8.22385763 27,8.5 L27,12 L24,12 L24,8.5 C24,8.22385763 24.2238576,8 24.5,8 L26.5,8 Z M31.5,4 C31.7761424,4 32,4.22385763 32,4.5 L32,12 L29,12 L29,4.5 C29,4.22385763 29.2238576,4 29.5,4 L31.5,4 Z" id="形状结合" fill="#FFFFFF"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 8.1 KiB |
19
static/images/commercial/planMonth.svg
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>首页图标/月度计划@2x</title>
|
||||||
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="商业BI-年度计划" transform="translate(-28.000000, -408.000000)">
|
||||||
|
<g id="编组-11" transform="translate(16.000000, 266.000000)">
|
||||||
|
<g id="编组-4备份" transform="translate(0.000000, 130.000000)">
|
||||||
|
<g id="编组-5" transform="translate(12.000000, 12.000000)">
|
||||||
|
<g id="编组" transform="translate(2.000000, 1.000000)">
|
||||||
|
<polygon id="矩形" fill="#D9C8C1" points="3 12 13 12 16 18 -7.95585819e-13 18"></polygon>
|
||||||
|
<path d="M8,15 C12,11.209139 14,8.209139 14,6 C14,2.6862915 11.3137085,0 8,0 C4.6862915,0 2,2.6862915 2,6 C2,8.209139 4,11.209139 8,15 Z" id="椭圆形" fill="#FF8E5B"></path>
|
||||||
|
<path d="M8,8.5 C9.38071187,8.5 10.5,7.38071187 10.5,6 C10.5,4.61928813 9.38071187,3.5 8,3.5 C6.61928813,3.5 5.5,4.61928813 5.5,6 C5.5,7.38071187 6.61928813,8.5 8,8.5 Z" id="椭圆形" fill="#FFFFFF"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
20
static/images/commercial/planYear.svg
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>首页图标/月度计划@2x</title>
|
||||||
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="商业BI-月度计划" transform="translate(-28.000000, -278.000000)">
|
||||||
|
<g id="编组-10" transform="translate(16.000000, 266.000000)">
|
||||||
|
<g id="编组-5" transform="translate(12.000000, 12.000000)">
|
||||||
|
<g id="编组" transform="translate(1.000000, 2.000000)">
|
||||||
|
<rect id="矩形" fill="#778CFD" x="0" y="2" width="18" height="14" rx="1"></rect>
|
||||||
|
<rect id="矩形" fill="#778CFD" x="4" y="0" width="2" height="4"></rect>
|
||||||
|
<rect id="矩形备份" fill="#778CFD" x="12" y="0" width="2" height="4"></rect>
|
||||||
|
<rect id="矩形备份-3" fill="#E8E9EE" x="4" y="2" width="2" height="2"></rect>
|
||||||
|
<rect id="矩形备份-2" fill="#E8E9EE" x="12" y="2" width="2" height="2"></rect>
|
||||||
|
<path d="M15,6 L15,13 L12,13 L12,11 L10,11 L10,13 L3,13 L3,6 L15,6 Z" id="形状结合" fill="#E8E9EE"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
28
static/images/commercial/punish.svg
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>图标/优秀备份@2x</title>
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="50%" y1="100%" x2="50%" y2="14.6336203%" id="linearGradient-1">
|
||||||
|
<stop stop-color="#95BCFA" offset="0%"></stop>
|
||||||
|
<stop stop-color="#819ADD" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-2">
|
||||||
|
<stop stop-color="#B9D2FF" offset="0%"></stop>
|
||||||
|
<stop stop-color="#BCD0FF" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="-2.48949813e-15%" x2="50%" y2="100%" id="linearGradient-3">
|
||||||
|
<stop stop-color="#384E8B" offset="0%"></stop>
|
||||||
|
<stop stop-color="#435EAB" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="商业BI切图" transform="translate(-276.000000, -261.000000)">
|
||||||
|
<g id="编组-3" transform="translate(100.000000, 80.000000)">
|
||||||
|
<g id="图标/优秀备份" transform="translate(176.000000, 181.000000)">
|
||||||
|
<path d="M11.9510514,1.68522777 C13.4108555,2.92133682 15.358743,3.98239536 17.6470857,4.59555496 C19.0153212,4.96217256 20.3586163,5.12933772 21.6002338,5.12156992 L21.6002338,5.12156992 L21.6,13.2906853 C21.6,14.8503033 21.1407569,16.3367781 20.3252146,17.5917036 C19.5096723,18.8466291 18.3378307,19.8700053 16.9126338,20.5034261 L16.9126338,20.5034261 L12.4873662,22.4702118 C12.1770877,22.6081133 11.8229123,22.6081133 11.5126338,22.4702118 L11.5126338,22.4702118 L7.08736616,20.5034261 C5.66216927,19.8700053 4.49032773,18.8466291 3.67478541,17.5917036 C2.85924309,16.3367781 2.4,14.8503033 2.4,13.2906494 L2.4,13.2906494 L2.39975529,5.12156985 C3.64137579,5.12933869 4.98467475,4.96217363 6.35291427,4.59555496 C8.64144377,3.98234533 10.5856244,2.91830438 11.9510514,1.68522777 Z" id="形状结合" stroke="url(#linearGradient-2)" stroke-width="2.4" fill="url(#linearGradient-1)"></path>
|
||||||
|
<path d="M16.704,10.572 L16.704,7.32 L7.296,7.32 L7.296,10.572 L16.704,10.572 Z M15.504,9.54 L13.956,9.54 L13.956,8.352 L15.504,8.352 L15.504,9.54 Z M12.804,9.54 L11.196,9.54 L11.196,8.352 L12.804,8.352 L12.804,9.54 Z M10.044,9.54 L8.496,9.54 L8.496,8.352 L10.044,8.352 L10.044,9.54 Z M10.044,12.816 L10.788,11.964 C10.188,11.472 9.552,11.052 8.856,10.692 L8.004,11.46 C8.724,11.844 9.408,12.3 10.044,12.816 Z M15.12,18.012 C16.08,18.012 16.572,17.496 16.572,16.464 L16.572,10.968 L15.3,10.968 L15.3,16.164 C15.3,16.632 15.096,16.872 14.688,16.872 C14.316,16.872 13.92,16.836 13.512,16.788 L13.776,18.012 L15.12,18.012 Z M13.764,15.66 L13.764,11.58 L12.552,11.58 L12.552,15.66 L13.764,15.66 Z M8.976,18.06 C9.96,17.652 10.884,17.172 11.76,16.644 L11.436,15.36 C10.944,15.672 10.476,15.96 10.032,16.212 L10.032,13.032 L6.96,13.032 L6.96,14.208 L8.832,14.208 L8.832,16.356 C8.832,16.596 8.712,16.8 8.496,16.944 L8.976,18.06 Z" id="罚" fill="url(#linearGradient-3)"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
43
static/images/commercial/success.svg
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>图标/优秀@2x</title>
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
|
||||||
|
<stop stop-color="#FF9302" offset="0%"></stop>
|
||||||
|
<stop stop-color="#6F2D03" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="46.4291211%" id="linearGradient-2">
|
||||||
|
<stop stop-color="#FFF1C9" offset="0%"></stop>
|
||||||
|
<stop stop-color="#E1AD36" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-3">
|
||||||
|
<stop stop-color="#FFB44F" offset="0%"></stop>
|
||||||
|
<stop stop-color="#FFCF85" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-4">
|
||||||
|
<stop stop-color="#FFE88D" offset="0%"></stop>
|
||||||
|
<stop stop-color="#FFE6B7" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-5">
|
||||||
|
<stop stop-color="#964200" offset="0%"></stop>
|
||||||
|
<stop stop-color="#A65A04" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="商业BI切图" transform="translate(-236.000000, -261.000000)">
|
||||||
|
<g id="编组-3" transform="translate(100.000000, 80.000000)">
|
||||||
|
<g id="图标/优秀" transform="translate(136.000000, 181.000000)">
|
||||||
|
<rect id="矩形" fill="url(#linearGradient-1)" x="1.2" y="0" width="21.6" height="3.6" rx="1.2"></rect>
|
||||||
|
<path d="M3.6,1.2 L20.4,1.2 L18.248667,8.72966535 C18.1014779,9.24482722 17.6306147,9.6 17.0948383,9.6 L6.9051617,9.6 C6.36938526,9.6 5.89852206,9.24482722 5.75133296,8.72966535 L3.6,1.2 L3.6,1.2 Z" id="矩形" fill="url(#linearGradient-2)"></path>
|
||||||
|
<rect id="矩形" fill="#EBA61C" x="6" y="1.2" width="3.6" height="6"></rect>
|
||||||
|
<rect id="矩形备份" fill="#EBA61C" x="14.4" y="1.2" width="3.6" height="6"></rect>
|
||||||
|
<circle id="椭圆形" stroke="url(#linearGradient-4)" stroke-width="2.4" fill="url(#linearGradient-3)" cx="12" cy="13.2" r="9.6"></circle>
|
||||||
|
<g id="点赞" opacity="0.800000012" transform="translate(6.000000, 6.000000)">
|
||||||
|
<rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="12" height="12"></rect>
|
||||||
|
<path d="M7.62666797,5.02667578 C7.46667187,5.00000391 7.41333984,4.83999609 7.38666797,4.76000391 L7.38666797,2.81333203 C7.38666797,2.28001172 6.96,1.85333203 6.42666797,1.85333203 C5.94666797,1.85333203 5.54667187,2.22666797 5.46666797,2.68000781 C5.17333594,4.52000391 4.05333984,5.13332813 3.33333984,5.32000781 C3.36,5.4 3.36,5.45333203 3.36,5.50667578 L3.36,10.68 C3.36,10.7866758 3.33333984,10.8933398 3.28000781,11.0000039 L8.50666406,11.0000039 C9.01333594,10.8933398 9.36,10.7066719 9.6,10.2 L10.6933359,6.36 C10.9066641,5.66667188 10.56,5.00000391 9.78666797,5.02667578 L7.62666797,5.02667578 Z M2.90667187,5.50667578 C2.90667187,5.34666797 2.69333203,5.21333203 2.45333203,5.21333203 L1.73333203,5.21333203 C1.36000781,5.21333203 1.04000391,5.53333594 1.04000391,5.90667188 L1.04000391,10.2800039 C1.04000391,10.68 1.33333594,11.0000039 1.73333203,11.0000039 L2.45333203,11.0000039 C2.69333203,11.0000039 2.90667187,10.866668 2.90667187,10.7066719 L2.90667187,5.50667578 Z" id="形状" fill="url(#linearGradient-5)"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
18
static/images/commercial/upArrow.svg
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>时间备份_3@2x</title>
|
||||||
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="商业BI切图" transform="translate(-172.000000, -347.000000)">
|
||||||
|
<g id="编组-3" transform="translate(100.000000, 80.000000)">
|
||||||
|
<g id="编组-10" transform="translate(72.000000, 267.000000)">
|
||||||
|
<circle id="椭圆形" fill="#CDF3DF" cx="7" cy="7" r="7"></circle>
|
||||||
|
<g id="编组-9" transform="translate(7.000000, 7.000000) scale(1, -1) translate(-7.000000, -7.000000) translate(4.000000, 3.000000)" fill="#07C160">
|
||||||
|
<rect id="矩形" x="2.56066017" y="1.06066017" width="1" height="6" rx="0.5"></rect>
|
||||||
|
<rect id="矩形备份-6" transform="translate(4.121320, 2.000000) rotate(-225.000000) translate(-4.121320, -2.000000) " x="3.62132034" y="0" width="1" height="4" rx="0.5"></rect>
|
||||||
|
<rect id="矩形" transform="translate(2.000000, 2.000000) rotate(-225.000000) translate(-2.000000, -2.000000) " x="0" y="1.5" width="4" height="1" rx="0.5"></rect>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
14
static/images/index/noticeQuestion.svg
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<title>首页图标/注解@2x</title>
|
||||||
|
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="商业BI切图" transform="translate(-194.000000, -346.000000)" fill-rule="nonzero">
|
||||||
|
<g id="编组-3" transform="translate(100.000000, 80.000000)">
|
||||||
|
<g id="question-circle" transform="translate(94.000000, 266.000000)">
|
||||||
|
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="16" height="16"></rect>
|
||||||
|
<path d="M8,1 C4.134375,1 1,4.134375 1,8 C1,11.865625 4.134375,15 8,15 C11.865625,15 15,11.865625 15,8 C15,4.134375 11.865625,1 8,1 Z M8,13.8125 C4.790625,13.8125 2.1875,11.209375 2.1875,8 C2.1875,4.790625 4.790625,2.1875 8,2.1875 C11.209375,2.1875 13.8125,4.790625 13.8125,8 C13.8125,11.209375 11.209375,13.8125 8,13.8125 Z M9.74375,4.9484375 C9.275,4.5375 8.65625,4.3125 8,4.3125 C7.34375,4.3125 6.725,4.5390625 6.25625,4.9484375 C5.76875,5.375 5.5,5.9484375 5.5,6.5625 L5.5,6.68125 C5.5,6.75 5.55625,6.80625 5.625,6.80625 L6.375,6.80625 C6.44375,6.80625 6.5,6.75 6.5,6.68125 L6.5,6.5625 C6.5,5.8734375 7.1734375,5.3125 8,5.3125 C8.8265625,5.3125 9.5,5.8734375 9.5,6.5625 C9.5,7.0484375 9.15625,7.49375 8.6234375,7.6984375 C8.2921875,7.825 8.0109375,8.046875 7.809375,8.3375 C7.6046875,8.634375 7.4984375,8.990625 7.4984375,9.3515625 L7.4984375,9.6875 C7.4984375,9.75625 7.5546875,9.8125 7.6234375,9.8125 L8.3734375,9.8125 C8.4421875,9.8125 8.4984375,9.75625 8.4984375,9.6875 L8.4984375,9.3328125 C8.4984375,9.025 8.6921875,8.74375 8.98125,8.6328125 C9.903125,8.278125 10.4984443,7.465625 10.4984443,6.5625 C10.5,5.9484375 10.23125,5.375 9.74375,4.9484375 Z M7.375,11.4375 C7.375,11.782678 7.65482203,12.0625 8,12.0625 C8.34517797,12.0625 8.625,11.782678 8.625,11.4375 C8.625,11.092322 8.34517797,10.8125 8,10.8125 C7.65482203,10.8125 7.375,11.092322 7.375,11.4375 Z" id="形状" fill="#A69E9F"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 352 B After Width: | Height: | Size: 0 B |
|
Before Width: | Height: | Size: 712 B After Width: | Height: | Size: 0 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 0 B |