Commit 0e64b889 authored by 徐一鸣's avatar 徐一鸣

应用详情信息页面

parent 83e6c27b
<template> <template>
<div class="application_info" v-if="data"> <div class="application_info" v-if="data">
<div class="application_title">
<span class="application_name" v-text="data.name"></span>
</div>
<div class="main_container"> <div class="main_container">
<div class="main_container-left" v-if="data.img"> <div class="main_container-left" v-if="data.img">
<img :src="data.img" width="460" /> <el-avatar shape="square" :size="144" fit="cover" :src="data.img" />
</div> </div>
<div class="main_container-right"> <div class="main_container-right">
<ul class="application_base_info"> <div class="application_title">
<li> <span class="application_name" v-text="data.name"></span>
<span>应用开发者:</span>
<span v-text="data.providedBy"> </span>
</li>
<li>
<span>上线时间:</span>
<span v-text="data.publishTime"></span>
</li>
<li>
<span>部署次数:</span>
<span v-text="data.acquireCount"></span>
</li>
<li>
<span>应用类型:</span>
<span v-html="data.serviceType"></span>
</li>
<li>
<span>业务领域:</span>
<span v-text="data.dataField"></span>
</li>
</ul>
<div class="commodity_information">
<span>&emsp;&emsp;格:</span>
<div class="btn_container">
<el-button
v-for="(item, index) in data.specifications"
:key="'specifications_' + index"
:type="
item.value === commodityData.specification
? 'primary'
: 'default'
"
@click="changeSpecification(item)"
>
{{ item.name }}
</el-button>
</div>
</div> </div>
<div class="commodity_action"> <div class="application_base_container">
<el-button type="warning" plain @click="addToCart"> <ul class="application_base_info">
加入购物车 <li>
</el-button> <span>应用开发者:</span>
<el-button type="warning" @click="applyImmediately"> <span v-text="data.providedBy"> </span>
立即申请 </li>
</el-button> <li>
<span>应用类型:</span>
<span v-html="data.serviceType"></span>
</li>
</ul>
<ul class="application_base_info">
<li>
<span>部署次数:</span>
<span v-text="data.acquireCount"></span>
</li>
<li>
<span>业务领域:</span>
<span v-text="data.dataField"></span>
</li>
</ul>
<ul class="application_base_info">
<li>
<span>上线时间:</span>
<span v-text="data.publishTime"></span>
</li>
</ul>
</div> </div>
</div> </div>
</div> </div>
<div class="commodity_information">
<span>&emsp;&emsp;格:</span>
<div class="btn_container">
<el-button
v-for="(item, index) in data.specifications"
:key="'specifications_' + index"
:type="
item.value === commodityData.specification ? 'primary' : 'default'
"
@click="changeSpecification(item)"
>
{{ item.name }}
</el-button>
</div>
</div>
<div class="commodity_action">
<el-button type="warning" plain @click="addToCart">
加入购物车
</el-button>
<el-button type="warning" @click="applyImmediately">
立即申请
</el-button>
</div>
</div> </div>
</template> </template>
...@@ -73,13 +77,6 @@ export default { ...@@ -73,13 +77,6 @@ export default {
specification: 0, specification: 0,
}, },
}), }),
computed: {
specificationDescription() {
let obj =
this.data.specifications[this.commodityData.specification] || {};
return obj.description || "";
},
},
methods: { methods: {
changeSpecification({ value }) { changeSpecification({ value }) {
this.commodityData.specification = value; this.commodityData.specification = value;
...@@ -111,28 +108,29 @@ export default { ...@@ -111,28 +108,29 @@ export default {
.main_container-left { .main_container-left {
padding: 3px; padding: 3px;
background-color: #f9fafc; background-color: #f9fafc;
margin-right: 30px; margin-right: 10px;
} }
.main_container-right { .main_container-right {
flex-grow: 1; flex-grow: 1;
} }
.application_title {
display: flex;
justify-content: flex-start;
align-items: center;
}
.application_title > .application_name { .application_title > .application_name {
font-size: 22px; font-size: 22px;
font-weight: bold; font-weight: bold;
color: #0d1847; color: #0d1847;
line-height: 36px; line-height: 36px;
} }
.application_base_info { .application_base_container {
padding: 18px; display: flex;
justify-content: flex-start;
align-items: flex-end;
background-color: #f9fafc; background-color: #f9fafc;
padding: 18px;
margin-top: 15px;
} }
.application_base_info > li, .application_base_info:not(:last-child) {
.commodity_information { margin-right: 50px;
}
.application_base_info > li {
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: flex-start; align-items: flex-start;
...@@ -140,39 +138,37 @@ export default { ...@@ -140,39 +138,37 @@ export default {
color: #242c43; color: #242c43;
line-height: 20px; line-height: 20px;
} }
.application_base_info > li:not(:first-child) { .application_base_info > li > span:first-child {
margin-top: 18px; width: 6em;
}
.application_base_info > li > span:first-child,
.commodity_information > span:first-child {
flex-shrink: 0; flex-shrink: 0;
white-space: nowrap; white-space: nowrap;
color: #8890a7; color: #8890a7;
text-align: right;
}
.application_base_info > li:not(:first-child) {
margin-top: 20px;
} }
.application_base_info > li > span:nth-child(2) { .application_base_info > li > span:nth-child(2) {
color: #242c43; color: #242c43;
} }
.commodity_information { .commodity_information {
display: flex;
justify-content: flex-start;
align-items: flex-start;
margin-top: 30px; margin-top: 30px;
} }
.commodity_information > span:nth-child(2) {
color: #58617a;
}
.commodity_information > span:first-child { .commodity_information > span:first-child {
flex-shrink: 0;
width: 6em;
font-size: 14px;
color: #8890a7;
line-height: 40px; line-height: 40px;
} }
.commodity_information > .commodity_text {
flex-grow: 1;
padding: 13px 18px;
background-color: #f9fafc;
border-radius: 5px;
}
.commodity_information > .btn_container { .commodity_information > .btn_container {
margin-bottom: -15px; margin-bottom: -15px;
} }
.commodity_information > .btn_container > .el-button, .commodity_information > .btn_container > .el-button {
.commodity_information > .btn_container > .el-input-number { margin: 0 30px 15px 0;
margin: 0 20px 15px 0;
} }
.commodity_action { .commodity_action {
margin-top: 50px; margin-top: 50px;
......
...@@ -34,6 +34,11 @@ export default { ...@@ -34,6 +34,11 @@ export default {
specification: null, specification: null,
provider: null, provider: null,
}), }),
computed: {
id() {
return this.$route.params.id;
},
},
methods: { methods: {
getDataFromApi(_url) { getDataFromApi(_url) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
......
...@@ -31,6 +31,11 @@ export default { ...@@ -31,6 +31,11 @@ export default {
data: () => ({ data: () => ({
baseInfo: null, baseInfo: null,
}), }),
computed: {
id() {
return this.$route.params.id;
},
},
methods: { methods: {
getDataFromApi(_url) { getDataFromApi(_url) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
......
...@@ -35,6 +35,11 @@ export default { ...@@ -35,6 +35,11 @@ export default {
specification: null, specification: null,
provider: null, provider: null,
}), }),
computed: {
id() {
return this.$route.params.id;
},
},
methods: { methods: {
getDataFromApi(_url) { getDataFromApi(_url) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
......
...@@ -31,6 +31,11 @@ export default { ...@@ -31,6 +31,11 @@ export default {
data: () => ({ data: () => ({
baseInfo: null, baseInfo: null,
}), }),
computed: {
id() {
return this.$route.params.id;
},
},
methods: { methods: {
getDataFromApi(_url) { getDataFromApi(_url) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
......
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