<template> <div class="container"> <div class="content"> <div class="content-top"> <div class="content-top-left"> <div class="content-top-left-data1"> {{ date }} </div> <div class="content-top-left-data2"> <div> {{ dataNow(3) }} </div> <div>{{ dataNow(2) }}</div> </div> </div> <div class="content-top-right"> <div class="content-top-fanhui"> <div class="content-top-fanhui-main" @click="fanhuimenhu"> <div class='black-bg'></div> <span>返回门户</span> </div> </div> <div class="userInfo"> <!-- <img src="@/assets/images/profile.jpg" alt="" /> --> <el-dropdown trigger="click" @command="tuichudengl"> <span class="el-dropdown-link"> 您好,{{ userName }}<i class="el-icon-arrow-down el-icon--right"></i> </span> <el-dropdown-menu slot="dropdown"> <el-dropdown-item command="0">退出登录</el-dropdown-item> </el-dropdown-menu> </el-dropdown> </div> </div> </div> <div class="title"> <img src="@/assets/images/daping/guangxian.png" alt="" /> <div>产品画像搜索</div> </div> <div class="content-bottom-box"> <div class="content-bottom"> <div class="input"> <el-input v-model="input" placeholder="请输入内容"></el-input> </div> <div class="sousuo" @click="gotoBgpage"> <img src="@/assets/images/daping/searchicon.png" alt="" /> 搜索 </div> <div class="box-dialog" v-loading="loading" v-if="dialog"> <div class="dialog-item" v-for='(item, index) in searchList' :key="index" @click="getValue(item)"> {{ item.name }} </div> </div> </div> </div> </div> </div> </template> <script> export default { name: '', components: {}, data() { return { input: "", date: '', dialog: false, loading: true, searchList: [], getData: {}, userName: '', } }, watch: { async input(newValue, oldValue) { // let data = await this.$api.productPortrayal.findByName({current:1,size:10}); if (newValue) { this.loading = true; this.dialog = true; // let a = this.throttle(this.getsearchList,500) this.getsearchList(newValue); } else { this.dialog = false; this.searchList = []; this.loading = false; } } }, created() { this.dataNow(1) }, mounted() { this.getDataInterval(1) console.log(localStorage.getItem('userDto')) let user = JSON.parse(localStorage.getItem('userDto')) console.log(user) this.userName = user.realName }, methods: { gotoBgpage() { if (this.input) { console.log(this.searchList, 'this.searchList') if (this.searchList.length == 1) { this.$router.push({ path: "/bgpage", query: { code: this.getData.code, name: this.getData.name, type: this.getData.type } }) this.searchList = []; } else if (this.searchList.length > 1) { this.$router.push({ path: "/bgpage", query: { code: this.searchList[0].code, name: this.searchList[0].name, type: this.searchList[0].type } }) this.searchList = []; } } }, getDataInterval(index) { setInterval(() => { this.dataNow(index) }, 1000); }, dataNow(index) { let now = new Date(); if (index == 1) { let hour = now.getHours(); if (hour < 10) hour = "0" + hour let minute = now.getMinutes(); if (minute < 10) minute = "0" + minute let second = now.getSeconds(); if (second < 10) second = "0" + second this.date = `${hour}:${minute}:${second}` } else if (index == 2) { let year = now.getFullYear(); if (year < 10) year = "0" + year let month = now.getMonth() + 1; if (month < 10) month = "0" + month let day = now.getDate(); if (day < 10) day = "0" + day return `${year}/${month}/${day}` } else if (index == 3) { let dayOfWeek = now.getDay(); // 将星期几转换为对应的中文表示 let weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']; let chineseDayOfWeek = weekDays[dayOfWeek]; return chineseDayOfWeek } }, getValue(item) { this.input = item.name; this.getData = item; setTimeout(() => { this.dialog = false; }, 200); }, async getsearchList(newValue) { let data = await this.$api.productPortrayal.findByName({ name: newValue }); if (data.code == 200) { this.loading = false; this.searchList = data.data; if (this.searchList.length < 1) { this.dialog = false; } } }, tuichudengl() { console.log(111); location.href = `${location.origin}/login`; }, fanhuimenhu() { location.href = `${location.origin}/ims/workbench/`; } }, computed: {} } </script> <style scoped lang='scss'> @import '../assets/styles/theme.scss'; .container { width: 100vw; height: 100vh; padding: 10px 40px 0; background-color: #000000; position: relative; /* 将内容水平居中对齐 */ background: url('../assets/images/daping/searchbg.png') no-repeat center; background-size: cover; } .content-top { display: flex; justify-content: space-between; align-items: center; .content-top-left { display: flex; align-items: center; color: #ffffff; .content-top-left-data1 { font-family: DIN; margin: 0 20px 0 0; font-size: 24px; // font-family: Helvetica; font-weight: bold; color: #FFFFFF; opacity: 0.72; } .content-top-left-data2 { font-size: 14px; font-family: Source Han Sans CN; font-weight: 400; color: #FFFFFF; opacity: 0.72; } } .content-top-right { display: flex; align-items: center; color: #ffffff; .content-top-fanhui { margin-right: 10px; background: linear-gradient(0deg, rgba(103, 200, 255, 0.2) 0%, rgba(111, 176, 231, 0.1) 100%); cursor: pointer; .content-top-fanhui-main { padding: 2px 15px; border: 1px solid; border-image: linear-gradient(0deg, #1865F2, #7BAAFF) 10 10; border-radius: 4px; display: flex; align-items: center; .black-bg { width: 36px; height: 34px; background: url('../assets/images/daping/back.png') no-repeat center; background-size: cover; margin-top: 3px; } span { font-size: 16px; font-family: SourceHanSansSC; font-weight: bold; color: #FEFFFF; text-shadow: 0px 4px 9px rgba(0, 0, 0, 0.29); background: linear-gradient(0deg, #CAFFFF 0%, #CAFFFF 0%, #FFFFFF 0%, #74B4F4 38.96484375%, #3883FF 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } } } .userInfo { cursor: pointer; display: flex; align-items: center; img { width: 31px; height: 31px; border-radius: 50%; margin-right: 10px; } } .el-dropdown-link { font-size: 16px; font-family: SourceHanSansSC; font-weight: 400; color: #FFFFFF; } } } .title { margin-top: 250px; color: #fff; // display: flex; // justify-content: center; div { padding-left: 50px; text-align: center; font-size: 48px; font-family: Tensentype; font-weight: normal; color: #FFFFFF; line-height: 18px; text-shadow: 0px 8px 16px rgba(24, 118, 172, 0.6); // background: linear-gradient(0deg, #C2E5FF 100%); // -webkit-background-clip: text; // -webkit-text-fill-color: transparent; z-index: 20; } img { width: 316px; height: 316px; position: absolute; top: 220px; left: 830px; } } .content-bottom-box { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); .content-bottom { position: relative; // width: 800px; display: flex; align-items: center; color: #ffffff; .input { width: 739px; ::v-deep .el-input { background-color: transparent; input { border: none; background-color: transparent; height: 150px; background: url('../assets/images/daping/searchinputbg.png') no-repeat center; background-size: 100% 100%; padding-left: 50px; font-size: 20px; font-family: Source Han Sans CN; font-weight: 400; color: #9CB4E2; line-height: 18px; } } } .sousuo { position: absolute; left: 710px; // padding: 3px 5px; width: 162px; height: 55px; display: flex; align-items: center; justify-content: center; background: url('../assets/images/daping/searchbuttonbg.png') no-repeat center; background-size: 100% 100%; font-size: 24px; font-family: Source Han Sans CN; font-weight: bold; color: #FFFFFF; line-height: 18px; cursor: pointer; img { width: 25px; height: 25px; margin-right: 10px; } } .box-dialog { position: absolute; width: 690px; height: 300px; top: 120px; left: 10px; padding: 2px; background: linear-gradient(to right, rgba(24, 101, 242, 0.1), rgba(24, 101, 242, 0.1)); overflow: scroll; .dialog-item { // padding: 15px 27px; padding: 5px 10px; font-size: 18px; font-family: Source Han Sans CN; font-weight: 400; color: #FFFFFF; cursor: pointer; // line-height: 50px; // background-color: rgb(63,110,204) // background-color: rgba(205,235,243,0.1) } .dialog-item:hover { background-color: rgb(63, 110, 204) } } } } //设置遮罩层颜色 ::v-deep .el-loading-mask { background-color: rgba(205, 235, 243, 0.1); } //设置图标颜色 // ::v-deep .el-loading-spinner .path{ // stroke: #005432; // } //设置文字颜色 // ::v-deep .el-loading-spinner .el-loading-text{ // color: #005432; // }</style>