123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525 |
- <template>
- <div>
- <div>
- <span style="color: #ff9955; font-size: 25px">|</span
- ><span style="font-size: 20px">数据概览</span>
- <el-form
- style="margin-left: 20px"
- ref="queryForm"
- :inline="true"
- v-show="showSearch"
- label-width="68px"
- >
- <el-form-item>
- <el-button size="mini" @click="getData(0)">今天</el-button>
- <el-button size="mini" @click="getData(1)">昨天</el-button>
- <el-button size="mini" @click="getData(2)">本周</el-button>
- <el-button size="mini" @click="getData(3)">本月</el-button>
- <el-date-picker
- style="margin: 0px 10px"
- v-model="dateRangeCreatedDate"
- type="datetimerange"
- value-format="yyyy-MM-dd HH:mm:ss"
- size="mini"
- range-separator="至"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- >
- </el-date-picker>
- <el-button type="cyan" size="mini" @click="getData(4)"
- >查询</el-button
- >
- </el-form-item>
- </el-form>
- <el-row :gutter="10" class="panel-group">
- <el-col :xs="12" :sm="12" :lg="6">
- <div class="flex xiaoliang">
- <div style="line-height: 62px; font-size: 2vw">
- {{ form.zongliters }}
- </div>
- <div style="font-size: 2vw">总销量(L)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="6">
- <div class="flex xiaoe">
- <div style="line-height: 62px; font-size: 2vw">
- {{ form.zongAmt }}
- </div>
- <div style="font-size: 2vw">总金额(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="6">
- <div class="flex qiyou">
- <div style="font-size: 28px; margin-top: -20px">汽油</div>
- <div class="flex-qy" style="margin-top: 30px">
- <div class="flex-qy-sx" style="margin-right: 10px">
- <div style="font-size: 1.5vw">{{ form.qyliters }}</div>
- <div style="font-size: 1.5vw">升数(L)</div>
- </div>
- <div class="flex-qy-sx" style="margin-left: 10px">
- <div style="font-size: 1.5vw">{{ form.qyamt }}</div>
- <div style="font-size: 1.5vw">金额(元)</div>
- </div>
- </div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="6">
- <div class="flex chaiyou">
- <div style="font-size: 28px; margin-top: -20px">柴油</div>
- <div class="flex-qy" style="margin-top: 30px">
- <div class="flex-qy-sx" style="margin-right: 10px">
- <div style="font-size: 1.5vw">{{ form.cyliters }}</div>
- <div style="font-size: 1.5vw">升数(L)</div>
- </div>
- <div class="flex-qy-sx" style="margin-left: 10px">
- <div style="font-size: 1.5vw">{{ form.cyamt }}</div>
- <div style="font-size: 1.5vw">金额(元)</div>
- </div>
- </div>
- </div>
- </el-col>
- </el-row>
- </div>
- <div style="width: 100%; height: 151px; background: #ffffff">
- <span style="color: #ff9955; font-size: 25px">|</span
- ><span style="font-size: 20px">收入概览</span>
- <el-row
- style="
- display: flex;
- align-items: center;
- justify-content: center;
- width: 100%;
- height: 100%;
- "
- >
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ form.wxAmt }}</span>
- </div>
- <div>微信(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ form.zfbAmt }}</span>
- </div>
- <div>支付宝(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ form.xjAmt }}</span>
- </div>
- <div>现金(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ form.posAmt }}</span>
- </div>
- <div>POS(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ form.didiAppAmt }}</span>
- </div>
- <div>滴滴APP(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ form.tyAppAmt }}</span>
- </div>
- <div>团油APP(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ form.otherAmt }}</span>
- </div>
- <div>其他(元)</div>
- </div>
- </el-col>
- </el-row>
- </div>
- <div style="width: 100%; height: 151px">
- <span style="color: #ff9955; font-size: 25px">|</span
- ><span style="font-size: 20px">今日数据</span>
- <el-row
- style="
- display: flex;
- align-items: center;
- justify-content: center;
- width: 100%;
- height: 100%;
- "
- >
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ infoFrom.czAmt }}</span>
- </div>
- <div>充值金额(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ infoFrom.xfAmt }}</span>
- </div>
- <div>消费金额(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font"> 0 </span>
- </div>
- <div>余额(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font">{{ infoFrom.jrhy }}</span>
- </div>
- <div>新增电子卡(个)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div>
- <span class="sr-font"> 0 </span>
- </div>
- <div>电子卡总数(个)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div><span>0</span></div>
- <div>营销费用(元)</div>
- </div>
- </el-col>
- <el-col :xs="12" :sm="12" :lg="3">
- <div class="flex-sr">
- <div><span>0</span></div>
- <div>营销产出比(%)</div>
- </div>
- </el-col>
- </el-row>
- </div>
- </div>
- </template>
- <script>
- import {
- listSum,
- listOilType,
- listViewData,
- listCZXFData,
- listHYData,
- listJRHYData,
- } from "@/api/dataSource/saleReport";
- export default {
- name: "Overview_LngSummary",
- data() {
- return {
- // 显示搜索条件
- showSearch: true,
- dateRangeCreatedDate: [],
- // 数据概览 和 收入概览
- form: {
- zongAmt: 0, // 总金额
- zongliters: 0, // 总销量
- qyamt: 0, // 汽油金额
- cyamt: 0, // 柴油金额
- qyliters: 0, // 汽油升数
- cyliters: 0,
- wxAmt: 0,
- zfbAmt: 0,
- xjAmt: 0,
- didiAppAmt: 0,
- tyAppAmt: 0,
- otherAmt: 0,
- memberAmt: 0,
- posAmt: 0,
- },
- // 今日数据
- infoFrom: {
- czAmt: 0,
- xfAmt: 0,
- yeAmt: 0,
- jrhy: 0,
- zonghy: 0,
- },
- // 表单校验
- rules: {},
- };
- },
- created() {
- this.getData(0);
- },
- methods: {
- /** 查询优惠劵管理列表 */
- getList(query) {
- listSum(query).then((response) => {
- if (response.data!=null ) {
- this.form.zongAmt = response.data.amt;
- this.form.zongliters = response.data.orderLiters;
- }
- });
- listOilType(query).then((response) => {
- if (response.hasOwnProperty("rows")) {
- for (let i in response.rows) {
- if (response.rows[i].oilType === "1") {
- this.form.qyamt = response.rows[i].amt;
- this.form.qyliters = response.rows[i].orderLiters;
- } else if (response.rows[i].oilType === "2") {
- this.form.cyamt = response.rows[i].amt;
- this.form.cyliters = response.rows[i].orderLiters;
- }
- }
- }
- });
- listViewData(query).then((response) => {
- if (response.data!=null ) {
- if (response.data.wxAmt) {
- this.form.wxAmt = response.data.wxAmt;
- } else {
- this.form.wxAmt = 0;
- }
- if (response.data.zfbAmt) {
- this.form.zfbAmt = response.data.zfbAmt;
- } else {
- this.form.zfbAmt = 0;
- }
- if (response.data.xjAmt) {
- this.form.xjAmt = response.data.xjAmt;
- } else {
- this.form.xjAmt = 0;
- }
- if (response.data.didiAppAmt) {
- this.form.didiAppAmt = response.data.didiAppAmt;
- } else {
- this.form.didiAppAmt = 0;
- }
- if (response.data.tyAppAmt) {
- this.form.tyAppAmt = response.data.tyAppAmt;
- } else {
- this.form.tyAppAmt = 0;
- }
- if (response.data.otherAmt) {
- this.form.otherAmt = response.data.otherAmt;
- } else {
- this.form.otherAmt = 0;
- }
- if (response.data.memberAmt) {
- this.form.memberAmt = response.data.memberAmt;
- } else {
- this.form.memberAmt = 0;
- }
- if (response.data.posAmt) {
- this.form.posAmt = response.data.posAmt;
- } else {
- this.form.posAmt = 0;
- }
- }
- });
- },
- //本日的数据
- getTodayList(query) {
- // 查询汇总充值金额
- listCZXFData(query).then((response) => {
- if (response.data!=null ) {
- if (response.data.czAmt) {
- this.infoFrom.czAmt = response.data.czAmt;
- } else {
- this.infoFrom.czAmt = 0;
- }
- if (response.data.xfAmt) {
- this.infoFrom.xfAmt = response.data.xfAmt;
- } else {
- this.infoFrom.xfAmt = 0;
- }
- }
- });
-
- // 汇总电子卡数据
- listHYData(query).then((response) => {
- if (response.data!=null ) {
- if (response.data.amt) {
- this.infoFrom.yeAmt = response.data.amt;
- } else {
- this.infoFrom.yeAmt = 0;
- }
- if (response.data.num) {
- this.infoFrom.zonghy = response.data.num;
- } else {
- this.infoFrom.zonghy = 0;
- }
- }
- });
- // 今日汇总数据
- listJRHYData(query).then((response) => {
- if (response.data!=null ) {
- if (response.data.num) {
- this.infoFrom.jrhy = response.data.num;
- } else {
- this.infoFrom.jrhy = 0;
- }
- }
- });
- },
- getData(type) {
- let day;
- this.reset()
- const query = {
- stationId: null,
- createdDate: null,
- stationName: null,
- beginTime: null,
- endTime: null,
- levelId: this.levelId
- };
- switch (type) {
- case 0: // 今日
- query.beginTime = this.dateCalculate();
- query.endTime = this.dateCalculate(1);
- this.getTodayList(query);
- break;
- case 1: // 昨天
- query.beginTime = this.dateCalculate(-1);
- query.endTime = this.dateCalculate();
- break;
- case 2: // 本周
- day = new Date().getDay();
- day = day === 0 ? 7 : day;
- day = -(day - 1);
- query.beginTime = this.dateCalculate(day);
- query.endTime = this.dateCalculate(1);
- break;
- case 3: // 本月
- day = new Date().getDay();
- let datetime =new Date();
- query.beginTime =datetime.getFullYear() +"-" + (new Date().getMonth() + 1) +
- "-01 00:00:00";
- //query.beginTime = this .dateCalculate(day);
- query.endTime = this.dateCalculate(1);
- break;
- case 4: // 指定日期
- query.beginTime = this.dateRangeCreatedDate[0];
- query.endTime = this.dateRangeCreatedDate[1];
- default:
- console.log("switch");
- }
- this.getList(query)
- },
-
- dateCalculate(num = 0, date = false) {
- if (!date) {
- date = new Date(); //没有传入值时,默认是当前日期
- date =
- date.getFullYear() +
- "-" +
- (date.getMonth() + 1) +
- "-" +
- date.getDate();
- }
- date += " 00:00:00"; //设置为当天凌晨12点
- date = date.replace(/-/g, '/');
- date = Date.parse(new Date(date)) / 1000; //转换为时间戳
- date += 86400 * num; //修改后的时间戳
- var newDate = new Date(parseInt(date) * 1000); //转换为时间
- return (
- newDate.getFullYear() +
- "-" +
- (newDate.getMonth() + 1) +
- "-" +
- newDate.getDate()
- );
- },
- // 表单重置
- reset() {
- this.form = {
- zongAmt: 0,
- zongliters: 0,
- qyamt: 0,
- cyamt: 0,
- qyliters: 0,
- cyliters: 0,
- wxAmt: 0,
- zfbAmt: 0,
- xjAmt: 0,
- didiAppAmt: 0,
- tyAppAmt: 0,
- otherAmt: 0,
- memberAmt: 0,
- posAmt: 0,
- };
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- .flex {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 100%;
- height: 170px;
- flex-direction: column;
- }
- .xiaoliang {
- background-image: url("../../assets/image/bj-1.png");
- background-size: 100% 100%;
- }
- .xiaoe {
- background-image: url("../../assets/image/bj-02.png");
- background-size: 100% 100%;
- }
- .qiyou {
- background-image: url("../../assets/image/bj-3.png");
- background-size: 100% 100%;
- }
- .chaiyou {
- background-image: url("../../assets/image/bj-4.png");
- background-size: 100% 100%;
- }
- .flex-qy {
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .flex-qy-sx {
- display: flex;
- align-items: center;
- justify-content: center;
- flex-direction: column;
- }
- .panel-group {
- padding-left: 10px;
- }
- .flex-sr {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 100%;
- flex-direction: column;
- }
- .sr-font {
- font-size: 20px;
- color: #f4a645;
- }
- </style>
|