Commit b3b61938 authored by 刘殿昕's avatar 刘殿昕

Single me out!!!!

parent feb7c3b6
src/assets/imgs/icon_huoqu.png

1.17 KB | W: | H:

src/assets/imgs/icon_huoqu.png

1.03 KB | W: | H:

src/assets/imgs/icon_huoqu.png
src/assets/imgs/icon_huoqu.png
src/assets/imgs/icon_huoqu.png
src/assets/imgs/icon_huoqu.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/icon_liulan.png

1.24 KB | W: | H:

src/assets/imgs/icon_liulan.png

1.08 KB | W: | H:

src/assets/imgs/icon_liulan.png
src/assets/imgs/icon_liulan.png
src/assets/imgs/icon_liulan.png
src/assets/imgs/icon_liulan.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/shop_ic_enter.png

1.03 KB | W: | H:

src/assets/imgs/shop_ic_enter.png

1.03 KB | W: | H:

src/assets/imgs/shop_ic_enter.png
src/assets/imgs/shop_ic_enter.png
src/assets/imgs/shop_ic_enter.png
src/assets/imgs/shop_ic_enter.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/shop_ic_yysd.png

1.5 KB | W: | H:

src/assets/imgs/shop_ic_yysd.png

1.5 KB | W: | H:

src/assets/imgs/shop_ic_yysd.png
src/assets/imgs/shop_ic_yysd.png
src/assets/imgs/shop_ic_yysd.png
src/assets/imgs/shop_ic_yysd.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/shop_ic_yysd_sel.png

1.51 KB | W: | H:

src/assets/imgs/shop_ic_yysd_sel.png

1.51 KB | W: | H:

src/assets/imgs/shop_ic_yysd_sel.png
src/assets/imgs/shop_ic_yysd_sel.png
src/assets/imgs/shop_ic_yysd_sel.png
src/assets/imgs/shop_ic_yysd_sel.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/shop_tool_ic_sjfw.png

1.32 KB | W: | H:

src/assets/imgs/shop_tool_ic_sjfw.png

1.32 KB | W: | H:

src/assets/imgs/shop_tool_ic_sjfw.png
src/assets/imgs/shop_tool_ic_sjfw.png
src/assets/imgs/shop_tool_ic_sjfw.png
src/assets/imgs/shop_tool_ic_sjfw.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/shop_tool_ic_skfw.png

1.57 KB | W: | H:

src/assets/imgs/shop_tool_ic_skfw.png

1.57 KB | W: | H:

src/assets/imgs/shop_tool_ic_skfw.png
src/assets/imgs/shop_tool_ic_skfw.png
src/assets/imgs/shop_tool_ic_skfw.png
src/assets/imgs/shop_tool_ic_skfw.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/shop_tool_ic_spfw.png

1.27 KB | W: | H:

src/assets/imgs/shop_tool_ic_spfw.png

1.27 KB | W: | H:

src/assets/imgs/shop_tool_ic_spfw.png
src/assets/imgs/shop_tool_ic_spfw.png
src/assets/imgs/shop_tool_ic_spfw.png
src/assets/imgs/shop_tool_ic_spfw.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/shop_tool_ic_yzyfw.png

1.43 KB | W: | H:

src/assets/imgs/shop_tool_ic_yzyfw.png

1.43 KB | W: | H:

src/assets/imgs/shop_tool_ic_yzyfw.png
src/assets/imgs/shop_tool_ic_yzyfw.png
src/assets/imgs/shop_tool_ic_yzyfw.png
src/assets/imgs/shop_tool_ic_yzyfw.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/imgs/shop_tool_ic_zhyyfw.png

1.38 KB | W: | H:

src/assets/imgs/shop_tool_ic_zhyyfw.png

1.38 KB | W: | H:

src/assets/imgs/shop_tool_ic_zhyyfw.png
src/assets/imgs/shop_tool_ic_zhyyfw.png
src/assets/imgs/shop_tool_ic_zhyyfw.png
src/assets/imgs/shop_tool_ic_zhyyfw.png
  • 2-up
  • Swipe
  • Onion skin
<template>
<div class="service_info apaas_button" v-if="data">
<div class="service_title">
<span class="service_name" v-text="data.app_name"></span>
<span class="service_access_info">
<img :src="require('@/assets/imgs/icon_liulan.png')" />
<span v-text="'浏览次数:' + data.view_count"></span>
</span>
<span class="service_access_info">
<img :src="require('@/assets/imgs/icon_huoqu.png')" />
<span v-text="'部署次数:' + data.deploy_times"></span>
</span>
</div>
<BlockRadius
:borRadius="8"
:paddingNum="32"
class="service_info apaas_button"
v-if="data"
>
<div class="main_container">
<div class="main_container-left">
<img :src="data.logo" width="100%" />
</div>
<div class="main_container-right">
<ul class="service_base_info">
<li>
<span>应用开发者:</span>
<span v-text="data.username"> </span>
</li>
<li>
<span>应用类型:</span>
<span v-html="data.type_name"></span>
</li>
<li>
<span>业务领域:</span>
<span v-text="data.ywly_name"></span>
</li>
<li>
<span>上线时间:</span>
<span v-text="data.create_date"></span>
</li>
</ul>
<div class="and_wid">
<div class="service_title">
<span class="service_name" v-text="data.app_name"></span>
<span class="service_access_info">
<img :src="require('@/assets/imgs/icon_liulan.png')" />
<span v-text="data.view_count + '次浏览'"></span>
</span>
<span class="service_access_info">
<img :src="require('@/assets/imgs/icon_huoqu.png')" />
<span v-text="'本月' + data.apply_times + '次获取'"></span>
</span>
</div>
<p class="des_p">{{ data.yyjj }}</p>
<div class="jiage_d">
<div class="dbn_wkdn">
&nbsp;&nbsp;格:
<span class="ndwa_indowa"> {{ data.price * duration }} </span>
......@@ -48,38 +36,44 @@
</div>
</div>
<div class="commodity_information">
<span>&emsp;&emsp;格:</span>
<div class="btn_container_ddaw">
{{ data.price }} 金币/月
</div>
<span class="guige_title">&emsp;&emsp;格:</span>
<div class="spec_btn_act">申请获取应用镜像部署权限</div>
</div>
<div class="spec_des">
{{ `申请获取应用镜像部署权限,每月${data.price}金币。` }}
</div>
<div class="commodity_information">
<span>购买时长:</span>
<span class="guige_title">购买时长:</span>
<div class="btn_container">
<el-input-number
v-model="duration"
:min="1"
:disabled="actionDisabled"
></el-input-number>
></el-input-number
>
</div>
</div>
<div class="commodity_action">
<el-button type="warning" plain @click="addToCart">
加入购物车
</el-button>
<el-button type="warning" @click="applyImmediately">
<el-button class="service_now_buy" @click="applyImmediately">
立即申请
</el-button>
<el-button class="service_add_cart" @click="addToCart">
加入购物车
</el-button>
</div>
</div>
</div>
</div>
</BlockRadius>
</template>
<script>
import BlockRadius from "@/components/general/block-radius";
export default {
components: {
BlockRadius,
},
props: {
data: {
datas: {
type: Object,
default: () => null,
},
......@@ -97,7 +91,18 @@ export default {
],
specificationID: 1,
duration: 1,
data: {},
}),
watch: {
datas: {
handler(val) {
this.data = val;
console.log(this.data);
},
deep: true,
immediate: true,
},
},
computed: {
actionDisabled() {
return this.specifications.length == 0;
......@@ -159,27 +164,24 @@ export default {
</script>
<style scoped>
.service_info {
padding: 35px 20px 40px;
background-color: #fff;
margin-bottom: 20px;
}
.main_container {
display: flex;
justify-content: flex-start;
justify-content: space-between;
align-items: flex-start;
margin-top: 25px;
margin: 8px 8px 0;
}
.main_container-left {
width: 270px;
padding: 3px;
background-color: #f9fafc;
margin-right: 30px;
width: 200px;
height: 200px;
padding: 2px;
background-color: #f6f7fb;
font-size: 0;
position: relative;
}
.main_container-left img {
width: 100%;
height: 100%;
border-radius: 6px;
}
.main_container-left > .map_view {
position: absolute;
......@@ -187,7 +189,7 @@ export default {
bottom: 3px;
}
.main_container-right {
flex-grow: 1;
width: 896px;
}
.service_title {
display: flex;
......@@ -199,8 +201,21 @@ export default {
font-weight: bold;
color: #0d1847;
line-height: 36px;
flex-grow: 1;
margin-right: auto;
}
.service_title > .service_type {
flex-shrink: 0;
height: 24px;
padding: 0 12px;
border: 1px solid #5362ee;
background-color: #5362ee;
border-radius: 4px;
font-size: 12px;
color: #fff;
line-height: 22px;
margin-left: 10px;
}
.service_title > .service_access_info {
flex-shrink: 0;
font-size: 14px;
......@@ -212,11 +227,11 @@ export default {
vertical-align: middle;
}
.service_title > .service_access_info > img {
width: 19px;
width: 12px;
margin-right: 5px;
}
.service_base_info {
padding: 25px 20px;
padding: 18px;
background-color: #f9fafc;
border-radius: 8px;
}
......@@ -233,22 +248,23 @@ export default {
margin-top: 18px;
}
.service_base_info > li > span:first-child,
.commodity_information > span:first-child {
flex-shrink: 0;
white-space: nowrap;
.guige_title {
color: #8890a7;
width: 100px;
margin-right: 20px;
text-align: right;
}
.service_base_info > li > span:nth-child(2) {
color: #242c43;
}
.commodity_information {
margin-top: 30px;
margin-top: 16px;
}
.commodity_information > span:nth-child(2) {
color: #58617a;
}
.commodity_information > span:first-child {
line-height: 40px;
line-height: 36px;
}
.commodity_information > .commodity_text {
flex-grow: 1;
......@@ -266,27 +282,40 @@ export default {
.commodity_information > .btn_container > .el-input-number {
margin: 0 20px 15px 0;
}
.btn_container_ddaw {
line-height: 40px;
margin-left: 5px;
}
.commodity_action {
margin-top: 60px;
text-align: right;
.spec_btn {
height: 36px;
padding: 7px 18px 6px;
background-color: #ffffff;
border-radius: 6px;
border: solid 1px #dcdfe6;
font-size: 14px;
line-height: 20px;
color: #58617a;
margin-right: 8px;
margin-bottom: 8px;
cursor: pointer;
}
.commodity_action > .el-button {
width: 220px;
margin-left: 20px;
font-size: 16px;
.spec_btn_act {
height: 36px;
padding: 7px 18px 6px;
background-color: #515fe7;
border-radius: 6px;
border: solid 1px #515fe7;
font-size: 14px;
line-height: 20px;
color: #f4f7fc;
margin-right: 8px;
margin-bottom: 8px;
cursor: pointer;
}
.spec_btn:hover {
background-color: #f2f5fe;
border: solid 1px #c3caf8;
color: #58617a;
}
.and_wid {
background-color: #f9fafc;
border-radius: 8px;
padding: 20px;
display: flex;
justify-content: space-between;
margin-top: 20px;
align-items: center;
.commodity_action {
margin-top: 16px;
margin-left: 120px;
}
.dbn_wkdn {
color: #8890a7;
......@@ -311,6 +340,7 @@ export default {
color: #ea7d19;
font-size: 18px;
position: relative;
font-weight: bold;
}
.dwin_diwa {
width: 14px;
......@@ -328,6 +358,82 @@ export default {
top: 5px;
left: -35px;
}
.service_add_cart {
width: 192px;
height: 40px;
background-color: #fcefd6;
border-radius: 6px;
border: solid 1px #fac266;
color: #e56600;
font-size: 16px;
}
.service_now_buy {
width: 192px;
height: 40px;
background-color: #e56600;
border: solid 1px #e56600;
border-radius: 6px;
color: #fcefd6;
font-size: 16px;
margin-right: 24px;
}
.tags {
display: inline-block;
margin-left: 8px;
height: 24px;
padding: 0 12px;
font-size: 12px;
font-weight: 500;
line-height: 24px;
border-radius: 4px;
position: relative;
top: 1px;
flex-shrink: 0;
margin-right: auto;
}
.map_service {
background-color: #626de9;
border: solid 1px #626de9;
color: #fff;
}
.shared {
background-color: #e7fdfc;
border: solid 1px #8bd6d0;
color: #25bdb1;
}
.restricted {
background-color: #fffee8;
border: solid 1px #e4c884;
color: #ef9433;
}
.sensitive {
background-color: #ffefef;
border: solid 1px #d7a4a9;
color: #e15260;
}
.des_p {
color: #8890a7;
font-size: 14px;
margin-top: 8px;
margin-bottom: 12px;
}
.jiage_d {
background: url("~@/assets/imgs/img_bg_jiage.png");
width: 896px;
height: 72px;
margin-bottom: 16px;
padding: 20px;
display: flex;
justify-content: space-between;
align-items: center;
}
.spec_des {
margin-left: 128px;
color: rgba(88, 97, 122, 0.5);
font-size: 14px;
line-height: 14px;
margin-top: 8px;
}
</style>
<style>
......@@ -355,4 +461,7 @@ export default {
.service_info .el-input-number .el-input__inner {
border-width: 2px;
}
.service_info .el-input-number {
width: 128px;
}
</style>
......@@ -21,7 +21,7 @@
score-template="{value}"
></el-rate>
<p class="get_num">
本月获取
获取次数
<span class="com_cell_right_time">
{{ cellData.deploy_times }}
</span>
......
......@@ -32,7 +32,7 @@
score-template="{value}"
></el-rate>
<p class="get_num">
本月获取
获取次数
<span class="com_cell_right_time">
{{ cellData.apply_num }}
</span>
......
......@@ -7,10 +7,18 @@
>
<h3 class="detail-title" v-text="item.name + ':'"></h3>
<service-steps
v-if="item.type == 'step'"
:data="item.value"
></service-steps>
<div class="step_div" v-if="item.type == 'step'">
<img
class="step_img"
:src="require('@/assets/imgs/shop_img_hqlc.png')"
/>
</div>
<div class="step_div" v-else-if="item.type == 'step_app'">
<img
class="step_img"
:src="require('@/assets/imgs/shop_img_hqlc_yingyong.png')"
/>
</div>
<p
v-else-if="item.type == 'text'"
class="detail-text"
......@@ -21,6 +29,34 @@
class="detail-code"
v-html="item.value"
></div>
<div v-else-if="item.type == 'table-list'">
<table class="xq_table">
<tr>
<td>数据领域:{{ item.value.sectors_name }}</td>
<td>服务类型:{{ item.value.data_service_type1_name }}&nbsp;&nbsp;&nbsp;&nbsp;{{ item.value.data_service_type2_name }}</td>
</tr>
<tr>
<td>发布时间:{{ helper.dateStringTransform(item.value.create_time) }}</td>
<td>更新时间:{{ helper.dateStringTransform(item.value.update_date) }}</td>
</tr>
<tr>
<td>请求方式:{{ item.value.req_type }}</td>
<td>编码格式:{{ item.value.encode_method }}</td>
</tr>
</table>
</div>
<div v-else-if="item.type == 'app-list'">
<table class="xq_table">
<tr>
<td>部署来源:{{ item.value.online_state_name }}</td>
<td>上线时间:{{ item.value.create_date }}</td>
</tr>
<tr>
<td>业务领域:{{ item.value.ywly_name }}</td>
<td>应用类型:{{ item.value.type_name }}</td>
</tr>
</table>
</div>
<workflows-view
v-else-if="item.type == 'workflows'"
:id="item.value"
......@@ -68,6 +104,7 @@
<script>
import serviceSteps from "@/components/service-tabs/service-steps";
import workflowsView from "@/components/work-flow/workflows-view";
import helper from "@/services/helper.js";
export default {
components: {
......@@ -80,18 +117,31 @@ export default {
required: true,
},
},
data() {
return {
helper
}
}
};
</script>
<style scoped>
.step_div {
margin-top: 16px;
}
.step_img {
width: 1140px;
height: 152px;
}
.detail-item:not(:last-child) {
margin-bottom: 20px;
}
.detail-item .detail-title {
font-size: 14px;
line-height: 25px;
line-height: 14px;
color: #8890a7;
margin-bottom: 3px;
margin-bottom: 8px;
margin-left: 8px;
}
.detail-item .detail-text {
word-break: break-all;
......@@ -111,4 +161,44 @@ export default {
line-height: 25px;
margin-top: 8px;
}
.xq_table {
border: solid 1px #dde0e9;
width: 100%;
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
margin-top: 16px;
}
.xq_table caption {
color: #000;
padding: 1em 0;
text-align: center;
}
.xq_table td,
.xq_table th {
border-left: 1px solid #cbcbcb;
border-width: 0 0 0 1px;
font-size: inherit;
margin: 0;
overflow: visible;
padding: 0.5em 1em;
}
.xq_table thead {
background-color: #e0e0e0;
color: #000;
text-align: left;
vertical-align: bottom;
}
.xq_table td {
background-color: transparent;
}
.xq_table td {
color: #242c43;
font-size: 14px;
line-height: 30px;
border-bottom: 1px solid #cbcbcb;
}
.xq_table tbody > tr:last-child > td {
border-bottom-width: 0;
}
</style>
<template>
<div class="service_tab-provider" v-if="data">
<div class="provider-left">
<el-avatar
shape="square"
:size="156"
fit="cover"
:src="data.picture_path"
/>
</div>
<div class="provider-right">
<p class="provider_name" v-text="data.organization_name"></p>
<div class="provider_info">
<p>
<span>联系人:</span>
<span v-text="data.user_name"></span>
</p>
<p>
<span>联系电话:</span>
<span v-text="data.phone"></span>
</p>
<div>
<div class="pro_title">机构信息:</div>
<div class="pro_div">
<div class="pro_img_d">
<img :src="data.picture_path" class="pro_img" />
</div>
<div class="pro_1">机构名称:{{ data.organization_name }}</div>
<div class="pro_2">联系人:{{ data.user_name }}</div>
<div class="pro_3">联系电话:{{ data.phone }}</div>
</div>
<div class="pro_title">{{ isApp ? '应用规格:' : '服务规格:'}}</div>
<table-um
ref="apply_service_state_table"
:headers="isApp ? dataHeadersApp : dataHeaders"
:stripe="false"
:datas="data.serviceRequestSpcsTable"
></table-um>
</div>
</template>
<script>
import TableUm from "@/components/table/table-um";
export default {
props: {
data: {
type: Object,
required: true,
},
isApp: {
type: Boolean,
default: false
}
},
data() {
return {
dataHeaders: [
{
label: "规格类型",
prop: "type",
align: "left",
width: "200"
},
{
label: "规格",
prop: "spce",
align: "left",
width: "300"
},
{
label: "购买时长",
prop: "times",
align: "center",
width: "200"
},
{
label: "规格说明",
prop: "descript",
align: "left",
},
],
dataHeadersApp: [
{
label: "规格类别",
prop: "type",
align: "left",
width: "200"
},
{
label: "时长",
prop: "times",
align: "center",
width: "200"
},
{
label: "价格",
prop: "spcs",
align: "center",
width: "200"
},
{
label: "规格说明",
prop: "specifications",
align: "left",
},
],
};
},
components: {
TableUm,
},
};
</script>
<style scoped>
.service_tab-provider {
display: flex;
justify-content: flex-start;
align-items: flex-start;
}
.provider-left {
flex-shrink: 0;
padding: 3px;
background-color: #f6f7fb;
border-radius: 9px;
font-size: 0;
}
.provider-left > .el-avatar--square {
border-radius: 7px;
.pro_title {
font-size: 14px;
line-height: 14px;
color: #8890a7;
margin-bottom: 8px;
margin-left: 8px;
}
.provider-right {
flex-grow: 1;
margin-left: 20px;
.pro_div {
display: grid;
grid-template-columns: 88px 1fr 1fr;
grid-template-rows: 44px 44px;
grid-row-gap: 1px;
grid-column-gap: 1px;
background-color: #dde0e9;
padding: 1px;
margin-bottom: 24px;
}
.provider-right > .provider_name {
font-size: 20px;
font-weight: bold;
color: #0d1847;
line-height: 36px;
.pro_img_d {
width: 88px;
height: 89px;
padding: 8px;
grid-row-start: 1;
grid-row-end: 3;
background-color: #fff;
}
.provider-right > .provider_info {
padding: 20px;
background-color: #f6f7fb;
border-radius: 6px;
margin-top: 20px;
.pro_img {
width: 100%;
height: 100%;
}
.provider-right > .provider_info > p {
font-size: 14px;
color: #242c43;
line-height: 25px;
.pro_1 {
grid-column-start: 2;
grid-column-end: 4;
line-height: 44px;
padding-left: 24px;
background-color: #fff;
}
.provider-right > .provider_info > p:not(:first-child) {
margin-top: 16px;
.pro_2 {
line-height: 44px;
padding-left: 24px;
background-color: #fff;
}
.provider-right > .provider_info > p > span:first-child {
color: #8890a7;
.pro_3 {
line-height: 44px;
padding-left: 24px;
background-color: #fff;
}
</style>
......@@ -13,23 +13,12 @@
></service-tab-detail>
</el-tab-pane>
<!-- 规格说明 -->
<el-tab-pane
:label="specificationTitle"
name="specification"
v-if="serviceRequestSpcs"
>
<service-tab-specification
class="service_info"
:data="serviceRequestSpcs"
></service-tab-specification>
</el-tab-pane>
<!-- 提供组织 -->
<el-tab-pane :label="providerTitle" name="provider" v-if="providerData">
<service-tab-provider
class="service_info"
:data="providerData"
:isApp="detailTitle == '应用详情信息'"
></service-tab-provider>
</el-tab-pane>
......@@ -105,8 +94,11 @@ export default {
<style scoped>
.service_info_tab {
border: none;
box-shadow: none;
box-shadow: 0px 4px 8px 0px
rgba(0, 7, 101, 0.04);
border-radius: 8px;
margin-bottom: 30px;
overflow: hidden;
}
.service_info {
padding: 35px 40px 40px;
......@@ -127,15 +119,33 @@ export default {
background-color: #fff;
border-top: 4px solid #fff;
border-bottom: 2px solid #f4f7fc;
font-size: 15px;
font-weight: normal;
}
.service_info_tab.el-tabs--border-card
> .el-tabs__header
.el-tabs__item.is-active {
border-top: 4px solid #f5ab4c;
border-right: 2px solid #fcefd6;
border-top: 4px solid #fff;
border-right: 2px solid #f4f7fc;
border-bottom: 2px solid #fff;
border-left: 2px solid #fcefd6;
border-left: 2px solid #f4f7fc;
border-radius: 6px 6px 0 0;
color: #e56600 !important;
font-size: 15px;
font-weight: normal;
position: relative;
}
.service_info_tab.el-tabs--border-card
> .el-tabs__header
.el-tabs__item.is-active::before {
content: "";
position: absolute;
width: calc(100% + 3px);
height: 4px;
background-color: #f5ab4c;
border-radius: 4px 4px 0 0;
left: -2px;
top: -3px;
}
.service_info_tab.el-tabs--border-card
> .el-tabs__header
......
......@@ -348,6 +348,7 @@
<el-select
v-model="formOld.cpu"
placeholder="请选择CPU使用量"
@change="changeCPU"
>
<el-option
v-for="item in optionsCPU"
......
<template>
<div class="workflows-view" ref="flowContainer" :style="{zoom:zoom,}">
<div class="workflows-view" ref="flowContainer" :style="{ zoom: zoom }">
<super-flow
ref="superFlow"
:node-list="nodeList"
......@@ -23,6 +23,14 @@
class="flow-node"
:class="`flow-node-${meta.type}`"
>
<div>
<svg-icon
id="judge_svg"
v-if="meta.type == 4"
icon-class="bg_tiaojian_nor"
class="judge_svg"
></svg-icon>
</div>
<span v-text="meta.name"></span>
</div>
<el-tooltip v-else effect="dark" placement="right-start">
......@@ -40,6 +48,14 @@
</div>
</div>
<div class="flow-node" :class="`flow-node-${meta.type}`">
<div>
<svg-icon
id="judge_svg"
v-if="meta.type == 4"
icon-class="bg_tiaojian_nor"
class="judge_svg"
></svg-icon>
</div>
<span v-text="meta.name"></span>
<span class="example-count" v-text="meta.running_nodes || 0"></span>
</div>
......@@ -60,10 +76,10 @@ export default {
type: Boolean,
default: false,
},
zoom:{
type:Number,
default:1,
}
zoom: {
type: Number,
default: 1,
},
},
data() {
return {
......@@ -91,8 +107,8 @@ export default {
])
.then((response) => {
let data = response[0].data.data;
let nodeList = data.nodeList||[];
let linkList = data.linkList||[];
let nodeList = data.nodeList || [];
let linkList = data.linkList || [];
let nodes = response[1].data.data;
nodes.forEach((node) => {
......@@ -109,7 +125,7 @@ export default {
this.nodeList = nodeList;
this.linkList = linkList;
})
.catch(function(error) {
.catch(function (error) {
console.log(error);
});
},
......@@ -170,6 +186,20 @@ export default {
background-color: #f78181;
color: #fff;
}
.flow-node-4 {
border: none;
box-shadow: none;
position: relative;
background: transparent;
line-height: 48px;
}
.judge_svg {
font-size: 116px;
position: absolute;
z-index: -1;
top: -34px;
left: 0px;
}
.example-count {
position: absolute;
right: -14px;
......
......@@ -85,20 +85,30 @@ export default {
value: ["服务申请", "信息填写", "审核确认", "服务获取"],
},
{
name: "服务描述",
type: "text",
value: datas.descript,
},
{
name: "请求方式",
type: "text",
value: ["-", "GET", "POST", "PUT", "DELETE"][datas.req_type || 0],
},
{
name: "编码格式",
type: "text",
value: datas.encode_method,
name: "服务信息",
type: "table-list",
value: {
data_service_type1_name: datas.data_service_type1_name,
data_service_type2_name: datas.data_service_type2_name,
sectors_name: datas.sectors_name,
create_time: datas.create_time,
update_date: datas.update_date,
req_type: ["-", "GET", "POST", "PUT", "DELETE"][
datas.req_type || 0
],
encode_method: datas.encode_method,
},
},
// {
// name: "请求方式",
// type: "text",
// value: ["-", "GET", "POST", "PUT", "DELETE"][datas.req_type || 0],
// },
// {
// name: "编码格式",
// type: "text",
// value: datas.encode_method,
// },
{
name: "请求参数",
type: "table",
......@@ -172,11 +182,25 @@ export default {
},
},
];
let arr = datas.serviceRequestSpcs.spcs_type_1.concat(
datas.serviceRequestSpcs.spcs_type_2
);
arr.map((item) => {
item.type = item.spcs_type == 1 ? "计次收费规格" : "时长收费规格";
item.spce =
item.spcs_type == 1
? `${item.money}金币/${item.spcs_count}次(${(
item.money / item.spcs_count
).toFixed(2)}金币/1次)`
: `${item.money}金币/月(次数不限)`;
item.times = item.spcs_type == 1 ? "不限时长" : "按月";
});
this.providerData = {
organization_name: datas.organization_name,
picture_path: datas.organization_picture,
user_name: datas.register_user_info.user_name,
phone: datas.register_user_info.phone,
serviceRequestSpcsTable: arr,
};
this.commentsData = datas.scoreDetail;
})
......
......@@ -16,7 +16,6 @@
:detail-data="detailData"
:provider-data="providerData"
:comments-data="commentsData"
:serviceRequestSpcs="serviceRequestSpcs"
:comments-url="commentsUrl"
></service-tabs>
</div>
......@@ -86,20 +85,30 @@ export default {
value: ["服务申请", "信息填写", "审核确认", "服务获取"],
},
{
name: "服务描述",
type: "text",
value: datas.descript,
},
{
name: "请求方式",
type: "text",
value: ["-", "GET", "POST", "PUT", "DELETE"][datas.req_type || 0],
},
{
name: "编码格式",
type: "text",
value: datas.encode_method,
name: "服务信息",
type: "table-list",
value: {
data_service_type1_name: datas.data_service_type1_name,
data_service_type2_name: datas.data_service_type2_name,
sectors_name: datas.sectors_name,
create_time: datas.create_time,
update_date: datas.update_date,
req_type: ["-", "GET", "POST", "PUT", "DELETE"][
datas.req_type || 0
],
encode_method: datas.encode_method,
},
},
// {
// name: "请求方式",
// type: "text",
// value: ["-", "GET", "POST", "PUT", "DELETE"][datas.req_type || 0],
// },
// {
// name: "编码格式",
// type: "text",
// value: datas.encode_method,
// },
{
name: "请求参数",
type: "table",
......@@ -173,15 +182,29 @@ export default {
},
},
];
let arr = datas.serviceRequestSpcs.spcs_type_1.concat(
datas.serviceRequestSpcs.spcs_type_2
);
arr.map((item) => {
item.type = item.spcs_type == 1 ? "计次收费规格" : "时长收费规格";
item.spce =
item.spcs_type == 1
? `${item.money}金币/${item.spcs_count}次(${(
item.money / item.spcs_count
).toFixed(2)}金币/1次)`
: `${item.money}金币/月(次数不限)`;
item.times = item.spcs_type == 1 ? "不限时长" : "按月";
});
this.providerData = {
organization_name: datas.organization_name,
picture_path: datas.organization_picture,
user_name: datas.register_user_info.user_name,
phone: datas.register_user_info.phone,
serviceRequestSpcsTable: arr,
};
this.commentsData = datas.scoreDetail;
})
.catch(function(error) {
.catch(function (error) {
console.log(error);
});
},
......
......@@ -92,9 +92,19 @@ export default {
value: ["服务申请", "信息填写", "审核确认", "服务获取"],
},
{
name: "服务描述",
type: "text",
value: datas.descript,
name: "服务信息",
type: "table-list",
value: {
data_service_type1_name: datas.data_service_type1_name,
data_service_type2_name: datas.data_service_type2_name,
sectors_name: datas.sectors_name,
create_time: datas.create_time,
update_date: datas.update_date,
req_type: ["-", "GET", "POST", "PUT", "DELETE"][
datas.req_type || 0
],
encode_method: datas.encode_method,
},
},
/* {
name: "服务属性", // TODO: replace
......@@ -132,15 +142,29 @@ export default {
],
}, */
];
let arr = datas.serviceRequestSpcs.spcs_type_1.concat(
datas.serviceRequestSpcs.spcs_type_2
);
arr.map((item) => {
item.type = item.spcs_type == 1 ? "计次收费规格" : "时长收费规格";
item.spce =
item.spcs_type == 1
? `${item.money}金币/${item.spcs_count}次(${(
item.money / item.spcs_count
).toFixed(2)}金币/1次)`
: `${item.money}金币/月(次数不限)`;
item.times = item.spcs_type == 1 ? "不限时长" : "按月";
});
this.providerData = {
organization_name: datas.organization_name,
picture_path: datas.organization_picture,
user_name: datas.register_user_info.user_name,
phone: datas.register_user_info.phone,
serviceRequestSpcsTable: arr,
};
this.commentsData = datas.scoreDetail;
})
.catch(function(error) {
.catch(function (error) {
console.log(error);
});
},
......
......@@ -85,20 +85,30 @@ export default {
value: ["服务申请", "信息填写", "审核确认", "服务获取"],
},
{
name: "服务描述",
type: "text",
value: datas.descript,
},
{
name: "请求方式",
type: "text",
value: ["-", "GET", "POST", "PUT", "DELETE"][datas.req_type || 0],
},
{
name: "编码格式",
type: "text",
value: datas.encode_method,
name: "服务信息",
type: "table-list",
value: {
data_service_type1_name: datas.data_service_type1_name,
data_service_type2_name: datas.data_service_type2_name,
sectors_name: datas.sectors_name,
create_time: datas.create_time,
update_date: datas.update_date,
req_type: ["-", "GET", "POST", "PUT", "DELETE"][
datas.req_type || 0
],
encode_method: datas.encode_method,
},
},
// {
// name: "请求方式",
// type: "text",
// value: ["-", "GET", "POST", "PUT", "DELETE"][datas.req_type || 0],
// },
// {
// name: "编码格式",
// type: "text",
// value: datas.encode_method,
// },
{
name: "请求参数",
type: "table",
......@@ -172,11 +182,25 @@ export default {
},
},
];
let arr = datas.serviceRequestSpcs.spcs_type_1.concat(
datas.serviceRequestSpcs.spcs_type_2
);
arr.map((item) => {
item.type = item.spcs_type == 1 ? "计次收费规格" : "时长收费规格";
item.spce =
item.spcs_type == 1
? `${item.money}金币/${item.spcs_count}次(${(
item.money / item.spcs_count
).toFixed(2)}金币/1次)`
: `${item.money}金币/月(次数不限)`;
item.times = item.spcs_type == 1 ? "不限时长" : "按月";
});
this.providerData = {
organization_name: datas.organization_name,
picture_path: datas.organization_picture,
user_name: datas.register_user_info.user_name,
phone: datas.register_user_info.phone,
serviceRequestSpcsTable: arr,
};
this.commentsData = datas.scoreDetail;
})
......
......@@ -10,7 +10,7 @@
</el-breadcrumb>
</div>
<app-info :data="baseInfo"></app-info>
<app-info :datas="baseInfo"></app-info>
<service-tabs
:detail-data="detailData"
......@@ -33,9 +33,64 @@ export default {
serviceTabs,
},
data: () => ({
baseInfo: null,
detailData: null,
providerData: null,
baseInfo: {
app_id: "",
app_name: "",
apply_id: "",
apply_times: "",
apply_type_name: "",
create_date: "",
deploy_times: "",
logo: "",
online_state: "",
online_state_name: "",
source: "",
state: "",
type_name: "",
up_deploy_status: "",
up_platform_status: "",
up_userid: "",
username: "",
version: "",
view_count: "",
ywly_name: "",
yyjj: "",
price: "",
},
detailData: [
{
name: "获取流程",
type: "step_app",
value: ["应用申请", "信息填写", "审核确认", "应用获取"],
},
{
name: "应用信息",
type: "app-list",
value: {},
},
{
name: "功能简介",
type: "text",
value: "",
},
{
name: "应用场景",
type: "text",
value: "",
},
{
name: "应用参数",
type: "rich-text",
value: "",
},
],
providerData: {
organization_name: "",
picture_path: "",
user_name: "",
phone: "",
serviceRequestSpcsTable: [],
},
}),
computed: {
id() {
......@@ -55,22 +110,59 @@ export default {
},
})
.then(({ data }) => {
this.$api.serviceShop.getExtendedInfo({ id: this.id }).then((response) => {
this.baseInfo = data.data;
this.baseInfo = Object.assign(this.baseInfo, response.data.data);
});
this.$api.serviceShop
.getExtendedInfo({ id: this.id })
.then((response) => {
this.baseInfo.app_id = data.data.app_id;
this.baseInfo.app_name = data.data.app_name;
this.baseInfo.apply_id = data.data.apply_id;
this.baseInfo.apply_times = data.data.apply_times;
this.baseInfo.apply_type_name = data.data.apply_type_name;
this.baseInfo.create_date = data.data.create_date;
this.baseInfo.deploy_times = data.data.deploy_times;
this.baseInfo.logo = data.data.logo;
this.baseInfo.online_state = data.data.online_state;
this.baseInfo.online_state_name = data.data.online_state_name;
this.baseInfo.source = data.data.source;
this.baseInfo.state = data.data.state;
this.baseInfo.type_name = data.data.type_name;
this.baseInfo.up_deploy_status = data.data.up_deploy_status;
this.baseInfo.up_platform_status = data.data.up_platform_status;
this.baseInfo.up_userid = data.data.up_userid;
this.baseInfo.username = data.data.username;
this.baseInfo.version = data.data.version;
this.baseInfo.view_count = data.data.view_count;
this.baseInfo.ywly_name = data.data.ywly_name;
this.baseInfo.price = response.data.data.price;
this.baseInfo.price_style = response.data.data.price_style;
this.baseInfo.sale = response.data.data.sale;
this.baseInfo.star = response.data.data.star;
});
this.detailData[1].value = {
online_state_name: data.data.online_state_name,
type_name: data.data.type_name,
ywly_name: data.data.ywly_name,
create_date: data.data.create_date,
};
})
.catch(function (error) {
console.log(error);
});
let detailData = [
{
name: "获取流程",
type: "step",
value: ["应用申请", "信息填写", "审核确认", "应用获取"],
},
];
this.$http
.get(`/apaas/hubApi/market/appSpecification?id=${this.id}`)
.then((res) => {
if (res.data.success) {
var data = res.data.data;
this.providerData.serviceRequestSpcsTable = [
{
type: "申请获取应用镜像部署权限",
spce: `${data.price}金币`,
times: "按月",
specifications: data.specifications,
},
];
}
});
Promise.all([
this.$http.get(`/apaas/hubApi/market/app/detail/${this.id}`),
this.$http.get(`/apaas/hubApi/market/values/${this.id}`),
......@@ -78,30 +170,10 @@ export default {
.then((response) => {
let data1 = response[0].data.data;
let data2 = response[1].data.data;
detailData.push(
{
name: "应用简介",
type: "text",
value: data1.yyjj,
},
{
name: "功能简介",
type: "text",
value: data1.gnjj,
},
{
name: "应用场景",
type: "text",
value: data1.cjsl,
},
{
name: "应用参数",
type: "rich-text",
value: data2,
}
);
this.detailData = detailData;
this.detailData[2].value = data1.gnjj;
this.detailData[3].value = data1.cjsl;
this.detailData[4].value = data2;
this.baseInfo.yyjj = data1.yyjj;
})
.catch(function (error) {
console.log(error);
......@@ -110,12 +182,10 @@ export default {
this.$http
.get(`/apaas/hubApi/appShop/orgInfo/${this.id}`)
.then(({ data }) => {
this.providerData = {
organization_name: data.data.department_name,
picture_path: data.data.picture_path,
user_name: data.data.user_name,
phone: data.data.phone,
};
this.providerData.organization_name = data.data.department_name;
this.providerData.picture_path = data.data.picture_path;
this.providerData.user_name = data.data.user_name;
this.providerData.phone = data.data.phone;
})
.catch(function (error) {
console.log(error);
......
......@@ -85,9 +85,19 @@ export default {
value: ["服务申请", "信息填写", "审核确认", "服务获取"],
},
{
name: "服务描述",
type: "text",
value: datas.descript,
name: "服务信息",
type: "table-list",
value: {
data_service_type1_name: datas.data_service_type1_name,
data_service_type2_name: datas.data_service_type2_name,
sectors_name: datas.sectors_name,
create_time: datas.create_time,
update_date: datas.update_date,
req_type: ["-", "GET", "POST", "PUT", "DELETE"][
datas.req_type || 0
],
encode_method: datas.encode_method,
},
},
/* {
name: "微服务响应列表", // TODO: replace
......@@ -127,11 +137,25 @@ export default {
value: datas.workflows_id,
});
}
let arr = datas.serviceRequestSpcs.spcs_type_1.concat(
datas.serviceRequestSpcs.spcs_type_2
);
arr.map((item) => {
item.type = item.spcs_type == 1 ? "计次收费规格" : "时长收费规格";
item.spce =
item.spcs_type == 1
? `${item.money}金币/${item.spcs_count}次(${(
item.money / item.spcs_count
).toFixed(2)}金币/1次)`
: `${item.money}金币/月(次数不限)`;
item.times = item.spcs_type == 1 ? "不限时长" : "按月";
});
this.providerData = {
organization_name: datas.organization_name,
picture_path: datas.organization_picture,
user_name: datas.register_user_info.user_name,
phone: datas.register_user_info.phone,
serviceRequestSpcsTable: arr,
};
this.commentsData = datas.scoreDetail;
})
......
......@@ -42,7 +42,7 @@
<p>
<span class="left">{{item.username}}</span>
<span class="right">
<span v-if="index==0||index==1||index==2">{{index==0?'沙发':index==1?'板凳':'地板'}}</span>
<span v-if="index==0||index==1">{{index==0?'沙发':'板凳'}}</span>
<span v-else>{{index}}</span> | <span>{{deal_time(item.created)}}</span>
</span>
</p>
......
......@@ -135,6 +135,19 @@
:value="item.value"
></el-option>
</el-select>
<el-select
v-if="activeBtn == 2 || activeBtn == 3"
v-model="select"
slot="prepend"
placeholder="请选择"
>
<el-option
v-for="item in optionType2"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-select
v-else
v-model="select"
......@@ -817,6 +830,10 @@ export default {
{ label: "DELETE", value: "DELETE" },
],
optionType1: [{ label: "GET", value: "GET" }],
optionType2: [
{ label: "GET", value: "GET" },
{ label: "POST", value: "POST" },
],
activeName: "0",
activeZh: "0",
sjfwQqcs: [
......
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