|  |  |  | 
|---|
|  |  |  | <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">{{info.createTime}}</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_timeline" v-for="(item, i) in info.workorderList" :key="i"> | 
|---|
|  |  |  | <div class="details_list"> | 
|---|
|  |  |  | <div class="details_list_item" v-for="(item, i) in info.workorderList" :key="i" @click="jump(item.id)"> | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | <span>工单编号:{{item.code}}</span> | 
|---|
|  |  |  | 
|---|
|  |  |  | <span v-if="item.status === 3" class="purple">已检验</span> | 
|---|
|  |  |  | <span v-if="item.status === 4">已报工</span> | 
|---|
|  |  |  | <span v-if="item.status === 5">已入库</span> | 
|---|
|  |  |  | <span v-if="item.status === 6">已取消</span> | 
|---|
|  |  |  | <span v-if="item.status === 6">已取消</span> --> | 
|---|
|  |  |  | <!--                <span v-if="item.status === 7">已取消</span>--> | 
|---|
|  |  |  | <!--                <span v-if="item.status === 8">已关闭</span>--> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- </div> | 
|---|
|  |  |  | <div class="details_timeline_item" v-if="item.produceDate"> | 
|---|
|  |  |  | <div class="activedian"></div> | 
|---|
|  |  |  | <div class="dian active"></div> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> --> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </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 jump = (id: any) => { | 
|---|
|  |  |  | router.push({ name: 'workOrderReporting', query: { id } }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const proUserStr = (item: any) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .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; | 
|---|