|  |  |  | 
|---|
|  |  |  | <div class="content_list_item_content_item_label">计划人员:</div> | 
|---|
|  |  |  | <div class="content_list_item_content_item_nr">{{info.usermodel.realname}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="content_list_item_content_item"> | 
|---|
|  |  |  | <div class="content_list_item_content_item_label">分配数量:</div> | 
|---|
|  |  |  | <div class="content_list_item_content_item_nr" v-if="info.umodel">{{info.distributNum}}{{info.umodel.name}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="content_list_item_content_item"> | 
|---|
|  |  |  | <div class="content_list_item_content_item_label">完工数量:</div> | 
|---|
|  |  |  | <div class="content_list_item_content_item_nr" v-if="info.umodel">{{info.doneNum}}{{info.umodel.name}}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <NotFound info="暂未分配工单" v-if="info.workorderList && info.workorderList.length === 0" /> | 
|---|
|  |  |  | <template v-else> | 
|---|
|  |  |  | <!-- <div class="details_list"> | 
|---|
|  |  |  | <div class="details_list_item" v-for="(item, i) in info.workorderList" :key="i" @click="jump(item)"> | 
|---|
|  |  |  | <div class="details_list_item_top"> | 
|---|
|  |  |  | <span>{{ item.createUserName }}</span> | 
|---|
|  |  |  | <span>{{ item.code }}</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="details_list_item_center"> | 
|---|
|  |  |  | <span>良品数:{{ item.qualifiedNum }}</span> | 
|---|
|  |  |  | <span>不良数:<span class="red">{{ item.unqualifiedNum }}</span></span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="details_list_item_bottom"> | 
|---|
|  |  |  | <span>{{ item.createTime }}</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> --> | 
|---|
|  |  |  | <div class="details_timeline" v-for="(item, i) in info.workorderList" :key="i"> | 
|---|
|  |  |  | <div class="details_timeline_header"> | 
|---|
|  |  |  | <div class="details_timeline_header_code"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <!-- <div class="details_zw"></div> --> | 
|---|
|  |  |  | <!-- <div class="details_btn" @click="toJump">去报工</div> --> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | import { ref, onMounted, watch } from 'vue' | 
|---|
|  |  |  | import { useRoute } from "vue-router" | 
|---|
|  |  |  | import { useRoute, useRouter } from "vue-router" | 
|---|
|  |  |  | import { queryByID } from '@/apis/PlanningAPI' | 
|---|
|  |  |  | import NotFound from '@/components/common/NotFound.vue' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const route = useRoute() | 
|---|
|  |  |  | const router = useRouter() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 详情数据 | 
|---|
|  |  |  | let info = ref({}) | 
|---|
|  |  |  | let info:any = ref({}) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let loading = ref<boolean>(true) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | info.value = res.data | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const toJump = () => { | 
|---|
|  |  |  | router.push({ name: 'reportingForWork' }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const jump = (item: any) => { | 
|---|
|  |  |  | if (item.status === 4 || item.status === 6 || item.paused === 1) { | 
|---|
|  |  |  | router.push({ name: 'afterWorkReport', query: { id: item.id } }) | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | router.push({ name: 'workOrderReporting', query: { id: item.id } }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // router.push({ name: 'workOrderReporting', query: { id } }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const proUserStr = (item: any) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | position: absolute; | 
|---|
|  |  |  | background: #F7F7F7; | 
|---|
|  |  |  | .details_zw { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 148px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .details_btn { | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | bottom: 60px; | 
|---|
|  |  |  | left: 30px; | 
|---|
|  |  |  | width: calc(100% - 60px); | 
|---|
|  |  |  | height: 88px; | 
|---|
|  |  |  | line-height: 88px; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | background: #305ED5; | 
|---|
|  |  |  | box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.08); | 
|---|
|  |  |  | border-radius: 8px; | 
|---|
|  |  |  | font-size: 30px; | 
|---|
|  |  |  | font-family: PingFangSC-Medium, PingFang SC; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #FFFFFF; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .van-skeleton { | 
|---|
|  |  |  | padding: 0 !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .details_list { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: auto; | 
|---|
|  |  |  | background-color: #FFFFFF; | 
|---|
|  |  |  | margin-top: 20px; | 
|---|
|  |  |  | .details_list_item { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | padding: 24px 30px; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | background-color: #FFFFFF; | 
|---|
|  |  |  | border-bottom: 2px solid #F7F7F7; | 
|---|
|  |  |  | &:last-child { | 
|---|
|  |  |  | border: none !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .details_list_item_top { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-items: center; | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | &:first-child { | 
|---|
|  |  |  | font-size: 30px; | 
|---|
|  |  |  | font-family: PingFangSC-Medium, PingFang SC; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | color: #222222; | 
|---|
|  |  |  | margin-right: 16px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | &:last-child { | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | font-family: PingFangSC-Regular, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #666666; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .details_list_item_center { | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | margin: 16px 0 20px 0; | 
|---|
|  |  |  | .red { | 
|---|
|  |  |  | color: #DE5243; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | &:first-child { | 
|---|
|  |  |  | font-size: 26px; | 
|---|
|  |  |  | font-family: PingFangSC-Regular, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | margin-right: 100px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | &:last-child { | 
|---|
|  |  |  | font-size: 26px; | 
|---|
|  |  |  | font-family: PingFangSC-Regular, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #333333; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .details_list_item_bottom { | 
|---|
|  |  |  | span { | 
|---|
|  |  |  | font-size: 24px; | 
|---|
|  |  |  | font-family: PingFangSC-Regular, PingFang SC; | 
|---|
|  |  |  | font-weight: 400; | 
|---|
|  |  |  | color: #999999; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .details_timeline { | 
|---|
|  |  |  | padding: 30px; | 
|---|
|  |  |  | background: #ffffff; | 
|---|