Commit 5646dcac authored by 张俊's avatar 张俊

Merge branch 'dev' of https://cloud.wodcloud.com/git/apaas/apaas-v3-ui into dev

parents 36614020 c5befc33
...@@ -32,7 +32,7 @@ pipeline: ...@@ -32,7 +32,7 @@ pipeline:
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-k8s/node-arm64:14.5.0-buster-slim base: registry.cn-qingdao.aliyuncs.com/wod-k8s/node-arm64:14.5.0-buster-slim
repo: wod/apaas/apaas-v3-ui-arm64 repo: wod/apaas/apaas-ui-arm64
version: "v3.0.0" version: "v3.0.0"
channel: alpha channel: alpha
registry: registry.cn-qingdao.aliyuncs.com registry: registry.cn-qingdao.aliyuncs.com
...@@ -48,7 +48,7 @@ pipeline: ...@@ -48,7 +48,7 @@ pipeline:
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-k8s/node-arm64:14.5.0-buster-slim base: registry.cn-qingdao.aliyuncs.com/wod-k8s/node-arm64:14.5.0-buster-slim
repo: wod/apaas/apaas-v3-ui-arm64 repo: wod/apaas/apaas-ui-arm64
version: "v3.0.0" version: "v3.0.0"
registry: registry.cn-qingdao.aliyuncs.com registry: registry.cn-qingdao.aliyuncs.com
secrets: secrets:
......
...@@ -35,8 +35,8 @@ pipeline: ...@@ -35,8 +35,8 @@ pipeline:
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0.0 base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0.0
repo: apaas/apaas-v3-ui repo: apaas/apaas-ui
version: 1.0.0 version: "v3.0.0"
channel: alpha channel: alpha
registry: hub.wodcloud.com registry: hub.wodcloud.com
when: when:
...@@ -46,16 +46,16 @@ pipeline: ...@@ -46,16 +46,16 @@ pipeline:
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0.0 base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0.0
repo: apaas/apaas-v3-ui repo: apaas/apaas-ui
version: 1.0.0 version: "v3.0.0"
registry: hub.wodcloud.com registry: hub.wodcloud.com
when: when:
branch: master branch: master
deploy: deploy:
image: registry.cn-qingdao.aliyuncs.com/wod-devops/kubernetes:1.0 image: registry.cn-qingdao.aliyuncs.com/wod-devops/kubernetes:1.0
namespace: apaas-v3 namespace: apaas-v3
deployment: apaas-v3-ui deployment: apaas-ui
container: apaas-v3-ui container: apaas-ui
registry: hub.wodcloud.com registry: hub.wodcloud.com
branches: [master,dev] branches: [master,dev]
...@@ -93,12 +93,12 @@ ...@@ -93,12 +93,12 @@
<div class="approval_status_btn" slot="reference">服务评价</div> <div class="approval_status_btn" slot="reference">服务评价</div>
</el-popover> </el-popover>
<div <div
v-else-if="cellItem.approval_second_level == 1 && cellItem.pay_status != -1 && cellItem.is_estimated == 1 && !showMsgBox" v-else-if="cellItem.order_type != 3 && cellItem.approval_second_level == 1 && cellItem.pay_status != -1 && cellItem.is_estimated == 1 && !showMsgBox"
class="approval_status_btn" class="approval_status_btn"
@click="getMessage" @click="getMessage"
>查看评价</div> >查看评价</div>
<div <div
v-else-if="cellItem.approval_second_level == 1 && cellItem.pay_status != -1 && cellItem.is_estimated == 1 && showMsgBox" v-else-if="cellItem.order_type != 3 && cellItem.approval_second_level == 1 && cellItem.pay_status != -1 && cellItem.is_estimated == 1 && showMsgBox"
class="approval_status_btn" class="approval_status_btn"
@click="showMsgBox = false" @click="showMsgBox = false"
>收起评价</div> >收起评价</div>
......
...@@ -75,12 +75,10 @@ export default { ...@@ -75,12 +75,10 @@ export default {
}, },
mounted() { mounted() {
window.onresize = ()=>{ window.addEventListener("resize", this.pageResize);
this.pageResize();
}
}, },
destroyed(){ destroyed(){
window.onresize = null; window.removeEventListener("resize", this.pageResize);
}, },
methods: { methods: {
openflag_func(){ openflag_func(){
......
<template>
<div ref="container" class="show_more_filter">
<slot></slot>
<a
v-if="showBtn"
class="show_more_btn"
:style="{
left: btnLeft,
}"
@click="toggle"
>
更多检索
<i
data-v-3b31b76f=""
:class="showMore ? 'el-icon-caret-top' : 'el-icon-caret-bottom'"
></i>
</a>
</div>
</template>
<script>
export default {
data() {
return {
showBtn: false,
showMore: false,
btnLeft: 0,
};
},
mounted() {
this.resize();
window.addEventListener("resize", this.resize);
},
destroyed() {
window.removeEventListener("resize", this.resize);
},
methods: {
resize() {
this.$nextTick(() => {
let container = this.$refs.container;
let containerWidth = container.getBoundingClientRect().width - 80;
let filters = container.querySelectorAll(".filter_item");
let totalWidth = 0;
let wrapFlag = false;
this.showBtn = false;
filters.forEach((filter, index) => {
filter.style.display = "inline-block";
let filterWidth =
Math.ceil(filter.getBoundingClientRect().width) + 15;
totalWidth += filterWidth;
if (totalWidth > containerWidth) {
this.showBtn = true;
if (!wrapFlag) {
this.btnLeft = totalWidth - filterWidth + 5 + "px";
wrapFlag = true;
}
console.log(totalWidth, containerWidth, this.btnLeft);
filter.style.display = this.showMore ? "inline-block" : "none";
} else {
filter.style.display = "inline-block";
}
});
});
},
toggle() {
this.showMore = !this.showMore;
this.resize();
},
},
};
</script>
<style scoped>
.show_more_filter {
position: relative;
padding-right: 80px;
}
.show_more_btn {
position: absolute;
top: 25px;
font-size: 14px;
line-height: 20px;
color: #8890a7;
cursor: pointer;
user-select: none;
}
</style>
<template> <template>
<div class="index_container"> <div class="index_container">
<div class="decor" v-if="$route.fullPath == '/workplace' || $route.fullPath == '/services_shop' || $route.fullPath == '/fwzc/fwcs' || $route.fullPath == '/app_build'"></div> <div class="decor" v-if="$route.fullPath == '/workplace' || $route.fullPath == '/services_shop' || $route.fullPath == '/fwzc/fwcs' || $route.fullPath == '/app_build' || $route.fullPath == '/intelligent_drawing'"></div>
<router-view/> <router-view/>
</div> </div>
</template> </template>
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<template slot="top"> <template slot="top">
<div class="top_fliter"> <div class="top_fliter">
<div class="filter_list"> <show-more-filter class="filter_list">
<div class="filter_item"> <div class="filter_item">
<span class="filter_title">banner搜索:</span> <span class="filter_title">banner搜索:</span>
<el-input <el-input
...@@ -61,7 +61,7 @@ ...@@ -61,7 +61,7 @@
> >
</el-date-picker> </el-date-picker>
</div> </div>
</div> </show-more-filter>
<div class="filter_action apass_button"> <div class="filter_action apass_button">
<el-button type="primary" @click="topFilterAction"> <el-button type="primary" @click="topFilterAction">
查询 查询
...@@ -90,11 +90,13 @@ ...@@ -90,11 +90,13 @@
import helper from "@/services/helper.js"; import helper from "@/services/helper.js";
import apassList from "@/components/apass-list"; import apassList from "@/components/apass-list";
import apassDialog from "@/components/apass-dialog"; import apassDialog from "@/components/apass-dialog";
import showMoreFilter from "@/components/show-more-filter";
export default { export default {
components: { components: {
apassList, apassList,
apassDialog, apassDialog,
showMoreFilter,
}, },
data: () => ({ data: () => ({
listHeader: [], listHeader: [],
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<template slot="top"> <template slot="top">
<div class="top_fliter"> <div class="top_fliter">
<div class="filter_list"> <show-more-filter class="filter_list">
<div class="filter_item"> <div class="filter_item">
<span class="filter_title">消息模板名称:</span> <span class="filter_title">消息模板名称:</span>
<el-input <el-input
...@@ -32,8 +32,9 @@ ...@@ -32,8 +32,9 @@
<span class="filter_title">状态:</span> <span class="filter_title">状态:</span>
<el-select v-model="topFilter.state" placeholder="请选择"> <el-select v-model="topFilter.state" placeholder="请选择">
<el-option label="全部" value=""> </el-option> <el-option label="全部" value=""> </el-option>
<el-option label="推送成功" value="1"> </el-option> <el-option label="推送成功" value="success"> </el-option>
<el-option label="推送失败" value="0"> </el-option> <el-option label="推送失败" value="fail"> </el-option>
<el-option label="推送中" value="pushing"> </el-option>
</el-select> </el-select>
</div> </div>
<div class="filter_item"> <div class="filter_item">
...@@ -48,7 +49,7 @@ ...@@ -48,7 +49,7 @@
> >
</el-date-picker> </el-date-picker>
</div> </div>
</div> </show-more-filter>
<div class="filter_action apass_button"> <div class="filter_action apass_button">
<el-button type="primary" @click="topFilterAction"> <el-button type="primary" @click="topFilterAction">
查询 查询
...@@ -67,13 +68,78 @@ ...@@ -67,13 +68,78 @@
<apass-dialog <apass-dialog
ref="dialog" ref="dialog"
:msg="dialogInfo.msg" width="800"
:cancel-text="dialogInfo.cancelText" title="查看"
:cancel-type="dialogInfo.cancelType" @cancel="cancelAction"
:cancel="dialogInfo.cancel" @submit="submitAction"
:sunbmit-text="dialogInfo.sunbmitText" >
:submit="dialogInfo.submit" <div class="detail_dialog" slot="content" v-if="templateDetail">
></apass-dialog> <div class="detail_item">
<p class="item_title">
消息模板名称:
</p>
<p class="item_content">
{{ templateDetail.tpl_name }}
</p>
</div>
<div class="detail_item">
<p class="item_title">
模板类型:
</p>
<p class="item_content">
{{ templateDetail.tpl_type }}
</p>
</div>
<div class="detail_item full_line">
<p class="item_title">
消息详情:
</p>
<div class="full_content">
<div class="apass_scroll">
<p class="item_content">
{{ templateDetail.contents }}
</p>
</div>
</div>
</div>
<div class="detail_item full_line">
<p class="item_title">
目标用户:
</p>
<div class="full_content">
<div class="apass_scroll">
<p class="item_content">
{{ templateDetail.receive_user }}
</p>
</div>
</div>
</div>
<div class="detail_item">
<p class="item_title">
推送时间:
</p>
<p class="item_content">
{{ templateDetail.push_time }}
</p>
</div>
<div class="detail_item">
<p class="item_title">
推送状态:
</p>
<p class="item_content">
{{ templateDetail.state }}
</p>
</div>
<div class="detail_item">
<p class="item_title">
推送流水号:
</p>
<p class="item_content">
{{ templateDetail.id }}
</p>
</div>
</div>
</apass-dialog>
</div> </div>
</template> </template>
...@@ -81,11 +147,13 @@ ...@@ -81,11 +147,13 @@
import helper from "@/services/helper.js"; import helper from "@/services/helper.js";
import apassList from "@/components/apass-list"; import apassList from "@/components/apass-list";
import apassDialog from "@/components/apass-dialog"; import apassDialog from "@/components/apass-dialog";
import showMoreFilter from "@/components/show-more-filter";
export default { export default {
components: { components: {
apassList, apassList,
apassDialog, apassDialog,
showMoreFilter,
}, },
data: () => ({ data: () => ({
listHeader: [], listHeader: [],
...@@ -105,6 +173,7 @@ export default { ...@@ -105,6 +173,7 @@ export default {
push_time: "", push_time: "",
}, },
tempFilter: null, tempFilter: null,
templateDetail: null,
}), }),
created() { created() {
this.listHeader = [ this.listHeader = [
...@@ -113,40 +182,37 @@ export default { ...@@ -113,40 +182,37 @@ export default {
prop: "state", prop: "state",
type: "image-tooltip", type: "image-tooltip",
getImage(item) { getImage(item) {
return item.state == 1 return [
? require("@/assets/imgs/ic_true.png") require("@/assets/imgs/ic_failed.png"),
: require("@/assets/imgs/ic_failed.png"); require("@/assets/imgs/ic_true.png"),
require("@/assets/imgs/ic_pushing.png"),
][item.state || 0];
}, },
getTooltip(item) { getTooltip(item) {
return item.state == 1 ? "推送成功" : "推送失败"; return ["推送失败", "推送成功", "推送中"][item.state || 0];
}, },
align: "center", align: "center",
width: 60, width: 60,
}, },
{ {
label: "推送流水号", label: "推送流水号",
prop: "push_num", prop: "id",
width: 240, width: 240,
}, },
{ {
label: "消息模板名称", label: "消息模板名称",
prop: "name", prop: "tpl_name",
type: "button", type: "button",
callback: this.detailAction, callback: this.detailAction,
width: 300, width: 300,
}, },
{ {
label: "消息详情", label: "消息详情",
prop: "detail", prop: "contents",
}, },
{ {
label: "接收用户", label: "接收用户",
prop: "users", prop: "receive_user",
getText(item) {
let users = item.users || [];
return users.join("");
},
width: 300, width: 300,
}, },
{ {
...@@ -163,122 +229,25 @@ export default { ...@@ -163,122 +229,25 @@ export default {
}, },
methods: { methods: {
initList(filter) { initList(filter) {
let fullFilter = { let params = {
...filter, page: filter.page,
...this.topFilter, size: filter.size,
tplname: this.topFilter.name,
state: this.topFilter.state,
time_s: (this.topFilter.push_time && this.topFilter.push_time[0]) || "",
time_e: (this.topFilter.push_time && this.topFilter.push_time[1]) || "",
}; };
this.tempFilter = filter; // filter存档,用于页面刷新 // console.log(params);
console.log(fullFilter);
this.listTotal = 55; this.tempFilter = filter; // filter存档,用于页面刷新
this.listData = [
{
state: 1,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["张三", "李四", "王五"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 1,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["杨过", "小龙女", "冯宝宝"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 1,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["张三", "李四", "王五"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 0,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["杨过", "小龙女", "冯宝宝"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 0,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["杨过", "小龙女", "冯宝宝"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 1,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["张三", "李四", "王五"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 1,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["杨过", "小龙女", "冯宝宝"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 1,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["张三", "李四", "王五"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 0,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["杨过", "小龙女", "冯宝宝"],
push_time: "2020-07-18T14:25:09+08:00",
},
{
state: 0,
push_num: "propelling2020001",
name: "服务定向推送的消息",
detail:
"亲爱的用户,根据您的服务调用情况,我们向您推荐地图视频融合服务,欢迎使用!",
users: ["杨过", "小龙女", "冯宝宝"],
push_time: "2020-07-18T14:25:09+08:00",
},
];
/* this.$http this.$http
.get("/apaas/service/v3/resource/apply/approveList", { .get("/apaas/service/v3/push/directmsg/list", { params })
params: {
search: filter.keyword,
page: filter.page,
limit: filter.size,
state: filter.state,
},
})
.then(({ data }) => { .then(({ data }) => {
if (data.success == 1) { if (data.success == 1) {
this.listTotal = data.total; this.listTotal = (data.data && data.data.total) || 0;
this.listData = data.data; this.listData = (data.data && data.data.data) || [];
} else { } else {
this.$message({ this.$message({
message: data.errMsg || "获取列表失败", message: data.errMsg || "获取列表失败",
...@@ -288,8 +257,13 @@ export default { ...@@ -288,8 +257,13 @@ export default {
}) })
.catch((error) => { .catch((error) => {
console.log(error); console.log(error);
}); */
}, // TODO: 列表待调试 this.$message({
message: "获取列表失败",
type: "warning",
});
});
},
topFilterAction() { topFilterAction() {
this.initList(this.tempFilter); this.initList(this.tempFilter);
}, },
...@@ -309,7 +283,47 @@ export default { ...@@ -309,7 +283,47 @@ export default {
console.log("新建模板"); console.log("新建模板");
}, },
detailAction(item) { detailAction(item) {
console.log(`查看${item.name}`); this.$http
.get(`/apaas/service/v3/push/directmsg/view/${item.id}`)
.then(({ data }) => {
if (data.success == 1) {
let detail = data.data || {};
this.templateDetail = {
tpl_name: detail.tpl_name || "",
tpl_type: ["", "服务推送", "平台维护", "版本更新", "自动消息"][
detail.tpl_type || 0
],
contents: detail.contents || "",
receive_user: detail.receive_user || "",
push_time: helper.dateStringTransform(detail.push_time || ""),
state: ["推送失败", "推送成功", "推送中"][item.state || 0],
id: detail.id || "",
tpl_id: detail.tpl_id || "",
create_user: detail.create_user || "",
};
this.$refs.dialog.show();
} else {
this.$message({
message: data.errMsg || "获取详情失败",
type: "warning",
});
}
})
.catch((error) => {
console.log(error);
this.$message({
message: "获取详情失败",
type: "warning",
});
});
},
cancelAction() {
this.$refs.dialog.hide();
},
submitAction() {
this.$refs.dialog.hide();
}, },
}, },
}; };
...@@ -319,4 +333,40 @@ export default { ...@@ -319,4 +333,40 @@ export default {
.list_container { .list_container {
height: 100%; height: 100%;
} }
.detail_dialog {
display: flex;
flex-wrap: wrap;
text-align: left;
}
.detail_dialog .detail_item {
flex: 1 1 auto;
width: 50%;
margin-top: 20px;
}
.detail_dialog .detail_item.full_line {
width: 100%;
}
.detail_dialog .detail_item p {
padding: 0 15px;
font-size: 14px;
line-height: 22px;
color: #8890a7;
}
.detail_dialog .detail_item .item_content {
color: #000;
margin-top: 10px;
}
.detail_dialog .detail_item .full_content {
padding: 10px 0;
border-radius: 8px;
background-color: #f8f9fd;
margin-top: 5px;
}
.detail_dialog .detail_item .full_content > .apass_scroll {
height: 176px;
overflow: auto;
}
.detail_dialog .detail_item .full_content .item_content {
margin: 0;
}
</style> </style>
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<template slot="top"> <template slot="top">
<div class="top_fliter"> <div class="top_fliter">
<div class="filter_list"> <show-more-filter class="filter_list">
<div class="filter_item"> <div class="filter_item">
<span class="filter_title">消息模板名称:</span> <span class="filter_title">消息模板名称:</span>
<el-input <el-input
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
> >
</el-date-picker> </el-date-picker>
</div> </div>
</div> </show-more-filter>
<div class="filter_action apass_button"> <div class="filter_action apass_button">
<el-button type="primary" @click="topFilterAction"> <el-button type="primary" @click="topFilterAction">
查询 查询
...@@ -77,11 +77,13 @@ ...@@ -77,11 +77,13 @@
import helper from "@/services/helper.js"; import helper from "@/services/helper.js";
import apassList from "@/components/apass-list"; import apassList from "@/components/apass-list";
import apassDialog from "@/components/apass-dialog"; import apassDialog from "@/components/apass-dialog";
import showMoreFilter from "@/components/show-more-filter";
export default { export default {
components: { components: {
apassList, apassList,
apassDialog, apassDialog,
showMoreFilter,
}, },
data: () => ({ data: () => ({
listHeader: [], listHeader: [],
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<template slot="top"> <template slot="top">
<div class="top_fliter"> <div class="top_fliter">
<div class="filter_list"> <show-more-filter class="filter_list">
<div class="filter_item"> <div class="filter_item">
<span class="filter_title">消息模板搜索:</span> <span class="filter_title">消息模板搜索:</span>
<el-input <el-input
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
> >
</el-date-picker> </el-date-picker>
</div> </div>
</div> </show-more-filter>
<div class="filter_action apass_button"> <div class="filter_action apass_button">
<el-button type="primary" @click="topFilterAction"> <el-button type="primary" @click="topFilterAction">
查询 查询
...@@ -78,11 +78,13 @@ ...@@ -78,11 +78,13 @@
import helper from "@/services/helper.js"; import helper from "@/services/helper.js";
import apassList from "@/components/apass-list"; import apassList from "@/components/apass-list";
import apassDialog from "@/components/apass-dialog"; import apassDialog from "@/components/apass-dialog";
import showMoreFilter from "@/components/show-more-filter";
export default { export default {
components: { components: {
apassList, apassList,
apassDialog, apassDialog,
showMoreFilter,
}, },
data: () => ({ data: () => ({
listHeader: [], listHeader: [],
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<template slot="top"> <template slot="top">
<div class="top_fliter"> <div class="top_fliter">
<div class="filter_list"> <show-more-filter class="filter_list">
<div class="filter_item"> <div class="filter_item">
<span class="filter_title">推荐位名称:</span> <span class="filter_title">推荐位名称:</span>
<el-input <el-input
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
> >
</el-date-picker> </el-date-picker>
</div> </div>
</div> </show-more-filter>
<div class="filter_action apass_button"> <div class="filter_action apass_button">
<el-button type="primary" @click="topFilterAction"> <el-button type="primary" @click="topFilterAction">
查询 查询
...@@ -66,10 +66,12 @@ ...@@ -66,10 +66,12 @@
<script> <script>
import helper from "@/services/helper.js"; import helper from "@/services/helper.js";
import apassList from "@/components/apass-list"; import apassList from "@/components/apass-list";
import showMoreFilter from "@/components/show-more-filter";
export default { export default {
components: { components: {
apassList, apassList,
showMoreFilter,
}, },
data: () => ({ data: () => ({
listHeader: [], listHeader: [],
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</div> </div>
<div class="btn_group"> <div class="btn_group">
<el-popover <el-popover
v-if="orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 && orderDetail.is_estimated == 0" v-if="orderDetail.order_type != 3 && orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 && orderDetail.is_estimated == 0"
placement="right-start" placement="right-start"
width="300" width="300"
v-model="visible" v-model="visible"
...@@ -65,12 +65,12 @@ ...@@ -65,12 +65,12 @@
<el-button class="evaluation" slot="reference">服务评价</el-button> <el-button class="evaluation" slot="reference">服务评价</el-button>
</el-popover> </el-popover>
<el-button <el-button
v-else-if="orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 && orderDetail.is_estimated == 1 && !showMsgBox" v-else-if="orderDetail.order_type != 3 && orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 && orderDetail.is_estimated == 1 && !showMsgBox"
class="approval_status_btn" class="approval_status_btn"
@click="getMessage" @click="getMessage"
>查看评价</el-button> >查看评价</el-button>
<el-button <el-button
v-else-if="orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 && orderDetail.is_estimated == 1 && showMsgBox" v-else-if="orderDetail.order_type != 3 && orderDetail.approval_second_level == 1 && orderDetail.pay_status != -1 && orderDetail.is_estimated == 1 && showMsgBox"
class="approval_status_btn" class="approval_status_btn"
@click="showMsgBox = false" @click="showMsgBox = false"
>收起评价</el-button> >收起评价</el-button>
...@@ -86,6 +86,22 @@ ...@@ -86,6 +86,22 @@
>取消申请</el-button> >取消申请</el-button>
</div> </div>
</div> </div>
<el-collapse-transition>
<div v-if="showMsgBox" class="evaluation_msg">
<div class="msg_title">服务评分:</div>
<div class="msg_rate">
<el-rate
v-model="message.score"
disabled
show-score
text-color="#ff9900"
score-template="{value}"
></el-rate>
</div>
<div class="msg_title">评价详情:</div>
<div class="msg_text">{{ message.content }}</div>
</div>
</el-collapse-transition>
<div class="detail_title">{{ orderDetail.order_type == 1 ? "服务" : "应用"}}信息</div> <div class="detail_title">{{ orderDetail.order_type == 1 ? "服务" : "应用"}}信息</div>
<div class="detail_service"> <div class="detail_service">
<el-row class="detail_service_row"> <el-row class="detail_service_row">
...@@ -456,6 +472,7 @@ export default { ...@@ -456,6 +472,7 @@ export default {
duration_unit: this.cellItem.duration_unit duration_unit: this.cellItem.duration_unit
}; };
} }
window.sessionStorage.setItem("shoppingCart", JSON.stringify(query));
this.$router.push({ this.$router.push({
path: "/shop/shop_car_apply", path: "/shop/shop_car_apply",
query: query query: query
...@@ -478,6 +495,37 @@ export default { ...@@ -478,6 +495,37 @@ export default {
}); });
} }
}); });
},
getMessage() {
if (this.cellItem.order_type == 1) {
this.$api.user
.getServiceEvaluation({ apply_id: this.cellItem.apply_id })
.then(response => {
if (response.data.success == 1) {
this.message = response.data.data;
this.showMsgBox = true;
} else {
this.$message({
message: "获取评价失败",
type: "error"
});
}
});
} else if (this.cellItem.order_type == 2) {
this.$api.user
.getAppEvaluation({ apply_id: this.cellItem.apply_id })
.then(response => {
if (response.data.success == 1) {
this.message = response.data.data;
this.showMsgBox = true;
} else {
this.$message({
message: "获取评价失败",
type: "error"
});
}
});
}
} }
} }
}; };
...@@ -759,6 +807,22 @@ export default { ...@@ -759,6 +807,22 @@ export default {
display: block; display: block;
margin-top: 20px; margin-top: 20px;
} }
.evaluation_msg {
height: 100%;
border-top: 1px #ededed solid;
padding: 20px;
}
.msg_title {
color: #8890a7;
margin: 0 0 10px;
}
.msg_rate {
margin: 0 0 10px 20px;
}
.msg_text {
margin-left: 20px;
color: #242c43;
}
</style> </style>
<style> <style>
.pop_rate .el-rate__icon { .pop_rate .el-rate__icon {
......
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
<el-tab-pane label="个人信息详情" name="0"></el-tab-pane> <el-tab-pane label="个人信息详情" name="0"></el-tab-pane>
<el-tab-pane label="业务系统详情" name="1"></el-tab-pane> <el-tab-pane label="业务系统详情" name="1"></el-tab-pane>
</el-tabs> </el-tabs>
<div v-if="activeName == '0'"> <div v-show="activeName == '0'">
<el-form ref="form" :model="user_data"> <el-form ref="form" :model="user_data" :rules="rules_user">
<el-form-item class="info_item"> <el-form-item class="info_item" prop="accountNo">
<p>账号:</p> <p>账号:</p>
<el-input v-model="user_data.accountNo"></el-input> <el-input v-model="user_data.accountNo"></el-input>
</el-form-item> </el-form-item>
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<el-input type="password" v-model="user_data.password" :disabled="true"></el-input> <el-input type="password" v-model="user_data.password" :disabled="true"></el-input>
<el-button class="option_btn" @click="changePassword">修改密码</el-button> <el-button class="option_btn" @click="changePassword">修改密码</el-button>
</el-form-item> </el-form-item>
<el-form-item class="info_item"> <el-form-item class="info_item" prop="nickname">
<p>昵称:</p> <p>昵称:</p>
<el-input v-model="user_data.nickname"></el-input> <el-input v-model="user_data.nickname"></el-input>
</el-form-item> </el-form-item>
...@@ -35,15 +35,15 @@ ...@@ -35,15 +35,15 @@
@getNewList="getNewList" @getNewList="getNewList"
></upload-file> ></upload-file>
</el-form-item> </el-form-item>
<el-form-item class="info_item"> <el-form-item class="info_item" prop="contactPerson">
<p>联系人:</p> <p>联系人:</p>
<el-input v-model="user_data.contactPerson"></el-input> <el-input v-model="user_data.contactPerson"></el-input>
</el-form-item> </el-form-item>
<el-form-item class="info_item"> <el-form-item class="info_item" prop="phone">
<p>手机号:</p> <p>手机号:</p>
<el-input v-model="user_data.phone"></el-input> <el-input v-model="user_data.phone"></el-input>
</el-form-item> </el-form-item>
<el-form-item class="info_item"> <el-form-item class="info_item" prop="email">
<p>邮箱:</p> <p>邮箱:</p>
<el-input v-model="user_data.email"></el-input> <el-input v-model="user_data.email"></el-input>
</el-form-item> </el-form-item>
...@@ -70,9 +70,9 @@ ...@@ -70,9 +70,9 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div v-if="activeName == '1'"> <div v-show="activeName == '1'">
<el-form ref="formBusiness" :model="formBusiness"> <el-form ref="formBusiness" :model="formBusiness" :rules="rules_bussiness">
<el-form-item class="info_item"> <el-form-item class="info_item" prop="businessSystemName">
<p>业务系统名:</p> <p>业务系统名:</p>
<el-input v-model="formBusiness.businessSystemName"></el-input> <el-input v-model="formBusiness.businessSystemName"></el-input>
</el-form-item> </el-form-item>
...@@ -118,7 +118,7 @@ ...@@ -118,7 +118,7 @@
<el-button class="option_btn" @click="copyKey">复制</el-button> <el-button class="option_btn" @click="copyKey">复制</el-button>
<el-button class="option_btn_gray" @click="resetKey">重置</el-button> <el-button class="option_btn_gray" @click="resetKey">重置</el-button>
</el-form-item> </el-form-item>
<el-form-item class="info_item"> <el-form-item class="info_item" prop="description">
<p>描述:</p> <p>描述:</p>
<el-input type="textarea" :rows="2" v-model="formBusiness.description"></el-input> <el-input type="textarea" :rows="2" v-model="formBusiness.description"></el-input>
</el-form-item> </el-form-item>
...@@ -263,7 +263,37 @@ export default { ...@@ -263,7 +263,37 @@ export default {
newIpWhite: "", newIpWhite: "",
newIpBlack: "", newIpBlack: "",
diaPassWord: false, diaPassWord: false,
upLevelDia: false upLevelDia: false,
rules_user: {
accountNo: [
{ required: true, message: "请输入账号", trigger: "blur" },
{ max: 8, message: "长度请小于8个字符", trigger: "blur" }
],
nickname: [
{ required: true, message: "请输入昵称", trigger: "blur" },
{ max: 8, message: "长度请小于8个字符", trigger: "blur" }
],
contactPerson: [
{ max: 6, message: "长度请小于6个字符", trigger: "blur" }
],
phone: [
{ pattern: /^1[34578]\d{9}$/, message: "请输入正确的手机号码" }
],
email: [
{
pattern: /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[-|_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/,
message: "请输入正确的邮箱"
}
]
},
rules_bussiness: {
businessSystemName: [
{ max: 16, message: "长度请小于16个字符", trigger: "blur" }
],
description: [
{ max: 500, message: "长度请小于500个字符", trigger: "blur" }
]
}
}; };
}, },
mounted() { mounted() {
...@@ -320,42 +350,68 @@ export default { ...@@ -320,42 +350,68 @@ export default {
registe() { registe() {
let query = {}; let query = {};
if (this.activeName == 0) { if (this.activeName == 0) {
console.log(this.user_data, this.imgList); this.$refs["form"].validate(valid => {
query = { if (valid) {
pageType: "personalFile", // this page is user info query = {
user_id: this.user_data.accountNo, pageType: "personalFile", // this page is user info
user_name: this.user_data.nickname, user_id: this.user_data.accountNo,
phone: this.user_data.phone, user_name: this.user_data.nickname,
email: this.user_data.email, phone: this.user_data.phone,
is_admin: this.user_data.userType, email: this.user_data.email,
link_man: this.user_data.contactPerson, is_admin: this.user_data.userType,
picture_path: this.imgList[0] link_man: this.user_data.contactPerson,
}; picture_path: this.imgList[0]
};
this.$api.authority.setUserInfo(query).then(response => {
if (response.data.success == 1) {
this.$message({
message: "修改个人信息成功",
type: "success"
});
this.getUserInfo();
} else {
this.$message({
message: "修改个人信息失败",
type: "error"
});
}
});
} else {
return false;
}
});
} else if (this.activeName == 1) { } else if (this.activeName == 1) {
query = { this.$refs["formBusiness"].validate(valid => {
pageType: "systemFile", // this page is system info console.log(valid);
user_id: this.user_data.accountNo, if (valid) {
system_name: this.formBusiness.businessSystemName, query = {
domain_name: this.formBusiness.domainName, pageType: "systemFile", // this page is system info
ip_whitelist: this.formBusiness.ip_white, user_id: this.user_data.accountNo,
ip_blacklist: this.formBusiness.ip_black, system_name: this.formBusiness.businessSystemName,
description: this.formBusiness.description domain_name: this.formBusiness.domainName,
}; ip_whitelist: this.formBusiness.ip_white,
ip_blacklist: this.formBusiness.ip_black,
description: this.formBusiness.description
};
this.$api.authority.setUserInfo(query).then(response => {
if (response.data.success == 1) {
this.$message({
message: "修改个人信息成功",
type: "success"
});
this.getUserInfo();
} else {
this.$message({
message: "修改个人信息失败",
type: "error"
});
}
});
} else {
return false;
}
});
} }
this.$api.authority.setUserInfo(query).then(response => {
if (response.data.success == 1) {
this.$message({
message: "修改个人信息成功",
type: "success"
});
this.getUserInfo();
} else {
this.$message({
message: "修改个人信息失败",
type: "error"
});
}
});
}, },
changePassword() { changePassword() {
this.diaPassWord = true; this.diaPassWord = true;
......
<template>
<div class="intelligent_drawing-container">
<div class="apass_breadcrumb">
<el-breadcrumb separator="/">
<el-breadcrumb-item>在线组件工具</el-breadcrumb-item>
<el-breadcrumb-item>智能制图</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div class="main-container"></div>
</div>
</template>
<script>
export default {
data() {
return {};
},
mounted() {},
methods: {},
};
</script>
<style scoped>
.intelligent_drawing-container {
margin: -157px 40px 20px;
}
.main-container {
min-height: calc(100vh - 150px - 43px);
border-radius: 12px;
background-color: #fff;
padding: 30px;
}
</style>
<style>
.intelligent_drawing-container .apass_breadcrumb {
padding: 0 20px;
}
.intelligent_drawing-container .apass_breadcrumb > .el-breadcrumb .el-breadcrumb__inner {
color: #626de9;
}
.intelligent_drawing-container
.apass_breadcrumb
> .el-breadcrumb
.el-breadcrumb__item:last-child
.el-breadcrumb__inner {
color: #b4c0f5;
}
</style>
...@@ -965,7 +965,7 @@ export default { ...@@ -965,7 +965,7 @@ export default {
pic: require("@/assets/imgs/home_tool_ic_znht.png"), pic: require("@/assets/imgs/home_tool_ic_znht.png"),
bg: "#e5f4fe", bg: "#e5f4fe",
color: "#38aef9", color: "#38aef9",
url: "https://apaasgis.wodcloud.com/portal/geoplat/viewer/mapViewer.html", url: "https://apaasgis.wodcloud.com/portal/nologoplat/viewer/mapViewer.html",
target: 1 target: 1
}, },
{ {
...@@ -985,7 +985,7 @@ export default { ...@@ -985,7 +985,7 @@ export default {
pic: require("@/assets/imgs/home_tool_ic_lcsj.png"), pic: require("@/assets/imgs/home_tool_ic_lcsj.png"),
bg: "#e6ebfe", bg: "#e6ebfe",
color: "#515fe7", color: "#515fe7",
url: "https://apaas.wodcloud.com/lcgl/index.html#/", url: "https://apaas-nologo.wodcloud.com/lcgl/index.html#/",
target: 1 target: 1
}, },
{ {
......
...@@ -11,7 +11,7 @@ const user = { ...@@ -11,7 +11,7 @@ const user = {
return axios.get(`/apaas/serviceapp/v3/order/domains`); return axios.get(`/apaas/serviceapp/v3/order/domains`);
}, },
delOrder(params) { delOrder(params) {
return axios.delete(`/order/del?order_id=${params.id}`); return axios.delete(`/apaas/serviceapp/v3/order/del?order_id=${params.id}`);
}, },
addServiceEvaluation(params) { addServiceEvaluation(params) {
return axios.post(`/apaas/serviceapp/v3/order/estimate`, params); return axios.post(`/apaas/serviceapp/v3/order/estimate`, params);
...@@ -35,7 +35,7 @@ const user = { ...@@ -35,7 +35,7 @@ const user = {
return axios.get(`/apaas/serviceapp/v3/order/approval?apply_id=${params.apply_id}&kind=${params.kind}`); return axios.get(`/apaas/serviceapp/v3/order/approval?apply_id=${params.apply_id}&kind=${params.kind}`);
}, },
cancelOrder(params) { cancelOrder(params) {
return axios.delete(`/order/cancel?order_id=${params.order_id}`); return axios.delete(`/apaas/serviceapp/v3/order/cancel?order_id=${params.order_id}`);
}, },
// user info // user info
......
...@@ -237,6 +237,11 @@ export default new Router({ ...@@ -237,6 +237,11 @@ export default new Router({
name: "app_build", name: "app_build",
component: () => import("@/pages/workbench/app_build"), component: () => import("@/pages/workbench/app_build"),
}, // 应用构建(镜像形式) }, // 应用构建(镜像形式)
{
path: "/intelligent_drawing",
name: "intelligent_drawing",
component: () => import("@/pages/workbench/intelligent_drawing"),
}, // 智能制图
{ {
path: "/user", // 个人中心 path: "/user", // 个人中心
name: "user", name: "user",
......
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