|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <van-swipe-cell v-for="(item, index) in list" :key="index"> | 
|---|
|  |  |  | <div class="rework_qd_list"> | 
|---|
|  |  |  | <div class="rework_qd_item" @click="openL(index)"> | 
|---|
|  |  |  | <div class="rework_qd_item" @click="openL(index)" v-if="location"> | 
|---|
|  |  |  | <span><b>*</b>入库货位</span> | 
|---|
|  |  |  | <div class="rework_qd_item_right"> | 
|---|
|  |  |  | <span :class="item.locationName ? 'black' : ''">{{item.locationName ? item.locationName : '请选择'}}</span> | 
|---|
|  |  |  | 
|---|
|  |  |  | <van-icon name="arrow" size="20" color="#999999" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- <div class="rework_qd_item" v-if="form.type != 25"> | 
|---|
|  |  |  | <div class="rework_qd_item" v-if="form.type != 25" @click="openGX(index)"> | 
|---|
|  |  |  | <span>生产工序</span> | 
|---|
|  |  |  | <div class="rework_qd_item_right"> | 
|---|
|  |  |  | <span :class="item.procedureName ? 'black' : ''">{{item.procedureName ? item.procedureName : '请选择'}}</span> | 
|---|
|  |  |  | <van-icon name="arrow" size="20" color="#999999" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> --> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="rework_qd_item" @click="openQ(index)"> | 
|---|
|  |  |  | <span><b>*</b>质量属性</span> | 
|---|
|  |  |  | <div class="rework_qd_item_right"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <Quality :show="qualityShow" @close="close2" @value="getValue2" /> | 
|---|
|  |  |  | <!-- 选择货位 --> | 
|---|
|  |  |  | <Location :show="locationShow" :list="locationList" @close="close3" @value="getValue3" /> | 
|---|
|  |  |  | <!-- 工序 --> | 
|---|
|  |  |  | <ProductionProcess :show="productionShow" :list="productionList" @close="close4" @value="getValue4" /> | 
|---|
|  |  |  | <!-- 单据类型 --> | 
|---|
|  |  |  | <van-popup v-model:show="typeShow" position="bottom" :style="{ height: '50%' }"> | 
|---|
|  |  |  | <van-popup v-model:show="typeShow" round position="bottom" :style="{ height: '50%' }"> | 
|---|
|  |  |  | <van-picker | 
|---|
|  |  |  | :columns="columns" | 
|---|
|  |  |  | @confirm="onConfirm1" | 
|---|
|  |  |  | 
|---|
|  |  |  | import { onMounted, ref, reactive } from 'vue' | 
|---|
|  |  |  | import { useRouter } from 'vue-router' | 
|---|
|  |  |  | import { Toast } from 'vant' | 
|---|
|  |  |  | import { createForStandard, getListByWarehouseId, wOutBoundForStockUp } from '@/apis/WorkOrderAPI' | 
|---|
|  |  |  | import { getListByWarehouseId, wOutBoundForStockUp } from '@/apis/WorkOrderAPI' | 
|---|
|  |  |  | import { getListByMaterialId } from '@/apis/ExWarehouse' | 
|---|
|  |  |  | import Warehouse from '@/components/common/Warehouse.vue' | 
|---|
|  |  |  | import Material from '@/components/newCom/Material.vue' | 
|---|
|  |  |  | import Quality from '@/components/newCom/quality.vue' | 
|---|
|  |  |  | import Location from '@/components/newCom/location.vue' | 
|---|
|  |  |  | import ProductionProcess from '@/components/newCom/productionProcess.vue' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const router = useRouter() | 
|---|
|  |  |  | // 表单数据 | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let locationList: any = ref([]) | 
|---|
|  |  |  | let location: any = ref(true) | 
|---|
|  |  |  | let productionList: any = ref([]) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let i = ref(0) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | batch: '', | 
|---|
|  |  |  | locationId: '', | 
|---|
|  |  |  | locationIdLabel: '', | 
|---|
|  |  |  | locationName: '', | 
|---|
|  |  |  | materialId: '', | 
|---|
|  |  |  | materialName: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | let qualityShow = ref<boolean>(false) | 
|---|
|  |  |  | let locationShow = ref<boolean>(false) | 
|---|
|  |  |  | let typeShow = ref<boolean>(false) | 
|---|
|  |  |  | let productionShow = ref<boolean>(false) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 打开选择物料 | 
|---|
|  |  |  | const openMaterial = (index: number) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 打开选择物料 | 
|---|
|  |  |  | const openQ = (index: number) => { | 
|---|
|  |  |  | if (list.value[index].locationIdLabel == 'APPLIANCE_ONTEST' || list.value[index].locationIdLabel == 'APPLIANCE_OFFTEST' || list.value[index].locationIdLabel == 'APPLIANCE_USELESS') { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | i.value = index | 
|---|
|  |  |  | qualityShow.value = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 打开工序 | 
|---|
|  |  |  | const openGX = (index: number) => { | 
|---|
|  |  |  | i.value = index | 
|---|
|  |  |  | productionShow.value = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 打开选择货位 | 
|---|
|  |  |  | const openL = (index: number) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | locationShow.value = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const addItem = () => { | 
|---|
|  |  |  | // if (!form.warehouseId) return Toast('请选择入库仓库') | 
|---|
|  |  |  | if (!form.warehouseId) return Toast('请选择入库仓库') | 
|---|
|  |  |  | list.value.push({ | 
|---|
|  |  |  | batch: '', | 
|---|
|  |  |  | locationId: '', | 
|---|
|  |  |  | locationName: '', | 
|---|
|  |  |  | locationIdLabel: list.value[list.value.length - 1].locationIdLabel, | 
|---|
|  |  |  | materialId: '', | 
|---|
|  |  |  | materialName: '', | 
|---|
|  |  |  | num: '', | 
|---|
|  |  |  | procedureId: '', | 
|---|
|  |  |  | procedureName: '', | 
|---|
|  |  |  | qualityType: '', | 
|---|
|  |  |  | qualityTypeName: '', | 
|---|
|  |  |  | qualityType: list.value[list.value.length - 1].qualityType, | 
|---|
|  |  |  | qualityTypeName: list.value[list.value.length - 1].qualityTypeName, | 
|---|
|  |  |  | unitId: '', | 
|---|
|  |  |  | unitName: '' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | 
|---|
|  |  |  | const onConfirm1 = (value: any) => { | 
|---|
|  |  |  | form.typeName = value.name | 
|---|
|  |  |  | form.type = value.id | 
|---|
|  |  |  | if (value.id == 25) { | 
|---|
|  |  |  | list.value.forEach(item => { | 
|---|
|  |  |  | item.procedureId = '' | 
|---|
|  |  |  | item.procedureName = '' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | typeShow.value = false | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | const onCancel = () => { | 
|---|
|  |  |  | 
|---|
|  |  |  | const close3 = (): void => { | 
|---|
|  |  |  | locationShow.value = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 关闭货位选择弹框 | 
|---|
|  |  |  | const close4 = (): void => { | 
|---|
|  |  |  | productionShow.value = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 选择仓库回调 | 
|---|
|  |  |  | const getValue = (item: any): void => { | 
|---|
|  |  |  | form.warehouseName = item.name | 
|---|
|  |  |  | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | locationList.value = res.data | 
|---|
|  |  |  | list.value.forEach(item => { | 
|---|
|  |  |  | item.locationId = '' | 
|---|
|  |  |  | item.locationName = '' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | if (res.data.length === 1) { | 
|---|
|  |  |  | location.value = false | 
|---|
|  |  |  | list.value.forEach(item => { | 
|---|
|  |  |  | item.locationId = res.data[0].id | 
|---|
|  |  |  | item.locationName = res.data[0].unionName | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | list.value[i.value].locationIdLabel = res.data[0].label | 
|---|
|  |  |  | if (res.data[0].label === 'APPLIANCE_ONTEST') { | 
|---|
|  |  |  | list.value[i.value].qualityType = '0' | 
|---|
|  |  |  | list.value[i.value].qualityTypeName = '合格' | 
|---|
|  |  |  | } else if (res.data[0].label === 'APPLIANCE_OFFTEST') { | 
|---|
|  |  |  | list.value[i.value].qualityType = '1' | 
|---|
|  |  |  | list.value[i.value].qualityTypeName = '不良' | 
|---|
|  |  |  | } else if (res.data[0].label === 'APPLIANCE_USELESS') { | 
|---|
|  |  |  | list.value[i.value].qualityType = '2' | 
|---|
|  |  |  | list.value[i.value].qualityTypeName = '报废' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | location.value = true | 
|---|
|  |  |  | list.value.forEach(item => { | 
|---|
|  |  |  | item.locationId = '' | 
|---|
|  |  |  | item.locationName = '' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | warehouseShow.value = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 选择物料 | 
|---|
|  |  |  | const getValue1 = (item: any): void => { | 
|---|
|  |  |  | console.log(item) | 
|---|
|  |  |  | list.value[i.value].materialName = item.mmodelUnionName | 
|---|
|  |  |  | list.value[i.value].materialId = item.id | 
|---|
|  |  |  | list.value[i.value].unitId = item.unitId | 
|---|
|  |  |  | list.value[i.value].unitName = item.umodelName | 
|---|
|  |  |  | // 获取物料下工序 | 
|---|
|  |  |  | getListByMaterialId({ | 
|---|
|  |  |  | materialId: item.id | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | if (res.code === 200) { | 
|---|
|  |  |  | productionList.value = res.data | 
|---|
|  |  |  | list.value[i.value].procedureId = '' | 
|---|
|  |  |  | list.value[i.value].procedureName = '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | materialsShow.value = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 选择质量属性 | 
|---|
|  |  |  | 
|---|
|  |  |  | const getValue3 = (item: any): void => { | 
|---|
|  |  |  | list.value[i.value].locationId = item.id | 
|---|
|  |  |  | list.value[i.value].locationName = item.unionName | 
|---|
|  |  |  | list.value[i.value].qualityType = '' | 
|---|
|  |  |  | list.value[i.value].qualityTypeName = '' | 
|---|
|  |  |  | list.value[i.value].locationIdLabel = item.label | 
|---|
|  |  |  | if (item.label === 'APPLIANCE_ONTEST') { | 
|---|
|  |  |  | list.value[i.value].qualityType = '0' | 
|---|
|  |  |  | list.value[i.value].qualityTypeName = '合格' | 
|---|
|  |  |  | } else if (item.label === 'APPLIANCE_OFFTEST') { | 
|---|
|  |  |  | list.value[i.value].qualityType = '1' | 
|---|
|  |  |  | list.value[i.value].qualityTypeName = '不良' | 
|---|
|  |  |  | } else if (item.label === 'APPLIANCE_USELESS') { | 
|---|
|  |  |  | list.value[i.value].qualityType = '2' | 
|---|
|  |  |  | list.value[i.value].qualityTypeName = '报废' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | locationShow.value = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 选择工序 | 
|---|
|  |  |  | const getValue4 = (item: any): void => { | 
|---|
|  |  |  | list.value[i.value].procedureId = item.id | 
|---|
|  |  |  | list.value[i.value].procedureName = item.name | 
|---|
|  |  |  | productionShow.value = false | 
|---|
|  |  |  | } | 
|---|
|  |  |  | onMounted(() => { | 
|---|
|  |  |  | // 获取工装信息 | 
|---|
|  |  |  | // getLKInfo(route.query.id as string) | 
|---|