no message
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 4.0 KiB |
@ -0,0 +1,106 @@
|
||||
<template>
|
||||
<div class="app-center">
|
||||
<div class="app-top">
|
||||
<el-card :body-style="{ padding: '0px' }">
|
||||
<div class="box">
|
||||
<div class="nbox" :class="pointerClass" @click="updateRedio('支付方式分析')">
|
||||
<div class="fount-box" :style="{ color: radio1 === '支付方式分析' ? '#FF770F' : '#999999' }">支付方式分析</div>
|
||||
<div class="heng-box" v-if="radio1 == '支付方式分析'"></div>
|
||||
<div class="heng-box" style="background-color: #FFFFFF" v-else></div>
|
||||
|
||||
</div>
|
||||
<div class="nbox" :class="pointerClass" @click="updateRedio('支付通道分析')">
|
||||
<div class="fount-box" :style="{ color: radio1 === '支付通道分析' ? '#FF770F' : '#999999' }">支付通道分析</div>
|
||||
<div class="heng-box" v-if="radio1 == '支付通道分析'"></div>
|
||||
<div class="heng-box" style="background-color: #FFFFFF" v-else></div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
|
||||
</div>
|
||||
<dai_yunyingfenxi-pay-type v-if="radio1 === '支付方式分析'"></dai_yunyingfenxi-pay-type>
|
||||
<dai_yunyingfenxi-paym v-if="radio1 === '支付通道分析'"></dai_yunyingfenxi-paym>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import Dai_yunyingfenxiPayType from "@/views/financialStatement/dai_yunyingfenxi/tab/paytype.vue";
|
||||
import Dai_yunyingfenxiPaym from "@/views/financialStatement/dai_yunyingfenxi/tab/paym.vue";
|
||||
|
||||
export default {
|
||||
name: "yunyingfenxi-list1",
|
||||
data(){
|
||||
return{
|
||||
radio1:'支付方式分析',
|
||||
pointerClass() {
|
||||
return 'pointer-cursor';
|
||||
}
|
||||
}
|
||||
},
|
||||
components:{
|
||||
Dai_yunyingfenxiPaym,
|
||||
Dai_yunyingfenxiPayType
|
||||
|
||||
},
|
||||
methods: {
|
||||
handleClick(tab, event) {
|
||||
console.log(tab, event);
|
||||
},
|
||||
updateRedio(data) {
|
||||
console.log(this.radio1)
|
||||
this.radio1 = data
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.app-center{
|
||||
width: 100%;
|
||||
|
||||
box-sizing: border-box;
|
||||
//padding: 10px;
|
||||
}
|
||||
.app-top{
|
||||
width: 100%;
|
||||
//margin-bottom: 20px;
|
||||
height: 60px;
|
||||
box-sizing: border-box;
|
||||
|
||||
}
|
||||
.el-card__body, .el-main {
|
||||
padding: 0px;
|
||||
}
|
||||
.box{
|
||||
cursor: pointer;
|
||||
margin-top: 10px ;
|
||||
margin-left: 50px;
|
||||
//height: 40px;
|
||||
display: flex;
|
||||
background-color: #FFFFFF;
|
||||
align-items: center;
|
||||
//border: 1px solid #EBEEF5;
|
||||
}
|
||||
.nbox{
|
||||
margin-left: 30px;
|
||||
}
|
||||
.fount-box{
|
||||
font-size: 14px;
|
||||
color: #999999
|
||||
}
|
||||
.fount-box2{
|
||||
font-size: 14px;
|
||||
color: #999999
|
||||
}
|
||||
.heng-box{
|
||||
background-color: #FF770F;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
</style>
|
@ -0,0 +1,350 @@
|
||||
<!-- 收银台订单-->
|
||||
<template>
|
||||
<div style="margin-top: 0px">
|
||||
<el-card class="box-card">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
|
||||
<el-form-item label="" prop="deptId" style="width: 180px">
|
||||
<el-select
|
||||
v-model="queryParams.deptId"
|
||||
clearable
|
||||
placeholder="所属机构"
|
||||
>
|
||||
<el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" style="width: 180px">
|
||||
<el-input placeholder="请输入油号" v-model="queryParams.orderNo"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="payChannel" style="width: 180px">
|
||||
<el-select
|
||||
v-model="queryParams.payChannel"
|
||||
clearable
|
||||
placeholder="订单类型"
|
||||
>
|
||||
<el-option label="小程序" value="applet"/>
|
||||
<el-option label="收银台" value="cashier"/>
|
||||
<el-option label="POS端" value="POS"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="payType" style="width: 180px">
|
||||
<el-select
|
||||
v-model="queryParams.payType"
|
||||
clearable
|
||||
placeholder="支付方式"
|
||||
>
|
||||
<el-option label="现金" value="CASH"/>
|
||||
<el-option label="微信" value="WECHAT"/>
|
||||
<el-option label="支付宝" value="ALIPAY"/>
|
||||
<el-option label="余额" value="balance"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="status" style="width: 180px">
|
||||
<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>
|
||||
<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="交易结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item class="" style="float: right;">
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="wrap-box">
|
||||
<div class="k_" id="k_1">
|
||||
<div class="size_">累计交易金额(万元)</div>
|
||||
<div class="title_">{{orderStatistics.amount}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_2">
|
||||
<div class="size_">累计交易升数</div>
|
||||
<div class="title_">{{orderStatistics.num}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_3">
|
||||
<div class="size_">92#汽油交易金额(万元)</div>
|
||||
<div class="title_">{{orderStatistics.amount92}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_4">
|
||||
<div class="size_">95#汽油交易金额(万元)</div>
|
||||
<div class="title_">{{orderStatistics.amount95}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_5">
|
||||
<div class="size_">98#汽油交易金额(万元)</div>
|
||||
<div class="title_">{{orderStatistics.amount98}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_5">
|
||||
<div class="size_">0#柴油交易金额(万元)</div>
|
||||
<div class="title_">{{orderStatistics.amount0}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card class="box-card">
|
||||
|
||||
|
||||
<div class="table-box">
|
||||
<el-table
|
||||
:data="orderList"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" width="50" align="center" label="序号"/>
|
||||
<el-table-column align="center" prop="storeName" label="机构名称"></el-table-column>
|
||||
<el-table-column align="center" prop="payAmount" label="所属机构"></el-table-column>
|
||||
<el-table-column align="center" prop="sum" label="累计交易金额"></el-table-column>
|
||||
<el-table-column align="center" prop="oilNum" label="累计交易笔数"></el-table-column>
|
||||
<el-table-column align="center" label="支付通道交易信息:金额(万元),笔数(万笔),占比(%)">
|
||||
<el-table-column align="center" prop="amount92" label="富友交易金额"></el-table-column>
|
||||
<el-table-column align="center" prop="count92" label="富友交易笔数"></el-table-column>
|
||||
<el-table-column align="center" prop="num92" label="富友交易占比"></el-table-column>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column align="center" prop="date" label="统计日期" >
|
||||
<template>
|
||||
<!-- {{this.beginTime}} -{{this.endTime}}-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.page"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
</el-card>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import {
|
||||
exportExcelTradingApi,
|
||||
getRunningWaterByTissueApi,
|
||||
getTissueByDataApi,
|
||||
getTradingPageApi
|
||||
} from "@/api/allOrder";
|
||||
import {getFenXiOilOrderDataApi, getFenXiOilOrderListApi} from "@/api/financialStatement/yunyingfenxi";
|
||||
|
||||
export default {
|
||||
name: "dai_yunyingfenxi-paym",
|
||||
data(){
|
||||
return{
|
||||
radio1:"油号选错",
|
||||
loading:false,
|
||||
dialogVisible:false,
|
||||
// 员工列表
|
||||
staffList:[],
|
||||
ordersInfo:{},
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
beginTime:"",
|
||||
endTime:"",
|
||||
// 是否为当天时间
|
||||
isSysDate:false,
|
||||
// 收银台订单列表
|
||||
orderList:[],
|
||||
deptList:[],
|
||||
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
beginTime:"",
|
||||
endTime:"",
|
||||
orderNo:"",
|
||||
status:"",
|
||||
payType:"",
|
||||
payChannel:"",
|
||||
deptType:"3",
|
||||
storeId:"",
|
||||
deptId:"",
|
||||
},
|
||||
orderStatistics:{
|
||||
amount:'0',
|
||||
num:'0',
|
||||
amount92:'0',
|
||||
amount95:'0',
|
||||
amount98:'0',
|
||||
amount0:'0',
|
||||
},
|
||||
total:0,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
let start = new Date();
|
||||
start.setHours(0)
|
||||
start.setMinutes(0)
|
||||
start.setSeconds(0)
|
||||
start.setMilliseconds(0)
|
||||
this.dateRange = [start,new Date()];
|
||||
this.beginTime = start
|
||||
this.endTime = new Date()
|
||||
this.isSysDate = true
|
||||
this.getList();
|
||||
this.getDeptList();
|
||||
|
||||
},
|
||||
methods:{
|
||||
getDeptList() {
|
||||
getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
|
||||
this.deptList = response.data.records;
|
||||
})
|
||||
},
|
||||
exportExcelCashier() {
|
||||
let dateRange = []
|
||||
if (this.beginTime && this.endTime) {
|
||||
dateRange.push(this.beginTime.toLocaleDateString())
|
||||
dateRange.push(this.endTime.toLocaleDateString())
|
||||
}
|
||||
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
|
||||
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
|
||||
this.$download.saveAs(blob,'交易明细统计.xLsx')
|
||||
})
|
||||
},
|
||||
// 获取订单统计信息
|
||||
|
||||
getOrderStatistics() {
|
||||
let dateRange = []
|
||||
if (this.beginTime && this.endTime) {
|
||||
dateRange.push(this.beginTime.toLocaleDateString())
|
||||
dateRange.push(this.endTime.toLocaleDateString())
|
||||
}
|
||||
getFenXiOilOrderDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
|
||||
this.orderStatistics = res.data
|
||||
console.log("res.data1111",res.data)
|
||||
})
|
||||
},
|
||||
|
||||
// 获取列表信息
|
||||
getList(val){
|
||||
let dateRange = []
|
||||
if (this.beginTime && this.endTime) {
|
||||
dateRange.push(this.beginTime.toLocaleDateString())
|
||||
dateRange.push(this.endTime.toLocaleDateString())
|
||||
}
|
||||
getFenXiOilOrderListApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
|
||||
this.orderList = response.data.records;
|
||||
this.total = response.data.total;
|
||||
this.isSysDate = false
|
||||
})
|
||||
this.getOrderStatistics()
|
||||
},
|
||||
getOrdersInfo(data) {
|
||||
this.dialogVisible = true;
|
||||
this.ordersInfo = data
|
||||
},
|
||||
// 搜索按钮操作
|
||||
handleQuery() {
|
||||
this.queryParams.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
// 重置按钮操作
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.queryParams = {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
}
|
||||
this.beginTime = ""
|
||||
this.endTime = ""
|
||||
this.handleQuery();
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.box-card{
|
||||
width: 100%;
|
||||
margin: 0px 20px 20px 20px;
|
||||
}
|
||||
|
||||
.el-form--inline .el-form-item {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.table-box{
|
||||
width: 100%;
|
||||
}
|
||||
.wrap-box{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.k_{
|
||||
width: 200px;
|
||||
height: 80px;
|
||||
margin-right: 20px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px 10px;
|
||||
color: #333333;
|
||||
}
|
||||
.size_{
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
color: #333333;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.title_{
|
||||
font-weight: 600;
|
||||
font-size: 24px;
|
||||
color: #333333;
|
||||
}
|
||||
#k_1{
|
||||
background: url("../imgs/k1.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_2{
|
||||
background: url("../imgs/k2.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_3{
|
||||
background: url("../imgs/k3.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_4{
|
||||
background: url("../imgs/k4.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_5{
|
||||
background: url("../imgs/k5.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_6{
|
||||
background: url("../imgs/k6.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_7{
|
||||
background: url("../imgs/k7.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
|
||||
</style>
|
@ -0,0 +1,298 @@
|
||||
<!-- 收银台订单-->
|
||||
<template>
|
||||
<div style="margin-top: 0px">
|
||||
<el-card class="box-card">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="120px">
|
||||
<el-form-item label="" prop="deptId" style="width: 180px">
|
||||
<el-select
|
||||
v-model="queryParams.deptId"
|
||||
clearable
|
||||
placeholder="所属机构"
|
||||
>
|
||||
<el-option v-for="item in deptList" :key="item.id" :label="item.deptName" :value="item.deptId">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item class="" style="float: right;">-->
|
||||
<!-- <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>-->
|
||||
<!-- <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>-->
|
||||
<!-- </el-form-item>-->
|
||||
</el-form>
|
||||
|
||||
<!-- </el-card>-->
|
||||
<!-- <el-card class="box-card">-->
|
||||
<div class="wrap-box">
|
||||
<div class="k_" id="k_1">
|
||||
<div class="size_">会员总数</div>
|
||||
<div class="title_">{{orderStatistics.sumnum}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_2">
|
||||
<div class="size_">累计充值金额(万元)</div>
|
||||
<div class="title_">{{orderStatistics.tongjMoney}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_3">
|
||||
<div class="size_">会员总消费(万元)</div>
|
||||
<div class="title_">{{orderStatistics.tongjXfMoney}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_4">
|
||||
<div class="size_">会员总余额(万元)</div>
|
||||
<div class="title_">--</div>
|
||||
</div>
|
||||
<div class="k_" id="k_5">
|
||||
<div class="size_">累计囤油卡余额(万元)</div>
|
||||
<div class="title_">--</div>
|
||||
</div>
|
||||
<div class="k_" id="k_6">
|
||||
<div class="size_">累计礼品卡余额(元)</div>
|
||||
<div class="title_">--</div>
|
||||
</div>
|
||||
<div class="k_" id="k_7">
|
||||
<div class="size_">累计储值卡余额(元 )</div>
|
||||
<div class="title_">{{orderStatistics.balanceSum}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card class="box-card">
|
||||
<div class="table-box">
|
||||
<el-table
|
||||
:data="orderList"
|
||||
style="width: 100%">
|
||||
<el-table-column type="index" width="50" align="center" label="序号"/>
|
||||
<el-table-column prop="storeName" align="center" label="会员名称"> </el-table-column>
|
||||
<el-table-column prop="deptName" align="center" label="会员手机号码" > </el-table-column>
|
||||
<el-table-column prop="physicalCard" align="center" label="累计交易金额(万元)"></el-table-column>
|
||||
<el-table-column prop="storeName" align="center" label="交易金额">
|
||||
<el-table-column prop="gradeName" align="center" label="微信" > </el-table-column>
|
||||
<el-table-column prop="gradeName" align="center" label="支付宝" > </el-table-column>
|
||||
<el-table-column prop="gradeName" align="center" label="云闪付" > </el-table-column>
|
||||
<el-table-column prop="gradeName" align="center" label="现金" > </el-table-column>
|
||||
<el-table-column prop="gradeName" align="center" label="其他" > </el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column prop="gradeName" align="center" label="会员等级" > </el-table-column>
|
||||
<el-table-column prop="consumeNum" align="center" label="累计退款金额(元)" > </el-table-column>
|
||||
<el-table-column prop="amount" align="center" label="累计退款笔数" > </el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.page"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import {
|
||||
exportExcelTradingApi,
|
||||
getRunningWaterByTissueApi,
|
||||
getTissueByDataApi,
|
||||
getTradingPageApi
|
||||
} from "@/api/allOrder";
|
||||
import {getFenXiUserbalanceDataApi, getFenXiUserbalanceListApi} from "@/api/financialStatement/yunyingfenxi";
|
||||
|
||||
export default {
|
||||
name: "dai_yunyingfenxi-payType",
|
||||
data(){
|
||||
return{
|
||||
radio1:"油号选错",
|
||||
loading:false,
|
||||
dialogVisible:false,
|
||||
// 员工列表
|
||||
staffList:[],
|
||||
ordersInfo:{},
|
||||
// 日期范围
|
||||
dateRange: [],
|
||||
beginTime:"",
|
||||
endTime:"",
|
||||
// 是否为当天时间
|
||||
isSysDate:false,
|
||||
// 收银台订单列表
|
||||
orderList:[],
|
||||
deptList:[],
|
||||
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
beginTime:"",
|
||||
endTime:"",
|
||||
orderNo:"",
|
||||
status:"",
|
||||
payType:"",
|
||||
payChannel:"",
|
||||
deptType:"3",
|
||||
storeId:"",
|
||||
deptId:"",
|
||||
},
|
||||
orderStatistics:{
|
||||
sumnum:'', // 会员总数
|
||||
balanceSum:'', // 会员余额
|
||||
tongjMoney:'', // 累计冲纸
|
||||
tongjXfMoney:'', // 总消费
|
||||
},
|
||||
total:0,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
let start = new Date();
|
||||
start.setHours(0)
|
||||
start.setMinutes(0)
|
||||
start.setSeconds(0)
|
||||
start.setMilliseconds(0)
|
||||
this.dateRange = [start,new Date()];
|
||||
this.beginTime = start
|
||||
this.endTime = new Date()
|
||||
this.isSysDate = true
|
||||
this.getList();
|
||||
this.getDeptList();
|
||||
|
||||
},
|
||||
methods:{
|
||||
getDeptList() {
|
||||
getRunningWaterByTissueApi(this.addDateRange(this.queryParams)).then( response => {
|
||||
this.deptList = response.data.records;
|
||||
})
|
||||
},
|
||||
exportExcelCashier() {
|
||||
let dateRange = []
|
||||
if (this.beginTime && this.endTime) {
|
||||
dateRange.push(this.beginTime.toLocaleDateString())
|
||||
dateRange.push(this.endTime.toLocaleDateString())
|
||||
}
|
||||
exportExcelTradingApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
|
||||
const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
|
||||
this.$download.saveAs(blob,'交易明细统计.xLsx')
|
||||
})
|
||||
},
|
||||
// 获取订单统计信息
|
||||
|
||||
getOrderStatistics() {
|
||||
let dateRange = []
|
||||
if (this.beginTime && this.endTime) {
|
||||
dateRange.push(this.beginTime.toLocaleDateString())
|
||||
dateRange.push(this.endTime.toLocaleDateString())
|
||||
}
|
||||
getFenXiUserbalanceDataApi(this.addDateRange(this.queryParams, dateRange)).then(res=>{
|
||||
this.orderStatistics = res.data
|
||||
console.log("res.data1111",res.data)
|
||||
})
|
||||
},
|
||||
|
||||
// 获取列表信息
|
||||
getList(val){
|
||||
let dateRange = []
|
||||
if (this.beginTime && this.endTime) {
|
||||
dateRange.push(this.beginTime.toLocaleDateString())
|
||||
dateRange.push(this.endTime.toLocaleDateString())
|
||||
}
|
||||
getFenXiUserbalanceListApi(this.addDateRange(this.queryParams,dateRange)).then( response => {
|
||||
this.orderList = response.data.records;
|
||||
this.total = response.data.total;
|
||||
this.isSysDate = false
|
||||
})
|
||||
this.getOrderStatistics()
|
||||
},
|
||||
getOrdersInfo(data) {
|
||||
this.dialogVisible = true;
|
||||
this.ordersInfo = data
|
||||
},
|
||||
// 搜索按钮操作
|
||||
handleQuery() {
|
||||
this.queryParams.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
// 重置按钮操作
|
||||
resetQuery() {
|
||||
this.dateRange = [];
|
||||
this.queryParams = {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
}
|
||||
this.beginTime = ""
|
||||
this.endTime = ""
|
||||
this.handleQuery();
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.box-card{
|
||||
width: 100%;
|
||||
margin: 0px 20px 20px 20px;
|
||||
}
|
||||
|
||||
.el-form--inline .el-form-item {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.table-box{
|
||||
width: 100%;
|
||||
}
|
||||
.wrap-box{
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.k_{
|
||||
width: 200px;
|
||||
height: 80px;
|
||||
margin-right: 20px;
|
||||
box-sizing: border-box;
|
||||
padding: 15px 10px;
|
||||
color: #333333;
|
||||
}
|
||||
.size_{
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
color: #333333;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.title_{
|
||||
font-weight: 600;
|
||||
font-size: 24px;
|
||||
color: #333333;
|
||||
}
|
||||
#k_1{
|
||||
background: url("../imgs/k1.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_2{
|
||||
background: url("../imgs/k2.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_3{
|
||||
background: url("../imgs/k3.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_4{
|
||||
background: url("../imgs/k4.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_5{
|
||||
background: url("../imgs/k5.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_6{
|
||||
background: url("../imgs/k6.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
#k_7{
|
||||
background: url("../imgs/k7.png");
|
||||
background-size: cover; /* 背景图片铺满盒子 */
|
||||
background-repeat: no-repeat; /* 禁止背景图片重复 */
|
||||
}
|
||||
</style>
|
@ -13,62 +13,6 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" style="width: 180px">
|
||||
<el-input placeholder="请输入商品名称" v-model="queryParams.orderNo"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="payChannel" style="width: 180px">
|
||||
<el-select
|
||||
v-model="queryParams.payChannel"
|
||||
clearable
|
||||
placeholder="订单类型"
|
||||
>
|
||||
<el-option label="小程序" value="applet"/>
|
||||
<el-option label="收银台" value="cashier"/>
|
||||
<el-option label="POS端" value="POS"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="payType" style="width: 180px">
|
||||
<el-select
|
||||
v-model="queryParams.payType"
|
||||
clearable
|
||||
placeholder="支付方式"
|
||||
>
|
||||
<el-option label="现金" value="CASH"/>
|
||||
<el-option label="微信" value="WECHAT"/>
|
||||
<el-option label="支付宝" value="ALIPAY"/>
|
||||
<el-option label="余额" value="balance"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="status" style="width: 180px">
|
||||
<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>
|
||||
<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="交易结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
|
||||
<el-form-item class="" style="float: right;">
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||
@ -77,7 +21,7 @@
|
||||
<div class="wrap-box">
|
||||
<div class="k_" id="k_1">
|
||||
<div class="size_">累计交易金额(万元)</div>
|
||||
<div class="title_">{{orderStatistics.payAmount}}</div>
|
||||
<div class="title_">{{orderStatistics.paidInfo}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_2">
|
||||
<div class="size_">累计交易笔数</div>
|
||||
@ -85,11 +29,11 @@
|
||||
</div>
|
||||
<div class="k_" id="k_3">
|
||||
<div class="size_">累计兑换商品数量</div>
|
||||
<div class="title_">{{orderStatistics.goodsNum}}</div>
|
||||
<div class="title_">{{orderStatistics.exchangeQuantity}}</div>
|
||||
</div>
|
||||
<div class="k_" id="k_4">
|
||||
<div class="size_">累计消耗积分</div>
|
||||
<div class="title_">{{orderStatistics.cvg}}</div>
|
||||
<div class="title_">{{orderStatistics.integrals}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@ -98,17 +42,17 @@
|
||||
<el-table
|
||||
:data="orderList"
|
||||
style="width: 100%">
|
||||
<el-table-column prop="id" label="序号" width="50" align="center"></el-table-column>
|
||||
<el-table-column type="index" width="50" align="center" label="序号"/>
|
||||
<el-table-column prop="storeName" label="机构名称" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="paidInfo" label="累计交易金额 (万元)" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="count" label="累计交易笔数" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="exchangeQuantity" label="兑换商品数量" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="integral" label="累计消费积分" width="150" align="center"></el-table-column>
|
||||
<el-table-column label="热门商品信息" align="center">
|
||||
<el-table-column prop="hotProductName" label="商品名称" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="exchangeQuantity" label="兑换数量 (件)" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="salesAmount" label="销售金额 (元)" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="consumptionPoints" label="消费积分" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="giftName" label="商品名称" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="exchangeQuantityBy" label="兑换数量 (件)" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="paidInfo" label="销售金额 (元)" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="integralBy" label="消费积分" width="150" align="center"></el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column prop="statDate" label="统计日期" width="200" align="center"></el-table-column>
|
||||
|
||||
@ -172,16 +116,10 @@ import {getFenXiIntegralDataApi, getFenXiIntegralListApi} from "@/api/financialS
|
||||
deptId:"",
|
||||
},
|
||||
orderStatistics:{
|
||||
CASH:"0",
|
||||
WECHAT:"0",
|
||||
ALIPAY:"0",
|
||||
balance:"0",
|
||||
CASHCount:"0",
|
||||
WECHATCount:"0",
|
||||
ALIPAYCount:"0",
|
||||
balanceCount:"0",
|
||||
refBalance:"0",
|
||||
refBalanceCount:"0",
|
||||
paidInfo:'0',
|
||||
count:'0',
|
||||
exchangeQuantity:'0',
|
||||
integrals:'0',
|
||||
},
|
||||
total:0,
|
||||
}
|
||||
|
@ -98,7 +98,7 @@
|
||||
<el-table
|
||||
:data="orderList"
|
||||
style="width: 100%">
|
||||
<el-table-column prop="id" label="序号" width="50" align="center"></el-table-column>
|
||||
<el-table-column type="index" width="50" align="center" label="序号"/>
|
||||
<el-table-column prop="storeName" label="机构名称" width="150" align="center"></el-table-column>
|
||||
<el-table-column prop="payAmounts" label="累计交易金额 (万元)" align="center"></el-table-column>
|
||||
<el-table-column prop="counts" label="累计交易笔数" align="center"></el-table-column>
|
||||
|
296
fuintAdmin_zt/src/views/system/notify/page/mode.vue
Normal file
@ -0,0 +1,296 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-card >
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||
<el-form-item label="" prop="orgName">
|
||||
<el-input
|
||||
v-model="queryParams.orgName"
|
||||
placeholder="请输入机构名称"
|
||||
clearable
|
||||
style="width: 240px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="legalRepresentativeContact">
|
||||
<el-input
|
||||
v-model="queryParams.legalRepresentativeContact"
|
||||
placeholder="请输入法人联系方式"
|
||||
clearable
|
||||
style="width: 240px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="appStatus">
|
||||
<el-input
|
||||
v-model="queryParams.appStatus"
|
||||
placeholder="请选择小程序状态"
|
||||
clearable
|
||||
style="width: 240px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="float: right">
|
||||
<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"
|
||||
@click="handleAdd"
|
||||
>新增小程序配置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<!-- 列表信息-->
|
||||
<el-card style="margin-top: 20px" >
|
||||
<el-table :data="tableData" style="width: 100%">
|
||||
<el-table-column type="index" label="序号"></el-table-column>
|
||||
<el-table-column prop="orgName" label="机构名称"></el-table-column>
|
||||
<el-table-column prop="unifiedSocialCreditCode" label="统一社会信用代码"></el-table-column>
|
||||
<el-table-column prop="appId" label="小程序appID"></el-table-column>
|
||||
<el-table-column prop="appKey" label="密钥"></el-table-column>
|
||||
<el-table-column prop="legalRepresentativeName" label="法人姓名"></el-table-column>
|
||||
<el-table-column prop="legalRepresentativeWeChat" label="法人微信号"></el-table-column>
|
||||
<el-table-column prop="legalRepresentativeContact" label="法人联系方式"></el-table-column>
|
||||
<el-table-column prop="appStatus" label="小程序状态">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.appStatus"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949">
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createByName" label="创建人"></el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间"></el-table-column>
|
||||
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-view"
|
||||
@click="edit(scope.row)"
|
||||
>编辑</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="del(scope.row)"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.page"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
</el-card>
|
||||
|
||||
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="50%" append-to-body>
|
||||
<el-form ref="form" :model="deviceInfo" label-width="80px">
|
||||
<el-form :model="deviceInfo" ref="deviceForm" label-width="120px">
|
||||
<el-form-item label="机构名称" prop="orgName">
|
||||
<el-input v-model="deviceInfo.orgName" style="width: 300px"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item label="机构名称" prop="orgName">-->
|
||||
<!-- <el-input v-model="deviceInfo.orgName" style="width: 300px"></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- -->
|
||||
|
||||
|
||||
<el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode">
|
||||
<el-input v-model="deviceInfo.unifiedSocialCreditCode"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="小程序appID" prop="appId">
|
||||
<el-input v-model="deviceInfo.appId"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="密钥" prop="appKey">
|
||||
<el-input v-model="deviceInfo.appKey"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="法人姓名" prop="legalRepresentativeName">
|
||||
<el-input v-model="deviceInfo.legalRepresentativeName"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="法人微信号" prop="legalRepresentativeWeChat">
|
||||
<el-input v-model="deviceInfo.legalRepresentativeWeChat"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="法人联系方式" prop="legalRepresentativeContact">
|
||||
<el-input v-model="deviceInfo.legalRepresentativeContact"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="小程序状态" prop="appStatus">
|
||||
<el-switch
|
||||
v-model="deviceInfo.appStatus"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="submitForm('deviceForm')">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
import {deleteAppApi, getAppListApi, saveAppApi, updateAppApi} from "@/api/sys/app";
|
||||
|
||||
export default {
|
||||
name: "printIndex",
|
||||
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
deviceInfo: {
|
||||
id: null, // 自增id
|
||||
orgName: '', // 机构名称
|
||||
unifiedSocialCreditCode: '', // 统一社会信用代码
|
||||
appId: '', // 小程序appID
|
||||
appKey: '', // 密钥
|
||||
legalRepresentativeName: '', // 法人姓名
|
||||
legalRepresentativeWeChat: '', // 法人微信
|
||||
legalRepresentativeContact: '', // 法人联系方式
|
||||
appStatus: false, // 小程序状态
|
||||
createByName: '',
|
||||
},
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
title:"",
|
||||
total:0,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
orgName:'',
|
||||
legalRepresentativeContact:'',
|
||||
appStatus:'',
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getList(){
|
||||
getAppListApi(this.queryParams).then(res=>{
|
||||
this.tableData = res.data.records;
|
||||
this.total = res.data.total
|
||||
})
|
||||
},
|
||||
getsSubmitDeviceInfo(){},
|
||||
|
||||
submitForm(formName) {
|
||||
this.$refs[formName].validate(valid => {
|
||||
if (valid) {
|
||||
// 表单验证通过,可以提交数据
|
||||
// 示例:调用 API 提交数据
|
||||
this.submitDeviceInfo();
|
||||
} else {
|
||||
// 表单验证失败,不执行任何操作
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
submitDeviceInfo() {
|
||||
// 在这里调用接口提交设备信息数据
|
||||
console.log('提交设备信息数据:', this.deviceInfo);
|
||||
if (this.deviceInfo.id) {
|
||||
updateAppApi(this.deviceInfo).then(res=>{
|
||||
if(res.code === 200) {
|
||||
this.getList()
|
||||
this.open = false
|
||||
}
|
||||
|
||||
})
|
||||
}else {
|
||||
saveAppApi(this.deviceInfo).then(res=>{
|
||||
if(res.code === 200) {
|
||||
this.getList()
|
||||
this.open = false
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
handleQuery(){
|
||||
this.getList()
|
||||
},
|
||||
resetQuery(){
|
||||
this.queryParams = {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
deviceName:'',
|
||||
},
|
||||
this.getList()
|
||||
},
|
||||
handleAdd(e) {
|
||||
this.clean()
|
||||
this.open = true;
|
||||
this.title = "增加设备"
|
||||
},
|
||||
edit(e) {
|
||||
this.clean()
|
||||
this.open = true;
|
||||
this.title = "编辑设备"
|
||||
this.deviceInfo = e
|
||||
console.log('提交设备信息数据:', this.deviceInfo);
|
||||
|
||||
},
|
||||
del(e) {
|
||||
|
||||
this.$confirm('此操作将永久删除该设备, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteAppApi(e.id).then(res=>{
|
||||
if (res.code == 200) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
});
|
||||
this.getList()
|
||||
}
|
||||
})
|
||||
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
},
|
||||
clean() {
|
||||
this.deviceInfo= {
|
||||
id: null, // 自增id
|
||||
orgName: '', // 机构名称
|
||||
unifiedSocialCreditCode: '', // 统一社会信用代码
|
||||
appId: '', // 小程序appID
|
||||
appKey: '', // 密钥
|
||||
legalRepresentativeName: '', // 法人姓名
|
||||
legalRepresentativeWeChat: '', // 法人微信
|
||||
legalRepresentativeContact: '', // 法人联系方式
|
||||
appStatus: false, // 小程序状态
|
||||
createByName: '',
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.common-dialog >>> .el-upload--picture-card {
|
||||
width: 60px;
|
||||
height: 50px;
|
||||
line-height: 60px;
|
||||
}
|
||||
</style>
|
||||
|
296
fuintAdmin_zt/src/views/system/notify/page/record.vue
Normal file
@ -0,0 +1,296 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-card >
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||
<el-form-item label="" prop="orgName">
|
||||
<el-input
|
||||
v-model="queryParams.orgName"
|
||||
placeholder="请输入机构名称"
|
||||
clearable
|
||||
style="width: 240px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="legalRepresentativeContact">
|
||||
<el-input
|
||||
v-model="queryParams.legalRepresentativeContact"
|
||||
placeholder="请输入法人联系方式"
|
||||
clearable
|
||||
style="width: 240px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="appStatus">
|
||||
<el-input
|
||||
v-model="queryParams.appStatus"
|
||||
placeholder="请选择小程序状态"
|
||||
clearable
|
||||
style="width: 240px;"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item style="float: right">
|
||||
<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"
|
||||
@click="handleAdd"
|
||||
>新增小程序配置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
|
||||
<!-- 列表信息-->
|
||||
<el-card style="margin-top: 20px" >
|
||||
<el-table :data="tableData" style="width: 100%">
|
||||
<el-table-column type="index" label="序号"></el-table-column>
|
||||
<el-table-column prop="orgName" label="机构名称"></el-table-column>
|
||||
<el-table-column prop="unifiedSocialCreditCode" label="统一社会信用代码"></el-table-column>
|
||||
<el-table-column prop="appId" label="小程序appID"></el-table-column>
|
||||
<el-table-column prop="appKey" label="密钥"></el-table-column>
|
||||
<el-table-column prop="legalRepresentativeName" label="法人姓名"></el-table-column>
|
||||
<el-table-column prop="legalRepresentativeWeChat" label="法人微信号"></el-table-column>
|
||||
<el-table-column prop="legalRepresentativeContact" label="法人联系方式"></el-table-column>
|
||||
<el-table-column prop="appStatus" label="小程序状态">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.appStatus"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949">
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createByName" label="创建人"></el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间"></el-table-column>
|
||||
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-view"
|
||||
@click="edit(scope.row)"
|
||||
>编辑</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="del(scope.row)"
|
||||
>删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.page"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
</el-card>
|
||||
|
||||
<el-dialog :title="title" :close-on-click-modal="false" :visible.sync="open" width="50%" append-to-body>
|
||||
<el-form ref="form" :model="deviceInfo" label-width="80px">
|
||||
<el-form :model="deviceInfo" ref="deviceForm" label-width="120px">
|
||||
<el-form-item label="机构名称" prop="orgName">
|
||||
<el-input v-model="deviceInfo.orgName" style="width: 300px"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item label="机构名称" prop="orgName">-->
|
||||
<!-- <el-input v-model="deviceInfo.orgName" style="width: 300px"></el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- -->
|
||||
|
||||
|
||||
<el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode">
|
||||
<el-input v-model="deviceInfo.unifiedSocialCreditCode"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="小程序appID" prop="appId">
|
||||
<el-input v-model="deviceInfo.appId"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="密钥" prop="appKey">
|
||||
<el-input v-model="deviceInfo.appKey"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="法人姓名" prop="legalRepresentativeName">
|
||||
<el-input v-model="deviceInfo.legalRepresentativeName"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="法人微信号" prop="legalRepresentativeWeChat">
|
||||
<el-input v-model="deviceInfo.legalRepresentativeWeChat"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="法人联系方式" prop="legalRepresentativeContact">
|
||||
<el-input v-model="deviceInfo.legalRepresentativeContact"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="小程序状态" prop="appStatus">
|
||||
<el-switch
|
||||
v-model="deviceInfo.appStatus"
|
||||
active-color="#13ce66"
|
||||
inactive-color="#ff4949">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="submitForm('deviceForm')">提交</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
import {deleteAppApi, getAppListApi, saveAppApi, updateAppApi} from "@/api/sys/app";
|
||||
|
||||
export default {
|
||||
name: "printIndex",
|
||||
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
deviceInfo: {
|
||||
id: null, // 自增id
|
||||
orgName: '', // 机构名称
|
||||
unifiedSocialCreditCode: '', // 统一社会信用代码
|
||||
appId: '', // 小程序appID
|
||||
appKey: '', // 密钥
|
||||
legalRepresentativeName: '', // 法人姓名
|
||||
legalRepresentativeWeChat: '', // 法人微信
|
||||
legalRepresentativeContact: '', // 法人联系方式
|
||||
appStatus: false, // 小程序状态
|
||||
createByName: '',
|
||||
},
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
title:"",
|
||||
total:0,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
orgName:'',
|
||||
legalRepresentativeContact:'',
|
||||
appStatus:'',
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getList(){
|
||||
getAppListApi(this.queryParams).then(res=>{
|
||||
this.tableData = res.data.records;
|
||||
this.total = res.data.total
|
||||
})
|
||||
},
|
||||
getsSubmitDeviceInfo(){},
|
||||
|
||||
submitForm(formName) {
|
||||
this.$refs[formName].validate(valid => {
|
||||
if (valid) {
|
||||
// 表单验证通过,可以提交数据
|
||||
// 示例:调用 API 提交数据
|
||||
this.submitDeviceInfo();
|
||||
} else {
|
||||
// 表单验证失败,不执行任何操作
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
submitDeviceInfo() {
|
||||
// 在这里调用接口提交设备信息数据
|
||||
console.log('提交设备信息数据:', this.deviceInfo);
|
||||
if (this.deviceInfo.id) {
|
||||
updateAppApi(this.deviceInfo).then(res=>{
|
||||
if(res.code === 200) {
|
||||
this.getList()
|
||||
this.open = false
|
||||
}
|
||||
|
||||
})
|
||||
}else {
|
||||
saveAppApi(this.deviceInfo).then(res=>{
|
||||
if(res.code === 200) {
|
||||
this.getList()
|
||||
this.open = false
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
handleQuery(){
|
||||
this.getList()
|
||||
},
|
||||
resetQuery(){
|
||||
this.queryParams = {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
deviceName:'',
|
||||
},
|
||||
this.getList()
|
||||
},
|
||||
handleAdd(e) {
|
||||
this.clean()
|
||||
this.open = true;
|
||||
this.title = "增加设备"
|
||||
},
|
||||
edit(e) {
|
||||
this.clean()
|
||||
this.open = true;
|
||||
this.title = "编辑设备"
|
||||
this.deviceInfo = e
|
||||
console.log('提交设备信息数据:', this.deviceInfo);
|
||||
|
||||
},
|
||||
del(e) {
|
||||
|
||||
this.$confirm('此操作将永久删除该设备, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteAppApi(e.id).then(res=>{
|
||||
if (res.code == 200) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '删除成功!'
|
||||
});
|
||||
this.getList()
|
||||
}
|
||||
})
|
||||
|
||||
}).catch(() => {
|
||||
this.$message({
|
||||
type: 'info',
|
||||
message: '已取消删除'
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
},
|
||||
clean() {
|
||||
this.deviceInfo= {
|
||||
id: null, // 自增id
|
||||
orgName: '', // 机构名称
|
||||
unifiedSocialCreditCode: '', // 统一社会信用代码
|
||||
appId: '', // 小程序appID
|
||||
appKey: '', // 密钥
|
||||
legalRepresentativeName: '', // 法人姓名
|
||||
legalRepresentativeWeChat: '', // 法人微信
|
||||
legalRepresentativeContact: '', // 法人联系方式
|
||||
appStatus: false, // 小程序状态
|
||||
createByName: '',
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.common-dialog >>> .el-upload--picture-card {
|
||||
width: 60px;
|
||||
height: 50px;
|
||||
line-height: 60px;
|
||||
}
|
||||
</style>
|
||||
|
@ -648,17 +648,18 @@
|
||||
sum(io.integral) integralBy
|
||||
from integral_orders io
|
||||
left join integral_gift ig on io.gift_id = ig.id
|
||||
where
|
||||
io.store_id = #{integralOrders.storeId}
|
||||
|
||||
group by io.gift_id
|
||||
limit 1
|
||||
</select>
|
||||
<!-- where-->
|
||||
<!-- io.store_id = #{integralOrders.storeId}-->
|
||||
<select id="getIntFenxiDataByZtDz" resultType="java.util.Map">
|
||||
select
|
||||
sum(paid_info),
|
||||
count(*),
|
||||
sum(exchange_quantity),
|
||||
sum(integral)
|
||||
sum(paid_info) paidInfo,
|
||||
count(*) count,
|
||||
sum(exchange_quantity) exchangeQuantity,
|
||||
sum(integral) integrals
|
||||
from integral_orders
|
||||
|
||||
|
||||
|
@ -138,7 +138,9 @@ public class IntegralOrdersServiceImpl implements IntegralOrdersService {
|
||||
IPage<IntegralOrdersVO> integralOrdersVOIPage = integralOrdersDao.queryByPageFenxiByZtDz(page, integralOrders);
|
||||
for (IntegralOrdersVO record : integralOrdersVOIPage.getRecords()) {
|
||||
MtStore mtStore = mtStoreMapper.selectById(record.getStoreId());
|
||||
|
||||
if (ObjectUtil.isNotEmpty(mtStore)) {
|
||||
record.setStoreName(mtStore.getName());
|
||||
}
|
||||
IntegralOrdersVO infoByStoreId = integralOrdersDao.getInfoByStoreId(integralOrders);
|
||||
if (ObjectUtil.isNotEmpty(
|
||||
infoByStoreId
|
||||
|