Browse Source

调试加入企业接口,修改ui样式

jinsy 7 years ago
parent
commit
e67a437ee6

+ 106 - 56
frontend/saas-portal-web/src/components/conenter/addenterprise.vue

@@ -41,15 +41,15 @@
                                 <option value="其他">其他</option>   
                             </select>
                         </li>
-                        <li>
+                        <li style="margin:0">
                             <span class="qy-biaoti"><span class="xingxing">*</span>企业地址</span>
                             <input ref="address" @change="address" class="inpind" type="text" placeholder="输入企业详细地址">
                             <!-- <div class="addbiaoqian">
                                 <v-distpicker @selected= 'selected' @province= 'qyprovince' :placeholders= 'placeholder'></v-distpicker>
                                 <input ref="address" @change="address" class="qy-xiangxi" type="text" placeholder="输入企业详细地址">
                             </div> -->
-                            <div class="qy-Tips left">
-                                <span ref="ress" style="color:red;margin-left:40px;"></span>
+                            <div class="qy-Tips Tips-buttom">
+                                <span ref="ress" style="color:red"></span>
                             </div>
                         </li>
                         <li style="margin:0">
@@ -78,13 +78,14 @@
                             <input @blur.prevent="Testingqyname" ref="lookupqyname" class="inpind" type="text" value="" placeholder="输入企业名称或管理员">
                             <span class="warning" ref="warningqyname"></span>
                         </li>
+                        <!-- 匹配企业后显示的内容 -->
                         <li class="hied" :class= "{showlookup:islookup}">
                             <div class="lookup">
                                 <ul>
-                                    <li v-for="(d, i) in arr" :key="i">
-                                        <span>企业名称:</span><span>{{d.qyname}}</span>
-                                        <span class="saasguanli">SaaS管理员:</span><span>{{d.saas}}</span>
-                                        <span>联系方式:</span><span>{{d.phone}}</span>
+                                    <li v-for="(d, i) in arr" :key="i" @click="qylist(i)" :class="{'hui':newindex === i}">
+                                        <span>企业名称:</span><span>{{d.name}}</span>
+                                        <span class="saasguanli">SaaS管理员:</span><span>{{d.admin}}</span>
+                                        <span>联系方式:</span><span>{{d.adminMobile}}</span>
                                     </li>
                                 </ul>
                             </div>
@@ -109,7 +110,7 @@
 
 <script>
 import Session from '@/utils/session'
-import VDistpicker from 'v-distpicker'
+// import VDistpicker from 'v-distpicker'
 import { setTimeout } from 'timers';
     export default {
         data(){
@@ -136,22 +137,20 @@ import { setTimeout } from 'timers';
                     // {name:'加入企业'},
                 ],
                 nowindex:0,
+                newindex:'',
                 islookup:false,
                 isTestingname:false,
                 isregname:false,
-                arr:[
-                    {qyname:'XX房贷首付范德萨发达企业',saas:'反倒是地方反对法管理员',phone:'13456789023'},
-                    {qyname:'XX企业',saas:'管理员',phone:'13456789023'},
-                    {qyname:'XX企业',saas:'管理员',phone:'13456789023'},
-                ]
+                companyId:null,
+                arr:[]
             }
         },
         components:{
-            VDistpicker
+            // VDistpicker
         },
         mounted(){
-            this.$refs.name.value = this.mytoken.account.realname == this.mytoken.account.mobile ? '' : this.mytoken.account.realname
-            this.$refs.email.value = this.mytoken.account.email
+            this.$refs.name.value = this.mytoken.account.realname;
+            this.$refs.email.value = this.mytoken.account.email;
         },
         methods: {
             tabwith(i){
@@ -188,7 +187,7 @@ import { setTimeout } from 'timers';
                                 this.$refs.qyno.innerHTML = '<span style="color:green">该企业可创建</span>';
                             } else {
                                 this.$refs.qyno.innerHTML = '该企业已在优软云注册';
-                                this.qymingzi = false
+                                this.qymingzi = false;
                             }
                         })
                         .catch(err=>{
@@ -200,26 +199,47 @@ import { setTimeout } from 'timers';
             //检测企业名称2
             Testingqyname(){
                 let qyname = this.$refs.lookupqyname.value.replace(/\s+/g, "");//企业名字
+                let token = this.mytoken.token;
                 if (qyname == '') {
                     this.$refs.warningqyname.innerHTML = '<img style="width:14px" src="/static/img/warning.png" alt=""> 企业或管理员不能为空';
-                    this.islookup = false
+                    this.islookup = false;
                 } else {
-                    this.$refs.warningqyname.innerHTML = '<img style="width:14px" src="/static/img/ok.png" alt="">';
-                    this.islookup = true
+                    this.$ajax({
+                        url: "http://192.168.253.41:8560/api/account/accountCenter/company/isOpen",//http://192.168.253.41:8560
+                        method:'GET',
+                        params: {
+                            companyName: qyname
+                        },
+                        headers:{
+                            "Authorization":token,
+                        }
+                    })
+                    .then(res=>{
+                        if (res.data.success) {
+                            this.arr = res.data.data
+                            this.$refs.warningqyname.innerHTML = '<img style="width:14px" src="/static/img/ok.png" alt="">';
+                            this.islookup = true;   
+                        } else if (res.data.success = false && res.data.message != null){
+                            this.$refs.warningqyname.innerHTML = '<img style="width:14px" src="/static/img/warning.png" alt=""> 该企业不存在';
+                        } else {
+                            this.$message.error('请求失败,请重试');
+                        }
+                    })
+                    
                 }
             },
             //验证个人姓名1
             yzusername(){
                 let name = this.$refs.name.value.replace(/\s+/g, "");//姓名过滤空格
                 if (name == '') {
-                    this.$refs.usname.innerHTML = '个人姓名不能为空'
+                    this.$refs.usname.innerHTML = '个人姓名不能为空';
                 } else {
                     if (this.reg.test(name)) {
-                        this.$refs.usname.innerHTML = '不能包含符号等非法字符'
-                        this.isname = false
+                        this.$refs.usname.innerHTML = '不能包含符号等非法字符';
+                        this.isname = false;
                     } else {
-                        this.$refs.usname.innerHTML = ''
-                        this.isname = true
+                        this.$refs.usname.innerHTML = '';
+                        this.isname = true;
                     }
                 }
             },
@@ -240,35 +260,62 @@ import { setTimeout } from 'timers';
                     }
                 }
             },
+            // 选择要加入的企业
+            qylist(i){
+                this.companyId = this.arr[i].id,
+                this.newindex = i
+            },
             //加入企业提交按钮
             Submission(){
+                let token = this.mytoken.token;
+                let qyname = this.$refs.lookupqyname.value.replace(/\s+/g, "");//企业名字
+                let username = this.$refs.lookupname.value.replace(/\s+/g, "");//姓名过滤空格
                 if (!this.islookup) {
                     this.$message.error('企业或管理员不能为空');
                 } else if (!this.isTestingname) {
                     this.$message.error('姓名不能为空');
                 } else if (!this.isregname) {
                     this.$message.error('姓名不能包含符号、数字等非法字符');
+                } else if (this.companyId){
+                    this.$ajax({
+                        url:'http://192.168.253.41:8560/api/account/accountCenter/company/join',
+                        method:'POST',
+                        data:{
+                            username:username,
+                            accountId:this.mytoken.account.id,
+                            companyId:this.companyId,
+                        },
+                        headers:{
+                            "Authorization":token,
+                        }
+                    })
+                    .then(res=>{
+                        if (res.data.success) {
+                            this.$message.success('提交成功,待管理员批准加入');
+                            this.$store.state.ishongdian = true;//显示红点
+                            setTimeout(()=>{
+                                this.$router.push({name:'company'});
+                            },3000)
+                        }
+                    })
                 } else {
-                    this.$message({
-                        message: '提交成功,待管理员批准加入',
-                        type: 'success'
-                    });
+                    this.$message.error('请选择要加入的企业');
                 }
             },
             //验证公司详细地址
             address(){
                 let address = this.$refs.address.value.replace(/\s+/g, "");//过滤空格
                 if (address == '') {
-                    this.$refs.ress.innerHTML = '企业地址不能为空'
-                    this.isaddressname = false
+                    this.$refs.ress.innerHTML = '企业地址不能为空';
+                    this.isaddressname = false;
                 } else {
-                    this.isaddressname = true
+                    this.isaddressname = true;
                     if (this.reg.test(address)) {
-                        this.$refs.ress.innerHTML = '不能包含符号等非法字符'
-                        this.isaddress = false
+                        this.$refs.ress.innerHTML = '不能包含符号等非法字符';
+                        this.isaddress = false;
                     } else {
-                        this.$refs.ress.innerHTML = ''
-                        this.isaddress = true
+                        this.$refs.ress.innerHTML = '';
+                        this.isaddress = true;
                     }
                 }
             },
@@ -277,11 +324,11 @@ import { setTimeout } from 'timers';
                 let email = this.$refs.email.value;//邮箱
                 if (email == '') {
                     this.isemail = true;
-                    this.Email = ''
+                    this.Email = '';
                 } else {
                     if (!reg.test(email)) {
                         this.Email = '请填写正确的邮箱';
-                        this.isemail = false
+                        this.isemail = false;
                     } else {
                         this.Email = '';
                         this.isemail = true;
@@ -290,7 +337,7 @@ import { setTimeout } from 'timers';
             },
             //保存
             Preservation(){
-                this.listLoading = true
+                this.listLoading = true;
                 let qyname = this.$refs.qyname.value.replace(/\s+/g, "");//公司名字
                 let qyindustry = this.$refs.qyindustry.value;//所属行业
                 let address = this.$refs.address.value.replace(/\s+/g, "");//公司详细地址
@@ -301,7 +348,7 @@ import { setTimeout } from 'timers';
                 let uu = mytoken.account.uu;
                 let mobile = mytoken.account.mobile;//手机号
                 let company = {'name':qyname,'address':address,'type':qyindustry};
-                let account = {'realname':name,'email':email,'mobile':mobile, 'uu':uu}
+                let account = {'realname':name,'email':email,'mobile':mobile, 'uu':uu};
                 // console.log('姓名',name)//个人姓名
                 // console.log('企业',qyname)//企业姓名
                 // console.log('企业名字',this.qymingzi)//企业有没有注册
@@ -314,9 +361,9 @@ import { setTimeout } from 'timers';
                 } else if (qyname == '') {
                     this.$message.error('企业名称不能为空');
                 } else {
-                    switch (this.qymingzi && this.isaddress && this.isname && this.isspaceName && this.isemail && this.isaddressname) {
-                        case this.qymingzi:
-                        if (this.qymingzi) {
+                    switch (this.isspaceName && this.isaddress && this.isname && this.qymingzi && this.isemail && this.isaddressname) {
+                        case this.isspaceName:
+                        if (this.isspaceName) {
                             this.$ajax({
                                 url: this.$url.api+"/api/account/accountCenter/companyAccount/save",//http://192.168.253.31:8560
                                 method: 'post',
@@ -333,18 +380,21 @@ import { setTimeout } from 'timers';
                                 this.isadd = true;//添加成功弹窗
                                 setTimeout(()=>{
                                     document.documentElement.scrollTop = 0;
+                                    let session = JSON.parse(window.localStorage.getItem('app-state-session'));
+                                    session.account.realname = name;
+                                    Session.set(session);
                                     // this.$router.push({name:'company'})
-                                    this.$router.push({path: '/enterprise'})
+                                    this.$router.push({path: '/enterprise'});
                                 },3000)
                             })
-                            this.$message({
-                                message: '保存成功,待管理员批准',
-                                type: 'success'
-                            });
+                            this.$message.success('保存成功,待管理员批准');
                         } else {
-                            this.$message.error('该企业已在优软云注册');
+                            this.$message.error('企业名称不能包含符号等非法字符');
                         }
                         break;
+                        case this.qymingzi:
+                        this.$message.error('该企业已在优软云注册');
+                        break;
                         case this.isaddressname:
                         this.$message.error('企业地址不能为空');
                         break;
@@ -354,15 +404,12 @@ import { setTimeout } from 'timers';
                         case this.isname:
                         this.$message.error('个人姓名不能包含符号等非法字符');
                         break;
-                        case this.isspaceName:
-                        this.$message.error('企业名称不能包含符号等非法字符');
-                        break;
                         case this.isemail:
                         this.$message.error('请填写正确的邮箱');
                         break;
                     }
                 }
-                this.listLoading = false
+                this.listLoading = false;
             },
             //获取省市区
             // selected(data){
@@ -371,9 +418,9 @@ import { setTimeout } from 'timers';
             //     this.area = data.area.value;
             //     this.disabled= false
             // },
-            qyprovince(){
-                this.placeholder = this.placeholde
-            },
+            // qyprovince(){
+            //     this.placeholder = this.placeholde
+            // },
         }
     }
 </script>
@@ -448,4 +495,7 @@ import { setTimeout } from 'timers';
 .marght {
     margin-right: 5px;
 }
+.hui {
+    background: #c5c5c5;
+}
 </style>

+ 61 - 47
frontend/saas-portal-web/src/components/conenter/company.vue

@@ -65,7 +65,7 @@
                     </div>
                 </router-link>
             </div>
-            <div v-for="(d , i) in arr " :key="i" class="gs-xiangqing">
+            <div v-for="(d , i) in list " :key="i" class="gs-xiangqing gs-list">
                 <!-- 上 -->
                 <div class="gs-shang">
                     <el-dropdown v-if= "d.saas_" trigger="hover" size="mini" placement='bottom-start'>
@@ -94,8 +94,8 @@
                         <!-- <p><span>开通日期:</span></p> -->
                     </div>
                     <div class="gs-border gs-xqright-right right">
-                        <span v-if= "d.saas_" class="gs-btn1 xs" @click="selectServe(d.id)">进入服务</span>
-                        <span v-else @click="showOpenServeWin(d.id , i)" class="gs-btn1 kaitong xs">开通服务</span>
+                        <span v-if= "d.saas_" class="gs-btn1 xs green" @click="selectServe(d.id)">进入服务</span>
+                        <span v-else @click="showOpenServeWin(d.id , i)" class="gs-btn1 kaitong xs blue">开通服务</span>
                     </div>
                 </div>
             </div>
@@ -119,7 +119,7 @@
                 isDefault: true,//开通默认
                 isAutoLogin: this.$store.state.isAutoLogin,
                 mytoken: JSON.parse(localStorage.getItem('app-state-session')),//本地储存的用户信息
-                arr: [],//企业列表信息
+                list: [],//企业列表信息
                 isheigh:false,//是否添加默认高度
                 admin: '',
                 adminMobile: '',
@@ -131,7 +131,7 @@
             },
         },
         watch:{
-            arr:function(){
+            list:function(){
                 this.$nextTick(function(){
                     this.boxheight();
                 })
@@ -153,39 +153,42 @@
                     }
                 })
                 .then(res=>{
-                    const frame = window.frames[window.frames.length - 1];
-                    this.arr = res.data.data.spaces;
-                    let enterprise = [];
-                    for (let i = 0; i < this.arr.length; i++) {
-                        if (this.arr[i].saas_) {
-                            let addenterprise = {'id':'', 'logoUrl': '', 'name': '','dcName':''};
-                            addenterprise.id = this.arr[i].id;
-                            addenterprise.logoUrl = this.arr[i].logoUrl || null;
-                            addenterprise.name = this.arr[i].name;
-                            addenterprise.dcName = this.arr[i].dcName || null;
-                            enterprise.push(addenterprise)
-                        }
-                    };
-                    let session = JSON.parse(window.localStorage.getItem('app-state-session'));
-                    if (enterprise.length != session.account.companies.length) {
-                        session.account.companies = enterprise;
-                        session.account.realname = this.arr[0].admin;
-                        Session.set(session);
-                    };
-                    let hasCompany = res.data.data.hasDefaultCompany;
-                    let companyId = res.data.data.defaultCompanyId;
-                    let token = res.data.data.token.token;
-                    if (this.isAutoLogin) {
-                        if (hasCompany) {
-                            let session=JSON.parse(localStorage.getItem('app-state-session'));
-                            session.account.companyId=companyId;
-                            session.span = session.timestamp - new Date().getTime();
-                            session.token=token;
-                            frame.postMessage(JSON.stringify(session), '*');
-                            window.location.href = this.$url.web
+                    if (res.data.success) {
+                        const frame = window.frames[window.frames.length - 1];
+                        this.list = res.data.data.spaces;
+                        let enterprise = [];
+                        for (let i = 0; i < this.list.length; i++) {
+                            if (this.list[i].saas_) {
+                                let addenterprise = {'id':'', 'logoUrl': '', 'name': '','dcName':''};
+                                addenterprise.id = this.list[i].id;
+                                addenterprise.logoUrl = this.list[i].logoUrl || null;
+                                addenterprise.name = this.list[i].name;
+                                addenterprise.dcName = this.list[i].dcName || null;
+                                enterprise.push(addenterprise)
+                            }
+                        };
+                        let session = JSON.parse(window.localStorage.getItem('app-state-session'));
+                        if (enterprise.length != session.account.companies.length) {
+                            session.account.companies = enterprise;
+                            Session.set(session);
+                        };
+                        let hasCompany = res.data.data.hasDefaultCompany;
+                        let companyId = res.data.data.defaultCompanyId;
+                        let token = res.data.data.token.token;
+                        if (this.isAutoLogin) {
+                            if (hasCompany) {
+                                let session=JSON.parse(localStorage.getItem('app-state-session'));
+                                session.account.companyId=companyId;
+                                session.span = session.timestamp - new Date().getTime();
+                                session.token=token;
+                                frame.postMessage(JSON.stringify(session), '*');
+                                window.location.href = this.$url.web
+                            }
                         }
+                        this.$store.commit('Loginfalse')
+                    } else {
+                        this.$message.error('获取企业列表信息失败,请重试');
                     }
-                    this.$store.commit('Loginfalse')
                 })
                 .catch(err=>{
                     // console.log("请求失败",err)
@@ -208,7 +211,7 @@
                     url: this.$url.api+'/api/account/accountCenter/bind/defaultCompany',
                     method: 'post',
                     data:{
-                        companyId: this.arr[i].id,
+                        companyId: this.list[i].id,
                         accountId: this.mytoken.account.id
                     },
                     headers: {
@@ -228,7 +231,7 @@
                     url: this.$url.api+'/api/account/accountCenter/unBind/defaultCompany',
                     method: 'post',
                     data:{
-                        companyId: this.arr[i].id,
+                        companyId: this.list[i].id,
                         accountId: this.mytoken.account.id
                     },
                     headers: {
@@ -272,10 +275,10 @@
             //开通saas服务开通数量达到10的时候禁止开通
             showOpenServeWin(id , i){
                 let saasNum = [];
-                let arr = this.arr;
-                for (let j = 0; j < arr.length; j++) {
-                    if (arr[j].saas_) {
-                        saasNum.push(arr[j].saas_)
+                let list = this.list;
+                for (let j = 0; j < list.length; j++) {
+                    if (list[j].saas_) {
+                        saasNum.push(list[j].saas_)
                     }
                 }
                 if (saasNum.length >= 10) {
@@ -289,12 +292,12 @@
             confirmSaas(){//确认saas开通
                 let i = this.saasindex;
                 let token = this.mytoken.token;
-                let qyname = this.arr[i].name;//公司名字
-                let address = this.arr[i].address;//公司详细地址
-                let name = this.arr[i].realname;//名字
-                let email = this.arr[i].email;//邮箱
+                let qyname = this.list[i].name;//公司名字
+                let address = this.list[i].address;//公司详细地址
+                let name = this.list[i].realname;//名字
+                let email = this.list[i].email;//邮箱
                 let mobile = this.mytoken.account.mobile;//手机号
-                let uu = this.arr[i].uu;
+                let uu = this.list[i].uu;
                 let company = {'name':qyname,'address':address};
                 let account = {'realname':name,'email':email,'mobile':mobile, 'uu':uu}
                 this.$ajax({
@@ -387,4 +390,15 @@
     left: 5px;
     display: none;
 }
+.gs-list {
+    background-image: url(/static/img/list.png);
+    background-position-x: 50%;
+    background-position-y: 84%;
+}
+.green:hover {
+    background: #2da74a;
+}
+.blue:hover {
+    background: #0f6fd2;
+}
 </style>

+ 42 - 5
frontend/saas-portal-web/src/components/conenter/enterprise.vue

@@ -37,7 +37,7 @@
             <div class="gs-tab">
                 <ul>
                     <li class="xs" v-for="(btn , index) in tab" :key='index' :class= "{gsactive:nowindex == index}" @click= "tabswitch(index)">{{btn.name}}</li>
-                    <!-- <span class="reddian"></span> -->
+                    <span v-if="ishongdian" class="reddian"></span>
                 </ul>
             </div>
             <div class="gs-none">
@@ -139,7 +139,7 @@
                                     <span>{{d.neirong.phone}}</span>
                                 </span>
                                 <span>{{d.zhuangtai}}</span>
-                                <span><button v-if="d.caozuo" @click="Rejoin" class="news-btn">重新加入</button></span>
+                                <span><button v-if="d.caozuo" @click="Rejoin(i)" class="news-btn">重新加入</button></span>
                             </li>
                         </ul>
                     </div>
@@ -191,11 +191,44 @@ import { setTimeout } from 'timers';
             setTokenPage() {
                 return this.$url.web + '/set-token.html'
             },
+            ishongdian(){
+                return this.$store.state.ishongdian;
+            }
         },
         methods: {
             // tab切换
             tabswitch(index){
-                this.nowindex = index;
+                if (index == 3) {
+                    this.nowindex = 3;
+                let mytoken = JSON.parse(localStorage.getItem('app-state-session'));
+                let id = mytoken.account.id;
+                // tab切换到消息的时候执行
+                let param = [{
+                    type:'condition',
+                    value:'creatorId='+id+''
+                }]
+                
+                    this.$ajax({
+                        url:'http://192.168.253.41:8560/api/commons/remind/apply/list',
+                        method:'GET',
+                        async:false,
+                        params: {
+                            condition:JSON.stringify(param)
+                        },
+                        headers:{
+                            'Access-Control-Allow-Origin':'*',
+                            "Authorization":mytoken.token,
+                            'Content-Type':'application/json;charset=UTF-8'
+                        }
+                    })
+                    .then(res=>{
+                        console.log(res)
+                        this.$store.state.ishongdian = false
+                    })
+                } else {
+                    this.nowindex = index;
+                }
+                
             },
             setTurnHome(){
                 debugger
@@ -272,12 +305,14 @@ import { setTimeout } from 'timers';
                 }
             },
             //重新加入
-            Rejoin(){
+            Rejoin(i){
                 //成功后提示
                 this.$message({
                     message: '提交成功,待管理员批准',
                     type: 'success'
                 });
+                this.arr[i].zhuangtai = '待批准';
+                this.arr[i].caozuo = false;
             },
             //没有内容也要有一定的高度
             boxheight(){
@@ -419,6 +454,8 @@ import { setTimeout } from 'timers';
     height: 4px;
     border-radius: 2px;
     background: red;
-    margin-left: -22px;
+    position: relative;
+    top: -5px;
+    left: -25px;
 }
 </style>

+ 6 - 0
frontend/saas-portal-web/src/components/conenter/home.vue

@@ -382,6 +382,12 @@
       //体验
       experience(){
         this.isexperience = true;
+        setTimeout(()=>{
+          if (this.account) {
+            this.$refs.typhone.value = this.account.mobile;
+            this.openexperience();
+          }
+        },10)
       },
       //关闭体验
       Closeexperience(){

+ 1 - 0
frontend/saas-portal-web/src/store/index.js

@@ -7,6 +7,7 @@ export default new Vuex.Store({
         isAutoLogin: false,
         isproblem: '',//常见问题
         isloading:false,
+        ishongdian:false,
     },
     mutations:{
          Logintrue(state) {

+ 12 - 7
frontend/saas-portal-web/static/css/gongsi.css

@@ -110,15 +110,17 @@
     box-shadow: 0 20px 60px 8px #F4F8FC;
     border-radius: 4px;
     overflow: hidden;
-    width: 22%;
+    width: 21.6%;
     float: left;
     margin: 0px 27px 27px 0px;
 }
 .gs-qynema {
-    font-weight: 600;
-    color: #243A52;
+    font-family: PingFangSC-Regular;
+    font-weight: 550;
+    color: #4a545f;
     letter-spacing: 0;
-    font-size: 18px;
+    font-size: 20px;
+    line-height: 30px;
 }
 .dotted {
     border: 1px dashed rgba(30,136,245,0.32);
@@ -160,10 +162,12 @@
     position: relative;
     padding: 0px 10px;
     text-align: center;
+    overflow: hidden;
 }
 .gs-xqright {
     height: 35%;
-    background: #F4F9FE;
+    background: #EFF7FF
+    ;
     padding: 10px;
 }
 .gs-xqright div {
@@ -411,10 +415,11 @@
     display: block !important;
 }
 .lookup > ul {
-    padding: 20px 20px 0px 20px;
+    padding: 0;
 }
 .lookup > ul > li {
-    margin-bottom: 10px;
+    padding: 20px 20px 10px 20px;
+    margin-bottom: 0 !important;
 } 
 .lookup > ul > li span{
     width: 16%;

BIN
frontend/saas-portal-web/static/img/list.png