|
@ -29,30 +29,46 @@ |
|
|
<el-col :span="8"><span @click="onRegionClick('jiangning')" :class="{'active': currentRegion === 'jiangning'}">江宁</span></el-col> |
|
|
<el-col :span="8"><span @click="onRegionClick('jiangning')" :class="{'active': currentRegion === 'jiangning'}">江宁</span></el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
</div> |
|
|
</div> |
|
|
<div class="menu-item" v-if="currentTab === 'MWR' || currentTab === 'kuoxian' || currentTab === 'shixu' || currentTab === 'shixu_BPFY'"> |
|
|
<div class="menu-item" > |
|
|
<h2 class="tip">要素选择</h2> |
|
|
<h2 class="tip">分辨率选择</h2> |
|
|
<el-row :gutter="12"> |
|
|
<el-row :gutter="12"> |
|
|
<el-col :span="8" v-if="currentTab === 'MWR' || currentTab === 'kuoxian' || currentTab === 'shixu_BPFY'"><span @click="onElementClick('TEMP')" :class="{'active': currentElement === 'TEMP'}">温度</span></el-col> |
|
|
<el-col :span="8" ><span @click="onElementClick('six-minute')" :class="{'active': currentElement === 'six-minute'}">6分钟</span></el-col> |
|
|
<el-col :span="8" v-if="currentTab === 'kuoxian' || currentTab === 'shixu_BPFY'"><span @click="onElementClick('RH')" :class="{'active': currentElement === 'RH'}">湿度</span></el-col> |
|
|
<el-col :span="8" ><span @click="onElementClick('half-hour')" :class="{'active': currentElement === 'half-hour'}">30分钟</span></el-col> |
|
|
<el-col :span="8" v-if="currentTab === 'kuoxian' || currentTab === 'shixu_BPFY'"><span @click="onElementClick('VD')" :class="{'active': currentElement === 'VD'}">水汽密度</span></el-col> |
|
|
<el-col :span="8" ><span @click="onElementClick('one-hour')" :class="{'active': currentElement === 'one-hour'}">1小时</span></el-col> |
|
|
<el-col :span="8" v-if="currentTab === 'shixu'"><span @click="onElementClick('CAPE')" :class="{'active': currentElement === 'CAPE'}">CAPE</span></el-col> |
|
|
<!-- <el-col :span="8" ><span @click="onElementClick('CAPE')" :class="{'active': currentElement === 'CAPE'}">CAPE</span></el-col>--> |
|
|
<el-col :span="8" v-if="currentTab === 'shixu'"><span @click="onElementClick('CIN')" :class="{'active': currentElement === 'CIN'}">CIN</span></el-col> |
|
|
<!-- <el-col :span="8" ><span @click="onElementClick('CIN')" :class="{'active': currentElement === 'CIN'}">CIN</span></el-col>--> |
|
|
|
|
|
|
|
|
</el-row> |
|
|
</el-row> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="container panel"> |
|
|
<div class="container panel"> |
|
|
<div class="toolbar" :class="{'day-toolbar': currentTab === 'MWR'}"> |
|
|
<div class="toolbar"> |
|
|
<div class="times" v-if="currentTab === 'MWR'"> |
|
|
|
|
|
<div class="time-item" v-for="(time, index) in days" :key="index" :class="{'active': currentTime === time.date}"> |
|
|
|
|
|
<span class="time" @click="onDayClick(time, index)">{{time.day}}</span> |
|
|
<!--6分钟--> |
|
|
</div> |
|
|
<div class="times" v-if="currentElement === 'six-minute'"> |
|
|
</div> |
|
|
|
|
|
<div class="times" v-else> |
|
|
|
|
|
<div class="time-item" v-for="(time, index) in times" :key="index" :class="{'active': currentTime === time.date, 'first-hour': time.minute === '00'}"> |
|
|
<div class="time-item" v-for="(time, index) in times" :key="index" :class="{'active': currentTime === time.date, 'first-hour': time.minute === '00'}"> |
|
|
<span class="hour">{{time.hour}}</span> |
|
|
<span class="hour">{{time.hour}}</span> |
|
|
<span class="time" @click="onTimeClick(time, index)">{{time.minute}}</span> |
|
|
<span class="time" @click="onTimeClick(time, index)">{{time.minute}}</span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!--30分钟--> |
|
|
|
|
|
<div class="times halfHour" v-if="currentElement === 'half-hour'"> |
|
|
|
|
|
<div class="time-item" v-for="(time, index) in times" :key="index" :class="{'active': currentTime === time.date}"> |
|
|
|
|
|
<span class="hour ">{{time.hour}}</span> |
|
|
|
|
|
<span class="time" @click="onTimeClick(time, index)">{{time.minute}}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!--1小时--> |
|
|
|
|
|
<div class="times oneHour" v-if="currentElement === 'one-hour'"> |
|
|
|
|
|
<div class="time-item" v-for="(time, index) in times" :key="index" :class="{'active': currentTime === time.date}"> |
|
|
|
|
|
<span class="hour">{{time.hour}}</span> |
|
|
|
|
|
<span class="time" @click="onTimeClick(time, index)">{{time.minute}}</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
<el-date-picker v-model="date" type="date" placeholder="请选择" :clearable="false" :editable="false" class="date-picker" @change="onChange"> |
|
|
<el-date-picker v-model="date" type="date" placeholder="请选择" :clearable="false" :editable="false" class="date-picker" @change="onChange"> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
<div class="control-btn"> |
|
|
<div class="control-btn"> |
|
@ -187,10 +203,11 @@ |
|
|
let timer = null; |
|
|
let timer = null; |
|
|
|
|
|
|
|
|
let options = reactive({ |
|
|
let options = reactive({ |
|
|
|
|
|
selectionTime: 6, |
|
|
currentTab: 'MWR', |
|
|
currentTab: 'MWR', |
|
|
currentRegion: 'jiangning', |
|
|
currentRegion: 'jiangning', |
|
|
currentType: 'TEMP', |
|
|
currentType: 'TEMP', |
|
|
currentElement: 'TEMP', |
|
|
currentElement: 'six-minute', |
|
|
currentCategory: 'CAPE', |
|
|
currentCategory: 'CAPE', |
|
|
date: moment('2021-11-10').format('YYYY-MM-DD'), |
|
|
date: moment('2021-11-10').format('YYYY-MM-DD'), |
|
|
currentHour: '23', |
|
|
currentHour: '23', |
|
@ -214,30 +231,43 @@ |
|
|
fillingImgPreview: ['/images/picture.png'] |
|
|
fillingImgPreview: ['/images/picture.png'] |
|
|
}, |
|
|
}, |
|
|
urls: [] |
|
|
urls: [] |
|
|
|
|
|
|
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
onMounted(() => { |
|
|
onMounted(() => { |
|
|
|
|
|
initTimeLine() |
|
|
initHours(); |
|
|
initHours(); |
|
|
initDays(); |
|
|
setTimeout(() => { |
|
|
setTimeout(() => activeContrastImage(), 50); |
|
|
changeColor() |
|
|
|
|
|
},0) |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
// const onTabClick = (name) => { |
|
|
|
|
|
// options.currentTab = name; |
|
|
|
|
|
// options.currentElement = 'six-minute' |
|
|
|
|
|
// if (options.currentTab === 'MWR') { |
|
|
|
|
|
// |
|
|
|
|
|
// } |
|
|
|
|
|
// cancelActive(); |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
const onTabClick = (name) => { |
|
|
const onTabClick = (name) => { |
|
|
options.currentTab = name; |
|
|
options.currentTab = name; |
|
|
|
|
|
options.currentElement = 'six-minute' |
|
|
if (options.currentTab === 'MWR') { |
|
|
if (options.currentTab === 'MWR') { |
|
|
options.date = moment('2021-11-10').format('YYYY-MM-DD'); |
|
|
options.date = moment('2021-11-10').format('YYYY-MM-DD'); |
|
|
options.currentElement = 'TEMP'; |
|
|
// options.currentElement = 'TEMP'; |
|
|
options.index = options.days.length - 1; |
|
|
options.index = options.days.length - 1; |
|
|
|
|
|
// initDays(); |
|
|
initDays(); |
|
|
|
|
|
setTimeout(() => activeContrastImage(), 50) |
|
|
setTimeout(() => activeContrastImage(), 50) |
|
|
} else { |
|
|
} else { |
|
|
if (options.currentTab === 'kuoxian' || options.currentTab === 'shixu_BPFY') |
|
|
if (options.currentTab === 'kuoxian' || options.currentTab === 'shixu_BPFY') { |
|
|
options.currentElement = 'TEMP'; |
|
|
// options.currentElement = 'TEMP'; |
|
|
|
|
|
setTimeout(()=>changeColor(),100) ; |
|
|
|
|
|
} |
|
|
else if (options.currentTab === 'shixu') { |
|
|
else if (options.currentTab === 'shixu') { |
|
|
options.date = moment('2021-12-04').format('YYYY-MM-DD'); |
|
|
options.date = moment('2021-12-04').format('YYYY-MM-DD'); |
|
|
options.currentElement = 'CAPE'; |
|
|
// options.currentElement = 'CAPE'; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
options.date = moment('2021-12-05').format('YYYY-MM-DD'); |
|
|
options.date = moment('2021-12-05').format('YYYY-MM-DD'); |
|
@ -245,30 +275,26 @@ |
|
|
|
|
|
|
|
|
if (options.currentTab === 'kuoxian' || options.currentTab === 'shixu_BPFY') { |
|
|
if (options.currentTab === 'kuoxian' || options.currentTab === 'shixu_BPFY') { |
|
|
options.date = moment('2021-12-04').format('YYYY-MM-DD'); |
|
|
options.date = moment('2021-12-04').format('YYYY-MM-DD'); |
|
|
options.currentElement = 'TEMP'; |
|
|
// options.currentElement = 'TEMP'; |
|
|
options.currentHour = '23'; |
|
|
options.currentHour = '23'; |
|
|
} else if (options.currentTab === 'shixu') { |
|
|
} else if (options.currentTab === 'shixu') { |
|
|
options.date = moment('2021-12-04').format('YYYY-MM-DD'); |
|
|
options.date = moment('2021-12-04').format('YYYY-MM-DD'); |
|
|
options.currentElement = 'CAPE'; |
|
|
// options.currentElement = 'CAPE'; |
|
|
options.currentHour = '23'; |
|
|
options.currentHour = '23'; |
|
|
} else if (options.currentTab === 'T-logP') { |
|
|
} else if (options.currentTab === 'T-logP') { |
|
|
options.date = moment('2021-12-05').format('YYYY-MM-DD'); |
|
|
options.date = moment('2021-12-05').format('YYYY-MM-DD'); |
|
|
options.currentElement = 'TEMP'; |
|
|
// options.currentElement = 'TEMP'; |
|
|
options.currentHour = '16'; |
|
|
options.currentHour = '16'; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
initTimeLine(); |
|
|
initTimeLine(); |
|
|
setTimeout(() => activeImage(moment(options.times[options.times.length - 1].date).hour(), moment(options.times[options.times.length - 1].date).minute()), 50) |
|
|
setTimeout(() => activeImage(moment(options.times[options.times.length - 1].date).hour(), moment(options.times[options.times.length - 1].date).minute()), 50) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
cancelActive(); |
|
|
cancelActive(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const onRegionClick = (region) => { |
|
|
const onRegionClick = (region) => { |
|
|
options.currentRegion = region; |
|
|
options.currentRegion = region; |
|
|
|
|
|
|
|
|
cancelActive(); |
|
|
cancelActive(); |
|
|
|
|
|
|
|
|
if (options.currentTab === 'MWR') |
|
|
if (options.currentTab === 'MWR') |
|
|
activeContrastImage(); |
|
|
activeContrastImage(); |
|
|
else |
|
|
else |
|
@ -277,13 +303,17 @@ |
|
|
|
|
|
|
|
|
const onElementClick = (element) => { |
|
|
const onElementClick = (element) => { |
|
|
options.currentElement = element; |
|
|
options.currentElement = element; |
|
|
|
|
|
initTimeLine() |
|
|
cancelActive(); |
|
|
cancelActive(); |
|
|
|
|
|
|
|
|
if (options.currentTab === 'MWR') |
|
|
if (options.currentTab === 'MWR') |
|
|
activeContrastImage(); |
|
|
activeContrastImage(); |
|
|
else |
|
|
else |
|
|
activeImage(moment(options.times[options.index].date).hour(), moment(options.times[options.index].date).minute()); |
|
|
activeImage(moment(options.times[options.index].date).hour(), moment(options.times[options.index].date).minute()); |
|
|
|
|
|
if (element === 'six-minute') { |
|
|
|
|
|
setTimeout(() => { |
|
|
|
|
|
changeColor() |
|
|
|
|
|
},0) |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const activeContrastImage = () => { |
|
|
const activeContrastImage = () => { |
|
@ -312,10 +342,8 @@ |
|
|
const onDownloadClick = () => { |
|
|
const onDownloadClick = () => { |
|
|
post("/image/createGif", prepareParams(), 'application/json').then((response: any) => { |
|
|
post("/image/createGif", prepareParams(), 'application/json').then((response: any) => { |
|
|
if (response.error != 0){ |
|
|
if (response.error != 0){ |
|
|
console.log(response.message); |
|
|
|
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
fetch(response.data).then(res => { |
|
|
fetch(response.data).then(res => { |
|
|
return res.blob(); |
|
|
return res.blob(); |
|
|
}).then(blob => { |
|
|
}).then(blob => { |
|
@ -352,7 +380,6 @@ |
|
|
let type = options.currentTab === 'T-logP' ? options.currentTab : (options.currentTab + '_' + options.currentElement); |
|
|
let type = options.currentTab === 'T-logP' ? options.currentTab : (options.currentTab + '_' + options.currentElement); |
|
|
urls.push(MicrowaveRadiationConfig.getUrl(options.currentRegion, type, time)); |
|
|
urls.push(MicrowaveRadiationConfig.getUrl(options.currentRegion, type, time)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return urls; |
|
|
return urls; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -366,7 +393,6 @@ |
|
|
MicrowaveRadiationConfig.getUrl(options.currentRegion, options.currentTab + '_filling', time) |
|
|
MicrowaveRadiationConfig.getUrl(options.currentRegion, options.currentTab + '_filling', time) |
|
|
); |
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return urls; |
|
|
return urls; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -390,21 +416,25 @@ |
|
|
|
|
|
|
|
|
const initTimeLine = () => { |
|
|
const initTimeLine = () => { |
|
|
options.times = []; |
|
|
options.times = []; |
|
|
options.currentTime = moment(options.date).hour(parseInt(options.currentHour)).minute(options.currentTab === 'T-logP' ? 0 : 30).format('YYYY-MM-DD HH:mm'); |
|
|
options.currentTime = moment(options.date).hour(parseInt(options.currentHour)).minute(options.currentElement === 'one-hour' ? 0 : 30).format('YYYY-MM-DD HH:mm'); |
|
|
|
|
|
let now = moment(options.date).hour(parseInt(options.currentHour) - 2).minute(36); |
|
|
let now = moment(options.date).hour(parseInt(options.currentHour) - 2).minute(options.currentTab === 'T-logP' ? 0 : 30); |
|
|
|
|
|
|
|
|
|
|
|
let minute = now.minute(); |
|
|
let minute = now.minute(); |
|
|
const remainder = minute % 6; |
|
|
|
|
|
|
|
|
if (options. currentElement === 'six-minute') { |
|
|
|
|
|
options.selectionTime = 6 |
|
|
|
|
|
} |
|
|
|
|
|
else if (options. currentElement === 'half-hour') |
|
|
|
|
|
options.selectionTime = 30 |
|
|
|
|
|
else |
|
|
|
|
|
options.selectionTime = 60 |
|
|
|
|
|
const remainder = minute % options.selectionTime; |
|
|
if (remainder > 0){ |
|
|
if (remainder > 0){ |
|
|
now.minute(minute + (6 - remainder)); |
|
|
now.minute(minute + ( options.selectionTime - remainder)); |
|
|
} |
|
|
} |
|
|
|
|
|
now.minute(now.minute() - options.selectionTime); |
|
|
now.minute(now.minute() - 6); |
|
|
for (let i = 0; i < 22 ; i++) { |
|
|
|
|
|
|
|
|
for (let i = 0; i < 21 ; i++) { |
|
|
|
|
|
options.times.push({ |
|
|
options.times.push({ |
|
|
hour: now.add(6, 'minute').format('HH时'), |
|
|
hour: now.add( options.selectionTime, 'minute').format('HH时'), |
|
|
minute: now.format('mm'), |
|
|
minute: now.format('mm'), |
|
|
date: now.format('YYYY-MM-DD HH:mm') |
|
|
date: now.format('YYYY-MM-DD HH:mm') |
|
|
}); |
|
|
}); |
|
@ -412,22 +442,22 @@ |
|
|
options.index = options.times.length - 1; |
|
|
options.index = options.times.length - 1; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const initDays = () => { |
|
|
// const initDays = () => { |
|
|
options.days = []; |
|
|
// options.days = []; |
|
|
options.currentTime = moment(options.date).format('YYYY-MM-DD'); |
|
|
// options.currentTime = moment(options.date).format('YYYY-MM-DD'); |
|
|
|
|
|
// |
|
|
let now = moment(options.date).add(1, 'day'); |
|
|
// let now = moment(options.date).add(1, 'day'); |
|
|
|
|
|
// |
|
|
for (let i = 0; i < 10 ; i++) { |
|
|
// for (let i = 0; i < 10 ; i++) { |
|
|
options.days.push({ |
|
|
// options.days.push({ |
|
|
day: now.add(-1, 'day').format('DD'), |
|
|
// day: now.add(-1, 'day').format('DD'), |
|
|
date: now.format('YYYY-MM-DD'), |
|
|
// date: now.format('YYYY-MM-DD'), |
|
|
}) |
|
|
// }) |
|
|
} |
|
|
// } |
|
|
|
|
|
// |
|
|
options.days.reverse(); |
|
|
// options.days.reverse(); |
|
|
options.index = options.days.length - 1; |
|
|
// options.index = options.days.length - 1; |
|
|
} |
|
|
// } |
|
|
|
|
|
|
|
|
const initHours = () => { |
|
|
const initHours = () => { |
|
|
for (let i = 0; i < 24; i++) { |
|
|
for (let i = 0; i < 24; i++) { |
|
@ -445,12 +475,12 @@ |
|
|
activeImage(moment(time.date).hour(), moment(time.date).minute()); |
|
|
activeImage(moment(time.date).hour(), moment(time.date).minute()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const onDayClick = (time, index) => { |
|
|
// const onDayClick = (time, index) => { |
|
|
options.currentTime = time.date; |
|
|
// options.currentTime = time.date; |
|
|
options.index = index; |
|
|
// options.index = index; |
|
|
cancelActive(); |
|
|
// cancelActive(); |
|
|
activeContrastImage(); |
|
|
// activeContrastImage(); |
|
|
} |
|
|
// } |
|
|
|
|
|
|
|
|
const cancelActive = () => { |
|
|
const cancelActive = () => { |
|
|
clearTimer(); |
|
|
clearTimer(); |
|
@ -501,7 +531,6 @@ |
|
|
options.date = moment('2021-11-10').format('YYYY-MM-DD'); |
|
|
options.date = moment('2021-11-10').format('YYYY-MM-DD'); |
|
|
options.currentTime = options.date; |
|
|
options.currentTime = options.date; |
|
|
element.children[options.days.length - 1].classList.add('active'); |
|
|
element.children[options.days.length - 1].classList.add('active'); |
|
|
|
|
|
|
|
|
activeContrastImage(); |
|
|
activeContrastImage(); |
|
|
} else { |
|
|
} else { |
|
|
options.currentHour = '23'; |
|
|
options.currentHour = '23'; |
|
@ -533,7 +562,7 @@ |
|
|
options.index = 0; |
|
|
options.index = 0; |
|
|
|
|
|
|
|
|
setCurrentPlayElement(element); |
|
|
setCurrentPlayElement(element); |
|
|
}, 3000) |
|
|
}, 2000) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const clearTimer = () => { |
|
|
const clearTimer = () => { |
|
@ -563,7 +592,7 @@ |
|
|
|
|
|
|
|
|
const onChange = () => { |
|
|
const onChange = () => { |
|
|
if(options.currentTab === 'MWR') { |
|
|
if(options.currentTab === 'MWR') { |
|
|
initDays(); |
|
|
// initDays(); |
|
|
activeContrastImage(); |
|
|
activeContrastImage(); |
|
|
} else { |
|
|
} else { |
|
|
initTimeLine(); |
|
|
initTimeLine(); |
|
@ -599,13 +628,25 @@ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const changeColor = () => { |
|
|
|
|
|
let timeLine = document.querySelectorAll('.time-item') |
|
|
|
|
|
timeLine.forEach((item :any, index) => { |
|
|
|
|
|
if( index >= 5 && index <= 14) { |
|
|
|
|
|
const spanTimeColor = item.querySelector('.time') |
|
|
|
|
|
spanTimeColor.style.backgroundColor = '#CDDAF6' |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return { |
|
|
return { |
|
|
...toRefs(options), |
|
|
...toRefs(options), |
|
|
onTabClick, |
|
|
onTabClick, |
|
|
onRegionClick, |
|
|
onRegionClick, |
|
|
onElementClick, |
|
|
onElementClick, |
|
|
onTimeClick, |
|
|
onTimeClick, |
|
|
onDayClick, |
|
|
// onDayClick, |
|
|
onPrevDayClick, |
|
|
onPrevDayClick, |
|
|
onNextDayClick, |
|
|
onNextDayClick, |
|
|
onPrevImgClick, |
|
|
onPrevImgClick, |
|
@ -615,7 +656,8 @@ |
|
|
onChange, |
|
|
onChange, |
|
|
onImageLoad, |
|
|
onImageLoad, |
|
|
onDownloadClick, |
|
|
onDownloadClick, |
|
|
onSaveClick |
|
|
onSaveClick, |
|
|
|
|
|
changeColor |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -626,10 +668,17 @@ |
|
|
.contrast-picture-container { |
|
|
.contrast-picture-container { |
|
|
width: calc(~"100% - 2.5rem"); |
|
|
width: calc(~"100% - 2.5rem"); |
|
|
margin: 0 auto; |
|
|
margin: 0 auto; |
|
|
flex-direction: row; |
|
|
|
|
|
align-items: center; |
|
|
align-items: center; |
|
|
.picture { |
|
|
.picture { |
|
|
|
|
|
width: 100%; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
|
|
|
:deep(.el-image) { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
} |
|
|
|
|
|
:deep(.el-image__inner) { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
transform: scaleX(4.5); |
|
|
|
|
|
} |
|
|
.title { |
|
|
.title { |
|
|
padding-bottom: 0; |
|
|
padding-bottom: 0; |
|
|
font-size: 0.22rem; |
|
|
font-size: 0.22rem; |
|
|