| | |
| | | <div class="pt--35 px--20 pb--54"> |
| | | <!-- 返回 --> |
| | | <div> |
| | | <img |
| | | @click="backFun" |
| | | src="../../assets/img/back.png" |
| | | class="w--22 h--20 shrink0 mr--13 cursor-pointer" |
| | | /> |
| | | <img @click="backFun" src="../../assets/img/back.png" class="w--22 h--20 shrink0 mr--13 cursor-pointer" /> |
| | | </div> |
| | | <!-- tab --> |
| | | <div |
| | | class="flex a-center absolute postion-center br--16 top--130 br--16 c-fff fs--14 bgcolor4 SSHR" |
| | | > |
| | | <div class="flex a-center absolute postion-center br--16 top--130 br--16 c-fff fs--14 bgcolor4 SSHR"> |
| | | <div @click="activeTab = 1" class="lh--32 px--20 cursor-pointer z-10"> |
| | | 重大隐患 |
| | | </div> |
| | |
| | | <!-- 搜索 --> |
| | | <div class="flex a-center gap--16 mt--24 mb--20"> |
| | | <!-- 项目选择(非项目端才显示) --> |
| | | <div |
| | | v-if="!isProjectMode" |
| | | class="flex a-center j-between pl--18 pr--15 h--40 relative w--300 bgcolor1 searchBox" |
| | | > |
| | | <el-select |
| | | filterable |
| | | v-model="searchForm.projectId" |
| | | placeholder="请选择项目" |
| | | class="flex1" |
| | | @change="handleSelectChange" |
| | | > |
| | | <el-option |
| | | v-for="item in projectList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <div v-if="!isProjectMode" |
| | | class="flex a-center j-between pl--18 pr--15 h--40 relative w--300 bgcolor1 searchBox"> |
| | | <el-select filterable v-model="searchForm.projectId" placeholder="请选择项目" class="flex1" |
| | | @change="handleSelectChange"> |
| | | <el-option v-for="item in projectList" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <div class="flex a-center gap--5"> |
| | | <i |
| | | @click.stop="clearSelect('projectId')" |
| | | class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="searchForm.projectId" |
| | | /> |
| | | <img |
| | | src="../../assets/img/down-circle@2x.png" |
| | | class="w--15 h--16 shrink0" |
| | | /> |
| | | <i @click.stop="clearSelect('projectId')" class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="searchForm.projectId" /> |
| | | <img src="../../assets/img/down-circle@2x.png" class="w--15 h--16 shrink0" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 整改状态 --> |
| | | <div |
| | | v-if="showReformedFilter" |
| | | class="flex a-center j-between pl--18 pr--15 h--40 relative w--300 bgcolor1 searchBox" |
| | | > |
| | | <el-select |
| | | v-model="searchForm.reformed" |
| | | placeholder="请选择整改状态" |
| | | class="flex1" |
| | | @change="handleSelectChange" |
| | | > |
| | | <el-option |
| | | v-for="item in reformedOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <div v-if="showReformedFilter" |
| | | class="flex a-center j-between pl--18 pr--15 h--40 relative w--300 bgcolor1 searchBox"> |
| | | <el-select v-model="searchForm.reformed" placeholder="请选择整改状态" class="flex1" @change="handleSelectChange"> |
| | | <el-option v-for="item in reformedOptions" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <div class="flex a-center gap--5"> |
| | | <i |
| | | @click.stop="clearSelect('reformed')" |
| | | class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="searchForm.reformed !== null" |
| | | /> |
| | | <img |
| | | src="../../assets/img/down-circle@2x.png" |
| | | class="w--15 h--16 shrink0" |
| | | /> |
| | | <i @click.stop="clearSelect('reformed')" class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="searchForm.reformed !== null" /> |
| | | <img src="../../assets/img/down-circle@2x.png" class="w--15 h--16 shrink0" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 隐患类型(仅重大隐患显示) --> |
| | | <div |
| | | v-if="showTypeFilter" |
| | | class="flex a-center j-between pl--18 pr--15 h--40 relative w--300 bgcolor1 searchBox" |
| | | > |
| | | <el-select |
| | | v-model="searchForm.type" |
| | | placeholder="请选择隐患类型" |
| | | class="flex1" |
| | | @change="handleSelectChange" |
| | | > |
| | | <div v-if="showTypeFilter" |
| | | class="flex a-center j-between pl--18 pr--15 h--40 relative w--300 bgcolor1 searchBox"> |
| | | <el-select v-model="searchForm.type" placeholder="请选择隐患类型" class="flex1" @change="handleSelectChange"> |
| | | <el-option label="安全隐患" :value="1"></el-option> |
| | | <el-option label="设备隐患" :value="2"></el-option> |
| | | </el-select> |
| | | <div class="flex a-center gap--5"> |
| | | <i |
| | | @click.stop="clearSelect('type')" |
| | | class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="searchForm.type !== null" |
| | | /> |
| | | <img |
| | | src="../../assets/img/down-circle@2x.png" |
| | | class="w--15 h--16 shrink0" |
| | | /> |
| | | <i @click.stop="clearSelect('type')" class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="searchForm.type !== null" /> |
| | | <img src="../../assets/img/down-circle@2x.png" class="w--15 h--16 shrink0" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 隐患等级(安全和设备隐患显示) --> |
| | | <div |
| | | v-if="showLevelFilter" |
| | | class="flex a-center j-between pl--18 pr--15 h--40 relative w--300 bgcolor1 searchBox" |
| | | > |
| | | <el-select |
| | | v-model="searchForm.level" |
| | | placeholder="请选择隐患等级" |
| | | class="flex1" |
| | | @change="handleSelectChange" |
| | | > |
| | | <el-option |
| | | v-for="item in levelOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | <div v-if="showLevelFilter" |
| | | class="flex a-center j-between pl--18 pr--15 h--40 relative w--300 bgcolor1 searchBox"> |
| | | <el-select v-model="searchForm.level" placeholder="请选择隐患等级" class="flex1" @change="handleSelectChange"> |
| | | <el-option v-for="item in levelOptions" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <div class="flex a-center gap--5"> |
| | | <i |
| | | @click.stop="clearSelect('level')" |
| | | class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="searchForm.level !== null" |
| | | /> |
| | | <img |
| | | src="../../assets/img/down-circle@2x.png" |
| | | class="w--15 h--16 shrink0" |
| | | /> |
| | | <i @click.stop="clearSelect('level')" class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="searchForm.level !== null" /> |
| | | <img src="../../assets/img/down-circle@2x.png" class="w--15 h--16 shrink0" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 开始时间 --> |
| | | <div |
| | | class="flex a-center j-between px--20 w--300 h--40 relative bgcolor1 picker" |
| | | > |
| | | <el-date-picker |
| | | v-model="startDateTime" |
| | | ref="datetime1" |
| | | type="datetime" |
| | | placeholder="" |
| | | > |
| | | <div class="flex a-center j-between px--20 w--300 h--40 relative bgcolor1 picker"> |
| | | <el-date-picker v-model="startDateTime" ref="datetime1" type="datetime" placeholder=""> |
| | | </el-date-picker> |
| | | <div |
| | | @click.stop="handleClick(1)" |
| | | class="absolute h100 flex a-center c-fff fs--14 SHS pointer-events-none" |
| | | style="left: 20px; right: 60px; z-index: 1;" |
| | | v-if="startDateTxt" |
| | | > |
| | | <div @click.stop="handleClick(1)" class="absolute h100 flex a-center c-fff fs--14 SHS pointer-events-none" |
| | | style="left: 20px; right: 60px; z-index: 1;" v-if="startDateTxt"> |
| | | {{ startDateTxt }} |
| | | </div> |
| | | <div |
| | | @click.stop="handleClick(1)" |
| | | v-else |
| | | <div @click.stop="handleClick(1)" v-else |
| | | class="absolute h100 flex a-center c-fff fs--14 SHSR pointer-events-none" |
| | | style="left: 20px; right: 60px; z-index: 1;" |
| | | > |
| | | style="left: 20px; right: 60px; z-index: 1;"> |
| | | 开始时间 |
| | | </div> |
| | | <div class="flex a-center gap--5" style="position: relative; z-index: 2;"> |
| | | <i |
| | | @click.stop="clearDateTime('start')" |
| | | class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="startDateTxt" |
| | | /> |
| | | <img |
| | | @click="handleClick(1)" |
| | | src="../../assets/img/home/Shape@2x (6).png" |
| | | class="w--13 h--13 shrink0 cursor-pointer" |
| | | /> |
| | | <i @click.stop="clearDateTime('start')" class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="startDateTxt" /> |
| | | <img @click="handleClick(1)" src="../../assets/img/home/Shape@2x (6).png" |
| | | class="w--13 h--13 shrink0 cursor-pointer" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 结束时间 --> |
| | | <div |
| | | class="flex a-center j-between px--20 w--300 h--40 relative bgcolor1 picker" |
| | | > |
| | | <el-date-picker |
| | | v-model="endDateTime" |
| | | ref="datetime2" |
| | | type="datetime" |
| | | placeholder="" |
| | | > |
| | | <div class="flex a-center j-between px--20 w--300 h--40 relative bgcolor1 picker"> |
| | | <el-date-picker v-model="endDateTime" ref="datetime2" type="datetime" placeholder=""> |
| | | </el-date-picker> |
| | | <div |
| | | @click="handleClick(2)" |
| | | class="absolute h100 flex a-center c-fff fs--14 SHS pointer-events-none" |
| | | style="left: 20px; right: 60px; z-index: 1;" |
| | | v-if="endDateTxt" |
| | | > |
| | | <div @click="handleClick(2)" class="absolute h100 flex a-center c-fff fs--14 SHS pointer-events-none" |
| | | style="left: 20px; right: 60px; z-index: 1;" v-if="endDateTxt"> |
| | | {{ endDateTxt }} |
| | | </div> |
| | | <div |
| | | @click="handleClick(2)" |
| | | v-else |
| | | class="absolute h100 flex a-center c-fff fs--14 SHSR pointer-events-none" |
| | | style="left: 20px; right: 60px; z-index: 1;" |
| | | > |
| | | <div @click="handleClick(2)" v-else class="absolute h100 flex a-center c-fff fs--14 SHSR pointer-events-none" |
| | | style="left: 20px; right: 60px; z-index: 1;"> |
| | | 结束时间 |
| | | </div> |
| | | <div class="flex a-center gap--5" style="position: relative; z-index: 2;"> |
| | | <i |
| | | @click.stop="clearDateTime('end')" |
| | | class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="endDateTxt" |
| | | /> |
| | | <img |
| | | @click="handleClick(2)" |
| | | src="../../assets/img/home/Shape@2x (6).png" |
| | | class="w--13 h--13 shrink0 cursor-pointer" |
| | | /> |
| | | <i @click.stop="clearDateTime('end')" class="el-icon-circle-close c-fff cursor-pointer" |
| | | v-show="endDateTxt" /> |
| | | <img @click="handleClick(2)" src="../../assets/img/home/Shape@2x (6).png" |
| | | class="w--13 h--13 shrink0 cursor-pointer" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 搜索内容 --> |
| | | <div |
| | | class="flex a-center j-between w--300 pl--20 h--40 relative bgcolor1 searchBox" |
| | | > |
| | | <el-input |
| | | v-model="searchForm.content" |
| | | placeholder="请输入搜索内容" |
| | | class="flex1" |
| | | clearable |
| | | @keyup.enter.native="handleSearch" |
| | | > |
| | | <div class="flex a-center j-between w--300 pl--20 h--40 relative bgcolor1 searchBox"> |
| | | <el-input v-model="searchForm.content" placeholder="请输入搜索内容" class="flex1" clearable |
| | | @keyup.enter.native="handleSearch"> |
| | | </el-input> |
| | | <div class="btn SHSR" @click="handleSearch">搜索</div> |
| | | </div> |
| | | </div> |
| | | <!-- 表格 --> |
| | | <CustomTable |
| | | :key="activeTab" |
| | | :data="tableData" |
| | | height="800" |
| | | style="border: 2px solid #3d7fff" |
| | | v-loading="loading" |
| | | > |
| | | <el-table-column |
| | | v-if="!isProjectMode" |
| | | label="项目名称" |
| | | prop="projectName" |
| | | min-width="150" |
| | | /> |
| | | <el-table-column |
| | | label="检查计划" |
| | | prop="planName" |
| | | min-width="150" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="检查内容" |
| | | prop="hierarchyName" |
| | | min-width="150" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="问题描述" |
| | | prop="description" |
| | | min-width="200" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="问题部位" |
| | | prop="problemPart" |
| | | min-width="150" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="问题备注" |
| | | prop="remark" |
| | | min-width="150" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | label="隐患等级" |
| | | min-width="120" |
| | | > |
| | | <CustomTable :key="activeTab" :data="tableData" height="800" style="border: 2px solid #3d7fff" |
| | | v-loading="loading"> |
| | | <el-table-column v-if="!isProjectMode" label="项目名称" prop="projectName" min-width="150" /> |
| | | <el-table-column label="检查计划" prop="planName" min-width="150" show-overflow-tooltip /> |
| | | <el-table-column label="检查内容" prop="hierarchyName" min-width="150" show-overflow-tooltip /> |
| | | <el-table-column label="问题描述" prop="description" min-width="200" show-overflow-tooltip /> |
| | | <el-table-column label="问题部位" prop="problemPart" min-width="150" show-overflow-tooltip /> |
| | | <el-table-column label="问题备注" prop="remark" min-width="150" show-overflow-tooltip /> |
| | | <el-table-column label="隐患等级" min-width="120"> |
| | | <template #default="{ row }"> |
| | | <span>{{ getLevelText(row.level) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="activeTab == 1" |
| | | label="隐患类型" |
| | | min-width="120" |
| | | > |
| | | <el-table-column v-if="activeTab == 1" label="隐患类型" min-width="120"> |
| | | <template #default="{ row }"> |
| | | <span>{{ row.type === 1 ? '安全隐患' : row.type === 2 ? '设备隐患' : '-' }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="图片" min-width="100"> |
| | | <template #default="{ row }"> |
| | | <div |
| | | class="btnColor cursor-pointer" |
| | | <div class="btnColor cursor-pointer" |
| | | :class="!row.userFiles || row.userFiles.length === 0 ? 'disableColor' : ''" |
| | | @click="handlePreviewImages(row.userFiles)" |
| | | > |
| | | @click="handlePreviewImages(row.userFiles)"> |
| | | {{ row.fileNum || 0 }}张 |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="检查时间" |
| | | prop="createTime" |
| | | min-width="180" |
| | | /> |
| | | <el-table-column label="检查时间" prop="createTime" min-width="180" /> |
| | | <el-table-column label="整改状态" min-width="120"> |
| | | <template #default="{ row }"> |
| | | <div class="flex a-center j-center"> |
| | | <div class="ripple"> |
| | | <div |
| | | class="ripple-wave wave-1" |
| | | :class="{ bgColor33: row.reformed }" |
| | | ></div> |
| | | <div |
| | | class="ripple-wave wave-2" |
| | | :class="{ bgColor44: row.reformed }" |
| | | ></div> |
| | | <div |
| | | class="ripple-wave wave-3" |
| | | :class="{ bgColor55: row.reformed }" |
| | | ></div> |
| | | <div class="ripple-wave wave-1" :class="{ bgColor33: row.reformed }"></div> |
| | | <div class="ripple-wave wave-2" :class="{ bgColor44: row.reformed }"></div> |
| | | <div class="ripple-wave wave-3" :class="{ bgColor55: row.reformed }"></div> |
| | | </div> |
| | | <div class="ml--6 SHSR">{{ getReformedText(row.reformed) }}</div> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="责任人" |
| | | prop="responsiblePerson" |
| | | min-width="120" |
| | | /> |
| | | <el-table-column label="责任人" prop="responsiblePerson" min-width="120" /> |
| | | <el-table-column label="操作" min-width="200" fixed="right"> |
| | | <template #default="{ row }"> |
| | | <el-button |
| | | @click="handleEditPeople(row)" |
| | | type="text" |
| | | class="btnColor" |
| | | > |
| | | <el-button @click="handleEditPeople(row)" type="text" class="btnColor"> |
| | | 编辑责任人 |
| | | </el-button> |
| | | <el-button |
| | | type="text" |
| | | class="btnColor" |
| | | @click="handleViewDetail(row)" |
| | | > |
| | | <el-button type="text" class="btnColor" @click="handleViewDetail(row)"> |
| | | 详情 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </CustomTable> |
| | | <CustomPagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page="pageNum" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="pageSize" |
| | | :total="total" |
| | | /> |
| | | <CustomPagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum" |
| | | :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="total" /> |
| | | </div> |
| | | <!-- 修改责任人 --> |
| | | <CustomDialog title="责任人" :visible.sync="updatePeople" width="600px"> |
| | | <div class="pt--37 px--45 pb--64"> |
| | | <input |
| | | v-model="peopleName" |
| | | placeholder="请输入" |
| | | class="w100 h--60 fs--14 SHSR py--23 px--21 bgcolor5 c-fff" |
| | | /> |
| | | <input v-model="peopleName" placeholder="请输入" class="w100 h--60 fs--14 SHSR py--23 px--21 bgcolor5 c-fff" /> |
| | | <div class="flex a-center j-center gap--30 mt--59 SHSR fs--16 c-fff"> |
| | | <div |
| | | @click="closeUpdatePeople" |
| | | class="w--150 lh--40 txt-center bgcolor2 br--4 cursor-pointer" |
| | | > |
| | | <div @click="closeUpdatePeople" class="w--150 lh--40 txt-center bgcolor2 br--4 cursor-pointer"> |
| | | 取消 |
| | | </div> |
| | | <div |
| | | @click="saveUpdatePeople" |
| | | class="w--150 lh--40 txt-center bgcolor3 br--4 cursor-pointer" |
| | | > |
| | | <div @click="saveUpdatePeople" class="w--150 lh--40 txt-center bgcolor3 br--4 cursor-pointer"> |
| | | 保存 |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </CustomDialog> |
| | | <!-- 隐患详情 --> |
| | | <CustomDialog |
| | | :title="detailData ? detailData.projectName || '隐患详情' : '隐患详情'" |
| | | :visible.sync="detailVisible" |
| | | width="1420px" |
| | | > |
| | | <CustomDialog :title="detailData ? detailData.projectName || '隐患详情' : '隐患详情'" :visible.sync="detailVisible" |
| | | width="1420px"> |
| | | <el-tabs v-model="activeName" type="card" @tab-click="handleClickTab"> |
| | | <el-tab-pane label="基本信息" name="first"> |
| | | <div class="oa" style="height: 700px"> |
| | |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane |
| | | :label="getReviewRecordsLabel()" |
| | | name="second" |
| | | > |
| | | <el-tab-pane :label="getReviewRecordsLabel()" name="second"> |
| | | <div class="oa" style="height: 700px"> |
| | | <div v-if="!detailData || !detailData.errorReview" class="txt-center c-fff fs--16 mt--50"> |
| | | 暂无复查记录 |
| | |
| | | <div class="flex j-between gap--30 mt--30"> |
| | | <div class="flex1"> |
| | | <div class="SHSR fs--16 lh--16 mb--17 color1">复查图片:</div> |
| | | <div |
| | | class="lh--60 px--19 btnColor SHSBold fs--18 w100 cursor-pointer" |
| | | <div class="lh--60 px--19 btnColor SHSBold fs--18 w100 cursor-pointer" |
| | | :class="!detailData.errorReview.img || detailData.errorReview.img.length === 0 ? 'disableColor' : ''" |
| | | @click="handlePreviewReviewImages(detailData.errorReview.img)" |
| | | > |
| | | @click="handlePreviewReviewImages(detailData.errorReview.img)"> |
| | | {{ detailData.errorReview.img && detailData.errorReview.img.length || 0 }}张 |
| | | </div> |
| | | </div> |
| | |
| | | </el-tabs> |
| | | </CustomDialog> |
| | | <!-- 图片预览 --> |
| | | <CustomPreview |
| | | :show="previewVisible" |
| | | :imgArr="previewImages" |
| | | @close="previewVisible = false" |
| | | /> |
| | | <CustomPreview :show="previewVisible" :imgArr="previewImages" @close="previewVisible = false" /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | // 加载表格数据 |
| | | this.loadTableData(); |
| | | }, |
| | | mounted() {}, |
| | | mounted() { }, |
| | | methods: { |
| | | // 从 localStorage 加载配置 |
| | | loadConfigFromLocalStorage() { |
| | |
| | | // 项目端:传递 type |
| | | params.type = this.currentType; |
| | | } else { |
| | | params.clientId = localStorage.getItem('clientId'); |
| | | // 委托方:只在重大隐患 Tab 且用户选择了类型时传递 type |
| | | if (this.activeTab === 1 && this.searchForm.type) { |
| | | params.type = this.searchForm.type; |
| | |
| | | position: absolute; |
| | | top: -2px; |
| | | right: -2px; |
| | | background: linear-gradient( |
| | | 90deg, |
| | | #3467d0 0%, |
| | | #0d226a 50.35%, |
| | | #376fe0 100% |
| | | ); |
| | | background: linear-gradient(90deg, |
| | | #3467d0 0%, |
| | | #0d226a 50.35%, |
| | | #376fe0 100%); |
| | | height: 38px; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | .el-tabs__header { |
| | | border-bottom: none; |
| | | margin: 0; |
| | | |
| | | .el-tabs__nav { |
| | | border: none; |
| | | |
| | |
| | | transform: translate(-50%, -50%) scale(0.7); |
| | | opacity: 0; |
| | | } |
| | | |
| | | 20% { |
| | | opacity: 1; |
| | | opacity: 1; |
| | | } |
| | | |
| | | 100% { |
| | | -webkit-transform: translate(-50%, -50%) scale(1.4); |
| | | opacity: 0; |