初始化商家端
This commit is contained in:
388
pages/dpgl/appealPage/appealPage.vue
Normal file
388
pages/dpgl/appealPage/appealPage.vue
Normal 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'></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'></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>
|
||||
700
pages/dpgl/businessSettings/businessSettings.vue
Normal file
700
pages/dpgl/businessSettings/businessSettings.vue
Normal 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'></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>
|
||||
795
pages/dpgl/evaluationManagement/evaluationManagement.vue
Normal file
795
pages/dpgl/evaluationManagement/evaluationManagement.vue
Normal 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"></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>
|
||||
1055
pages/dpgl/historicalOrders/historicalOrders.vue
Normal file
1055
pages/dpgl/historicalOrders/historicalOrders.vue
Normal file
File diff suppressed because it is too large
Load Diff
405
pages/dpgl/statisticalDetails/statisticalDetails.vue
Normal file
405
pages/dpgl/statisticalDetails/statisticalDetails.vue
Normal 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"></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>
|
||||
860
pages/dpgl/viewReport/viewReport.vue
Normal file
860
pages/dpgl/viewReport/viewReport.vue
Normal 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"></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();
|
||||
}
|
||||
//显示 x,y的值
|
||||
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>
|
||||
Reference in New Issue
Block a user