Commit 9e2343f6 authored by 刘殿昕's avatar 刘殿昕

shop应用列表,修复服务测试数据联动

parent 171e766e
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
>{{ item.service_id == 0 ? item.application.app_name : item.service.name }}</p> >{{ item.service_id == 0 ? item.application.app_name : item.service.name }}</p>
<p <p
class="shop_cell_msg bover_one" class="shop_cell_msg bover_one"
>{{ item.service_id == 0 ? item.application.ywly : item.service.sectors }}</p> >{{ item.service_id == 0 ? item.application.ywly : item.service.sectors_name }}</p>
<p <p
class="shop_cell_msg over_one" class="shop_cell_msg over_one"
>{{ item.service_id == 0 ? item.application.org : item.service.organization_name }}</p> >{{ item.service_id == 0 ? item.application.org : item.service.organization_name }}</p>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
class="com_card_img" class="com_card_img"
/> />
<div class="com_card_name_v"> <div class="com_card_name_v">
<div class="com_card_msg_name">{{ cellData.title }}</div> <div class="com_card_msg_name">{{ cellData.app_name }}</div>
<div class="com_card_msg_version">V{{ cellData.version }}</div> <div class="com_card_msg_version">V{{ cellData.version }}</div>
</div> </div>
</div> </div>
...@@ -14,13 +14,13 @@ ...@@ -14,13 +14,13 @@
<div class="com_card_msg_tit"> <div class="com_card_msg_tit">
<img :src="require('@/assets/imgs/icon_shijian.png')" />&nbsp;上线时间 <img :src="require('@/assets/imgs/icon_shijian.png')" />&nbsp;上线时间
</div> </div>
<div class="com_card_msg_num">{{ cellData.onlineTime }}</div> <div class="com_card_msg_num">{{ helper.dateStringTransform(cellData.create_date) }}</div>
</div> </div>
<div class="com_card_msg"> <div class="com_card_msg">
<div class="com_card_msg_tit"> <div class="com_card_msg_tit">
<img :src="require('@/assets/imgs/icon_huoqu1.png')" />&nbsp;部署次数 <img :src="require('@/assets/imgs/icon_huoqu1.png')" />&nbsp;部署次数
</div> </div>
<div class="com_card_msg_num1">{{ cellData.num }}</div> <div class="com_card_msg_num1">{{ cellData.deploy_times }}</div>
</div> </div>
<div class="com_card_btn"> <div class="com_card_btn">
<el-button size="medium" class="btn_1" @click="addShop(cellData.id)">加入购物车</el-button> <el-button size="medium" class="btn_1" @click="addShop(cellData.id)">加入购物车</el-button>
...@@ -30,13 +30,16 @@ ...@@ -30,13 +30,16 @@
</template> </template>
<script> <script>
import helper from "@/services/helper.js";
export default { export default {
components: {}, components: {},
props: { props: {
url: { type: String, default: "" }, url: { type: String, default: "" },
cellData: { type: Object, default: {} } cellData: { type: Object, default: {} }
}, },
data: () => ({}), data: () => ({
helper: helper
}),
computed: {}, computed: {},
watch: {}, watch: {},
methods: { methods: {
...@@ -45,9 +48,7 @@ export default { ...@@ -45,9 +48,7 @@ export default {
this.$router.push(this.url + "/" + parame); this.$router.push(this.url + "/" + parame);
} }
}, },
addShop(id) { addShop(id) {}
}
}, },
mounted() {} mounted() {}
}; };
......
<template> <template>
<div> <div>
<div v-if="name=='应用商店'" ref="commodityList" class="commodity_card"> <div v-if="urlFilter=='app'" ref="commodityList" class="commodity_card">
<div ref="commodityCardIn" class="commodity_card_list"> <div ref="commodityCardIn" class="commodity_card_list">
<div v-for="item in datas" :cellData="item" :url="url" :key="item.id" class="commodity_card_item"> <div
v-for="item in datas"
:cellData="item"
:url="url"
:key="item.id"
class="commodity_card_item"
>
<commodity-card class="commodity_card_item_in" :cellData="item" :url="url"></commodity-card> <commodity-card class="commodity_card_item_in" :cellData="item" :url="url"></commodity-card>
</div> </div>
</div> </div>
...@@ -78,7 +84,7 @@ export default { ...@@ -78,7 +84,7 @@ export default {
type: Boolean, type: Boolean,
default: false default: false
}, },
name: { type: String, default: "" } urlFilter: { type: String, default: "" }
}, },
data: () => ({ data: () => ({
pagination: { pagination: {
...@@ -121,18 +127,25 @@ export default { ...@@ -121,18 +127,25 @@ export default {
let cardArr = this.$refs.commodityCardIn.children; let cardArr = this.$refs.commodityCardIn.children;
// console.log(rowCardNum, listWidth / rowCardNum); // console.log(rowCardNum, listWidth / rowCardNum);
for (let i = 0; i < cardArr.length; i++) { for (let i = 0; i < cardArr.length; i++) {
cardArr[i].style.width = (listWidth / rowCardNum) - 1 + "px"; cardArr[i].style.width = listWidth / rowCardNum - 1 + "px";
} }
// console.log(this.$refs.commodityCardIn); // console.log(this.$refs.commodityCardIn);
} }
}, },
mounted() { mounted() {},
this.getTotal(); watch: {
if (this.name == "应用商店") { datas: {
this.pageResize(); handler(val) {
window.onresize = () => { this.getTotal();
this.pageResize(); if (this.urlFilter == "app") {
}; setTimeout(() => {
this.pageResize();
window.onresize = () => {
this.pageResize();
};
}, 0);
}
}
} }
} }
}; };
......
...@@ -122,12 +122,15 @@ ...@@ -122,12 +122,15 @@
:class="index == activeBtn ? 'button_filter_act':'button_filter'" :class="index == activeBtn ? 'button_filter_act':'button_filter'"
@click="clickButtonFilter(index)" @click="clickButtonFilter(index)"
>{{ item.name }}</el-button> >{{ item.name }}</el-button>
<div v-if="urlFilter == 'app'" class="btn_right_check">
<el-checkbox v-model="couldTwice" @change="changeTwice">支持二次开发</el-checkbox>
</div>
</div> </div>
<!-- the list --> <!-- the list -->
<commodity-list <commodity-list
:datas="lists" :datas="lists && lists.length != 0 ? lists : []"
:url="url" :url="url"
:name="name" :urlFilter="urlFilter"
:paginationShow="true" :paginationShow="true"
:pageSizeShow="true" :pageSizeShow="true"
@refresh="getNewList" @refresh="getNewList"
...@@ -150,7 +153,13 @@ export default { ...@@ -150,7 +153,13 @@ export default {
default: "" default: ""
}, },
url: { type: String, default: "" }, url: { type: String, default: "" },
name: { type: String, default: "" } name: { type: String, default: "" },
filterNmaes: {
type: Array,
default: () => {
[];
}
}
}, },
data: () => ({ data: () => ({
search: "", search: "",
...@@ -180,62 +189,129 @@ export default { ...@@ -180,62 +189,129 @@ export default {
activeBtn: 0, activeBtn: 0,
lists: [], lists: [],
filterLists: [ filterLists: [
{
id: 110,
name: "",
prop: "",
childDomains: []
},
{ {
id: 10, id: 10,
name: "数据服务类型", name: "",
prop: "serviceTypeInfo", prop: "serviceTypeInfo",
childDomains: [] childDomains: []
}, },
{ {
id: 11, id: 11,
name: "数据领域", name: "",
prop: "serviceDomain", prop: "serviceDomain",
childDomains: [] childDomains: []
}, },
{ {
id: 100, id: 100,
name: "数据来源机构", name: "",
prop: "organizations", prop: "organizations",
childDomains: [] childDomains: []
} }
], ],
page: 1, page: 1,
limit: 10 limit: 10,
couldTwice: false
}), }),
mounted() {}, mounted() {},
watch: { watch: {
urlFilter: { urlFilter: {
handler(val) { handler(val) {
if (val) { if (val) {
if (val == "app") {
this.$set(this.filterLists, 0, {
id: 110,
name: "部署来源",
prop: "",
childDomains: [
{
id: 1,
name: "平台应用",
prop: "",
childDomains: null
},
{
id: 2,
name: "开发者应用",
prop: "",
childDomains: null
}
]
});
}
this.getShopFilter(); this.getShopFilter();
} }
} }
},
filterNmaes: {
handler(val) {
for (let i = 0; i < val.length; i++) {
this.filterLists[i + 1].name = val[i];
}
console.log(this.filterLists)
}
} }
}, },
methods: { methods: {
getShopList() { getShopList() {
let query = { if (this.urlFilter == "app") {
serviceName: this.search, let query = {
serviceType1: this.urlFilter, online_state: this.activeOptions[0].join(","),
serviceType2s: this.activeOptions[0].join(","), appTypes: this.activeOptions[1].join(","),
serviceType3s: this.activeChildOptions[0].join(","), businessArea: this.activeOptions[2].join(","),
dataDomains: this.activeOptions[1].join(","), orgSource: this.activeOptions[3].join(","),
organizeIds: this.activeOptions[2].join(","), developable: Number(this.couldTwice),
orderBy: this.activeBtn, order:
Page: this.page, this.activeBtn == 0
Size: this.limit ? "search_count"
}; : this.activeBtn == 1
this.$api.serviceShop.getServiceShopList(query).then(response => { ? "create_date"
if (response.data.success == "1") { : this.activeBtn == 2
this.lists = response.data.data; ? "apply_times"
} else { : "evaluation",
console.log(response.data.errMsg); page: this.page,
} limit: this.limit,
}); search: this.search
};
this.$api.serviceShop.getAppList(query).then(response => {
if (response.data.success == "1") {
this.lists = response.data.data;
} else {
console.log(response.data.errMsg);
}
});
} else {
let query = {
serviceName: this.search,
serviceType1: this.urlFilter,
serviceType2s: this.activeOptions[1].join(","),
serviceType3s: this.activeChildOptions[1].join(","),
dataDomains: this.activeOptions[2].join(","),
organizeIds: this.activeOptions[3].join(","),
orderBy: this.activeBtn,
Page: this.page,
Size: this.limit
};
this.$api.serviceShop.getServiceShopList(query).then(response => {
if (response.data.success == "1") {
this.lists = response.data.data;
} else {
console.log(response.data.errMsg);
}
});
}
}, },
getShopFilter() { getShopFilter() {
if (this.urlFilter == "app") { if (this.urlFilter == "app") {
this.getAppArea();
this.getAppType();
this.getAppOrg();
this.getShopList();
} else { } else {
let query = { let query = {
type: this.urlFilter type: this.urlFilter
...@@ -243,23 +319,23 @@ export default { ...@@ -243,23 +319,23 @@ export default {
this.$api.serviceShop.getServiceShopFilter(query).then(response => { this.$api.serviceShop.getServiceShopFilter(query).then(response => {
if (response.data.success == 1) { if (response.data.success == 1) {
let data = response.data.data; let data = response.data.data;
this.filterLists[0].childDomains = data.serviceTypeInfo this.filterLists[1].childDomains = data.serviceTypeInfo
? data.serviceTypeInfo ? data.serviceTypeInfo
: []; : [];
this.filterLists[1].childDomains = data.serviceDomain this.filterLists[2].childDomains = data.serviceDomain
? data.serviceDomain ? data.serviceDomain
: []; : [];
this.filterLists[2].childDomains = data.organizations this.filterLists[3].childDomains = data.organizations
? data.organizations ? data.organizations
: []; : [];
setTimeout(() => { setTimeout(() => {
this.judgeHeight(); this.judgeHeight();
}, 0); }, 0);
this.getShopList();
} else { } else {
console.log(response.data.errMsg); console.log(response.data.errMsg);
} }
}); });
this.getShopList();
} }
}, },
judgeHeight() { judgeHeight() {
...@@ -360,6 +436,36 @@ export default { ...@@ -360,6 +436,36 @@ export default {
this.$set(this.activeOptions, item, []); this.$set(this.activeOptions, item, []);
this.$set(this.activeChildOptions, item, []); this.$set(this.activeChildOptions, item, []);
this.getShopList(); this.getShopList();
},
changeTwice() {
this.getShopList();
},
getAppArea() {
this.$api.serviceShop.getAppArea().then(response => {
if (response.data.success == 1) {
this.filterLists[1].childDomains = response.data.data;
} else {
console.log(response.data.errMsg);
}
});
},
getAppType() {
this.$api.serviceShop.getAppType().then(response => {
if (response.data.success == 1) {
this.filterLists[2].childDomains = response.data.data;
} else {
console.log(response.data.errMsg);
}
});
},
getAppOrg() {
this.$api.serviceShop.getAppOrg().then(response => {
if (response.data.success == 1) {
this.filterLists[3].childDomains = response.data.data;
} else {
console.log(response.data.errMsg);
}
});
} }
} }
}; };
...@@ -466,6 +572,12 @@ export default { ...@@ -466,6 +572,12 @@ export default {
} }
.btn_group { .btn_group {
margin-bottom: 15px; margin-bottom: 15px;
position: relative;
}
.btn_right_check {
position: absolute;
right: 20px;
top: 10px;
} }
</style> </style>
<style> <style>
...@@ -485,4 +597,15 @@ export default { ...@@ -485,4 +597,15 @@ export default {
.input_right .el-input__inner:focus-within { .input_right .el-input__inner:focus-within {
border: 1px solid #626de9; border: 1px solid #626de9;
} }
.btn_right_check .el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #626de9;
border-color: #626de9;
}
.btn_right_check .el-checkbox__input.is-checked + .el-checkbox__label {
color: #626de9;
}
.btn_right_check .el-checkbox__input.is-focus .el-checkbox__inner {
border-color: #626de9;
}
</style> </style>
\ No newline at end of file
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<div <div
v-if="cellIsService" v-if="cellIsService"
class="shopping_cell_type" class="shopping_cell_type"
>{{ cellItems.service.data_service_type1_name }}{{ cellItems.service.data_service_type2_name }}{{ cellItems.service.data_service_type3_name }}</div> >{{ cellItems.service.sectors_name }}</div>
<div v-else class="shopping_cell_type">{{ cellItems.application.ywly }}</div> <div v-else class="shopping_cell_type">{{ cellItems.application.ywly }}</div>
<div <div
class="shopping_cell_creator" class="shopping_cell_creator"
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
<service-list :name="name" :url="url" :urlFilter="urlFilter"></service-list> <service-list :filterNmaes="filterNmaes" :name="name" :url="url" :urlFilter="urlFilter"></service-list>
</el-main> </el-main>
</el-container> </el-container>
</div> </div>
...@@ -22,7 +22,8 @@ export default { ...@@ -22,7 +22,8 @@ export default {
data: () => ({ data: () => ({
urlFilter: "", urlFilter: "",
url: "", url: "",
name: "" name: "",
filterNmaes: []
}), }),
mounted() { mounted() {
this.getVal(this.$route.path); this.getVal(this.$route.path);
...@@ -37,36 +38,43 @@ export default { ...@@ -37,36 +38,43 @@ export default {
this.name = "数据服务"; this.name = "数据服务";
this.urlFilter = "5"; this.urlFilter = "5";
this.url = "/shop/sjfwDetail"; this.url = "/shop/sjfwDetail";
this.filterNmaes = ["数据服务类型", "数据领域", "数据来源机构"];
break; break;
case "space_time_service_list": case "space_time_service_list":
this.name = "时空服务"; this.name = "时空服务";
this.urlFilter = "6"; this.urlFilter = "6";
this.url = "/shop/skfwDetail"; this.url = "/shop/skfwDetail";
this.filterNmaes = ["数据服务类型", "数据领域", "数据来源机构"];
break; break;
case "video_service_list": case "video_service_list":
this.name = "视频服务"; this.name = "视频服务";
this.urlFilter = "7"; this.urlFilter = "7";
this.url = ""; this.url = "";
this.filterNmaes = [];
break; break;
case "perception_service_list": case "perception_service_list":
this.name = "感知服务"; this.name = "感知服务";
this.urlFilter = "10"; this.urlFilter = "10";
this.url = ""; this.url = "";
this.filterNmaes = [];
break; break;
case "comprehensive_app_list": case "comprehensive_app_list":
this.name = "综合服务"; this.name = "综合服务";
this.urlFilter = ""; this.urlFilter = "5";
this.url = "/shop/zhfwDetail"; this.url = "/shop/zhfwDetail";
this.filterNmaes = ["数据服务类型", "数据领域", "数据来源机构"];
break; break;
case "app_store_list": case "app_store_list":
this.name = "应用商店"; this.name = "应用商店";
this.urlFilter = "app"; this.urlFilter = "app";
this.url = "/shop/yysdDetail"; this.url = "/shop/yysdDetail";
this.filterNmaes = ["应用类型", "应用领域", "应用来源机构"];
break; break;
default: default:
this.name = ""; this.name = "";
this.urlFilter = ""; this.urlFilter = "";
this.url = ""; this.url = "";
this.filterNmaes = [];
break; break;
} }
} }
......
...@@ -73,6 +73,7 @@ ...@@ -73,6 +73,7 @@
:paginationShow="false" :paginationShow="false"
:pageSizeShow="false" :pageSizeShow="false"
headerCellClassName="th_pink" headerCellClassName="th_pink"
@changeTable="changeTable"
></ces-table> ></ces-table>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="请求体" name="1"> <el-tab-pane label="请求体" name="1">
...@@ -197,7 +198,6 @@ ...@@ -197,7 +198,6 @@
:paginationShow="false" :paginationShow="false"
:pageSizeShow="false" :pageSizeShow="false"
headerCellClassName="th_pink" headerCellClassName="th_pink"
@changeTable="changeTable"
></ces-table> ></ces-table>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -465,7 +465,13 @@ export default { ...@@ -465,7 +465,13 @@ export default {
{ label: "file", value: "file" } { label: "file", value: "file" }
] ]
}, },
{ label: "请求值", prop: "val", type: "upload", align: "center", uploadKey: "field_type" }, {
label: "请求值",
prop: "val",
type: "upload",
align: "center",
uploadKey: "field_type"
},
{ {
label: "操作", label: "操作",
type: "Button", type: "Button",
...@@ -944,13 +950,14 @@ export default { ...@@ -944,13 +950,14 @@ export default {
.fwcs_tabs .el-tabs__header { .fwcs_tabs .el-tabs__header {
margin: 20px 0; margin: 20px 0;
} }
.zhyy_select .el-input__prefix, .el-input__suffix { .zhyy_select .el-input__prefix,
position: absolute; .el-input__suffix {
top: 0; position: absolute;
right: 10px; top: 0;
-webkit-transition: all .3s; right: 10px;
height: 100%; -webkit-transition: all 0.3s;
color: #C0C4CC; height: 100%;
text-align: right; color: #c0c4cc;
text-align: right;
} }
</style> </style>
...@@ -15,16 +15,10 @@ serviceType2s=${params.serviceType2s}&dataDomains=${params.dataDomains}& ...@@ -15,16 +15,10 @@ serviceType2s=${params.serviceType2s}&dataDomains=${params.dataDomains}&
organizeIds=${params.organizeIds}&orderBy=${params.orderBy}& organizeIds=${params.organizeIds}&orderBy=${params.orderBy}&
Page=${params.Page}&Size=${params.Size}`); Page=${params.Page}&Size=${params.Size}`);
}, },
getAppList(params) {
return axios.get(``)
},
getServiceShopDetail(params) { getServiceShopDetail(params) {
return axios.get(`/apaas/serviceapp/v3/servicemarket/detail?serviceId=`) return axios.get(`/apaas/serviceapp/v3/servicemarket/detail?serviceId=`)
}, },
// service list application // service list application
getApparea() {
return axios.get(`/apaas/hubApi/market/businessAreas`)
},
getAppArea() { getAppArea() {
return axios.get(`/apaas/hubApi/market/businessAreas`) return axios.get(`/apaas/hubApi/market/businessAreas`)
}, },
...@@ -36,7 +30,7 @@ Page=${params.Page}&Size=${params.Size}`); ...@@ -36,7 +30,7 @@ Page=${params.Page}&Size=${params.Size}`);
}, },
getAppList(params) { getAppList(params) {
return axios.get(`/apaas/hubApi/market/list?online_state=${params.online_state}&appTypes=${params.appTypes}& return axios.get(`/apaas/hubApi/market/list?online_state=${params.online_state}&appTypes=${params.appTypes}&
businessArea=${params.businessArea}&developable=${params.developable}&page=${params.page}&limit=${params.limit}&search=${params.search}`); businessArea=${params.businessArea}&developable=${params.developable}&orgSource=${params.orgSource}&order=${params.order}&page=${params.page}&limit=${params.limit}&search=${params.search}`);
}, },
// shopping cart // shopping cart
addShoppingCart(params) { addShoppingCart(params) {
......
...@@ -36,16 +36,17 @@ module.exports.dateFormat = function (fmt, timestamp) { ...@@ -36,16 +36,17 @@ module.exports.dateFormat = function (fmt, timestamp) {
} }
module.exports.dateStringTransform = function (date) { module.exports.dateStringTransform = function (date) {
let arr = date.split("T"); if (String(date).indexOf("T") != -1) {
let d = arr[0]; let arr = date.split("T");
let darr = d.split('-'); let t = arr[1];
let tarr = t.split('.000');
let t = arr[1]; let marr = tarr[0].split(':');
let tarr = t.split('.000'); let h = parseInt(marr[0]) >= 10 ? parseInt(marr[0]) : "0" + parseInt(marr[0]);
let marr = tarr[0].split(':'); let m = parseInt(marr[1]) >= 10 ? parseInt(marr[1]) : "0" + parseInt(marr[1]);
let h = parseInt(marr[0]) >= 10 ? parseInt(marr[0]) : "0" + parseInt(marr[0]); let s = parseInt(marr[2]) >= 10 ? parseInt(marr[2]) : "0" + parseInt(marr[2]);
let m = parseInt(marr[1]) >= 10 ? parseInt(marr[1]) : "0" + parseInt(marr[1]); let dd = arr[0] + " " + h + ":" + m + ":" + s;
let s = parseInt(marr[2]) >= 10 ? parseInt(marr[2]) : "0" + parseInt(marr[2]); return dd;
let dd = arr[0] + " " + h + ":" + m + ":" + s; } else {
return dd; return date;
}
} }
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