Commit 14de8ffc authored by 张俊's avatar 张俊

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

parents a0e27297 41b9ecc6
<template> <template>
<div class="com_card"> <div class="com_card">
<img <div class="com_card_top">
src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png" <img
class="com_card_img" src="https://shadow.elemecdn.com/app/element/hamburger.9cf7b091-55e9-11e9-a976-7f4d0b07eef6.png"
/> class="com_card_img"
/>
<div class="com_card_name_v">
<div class="com_card_msg_name">ApaasApaasApaasApaas</div>
<div class="com_card_msg_version">v1.876</div>
</div>
</div>
<div class="com_card_msg">
<div class="com_card_msg_tit">
<img :src="require('@/assets/imgs/icon_shijian.png')" />&nbsp;上线时间
</div>
<div class="com_card_msg_num">2019-12-04</div>
</div>
<div class="com_card_msg"> <div class="com_card_msg">
<div class="com_card_msg_name">ApaasApaas</div> <div class="com_card_msg_tit">
<div class="com_card_msg_version">v1.876</div> <img :src="require('@/assets/imgs/icon_huoqu1.png')" />&nbsp;部署次数
<div class="com_card_msg_other">
<div class="com_card_msg_time">2019-12-04</div>
<div class="com_card_msg_num">部署次数:44444</div>
</div> </div>
<div class="com_card_msg_num1">888888</div>
</div> </div>
<div class="com_card_btn"> <div class="com_card_btn">
<el-button size="small">加入购物车</el-button> <el-button size="medium" class="btn_1">加入购物车</el-button>
<el-button size="small" @click="goUrl(cellData.id)">查看详情</el-button> <el-button size="medium" class="btn_2" @click="goUrl(cellData.id)">查看详情</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -43,41 +53,81 @@ export default { ...@@ -43,41 +53,81 @@ export default {
<style scoped> <style scoped>
.com_card { .com_card {
width: 290px; width: 290px;
height: 300px; height: 266px;
padding: 10px; padding: 20px;
background-color: #ddd; border-radius: 16px;
background-color: #fff;
border: solid 2px transparent;
-webkit-box-shadow: 0px 3px 10px 0px rgba(3, 10, 37, 0.15);
box-shadow: 0px 3px 10px 0px rgba(3, 10, 37, 0.15);
}
.com_card:hover {
border: solid 2px #b4c0f5;
}
.com_card_top {
display: flex; display: flex;
flex-wrap: wrap; justify-content: space-between;
justify-content: center; margin-bottom: 35px;
}
.com_card_name_v {
width: calc(100% - 70px);
} }
.com_card_img { .com_card_img {
width: 160px; width: 60px;
height: 160px; height: 60px;
border-radius: 8px;
} }
.com_card_msg { .com_card_msg {
width: 180px; margin-top: 20px;
text-align: center; display: flex;
justify-content: space-between;
} }
.com_card_msg_name { .com_card_msg_name {
font-size: 24px; font-size: 18px;
margin-bottom: 10px; font-weight: 700;
margin-top: 4px;
margin-bottom: 8px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
} }
.com_card_msg_version { .com_card_msg_version {
font-size: 14px; font-size: 14px;
} color: #8890a7;
.com_card_msg_other {
width: 100%;
display: flex;
justify-content: space-between;
font-size: 12px;
} }
.com_card_msg_time { .com_card_msg_tit {
color: #8890a7;
font-size: 16px;
} }
.com_card_msg_num { .com_card_msg_num {
color: #8890a7;
font-size: 16px;
}
.com_card_msg_num1 {
color: #242c43;
font-size: 16px;
} }
.com_card_btn { .com_card_btn {
margin-top: 10px; margin-top: 35px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-around;
}
.btn_1 {
background-color: #d0d5e7;
border: solid 2px #a5afd6;
color: #0f2683;
}
.btn_1:hover {
background-color: #d5daec;
border: solid 2px #a5afd6;
color: #0f2683;
}
.btn_2 {
background-color: #0f2683;
color: #f8f9fd;
}
.btn_2:hover {
background-color: #142b88;
color: #f8f9fd;
} }
</style> </style>
\ No newline at end of file
<template>
<div class="order_cell">
{{ cellItem.id }}
</div>
</template>
<script>
export default {
props: {
cellItem: {
type: Object,
default: () => {
{
}
}
}
},
methods: {}
};
</script>
<style scoped>
.order_cell {
height: 100px;
border-bottom: 2px #567 solid;
margin: 10px 0;
}
.order_cell:nth-last-child(1) {
border-bottom: 0;
}
</style>
<template>
<div class="order_block">
<el-tabs v-model="activeName" @tab-click="tabClick" type="border-card">
<el-tab-pane
v-for="(item, index) in stateList"
:key="'state' + index"
:label="item"
:name="item"
></el-tab-pane>
</el-tabs>
<div class="list_options">
<div class="button_group">
<el-button
size="mini"
v-for="(item, index) in buttonList"
:key="'btn' + index"
:class="item.state ? 'btn_actice':''"
round
@click="btnClick(index)"
>{{ item.label }}</el-button>
</div>
<div class="input_right">
<el-input
v-model="search"
prefix-icon="el-icon-search"
placeholder="请输入关键字搜索服务"
@input="searchVal"
></el-input>
</div>
</div>
<order-list :datas="datas"></order-list>
<!-- 分页 -->
<section class="order-pagination">
<div class="order_page_total">{{ pagination.total }} 个条目</div>
<div class="order_page_item">
<div class="order_page_num">
<div>每页行数:</div>
<div class="order_page_num_sel">
<el-select
v-model="pagination.rowsPerPage"
placeholder="请选择"
size="small"
@change="handleSizeChange"
>
<el-option
v-for="item in pageOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
<div class="order_page_control">
<el-button
icon="el-icon-arrow-left"
circle
size="mini"
@click="handleCurrentChange(-1)"
:disabled="pagination.page == 1"
></el-button>
&nbsp;&nbsp;{{ pagination.page }}页 / 共{{
Math.ceil(pagination.total / pagination.rowsPerPage)
}}
<el-button
icon="el-icon-arrow-right"
circle
size="mini"
@click="handleCurrentChange(1)"
:disabled="
pagination.page >=
Math.ceil(pagination.total / pagination.rowsPerPage)
"
></el-button>
</div>
</div>
</section>
</div>
</template>
<script>
import OrderList from "@/components/order-list/order-list-list";
export default {
components: {
OrderList
},
data: () => ({
stateList: ["全部订单", "待审核", "审核中", "已获取", "未通过", "已取消"],
activeName: "全部订单",
buttonList: [
{ label: "全部", state: false },
{ label: "数据服务", state: false },
{ label: "时空服务", state: false },
{ label: "视频服务", state: false },
{ label: "感知服务", state: false },
{ label: "综合服务", state: false },
{ label: "云资源", state: false },
{ label: "应用镜像", state: false }
],
search: "",
pagination: {
rowsPerPage: 10,
page: 1,
total: 0
},
pageOptions: [
{
value: "10",
label: "10"
},
{
value: "20",
label: "20"
},
{
value: "50",
label: "50"
}
],
datas: [
{ id: "23123" },
{ id: "23ss123" },
{ id: "2311223" },
{ id: "2311423" },
{ id: "23131223" },
{ id: "231123" }
]
}),
mounted() {
this.getTotal();
},
methods: {
tabClick() {},
btnClick(index) {
if (index != 0) {
this.buttonList[0].state = false;
this.buttonList[index].state = !this.buttonList[index].state;
} else {
for (let i = 1; i < this.buttonList.length; i++) {
this.buttonList[i].state = false;
}
this.buttonList[0].state = !this.buttonList[0].state;
}
},
// search debonce 500ms
searchVal() {
if (this.times !== null) clearTimeout(this.times);
this.times = setTimeout(() => {
this.getShopList();
}, 500);
},
getTotal() {
this.pagination.total = this.datas.length;
},
handleSizeChange(val) {
this.pagination.rowsPerPage = val;
this.$emit("refresh", this.pagination);
},
handleCurrentChange(val) {
this.pagination.page += val;
this.$emit("refresh", this.pagination);
}
}
};
</script>
<style scoped>
.order_block {
margin: 20px;
background-color: #fff;
border-radius: 0px 0px 8px 8px / 0px 0px 8px 8px;
}
.list_options {
display: flex;
justify-content: space-between;
padding: 0 20px;
border-bottom: 2px #dcdfe6 solid;
}
.button_group {
padding: 15px 10px;
}
.btn_actice {
background-color: blue;
color: #fff;
}
.input_right {
width: 360px;
padding: 10px;
}
.order-pagination {
margin-top: 20px;
padding-bottom: 20px;
font-size: 14px;
padding: 0 5%;
display: flex;
justify-content: space-between;
align-items: center;
}
.order_page_num {
width: 140px;
margin-right: 20px;
display: flex;
justify-content: space-around;
align-items: center;
}
.order_page_num_sel {
width: 50px;
font-size: 14px;
position: relative;
top: 1px;
}
.order_page_item {
display: flex;
justify-content: flex-end;
align-items: center;
}
</style>
<style>
.order_block .el-tabs--border-card {
border: 0;
-webkit-box-shadow: none;
box-shadow: none;
}
.order_block .el-tabs--border-card > .el-tabs__header {
background-color: #fff;
}
.order_block .el-tabs__item {
padding: 0 24px;
}
.order_block .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
background-color: #fff;
border-right-color: #dcdfe6;
border-left-color: #dcdfe6;
border-top: 4px solid #e56600;
height: 48px;
}
.order_block .el-tabs--border-card > .el-tabs__header .el-tabs__item {
border-top: 4px solid transparent;
height: 48px;
}
.order_block .el-tabs--border-card > .el-tabs__header .el-tabs__item:hover {
color: #e56600;
}
.order_block .el-tabs--border-card > .el-tabs__content {
padding: 0;
}
.input_right .el-input__inner {
border-radius: 20px;
}
.input_right .el-input--prefix .el-input__inner {
padding-left: 40px;
}
.input_right .el-input__prefix,
.el-input__suffix {
left: 10px;
}
.input_right .el-input--prefix .el-input__inner {
outline: none;
}
.input_right .el-input__inner:focus-within {
border: 1px solid #626de9;
}
.order_page_control .el-button {
border: 0;
}
.order_page_num .el-input__inner {
border: 0;
padding: 0;
}
</style>
<template>
<div>
<order-cell v-for="item in datas" :key="item.id" :cellItem="item"></order-cell>
</div>
</template>
<script>
import OrderCell from "@/components/order-list/order-list-cell";
export default {
components: {
OrderCell
},
props: {
datas: {
type: Array,
default: () => {
[];
}
}
},
data: () => ({}),
mounted() {},
methods: {}
};
</script>
<style scoped>
</style>
\ No newline at end of file
...@@ -105,7 +105,7 @@ export default { ...@@ -105,7 +105,7 @@ export default {
position: fixed; position: fixed;
top: 84px; top: 84px;
left: 0; left: 0;
width: 200px; width: 180px;
height: 100%; height: 100%;
padding-top: 30px; padding-top: 30px;
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="side_nav_bar"> <div class="side_nav_bar">
<h3 class="side_nav_bar_title" @click="titleAction"> <h3 class="side_nav_bar_title" @click="titleAction">
<img <img
:src="require('../assets/imgs/tool_fuwu.png')" :src="require('../assets/imgs/' + imgSrc + '.png')"
width="20" width="20"
style="margin-right: 10px;" style="margin-right: 10px;"
/> />
...@@ -39,6 +39,10 @@ export default { ...@@ -39,6 +39,10 @@ export default {
type: Array, type: Array,
default: () => [], default: () => [],
}, },
imgSrc: {
type: String,
default: "tool_fuwu"
}
}, },
methods: { methods: {
titleAction() { titleAction() {
......
<template>
<div class="fwgl_container">
<side-nav-bar title="权限管理" :nav-list="navList" :title-path="navList[0] && navList[0].path"></side-nav-bar>
<div class="main_container">
<router-view :key="'type_' + $route.params.type"></router-view>
</div>
</div>
</template>
<script>
import sideNavBar from "@/components/side-nav-bar";
export default {
components: {
sideNavBar
},
data: () => ({
userNav: [
{
name: "组织管理",
path: `/authority/organization`
},
{
name: "用户管理",
path: `/authority/users`
},
{
name: "菜单管理",
path: `/authority/menu`
},
{
name: "角色管理",
path: `/authority/roles`
}
],
navList: []
}),
watch: {
"$route.fullPath"(path) {
this.initNavList();
}
},
methods: {
initNavList() {
this.navList = this.userNav;
}
},
mounted() {
this.initNavList();
}
};
</script>
<style scoped>
.fwgl_container {
height: calc(100vh - 84px);
display: flex;
justify-content: flex-start;
align-items: stretch;
}
.side_nav_bar {
width: 180px;
flex-shrink: 0;
}
.main_container {
width: calc(100% - 180px);
flex-grow: 1;
flex-shrink: 1;
background-color: #f6f7fb;
overflow: auto;
}
</style>
...@@ -121,7 +121,7 @@ ...@@ -121,7 +121,7 @@
:border="true" :border="true"
:headers="sjfw_qqcstx" :headers="sjfw_qqcstx"
url url
:datas="datas" :datas="datasQqcs"
:searchShow="false" :searchShow="false"
:addRowBtn="false" :addRowBtn="false"
:autoAdd="false" :autoAdd="false"
...@@ -142,7 +142,7 @@ ...@@ -142,7 +142,7 @@
:border="true" :border="true"
:headers="sjfw_fhcstx" :headers="sjfw_fhcstx"
url url
:datas="datas" :datas="datasFhcs"
:searchShow="false" :searchShow="false"
:addRowBtn="false" :addRowBtn="false"
:autoAdd="false" :autoAdd="false"
...@@ -354,7 +354,65 @@ export default { ...@@ -354,7 +354,65 @@ export default {
{ label: "其他", value: 10 } { label: "其他", value: 10 }
], ],
optionsOrganization: [], optionsOrganization: [],
datas: [ datasQqcs: [
{
id: 123134445,
name: "name",
field_type: "string",
label: "",
descript: "",
example: "lisi",
children: null
},
{
id: 1213445,
name: "age",
field_type: "float",
label: "",
descript: "",
example: "22.00",
children: null
},
{
id: 12313444,
name: "childs",
field_type: "array",
label: "",
descript: "",
example: "",
children: [
{
id: 1231345,
name: "",
field_type: "object",
label: "",
descript: "",
example: "",
children: [
{
id: 123344445,
name: "name",
field_type: "string",
label: "",
descript: "",
example: "lili",
children: null
},
{
id: 11344445,
name: "age",
field_type: "float",
label: "",
descript: "",
example: "2.00",
children: null
}
]
}
]
}
],
datasFhcs: [
{ {
id: 123134445, id: 123134445,
name: "name", name: "name",
...@@ -422,9 +480,10 @@ export default { ...@@ -422,9 +480,10 @@ export default {
}, },
clickFwcs() { clickFwcs() {
this.resultShow = true; this.resultShow = true;
let aothorization = {}; let headers = {};
if (this.sqfsVal != "") { if (this.sqfsVal != "") {
aothorization[this.sqfsVal] = this.tokenVal; headers.Authorization = [];
headers.Authorization[0] = this.sqfsVal + " " + this.tokenVal;
} }
let request = this.$refs.fwcs_sjfw_qq.getTableData(); let request = this.$refs.fwcs_sjfw_qq.getTableData();
console.log(request); console.log(request);
...@@ -454,7 +513,7 @@ export default { ...@@ -454,7 +513,7 @@ export default {
let query = { let query = {
method: this.select, method: this.select,
url: this.input3, url: this.input3,
Authorization: aothorization, headers: headers,
params: requestData, params: requestData,
body: this.$refs.jsonCodes.getCodesVal() body: this.$refs.jsonCodes.getCodesVal()
}; };
...@@ -462,7 +521,13 @@ export default { ...@@ -462,7 +521,13 @@ export default {
.post(url, query) .post(url, query)
.then(response => { .then(response => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.l4 = response.data.data; let data = response.data.data;
if (this.activeName == 1) {
this.datasQqcs = data.body_fields;
} else {
this.datasQqcs = data.param_fields;
}
this.datasFhcs = data.response_fields;
} else { } else {
console.log(response.data.console.error); console.log(response.data.console.error);
} }
......
<template>
<div></div>
</template>
<script>
export default {
methods: {}
};
</script>
<style scoped>
</style>
<template>
<div>
<el-breadcrumb separator="/" class="bread_crumb1">
<el-breadcrumb-item>个人中心</el-breadcrumb-item>
<el-breadcrumb-item>消息管理</el-breadcrumb-item>
</el-breadcrumb>
<block-radius class="message_block">
<ces-table
size="mini"
url="tableData"
:detailsUrl="detailsUrl"
:border="false"
:headers="headers"
:searchShow="false"
:autoAdd="false"
emptyText="没有消息哦"
:stripe="true"
:paginationShow="true"
:pageSizeShow="true"
:isIndex="false"
></ces-table>
</block-radius>
</div>
</template>
<script>
import CesTable from "@/components/table-um";
import BlockRadius from "@/components/block-radius";
export default {
components: {
CesTable,
BlockRadius
},
data: () => ({
headers: [
{
label: "服务url",
prop: "date",
type: "href",
align: "left"
},
{
label: "服务名称",
prop: "name",
type: "href",
align: "center"
},
{
label: "中文名",
prop: "address",
type: "href",
align: "right"
},
{
label: "操作",
type: "Button",
align: "center",
btnList: [
{
type: "primary-edit",
label: "编辑",
line: "|"
},
{
type: "primary-del",
label: "删除"
}
]
}
],
detailsUrl: "details"
}),
mounted() {},
methods: {}
};
</script>
<style scoped>
.message_block {
margin: 0 20px;
}
</style>
\ No newline at end of file
<template>
<div>
<el-breadcrumb separator="/" class="bread_crumb1">
<el-breadcrumb-item :to="{ path: '/user' }">个人中心</el-breadcrumb-item>
<el-breadcrumb-item>订单管理</el-breadcrumb-item>
</el-breadcrumb>
<order-list></order-list>
</div>
</template>
<script>
import OrderList from "@/components/order-list/order-list-com";
import { mapState } from "vuex";
export default {
components: {
OrderList
},
data: () => ({
navList: []
}),
mounted() {},
methods: {}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div></div>
</template>
<script>
export default {
methods: {}
};
</script>
<style scoped>
</style>
<template>
<div></div>
</template>
<script>
export default {
methods: {}
};
</script>
<style scoped>
</style>
<template> <template>
<div class="service_list"> <div>
<el-container> <el-container>
<el-aside width="200px"> <el-aside width="180px">
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
......
<template> <template>
<div class="service_list"> <div>
<el-container> <el-container>
<el-aside width="200px"> <el-aside width="180px">
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
......
<template> <template>
<div class="service_list"> <div>
<el-container> <el-container>
<el-aside width="200px"> <el-aside width="180px">
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
......
<template> <template>
<div class="service_list"> <div>
<el-container> <el-container>
<el-aside width="200px"> <el-aside width="180px">
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
......
<template> <template>
<div class="service_list"> <div>
<el-container> <el-container>
<el-aside width="200px"> <el-aside width="180px">
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
......
<template> <template>
<div class="service_list"> <div>
<el-container> <el-container>
<el-aside width="200px"> <el-aside width="180px">
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
......
<template> <template>
<div class="service_list"> <div>
<el-container> <el-container>
<el-aside width="200px"> <el-aside width="180px">
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
......
<template>
<div class="fwgl_container">
<side-nav-bar title="个人中心" imgSrc="tool_fuwu" :nav-list="navList" :title-path="navList[0] && navList[0].path"></side-nav-bar>
<div class="main_container">
<router-view :key="'type_' + $route.params.type"></router-view>
</div>
</div>
</template>
<script>
import sideNavBar from "@/components/side-nav-bar";
export default {
components: {
sideNavBar
},
data: () => ({
userNav: [
{
name: "个人档案",
path: `/user/user_info`
},
{
name: "消息管理",
path: `/user/message`
},
{
name: "订单管理",
path: `/user/order_list`
}
],
navList: []
}),
watch: {
"$route.fullPath"(path) {
this.initNavList();
}
},
methods: {
initNavList() {
this.navList = this.userNav;
}
},
mounted() {
this.initNavList();
}
};
</script>
<style scoped>
.fwgl_container {
height: calc(100vh - 84px);
display: flex;
justify-content: flex-start;
align-items: stretch;
}
.side_nav_bar {
width: 180px;
flex-shrink: 0;
}
.main_container {
width: calc(100% - 180px);
flex-grow: 1;
flex-shrink: 1;
background-color: #f6f7fb;
overflow: auto;
}
</style>
<template>
<div>
info
</div>
</template>
<script>
export default {
data: () => ({
}),
mounted() {},
methods: {}
};
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div></div>
</template>
<script>
export default {
methods: {}
};
</script>
<style scoped>
</style>
...@@ -181,6 +181,57 @@ export default new Router({ ...@@ -181,6 +181,57 @@ export default new Router({
name: "services_shop", name: "services_shop",
component: () => import("@/pages/services_shop"), component: () => import("@/pages/services_shop"),
}, // 主页 - 服务超市 }, // 主页 - 服务超市
{
path: "/user", // 个人中心
name: "user",
redirect: "/user/user_info",
component: () => import("@/pages/user"),
children: [
{
path: "/user/user_info", // 个人信息页
name: "userInfo",
component: () => import("@/pages/user_info"),
},
{
path: "/user/message", // 消息管理页
name: "message",
component: () => import("@/pages/message"),
},
{
path: "/user/order_list", // 订单管理页
name: "orderList",
component: () => import("@/pages/order_list"),
},
],
},
{
path: "/authority", // 权限管理
name: "authority",
redirect: "/authority/organization",
component: () => import("@/pages/authority"),
children: [
{
path: "/authority/organization", // 组织管理页
name: "organization",
component: () => import("@/pages/organization"),
},
{
path: "/authority/users", // 用户管理页
name: "users",
component: () => import("@/pages/users"),
},
{
path: "/authority/menu", // 菜单管理页
name: "menu",
component: () => import("@/pages/menus"),
},
{
path: "/authority/roles", // 角色管理页
name: "roles",
component: () => import("@/pages/roles"),
},
],
},
], ],
}, },
{ {
......
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