| | |
| | | |
| | | <!-- 表格视图 --> |
| | | <div v-if="viewMode === 'table'" class="section-header"> |
| | | <div class="section-title">产品部件列表</div> |
| | | <div class="section-title">工序列表</div> |
| | | <div class="section-actions"> |
| | | <el-button |
| | | icon="Grid" |
| | |
| | | class="lims-table" |
| | | > |
| | | <el-table-column align="center" label="序号" width="60" type="index" /> |
| | | <el-table-column label="产品名称" prop="name" min-width="140" show-overflow-tooltip> |
| | | <el-table-column label="部件名称" prop="name" min-width="140" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ getProcessField(scope.row, 'name') }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="产品规格" prop="productModel" min-width="120" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ getProcessField(scope.row, 'productModel') }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="部件编号" prop="no" width="120" show-overflow-tooltip> |
| | |
| | | <el-table-column label="部件类型" prop="typeText" width="120" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ getProcessTypeText(getProcessRaw(scope.row)?.type) || '-' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="产品名称" prop="productName" min-width="140" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ scope.row.productName || getProcessField(scope.row, 'productName') }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="产品规格" prop="productModel" min-width="120" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ scope.row.model || getProcessField(scope.row, 'productModel') }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="计划工时(小时)" prop="salaryQuota" width="130" align="center"> |
| | |
| | | <!-- 卡片视图 --> |
| | | <template v-else> |
| | | <div class="section-header"> |
| | | <div class="section-title">工艺路线项目列表</div> |
| | | <div class="section-title">工序列表</div> |
| | | <div class="section-actions"> |
| | | <el-button |
| | | icon="Menu" |
| | |
| | | <!-- 与工序主表一致的简要信息 --> |
| | | <div class="card-content"> |
| | | <div class="product-info"> |
| | | <div class="product-name">{{ getProcessField(item, 'productModel') }}</div> |
| | | <div class="product-name">{{ item.productName || getProcessField(item, 'productName') }}</div> |
| | | <div class="product-model">{{ item.model || getProcessField(item, 'productModel') }}</div> |
| | | <div v-if="getProcessRaw(item)?.no" class="product-model">编号 {{ getProcessRaw(item)?.no }}</div> |
| | | <div v-if="getProcessTypeText(getProcessRaw(item)?.type)" class="product-model"> |
| | | {{ getProcessTypeText(getProcessRaw(item)?.type) }} |
| | |
| | | <!-- 新增/编辑弹窗(布局、字段与工序/部件页 New、Edit 一致;提交参数仍为原接口字段) --> |
| | | <el-dialog |
| | | v-model="dialogVisible" |
| | | :title="operationType === 'add' ? '新增工艺路线项目' : '编辑工艺路线项目'" |
| | | :title="operationType === 'add' ? '新增工序' : '编辑工序'" |
| | | width="760" |
| | | @close="closeDialog" |
| | | > |
| | |
| | | const submitLoading = ref(false); |
| | | const cardsContainer = ref(null); |
| | | const tableRef = ref(null); |
| | | const viewMode = ref('table'); // table | card |
| | | const viewMode = ref('card'); // table | card |
| | | const routeInfo = ref({ |
| | | processRouteCode: '', |
| | | productName: '', |