|
|
@@ -16,8 +16,8 @@
|
|
|
<el-button type="primary" icon="Plus" class="bt" :disabled="!_Gd_gdbh" @click="openProcessAdd">新增工艺资料</el-button>
|
|
|
<el-button type="primary" icon="Sort" class="bt" :disabled="!_Gd_gdbh" @click="openSortDialog">部件与工艺排序</el-button>
|
|
|
<el-button type="primary" icon="edit" @click="BOMclick" class="bt" title="BOM面料">批量修改新增BOM资料</el-button>
|
|
|
- <el-button type="primary" icon="edit" @click="del_ddzlClick" v-if="table_del=== true" :disabled="table_Selection === ''" class="bt" title="选中复选框进行删除订单数据">删除订单资料</el-button>
|
|
|
- <el-button type="primary" icon="edit" @click="delgd_delclick" v-if="delall=== true" :disabled="ysSelection === '' && gySelection === ''" class="bt" title="选中复选框进行删除颜色数据">删除颜色资料</el-button>
|
|
|
+ <el-button type="danger" icon="edit" @click="del_ddzlClick" v-if="table_del=== true" :disabled="table_Selection === ''" class="bt" title="选中复选框进行删除订单数据">删除订单资料</el-button>
|
|
|
+ <el-button type="danger" icon="edit" @click="delgd_delclick" v-if="delall=== true" :disabled="ysSelection === '' && gySelection === ''" class="bt" title="选中复选框进行删除颜色数据">删除颜色资料</el-button>
|
|
|
<el-button type="primary" icon="edit" @click="copyProductData" :disabled="!_Gd_gdbh" class="bt" title="复制产品资料">复制产品资料</el-button>
|
|
|
<el-button type="primary" icon="upload" @click="openImportProcessDialog" :disabled="!_Gd_gdbh" class="bt" title="导入工艺资料">导入工艺资料</el-button>
|
|
|
|
|
|
@@ -359,6 +359,158 @@
|
|
|
</el-tabs>
|
|
|
|
|
|
|
|
|
+ <!-- 工艺资料详情弹窗 -->
|
|
|
+ <el-dialog v-model="gyDetailDialogVisible" :before-close="closeGyDetailDialog"
|
|
|
+ style="width: 100vw; height: 100vh; margin: 0; padding: 0; top: 0; left: 0;"
|
|
|
+ title="工艺资料详情" destroy-on-close class="gy-detail-dialog">
|
|
|
+ <div style="padding: 20px; height: calc(100vh - 80px); overflow: hidden; box-sizing: border-box;">
|
|
|
+ <!-- 上方信息 -->
|
|
|
+ <div style="margin-bottom: 15px; overflow-x: auto;">
|
|
|
+ <el-row :gutter="15" style="width: max-content; display: flex; align-items: flex-start;">
|
|
|
+ <!-- 第一列 -->
|
|
|
+ <div style="display: flex; flex-direction: column; gap: 10px;">
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">订单编号:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.订单编号" disabled style="width: 200px;" />
|
|
|
+ </div>
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">接单日期:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.接单日期" disabled style="width: 180px;" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 第二列 -->
|
|
|
+ <div style="display: flex; flex-direction: column; gap: 10px;">
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">客户编号:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.客户编号" disabled style="width: 150px;" />
|
|
|
+ </div>
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">审核:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.审核" disabled style="width: 120px;" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 第三列 -->
|
|
|
+ <div style="display: flex; flex-direction: column; gap: 10px;">
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">生产款号:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.生产款号" disabled style="width: 180px;" />
|
|
|
+ </div>
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">订单数量:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.订单数量" disabled style="width: 120px;" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 第四列 -->
|
|
|
+ <div style="display: flex; flex-direction: column; gap: 10px;">
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">款式:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.款式" disabled style="width: 250px;" />
|
|
|
+ </div>
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">计划制造工分:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.计划制造工分" disabled style="width: 150px;" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 第五列 -->
|
|
|
+ <div style="display: flex; flex-direction: column; gap: 10px;">
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">落货日期:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.落货日期" disabled style="width: 180px;" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 第六列 -->
|
|
|
+ <div style="display: flex; flex-direction: column; gap: 10px;">
|
|
|
+ <div style="display: flex; align-items: center; white-space: nowrap;">
|
|
|
+ <span style="width: 90px; text-align: right; margin-right: 10px;">审核日期:</span>
|
|
|
+ <el-input v-model="gyDetailFormData.审核日期" disabled style="width: 180px;" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 工艺列表表格 -->
|
|
|
+ <div style="height: calc(100vh - 200px); overflow: auto; border: 1px solid #EBEEF5; border-radius: 4px;">
|
|
|
+ <el-table
|
|
|
+ :data="gyDetailFormData.工艺列表"
|
|
|
+ border
|
|
|
+ size="small"
|
|
|
+ style="width: 100%;"
|
|
|
+ :show-overflow-tooltip="true">
|
|
|
+ <el-table-column align="left" label="部件编号" width="100">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.部件编号" size="small" style="width: 90px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="部件名称" width="150">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.部件名称" size="small" style="width: 140px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="工序编号" width="100">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.工序编号" size="small" style="width: 90px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="工序名称" width="250">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.工序名称" size="small" style="width: 240px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="大工序" width="100">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.大工序" size="small" style="width: 90px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="秒" width="80">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model.number="row.秒" size="small" style="width: 70px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="分" width="80">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.分" size="small" style="width: 70px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="定额分" width="100">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.定额分" size="small" style="width: 90px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="金额" width="100">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.金额" size="small" style="width: 90px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="难度系数" width="100">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.难度系数" size="small" style="width: 90px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="备注" width="150">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-input v-model="row.备注" size="small" style="width: 140px;" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="状态" width="100">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-select v-model="row.状态" size="small" style="width: 90px;">
|
|
|
+ <el-option :value="0" label="正常" />
|
|
|
+ <el-option :value="1" label="拆分" />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="操作" width="200">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-button size="small" type="primary" plain>修改</el-button>
|
|
|
+ <el-button size="small" type="success" plain>拆分</el-button>
|
|
|
+ <el-button size="small" type="danger" plain>删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
<!-- 修改颜色资料弹窗 -->
|
|
|
<el-dialog v-model="dialogFormVisible" :before-close="edit_closeDialog"
|
|
|
style="width: 80%; max-height: 80%; overflow-y: auto; margin-top: 4%;"
|
|
|
@@ -497,7 +649,8 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="款式" label-width="100px">
|
|
|
<el-select v-model="add_gdscgdformData['款式']" id="款式"
|
|
|
- @keydown="add_gdzlent($event, '订单数量', '款式', '落货日期')" placeholder="请选择款式">
|
|
|
+ filterable allow-create default-first-option
|
|
|
+ @keydown="add_gdzlent($event, '订单数量', '款式', '落货日期')" placeholder="请选择或输入款式">
|
|
|
<el-option v-for="style in productStyleList" :key="style" :label="style" :value="style" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
@@ -899,6 +1052,7 @@
|
|
|
|
|
|
<el-form-item label="款式" label-width="100px">
|
|
|
<el-select v-model="edit_ddformData['款式']" id='款式'
|
|
|
+ filterable allow-create default-first-option
|
|
|
@keydown="add_gdzlent($event, '订单数量', '款式', '落货日期')" placeholder="请选择款式">
|
|
|
<el-option v-for="style in productStyleList" :key="style" :label="style" :value="style" />
|
|
|
</el-select>
|
|
|
@@ -1180,84 +1334,105 @@
|
|
|
style="width: 80px;"
|
|
|
id="cm1"
|
|
|
@input="handleSizeInput('cm1')"
|
|
|
+ @keydown="add_gdzlent($event, '', 'cm1', 'cm2')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm2"
|
|
|
style="width: 80px;"
|
|
|
id="cm2"
|
|
|
@input="handleSizeInput('cm2')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm1', 'cm2', 'cm3')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm3"
|
|
|
style="width: 80px;"
|
|
|
id="cm3"
|
|
|
@input="handleSizeInput('cm3')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm2', 'cm3', 'cm4')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm4"
|
|
|
style="width: 80px;"
|
|
|
id="cm4"
|
|
|
@input="handleSizeInput('cm4')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm3', 'cm4', 'cm5')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm5"
|
|
|
style="width: 80px;"
|
|
|
id="cm5"
|
|
|
@input="handleSizeInput('cm5')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm4', 'cm5', 'cm6')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm6"
|
|
|
style="width: 80px;"
|
|
|
id="cm6"
|
|
|
@input="handleSizeInput('cm6')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm5', 'cm6', 'cm7')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm7"
|
|
|
style="width: 80px;"
|
|
|
id="cm7"
|
|
|
@input="handleSizeInput('cm7')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm6', 'cm7', 'cm8')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm8"
|
|
|
style="width: 80px;"
|
|
|
id="cm8"
|
|
|
@input="handleSizeInput('cm8')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm7', 'cm8', 'cm9')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm9"
|
|
|
style="width: 80px;"
|
|
|
id="cm9"
|
|
|
@input="handleSizeInput('cm9')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm8', 'cm9', 'cm10')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm10"
|
|
|
style="width: 80px;"
|
|
|
+ id="cm10"
|
|
|
@input="handleSizeInput('cm10')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm9', 'cm10', 'cm11')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm11"
|
|
|
style="width: 80px;"
|
|
|
+ id="cm11"
|
|
|
@input="handleSizeInput('cm11')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm10', 'cm11', 'cm12')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm12"
|
|
|
style="width: 80px;"
|
|
|
+ id="cm12"
|
|
|
@input="handleSizeInput('cm12')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm11', 'cm12', 'cm13')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm13"
|
|
|
style="width: 80px;"
|
|
|
+ id="cm13"
|
|
|
@input="handleSizeInput('cm13')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm12', 'cm13', 'cm14')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.cm14"
|
|
|
style="width: 80px;"
|
|
|
+ id="cm14"
|
|
|
@input="handleSizeInput('cm14')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm13', 'cm14', 'sctotal')"
|
|
|
/>
|
|
|
<el-input
|
|
|
v-model="cmformdata.sctotal"
|
|
|
style="width: 80px;"
|
|
|
+ id="sctotal"
|
|
|
@input="handleSizeInput('sctotal')"
|
|
|
+ @keydown="add_gdzlent($event, 'cm14', 'sctotal', 'zds1')"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -1712,6 +1887,7 @@
|
|
|
v-model="sortPartGyDialogVisible"
|
|
|
title="调整部件 / 工艺序号排序"
|
|
|
:width="'min(1280px, 90vw)'"
|
|
|
+ :max-height="'85vh'"
|
|
|
align-center
|
|
|
destroy-on-close
|
|
|
append-to-body
|
|
|
@@ -2076,7 +2252,7 @@
|
|
|
<el-form-item label="Excel文件">
|
|
|
<el-upload
|
|
|
ref="importProcessUploadRef"
|
|
|
- class="upload-demo"
|
|
|
+ class="upload-demo import-process-upload"
|
|
|
action="#"
|
|
|
:auto-upload="false"
|
|
|
:show-file-list="true"
|
|
|
@@ -2085,6 +2261,7 @@
|
|
|
:on-change="handleImportProcessFileChange"
|
|
|
:on-remove="handleImportProcessFileRemove"
|
|
|
:before-upload="beforeImportProcessUpload"
|
|
|
+ list-type="text"
|
|
|
>
|
|
|
<el-button type="primary" icon="upload">选择文件</el-button>
|
|
|
</el-upload>
|
|
|
@@ -2133,7 +2310,7 @@
|
|
|
getSuborder,PrintDataEdit,WorkOrderEdit,gdAnnexAdd,upload,OrderAttachments,
|
|
|
getPonumber,FabricEdit,orderBomList,FabricDetail,fabricList,Bomdel,delfujian,Read_File,Read_Add,PartList,GetProcessList,
|
|
|
AddPart,UpdatePartInfo,DeletePart,AddProcess,UpdateProcess,DeleteProcess,getproducttype,workorderprocessCopy,sortProcess,getProductStyleList,
|
|
|
- importProcess} from '@/api/mes/job'
|
|
|
+ importProcess,getWorkOrderInfo,getWorkOrderProcess,updateWorkOrderPlanManufacture} from '@/api/mes/job'
|
|
|
import {ParList,ProcessList} from '@/api/yunyin/product'
|
|
|
import PrintPage from './components/print.vue'
|
|
|
import luckyexcelPage from './components/luckyexcel.vue'
|
|
|
@@ -3515,37 +3692,48 @@ const sortTableData = ref([])
|
|
|
const n = Number(v)
|
|
|
return Number.isFinite(n) ? n : undefined
|
|
|
}
|
|
|
- const limit = req?.limit ?? PROCESS_LIB_LIST_LIMIT
|
|
|
const q = String(req?.search ?? '').trim()
|
|
|
- const params = { page: 1, limit }
|
|
|
- if (q) {
|
|
|
- params.search = q
|
|
|
- }
|
|
|
try {
|
|
|
- const res = await ProcessList(params)
|
|
|
+ // 使用 GetProcessList 获取当前工单的工艺数据
|
|
|
+ const res = await GetProcessList({ workorder: _Gd_gdbh.value })
|
|
|
if (res?.code !== 0) {
|
|
|
processLibNameOptions.value = []
|
|
|
processLibByName.value = {}
|
|
|
return
|
|
|
}
|
|
|
- const list = res?.data?.list ?? []
|
|
|
+ const list = res?.data ?? []
|
|
|
+
|
|
|
+ // 根据大工艺筛选数据
|
|
|
+ let filteredList = list
|
|
|
+ if (q) {
|
|
|
+ filteredList = list.filter((row) => {
|
|
|
+ const bp = String(row.big_process ?? row['大工艺'] ?? row['生产工序'] ?? '').trim()
|
|
|
+ // 车缝包含车缝和烫工(小烫按部件算)
|
|
|
+ if (q === '车缝') {
|
|
|
+ return bp === '车缝' || bp === '烫工'
|
|
|
+ }
|
|
|
+ // 其他工序直接匹配
|
|
|
+ return bp === q
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
const seen = new Set()
|
|
|
const opts = []
|
|
|
const byName = {}
|
|
|
- for (const row of list) {
|
|
|
+ for (const row of filteredList) {
|
|
|
const name = String(row.gy_name ?? row['工艺名称'] ?? '').trim()
|
|
|
if (!name || seen.has(name)) continue
|
|
|
seen.add(name)
|
|
|
- const sort = String(row.gy_sort ?? row.gy_code ?? row['工艺序号'] ?? '').trim()
|
|
|
- const bp = String(row.big_process ?? row['生产工序'] ?? '').trim()
|
|
|
+ const sort = String(row.gy_sort ?? row.gy_code ?? row['工艺序号'] ?? row['工艺编号'] ?? '').trim()
|
|
|
+ const bp = String(row.big_process ?? row['大工艺'] ?? row['生产工序'] ?? '').trim()
|
|
|
opts.push({ value: name, code: sort, big_process: bp })
|
|
|
byName[name] = {
|
|
|
gy_sort: sort,
|
|
|
- gy_code: String(row.gy_code ?? '').trim(),
|
|
|
+ gy_code: String(row.gy_code ?? row['工艺编号'] ?? '').trim(),
|
|
|
big_process: bp,
|
|
|
standard_hour: toNum(row.standard_hour ?? row['标准工时']),
|
|
|
- standard_score: toNum(row.standard_score ?? row['标准工分']),
|
|
|
- difficulty_coef: toNum(row.difficulty_coef ?? row['难度系数']) ?? 1,
|
|
|
+ standard_score: toNum(row.standard_score ?? row['标准公分'] ?? row['标准工分']),
|
|
|
+ difficulty_coef: toNum(row.difficulty_coef ?? row['系数'] ?? row['难度系数']) ?? 1,
|
|
|
}
|
|
|
}
|
|
|
processLibNameOptions.value = opts
|
|
|
@@ -3919,7 +4107,7 @@ const sortTableData = ref([])
|
|
|
try {
|
|
|
for (const row of validRows) {
|
|
|
const res = await AddPart({
|
|
|
- workorder: _Gd_gdbh.value,
|
|
|
+ workorder: _Gd_sckh.value,
|
|
|
part_name: row.part_name,
|
|
|
part_code: row.part_code,
|
|
|
part_type: row.part_type,
|
|
|
@@ -4110,7 +4298,7 @@ const sortTableData = ref([])
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 构建车缝工序的部件-工艺分组
|
|
|
+ // 构建车缝工序的部件-工艺分组(包含车缝和烫工)
|
|
|
const buildSortSewingGroups = (parts, processes) => {
|
|
|
const list = sortByPartSortAsc(Array.isArray(parts) ? parts : [])
|
|
|
console.log('部件列表:', list)
|
|
|
@@ -4130,7 +4318,8 @@ const sortTableData = ref([])
|
|
|
.filter((g) => {
|
|
|
const bigProcess = String(g.big_process ?? g.大工艺 ?? '').trim()
|
|
|
const processPartName = String(g.part_name ?? g.部件名称 ?? '').trim()
|
|
|
- const match = bigProcess === '车缝' && processPartName === partName
|
|
|
+ // 车缝包含车缝和烫工(小烫按部件算)
|
|
|
+ const match = (bigProcess === '车缝' || bigProcess === '烫工') && processPartName === partName
|
|
|
console.log('过滤工艺:', { bigProcess, processPartName, partName, match })
|
|
|
return match
|
|
|
})
|
|
|
@@ -4585,6 +4774,64 @@ const sortTableData = ref([])
|
|
|
visible.value = false;
|
|
|
}
|
|
|
|
|
|
+ // =========== 工艺资料详情弹窗 ===========
|
|
|
+ const gyDetailDialogVisible = ref(false)
|
|
|
+ const gyDetailFormData = reactive({
|
|
|
+ 订单编号: '',
|
|
|
+ 客户编号: '',
|
|
|
+ 生产款号: '',
|
|
|
+ 款式: '',
|
|
|
+ 落货日期: '',
|
|
|
+ 审核日期: '',
|
|
|
+ 接单日期: '',
|
|
|
+ 审核: '',
|
|
|
+ 订单数量: '',
|
|
|
+ 计划制造工分: '',
|
|
|
+ 工艺列表: []
|
|
|
+ })
|
|
|
+
|
|
|
+ const gdgyupdateCompanyFunc = async (row) => {
|
|
|
+ const workorder = _Gd_gdbh.value || row['订单编号'] || ''
|
|
|
+ if (!workorder) {
|
|
|
+ ElMessage.warning('请先选择订单')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ // 获取订单信息
|
|
|
+ const orderInfoRes = await getWorkOrderInfo({ workorder })
|
|
|
+ if (orderInfoRes.code === 0 && orderInfoRes.data) {
|
|
|
+ const data = orderInfoRes.data
|
|
|
+ gyDetailFormData.订单编号 = data['订单编号'] || ''
|
|
|
+ gyDetailFormData.客户编号 = data['客户编号'] || ''
|
|
|
+ gyDetailFormData.生产款号 = data['生产款号'] || ''
|
|
|
+ gyDetailFormData.款式 = data['款式'] || ''
|
|
|
+ gyDetailFormData.落货日期 = data['落货日期'] || ''
|
|
|
+ gyDetailFormData.审核日期 = data['审核日期'] || ''
|
|
|
+ gyDetailFormData.接单日期 = data['接单日期'] || ''
|
|
|
+ gyDetailFormData.审核 = data['审核'] || ''
|
|
|
+ gyDetailFormData.订单数量 = data['订单数量'] || ''
|
|
|
+ gyDetailFormData.计划制造工分 = data['计划制造工分'] || ''
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取工艺列表
|
|
|
+ const processRes = await getWorkOrderProcess({ workorder })
|
|
|
+ if (processRes.code === 0 && Array.isArray(processRes.data)) {
|
|
|
+ gyDetailFormData.工艺列表 = processRes.data
|
|
|
+ } else {
|
|
|
+ gyDetailFormData.工艺列表 = []
|
|
|
+ }
|
|
|
+
|
|
|
+ gyDetailDialogVisible.value = true
|
|
|
+ } catch (error) {
|
|
|
+ console.error('获取工艺资料详情失败', error)
|
|
|
+ ElMessage.error('获取工艺资料详情失败')
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ const closeGyDetailDialog = () => {
|
|
|
+ gyDetailDialogVisible.value = false
|
|
|
+ }
|
|
|
|
|
|
// =========== 订单打印 ===========
|
|
|
//弹窗
|
|
|
@@ -5615,12 +5862,12 @@ const sortTableData = ref([])
|
|
|
}
|
|
|
|
|
|
const formData = new FormData()
|
|
|
- formData.append('workorder', _Gd_sckh.value)
|
|
|
+ formData.append('workorder', _Gd_gdbh.value)
|
|
|
formData.append('file', importProcessFile)
|
|
|
formData.append('sys_id', userStore.userInfo.nickName)
|
|
|
|
|
|
// 调试:检查 formData 内容
|
|
|
- console.log('workorder:', _Gd_sckh.value)
|
|
|
+ console.log('workorder:', _Gd_gdbh.value)
|
|
|
console.log('sys_id:', userStore.userInfo.nickName)
|
|
|
console.log('formData entries:', [...formData.entries()])
|
|
|
|
|
|
@@ -5781,6 +6028,9 @@ const sortTableData = ref([])
|
|
|
::v-deep(.el-upload-list--picture-card) {
|
|
|
margin-left: 100px;
|
|
|
}
|
|
|
+ ::v-deep(.import-process-upload .el-upload__input) {
|
|
|
+ display: none !important;
|
|
|
+ }
|
|
|
::v-deep(.el-checkbox__inner) {
|
|
|
width: 20px;
|
|
|
height: 20px;
|