Merge branch 'cjw-dev' of http://139.9.66.234:18023/yjlHub/zhgdlarge into bjxz-rain
This commit is contained in:
commit
c5fc8746bc
@ -63,6 +63,20 @@ export const getSpecialSideStationApi = (params: {}) => {
|
||||
export const getSafeEducationDataApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzWorkerInfoAuditRecord/selectWorkerInfoAuditList`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
export const getEduPlanDataApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/exam/train/page`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
//培训详情
|
||||
//(未)学习记录
|
||||
export const getStudyDataApi = (params: {}) => {
|
||||
// return http.post(BASEURL + `/exam/courseRecord/page`, params, { headers: { noLoading: true } });
|
||||
return http.post(BASEURL + `/exam/courseRecord/list`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
//(未)考试记录
|
||||
export const getExamDataApi = (params: {}) => {
|
||||
// return http.post(BASEURL + `/exam/trainRecord/examRecordPage`, params, { headers: { noLoading: true } });
|
||||
return http.post(BASEURL + `/exam/trainRecord/list`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
|
||||
// 天气弹窗
|
||||
// 顶部数据
|
||||
@ -152,8 +166,8 @@ export const queryAttendanceOfEachCompanyApi = (params: {}, showLoading: boolean
|
||||
};
|
||||
// 进度情况分析
|
||||
// 项目总进度/项目剩余天数
|
||||
export const getCountTaskProgressApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgress/countTaskProgress`, params, { headers: { noLoading: showLoading } });
|
||||
export const getCountTaskProgressApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgress/countTaskProgress`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
// 总包进度列表
|
||||
export const queryCountEnterpriseApi = (params: {}, showLoading: boolean) => {
|
||||
@ -204,3 +218,17 @@ export const getRiskTrendByProjectApi = (params: {}, showLoading: boolean) => {
|
||||
export const getRiskTrendByMainEnterpriseApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzRiskPrediction/riskTrendByMainEnterprise`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
// 甘特图接口开始位置
|
||||
export const getQualityRegionListApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/qualityRegion/list`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
export const selectHierarchyEnterpriseListApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/enterpriseInfo/selectHierarchyEnterpriseList`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
export const getXzParentChildTaskListApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgress/getParentChildList`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
|
||||
|
||||
// 甘特图接口结束位置
|
||||
|
||||
BIN
src/assets/images/notoDataImg.png
Normal file
BIN
src/assets/images/notoDataImg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
@ -86,10 +86,10 @@
|
||||
<div class="classify-div-item" style="width: 250px" @click="openDialogData({ index: 1, title: '' })">
|
||||
<span style="font-size: 12px">危险特殊作业 {{ statsDirectorateBigScreen.dangerousEngineeringRecordNum }}</span>
|
||||
</div>
|
||||
<div class="classify-div-item" style="width: 210px" @click="openDialogData({ index: 2, title: '安全教育' })">
|
||||
<div class="classify-div-item" style="width: 210px" @click="openDialogData({ index: 2, title: '' })">
|
||||
<span style="font-size: 12px">安全教育 {{ statsDirectorateBigScreen.workerInfoAuditRecordNum }}</span>
|
||||
</div>
|
||||
<div class="classify-div-item" style="width: 300px" @click="openDialogData({ index: 3, title: '影响进度计划因素' })">
|
||||
<div class="classify-div-item" style="width: 300px" @click="openDialogData({ index: 3, title: '' })">
|
||||
<span style="font-size: 12px">影响进度计划因素 {{ statsDirectorateBigScreen.taskProgressContentNum }}</span>
|
||||
</div>
|
||||
<div class="classify-div-item" @click="openDialogData({ index: 4, title: '风险统计' })">
|
||||
@ -104,7 +104,7 @@
|
||||
</div>
|
||||
<div class="classify-div-item" @click="openDialogData({ index: 99, title: '质量管理' })">
|
||||
<span style="font-size: 12px"
|
||||
>质量管理 {{ statsDirectorateBigScreen.securityQualityInspectionRecordNum }}</span
|
||||
>质量管理 {{ statsDirectorateBigScreen.qualityInspectionRecordNum }}</span
|
||||
>
|
||||
</div>
|
||||
<div class="classify-div-item" @click="openDialogData({ index: 6, title: 'AI警报' })">
|
||||
@ -917,6 +917,7 @@ onMounted(async () => {
|
||||
// padding: 0 5px;
|
||||
|
||||
span {
|
||||
cursor: pointer;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,50 +1,15 @@
|
||||
<template>
|
||||
<div class="political-outlook">
|
||||
<div class="content">
|
||||
<!-- <div class="top-statistics">
|
||||
<div class="statistics-item">
|
||||
<span class="title">三级入场教育</span>
|
||||
<span class="statistics-item-content">总数:1</span>
|
||||
<span class="statistics-item-content">完成率:1</span>
|
||||
<span class="statistics-item-content">已完成:1</span>
|
||||
<span class="statistics-item-content">100%</span>
|
||||
<div class="tabBox">
|
||||
<div :class="{'danger':true,active: currentTab == 'safeEdu' ? true : false}">
|
||||
<span @click="handleChangeTab('safeEdu')">入场前安全教育</span>
|
||||
</div>
|
||||
<div class="statistics-item">
|
||||
<span class="title">特种作业人员安全教育</span>
|
||||
<span class="statistics-item-content">总数:1</span>
|
||||
<span class="statistics-item-content">完成率:1</span>
|
||||
<span class="statistics-item-content">已完成:1</span>
|
||||
<span class="statistics-item-content">100%</span>
|
||||
<div :class="{'danger':true,active: currentTab == 'eduPlan' ? true : false}">
|
||||
<span @click="handleChangeTab('eduPlan')">入场后培训计划</span>
|
||||
</div>
|
||||
<div class="statistics-item">
|
||||
<span class="title">日常安全教育</span>
|
||||
<span class="statistics-item-content">总数:1</span>
|
||||
<span class="statistics-item-content">完成率:1</span>
|
||||
<span class="statistics-item-content">已完成:1</span>
|
||||
<span class="statistics-item-content">100%</span>
|
||||
</div>
|
||||
<div class="statistics-item">
|
||||
<span class="title">安全技术交底</span>
|
||||
<span class="statistics-item-content">总数:1</span>
|
||||
<span class="statistics-item-content">完成率:1</span>
|
||||
<span class="statistics-item-content">已完成:1</span>
|
||||
<span class="statistics-item-content">100%</span>
|
||||
</div>
|
||||
<div class="statistics-item">
|
||||
<span class="title">施工技术交流</span>
|
||||
<span class="statistics-item-content">总数:1</span>
|
||||
<span class="statistics-item-content">完成率:1</span>
|
||||
<span class="statistics-item-content">已完成:1</span>
|
||||
<span class="statistics-item-content">100%</span>
|
||||
</div>
|
||||
<div class="statistics-item">
|
||||
<span class="title">VR安全教育</span>
|
||||
<span class="statistics-item-content">总数:1</span>
|
||||
<span class="statistics-item-content">完成率:1</span>
|
||||
<span class="statistics-item-content">已完成:1</span>
|
||||
<span class="statistics-item-content">100%</span>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div class="content" v-if="currentTab == 'safeEdu'">
|
||||
<div class="table-one">
|
||||
<div class="tabList">
|
||||
<div>序号</div>
|
||||
@ -105,13 +70,189 @@
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content" v-if="currentTab == 'eduPlan'">
|
||||
<div style="height:100%" v-if="!isDetail">
|
||||
<div class="searchLine">
|
||||
<span style="margin-right:5px">培训计划名称</span>
|
||||
<el-input v-model="eduPlanName" clearable size="small" style="width: 150px" @input="handleInput" placeholder="请输入培训计划名称" />
|
||||
</div>
|
||||
<div class="table-one">
|
||||
<div class="tabList">
|
||||
<div>序号</div>
|
||||
<div>培训计划名称</div>
|
||||
<div>科目名称</div>
|
||||
<div style="width:180px">教育主题</div>
|
||||
<div style="width:350px">培训有效时限</div>
|
||||
<div>教育人员</div>
|
||||
<div>创建人</div>
|
||||
<div>培训完成率</div>
|
||||
<div>培训通过率</div>
|
||||
<div>操作</div>
|
||||
</div>
|
||||
<el-scrollbar class="listBox" ref="refScrollbar">
|
||||
<div v-for="(item, index) in partyMemberList" class="listStyle" :key="item.id">
|
||||
<div>{{ index + 1 }}</div>
|
||||
<div>
|
||||
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="item.name" placement="top-start">
|
||||
<span>{{ item.name || '--' }}</span>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div>{{ item.subjectName || '--' }}</div>
|
||||
<div style="width:180px">
|
||||
<el-tooltip class="box-item" style="text-align:center" effect="dark" :content="item.title" placement="top-start">
|
||||
<span>{{ item.title || '--' }}</span>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
<div style="width:350px">{{ item.trainBeginTime || '--'}} - {{item.trainEndTime || '--' }}</div>
|
||||
<div>{{ item.workerNum || '--' }}</div>
|
||||
<div>{{ item.createByName || '--' }}</div>
|
||||
<div>{{ item.completeRadio ? item.completeRadio + '%' : '--' }}</div>
|
||||
<div>{{ item.passRadio ? item.passRadio + '%' : '--' }}</div>
|
||||
<div style="color:#5382f6;cursor:pointer;" @click="handleOpenDetail(item)">查看培训详情</div>
|
||||
</div>
|
||||
<div class="notoDta" v-if="partyMemberList.length == 0">
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
<p>暂无数据</p>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="height:100%;" v-else>
|
||||
<div class="searchLine" style="font-size:14px;left:91.6%;top:18%;z-index:99;cursor:pointer" @click="handleCloseDetail">{{'<<'}}返回</div>
|
||||
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleDetailTab">
|
||||
<el-tab-pane :label="'学习记录'" name="first">
|
||||
<div class="table-one" style="transform:translateY(-20px)">
|
||||
<div class="tabList" style="justify-content:space-around">
|
||||
<div>序号</div>
|
||||
<div>姓名</div>
|
||||
<div>课程名称</div>
|
||||
<div>身份证号</div>
|
||||
<div>培训计划名称</div>
|
||||
<div>开始学习时间</div>
|
||||
<div>结束学习时间</div>
|
||||
</div>
|
||||
<el-scrollbar class="listBox" ref="refScrollbar" style="height:420px">
|
||||
<div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around">
|
||||
<div>{{ index + 1 }}</div>
|
||||
<div>{{ item.workerName || '--' }}</div>
|
||||
<div>{{ item.courseName || '--' }}</div>
|
||||
<div>{{ item.workerCard || '--' }}</div>
|
||||
<div>{{ eduPlanItem.name || '--' }}</div>
|
||||
<div>{{ item.beginTime || '--' }}</div>
|
||||
<div>{{ item.endTime || '--' }}</div>
|
||||
</div>
|
||||
<div class="notoDta" v-if="studyExamRecord.length == 0">
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
<p>暂无数据</p>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :label="'考试记录'" name="second">
|
||||
<div class="table-one" style="transform:translateY(-20px)">
|
||||
<div class="tabList" style="justify-content:space-around">
|
||||
<div>序号</div>
|
||||
<div>姓名</div>
|
||||
<div>科目名称</div>
|
||||
<div>考试名称</div>
|
||||
<div>培训计划名称</div>
|
||||
<div>身份证号</div>
|
||||
<div>开始考试时间</div>
|
||||
<div>作答时长</div>
|
||||
<div>考试结果</div>
|
||||
<div>考试总分</div>
|
||||
<div>考得分</div>
|
||||
<div>剩余重考次数</div>
|
||||
</div>
|
||||
<el-scrollbar class="listBox" ref="refScrollbar" style="height:420px">
|
||||
<div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around">
|
||||
<div>{{ index + 1 }}</div>
|
||||
<div>{{ item.workerName || '--' }}</div>
|
||||
<div>{{ item.subjectName || '--' }}</div>
|
||||
<div>{{ item.examPaperName || '--' }}</div>
|
||||
<div>{{ eduPlanItem.name || '--' }}</div>
|
||||
<div>{{ item.workerCard || '--' }}</div>
|
||||
<div>{{ item.startExamTime || '--' }}</div>
|
||||
<div>{{ item.duration || '--' }}</div>
|
||||
<div>{{ item.isPass || '--' }}</div>
|
||||
<div>{{ item.totalScore || '--' }}</div>
|
||||
<div>{{ item.score || '--' }}</div>
|
||||
<div>{{ item.examCount || '--' }}</div>
|
||||
</div>
|
||||
<div class="notoDta" v-if="studyExamRecord.length == 0">
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
<p>暂无数据</p>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :label="'未学习记录'" name="third">
|
||||
<div class="table-one" style="transform:translateY(-20px);">
|
||||
<div class="tabList" style="justify-content:space-around">
|
||||
<div>序号</div>
|
||||
<div>姓名</div>
|
||||
<div>身份证号</div>
|
||||
<div>培训计划名称</div>
|
||||
<div>科目类型</div>
|
||||
<div>课程名称</div>
|
||||
</div>
|
||||
<el-scrollbar class="listBox" ref="refScrollbar" style="height:420px">
|
||||
<div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around">
|
||||
<div>{{ index + 1 }}</div>
|
||||
<div>{{ item.workerName || '--' }}</div>
|
||||
<div>{{ item.workerCard || '--' }}</div>
|
||||
<div>{{ eduPlanItem.name || '--' }}</div>
|
||||
<div>{{ eduPlanItem.subjectName || '--' }}</div>
|
||||
<div>{{ eduPlanItem.courseName || '--' }}</div>
|
||||
</div>
|
||||
<div class="notoDta" v-if="studyExamRecord.length == 0">
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
<p>暂无数据</p>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :label="'未考试记录'" name="four">
|
||||
<div class="table-one" style="transform:translateY(-20px)">
|
||||
<div class="tabList" style="justify-content:space-around">
|
||||
<div>序号</div>
|
||||
<div>姓名</div>
|
||||
<div>身份证号</div>
|
||||
<div>培训计划名称</div>
|
||||
<div>科目类型</div>
|
||||
<div>考试名称</div>
|
||||
</div>
|
||||
<el-scrollbar class="listBox" ref="refScrollbar" style="height:420px;">
|
||||
<div v-for="(item, index) in studyExamRecord" class="listStyle" :key="item" style="justify-content:space-around">
|
||||
<div>{{ index + 1 }}</div>
|
||||
<div>{{ item.workerName || '--' }}</div>
|
||||
<div>{{ item.workerCard || '--' }}</div>
|
||||
<div>{{ eduPlanItem.name || '--' }}</div>
|
||||
<div>{{ eduPlanItem.subjectName || '--' }}</div>
|
||||
<div>{{ eduPlanItem.paperName || '--' }}</div>
|
||||
</div>
|
||||
<div class="notoDta" v-if="studyExamRecord.length == 0">
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
<p>暂无数据</p>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, onMounted } from "vue";
|
||||
import { GlobalStore } from "@/stores";
|
||||
import { getSafeEducationDataApi } from "@/api/modules/agjtCommandApi";
|
||||
import type { TabsPaneContext } from 'element-plus'
|
||||
import { getSafeEducationDataApi,getEduPlanDataApi,
|
||||
getStudyDataApi,getExamDataApi
|
||||
} from "@/api/modules/agjtCommandApi";
|
||||
const store = GlobalStore();
|
||||
const props = defineProps(["tip"]);
|
||||
const BASEURL = import.meta.env.VITE_API_URL;
|
||||
@ -119,6 +260,82 @@ let pageNo = ref(1 as any);
|
||||
let moreScroll = ref(true as any);
|
||||
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
|
||||
|
||||
//tab控制属性
|
||||
const currentTab = ref('safeEdu' as any)
|
||||
function handleChangeTab(val: any){
|
||||
//教育培训相关属性
|
||||
isDetail.value = false
|
||||
activeIndex.value = 0
|
||||
//切换安全教育和教育培训相关属性
|
||||
currentTab.value = val
|
||||
partyMemberList.value = []
|
||||
pageNo.value = 1
|
||||
getMemberCountList('search')
|
||||
}
|
||||
|
||||
//进入详情页面
|
||||
const eduPlanItem = ref('' as any)
|
||||
const isDetail = ref(false as any)
|
||||
//详情tab
|
||||
const activeIndex = ref(0 as any)
|
||||
const activeName = ref('first' as any)
|
||||
const studyExamRecord = ref('' as any)
|
||||
//进入详情页面
|
||||
const handleOpenDetail = async(item: any) => {
|
||||
isDetail.value = true
|
||||
eduPlanItem.value = item
|
||||
getStudyExamData()
|
||||
}
|
||||
const handleCloseDetail = async() => {
|
||||
activeIndex.value = 0
|
||||
isDetail.value = false
|
||||
}
|
||||
//详情tab
|
||||
const handleDetailTab = async (tab: TabsPaneContext, event: Event) => {
|
||||
if(tab.index == activeIndex.value) return;
|
||||
activeIndex.value = tab.index
|
||||
getStudyExamData()
|
||||
}
|
||||
const getStudyExamData = async() => {
|
||||
let data:any = {
|
||||
projectSn: store.sn,
|
||||
trainId: eduPlanItem.value.id
|
||||
}
|
||||
if(activeIndex.value == 0){
|
||||
data.number = 1;
|
||||
await getStudyDataApi(data).then((res:any) => {
|
||||
if(res.success){
|
||||
studyExamRecord.value = res.result
|
||||
}
|
||||
})
|
||||
}
|
||||
if(activeIndex.value == 1){
|
||||
data.examNum = 1;
|
||||
await getExamDataApi(data).then((res:any) => {
|
||||
if(res.success){
|
||||
studyExamRecord.value = res.result
|
||||
}
|
||||
})
|
||||
}
|
||||
if(activeIndex.value == 2){
|
||||
data.number = 0;
|
||||
await getStudyDataApi(data).then((res:any) => {
|
||||
if(res.success){
|
||||
studyExamRecord.value = res.result
|
||||
}
|
||||
})
|
||||
}
|
||||
if(activeIndex.value == 3){
|
||||
data.examNum = 0;
|
||||
await getExamDataApi(data).then((res:any) => {
|
||||
if(res.success){
|
||||
studyExamRecord.value = res.result
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
const eduPlanName = ref(''as any)
|
||||
const partyMemberList = ref({} as any);
|
||||
//获取数据
|
||||
const getMemberCountList = async (tip: any) => {
|
||||
@ -134,7 +351,14 @@ const getMemberCountList = async (tip: any) => {
|
||||
} else {
|
||||
requestData.inserviceType = 1;
|
||||
}
|
||||
const res: any = await getSafeEducationDataApi(requestData);
|
||||
// const res: any = await getSafeEducationDataApi(requestData);
|
||||
let res: any = null
|
||||
if(currentTab.value == 'safeEdu') {
|
||||
res = await getSafeEducationDataApi(requestData);
|
||||
}else{
|
||||
requestData.name = eduPlanName.value
|
||||
res = await getEduPlanDataApi(requestData)
|
||||
}
|
||||
if (tip == "more") {
|
||||
partyMemberList.value = partyMemberList.value.concat(res.result.records);
|
||||
} else {
|
||||
@ -150,6 +374,12 @@ const getMemberCountList = async (tip: any) => {
|
||||
pageNo.value = pageNo.value + 1;
|
||||
}
|
||||
};
|
||||
//培训计划搜索
|
||||
const handleInput = async () => {
|
||||
partyMemberList.value = []
|
||||
pageNo.value = 1
|
||||
getMemberCountList('search')
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
await getMemberCountList("search");
|
||||
@ -175,6 +405,40 @@ onMounted(async () => {
|
||||
.political-outlook {
|
||||
height: 97%;
|
||||
margin: 0 60px;
|
||||
.tabBox{
|
||||
position: absolute;
|
||||
top: 6%;
|
||||
left: 3.5%;
|
||||
width:360px;
|
||||
height:50px;
|
||||
// background-color: #fff;
|
||||
color: gray;
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
font-style: italic;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
.danger{
|
||||
width:50%;
|
||||
height:100%;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.special{
|
||||
width:50%;
|
||||
height:100%;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
.active{
|
||||
color:#fff
|
||||
}
|
||||
}
|
||||
.content {
|
||||
height: 95%;
|
||||
width: 100%;
|
||||
@ -182,6 +446,12 @@ onMounted(async () => {
|
||||
// background: url("@/assets/images/cardImg.png") no-repeat;
|
||||
background-size: 100% 100%;
|
||||
padding: 20px 15px;
|
||||
.searchLine{
|
||||
color:#fff;
|
||||
position: absolute;
|
||||
top:15.65%;
|
||||
left:5%;
|
||||
}
|
||||
.top-statistics {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
@ -258,6 +528,7 @@ onMounted(async () => {
|
||||
div {
|
||||
text-align: center;
|
||||
width: 10%;
|
||||
padding: 0 5px;
|
||||
}
|
||||
}
|
||||
.listBox {
|
||||
@ -286,6 +557,7 @@ onMounted(async () => {
|
||||
white-space: nowrap; //单行
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 0 5px;
|
||||
}
|
||||
}
|
||||
.listStyle:hover {
|
||||
|
||||
2184
src/views/commandScreen/dialogCompnnents/weather-info copy.vue
Normal file
2184
src/views/commandScreen/dialogCompnnents/weather-info copy.vue
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user