Commit 4311a6d7 by 吕海涛

运维管理功能迭代

parent 30a06f86
...@@ -18,4 +18,4 @@ VUE_APP_BASE_API12 = 'https://payment.sdk.xoado.com' ...@@ -18,4 +18,4 @@ VUE_APP_BASE_API12 = 'https://payment.sdk.xoado.com'
VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice' VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message' VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'https://aitransport.xoado.com/smart' VUE_APP_BASE_API15 = 'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API16 = 'http://xoado.tpddns.net:10001/anc' VUE_APP_BASE_API16 = 'http://proclamations.xoado.com/anc'
...@@ -17,4 +17,4 @@ VUE_APP_BASE_API12 = 'https://payment.sdk.xoado.com' ...@@ -17,4 +17,4 @@ VUE_APP_BASE_API12 = 'https://payment.sdk.xoado.com'
VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice' VUE_APP_BASE_API13 = 'https://projects.xoado.com/invoice'
VUE_APP_BASE_API14 = 'https://projects.xoado.com/message' VUE_APP_BASE_API14 = 'https://projects.xoado.com/message'
VUE_APP_BASE_API15 = 'https://aitransport.xoado.com/smart' VUE_APP_BASE_API15 = 'https://aitransport.xoado.com/smart'
VUE_APP_BASE_API16 = 'http://xoado.tpddns.net:10001/anc' VUE_APP_BASE_API16 = 'http://proclamations.xoado.com/anc'
\ No newline at end of file \ No newline at end of file
<template> <template>
<div class="breadDiv" id="domBread"> <div class="breadDiv" id="domBread">
<el-breadcrumb separator="/"> <el-page-header @back="goBack"> </el-page-header>
<el-breadcrumb-item <el-breadcrumb separator="/">
v-for="(item, index) in breadList" <el-breadcrumb-item
:to="item.path" v-for="(item, index) in breadList"
:key="index" :to="item.path"
> :key="index"
{{ item.meta.title }} >
</el-breadcrumb-item> {{ item.meta.title }}
</el-breadcrumb> </el-breadcrumb-item>
</div> </el-breadcrumb>
</div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
breadList: [] breadList: [],
} };
}, },
watch: { watch: {
$route: { $route: {
handler(route) { handler(route) {
let allList = route.matched.filter(item => { let allList = route.matched.filter((item) => {
if (item.meta && item.meta.title) { if (item.meta && item.meta.title) {
if (item.redirect) { //如果存在则说明为一级路由 将path只为'' if (item.redirect) {
item.path = '' //如果存在则说明为一级路由 将path只为''
} item.path = "";
return true }
} return true;
}) }
});
if (allList[0].path !== '/' && allList[0].path !== '/dashbord') { if (allList[0].path !== "/" && allList[0].path !== "/dashbord") {
allList.unshift({path: '/', meta: {title: '首页'}}) allList.unshift({ path: "/", meta: { title: "首页" } });
}
// console.log(allList)
this.breadList = allList
},
immediate: true
} }
// console.log(allList)
} this.breadList = allList;
} },
immediate: true,
},
},
methods: {
goBack() {
if (window.history.length <= 1) {
this.$router.push({ path: "/" });
return false;
} else {
this.$router.go(-1);
}
},
},
};
</script> </script>
<style scoped>
.breadDiv {
display: flex;
align-items: center;
margin: 0 20px !important;
height: 100%;
}
</style>
...@@ -3,105 +3,158 @@ ...@@ -3,105 +3,158 @@
<div class="cardBox"> <div class="cardBox">
<div class="cardHead"> <div class="cardHead">
<p>消息中心</p> <p>消息中心</p>
<i <i class="el-icon-close" @click="closeMsgPage"></i>
class="el-icon-close" @click="closeMsgPage" </div>
></i> <div style="height: calc(100vh - 100px); overflow-y: auto">
<ul class="conUl">
<li v-for="(item, index) in msgList" :key="item.id">
<div @click="toDetail(item, index)" class="conUl_link">
<div class="conUl_sp0">{{ item.title }}</div>
<div class="conUl_sp1">{{ item.publishTime }}</div>
</div>
</li>
</ul>
</div> </div>
<ul class="conUl">
<li v-for="item in msgList" :key="item.id">
<router-link :to="item.link" class="conUl_link">
<span class="conUl_sp0">{{ item.content }}</span>
<span class="conUl_sp1">{{ item.time }}</span>
</router-link>
</li>
</ul>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { import { listNotice, readNotice } from "@/port/notice/notice";
data() { export default {
return { data() {
msgList: [ return {
{ msgList: [
id: '1', {
content: '优惠券到期提醒', id: "1",
link: '', content: "优惠券到期提醒",
time: '2019-06-01' link: "",
}, time: "2019-06-01",
{ },
id: '2', {
content: '618大促,请查看活动具体信息', id: "2",
link: '', content: "618大促,请查看活动具体信息",
time: '2019-06-02' link: "",
}, time: "2019-06-02",
{ },
id: '3', {
content: '充值成功', id: "3",
link: '', content: "充值成功",
time: '2019-07-02' link: "",
}, time: "2019-07-02",
{ },
id: '4', {
content: '密码充值成功!', id: "4",
link: '', content: "密码充值成功!",
time: '2019-07-02' link: "",
} time: "2019-07-02",
] },
],
};
},
created() {
listNotice('2075eb969356e8bf6f0efa33310e8870377992b2', { type: 1 }).then((res) => {
if (res.status === 200 && res.data.length > 0) {
this.msgList = res.data;
this.$store.commit("app/SET_MSGOPEN");
} }
}, });
methods:{ },
closeMsgPage(){ methods: {
this.$store.commit('app/SET_MSGISOPEN') toDetail(item, index) {
if (!item.isRead) {
let params = {
ancId: item.ancId,
readerType: 1,
readerClientId: '2075eb969356e8bf6f0efa33310e8870377992b2',
readerId: this.$store.getters.nameInfo.userid,
};
readNotice(params).then(() => {
this.msgList.splice(index, 1);
});
} }
} let json = {
} ancId: item.ancId,
clientId: '2075eb969356e8bf6f0efa33310e8870377992b2',
clientType: 1,
searchStr: "",
publishTimeStart: "",
publishTimeEnd: "",
types: "",
issuerEndpoints: "",
isRead: "",
page: {
page: 1,
size: 10,
},
};
sessionStorage.removeItem("noticeinfo");
sessionStorage.setItem("noticeinfo", JSON.stringify(json));
this.$router.push({
path: "/notice/all-notice-detail",
// query:{id:222}
});
this.$store.commit("app/SET_MSGISOPEN");
},
closeMsgPage() {
this.$store.commit("app/SET_MSGISOPEN");
},
},
};
</script> </script>
<style lang="scss"> <style lang="scss">
.cardBox { .notificatBar {
width: 100%; height: calc(100vh - 50px) !important;
.cardHead { top: 50px;
height: 50px; }
padding: 0 20px; .cardBox {
border-bottom: 1px solid #e4e4e4; width: 100%;
line-height: 50px; .cardHead {
p { height: 50px;
font-size: 16px; padding: 0 20px;
border-bottom: 1px solid #e4e4e4;
line-height: 50px;
p {
font-size: 16px;
color: #333;
float: left;
}
i {
float: right;
font-size: 20px;
margin-top: 14px;
color: #b3b3b3;
cursor: pointer;
transition: all 0.2s;
&:hover {
color: #333; color: #333;
float: left;
}
i {
float: right;
font-size: 20px;
margin-top: 14px;
color: #b3b3b3;
cursor: pointer;
transition: all 0.2s;
&:hover {
color: #333;
}
} }
} }
} }
.conUl { }
li { .conUl {
height: 50px; li {
line-height: 50px; height: 50px;
.conUl_link {
display: block; .conUl_link {
margin: 0 20px; display: flex;
height: 100%; margin: 0 20px;
border-bottom: 1px solid #e4e4e4; height: 100%;
} align-items: center;
.conUl_sp0 { justify-content: space-between;
font-size: 14px;
} border-bottom: 1px solid #e4e4e4;
.conUl_sp1 { }
font-size: 12px; .conUl_sp0 {
color: #b3b3b3; font-size: 14px;
float: right; flex: 1;
} overflow: hidden;
}
.conUl_sp1 {
font-size: 12px;
color: #b3b3b3;
// flex: 1;
} }
} }
}
</style> </style>
...@@ -404,7 +404,11 @@ export function getThisorderInfo(data, u, platformId) { ...@@ -404,7 +404,11 @@ export function getThisorderInfo(data, u, platformId) {
const url = (u ? u : targetBaseUrl) + '/xoado/order/select' const url = (u ? u : targetBaseUrl) + '/xoado/order/select'
return post(url, data, platformId) return post(url, data, platformId)
} }
/* 多条件查询订单列表 */
export function againGenerateOrder(data, u, platformId) {
const url = (u ? u : targetBaseUrl) + `/xoado/order/againGenerate/${data}`
return get(url)
}
/* 多条件导出订单列表 */ /* 多条件导出订单列表 */
export function exportAllOrderList(data, u, platformId) { export function exportAllOrderList(data, u, platformId) {
const url = (u ? u : targetBaseUrl) + '/xoado/order/export' const url = (u ? u : targetBaseUrl) + '/xoado/order/export'
......
...@@ -6,13 +6,13 @@ ...@@ -6,13 +6,13 @@
*/ */
const state = { const state = {
opened: sessionStorage.getItem('open') opened: sessionStorage.getItem('open') ?
? sessionStorage.getItem('open') sessionStorage.getItem('open') :
: 'false', 'false',
msgIsShow: false, msgIsShow: false,
showDriver: localStorage.getItem('driver') showDriver: localStorage.getItem('driver') ?
? localStorage.getItem('driver') localStorage.getItem('driver') :
: 'yes' 'yes'
} }
const mutations = { const mutations = {
SET_OPENED(state, payload) { SET_OPENED(state, payload) {
...@@ -22,6 +22,9 @@ const mutations = { ...@@ -22,6 +22,9 @@ const mutations = {
SET_MSGISOPEN(state) { SET_MSGISOPEN(state) {
state.msgIsShow = !state.msgIsShow state.msgIsShow = !state.msgIsShow
}, },
SET_MSGOPEN(state) {
state.msgIsShow = true;
},
SET_DRIVER(state, payload) { SET_DRIVER(state, payload) {
state.showDriver = payload state.showDriver = payload
localStorage.setItem('driver', payload) localStorage.setItem('driver', payload)
...@@ -31,4 +34,4 @@ export default { ...@@ -31,4 +34,4 @@ export default {
namespaced: true, namespaced: true,
state, state,
mutations mutations
} }
\ No newline at end of file
...@@ -275,7 +275,7 @@ export default { ...@@ -275,7 +275,7 @@ export default {
this.$message.error('请选择公告类型'); this.$message.error('请选择公告类型');
return {}; return {};
} }
if(form1.objType === 0) { if(form1.objType === "") {
this.$message.error('请选择通知对象类别'); this.$message.error('请选择通知对象类别');
return {} return {}
} }
......
...@@ -102,7 +102,6 @@ ...@@ -102,7 +102,6 @@
</div> </div>
<div> <div>
<editor <editor
:disabled="form2.content.radio === '1'"
v-model="form2.content.htl" v-model="form2.content.htl"
apiKey="5c2abaeq2ka05zdkugo4mkr0gq63ykd1e6d99csrwohn9xlz" apiKey="5c2abaeq2ka05zdkugo4mkr0gq63ykd1e6d99csrwohn9xlz"
:init="{ :init="{
...@@ -329,7 +328,12 @@ export default { ...@@ -329,7 +328,12 @@ export default {
}, },
successUpload(response, file, fileList) { successUpload(response, file, fileList) {
if (file.response.status === 200) { if (file.response.status === 200) {
this.form2.enclosure.push(file); var arr = {
fileName: file.response.data[0].name,
fileUrl: file.response.data[0].url,
};
this.form2.enclosure.push(arr);
} }
}, },
changeObjType() { changeObjType() {
...@@ -356,6 +360,7 @@ export default { ...@@ -356,6 +360,7 @@ export default {
preParams(flag) { preParams(flag) {
let form1 = this.form1; let form1 = this.form1;
let form2 = this.form2; let form2 = this.form2;
if (form1.dateData.length === 0) { if (form1.dateData.length === 0) {
this.$message.error("请选择有效时间段"); this.$message.error("请选择有效时间段");
return {}; return {};
...@@ -427,7 +432,7 @@ export default { ...@@ -427,7 +432,7 @@ export default {
if (this.form2.enclosure.length > 0) { if (this.form2.enclosure.length > 0) {
params["attachments"] = this.form2.enclosure.map((item) => { params["attachments"] = this.form2.enclosure.map((item) => {
return { fileName: item.name, fileUrl: item.response.data[0].url }; return { fileName: item.fileName, fileUrl: item.fileUrl };
}); });
} else { } else {
params["attachments"] = []; params["attachments"] = [];
...@@ -459,12 +464,12 @@ export default { ...@@ -459,12 +464,12 @@ export default {
params["isDraft"] = flag; params["isDraft"] = flag;
editNotice(params).then((res) => { editNotice(params).then((res) => {
if (res.status === 200) { if (res.status === 200) {
if (flag) { if (!flag) {
this.$message.success("发布成功"); this.$message.success("发布成功");
this.$router.go(-1); this.$router.push("/notice/push-notice-list");
} else { } else {
this.$message.success("已存为草稿"); this.$message.success("已存为草稿");
this.$router.push("/notice/push-notice-list"); this.$router.go(-1);
} }
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
start-placeholder="起始时间" start-placeholder="起始时间"
:picker-options="pickerOptions" :picker-options="pickerOptions"
end-placeholder="终止时间" end-placeholder="终止时间"
@change="DateChange($event)"
> >
</el-date-picker> </el-date-picker>
</el-col> </el-col>
...@@ -257,9 +257,30 @@ export default { ...@@ -257,9 +257,30 @@ export default {
}); });
}, },
handledbClick(item) { handledbClick(item) {
let time = this.selectInfo.timeList || [];
let json = {
ancId: item.ancId,
clientId: '2075eb969356e8bf6f0efa33310e8870377992b2',
clientType: 1,
searchStr: this.selectInfo.searchName,
publishTimeStart: time.length > 0 ? time[0] : "",
publishTimeEnd: time.length > 0 ? time[1] : "",
types: this.selectInfo.selectType,
issuerEndpoints: this.selectInfo.issuerEndpoints,
isRead: this.selectInfo.isRead,
page: {
page: this.page,
size: this.size,
},
};
sessionStorage.setItem("noticeinfo", JSON.stringify(json));
this.$router.push({
path: "/notice/push-notice-detail",
});
this.$router.push({ this.$router.push({
path: "/notice/push-notice-detail", path: "/notice/push-notice-detail",
query: { ancId: item.ancId }, // query: { ancId: item.ancId },
}); });
}, },
getTypeNameByType(id) { getTypeNameByType(id) {
...@@ -279,6 +300,7 @@ export default { ...@@ -279,6 +300,7 @@ export default {
}, },
searchInfo() { searchInfo() {
this.page = 1; this.page = 1;
this.total=0;
this.getTableList(); this.getTableList();
}, },
pushNotice() { pushNotice() {
...@@ -304,7 +326,7 @@ export default { ...@@ -304,7 +326,7 @@ export default {
}; };
this.tableLoading = true; this.tableLoading = true;
this.data = []; this.data = [];
this.total = 0;
listManage(params) listManage(params)
.then((res) => { .then((res) => {
if (res.status === 200) { if (res.status === 200) {
......
...@@ -39,8 +39,55 @@ ...@@ -39,8 +39,55 @@
</div> </div>
</el-card> </el-card>
</div> </div>
<el-card
class="box-card"
style="margin-top: 10px; display: flex"
v-if="inputStatus"
>
<div class="clearfix">
<span class="title">订单运维管理</span>
<div>
<el-button type="danger" size="mini" @click="cancelOrder()"
>取消订单
</el-button>
<!-- v-if="dataSource.status * 1 < 3" -->
<el-button
type="primary"
size="mini"
@click="driverInfo()"
v-if="!!dataSource.driverId"
>同步司机信息
</el-button>
<!-- v-if="
dataSource.status * 1 == 2 || dataSource.status * 1 == 1
" -->
<el-button type="warning" size="mini" @click="finishOrder()"
>强制完单
</el-button>
<!-- v-if="
dataSource.status * 1 < 6 && dataSource.status * 1 >= 1
" -->
<el-button type="warning" size="mini" @click="setpaystatus"
>更改支付状态
</el-button>
<el-button type="warning" size="mini" @click="againGenerate"
>重新生成账单
</el-button>
<!-- v-if="
dataSource.status * 1 >= 6 &&
(dataSource.orderSource * 1 == 6 ||
dataSource.orderSource * 1 == 4 ||
dataSource.orderSource * 1 == 7)
" -->
<!-- orderSource=6 4 7 -->
<!-- 完单 未支付 自营 -->
<!-- <span v-html="renderfun(dataSource)"></span> -->
</div>
</div>
</el-card>
<div v-if="inputStatus"> <div v-if="inputStatus">
<el-row style="padding: 10px 10px 0"> <el-row>
<el-button <el-button
type="primary" type="primary"
@click="() => (dialogVisible = true)" @click="() => (dialogVisible = true)"
...@@ -362,40 +409,6 @@ ...@@ -362,40 +409,6 @@
<el-card class="box-card"> <el-card class="box-card">
<div class="clearfix"> <div class="clearfix">
<span class="title">订单详情</span> <span class="title">订单详情</span>
<div>
<el-button type="danger" size="mini" @click="cancelOrder()"
>取消订单
</el-button>
<!-- v-if="dataSource.status * 1 < 3" -->
<el-button
type="primary"
size="mini"
@click="driverInfo()"
v-if="!!dataSource.driverId"
>同步司机信息
</el-button>
<!-- v-if="
dataSource.status * 1 == 2 || dataSource.status * 1 == 1
" -->
<el-button type="warning" size="mini" @click="finishOrder()"
>强制完单
</el-button>
<!-- v-if="
dataSource.status * 1 < 6 && dataSource.status * 1 >= 1
" -->
<el-button type="warning" size="mini" @click="setpaystatus"
>更改支付状态
</el-button>
<!-- v-if="
dataSource.status * 1 >= 6 &&
(dataSource.orderSource * 1 == 6 ||
dataSource.orderSource * 1 == 4 ||
dataSource.orderSource * 1 == 7)
" -->
<!-- orderSource=6 4 7 -->
<!-- 完单 未支付 自营 -->
<!-- <span v-html="renderfun(dataSource)"></span> -->
</div>
</div> </div>
<div> <div>
<ul class="table-info"> <ul class="table-info">
...@@ -735,6 +748,7 @@ import { ...@@ -735,6 +748,7 @@ import {
deviceTrajectory, deviceTrajectory,
OrderDetailsSelect, OrderDetailsSelect,
soundRecording, soundRecording,
againGenerateOrder,
} from "@/port/set-request"; } from "@/port/set-request";
import { platformInfosList } from "@/port/platfrom/setting"; import { platformInfosList } from "@/port/platfrom/setting";
import { import {
...@@ -743,6 +757,7 @@ import { ...@@ -743,6 +757,7 @@ import {
pushDriver, pushDriver,
getpayInfo, getpayInfo,
paymentchannel, paymentchannel,
} from "@/port/orderOperation"; } from "@/port/orderOperation";
import maps from "./maps"; import maps from "./maps";
import CopyIcon from "./components/CopyIcon"; import CopyIcon from "./components/CopyIcon";
...@@ -834,8 +849,6 @@ export default { ...@@ -834,8 +849,6 @@ export default {
brandUrl: JSON.parse(this.platformInfo).brandUrl, brandUrl: JSON.parse(this.platformInfo).brandUrl,
platformId: JSON.parse(this.platformInfo).platformId, platformId: JSON.parse(this.platformInfo).platformId,
}; };
console.log(JSON.stringify(this.platformInfo));
console.log(json);
this.getOrderInfo(json); this.getOrderInfo(json);
this.seeLeftLog(json); this.seeLeftLog(json);
}, },
...@@ -844,9 +857,9 @@ export default { ...@@ -844,9 +857,9 @@ export default {
this.finishStatus = true; this.finishStatus = true;
}, },
updataBatch() { updataBatch() {
let brandUrl=JSON.parse(this.platformInfo).brandUrl; let brandUrl = JSON.parse(this.platformInfo).brandUrl;
let json = [{ orderid: this.finishdata.orderId, status: 6 }]; let json = [{ orderid: this.finishdata.orderId, status: 6 }];
updateBatchOrder(brandUrl,json).then((res) => { updateBatchOrder(brandUrl, json).then((res) => {
if (res.status == 200) { if (res.status == 200) {
this.finishStatus = false; this.finishStatus = false;
this.$message({ this.$message({
...@@ -866,6 +879,29 @@ export default { ...@@ -866,6 +879,29 @@ export default {
this.driverdata = this.dataSource; this.driverdata = this.dataSource;
this.driverStatus = true; this.driverStatus = true;
}, },
againGenerate(){
let obj = {
orderId: this.orderid,
brandUrl: JSON.parse(this.platformInfo).brandUrl,
platformId: JSON.parse(this.platformInfo).platformId,
}
againGenerateOrder([obj.orderId], obj.brandUrl, obj.platformId).then((res) => {
if (res.status == 200) {
this.finishStatus = false;
this.$message({
type: "success",
message: "操作成功!",
});
this.Inquire();
} else {
this.$message({
type: "error",
message: res.msg,
});
}
});
},
setpaystatusBtn() { setpaystatusBtn() {
var pattern = /^[A-Za-z0-9_]{32}/; var pattern = /^[A-Za-z0-9_]{32}/;
...@@ -941,23 +977,21 @@ export default { ...@@ -941,23 +977,21 @@ export default {
}) })
.then(() => { .then(() => {
// 取消订单 // 取消订单
let brandUrl = JSON.parse(this.platformInfo).brandUrl; let brandUrl = JSON.parse(this.platformInfo).brandUrl;
CancelOrder(brandUrl,this.orderid).then( CancelOrder(brandUrl, this.orderid).then((res) => {
(res) => { if (res.status == 200) {
if (res.status == 200) { this.$message({
this.$message({ type: "success",
type: "success", message: "操作成功!",
message: "操作成功!", });
}); this.Inquire();
this.Inquire(); } else {
} else { this.$message({
this.$message({ type: "error",
type: "error", message: res.msg,
message: res.msg, });
});
}
} }
); });
}) })
.catch(() => { .catch(() => {
this.$message({ this.$message({
...@@ -1012,7 +1046,6 @@ export default { ...@@ -1012,7 +1046,6 @@ export default {
}, },
getOrderInfo(obj) { getOrderInfo(obj) {
this.dataSource = null; this.dataSource = null;
console.log(obj);
getThisorderInfo([obj.orderId], obj.brandUrl, obj.platformId).then( getThisorderInfo([obj.orderId], obj.brandUrl, obj.platformId).then(
(res) => { (res) => {
if (res.status == 200) { if (res.status == 200) {
...@@ -1070,6 +1103,8 @@ export default { ...@@ -1070,6 +1103,8 @@ export default {
this.getTraceLine(); this.getTraceLine();
} }
this.driverInfoFun(obj); this.driverInfoFun(obj);
} else {
this.$message.error(res.msg);
} }
} }
); );
......
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