代码注释补充

This commit is contained in:
zzy 2023-03-28 19:02:11 +08:00
parent 9ff9e1b5e1
commit b559fd8ba0
14 changed files with 1090 additions and 345 deletions

View File

@ -117,6 +117,24 @@ const fmoney = (s, n) => {
}
}
// 没有小数点的金额格式化
function noDecimal(s){
let fuhao = ''; //如果数字小于零则值为-
if (s < 0) {
s = Math.abs(s);
fuhao = '-'
}
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")) + ""
let l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
let t = ''
for (let i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
return fuhao + [...t].reverse().join("")
}
/**
* 将数据转成日期格式
* @param {string} s: 要格式化的日期数据
@ -193,6 +211,34 @@ async function getFieldEnumByField(params) {
}
// 得到这个月有多少天
function getThisMonthDay(value){
let date = new Date(value)
let y = date.getFullYear()
let m = date.getMonth() + 1
let howDay;
let flag = false
if( y%4 ===0 && y%100!==0 || y%400===0 ){
flag=true
}
switch (m){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
howDay=31
break
case 4: case 6: case 9: case 11:
howDay=30
break
case 2 :
if(flag){
howDay=29
}else{
howDay = 28
}
break
}
return howDay
}
// 视频播放
const EZUIPlayer = require('./ezuikit.js');
@ -203,7 +249,9 @@ function playVideo(opt) {
export default {
netChange,
cutDate,
getThisMonthDay,
fmoney,
noDecimal,
changeStringToDate,
toNextRoute,
addUserBehavior,

2
package-lock.json generated
View File

@ -1,5 +1,5 @@
{
"name": "wechat_ahyd",
"name": "wechat_ahyd (2)",
"lockfileVersion": 2,
"requires": true,
"packages": {

View File

@ -4,7 +4,7 @@
"path": "pages/index/index",
"style":
{
"navigationBarTitleText": "驿行畅旅",
"navigationBarTitleText": "驿达数智化看板",
"navigationStyle": "custom"
}
},
@ -27,7 +27,7 @@
"path": "pages/webview/webview",
"style":
{
"navigationBarTitleText": "驿行畅旅"
"navigationBarTitleText": "驿达数智化看板"
}
},
{
@ -81,6 +81,21 @@
}
]
},
{ //BI
"root": "pages/commercialBI",
"pages": [
{
"path": "carPortrait",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
},
"usingComponents": {
"qiun-wx-ucharts": "@qiun/wx-ucharts"
}
}
]
},
{
"root": "pages/operatingStatements",
"pages": [

View File

@ -180,7 +180,6 @@
.screen-box .screen-unit {
display: flex;
align-items: center;
width: 200rpx;
padding: 0 14rpx;
line-height: 3;
}
@ -203,6 +202,6 @@
border-radius: 6rpx;
}
.mr20 {
margin: 0 30rpx 0 16rpx;
/*margin: 0 16rpx 0 16rpx;*/
}
</style>

View File

@ -0,0 +1,387 @@
<template>
<div class="main">
<div class="header">
<div class="headerTop" :style="{height:(menu.bottom + 6) + 'px'}">
<div class="box" :style="{top:(menu.bottom - (menu.height / 2)) + 'px'}">
<div class="icon"></div>
<text class="title">车流画像</text>
<!-- 占位 -->
<div class="seize"></div>
</div>
</div>
<div class="serviceArea" :style="{top : (menu.bottom + 14) + 'px'}">
<div class="selectService">
<image class="img" src="/static/images/commercial/fixed.svg"></image>
<view class="select">
<picker @change="bindPickerChange" :value="serviceIndex" :range="serviceArray">
<view class="content">
<view class="uni-input">{{serviceArray[serviceIndex]}}</view>
<text class="area">{{area}}</text>
<image class="rightArrow" src="/static/images/commercial/rightArrow.svg"></image>
</view>
</picker>
</view>
</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>
<image class="car" src="/static/images/commercial/car.svg"></image>
</div>
<div class="analyse">
<text class="title">分析</text>
<text class="content">新桥服务区入区车辆主要来自杭州市, 入车新桥服务区入区车辆主要来自杭州市, 入车入车新桥服务区入区车辆主要来自杭州市入车新桥服务区入区车辆主要来自杭州市</text>
</div>
</div>
</div>
<div class="charts">
<div class="carAnalyse">
<p class="title">入区车流分析</p>
<div class="content">
<div class="item">
<canvas class="carNum" canvas-id="carNum" id="carNum"/>
</div>
<div class="item"></div>
</div>
</div>
</div>
</div>
</template>
<script>
import uCharts from '@/components/u-charts.js';
import request from '@/util/index.js'
var uChartsInstance = {};
export default {
name: "carPortrait",
data(){
return {
menu:{}, //
serviceArray:["123465","123465","123465","123465","123465"], //
serviceIndex:0, //
area:'片区', //
labelList:[{value:'杭州'},{value:'小汽车'},{value:'一般消费'},{value:'温州'},{value:'30-60万'}], //
time:'',//
chartData:{},
carNumAll : 0//
}
},
onLoad(option){
//
this.time = option.time
console.log('this.time',this.time)
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
this.menu = uni.getMenuButtonBoundingClientRect()
console.log('this.menu',this.menu)
this.getData()
},
onReady(){
},
methods:{
bindPickerChange:function (e){
console.log(e)
},
getData(){
request.$webGet('CommercialApi/Revenue/GetBayonetEntryList',{
StatisticsDate: this.time,
Serverpart_ID :'432'
}).then(result=>{
console.log('result',result.Result_Data)
let data = []
let carSum = 0
result.Result_Data.List.forEach(item=>{
data.push({name:item.Serverpart_Region ,value:item.Vehicle_Count })
carSum+=item.Vehicle_Count
})
this.carNumAll =carSum
console.log('data',data)
let res = {
series: [
{
data: data
}
]
}
this.drawCharts('carNum' , res)
console.log('res',res)
})
},
drawCharts(id,data){
console.log('drawCharts')
const ctx = uni.createCanvasContext(id, this);
let _this = this
uChartsInstance[id] = new uCharts({
type: "ring",
context: ctx,
width: 140,
height: 188,
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: 'left'
},
extra: {
ring: {
ringWidth: 12,
activeOpacity: 0.5,
activeRadius: 10,
offsetAngle: 0,
labelWidth: 15,
border: false,
borderWidth: 3,
borderColor: "#FFFFFF"
}
}
});
},
}
}
</script>
<style scoped lang="scss">
.main{
width:100%;
.header{
width: 100%;
height: 396px;
padding: 0 16px;
box-sizing: border-box;
background: linear-gradient(180deg, #A1B9E8 0%, #F0F5FF 100%);
position: relative;
.headerTop{
width: calc(100% - 32px);
position: fixed;
top: 0;
.box{
position: absolute;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
transform: translateY(-50%);
.icon{
width: 24px;
height: 24px;
background: red;
}
.title{
font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 600;
color: #1C2130;
line-height: 56rpx;
}
.seize{
width: 24px;
height: 24px;
}
}
}
.serviceArea{
width: calc(100% - 32px);
position: absolute;
box-sizing: border-box;
.selectService{
display: flex;
align-items: center;
.img{
width: 40px;
height: 40px;
z-index: 2;
}
.select{
width: 174px;
height: 32px;
background: #F8F8FA;
border-radius: 0 16px 16px 0;
transform: translateX(-20px);
box-sizing: border-box;
padding-left: 25px;
display: flex;
align-items: center;
position: relative;
.content{
display: flex;
align-items: center;
.uni-input{
padding: 0;
background: transparent;
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
height: 40px;
line-height: 40px;
}
.area{
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 40px;
margin-left: 4px;
}
.rightArrow{
width: 24px;
height: 12px;
position: absolute;
right: 11px;
}
}
}
}
.other{
margin-top: 12px;
width: 100%;
text-align: center;
.label{
height: 54px;
position: relative;
.item{
position: absolute;
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
line-height: 44rpx;
padding: 4px 12px;
border-radius: 8rpx 8rpx 0rpx 8rpx;
}
.item{
background: linear-gradient(180deg, #3190FF 0%, #1657FF 100%);
top: 0px;
}
.item0{
left: 50%;
transform: translateX(-50%);
z-index:3;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.8) 0%, rgba(22, 87, 255, 0.8) 100%);
}
.item1{
left: 15%;
top: 24px;
z-index:2;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.7) 0%, rgba(22, 87, 255, 0.7) 100%);
}
.item2{
right: 15%;
top: 24px;
z-index:2;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.6) 0%, rgba(22, 87, 255, 0.6) 100%);
}
.item3{
right: 0;
top: 46px;
z-index:1;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.5) 0%, rgba(22, 87, 255, 0.5) 100%);
}
.item4{
left: 0;
top: 46px;
z-index:1;
background: linear-gradient(180deg, rgba(49, 144, 255, 0.4) 0%, rgba(22, 87, 255, 0.4) 100%);
}
}
.car{
width: 228px;
height: 95px;
}
}
.analyse{
width: 100%;
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{
width: 100%;
box-sizing: border-box;
padding: 28px 16px 0;
.carAnalyse{
.title{
font-size: 34rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
line-height: 48rpx;
}
.content{
width: 100%;
height: 188px;
display: flex;
.item{
width: 50%;
height: 100%;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
.carNum{
width: 100%;
height: 100%;
}
}
}
}
}
}
</style>

View File

@ -348,6 +348,7 @@
}
const ctx = uni.createCanvasContext(obj.id, this);
data.series = data.series.concat(obj.data)
console.log('data.series',data.series)
rincanvas[obj.id] = new uCharts({
//
// $this: this,
@ -1380,6 +1381,11 @@
border-radius: 4rpx;
margin-top: 12rpx;
}
.operation-c-list .operation-cl-unit{
display: flex;
justify-content: space-between;
align-items: center;
}
.operation-c-list .progress .bgO {
height: 12rpx;

View File

@ -1,6 +1,9 @@
import request from '@/util/index.js'
const methods = {
async getData(obj,isServerPartDetail,value) { // 获取远程数据 value判断是不是正常进来 是的话俩接口不调
console.log('obj',obj)
console.log('isServerPartDetail',isServerPartDetail)
console.log('getData',value)
let _this = this
/* ts
type serverpartRegion = {
@ -20,18 +23,13 @@ const methods = {
Statistics_Month: obj.month ,
Province_Code: obj.ProvinceCode ,
pushProvinceCode: obj.ProvinceCode ,
provinceCode:obj.ProvinceCode,
Serverpart_ID: obj.GroupType != 1020 ? obj.ServerpartIds : '',
SPRegionType_ID: obj.GroupType == 1020 ? obj.ServerpartIds : '',
// Revenue_Include: 1
}
const requestParamasBudget = {
Statistics_Date: obj.time ,
Statistics_Month: obj.month ,
Province_Code: obj.ProvinceCode ,
pushProvinceCode: obj.ProvinceCode ,
Serverpart_ID: obj.ServerpartIds ? obj.ServerpartIds : ''
}
this.provinceCode = obj.ProvinceCode
this.provinceCode = obj.ProvinceCode
console.log('requestParamas',requestParamas)
// 营收数据
const data = await request.$webGet('CommercialApi/Revenue/GetRevenuePushList', requestParamas)
if (data.Result_Code != 100) return
@ -41,6 +39,7 @@ const methods = {
if (busniessCounts.Result_Code != 100) return
// 业态关系
console.log('开始请求接口',new Date().getTime())
const tradeData = await request.$webGet('CommercialApi/BaseInfo/GetBusinessTradeList', requestParamas)
if (tradeData.Result_Code != 100) return
@ -52,7 +51,7 @@ const methods = {
}
}
if (!value){
budgetAmount = await request.$webGet('CommercialApi/Revenue/GetBudgetExpenseList', requestParamasBudget)
budgetAmount = await request.$webGet('CommercialApi/Revenue/GetBudgetExpenseList', requestParamas)
if (budgetAmount.Result_Code != 100) return
}

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,9 @@
class="useListItem"
>
<image class="bg" :src="item.bgUrl"></image>
<view class="iconStart">
<image :class="index===0?'icon icon_first':index===1?'icon icon_second':index===2?'icon icon_third':''" src="https://ahyd.eshangtech.com/UploadImageDir/ahyd_DIB/index/start.svg"></image>
</view>
<p class="name">{{ item.name }}</p>
<image class="img" :src="item.imagePath"></image>
</view>
@ -94,7 +97,7 @@ export default {
justify-content: space-between;
margin-bottom: 28px;
.useListItem {
width: 30%;
width: calc((100% - 16px)/3);
height: 72px;
position: relative;
box-sizing: border-box;
@ -108,6 +111,29 @@ export default {
top: 0;left:0;
z-index:0;
}
.iconStart{
width: 20px;
height: 20px;
overflow: hidden;
position: absolute;
left: 11px;top: 27px;
z-index:2;
.icon{
width: 14px;
height: 14px;
transform: translateX(30px);
border-right: 30px solid transparent;
}
.icon_first{
filter: drop-shadow(-30px 0px #9564F6);
}
.icon_second{
filter: drop-shadow(-30px 0px #F5921D);
}
.icon_third{
filter: drop-shadow(-30px 0px #28BAD3);
}
}
.name {
font-size: 28rpx;
font-family: PingFangSC-Semibold, PingFang SC;
@ -119,8 +145,8 @@ export default {
z-index:2;
}
.img {
width: 30px;
height: 30px;
width: 32px;
height: 32px;
position: absolute;
bottom: 9px;
right: 14px;
@ -156,8 +182,8 @@ export default {
align-items: center;
margin-bottom: 8px;
image {
width: 30px;
height: 30px;
width: 32px;
height: 32px;
}
}
.name {
@ -244,13 +270,13 @@ export default {
align-items: center;
position: relative;
.imgParent{
width: 30px;
height: 30px;
width: 24px;
height: 24px;
margin-bottom: 6px;
overflow: hidden;
.img {
width: 30px;
height: 30px;
width: 24px;
height: 24px;
margin-bottom: 6px;
transform: translateX(30px);
border-right: 30px solid transparent;
@ -258,8 +284,8 @@ export default {
}
}
.img_normal{
width: 30px;
height: 30px;
width: 24px;
height: 24px;
margin-bottom: 6px;
}
.name {
@ -275,7 +301,7 @@ export default {
border-radius: 50%;
background: red;
position: absolute;
right: 8px;
right: 20%;
top: -4px;
color: #fff;
font-size: 24rpx;

View File

@ -2,6 +2,12 @@
<view class="main" style="padding-bottom: env(safe-area-inset-bottom)">
<view class="userBg">
<div class="headerTop" :style="{ height: menu.bottom + 5 + 'px'}">
<view class="news" :style="{ top: menu.top+16 + 'px', lineHeight: menu.bottom - menu.top + 'px' }">
<view class="box">
<image class="img" src="/static/images/index/news.svg"></image>
<view class="red"></view>
</view>
</view>
<view class="userTitle" :style="{ top: menu.top + 'px', lineHeight: menu.bottom - menu.top + 'px' }">我的</view>
</div>
<div class="userBox" :style="{ top: menu.bottom + 18 + 'px' }">
@ -266,8 +272,11 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
})
},
onLoad(){
//
let systemInfo = uni.getSystemInfoSync()
this.statusBarHeight = Number(systemInfo.statusBarHeight)
//
this.menu = uni.getMenuButtonBoundingClientRect()
this.dataList[2].list.forEach(item=>{
for(let key in this.user.AuthorityInfo){
@ -278,6 +287,7 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
}
}
})
//
this.dataList[3].list.forEach(item=>{
for(let key in this.user.AuthorityInfo){
if (key === item.id){
@ -288,7 +298,7 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
}
}
})
//
this.dataList[2].list.forEach(item=>{
for(let key in this.toDoMsg){
if (key === item.id){
@ -339,6 +349,33 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
padding: 0 15px;
z-index:9999999;
}
.news{
width: 24px;
height: 24px;
position: absolute;
left: 16px;
transform: translateY(-50%);
display: flex;
justify-content: center;
align-items: center;
.box{
width: 100%;
height: 100%;
position: relative;
.img{
width: 100%;
height: 100%;
}
.red{
position: absolute;
width: 8px;
height: 8px;
background: #D7000F;
border-radius: 50%;
right:0;top: 4px;
}
}
}
.userTitle {
position: absolute;
left: 50%;
@ -381,6 +418,7 @@ import Tabbar from "../../components/tabbar/tabbar.vue";
}
}
.message {
flex:1;
.people {
display: flex;
align-items: center;

View File

@ -0,0 +1,101 @@
<?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">
<title>图标/汽车@2x</title>
<defs>
<linearGradient x1="100%" y1="41.9392792%" x2="4.19207868%" y2="45.6717178%" id="linearGradient-1">
<stop stop-color="#C2D1FF" offset="0%"></stop>
<stop stop-color="#728BCC" offset="100%"></stop>
</linearGradient>
<linearGradient x1="94.1450755%" y1="41.6701374%" x2="0%" y2="58.3298626%" id="linearGradient-2">
<stop stop-color="#BECCFB" offset="0%"></stop>
<stop stop-color="#7790CF" offset="100%"></stop>
</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>
<linearGradient x1="97.2664698%" y1="50.6345828%" x2="11.4191956%" y2="50.9645062%" id="linearGradient-5">
<stop stop-color="#7389CC" offset="0%"></stop>
<stop stop-color="#5469AA" offset="100%"></stop>
</linearGradient>
<linearGradient x1="0%" y1="53.8204772%" x2="115.74452%" y2="46.1795228%" id="linearGradient-6">
<stop stop-color="#9CBCFF" offset="0%"></stop>
<stop stop-color="#F5FAFF" offset="100%"></stop>
</linearGradient>
<linearGradient x1="94.3171504%" y1="47.2744025%" x2="27.3265503%" y2="44.9725109%" id="linearGradient-7">
<stop stop-color="#C9DCFF" offset="0%"></stop>
<stop stop-color="#658FEB" offset="100%"></stop>
</linearGradient>
<linearGradient x1="80.8520108%" y1="34.3097823%" x2="43.644595%" y2="50%" id="linearGradient-8">
<stop stop-color="#E3E6FF" offset="0%"></stop>
<stop stop-color="#97B8F9" offset="100%"></stop>
</linearGradient>
<linearGradient x1="94.1935978%" y1="41.5905314%" x2="0%" y2="52.0645059%" id="linearGradient-9">
<stop stop-color="#9FB7F1" offset="0%"></stop>
<stop stop-color="#263878" offset="100%"></stop>
</linearGradient>
<linearGradient x1="58.7425425%" y1="9.61336454%" x2="58.7425425%" y2="100%" id="linearGradient-10">
<stop stop-color="#6B80AD" offset="0%"></stop>
<stop stop-color="#1D2F69" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="100%" x2="50%" y2="3.061617e-15%" id="linearGradient-11">
<stop stop-color="#0F1F4A" offset="0%"></stop>
<stop stop-color="#1F1D43" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-12">
<stop stop-color="#5788AB" offset="0%"></stop>
<stop stop-color="#8AA9FF" offset="93.7986324%"></stop>
<stop stop-color="#7FB8F0" offset="100%"></stop>
</linearGradient>
<ellipse id="path-13" 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">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#A6B3E4" offset="100%"></stop>
</linearGradient>
<ellipse id="path-16" 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">
<stop stop-color="#FFFFFF" offset="0%"></stop>
<stop stop-color="#EFF0F9" offset="100%"></stop>
</linearGradient>
</defs>
<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="图标/汽车" transform="translate(1215.000000, 322.000000)">
<g id="编组" transform="translate(0.000000, 4.000000)">
<rect id="矩形" fill="#101F4A" x="179" y="62" width="34" height="34" rx="14"></rect>
<rect id="矩形" fill="#101F4A" x="101" y="62" width="34" height="34" rx="14"></rect>
<rect id="矩形" fill="#101F4A" x="24" 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>
<g id="形状结合备份-2" transform="translate(0.000000, 47.000000)">
<mask id="mask-4" fill="white">
<use xlink:href="#path-3"></use>
</mask>
<use id="蒙版" fill="url(#linearGradient-2)" xlink:href="#path-3"></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>
</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>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="40px" height="40px" viewBox="0 0 40 40" 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="#A9C4F8" offset="0%"></stop>
<stop stop-color="#EFF5FF" offset="100%"></stop>
</linearGradient>
<path d="M9,21 C15,16.3137085 18,12.3137085 18,9 C18,4.02943725 13.9705627,0 9,0 C4.02943725,0 0,4.02943725 0,9 C0,12.3137085 3,16.3137085 9,21 Z" id="path-2"></path>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-4">
<stop stop-color="#A1CDFC" offset="0%"></stop>
<stop stop-color="#93C3FB" offset="100%"></stop>
</linearGradient>
<filter x="-50.0%" y="-42.9%" width="200.0%" height="185.7%" filterUnits="objectBoundingBox" id="filter-5">
<feGaussianBlur stdDeviation="3" in="SourceGraphic"></feGaussianBlur>
</filter>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-6">
<stop stop-color="#328BFF" offset="0%"></stop>
<stop stop-color="#1E67FF" offset="100%"></stop>
</linearGradient>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-7">
<stop stop-color="#E2F3FF" offset="0%"></stop>
<stop stop-color="#A0C4FF" offset="100%"></stop>
</linearGradient>
<circle id="path-8" cx="9" cy="8" r="3"></circle>
<filter x="-116.7%" y="-83.3%" width="333.3%" height="333.3%" filterUnits="objectBoundingBox" id="filter-9">
<feOffset dx="0" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
<feColorMatrix values="0 0 0 0 0.294117647 0 0 0 0 0.588235294 0 0 0 0 0.988235294 0 0 0 0.742078234 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
</filter>
</defs>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="商业BI-车流画像0328" transform="translate(-1215.000000, -266.000000)">
<g id="编组" transform="translate(1215.000000, 266.000000)">
<circle id="椭圆形" stroke="#FFFFFF" stroke-width="2" fill="url(#linearGradient-1)" cx="20" cy="20" r="19"></circle>
<g transform="translate(11.000000, 10.000000)">
<g id="椭圆形备份-9">
<mask id="mask-3" fill="white">
<use xlink:href="#path-2"></use>
</mask>
<use id="蒙版" fill="#FFFFFF" xlink:href="#path-2"></use>
<path d="M5,21 C11,16.3137085 14,12.3137085 14,9 C14,4.02943725 9.97056275,0 5,0 C0.0294372518,0 -4,4.02943725 -4,9 C-4,12.3137085 -1,16.3137085 5,21 Z" fill="url(#linearGradient-4)" filter="url(#filter-5)" mask="url(#mask-3)"></path>
</g>
<path d="M9,21 C15,16.3137085 18,12.3137085 18,9 C18,4.02943725 13.9705627,0 9,0 C4.02943725,0 0,4.02943725 0,9 C0,12.3137085 3,16.3137085 9,21 Z" id="椭圆形备份-10" fill="url(#linearGradient-6)" opacity="0.400000006"></path>
<g id="椭圆形">
<use fill="black" fill-opacity="1" filter="url(#filter-9)" xlink:href="#path-8"></use>
<use fill="url(#linearGradient-7)" fill-rule="evenodd" xlink:href="#path-8"></use>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="12px" height="12px" viewBox="0 0 12 12" 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-车流画像0328" transform="translate(-1275.000000, -266.000000)" fill="#D0D3D5">
<g id="图标/更多" transform="translate(1275.000000, 266.000000)">
<g id="矩形" transform="translate(2.000000, 1.000000)">
<path d="M4.17157288,-0.017766953 C4.58578644,-0.017766953 4.92157288,0.318019485 4.92157288,0.732233047 L4.92157288,5.73223305 C4.92157288,6.14644661 4.58578644,6.48223305 4.17157288,6.48223305 C3.75735931,6.48223305 3.42157288,6.14644661 3.42157288,5.73223305 L3.42157288,0.732233047 C3.42157288,0.318019485 3.75735931,-0.017766953 4.17157288,-0.017766953 Z" transform="translate(4.171573, 3.232233) rotate(-45.000000) translate(-4.171573, -3.232233) "></path>
<path d="M1.24479618,6.19454365 L6.74479618,6.19454365 C7.15900974,6.19454365 7.49479618,6.53033009 7.49479618,6.94454365 C7.49479618,7.35875721 7.15900974,7.69454365 6.74479618,7.69454365 L1.24479618,7.69454365 C0.830582618,7.69454365 0.49479618,7.35875721 0.49479618,6.94454365 C0.49479618,6.53033009 0.830582618,6.19454365 1.24479618,6.19454365 Z" transform="translate(3.994796, 6.944544) rotate(-45.000000) translate(-3.994796, -6.944544) "></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,16 @@
<?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>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="驿达小程序-个人中心0311" transform="translate(-171.000000, -1406.000000)">
<g id="编组-31" transform="translate(171.000000, 1406.000000)">
<g id="编组" transform="translate(3.000000, 2.000000)">
<path d="M9,3 C10.6568542,3 12.1568542,3.67157288 13.2426407,4.75735931 C14.3284271,5.84314575 15,7.34314575 15,9 L15,9 L15,17 L3,17 L3,9 C3,7.34314575 3.67157288,5.84314575 4.75735931,4.75735931 C5.84314575,3.67157288 7.34314575,3 9,3 Z" id="矩形" stroke="#160002" stroke-width="2"></path>
<rect id="矩形" fill="#160002" x="0" y="16" width="18" height="2" rx="1"></rect>
<rect id="矩形" fill="#160002" x="8" y="0" width="2" height="3" rx="1"></rect>
<path d="M9,20 C10.6568542,20 12,18.6568542 12,17 C12,15.3431458 10.6568542,17 9,17 C7.34314575,17 6,15.3431458 6,17 C6,18.6568542 7.34314575,20 9,20 Z" id="椭圆形" fill="#160002"></path>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB