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

add some

parent 22d93547
......@@ -11,21 +11,21 @@ module.exports = {
assetsPublicPath: "/apaas/ui/",
proxyTable: {
"/apaas": {
target: "http://apaas.gzdata.ydeci.gz.cegn.cn:81//apaas/",
target: "https://apaas3.wodcloud.com/apaas/",
changeOrigin: true,
pathRewrite: {
"^/apaas": ""
}
},
"/awecloud": {
target: "http://apaas.gzdata.ydeci.gz.cegn.cn:81//awecloud/",
target: "https://apaas3.wodcloud.com/awecloud/",
changeOrigin: true,
pathRewrite: {
"^/awecloud": ""
}
},
"/vmap": {
target: "http://apaas.gzdata.ydeci.gz.cegn.cn:81//vmap/",
target: "https://apaas3.wodcloud.com/vmap/",
changeOrigin: true,
pathRewrite: {
"^/vmap": ""
......
......@@ -31,8 +31,8 @@
<i class="el-icon-upload"></i>
<div class="el-upload__text">
<span class="up_fz">将文件拖到此处,或</span>
<em>点击上传</em><br />
<span class="up_fz">{{ up_fz }}</span>
<em>点击上传</em>
<div class="up_fz_1">{{ up_fz }}</div>
</div>
</div>
<el-button size="small" type="primary" v-if="!drag && type == 'default'"
......@@ -130,10 +130,17 @@ export default {
var getListImg = [];
if (value && value.length != 0) {
for (var i = 0; i < value.length; i++) {
getListImg.push({
name: value[i],
url: value[i],
});
if (typeof value[i] == "string") {
getListImg.push({
name: value[i],
url: value[i],
});
} else {
getListImg.push({
name: value[i].name,
url: value[i].url,
});
}
}
}
this.fileArray = [...getListImg];
......@@ -160,7 +167,13 @@ export default {
this.$message.error("上传图片大小不能超过 10MB!");
}
return isJPG && isLt10M;
} else {
} else if (this.type == "md") {
console.log(file);
const isMd = file.name.substring(file.name.length - 3) == ".md";
if (!isMd) {
this.$message.error("上传文件只能是md格式文件!");
}
return isMd;
}
},
handleAvatarSuccess(response, file, fileList) {
......@@ -240,4 +253,10 @@ export default {
.up_fz {
color: #a9aec0;
}
.up_fz_1 {
line-height: 24px;
color: #a9aec0;
position: relative;
bottom: 6px;
}
</style>
\ No newline at end of file
......@@ -464,4 +464,43 @@ export default {
.service_info .el-input-number {
width: 128px;
}
.service_info .el-input-number .el-input-number__decrease {
top: 1px;
left: 1px;
line-height: 34px;
border-radius: 5px 0 0 5px;
border-right-width: 1px;
}
.service_info .el-input-number .el-input-number__increase {
top: 1px;
right: 1px;
line-height: 34px;
border-radius: 0 5px 5px 0;
border-left-width: 1px;
}
.service_info .el-input-number .el-input__inner {
border-width: 1px;
height: 36px;
line-height: 36px;
}
.service_info .el-input-number {
width: 128px;
line-height: 36px;
}
.service_info
.el-input-number__decrease:hover:not(.is-disabled)
~ .el-input
.el-input__inner:not(.is-disabled),
.el-input-number__increase:hover:not(.is-disabled)
~ .el-input
.el-input__inner:not(.is-disabled) {
border-color: #515fe7;
}
.service_info .el-input__inner:focus {
border-color: #515fe7;
}
.service_info .el-input-number__decrease:hover,
.el-input-number__increase:hover {
color: #515fe7;
}
</style>
......@@ -25,7 +25,12 @@
</div>
<div class="main_container-right">
<div class="service_title">
<span class="service_name" v-text="data.name"></span>
<span class="service_name">
{{ data.name }}
<span v-if="data.version && data.version != ''">
( {{ data.version }} )
</span>
</span>
<span class="service_type" v-if="data.type" v-text="data.type"></span>
<span v-if="data.openness == 1" class="tags shared">共享</span>
<span v-else-if="data.openness == 2" class="tags restricted">
......
......@@ -9,6 +9,9 @@
<div class="up_tit_name_in">
<span class="up_tit_name" :title="cellData.name">
{{ cellData.name }}
<span v-if="cellData.version && cellData.version != ''">
( {{ cellData.version }} )</span
>
</span>
</div>
<span
......@@ -51,21 +54,49 @@
{{ cellData.descript }}
</p>
<el-row :gutter="16">
<el-col :span="14" class="com_other1">
<el-col
:span="14"
class="com_other1"
:title="`服务类型:${cellData.data_service_type1_name} ${cellData.data_service_type2_name} ${cellData.data_service_type3_name}`"
>
<span class="name_title">服务类型:</span>
{{ cellData.data_service_type1_name }}
&nbsp;&nbsp;{{ cellData.data_service_type2_name }} &nbsp;&nbsp;{{
cellData.data_service_type3_name
}}
</el-col>
<el-col :span="10" class="com_other1">
<el-col
:span="10"
class="com_other1"
:title="`服务领域:${cellData.sectors_name}`"
>
<span class="name_title">服务领域:</span>
{{ cellData.sectors_name }}
</el-col>
<el-col :span="14" class="com_other">
<el-col
:span="14"
class="com_other"
:title="`更新时间:${helper.dateStringTransform(
cellData.update_date
)}`"
>
<span class="name_title">更新时间:</span>
{{ helper.dateStringTransform(cellData.update_date) }}
</el-col>
<el-col
:span="24"
v-if="urlFilter == '36'"
class="com_other1"
:title="`产品标签:${getTags}`"
>
<span class="name_title">产品标签:</span>
<span
class="card_tag"
v-for="(item, tag_index) in cellData.tags"
:key="`tg_${tag_index}`"
>{{ item }}</span
>
</el-col>
</el-row>
</div>
</div>
......@@ -79,9 +110,18 @@ export default {
props: {
url: { type: String, default: "" },
cellData: { type: Object, default: {} },
urlFilter: { type: String, default: "" },
},
data: () => ({ helper: helper }),
computed: {},
computed: {
getTags() {
let str = "";
this.cellData.tags.forEach((item) => {
str += item + " ";
});
return str;
},
},
watch: {},
methods: {
goUrl(parame) {
......@@ -97,7 +137,7 @@ export default {
<style scoped>
.com_cell {
width: 496px;
height: 208px;
/* height: 208px; */
background-color: #ffffff;
box-shadow: 0px 3px 6px 0px rgba(15, 19, 65, 0.04);
border-radius: 8px 8px 8px 8px;
......@@ -200,7 +240,7 @@ export default {
color: #e15260;
}
.com_cell_down {
padding: 12px 16px 0 16px;
padding: 12px 16px 6px 16px;
}
.com_detail {
color: #8890a7;
......@@ -231,6 +271,16 @@ export default {
.name_title {
color: #8890a7;
}
.card_tags {
display: inline-block;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.card_tag {
color: #515fe7;
margin-right: 8px;
}
</style>
<style>
.com_cell .el-rate__text {
......
......@@ -14,6 +14,7 @@
:cellData="item"
:url="url"
:key="item.id"
:urlFilter="urlFilter"
></commodity-cell>
</div>
<!-- 分页 -->
......
......@@ -92,6 +92,10 @@ export default {
item.active = "shop_ic_yysd_sel";
item.default = "shop_ic_yysd";
break;
case "products_list":
item.active = "shop_nav_iv_chanpinzy_pre";
item.default = "shop_nav_iv_chanpinzy";
break;
default:
item.active = "1";
item.default = "1";
......
......@@ -33,11 +33,19 @@
<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>
<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>
<td>
发布时间:{{ helper.dateStringTransform(item.value.create_time) }}
</td>
<td>
更新时间:{{ helper.dateStringTransform(item.value.update_date) }}
</td>
</tr>
<tr>
<td>请求方式:{{ item.value.req_type }}</td>
......@@ -57,6 +65,27 @@
</tr>
</table>
</div>
<div v-else-if="item.type == 'cp-list'">
<table class="xq_table">
<tr>
<td>产品领域:{{ item.value.cp_area }}</td>
<td>
发布时间:{{ helper.dateStringTransform(item.value.fb_time) }}
</td>
</tr>
<tr>
<td>所属业务系统:<a :href="item.value.org_url" target="blank">{{ item.value.org }}</a></td>
<td class="tags" :title="`产品标签:${getTags(item.value.tags)}`">
产品标签:<span
class="tag_sp"
v-for="(item, tag_index) in item.value.tags"
:key="`tag_${tag_index}`"
>{{ item }}</span
>
</td>
</tr>
</table>
</div>
<workflows-view
v-else-if="item.type == 'workflows'"
:id="item.value"
......@@ -119,9 +148,19 @@ export default {
},
data() {
return {
helper
}
}
helper,
};
},
computed: {},
methods: {
getTags(arr) {
let str = "";
arr.forEach((item) => {
str += item + " ";
});
return str;
},
},
};
</script>
......@@ -201,4 +240,12 @@ export default {
.xq_table tbody > tr:last-child > td {
border-bottom-width: 0;
}
.tags {
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.tag_sp {
margin-right: 8px;
}
</style>
<template>
<div class="sevice_detail">
<div class="apass_breadcrumb">
<el-breadcrumb separator="/">
<el-breadcrumb-item to="/shop">服务超市</el-breadcrumb-item>
<el-breadcrumb-item to="/shop/data_service_list/5">
数据服务
</el-breadcrumb-item>
<el-breadcrumb-item>服务详情信息</el-breadcrumb-item>
</el-breadcrumb>
</div>
<service-info :data="baseInfo" v-if="baseInfo"></service-info>
<service-tabs
:detail-data="detailData"
:provider-data="providerData"
:comments-data="commentsData"
:comments-url="commentsUrl"
></service-tabs>
</div>
</template>
<script>
import serviceInfo from "@/components/service-info/service-info";
import serviceTabs from "@/components/service-tabs/service-tabs";
export default {
components: {
serviceInfo,
serviceTabs,
},
data: () => ({
baseInfo: null,
detailData: null,
providerData: null,
commentsData: null,
}),
computed: {
id() {
return this.$route.params.id;
},
commentsUrl() {
return `/apaas/serviceapp/v3/servicemarket/estimates?serviceId=${this.id}`;
},
},
methods: {
init() {
this.$http
.get("/apaas/serviceapp/v3/servicemarket/detail", {
params: {
serviceId: this.id,
},
})
.then(({ data }) => {
let datas = data.data;
this.baseInfo = {
service_id: this.id,
app_id: 0,
name: datas.name,
// type: "",
openness: datas.openness,
view_count: datas.view_count,
apply_count: datas.apply_count,
cover: datas.cover,
organization_name: datas.organization_name,
create_time: datas.create_time,
update_date: datas.update_date,
sectors_name: datas.sectors_name,
data_service_type: [
datas.data_service_type1_name,
datas.data_service_type2_name,
datas.data_service_type3_name,
],
descript: datas.descript,
serviceRequestSpcs: datas.serviceRequestSpcs || {
spcs_type_1: [],
spcs_type_2: [],
},
scoreDetail: datas.scoreDetail,
month_sale: datas.month_sale,
version: datas.version,
};
this.detailData = [
{
name: "获取流程",
type: "step",
value: ["产品申请", "信息填写", "审核确认", "获取资源"],
},
{
name: "产品信息",
type: "cp-list",
value: {
cp_area: datas.sectors_name,
fb_time: datas.create_time,
org: datas.system_name,
org_url: datas.domain_name,
tags: datas.tags,
},
},
{
name: "产品详情",
type: "rich-text",
value: "",
},
];
if (datas.doc_file != "") {
this.getMd(datas.doc_file);
}
let arr1 = datas.serviceRequestSpcs.spcs_type_1 || [];
let arr2 = datas.serviceRequestSpcs.spcs_type_2 || [];
let arr = arr1.concat(arr2);
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) {
console.log(error);
});
},
getTableData(tableStr) {
let tabledata = (tableStr && JSON.parse(tableStr)) || [];
let addRowId = (data, baseId = "") => {
data.forEach((item, index) => {
let rowId = baseId + (index + 1) + "";
item.rowId = rowId;
if (item.children && item.children.length) {
addRowId(item.children, rowId);
}
});
};
addRowId(tabledata);
return tabledata;
},
getMd(url) {
this.$http
.get(url, {
params: {
serviceId: this.id,
},
})
.then(response => {
this.detailData[2].value = response.data;
})
.catch(function (error) {
console.log(error);
});
}
},
mounted() {
this.init();
},
};
</script>
......@@ -180,7 +180,7 @@ export default {
app_data.duration * parseFloat(data.price) + "金币";
this.service_arr[0]["isMg"] = false;
this.service_arr[0]["isapp"] = true;
console.log(data, this.service_arr)
console.log(data, this.service_arr);
this.all_cost = app_data.duration * parseFloat(data.price);
}
});
......@@ -216,7 +216,7 @@ export default {
objs.auth = data.organization_name;
objs.size = "";
objs.count = "";
let request_spcs_info = data.request_spcs_info||[]
let request_spcs_info = data.request_spcs_info || [];
request_spcs_info.forEach((el) => {
if (service_data.spec_id == el.id) {
let size = "";
......@@ -242,10 +242,12 @@ export default {
objs.applytype =
"申请方式:" + (service_data.duration_unit == 1 ? "" : "");
objs.isMg = data.openness == 3;
objs.data = JSON.parse(data.res_fields);
if (data.data_service_type1 != 36) {
objs.data = JSON.parse(data.res_fields);
}
objs.isapp = false;
this.service_arr = [objs];
console.log(this.service_arr);
console.log(objs, this.service_arr);
} else {
this.$message.error(response.data.errMsg);
}
......@@ -456,7 +458,7 @@ export default {
this.service_arr[l]["isMg"] = e.service.openness == 3;
this.service_arr[l]["data"] = e.service.res_fields
? JSON.parse(e.service.res_fields)
: "[]";
: [];
console.log(this.service_arr[l]["data"]);
this.service_arr[l]["isapp"] = false;
}
......
......@@ -76,6 +76,12 @@ export default {
this.url = "/shop/yysdDetail";
this.filterNames = ["应用类型", "应用领域", "应用来源机构"];
break;
case "products_list":
this.name = "产品资源";
this.urlFilter = "36";
this.url = "/shop/cpDetail";
this.filterNames = ["产品类型", "产品领域", "产品来源组织"];
break;
default:
this.name = "";
this.urlFilter = "";
......
......@@ -11,7 +11,7 @@
<div
v-for="(item, index) in service_arr"
:key="index + 1000"
class="type_select"
:class="item == '' ? '' : 'type_select'"
@click="now_service = index"
:style="
now_service == index ? { borderBottom: '4px solid #f5ab4c' } : {}
......@@ -105,7 +105,9 @@
v-else
:list_arr="
now_service == 0
? list_arr
? data_service_type1 == 36
? cp_arr
: list_arr
: now_service == 1
? servicead_arr
: apply_arr
......@@ -514,6 +516,7 @@ export default {
},
],
service_arr: ["服务基本信息", "接口详细信息", "申请审批信息"],
data_service_type1: "",
service_header_arr: {
id: "",
isMap: false,
......@@ -581,6 +584,37 @@ export default {
info: "",
},
],
cp_arr: [
{
title: "产品简介:",
info: "",
},
{
title: "产品领域:",
info: "",
},
{
title: "产品标签:",
info: "",
},
{
title: "所属组织:",
info: "",
},
{
title: "开放程度:",
info: "",
},
{
title: "注册发布时间:",
info: "",
},
{
title: "产品详情:",
type: "solt",
solt_name: "cp_md",
},
],
servicead_arr: [
{
title: "请求方式:",
......@@ -618,19 +652,19 @@ export default {
},
{
title: "场景描述:",
info: "申请mapvideos服务用于贵州省疫情监控决策指挥系统。",
info: "",
},
{
title: "调用业务系统:",
info: "决策指挥系统",
info: "",
},
{
title: "业务系统域名:",
info: "https://apaas.wodcloud.com/",
info: "",
},
{
title: "申请文件:",
info: "mapvideos申请书.docx",
info: "",
type: "down",
},
{
......@@ -897,6 +931,34 @@ export default {
.replace("Z", "")
.split("+")[0]
);
this.$set(this.cp_arr[0], "info", data.descript);
this.$set(this.cp_arr[1], "info", data.sectors_name);
let strtags = "";
if (data.tags && data.tags.length != 0) {
data.tags.forEach((item) => {
strtags += item + " ";
});
}
this.$set(this.cp_arr[2], "info", strtags);
this.$set(this.cp_arr[3], "info", data.organization_name);
this.$set(this.cp_arr[4], "info", data.openness_name);
this.$set(
this.cp_arr[5],
"info",
data.create_time == "0001-01-01T00:00:00Z"
? "-"
: data.create_time
.replace("T", " ")
.replace("Z", "")
.split("+")[0]
);
this.data_service_type1 = data.data_service_type1;
if (this.data_service_type1 == "36") {
this.service_arr[0] = "产品基本信息";
this.service_arr[1] = "";
this.service_arr[2] = "申请审批信息";
this.getMd(data.doc_file);
}
this.$set(
this.servicead_arr[0],
"info",
......
This diff is collapsed.
This diff is collapsed.
......@@ -73,18 +73,18 @@ export default new Router({
}, // 审批的服务 - 详情
{
path: "/fwgl/:level/:type/cloud_detail/:id",
name: "servicedetail",
name: "cloud_detail",
component: () => import("@/pages/workbench/fwgl/cloud-detail"),
}, // 云资源 - 详情
{
path: "/fwgl/:level/:type/approveWorkspace",
name: "servicedetail",
name: "approveWorkspace",
component: () =>
import("@/pages/workbench/fwgl/approveWorkspace"),
}, // 云资源 - 工作区域审批
{
path: "/fwgl/:level/:type/organizationCloudResource/:id",
name: "servicedetail",
name: "organizationCloudResource",
component: () =>
import("@/pages/workbench/fwgl/organizationCloudResource"),
}, // 云资源 - 组织云资源详情
......@@ -322,6 +322,11 @@ export default new Router({
name: "shopAppStoreList",
component: () => import("@/pages/service_shop/shop_list-new"),
},
{
path: "/shop/products_list/", // 应用商店列表页
name: "shopAppStoreList",
component: () => import("@/pages/service_shop/shop_list-new"),
},
{
path: "/shop/shopping_cart", // 购物车页
name: "shoppingCart",
......@@ -364,6 +369,11 @@ export default new Router({
name: "yysdDetail",
component: () => import("@/pages/service_shop/yysdDetail"),
}, // 服务超市 - 应用详情
{
path: "/shop/cpDetail/:id",
name: "cpDetail",
component: () => import("@/pages/service_shop/cpDetail"),
}, // 服务超市 - 产品资源详情
{
path: "/workplace",
name: "workPlace",
......
......@@ -4801,6 +4801,19 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
markdown-loader@^6.0.0:
version "6.0.0"
resolved "https://registry.npm.taobao.org/markdown-loader/download/markdown-loader-6.0.0.tgz#7f8d40ee98b32d3bb8c5387d58e679600d3edeaa"
integrity sha1-f41A7pizLTu4xTh9WOZ5YA0+3qo=
dependencies:
loader-utils "^1.2.3"
marked "^0.7.0"
marked@^0.7.0:
version "0.7.0"
resolved "https://registry.npm.taobao.org/marked/download/marked-0.7.0.tgz?cache=0&sync_timestamp=1608062041411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmarked%2Fdownload%2Fmarked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e"
integrity sha1-tkIB8FHScbHtwQoE0a6bdLuOXA4=
material-design-icons-iconfont@^4.0.5:
version "4.0.5"
resolved "https://registry.npm.taobao.org/material-design-icons-iconfont/download/material-design-icons-iconfont-4.0.5.tgz#4107ba3b8a9d688a3d9325fc7363af51b17d3aee"
......
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