From eedea1498658f6c6a07cbad256bca1ab8218ea06 Mon Sep 17 00:00:00 2001 From: guochuyicmri Date: Wed, 13 Feb 2019 09:41:51 +0800 Subject: Fix instance instantiation for CCVPN Change-Id: I0f9eefab631fabfaf8ea73f35a65a505e91b5bdf Issue-ID: USECASEUI-220 Signed-off-by: guochuyicmri --- .../ccvpn-creation/ccvpn-creation.component.css | 258 +++++--- .../ccvpn-creation/ccvpn-creation.component.html | 646 +++++++++++---------- .../app/ccvpn-creation/ccvpn-creation.component.ts | 11 + .../services-list/services-list.component.html | 18 +- .../services-list/services-list.component.less | 33 +- .../services-list/services-list.component.ts | 8 + 6 files changed, 594 insertions(+), 380 deletions(-) (limited to 'usecaseui-portal/src/app') diff --git a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.css b/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.css index 35fdbef5..54b92d03 100644 --- a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.css +++ b/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.css @@ -25,80 +25,125 @@ hr { margin-bottom: 10px; } .model { - background-color: #fff; - height: 90%; + background-color: #F7F8FC; + /*height: 100%;*/ overflow-y: auto; } +.creation-model{ + position: relative; +} +.top-title{ /*2019.01.22 add*/ + width: 100%; + padding: 20px; + position: relative; + display: inline-block; +} .model .back { position: absolute; top: 10px; right: 20px; + display: inline-block; + width: 35px; + height: 35px; + background:linear-gradient(90deg,rgba(99,194,246,1) 0%,rgba(62,155,255,1) 100%) !important; + border-radius:4px; + color: #fff; + border: none!important; + border-color:rgba(0,0,0,0)!important; +} +.top-title h3.title { + height: 35px; + width: 80%; + /*font: 700 20px/20px "Arial";*/ + font-size:16px; + font-family:ArialMT; + color:#3C4F8C; + line-height:35px; + display: inline-block; + /*top:10px;*/ + +} +.model .submit{ + position: absolute; + width:84px; + height: 35px; + top: 10px; + right: 85px; + color: #fff; + font-size: 18px; + background:linear-gradient(90deg,rgba(99,194,246,1) 0%,rgba(62,155,255,1) 100%) !important; + border-radius:4px; + border: none!important; + border-color:rgba(0,0,0,0)!important; +} +.model .submit:hover,.model .back:hover,.model .site>button:hover,.model .sitegroup>button:hover{ + background:linear-gradient(90deg, rgb(103, 207, 246) 0%, rgb(69, 175, 255) 100%) !important; + border: none; } .model .creation { - position: relative; - width: 60%; - height: 100%; + width: 100%; + /*height: 60vh;*/ overflow-y: auto; border-radius: 5px; padding: 15px; } -.model .creation h3.title { - height: 20px; - font: 700 20px/20px "Arial"; - color: #666; -} .model .creation h3 { height: 20px; font: 700 16px/20px "Arial"; margin: 5px 0px; color: #000; } -.model .creation .submit { - position: absolute; - top: 10px; - right: 20px; -} /* SOTN VPN */ .model .creation .sotnvpn ul li { display: inline-block; - height: 35px; - width: 49.5%; + height: 40px; + width: 24.5%; + margin-bottom: 40px; } .model .creation .sotnvpn ul li span { display: inline-block; width: 110px; font: 700 14px "Arial"; - color: #3fa8eb; + color: #3C4F8C; vertical-align: middle; } .model .creation .sotnvpn ul li input { - width: 165px; + width: 234px; + height: 40px; + border-radius:4px; + outline: none; } /* Site List */ /* addsite model */ .model .sitemodel { position: absolute; - z-index: 10; - left: 10px; + z-index: 1001; + left: 100px; top: 60px; background-color: #fff; - box-shadow: 0px 0px 20px #000; - width: 60%; + /*box-shadow: 0px 0px 20px #000;*/ + width:650px; + /*width:1300px;px*/ max-height: 90%; - border-radius: 5px; + border-radius:2px; overflow-y: auto; } -.model .sitemodel h3 { - height: 30px; - font: 700 16px/30px "Arial"; - border-bottom: 1px solid #aaa; - padding-left: 10px; -} -.model .sitemodel h4 { - height: 30px; - font: 700 16px/30px "Arial"; - padding-left: 10px; - background-color: #ddd; +.model .sitemodel h3,.sitegroupmodal>h3{ + width: 92%; + height: 40px; + line-height: 35px; + font-size: 18px; + font-weight: 500; + margin: 10px auto; + /*padding-left: 10px;*/ + color: #06A7E2; + /*color: #ffffff;*/ + /*background:linear-gradient(90deg,rgba(7,169,225,1) 0%,rgba(48,217,196,1) 100%);*/ + border-bottom: 2px solid; + border-image: -webkit-linear-gradient(#07A9E1,#30D9C4) 100 100; + border-image: -moz-linear-gradient(#07A9E1,#30D9C4) 100 100; + border-image: linear-gradient(#07A9E1,#30D9C4) 100 100; + border-radius:2px; } .model .sitemodel .inputs { padding: 10px 20px 0; @@ -106,21 +151,46 @@ hr { .model .sitemodel .inputs ul li { display: inline-block; height: 35px; + line-height: 35px; width: 49.5%; } .model .sitemodel .inputs ul li span { display: inline-block; - width: 110px; - font: 700 14px "Arial"; - color: #3fa8eb; + line-height: 35px; + font-size: 14px; + font-weight: 500; + color: #3C4F8C; + margin-left: 10px; vertical-align: middle; + float: left; } -.model .sitemodel .inputs input { - width: 165px; +.model .sitemodel .inputs input,.model .sitemodel .inputs nz-select { + width: 156px; + float: right; + margin-right: 30px; } .model .sitemodel .action { - float: left; - padding: 10px; + text-align: center; + margin-top: 30px; + margin-bottom: 20px; +} + +.model .sitemodel .action button{ + width: 126px; + height:40px; + background:#EEEEEE; + border-radius:2px; + border: none!important; + color: #9DA7C5; + font-size: 16px; + margin: 0 15px; +} +.model .sitemodel .action button:nth-child(2),.sitemodel h3 button{ + background:linear-gradient(310deg,rgba(30,158,255,1) 0%,rgba(99,200,255,1) 100%); + color: #fff; +} +.model .sitemodel .action button:nth-child(2):hover,.sitemodel h3 button:hover{ + background:linear-gradient(90deg, rgb(103, 207, 246) 0%, rgb(69, 175, 255) 100%) !important; } .model nz-table tbody td i.anticon:hover { @@ -129,6 +199,24 @@ hr { } /* site table */ +.model .site>button,.model .sitegroup>button,.sitemodel h3>button{ + width:36px; + height:36px; + color: #fff; + background:linear-gradient(270deg,rgba(63,156,255,1) 0%,rgba(98,193,246,1) 100%); + border-radius:4px; + border: none!important; +} +.sitemodel h3>button{ + float: right; + width: 30px; + height: 30px; + margin-right: 15px; +} +.model nz-table tbody th{ + color:rgba(60,79,140,0.5); + font-size: 16px; +} .model .site nz-table tbody td i.anticon:hover { color: #3fa8eb; cursor: pointer; @@ -136,49 +224,75 @@ hr { /* WAN Port */ /* Site Group List */ -.model .sitegroup .sitegroupmodal { + +.model .sitegroupmodal { position: absolute; - z-index: 10; - left: 200px; - top: 300px; - background-color: #fff; - box-shadow: 0px 0px 20px #000; - width: 330px; - border-radius: 5px; + z-index: 1001; + width: 360px!important; + height: 376px!important; + left:35%; + top:40%; + margin-top: -188px; + margin-left: -180px; + background: #ffffff; } -.model .sitegroup .sitegroupmodal h3 { - height: 30px; - font: 700 16px/30px "Arial"; - border-bottom: 1px solid #aaa; - padding-left: 10px; +.sitegroupmodal .list-div{ + width: 100%; + height: 32px !important; + line-height: 32px; + margin-bottom: 10px; } -.model .sitegroup .sitegroupmodal .inputs { - padding: 10px 20px 0; +.sitegroupmodal .list-div > span { + line-height: 32px !important; + color: #3C4F8C; + margin-left: 30px; } -.model .sitegroup .sitegroupmodal span { - display: inline-block; - width: 100px; - margin-bottom: 10px; +.sitegroupmodal .list-div input, .sitegroupmodal .list-div nz-select { + margin-right: 50px; } -.model .sitegroup .sitegroupmodal .inputs input { - width: 165px; +.sitegroupmodal .action{ + text-align: center; + margin-top: 30px; } -.model .sitegroup .sitegroupmodal .action { - float: right; - padding: 10px; +.sitegroupmodal .action button{ + width: 126px; + height:40px; + background:#EEEEEE; + border-radius:2px; + border: none!important; + color: #9DA7C5; + font-size: 16px; + margin: 0 8px; +} +.sitegroupmodal .action button:nth-child(2){ + background:linear-gradient(310deg,rgba(30,158,255,1) 0%,rgba(99,200,255,1) 100%); + color: #fff; +} +.sitegroupmodal .action button:nth-child(2):hover{ + background:linear-gradient(90deg, rgb(103, 207, 246) 0%, rgb(69, 175, 255) 100%) !important; +} +.mask{ + width: 100%; + height: 100%; + position: absolute; + z-index: 1000; + background: rgba(0, 0, 0, 0.65); + top:0; } -/* 图 */ +/* chart */ .model .chart { - width: 40%; + width: 100%; padding: 10px; - height: 100%; + /*height: 30vh;*/ border-left: 10px solid #f3f3f3; + margin-bottom: 30px; + box-shadow: 0px 10px 15px 2px rgba(222, 222, 222, 0.5); } .model .chart #createChart { width: 100%; - height: 80%; + /*height: 50vh;*/ margin-top: 20px; position: relative; } @@ -193,3 +307,7 @@ hr { overflow: hidden; text-overflow: ellipsis; } +.model .creation .sotnvpn,.model .creation .site,.model .creation .sitegroup{ + background: #fff; + padding: 30px; +} diff --git a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.html b/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.html index 15486238..1b54b7bc 100644 --- a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.html +++ b/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.html @@ -13,301 +13,361 @@ See the License for the specific language governing permissions and limitations under the License. --> -

Services List

-
-
- - -
-

{{createParams.commonParams.templateType}} Instance Creation

-
-

SOTN VPN Info

-
    -
  • Name:
  • -
  • Description:
  • -
  • Start Time: - - -
  • -
  • End Time: - - -
  • -
  • COS: - - - - -
  • -
  • Reroute Enabled:
  • -
  • Service Level Specification:
  • -
  • Dual Link: - - - - - -
  • -
  • CIR:
  • -
  • EIR:
  • -
  • CBS:
  • -
  • EBS:
  • -
  • Color Aware:
  • -
  • Coupling Flag:
  • -
-
- -
-

Site List

- - - - - NO. - Name - Description - Post Code - Address - VLAN - Action - - - - - - {{i+1}} - {{item.baseData.name}} - {{item.baseData.description}} - {{item.baseData.postcode}} - {{item.baseData.address}} - {{item.baseData.vlan}} - -   - - - - - - -
- -
-

Site_Group List

- -
-

Site_Group

-
- Group Name:
- Topology: - - - - - - - - - Site Name - Role - - - - - - {{ item.siteName }} - - - - - - - - - -
-
- - -
-
- - - - NO. - Group Name - Topology - Sites - Role - Action - - - - - - {{i+1}} - {{item.name}} - {{item.topology}} - {{item.sites}} - {{item.role}} - -   - - - - - - -
+ + +
+ +
+

{{createParams.commonParams.templateType}} Instance Creation

+
+ + +
+
+ +
+ Create Service + {{createParams.commonParams.templateType}} +
+ + + + + + + + {{ item.name }} + + - Create -
- -
-

Site_Enterprise Service

-
-
    -
  • Name:
  • -
  • Description:
  • -
  • Type: - - - - -
  • -
  • Role: - - - - -
  • -
  • PostCode:
  • -
  • VLAN:
  • -
  • Address: - - - -
  • -
+ + +
-
-

CPE

-
-
    -
  • Name:
  • -
  • Version:
  • -
  • ESN:
  • -
  • Class: - - - - -
  • -
  • System IP:
  • -
  • Vendor:
  • -
  • Type:
  • -
-
-

WAN Port

-
- - - - NO. - Name - Description - PortType - PortNumber - IPAddress - Action - - - - - - {{i+1}} - {{item.sitewanport_name}} - {{item.sitewanport_description}} - {{item.sitewanport_portType}} - {{item.sitewanport_portNumber}} - {{item.sitewanport_ipAddress}} - - - - - - - -
- -
    -
  • Name:
  • - -
  • Description:
  • -
  • Port Type: - - - - - - - - -
  • -
  • Port Number:
  • -
  • Ip Address:
  • -
  • Provider IP Address:
  • -
  • Transport Nerwork:
  • -
  • Input Bandwidth:
  • -
  • Output Bandwidth:
  • -
-
+
+ + +
+ +
    +
  • Name:
  • +
  • Description:
  • +
  • Start Time: + + +
  • +
  • End Time: + + +
  • +
  • COS: + + + + +
  • +
  • Reroute Enabled: + +
  • +
  • Service Level Specification:
  • +
  • Dual Link: + + + + + +
  • +
  • CIR:
  • +
  • EIR:
  • +
  • CBS:
  • +
  • EBS:
  • +
  • Color Aware: + +
  • +
  • Coupling Flag: + +
  • +
+
+
+ +
+ + + + + + NO. + Name + Description + Post Code + Address + VLAN + Action + + + + + + {{i+1}} + {{item.baseData.name}} + {{item.baseData.description}} + {{item.baseData.postcode}} + {{item.baseData.address}} + {{item.baseData.vlan}} + +   + + + + + + +
+
+ +
+ + + + + + NO. + Group Name + Topology + Sites + Role + Action + + + + + + {{i+1}} + {{item.name}} + {{item.topology}} + {{item.sites}} + {{item.role}} + + +   + + + + + + +
+
+
+ +
+

Site_Enterprise Service

+
+
    +
  • Name:
  • +
  • Description:
  • +
  • Type: + + + + +
  • +
  • Role: + + + + +
  • +
  • PostCode:
  • +
  • VLAN:
  • +
  • Address: + + + + +
  • +
+
+
+

CPE

+
+
    +
  • Name:
  • +
  • Version:
  • +
  • ESN:
  • +
  • Class: + + + + +
  • +
  • System IP:
  • +
  • Vendor:
  • +
  • Type:
  • +
+
+

WAN Port + +

+
+ + + + NO. + Name + Description + PortType + PortNumber + IPAddress + + + + + Action + + + + + + {{i+1}} + {{item.sitewanport_name}} + {{item.sitewanport_description}} + {{item.sitewanport_portType}} + {{item.sitewanport_portNumber}} + {{item.sitewanport_ipAddress}} + + + + + + + +
+ +
    +
  • Name:
  • + +
  • Description: +
  • +
  • Port Type: + + + + + + + + +
  • +
  • Port Number: +
  • +
  • Ip Address:
  • +
  • Provider IP Address: +
  • +
  • Transport Nerwork: +
  • +
  • Input Bandwidth: +
  • +
  • Output Bandwidth: +
  • +
+
+
-
- - -
-
- -
- Create Service - {{createParams.commonParams.templateType}} -
- - - - - - - - {{ item.name }} - - - - -
-
- +
+ + +
+
+ +
+

Site_Group

+
+
+ Group Name: + +
+
+ Topology: + + + + +
+ + + + + Site Name + Role + + + + + + {{ item.siteName }} + + + + + + + + + +
+
+ + +
+
+
diff --git a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.ts b/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.ts index 4dd3f5c2..ace7ac42 100644 --- a/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.ts +++ b/usecaseui-portal/src/app/ccvpn-creation/ccvpn-creation.component.ts @@ -19,11 +19,22 @@ export class CcvpnCreationComponent implements OnInit { @Input() namesTranslate; //输入项参数名字转换 @Output() closeCreate = new EventEmitter(); + //tabBarStyle + tabBarStyle = { + "height": "58px", + "width": "528px", + "box-shadow": "none", + "margin": "0", + "border-radius": "4px 4px 0px 0px" + }; templateParameters = {}; getTemParameters(){ //获取模板参数 let chosedtemplates = Object.values(this.createParams.templates); // console.log(this.createParams); console.log(chosedtemplates); //模板id数组 + if(this.createParams.commonParams.templateType == 'SOTN'){ + this.tabBarStyle["width"]="351px"; + } let types = ["sotnvpn","site","sdwanvpn"]; chosedtemplates.forEach((item,index)=>{ this.myhttp.getTemplateParameters(types[index],item) diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.html b/usecaseui-portal/src/app/services/services-list/services-list.component.html index 28162251..ff977190 100644 --- a/usecaseui-portal/src/app/services/services-list/services-list.component.html +++ b/usecaseui-portal/src/app/services/services-list/services-list.component.html @@ -38,7 +38,8 @@ + class="anticon anticon-plus" style="transform: scale(1.5);line-height: 15px;margin-right: 5px;"> Create +
@@ -96,7 +97,7 @@
-
+
{{data.tips}} - + - @@ -169,7 +171,8 @@ - +

Are you sure heal this instance?

Instance ID: {{ thisService["service-instance-id"] || thisService["nsInstanceId"] || @@ -194,7 +197,7 @@
-

Are you sure delete this instance?

@@ -211,7 +214,8 @@ [(ngModel)]="gracefulTerminationTimeout">
- +

Are you sure heal this instance?

Instance ID: {{ thisService["service-instance-id"] || thisService["nsInstanceId"] || diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.less b/usecaseui-portal/src/app/services/services-list/services-list.component.less index 3ef3fde2..0e59ca2e 100644 --- a/usecaseui-portal/src/app/services/services-list/services-list.component.less +++ b/usecaseui-portal/src/app/services/services-list/services-list.component.less @@ -24,6 +24,9 @@ hr { background-color: #dce1e7; margin-bottom: 20px; } +.ant-tabs-bar{ + margin-bottom: 0!important; +} .action { margin-bottom: 15px; padding: 28px; @@ -85,16 +88,20 @@ hr { .create.ant-btn.ant-btn-primary{ border: none; } + .create:hover{ + background:linear-gradient(90deg, rgb(103, 207, 246) 0%, rgb(69, 175, 255) 100%) !important; + } } .top-num{ overflow: auto; + width: 100%; } .top-list{ position: relative; - width:360px; + width:22%; height:160px; - margin: 15px 15px 30px 15px; + margin: 15px 1.5%; float: left; background:linear-gradient(90deg,rgba(16,174,222,1) 0%,rgba(43,206,202,1) 100%); box-shadow:0px 10px 15px 2px rgba(222,222,222,1); @@ -102,17 +109,17 @@ hr { } .top-list .round{ position: absolute; - width:80px; - height:80px; - line-height: 80px; + width: 60px; + height: 60px; + line-height: 60px; text-align: center; top:50%; left: 10px; - margin-top: -40px; + margin-top: -30px; background:#E0EDFF; border:2px solid rgba(224,237,255,1); border-radius: 50%; - font-size:18px; + font-size:16px; font-family:ArialMT; color:#3C4F8C; } @@ -123,8 +130,11 @@ hr { line-height: 20px; top:50%; margin-top: -20px; - right: 20px; + right: 15px; color: #fff; + span:nth-child(1){ + font-size: 22px; + } } .list { background-color: #fff; @@ -207,9 +217,9 @@ hr { top: 0; width: 100%; height: 100vh; - background-color: #f3f3f3; + background-color: #F7F8FC; overflow-y: auto; - padding: 20px 32px; + //padding: 20px 32px; z-index: 3; } /*2019.01.14*/ @@ -236,3 +246,6 @@ hr { line-height: 32px; } +.listdisplay{ + display: none; +} \ No newline at end of file diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.ts b/usecaseui-portal/src/app/services/services-list/services-list.component.ts index 7149ae2f..2dfbc942 100644 --- a/usecaseui-portal/src/app/services/services-list/services-list.component.ts +++ b/usecaseui-portal/src/app/services/services-list/services-list.component.ts @@ -140,6 +140,7 @@ export class ServicesListComponent implements OnInit { // createshow = false; createshow2 = false; + listDisplay = false; createData:Object={}; handleOk(): void { // console.log('Button ok clicked!'); @@ -153,6 +154,7 @@ export class ServicesListComponent implements OnInit { }else if(this.templateTypeSelected=="E2E Service"||this.templateTypeSelected=="Network Service"){ this.createData = {commonParams:{customer:this.customerSelected, serviceType:this.serviceTypeSelected, templateType:this.templateTypeSelected},template:this.template4}; this.createshow2 = true; + this.listDisplay = true; } } @@ -461,9 +463,11 @@ export class ServicesListComponent implements OnInit { closeCreate(obj){ if(!obj){ this.createshow = false; //close + this.listDisplay = false; return false; } this.createshow = false; + this.listDisplay = false; console.log(obj); let newData; //Newly created service data for the main table let stageNum = 0; //Different stages of progress, used to add up subsequent service progress; @@ -584,9 +588,11 @@ export class ServicesListComponent implements OnInit { e2eCloseCreate(obj){ if(!obj){ this.createshow2 = false; // + this.listDisplay = false; return false; } this.createshow2 = false; // + this.listDisplay = false; console.log(obj); let newData; // let createParams = "?customerId="+this.customerSelected.id + @@ -638,9 +644,11 @@ export class ServicesListComponent implements OnInit { nsCloseCreate(obj){ if(!obj){ this.createshow2 = false; // + this.listDisplay = false; return false; } this.createshow2 = false; // + this.listDisplay = false; console.log(obj); let newData; // // step1 -- cgit 1.2.3-korg