修改邮件同步和增加检索

This commit is contained in:
龙运模 2024-08-06 23:03:36 +08:00
parent 7b07502d1b
commit 0567efecbd
4 changed files with 143 additions and 11 deletions

View File

@ -116,7 +116,7 @@ export default {
.icon{width: 14px;height: 14px;margin-right: 4px;}
}
}
.exportPopover :deep(.el-progress-bar__innerText){
.exportPopover ::v-deep .el-progress-bar__innerText{
height: 100%;
display: flex;align-items: center;justify-content: flex-end;
font-size: 10px;

View File

@ -3,6 +3,7 @@
<div class="login_adv">
<div class="login_adv__title">
<h3><img class="logo" alt="象纬云科" src="https://dm-auto.oss-cn-shanghai.aliyuncs.com/xw_cloud/image/login_logo.png"></h3>
<h2><span class="origin"></span> 维保系统平台</h2>
</div>
<div class="login_adv__mask"></div>
</div>
@ -149,6 +150,33 @@
left: 0;
right: 0;
z-index: 2;
display: flex;
align-items: center;
h3{
display: flex;
align-items: center;
}
h2{
height: 40px;
display: flex;
align-items: baseline;
font-size: 24px;
position: relative;
padding-left: 18px;
color: #3F4244;
font-weight: 500;
.origin{
position: absolute;
left: 0;
top: 12px;
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
background: #333;
margin: 0 8px 0 0;
}
}
.logo{
height: 60px;
}
@ -158,7 +186,7 @@
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-image: url(https://dm-auto.oss-cn-shanghai.aliyuncs.com/xw_cloud/image/login_back1.png);
background-image: url(https://dm-auto.oss-cn-shanghai.aliyuncs.com/xw_cloud/image/login_back5.png);
width: calc(100% - 460px);
height: 100%;
position: absolute;

View File

@ -0,0 +1,64 @@
<template>
<el-popover
placement="bottom-start"
title=""
trigger="click"
content=""
width="120"
v-bind="$attrs"
:visible="show"
>
<template #reference>
<slot></slot>
</template>
<template #default>
<div class="refreshBox">{{refreshDom}}</div>
</template>
</el-popover>
</template>
<script>
import {eventBus} from "@/utils/eventBus";
export default {
name: "emailSync",
props:{
size:{type: String, default: "small" },
show:{type: Boolean, default: false},
text:{type: String},
},
watch:{
text: {
handler (v) {
this.refreshDom = v;
},
immediate:true,
deep:true,
}
},
data(){
return{
refreshDom:this.text,
}
},
mounted() {
//
eventBus.$on('sockBack', this.getWsResult);
},
unmounted() {
eventBus.$off('sockBack', this.getWsResult);
},
methods:{
getWsResult(res){
if(res.data && (res.data.type == 16)){
this.refreshShow = true;
this.$emit('updateSync', res.data);
}
},
}
}
</script>
<style scoped>
</style>

View File

@ -9,6 +9,9 @@
<span class="item notStarted">未确认</span>
<span class="item part">部分确认</span>
</span>
<emailSync @refreshDom="refreshDom" :show="refreshShow" :text="syncText">
<span class="refreshEmail" @click="manualClick"><el-icon><sc-icon-Refresh/></el-icon></span>
</emailSync>
</el-header>
<el-main class="nopadding" v-loading="listLoading" element-loading-text="加载中...">
<el-scrollbar height="100%" ref="scrollbar" @scroll="onScroll">
@ -40,7 +43,6 @@
<div class="rightBtnMain">
<div class="date">{{emailParams.sent_at}}</div>
<div class="btnItem">
<el-button type="primary" plain icon="el-icon-Refresh" :size="size" @click="manualClick">手动同步</el-button>
<el-button type="primary" plain :size="size" @click="seeEmail">查看原邮件</el-button>
<el-dropdown placement="bottom-start">
<el-button type="primary" :size="size" >确认维保 <el-icon class="el-icon--right"><el-icon-ArrowDown/></el-icon></el-button>
@ -83,7 +85,6 @@
<span style="width: 100%;display: inline-block;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{scope.row[item.prop]}}</span>
</template>
</el-popover>
</slot>
</template>
</el-table-column>
@ -164,11 +165,13 @@
<script>
import columnSetting from '@/components/scTable/columnSetting'
import emailSync from './emailSync'
import config from "@/config/table";
export default {
components: {
columnSetting
columnSetting,
emailSync
},
data() {
return {
@ -185,14 +188,36 @@ export default {
},
threshold:100,
refreshShow:false,
syncText:"",
emailId:'',
searchShow:false,
searchList:[
{name:'创建日期',type:'date',code:'activation_date'},
{name:'状态',type:'select',code:'active_status', data:[], placeholder:"请选择状态",show:true},
{name:'联系方式',type:'text',code:['mobile'],placeholder:"请输入手机号",isOpen:true,show:false},
{name:'姓名',type:'text',code:['name'],placeholder:"请输入姓名",isOpen:true,show:false},
{name:'关键字',type:'text',code:['login_name','roles','department'],keyword:true,show:true},
{name:'单号',type:'text',code:['sn'],placeholder:"请输入单号",isOpen:true,show:true},
{name:'SN号',type:'text',code:['serial_number'],placeholder:"请输入SN号",isOpen:true,show:true},
{name:'Aliid',type:'text',code:['aliid'],placeholder:"请输入Aliid",isOpen:true,show:true},
{name:'PE确认日期',type:'date',code:'pe_confirmation_time'},
{name:'故障类型',type:'select',code:'fault_type',data:[],placeholder:"请选择故障类型",show:true},
{name:'近期维修',type:'text',code:['recent_repair'],placeholder:"请输入近期维修",isOpen:true,show:true},
{name:'机架',type:'select',code:'rack',data:[],placeholder:"请选择机架",isOpen:true,show:true},
{name:'机型',type:'select',code:['serial_number'],data:[],placeholder:"请选择机型",isOpen:true,show:true},
{name:'阿里机型',type:'select',code:['serial_number'],data:[],placeholder:"请选择阿里机型",isOpen:true,show:true},
{name:'通知时间',type:'date',code:['serial_number'],isOpen:true,show:true},
{name:'描述',type:'text',code:['serial_number'],placeholder:"请输入描述",isOpen:true,show:true},
{name:'维修分类',type:'select',code:['serial_number'],placeholder:"请选择维修分类",isOpen:true,show:true},
{name:'预约时间',type:'date',code:['serial_number'],isOpen:true,show:true},
{name:'过保时间',type:'date',code:['serial_number'],isOpen:true,show:true},
{name:'4BD SLA 截止时间',type:'date',code:['serial_number'],isOpen:true,show:true},
{name:'15BD SLA 截止时间',type:'date',code:['serial_number'],isOpen:true,show:true},
{name:'序列号',type:'text',code:['serial_number'],placeholder:"请输入序列号",isOpen:true,show:true},
{name:'厂商',type:'select',code:['serial_number'],data:[],placeholder:"请选择厂商",isOpen:true,show:true},
{name:'型号',type:'select',code:['serial_number'],data:[],placeholder:"请选择型号",isOpen:true,show:true},
{name:'槽位号',type:'text',code:['serial_number'],placeholder:"请输入槽位号",isOpen:true,show:true},
{name:'固件版本号',type:'text',code:['serial_number'],placeholder:"请输入固件版本号",isOpen:true,show:true},
{name:'物料编号',type:'text',code:['serial_number'],placeholder:"请输入物料编号",isOpen:true,show:true},
{name:'速率',type:'text',code:['serial_number'],placeholder:"请输入速率",isOpen:true,show:true},
{name:'类型',type:'select',code:['type'],data:[],placeholder:"请输选择类型",isOpen:true,show:true},
],
emailParams: {},
toggleIndex: 0,
@ -333,6 +358,9 @@ export default {
await this.getData();
}
},
refreshDom(res){
this.syncText = res;
},
seeEmail(){
this.$router.push({
path: '/order/view-mail',
@ -346,7 +374,12 @@ export default {
},
searchShowClick(){
this.searchShow = !this.searchShow;
this.searchList.forEach(item=>{
if(item.isOpen){
item.show = this.searchShow
}
})
},
upSearch(){
this.getEmailData();
@ -457,6 +490,13 @@ export default {
border-radius: 50%;
}
}
.refreshEmail{
display: flex;align-items: center;color: var(--el-color-primary);
cursor: pointer;
}
.refreshBox{
padding: 10px;
}
.complete:after{
background: var(--el-color-success);
}