Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
| | |
| | | <thead> |
| | | <tr v-for="(itemFlow,index) in item.detail" :key="index"> |
| | | <td colspan="34"> |
| | | |
| | | <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""></div> |
| | | <div id="bj" style="float: right;font-size: 28px">补 {{ id + 1 }}</div> |
| | | <div style="left: 150px">{{ company.companyName }}</div> |
| | | <div>生产流程卡</div> |
| | |
| | | <thead> |
| | | <tr v-for="(itemFlow,index) in item.detail" :key="index"> |
| | | <td colspan="31"> |
| | | <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px "/></div> |
| | | <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""><input style="border: none;font-size: 28px;width: 70px;margin: 5px "/></div> |
| | | <div id="bj" v-if="printFc=='true'" style="float: right;font-size: 28px">{{ id + 1 }}</div> |
| | | <div id="bj" v-else style="float: right;font-size: 28px"></div> |
| | | <div>{{ company.companyName }}</div> |
| | |
| | | <thead> |
| | | <tr v-for="(itemFlow,index) in item.detail" :key="index"> |
| | | <td colspan="34"> |
| | | |
| | | <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""></div> |
| | | <div id="bj" style="float: right;font-size: 28px">补 {{ id + 1 }}</div> |
| | | <div style="left: 150px">{{ company.companyName }}</div> |
| | | <div>生产流程卡</div> |
| | |
| | | <thead> |
| | | <tr v-for="(itemFlow,index) in item.detail" :key="index"> |
| | | <td colspan="31"> |
| | | <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px "/></div> |
| | | <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""><input style="border: none;font-size: 28px;width: 70px;margin: 5px "/></div> |
| | | <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div> |
| | | <div>{{ company.companyName }}</div> |
| | | <div>生产流程卡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span></div> |
| | |
| | | } |
| | | }) |
| | | labelList = a |
| | | for (let i = 0; i < list.value.length; i++) { |
| | | let count = list.value[i].data.length |
| | | for (let j = 0; j < count; j++) { |
| | | if (detailType==0){ |
| | | for (let k = 0; k < list.value[i].data[j].quantity; k++) { |
| | | props.lastList.push(list.value[i].data[j]) |
| | | // 遍历列表(替换 i 为更语义化的变量名) |
| | | for (const group of list.value) { |
| | | // 遍历每组中的数据(替换 j) |
| | | for (const item of group.data) { |
| | | const { quantity, newList } = item; |
| | | // 跳过 quantity 为 0 或无效的情况 |
| | | if (!quantity || quantity <= 0) continue; |
| | | |
| | | // 处理 newList:确保是数组,不足时用空对象兜底 |
| | | const safeNewList = Array.isArray(newList) ? newList : []; |
| | | |
| | | // 循环 quantity 次,添加数据到 lastList |
| | | for (let k = 0; k < quantity; k++) { |
| | | // 深拷贝 item,避免重复引用(关键!) |
| | | const newItem = JSON.parse(JSON.stringify(item)); |
| | | |
| | | // 若 newList 有对应索引数据,填充字段;否则置空 |
| | | const listItem = safeNewList[k]; |
| | | if (listItem) { |
| | | newItem.heat_layout_sort = listItem.glass_id || ''; // 兜底空字符串 |
| | | newItem.stockPolysId = `${listItem.stock_id || ''}/${listItem.polys_id || ''}`; // 避免 undefined/ |
| | | } else { |
| | | // 无对应数据时,字段置空(避免保留原始值) |
| | | newItem.heat_layout_sort = ''; |
| | | newItem.stockPolysId = ''; |
| | | } |
| | | |
| | | } |
| | | else { |
| | | for (let k = 0; k < list.value[i].data[j].quantity; k++) { |
| | | props.lastList.push(list.value[i].data[j]) |
| | | } |
| | | // 添加到目标列表 |
| | | props.lastList.push(newItem); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | //列查询 |
| | | const getStoreWork = () => { |
| | | value.value=t('ingredients.originalFilm') |
| | | filterDatas.value.type=value.value |
| | | request.get(`/BasicWarehouse/BasicWarehouseType/${value.value}`).then((res) => { |
| | | if(res.code==200){ |
| | | gridOption.columns=[] |
| | |
| | | gridOption.columns.push(column) |
| | | |
| | | } |
| | | if(value.value==t('ingredients.accessories')){ |
| | | /*if(value.value==t('ingredients.accessories')){ |
| | | titleUploadData.value.inventoryOrganization=titleSelectJson.value.inventoryOrganization[1].operateTypeName |
| | | }else{ |
| | | titleUploadData.value.inventoryOrganization=titleSelectJson.value.inventoryOrganization[0].operateTypeName |
| | | } |
| | | }*/ |
| | | |
| | | getStoreWorks() |
| | | |
| | |
| | | }) |
| | | |
| | | onMounted(async ()=>{ |
| | | await select() |
| | | |
| | | if(props.data!=null){ |
| | | titleUploadData.value.dateOfManufacture=props.data.dateOfManufacture |
| | | titleUploadData.value.qualityGuaranteePeriod=props.data.qualityGuaranteePeriod |
| | |
| | | titleUploadData.value.materialCode=props.data.materialCode |
| | | titleUploadData.value.id=props.data.id |
| | | titleUploadData.value.availableQuantity=props.data.availableQuantity |
| | | titleUploadData.value.inventoryOrganization=props.data.inventoryOrganization |
| | | isDisabled=true |
| | | }else{ |
| | | await select() |
| | | isDisabled=false |
| | | value.value=t('ingredients.originalFilm') |
| | | getStoreWork() |
| | | } |
| | | |
| | |
| | | filterMethod: filterChanged |
| | | }, |
| | | { |
| | | field: 'glass_id', |
| | | title: t('玻璃编号'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | | { |
| | | field: 'o_width', |
| | | title: t('order.width'), |
| | | filters: [{data: ''}], |
| | |
| | | |
| | | List<Map<String, String>> selectPrintNotMergeMp(String orderId); |
| | | |
| | | List<Map<String, String>> getRepairPrintCustomDataSemi(String processId, String technologyNumber, String reportingWorkId, Integer orderNumber); |
| | | List<Map<String, Object>> getRepairPrintCustomDataSemi(String processId, String technologyNumber, String reportingWorkId, Integer orderNumber); |
| | | |
| | | List<Map<String, String>> getReworkPrintCustomDataSemi(String processId, String technologyNumber, String reportingWorkId, Integer orderNumber); |
| | | |
| | |
| | | } |
| | | else{//小片标签 |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId(),flowCard.getOrderNumber())); |
| | | List<Map<String,Object>> customDataSemi =flowCardMapper.getRepairPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId(),flowCard.getOrderNumber()); |
| | | for (Map<String, Object> dataMap : customDataSemi) { |
| | | dataMap.put("newList", flowCardMapper.getgetPrintCustomDataSemiSp( |
| | | flowCard.getProcessId(), |
| | | dataMap.get("technologyNumber").toString(), |
| | | flowCard.getOrderNumber() |
| | | )); |
| | | } |
| | | itemmap.put("data", customDataSemi); |
| | | list.add(itemmap); |
| | | } |
| | | |
| | |
| | | </select> |
| | | |
| | | <select id="getPrintProjectDetailsMpSp"> |
| | | SELECT opd.project_no,opd.stock_id,opd.polys_id,o_width,o_height,p_width,p_height |
| | | SELECT opd.project_no,opd.stock_id,opd.polys_id,o_width,o_height,p_width,p_height,opd.glass_id |
| | | FROM optimize_detail as opd left join optimize_layout as opl on opl.project_no=opd.project_no and opl.stock_id=opd.stock_id |
| | | where opd.project_no=#{projectNo} and opd.stock_id in |
| | | <foreach item="item" index="index" collection="stockId" open="(" separator="," close=")"> |