Commit 92e5d88e authored by 张俊's avatar 张俊

Merge branch 'dev' of cloud.wodcloud.com:apaas/apaas-v3-ui into dev

parents 38e9e084 27269620
<template>
<div class="side_nav_bar">
<h3 class="side_nav_bar_title">
<img :src="require('../assets/imgs/tool_fuwu.png')" width="20" style="margin-right: 10px;" />
<h3 class="side_nav_bar_title" @click="titleAction">
<img
:src="require('../assets/imgs/tool_fuwu.png')"
width="20"
style="margin-right: 10px;"
/>
<span v-text="title"></span>
</h3>
<ul class="side_nav_bar_list">
......@@ -25,6 +29,10 @@ export default {
type: String,
default: () => "我的服务",
},
titlePath: {
type: String,
default: () => "",
},
navList: {
type: Array,
default: () => [],
......@@ -34,6 +42,11 @@ export default {
navAction(nav) {
this.$router.push(nav.path);
},
titleAction() {
if (this.titlePath) {
this.$router.push(this.titlePath);
}
},
},
};
</script>
......@@ -51,6 +64,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
.side_nav_bar_title > span {
font-size: 16px;
......
......@@ -51,7 +51,7 @@
<li
v-for="(v, i) in item.data"
:key="'f_l_d_' + index + '_' + i"
v-show="filterToggle[item.prop] || i <= filterLength"
v-show="filterToggle[item.prop] || i < filterLength"
>
<a
:class="{ current: isCurrentFilter(item.prop, v) }"
......@@ -65,7 +65,7 @@
v-if="item.data.length > filterLength"
@click="filterToggleAction(item.prop)"
>
<span>{{ filterToggle[item.prop] ? "收起" : "展开" }} {{item.data.length + "-" + filterLength}}</span>
<span>{{ filterToggle[item.prop] ? "收起" : "展开" }}</span>
<i
:class="
filterToggle[item.prop]
......@@ -403,6 +403,11 @@ export default {
mounted() {
this.getDataFromApiSync();
this.initFilterData();
window.addEventListener("resize", this.getFilterLength);
},
destroyed() {
window.removeEventListener("resize", this.getFilterLength);
},
watch: {
refreshInit: {
......@@ -556,7 +561,9 @@ export default {
},
filterAction() {
this.showFliterList = !this.showFliterList;
this.getFilterLength();
},
getFilterLength() {
if (this.showFliterList) {
this.$nextTick(() => {
let width =
......@@ -566,8 +573,8 @@ export default {
20 - // 距左侧标题的边距
110; // 折叠按钮的宽度
this.filterLength = Math.floor(width / 110) - 1;
console.log("每行最多可容纳" + this.filterLength + "个filter");
this.filterLength = Math.floor(width / 110);
// console.log("每行最多可容纳" + this.filterLength + "个filter");
});
}
},
......@@ -758,7 +765,7 @@ em {
width: 66px;
}
.table_radius {
border-radius: 10px;
border-radius: 8px;
}
.overlit {
overflow: hidden;
......
<template>
<div>
<div v-if="type != 'copper'">
<div v-if="type != 'cropper'">
<el-upload
action="ssurl"
:file-list="fileArray"
......
<template>
<div class="fwgl_container">
<side-nav-bar :nav-list="navList"></side-nav-bar>
<side-nav-bar :nav-list="navList" title-path="/fwgl"></side-nav-bar>
<div class="main_container">
<router-view
:key="'type_' + $route.params && $route.params.type"
......@@ -20,8 +20,6 @@ export default {
navList: [],
userLevel: 0,
}),
computed: {},
methods: {},
mounted() {
this.navList = [
// 普通用户
......@@ -81,11 +79,6 @@ export default {
this.$router.push(this.navList[0].path);
},
/* updated() {
if (this.$route.params && this.$route.params.type === undefined) {
this.$router.push(this.navList[0].path);
}
}, */
};
</script>
......
......@@ -82,7 +82,7 @@ export default {
},
methods: {
editItem(item) {
this.$router.push("/serviceEdit");
this.$router.push("/fwgl/serviceedit/" + item.id);
},
soldOutItem(item) {
console.log(item);
......
......@@ -6,167 +6,239 @@
<el-breadcrumb-item v-else :to="{ path: '/fwzc' }">服务测试</el-breadcrumb-item>
<el-breadcrumb-item v-if="jcxxtx">基础信息填写</el-breadcrumb-item>
</el-breadcrumb>
<block-radius>
<el-row>
<el-button
v-for="item in btnList"
:key="item.id"
@click="clickBtn(item.id)"
:class="activeBtn == item.id ? 'fwcs_btn_act':'fwcs_btn_dis'"
>{{ item.text }}</el-button>
</el-row>
<div class="gray_line"></div>
<div v-if="activeBtn == 4">
<div class="sqxx_title">服务类型:</div>
<el-select v-model="zhyyVal" placeholder="请选择" class="zhyy_select">
<el-option
v-for="item in optionsZhyy"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<div class="fwcs_fwdz">服务地址:</div>
<div class="fwcs_fwdz_inner">
<el-input placeholder="请输入内容" v-model="input3" class="input-with-select">
<el-select v-model="select" slot="prepend" placeholder="请选择">
<div v-if="!jcxxtx">
<block-radius>
<el-row>
<el-button
v-for="item in btnList"
:key="item.id"
@click="clickBtn(item.id)"
:class="activeBtn == item.id ? 'fwcs_btn_act':'fwcs_btn_dis'"
>{{ item.text }}</el-button>
</el-row>
<div class="gray_line"></div>
<div v-if="activeBtn == 4">
<div class="sqxx_title">服务类型:</div>
<el-select v-model="zhyyVal" placeholder="请选择" class="zhyy_select">
<el-option
v-for="item in optionType"
v-for="item in optionsZhyy"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-input>
<el-button v-if="activeBtn == 0 || activeBtn == 4" @click="clickFwcs()" class="fwcs_btn_fwcs">服务测试</el-button>
</div>
<div v-if="activeBtn == 0">
<el-tabs v-model="activeName" class="fwcs_tabs" @tab-click="clickTab">
<el-tab-pane label="请求参数" name="0">
<ces-table
ref="fwcs_sjfw_qq"
size="mini"
:border="true"
:headers="sjfw_qqcs"
url
:searchShow="false"
:addRowBtn="false"
:autoAdd="true"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
></ces-table>
</el-tab-pane>
<el-tab-pane label="请求体" name="1">
<div class="sjfw_qqt">
<el-radio v-model="sjfwQqt" label="JSON">JSON</el-radio>
</div>
<v-apaas-code></v-apaas-code>
</el-tab-pane>
<el-tab-pane label="授权信息" name="2">
<el-row class="sqxx_row">
<el-col :span="6">
<div class="sqxx_title">授权方式:</div>
<el-select v-model="sqfsVal" placeholder="请选择" class="sqxx_select">
<el-option
v-for="item in optionsSq"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-col>
<el-col :span="2" class="center_line_c">
<div class="center_line"></div>
</el-col>
<el-col :span="16">
<div class="sqxx_title">Token:</div>
<el-input v-model="tokenVal" placeholder="请输入内容"></el-input>
</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
<div v-if="activeBtn == 1">
<div class="skfw_fwlx">服务类型:</div>
<div class="skfw_fwlx_radios">
<el-radio
v-for="item in skfwRadios"
:key="item"
v-model="sjfwQqt"
:label="item"
>{{ item }}</el-radio>
<el-button v-if="activeBtn == 1" @click="clickFwcs()" class="fwcs_btn_fwcs">服务测试</el-button>
</div>
</div>
</block-radius>
<block-radius v-if="resultShow">
<div v-if="activeBtn == 0">
<div class="sjfw_qqcstx">请求参数信息填写:</div>
<ces-table
ref="fwcs_sjfw_qqcs"
size="mini"
:border="true"
:headers="sjfw_qqcstx"
url="qqcstx"
:searchShow="false"
:addRowBtn="false"
:autoAdd="false"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
></ces-table>
<div class="sjfw_fhcstx">返回参数信息填写:</div>
<ces-table
ref="fwcs_sjfw_fhcs"
size="mini"
:border="true"
:headers="sjfw_fhcstx"
url="fhcstx"
:searchShow="false"
:addRowBtn="false"
:autoAdd="false"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
></ces-table>
</div>
<div v-else-if="activeBtn == 1 || activeBtn == 4">
<div class="skfw_csfwxx">测试服务信息:</div>
<div class="test_succ">
<div v-if="skfwResult" class="skcs_jg">
<img src="../assets/imgs/test_icon_success.png" class="skcs_jg_img" />&nbsp;测试成功
<div class="fwcs_fwdz">服务地址:</div>
<div class="fwcs_fwdz_inner">
<el-input placeholder="请输入内容" v-model="input3" class="input-with-select">
<el-select v-model="select" slot="prepend" placeholder="请选择">
<el-option
v-for="item in optionType"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-input>
<el-button
v-if="activeBtn == 0 || activeBtn == 4"
@click="clickFwcs()"
class="fwcs_btn_fwcs"
>服务测试</el-button>
</div>
<div v-if="activeBtn == 0">
<el-tabs v-model="activeName" class="fwcs_tabs" @tab-click="clickTab">
<el-tab-pane label="请求参数" name="0">
<ces-table
ref="fwcs_sjfw_qq"
size="mini"
:border="true"
:headers="sjfw_qqcs"
url
:searchShow="false"
:addRowBtn="false"
:autoAdd="true"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
></ces-table>
</el-tab-pane>
<el-tab-pane label="请求体" name="1">
<div class="sjfw_qqt">
<el-radio v-model="sjfwQqt" label="JSON">JSON</el-radio>
</div>
<v-apaas-code></v-apaas-code>
</el-tab-pane>
<el-tab-pane label="授权信息" name="2">
<el-row class="sqxx_row">
<el-col :span="6">
<div class="sqxx_title">授权方式:</div>
<el-select v-model="sqfsVal" placeholder="请选择" class="sqxx_select">
<el-option
v-for="item in optionsSq"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-col>
<el-col :span="2" class="center_line_c">
<div class="center_line"></div>
</el-col>
<el-col :span="16">
<div class="sqxx_title">Token:</div>
<el-input v-model="tokenVal" placeholder="请输入内容"></el-input>
</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</div>
<div v-if="activeBtn == 1">
<div class="skfw_fwlx">服务类型:</div>
<div class="skfw_fwlx_radios">
<el-radio
v-for="item in skfwRadios"
:key="item"
v-model="sjfwQqt"
:label="item"
>{{ item }}</el-radio>
<el-button v-if="activeBtn == 1" @click="clickFwcs()" class="fwcs_btn_fwcs">服务测试</el-button>
</div>
<div v-else class="skcs_jg">
<img src="../assets/imgs/test_icon_error.png" class="skcs_jg_img" />&nbsp;测试失败
</div>
</block-radius>
<block-radius v-if="resultShow">
<div v-if="activeBtn == 0">
<div class="sjfw_qqcstx">请求参数信息填写:</div>
<ces-table
ref="fwcs_sjfw_qqcs"
size="mini"
:border="true"
:headers="sjfw_qqcstx"
url="qqcstx"
:searchShow="false"
:addRowBtn="false"
:autoAdd="false"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
></ces-table>
<div class="sjfw_fhcstx">返回参数信息填写:</div>
<ces-table
ref="fwcs_sjfw_fhcs"
size="mini"
:border="true"
:headers="sjfw_fhcstx"
url="fhcstx"
:searchShow="false"
:addRowBtn="false"
:autoAdd="false"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
></ces-table>
</div>
<div v-else-if="activeBtn == 1 || activeBtn == 4">
<div class="skfw_csfwxx">测试服务信息:</div>
<div class="test_succ">
<div v-if="skfwResult" class="skcs_jg">
<img src="../assets/imgs/test_icon_success.png" class="skcs_jg_img" />&nbsp;测试成功
</div>
<div v-else class="skcs_jg">
<img src="../assets/imgs/test_icon_error.png" class="skcs_jg_img" />&nbsp;测试失败
</div>
<div></div>
</div>
<div></div>
</div>
</div>
<div class="btn_footer">
<el-button class="reset" v-if="activeBtn == 0" @click="resetSjfw">重置</el-button>
<el-button class="next" @click="nextJcxx">下一步</el-button>
</div>
</block-radius>
<div class="btn_footer">
<el-button class="reset" v-if="activeBtn == 0" @click="resetSjfw">重置</el-button>
<el-button class="next" @click="nextJcxx">下一步</el-button>
</div>
</block-radius>
</div>
<div v-else>
<block-radius>
<div class="fwcs_add">
<el-form ref="form" :model="form" label-width="0px">
<el-form-item>
<p class="formname">服务名称:</p>
<el-input v-model="form.name" placeholder="请输入服务名称,不超过15个字" class="form_in"></el-input>
</el-form-item>
<el-form-item>
<p class="formname">服务描述:</p>
<el-input type="textarea" v-model="form.desc" placeholder="请输入服务描述,不超过200个字"></el-input>
</el-form-item>
<el-form-item>
<p class="formname">服务领域:</p>
<el-select v-model="form.area" placeholder="请选择">
<el-option
v-for="item in optionsArea"
:key="'area' + item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<p class="formname">所属组织:</p>
<el-select v-model="form.origin" placeholder="请选择">
<el-option
v-for="item in optionsOrganization"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<p class="formname">服务封面:</p>
<upload-file
:multiple="false"
:max="1"
type="cropper"
:readOnly="false"
:list="imgList"
@getNewList="getNewList"
></upload-file>
</el-form-item>
<el-form-item>
<p class="formname">接口编码:</p>
<el-input v-model="form.code"></el-input>
</el-form-item>
<el-form-item>
<p class="formname">开放程度:</p>
<el-radio-group v-model="form.resource">
<el-radio label="共享"></el-radio>
<el-radio label="受限"></el-radio>
<el-radio label="敏感"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button>取消</el-button>
<el-button type="primary" @click="onSubmit">保存</el-button>
</el-form-item>
</el-form>
</div>
</block-radius>
</div>
</div>
</template>
......@@ -174,11 +246,13 @@
import BlockRadius from "@/components/block-radius";
import CesTable from "@/components/table-um";
import Codes from "@/components/codes";
import uploadFile from "../components/upload_file";
export default {
components: {
BlockRadius,
CesTable,
"v-apaas-code": Codes
"v-apaas-code": Codes,
uploadFile
},
data: () => ({
btnList: [
......@@ -246,10 +320,33 @@ export default {
{ label: "模型算法类", value: 0 },
{ label: "查询验证类", value: 1 },
{ label: "流程类", value: 2 },
{ label: "应用类", value: 3 },
{ label: "应用类", value: 3 }
],
zhyyVal: 0,
jcxxtx: false
jcxxtx: false,
form: {
name: "",
desc: "",
area: "",
origin: "",
code: "",
resource: ""
},
imgList: [],
optionsArea: [
{ label: "经济建设", value: 0 },
{ label: "城市管理", value: 1 },
{ label: "城市建设", value: 2 },
{ label: "道路交通", value: 3 },
{ label: "环境资源", value: 4 },
{ label: "民生服务", value: 5 },
{ label: "空间地理", value: 6 },
{ label: "文化休闲", value: 7 },
{ label: "社会团体", value: 8 },
{ label: "教育机构", value: 9 },
{ label: "其他", value: 10 }
],
optionsOrganization: []
}),
computed: {},
watch: {},
......@@ -268,6 +365,13 @@ export default {
resetSjfw() {},
nextJcxx() {
this.jcxxtx = true;
},
// edit form
onSubmit() {
console.log("submit!");
},
getNewList(val) {
console.log(val);
}
},
mounted() {}
......@@ -276,7 +380,10 @@ export default {
<style scoped>
.fwcs {
width: 96vw;
width: 1200px;
margin: 0 auto;
margin-top: -157px;
margin-bottom: 20px;
}
.bread_crumb {
margin: 20px;
......@@ -391,6 +498,11 @@ export default {
.zhyy_select {
width: 70%;
}
.fwcs_add .formname {
color: #58617a;
font-size: 14px;
margin-left: 10px;
}
</style>
<style>
.bread_crumb .el-breadcrumb__inner {
......
<template>
<div class="index_container">
<div class="decor" v-if="$route.fullPath == '/workplace'"></div>
<div class="decor" v-if="$route.fullPath == '/workplace' || $route.fullPath == '/fwzc/fwcs'"></div>
<router-view/>
</div>
</template>
......
......@@ -59,7 +59,7 @@ export default new Router({
component: () => import("@/pages/serviceDetail"),
},
{
path: "/fwgl/serviceedit",
path: "/fwgl/serviceedit/:id",
name: "serviceedit",
component: () => import("@/pages/serviceEdit"),
},
......
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