Commit 6a822253 authored by 张俊's avatar 张俊

加入组织管理员和超级管理员页面

parent ddf702bf
......@@ -26,5 +26,6 @@ export default {
}
#app {
background-color: #f6f7fb;
font-size: 14px;
}
</style>
\ No newline at end of file
......@@ -405,7 +405,7 @@ width: 620px!important;
border-radius: 8px;
}
/* 下拉选样式 */
.el-select-dropdown {
/* .el-select-dropdown {
border-radius: 8px;
}
.el-select-dropdown__list {
......@@ -437,7 +437,7 @@ width: 620px!important;
}
.el-popper[x-placement^=top] .popper__arrow::after {
border-top-color: transparent;
}
} */
/* 单选激活样式 */
.el-radio__input.is-checked .el-radio__inner {
border-color: #838383;
......
<template>
<div class="out">
<div class="box" v-for="(item,index) in data" :key="index+3000" :style="!(item.arr&&item.arr.length!==0)||item.result==='审批未通过'?{border:'none'}:{}" :class="data[index+1]&&data[index+1].result==='审批中'?'dashedbd':''">
<div class="box" v-for="(item,index) in data" :key="index+3000" :style="!(item.arr&&item.arr.length!==0)||item.result==='审批未通过'?{border:'none'}:(type&&type=='approval'&&index==data.length-1)?{borderLeft:'2px dashed #e3e5ef',paddingBottom:'0px',}:{}" :class="data[index+1]&&data[index+1].result==='审批中'?'dashedbd':''">
<div class="circle" :style="!(item.arr&&item.arr.length!==0)?{borderColor:'#ffc95c'}:item.result==='审批未通过'?{borderColor:'#de3b4b'}:{}"></div>
<div class="card" :style="item.result==='审批未通过'?{backgroundColor:'#fcfafa'}:{}">
<p class="card_title" :style="!(item.arr&&item.arr.length!==0)?{backgroundColor:'#fcefd6'}:item.result==='审批未通过'?{backgroundColor:'#f7d5d5'}:{}">
......@@ -18,7 +18,7 @@
<script>
import infoList from './infoList'
export default {
props: ['data'],
props: ['data','type'],
components: {
infoList
},
......
......@@ -8,8 +8,13 @@
class="table_in_select"
placeholder="请选择"
>
<template v-if="selectArr&&selectArr.length>0">
<el-option v-for="(item,index) in selectArr" :key="index+3500" :label="item.label" :value="item.value"></el-option>
</template>
<template v-else>
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</template>
</el-select>
</div>
</template>
......@@ -18,6 +23,10 @@
import helper from "@/services/helper";
export default {
props: {
selectArr:{
type: Array,
default: []
},
item: {
type: String,
default: ""
......
......@@ -121,6 +121,13 @@
<em v-if="btn.label == '分配'&&scope.row.state == 0" style="color: #0f2683" @click="handleClick(btn.type, scope.row)">{{ btn.label }}</em>
<em v-if="btn.label == '已分配'&&scope.row.state == 1">{{ btn.label }}</em>
</em>
<em
class="action"
v-else-if="btn.label == '删除'&&btn.local"
:class="btn.type"
:style="{color: btn.label=='删除' ? '#830f53' : '#0f2683'}"
@click="deleteLocal(scope)"
>{{ btn.label }}</em>
<em
class="action"
v-else
......@@ -152,6 +159,7 @@
v-else-if="item.type === 'select'"
:item="helper.GetProperty(scope.row, item.prop)"
:header="item.prop"
:selectArr="item.selectArr"
:rowId="scope.$index"
:couldNotEdit="couldNotEdit"
@changeInputValue="changeInputValue"
......@@ -393,6 +401,10 @@ export default {
}
},
methods: {
//本地删除
deleteLocal(val){
this.selectedTabsPage.splice(val.$index, 1) 
},
// get data
getDataFromApiSync() {
console.log("get data >>>");
......
......@@ -131,6 +131,9 @@ export default {
this.hideUpload = fileList.length >= this.max;
},
handleRemove(file, fileList) {
if(!(fileList&&fileList.length>0)){
return
}
let url = file.url;
let detection = true;
// 等于 true 说明是刚刚上传的
......
This diff is collapsed.
......@@ -34,7 +34,7 @@
:searchShow="false"
:addRowBtn="false"
:autoAdd="true"
:couldNotEdit="true"
:couldNotEdit="false"
:isDialog="false"
:isSelection="false"
:isIndex="true"
......
......@@ -77,7 +77,7 @@ export default {
},
].filter((nav) => nav.level === this.userLevel);
this.$router.push(this.navList[0].path);
// this.$router.push(this.navList[0].path);
},
};
</script>
......
......@@ -5,7 +5,7 @@
<service-header :data="service_header_arr"></service-header>
<div class="type_box">
<div class="type_title">
<div v-for="(item,index) in service_arr" :key="index+1000" class="type_select" @click="now_service=index" :style="now_service==index?{borderBottom: '4px solid #f5ab4c'}:{}">{{item}}</div>
<div v-for="(item,index) in service_arr[now_user]" :key="index+1000" class="type_select" @click="now_service=index" :style="now_service==index?{borderBottom: '4px solid #f5ab4c'}:{}">{{item}}</div>
</div>
<div class="type_box_select">
<info-list :list_arr="now_service==0?list_arr:servicead_arr" v-if="now_service == 0||now_service == 1">
......@@ -53,9 +53,38 @@
<p class="service_title"><span></span>服务调用列表</p>
<table-um :headers="header_use_arr" url="params_use_arr" :paginationShow="true"></table-um>
</div>
<div v-show="now_service == 3">
<p style="color: #8890a7;">服务规格:</p>
<table-um :stripe="true" :headers="service_size_arr" url="service_size_arr"></table-um>
<p style="color: #8890a7;">购买方式:</p>
<p style="color: #242c43;margin:10px 0px;">按月购买&按年购买</p>
<div class="editbtn" v-if="now_user==1">编辑</div>
<p v-if="now_user==1" style="color: #8890a7;margin-bottom:10px;">规格设置:</p>
<table-um
v-if="now_user==1"
:headers="edit_size_arr"
headerCellClassName="th_pink"
:border="true"
:autoAdd="true"
:couldNotEdit="false"
:radius="true"
:isIndex="true"
url="service_size_arr">
</table-um>
<p v-if="now_user==1" style="color: #8890a7;margin:10px 0;">购买方式:</p>
<el-button v-if="now_user==1" :type="buy_style==0?'primary':''" @click="buy_style=0">按月购买</el-button>
<el-button v-if="now_user==1" :type="buy_style==1?'primary':''" @click="buy_style=1">按年购买</el-button>
<div class="savebtn" v-if="now_user==1">
<el-button >保存</el-button>
<el-button >取消</el-button>
</div>
</div>
</div>
</div>
</div>
<dialog-action
ref="myConfirm"
></dialog-action>
</div>
</template>
......@@ -67,6 +96,7 @@ import norCard from "@/components/card"
import exampleIcon from "@/pages/example_icon"
import Topology from "@/components/topology.vue";
import serviceHeader from '../components/service-header'
import dialogAction from "@/components/dialog-action";
export default {
components:{
infoList,
......@@ -75,11 +105,18 @@ export default {
norCard,
exampleIcon,
Topology,
serviceHeader
serviceHeader,
dialogAction,
},
data() {
return {
service_arr:['服务基本信息','接口详细信息','服务运行状态'],
now_user: 2, //0:普通用户,1:组织管理员,2:超级管理员
buy_style:0,
service_arr:[
['服务基本信息','接口详细信息','服务运行状态'],
['服务基本信息','接口详细信息','服务运行状态','服务计费规则'],
['服务基本信息','接口详细信息','服务运行状态','服务规格'],
],
service_header_arr:{
name:'地市GDP基础数据',
first:[
......@@ -180,6 +217,178 @@ export default {
align:'right',
},
],
service_size_arr:[
{
prop:'fwcs',
label:'访问次数(次/日)',
minWidth:'33.33%',
align:'center',
},
{
prop:'fwl',
label:'访问量(PV/日)',
minWidth:'33.33%',
align:'center',
},
{
prop:'ggsm',
label:'规格说明',
minWidth:'33.33%',
align:'left',
},
],
edit_size_arr:[
{
prop:'fwcs',
label:'访问次数(次/日)',
minWidth:'33.33%',
align:'center',
type:'select',
selectArr:[
{
label:10,
value:10
},
{
label:20,
value:20
},
{
label:30,
value:30
},
{
label:40,
value:40
},
{
label:50,
value:50
},
{
label:60,
value:60
},
{
label:70,
value:70
},
{
label:80,
value:80
},
{
label:90,
value:90
},
{
label:100,
value:100
},
{
label:200,
value:200
},
{
label:300,
value:300
},
{
label:400,
value:400
},
{
label:500,
value:500
},
]
},
{
prop:'fwl',
label:'访问量(PV/日)',
minWidth:'33.33%',
align:'center',
type:'select',
selectArr:[
{
label:100,
value:100
},
{
label:200,
value:200
},
{
label:300,
value:300
},
{
label:400,
value:400
},
{
label:500,
value:500
},
{
label:600,
value:600
},
{
label:700,
value:700
},
{
label:800,
value:800
},
{
label:900,
value:900
},
{
label:1000,
value:1000
},
{
label:2000,
value:2000
},
{
label:3000,
value:3000
},
{
label:4000,
value:4000
},
{
label:5000,
value:5000
},
]
},
{
prop:'ggsm',
label:'规格说明',
minWidth:'33.33%',
align:'left',
type: "input"
},
{
label: "操作",
type: "Button",
align: "center",
width: 140,
btnList: [
{
type: "action-delete",
label: "删除",
local:true
},
],
},
],
servicead_arr:[
{
title:'请求方式:',
......@@ -265,11 +474,27 @@ export default {
};
</script>
<style>
.savebtn .el-button{
float: right;
margin-left: 20px;
letter-spacing: 2px;
}
.savebtn .el-button:nth-of-type(1){
background-color: #0f2683;
color: #f8f9fd;
}
.savebtn .el-button:nth-of-type(2){
background-color: #c3caf8;
color: #0f2683;
}
</style>
<style scoped>
.detail_contain{
width: 100%;
padding: 0 20px;
margin-bottom: 20px;
height: calc(100% - 55px);
}
.info_contain{
padding: 25px 20px;
......@@ -277,7 +502,9 @@ export default {
width: 100%;
box-shadow: 0px 3px 6px 0px
#f4f7fc;
border-radius: 12px;
border-radius: 12px;
min-height: calc(100% - 20px);
margin-bottom: 20px;
}
.now_page_title{
margin: 15px 0;
......@@ -355,5 +582,21 @@ export default {
width: 100%;
margin-top: 30px;
}
.editbtn{
width: 124px;
height: 44px;
line-height: 44px;
background-color: #0f2683;
border-radius: 8px;
font-size: 16px;
color: #f8f9fd;
text-align: center;
cursor: pointer;
margin-bottom: 30px;
}
.savebtn{
margin-top: 50px;
overflow: hidden;
}
</style>
......@@ -5,7 +5,15 @@
<span>服务编辑</span>
</p>
<div class="info_contain">
<el-form ref="form" :rules="rules" :model="form" label-width="0px">
<div class="edit_change">
<div class="edit_change_box" @click="now_edit=0" :style="now_edit==0?{backgroundColor:'#e56600',color:'#ffffff'}:{}">
<img v-if="now_edit==0" src="../assets/imgs/nav_ic_xinxi_sel.png" alt="">
<img v-if="now_edit!==0" src="../assets/imgs/nav_ic_xinxi_nor.png" alt=""> 基本信息编辑</div>
<div class="edit_change_box" @click="now_edit=1" :style="now_edit==1?{backgroundColor:'#e56600',color:'#ffffff'}:{}">
<img v-if="now_edit==1" src="../assets/imgs/nav_ic_anquan_sel.png" alt="">
<img v-if="now_edit!==1" src="../assets/imgs/nav_ic_anquan_nor.png" alt=""> 服务安全设置</div>
</div>
<el-form ref="form" :rules="rules" :model="form" label-width="0px" v-if="now_edit==0">
<el-form-item>
<p class="formname">服务名称:</p>
<el-input v-model="form.name"></el-input>
......@@ -16,11 +24,25 @@
</el-form-item>
<el-form-item>
<p class="formname">服务领域:</p>
<el-input v-model="form.area"></el-input>
<el-select v-model="form.area" placeholder="请选择">
<el-option
v-for="item in area_arr"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-form-item v-if="now_user==0">
<p class="formname">所属组织:</p>
<el-input v-model="form.origin"></el-input>
<el-select v-model="form.origin" placeholder="请选择">
<el-option
v-for="item in origin_arr"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<p class="formname">服务封面:</p>
......@@ -32,12 +54,22 @@
fit="fill"
:list="imgList"
@getNewList="getNewList"
ref="servicepic"
></upload-file>
<span class="removepic" v-if="now_user==2" @click="removepic">更换封面</span>
</el-form-item>
<el-form-item>
<el-form-item v-if="now_user==0">
<p class="formname">接口编码:</p>
<el-input v-model="form.code"></el-input>
</el-form-item>
<el-form-item v-if="now_user==2">
<p class="formname">发布人:</p>
<el-input v-model="form.people"></el-input>
</el-form-item>
<el-form-item v-if="now_user==2">
<p class="formname">联系方式:</p>
<el-input v-model="form.phone"></el-input>
</el-form-item>
<el-form-item>
<p class="formname">开放程度:</p>
<el-radio-group v-model="form.resource">
......@@ -52,6 +84,17 @@
<el-button class="right">取消</el-button>
</el-form-item>
</el-form>
<div class="safe_set">
<div class="safe_title">
<div v-for="(item,index) in safe_arr" :key="index+4000"
class="safe_select"
@click="now_safe=index"
:style="now_safe==index?{borderBottom: '4px solid #f5ab4c'}:{}"
>{{item}}</div>
</div>
<div class="safe_box_select"></div>
</div>
</div>
</div>
</template>
......@@ -71,10 +114,76 @@ export default {
area:'',
origin:'',
code:'',
people:'',
phone:'',
resource: '',
fileList:''
},
now_user: 2, //0:普通用户,1:组织管理员,2:超级管理员
now_edit:0,//信息和安全切换
now_safe:0,//切换安全
imgList: [],
safe_arr:['熔断管理','速率限制','TLS加密','敏感字段追踪'],
area_arr:[
{
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,
},
],
origin_arr:[
{
label:'北京比格大数据公司',
value:0
},
{
label:'云上贵州',
value:1
},
{
label:'迪爱斯',
value:2
},
],
rules:{
desc:[
{ max: 200, message: '长度小于200个字符', trigger: 'blur' }
......@@ -87,6 +196,9 @@ export default {
created() {},
mounted() {},
methods: {
removepic(){
this.$refs.servicepic.handleRemove()
},
onSubmit() {
console.log('submit!');
},
......@@ -106,9 +218,11 @@ export default {
<style>
.info_contain .el-input__inner{
background-color: #f7f8f9;
width: 1022px;
}
.info_contain .el-textarea__inner{
background-color: #f7f8f9;
width: 1022px;
}
</style>
......@@ -116,7 +230,7 @@ export default {
.detail_contain {
width: 100%;
padding: 0 20px;
margin-bottom: 20px;
height: calc(100% - 55px);
}
.info_contain {
padding: 25px 20px;
......@@ -124,6 +238,8 @@ export default {
width: 100%;
box-shadow: 0px 3px 6px 0px #f4f7fc;
border-radius: 12px;
min-height: calc(100% - 20px);
margin-bottom: 20px;
}
.now_page_title {
margin: 15px 0;
......@@ -139,4 +255,55 @@ export default {
float: right;
margin-left: 20px;
}
.removepic{
display: inline-block;
margin-top: -40px;
float: left;
margin-left: 180px;
width: 76px;
height: 32px;
background-color: #495feb;
border-radius: 8px;
line-height: 32px;
text-align: center;
color: #e6ebfe;
cursor: pointer;
}
.edit_change{
width: 100%;
border-bottom: 2px solid #f4f7fc;
overflow: hidden;
}
.edit_change_box{
width: 163px;
height: 48px;
line-height: 48px;
background-color: #e3e5ef;
border-radius: 8px;
color: #8890a7;
text-align: center;
float: left;
margin-right: 20px;
font-weight: 600;
margin-bottom: 25px;
font-size: 16px;
cursor: pointer;
}
.edit_change_box img{
vertical-align: -3px;
margin-right: 5px;
}
.safe_title{
width: 100%;
height: 65px;
line-height: 65px;
border-bottom: 2px solid #f4f7fc;
}
.safe_select{
float: left;
width: auto;
margin-right: 40px;
height: 65px;
cursor: pointer;
}
</style>
......@@ -66,6 +66,38 @@
"address": "上海市普陀区金沙江路 1516 弄"
}
],
"service_size_arr":[
{
"id": 1,
"fwcs": "100",
"fwl": "100",
"ggsm": "每日可访问100次,访问量为1000PV"
},
{
"id": 2,
"fwcs": "100",
"fwl": "100",
"ggsm": "每日可访问100次,访问量为1000PV"
},
{
"id": 3,
"fwcs": "100",
"fwl": "100",
"ggsm": "每日可访问100次,访问量为1000PV"
},
{
"id": 4,
"fwcs": "100",
"fwl": "100",
"ggsm": "每日可访问100次,访问量为1000PV"
},
{
"id": 5,
"fwcs": "100",
"fwl": "100",
"ggsm": "每日可访问100次,访问量为1000PV"
}
],
"params_arr":[
{
"id": 1,
......
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