<template>
|
<div>
|
<el-dialog
|
ref="myModelRef"
|
:visible.sync="dialogVisible"
|
:show-close="true"
|
width="800px"
|
class="el-dialog_jes"
|
>
|
<div slot="title">
|
<el-row class="flex-center">
|
<el-col :span="1">
|
<specia-button>
|
<i class="ion d-block ion-ios-videocam"></i>
|
</specia-button>
|
</el-col>
|
<el-col :span="23" class="ml10">
|
<span class="f18">{{deviceInfo.name}}</span>
|
<br>
|
<span class="f14">{{deviceInfo.address}}</span>
|
</el-col>
|
</el-row>
|
</div>
|
<h5 class="fb">数据源</h5>
|
<div class="flex-box" style="width:100%;hight:300px;">
|
<div class="flex-left" style="height:112px;">
|
<swiper ref="swip" slideWidth="46" :data="leftDownImg">
|
<template slot-scope="{data}">
|
<httpImg :src="data.path" height="46px" width="46px" alt/>
|
<el-checkbox
|
v-model="data.checked"
|
@change="checkFunc2(data)"
|
style="position:absolute;top:54%;left:70%;z-index:11;"
|
></el-checkbox>
|
<div v-if="leftDownImg.length === 1">
|
<img src="/static/img/nobody.png" width="46px" height="46px">
|
</div>
|
</template>
|
</swiper>
|
</div>
|
<div class="flex-center">
|
<div class="mdImg ml20">
|
<httpImg :src="checkedObj.path" style="width:100%;" height="100px" width="100px" alt/>
|
<div class="tcenter">
|
<div
|
@click="searchPerson(checkedObj)"
|
class="fas fa-user-circle myion"
|
style="color:#26b4ff;"
|
title="查找此人"
|
></div>
|
<div
|
@click="control(checkedObj)"
|
class="fas fa-shield-alt pb5 myion"
|
style="color:#26b4ff;"
|
title="加入布控"
|
></div>
|
</div>
|
</div>
|
</div>
|
<div class="flex-right ml20" style="width:594px">
|
<div>
|
<h6 class="mt10" style="margin:0px 0px 10px -5px">
|
<b>轨迹</b>
|
</h6>
|
<timeline2 @changParam="changParam" :dataList="tlList2"></timeline2>
|
</div>
|
<div>
|
<h6 class="mt10" style="margin:15px 0px 30px -5px;">
|
<b>时间</b>
|
</h6>
|
<timeline @changParam="changParam" :dataList="tlList"></timeline>
|
</div>
|
</div>
|
</div>
|
<h5 class="fb mt20">抓拍记录</h5>
|
<div>
|
<siliderForMapModel2
|
imgwidth="90"
|
imgheight="120"
|
slideWidth="237px"
|
:datalist="catchData"
|
score="0"
|
ref="siliderForMapModel2"
|
@changeDetil="changeDetil"
|
></siliderForMapModel2>
|
</div>
|
<div>
|
<siliderModelLayer
|
ref="smodel"
|
:BigPicParam="BigPic"
|
:accompanyPersonParam="accompanyPerson"
|
:parentData="childrenData"
|
v-if="catchData.length > 0"
|
></siliderModelLayer>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
<script>
|
import { Row, Col, Dialog, Button, Checkbox } from 'element-ui'
|
import speciaButton from '@/components/specialButton/speciaButton.vue'
|
import { getDeviceType, getStatus } from '@/server/home.js'
|
import {
|
getPersonnLocus,
|
getCameraRecord,
|
getPersonnLocusByJni
|
} from '@/server/map.js'
|
import timeline from './timeline'
|
import timeline2 from './timeline2'
|
import siliderForMapModel2 from '@/pages/Home/components/silider/siliderForMapModel2'
|
import siliderModelLayer from '@/pages/Home/components/model/siliderModelLayer'
|
import swiper from './verticalSwiper'
|
import { findLikerPics } from '@/server/searchImg.js'
|
import { mapActions } from 'vuex'
|
import { addFromRetrieve } from '@/server/searchList/commomList.js'
|
import _ from 'lodash'
|
export default {
|
components: {
|
elRow: Row,
|
elCol: Col,
|
elCheckbox: Checkbox,
|
elButton: Button,
|
elDialog: Dialog,
|
speciaButton,
|
timeline,
|
siliderForMapModel2,
|
timeline2,
|
swiper,
|
siliderModelLayer,
|
addFromRetrieve
|
},
|
props: {},
|
data() {
|
return {
|
BigPic: '',
|
accompanyPerson: '',
|
childrenData: '',
|
dialogVisible: false,
|
vxgPlayerId: 'vxgPlayerId',
|
videoUrl: '',
|
/** 设备信息 */
|
deviceInfo: {},
|
/** tab标签对象 */
|
tableType: 'bigImg',
|
/** 时间轴数据 */
|
timeline1: [],
|
timeline2: [],
|
tlList: [],
|
tlList2: [],
|
/** 选中的设备临时存储 */
|
deviceTemp: {},
|
/** 左上角的上面的小图 */
|
leftUpImg: {
|
url: '/static/img/timg.jpg'
|
},
|
/** 左上角的下面的小图 */
|
leftDownImg: [
|
{
|
id: '1',
|
checked: false,
|
url: '/static/img/timg.jpg'
|
},
|
{
|
id: '2',
|
checked: false,
|
url: '/static/img/timg.jpg'
|
}
|
],
|
/** 勾选对象 */
|
checkedObj: {},
|
/** 抓拍记录 */
|
catchData: [],
|
sild2Params: {},
|
/** silderm-model-new 参数 */
|
params: {},
|
/** 用于存储进入页面的所有数据 */
|
allData: {},
|
marker: {}
|
}
|
},
|
methods: {
|
/*
|
更改抓拍记录的图片时,修改详情的显示数据
|
**/
|
changeDetil(obj) {
|
this.createParameter(obj)
|
},
|
/** 显示model框 */
|
/* eslint-disable */
|
...mapActions(['openNewWindowtab']),
|
async showModel(marker) {
|
console.log(marker, 'marker')
|
this.deviceInfo = { ...marker.data }
|
/** 获取数据源 */
|
this.leftDownImg = JSON.parse(JSON.stringify(marker.allData.result.smallPhotoPath))
|
console.log(this.leftDownImg, 'this.leftDownImg')
|
this.leftDownImg.forEach((i, index) => {
|
this.$set(i, 'checked', false)
|
})
|
this.$set(this.leftDownImg[marker.allData.result.index], 'checked', true)
|
this.checkedObj.path = this.leftDownImg[marker.allData.result.index].path
|
console.log(marker, 'marker showModel')
|
/** 查询人员轨迹接口 */
|
// this.marker = JSON.parse(JSON.stringify(marker))
|
this.marker = _.cloneDeep(marker)
|
this.allData = JSON.parse(JSON.stringify(marker.allData))
|
this.timeline1 = JSON.parse(JSON.stringify(this.allData.result.path.locusList))
|
/** 获取设备轴的数据 */
|
let deviceArr = JSON.parse(JSON.stringify(this.allData.result.path.devInfos))
|
this.timeline2 = JSON.parse(JSON.stringify(deviceArr))
|
|
/** 过滤掉其他设备的数据 */
|
// arr = arr.filter(i=>i.videoReqNum === marker.id)
|
/** 循环处理后台的返回结果 */
|
this.timeline1.forEach(temp => {
|
if (temp.dateList && temp.dateList.length !== 0) {
|
temp.dateList.forEach((i, index) => {
|
if (i.monthfirst) {
|
let year = i.showMonth.substring(0, 4)
|
let month = i.showMonth.substring(5, 7)
|
this.$set(i, 'year', year)
|
this.$set(i, 'month', month)
|
this.$set(i, 'close', false)
|
this.$set(i, 'isActive', false)
|
this.$set(i, 'timeDay', temp.dateList[index + 1].timeDay)
|
} else {
|
if (index === 1) {
|
let year = i.picDate.substring(0, 4)
|
let month = i.picDate.substring(5, 7)
|
let day = i.picDate.substring(8, 10)
|
let hours = i.picDate.substring(11, 19)
|
this.$set(i, 'year', year)
|
this.$set(i, 'month', month)
|
this.$set(i, 'day', day)
|
this.$set(i, 'hours', hours)
|
this.$set(i, 'close', false)
|
this.$set(i, 'isActive', true)
|
} else {
|
let year = i.picDate.substring(0, 4)
|
let month = i.picDate.substring(5, 7)
|
let day = i.picDate.substring(8, 10)
|
let hours = i.picDate.substring(11, 19)
|
this.$set(i, 'year', year)
|
this.$set(i, 'month', month)
|
this.$set(i, 'day', day)
|
this.$set(i, 'hours', hours)
|
this.$set(i, 'close', false)
|
this.$set(i, 'isActive', false)
|
}
|
}
|
})
|
}
|
})
|
/** 默认选择第一个设备 */
|
if (this.timeline2 && this.timeline2.length !== 0) {
|
this.timeline2.forEach((i, index) => {
|
if (i.id === marker.id) {
|
this.$set(i, 'isActive', true)
|
this.deviceTemp = i
|
} else {
|
this.$set(i, 'isActive', false)
|
}
|
})
|
}
|
/** 默认选择第一天 */
|
for (let temp of this.timeline1) {
|
if (temp.videoReqNum === this.deviceTemp.id) {
|
this.tlList = JSON.parse(JSON.stringify(temp.dateList))
|
break
|
}
|
}
|
this.tlList2 = JSON.parse(JSON.stringify(this.timeline2))
|
|
console.log(this.tlList, 'this.tlList', this.tlList2, 'this.tlList2')
|
let typeArr = await getDeviceType()
|
let statusArr = await getStatus()
|
console.log(typeArr, 'typeArr,statusArr', statusArr)
|
if (typeArr && typeArr.success && typeArr.data.length !== 0) {
|
typeArr.data.forEach(item => {
|
if (item.value === this.deviceInfo.type) {
|
this.$set(this.deviceInfo, 'typeName', item.name)
|
}
|
})
|
}
|
if (statusArr && statusArr.success && statusArr.data.length !== 0) {
|
statusArr.data.forEach(item => {
|
if (parseInt(item.value) === this.deviceInfo.status) {
|
this.$set(this.deviceInfo, 'statusName', item.name)
|
}
|
})
|
}
|
/** 查询抓拍记录 */
|
if (this.tlList.length !== 0) {
|
this.catchData = this.allData.result.esList.filter(
|
i =>
|
i.timeDay === this.tlList[1].timeDay &&
|
i.videoReqNum === this.deviceTemp.id
|
)
|
}
|
console.log(this.catchData, 'this.catchData', this.allData.result.esList)
|
for (let i = 0; i < this.allData.result.esList.length; i++) {
|
this.allData.result.esList[i].miaoshu = ''
|
if (this.allData.result.esList[i].name) {
|
this.allData.result.esList[i].miaoshu = this.allData.result.esList[
|
i
|
].name
|
if (this.allData.result.esList[i].gender) {
|
this.allData.result.esList[i].miaoshu =
|
this.allData.result.esList[i].miaoshu +
|
'/' +
|
this.allData.result.esList[i].gender
|
}
|
if (this.allData.result.esList[i].cardId) {
|
this.allData.result.esList[i].miaoshu =
|
this.allData.result.esList[i].miaoshu +
|
'/' +
|
this.allData.result.esList[i].cardId
|
}
|
if (this.allData.result.esList[i].no) {
|
this.allData.result.esList[i].miaoshu =
|
this.allData.result.esList[i].miaoshu +
|
'/' +
|
this.allData.result.esList[i].no
|
}
|
if (this.allData.result.esList[i].phone) {
|
this.allData.result.esList[i].miaoshu =
|
this.allData.result.esList[i].miaoshu +
|
'/' +
|
this.allData.result.esList[i].phone
|
}
|
if (this.allData.result.esList[i].orgName) {
|
this.allData.result.esList[i].miaoshu =
|
this.allData.result.esList[i].miaoshu +
|
'/' +
|
this.allData.result.esList[i].orgName
|
}
|
}
|
}
|
// 霍文博添加
|
// 要传递给详情页的值
|
console.log(this.catchData, 'model2 获取抓拍记录记录')
|
this.dialogVisible = true
|
this.$nextTick(() => {
|
console.log(this.$refs.swip, 'this.$refs.swip')
|
this.$refs.swip.slideTo(marker.allData.result.index)
|
})
|
if (this.catchData.length !== 0) {
|
this.createParameter(this.catchData[0])
|
}
|
},
|
//霍文博添加 给详情页面添加参数并取得大图和视频
|
createParameter(item1) {
|
const BigPicjson = {
|
videoNum: item1.videoNum,
|
picDate: item1.picDate,
|
videoIp: item1.videoIp,
|
indeviceid: item1.indeviceid,
|
imgKey: item1.imgKey
|
}
|
this.BigPic = JSON.stringify({ ...BigPicjson })
|
const accompanyPersonjson = {
|
videoReqNum: item1.videoReqNum,
|
picDate: item1.picDate,
|
personId: item1.personId,
|
Id: item1.Id
|
}
|
this.accompanyPerson = JSON.stringify({ ...accompanyPersonjson })
|
this.childrenData = JSON.stringify({ ...item1 })
|
this.$nextTick(() => {
|
this.$refs.smodel.createList(
|
{ ...item1 },
|
{ ...BigPicjson },
|
{ ...accompanyPersonjson }
|
)
|
})
|
},
|
vxgplayerInit(optJson) {
|
const {
|
id = 'vxgplayer',
|
url = '',
|
nmf_path = 'media_player.nmf',
|
nmf_src = '/static/vxgplayer-1.8.31/pnacl/Release/media_player.nmf',
|
latency = '10000',
|
width = '960px',
|
height = '200px',
|
aspect_ratio_mode = 1,
|
autohide = 3,
|
controls = true,
|
connection_timeout = 5000,
|
connection_udp = 0,
|
custom_digital_zoom = false,
|
autostart = false
|
} = optJson
|
vxgplayer(id, {
|
...optJson,
|
url: url,
|
nmf_path,
|
nmf_src,
|
latency,
|
width,
|
height,
|
aspect_ratio_mode,
|
autohide,
|
controls,
|
connection_timeout,
|
connection_udp,
|
custom_digital_zoom
|
}).ready(function(data) {
|
vxgplayer(id).src(url)
|
vxgplayer(id).play()
|
// console.log('fn&&fn',vxgplayer(id).isPlaying())
|
/* 播放钩子函数 */
|
vxgplayer(id).onStateChange(function(state) {
|
switch (state) {
|
case 0:
|
// PLAYER_STOPPED
|
break
|
case 1:
|
// PLAYER_CONNECTING
|
break
|
case 2:
|
// PLAYER_PLAYING 成功播放
|
break
|
case 3:
|
// PLAYER_STOPPING
|
break
|
default:
|
// no ready
|
}
|
console.log('state', state)
|
})
|
vxgplayer(id).onError(function(player) {
|
console.log(player.error(), '播放错误')
|
})
|
})
|
},
|
searchPerson() {
|
this.openNewWindowtab({
|
urlStr: window.document.location.href.substring(
|
0,
|
window.document.location.href.indexOf('#') + 2
|
),
|
query:
|
'tabType=table&tableType=mapList&urlPath=' +
|
this.checkedObj.path +
|
'&liker=' +
|
localStorage.getItem('threshold')
|
})
|
},
|
orbit(obj) {
|
localStorage.removeItem('esList') //清除esList
|
localStorage.setItem('personId', obj.personId)
|
let jsonstr = localStorage.getItem('sear')
|
let json = JSON.parse(jsonstr)
|
json.path = obj.picSmUrl
|
localStorage.setItem('searParams', JSON.stringify(json))
|
this.openNewWindowtab({
|
urlStr: window.document.location.href.substring(
|
0,
|
window.document.location.href.indexOf('#') + 2
|
),
|
query: 'tabType=map'
|
})
|
},
|
control(obj) {
|
let json = {
|
dbInfos: [
|
{
|
cluId: obj.cluster_id,
|
devId: obj.indeviceid
|
}
|
],
|
imgUrl: obj.picSmUrl,
|
featureBase64: obj.FaceFeature,
|
idCard: obj.cardId ? obj.cardId : ''
|
}
|
let res = addFromRetrieve(json)
|
if (res && res.success) {
|
this.$toast({
|
type: 'primary',
|
message: '已加入待布控表',
|
toastHorizontalPosition: 'right'
|
})
|
} else {
|
this.$toast({
|
type: 'error',
|
message: '加入待布控表失败',
|
toastHorizontalPosition: 'right'
|
})
|
}
|
},
|
changParam(data, type) {
|
console.log(data, '接收从2个轨迹中获取的参数', type)
|
this.$set(data, 'isActive', true)
|
if (type === 'tlList') {
|
if (data.monthfirst) {
|
this.tlList.forEach((i, index) => {
|
if (i.Id !== data.Id) {
|
this.$set(i, 'isActive', false)
|
}
|
})
|
} else {
|
this.tlList.forEach((i, index) => {
|
if (i.Id !== data.Id) {
|
this.$set(i, 'isActive', false)
|
}
|
})
|
this.catchData = this.allData.result.esList.filter(
|
i => i.timeDay === data.timeDay
|
)
|
this.catchData = this.catchData.filter(
|
i => i.videoReqNum === this.deviceTemp.id
|
)
|
console.log(this.catchData, 'this.catchData')
|
if (this.catchData && this.catchData.length !== 0) {
|
this.createParameter(this.catchData[0])
|
}
|
}
|
}
|
if (type === 'tlList2') {
|
// 霍文博添加 为了好过滤
|
this.deviceTemp = data
|
//添加完毕
|
this.tlList2.forEach(i => {
|
if (i.id !== data.id) {
|
this.$set(i, 'isActive', false)
|
}
|
})
|
/** 默认选择第一天 */
|
console.log(this.timeline1, 'this.timeline1Q')
|
for (let temp of this.timeline1) {
|
if (temp.videoReqNum === data.id) {
|
this.tlList = JSON.parse(JSON.stringify(temp.dateList))
|
break
|
}
|
}
|
console.log(this.tlList, 'this.tlListMMMM')
|
if (this.tlList.length !== 0) {
|
console.log(this.catchData, 'catchData1')
|
this.catchData = this.allData.result.esList.filter(
|
i => i.timeDay === this.tlList[0].timeDay
|
)
|
this.catchData = this.catchData.filter(i => i.videoReqNum === data.id)
|
console.log(this.catchData, 'catchData')
|
if (this.catchData && this.catchData.length !== 0) {
|
this.createParameter(this.catchData[0])
|
}
|
}
|
}
|
console.log(this.tlList, 'this.tlList', this.tlList2)
|
},
|
/** 比对时间轴的id */
|
findFirstLargeNumber(element) {
|
return element.id === this.checkedObj.id
|
},
|
/** 获取以图搜图的轨迹信息 */
|
async findTr(data) {
|
let res = await getPersonnLocusByJni({ picId: data.path })
|
console.log(res, '轨迹')
|
return res
|
},
|
/** 勾选回调 */
|
async checkFunc2(data) {
|
if (data.path === this.checkedObj.path) {
|
return false
|
}
|
this.checkedObj = data
|
// 获取查询的参数
|
let jsonstr = localStorage.getItem('sear')
|
let dateObj = JSON.parse(jsonstr)
|
let json = {
|
liker: localStorage.getItem('threshold'),
|
path: data.path,
|
page: 1,
|
length: 99999,
|
startDate: dateObj.startDate,
|
endDate: dateObj.endDate,
|
personId: localStorage.getItem('personId')
|
}
|
// 查询结果
|
let res = await findLikerPics(json)
|
if (res && res.success) {
|
this.marker.newData = res.data.path.devInfos
|
this.marker.allData.result.path = res.data.path
|
for (let index = 0; index < this.leftDownImg.length; index++) {
|
if (this.leftDownImg[index].path === data.path) {
|
this.marker.allData.result.index = index
|
break
|
}
|
}
|
this.allData.result.esList = []
|
this.marker.allData.result.esList = res.data.esList
|
this.showModel(this.marker)
|
} else {
|
this.$toast({
|
type: 'error',
|
message: '数据查询错误',
|
toastHorizontalPosition: 'right'
|
})
|
}
|
},
|
checkFunc(data) {
|
console.log(data, 'checkFunc')
|
if (data.path === this.checkedObj.path) {
|
return false
|
}
|
this.checkedObj = data
|
// let index = this.leftDownImg.findIndex(this.findFirstLargeNumber)
|
// this.$refs.swip.slideTo(index)
|
this.leftDownImg.forEach(async (i, index) => {
|
if (i.path === data.path) {
|
this.checkedObj = i
|
/** 以图搜图查询轨迹 */
|
let imgdata = await getPersonnLocusByJni({ picId: data.path })
|
console.log(imgdata, 'imgdata')
|
setTimeout(async () => {
|
/** 查询勾选人的时间轴数据 */
|
|
let tldata = await getPersonnLocus({
|
personId: this.allData.result.esList[index].personId,
|
startDate: this.allData.result.param.startDate,
|
endDate: this.allData.result.param.endDate
|
})
|
if (tldata && tldata.success) {
|
let arr = tldata.data.locusList
|
/** 循环处理后台的返回结果 */
|
arr.forEach(i => {
|
let year = i.picDate.substring(0, 4)
|
let month = i.picDate.substring(5, 7)
|
let day = i.picDate.substring(8, 10)
|
let hours = i.picDate.substring(11, 19)
|
this.$set(i, 'year', year)
|
this.$set(i, 'month', month)
|
this.$set(i, 'day', day)
|
this.$set(i, 'hours', hours)
|
this.$set(i, 'close', false)
|
this.$set(i, 'isActive', false)
|
})
|
this.tlList = arr
|
} else {
|
this.$toast({
|
type: 'error',
|
message: '查询设备信息失败!'
|
})
|
}
|
|
/** */
|
this.tlList = imgdata.data.locusList
|
let param = this.allData.result.param
|
this.$set(param, 'path', i.path)
|
/** 查询抓拍记录 */
|
let res = await findLikerPics(param)
|
// 霍文博添加this.catchData 需要的描述值
|
if (res && res.success) {
|
for (let i = 0; i < res.data.esList.length; i++) {
|
res.data.esList[i].miaoshu = ''
|
if (res.data.esList[i].name) {
|
res.data.esList[i].miaoshu = res.data.esList[i].name
|
if (res.data.esList[i].gender) {
|
res.data.esList[i].miaoshu =
|
res.data.esList[i].miaoshu +
|
'/' +
|
res.data.esList[i].gender
|
}
|
if (res.data.esList[i].cardId) {
|
res.data.esList[i].miaoshu =
|
res.data.esList[i].miaoshu +
|
'/' +
|
res.data.esList[i].cardId
|
}
|
if (res.data.esList[i].no) {
|
res.data.esList[i].miaoshu =
|
res.data.esList[i].miaoshu + '/' + res.data.esList[i].no
|
}
|
if (res.data.esList[i].phone) {
|
res.data.esList[i].miaoshu =
|
res.data.esList[i].miaoshu +
|
'/' +
|
res.data.esList[i].phone
|
}
|
if (res.data.esList[i].orgName) {
|
res.data.esList[i].miaoshu =
|
res.data.esList[i].miaoshu +
|
'/' +
|
res.data.esList[i].orgName
|
}
|
}
|
}
|
}
|
console.log(res, '勾选后重新查询轨迹登方法')
|
if (res && res.success) {
|
this.catchData = res.data.esList
|
console.log(this.catchData, 'this.catchData')
|
if (this.catchData && this.catchData.length !== 0) {
|
this.createParameter(this.catchData[0])
|
}
|
}
|
}, 100)
|
} else {
|
i.checked = false
|
}
|
})
|
},
|
/** 抓拍记录方法 */
|
async getCameraRecord() {
|
/** 传递的参数 下面是默认参数,应该接收过来的参数 */
|
let params = {
|
videoReqNum: this.marker.id,
|
page: 1,
|
size: 10,
|
personIsHub: ''
|
}
|
let res = await getCameraRecord(params)
|
if (res && res.success) {
|
this.catchData = res.data.equList
|
this.createParameter(this.catchData[0])
|
}
|
},
|
getCircularReplacer(){
|
const seen = new WeakSet();
|
return (key, value) => {
|
if (typeof value === "object" && value !== null) {
|
if (seen.has(value)) {
|
return;
|
}
|
seen.add(value);
|
}
|
return value;
|
}
|
}
|
},
|
mounted() {}
|
}
|
</script>
|
<style lang="scss">
|
.table-type-btns {
|
font-size: 14px;
|
padding: 10px 0px;
|
font-weight: 400;
|
color: #868686;
|
transition: all 0.5s;
|
cursor: pointer;
|
&:after {
|
content: '';
|
display: block;
|
background: transparent;
|
width: 0%;
|
height: 2px;
|
transition: all 0.5s;
|
}
|
&.active {
|
color: #35bde7;
|
&:after {
|
background: #35bde7;
|
width: 100%;
|
}
|
}
|
}
|
.el-dialog .el-dialog__body {
|
padding: 0px 20px 20px;
|
padding-top: 0px !important;
|
padding-right: 20px;
|
padding-bottom: 20px;
|
padding-left: 20px;
|
color: #606266;
|
font-size: 14px;
|
}
|
.smImg {
|
width: 46px;
|
.tcenter {
|
text-align: center;
|
}
|
}
|
.mdImg {
|
width: 100px;
|
height: 100px;
|
.tcenter {
|
text-align: center;
|
}
|
}
|
.elcheckbox {
|
position: absolute;
|
top: 54%;
|
left: 70%;
|
opacity: 0.6;
|
z-index: 11;
|
}
|
</style>
|