初始化商家端

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,388 @@
<template>
<view class="page" :style="themeColor">
<view
class="flex flex-direction flex-wrap align-stretch justify-center benben-position-layout flex appealPage_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-stretch justify-between appealPage_fd0_0'>
<view class='flex flex-wrap align-center appealPage_fd0_0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">
<text class='fu-iconfont2 appealPage_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-center'>
<text class='appealPage_fd0_0_c1_c0'>申诉</text>
</view>
<view class='flex align-center justify-end appealPage_fd0_0_c2' @tap.stop="handleJumpDiy"
data-type="navigateTo" :data-url="`/`">
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---意见反馈表单flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout appealPage_flex_1">
<view class='flex flex-wrap align-center appealPage_fd1_0'>
<text class='appealPage_fd1_0_c0'>申诉类型</text>
</view>
<view class='flex flex-direction flex-wrap align-stretch appealPage_fd1_1'>
<benben-select-diy ref="showSelectPopup1681201808828" class-name='flex flex-wrap align-center flex'
:items.sync="select_type" v-model="select_id" default-type="aid" default-label="title"
:allow-cancel='false' type="radio" :disabled='false' @change="change">
<template v-for='(item,key0) in select_type'>
<view v-if="item.isSelected"
class='flex align-center justify-center flex appealPage_fd1_1_c0_c0' :key="key0"
@tap="$refs.showSelectPopup1681201808828.tapHandle(key0)">
<text class='flex-sub appealPage_fd1_1_c0_c0_c0'>{{item.title}}</text>
</view>
<view v-else class='flex align-center justify-center flex appealPage_fd1_1_c0_c1' :key="key0"
@tap="$refs.showSelectPopup1681201808828.tapHandle(key0)">
<text class='flex-sub appealPage_fd1_1_c0_c1_c0'>{{item.title}}</text>
</view>
</template>
</benben-select-diy>
</view>
<text class='appealPage_fd1_2'>申诉内容</text>
<view class='flex flex-direction flex-wrap align-stretch appealPage_fd1_3'>
<view class='flex flex-wrap appealPage_fd1_3_c0'>
<textarea class='flex appealPage_input_fd1_3_c0' confirm-type="done"
:placeholder="'问题描述的越详细,有助于我们更快的解决问题'" :maxlength="240"
placeholder-style="color:rgba(191, 191, 191, 1);font-size:28rpx" v-model="problemDescription" />
</view>
<view class='flex flex-direction flex-wrap align-stretch appealPage_fd1_3_c1'>
<view class="upload position-relative appealPage_fd1_3_c1_c0">
<text v-if="fd1_3_c1_c0 != ''" @tap="fd1_3_c1_c0 = ''"
class='fu-iconfont2 position-absolute appealPage_fd1_3_c1_c0_icon'>&#xE8E7;</text>
<image class=" appealPage_fd1_3_c1_c0_image" mode="aspectFill"
@tap="soloChooseImage('fd1_3_c1_c0id','fd1_3_c1_c0',false,false)"
:src="fd1_3_c1_c0 ? fd1_3_c1_c0 : STATIC_URL+'50.png'"></image>
</view>
</view>
</view>
</view>
<!---意见反馈表单flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center">
<view class='flex flex-wrap align-center flex-sub appealPage_fd2_0'>
</view>
</view>
<!---flex布局flex布局结束-->
<view class="flex flex-wrap align-start justify-center benben-position-layout flex appealPage_flex_3">
<button class='flex-sub appealPage_fd3_0' @tap.stop="sumbitFunc()">提交</button>
</view>
<view :style="{height: '136rpx'}"></view>
</view>
</template>
<script>
import UploadImage from '@/common/utils/upload-image.js'
import {
validate
} from '@/common/utils/validate.js'
export default {
components: {},
data() {
return {
"fd1_3_c1_c0": "",
"fd1_3_c1_c0id": "",
"select_id": "",
"select_type": [],
"problemDescription": "",
"singleImageUpload": [],
"contactInformation": "",
"id": "",
title:""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
let {comment_id} = options
if (comment_id !== undefined) this.id = comment_id
// 获取反馈类型数据
this.get_feedback_type();
},
methods: {
change(e){
console.log(e)
this.title = e.value
},
/**
* @description 获取反馈类型数据
*/
get_feedback_type() {
let that = this;
this.$api
.post(global.apiUrls.appealTypes)
.then(res => {
console.log(res);
if (res.data.code == 1) {
let result = res.data.data;
that.select_type = result; //获取反馈类型数据
// that.active = 0; //默认选中第一个反馈类型
// that.typesname = result[0] && result[0].title; //默认选中第一个反馈类型
}
})
.catch(err => {
console.log(err);
});
},
//上传单图、多图方法
soloChooseImage(id, path, obj, obj1, fnName = false) {
let self = this
if (!obj) obj = this
if (!obj1) obj1 = this
if (self.uploading) {
return
}
// 从相册中选择图片
uni.chooseImage({
count: 1, // 默认3
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
success: function(res) {
self.uploading = true
// 开始上传
new UploadImage(res.tempFiles, {
complete: function(res) {
self.uploading = false
if (id) self.$set(obj, id, res[0].id)
if (path) self.$set(obj1, path, res[0].path)
if (fnName) self[fnName]()
},
})
},
})
},
//提交
sumbitFunc() {
console.log(this.select_id)
if (!validate(this.select_id, 'require')) {
this.$message.info('反馈类型不能为空');
return false;
}
if (!validate(this.problemDescription, 'require')) {
this.$message.info('问题描述不能为空');
return false;
}
if (!(this.fd1_3_c1_c0)) {
this.$message.info('图片不能为空');
return false;
}
this.$api.post(global.apiUrls.appealAdd, {
type:this.title,
order_sn : this.id,
images:this.fd1_3_c1_c0,
content:this.problemDescription
}).then(res => {
this.$message.info(res.data.msg);
console.log(res);
if (res.data.code == 1) {
// 提交成功返回上页面
setTimeout(() => {
uni.navigateBack();
// _this.$urouter.redirectTo('/pages/index/setting/my-feedback');
}, 1200);
}
});
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: rgba(255, 255, 255, 1);
background-size: 100% auto !important;
}
.appealPage_flex_0 {
border-bottom: 1px solid #eee;
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.appealPage_fd0_0_c2 {
padding: 0rpx 0rpx 0rpx 0rpx;
width: 200rpx;
}
.appealPage_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 600;
color: rgba(55, 55, 55, 1);
line-height: 36rpx;
}
.appealPage_fd0_0_c0_c0 {
font-size: 36rpx;
font-weight: 400;
color: #333;
}
.appealPage_fd0_0_c0 {
width: 200rpx;
}
.appealPage_fd0_0 {
padding: 0rpx 32rpx 0rpx 32rpx;
line-height: 88rpx;
}
.appealPage_flex_1 {
background: #fff;
background-size: 100% auto !important;
}
.appealPage_fd1_3_c1_c0_image {
width: 180rpx;
height: 180rpx;
}
.appealPage_fd1_3_c1_c0_icon {
top: 0rpx;
right: 0rpx;
z-index: 10;
color: #ff5536;
}
.appealPage_fd1_3_c1_c0 {
width: 180rpx;
height: 180rpx;
}
.appealPage_fd1_3_c1 {
padding: 0rpx 0rpx 0rpx 32rpx;
}
.appealPage_input_fd1_3_c0 {
width: 100%;
height: 166rpx;
font-size: 28rpx;
font-weight: 400;
color: #333;
}
.appealPage_fd1_3_c0 {
width: 686rpx;
border-radius: 10rpx 10rpx 10rpx 10rpx;
margin: 0rpx 0rpx 0rpx 32rpx;
padding: 0rpx 0rpx 24rpx 0rpx;
}
.appealPage_fd1_3 {
margin: 0rpx 0rpx 32rpx 0rpx;
}
.appealPage_fd1_2 {
font-size: 32rpx;
font-weight: 500;
color: #1A1A1A;
line-height: 109rpx;
margin: 0rpx 32rpx 0rpx 32rpx;
}
.appealPage_fd1_1_c0_c1_c0 {
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
}
.appealPage_fd1_1_c0_c1 {
border: 1px solid rgba(191, 191, 191, 1);
background: #fff;
margin: 24rpx 16rpx 0rpx 16rpx;
height: 64rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
width: 206rpx;
color: rgba(153, 153, 153, 1);
font-size: 28rpx;
line-height: 64rpx;
font-weight: 400;
text-align: center;
}
.appealPage_fd1_1_c0_c0_c0 {
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
}
.appealPage_fd1_1_c0_c0 {
background: rgba(255, 147, 0, 1);
margin: 24rpx 16rpx 0rpx 16rpx;
height: 64rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
width: 206rpx;
color: rgba(255, 255, 255, 1);
font-size: 28rpx;
line-height: 64rpx;
font-weight: 400;
text-align: center;
}
.appealPage_fd1_1 {
border-bottom: 10px solid rgba(246, 247, 248, 1);
padding: 0rpx 16rpx 30rpx 16rpx;
}
.appealPage_fd1_0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #1A1A1A;
margin: 0rpx 32rpx 0rpx 32rpx;
}
.appealPage_fd1_0 {
padding: 32rpx 0rpx 0rpx 0rpx;
}
.appealPage_fd2_0 {
background: rgba(246, 247, 249, 1);
height: 20rpx;
background-size: 100% auto !important;
}
.appealPage_flex_3 {
width: 750rpx;
height: 136rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
}
.appealPage_fd3_0 {
background: rgba(255, 147, 0, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
font-size: 32rpx;
color: #fff;
margin: 0rpx 32rpx 0rpx 32rpx;
height: 88rpx;
line-height: 88rpx;
width: 686rpx;
font-weight: 400;
}
</style>

View File

@ -0,0 +1,700 @@
<template>
<view class="page" :style="themeColor">
<view class="flex flex-wrap align-end benben-position-layout flex businessSettings_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub businessSettings_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 businessSettings_fd0_0_c0_c0'>&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='businessSettings_fd0_0_c1_c0'>营业设置</text>
</view>
<view class='flex flex-wrap align-center businessSettings_fd0_0_c2'>
<text @tap="sureTap">保存</text>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center businessSettings_flex_1">
<view class='flex flex-direction flex-wrap align-stretch flex-sub businessSettings_fd1_0'>
<view class='flex flex-wrap align-center justify-between businessSettings_fd1_0_c0'>
<view class='flex flex-wrap align-center'>
<text class='businessSettings_fd1_0_c0_c0_c0'>起送价</text>
</view>
<view class='flex flex-wrap align-center'>
<input class="businessSettings_fd1_0_c0_c1_c0" maxlength="4" type="digit" v-model="start_price" placeholder="起送价">
<image class='businessSettings_fd1_0_c0_c1_c1' mode="aspectFit" :src='STATIC_URL+"89.png"'>
</image>
</view>
</view>
<view class='flex flex-wrap align-center justify-between businessSettings_fd1_0_c1'>
<view class='flex flex-wrap align-center'>
<text class='businessSettings_fd1_0_c1_c0_c0'>人均价格</text>
</view>
<view class='flex flex-wrap align-center'>
<input class="businessSettings_fd1_0_c0_c1_c0" maxlength="4" type="digit" v-model="per_capita" placeholder="人均价格">
<image class='businessSettings_fd1_0_c1_c1_c1' mode="aspectFit" :src='STATIC_URL+"89.png"'>
</image>
</view>
</view>
<view class='flex flex-wrap align-center justify-between businessSettings_fd1_0_c1'>
<view class='flex flex-wrap align-center'>
<text class='businessSettings_fd1_0_c1_c0_c0'>积分</text>
</view>
<view class='flex flex-wrap align-center'>
<input class="businessSettings_fd1_0_c0_c1_c0" disabled="disabled" maxlength="3" type="number" v-model="score_rate" placeholder="积分比例">
<!-- <image class='businessSettings_fd1_0_c1_c1_c1' mode="aspectFit" :src='STATIC_URL+"89.png"'>
</image> -->
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch'>
<view class='flex flex-wrap iNeedFeedback_fd1_3_c0'>
<textarea class='flex iNeedFeedback_input_fd1_3_c0' confirm-type="done"
:placeholder="'店铺公告'" :maxlength="240"
placeholder-style="color:#999;font-size:28rpx" v-model="notice" />
</view>
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout businessSettings_flex_2">
<view class='flex flex-wrap align-center'>
<text class='businessSettings_fd2_0_c0'>营业时间</text>
</view>
<view>
<benben-flex-tabs class-name='businessSettings_benbenTabsfd2_1' v-model="tabls" ref="benben_tabsfd2_1"
select-mark="benben_tabsfd2_1" key="benben_tabsfd2_1" :open-title-type='false' :open-sticky='true'
:top='88' :is-show-content='false' :scrollspy='false' :tabs-info.sync="tabsInfofd2_1">
<scroll-view @scroll="tabsInfofd2_1.scrollX = $event.detail.scrollLeft" id="benben_tabsfd2_1"
class="benben-tabs" style="width:750rpx" :scroll-x="true"
:scroll-left.sync="tabsInfofd2_1.moveX" scroll-with-animation="all .3s ease">
<view class="benben-tabs-content" id="benben_tabsfd2_1-content">
<view id="benben_tabsfd2_1-title" class="benben-tabs-title flex align-center flex ">
<view
:class="{ 'checkTitlefd2_1': tabls == '1', 'flex flex-wrap align-center justify-center businessSettings_titlefd2_1_c3': true }"
@tap="weekTap(1)" :id="`benben_tabsfd2_1-title-item-${'1'}`">
<text>周一</text>
</view>
<view
:class="{ 'checkTitlefd2_1': tabls == '2', 'flex flex-wrap align-center justify-center businessSettings_titlefd2_1_c4': true }"
@tap="weekTap(2)" :id="`benben_tabsfd2_1-title-item-${'2'}`">
<text>周二</text>
</view>
<view
:class="{ 'checkTitlefd2_1': tabls == '3', 'flex flex-wrap align-center justify-center businessSettings_titlefd2_1_c5': true }"
@tap="weekTap(3)" :id="`benben_tabsfd2_1-title-item-${'3'}`">
<text>周三</text>
</view>
<view
:class="{ 'checkTitlefd2_1': tabls == '4', 'flex flex-wrap align-center justify-center businessSettings_titlefd2_1_c6': true }"
@tap="weekTap(4)" :id="`benben_tabsfd2_1-title-item-${'4'}`">
<text>周四</text>
</view>
<view
:class="{ 'checkTitlefd2_1': tabls == '5', 'flex flex-wrap align-center justify-center businessSettings_titlefd2_1_c7': true }"
@tap="weekTap(5)" :id="`benben_tabsfd2_1-title-item-${'5'}`">
<text>周五</text>
</view>
<view
:class="{ 'checkTitlefd2_1': tabls == '6', 'flex flex-wrap align-center justify-center businessSettings_titlefd2_1_c8': true }"
@tap="weekTap(6)" :id="`benben_tabsfd2_1-title-item-${'6'}`">
<text>周六</text>
</view>
<view
:class="{ 'checkTitlefd2_1': tabls == '-1', 'flex flex-wrap align-center justify-center businessSettings_titlefd2_1_c9': true }"
@tap="weekTap(-1)" :id="`benben_tabsfd2_1-title-item-${'-1'}`">
<text class='businessSettings_titleItemfd2_1_c9_c0'>周日</text>
</view>
</view>
<view :style="{ left: tabsInfofd2_1.lineleft, maxWidth: tabsInfofd2_1.lineWidth }"
id="benben_tabsfd2_1-line" class="benben-tabs-line flex benben-flex-tabs-line"></view>
</view>
</scroll-view>
</benben-flex-tabs>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout businessSettings_flex_3">
<view class='flex flex-wrap align-center justify-around businessSettings_fd3_0' v-for="(item,index) in timeList" :key="index">
<view class='flex flex-wrap align-center' @tap.stop="satTime(item,index)">
<text class='businessSettings_fd3_0_c0_c0'>{{item.start_time || '开始时间'}}</text>
<!-- <input class='businessSettings_fd3_0_c0_c0' type="text" placeholder="开始时间" confirm-type="done"
:maxlength="-1" :disabled='true'
placeholder-style="color:rgba(153, 153, 153, 1);font-size:28rpx" v-model="item.start_time" /> -->
</view>
<text class='businessSettings_fd3_0_c1'></text>
<view class='flex flex-wrap align-center' @tap.stop="endTime(item,index)">
<text class='businessSettings_fd3_0_c0_c0'>{{item.end_time || '结束时间'}}</text>
<!-- <input class='businessSettings_fd3_0_c2_c0' type="text" placeholder="结束时间" confirm-type="done"
:maxlength="-1" :disabled='true'
placeholder-style="color:rgba(153, 153, 153, 1);font-size:28rpx" v-model="item.end_time" /> -->
</view>
<image @tap.stop="delTap(item,index)" class='close' mode="aspectFit" :src='STATIC_URL+"17.png"'></image>
</view>
<!-- <view class='flex flex-wrap align-center justify-around businessSettings_fd3_0'>
<view class='flex flex-wrap align-center' @tap.stop="pickerDiy1684392640820=true">
<input class='businessSettings_fd3_0_c0_c0' type="text" placeholder="开始时间" confirm-type="done"
:maxlength="-1" :disabled='true'
placeholder-style="color:rgba(153, 153, 153, 1);font-size:28rpx" v-model="begin" />
</view>
<text class='businessSettings_fd3_0_c1'></text>
<view class='flex flex-wrap align-center' @tap.stop="endTime">
<input class='businessSettings_fd3_0_c2_c0' type="text" placeholder="结束时间" confirm-type="done"
:maxlength="-1" :disabled='true'
placeholder-style="color:rgba(153, 153, 153, 1);font-size:28rpx" v-model="over" />
</view>
</view> -->
<view class='flex flex-wrap align-center justify-center businessSettings_fd3_1' @tap="addTap">
<button class='businessSettings_fd3_1_c0'>+添加时间段</button>
</view>
</view>
<!---flex布局flex布局结束-->
<!--开始时间开始 -->
<benben-picker ref="benbenWritePickerCodepicker4" :visible.sync="pickerDiy1684392640820"
mode='time' :mask-show='true' :timeout='true' :picker-height='88' :current='true' :second='false' @change="beginChange">
<template #picker-header>
<view class='flex flex-wrap align-center justify-between businessSettings_picker4_0'>
<text @tap="$refs.benbenWritePickerCodepicker4.cancel()">取消</text>
<text>开始时间</text>
<text class='businessSettings_picker4_0_c2'
@tap="$refs.benbenWritePickerCodepicker4.pickerConfirm()">确认</text>
</view>
</template>
</benben-picker>
<!--开始时间结束 -->
<!--结束时间开始 -->
<benben-picker ref="benbenWritePickerCodepicker5" :visible.sync="pickerDiy1684392695273"
mode='time' :mask-show='true' :timeout='true' :picker-height='88' :current='true' :second='false' @change="endChange">
<template #picker-header>
<view class='flex flex-wrap align-center justify-between businessSettings_picker5_0'>
<text @tap="$refs.benbenWritePickerCodepicker5.cancel()">取消</text>
<text>结束时间</text>
<text class='businessSettings_picker5_0_c2'
@tap="$refs.benbenWritePickerCodepicker5.pickerConfirm()">确认</text>
</view>
</template>
</benben-picker>
<!--结束时间结束 -->
</view>
</template>
<script>
export default {
components: {},
data() {
return {
"pickerDiy1684392695273": false,
"pickerDiy1684392640820": false,
"tabsInfofd2_1": {
lineleft: '',
lineWidth: '',
moveX: 0,
scrollX: 0,
PageScrollX: 0
},
"tabls": "1",
"begin": "",
"over": "",
per_capita:"",
start_price:"",
timeList:[],
aid:"",
timeindex:"",
score_rate:"",
notice:"",
is_check:false
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
this.getStore()
this.post648687ea70bc9()
},
methods: {
//选择结束时间
satTime(item,index){
console.log(123);
this.aid = item.aid?item.aid:""
this.timeindex = index
this.pickerDiy1684392640820 = true
},
//选择结束时间
endTime(item,index){
this.timeindex = index
if(!this.timeList[this.timeindex].start_time) return this.$message.info('请选择开始时间')
this.aid = item.aid?item.aid:""
this.pickerDiy1684392695273 = true
},
//开始时间确定
beginChange(e){
console.log(e)
if((this.timeList[this.timeindex].end_time < e.result) && this.timeList[this.timeindex].end_time) return this.$message.info('结束时间必须大于开始时间')
// this.begin = e.result
console.log(this.timeindex)
this.timeList[this.timeindex].start_time = e.result
if(this.aid){
this.post648d0d73c1d23()
}
},
//结束时间确定
endChange(e){
if(this.timeList[this.timeindex].start_time > e.result) return this.$message.info('结束时间必须大于开始时间')
this.over = e.result
this.timeList[this.timeindex].end_time = e.result
if(this.aid){
this.post648d0d73c1d23()
}else{
this.post6486873b6ee87()
}
},
//修改时间
post648d0d73c1d23(){
this.$api.post(global.apiUrls.post648d0d73c1d23,{
week:this.tabls.toString(),
start_time:this.timeList[this.timeindex].start_time,
end_time:this.timeList[this.timeindex].end_time,
aid:this.aid
}).then(res=>{
console.log(res);
if (res.data.code == 0) return this.$message.info(res.data.msg)
this.post648687ea70bc9()
})
},
//添加时间
post6486873b6ee87(){
this.$api.post(global.apiUrls.post6486873b6ee87,{
week:this.tabls.toString(),
start_time:this.timeList[this.timeindex].start_time,
end_time:this.timeList[this.timeindex].end_time
}).then(res=>{
console.log(res);
if (res.data.code == 0) return this.$message.info(res.data.msg)
this.post648687ea70bc9()
})
},
//删除时间段
delTap(item,index){
console.log(item.aid)
if(item.aid){
this.$api.post(global.apiUrls.post648687a2c8509,{
aid:item.aid
}).then(res=>{
if(res.data.code==1){
this.timeList.splice(index,1)
}
})
}else{
this.timeList.splice(index,1)
}
},
//添加时间段数组
addTap(){
this.timeList.push({
start_time:"",
end_time:""
})
},
//获取营业时间
post648687ea70bc9(){
this.$api.post(global.apiUrls.post648687ea70bc9,{
week:this.tabls.toString()
}).then(res=>{
if(res.data.code==1){
this.timeList = res.data.data
}
})
},
weekTap(type){
this.tabls = type
this.post648687ea70bc9()
},
//获取店铺信息
getStore() {
this.$api.post(global.apiUrls.postGetShopInfo)
.then(res => {
if (res.data.code == 1) {
this.start_price = res.data.data.start_price;
this.per_capita=res.data.data.per_capita;
this.score_rate=res.data.data.score_rate;
this.notice=res.data.data.notice;
}
console.log(res.data)
})
},
sureTap(){
if(this.is_check) return
if(this.score_rate > 100) return this.$message.info('积分比例不能大于100')
let rep = /[\.]/;
if(rep.test(this.score_rate)) return this.$message.info('积分比例只能是整数')
this.is_check = true
this.$api.post(global.apiUrls.Get64868bb21965a,{
start_price:this.start_price,
per_capita:this.per_capita,
score_rate:this.score_rate,
notice:this.notice,
}).then(res => {
this.$message.info(res.data.msg)
if (res.data.code == 1) {
this.getStore()
this.is_check = false
}else{
this.is_check = false
}
console.log(res.data)
})
}
// Get64868bb21965a
}
};
</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;
}
.iNeedFeedback_fd1_2 {
font-size: 32rpx;
font-weight: 500;
color: #1A1A1A;
line-height: 109rpx;
margin: 0rpx 32rpx 0rpx 32rpx;
}
.iNeedFeedback_fd1_3 {
margin: 0rpx 0rpx 32rpx 0rpx;
}
.iNeedFeedback_fd1_3_c0 {
width: 686rpx;
border-radius: 10rpx 10rpx 10rpx 10rpx;
// margin: 0rpx 0rpx 0rpx 32rpx;
padding: 20rpx 0rpx 24rpx 0rpx;
}
.iNeedFeedback_input_fd1_3_c0 {
width: 100%;
height: 166rpx;
font-size: 28rpx;
font-weight: 400;
color: #333;
}
.businessSettings_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.businessSettings_fd0_0_c2 {
width: 80rpx;
height: 32rpx;
text-align: right;
color: #ff9300;
}
.businessSettings_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.businessSettings_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.businessSettings_fd0_0 {
width: 80rpx;
margin: 0rpx 32rpx 0rpx 32rpx;
}
.businessSettings_flex_1 {
padding: 24rpx 24rpx 20rpx 24rpx;
}
.businessSettings_fd1_0_c1_c1_c1 {
width: 17rpx;
height: 40rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 0rpx 0rpx 13rpx;
}
.businessSettings_fd1_0_c1_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 28rpx;
}
.businessSettings_fd1_0_c1_c0_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 38rpx;
}
.businessSettings_fd1_0_c1 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.businessSettings_fd1_0_c0_c1_c1 {
width: 17rpx;
height: 40rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 0rpx 0rpx 13rpx;
}
.businessSettings_fd1_0_c0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 28rpx;
text-align: right
}
.businessSettings_fd1_0_c0_c0_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 38rpx;
}
.businessSettings_fd1_0_c0 {
border-bottom: 1px solid #eee;
padding: 32rpx 0rpx 32rpx 0rpx;
}
.businessSettings_fd1_0 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
padding: 0rpx 24rpx 0rpx 24rpx;
}
.businessSettings_flex_2 {
padding: 0rpx 0rpx 0rpx 24rpx;
}
.businessSettings_titleItemfd2_1_c9_c0 {
margin: 0rpx 12rpx 0rpx 0rpx;
}
.businessSettings_titlefd2_1_c9 {
background: rgba(255, 255, 255, 1);
width: 128rpx;
height: 60rpx;
margin: 0rpx 12rpx 0rpx 0rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.businessSettings_titlefd2_1_c8 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 12rpx 0rpx 0rpx;
width: 128rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.businessSettings_titlefd2_1_c7 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 12rpx 0rpx 0rpx;
width: 128rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.businessSettings_titlefd2_1_c6 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 12rpx 0rpx 0rpx;
width: 128rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.businessSettings_titlefd2_1_c5 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 12rpx 0rpx 0rpx;
width: 128rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.businessSettings_titlefd2_1_c4 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 12rpx 0rpx 0rpx;
width: 128rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.businessSettings_titlefd2_1_c3 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 12rpx 0rpx 0rpx;
width: 128rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.checkTitlefd2_1 {
font-weight: 500 !important;
font-size: 28rpx !important;
color: rgba(255, 255, 255, 1) !important;
background-color: rgba(255, 147, 0, 1) !important;
}
::v-deep .businessSettings_benbenTabsfd2_1 {
width: 750rpx;
height: 99rpx;
white-space: nowrap;
text-align: center;
font-size: 24rpx;
font-weight: 500;
color: #666666;
}
.businessSettings_fd2_0_c0 {
color: #0E0E0C;
font-size: 28rpx;
font-weight: 500;
line-height: 38rpx;
}
.businessSettings_flex_3 {
padding: 0rpx 24rpx 0rpx 24rpx;
}
.businessSettings_fd3_1_c0 {
border: 1px solid rgba(255, 147, 0, 1);
background: rgba(255, 255, 255, 1);
border-radius: 36rpx 36rpx 36rpx 36rpx;
font-size: 24rpx;
color: rgba(255, 147, 0, 1);
width: 260rpx;
height: 72rpx;
line-height: 72rpx;
}
.businessSettings_fd3_1 {
margin: 16rpx 0rpx 0rpx 0rpx;
}
.businessSettings_fd3_0_c2_c0 {
width: 170rpx;
text-align: center;
}
.businessSettings_fd3_0_c1 {
color: #999999;
font-size: 24rpx;
font-weight: 400;
line-height: 24rpx;
}
.businessSettings_fd3_0_c0_c0 {
width: 170rpx;
text-align: center;
}
.businessSettings_fd3_0 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
padding: 24rpx 0rpx 24rpx 0rpx;
margin: 0rpx 0rpx 16rpx 0rpx;
position: relative;
}
.close{
width: 32rpx;
height: 32rpx;
position: absolute;
top: 30rpx;
right: 24rpx;
}
.businessSettings_picker4_0_c2 {
color: rgba(255, 147, 0, 1);
}
.businessSettings_picker4_0 {
border-bottom: 1px solid #eee;
background: #fff;
padding: 0rpx 32rpx 0rpx 32rpx;
line-height: 88rpx;
border-radius: 25rpx 25rpx 0rpx 0rpx;
background-size: 100% auto !important;
}
.businessSettings_picker5_0_c2 {
color: rgba(255, 147, 0, 1);
}
.businessSettings_picker5_0 {
border-bottom: 1px solid #eee;
background: #fff;
padding: 0rpx 32rpx 0rpx 32rpx;
line-height: 88rpx;
border-radius: 25rpx 25rpx 0rpx 0rpx;
background-size: 100% auto !important;
}
</style>

View File

@ -0,0 +1,795 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center evaluationManagement_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub evaluationManagement_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 evaluationManagement_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='evaluationManagement_fd0_0_c1_c0'>评价管理</text>
</view>
<view class='flex flex-wrap align-center evaluationManagement_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center evaluationManagement_flex_1">
<view class='flex flex-wrap align-center flex-sub'>
<view class='flex flex-direction flex-wrap align-start'>
<text class='evaluationManagement_fd1_0_c0_c0'>{{shopInfo.score}}</text>
<text class='evaluationManagement_fd1_0_c0_c1'>商家评分 </text>
</view>
<view class='flex flex-direction flex-wrap align-start evaluationManagement_fd1_0_c1'>
<text class='evaluationManagement_fd1_0_c1_c0'>{{shopInfo.service_score}}</text>
<text class='evaluationManagement_fd1_0_c1_c1'>服务态度</text>
</view>
<view class='flex flex-direction flex-wrap align-start evaluationManagement_fd1_0_c2'>
<text class='evaluationManagement_fd1_0_c2_c0'>{{shopInfo.goods_score}}</text>
<text class='evaluationManagement_fd1_0_c2_c1'>菜品口味</text>
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center evaluationManagement_flex_2">
<view class='flex flex-wrap align-center flex-sub evaluationManagement_fd2_0'>
<benben-select-diy ref="showSelectPopup1684218856132" class-name='flex flex-wrap flex'
:items.sync="evaluate_type" v-model="evaluate_id" default-type="value" default-label="name"
:allow-cancel='false' type="radio" :disabled='false' @change="getGoodsComment">
<template v-for='(item,key0) in evaluate_type'>
<view v-if="item.isSelected" class='flex justify-center flex evaluationManagement_fd2_0_c0_c0'
:key="key0" @tap="$refs.showSelectPopup1684218856132.tapHandle(key0)">
<text>{{item.name}}</text>
<text class="margin-left-sm">{{item.num}}</text>
</view>
<view v-else class='flex justify-center flex evaluationManagement_fd2_0_c0_c1' :key="key0"
@tap="$refs.showSelectPopup1684218856132.tapHandle(key0)">
<text>{{item.name}}</text>
<text class="margin-left-sm">{{item.num}}</text>
</view>
</template>
</benben-select-diy>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center">
<view class='flex flex-wrap align-center flex-sub evaluationManagement_fd3_0'>
</view>
</view>
<!---flex布局flex布局结束-->
<benben-position-popup ref="benbenPositionPopup1684407635889" :width="156" :height="162" :mask-hide='false'
popup-origin="left top">
<view
class='flex flex-direction align-center justify-center benben-flex-position-popup flex evaluationManagement_popup_4'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="navigateTo"
:data-url="`/pages/dpgl/appealPage/appealPage`">
<image class='evaluationManagement_positionPopup4_c0_c0' mode="aspectFit"
:src='STATIC_URL+"54.png"'></image>
<text class='evaluationManagement_positionPopup4_c0_c1'>申诉</text>
</view>
<view class='flex flex-wrap align-center evaluationManagement_positionPopup4_c1'>
</view>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="navigateTo"
:data-url="`/pages/dpgl/appealPage/appealPage`">
<image class='evaluationManagement_positionPopup4_c2_c0' mode="aspectFit"
:src='STATIC_URL+"55.png"'></image>
<text class='evaluationManagement_positionPopup4_c2_c1'>回复</text>
</view>
</view>
</benben-position-popup>
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout evaluationManagement_flex_5">
<view v-for="(item,index) in listData" :key="index" class='flex flex-direction flex-wrap align-stretch flex-sub evaluationManagement_fd5_1'>
<view class='flex flex-wrap align-center justify-between'>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap align-center'>
<image class='evaluationManagement_fd5_1_c0_c0_c0_c0' mode="aspectFill"
:src='item.avatar'></image>
</view>
<view class='flex flex-direction flex-wrap align-start'>
<text class='evaluationManagement_fd5_1_c0_c0_c1_c0'>{{item.user_nickname}}</text>
<text class='evaluationManagement_fd5_1_c0_c0_c1_c1'>{{item.create_time}}</text>
</view>
</view>
<view class='flex flex-wrap align-center evaluationManagement_fd5_1_c0_c1'
@tap.stop="shopChoose(item,index)">
<image class='evaluationManagement_fd5_1_c0_c1_c0' mode="aspectFit" :src='STATIC_URL+"51.png"'>
</image>
</view>
</view>
<view class='flex flex-wrap align-center'>
<text class='evaluationManagement_fd5_1_c1_c0'>{{item.content}}</text>
</view>
<view class='flex flex-wrap align-center'>
<image @tap="handlePreviewImages(item.images,idsindex)" v-for="(ids,idsindex) in item.images " :key="idsindex" class='evaluationManagement_fd5_1_c2_c0' mode="aspectFill" :src='ids'></image>
</view>
<view class='flex flex-direction-row-reverse flex-wrap align-center evaluationManagement_fd5_0_c3' v-if="item.is_reply==0">
<image class='evaluationManagement_fd5_0_c3_c0' mode="aspectFit" :src='STATIC_URL+"53.png"'></image>
</view >
<view v-else class='flex flex-wrap align-center evaluationManagement_fd5_1_c3'>
<text class='evaluationManagement_fd5_1_c3_c0'>已回复</text>
<view class='evaluationManagement_fd5_1_c3_c1'>{{item.reply_content}}</view>
</view>
<!-- -->
<view class="shop-reply" v-if="item.checked">
<view class="shop-warp">
<view @tap="appealTap(item,index)">
<image class='evaluationManagement_positionPopup4_c0_c0' mode="aspectFit"
:src='STATIC_URL+"54.png"'></image>
<text>申诉</text>
</view>
<text class="lines" v-if="item.is_reply==0"></text>
<view v-if="item.is_reply==0" @tap="replyTap(item,index)">
<image class='evaluationManagement_positionPopup4_c2_c0' mode="aspectFit"
:src='STATIC_URL+"55.png"'></image>
<text>回复</text>
</view>
</view>
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<fu-popup borderRadius="0" v-model="isLanguageShow" mode="bottom">
<view class="zhe-footer">
<input placeholder="回复用户:请输入内容" v-model="content" focus="true"/>
<view class="sure-btn" @tap="sureBtnTap">确定</view>
</view>
</fu-popup>
<!-- 订单列表结束 -->
<fu-empty-ui v-if="listData.length==0"></fu-empty-ui>
<!-- <view class="loading-wapper" v-if="loadedAll && !noListData && listData.length != 0">
<text class="loading-txt">已加载全部明细</text>
</view> -->
<view class="loading-wapper" v-if="loadedAll && !noListData && listData.length != 0">
<text class="loading-txt">已加载全部数据</text>
</view>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
isLanguageShow:false,
"evaluate_type": [{
"name": "全部",
"value": "1",
"image": "",
num:""
}, {
"name": "好评",
"value": "2",
"image": "",
num:""
}, {
"name": "有图",
"value": "3",
"image": "",
num:""
}, {
"name": "差评",
"value": "4",
"image": "",
num:""
}, {
"name": "中评",
"value": "5",
"image": "",
num:""
}],
"evaluate_id": "1",
shopInfo: '',
page: 1, // 分页
allowLoadMore: true, // 允许加载更多
loadedAll: false, // 已加载全部数据
noListData: false, // 没有列表数据
listData: [],
content:"",
comment_id:'',
comment_index:''
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
this.postGetShopInfo();
},
onPullDownRefresh() {
},
onReachBottom(e) {
this.getCommentList();
},
methods: {
//获取店铺信息
postGetShopInfo() {
this.$api.post(global.apiUrls.postGetShopInfo).then(res => {
if (res.data.code == 1) {
this.shopInfo = res.data.data
this.getCommentList();
this.getCommentNum();
}
})
},
//获取评论数量
getCommentNum() {
this.$api.post(global.apiUrls.getCommentNum,{
store_id:this.shopInfo.aid
}).then(res => {
console.log(res)
if (res.data.code == 1) {
this.evaluate_type[0].num = res.data.data.all
this.evaluate_type[1].num = res.data.data.good
this.evaluate_type[2].num = res.data.data.img
this.evaluate_type[3].num = res.data.data.bad
this.evaluate_type[4].num = res.data.data.center
}
})
},
//获取评价列表
getCommentList() {
if (!this.allowLoadMore || this.loadedAll || this.noListData) return;
this.allowLoadMore = false;
this.$api.post(global.apiUrls.getCommentList, {
type: this.evaluate_id,
store_id:this.shopInfo.aid
}).then(res => {
if (res.data.code == 1) {
let tempLists = res.data.data.data,
totalPage = res.data.data.last_page,
listData = this.listData;
this.listData.push(...tempLists);
this.listData.forEach(item => {
item.checkedre = 0
})
console.log(this.listData)
this.allowLoadMore = true;
if (this.page >= totalPage) this.loadedAll = true;
if (this.page == 1 && this.listData.length == 0) this.noListData = true;
this.page += 1;
} else {
this.allowLoadMore = true;
}
}).catch(err => {
this.allowLoadMore = true;
})
},
getGoodsComment(e) {
console.log(e)
this.evaluate_id = e.label
this.page = 1;
this.allowLoadMore = true;
this.loadedAll = false;
this.noListData = false;
this.listData = [];
this.getCommentList();
},
shopChoose(item,index){
let list = this.listData;
this.listData[index].checked=!this.listData[index].checked;
list = list.map((item,i) => {
if(i==index){
item.checked = item.checked;
}else{
item.checked = false;
}
item.checked = item.checked;
return item;
})
this.listData = list
},
//申诉
appealTap(item,index){
uni.navigateTo({
url:'/pages/dpgl/appealPage/appealPage?comment_id=' + item.order_sn + '&index=' + index
})
},
//回复
replyTap(item,index){
this.comment_id=item.order_sn;
this.comment_index=index;
this.isLanguageShow=true
},
sureBtnTap(){
if(!this.content) return this.$message.info('请输入内容')
this.$api.post(global.apiUrls.appealAddReply,{
order_sn:this.comment_id,
reply_content:this.content
}).then(res=>{
this.isLanguageShow=false
this.$message.info(res.data.msg)
if(res.data.code==1){
let list = this.listData;
this.listData[this.comment_index].is_reply=1;
list = list.map((item,i) => {
if(i==this.comment_index){
item.is_reply = 1;
item.reply_content=this.content
}else{
item.checkedre = 0;
}
item.checkedre = item.checkedre;
return item;
})
this.listData = list
}
})
},
handlePreviewImages(img, index) {
console.log(img)
// return
// img = img.indexOf("http://") != -1 || img.indexOf("https://") != -1 ? img : global.imgBaseUrl + img;
uni.previewImage({
current: index,
urls: img
})
},
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: #F8F8F8;
background-size: 100% auto !important;
}
.loading-wapper {
width: auto;
height: auto;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-top: 20upx;
text {
font-size: 24upx;
color: #999999;
}
}
.zhe-footer{
padding: 17rpx 32rpx;
display: flex;
align-items: center;
justify-content: space-between;
input{
width: 528rpx;
height: 66rpx;
padding-left: 29rpx;
background: #F8F8F8;
border-radius: 35rpx;
font-size: 28rpx;
}
.sure-btn{
width: 140rpx;
height: 66rpx;
text-align: center;
line-height: 66rpx;
color: #fff;
background: #FF9300;
opacity: 1;
border-radius: 33rpx;
}
}
.shop-reply{
position: absolute;
right: 0;
top: 62rpx;
z-index: 8888;
.shop-warp{
width: 136rpx;
// height: 170rpx;
display: flex;
flex-direction: column;
align-items: center;
position: absolute;
right: 0;
top: 15rpx;
z-index: 8888;
background: #fff;
box-shadow: 0px 3px 24px 1px rgba(153,153,153,0.16);
view{
height: 85rpx;
display: flex;
align-items: center;
justify-content: center;
}
.lines{
width: 104rpx;
border-bottom: 1rpx solid #FFFFFF;
opacity: 0.12;
}
}
}
.evaluationManagement_flex_0 {
background: rgba(255, 147, 0, 1);
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.evaluationManagement_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.evaluationManagement_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: rgba(255, 255, 255, 1);
line-height: 88rpx;
}
.evaluationManagement_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: rgba(255, 255, 255, 1);
line-height: 88rpx;
}
.evaluationManagement_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.evaluationManagement_flex_1 {
background: rgba(255, 255, 255, 1);
padding: 32rpx 32rpx 0rpx 32rpx;
background-size: 100% auto !important;
}
.evaluationManagement_fd1_0_c2_c1 {
color: #333333;
font-size: 24rpx;
font-weight: 400;
line-height: 30rpx;
margin: 3rpx 0rpx 0rpx 0rpx;
}
.evaluationManagement_fd1_0_c2_c0 {
color: #FF6842;
font-size: 32rpx;
font-weight: 500;
line-height: 40rpx;
}
.evaluationManagement_fd1_0_c2 {
margin: 0rpx 0rpx 0rpx 118rpx;
}
.evaluationManagement_fd1_0_c1_c1 {
color: #333333;
font-size: 24rpx;
font-weight: 400;
line-height: 30rpx;
margin: 3rpx 0rpx 0rpx 0rpx;
}
.evaluationManagement_fd1_0_c1_c0 {
color: #FF6842;
font-size: 32rpx;
font-weight: 500;
line-height: 40rpx;
}
.evaluationManagement_fd1_0_c1 {
margin: 0rpx 0rpx 0rpx 124rpx;
}
.evaluationManagement_fd1_0_c0_c1 {
color: #333333;
font-size: 24rpx;
font-weight: 400;
line-height: 30rpx;
margin: 3rpx 0rpx 0rpx 0rpx;
}
.evaluationManagement_fd1_0_c0_c0 {
color: #FF6842;
font-size: 32rpx;
font-weight: 500;
line-height: 40rpx;
}
.evaluationManagement_flex_2 {
background: rgba(255, 255, 255, 1);
background-size: 100% auto !important;
}
.evaluationManagement_fd2_0_c0_c1 {
background: rgba(246, 247, 249, 1);
width: 160rpx;
height: 56rpx;
margin: 8rpx 10rpx 8rpx 10rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
font-size: 24rpx;
line-height: 56rpx;
color: rgba(51, 51, 51, 1);
}
.evaluationManagement_fd2_0_c0_c0 {
background: rgba(255, 147, 0, 1);
width: 160rpx;
height: 56rpx;
margin: 8rpx 10rpx 8rpx 10rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
color: rgba(255, 255, 255, 1);
font-size: 24rpx;
line-height: 56rpx;
}
.evaluationManagement_fd2_0 {
margin: 0rpx 11rpx 0rpx 18rpx;
padding: 24rpx 0rpx 32rpx 0rpx;
}
.evaluationManagement_fd3_0 {
background: rgba(248, 248, 248, 1);
height: 20rpx;
background-size: 100% auto !important;
}
.evaluationManagement_popup_4 {
background: rgba(255, 255, 255, 1);
box-shadow: 0rpx 4rpx 24rpx rgba(50, 50, 51, .12);
border-radius: 11rpx 11rpx 11rpx 11rpx;
width: 156rpx;
height: 162rpx;
background-size: 100% auto !important;
}
.evaluationManagement_positionPopup4_c2_c1 {
color: #333333;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.evaluationManagement_positionPopup4_c2_c0 {
width: 32rpx;
height: 32rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 11rpx 0rpx 0rpx;
}
.evaluationManagement_positionPopup4_c1 {
background: rgba(238, 238, 238, 1);
width: 116rpx;
height: 1rpx;
background-size: 100% auto !important;
margin: 24rpx 0rpx 24rpx 0rpx;
}
.evaluationManagement_positionPopup4_c0_c1 {
color: #333333;
font-size: 24rpx;
font-weight: 500;
line-height: 24rpx;
}
.evaluationManagement_positionPopup4_c0_c0 {
width: 32rpx;
height: 32rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 11rpx 0rpx 0rpx;
}
.evaluationManagement_flex_5 {
background: rgba(255, 255, 255, 1);
padding: 0rpx 32rpx 0rpx 32rpx;
background-size: 100% auto !important;
}
.evaluationManagement_fd5_1_c3_c1 {
width: 480rpx;
color: #999999;
font-size: 24rpx;
font-weight: 500;
text-align: left;
word-break:break-all;
overflow-wrap: break-word;
word-wrap: break-word;
}
.evaluationManagement_fd5_1_c3_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 500;
line-height: 80rpx;
}
.evaluationManagement_fd5_1_c3 {
background: rgba(246, 247, 249, 1);
border-radius: 8rpx 8rpx 8rpx 8rpx;
background-size: 100% auto !important;
// height: 80rpx;
margin: 24rpx 0rpx 0rpx 0rpx;
padding: 0rpx 0rpx 0rpx 24rpx;
}
.evaluationManagement_fd5_1_c2_c2 {
width: 220rpx;
height: 220rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
}
.evaluationManagement_fd5_1_c2_c1 {
width: 220rpx;
height: 220rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
}
.evaluationManagement_fd5_1_c2_c0 {
width: 220rpx;
height: 220rpx;
border-radius: 8rpx;
margin: 0rpx 4rpx 12rpx 4rpx;
}
.evaluationManagement_fd5_1_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 40rpx;
margin: 24rpx 0rpx 24rpx 0rpx;
}
.evaluationManagement_fd5_1_c0_c1_c0 {
width: 34rpx;
height: 6rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
.evaluationManagement_fd5_1_c0_c1 {
width: 40rpx;
height: 10rpx;
}
.evaluationManagement_fd5_1_c0_c0_c1_c1 {
color: #999999;
font-size: 22rpx;
font-weight: 400;
line-height: 25rpx;
}
.evaluationManagement_fd5_1_c0_c0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.evaluationManagement_fd5_1_c0_c0_c0_c0 {
width: 56rpx;
height: 56rpx;
border-radius: 100rpx 100rpx 100rpx 100rpx;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.evaluationManagement_fd5_1 {
border-bottom: 1px solid #eee;
padding: 40rpx 0rpx 24rpx 0rpx;
position: relative;
}
.evaluationManagement_fd5_0_c3_c0 {
width: 40rpx;
height: 40rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 24rpx 0rpx 0rpx;
}
.evaluationManagement_fd5_0_c3 {
background: rgba(246, 247, 249, 1);
border-radius: 8rpx 8rpx 8rpx 8rpx;
background-size: 100% auto !important;
height: 80rpx;
margin: 24rpx 0rpx 0rpx 0rpx;
}
.evaluationManagement_fd5_0_c2_c2 {
width: 220rpx;
height: 220rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
}
.evaluationManagement_fd5_0_c2_c1 {
width: 220rpx;
height: 220rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
}
.evaluationManagement_fd5_0_c2_c0 {
width: 220rpx;
height: 220rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 4rpx 0rpx 4rpx;
}
.evaluationManagement_fd5_0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 40rpx;
margin: 24rpx 0rpx 24rpx 0rpx;
}
.evaluationManagement_fd5_0_c0_c1_c0 {
width: 34rpx;
height: 6rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
}
.evaluationManagement_fd5_0_c0_c1 {
width: 40rpx;
height: 10rpx;
}
.evaluationManagement_fd5_0_c0_c0_c1_c1 {
color: #999999;
font-size: 22rpx;
font-weight: 400;
line-height: 25rpx;
}
.evaluationManagement_fd5_0_c0_c0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.evaluationManagement_fd5_0_c0_c0_c0_c0 {
width: 56rpx;
height: 56rpx;
border-radius: 100rpx 100rpx 100rpx 100rpx;
margin: 0rpx 16rpx 0rpx 0rpx;
}
.evaluationManagement_fd5_0 {
border-bottom: 1px solid #eee;
padding: 40rpx 0rpx 24rpx 0rpx;
position: relative;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,405 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center statisticalDetails_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub statisticalDetails_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 statisticalDetails_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='statisticalDetails_fd0_0_c1_c0'>资金统计</text>
</view>
<view class='flex flex-wrap align-center statisticalDetails_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center statisticalDetails_flex_1">
<view>
<benben-flex-tabs class-name='statisticalDetails_benbenTabsfd1_0' v-model="tabls" ref="benben_tabsfd1_0"
select-mark="benben_tabsfd1_0" key="benben_tabsfd1_0" :open-title-type='false' :open-sticky='true'
:top='0' :is-show-content='false' :scrollspy='false' :tabs-info.sync="tabsInfofd1_0">
<scroll-view @scroll="tabsInfofd1_0.scrollX = $event.detail.scrollLeft" id="benben_tabsfd1_0"
class="benben-tabs" style="width:750rpx" :scroll-x="true"
:scroll-left.sync="tabsInfofd1_0.moveX" scroll-with-animation="all .3s ease">
<view class="benben-tabs-content" id="benben_tabsfd1_0-content">
<view id="benben_tabsfd1_0-title" class="benben-tabs-title flex align-center flex ">
<view
:class="{ 'checkTitlefd1_0': tabls == '1', 'flex flex-wrap align-center justify-center statisticalDetails_titlefd1_0_c3': true }"
@tap="changeTap(1)" :id="`benben_tabsfd1_0-title-item-${'1'}`">
<text>当日</text>
</view>
<view
:class="{ 'checkTitlefd1_0': tabls == '2', 'flex flex-wrap align-center justify-center statisticalDetails_titlefd1_0_c4': true }"
@tap="changeTap(2)" :id="`benben_tabsfd1_0-title-item-${'2'}`">
<text>近7天</text>
</view>
<view
:class="{ 'checkTitlefd1_0': tabls == '3', 'flex flex-wrap align-center justify-center statisticalDetails_titlefd1_0_c5': true }"
@tap="changeTap(3)" :id="`benben_tabsfd1_0-title-item-${'3'}`">
<text>近30天</text>
</view>
<view
:class="{ 'checkTitlefd1_0': tabls == '4', 'flex flex-wrap align-center justify-center statisticalDetails_titlefd1_0_c6': true }"
@tap="changeTap(4)" :id="`benben_tabsfd1_0-title-item-${'4'}`">
<text>全部</text>
</view>
</view>
<view :style="{ left: tabsInfofd1_0.lineleft, maxWidth: tabsInfofd1_0.lineWidth }"
id="benben_tabsfd1_0-line" class="benben-tabs-line flex benben-flex-tabs-line"></view>
</view>
</scroll-view>
</benben-flex-tabs>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex flex-direction flex-wrap align-stretch benben-flex-layout statisticalDetails_flex_2">
<view class='flex flex-direction flex-wrap align-stretch flex-sub statisticalDetails_fd2_0'>
<view class='flex flex-wrap align-center'>
<text class='statisticalDetails_fd2_0_c0_c0'>营业额统计</text>
</view>
<view class='flex flex-wrap align-end justify-center statisticalDetails_fd2_0_c1'>
<text class='statisticalDetails_fd2_0_c1_c0'></text>
<view class=' statisticalDetails_fd2_0_c1_c1'>
<text class=' statisticalDetails_price1_fd2_0_c1_c1'>{{ details.order_money | frontPrice }}</text>
<text class=' statisticalDetails_price2_fd2_0_c1_c1'>{{ details.order_money | laterPrice }}</text>
</view>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch flex-sub statisticalDetails_fd2_1'>
<view class='flex flex-wrap align-center'>
<text class='statisticalDetails_fd2_1_c0_c0'>订单统计</text>
</view>
<view class='flex flex-wrap align-end justify-center statisticalDetails_fd2_1_c1'>
<text class='statisticalDetails_fd2_1_c1_c0'>{{details.order_num }}</text>
</view>
</view>
<view class='flex flex-direction flex-wrap align-stretch flex-sub statisticalDetails_fd2_2'>
<view class='flex flex-wrap align-center'>
<text class='statisticalDetails_fd2_2_c0_c0'>利润统计</text>
</view>
<view class='flex flex-wrap align-end justify-center statisticalDetails_fd2_2_c1'>
<text class='statisticalDetails_fd2_2_c1_c0'></text>
<view class=' statisticalDetails_fd2_2_c1_c1'>
<text class=' statisticalDetails_price1_fd2_2_c1_c1'>{{ details.profit | frontPrice }}</text>
<text class=' statisticalDetails_price2_fd2_2_c1_c1'>{{ details.profit | laterPrice }}</text>
</view>
</view>
</view>
</view>
<!---flex布局flex布局结束-->
<view class="flex flex-direction flex-wrap align-center benben-position-layout flex statisticalDetails_flex_3">
<button class='statisticalDetails_fd3_0' @tap.stop="handleJumpDiy" data-type="navigateTo"
:data-url="`/pages/dpgl/viewReport/viewReport`">财务报表</button>
</view>
<view :style="{height: '128rpx'}"></view>
</view>
</template>
<script>
export default {
components: {},
data() {
return {
"tabsInfofd1_0": {
lineleft: '',
lineWidth: '',
moveX: 0,
scrollX: 0,
PageScrollX: 0
},
"tabls": "1",
details:""
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
},
onShow() {
this.post6486e03b64354()
},
methods: {
changeTap(type){
this.tabls = type
this.post6486e03b64354()
},
post6486e03b64354(){
this.$api.post(global.apiUrls.post6486e03b64354,{
type:this.tabls
}).then(res=>{
if(res.data.code==1){
this.details = res.data.data
}
})
}
}
};
</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;
}
.statisticalDetails_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.statisticalDetails_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.statisticalDetails_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333333;
line-height: 36rpx;
}
.statisticalDetails_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.statisticalDetails_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.statisticalDetails_flex_1 {
padding: 0rpx 0rpx 0rpx 4rpx;
}
.statisticalDetails_titlefd1_0_c6 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 0rpx 0rpx 20rpx;
width: 136rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.statisticalDetails_titlefd1_0_c5 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 0rpx 0rpx 20rpx;
width: 136rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.statisticalDetails_titlefd1_0_c4 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 0rpx 0rpx 20rpx;
width: 136rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.statisticalDetails_titlefd1_0_c3 {
background: rgba(255, 255, 255, 1);
margin: 0rpx 0rpx 0rpx 20rpx;
width: 136rpx;
height: 60rpx;
border-radius: 36rpx 36rpx 36rpx 36rpx;
background-size: 100% auto !important;
}
.checkTitlefd1_0 {
font-weight: 700 !important;
font-size: 28rpx !important;
color: rgba(255, 255, 255, 1) !important;
background-color: rgba(255, 147, 0, 1) !important;
}
::v-deep .statisticalDetails_benbenTabsfd1_0 {
width: 750rpx;
height: 108rpx;
white-space: nowrap;
text-align: center;
font-size: 24rpx;
font-weight: 500;
color: #666666;
}
.statisticalDetails_flex_2 {
padding: 0rpx 24rpx 0rpx 24rpx;
}
.statisticalDetails_price2_fd2_2_c1_c1 {
font-size: 40rpx;
color: #333333;
font-weight: 700;
line-height: 40rpx;
}
.statisticalDetails_price1_fd2_2_c1_c1 {
font-size: 40rpx;
color: #333333;
font-weight: 700;
line-height: 40rpx;
}
.statisticalDetails_fd2_2_c1_c1 {
color: #ff5536;
font-weight: 600;
}
.statisticalDetails_fd2_2_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 700;
line-height: 30rpx;
}
.statisticalDetails_fd2_2_c1 {
margin: 22rpx 0rpx 0rpx 0rpx;
}
.statisticalDetails_fd2_2_c0_c0 {
color: #666666;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.statisticalDetails_fd2_2 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
margin: 0rpx 0rpx 20rpx 0rpx;
padding: 24rpx 0rpx 39rpx 24rpx;
}
.statisticalDetails_fd2_1_c1_c0 {
color: #333333;
font-size: 40rpx;
font-weight: 700;
line-height: 40rpx;
}
.statisticalDetails_fd2_1_c1 {
margin: 22rpx 0rpx 0rpx 0rpx;
}
.statisticalDetails_fd2_1_c0_c0 {
color: #666666;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.statisticalDetails_fd2_1 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
margin: 0rpx 0rpx 20rpx 0rpx;
padding: 24rpx 0rpx 39rpx 24rpx;
}
.statisticalDetails_price2_fd2_0_c1_c1 {
font-size: 40rpx;
color: #333333;
font-weight: 700;
line-height: 40rpx;
}
.statisticalDetails_price1_fd2_0_c1_c1 {
font-size: 40rpx;
color: #333333;
font-weight: 700;
line-height: 40rpx;
}
.statisticalDetails_fd2_0_c1_c1 {
color: #ff5536;
font-weight: 600;
}
.statisticalDetails_fd2_0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 700;
line-height: 30rpx;
}
.statisticalDetails_fd2_0_c1 {
margin: 22rpx 0rpx 0rpx 0rpx;
}
.statisticalDetails_fd2_0_c0_c0 {
color: #666666;
font-size: 28rpx;
font-weight: 500;
line-height: 30rpx;
}
.statisticalDetails_fd2_0 {
background: rgba(255, 255, 255, 1);
border-radius: 16rpx 16rpx 16rpx 16rpx;
background-size: 100% auto !important;
margin: 0rpx 0rpx 20rpx 0rpx;
padding: 24rpx 0rpx 39rpx 24rpx;
}
.statisticalDetails_flex_3 {
background: rgba(248, 248, 248, 1);
width: 750rpx;
height: 128rpx;
overflow: hidden;
z-index: 10;
bottom: calc(0rpx + var(--window-bottom));
background-size: 100% auto !important;
}
.statisticalDetails_fd3_0 {
background: rgba(255, 147, 0, 1);
border-radius: 44rpx 44rpx 44rpx 44rpx;
font-size: 32rpx;
color: #fff;
width: 686rpx;
height: 88rpx;
line-height: 88rpx;
font-weight: 400;
}
</style>

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>