|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="center_box_bg"> | 
|---|
|  |  |  | <img class="point_icon" src="@/assets/ani/apngb-animated.png" alt=""> | 
|---|
|  |  |  | <div class="work_modal" @click="showWorkModal = false" v-if="showWorkModal"> | 
|---|
|  |  |  | <img v-if="showWorkModal" class="point_icon" :style="{ left: workModalParam.left + 'px', top: workModalParam.top + 'px' }" | 
|---|
|  |  |  | src="@/assets/ani/apngb-animated.png" alt=""> | 
|---|
|  |  |  | <div class="work_modal" :style="{ left: workModalParam.left2 + 'px', top: workModalParam.top + 'px' }" | 
|---|
|  |  |  | @click="showWorkModal = false" v-if="showWorkModal"> | 
|---|
|  |  |  | <img class="bg" src="@/assets/images/LogisticsCenter/bg_yuetai@2x.png" alt=""> | 
|---|
|  |  |  | <div class="head"> | 
|---|
|  |  |  | <div class="left"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="val">{{ workModalParam.finishTimeStr }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="modal_bg" v-if="showWorkModal" @click="showWorkModal = false"></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="center_box_two"> | 
|---|
|  |  |  | <div v-if="data4.videoIndexCodes && data4.videoIndexCodes.length > 0" class="videos"> | 
|---|
|  |  |  | <div class="video" v-for="indexCode in data4.videoIndexCodes"> | 
|---|
|  |  |  | <Video v-if="indexCode" :href="data4.videoPluginUrl" :indexCode="indexCode" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- <div v-if="data4.videoIndexCodes && data4.videoIndexCodes.length > 0" class="videos"> | 
|---|
|  |  |  | <Videos :href="data4.videoPluginUrl" :indexCodes="data4.videoIndexCodes" /> | 
|---|
|  |  |  | </div> --> | 
|---|
|  |  |  | <div class="list"> | 
|---|
|  |  |  | <div class="line header"> | 
|---|
|  |  |  | <div>月台名称</div> | 
|---|
|  |  |  | 
|---|
|  |  |  | dayjs.extend(duration) | 
|---|
|  |  |  | import 'swiper/css/swiper.min.css' | 
|---|
|  |  |  | import Swiper from 'swiper' | 
|---|
|  |  |  | import Video from './videoUrl/Video.vue' | 
|---|
|  |  |  | import Videos from './videoUrl/Videos.vue' | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | cnplatformGroupFinish, | 
|---|
|  |  |  | cnplatformDuration, | 
|---|
|  |  |  | 
|---|
|  |  |  | temp.push({ name: '已叫号', value: data4.value?.calledNum || 0, rate: data4.value?.signedNum ? (data4.value.calledNum / data4.value?.signedNum * 100).toFixed(1) : 0 }) | 
|---|
|  |  |  | temp.push({ name: '已作业', value: data4.value?.workedNum || 0, rate: data4.value?.signedNum ? (data4.value.workedNum / data4.value?.signedNum * 100).toFixed(1) : 0 }) | 
|---|
|  |  |  | temp.push({ name: '已完成', value: data4.value?.doneNum || 0, rate: data4.value?.signedNum ? (data4.value.doneNum / data4.value?.signedNum * 100).toFixed(1) : 0 }) | 
|---|
|  |  |  | console.log('temp', temp) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const option = { | 
|---|
|  |  |  | color: colors, | 
|---|
|  |  |  | 
|---|
|  |  |  | i.finishTime = dayjs(i.finishTime).format('HH:mm') | 
|---|
|  |  |  | return i | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | console.log('dataList5', dataList5.value) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | const showWorkModal = ref(false) | 
|---|
|  |  |  | const workModalParam = ref({}) | 
|---|
|  |  |  | // point_icon | 
|---|
|  |  |  | const pointList = ref([ | 
|---|
|  |  |  | { left: 230, top: 190 }, | 
|---|
|  |  |  | { left: 265, top: 180 }, | 
|---|
|  |  |  | { left: 300, top: 170 }, | 
|---|
|  |  |  | { left: 335, top: 160 }, | 
|---|
|  |  |  | { left: 370, top: 150 }, | 
|---|
|  |  |  | const pointList = [ | 
|---|
|  |  |  | { left: 230, top: 190, left2: 290, top2: 190, name: '出库月台3' }, | 
|---|
|  |  |  | { left: 265, top: 180, left2: 325, top2: 190, name: '出库月台2' }, | 
|---|
|  |  |  | { left: 300, top: 170, left2: 360, top2: 190, name: '出库月台1' }, | 
|---|
|  |  |  | { left: 335, top: 160, left2: 390, top2: 190, name: '整托盘出库2' }, | 
|---|
|  |  |  | { left: 370, top: 150, left2: 430, top2: 190, name: '整托盘出库1' }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | { left: 530, top: 50  }, | 
|---|
|  |  |  | { left: 550, top: 65 }, | 
|---|
|  |  |  | { left: 570, top: 75 }, | 
|---|
|  |  |  | { left: 590, top: 75 }, | 
|---|
|  |  |  | { left: 600, top: 80 }, | 
|---|
|  |  |  | { left: 850, top: 60 }, | 
|---|
|  |  |  | { left: 530, top: 50, left2: 590, top2: 190, name: '入库月台2' }, | 
|---|
|  |  |  | { left: 550, top: 65, left2: 610, top2: 190, name: '入库月台1' }, | 
|---|
|  |  |  | { left: 570, top: 75, left2: 630, top2: 190, name: '入库月台3' }, | 
|---|
|  |  |  | { left: 590, top: 75, left2: 650, top2: 190, name: '1095整托盘入库' }, | 
|---|
|  |  |  | { left: 600, top: 80, left2: 660, top2: 190, name: '1099整托盘入库' }, | 
|---|
|  |  |  | { left: 850, top: 60, left2: 520, top2: 190, name: '市公司月台' }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ]) | 
|---|
|  |  |  | ] | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const platformClick = (val) => { | 
|---|
|  |  |  | workModalParam.value = val | 
|---|
|  |  |  | console.log(val) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | showWorkModal.value = !showWorkModal.value | 
|---|
|  |  |  | const index = pointList.findIndex(i => i.name == val.platformName) | 
|---|
|  |  |  | workModalParam.value = { ...val, ...pointList[index], index: pointList } | 
|---|
|  |  |  | showWorkModal.value = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const loopFn2 = () => { | 
|---|
|  |  |  | var newSwiper1 = new Swiper('.one-swiper', { | 
|---|
|  |  |  | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .point_icon { | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | left: 850px; | 
|---|
|  |  |  | 
|---|
|  |  |  | .work_modal { | 
|---|
|  |  |  | width: 314px; | 
|---|
|  |  |  | height: 180px; | 
|---|
|  |  |  | position: relative; | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | padding: 22px 20px; | 
|---|
|  |  |  | left: 850px; | 
|---|
|  |  |  | top: 60px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .head { | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .modal_bg{ | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | top: 0; | 
|---|
|  |  |  | width: 100vw; | 
|---|
|  |  |  | height: 100vh; | 
|---|
|  |  |  | /* background-color: rgba(0,0,0,.1); */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .center_box_two { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .videos { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 150px; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | margin-bottom: 15px; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | height: 210px; | 
|---|
|  |  |  | overflow-y: auto; | 
|---|
|  |  |  | background: rgba(0, 86, 255, 0.05); | 
|---|
|  |  |  | backdrop-filter: blur(5px); | 
|---|
|  |  |  | backdrop-filter: blur(5px); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .two-swiper { | 
|---|
|  |  |  | height: 180px; | 
|---|
|  |  |  | overflow: hidden; | 
|---|