Commit 88e7b7b1 authored by gaoshiyao's avatar gaoshiyao

Merge branch 'dev' into master

parents 972a92fa 3a3d3014
clone:
git:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-git-arm64:1.0
pipeline:
read-cache:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-cache-arm64:1.0
restore: true
check: yarn.lock
mount:
- ./node_modules
- ./yarn.lock
volumes:
- /data/cache:/cache
build:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-node-arm64:12.18.2-buster
volumes:
- /data/cache/yarn:/usr/local/share/.cache/yarn
commands:
- yarn install
- yarn run build
store-cache:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-cache-arm64:1.0
rebuild: true
mount:
- ./node_modules
- ./yarn.lock
volumes:
- /data/cache:/cache
docker:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-arm64:1.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base-arm64:2.0
repo: wod/apaas-ui-arm64
version: "v3.0.2"
channel: alpha
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch: dev
harbor:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-arm64:1.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base-arm64:2.0
repo: wod/apaas-ui-arm64
version: "v3.0.2"
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch: master
latest:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-arm64:1.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base-arm64:2.0
repo: wod/apaas-ui-arm64
version: "v3.1"
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch: master
branches: [master,dev]
platform: 10.11.92.33 platform: 10.11.92.34
clone: clone:
git: git:
image: registry.cn-qingdao.aliyuncs.com/wod-devops/git:1.4.0 image: registry.cn-qingdao.aliyuncs.com/wod/devops-git:1.0
pull: true pull: true
dns: 223.5.5.5 dns: 223.5.5.5
pipeline: pipeline:
## 读缓存
read-cache: read-cache:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-cache:1.0.0-alpha image: registry.cn-qingdao.aliyuncs.com/wod/devops-cache:1.0
restore: true restore: true
check: yarn.lock
mount: mount:
- ./node_modules - ./node_modules
- ./yarn.lock
volumes: volumes:
- /data/cache:/cache - /data/cache:/cache
## 构建
build: build:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-node:12.18.0-stretch image: registry.cn-qingdao.aliyuncs.com/wod/devops-node:12.18.0-stretch
dns: 223.5.5.5 dns: 223.5.5.5
volumes: volumes:
- /data/cache/yarn:/usr/local/share/.cache/yarn - /data/cache/yarn:/usr/local/share/.cache/yarn
commands: commands:
- yarn install - yarn
- yarn run build - yarn build
store-cache: store-cache:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-cache:1.0.0-alpha image: registry.cn-qingdao.aliyuncs.com/wod/devops-cache:1.0
rebuild: true rebuild: true
mount: mount:
- ./node_modules - ./node_modules
- ./yarn.lock
volumes: volumes:
- /data/cache:/cache - /data/cache:/cache
## 编译成静态文件
docker: docker:
image: registry.cn-qingdao.aliyuncs.com/wod-devops/docker:1.0 image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker:1.0
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0.0 base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0
dockerfile: .beagle/dockerfile
repo: wod/apaas-ui repo: wod/apaas-ui
version: "v3.0" version: v3.0.2
channel: alpha channel: alpha
args: "TARGETOS=linux,TARGETARCH=amd64" ## 不同架构的构建参数
registry: registry.cn-qingdao.aliyuncs.com registry: registry.cn-qingdao.aliyuncs.com
secrets: secrets:
- source: REGISTRY_USER_ALIYUN - source: REGISTRY_USER_ALIYUN
...@@ -45,14 +51,56 @@ pipeline: ...@@ -45,14 +51,56 @@ pipeline:
- source: REGISTRY_PASSWORD_ALIYUN - source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD target: REGISTRY_PASSWORD
when: when:
branch: dev branch:
- dev
## 更换dev生成镜像的名称
harbor: harbor:
image: registry.cn-qingdao.aliyuncs.com/wod-devops/docker:1.0 image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-tag:1.0
dns: 223.5.5.5
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0.0 source: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-alpha
target: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch:
- master
# 生成最终amd版本
latest:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-tag:1.0
dns: 223.5.5.5
volumes:
- /var/run/docker.sock:/var/run/docker.sock
source: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2
target: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch:
- master
# 构建arm64位镜像
docker-arm64:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker:1.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0-arm64
dockerfile: .beagle/dockerfile
repo: wod/apaas-ui repo: wod/apaas-ui
version: "v3.0" version: v3.0.2
channel: alpha-arm64
args: "TARGETOS=linux,TARGETARCH=arm64"
registry: registry.cn-qingdao.aliyuncs.com registry: registry.cn-qingdao.aliyuncs.com
secrets: secrets:
- source: REGISTRY_USER_ALIYUN - source: REGISTRY_USER_ALIYUN
...@@ -60,14 +108,55 @@ pipeline: ...@@ -60,14 +108,55 @@ pipeline:
- source: REGISTRY_PASSWORD_ALIYUN - source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD target: REGISTRY_PASSWORD
when: when:
branch: master branch:
latest: - dev
image: registry.cn-qingdao.aliyuncs.com/wod-devops/docker:1.0
## 更换dev生成arm64镜像的名称
harbor-arm64:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-tag:1.0
dns: 223.5.5.5
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0.0 source: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-alpha-arm64
target: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-arm64
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch:
- master
# 生成最终arm版本
latest-arm64:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-tag:1.0
dns: 223.5.5.5
volumes:
- /var/run/docker.sock:/var/run/docker.sock
source: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-arm64
target: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-arm64
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch:
- master
docker-ppc64le:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker:1.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0-ppc64le
dockerfile: .beagle/dockerfile
repo: wod/apaas-ui repo: wod/apaas-ui
version: "v3.0" version: v3.0.2
channel: alpha-ppc64le
args: "TARGETOS=linux,TARGETARCH=ppc64le"
registry: registry.cn-qingdao.aliyuncs.com registry: registry.cn-qingdao.aliyuncs.com
secrets: secrets:
- source: REGISTRY_USER_ALIYUN - source: REGISTRY_USER_ALIYUN
...@@ -75,15 +164,103 @@ pipeline: ...@@ -75,15 +164,103 @@ pipeline:
- source: REGISTRY_PASSWORD_ALIYUN - source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD target: REGISTRY_PASSWORD
when: when:
branch: master branch:
deploy: - dev
image: registry.cn-qingdao.aliyuncs.com/wod-devops/kubernetes:1.0
namespace: apaas-v3 harbor-ppc64le:
deployment: apaas-ui image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-tag:1.0
container: apaas-ui dns: 223.5.5.5
volumes:
- /var/run/docker.sock:/var/run/docker.sock
source: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-alpha-ppc64le
target: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-ppc64le
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch:
- master
latest-ppc64le:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-tag:1.0
dns: 223.5.5.5
volumes:
- /var/run/docker.sock:/var/run/docker.sock
source: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-ppc64le
target: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-ppc64le
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch:
- master
docker-mips64le:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker:1.0
volumes:
- /var/run/docker.sock:/var/run/docker.sock
base: registry.cn-qingdao.aliyuncs.com/wod-devops/ui-base:2.0-mips64le
dockerfile: .beagle/dockerfile
repo: wod/apaas-ui
version: v3.0.2
channel: alpha-mips64le
args: "TARGETOS=linux,TARGETARCH=mips64le"
registry: registry.cn-qingdao.aliyuncs.com
secrets: secrets:
- source: REGISTRY_USER_ALIYUN - source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN - source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD target: REGISTRY_PASSWORD
branches: [master,dev] when:
branch:
- dev
harbor-mips64le:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-tag:1.0
dns: 223.5.5.5
volumes:
- /var/run/docker.sock:/var/run/docker.sock
source: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-alpha-mips64le
target: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-mips64le
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch:
- master
latest-mips64le:
image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-tag:1.0
dns: 223.5.5.5
volumes:
- /var/run/docker.sock:/var/run/docker.sock
source: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-mips64le
target: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-mips64le
registry: registry.cn-qingdao.aliyuncs.com
secrets:
- source: REGISTRY_USER_ALIYUN
target: REGISTRY_USER
- source: REGISTRY_PASSWORD_ALIYUN
target: REGISTRY_PASSWORD
when:
branch:
- master
deploy:
image: registry.cn-qingdao.aliyuncs.com/wod-devops/kubernetes:1.0
namespace: apaas-v3
deployment: apaas-ui
container: apaas-ui
registry: registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.2-alpha
when:
branch:
- dev
ARG BASE
FROM $BASE
ARG AUTHOR
ARG VERSION
LABEL maintainer=${AUTHOR} version=${VERSION}
ARG TARGETOS
ARG TARGETARCH
ADD ./dist /www
ADD ./build/conf.yaml /www/conf.yaml
\ No newline at end of file
...@@ -228,13 +228,14 @@ div { ...@@ -228,13 +228,14 @@ div {
.el-dialog__header { .el-dialog__header {
border-bottom: 1px solid #edf0ff; border-bottom: 1px solid #edf0ff;
padding: 20px 16px;
} }
.el-dialog__title { .el-dialog__title {
font-size: 16px; font-size: 18px;
font-weight: 700; font-weight: 700;
color: #1d1e20; color: #1d1e20;
padding-left: 8px; padding-left: 12px;
position: relative; position: relative;
} }
...@@ -246,7 +247,19 @@ div { ...@@ -246,7 +247,19 @@ div {
border-radius: 2px; border-radius: 2px;
background-color: #515fe7; background-color: #515fe7;
left: 0; left: 0;
top: 2px; top: 5px;
}
.el-dialog__headerbtn {
top: 24px;
}
.el-dialog__headerbtn .el-dialog__close {
color: #8890a7;
}
.el-dialog__headerbtn:focus .el-dialog__close, .el-dialog__headerbtn:hover .el-dialog__close {
color: #515fe7;
} }
.el-dialog__body { .el-dialog__body {
...@@ -1071,6 +1084,10 @@ border-radius:8px; ...@@ -1071,6 +1084,10 @@ border-radius:8px;
background-color: #242c43 !important; background-color: #242c43 !important;
} }
.el-picker-panel__icon-btn {
color: #0c3ff7;
}
.el-date-table th { .el-date-table th {
border-bottom: 1px solid #3f4864 !important; border-bottom: 1px solid #3f4864 !important;
color: #e3e5ef !important; color: #e3e5ef !important;
...@@ -1197,4 +1214,43 @@ border-radius:8px; ...@@ -1197,4 +1214,43 @@ border-radius:8px;
} }
.el-date-editor .el-range-input { .el-date-editor .el-range-input {
width: 36%; width: 36%;
}
.el-input__inner:focus {
border-color: #515fe7;
}
.el-textarea__inner:focus {
border-color: #515fe7;
}
.el-select .el-input .el-select__caret {
color: #515fe7;
}
.el-input-number__decrease, .el-input-number__increase {
color: #515fe7;
}
.el-input__inner::-webkit-input-placeholder,
.el-textarea__inner::-webkit-input-placeholder {
color: #a9aec0;
}
.el-input__inner:-moz-placeholder,
.el-textarea__inner:-moz-placeholder {/* Firefox 18- */
color: #a9aec0;
}
.el-input__inner::-moz-placeholder,
.el-textarea__inner::-moz-placeholder {/* Firefox 19+ */
color: #a9aec0;
}
.el-input__inner:-ms-input-placeholder,
.el-textarea__inner:-ms-input-placeholder {
color: #a9aec0;
}
[class*=" el-icon-"], [class^=el-icon-] {
font-weight: 700;
}
.el-rate__item .el-rate__icon {
font-size: 18px;
margin-right: 0;
} }
\ No newline at end of file
...@@ -75,6 +75,13 @@ ...@@ -75,6 +75,13 @@
@click.stop="item.callback && item.callback(scope.row)" @click.stop="item.callback && item.callback(scope.row)"
></a> ></a>
</div> </div>
<div v-else-if="item.type === 'button-oo'" class="row_action">
<a
class="btn-oo"
v-text="scope.row[item.prop]"
@click.stop="item.callback && item.callback(scope.row)"
></a>
</div>
<div v-else-if="item.type === 'icon'"> <div v-else-if="item.type === 'icon'">
<img <img
src="../assets/imgs/ic_true.png" src="../assets/imgs/ic_true.png"
...@@ -447,6 +454,11 @@ export default { ...@@ -447,6 +454,11 @@ export default {
.btn_up { .btn_up {
background-image: url("../assets/imgs/btn_fold.png"); background-image: url("../assets/imgs/btn_fold.png");
} }
.btn-oo {
font-size: 14px;
font-weight: bold;
color: #0f2683;
}
.charts { .charts {
position: relative; position: relative;
} }
......
...@@ -12,10 +12,11 @@ ...@@ -12,10 +12,11 @@
<p class="comment-user_name" v-text="item.user_name"></p> <p class="comment-user_name" v-text="item.user_name"></p>
<div class="commnet-rate"> <div class="commnet-rate">
<el-rate <el-rate
:colors="['#e69232', '#e69232', '#e69232']" :colors="['#fac266', '#fac266', '#fac266']"
:value="item.score" :value="item.score"
disabled disabled
score-template="{value}" score-template="{value}"
disabled-void-color="#d9dce5"
> >
</el-rate> </el-rate>
</div> </div>
......
...@@ -7,9 +7,10 @@ ...@@ -7,9 +7,10 @@
<p class="comment-full_score">满分5分</p> <p class="comment-full_score">满分5分</p>
<div class="comment-total_rata"> <div class="comment-total_rata">
<el-rate <el-rate
:colors="['#e69232', '#e69232', '#e69232']" :colors="['#fac266', '#fac266', '#fac266']"
:value="data.score" :value="data.score"
disabled disabled
disabled-void-color="#d9dce5"
> >
</el-rate> </el-rate>
</div> </div>
...@@ -23,7 +24,7 @@ ...@@ -23,7 +24,7 @@
> >
<el-rate <el-rate
class="comments_score_item-rate" class="comments_score_item-rate"
:colors="['#8890a7', '#8890a7', '#8890a7']" :colors="['#fac266', '#fac266', '#fac266']"
:value="item.star" :value="item.star"
disabled disabled
disabled-void-color="transparent" disabled-void-color="transparent"
......
...@@ -25,10 +25,11 @@ ...@@ -25,10 +25,11 @@
</p> </p>
<div class="commnet-rate"> <div class="commnet-rate">
<el-rate <el-rate
:colors="['#e69232', '#e69232', '#e69232']" :colors="['#fac266', '#fac266', '#fac266']"
:value="item.score" :value="item.score"
disabled disabled
score-template="{value}" score-template="{value}"
disabled-void-color="#d9dce5"
></el-rate> ></el-rate>
</div> </div>
<p class="comment-description" v-text="item.message"></p> <p class="comment-description" v-text="item.message"></p>
...@@ -158,10 +159,10 @@ export default { ...@@ -158,10 +159,10 @@ export default {
<style> <style>
.comment-right > .commnet-rate .el-rate { .comment-right > .commnet-rate .el-rate {
height: 20px; height: 18px;
} }
.comment-right > .commnet-rate .el-rate__icon { .comment-right > .commnet-rate .el-rate__icon {
font-size: 20px; font-size: 18px;
margin-right: 0; margin-right: 0;
} }
</style> </style>
<template> <template>
<ul class="star_list apaas_scroll"> <ul class="star_list apaas_scroll">
<li class="item_list" v-for="(option, index) in options" :key="'star_info_' + index"> <li
class="item_list"
v-for="(option, index) in options"
:key="'star_info_' + index"
>
<el-rate <el-rate
v-if="show_star" v-if="show_star"
class="item-rate" class="item-rate"
:colors="['#8890a7', '#8890a7', '#8890a7']" :colors="['#fac266', '#fac266', '#fac266']"
:value="option.star" :value="option.star"
disabled disabled
disabled-void-color="transparent" disabled-void-color="transparent"
...@@ -12,11 +16,15 @@ ...@@ -12,11 +16,15 @@
<span v-else class="data_title">{{ option.title }}</span> <span v-else class="data_title">{{ option.title }}</span>
<el-progress <el-progress
class="item-progress" class="item-progress"
:percentage="getPercent(option.count)" :percentage="Number(getPercent(option.count))"
:show-text="false" :show-text="false"
:color="show_star ? color : colors[index]" :color="show_star ? color : colors[index]"
></el-progress> ></el-progress>
<span v-if="!show_star" class="item_text_1" v-text="option.percent + '%'"></span> <span
v-if="!show_star"
class="item_text_1"
v-text="option.percent + '%'"
></span>
<span class="item-text" v-text="option.count + '个'"></span> <span class="item-text" v-text="option.count + '个'"></span>
</li> </li>
</ul> </ul>
...@@ -27,28 +35,33 @@ export default { ...@@ -27,28 +35,33 @@ export default {
props: { props: {
options: { options: {
type: Array, type: Array,
default: () => [] default: () => [],
}, },
total: { total: {
type: Number, type: Number,
default: () => 10 default: () => 10,
}, },
show_star: { show_star: {
type: Boolean, type: Boolean,
default: true default: true,
} },
}, },
data() { data() {
return { return {
color: "#e56600", color: "#e56600",
colors: ["#25bdb1", "#f5ab4c", "#e15260", "#274fee", "#58617a"] colors: ["#25bdb1", "#f5ab4c", "#e15260", "#274fee", "#58617a"],
}; };
}, },
methods: { methods: {
getPercent(value) { getPercent(value) {
return Math.min((value / this.total) * 100, 100); if (value == 0) {
} return 0;
} } else {
let num = Math.min((value / this.total) * 100, 100);
return num;
}
},
},
}; };
</script> </script>
......
...@@ -46,7 +46,7 @@ export default { ...@@ -46,7 +46,7 @@ export default {
} }
if (this.datas) { if (this.datas) {
let obj = ""; let obj = "";
console.log(typeof JSON.parse(this.datas)); // console.log(typeof JSON.parse(this.datas));
try { try {
if (typeof JSON.parse(this.datas) == "object") { if (typeof JSON.parse(this.datas) == "object") {
obj = JSON.stringify(JSON.parse(this.datas), null, "\t"); obj = JSON.stringify(JSON.parse(this.datas), null, "\t");
......
...@@ -31,8 +31,8 @@ ...@@ -31,8 +31,8 @@
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text"> <div class="el-upload__text">
<span class="up_fz">将文件拖到此处,或</span> <span class="up_fz">将文件拖到此处,或</span>
<em>点击上传</em><br /> <em>点击上传</em>
<span class="up_fz">{{ up_fz }}</span> <div class="up_fz_1">{{ up_fz }}</div>
</div> </div>
</div> </div>
<el-button size="small" type="primary" v-if="!drag && type == 'default'" <el-button size="small" type="primary" v-if="!drag && type == 'default'"
...@@ -130,10 +130,17 @@ export default { ...@@ -130,10 +130,17 @@ export default {
var getListImg = []; var getListImg = [];
if (value && value.length != 0) { if (value && value.length != 0) {
for (var i = 0; i < value.length; i++) { for (var i = 0; i < value.length; i++) {
getListImg.push({ if (typeof value[i] == "string") {
name: value[i], getListImg.push({
url: value[i], name: value[i],
}); url: value[i],
});
} else {
getListImg.push({
name: value[i].name,
url: value[i].url,
});
}
} }
} }
this.fileArray = [...getListImg]; this.fileArray = [...getListImg];
...@@ -160,7 +167,13 @@ export default { ...@@ -160,7 +167,13 @@ export default {
this.$message.error("上传图片大小不能超过 10MB!"); this.$message.error("上传图片大小不能超过 10MB!");
} }
return isJPG && isLt10M; 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) { handleAvatarSuccess(response, file, fileList) {
...@@ -240,4 +253,10 @@ export default { ...@@ -240,4 +253,10 @@ export default {
.up_fz { .up_fz {
color: #a9aec0; color: #a9aec0;
} }
.up_fz_1 {
line-height: 24px;
color: #a9aec0;
position: relative;
bottom: 6px;
}
</style> </style>
\ No newline at end of file
...@@ -209,6 +209,7 @@ ...@@ -209,6 +209,7 @@
:colors="colors" :colors="colors"
show-score show-score
score-template="{value}" score-template="{value}"
disabled-void-color="#d9dce5"
></el-rate> ></el-rate>
</div> </div>
<p>填写评价:</p> <p>填写评价:</p>
...@@ -310,6 +311,7 @@ ...@@ -310,6 +311,7 @@
v-model="message.score" v-model="message.score"
disabled disabled
:colors="colors" :colors="colors"
disabled-void-color="#d9dce5"
></el-rate> ></el-rate>
</div> </div>
<div class="msg_title">评价详情:</div> <div class="msg_title">评价详情:</div>
...@@ -334,7 +336,7 @@ export default { ...@@ -334,7 +336,7 @@ export default {
}, },
data: () => ({ data: () => ({
visible: false, visible: false,
colors: ["#99A9BF", "#F7BA2A", "#FF9900"], colors: ["#fac266", "#fac266", "#fac266"],
serviceRate: null, serviceRate: null,
textarea: "", textarea: "",
showMsgBox: false, showMsgBox: false,
...@@ -391,12 +393,12 @@ export default { ...@@ -391,12 +393,12 @@ export default {
}); });
} else if (this.cellItem.order_type == 2) { } else if (this.cellItem.order_type == 2) {
let query = { let query = {
app: this.cellItem.app_id, app_id: this.cellItem.app_id,
content: this.textarea, content: this.textarea,
score: this.serviceRate, score: this.serviceRate,
apply_id: this.cellItem.apply_id, apply_id: this.cellItem.apply_id,
}; };
this.$api.user.addServiceEvaluation(query).then((response) => { this.$api.user.addAppEvaluation(query).then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.$message({ this.$message({
message: "评价订单成功", message: "评价订单成功",
...@@ -436,11 +438,12 @@ export default { ...@@ -436,11 +438,12 @@ export default {
}); });
}, },
nextApply() { nextApply() {
console.log(this.cellItem.spec_app)
let query = {}; let query = {};
if (this.cellItem.order_type == 1) { if (this.cellItem.order_type == 1) {
query = { query = {
service_id: parseFloat(this.cellItem.service_id), service_id: parseFloat(this.cellItem.service_id),
spcs_id: this.cellItem.spcs_id, spec_id: this.cellItem.svc_spec_id,
duration: this.cellItem.duration, duration: this.cellItem.duration,
duration_unit: this.cellItem.duration_unit, duration_unit: this.cellItem.duration_unit,
}; };
...@@ -451,7 +454,7 @@ export default { ...@@ -451,7 +454,7 @@ export default {
} else if (this.cellItem.order_type == 2) { } else if (this.cellItem.order_type == 2) {
query = { query = {
app_id: parseFloat(this.cellItem.app_id), app_id: parseFloat(this.cellItem.app_id),
spec_id: this.cellItem.spec_app++, spec_id: this.cellItem.svc_spec_id,
duration: this.cellItem.duration, duration: this.cellItem.duration,
duration_unit: this.cellItem.duration_unit, duration_unit: this.cellItem.duration_unit,
}; };
...@@ -723,7 +726,7 @@ export default { ...@@ -723,7 +726,7 @@ export default {
font-size: 24px; font-size: 24px;
} }
.pop_rate .el-rate__text { .pop_rate .el-rate__text {
font-size: 20px; font-size: 18px;
margin-left: 20px; margin-left: 20px;
position: relative; position: relative;
top: 1px; top: 1px;
......
...@@ -34,7 +34,7 @@ export default { ...@@ -34,7 +34,7 @@ export default {
}, },
created() { created() {
if(this.data.length<=1&&this.data[this.data.length-1].result=='审批通过'){ if(this.data.length<=1&&this.data[this.data.length-1]&&this.data[this.data.length-1].result=='审批通过'){
this.data.push({ this.data.push({
title: "二级审批", title: "二级审批",
result: "审批中", result: "审批中",
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
<label v-for="(item, index) in data.second" :key="index + 2500"> <label v-for="(item, index) in data.second" :key="index + 2500">
{{ item.name }}: {{ item.name }}:
<a <a
v-if="item.name.indexOf('地址') !== -1" v-if="item.name.indexOf('地址') !== -1 && item.text != '暂无'"
style="color:#515fe7;text-decoration: none;" style="color:#515fe7;text-decoration: none;"
target="_blank" target="_blank"
:href="item.text" :href="item.text"
......
...@@ -114,11 +114,11 @@ export default { ...@@ -114,11 +114,11 @@ export default {
}, },
addToCart() { addToCart() {
// console.log("addToCart"); // console.log("addToCart");
console.log(this.datas)
this.$http this.$http
.post("/apaas/serviceapp/v3/shopcart/add", { .post("/apaas/serviceapp/v3/shopcart/add", {
service_id: 0, // 0表示不是服务 service_id: 0, // 0表示不是服务
app_id: parseFloat(this.data.app_id), app_id: parseFloat(this.datas.app_id),
spec_id: this.specificationID, spec_id: this.specificationID,
duration: 1, duration: 1,
duration_method: 1, duration_method: 1,
...@@ -151,7 +151,7 @@ export default { ...@@ -151,7 +151,7 @@ export default {
this.$router.push({ this.$router.push({
path: "/shop/shop_car_apply", path: "/shop/shop_car_apply",
query: { query: {
app_id: parseFloat(this.data.app_id), app_id: parseFloat(this.datas.app_id),
spec_id: this.specificationID, spec_id: this.specificationID,
duration: 1, duration: 1,
duration_unit: 1, duration_unit: 1,
...@@ -464,4 +464,43 @@ export default { ...@@ -464,4 +464,43 @@ export default {
.service_info .el-input-number { .service_info .el-input-number {
width: 128px; 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> </style>
...@@ -60,7 +60,7 @@ export default { ...@@ -60,7 +60,7 @@ export default {
background-color: #8f93a1; background-color: #8f93a1;
} }
.map_view_container { .map_view_container {
height: 666px; /* height: 666px; */
} }
.map_view_container > iframe { .map_view_container > iframe {
display: block; display: block;
......
...@@ -25,7 +25,12 @@ ...@@ -25,7 +25,12 @@
</div> </div>
<div class="main_container-right"> <div class="main_container-right">
<div class="service_title"> <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 class="service_type" v-if="data.type" v-text="data.type"></span>
<span v-if="data.openness == 1" class="tags shared">共享</span> <span v-if="data.openness == 1" class="tags shared">共享</span>
<span v-else-if="data.openness == 2" class="tags restricted"> <span v-else-if="data.openness == 2" class="tags restricted">
...@@ -44,7 +49,9 @@ ...@@ -44,7 +49,9 @@
<p class="des_p">{{ data.descript }}</p> <p class="des_p">{{ data.descript }}</p>
<div class="jiage_d"> <div class="jiage_d">
<div class="dbn_wkdn"> <div class="dbn_wkdn">
<span class="gnekg_fwf"><span style="margin-right: 30px;"></span>格:</span><span class="ndwa_indowa"> <span class="gnekg_fwf"
><span style="margin-right: 30px"></span>格:</span
><span class="ndwa_indowa">
{{ {{
specification && specification.money specification && specification.money
? specification.money * (showTime ? duration : 1) ? specification.money * (showTime ? duration : 1)
...@@ -54,8 +61,11 @@ ...@@ -54,8 +61,11 @@
<span class="kfdf_jffa">金币</span> <span class="kfdf_jffa">金币</span>
</div> </div>
<div class="nmd_kwd"> <div class="nmd_kwd">
<span class="bgnerighur">月售:<span class="ndwa_dn">{{ data.month_sale }}</span <span class="bgnerighur"
></span> >月售:<span class="ndwa_dn"
>{{ data.month_sale }}
</span></span
>
<img src="@/assets/imgs/shop_ic_star.png" class="dwin_diwa" /> <img src="@/assets/imgs/shop_ic_star.png" class="dwin_diwa" />
<span class="dn_wjd">{{ data.scoreDetail.avgScore }}</span> <span class="dn_wjd">{{ data.scoreDetail.avgScore }}</span>
</div> </div>
...@@ -94,12 +104,13 @@ ...@@ -94,12 +104,13 @@
{{ {{
specification && specification.spcs_type == 1 specification && specification.spcs_type == 1
? specification.descript ? specification.descript
: data.serviceRequestSpcs.spcs_type_1 && data.serviceRequestSpcs.spcs_type_1.length != 0 ? data.serviceRequestSpcs.spcs_type_1[0].descript : "" : data.serviceRequestSpcs.spcs_type_1 &&
data.serviceRequestSpcs.spcs_type_1.length != 0
? data.serviceRequestSpcs.spcs_type_1[0].descript
: ""
}} }}
</div> </div>
<div <div class="commodity_information">
class="commodity_information"
>
<span class="guige_title">时长收费:</span> <span class="guige_title">时长收费:</span>
<span <span
v-if=" v-if="
...@@ -389,8 +400,8 @@ export default { ...@@ -389,8 +400,8 @@ export default {
} }
.service_title > .service_type { .service_title > .service_type {
flex-shrink: 0; flex-shrink: 0;
height: 24px; height: 22px;
padding: 0 12px; padding: 0 7px;
border: 1px solid #5362ee; border: 1px solid #5362ee;
background-color: #5362ee; background-color: #5362ee;
border-radius: 4px; border-radius: 4px;
...@@ -542,7 +553,7 @@ export default { ...@@ -542,7 +553,7 @@ export default {
position: absolute; position: absolute;
width: 1px; width: 1px;
height: 14px; height: 14px;
background-color:#eccb8a; background-color: #eccb8a;
top: 8px; top: 8px;
left: -44px; left: -44px;
} }
...@@ -563,16 +574,16 @@ export default { ...@@ -563,16 +574,16 @@ export default {
border-radius: 6px; border-radius: 6px;
color: #fcefd6; color: #fcefd6;
font-size: 16px; font-size: 16px;
margin-right: 24px; margin-right: 14px;
} }
.tags { .tags {
display: inline-block; display: inline-block;
margin-left: 8px; margin-left: 8px;
height: 24px; height: 22px;
padding: 0 12px; padding: 0 7px;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
line-height: 24px; line-height: 22px;
border-radius: 4px; border-radius: 4px;
position: relative; position: relative;
top: 1px; top: 1px;
...@@ -622,7 +633,7 @@ export default { ...@@ -622,7 +633,7 @@ export default {
.spec_des { .spec_des {
margin-left: 128px; margin-left: 128px;
color: rgba(88, 97, 122, 0.5); color: rgba(88, 97, 122, 0.5);
font-size: 14px; font-size: 12px;
line-height: 14px; line-height: 14px;
margin-top: 8px; margin-top: 8px;
} }
...@@ -639,25 +650,42 @@ export default { ...@@ -639,25 +650,42 @@ export default {
border-color: #515fe7; border-color: #515fe7;
} }
.service_info .el-input-number .el-input-number__decrease { .service_info .el-input-number .el-input-number__decrease {
top: 2px; top: 1px;
left: 2px; left: 1px;
width: 38px; line-height: 34px;
line-height: 36px; border-radius: 5px 0 0 5px;
border-radius: 8px 0 0 8px; border-right-width: 1px;
border-right-width: 2px;
} }
.service_info .el-input-number .el-input-number__increase { .service_info .el-input-number .el-input-number__increase {
top: 2px; top: 1px;
right: 2px; right: 1px;
width: 38px; line-height: 34px;
line-height: 36px; border-radius: 0 5px 5px 0;
border-radius: 0 8px 8px 0; border-left-width: 1px;
border-left-width: 2px;
} }
.service_info .el-input-number .el-input__inner { .service_info .el-input-number .el-input__inner {
border-width: 2px; border-width: 1px;
height: 36px;
line-height: 36px;
} }
.service_info .el-input-number { .service_info .el-input-number {
width: 128px; 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> </style>
...@@ -7,7 +7,10 @@ ...@@ -7,7 +7,10 @@
<div class="com_cell_up_right"> <div class="com_cell_up_right">
<div class="up_title"> <div class="up_title">
<div class="up_tit_name_in"> <div class="up_tit_name_in">
<span class="up_tit_name" :title="cellData.app_name + ' ( V' + cellData.version + ' )'"> <span
class="up_tit_name"
:title="cellData.app_name + ' ( V' + cellData.version + ' )'"
>
{{ cellData.app_name }} ( V{{ cellData.version }} ) {{ cellData.app_name }} ( V{{ cellData.version }} )
</span> </span>
</div> </div>
...@@ -19,6 +22,8 @@ ...@@ -19,6 +22,8 @@
show-score show-score
text-color="#ea7d19" text-color="#ea7d19"
score-template="{value}" score-template="{value}"
:colors="['#fac266', '#fac266', '#fac266']"
disabled-void-color="#d9dce5"
></el-rate> ></el-rate>
<p class="get_num"> <p class="get_num">
获取次数: 获取次数:
...@@ -38,14 +43,14 @@ ...@@ -38,14 +43,14 @@
{{ cellData.yyjj }} {{ cellData.yyjj }}
</p> </p>
<el-row :gutter="16"> <el-row :gutter="16">
<el-col :span="14" class="com_other"> <el-col :span="14" class="com_other1">
<span class="name_title">应用类型:</span> <span class="name_title">应用类型:</span>
{{ cellData.type_name }} {{ cellData.type_name }}
&nbsp;&nbsp;{{ cellData.data_service_type2_name }} &nbsp;&nbsp;{{ &nbsp;&nbsp;{{ cellData.data_service_type2_name }} &nbsp;&nbsp;{{
cellData.data_service_type3_name cellData.data_service_type3_name
}} }}
</el-col> </el-col>
<el-col :span="10" class="com_other"> <el-col :span="10" class="com_other1">
<span class="name_title">业务领域:</span> <span class="name_title">业务领域:</span>
{{ cellData.area_name }} {{ cellData.area_name }}
</el-col> </el-col>
...@@ -158,13 +163,13 @@ export default { ...@@ -158,13 +163,13 @@ export default {
.tags { .tags {
display: inline-block; display: inline-block;
margin-left: 8px; margin-left: 8px;
padding: 2px 8px 3px; padding: 3px 8px 3px;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
line-height: 12px; line-height: 12px;
border-radius: 4px; border-radius: 4px;
position: relative; position: relative;
top: 1px; top: 0px;
} }
.map_service { .map_service {
background-color: #626de9; background-color: #626de9;
...@@ -197,7 +202,7 @@ export default { ...@@ -197,7 +202,7 @@ export default {
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
overflow: hidden; overflow: hidden;
height: 42px; height: 42px;
margin-bottom: 8px; margin-bottom: 5px;
} }
.com_other { .com_other {
color: #58617a; color: #58617a;
...@@ -207,15 +212,19 @@ export default { ...@@ -207,15 +212,19 @@ export default {
-webkit-line-clamp: 1; -webkit-line-clamp: 1;
overflow: hidden; overflow: hidden;
} }
.com_other1 {
color: #58617a;
margin-bottom: 9px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.name_title { .name_title {
color: #8890a7; color: #8890a7;
} }
</style> </style>
<style> <style>
.com_cell .el-rate__item .el-rate__icon {
font-size: 20px;
margin-right: 0;
}
.com_cell .el-rate__text { .com_cell .el-rate__text {
margin-left: 4px; margin-left: 4px;
position: relative; position: relative;
......
...@@ -9,6 +9,9 @@ ...@@ -9,6 +9,9 @@
<div class="up_tit_name_in"> <div class="up_tit_name_in">
<span class="up_tit_name" :title="cellData.name"> <span class="up_tit_name" :title="cellData.name">
{{ cellData.name }} {{ cellData.name }}
<span v-if="cellData.version && cellData.version != ''">
( {{ cellData.version }} )</span
>
</span> </span>
</div> </div>
<span <span
...@@ -29,7 +32,9 @@ ...@@ -29,7 +32,9 @@
disabled disabled
show-score show-score
text-color="#ea7d19" text-color="#ea7d19"
:colors="['#fac266', '#fac266', '#fac266']"
score-template="{value}" score-template="{value}"
disabled-void-color="#d9dce5"
></el-rate> ></el-rate>
<p class="get_num"> <p class="get_num">
获取次数: 获取次数:
...@@ -49,21 +54,49 @@ ...@@ -49,21 +54,49 @@
{{ cellData.descript }} {{ cellData.descript }}
</p> </p>
<el-row :gutter="16"> <el-row :gutter="16">
<el-col :span="14" class="com_other"> <el-col
:span="14"
class="com_other1"
v-if="cellData.data_service_type1 != 36"
:title="`服务类型:${cellData.data_service_type1_name} ${cellData.data_service_type2_name} ${cellData.data_service_type3_name}`"
>
<span class="name_title">服务类型:</span> <span class="name_title">服务类型:</span>
{{ cellData.data_service_type1_name }} {{ cellData.data_service_type1_name }}
&nbsp;&nbsp;{{ cellData.data_service_type2_name }} &nbsp;&nbsp;{{ &nbsp;&nbsp;{{ cellData.data_service_type2_name }} &nbsp;&nbsp;{{
cellData.data_service_type3_name cellData.data_service_type3_name
}} }}
</el-col> </el-col>
<el-col :span="10" class="com_other"> <el-col
<span class="name_title">服务领域:</span> :span="10"
class="com_other1"
:title="`${cellData.data_service_type1 != 36 ? '服务领域:' : '产品领域:'}${cellData.sectors_name}`"
>
<span class="name_title">{{ cellData.data_service_type1 != 36 ? '服务领域:' : '产品领域:' }}</span>
{{ cellData.sectors_name }} {{ cellData.sectors_name }}
</el-col> </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> <span class="name_title">更新时间:</span>
{{ helper.dateStringTransform(cellData.update_date) }} {{ helper.dateStringTransform(cellData.update_date) }}
</el-col> </el-col>
<el-col
:span="24"
v-if="urlFilter == '36'"
class="com_other1"
:title="`${getTags(cellData.tags)}`"
>
<span
class="card_tag"
v-for="(item, tag_index) in cellData.tags"
:key="`tg_${tag_index}`"
>{{ item }}</span
>
</el-col>
</el-row> </el-row>
</div> </div>
</div> </div>
...@@ -77,9 +110,12 @@ export default { ...@@ -77,9 +110,12 @@ export default {
props: { props: {
url: { type: String, default: "" }, url: { type: String, default: "" },
cellData: { type: Object, default: {} }, cellData: { type: Object, default: {} },
urlFilter: { type: String, default: "" },
}, },
data: () => ({ helper: helper }), data: () => ({ helper: helper }),
computed: {}, computed: {
},
watch: {}, watch: {},
methods: { methods: {
goUrl(parame) { goUrl(parame) {
...@@ -87,6 +123,14 @@ export default { ...@@ -87,6 +123,14 @@ export default {
this.$router.push(this.url + "/" + parame); this.$router.push(this.url + "/" + parame);
} }
}, },
getTags(arr) {
if (arr && arr.length != 0) {
let str = arr.join(" / ");
return str;
} else {
return "";
}
},
}, },
mounted() {}, mounted() {},
}; };
...@@ -95,17 +139,17 @@ export default { ...@@ -95,17 +139,17 @@ export default {
<style scoped> <style scoped>
.com_cell { .com_cell {
width: 496px; width: 496px;
height: 208px; /* height: 208px; */
background-color: #ffffff; background-color: #ffffff;
box-shadow: 0px 3px 6px 0px rgba(15, 19, 65, 0.04); box-shadow: 0px 3px 6px 0px rgba(15, 19, 65, 0.04);
border-radius: 12px 12px 8px 8px; border-radius: 8px 8px 8px 8px;
border: solid 1px #e3e4ef; border: solid 1px #e3e4ef;
margin-bottom: 24px; margin-bottom: 24px;
} }
.com_cell_up { .com_cell_up {
height: 88px; height: 88px;
background-color: #f9fafc; background-color: #f9fafc;
border-radius: 12px 12px 0px 0px; border-radius: 8px 8px 0px 0px;
padding: 16px; padding: 16px;
display: flex; display: flex;
position: relative; position: relative;
...@@ -169,13 +213,13 @@ export default { ...@@ -169,13 +213,13 @@ export default {
.tags { .tags {
display: inline-block; display: inline-block;
margin-left: 8px; margin-left: 8px;
padding: 2px 8px 3px; padding: 3px 8px 3px;
font-size: 12px; font-size: 12px;
font-weight: 500; font-weight: 500;
line-height: 12px; line-height: 12px;
border-radius: 4px; border-radius: 4px;
position: relative; position: relative;
top: 1px; top: 0px;
} }
.map_service { .map_service {
background-color: #626de9; background-color: #626de9;
...@@ -198,7 +242,7 @@ export default { ...@@ -198,7 +242,7 @@ export default {
color: #e15260; color: #e15260;
} }
.com_cell_down { .com_cell_down {
padding: 12px 16px 0 16px; padding: 12px 16px 6px 16px;
} }
.com_detail { .com_detail {
color: #8890a7; color: #8890a7;
...@@ -208,7 +252,7 @@ export default { ...@@ -208,7 +252,7 @@ export default {
-webkit-line-clamp: 2; -webkit-line-clamp: 2;
overflow: hidden; overflow: hidden;
height: 42px; height: 42px;
margin-bottom: 8px; margin-bottom: 5px;
} }
.com_other { .com_other {
color: #58617a; color: #58617a;
...@@ -218,15 +262,34 @@ export default { ...@@ -218,15 +262,34 @@ export default {
-webkit-line-clamp: 1; -webkit-line-clamp: 1;
overflow: hidden; overflow: hidden;
} }
.com_other1 {
color: #58617a;
margin-bottom: 9px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.name_title { .name_title {
color: #8890a7; color: #8890a7;
} }
.card_tags {
display: inline-block;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.card_tag {
display: inline-block;
color: #515fe7;
margin-right: 16px;
border: solid 1px #b4c0f5;
background-color: #eeeffd;
border-radius: 4px;
padding: 2px 6px;
}
</style> </style>
<style> <style>
.com_cell .el-rate__item .el-rate__icon {
font-size: 20px;
margin-right: 0;
}
.com_cell .el-rate__text { .com_cell .el-rate__text {
margin-left: 4px; margin-left: 4px;
position: relative; position: relative;
......
...@@ -41,6 +41,8 @@ ...@@ -41,6 +41,8 @@
show-score show-score
text-color="#58617a" text-color="#58617a"
score-template="{value}" score-template="{value}"
:colors="['#fac266', '#fac266', '#fac266']"
disabled-void-color="#d9dce5"
></el-rate> ></el-rate>
<div class="com_cell_right_text"> <div class="com_cell_right_text">
<span class="com_cell_right_time_tit">本月获取次数:</span> <span class="com_cell_right_time_tit">本月获取次数:</span>
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
:cellData="item" :cellData="item"
:url="url" :url="url"
:key="item.id" :key="item.id"
:urlFilter="urlFilter"
></commodity-cell> ></commodity-cell>
</div> </div>
<!-- 分页 --> <!-- 分页 -->
......
...@@ -92,6 +92,10 @@ export default { ...@@ -92,6 +92,10 @@ export default {
item.active = "shop_ic_yysd_sel"; item.active = "shop_ic_yysd_sel";
item.default = "shop_ic_yysd"; item.default = "shop_ic_yysd";
break; break;
case "products_list":
item.active = "shop_nav_iv_chanpinzy_pre";
item.default = "shop_nav_iv_chanpinzy";
break;
default: default:
item.active = "1"; item.active = "1";
item.default = "1"; item.default = "1";
...@@ -138,7 +142,7 @@ export default { ...@@ -138,7 +142,7 @@ export default {
color: #515fe7; color: #515fe7;
} }
.menu_img { .menu_img {
width: 24px; /* width: 24px; */
margin-right: 6px; margin-right: 6px;
} }
.menu_item { .menu_item {
......
...@@ -19,6 +19,12 @@ ...@@ -19,6 +19,12 @@
:src="require('@/assets/imgs/shop_img_hqlc_yingyong.png')" :src="require('@/assets/imgs/shop_img_hqlc_yingyong.png')"
/> />
</div> </div>
<div class="step_div" v-else-if="item.type == 'step_cp'">
<img
class="step_img"
:src="require('@/assets/imgs/shop_img_hqlc_chanpin.png')"
/>
</div>
<p <p
v-else-if="item.type == 'text'" v-else-if="item.type == 'text'"
class="detail-text" class="detail-text"
...@@ -33,11 +39,19 @@ ...@@ -33,11 +39,19 @@
<table class="xq_table"> <table class="xq_table">
<tr> <tr>
<td>数据领域:{{ item.value.sectors_name }}</td> <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>
<tr> <tr>
<td>发布时间:{{ helper.dateStringTransform(item.value.create_time) }}</td> <td>
<td>更新时间:{{ helper.dateStringTransform(item.value.update_date) }}</td> 发布时间:{{ helper.dateStringTransform(item.value.create_time) }}
</td>
<td>
更新时间:{{ helper.dateStringTransform(item.value.update_date) }}
</td>
</tr> </tr>
<tr> <tr>
<td>请求方式:{{ item.value.req_type }}</td> <td>请求方式:{{ item.value.req_type }}</td>
...@@ -57,6 +71,26 @@ ...@@ -57,6 +71,26 @@
</tr> </tr>
</table> </table>
</div> </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)}`">
产品标签:{{ getTags(item.value.tags) }}
</td>
</tr>
</table>
</div>
<workflows-view <workflows-view
v-else-if="item.type == 'workflows'" v-else-if="item.type == 'workflows'"
:id="item.value" :id="item.value"
...@@ -119,9 +153,20 @@ export default { ...@@ -119,9 +153,20 @@ export default {
}, },
data() { data() {
return { return {
helper helper,
} };
} },
computed: {},
methods: {
getTags(arr) {
if (arr.length != 0) {
let str = arr.join(" / ");
return str;
} else {
return "";
}
},
},
}; };
</script> </script>
...@@ -201,4 +246,12 @@ export default { ...@@ -201,4 +246,12 @@ export default {
.xq_table tbody > tr:last-child > td { .xq_table tbody > tr:last-child > td {
border-bottom-width: 0; border-bottom-width: 0;
} }
.tags {
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
}
.tag_sp {
margin-right: 8px;
}
</style> </style>
...@@ -74,7 +74,7 @@ export default { ...@@ -74,7 +74,7 @@ export default {
}, },
{ {
label: "价格", label: "价格",
prop: "spcs", prop: "spce",
align: "center", align: "center",
width: "200" width: "200"
}, },
......
...@@ -58,7 +58,7 @@ export default { ...@@ -58,7 +58,7 @@ export default {
}, },
providerTitle: { providerTitle: {
type: String, type: String,
default: () => "提供组织", default: () => "服务机构及规格信息",
}, },
commentsTitle: { commentsTitle: {
type: String, type: String,
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<el-breadcrumb-item :to="{ path: '/shop' }">服务超市</el-breadcrumb-item> <el-breadcrumb-item :to="{ path: '/shop' }">服务超市</el-breadcrumb-item>
<el-breadcrumb-item>{{ name }}</el-breadcrumb-item> <el-breadcrumb-item>{{ name }}</el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
<block-radius :paddingNum="24"> <block-radius :borRadius="8" :paddingNum="24">
<el-form <el-form
ref="form" ref="form"
:inline="true" :inline="true"
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
</el-row> </el-row>
</el-form> </el-form>
</block-radius> </block-radius>
<block-radius :paddingNum="24"> <block-radius :borRadius="8" :paddingNum="24">
<el-tabs v-model="activeName" class="cloud_form" @tab-click="tabClick"> <el-tabs v-model="activeName" class="cloud_form" @tab-click="tabClick">
<el-tab-pane label="申请新的工作区域" name="0"> <el-tab-pane label="申请新的工作区域" name="0">
<el-form ref="formNew" :model="formNew" :rules="ruleNew"> <el-form ref="formNew" :model="formNew" :rules="ruleNew">
...@@ -609,7 +609,7 @@ ...@@ -609,7 +609,7 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</block-radius> </block-radius>
<block-radius v-if="!(activeName == 1 && !formShow)"> <block-radius :borRadius="8" v-if="!(activeName == 1 && !formShow)">
<div class="btn_footer fyzj_item"> <div class="btn_footer fyzj_item">
<div class="fyzj"> <div class="fyzj">
<p class="fyzj_p"> <p class="fyzj_p">
...@@ -951,7 +951,7 @@ ...@@ -951,7 +951,7 @@
</div> </div>
<div class="clear_xxx"></div> <div class="clear_xxx"></div>
</div> </div>
<div class="btn_footer"> <div class="btn_footer acc">
<el-button class="cancel" @click="cancel">取消</el-button> <el-button class="cancel" @click="cancel">取消</el-button>
<el-button class="submit1" @click="determineSubmit">确定提交</el-button> <el-button class="submit1" @click="determineSubmit">确定提交</el-button>
</div> </div>
...@@ -1181,13 +1181,13 @@ export default { ...@@ -1181,13 +1181,13 @@ export default {
formNew: { formNew: {
handler() { handler() {
if (this.formNew.containerGroup % 1 != 0) { if (this.formNew.containerGroup % 1 != 0) {
this.formNew.containerGroup = Math.floor(this.formNew.containerGroup) this.formNew.containerGroup = Math.floor(this.formNew.containerGroup);
} }
if (this.formNew.dataDisk % 1 != 0) { if (this.formNew.dataDisk % 1 != 0) {
this.formNew.dataDisk = Math.floor(this.formNew.dataDisk) this.formNew.dataDisk = Math.floor(this.formNew.dataDisk);
} }
if (this.formNew.appDuration % 1 != 0) { if (this.formNew.appDuration % 1 != 0) {
this.formNew.appDuration = Math.floor(this.formNew.appDuration) this.formNew.appDuration = Math.floor(this.formNew.appDuration);
} }
}, },
deep: true, deep: true,
...@@ -1195,17 +1195,17 @@ export default { ...@@ -1195,17 +1195,17 @@ export default {
formOld: { formOld: {
handler() { handler() {
if (this.formOld.containerGroup % 1 != 0) { if (this.formOld.containerGroup % 1 != 0) {
this.formOld.containerGroup = Math.floor(this.formOld.containerGroup) this.formOld.containerGroup = Math.floor(this.formOld.containerGroup);
} }
if (this.formOld.dataDisk % 1 != 0) { if (this.formOld.dataDisk % 1 != 0) {
this.formOld.dataDisk = Math.floor(this.formOld.dataDisk) this.formOld.dataDisk = Math.floor(this.formOld.dataDisk);
} }
if (this.formOld.appDuration % 1 != 0) { if (this.formOld.appDuration % 1 != 0) {
this.formOld.appDuration = Math.floor(this.formOld.appDuration) this.formOld.appDuration = Math.floor(this.formOld.appDuration);
} }
}, },
deep: true, deep: true,
} },
}, },
data() { data() {
var checkName = (rule, value, callback) => { var checkName = (rule, value, callback) => {
...@@ -2015,6 +2015,8 @@ export default { ...@@ -2015,6 +2015,8 @@ export default {
.btn_footer { .btn_footer {
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
}
.acc {
margin: 0 20px; margin: 0 20px;
} }
.btn_footer .submit { .btn_footer .submit {
...@@ -2022,6 +2024,9 @@ export default { ...@@ -2022,6 +2024,9 @@ export default {
background-color: #e56600; background-color: #e56600;
color: #f8f9fd; color: #f8f9fd;
} }
.btn_footer .submit:focus {
border: #d93d00 1px solid;
}
.btn_footer .nosubmit { .btn_footer .nosubmit {
width: 220px; width: 220px;
background-color: #a9aec0; background-color: #a9aec0;
...@@ -2125,7 +2130,7 @@ export default { ...@@ -2125,7 +2130,7 @@ export default {
} }
.ckfymx_qian { .ckfymx_qian {
display: inline-block; display: inline-block;
margin-left: 20px; margin-left: 30px;
position: relative; position: relative;
} }
.ckfymx_qian::after { .ckfymx_qian::after {
...@@ -2134,7 +2139,7 @@ export default { ...@@ -2134,7 +2139,7 @@ export default {
width: 1px; width: 1px;
height: 16px; height: 16px;
background: #bcc1d0; background: #bcc1d0;
left: -10px; left: -16px;
top: 2px; top: 2px;
} }
.yebz { .yebz {
...@@ -2274,6 +2279,8 @@ export default { ...@@ -2274,6 +2279,8 @@ export default {
background-color: #f7f8f9; background-color: #f7f8f9;
border-radius: 6px; border-radius: 6px;
color: #242c43; color: #242c43;
font-size: inherit;
font-family: Microsoft YaHei, sans-serif;
} }
.form_item .el-form-item__content { .form_item .el-form-item__content {
width: 100%; width: 100%;
......
...@@ -152,6 +152,7 @@ ...@@ -152,6 +152,7 @@
:row="scope.row" :row="scope.row"
:ids="item.id" :ids="item.id"
:detailsUrl="detailsUrl" :detailsUrl="detailsUrl"
:ites="ites"
></v-apaas-table-umhref> ></v-apaas-table-umhref>
<!-- could edit --> <!-- could edit -->
<v-apaas-table-input <v-apaas-table-input
...@@ -400,6 +401,10 @@ export default { ...@@ -400,6 +401,10 @@ export default {
maxheight: { maxheight: {
type: [String, Number], type: [String, Number],
default: " " default: " "
},
ites: {
type: Boolean,
default: false,
} }
}, },
data() { data() {
......
<template> <template>
<span> <span>
<span v-if="this.row.id||ids" class="href" @click="goHref(baseVal)">{{ text }}</span> <span v-if="this.row.id || ids" class="href" @click="goHref(baseVal)">{{
<span v-else>{{text}}</span> text
}}</span>
<span v-else>{{ text }}</span>
</span> </span>
</template> </template>
...@@ -10,35 +12,42 @@ import helper from "@/services/helper"; ...@@ -10,35 +12,42 @@ import helper from "@/services/helper";
import format from "string-format"; import format from "string-format";
export default { export default {
props: ["header", "row", "detailsUrl","ids"], props: ["header", "row", "detailsUrl", "ids", "ites"],
computed: { computed: {
text: function() { text: function () {
let text = helper.GetProperty(this.row, this.header.prop); let text = helper.GetProperty(this.row, this.header.prop);
return text; return text;
}, },
// get row.id value // get row.id value
baseVal: function() { baseVal: function () {
let baseVal = helper.GetProperty(this.row, "id"); let baseVal = helper.GetProperty(this.row, "id");
return baseVal; return baseVal;
}, },
}, },
created(){ created() {},
},
methods: { methods: {
// Jump routing using id as parameter // Jump routing using id as parameter
goHref(val) { goHref(val) {
if(this.ids){ if (this.ids) {
if(this.ids.indexOf('.')==-1){ if (this.ids.indexOf(".") == -1) {
this.$router.push(this.detailsUrl + this.row[this.ids]) if (this.ites) {
}else{ console.log(this.row)
this.$router.push(this.detailsUrl + this.row[this.ids.split('.')[0]][this.ids.split('.')[1]]) this.$router.push(this.detailsUrl + this.row[this.ids] + "/" + this.row.app_id);
} else {
this.$router.push(this.detailsUrl + this.row[this.ids]);
}
} else {
this.$router.push(
this.detailsUrl +
this.row[this.ids.split(".")[0]][this.ids.split(".")[1]]
);
} }
}else{ } else {
this.$router.push(this.detailsUrl + val) console.log("!123");
this.$router.push(this.detailsUrl + val);
} }
} },
} },
}; };
</script> </script>
<style scoped> <style scoped>
......
...@@ -70,7 +70,7 @@ export default { ...@@ -70,7 +70,7 @@ export default {
node.img = require("@/assets/svg/topology_ic_ganzhifw.svg"); node.img = require("@/assets/svg/topology_ic_ganzhifw.svg");
node.size = [15, 15]; node.size = [15, 15];
break; break;
case "综合应用": case "融合服务":
node.type = "image"; node.type = "image";
node.img = require("@/assets/svg/topology_ic_zonghefw.svg"); node.img = require("@/assets/svg/topology_ic_zonghefw.svg");
node.size = [15, 15]; node.size = [15, 15];
...@@ -313,7 +313,7 @@ export default { ...@@ -313,7 +313,7 @@ export default {
type: "image", type: "image",
img: require("@/assets/svg/topology_ic_zonghefw.svg"), img: require("@/assets/svg/topology_ic_zonghefw.svg"),
size: [15, 15], size: [15, 15],
label: "综合应用", label: "融合服务",
}, },
], ],
}; };
......
<template> <template>
<div class="workflows-view" ref="flowContainer" :style="{ zoom: zoom }"> <div class="workflows-view" ref="flowContainer" :style="{ zoom: zoom, height: Number(max_height + 180) + 'px' }">
<super-flow <super-flow
ref="superFlow" ref="superFlow"
:node-list="nodeList" :node-list="nodeList"
...@@ -86,6 +86,7 @@ export default { ...@@ -86,6 +86,7 @@ export default {
origin: [], origin: [],
nodeList: [], nodeList: [],
linkList: [], linkList: [],
max_height: 650,
}; };
}, },
methods: { methods: {
...@@ -120,10 +121,17 @@ export default { ...@@ -120,10 +121,17 @@ export default {
...node, ...node,
}; };
} }
});
});
nodeList.forEach(item => {
// console.log(item.coordinate)
if (item.coordinate[1] > this.max_height) {
this.max_height = item.coordinate[1]
}
});
this.nodeList = nodeList; this.nodeList = nodeList;
this.linkList = linkList; this.linkList = linkList;
console.log(this.max_height)
}) })
.catch(function (error) { .catch(function (error) {
console.log(error); console.log(error);
...@@ -157,7 +165,7 @@ export default { ...@@ -157,7 +165,7 @@ export default {
<style scoped> <style scoped>
.workflows-view { .workflows-view {
width: 100%; width: 100%;
height: 830px; /* height: 830px; */
background-color: #fbfcfe; background-color: #fbfcfe;
border-radius: 10px; border-radius: 10px;
margin-top: 10px; margin-top: 10px;
......
...@@ -497,7 +497,7 @@ export default { ...@@ -497,7 +497,7 @@ export default {
this.backPage(); this.backPage();
this.$message.success("新增成功"); this.$message.success("新增成功");
} else { } else {
this.$message.error("新增失败"); this.$message.error(response.data.errMsg);
} }
}) })
.catch((response) => { .catch((response) => {
......
...@@ -252,7 +252,7 @@ ...@@ -252,7 +252,7 @@
<el-col :span="24" class="in_block"> <el-col :span="24" class="in_block">
<block-radius <block-radius
:show_header="true" :show_header="true"
title="服务开程度统计" title="服务开程度统计"
:buttons_arr="['发布的服务', '调用的服务']" :buttons_arr="['发布的服务', '调用的服务']"
@changeButton="changeOpenessBtnindex" @changeButton="changeOpenessBtnindex"
class="block" class="block"
...@@ -472,31 +472,31 @@ export default { ...@@ -472,31 +472,31 @@ export default {
starlistData: [ starlistData: [
{ {
star: 5, star: 5,
count: 5, count: 0,
unit: "", unit: "",
}, },
{ {
star: 4, star: 4,
count: 4, count: 0,
unit: "", unit: "",
}, },
{ {
star: 3, star: 3,
count: 3, count: 0,
unit: "", unit: "",
}, },
{ {
star: 2, star: 2,
count: 2, count: 0,
unit: "", unit: "",
}, },
{ {
star: 1, star: 1,
count: 1, count: 0,
unit: "", unit: "",
}, },
], // 服务评分 ], // 服务评分
starlistTotal: 15, starlistTotal: 0,
hotSearchHeader: [], // 热门搜索 表头 hotSearchHeader: [], // 热门搜索 表头
hotSearchData: [], // 热门搜索 数据 hotSearchData: [], // 热门搜索 数据
graph_arr: { graph_arr: {
...@@ -588,7 +588,7 @@ export default { ...@@ -588,7 +588,7 @@ export default {
}; };
// top5_rank // top5_rank
this.hotSearchData = []; this.hotSearchData = [];
if (data.top5_rank && data.top5_rank.length) { if (data.top5_rank && data.top5_rank.length != 0) {
data.top5_rank.forEach((e, idx) => { data.top5_rank.forEach((e, idx) => {
this.hotSearchData.push({ this.hotSearchData.push({
id: e.service_id, id: e.service_id,
...@@ -722,10 +722,27 @@ export default { ...@@ -722,10 +722,27 @@ export default {
}) })
.then((response) => { .then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.commentlistData = response.data.data.concat( if (this.right_3_state == 0) {
this.commentlistData let data = response.data.data || [];
); this.commentlistData = data.concat(this.commentlistData);
this.last_id = this.commentlistData[0].last_id; if (this.commentlistData && this.commentlistData.length != 0) {
this.last_id = this.commentlistData[0].last_id;
}
} else {
let data = response.data.data;
this.starlistData[0].count = data.score5;
this.starlistData[1].count = data.score4;
this.starlistData[2].count = data.score3;
this.starlistData[3].count = data.score2;
this.starlistData[4].count = data.score1;
this.starlistTotal =
data.score5 +
data.score4 +
data.score3 +
data.score2 +
data.score1;
console.log(this.starlistData, this.starlistTotal)
}
} }
}); });
}, },
......
...@@ -315,7 +315,7 @@ export default { ...@@ -315,7 +315,7 @@ export default {
now_app_count: 14, now_app_count: 14,
now_app_deploy: 1, now_app_deploy: 1,
now_app_evalute: 1, now_app_evalute: 1,
now_app_approval: 0, now_app_approval: 14,
now_app_approval_state: 0, now_app_approval_state: 0,
mult_data: [ mult_data: [
{ name: "基础工具", value: 0 }, { name: "基础工具", value: 0 },
......
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
<el-col :span="24" class="in_block"> <el-col :span="24" class="in_block">
<block-radius <block-radius
:show_header="true" :show_header="true"
title="服务开程度统计" title="服务开程度统计"
:buttons_arr="['发布的服务', '调用的服务']" :buttons_arr="['发布的服务', '调用的服务']"
@changeButton="changeOpenessBtnindex" @changeButton="changeOpenessBtnindex"
class="block" class="block"
...@@ -325,7 +325,7 @@ export default { ...@@ -325,7 +325,7 @@ export default {
{ name: "时空服务", value: 0 }, { name: "时空服务", value: 0 },
{ name: "视频服务", value: 0 }, { name: "视频服务", value: 0 },
{ name: "感知服务", value: 0 }, { name: "感知服务", value: 0 },
{ name: "合服务", value: 0 }, { name: "合服务", value: 0 },
], ],
fwsp_data: [ fwsp_data: [
{ name: "已审批", value: 0 }, { name: "已审批", value: 0 },
...@@ -500,7 +500,7 @@ export default { ...@@ -500,7 +500,7 @@ export default {
}; };
// top5_rank // top5_rank
this.hotSearchData = []; this.hotSearchData = [];
if (data.top5_rank && data.top5_rank.length) { if (data.top5_rank && data.top5_rank.length != 0) {
data.top5_rank.forEach((e, idx) => { data.top5_rank.forEach((e, idx) => {
this.hotSearchData.push({ this.hotSearchData.push({
id: e.service_id, id: e.service_id,
...@@ -634,12 +634,27 @@ export default { ...@@ -634,12 +634,27 @@ export default {
}) })
.then((response) => { .then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
if (response.data.data) { if (this.right_3_state == 0) {
this.commentlistData = response.data.data.concat( let data = response.data.data || [];
this.commentlistData this.commentlistData = data.concat(this.commentlistData);
); if (this.commentlistData && this.commentlistData.length != 0) {
this.last_id = this.commentlistData[0].last_id;
}
} else {
let data = response.data.data;
this.starlistData[0].count = data.score5;
this.starlistData[1].count = data.score4;
this.starlistData[2].count = data.score3;
this.starlistData[3].count = data.score2;
this.starlistData[4].count = data.score1;
this.starlistTotal =
data.score5 +
data.score4 +
data.score3 +
data.score2 +
data.score1;
console.log(this.starlistData, this.starlistTotal)
} }
this.last_id = this.commentlistData[0].last_id;
} }
}); });
}, },
......
...@@ -309,7 +309,7 @@ export default { ...@@ -309,7 +309,7 @@ export default {
now_app_count: 14, now_app_count: 14,
now_app_deploy: 1, now_app_deploy: 1,
now_app_evalute: 1, now_app_evalute: 1,
now_app_approval: 0, now_app_approval: 14,
now_app_approval_state: 0, now_app_approval_state: 0,
mult_data: [ mult_data: [
{ name: "基础工具", value: 0 }, { name: "基础工具", value: 0 },
...@@ -711,10 +711,7 @@ export default { ...@@ -711,10 +711,7 @@ export default {
.then((response) => { .then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
let data = response.data.data; let data = response.data.data;
this.serviceSpData = { this.Yysp_data = data.series[0].data;
xAxisData: data.data,
seriesData: data.series,
};
} }
}); });
}, },
......
...@@ -201,7 +201,7 @@ ...@@ -201,7 +201,7 @@
<el-col :span="24" class="in_block"> <el-col :span="24" class="in_block">
<block-radius <block-radius
:show_header="true" :show_header="true"
title="服务开程度统计" title="服务开程度统计"
:buttons_arr="['发布的服务', '调用的服务']" :buttons_arr="['发布的服务', '调用的服务']"
@changeButton="changeOpenessBtnindex" @changeButton="changeOpenessBtnindex"
class="block" class="block"
...@@ -319,7 +319,7 @@ export default { ...@@ -319,7 +319,7 @@ export default {
{ name: "时空服务", value: 0 }, { name: "时空服务", value: 0 },
{ name: "视频服务", value: 0 }, { name: "视频服务", value: 0 },
{ name: "感知服务", value: 0 }, { name: "感知服务", value: 0 },
{ name: "合服务", value: 0 }, { name: "合服务", value: 0 },
], ],
fwsp_data: [ fwsp_data: [
{ name: "已审批", value: 0 }, { name: "已审批", value: 0 },
...@@ -494,7 +494,7 @@ export default { ...@@ -494,7 +494,7 @@ export default {
}; };
// top5_rank // top5_rank
this.hotSearchData = []; this.hotSearchData = [];
if (data.top5_rank && data.top5_rank.length) { if (data.top5_rank && data.top5_rank.length != 0) {
data.top5_rank.forEach((e, idx) => { data.top5_rank.forEach((e, idx) => {
this.hotSearchData.push({ this.hotSearchData.push({
id: e.service_id, id: e.service_id,
...@@ -628,11 +628,26 @@ export default { ...@@ -628,11 +628,26 @@ export default {
}) })
.then((response) => { .then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
if (response.data.data) { if (this.right_3_state == 0) {
this.commentlistData = response.data.data.concat( let data = response.data.data || [];
this.commentlistData this.commentlistData = data.concat(this.commentlistData);
); if (this.commentlistData && this.commentlistData.length != 0) {
this.last_id = this.commentlistData[0].last_id; this.last_id = this.commentlistData[0].last_id;
}
} else {
let data = response.data.data;
this.starlistData[0].count = data.score5;
this.starlistData[1].count = data.score4;
this.starlistData[2].count = data.score3;
this.starlistData[3].count = data.score2;
this.starlistData[4].count = data.score1;
this.starlistTotal =
data.score5 +
data.score4 +
data.score3 +
data.score2 +
data.score1;
console.log(this.starlistData, this.starlistTotal)
} }
} }
}); });
......
...@@ -161,22 +161,22 @@ export default { ...@@ -161,22 +161,22 @@ export default {
{ {
name: "服务类型", name: "服务类型",
prop: "fwlx", prop: "fwlx",
data: ["数据服务", "时空服务", "视频服务", "感知服务", "综合应用"] data: ["数据服务", "时空服务", "视频服务", "感知服务", "融合服务"]
}, },
{ {
name: "服务领域", name: "服务领域",
prop: "fwly", prop: "fwly",
data: ["数据服务", "时空服务", "视频服务", "感知服务", "综合应用"] data: ["数据服务", "时空服务", "视频服务", "感知服务", "融合服务"]
}, },
{ {
name: "开放程度", name: "开放程度",
prop: "kfcd", prop: "kfcd",
data: ["数据服务", "时空服务", "视频服务", "感知服务", "综合应用"] data: ["数据服务", "时空服务", "视频服务", "感知服务", "融合服务"]
}, },
{ {
name: "服务状态", name: "服务状态",
prop: "fwzt", prop: "fwzt",
data: ["数据服务", "时空服务", "视频服务", "感知服务", "综合应用"] data: ["数据服务", "时空服务", "视频服务", "感知服务", "融合服务"]
} }
], ],
params: { params: {
......
<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/products_list/36">
产品资源
</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_cp",
value: ["产品申请", "信息填写", "审核确认", "获取资源"],
},
{
name: "产品信息",
type: "cp-list",
value: {
cp_area: datas.sectors_name,
fb_time: datas.update_date,
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) {
if (url == "") {
this.detailData[2].value = "";
} else {
this.$http
.get(url)
.then((response) => {
this.detailData[2].value = response.data;
})
.catch(function (error) {
console.log(error);
});
}
},
},
mounted() {
this.init();
},
};
</script>
...@@ -73,7 +73,7 @@ export default { ...@@ -73,7 +73,7 @@ export default {
datas.data_service_type3_name, datas.data_service_type3_name,
], ],
descript: datas.descript, descript: datas.descript,
serviceRequestSpcs: datas.serviceRequestSpcs, serviceRequestSpcs: datas.serviceRequestSpcs || {spcs_type_1: [],spcs_type_2: []},
scoreDetail: datas.scoreDetail, scoreDetail: datas.scoreDetail,
month_sale: datas.month_sale, month_sale: datas.month_sale,
}; };
......
...@@ -45,9 +45,9 @@ ...@@ -45,9 +45,9 @@
:showSummary="false" :showSummary="false"
></shop-list> ></shop-list>
<!-- 综合应用 --> <!-- 融合服务 -->
<shop-list <shop-list
name="综合应用" name="融合服务"
to="/shop/comprehensive_app_list/21" to="/shop/comprehensive_app_list/21"
detail-path="/shop/zhfwDetail/" detail-path="/shop/zhfwDetail/"
:data="comprehensive_datas" :data="comprehensive_datas"
......
This diff is collapsed.
...@@ -76,6 +76,12 @@ export default { ...@@ -76,6 +76,12 @@ export default {
this.url = "/shop/yysdDetail"; this.url = "/shop/yysdDetail";
this.filterNames = ["应用类型", "应用领域", "应用来源机构"]; this.filterNames = ["应用类型", "应用领域", "应用来源机构"];
break; break;
case "products_list":
this.name = "产品资源";
this.urlFilter = "36";
this.url = "/shop/cpDetail";
this.filterNames = ["产品类型", "产品领域", "产品来源组织"];
break;
default: default:
this.name = ""; this.name = "";
this.urlFilter = ""; this.urlFilter = "";
......
...@@ -73,7 +73,7 @@ export default { ...@@ -73,7 +73,7 @@ export default {
datas.data_service_type3_name, datas.data_service_type3_name,
], ],
descript: datas.descript, descript: datas.descript,
serviceRequestSpcs: datas.serviceRequestSpcs, serviceRequestSpcs: datas.serviceRequestSpcs || {spcs_type_1: [],spcs_type_2: []},
scoreDetail: datas.scoreDetail, scoreDetail: datas.scoreDetail,
month_sale: datas.month_sale, month_sale: datas.month_sale,
}; };
......
...@@ -82,7 +82,7 @@ export default { ...@@ -82,7 +82,7 @@ export default {
descript: datas.descript, descript: datas.descript,
scoreDetail: datas.scoreDetail, scoreDetail: datas.scoreDetail,
month_sale: datas.month_sale, month_sale: datas.month_sale,
serviceRequestSpcs: datas.serviceRequestSpcs, serviceRequestSpcs: datas.serviceRequestSpcs || {spcs_type_1: [],spcs_type_2: []},
}; };
this.detailData = [ this.detailData = [
......
...@@ -73,7 +73,7 @@ export default { ...@@ -73,7 +73,7 @@ export default {
datas.data_service_type3_name, datas.data_service_type3_name,
], ],
descript: datas.descript, descript: datas.descript,
serviceRequestSpcs: datas.serviceRequestSpcs, serviceRequestSpcs: datas.serviceRequestSpcs || {spcs_type_1: [],spcs_type_2: []},
scoreDetail: datas.scoreDetail, scoreDetail: datas.scoreDetail,
month_sale: datas.month_sale, month_sale: datas.month_sale,
}; };
......
...@@ -113,7 +113,8 @@ export default { ...@@ -113,7 +113,8 @@ export default {
this.$api.serviceShop this.$api.serviceShop
.getExtendedInfo({ id: this.id }) .getExtendedInfo({ id: this.id })
.then((response) => { .then((response) => {
this.baseInfo.app_id = data.data.app_id; console.log(data)
this.baseInfo.app_id = response.data.data.app_id;
this.baseInfo.app_name = data.data.app_name; this.baseInfo.app_name = data.data.app_name;
this.baseInfo.apply_id = data.data.apply_id; this.baseInfo.apply_id = data.data.apply_id;
this.baseInfo.apply_times = data.data.apply_times; this.baseInfo.apply_times = data.data.apply_times;
...@@ -137,13 +138,14 @@ export default { ...@@ -137,13 +138,14 @@ export default {
this.baseInfo.price_style = response.data.data.price_style; this.baseInfo.price_style = response.data.data.price_style;
this.baseInfo.sale = response.data.data.sale; this.baseInfo.sale = response.data.data.sale;
this.baseInfo.star = response.data.data.star; 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,
};
console.log(this.baseInfo)
}); });
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) { .catch(function (error) {
console.log(error); console.log(error);
......
...@@ -74,7 +74,7 @@ export default { ...@@ -74,7 +74,7 @@ export default {
datas.data_service_type3_name, datas.data_service_type3_name,
], ],
descript: datas.descript, descript: datas.descript,
serviceRequestSpcs: datas.serviceRequestSpcs, serviceRequestSpcs: datas.serviceRequestSpcs || {spcs_type_1: [],spcs_type_2: []},
scoreDetail: datas.scoreDetail, scoreDetail: datas.scoreDetail,
month_sale: datas.month_sale, month_sale: datas.month_sale,
}; };
......
...@@ -151,8 +151,11 @@ export default { ...@@ -151,8 +151,11 @@ export default {
{ {
label: "SDK类型", label: "SDK类型",
prop: "style_name", prop: "style_name",
type: "button", type: "button-oo",
width: 240, width: 240,
callback: function(value) {
console.log(value);
}
}, },
{ {
label: "版本号", label: "版本号",
......
...@@ -97,6 +97,7 @@ ...@@ -97,6 +97,7 @@
:colors="colors" :colors="colors"
show-score show-score
score-template="{value}" score-template="{value}"
disabled-void-color="#d9dce5"
></el-rate> ></el-rate>
</div> </div>
<p>填写评价:</p> <p>填写评价:</p>
...@@ -188,6 +189,7 @@ ...@@ -188,6 +189,7 @@
v-model="message.score" v-model="message.score"
disabled disabled
:colors="colors" :colors="colors"
disabled-void-color="#d9dce5"
></el-rate> ></el-rate>
</div> </div>
<div class="msg_title">评价详情:</div> <div class="msg_title">评价详情:</div>
...@@ -276,7 +278,7 @@ ...@@ -276,7 +278,7 @@
{{ orderDetail.single_money }}金币/ {{ orderDetail.single_money }}金币/
{{ {{
orderDetail.spcs_type == 1 orderDetail.spcs_type == 1
? orderDetail.spec_count + "" ? orderDetail.spcs_count + ""
: "" : ""
}} }}
</span> </span>
...@@ -486,7 +488,7 @@ export default { ...@@ -486,7 +488,7 @@ export default {
data: () => ({ data: () => ({
helper: helper, helper: helper,
visible: false, visible: false,
colors: ["#99A9BF", "#F7BA2A", "#FF9900"], colors: ["#fac266", "#fac266", "#fac266"],
serviceRate: 0, serviceRate: 0,
textarea: "", textarea: "",
orderDetail: {}, orderDetail: {},
...@@ -653,12 +655,12 @@ export default { ...@@ -653,12 +655,12 @@ export default {
}); });
} else if (this.orderDetail.order_type == 2) { } else if (this.orderDetail.order_type == 2) {
let query = { let query = {
app: this.orderDetail.app_id, app_id: this.orderDetail.app_id,
content: this.textarea, content: this.textarea,
score: this.serviceRate, score: this.serviceRate,
apply_id: this.orderDetail.apply_id, apply_id: this.orderDetail.apply_id,
}; };
this.$api.user.addServiceEvaluation(query).then((response) => { this.$api.user.addAppEvaluation(query).then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.$message({ this.$message({
message: "评价订单成功", message: "评价订单成功",
...@@ -727,6 +729,9 @@ export default { ...@@ -727,6 +729,9 @@ export default {
this.approval_arr1[i].arr[1].info = data[i].department_name; this.approval_arr1[i].arr[1].info = data[i].department_name;
this.approval_arr1[i].arr[2].info = data[i].user_name; this.approval_arr1[i].arr[2].info = data[i].user_name;
this.approval_arr1[i].arr[3].info = data[i].comments; this.approval_arr1[i].arr[3].info = data[i].comments;
if (data[i].level == 2) {
this.approval_arr1[i].arr.splice(1, 1);
}
} }
this.approval_arr1.splice(data.length); this.approval_arr1.splice(data.length);
} else { } else {
...@@ -747,7 +752,7 @@ export default { ...@@ -747,7 +752,7 @@ export default {
if (this.orderDetail.order_type == 1) { if (this.orderDetail.order_type == 1) {
query = { query = {
service_id: parseFloat(this.orderDetail.service_id), service_id: parseFloat(this.orderDetail.service_id),
spcs_id: this.orderDetail.spcs_id, spec_id: this.orderDetail.svc_spec_id,
duration: this.orderDetail.duration, duration: this.orderDetail.duration,
duration_unit: this.orderDetail.duration_unit, duration_unit: this.orderDetail.duration_unit,
}; };
...@@ -759,7 +764,7 @@ export default { ...@@ -759,7 +764,7 @@ export default {
} else if (this.orderDetail.order_type == 2) { } else if (this.orderDetail.order_type == 2) {
query = { query = {
app_id: parseFloat(this.orderDetail.app_id), app_id: parseFloat(this.orderDetail.app_id),
spcs_id: this.orderDetail.spcs_id, spec_id: this.orderDetail.svc_spec_id,
duration: this.orderDetail.duration, duration: this.orderDetail.duration,
duration_unit: this.orderDetail.duration_unit, duration_unit: this.orderDetail.duration_unit,
}; };
......
...@@ -165,6 +165,7 @@ export default { ...@@ -165,6 +165,7 @@ export default {
}, },
deleteData() { deleteData() {
if (this.selected_date.length) { if (this.selected_date.length) {
this.reason_form.reason = "";
this.diaDel = true; this.diaDel = true;
} else { } else {
this.$message.error("请先选择要删除的数据"); this.$message.error("请先选择要删除的数据");
...@@ -219,10 +220,12 @@ export default { ...@@ -219,10 +220,12 @@ export default {
}, },
del_q(val) { del_q(val) {
this.selected_date = [{ id: val.id }]; this.selected_date = [{ id: val.id }];
this.reason_form.reason = "";
this.diaDel = true; this.diaDel = true;
}, },
del_a(val) { del_a(val) {
this.selected_date = [{ id: val.id }]; this.selected_date = [{ id: val.id }];
this.reason_form.reason = "";
this.diaDel = true; this.diaDel = true;
}, },
getQList() { getQList() {
...@@ -232,11 +235,11 @@ export default { ...@@ -232,11 +235,11 @@ export default {
style: 3, style: 3,
create_user: this.search_user, create_user: this.search_user,
start: start:
this.search_date && this.search_date.length != 0 this.search_date && this.search_date[0]
? this.search_date[0] ? this.search_date[0]
: "", : "",
end: end:
this.search_date && this.search_date.length != 0 this.search_date && this.search_date[1]
? this.search_date[1] ? this.search_date[1]
: "", : "",
limit: this.currentlimit, limit: this.currentlimit,
...@@ -245,7 +248,7 @@ export default { ...@@ -245,7 +248,7 @@ export default {
}; };
this.$api.user.getQuestionList(query).then((response) => { this.$api.user.getQuestionList(query).then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.tableData = response.data.data; this.tableData = response.data.data || [];
this.total_list = response.data.total; this.total_list = response.data.total;
} }
}); });
...@@ -257,11 +260,11 @@ export default { ...@@ -257,11 +260,11 @@ export default {
style: 3, style: 3,
create_user: this.search_user, create_user: this.search_user,
start: start:
this.search_date && this.search_date.length != 0 this.search_date && this.search_date[0]
? this.search_date[0] ? this.search_date[0]
: "", : "",
end: end:
this.search_date && this.search_date.length != 0 this.search_date && this.search_date[1]
? this.search_date[1] ? this.search_date[1]
: "", : "",
limit: this.currentlimit, limit: this.currentlimit,
...@@ -269,7 +272,7 @@ export default { ...@@ -269,7 +272,7 @@ export default {
}; };
this.$api.user.getAnswerList(query).then((response) => { this.$api.user.getAnswerList(query).then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.tableData = response.data.data; this.tableData = response.data.data || [];
this.total_list = response.data.total; this.total_list = response.data.total;
} }
}); });
...@@ -281,6 +284,7 @@ export default { ...@@ -281,6 +284,7 @@ export default {
}); });
this.$api.user.delQuestions(items).then((response) => { this.$api.user.delQuestions(items).then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.getQList();
this.$message({ this.$message({
message: "删除成功", message: "删除成功",
type: "success", type: "success",
...@@ -295,6 +299,7 @@ export default { ...@@ -295,6 +299,7 @@ export default {
}); });
this.$api.user.delAnswers(items).then((response) => { this.$api.user.delAnswers(items).then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.getAList();
this.$message({ this.$message({
message: "删除成功", message: "删除成功",
type: "success", type: "success",
......
...@@ -567,9 +567,9 @@ export default { ...@@ -567,9 +567,9 @@ export default {
}, },
delIp(index, type) { delIp(index, type) {
if (type == "white") { if (type == "white") {
this.ruleForm_1.ip_white.splice(index, 1); this.formBusiness.ip_white.splice(index, 1);
} else if (type == "black") { } else if (type == "black") {
this.ruleForm_1.ip_black.splice(index, 1); this.formBusiness.ip_black.splice(index, 1);
} }
}, },
addIp(type) { addIp(type) {
......
...@@ -221,13 +221,13 @@ export default { ...@@ -221,13 +221,13 @@ export default {
this.deleteUrl = "/apaas/service/v3/service/manager"; this.deleteUrl = "/apaas/service/v3/service/manager";
this.listHeader = [ this.listHeader = [
{ {
label: "服务名称", label: "名称",
prop: "name", prop: "name",
type: "button", type: "button",
callback: this.detailItem, callback: this.detailItem,
}, },
{ {
label: "服务领域", label: "所属领域",
prop: "sectors_name", prop: "sectors_name",
align: "center", align: "center",
}, },
...@@ -237,7 +237,7 @@ export default { ...@@ -237,7 +237,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务描述", label: "简介描述",
prop: "descript", prop: "descript",
}, },
{ {
...@@ -251,7 +251,7 @@ export default { ...@@ -251,7 +251,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务类型", label: "所属类型",
prop: "data_service_type1_name", prop: "data_service_type1_name",
align: "center", align: "center",
}, },
...@@ -316,7 +316,7 @@ export default { ...@@ -316,7 +316,7 @@ export default {
], ],
}, },
{ {
name: "服务状态", name: "状态",
prop: "state", prop: "state",
data: [ data: [
{ {
...@@ -345,13 +345,13 @@ export default { ...@@ -345,13 +345,13 @@ export default {
this.deleteUrl = "/apaas/service/v3/service/apply/service"; this.deleteUrl = "/apaas/service/v3/service/apply/service";
this.listHeader = [ this.listHeader = [
{ {
label: "服务名称", label: "名称",
prop: "name", prop: "name",
type: "button", type: "button",
callback: this.detailItem, callback: this.detailItem,
}, },
{ {
label: "服务领域", label: "所属领域",
prop: "sectors_name", prop: "sectors_name",
align: "center", align: "center",
}, },
...@@ -361,7 +361,7 @@ export default { ...@@ -361,7 +361,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务描述", label: "简介描述",
prop: "descript", prop: "descript",
}, },
{ {
...@@ -378,7 +378,7 @@ export default { ...@@ -378,7 +378,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务类型", label: "所属类型",
prop: "data_service_type1_name", prop: "data_service_type1_name",
align: "center", align: "center",
}, },
...@@ -610,13 +610,13 @@ export default { ...@@ -610,13 +610,13 @@ export default {
this.listUrl = "/apaas/service/v3/service/manager/list"; this.listUrl = "/apaas/service/v3/service/manager/list";
this.listHeader = [ this.listHeader = [
{ {
label: "服务名称", label: "名称",
prop: "name", prop: "name",
type: "button", type: "button",
callback: this.detailItem, callback: this.detailItem,
}, },
{ {
label: "服务领域", label: "所属领域",
prop: "sectors_name", prop: "sectors_name",
align: "center", align: "center",
}, },
...@@ -634,7 +634,7 @@ export default { ...@@ -634,7 +634,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务描述", label: "简介描述",
prop: "descript", prop: "descript",
}, },
{ {
...@@ -648,12 +648,12 @@ export default { ...@@ -648,12 +648,12 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务类型", label: "所属类型",
prop: "data_service_type1_name", prop: "data_service_type1_name",
align: "center", align: "center",
}, },
{ {
label: "服务状态", label: "状态",
prop: "state", prop: "state",
getText(item) { getText(item) {
return ["已下架", "已上架", "上架审核中", "下架审核中"][ return ["已下架", "已上架", "上架审核中", "下架审核中"][
...@@ -683,7 +683,7 @@ export default { ...@@ -683,7 +683,7 @@ export default {
], ],
}, },
{ {
name: "服务状态", name: "状态",
prop: "state", prop: "state",
data: [ data: [
{ {
...@@ -712,11 +712,11 @@ export default { ...@@ -712,11 +712,11 @@ export default {
this.deleteUrl = "/apaas/service/v3/service/approval/applied"; this.deleteUrl = "/apaas/service/v3/service/approval/applied";
this.listHeader = [ this.listHeader = [
{ {
label: "服务名称", label: "名称",
prop: "name", prop: "name",
}, },
{ {
label: "服务领域", label: "所属领域",
prop: "sectors_name", prop: "sectors_name",
align: "center", align: "center",
}, },
...@@ -734,7 +734,7 @@ export default { ...@@ -734,7 +734,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务描述", label: "简介描述",
prop: "descript", prop: "descript",
}, },
{ {
...@@ -755,7 +755,7 @@ export default { ...@@ -755,7 +755,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务类型", label: "所属类型",
prop: "data_service_type1_name", prop: "data_service_type1_name",
align: "center", align: "center",
}, },
...@@ -1013,13 +1013,13 @@ export default { ...@@ -1013,13 +1013,13 @@ export default {
this.deleteUrl = "/apaas/service/v3/service/manager"; this.deleteUrl = "/apaas/service/v3/service/manager";
this.listHeader = [ this.listHeader = [
{ {
label: "服务名称", label: "名称",
prop: "name", prop: "name",
type: "button", type: "button",
callback: this.detailItem, callback: this.detailItem,
}, },
{ {
label: "服务领域", label: "所属领域",
prop: "sectors_name", prop: "sectors_name",
align: "center", align: "center",
}, },
...@@ -1037,7 +1037,7 @@ export default { ...@@ -1037,7 +1037,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务描述", label: "简介描述",
prop: "descript", prop: "descript",
}, },
{ {
...@@ -1051,7 +1051,7 @@ export default { ...@@ -1051,7 +1051,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务类型", label: "所属类型",
prop: "data_service_type1_name", prop: "data_service_type1_name",
align: "center", align: "center",
}, },
...@@ -1127,11 +1127,11 @@ export default { ...@@ -1127,11 +1127,11 @@ export default {
this.deleteUrl = "/apaas/service/v3/service/approval/applied"; this.deleteUrl = "/apaas/service/v3/service/approval/applied";
this.listHeader = [ this.listHeader = [
{ {
label: "服务名称", label: "名称",
prop: "name", prop: "name",
}, },
{ {
label: "服务领域", label: "所属领域",
prop: "sectors_name", prop: "sectors_name",
align: "center", align: "center",
}, },
...@@ -1149,7 +1149,7 @@ export default { ...@@ -1149,7 +1149,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务描述", label: "简介描述",
prop: "descript", prop: "descript",
}, },
{ {
...@@ -1170,7 +1170,7 @@ export default { ...@@ -1170,7 +1170,7 @@ export default {
align: "center", align: "center",
}, },
{ {
label: "服务类型", label: "所属类型",
prop: "data_service_type1_name", prop: "data_service_type1_name",
align: "center", align: "center",
}, },
......
This diff is collapsed.
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
{ required: true, message: '请输入接口编码', trigger: 'blur' }, { required: true, message: '请输入接口编码', trigger: 'blur' },
]"> ]">
<p class="formname">接口编码:</p> <p class="formname">接口编码:</p>
<el-input v-model="form.code"></el-input> <el-input v-model="form.code" :disabled="true"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item v-if="now_user==2" prop="people" :rules="[ <!-- <el-form-item v-if="now_user==2" prop="people" :rules="[
{ required: true, message: '请输入发布人', trigger: 'blur' }, { required: true, message: '请输入发布人', trigger: 'blur' },
...@@ -286,10 +286,10 @@ export default { ...@@ -286,10 +286,10 @@ export default {
this.$set(this.form,'desc',data.descript) this.$set(this.form,'desc',data.descript)
this.$set(this.form,'area',data.sectors) this.$set(this.form,'area',data.sectors)
this.$set(this.form,'origin',data.organization) this.$set(this.form,'origin',data.organization)
this.$set(this.form,'code',data.encode_method) this.$set(this.form,'code',"自动生成")
this.$set(this.form,'people',data.register_user_info?data.register_user_info.user_name:data.register_user_info) this.$set(this.form,'people',data.register_user_info?data.register_user_info.user_name:data.register_user_info)
this.$set(this.form,'phone',data.register_user_info?data.register_user_info.phone:data.register_user_info) this.$set(this.form,'phone',data.register_user_info?data.register_user_info.phone:data.register_user_info)
this.$set(this.form,'resource',data.openness) this.$set(this.form,'resource',data.openness_name == "共享" ? 1 : data.openness_name == "受限" ? 2 : 3)
this.$set(this.form,'fileList',data.cover) this.$set(this.form,'fileList',data.cover)
this.imgList = data.cover.split(';') this.imgList = data.cover.split(';')
this.open = data.service_safe_config?data.service_safe_config.fusing:data.service_safe_config this.open = data.service_safe_config?data.service_safe_config.fusing:data.service_safe_config
......
This diff is collapsed.
...@@ -319,6 +319,7 @@ ...@@ -319,6 +319,7 @@
:datas="app_data" :datas="app_data"
:stripe="true" :stripe="true"
:detailsUrl="detailsUrl1[now_user][now_app]" :detailsUrl="detailsUrl1[now_user][now_app]"
:ites="true"
height="285" height="285"
></table-um> ></table-um>
<list-pagination <list-pagination
...@@ -893,7 +894,7 @@ export default { ...@@ -893,7 +894,7 @@ export default {
pic: require("@/assets/imgs/ic_gongzuoquyu.png"), pic: require("@/assets/imgs/ic_gongzuoquyu.png"),
bg: "#e7fdfc", bg: "#e7fdfc",
color: "#25bdb1", color: "#25bdb1",
type: "earnings_money", type: "workplace_count",
num: "" num: ""
} }
], ],
...@@ -1040,7 +1041,7 @@ export default { ...@@ -1040,7 +1041,7 @@ export default {
pic: require("@/assets/imgs/home_tool_ic_rongqiyun.png"), pic: require("@/assets/imgs/home_tool_ic_rongqiyun.png"),
text: "容器微服务管理", text: "容器微服务管理",
role: 2, role: 2,
url: "https://cloud.gzdata.ydeci.gz.cegn.cn/awecloud/login/#/" url: "https://cloud4.wodcloud.com/awecloud/login/#/"
}, },
] ]
}; };
...@@ -1169,7 +1170,8 @@ export default { ...@@ -1169,7 +1170,8 @@ export default {
let data = response.data.data; let data = response.data.data;
if(this.now_type==2){ if(this.now_type==2){
this.listTotal = data.total; this.listTotal = data.total;
data.data.forEach(e => { let arr = data.data || [];
arr.forEach(e => {
if(e.DiskList&&e.DiskList.length){ if(e.DiskList&&e.DiskList.length){
e['pan'] = e.DiskList.join(';') e['pan'] = e.DiskList.join(';')
} }
...@@ -1182,9 +1184,10 @@ export default { ...@@ -1182,9 +1184,10 @@ export default {
}); });
this.service_data = data.data this.service_data = arr
}else{ }else{
this.service_data = data.data; let arr = data.data || [];
this.service_data = arr;
this.service_data.forEach(e => { this.service_data.forEach(e => {
if (e.create_time&&e.create_time!=='0001-01-01T00:00:00Z') { if (e.create_time&&e.create_time!=='0001-01-01T00:00:00Z') {
e.create_time = helper.dateStringTransform(e.create_time) e.create_time = helper.dateStringTransform(e.create_time)
...@@ -1225,6 +1228,10 @@ export default { ...@@ -1225,6 +1228,10 @@ export default {
} else { } else {
e.approval_status = ""; e.approval_status = "";
} }
if (e.service_apply_info && e.service_apply_info.id != "") {
e.id = e.service_apply_info.id;
}
}); });
this.listTotal = data.total; this.listTotal = data.total;
} }
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<div class="search_list"> <div class="search_list">
<div class="list_header"> <div class="list_header">
<span></span>容器组 <span></span>容器组
<el-input placeholder="请输入容器组名称" style="float:right;" @change="get_list_pod" v-model="pod_name" prefix-icon="el-icon-search"></el-input> <el-input placeholder="请输入容器组名称" style="float:right;" @input="get_list_pod" v-model="pod_name" prefix-icon="el-icon-search"></el-input>
</div> </div>
<div style="padding:20px;padding-top:0px;display: flex;flex-direction: column;height: calc(100% - 80px);align-items:stretch;"> <div style="padding:20px;padding-top:0px;display: flex;flex-direction: column;height: calc(100% - 80px);align-items:stretch;">
<apass-table :header="header_arr" :data="tableData" :icon="false" style="flex-grow:1;" :paddingLeft="5"></apass-table> <apass-table :header="header_arr" :data="tableData" :icon="false" style="flex-grow:1;" :paddingLeft="5"></apass-table>
...@@ -314,7 +314,8 @@ export default { ...@@ -314,7 +314,8 @@ export default {
.get(`/apaas/rest/kubernetes/api/v1/_raw/pod/namespace/${val.namespace}/name/${val.name}`) .get(`/apaas/rest/kubernetes/api/v1/_raw/pod/namespace/${val.namespace}/name/${val.name}`)
.then(response => { .then(response => {
console.log(response.data); console.log(response.data);
this.yaml_arr = yaml.stringify(response.data) this.yaml_arr = yaml.stringify(response.data);
console.log(this.yaml_arr)
this.code_arr = JSON.stringify(json.load(this.yaml_arr), null, 2); this.code_arr = JSON.stringify(json.load(this.yaml_arr), null, 2);
this.$refs.actiondialog.show(); this.$refs.actiondialog.show();
......
...@@ -314,7 +314,7 @@ export default { ...@@ -314,7 +314,7 @@ export default {
}, },
data() { data() {
var checkname = (rule, value, callback) => { var checkname = (rule, value, callback) => {
var reg = /^[a-z|-|_]+$/ var reg = /^[a-z\-_]+$/
setTimeout(() => { setTimeout(() => {
if (reg.test(value)) { if (reg.test(value)) {
callback(); callback();
...@@ -533,10 +533,10 @@ export default { ...@@ -533,10 +533,10 @@ export default {
name: "申请类型", name: "申请类型",
text: "", text: "",
}, },
{ // {
name: "申请开发次数", // name: "申请开发次数",
text: "", // text: "",
}, // },
{ {
name: "申请部署次数", name: "申请部署次数",
text: "", text: "",
...@@ -1013,10 +1013,10 @@ export default { ...@@ -1013,10 +1013,10 @@ export default {
name: "申请类型", name: "申请类型",
text: data.apply_type_name, text: data.apply_type_name,
}, },
{ // {
name: "申请开发次数", // name: "申请开发次数",
text: data.apply_times + "", // text: data.apply_times + "次",
}, // },
{ {
name: "申请部署次数", name: "申请部署次数",
text: data.deploy_times + "", text: data.deploy_times + "",
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
</el-form-item> </el-form-item>
<el-form-item prop="option"> <el-form-item prop="option">
<p class="formname">审批意见:</p> <p class="formname">审批意见:</p>
<el-input v-model="form.option" placeholder="请输入审批意见,不少于10个字"></el-input> <el-input v-model="form.option" placeholder="请输入审批意见"></el-input>
</el-form-item> </el-form-item>
<el-form-item class="btnsty"> <el-form-item class="btnsty">
<el-button @click="onSubmit('form')" class="right">提交</el-button> <el-button @click="onSubmit('form')" class="right">提交</el-button>
...@@ -80,7 +80,7 @@ export default { ...@@ -80,7 +80,7 @@ export default {
option:[ option:[
{ required: true, message: '请输入意见', trigger: 'blur' }, { required: true, message: '请输入意见', trigger: 'blur' },
{ {
min: 10,max:200, message: '长度应大于10个小于200个字符', trigger: 'blur' min: 0,max:200, message: '长度应小于200个字符', trigger: 'blur'
} }
] ]
}, },
......
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
</div> </div>
</div> </div>
</div> </div>
<apass-dialog ref="actiondialog" title="综合应用服务发布" width="520px"> <apass-dialog ref="actiondialog" title="融合服务发布" width="520px">
<template slot="content"> <template slot="content">
<div class="dialog-content"> <div class="dialog-content">
<el-form :model="publicForm" :rules="public_rules" ref="publicForm" class="demo-ruleForm"> <el-form :model="publicForm" :rules="public_rules" ref="publicForm" class="demo-ruleForm">
......
...@@ -85,7 +85,7 @@ const workbench = { ...@@ -85,7 +85,7 @@ const workbench = {
// get service running topology // get service running topology
getServiceRunningTopology(params) { getServiceRunningTopology(params) {
return axios.get(`/apaas/istio/service/apaas-proxy/overview/${params.namespace}`) return axios.get(`/apaas/istio/v3/api/namespaces/graph?service=apaas-proxy-${params.service_id}&duration=600s`)
}, },
} }
......
...@@ -73,18 +73,18 @@ export default new Router({ ...@@ -73,18 +73,18 @@ export default new Router({
}, // 审批的服务 - 详情 }, // 审批的服务 - 详情
{ {
path: "/fwgl/:level/:type/cloud_detail/:id", path: "/fwgl/:level/:type/cloud_detail/:id",
name: "servicedetail", name: "cloud_detail",
component: () => import("@/pages/workbench/fwgl/cloud-detail"), component: () => import("@/pages/workbench/fwgl/cloud-detail"),
}, // 云资源 - 详情 }, // 云资源 - 详情
{ {
path: "/fwgl/:level/:type/approveWorkspace", path: "/fwgl/:level/:type/approveWorkspace",
name: "servicedetail", name: "approveWorkspace",
component: () => component: () =>
import("@/pages/workbench/fwgl/approveWorkspace"), import("@/pages/workbench/fwgl/approveWorkspace"),
}, // 云资源 - 工作区域审批 }, // 云资源 - 工作区域审批
{ {
path: "/fwgl/:level/:type/organizationCloudResource/:id", path: "/fwgl/:level/:type/organizationCloudResource/:id",
name: "servicedetail", name: "organizationCloudResource",
component: () => component: () =>
import("@/pages/workbench/fwgl/organizationCloudResource"), import("@/pages/workbench/fwgl/organizationCloudResource"),
}, // 云资源 - 组织云资源详情 }, // 云资源 - 组织云资源详情
...@@ -322,6 +322,11 @@ export default new Router({ ...@@ -322,6 +322,11 @@ export default new Router({
name: "shopAppStoreList", name: "shopAppStoreList",
component: () => import("@/pages/service_shop/shop_list-new"), component: () => import("@/pages/service_shop/shop_list-new"),
}, },
{
path: "/shop/products_list/:id", // 应用商店列表页
name: "shopAppStoreList",
component: () => import("@/pages/service_shop/shop_list-new"),
},
{ {
path: "/shop/shopping_cart", // 购物车页 path: "/shop/shopping_cart", // 购物车页
name: "shoppingCart", name: "shoppingCart",
...@@ -364,6 +369,11 @@ export default new Router({ ...@@ -364,6 +369,11 @@ export default new Router({
name: "yysdDetail", name: "yysdDetail",
component: () => import("@/pages/service_shop/yysdDetail"), component: () => import("@/pages/service_shop/yysdDetail"),
}, // 服务超市 - 应用详情 }, // 服务超市 - 应用详情
{
path: "/shop/cpDetail/:id",
name: "cpDetail",
component: () => import("@/pages/service_shop/cpDetail"),
}, // 服务超市 - 产品资源详情
{ {
path: "/workplace", path: "/workplace",
name: "workPlace", name: "workPlace",
......
### 产品功能
请输入对产品核心功能的介绍说明,如:
本产品包含常见人工智能及机器学习相关算法:
1. 线性模型
2. 聚类算法
3. 特征选择算法
4. 降维/压缩
5. 树模型
### 产品亮点
请输入对产品核心亮点的介绍,如“模型算法使用多种类型的场景,支持灵活配置,算法高效。”
### 产品应用领域
请输入对产品常用的应用领域,如“算法适合机器学习、人工智能图像识别、视频处理等。”
### 产品文档获取
请输入对产品示例文档、说明文档、开发文档等的获取链接,如:
开发文档:http://www.dev-tech.com/docs
### 产品代码示例
如有示例代码,请输入产品的示例代码:
```
x = fluid.data(name='x', shape=[None, 13], dtype='float32') # 定义输入的形状和数据类型
y = fluid.data(name='y', shape=[None, 1], dtype='float32') # 定义输出的形状和数据类型
y_predict = fluid.layers.fc(input=x, size=1, act=None) # 连接输入和输出的全连接层
main_program = fluid.default_main_program() # 获取默认/全局主函数
startup_program = fluid.default_startup_program() # 获取默认/全局启动程序
cost = fluid.layers.square_error_cost(input=y_predict, label=y) # 利用标签数据和输出的预测数据估计方差
avg_loss = fluid.layers.mean(cost) # 对方差求均值,得到平均损失
```
如有其他信息,可依据产品需要进行补充
\ No newline at end of file
...@@ -4801,6 +4801,19 @@ map-visit@^1.0.0: ...@@ -4801,6 +4801,19 @@ map-visit@^1.0.0:
dependencies: dependencies:
object-visit "^1.0.0" 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: material-design-icons-iconfont@^4.0.5:
version "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" 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