初始化商家端

This commit is contained in:
wangxiaowei
2025-04-30 14:08:39 +08:00
commit 68b408b1e7
568 changed files with 118884 additions and 0 deletions

View File

@ -0,0 +1,860 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center viewReport_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub viewReport_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 viewReport_fd0_0_c0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='viewReport_fd0_0_c1_c0'>财务报表</text>
</view>
<view class='flex flex-wrap align-center viewReport_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---日数据flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout viewReport_flex_1">
<view class='flex flex-direction flex-wrap align-stretch flex-sub viewReport_fd1_0'>
<view class='flex flex-wrap align-center viewReport_fd1_0_c0'>
<text class='viewReport_fd1_0_c0_c0'>日数据</text>
</view>
<view class='flex flex-wrap align-center'>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_0_c1_c0'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_0_c1_c0_c0_c0'>今日营业额</text>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_0_c1_c0_c1'>
<text class='viewReport_fd1_0_c1_c0_c1_c0'>{{details.today_order_money}}</text>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_0_c1_c1'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_0_c1_c1_c0_c0'>今日成交量</text>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_0_c1_c1_c1'>
<text class='viewReport_fd1_0_c1_c1_c1_c0'>{{details.today_order_num}}</text>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_0_c1_c2'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_0_c1_c2_c0_c0'>昨日营业额</text>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_0_c1_c2_c1'>
<text class='viewReport_fd1_0_c1_c2_c1_c0'>{{details.yesterday_order_money}}</text>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_0_c1_c3'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_0_c1_c3_c0_c0'>昨日成交量</text>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_0_c1_c3_c1'>
<text class='viewReport_fd1_0_c1_c3_c1_c0'>{{details.yesterday_order_num}}</text>
</view>
</view>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_1'>
<view class='flex flex-wrap align-center justify-between'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_1_c0_c0_c0'>近七天营业额曲线</text>
</view>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap align-center viewReport_fd1_1_c0_c1_c0'>
<image class='viewReport_fd1_1_c0_c1_c0_c0' mode="aspectFit" :src='STATIC_URL+"48.png"'>
</image>
<text class='viewReport_fd1_1_c0_c1_c0_c1'>成交量</text>
</view>
<view class='flex flex-wrap align-center'>
<image class='viewReport_fd1_1_c0_c1_c1_c0' mode="aspectFit" :src='STATIC_URL+"47.png"'>
</image>
<text class='viewReport_fd1_1_c0_c1_c1_c1'>成交额</text>
</view>
</view>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_1_c1'>
<view class=" viewReport_fd1_1_c1_c0">
<!-- <qiun-data-charts type='line' chart-type='4' /> -->
<canvas @touchstart="onClick" class="chart" id="line" canvas-id="line"></canvas>
</view>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch flex-sub viewReport_fd1_2'>
<view class='flex flex-wrap align-center viewReport_fd1_2_c0'>
<text class='viewReport_fd1_2_c0_c0'>月数据</text>
</view>
<view class='flex flex-wrap align-center'>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_2_c1_c0'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_2_c1_c0_c0_c0'>本月营业额</text>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_2_c1_c0_c1'>
<text class='viewReport_fd1_2_c1_c0_c1_c0'>{{details.this_month_order_money}}</text>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_2_c1_c1'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_2_c1_c1_c0_c0'>本月成交量</text>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_2_c1_c1_c1'>
<text class='viewReport_fd1_2_c1_c1_c1_c0'>{{details.this_month_order_num}}</text>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_2_c1_c2'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_2_c1_c2_c0_c0'>上月营业额</text>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_2_c1_c2_c1'>
<text class='viewReport_fd1_2_c1_c2_c1_c0'>{{details.last_month_order_money}}</text>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch viewReport_fd1_2_c1_c3'>
<view class='flex flex-wrap align-center'>
<text class='viewReport_fd1_2_c1_c3_c0_c0'>上月成交量</text>
</view>
<view class='flex flex-wrap align-center justify-center viewReport_fd1_2_c1_c3_c1'>
<text class='viewReport_fd1_2_c1_c3_c1_c0'>{{details.last_month_order_num}}</text>
</view>
</view>
</view>
</view>
</view>
<!---日数据flex布局结束-->
</view>
</template>
<script>
export default {
components: {},
data() {
return {
lineColorArr: [{
color: "#4A93E8"
}, {
color: "#6BBBC3"
}], //切换折线1折线2{color:"#888"},{color:"#888"}3.0最新版本修改
details: ""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onReady() {
const query = uni.createSelectorQuery().in(this);
query.select('.chart').boundingClientRect(data => {
// this.domEchart = data;
console.log(data)
this.lineDraw("line", data, -1);
}).exec();
},
onLoad(options) {
this.get649bdc9a8a38f()
},
methods: {
get649bdc9a8a38f() {
this.$api.post(global.apiUrls.get649bdc9a8a38f, {
type: this.tabls
}).then(res => {
if (res.data.code == 1) {
this.details = res.data.data
}
})
},
toFixedNumber(n = 2, val) { //去小数点后2位
if (typeof val == "number") {
return val.toFixed(n) * 1
}
},
//绘制线条 line chart3.0最新版本修改
lineDraw(ids, elem, num = -1) {
let ctx = uni.createCanvasContext(ids),
isHover = null;
let grid = {
top: (12 * elem.height) / 100, //canvas标签的高度的12%(相对总高的百分比)
bottom: ((100 - 18) * elem.height) / 100, //canvas图形距离底部的百分比 18%
left: (12 * elem.width) / 100, //距离左侧的百分比12%总宽度)
right: ((100 - 8) * elem.width) / 100 //距离右侧百分比8%总宽度)
},
lineColor = "#999", //x,y轴线颜色
fillColor = "#333", //x,y轴number颜色
// yAxis = {
// textSize: 10, //刻度数字fontSize
// maxNumber: moneyNum, //分段的最大值
// splitNumber: 5, //分成几段
// splitLen: 5, //轴左侧的小横线 -|
// marginSplit: 5 //刻度文字与 “-|”的距离
// },
lineWidth = 1,
xAxis = {
textSize: 10, //刻度数字fontSize
maxNumber: 12,
splitNumber: 6,
splitLen: 5,
marginSplit: 5
},
dotStyle = [{
color: "#fff",
arcR: 4, //半径
dash: 0 //是否线条虚线 0实线 1以上虚线
},
{
color: "#fff",
arcR: 4, //半径
dash: 0 //是否线条虚线 0实线 1以上虚线
}
],
lineStyle = [{
color: "#4A93E8",
lineDotType: "line", //两圆点的连接线 line直线wave二次贝塞尔曲线
width: 2, //连线的width
dash: 3 //是否线条虚线 0实线 1以上虚线
},
{
color: "#6BBBC3",
lineDotType: "line", //两圆点的连接线 line直线wave二次贝塞尔曲线
width: 2, //连线的width
dash: 0 //是否线条虚线 0实线 1以上虚线
}
],
dataJSON = [ //数据data
// {
// x: [1, 3, 5, 9, 10, 12],//设置字符类型非Number
// y: [69, 28, 70, 65, 76, 65]
// },
// {
// x: [1, 3, 5, 9, 10, 12],//非Number类型数据 复制第一条 x的数据
// y: [9, 18, 70, 75, 56, 35]
// }
// {
// x: ["1月", "3月", "5月", "9月", "10月", "12月"], //设置字符类型非Number
// y: [69, 28, 70, 65, 76, 65]
// },
// {
// x: ["1月", "3月", "5月", "10月", "10月", "12月"], //非Number类型数据 复制第一条 x的数据
// y: [9, 18, 70, 75, 56, 35]
// }
];
lineStyle.forEach((ep, vp) => {
if (num == vp) {
this.lineColorArr[vp] = {
color: ep.color
};
} else if (num == -1) {
this.lineColorArr[vp] = {
color: ep.color
};
} else {
this.lineColorArr[vp] = {
color: "#888"
};
}
});
ctx.beginPath();
ctx.setLineWidth(lineWidth);
ctx.setTextAlign("right");
ctx.setTextBaseline("middle");
ctx.setStrokeStyle(lineColor);
ctx.setFillStyle(fillColor);
ctx.moveTo(grid.left, grid.top);
ctx.lineTo(grid.left, grid.bottom);
let yAxis=""
this.$api.post(global.apiUrls.get649bdc9a8a38f, {
type: this.tabls
}).then(res => {
if (res.data.code == 1) {
let moneyNum = Math.ceil(res.data.data.this_month_order_money)
console.log(moneyNum)
yAxis = {
textSize: 10, //刻度数字fontSize
maxNumber: moneyNum, //分段的最大值
splitNumber: 5, //分成几段
splitLen: 5, //轴左侧的小横线 -|
marginSplit: 5 //刻度文字与 “-|”的距离
}
ctx.setFontSize(yAxis.textSize);
for (let n = 1; n <= yAxis.splitNumber; n++) {
ctx.moveTo(grid.left, grid.bottom - (grid.bottom - grid.top) / yAxis.splitNumber * n + lineWidth);
ctx.lineTo(grid.left - yAxis.splitLen, grid.bottom - (grid.bottom - grid.top) / yAxis.splitNumber * n +
lineWidth);
ctx.fillText(this.toFixedNumber(1, yAxis.maxNumber / yAxis.splitNumber * n), grid.left - yAxis
.splitLen - lineWidth - yAxis.marginSplit, grid.bottom - (grid.bottom - grid.top) / yAxis
.splitNumber * n + lineWidth)
}
}
})
// ctx.setFontSize(yAxis.textSize);
// for (let n = 1; n <= yAxis.splitNumber; n++) {
// ctx.moveTo(grid.left, grid.bottom - (grid.bottom - grid.top) / yAxis.splitNumber * n + lineWidth);
// ctx.lineTo(grid.left - yAxis.splitLen, grid.bottom - (grid.bottom - grid.top) / yAxis.splitNumber * n +
// lineWidth);
// ctx.fillText(this.toFixedNumber(1, yAxis.maxNumber / yAxis.splitNumber * n), grid.left - yAxis
// .splitLen - lineWidth - yAxis.marginSplit, grid.bottom - (grid.bottom - grid.top) / yAxis
// .splitNumber * n + lineWidth)
// }
ctx.moveTo(grid.left, grid.bottom);
ctx.lineTo(grid.right, grid.bottom);
ctx.setTextAlign("center");
ctx.setTextBaseline("top");
ctx.setFontSize(xAxis.textSize);
this.$api.post(global.apiUrls.get649bdc9a8a38f,{
type:this.tabls
}).then(res=>{
if(res.data.code==1){
dataJSON = res.data.data.list
console.log(dataJSON)
if (typeof dataJSON[0].x[0] != "number") { //非number类型数据
xAxis.splitNumber = dataJSON[0].x.length;
xAxis.maxNumber = dataJSON[0].x.length;
}
for (let n = 1; n <= xAxis.splitNumber; n++) {
ctx.moveTo(grid.left + (grid.right - grid.left) / xAxis.splitNumber * n - lineWidth, grid.bottom);
ctx.lineTo(grid.left + (grid.right - grid.left) / xAxis.splitNumber * n - lineWidth, grid.bottom +
xAxis.splitLen);
//this.toFixedNumber(1, xAxis.maxNumber / xAxis.splitNumber * n)
if (typeof dataJSON[0].x[n - 1] != "number") { //数据非number类型
ctx.fillText(dataJSON[0].x[n - 1], grid.left + (grid.right -
grid.left) / xAxis.splitNumber * n - lineWidth, grid.bottom + xAxis.splitLen +
lineWidth +
xAxis.marginSplit)
} else { //number类型
ctx.fillText(this.toFixedNumber(1, xAxis.maxNumber / xAxis.splitNumber * n), grid.left + (grid
.right -
grid.left) / xAxis.splitNumber * n - lineWidth, grid.bottom + xAxis.splitLen +
lineWidth +
xAxis.marginSplit)
}
}
ctx.stroke();
let tapDraw = (obj, data) => {
ctx.save();
ctx.beginPath();
ctx.setFillStyle("#2C405A");
ctx.setStrokeStyle("#E6A23C");
ctx.setLineDash([5]);
ctx.setLineWidth(1);
ctx.moveTo(grid.left, obj.y - obj.offsetTop);
ctx.lineTo(grid.right, obj.y - obj.offsetTop);
ctx.moveTo(obj.x - obj.offsetLeft, grid.top);
ctx.lineTo(obj.x - obj.offsetLeft, grid.bottom);
ctx.stroke();
ctx.restore();
// ctx.draw(true, function(res,obj){
// console.log('draw success', ctx);
// });
}
let drawLineData = (dataX, dataY, ix) => {
dataX.forEach((ele, indx) => {
let x, y;
if (typeof ele !== "number") {
x = grid.left + (grid.right - grid.left) * ((indx + 1) / xAxis.maxNumber) -
lineWidth,
y = grid.bottom - (grid.bottom - grid.top) * (dataY[indx] / yAxis.maxNumber) +
lineWidth;
} else {
x = grid.left + (grid.right - grid.left) * (ele / xAxis.maxNumber) - lineWidth,
y = grid.bottom - (grid.bottom - grid.top) * (dataY[indx] / yAxis.maxNumber) +
lineWidth;
}
if (indx >= dataX.length - 1) {} else {
let x2 = typeof ele !== "number" ? grid.left + (grid.right - grid.left) * ((indx +
2) / xAxis
.maxNumber) - lineWidth : grid.left + (grid.right - grid.left) * (dataX[
indx + 1] / xAxis
.maxNumber) - lineWidth,
y2 = grid.bottom - (grid.bottom - grid.top) * (dataY[indx + 1] / yAxis
.maxNumber) + lineWidth;
let dis = {
x: x + (x2 - x) / 3 + (x2 - x) / 2,
y: y2 - y > 0 ? y + (y2 - y) / 3 - (y2 - y) / 5 : y + (y2 - y) / 3 + (y2 -
y) / 5
};
ctx.beginPath();
ctx.setStrokeStyle(lineStyle[ix].color);
ctx.setLineDash([lineStyle[ix].dash]);
ctx.moveTo(x, y);
if (lineStyle[ix].lineDotType == "line") { //直线连接
ctx.lineTo(x2, y2);
} else if (lineStyle[ix].lineDotType == "wave") { //二次贝塞尔曲线连接
ctx.quadraticCurveTo(dis.x, dis.y, x2, y2);
}
ctx.stroke();
}
//显示 xy的值
if (this.tapEvent != null) {
let x2 = this.tapEvent.x - this.tapEvent.offsetLeft,
y2 = this.tapEvent.y - this.tapEvent.offsetTop;
if (this.distDot({
x: x2,
y: y2
}, {
x: x,
y: y
}, dotStyle[ix].arcR + lineWidth) < 0) {
ctx.beginPath();
ctx.setFillStyle("#E6A23C");
ctx.setLineDash([dotStyle[ix].dash]);
ctx.arc(x, y, dotStyle[ix].arcR * 1.5, 0, 2 * Math.PI);
ctx.fill();
ctx.stroke();
ctx.beginPath();
ctx.setFillStyle(lineStyle[ix].color);
ctx.setFontSize(14);
ix % 2 == 1 ?
ctx.fillText(ele + "," + dataY[indx], x, y + 6) :
ctx.fillText(ele + "," + dataY[indx], x, y - 20);
isHover = {
x: x,
y: y
};
ctx.fill();
} else {
ctx.beginPath();
ctx.setFillStyle(dotStyle[ix].color);
ctx.setLineDash([dotStyle[ix].dash]);
ctx.arc(x, y, dotStyle[ix].arcR, 0, 2 * Math.PI);
ctx.fill();
ctx.stroke();
}
} else {
ctx.beginPath();
ctx.setFillStyle(dotStyle[ix].color);
ctx.setLineDash([dotStyle[ix].dash]);
ctx.arc(x, y, dotStyle[ix].arcR, 0, 2 * Math.PI);
ctx.fill();
ctx.stroke();
if (num != -1) {
ctx.beginPath();
ctx.setFillStyle(lineStyle[ix].color);
ctx.setFontSize(12);
ctx.fillText(ele + "," + dataY[indx], x, y + 6);
ctx.fill();
}
}
})
}
dataJSON.forEach((e, v) => {
if (v == num && num != -1) {
drawLineData(e.x, e.y, v);
} else if (num == -1) {
drawLineData(e.x, e.y, v);
} else {
}
})
if (this.tapEvent != null && isHover != null) {
tapDraw(this.tapEvent, elem);
}
ctx.draw();
}
})
},
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: rgba(248, 248, 248, 1);
background-size: 100% auto !important;
}
.chart {
width: 100%;
height: 480rpx;
background: #f8f8f8;
border-radius: 10rpx;
}
.viewReport_fd1_1_c1_c0 {
width: 639rpx;
height: 500rpx;
}
.viewReport_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.viewReport_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.viewReport_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333333;
line-height: 36rpx;
}
.viewReport_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.viewReport_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.viewReport_flex_1 {
padding: 24rpx 24rpx 40rpx 24rpx;
}
.viewReport_fd1_2_c1_c3_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.viewReport_fd1_2_c1_c3_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_2_c1_c3_c0_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 24rpx 0rpx 0rpx 24rpx;
}
.viewReport_fd1_2_c1_c3 {
background: rgba(247, 247, 247, 1);
margin: 9rpx 9rpx 9rpx 9rpx;
width: 318rpx;
height: 169rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_2_c1_c2_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.viewReport_fd1_2_c1_c2_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_2_c1_c2_c0_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 24rpx 0rpx 0rpx 24rpx;
}
.viewReport_fd1_2_c1_c2 {
background: rgba(247, 247, 247, 1);
margin: 9rpx 9rpx 9rpx 9rpx;
width: 318rpx;
height: 169rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_2_c1_c1_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.viewReport_fd1_2_c1_c1_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_2_c1_c1_c0_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 24rpx 0rpx 0rpx 24rpx;
}
.viewReport_fd1_2_c1_c1 {
background: rgba(247, 247, 247, 1);
margin: 9rpx 9rpx 9rpx 9rpx;
width: 318rpx;
height: 169rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_2_c1_c0_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.viewReport_fd1_2_c1_c0_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_2_c1_c0_c0_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 24rpx 0rpx 0rpx 24rpx;
}
.viewReport_fd1_2_c1_c0 {
background: rgba(247, 247, 247, 1);
margin: 9rpx 9rpx 9rpx 9rpx;
width: 318rpx;
height: 169rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_2_c0_c0 {
color: #111111;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.viewReport_fd1_2_c0 {
margin: 9rpx 9rpx 15rpx 9rpx;
}
.viewReport_fd1_2 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 0rpx 20rpx 0rpx;
padding: 15rpx 15rpx 15rpx 15rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_1_c1 {
margin: 48rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_1_c0_c1_c1_c1 {
color: #666666;
font-size: 24rpx;
font-weight: 400;
line-height: 24rpx;
}
.viewReport_fd1_1_c0_c1_c1_c0 {
width: 28rpx;
height: 8rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 12rpx 0rpx 0rpx;
}
.viewReport_fd1_1_c0_c1_c0_c1 {
color: #666666;
font-size: 24rpx;
font-weight: 400;
line-height: 24rpx;
}
.viewReport_fd1_1_c0_c1_c0_c0 {
width: 28rpx;
height: 8rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 12rpx 0rpx 0rpx;
}
.viewReport_fd1_1_c0_c1_c0 {
margin: 0rpx 48rpx 0rpx 0rpx;
}
.viewReport_fd1_1_c0_c0_c0 {
color: #111111;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.viewReport_fd1_1 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
padding: 30rpx 24rpx 0rpx 24rpx;
margin: 0rpx 0rpx 20rpx 0rpx;
}
.viewReport_fd1_0_c1_c3_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.viewReport_fd1_0_c1_c3_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_0_c1_c3_c0_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 24rpx 0rpx 0rpx 24rpx;
}
.viewReport_fd1_0_c1_c3 {
background: rgba(247, 247, 247, 1);
margin: 9rpx 9rpx 9rpx 9rpx;
width: 318rpx;
height: 169rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_0_c1_c2_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.viewReport_fd1_0_c1_c2_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_0_c1_c2_c0_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 24rpx 0rpx 0rpx 24rpx;
}
.viewReport_fd1_0_c1_c2 {
background: rgba(247, 247, 247, 1);
margin: 9rpx 9rpx 9rpx 9rpx;
width: 318rpx;
height: 169rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_0_c1_c1_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.viewReport_fd1_0_c1_c1_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_0_c1_c1_c0_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 24rpx 0rpx 0rpx 24rpx;
}
.viewReport_fd1_0_c1_c1 {
background: rgba(247, 247, 247, 1);
margin: 9rpx 9rpx 9rpx 9rpx;
width: 318rpx;
height: 169rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_0_c1_c0_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.viewReport_fd1_0_c1_c0_c1 {
margin: 24rpx 0rpx 0rpx 0rpx;
}
.viewReport_fd1_0_c1_c0_c0_c0 {
color: #666666;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
margin: 24rpx 0rpx 0rpx 24rpx;
}
.viewReport_fd1_0_c1_c0 {
background: rgba(247, 247, 247, 1);
margin: 9rpx 9rpx 9rpx 9rpx;
width: 318rpx;
height: 169rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
.viewReport_fd1_0_c0_c0 {
color: #111111;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.viewReport_fd1_0_c0 {
margin: 9rpx 9rpx 15rpx 9rpx;
}
.viewReport_fd1_0 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 0rpx 20rpx 0rpx;
padding: 15rpx 15rpx 15rpx 15rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
}
</style>