Commit 440e9806 by ‘巴博尔’

修改

parent b232e4cf
No preview for this file type
...@@ -91,9 +91,9 @@ export function exportReportFormsPOST(data) { ...@@ -91,9 +91,9 @@ export function exportReportFormsPOST(data) {
// 报表接口 // 报表接口
export function reportFormsGET(query) { export function reportFormsGET(query) {
return request({ return request({
url: '/xinrenli/order/reportForms', url: `/xinrenli/order/reportForms?startTime=${query.startTime}&endTime=${query.endTime}`,
method: 'get', method: 'get',
params: query // params: query
}) })
} }
// 营销活动列表 // 营销活动列表
...@@ -136,3 +136,11 @@ export function couponlePUT(data) { ...@@ -136,3 +136,11 @@ export function couponlePUT(data) {
data: data data: data
}) })
} }
// 累计成交额
export function accumulatedTransactionVolumeGET(query) {
return request({
url: `/xinrenli/order/accumulatedTransactionVolume?year=${query.year}`,
method: 'get',
// params: query
})
}
\ No newline at end of file

5.53 KB | W: | H:

16.8 KB | W: | H:

src/assets/logo/logo.png
src/assets/logo/logo.png
src/assets/logo/logo.png
src/assets/logo/logo.png
  • 2-up
  • Swipe
  • Onion skin
<template> <template>
<div class="app-container"> <div class="app-container">
<el-dialog :title='title' :visible.sync="dialogVisibl" width="30%" :before-close="dialog" center> <el-dialog
:title="title"
:visible.sync="dialogVisibl"
width="30%"
:before-close="dialog"
center
>
<div v-if="control != 4"> <div v-if="control != 4">
<!-- 图片说明 --> <!-- 图片说明 -->
<el-image v-if="control == '1'" style="width:100%;" :src="idt" > <el-image v-if="control == '1'" style="width: 100%" :src="idt">
</el-image> </el-image>
<!-- 视频说明 --> <!-- 视频说明 -->
<comvideo v-if="control == '2'" :videoUrl="idt" :videoCover="videoCover"></comvideo> <comvideo
v-if="control == '2'"
:videoUrl="idt"
:videoCover="videoCover"
></comvideo>
<!-- 语音说明 --> <!-- 语音说明 -->
<audio v-if="control == '3'" controls ref="audio" class="aud"> <audio v-if="control == '3'" controls ref="audio" class="aud">
<source :src="idt" /> <source :src="idt" />
</audio> </audio>
</div> </div>
<!-- 沟通后金额 --> <!-- 沟通后金额 -->
<div v-if="control == '4' || control == '9' "> <div v-if="control == '4' || control == '9'">
<el-form :model="form"> <el-form :model="form">
<el-form-item label="沟通后金额"> <el-form-item label="沟通后金额">
<el-input class="delInput" type='number' v-model="form.money" placeholder="请输入沟通后金额"></el-input> <el-input
class="delInput"
type="number"
v-model="form.money"
placeholder="请输入沟通后金额"
></el-input>
</el-form-item>
<el-form-item label="管理员备注" v-if="control == '4'">
<el-input
type="textarea"
:rows="2"
placeholder="请输入管理员备注"
v-model="form.adminRemark"
maxlength="500"
show-word-limit
:autosize="{ minRows: 4}"
>
</el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -24,11 +51,19 @@ ...@@ -24,11 +51,19 @@
<div v-if="control == '5'"> <div v-if="control == '5'">
<el-form :model="form"> <el-form :model="form">
<el-form-item label="驳回理由"> <el-form-item label="驳回理由">
<el-input v-model="form.name" type="textarea" placeholder="请输入驳回理由"></el-input> <el-input
v-model="form.name"
type="textarea"
placeholder="请输入驳回理由"
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<span v-if="control == '4' || control == '5' || control == '9' " slot="footer" class="dialog-footer"> <span
v-if="control == '4' || control == '5' || control == '9'"
slot="footer"
class="dialog-footer"
>
<el-button type="primary" @click="clickDialog">确 定</el-button> <el-button type="primary" @click="clickDialog">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
...@@ -36,94 +71,101 @@ ...@@ -36,94 +71,101 @@
</template> </template>
<script> <script>
import comvideo from './video.vue' import comvideo from "./video.vue";
export default { export default {
name: "orderform", name: "orderform",
components: { components: {
comvideo comvideo,
}, },
props: { props: {
dialogVisibl: { dialogVisibl: {
type: Boolean type: Boolean,
}, },
control: { control: {
type: String type: String,
}, },
bindex: { bindex: {
type: Array type: Array,
}, },
idt: { idt: {
type: [String, Number] type: [String, Number],
},
videoCover: {
type: [String, Number],
}, },
videoCover:{
type: [String, Number]
}
}, },
data() { data() {
return { return {
url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg', url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
// srcList: [ // srcList: [
// 'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg', // 'https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg',
// 'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg' // 'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg'
// ], // ],
form: { form: {
name: '', name: "",
money:'' money: "",
}, },
title: '', title: "",
id:'' id: "",
}; };
}, },
watch: { watch: {
control(st, old) { control(st, old) {
let self = this let self = this;
if (st == '4') { if (st == "4") {
this.title = '生成支付订单' this.title = "生成支付订单";
if (self.dialogVisibl) { if (self.dialogVisibl) {
this.bindex.forEach(element => { this.bindex.forEach((element) => {
if(self.idt == element.id){ if (self.idt == element.id) {
self.form.money = element.dataName self.form.money = element.dataName;
console.log(self.form.money,element.dataName,'element.dataName') console.log(
self.form.money,
element.dataName,
"element.dataName"
);
} }
}); });
} }
} else if (st == '1') { } else if (st == "1") {
this.title = '' this.title = "";
} else if (st == '5') { } else if (st == "5") {
this.title = '订单驳回' this.title = "订单驳回";
}else if(st == '9'){ } else if (st == "9") {
this.title = '生成退款订单' this.title = "生成退款订单";
if (self.dialogVisibl) { if (self.dialogVisibl) {
this.bindex.forEach(element => { this.bindex.forEach((element) => {
if(self.idt == element.id){ if (self.idt == element.id) {
self.form.money = element.dataName self.form.money = element.dataName;
console.log(self.form.money,element.dataName,'element.dataName') console.log(
self.form.money,
element.dataName,
"element.dataName"
);
} }
}); });
} }
} }
}, },
idt(val,old){ idt(val, old) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.audio.src = val; this.$refs.audio.src = val;
}); });
}, },
bindex(st, old) { bindex(st, old) {
console.log(st, old,this.idt, '000000000000') console.log(st, old, this.idt, "000000000000");
}
}, },
created() { }, },
created() {},
methods: { methods: {
dialog() { dialog() {
this.$emit('visivie') this.$emit("visivie");
}, },
clickDialog() { clickDialog() {
this.$emit('clickDialog') this.$emit("clickDialog");
} },
} },
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
......
...@@ -71,6 +71,8 @@ ...@@ -71,6 +71,8 @@
</el-table-column> </el-table-column>
<el-table-column prop="remark" label="备注说明" :show-overflow-tooltip="true" align="center"> <el-table-column prop="remark" label="备注说明" :show-overflow-tooltip="true" align="center">
</el-table-column> </el-table-column>
<el-table-column prop="adminRemark" label="管理员备注" :show-overflow-tooltip="true" align="center">
</el-table-column>
<el-table-column label="操作" width="150"> <el-table-column label="操作" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.status == 0" @click="imageCaption(scope.row, '4')" type="text" <el-button v-if="scope.row.status == 0" @click="imageCaption(scope.row, '4')" type="text"
...@@ -343,12 +345,14 @@ export default { ...@@ -343,12 +345,14 @@ export default {
if (this.$refs['refIndex'].form.money) { if (this.$refs['refIndex'].form.money) {
var params = { var params = {
actualAmount: this.$refs['refIndex'].form.money, actualAmount: this.$refs['refIndex'].form.money,
adminRemark: this.$refs['refIndex'].form.adminRemark,
status: 2, status: 2,
id: this.id id: this.id
} }
createPayPOST(params).then((res) => { createPayPOST(params).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$refs['refIndex'].form.money = '' this.$refs['refIndex'].form.money = ''
this.$refs['refIndex'].form.adminRemark = ''
this.dialogVisible = false this.dialogVisible = false
this.listth() this.listth()
} }
......
...@@ -4,7 +4,22 @@ ...@@ -4,7 +4,22 @@
<el-col :span="12" class="card-box"> <el-col :span="12" class="card-box">
<el-card> <el-card>
<div slot="header"><span>已完成订单量</span></div> <div slot="header"><span>已完成订单量</span></div>
<div class="el-table el-table--enable-row-hover el-table--medium"> <div
class="el-table el-table--enable-row-hover el-table--medium timkdos"
>
<div class="timkdos-time">
<el-date-picker
v-model="valueTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
style="width: 20em"
@change="changeTimes"
>
</el-date-picker>
</div>
<div ref="commandstatst" style="height: 420px" /> <div ref="commandstatst" style="height: 420px" />
</div> </div>
</el-card> </el-card>
...@@ -29,7 +44,33 @@ ...@@ -29,7 +44,33 @@
<el-card> <el-card>
<div slot="header"><span>累计成交额</span></div> <div slot="header"><span>累计成交额</span></div>
<div class="el-table el-table--enable-row-hover el-table--medium"> <div class="el-table el-table--enable-row-hover el-table--medium">
<div ref="commandstats" style="height: 420px" /> <!-- <div ref="commandstats" style="height: 420px" /> -->
<div class="ccumulated">
<div class="ccumulated-year">
<el-date-picker
v-model="valueYear"
type="year"
placeholder="选择年"
@change="checkYear"
value-format="yyyy"
>
</el-date-picker>
</div>
<div
class="ccumulated-item"
v-for="(item, index) in ccumulatedList"
:key="index"
>
<span>{{ item.month }}月:¥{{ item.transactionVolume }}</span>
<el-progress
:text-inside="false"
:stroke-width="26"
:percentage="100"
:color="colorF"
:show-text="false"
></el-progress>
</div>
</div>
</div> </div>
</el-card> </el-card>
</el-col> </el-col>
...@@ -44,7 +85,9 @@ ...@@ -44,7 +85,9 @@
</el-card> </el-card>
</el-col> </el-col>
<el-col :span="12" class="card-box"> <el-col :span="12" class="card-box">
<el-button type="primary" size="medium " @click="clickStatement">导出报表</el-button> <el-button type="primary" size="medium " @click="clickStatement"
>导出报表</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -53,8 +96,10 @@ ...@@ -53,8 +96,10 @@
<script> <script>
// import { getCache } from "@/api/monitor/cache"; // import { getCache } from "@/api/monitor/cache";
import * as echarts from "echarts"; import * as echarts from "echarts";
import { reportFormsGET} from '@/api/orderform/index' import {
reportFormsGET,
accumulatedTransactionVolumeGET,
} from "@/api/orderform/index";
export default { export default {
name: "Cache", name: "Cache",
...@@ -65,163 +110,284 @@ export default { ...@@ -65,163 +110,284 @@ export default {
// 使用内存 // 使用内存
usedmemory: null, usedmemory: null,
// cache信息 // cache信息
cache: {} cache: {},
} ccumulatedList: [],
valueYear: "",
valueTime: "",
};
}, },
created() { created() {
this.getList(); this.getList();
this.accumulatedTransactionVolumeAxios();
this.openLoading(); this.openLoading();
}, },
methods: { methods: {
changeTimes(e) {
console.log(e, "====changeTimes");
this.valueTime = e;
if (this.valueTime != null && this.valueTime.length > 0) {
this.getList({
startTime: e[0],
endTime: e[1],
});
}else{
this.getList({
startTime: '',
endTime: '',
});
}
},
checkYear(e) {
// console.log(e,"=======checkYear")
this.valueYear = e;
this.accumulatedTransactionVolumeAxios();
},
async accumulatedTransactionVolumeAxios() {
let self = this;
const data_back = await accumulatedTransactionVolumeGET({
year: self.valueYear,
});
// console.log(
// data_back,
// "=============accumulatedTransactionVolumeGET back"
// );
const { code, data } = data_back;
if (code === 200) {
self.ccumulatedList = data;
}
},
monthNow() {
var date = new Date();
var month = date.getMonth() + 1;
return month;
},
colorF() {
//十六进制颜色随机
const r = Math.floor(Math.random() * 256);
const g = Math.floor(Math.random() * 256);
const b = Math.floor(Math.random() * 256);
const color = `#${r.toString(16)}${g.toString(16)}${b.toString(16)}`;
return color;
},
//导出报表 //导出报表
clickStatement(){ clickStatement() {
this.download('/xinrenli/order/exportReportForms', { }, `role_${new Date().getTime()}.xlsx`) this.download(
"/xinrenli/order/exportReportForms",
{},
`role_${new Date().getTime()}.xlsx`
);
}, },
/** 查缓存询信息 */ /** 查缓存询信息 */
getList() { getList(values) {
reportFormsGET().then((response) => { reportFormsGET({
startTime: values && values.startTime ? values.startTime : "",
endTime: values && values.endTime ? values.endTime : "",
}).then((response) => {
this.cache = response.data; this.cache = response.data;
this.$modal.closeLoading(); this.$modal.closeLoading();
this.commandstats = echarts.init(this.$refs.commandstats, "macarons"); // this.commandstats = echarts.init(this.$refs.commandstats, "macarons");
this.commandstats.setOption({ // this.commandstats.setOption({
tooltip: { // tooltip: {
trigger: 'item' // trigger: 'item'
}, // },
legend: { // legend: {
top: '5%', // top: '5%',
left: 'center' // left: 'center'
}, // },
series: [ // series: [
// {
// // name: 'Access From',
// type: 'pie',
// radius: ['40%', '70%'],
// avoidLabelOverlap: false,
// label: {
// show: false,
// position: 'center'
// },
// emphasis: {
// label: {
// show: false,
// fontSize: 40,
// fontWeight: 'bold'
// }
// },
// labelLine: {
// show: false
// },
// data: [
// { value: this.cache.money, name: '累计成交额' }
// ]
// }
// ]
// });
this.commandstatst = echarts.init(this.$refs.commandstatst, "macarons");
this.commandstatst.setOption({
title: [
{ {
// name: 'Access From', text: `{name|已完成订单量}\n{val|${this.cache.accomplish}}`,
type: 'pie', top: "center",
radius: ['40%', '70%'], left: "center",
avoidLabelOverlap: false, textStyle: {
label: { rich: {
show: false, name: {
position: 'center' fontSize: 14,
color: "#666666",
padding: [10, 0],
},
val: {
fontSize: 32,
fontWeight: "bold",
color: "#333333",
}, },
emphasis: {
label: {
show: false,
fontSize: 40,
fontWeight: 'bold'
}
}, },
labelLine: {
show: false
}, },
data: [
{ value: this.cache.money, name: '累计成交额' }
]
} }
] ],
});
this.commandstatst = echarts.init(this.$refs.commandstatst, "macarons");
this.commandstatst.setOption({
tooltip: { tooltip: {
trigger: 'item' trigger: "item",
}, },
legend: { legend: {
top: '5%', top: "5%",
left: 'center' left: "center",
}, },
series: [ series: [
{ {
// name: 'Access From', // name: 'Access From',
type: 'pie', type: "pie",
radius: ['40%', '70%'], radius: ["40%", "70%"],
avoidLabelOverlap: false, avoidLabelOverlap: false,
label: { label: {
show: false, show: false,
position: 'center' position: "center",
}, },
emphasis: { emphasis: {
label: { label: {
show: false, show: false,
fontSize: 40, fontSize: 40,
fontWeight: 'bold' fontWeight: "bold",
} },
}, },
labelLine: { labelLine: {
show: false show: false,
}, },
data: [ data: [{ value: this.cache.accomplish, name: "已完成订单量" }],
{ value: this.cache.accomplish, name: '已完成订单量' } },
] ],
}
]
}); });
this.commandstatsts = echarts.init(this.$refs.commandstatsts, "macarons"); this.commandstatsts = echarts.init(
this.$refs.commandstatsts,
"macarons"
);
this.commandstatsts.setOption({ this.commandstatsts.setOption({
title: [
{
text: `{name|已驳回订单量}\n{val|${this.cache.reject}}`,
top: "center",
left: "center",
textStyle: {
rich: {
name: {
fontSize: 14,
color: "#666666",
padding: [10, 0],
},
val: {
fontSize: 32,
fontWeight: "bold",
color: "#333333",
},
},
},
}
],
tooltip: { tooltip: {
trigger: 'item' trigger: "item",
}, },
legend: { legend: {
top: '5%', top: "5%",
left: 'center' left: "center",
}, },
series: [ series: [
{ {
// name: 'Access From', // name: 'Access From',
type: 'pie', type: "pie",
radius: ['40%', '70%'], radius: ["40%", "70%"],
avoidLabelOverlap: false, avoidLabelOverlap: false,
label: { label: {
show: false, show: false,
position: 'center' position: "center",
}, },
emphasis: { emphasis: {
label: { label: {
show: false, show: false,
fontSize: 40, fontSize: 40,
fontWeight: 'bold' fontWeight: "bold",
} },
}, },
labelLine: { labelLine: {
show: false show: false,
}, },
data: [ data: [{ value: this.cache.reject, name: "已驳回订单量" }],
{ value: this.cache.reject, name: '已驳回订单量' } },
] ],
}
]
}); });
this.commandstatstst = echarts.init(this.$refs.commandstatstst, "macarons"); this.commandstatstst = echarts.init(
this.$refs.commandstatstst,
"macarons"
);
this.commandstatstst.setOption({ this.commandstatstst.setOption({
title: [
{
text: `{name|已退款订单量}\n{val|${this.cache.refund}}`,
top: "center",
left: "center",
textStyle: {
rich: {
name: {
fontSize: 14,
color: "#666666",
padding: [10, 0],
},
val: {
fontSize: 32,
fontWeight: "bold",
color: "#333333",
},
},
},
}
],
tooltip: { tooltip: {
trigger: 'item' trigger: "item",
}, },
legend: { legend: {
top: '5%', top: "5%",
left: 'center' left: "center",
}, },
series: [ series: [
{ {
// name: 'Access From', // name: 'Access From',
type: 'pie', type: "pie",
radius: ['40%', '70%'], radius: ["40%", "70%"],
avoidLabelOverlap: false, avoidLabelOverlap: false,
label: { label: {
show: false, show: false,
position: 'center' position: "center",
}, },
emphasis: { emphasis: {
label: { label: {
show: false, show: false,
fontSize: 40, fontSize: 40,
fontWeight: 'bold' fontWeight: "bold",
} },
}, },
labelLine: { labelLine: {
show: false show: false,
}, },
data: [ data: [{ value: this.cache.refund, name: "已退款订单量" }],
{ value: this.cache.refund, name: '已退款订单量' } },
] ],
}
]
}); });
this.usedmemory = echarts.init(this.$refs.usedmemory, "macarons"); this.usedmemory = echarts.init(this.$refs.usedmemory, "macarons");
this.usedmemory.setOption({ this.usedmemory.setOption({
...@@ -231,37 +397,64 @@ export default { ...@@ -231,37 +397,64 @@ export default {
// left: 'center' // left: 'center'
// }, // },
tooltip: { tooltip: {
trigger: 'item' trigger: "item",
}, },
legend: { legend: {
orient: 'vertical', orient: "vertical",
left: 'left' left: "left",
}, },
series: [ series: [
{ {
// name: 'Access From', // name: 'Access From',
type: 'pie', type: "pie",
radius: '50%', radius: "50%",
data: [ data: [
{ value: this.cache.accomplish, name: '已完成订单' }, { value: this.cache.accomplish, name: "已完成订单" },
{ value: this.cache.noAccomplish, name: '未完成订单' }, { value: this.cache.noAccomplish, name: "未完成订单" },
], ],
emphasis: { emphasis: {
itemStyle: { itemStyle: {
shadowBlur: 10, shadowBlur: 10,
shadowOffsetX: 0, shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)' shadowColor: "rgba(0, 0, 0, 0.5)",
} },
} },
} },
] ],
}); });
}); });
}, },
// 打开加载层 // 打开加载层
openLoading() { openLoading() {
this.$modal.loading("正在加载缓存监控数据,请稍候!"); this.$modal.loading("正在加载缓存监控数据,请稍候!");
} },
} },
}; };
</script> </script>
<style lang="scss" scoped>
.ccumulated {
height: 420px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
&-year {
width: 100%;
}
&-item {
width: 48%;
height: 30px;
margin: 0px;
}
}
.timkdos {
position: relative;
&-time {
position: absolute;
left: 0;
top: 0;
z-index: 999999999;
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment