From e3447ba528bbcde3c13ca20ec2d83dae993a74f8 Mon Sep 17 00:00:00 2001 From: Mr.Zhang <710666463@qq.com> Date: 星期三, 23 八月 2023 10:17:22 +0800 Subject: [PATCH] 删除包 --- screen_standard/src/views/index.vue | 2892 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 1,497 insertions(+), 1,395 deletions(-) diff --git a/screen_standard/src/views/index.vue b/screen_standard/src/views/index.vue index 20954e7..ebfbe10 100644 --- a/screen_standard/src/views/index.vue +++ b/screen_standard/src/views/index.vue @@ -1,1424 +1,1526 @@ <template> - <div class="content1"> - <div class="content_left"> - <!-- 褰撴棩鍛樺伐浜ч噺TOP10 --> - <div class="content_left_item1"> - <div class="content_left_item1_head"> - <span>褰撴棩鍛樺伐浜ч噺TOP10</span> - </div> - <div class="content_left_item1_content"> - <div class="content_left_item1_content_row" v-for="(item, index) in data.production" :key="index"> - <div class="content_left_item1_content_row_name"> - <div :class="index > 2 ? 'num bg1' : 'num bg2'">{{ index + 1 }}</div> - <span>{{item.userName}}</span> - </div> - <div class="content_left_item1_content_row_line"> - <el-progress - :show-text="false" - :percentage="item.doneNum / baseNum"> - </el-progress> - </div> - <div class="content_left_item1_content_row_num">{{ item.doneNum }}</div> - </div> - </div> - </div> - <!-- 浠撳簱瀹炴椂浣欓噺缁熻 --> - <div class="content_left_item2"> - <div class="content_left_item2_head"> - <span>浠撳簱瀹炴椂浣欓噺缁熻</span> - </div> - <div class="content_left_item2_content"> - <div class="item2_content_head"> - <div class="item2_content_head_item">鐗╂枡鍚嶇О / 宸ュ簭</div> - <div class="item2_content_head_item">浠撳簱</div> - <div class="item2_content_head_item">璐ф灦</div> - <div class="item2_content_head_item">鏁伴噺</div> - </div> - <div @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave" class="main_container"> - <div ref="scrollContainer" class="scroll_container"> - <div v-for="(item, index) in data.marginStatistics" :key="index" :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> - <div class="scroll_item_row">{{ item.materialName }} / {{ item.procedureName }}</div> - <div class="scroll_item_row">{{ item.warehouseName }}</div> - <div class="scroll_item_row">{{ item.location }}</div> - <div class="scroll_item_row">{{ item.num }}{{ item.unitName }}</div> - </div> - </div> - </div> - </div> - </div> + <div class="content1"> + <div class="content_left"> + <!-- 褰撴棩鍛樺伐浜ч噺TOP10 --> + <div class="content_left_item1"> + <div class="content_left_item1_head"> + <span>褰撴棩鍛樺伐浜ч噺TOP10</span> </div> - <div class="content_center"> - <!-- 鎴愬搧璁″垝杩涘害/宸ュ簭杩涘害 --> - <div class="content_center_top"> - <div class="content_center_top_list"> - <div @click="clickCate(index)" :class="item.active ? 'content_center_top_list_item bg4' : 'content_center_top_list_item bg3'" v-for="(item, index) in cate" :key="index"> - {{ item.name }} - </div> - </div> - <div class="content_center_top_form" v-if="cate[0].active"> - <div class="content_center_top_form_head"> - <div class="content_center_top_form_head_item">璁″垝缂栫爜</div> - <div class="content_center_top_form_head_item">鐗╂枡鍚嶇О</div> - <div class="content_center_top_form_head_item">鐗╂枡缂栫爜</div> - <div class="content_center_top_form_head_item">璁″垝鏁伴噺</div> - <div class="content_center_top_form_head_item">鍚勫伐搴忓畬鎴愭儏鍐�</div> - <div class="content_center_top_form_head_item">鑹搧鏁�/瀹屽伐鏁�</div> - </div> - <div @mouseenter="handleMouseEnter1" @mouseleave="handleMouseLeave1" class="main_container"> - <div ref="scrollContainer1" class="scroll_container"> - <div v-for="(item, index) in data.plannedProgress" :key="index" :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> - <div class="scroll_item_row">{{ item.code }}</div> - <div class="scroll_item_row">{{ item.materialName }}</div> - <div class="scroll_item_row">{{ item.materialCode }}</div> - <div class="scroll_item_row">{{ item.num }}</div> - <div class="scroll_item_row"> - <el-tooltip - v-for="(child, i) in item.procedureList" :key="i" - effect="dark" - :content="'宸叉姤宸ヨ壇鍝佹暟' + child.doneNum + '锛涘伐搴忚鍒掓暟' + child.planNum" - placement="top"> - <div class="scroll_item_row_item" @click="jump(child.procedureId, child.procedureName)"> - <div class="scroll_item_row_item_x"></div> - <!-- <img v-if="i == 0 || i == 1" src="@/assets/img/ic_complete@2x.png" alt="" /> --> - <span v-if="child.rate < 100">{{ child.rate }}%</span> - <img v-else src="@/assets/img/ic_complete@2x.png" alt="" /> - <span class="scroll_item_row_item_wz">{{ child.procedureName }}</span> - </div> - </el-tooltip> - </div> - <div class="scroll_item_row">{{ item.qualifiedNum }}/{{ item.doneNum }}</div> - </div> - </div> - </div> - </div> - <div class="content_center_top_form1" v-if="cate[1].active"> - <div class="content_center_top_form_head"> - <div class="content_center_top_form_head_item">宸ュ簭鍚嶇О</div> - <div class="content_center_top_form_head_item">璁″垝涓暟</div> - <div class="content_center_top_form_head_item">璁″垝鏁伴噺</div> - <div class="content_center_top_form_head_item">鑹搧鏁�</div> - <div class="content_center_top_form_head_item">涓嶈壇鍝佹暟</div> - <div class="content_center_top_form_head_item">鏈畬宸ユ暟閲�</div> - <div class="content_center_top_form_head_item">涓嶈壇鐜�</div> - </div> - <div @mouseenter="handleMouseEnter2" @mouseleave="handleMouseLeave2" class="main_container"> - <div ref="scrollContainer2" class="scroll_container"> - <div v-for="(item, index) in data.processProgress" :key="index" :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> - <div class="scroll_item_row">{{ item.procedureName }}</div> - <div class="scroll_item_row">{{ item.planCount }}</div> - <div class="scroll_item_row">{{ item.num }}</div> - <div class="scroll_item_row">{{ item.qualifiedNum }}</div> - <div class="scroll_item_row">{{ item.unqualifiedNum }}</div> - <div class="scroll_item_row">{{ item.undoneNum }}</div> - <div class="scroll_item_row">{{ item.unqualifiedRate }}%</div> - </div> - </div> - </div> - </div> + <div class="content_left_item1_content"> + <div class="content_left_item1_content_row" v-for="(item, index) in data.production" :key="index"> + <div class="content_left_item1_content_row_name"> + <div :class="index > 2 ? 'num bg1' : 'num bg2'">{{ index + 1 }}</div> + <span>{{ item.userName }}</span> </div> - <!-- 鎶ュ伐鏃ュ織 --> - <div class="content_center_bottom"> - <div class="content_center_bottom_head"> - <span>鎶ュ伐鏃ュ織</span> - </div> - <div class="content_center_bottom_b"> - <div class="content_center_top_form_head"> - <div class="content_center_top_form_head_item">鍛樺伐鍚嶇О</div> - <div class="content_center_top_form_head_item">鐗╂枡鍚嶇О</div> - <div class="content_center_top_form_head_item">鐗╂枡缂栫爜</div> - <div class="content_center_top_form_head_item">鎶ュ伐鏃堕棿</div> - <div class="content_center_top_form_head_item">鑹搧鏁�</div> - <div class="content_center_top_form_head_item">涓嶈壇鍝佹暟</div> - <div class="content_center_top_form_head_item">涓嶈壇鐜�</div> - </div> - <div @mouseenter="handleMouseEnter3" @mouseleave="handleMouseLeave3" class="main_container"> - <div ref="scrollContainer3" class="scroll_container"> - <div v-for="(item, index) in data.log" :key="index" :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> - <div class="scroll_item_row">{{ item.userName }}</div> - <div class="scroll_item_row">{{ item.materialName }}</div> - <div class="scroll_item_row">{{ item.materialCode }}</div> - <div class="scroll_item_row">{{ item.createTime }}</div> - <div class="scroll_item_row">{{ item.qualifiedNum ? item.qualifiedNum : '-' }}</div> - <div class="scroll_item_row">{{ item.unqualifiedNum }}</div> - <div class="scroll_item_row">{{ item.unqualifiedRate ? item.unqualifiedRate : '0' }}%</div> - </div> - </div> - </div> - </div> + <div class="content_left_item1_content_row_line"> + <el-progress :show-text="false" :percentage="item.doneNum / baseNum * 100"> + </el-progress> </div> + <div class="content_left_item1_content_row_num">{{ item.doneNum }}</div> + </div> </div> - <div class="content_right"> - <!-- 杩�7澶╀笉鑹搧鍒嗗竷 --> - <div class="content_right_top"> - <div class="content_right_top_head"> - <span>杩�7澶╀笉鑹搧鍒嗗竷</span> - </div> - <div class="content_right_top_nr"> - <div class="content_right_top_nr_bottom_yuan" v-if="data.typeDistribution.length > 0"> - <span>{{ data.num }}</span> - <span>涓嶈壇椤瑰垎甯�</span> - </div> - <div class="content_right_top_nr_top" id="lineChrat"></div> - <div class="content_right_top_nr_bottom" id="pieChart"></div> - </div> - </div> - <!-- 璁惧宸℃璁板綍 --> - <div class="content_right_bottom"> - <div class="content_right_bottom_head"> - <span>璁惧宸℃璁板綍</span> - </div> - <div class="content_right_bottom_nr"> - <div class="item2_content_head"> - <div class="item2_content_head_item">宸℃鏃堕棿</div> - <div class="item2_content_head_item">宸℃璁惧</div> - <div class="item2_content_head_item">宸℃缁撴灉</div> - <div class="item2_content_head_item">宸℃浜哄憳</div> - </div> - <div @mouseenter="handleMouseEnter4" @mouseleave="handleMouseLeave4" class="main_container"> - <div ref="scrollContainer4" class="scroll_container"> - <div v-for="(item, index) in data.patrolInspection" :key="index" :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> - <div class="scroll_item_row">{{ item.checkdate }}</div> - <div class="scroll_item_row">{{ item.deviceName }}</div> - <div class="scroll_item_row">{{ item.status == 0 ? '鍚堟牸' : '涓嶅悎鏍�' }}</div> - <div class="scroll_item_row">{{ item.userName }}</div> - </div> - </div> - </div> - </div> - </div> + </div> + <!-- 浠撳簱瀹炴椂浣欓噺缁熻 --> + <div class="content_left_item2"> + <div class="content_left_item2_head"> + <span>浠撳簱瀹炴椂浣欓噺缁熻</span> </div> + <div class="content_left_item2_content"> + <div class="item2_content_head"> + <div class="item2_content_head_item">鐗╂枡鍚嶇О / 宸ュ簭</div> + <div class="item2_content_head_item">浠撳簱</div> + <div class="item2_content_head_item">璐ф灦</div> + <div class="item2_content_head_item">鏁伴噺</div> + </div> + <div @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave" class="main_container"> + <div ref="scrollContainer" class="scroll_container"> + <div v-for="(item, index) in data.marginStatistics" :key="index" + :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> + <div class="scroll_item_row">{{ item.materialName }} / {{ item.procedureName }}</div> + <div class="scroll_item_row">{{ item.warehouseName }}</div> + <div class="scroll_item_row">{{ item.location }}</div> + <div class="scroll_item_row">{{ item.num }}{{ item.unitName }}</div> + </div> + </div> + </div> + </div> + </div> </div> + <div class="content_center"> + <!-- 鎴愬搧璁″垝杩涘害/宸ュ簭杩涘害 --> + <div class="content_center_top"> + <div class="content_center_top_list"> + <div @click="clickCate(index)" + :class="item.active ? 'content_center_top_list_item bg4' : 'content_center_top_list_item bg3'" + v-for="(item, index) in cate" :key="index"> + {{ item.name }} + </div> + </div> + <div class="content_center_top_form" v-if="cate[0].active"> + <div class="content_center_top_form_head"> + <div class="content_center_top_form_head_item">璁″垝缂栫爜</div> + <div class="content_center_top_form_head_item">鐗╂枡鍚嶇О</div> + <div class="content_center_top_form_head_item">鐗╂枡缂栫爜</div> + <div class="content_center_top_form_head_item">璁″垝鏁伴噺</div> + <div class="content_center_top_form_head_item">鍚勫伐搴忓畬鎴愭儏鍐�</div> + <div class="content_center_top_form_head_item">鑹搧鏁�/瀹屽伐鏁�</div> + </div> + <div @mouseenter="handleMouseEnter1" @mouseleave="handleMouseLeave1" class="main_container"> + <div ref="scrollContainer1" class="scroll_container"> + <div v-for="(item, index) in data.plannedProgress" :key="index" + :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> + <div class="scroll_item_row">{{ item.code }}</div> + <div class="scroll_item_row">{{ item.materialName }}</div> + <div class="scroll_item_row">{{ item.materialCode }}</div> + <div class="scroll_item_row">{{ item.num }}</div> + <div class="scroll_item_row"> + <el-tooltip v-for="(child, i) in item.procedureList" :key="i" effect="dark" + :content="'宸叉姤宸ヨ壇鍝佹暟' + child.doneNum + '锛涘伐搴忚鍒掓暟' + child.planNum" placement="top"> + <div class="scroll_item_row_item" @click="jump(child.procedureId, child.procedureName)"> + <div class="scroll_item_row_item_x"></div> + <!-- <img v-if="i == 0 || i == 1" src="@/assets/img/ic_complete@2x.png" alt="" /> --> + <span v-if="child.rate < 100">{{ child.rate }}%</span> + <img v-else src="@/assets/img/ic_complete@2x.png" alt="" /> + <span class="scroll_item_row_item_wz">{{ child.procedureName }}</span> + </div> + </el-tooltip> + </div> + <div class="scroll_item_row">{{ item.qualifiedNum }}/{{ item.doneNum }}</div> + </div> + </div> + </div> + </div> + <div class="content_center_top_form1" v-if="cate[1].active"> + <div class="content_center_top_form_head"> + <div class="content_center_top_form_head_item">宸ュ簭鍚嶇О</div> + <div class="content_center_top_form_head_item">璁″垝涓暟</div> + <div class="content_center_top_form_head_item">璁″垝鏁伴噺</div> + <div class="content_center_top_form_head_item">鑹搧鏁�</div> + <div class="content_center_top_form_head_item">涓嶈壇鍝佹暟</div> + <div class="content_center_top_form_head_item">鏈畬宸ユ暟閲�</div> + <div class="content_center_top_form_head_item">涓嶈壇鐜�</div> + </div> + <div @mouseenter="handleMouseEnter2" @mouseleave="handleMouseLeave2" class="main_container"> + <div ref="scrollContainer2" class="scroll_container"> + <div v-for="(item, index) in data.processProgress" :key="index" + :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> + <div class="scroll_item_row">{{ item.procedureName }}</div> + <div class="scroll_item_row">{{ item.planCount }}</div> + <div class="scroll_item_row">{{ item.num }}</div> + <div class="scroll_item_row">{{ item.qualifiedNum }}</div> + <div class="scroll_item_row">{{ item.unqualifiedNum }}</div> + <div class="scroll_item_row">{{ item.undoneNum }}</div> + <div class="scroll_item_row">{{ item.unqualifiedRate }}%</div> + </div> + </div> + </div> + </div> + </div> + <!-- 鎶ュ伐鏃ュ織 --> + <div class="content_center_bottom"> + <div class="content_center_bottom_head"> + <span>鎶ュ伐鏃ュ織</span> + </div> + <div class="content_center_bottom_b"> + <div class="content_center_top_form_head"> + <div class="content_center_top_form_head_item">鍛樺伐鍚嶇О</div> + <div class="content_center_top_form_head_item">鐗╂枡鍚嶇О</div> + <div class="content_center_top_form_head_item">鐗╂枡缂栫爜</div> + <div class="content_center_top_form_head_item">鎶ュ伐鏃堕棿</div> + <div class="content_center_top_form_head_item">鑹搧鏁�</div> + <div class="content_center_top_form_head_item">涓嶈壇鍝佹暟</div> + <div class="content_center_top_form_head_item">涓嶈壇鐜�</div> + </div> + <div @mouseenter="handleMouseEnter3" @mouseleave="handleMouseLeave3" class="main_container"> + <div ref="scrollContainer3" class="scroll_container"> + <div v-for="(item, index) in data.log" :key="index" + :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> + <div class="scroll_item_row">{{ item.userName }}</div> + <div class="scroll_item_row">{{ item.materialName }}</div> + <div class="scroll_item_row">{{ item.materialCode }}</div> + <div class="scroll_item_row">{{ item.createTime }}</div> + <div class="scroll_item_row">{{ item.qualifiedNum ? item.qualifiedNum : '-' }}</div> + <div class="scroll_item_row">{{ item.unqualifiedNum }}</div> + <div class="scroll_item_row">{{ item.unqualifiedRate ? item.unqualifiedRate : '0' }}%</div> + </div> + </div> + </div> + </div> + </div> + </div> + <div class="content_right"> + <!-- 杩�7澶╀笉鑹搧鍒嗗竷 --> + <div class="content_right_top"> + <div class="content_right_top_head"> + <span>杩�7澶╀笉鑹搧鍒嗗竷</span> + </div> + <div class="content_right_top_nr"> + <div class="content_right_top_nr_bottom_yuan" v-if="data.typeDistribution.length > 0"> + <span>{{ data.num }}</span> + <span>涓嶈壇椤瑰垎甯�</span> + </div> + <div class="content_right_top_nr_top" id="lineChrat"></div> + <div class="content_right_top_nr_bottom" id="pieChart"></div> + </div> + </div> + <!-- 璁惧宸℃璁板綍 --> + <div class="content_right_bottom"> + <div class="content_right_bottom_head"> + <span>璁惧宸℃璁板綍</span> + </div> + <div class="content_right_bottom_nr"> + <div class="item2_content_head"> + <div class="item2_content_head_item">宸℃鏃堕棿</div> + <div class="item2_content_head_item">宸℃璁惧</div> + <div class="item2_content_head_item">宸℃缁撴灉</div> + <div class="item2_content_head_item">宸℃浜哄憳</div> + </div> + <div @mouseenter="handleMouseEnter4" @mouseleave="handleMouseLeave4" class="main_container"> + <div ref="scrollContainer4" class="scroll_container"> + <div v-for="(item, index) in data.patrolInspection" :key="index" + :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'"> + <div class="scroll_item_row">{{ item.checkdate }}</div> + <div class="scroll_item_row">{{ item.deviceName }}</div> + <div class="scroll_item_row">{{ item.status == 0 ? '鍚堟牸' : '涓嶅悎鏍�' }}</div> + <div class="scroll_item_row">{{ item.userName }}</div> + </div> + </div> + </div> + </div> + </div> + </div> + </div> </template> <script setup> - import { reactive, ref, onMounted, nextTick, onUnmounted, computed, watch, toRefs } from 'vue' - import { getPlanData, getTop, getStockList, getWorkPlansList, getProcedureProcessList, getRecordLogPage, getDeviceCheckPage, getUnqualified7DayData, getUnqualifiedCateData } from '@/utils/api.js' - import { useCounterStore } from '@/stores/counter.js' - import * as echarts from 'echarts' - import { useRouter } from 'vue-router' +import { reactive, ref, onMounted, nextTick, onUnmounted, computed, watch, toRefs } from 'vue' +import { getPlanData, getTop, getStockList, getWorkPlansList, getProcedureProcessList, getRecordLogPage, getDeviceCheckPage, getUnqualified7DayData, getUnqualifiedCateData } from '@/utils/api.js' +import { useCounterStore } from '@/stores/counter.js' +import * as echarts from 'echarts' +import { useRouter } from 'vue-router' - const router = useRouter() +const router = useRouter() - let data = reactive({ - production: [], - marginStatistics: [], - plannedProgress: [], - processProgress: [], - log: [], - patrolInspection: [], - dayDistribution: [], - typeDistribution: [], - num: 0, - baseNum: 0 +let data = reactive({ + production: [], + marginStatistics: [], + plannedProgress: [], + processProgress: [], + log: [], + patrolInspection: [], + dayDistribution: [], + typeDistribution: [], + num: 0, + baseNum: 0 +}) + +let { baseNum } = toRefs(data) + +let timer = ref(null) +let timer1 = ref(null) +let timer2 = ref(null) +let timer3 = ref(null) +let timer4 = ref(null) +let timer5 = ref(null) +let scrollContainer = ref(null) +let scrollContainer1 = ref(null) +let scrollContainer2 = ref(null) +let scrollContainer3 = ref(null) +let scrollContainer4 = ref(null) +let cate = ref([ + { + name: '鎴愬搧璁″垝杩涘害', + id: 1, + active: true, + background: 'tab_select_grey@2x.png', + activeBackground: 'tab_select@2x.png' + }, + { + name: '宸ュ簭杩涘害', + id: 2, + active: false, + background: 'tab_select_grey@2x.png', + activeBackground: 'tab_select@2x.png' + } +]) + +const enterprise = useCounterStore() + +const companyId = computed(() => { + return enterprise.companyId +}) +const departId = computed(() => { + return enterprise.departId +}) + +const jump = (procedureId, procedureName) => { + enterprise.setProcedureName(procedureName) + router.push({ name: 'process', query: { procedureId } }) +} + +watch(() => departId.value, (val) => { + if (val) { + init() + } +}) + +start1() + +const init = () => { + // 褰撴棩鍛樺伐浜ч噺TOP10 + getTop(companyId.value, departId.value) + .then(res => { + if (res.length > 0) { + data.baseNum = res[0].doneNum + data.production = res + } }) - - let { baseNum } = toRefs(data) - - let timer = ref(null) - let timer1 = ref(null) - let timer2 = ref(null) - let timer3 = ref(null) - let timer4 = ref(null) - let timer5 = ref(null) - let scrollContainer = ref(null) - let scrollContainer1 = ref(null) - let scrollContainer2 = ref(null) - let scrollContainer3 = ref(null) - let scrollContainer4 = ref(null) - let cate = ref([ - { - name: '鎴愬搧璁″垝杩涘害', - id: 1, - active: true, - background: 'tab_select_grey@2x.png', - activeBackground: 'tab_select@2x.png' - }, - { - name: '宸ュ簭杩涘害', - id: 2, - active: false, - background: 'tab_select_grey@2x.png', - activeBackground: 'tab_select@2x.png' - } - ]) - - const enterprise = useCounterStore() - - const companyId = computed(() => { - return enterprise.companyId - }) - const departId = computed(() => { - return enterprise.departId - }) - - const jump = (procedureId, procedureName) => { - enterprise.setProcedureName(procedureName) - router.push({ name: 'process', query: { procedureId } }) - } - - watch(() => departId.value, (val) => { - if (val) { - init() - } - }) - - start1() - - const init = () => { - // 褰撴棩鍛樺伐浜ч噺TOP10 - getTop(companyId.value, departId.value) - .then(res => { - if (res.length > 0) { - data.baseNum = res[0].doneNum - data.production = res - } - }) - // 浠撳簱瀹炴椂浣欓噺缁熻 - getStockList(companyId.value, departId.value) - .then(res => { - data.marginStatistics = res - nextTick(() => { - start() - }) - }) - // 鎴愬搧璁″垝杩涘害 - getWorkPlansList(companyId.value, departId.value) - .then(res => { - res.forEach(item => { - item.rate = Math.trunc(item.rate) - }) - data.plannedProgress = res - nextTick(() => { - start1() - }) - }) - // 鎶ュ伐鏃ュ織 - getRecordLogPage(companyId.value, departId.value, { - capacity: 9999, - model: {}, - page: 1 - }).then(res => { - data.log = res.records - nextTick(() => { - start3() - }) - }) - // 璁惧宸℃璁板綍 - getDeviceCheckPage(companyId.value, departId.value, { - capacity: 9999, - model: {}, - page: 1 - }).then(res => { - data.patrolInspection = res.records - nextTick(() => { - start4() - }) - }) - // 杩戜竷澶╀笉鑹暟 - getUnqualified7DayData(companyId.value, departId.value, '') - .then(res => { - if (res && res.length > 0) { - data.dayDistribution = res.map(item => { - return { - date: item.createTime, - num: item.unqualifiedNum - } - }) - setDayChart() - } - }) - // 杩戜竷澶╀笉鑹」 - getUnqualifiedCateData(companyId.value, departId.value, '') - .then(res => { - if (res && res.length > 0) { - data.num = 0 - data.typeDistribution = res.map(item => { - data.num += item.unqualifiedNum - return { - name: item.categoryName, - num: item.unqualifiedNum - } - }) - setTypeChart() - } - }) - // getPlanData - getPlanData(companyId.value, departId.value) - .then(res => { - enterprise.setNum(res) - }) - } - - /** - * 涓冩棩鎶樼嚎鍥� - */ - function setDayChart() { - let dayChartDom = document.getElementById('lineChrat'); - let myChart = echarts.init(dayChartDom); - let dateList = [] - let numList = [] - let num = 0 - data.dayDistribution.forEach(item => { - dateList.push(item.date) - numList.push(item.num) - num += item.num - }) - let option; - option = { - title: { - text: `杩戜竷鏃ヤ笉鑹搧鎬绘暟锛�${num}`, - textStyle: { - color: '#fff', - fontSize: 12 - } - }, - xAxis: { - type: 'category', - boundaryGap: false, - splitLine: { - lineStyle: { - width: 0.5, - color: ['#fff'] - } - }, - axisLabel: { - textStyle: { - color: '#fff' - } - }, - data: dateList - }, - - yAxis: { - type: 'value', - splitLine: { - lineStyle: { - width: 0.5, - color: ['#fff'] - } - }, - axisLabel: { - textStyle: { - color: '#fff' - } - } - }, - series: [ - { - data: numList, - type: 'line', - lineStyle: { - color: '#03D2B5', - width: 1 - }, - areaStyle: { - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: 'rgba(3, 210, 181, .9)', - }, - { - offset: 1, - color: 'rgba(3, 210, 181, 0)', - } - ]) - } - } - ], - - tooltip: { - trigger: 'axis' - }, - legend: { - name: '1adssad', - itemWidth: 10, - itemHeight: 10, - itemGap: 4, - textStyle: { - color: '#fff' - } - } - } - - option && myChart.setOption(option); - } - - /** - * 涓嶈壇绫诲瀷鍒嗗竷 - */ - function setTypeChart() { - let dayChartDom = document.getElementById('pieChart'); - let myChart = echarts.init(dayChartDom); - let legendData = [] - let seriesData = [] - data.typeDistribution.forEach(item => { - legendData.push(item.name) - seriesData.push({name:item.name, value:item.num}) - }) - let option = { - // title: { - // text: '鍚屽悕鏁伴噺缁熻', - // subtext: '绾睘铏氭瀯', - // left: 'center' - // }, - // tooltip: { - // trigger: 'item', - // formatter: '{a} <br/>{b} : {c} ({d}%)' - // }, - legend: { - show: false, - type: 'scroll', - orient: 'vertical', - right: 10, - top: 20, - bottom: 20, - data: legendData - }, - series: [ - { - // name: '濮撳悕', - type: 'pie', - radius: ['60%', '70%'], - // avoidLabelOverlap: false, - itemStyle: { - borderRadius: 4, - borderColor: 'rgba(52, 88, 159, 0.4)', - borderWidth: 4 - }, - center: ['50%', '50%'], - labelLine: { - show: false - }, - label: { - formatter:'{dot| } {title|{b} {c}}\n\n{per|{d}%}', - rich: { - title: { - color: '#fff' - }, - per: { - color: '#01D9FE' - }, - dot: { - backgroundColor: 'inherit', - width: 8, - height: 8, - borderRadius: 4 - } - } - }, - // labelLayout: { - // hideOverlap: true - // }, - endLabel: { - show: true, - distance: 5, - color: "red" - }, - data: seriesData, - emphasis: { - itemStyle: { - shadowBlur: 10, - shadowOffsetX: 0, - shadowColor: 'rgba(0, 0, 0, 1)' - } - } - } - ] - } - option && myChart.setOption(option); - } - onUnmounted(()=>{ - clearTimeout(timer.value) - clearTimeout(timer1.value) - clearTimeout(timer2.value) - clearTimeout(timer3.value) - clearTimeout(timer4.value) - clearTimeout(timer5.value) - }) - const clickCate = (index) => { - clearTimeout(timer1.value) - clearTimeout(timer2.value) - cate.value.forEach((item, i) => { - if (i === index) { - // 鎴愬搧璁″垝杩涘害 - if (i == 0) { - getWorkPlansList(companyId.value, departId.value) - .then(res => { - data.plannedProgress = res - nextTick(() => { - start1() - }) - }) - } else { - getProcedureProcessList(companyId.value, departId.value) - .then(res => { - data.processProgress = res - nextTick(() => { - start2() - }) - }) - } - item.active = true - } else { - item.active = false - } - }) - } - function handleMouseEnter() { - clearTimeout(timer.value) - } - function handleMouseEnter1() { - clearTimeout(timer1.value) - } - function handleMouseEnter2() { - clearTimeout(timer2.value) - } - function handleMouseEnter3() { - clearTimeout(timer3.value) - } - function handleMouseEnter4() { - clearTimeout(timer4.value) - } - function handleMouseLeave() { + // 浠撳簱瀹炴椂浣欓噺缁熻 + getStockList(companyId.value, departId.value) + .then(res => { + data.marginStatistics = res + nextTick(() => { start() - } - function handleMouseLeave1() { - start1() - } - function handleMouseLeave2() { - start2() - } - function handleMouseLeave3() { - start3() - } - function handleMouseLeave4() { - start4() - } - // 寮�鍚畾鏃跺櫒 - function start() { - clearTimeout(timer.value) - // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� - let speed = ref(100) - timer.value = setInterval(ListScroll, speed.value) - } - // 寮�鍚畾鏃跺櫒 - function start1() { - clearTimeout(timer1.value) - // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� - let speed1 = ref(100) - timer1.value = setInterval(ListScroll1, speed1.value) - } - // 寮�鍚畾鏃跺櫒 - function start2() { - clearTimeout(timer2.value) - // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� - let speed2 = ref(100) - timer2.value = setInterval(ListScroll2, speed2.value) - } - // 寮�鍚畾鏃跺櫒 - function start3() { - clearTimeout(timer3.value) - // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� - let speed3 = ref(100) - timer3.value = setInterval(ListScroll3, speed3.value) - } - // 寮�鍚畾鏃跺櫒 - function start4() { - clearTimeout(timer4.value) - // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� - let speed4 = ref(100) - timer4.value = setInterval(ListScroll4, speed4.value) - } - function ListScroll() { - let scrollDom = scrollContainer.value - // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 - if(scrollDom.offsetHeight == 0) { - scrollDom = scrollContainer.value - }else { - // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� - if(scrollDom.children.length < 8) { - clearTimeout(timer.value) - return - } - // 缁勪欢杩涜婊氬姩 - scrollDom.scrollTop += 1 - // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� - if(scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { - // 鑾峰彇缁勪欢绗竴涓妭鐐� - let first = scrollDom.children[0] - // 鍒犻櫎鑺傜偣 - scrollDom.removeChild(first) - // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� - scrollDom.append(first) - } - } - } - function ListScroll1() { - let scrollDom = scrollContainer1.value - // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 - if(scrollDom.offsetHeight == 0) { - scrollDom = scrollContainer1.value - }else { - // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� - if(scrollDom.children.length < 7) { - clearTimeout(timer1.value) - return - } - // 缁勪欢杩涜婊氬姩 - scrollDom.scrollTop += 1 - // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� - if(scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { - // 鑾峰彇缁勪欢绗竴涓妭鐐� - let first = scrollDom.children[0] - // 鍒犻櫎鑺傜偣 - scrollDom.removeChild(first) - // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� - scrollDom.append(first) - } - } - } - function ListScroll2() { - let scrollDom = scrollContainer2.value - // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 - if(scrollDom.offsetHeight == 0) { - scrollDom = scrollContainer2.value - }else { - // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� - if(scrollDom.children.length < 7) { - clearTimeout(timer2.value) - return - } - // 缁勪欢杩涜婊氬姩 - scrollDom.scrollTop += 1 - // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� - if(scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { - // 鑾峰彇缁勪欢绗竴涓妭鐐� - let first = scrollDom.children[0] - // 鍒犻櫎鑺傜偣 - scrollDom.removeChild(first) - // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� - scrollDom.append(first) - } - } - } - function ListScroll3() { - let scrollDom = scrollContainer3.value - // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 - if(scrollDom.offsetHeight == 0) { - scrollDom = scrollContainer3.value - }else { - // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� - if(scrollDom.children.length < 6) { - clearTimeout(timer3.value) - return - } - // 缁勪欢杩涜婊氬姩 - scrollDom.scrollTop += 1 - // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� - if(scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { - // 鑾峰彇缁勪欢绗竴涓妭鐐� - let first = scrollDom.children[0] - // 鍒犻櫎鑺傜偣 - scrollDom.removeChild(first) - // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� - scrollDom.append(first) - } - } - } - function ListScroll4() { - let scrollDom = scrollContainer4.value - // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 - if(scrollDom.offsetHeight == 0) { - scrollDom = scrollContainer4.value - }else { - // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� - if(scrollDom.children.length < 7) { - clearTimeout(timer4.value) - return - } - // 缁勪欢杩涜婊氬姩 - scrollDom.scrollTop += 1 - // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� - if(scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { - // 鑾峰彇缁勪欢绗竴涓妭鐐� - let first = scrollDom.children[0] - // 鍒犻櫎鑺傜偣 - scrollDom.removeChild(first) - // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� - scrollDom.append(first) - } - } - } - - // onUnmounted(() => { - - // }) - - onMounted(() => { - if (!departId.value) return; - timer5.value = setInterval(init(), 60000) + }) }) + // 鎴愬搧璁″垝杩涘害 + getWorkPlansList(companyId.value, departId.value) + .then(res => { + data.plannedProgress = res + nextTick(() => { + start1() + }) + }) + // 鎶ュ伐鏃ュ織 + getRecordLogPage(companyId.value, departId.value, { + capacity: 9999, + model: {}, + page: 1 + }).then(res => { + data.log = res.records + nextTick(() => { + start3() + }) + }) + // 璁惧宸℃璁板綍 + getDeviceCheckPage(companyId.value, departId.value, { + capacity: 9999, + model: {}, + page: 1 + }).then(res => { + data.patrolInspection = res.records + nextTick(() => { + start4() + }) + }) + // 杩戜竷澶╀笉鑹暟 + getUnqualified7DayData(companyId.value, departId.value, '') + .then(res => { + if (res && res.length > 0) { + data.dayDistribution = res.map(item => { + return { + date: item.createTime, + num: item.unqualifiedNum + } + }) + setDayChart() + } + }) + // 杩戜竷澶╀笉鑹」 + getUnqualifiedCateData(companyId.value, departId.value, '') + .then(res => { + if (res && res.length > 0) { + data.num = 0 + data.typeDistribution = res.map(item => { + data.num += item.unqualifiedNum + return { + name: item.categoryName, + num: item.unqualifiedNum + } + }) + setTypeChart() + } + }) + // getPlanData + getPlanData(companyId.value, departId.value) + .then(res => { + enterprise.setNum(res) + }) +} + +/** + * 涓冩棩鎶樼嚎鍥� + */ +function setDayChart() { + let dayChartDom = document.getElementById('lineChrat'); + let myChart = echarts.init(dayChartDom); + let dateList = [] + let numList = [] + let num = 0 + data.dayDistribution.forEach(item => { + dateList.push(item.date) + numList.push(item.num) + num += item.num + }) + let option; + option = { + title: { + text: `杩戜竷鏃ヤ笉鑹搧鎬绘暟锛�${num}`, + textStyle: { + color: '#fff', + fontSize: 12 + } + }, + xAxis: { + type: 'category', + boundaryGap: false, + splitLine: { + lineStyle: { + width: 0.5, + color: ['#fff'] + } + }, + axisLabel: { + textStyle: { + color: '#fff' + } + }, + data: dateList + }, + + yAxis: { + type: 'value', + splitLine: { + lineStyle: { + width: 0.5, + color: ['#fff'] + } + }, + axisLabel: { + textStyle: { + color: '#fff' + } + } + }, + series: [ + { + data: numList, + type: 'line', + lineStyle: { + color: '#03D2B5', + width: 1 + }, + areaStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ + { + offset: 0, + color: 'rgba(3, 210, 181, .9)', + }, + { + offset: 1, + color: 'rgba(3, 210, 181, 0)', + } + ]) + } + } + ], + + tooltip: { + trigger: 'axis' + }, + legend: { + name: '1adssad', + itemWidth: 10, + itemHeight: 10, + itemGap: 4, + textStyle: { + color: '#fff' + } + } + } + + option && myChart.setOption(option); +} + +/** + * 涓嶈壇绫诲瀷鍒嗗竷 + */ +function setTypeChart() { + let dayChartDom = document.getElementById('pieChart'); + let myChart = echarts.init(dayChartDom); + let legendData = [] + let seriesData = [] + data.typeDistribution.forEach(item => { + legendData.push(item.name) + seriesData.push({ name: item.name, value: item.num }) + }) + let option = { + legend: { + show: false, + type: 'scroll', + orient: 'vertical', + right: 10, + top: 20, + bottom: 20, + data: legendData + }, + series: [ + { + // name: '濮撳悕', + type: 'pie', + + radius: ['60%', '70%'], + // avoidLabelOverlap: false, + itemStyle: { + borderRadius: 4, + borderColor: 'rgba(52, 88, 159, 0.4)', + borderWidth: 4 + }, + center: ['50%', '50%'], + labelLine: { + show: false + }, + label: { + formatter: '{dot| } {title|{b} {c}}\n\n{per|{d}%}', + rich: { + title: { + color: '#fff' + }, + per: { + color: '#01D9FE' + }, + dot: { + backgroundColor: 'inherit', + width: 8, + height: 8, + borderRadius: 4 + } + } + }, + // labelLayout: { + // hideOverlap: true + // }, + endLabel: { + show: true, + distance: 5, + color: "red" + }, + data: seriesData, + emphasis: { + itemStyle: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 1)' + } + } + } + ] + } + option && myChart.setOption(option); +} + +// onBeforeUnmount(()=>{ +// clearTimeout(timer.value) +// clearTimeout(timer1.value) +// clearTimeout(timer2.value) +// clearTimeout(timer3.value) +// clearTimeout(timer4.value) +// }) +onUnmounted(() => { + clearTimeout(timer.value) + clearTimeout(timer1.value) + clearTimeout(timer2.value) + clearTimeout(timer3.value) + clearTimeout(timer4.value) + clearTimeout(timer5.value) +}) +const clickCate = (index) => { + clearTimeout(timer1.value) + clearTimeout(timer2.value) + cate.value.forEach((item, i) => { + if (i === index) { + // 鎴愬搧璁″垝杩涘害 + if (i == 0) { + getWorkPlansList(companyId.value, departId.value) + .then(res => { + data.plannedProgress = res + nextTick(() => { + start1() + }) + }) + } else { + getProcedureProcessList(companyId.value, departId.value) + .then(res => { + data.processProgress = res + nextTick(() => { + start2() + }) + }) + } + item.active = true + } else { + item.active = false + } + }) +} +function handleMouseEnter() { + clearTimeout(timer.value) +} +function handleMouseEnter1() { + clearTimeout(timer1.value) +} +function handleMouseEnter2() { + clearTimeout(timer2.value) +} +function handleMouseEnter3() { + clearTimeout(timer3.value) +} +function handleMouseEnter4() { + clearTimeout(timer4.value) +} +function handleMouseLeave() { + start() +} +function handleMouseLeave1() { + start1() +} +function handleMouseLeave2() { + start2() +} +function handleMouseLeave3() { + start3() +} +function handleMouseLeave4() { + start4() +} +// 寮�鍚畾鏃跺櫒 +function start() { + clearTimeout(timer.value) + // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� + let speed = ref(100) + timer.value = setInterval(ListScroll, speed.value) +} +// 寮�鍚畾鏃跺櫒 +function start1() { + clearTimeout(timer1.value) + // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� + let speed1 = ref(100) + timer1.value = setInterval(ListScroll1, speed1.value) +} +// 寮�鍚畾鏃跺櫒 +function start2() { + clearTimeout(timer2.value) + // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� + let speed2 = ref(100) + timer2.value = setInterval(ListScroll2, speed2.value) +} +// 寮�鍚畾鏃跺櫒 +function start3() { + clearTimeout(timer3.value) + // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� + let speed3 = ref(100) + timer3.value = setInterval(ListScroll3, speed3.value) +} +// 寮�鍚畾鏃跺櫒 +function start4() { + clearTimeout(timer4.value) + // 瀹氭椂鍣ㄨЕ鍙戝懆鏈� + let speed4 = ref(100) + timer4.value = setInterval(ListScroll4, speed4.value) +} +function ListScroll() { + let scrollDom = scrollContainer.value + // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 + if (scrollDom.offsetHeight == 0) { + scrollDom = scrollContainer.value + } else { + // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� + if (scrollDom.children.length < 8) { + clearTimeout(timer.value) + return + } + // 缁勪欢杩涜婊氬姩 + scrollDom.scrollTop += 1 + // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� + if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { + // 鑾峰彇缁勪欢绗竴涓妭鐐� + let first = scrollDom.children[0] + // 鍒犻櫎鑺傜偣 + scrollDom.removeChild(first) + // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� + scrollDom.append(first) + } + } +} +function ListScroll1() { + let scrollDom = scrollContainer1.value + // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 + if (scrollDom.offsetHeight == 0) { + scrollDom = scrollContainer1.value + } else { + // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� + if (scrollDom.children.length < 7) { + clearTimeout(timer1.value) + return + } + // 缁勪欢杩涜婊氬姩 + scrollDom.scrollTop += 1 + // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� + if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { + // 鑾峰彇缁勪欢绗竴涓妭鐐� + let first = scrollDom.children[0] + // 鍒犻櫎鑺傜偣 + scrollDom.removeChild(first) + // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� + scrollDom.append(first) + } + } +} +function ListScroll2() { + let scrollDom = scrollContainer2.value + // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 + if (scrollDom.offsetHeight == 0) { + scrollDom = scrollContainer2.value + } else { + // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� + if (scrollDom.children.length < 7) { + clearTimeout(timer2.value) + return + } + // 缁勪欢杩涜婊氬姩 + scrollDom.scrollTop += 1 + // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� + if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { + // 鑾峰彇缁勪欢绗竴涓妭鐐� + let first = scrollDom.children[0] + // 鍒犻櫎鑺傜偣 + scrollDom.removeChild(first) + // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� + scrollDom.append(first) + } + } +} +function ListScroll3() { + let scrollDom = scrollContainer3.value + // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 + if (scrollDom.offsetHeight == 0) { + scrollDom = scrollContainer3.value + } else { + // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� + if (scrollDom.children.length < 6) { + clearTimeout(timer3.value) + return + } + // 缁勪欢杩涜婊氬姩 + scrollDom.scrollTop += 1 + // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� + if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { + // 鑾峰彇缁勪欢绗竴涓妭鐐� + let first = scrollDom.children[0] + // 鍒犻櫎鑺傜偣 + scrollDom.removeChild(first) + // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� + scrollDom.append(first) + } + } +} +function ListScroll4() { + let scrollDom = scrollContainer4.value + // 鍒よ缁勪欢鏄惁娓叉煋瀹屾垚 + if (scrollDom.offsetHeight == 0) { + scrollDom = scrollContainer4.value + } else { + // 濡傛灉鍒楄〃鏁伴噺杩囧皯涓嶈繘琛屾粴鍔� + if (scrollDom.children.length < 7) { + clearTimeout(timer4.value) + return + } + // 缁勪欢杩涜婊氬姩 + scrollDom.scrollTop += 1 + // 鍒ゆ柇鏄惁婊氬姩鍒板簳閮� + if (scrollDom.scrollTop >= (scrollDom.scrollHeight - scrollDom.clientHeight)) { + // 鑾峰彇缁勪欢绗竴涓妭鐐� + let first = scrollDom.children[0] + // 鍒犻櫎鑺傜偣 + scrollDom.removeChild(first) + // 灏嗚鑺傜偣鎷兼帴鍒扮粍浠舵渶鍚� + scrollDom.append(first) + } + } +} + +// onUnmounted(() => { + +// }) + +onMounted(() => { + if (!departId.value) return; + timer5.value = setInterval(init(), 60000) +}) </script> <style lang="scss" scoped> - .content1 { +.content1 { + width: 100%; + height: auto; + display: flex; + align-items: start; + justify-content: space-between; + + .content_left { + flex: 1; + .content_left_item1 { + width: 100%; + height: 398px; + margin-bottom: 20px; + .content_left_item1_head { + background: url('@/assets/img/home_title_short@2x.png'); + background-repeat: no-repeat; + background-size: 100% 100%; width: 100%; - height: auto; - display: flex; - align-items: start; - justify-content: space-between; - .content_left { - flex: 1; - .content_left_item1 { - width: 100%; - margin-bottom: 20px; - .content_left_item1_head { - background: url('@/assets/img/home_title_short@2x.png'); - background-repeat: no-repeat; - background-size: 100% 100%; - width: 100%; - height: 38px; - line-height: 38px; - padding-left: 34px; - box-sizing: border-box; - span { - font-size: 16px; - font-family: SourceHanSansSC-Bold, SourceHanSansSC; - font-weight: bold; - color: #FFFFFF; - line-height: 24px; - text-shadow: 0px 0px 10px rgba(0,24,72,0.75); - } - } - .content_left_item1_content { - width: 100%; - height: 360px; - padding: 20px; - box-sizing: border-box; - background: linear-gradient(180deg, rgba(52,88,159,0) 0%, rgba(0,86,255,0.4) 100%); - .content_left_item1_content_row { - width: 100%; - display: flex; - align-items: center; - justify-content: space-between; - margin-bottom: 13px; - &:last-child { - margin: 0; - } - .content_left_item1_content_row_name { - flex-shrink: 0; - width: 100px; - display: flex; - align-items: center; - span { - font-size: 13px; - font-family: SourceHanSansSC-Regular, SourceHanSansSC; - font-weight: 400; - color: #D2E0FF; - margin-left: 9px; - } - .num { - width: 20px; - height: 20px; - line-height: 20px; - text-align: center; - font-size: 12px; - font-family: SourceHanSansSC-Medium, SourceHanSansSC; - font-weight: 500; - color: #FFFFFF; - } - .bg1 { - background: url('@/assets/img/rank_blue@2x.png'); - background-repeat: no-repeat; - background-size: 100% 100%; - } - .bg2 { - background: url('@/assets/img/rank_yellow@2x.png'); - background-repeat: no-repeat; - background-size: 100% 100%; - } - } - .content_left_item1_content_row_line { - flex: 1; - margin: 0 15px; - &::v-deep(.el-progress-bar__outer) { - border-radius: 0%; - background: rgba(255,255,255,0.13); - } - &::v-deep(.el-progress-bar__inner) { - border-radius: 0%; - background: linear-gradient(270deg, #00B0FF 0%, #345BA3 100%); - } - } - .content_left_item1_content_row_num { - font-size: 13px; - width: 60px; - font-family: SourceHanSansSC-Regular, SourceHanSansSC; - font-weight: 400; - color: #D2E0FF; - } - } - } - } - .content_left_item2 { - width: 100%; - .content_left_item2_head { - background: url('@/assets/img/home_title_short@2x.png'); - background-repeat: no-repeat; - background-size: 100% 100%; - width: 100%; - height: 38px; - line-height: 38px; - padding-left: 34px; - box-sizing: border-box; - span { - font-size: 16px; - font-family: SourceHanSansSC-Bold, SourceHanSansSC; - font-weight: bold; - color: #FFFFFF; - line-height: 24px; - text-shadow: 0px 0px 10px rgba(0,24,72,0.75); - } - } - .content_left_item2_content { - width: 100%; - height: 361px; - padding: 20px; - box-sizing: border-box; - background: linear-gradient(180deg, rgba(52,88,159,0) 0%, rgba(0,86,255,0.4) 100%); - .item2_content_head { - width: 100%; - height: 36px; - display: flex; - align-items: center; - background: rgba(52,88,159,0.5); - .item2_content_head_item { - flex: 1; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - font-size: 13px; - font-family: PingFangSC-Medium, PingFang SC; - font-weight: 500; - color: #01D9FE; - &:first-child { - flex: 1.5; - } - } - } - .main_container { - width: 100%; - height: calc(100% - 36px); - .scroll_container { - width: 100%; - height: 100%; - overflow: hidden; - .scroll_item_bg1 { - background: rgba(52,88,159,0.2); - } - .scroll_item_bg2 { - background: rgba(52,88,159,0.5); - } - .scroll_item { - width: 100%; - height: 36px; - display: flex; - align-items: center; - .scroll_item_row { - flex: 1; - width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - color: #FFFFFF; - font-size: 13px; - &:first-child { - flex: 1.5; - } - } - } - } - } - } - } + height: 38px; + line-height: 38px; + padding-left: 34px; + box-sizing: border-box; + + span { + font-size: 16px; + font-family: SourceHanSansSC-Bold, SourceHanSansSC; + font-weight: bold; + color: #FFFFFF; + line-height: 24px; + text-shadow: 0px 0px 10px rgba(0, 24, 72, 0.75); } - .content_center { - flex: 2; - margin: 0 20px; + } + + .content_left_item1_content { + width: 100%; + height: 360px; + padding: 20px; + box-sizing: border-box; + background: linear-gradient(180deg, rgba(52, 88, 159, 0) 0%, rgba(0, 86, 255, 0.4) 100%); + + .content_left_item1_content_row { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 13px; + + &:last-child { + margin: 0; + } + + .content_left_item1_content_row_name { + flex-shrink: 0; + width: 100px; display: flex; - flex-direction: column; - .content_center_top { - width: 100%; - height: 509px; - margin-bottom: 20px; - background: linear-gradient(180deg, rgba(52,88,159,0) 0%, rgba(0,86,255,0.4) 100%); - .content_center_top_list { - width: 100%; - height: 38px; - display: flex; - align-items: center; - .bg3 { - background: url('@/assets/img/tab_select_grey@2x.png'); - background-size: 100% 100%; - } - .bg4 { - background: url('@/assets/img/tab_select@2x.png'); - background-size: 100% 100%; - } - .content_center_top_list_item { - width: 200px; - height: 38px; - cursor: pointer; - line-height: 38px; - padding-left: 34px; - box-sizing: border-box; - font-size: 16px; - font-family: SourceHanSansSC-Bold, SourceHanSansSC; - font-weight: bold; - color: #FFFFFF; - margin-right: 20px; - text-shadow: 0px 0px 10px rgba(0,24,72,0.75); - &:last-child { - margin-right: 0; - } - } - } - .content_center_top_form { - width: 100%; - padding: 20px; - box-sizing: border-box; - height: calc(100% - 38px); - .content_center_top_form_head { - width: 100%; - height: 34px; - background: rgba(52,88,159,0.5); - display: flex; - align-items: center; - .content_center_top_form_head_item { - flex: 1; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - font-size: 13px; - font-family: PingFangSC-Medium, PingFang SC; - font-weight: 500; - color: #01D9FE; - &:nth-child(5) { - flex: 2.7; - } - } - } - .main_container { - width: 100%; - height: calc(100% - 34px); - .scroll_container { - width: 100%; - height: 100%; - overflow: hidden; - .scroll_item_bg1 { - background: rgba(52,88,159,0.2); - } - .scroll_item_bg2 { - background: rgba(52,88,159,0.5); - } - .scroll_item { - width: 100%; - height: 58px; - display: flex; - align-items: center; - .scroll_item_row { - flex: 1; - height: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: flex; - align-items: center; - justify-content: center; - color: #FFFFFF; - font-size: 13px; - &:nth-child(5) { - flex: 3; - } - .scroll_item_row_item { - width: 29px; - height: 29px; - border-radius: 50%; - margin-right: 19px; - display: flex; - align-items: center; - justify-content: center; - border: 2px solid #01D9FE; - cursor: pointer; - position: relative; - &:last-child { - margin-right: 0; - .scroll_item_row_item_x { - display: none; - } - } - &:nth-child(1) { - border: 2px solid #03D2B5; - .scroll_item_row_item_x { - background-color: #03D2B5; - } - } - &:nth-child(2) { - border: 2px solid #03D2B5; - } - img { - width: 17px; - height: 13px; - } - span { - font-size: 12px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #01D9FE; - } - .scroll_item_row_item_wz { - white-space: nowrap; - position: absolute; - bottom: -10px; - left: 50%; - transform: translate(-50%, 45%); - font-size: 12px; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #FFFFFF; - } - .scroll_item_row_item_x { - position: absolute; - right: -85%; - top: 50%; - transform: translate(0, -50%); - width: 19px; - height: 2px; - background-color: #01D9FE; - } - } - } - } - } - } - } - .content_center_top_form1 { - width: 100%; - padding: 20px; - box-sizing: border-box; - height: calc(100% - 38px); - .content_center_top_form_head { - width: 100%; - height: 34px; - background: rgba(52,88,159,0.5); - display: flex; - align-items: center; - .content_center_top_form_head_item { - flex: 1; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - font-size: 13px; - font-family: PingFangSC-Medium, PingFang SC; - font-weight: 500; - color: #01D9FE; - } - } - .main_container { - width: 100%; - height: calc(100% - 34px); - .scroll_container { - width: 100%; - height: 100%; - overflow: hidden; - .scroll_item_bg1 { - background: rgba(52,88,159,0.2); - } - .scroll_item_bg2 { - background: rgba(52,88,159,0.5); - } - .scroll_item { - width: 100%; - height: 36px; - display: flex; - align-items: center; - .scroll_item_row { - flex: 1; - height: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: flex; - align-items: center; - font-size: 13px; - justify-content: center; - color: #FFFFFF; - .scroll_item_row_item { - width: 29px; - height: 29px; - border-radius: 50%; - margin-right: 19px; - display: flex; - align-items: center; - justify-content: center; - border: 2px solid #01D9FE; - } - } - } - } - } - } + align-items: center; + + span { + font-size: 13px; + font-family: SourceHanSansSC-Regular, SourceHanSansSC; + font-weight: 400; + color: #D2E0FF; + margin-left: 9px; } - .content_center_bottom { - width: 100%; - height: 286px; - .content_center_bottom_head { - width: 100%; - height: 38px; - line-height: 38px; - padding-left: 34px; - box-sizing: border-box; - background: linear-gradient(270deg, rgba(21,103,255,0) 0%, rgba(21,103,255,0.61) 100%); - border-radius: 10px 0px 0px 0px; - background: url('@/assets/img/gongxu_title@2x.png'); - background-repeat: no-repeat; - background-size: 100% 100%; - span { - font-size: 16px; - font-family: SourceHanSansSC-Bold, SourceHanSansSC; - font-weight: bold; - color: #FFFFFF; - text-shadow: 0px 0px 10px rgba(0,24,72,0.75); - } - } - .content_center_bottom_b { - width: 100%; - height: calc(100% - 38px); - padding: 20px; - box-sizing: border-box; - background: linear-gradient(180deg, rgba(52,88,159,0) 0%, rgba(0,86,255,0.4) 100%); - .content_center_top_form_head { - width: 100%; - height: 34px; - background: rgba(52,88,159,0.5); - display: flex; - align-items: center; - .content_center_top_form_head_item { - flex: 1; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - font-size: 13px; - font-family: PingFangSC-Medium, PingFang SC; - font-weight: 500; - color: #01D9FE; - &:nth-child(4) { - flex: 2; - } - } - } - .main_container { - width: 100%; - height: calc(100% - 33px); - .scroll_container { - width: 100%; - height: 100%; - overflow: hidden; - .scroll_item_bg1 { - background: rgba(52,88,159,0.2); - } - .scroll_item_bg2 { - background: rgba(52,88,159,0.5); - } - .scroll_item { - width: 100%; - height: 37px; - display: flex; - align-items: center; - .scroll_item_row { - flex: 1; - height: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - display: flex; - font-size: 13px; - align-items: center; - justify-content: center; - color: #FFFFFF; - &:nth-child(4) { - flex: 2; - } - } - } - } - } - } + + .num { + width: 20px; + height: 20px; + line-height: 20px; + text-align: center; + font-size: 12px; + font-family: SourceHanSansSC-Medium, SourceHanSansSC; + font-weight: 500; + color: #FFFFFF; } - } - .content_right { + + .bg1 { + background: url('@/assets/img/rank_blue@2x.png'); + background-repeat: no-repeat; + background-size: 100% 100%; + } + + .bg2 { + background: url('@/assets/img/rank_yellow@2x.png'); + background-repeat: no-repeat; + background-size: 100% 100%; + } + } + + .content_left_item1_content_row_line { flex: 1; - .content_right_top { - width: 100%; - height: 511px; - margin-bottom: 20px; - .content_right_top_head { - width: 100%; - height: 38px; - line-height: 38px; - padding-left: 34px; - box-sizing: border-box; - background: url('@/assets/img/home_title_short@2x.png'); - background-repeat: no-repeat; - background-size: 100% 100%; - span { - font-size: 16px; - font-family: SourceHanSansSC-Bold, SourceHanSansSC; - font-weight: bold; - color: #FFFFFF; - text-shadow: 0px 0px 10px rgba(0,24,72,0.75); - } - } - .content_right_top_nr { - width: 100%; - height: calc(100% - 38px); - background: linear-gradient(180deg, rgba(52,88,159,0) 0%, rgba(0,86,255,0.4) 100%); - position: relative; - .content_right_top_nr_bottom_yuan { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, 53%); - z-index: 999; - width: 114px; - height: 114px; - border-radius: 50%; - border: 2px dashed #01D9FE; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - span { - &:first-child { - font-size: 26px; - font-family: SourceHanSansSC-Medium, SourceHanSansSC; - font-weight: 500; - color: #FFFFFF; - } - &:last-child { - font-size: 13px; - font-family: SourceHanSansSC-Regular, SourceHanSansSC; - font-weight: 400; - color: rgba(255,255,255,0.8); - } - } - } - .content_right_top_nr_top { - width: 100%; - height: 50%; - padding: 10px 0 0 10px; - box-sizing: border-box; - } - .content_right_top_nr_bottom { - width: 100%; - height: 50%; - } - } + margin: 0 15px; + + &::v-deep(.el-progress-bar__outer) { + border-radius: 0%; + background: rgba(255, 255, 255, 0.13); } - .content_right_bottom { - width: 100%; - height: 284px; - .content_right_bottom_head { - width: 100%; - height: 38px; - line-height: 38px; - padding-left: 34px; - box-sizing: border-box; - background: url('@/assets/img/home_title_short@2x.png'); - background-repeat: no-repeat; - background-size: 100% 100%; - span { - font-size: 16px; - font-family: SourceHanSansSC-Bold, SourceHanSansSC; - font-weight: bold; - color: #FFFFFF; - text-shadow: 0px 0px 10px rgba(0,24,72,0.75); - } - } - .content_right_bottom_nr { - width: 100%; - height: calc(100% - 38px); - padding: 20px; - box-sizing: border-box; - background: linear-gradient(180deg, rgba(52,88,159,0) 0%, rgba(0,86,255,0.4) 100%); - .item2_content_head { - width: 100%; - height: 36px; - display: flex; - align-items: center; - background: rgba(52,88,159,0.5); - .item2_content_head_item { - flex: 1; - height: 100%; - display: flex; - align-items: center; - justify-content: center; - font-size: 13px; - font-family: PingFangSC-Medium, PingFang SC; - font-weight: 500; - color: #01D9FE; - &:first-child { - flex: 2; - } - } - } - .main_container { - width: 100%; - height: calc(100% - 36px); - .scroll_container { - width: 100%; - height: 100%; - overflow: hidden; - .scroll_item_bg1 { - background: rgba(52,88,159,0.2); - } - .scroll_item_bg2 { - background: rgba(52,88,159,0.5); - } - .scroll_item { - width: 100%; - height: 36px; - display: flex; - align-items: center; - .scroll_item_row { - flex: 1; - height: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-size: 13px; - display: flex; - align-items: center; - justify-content: center; - color: #FFFFFF; - &:first-child { - flex: 2; - } - } - } - } - } - } + + &::v-deep(.el-progress-bar__inner) { + border-radius: 0%; + background: linear-gradient(270deg, #00B0FF 0%, #345BA3 100%); } + } + + .content_left_item1_content_row_num { + font-size: 13px; + width: 60px; + font-family: SourceHanSansSC-Regular, SourceHanSansSC; + font-weight: 400; + color: #D2E0FF; + } } + } } -</style> + + .content_left_item2 { + width: 100%; + flex: 1; + display: flex; + flex-direction: column; + .content_left_item2_head { + background: url('@/assets/img/home_title_short@2x.png'); + background-repeat: no-repeat; + background-size: 100% 100%; + width: 100%; + height: 38px; + line-height: 38px; + padding-left: 34px; + box-sizing: border-box; + + span { + font-size: 16px; + font-family: SourceHanSansSC-Bold, SourceHanSansSC; + font-weight: bold; + color: #FFFFFF; + line-height: 24px; + text-shadow: 0px 0px 10px rgba(0, 24, 72, 0.75); + } + } + + .content_left_item2_content { + width: 100%; + height: 361px; + height: 100%; + padding: 20px; + box-sizing: border-box; + background: linear-gradient(180deg, rgba(52, 88, 159, 0) 0%, rgba(0, 86, 255, 0.4) 100%); + + .item2_content_head { + width: 100%; + height: 36px; + display: flex; + align-items: center; + background: rgba(52, 88, 159, 0.5); + + .item2_content_head_item { + flex: 1; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + font-family: PingFangSC-Medium, PingFang SC; + font-weight: 500; + color: #01D9FE; + + &:first-child { + flex: 1.5; + } + } + } + + .main_container { + width: 100%; + height: calc(100% - 36px); + + .scroll_container { + width: 100%; + height: 100%; + overflow: hidden; + + .scroll_item_bg1 { + background: rgba(52, 88, 159, 0.2); + } + + .scroll_item_bg2 { + background: rgba(52, 88, 159, 0.5); + } + + .scroll_item { + width: 100%; + height: 36px; + display: flex; + align-items: center; + + .scroll_item_row { + flex: 1; + width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + color: #FFFFFF; + font-size: 13px; + + &:first-child { + flex: 1.5; + } + } + } + } + } + } + } + } + + .content_center { + flex: 2; + margin: 0 20px; + .content_center_top { + width: 100%; + height: 509px; + margin-bottom: 20px; + background: linear-gradient(180deg, rgba(52, 88, 159, 0) 0%, rgba(0, 86, 255, 0.4) 100%); + + .content_center_top_list { + width: 100%; + height: 38px; + display: flex; + align-items: center; + + .bg3 { + background: url('@/assets/img/tab_select_grey@2x.png'); + background-size: 100% 100%; + } + + .bg4 { + background: url('@/assets/img/tab_select@2x.png'); + background-size: 100% 100%; + } + .content_center_top_list_item { + width: 200px; + height: 38px; + cursor: pointer; + line-height: 38px; + padding-left: 34px; + box-sizing: border-box; + font-size: 16px; + font-family: SourceHanSansSC-Bold, SourceHanSansSC; + font-weight: bold; + color: #FFFFFF; + margin-right: 20px; + text-shadow: 0px 0px 10px rgba(0, 24, 72, 0.75); + + &:last-child { + margin-right: 0; + } + } + } + + .content_center_top_form { + width: 100%; + padding: 20px; + box-sizing: border-box; + height: calc(100% - 38px); + + .content_center_top_form_head { + width: 100%; + height: 34px; + background: rgba(52, 88, 159, 0.5); + display: flex; + align-items: center; + + .content_center_top_form_head_item { + flex: 1; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + font-family: PingFangSC-Medium, PingFang SC; + font-weight: 500; + color: #01D9FE; + + &:nth-child(5) { + flex: 2.7; + } + } + } + + .main_container { + width: 100%; + height: calc(100% - 34px); + + .scroll_container { + width: 100%; + height: 100%; + overflow: hidden; + + .scroll_item_bg1 { + background: rgba(52, 88, 159, 0.2); + } + + .scroll_item_bg2 { + background: rgba(52, 88, 159, 0.5); + } + + .scroll_item { + width: 100%; + height: 58px; + display: flex; + align-items: center; + + .scroll_item_row { + flex: 1; + height: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: flex; + align-items: center; + justify-content: center; + color: #FFFFFF; + font-size: 13px; + + &:nth-child(5) { + flex: 3; + } + + .scroll_item_row_item { + width: 29px; + height: 29px; + border-radius: 50%; + margin-right: 19px; + display: flex; + align-items: center; + justify-content: center; + border: 2px solid #01D9FE; + cursor: pointer; + position: relative; + + &:last-child { + margin-right: 0; + + .scroll_item_row_item_x { + display: none; + } + } + + &:nth-child(1) { + border: 2px solid #03D2B5; + + .scroll_item_row_item_x { + background-color: #03D2B5; + } + } + + &:nth-child(2) { + border: 2px solid #03D2B5; + } + + img { + width: 17px; + height: 13px; + } + + span { + font-size: 12px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #01D9FE; + } + + .scroll_item_row_item_wz { + white-space: nowrap; + position: absolute; + bottom: -10px; + left: 50%; + transform: translate(-50%, 45%); + font-size: 12px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #FFFFFF; + } + + .scroll_item_row_item_x { + position: absolute; + right: -85%; + top: 50%; + transform: translate(0, -50%); + width: 19px; + height: 2px; + background-color: #01D9FE; + } + } + } + } + } + } + } + + .content_center_top_form1 { + width: 100%; + padding: 20px; + box-sizing: border-box; + height: calc(100% - 38px); + + .content_center_top_form_head { + width: 100%; + height: 34px; + background: rgba(52, 88, 159, 0.5); + display: flex; + align-items: center; + + .content_center_top_form_head_item { + flex: 1; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + font-family: PingFangSC-Medium, PingFang SC; + font-weight: 500; + color: #01D9FE; + } + } + + .main_container { + width: 100%; + height: calc(100% - 34px); + + .scroll_container { + width: 100%; + height: 100%; + overflow: hidden; + + .scroll_item_bg1 { + background: rgba(52, 88, 159, 0.2); + } + + .scroll_item_bg2 { + background: rgba(52, 88, 159, 0.5); + } + + .scroll_item { + width: 100%; + height: 36px; + display: flex; + align-items: center; + + .scroll_item_row { + flex: 1; + height: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: flex; + align-items: center; + font-size: 13px; + justify-content: center; + color: #FFFFFF; + + .scroll_item_row_item { + width: 29px; + height: 29px; + border-radius: 50%; + margin-right: 19px; + display: flex; + align-items: center; + justify-content: center; + border: 2px solid #01D9FE; + } + } + } + } + } + } + } + + .content_center_bottom { + width: 100%; + height: 286px; + + .content_center_bottom_head { + width: 100%; + height: 38px; + line-height: 38px; + padding-left: 34px; + box-sizing: border-box; + background: linear-gradient(270deg, rgba(21, 103, 255, 0) 0%, rgba(21, 103, 255, 0.61) 100%); + border-radius: 10px 0px 0px 0px; + background: url('@/assets/img/gongxu_title@2x.png'); + background-repeat: no-repeat; + background-size: 100% 100%; + + span { + font-size: 16px; + font-family: SourceHanSansSC-Bold, SourceHanSansSC; + font-weight: bold; + color: #FFFFFF; + text-shadow: 0px 0px 10px rgba(0, 24, 72, 0.75); + } + } + + .content_center_bottom_b { + width: 100%; + height: calc(100% - 38px); + padding: 20px; + box-sizing: border-box; + background: linear-gradient(180deg, rgba(52, 88, 159, 0) 0%, rgba(0, 86, 255, 0.4) 100%); + + .content_center_top_form_head { + width: 100%; + height: 34px; + background: rgba(52, 88, 159, 0.5); + display: flex; + align-items: center; + + .content_center_top_form_head_item { + flex: 1; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + font-family: PingFangSC-Medium, PingFang SC; + font-weight: 500; + color: #01D9FE; + + &:nth-child(4) { + flex: 2; + } + } + } + + .main_container { + width: 100%; + height: calc(100% - 33px); + + .scroll_container { + width: 100%; + height: 100%; + overflow: hidden; + + .scroll_item_bg1 { + background: rgba(52, 88, 159, 0.2); + } + + .scroll_item_bg2 { + background: rgba(52, 88, 159, 0.5); + } + + .scroll_item { + width: 100%; + height: 37px; + display: flex; + align-items: center; + + .scroll_item_row { + flex: 1; + height: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + display: flex; + font-size: 13px; + align-items: center; + justify-content: center; + color: #FFFFFF; + + &:nth-child(4) { + flex: 2; + } + } + } + } + } + } + } + } + + .content_right { + flex: 1; + + .content_right_top { + width: 100%; + height: 511px; + margin-bottom: 20px; + + .content_right_top_head { + width: 100%; + height: 38px; + line-height: 38px; + padding-left: 34px; + box-sizing: border-box; + background: url('@/assets/img/home_title_short@2x.png'); + background-repeat: no-repeat; + background-size: 100% 100%; + + span { + font-size: 16px; + font-family: SourceHanSansSC-Bold, SourceHanSansSC; + font-weight: bold; + color: #FFFFFF; + text-shadow: 0px 0px 10px rgba(0, 24, 72, 0.75); + } + } + + .content_right_top_nr { + width: 100%; + height: calc(100% - 38px); + background: linear-gradient(180deg, rgba(52, 88, 159, 0) 0%, rgba(0, 86, 255, 0.4) 100%); + position: relative; + + .content_right_top_nr_bottom_yuan { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, 53%); + z-index: 999; + width: 114px; + height: 114px; + border-radius: 50%; + border: 2px dashed #01D9FE; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + + span { + &:first-child { + font-size: 26px; + font-family: SourceHanSansSC-Medium, SourceHanSansSC; + font-weight: 500; + color: #FFFFFF; + } + + &:last-child { + font-size: 13px; + font-family: SourceHanSansSC-Regular, SourceHanSansSC; + font-weight: 400; + color: rgba(255, 255, 255, 0.8); + } + } + } + + .content_right_top_nr_top { + width: 100%; + height: 50%; + padding: 10px 0 0 10px; + box-sizing: border-box; + } + + .content_right_top_nr_bottom { + width: 100%; + height: 50%; + } + } + } + + .content_right_bottom { + width: 100%; + height: 284px; + + .content_right_bottom_head { + width: 100%; + height: 38px; + line-height: 38px; + padding-left: 34px; + box-sizing: border-box; + background: url('@/assets/img/home_title_short@2x.png'); + background-repeat: no-repeat; + background-size: 100% 100%; + + span { + font-size: 16px; + font-family: SourceHanSansSC-Bold, SourceHanSansSC; + font-weight: bold; + color: #FFFFFF; + text-shadow: 0px 0px 10px rgba(0, 24, 72, 0.75); + } + } + + .content_right_bottom_nr { + width: 100%; + height: calc(100% - 38px); + padding: 20px; + box-sizing: border-box; + background: linear-gradient(180deg, rgba(52, 88, 159, 0) 0%, rgba(0, 86, 255, 0.4) 100%); + + .item2_content_head { + width: 100%; + height: 36px; + display: flex; + align-items: center; + background: rgba(52, 88, 159, 0.5); + + .item2_content_head_item { + flex: 1; + height: 100%; + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + font-family: PingFangSC-Medium, PingFang SC; + font-weight: 500; + color: #01D9FE; + + &:first-child { + flex: 2; + } + } + } + + .main_container { + width: 100%; + height: calc(100% - 36px); + + .scroll_container { + width: 100%; + height: 100%; + overflow: hidden; + + .scroll_item_bg1 { + background: rgba(52, 88, 159, 0.2); + } + + .scroll_item_bg2 { + background: rgba(52, 88, 159, 0.5); + } + + .scroll_item { + width: 100%; + height: 36px; + display: flex; + align-items: center; + + .scroll_item_row { + flex: 1; + height: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 13px; + display: flex; + align-items: center; + justify-content: center; + color: #FFFFFF; + + &:first-child { + flex: 2; + } + } + } + } + } + } + } + } +}</style> \ No newline at end of file -- Gitblit v1.9.3