Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
2e0aa8c693
@ -166,7 +166,7 @@
|
||||
<span v-else-if="scope.row.type=='3'">储值卡</span>
|
||||
<span v-else-if="scope.row.type=='4'">积分</span>
|
||||
<span v-else-if="scope.row.type=='5'">囤油卡</span>
|
||||
<span v-else-if="scope.row.type=='6'">油品加商品(收银台订单)</span>
|
||||
<span v-else-if="scope.row.type=='6'">收银台订单</span>
|
||||
<span v-else-if="scope.row.type=='7'">挂账订单</span>
|
||||
<span v-else="">其他</span>
|
||||
</template>
|
||||
|
@ -15,9 +15,27 @@
|
||||
<el-option label="小程序" value="applet"/>
|
||||
<el-option label="收银台" value="cashier"/>
|
||||
<el-option label="POS端" value="POS"/>
|
||||
<el-option label="平台" value="PC"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="" prop="payChannel">
|
||||
<el-select
|
||||
v-model="queryParams.type"
|
||||
clearable
|
||||
placeholder="请选择订单分类"
|
||||
>
|
||||
<el-option label="油品" value="1"/>
|
||||
<el-option label="商品" value="2"/>
|
||||
<el-option label="储值卡" value="3"/>
|
||||
<el-option label="积分" value="4"/>
|
||||
<el-option label="囤油卡" value="5"/>
|
||||
<el-option label="收银台订单" value="6"/>
|
||||
<el-option label="挂账订单" value="7"/>
|
||||
<el-option label="pos" value="8"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="" prop="payChannel">
|
||||
<el-select
|
||||
v-model="queryParams.payChannel"
|
||||
clearable
|
||||
@ -27,7 +45,7 @@
|
||||
<el-option label="收银台" value="cashier"/>
|
||||
<el-option label="POS端" value="POS"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
|
||||
|
||||
<el-form-item label="" prop="payType">
|
||||
@ -42,7 +60,7 @@
|
||||
<el-option label="余额" value="balance"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="payType">
|
||||
<!-- <el-form-item label="" prop="payType">
|
||||
<el-select
|
||||
v-model="queryParams.payType"
|
||||
clearable
|
||||
@ -53,7 +71,19 @@
|
||||
<el-option label="支付宝" value="ALIPAY"/>
|
||||
<el-option label="余额" value="balance"/>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
|
||||
<el-form-item label="" prop="paymentChannel">
|
||||
<el-select v-model="queryParams.paymentChannel" placeholder="请选择支付渠道" clearable>
|
||||
<el-option
|
||||
v-for="dicts in this.dict"
|
||||
:key="dicts.dictValue"
|
||||
:label="dicts.dictLabel"
|
||||
:value="dicts.dictValue"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
@ -63,122 +93,114 @@
|
||||
<el-option label="已支付" value="paid"/>
|
||||
<el-option label="未支付" value="unpaid"/>
|
||||
<el-option label="已退款" value="refund"/>
|
||||
<el-option label="支付失败" value="payFail"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" style="margin-right: 0px" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
clearable
|
||||
placeholder="请选择员工"
|
||||
>
|
||||
<el-option label="已支付" value="paid"/>
|
||||
<el-option label="未支付" value="unpaid"/>
|
||||
<el-option label="已退款" value="refund"/>
|
||||
<el-form-item label="" prop="staffId">
|
||||
<el-select v-model="queryParams.staffId" placeholder="请选择员工" clearable>
|
||||
<el-option
|
||||
v-for="dicts in this.staffList"
|
||||
:key="dicts.acctId"
|
||||
:label="dicts.accountName"
|
||||
:value="dicts.acctId"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
clearable
|
||||
placeholder="请输入付款用户"
|
||||
>
|
||||
<el-option label="已支付" value="paid"/>
|
||||
<el-option label="未支付" value="unpaid"/>
|
||||
<el-option label="已退款" value="refund"/>
|
||||
</el-select>
|
||||
|
||||
<el-form-item label="" prop="userName">
|
||||
<el-input v-model="queryParams.userName" placeholder="请输入付款用户"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="">
|
||||
<el-date-picker
|
||||
v-model="beginTime"
|
||||
style="width: 140px"
|
||||
type="date"
|
||||
placeholder="交易开始日期">
|
||||
</el-date-picker>
|
||||
至
|
||||
<el-date-picker
|
||||
v-model="endTime"
|
||||
style="width: 140px"
|
||||
type="date"
|
||||
placeholder="交易结束日期">
|
||||
v-model="queryParams.dataRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item style="float: right; margin-right: 0px ">
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" >导出</el-button>
|
||||
<el-button type="primary" icon="el-icon-search" @click="exportExcelCashier">导出</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="wit_box" >
|
||||
<div class="box-gang">
|
||||
<div class="box">
|
||||
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start" >
|
||||
<el-tooltip class="item" effect="dark" content="微信收款(元)/ 笔数" placement="top-start" >
|
||||
<div class="size-bole">{{ wechat}}/{{ wechats}}</div>
|
||||
</el-tooltip>
|
||||
<div class="size-hui">
|
||||
<div class="dian" style="background: #0DC291"></div>
|
||||
<div class="nei">微信收款(元)/笔数</div>
|
||||
<div class="nei">微信收款(元)/ 笔数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
|
||||
<el-tooltip class="item" effect="dark" content="支付宝收款(元)/ 笔数" placement="top-start">
|
||||
<div class="size-bole" style="color:#00CAFF;">{{ orderStatistics.alipay?orderStatistics.alipay:0 }}/0</div>
|
||||
</el-tooltip>
|
||||
<div class="size-hui">
|
||||
<div class="dian" style="background: #00CAFF"></div>
|
||||
<div class="nei">支付宝收款(元)/笔数</div>
|
||||
<div class="nei">支付宝收款(元)/ 笔数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
|
||||
<el-tooltip class="item" effect="dark" content="云闪付收款(元)/ 笔数" placement="top-start">
|
||||
<div class="size-bole" style="color:#F44522;" >{{ orderStatistics.balance?orderStatistics.balance:0 }}/0</div>
|
||||
</el-tooltip>
|
||||
|
||||
<div class="size-hui">
|
||||
<div class="dian" style="background: #F44522"></div>
|
||||
<div class="nei">云闪付收款(元)/笔数</div>
|
||||
<div class="nei">云闪付收款(元)/ 笔数</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
|
||||
<el-tooltip class="item" effect="dark" content="pos机收款(元)/ 笔数" placement="top-start">
|
||||
<div class="size-bole" style="color:#FF7E00;" >{{orderStatistics.balanceCount?orderStatistics.balanceCount:0}}/0</div>
|
||||
</el-tooltip>
|
||||
|
||||
<div class="size-hui">
|
||||
<div class="dian" style="background: #FF7E00"></div>
|
||||
<div class="nei">pos机收款(元)/笔数</div>
|
||||
<div class="nei">pos机收款(元)/ 笔数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
|
||||
<el-tooltip class="item" effect="dark" content="现金收款(元)/ 笔数" placement="top-start">
|
||||
<div class="size-bole" style="color:#0D2ED8;">{{ orderStatistics.cash?orderStatistics.cash:0 }}/0</div>
|
||||
</el-tooltip>
|
||||
|
||||
|
||||
<div class="size-hui">
|
||||
<div class="dian" style="background: #0D2ED8"></div>
|
||||
<div class="nei">现金收款(元)/笔数</div>
|
||||
<div class="nei">现金收款(元)/ 笔数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
|
||||
<el-tooltip class="item" effect="dark" content="会员消费(元)/ 笔数" placement="top-start">
|
||||
<div class="size-bole" style="color:#790DD8;">{{orderStatistics.cashcount?orderStatistics.cashcount:0}}/0</div>
|
||||
</el-tooltip>
|
||||
|
||||
<div class="size-hui">
|
||||
<div class="dian" style="background: #790DD8"></div>
|
||||
<div class="nei">会员消费(元)/笔数</div>
|
||||
<div class="nei">会员消费(元)/ 笔数</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<el-tooltip class="item" effect="dark" content="999999/999999999999" placement="top-start">
|
||||
<div class="size-bole" style="color:#D80D54;">999999/999999999999</div>
|
||||
<el-tooltip class="item" effect="dark" content="挂帐收款(元)/ 笔数" placement="top-start">
|
||||
<div class="size-bole" style="color:#D80D54;">0/0</div>
|
||||
</el-tooltip>
|
||||
|
||||
<div class="size-hui">
|
||||
<div class="dian" style="background: #D80D54"></div>
|
||||
<div class="nei">挂帐收款(元)/笔数</div>
|
||||
<div class="nei">挂帐收款(元)/ 笔数</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -225,7 +247,7 @@
|
||||
<span type="danger" v-else>--</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="userName" align="center" label="用户手机号" > </el-table-column>
|
||||
<el-table-column prop="userMobile" align="center" label="用户手机号" > </el-table-column>
|
||||
<el-table-column prop="payType" align="center" label="支付方式">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.payType=='CASH'">现金</span>
|
||||
@ -319,15 +341,22 @@ import {
|
||||
exportExcelTradingApi, getmyDataApi,
|
||||
getRunningWaterByTissueApi,
|
||||
getTissueByDataApi,
|
||||
getTradingPageApi
|
||||
getTradingPageApi,
|
||||
transactionList,
|
||||
getDicts,
|
||||
getStaffByStorId
|
||||
} from "@/api/allOrder";
|
||||
|
||||
export default {
|
||||
name: "reconciliation-trading",
|
||||
data(){
|
||||
return{
|
||||
wechat:999999999999999,
|
||||
wechats:999999999999999,
|
||||
|
||||
dict:{},
|
||||
|
||||
|
||||
wechat:0,
|
||||
wechats:0,
|
||||
radio1:"油号选错",
|
||||
loading:false,
|
||||
dialogVisible:false,
|
||||
@ -387,8 +416,28 @@ export default {
|
||||
|
||||
// this.getList();
|
||||
|
||||
this.getDicts();
|
||||
this.getStaffByStorId();
|
||||
|
||||
},
|
||||
methods:{
|
||||
|
||||
async getDicts() {
|
||||
getDicts("payment_channel").then(response => {
|
||||
this.dict = response.data;
|
||||
})
|
||||
getDicts("payment_type").then(response => {
|
||||
this.dictPayType = response.data;
|
||||
})
|
||||
},
|
||||
|
||||
async getStaffByStorId() {
|
||||
getStaffByStorId().then(response => {
|
||||
this.staffList = response.data;
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
async getDeptList() {
|
||||
// getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
|
||||
// this.deptList = response.data.records;
|
||||
@ -426,22 +475,16 @@ export default {
|
||||
},
|
||||
|
||||
// 获取列表信息
|
||||
async getList(val){
|
||||
// await this.getDeptList()
|
||||
let dateRange = []
|
||||
if (this.beginTime && this.endTime) {
|
||||
dateRange.push(this.beginTime.toLocaleDateString())
|
||||
dateRange.push(this.endTime.toLocaleDateString())
|
||||
}
|
||||
getTradingPageApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
|
||||
async getList(val) {
|
||||
transactionList(this.queryParams).then(response => {
|
||||
this.orderList = response.data.records;
|
||||
this.total = response.data.total;
|
||||
this.isSysDate = false
|
||||
// this.getDeptList()
|
||||
this.getOrderStatistics()
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
|
||||
getOrdersInfo(data) {
|
||||
this.dialogVisible = true;
|
||||
this.ordersInfo = data
|
||||
|
@ -123,7 +123,7 @@ export default {
|
||||
}
|
||||
.table-box {
|
||||
width: 100%;
|
||||
height: 66vh;
|
||||
height: 81vh;
|
||||
overflow: auto;
|
||||
background: #FFF;
|
||||
box-sizing: border-box;
|
||||
@ -133,7 +133,8 @@ export default {
|
||||
}
|
||||
.hui_box{
|
||||
box-sizing: border-box;
|
||||
padding: 15px;
|
||||
padding: 10px;
|
||||
padding-bottom: 0px;
|
||||
background: #f6f8f9;
|
||||
}
|
||||
.top-box{
|
||||
|
@ -87,14 +87,14 @@
|
||||
|
||||
</div>
|
||||
<el-dialog center :title="title" :close-on-click-modal="false" :visible.sync="open" width="42%" append-to-body>
|
||||
<el-form :model="form" label-width="80px" >
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px" >
|
||||
<!-- 通知名称 -->
|
||||
<el-form-item label="通知名称" :required="true">
|
||||
<el-form-item label="通知名称" prop="notificationName" :required="true">
|
||||
<el-input v-model="form.notificationName" placeholder="请输入通知名称" ></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- 通知类型 -->
|
||||
<el-form-item label="通知类型" :required="true">
|
||||
<el-form-item label="通知类型" prop="notificationType" :required="true">
|
||||
<el-select v-model="form.notificationType" placeholder="请选择通知类型" style="width: 100%">
|
||||
<el-option label="到期通知" value="到期通知"></el-option>
|
||||
<el-option label="库存预警" value="库存预警"></el-option>
|
||||
@ -104,7 +104,7 @@
|
||||
</el-form-item>
|
||||
|
||||
<!-- 通知模板 -->
|
||||
<el-form-item label="通知模板" :required="true">
|
||||
<el-form-item label="通知模板" prop="templateContent" :required="true">
|
||||
<el-input type="textarea" v-model="form.templateContent" :rows="3" placeholder="请输入通知内容"
|
||||
:maxlength="200" show-word-limit ></el-input>
|
||||
<div>
|
||||
@ -115,7 +115,7 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- 接收角色 -->
|
||||
<el-form-item label="接收角色" :required="true">
|
||||
<el-form-item label="接收角色" prop="recipientRoles" :required="true">
|
||||
<el-select v-model="form.recipientRoles" multiple placeholder="请选择角色" style="width: 100%">
|
||||
<el-option v-for="item in dutyList1" :label="item.dutyName" :value="item.dutyId"></el-option>
|
||||
</el-select>
|
||||
@ -125,7 +125,7 @@
|
||||
<el-switch v-model="form.templateStatus" active-color="#13ce66" inactive-color="#ff4949"></el-switch>
|
||||
</el-form-item>
|
||||
<!-- 发送条件 -->
|
||||
<el-form-item label="发送条件" style="margin-bottom: 10px" :required="true">
|
||||
<el-form-item label="发送条件" prop="conditions" style="margin-bottom: 10px" :required="true">
|
||||
<div v-for="(condition, index) in form.conditions" :key="index" class="condition-group"
|
||||
style="margin-bottom: 10px">
|
||||
<el-select v-model="condition.field" placeholder="请选择条件" style="width: 35%;margin-right: 10px"
|
||||
@ -151,7 +151,7 @@
|
||||
</el-form>
|
||||
<div style="display: flex; justify-content: center; align-items: center;margin-top: 30px">
|
||||
<el-button @click="handleReset">取消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit">保存</el-button>
|
||||
<el-button type="primary" @click="handleSubmit('form' )">保存</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@ -206,6 +206,24 @@ export default {
|
||||
legalRepresentativeContact: '',
|
||||
appStatus: '',
|
||||
},
|
||||
rules: {
|
||||
notificationName: [
|
||||
{ required: true, message: '不能为空', trigger: 'blur' },
|
||||
],
|
||||
notificationType:[
|
||||
{ required: true, message: '不能为空', trigger: 'blur' },
|
||||
],
|
||||
templateContent:[
|
||||
{ required: true, message: '不能为空', trigger: 'blur' },
|
||||
],
|
||||
recipientRoles:[
|
||||
{ required: true, message: '不能为空', trigger: 'blur' },
|
||||
],
|
||||
conditions:[
|
||||
{ required: true, message: '不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
|
||||
roleList: [],
|
||||
};
|
||||
},
|
||||
@ -264,23 +282,12 @@ export default {
|
||||
// });
|
||||
// },
|
||||
|
||||
handleSubmit() {
|
||||
handleSubmit(formName) {
|
||||
|
||||
this.$refs[formName].validate((valid) =>{
|
||||
if (valid) {
|
||||
// 表单验证通过,可以提交数据
|
||||
this.open = false
|
||||
|
||||
// 在这里调用接口提交设备信息数据
|
||||
console.log('提交设备信息数据:', this.form);
|
||||
if (this.form.conditions.length === 0 || this.form.conditions[0].field == '') {
|
||||
this.form.conditions = ''
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '请选择发送条件!'
|
||||
});
|
||||
return
|
||||
} else {
|
||||
this.form.conditions = JSON.stringify(this.form.conditions)
|
||||
}
|
||||
this.form.recipientRoles = JSON.stringify(this.form.recipientRoles)
|
||||
|
||||
if (this.form.id) {
|
||||
updateSysNotifyApi(this.form).then(res => {
|
||||
if (res.code === 200) {
|
||||
@ -296,6 +303,13 @@ export default {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
},
|
||||
handleReset() {
|
||||
this.open = false
|
||||
|
@ -66,7 +66,7 @@
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
@blur="getStoreAmount">
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
@ -277,6 +277,11 @@ export default
|
||||
props: ["accountId"],
|
||||
data() {
|
||||
return {
|
||||
//数据分析 饼状图
|
||||
chart:null,
|
||||
chart1:null,
|
||||
chart2:null,
|
||||
|
||||
amountList: [
|
||||
// "今日" ,
|
||||
// "昨日" ,
|
||||
@ -345,15 +350,20 @@ export default
|
||||
dataShows: {},
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value1: function (newValue, oldValue) {
|
||||
this.getDataAnalysis()
|
||||
this.getStoreAmount()
|
||||
},
|
||||
},
|
||||
created() {
|
||||
|
||||
let nowDate = new Date();
|
||||
let oneWeekAgo = new Date(nowDate.getTime() - 6 * 24 * 60 * 60 * 1000)
|
||||
this.value1 = [parseTime(oneWeekAgo), parseTime(nowDate)]
|
||||
this.countValue = [parseTime(oneWeekAgo), parseTime(nowDate)]
|
||||
this.showValue = [parseTime(oneWeekAgo), parseTime(nowDate)]
|
||||
this.getStoreTotal()
|
||||
// this.selectChildByDeptIdApi()
|
||||
this.getStoreAmount()
|
||||
this.selectBannerList()
|
||||
let start = new Date();
|
||||
start.setHours(0)
|
||||
@ -365,13 +375,17 @@ export default
|
||||
this.getHardwareList()
|
||||
this.getNoticeList()
|
||||
this.getEmployeList()
|
||||
//数据看板
|
||||
this.getStoreAmount()
|
||||
this.getDataAnalysis()
|
||||
//
|
||||
this.getDataShow()
|
||||
this.getDataCount()
|
||||
},
|
||||
mounted() {
|
||||
setTimeout(() => {
|
||||
this.initChart();
|
||||
this.initChartPieChart();
|
||||
}, 2000);
|
||||
|
||||
},
|
||||
@ -407,8 +421,6 @@ export default
|
||||
} else if (command == '自定义') {
|
||||
this.disabled = false
|
||||
}
|
||||
this.getStoreAmount()
|
||||
this.getDataAnalysis()
|
||||
},
|
||||
goList() {
|
||||
this.$router.push('/notificationList/index')
|
||||
@ -608,29 +620,38 @@ export default
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取数据分析信息
|
||||
// 数据看板 油品 会员充值 商品 积分 统计数据
|
||||
getStoreAmount() {
|
||||
let data = {
|
||||
startTime: this.value1[0],
|
||||
endTime: this.value1[1]
|
||||
}
|
||||
getDataBoardNew(data).then(res => {
|
||||
this.storeAmount = res.data
|
||||
})
|
||||
},
|
||||
// 数据看板 三个饼状图
|
||||
getDataAnalysis() {
|
||||
let data = {
|
||||
startTime: this.value1[0],
|
||||
endTime: this.value1[1]
|
||||
}
|
||||
//获取第一个饼状图数据
|
||||
getOilPercentage(data).then(res => {
|
||||
this.dataAnalysisOilNumberList = res.data
|
||||
console.log("饼状图一数据",this.dataAnalysisOilNumberList )
|
||||
})
|
||||
//获取第二个饼状图数据
|
||||
getOilAndGoodsPercentage(data).then(res => {
|
||||
this.dataAnalysisIfOilList = res.data
|
||||
console.log("饼状图二数据",this.dataAnalysisIfOilList)
|
||||
})
|
||||
//获取第三个饼状图数据
|
||||
getOilAndGoodsAndVipAndPoints(data).then(res => {
|
||||
this.dataAnalysisAllList = res.data
|
||||
console.log("饼状图三数据",this.dataAnalysisAllList )
|
||||
})
|
||||
//
|
||||
// this.initChart()
|
||||
|
||||
Promise.all([
|
||||
getOilPercentage(data),
|
||||
getOilAndGoodsPercentage(data),
|
||||
getOilAndGoodsAndVipAndPoints(data)
|
||||
]).then(([res1, res2, res3]) => {
|
||||
|
||||
this.dataAnalysisOilNumberList = res1.data;
|
||||
this.dataAnalysisIfOilList = res2.data;
|
||||
this.dataAnalysisAllList = res3.data;
|
||||
|
||||
this.initChartPieChartUpdate();
|
||||
}).catch(error => {
|
||||
console.error('Error fetching data:', error);
|
||||
});
|
||||
|
||||
},
|
||||
//油站首页数据展示
|
||||
getDataShow() {
|
||||
@ -687,7 +708,7 @@ export default
|
||||
this.queryParams.ancestors = item.ancestors
|
||||
}
|
||||
})
|
||||
this.getStoreAmount()
|
||||
this.getDataAnalysis()
|
||||
},
|
||||
// banner图
|
||||
selectBannerList() {
|
||||
@ -713,27 +734,13 @@ export default
|
||||
this.storeTotal = res.data
|
||||
})
|
||||
},
|
||||
getStoreAmount() {
|
||||
let data = {
|
||||
startTime: this.value1[0],
|
||||
endTime: this.value1[1]
|
||||
}
|
||||
getDataBoardNew(data).then(res => {
|
||||
this.storeAmount = res.data
|
||||
this.getDataAnalysis()
|
||||
this.initChart()
|
||||
})
|
||||
|
||||
},
|
||||
countPercentage(upNum, downNum) {
|
||||
let percentage = 0;
|
||||
percentage = (upNum / downNum) * 100
|
||||
return percentage.toFixed(2)
|
||||
},
|
||||
initChart() {
|
||||
const chart = echarts.init(document.getElementById('ccc'))
|
||||
const chart1 = echarts.init(document.getElementById('cccc'))
|
||||
const chart2 = echarts.init(document.getElementById('ccct'))
|
||||
|
||||
const chart3 = echarts.init(document.getElementById('ctct'))
|
||||
const chart4 = echarts.init(document.getElementById('cccf'))
|
||||
let dataList = []
|
||||
@ -801,6 +808,124 @@ export default
|
||||
showCount.push(a)
|
||||
})
|
||||
|
||||
|
||||
const option3 = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: this.dataCount.oilNames,
|
||||
left: 'right'
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
// data: ['中建锦绣广场1站', '中建锦绣广场2站', '中建锦绣广场3站', '中建锦绣广场4站', '中建锦绣广场5站', '中建锦绣广场6站', '中建锦绣广场7站'],
|
||||
data: times,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
// rotate: 30
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '金额(元)',
|
||||
// min: 0,
|
||||
// max: 10000,
|
||||
// interval: 2000,
|
||||
axisLabel: {
|
||||
formatter: '{value}'
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
dataset: {
|
||||
source: count
|
||||
},
|
||||
|
||||
series: countType,
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
}
|
||||
};
|
||||
const option4 = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: this.dataShows.oilNames,
|
||||
left: 'right'
|
||||
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
data: showTimes,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
// rotate: 30
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '金额(元)',
|
||||
axisLabel: {
|
||||
formatter: '{value}'
|
||||
}
|
||||
}
|
||||
],
|
||||
dataset: {
|
||||
source: showCount
|
||||
},
|
||||
series: showCountType,
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
bottom: '5%',
|
||||
containLabel: true
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
chart3.setOption(option3)
|
||||
chart4.setOption(option4)
|
||||
|
||||
},
|
||||
|
||||
//数据分析 饼状图 ECharts 图初始化
|
||||
initChartPieChart(){
|
||||
this.chart = echarts.init(document.getElementById('ccc'))
|
||||
this.chart1 = echarts.init(document.getElementById('cccc'))
|
||||
this.chart2 = echarts.init(document.getElementById('ccct'))
|
||||
this.initChartPieChartUpdate()
|
||||
},
|
||||
//数据分析 饼状图 ECharts 渲染
|
||||
initChartPieChartUpdate(){
|
||||
const option = {
|
||||
color: [
|
||||
'#36b713',
|
||||
@ -922,115 +1047,9 @@ export default
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
const option3 = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: this.dataCount.oilNames,
|
||||
left: 'right'
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
// data: ['中建锦绣广场1站', '中建锦绣广场2站', '中建锦绣广场3站', '中建锦绣广场4站', '中建锦绣广场5站', '中建锦绣广场6站', '中建锦绣广场7站'],
|
||||
data: times,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
// rotate: 30
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '金额(元)',
|
||||
// min: 0,
|
||||
// max: 10000,
|
||||
// interval: 2000,
|
||||
axisLabel: {
|
||||
formatter: '{value}'
|
||||
}
|
||||
}
|
||||
|
||||
],
|
||||
dataset: {
|
||||
source: count
|
||||
},
|
||||
|
||||
series: countType,
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
}
|
||||
};
|
||||
const option4 = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
crossStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
data: this.dataShows.oilNames,
|
||||
left: 'right'
|
||||
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
data: showTimes,
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
},
|
||||
axisLabel: {
|
||||
interval: 0,
|
||||
// rotate: 30
|
||||
}
|
||||
}
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '金额(元)',
|
||||
axisLabel: {
|
||||
formatter: '{value}'
|
||||
}
|
||||
}
|
||||
],
|
||||
dataset: {
|
||||
source: showCount
|
||||
},
|
||||
series: showCountType,
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '3%',
|
||||
bottom: '5%',
|
||||
containLabel: true
|
||||
}
|
||||
};
|
||||
|
||||
chart.setOption(option)
|
||||
chart1.setOption(option1)
|
||||
chart2.setOption(option2)
|
||||
chart3.setOption(option3)
|
||||
chart4.setOption(option4)
|
||||
|
||||
if (this.chart) this.chart.setOption(option);
|
||||
if (this.chart1) this.chart1.setOption(option1);
|
||||
if (this.chart2) this.chart2.setOption(option2);
|
||||
},
|
||||
|
||||
|
||||
@ -1252,7 +1271,7 @@ export default
|
||||
background: #fff;
|
||||
box-sizing: border-box;
|
||||
padding: 20px;
|
||||
margin-top: 20px;
|
||||
margin-top:15px;
|
||||
}
|
||||
|
||||
.anniu-h {
|
||||
|
@ -856,6 +856,7 @@
|
||||
SELECT
|
||||
ai.*,
|
||||
mu.NAME AS userName,
|
||||
mu.mobile AS userMobile,
|
||||
mc.merchant_name as merchantName,
|
||||
mt.account_name as createBy
|
||||
FROM
|
||||
|
Loading…
Reference in New Issue
Block a user