feat(生产管理): 增强BOM信息展示并调整工序配置
- 在BOM选择下拉框中同时显示编号和名称,格式为“编号 - 名称”
- 在工艺路线列表、详情页和BOM管理页面新增BOM名称字段
- 将工序配置中的“是否质检”改为“是否报工”开关
- 移除工序列表中的“是否质检”列显示
| | |
| | | <el-option |
| | | v-for="item in bomOptions" |
| | | :key="item.id" |
| | | :label="item.bomNo || `BOM-${item.id}`" |
| | | :label="(item.bomNo || '') + (item.bomName ? ' - ' + item.bomName : '') || `BOM-${item.id}`" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-option |
| | | v-for="item in bomOptions" |
| | | :key="item.id" |
| | | :label="item.bomNo || `BOM-${item.id}`" |
| | | :label="(item.bomNo || '') + (item.bomName ? ' - ' + item.bomName : '') || `BOM-${item.id}`" |
| | | :value="item.id" |
| | | /> |
| | | </el-select> |
| | |
| | | prop: "bomNo", |
| | | }, |
| | | { |
| | | label: "BOM名称", |
| | | prop: "bomName", |
| | | }, |
| | | { |
| | | label: "描述", |
| | | prop: "description", |
| | | }, |
| | |
| | | productName: row.productName || '', |
| | | model: row.model || '', |
| | | bomNo: row.bomNo || '', |
| | | bomName: row.bomName || '', |
| | | description: row.description || '', |
| | | type: 'route', |
| | | } |
| | |
| | | <span class="info-value">{{ routeInfo.bomNo || '-' }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="info-item"> |
| | | <div class="info-label-wrapper"> |
| | | <span class="info-label">BOM名称</span> |
| | | </div> |
| | | <div class="info-value-wrapper"> |
| | | <span class="info-value">{{ routeInfo.bomName || '-' }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="info-item full-width" v-if="routeInfo.description"> |
| | | <div class="info-label-wrapper"> |
| | | <span class="info-label">描述</span> |
| | |
| | | productName: route.query.productName || '', |
| | | model: route.query.model || '', |
| | | bomNo: route.query.bomNo || '', |
| | | bomName: route.query.bomName || '', |
| | | description: route.query.description || '' |
| | | }; |
| | | }; |
| | |
| | | <el-dialog v-model="dialogVisible" :title="operationType === 'add' ? '新增BOM' : '编辑BOM'" width="600px" |
| | | @close="closeDialog"> |
| | | <el-form ref="formRef" :model="form" :rules="rules" label-width="120px"> |
| | | <el-form-item label="BOM名称" prop="bomName"> |
| | | <el-input v-model="form.bomName" placeholder="请输入BOM名称" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="产品名称" prop="productModelId"> |
| | | <el-button type="primary" @click="showProductSelectDialog = true"> |
| | | {{ form.productName || '选择产品' }} |
| | |
| | | dataType: 'slot', |
| | | slot: "detail", |
| | | minWidth: 140 |
| | | }, |
| | | { |
| | | label: "BOM名称", |
| | | prop: "bomName", |
| | | minWidth: 160 |
| | | }, |
| | | { |
| | | label: "产品名称", |
| | |
| | | const data = reactive({ |
| | | form: { |
| | | id: undefined, |
| | | bomName: "", |
| | | productName: "", |
| | | productModelName: "", |
| | | productModelId: "", |
| | |
| | | version: "" |
| | | }, |
| | | rules: { |
| | | bomName: [{ required: true, message: "请输入BOM名称", trigger: "blur" }], |
| | | productModelId: [{ required: true, message: "请选择产品", trigger: "change" }], |
| | | version: [{ required: true, message: "请输入版本号", trigger: "blur" }] |
| | | } |
| | |
| | | operationType.value = 'add'; |
| | | Object.assign(form.value, { |
| | | id: undefined, |
| | | bomName: "", |
| | | productName: "", |
| | | productModelName: "", |
| | | productModelId: "", |
| | |
| | | operationType.value = 'edit'; |
| | | Object.assign(form.value, { |
| | | id: row.id, |
| | | bomName: row.bomName || "", |
| | | productName: row.productName || "", |
| | | productModelName: row.productModelName || "", |
| | | productModelId: row.productModelId || "", |
| | |
| | | <template #append>元</template> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="是否质检" prop="isQuality"> |
| | | <el-switch v-model="formState.isQuality" :active-value="true" inactive-value="false"/> |
| | | <el-form-item label="是否报工" prop="isReportWork"> |
| | | <el-switch v-model="formState.isReportWork" :active-value="true" :inactive-value="false"/> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="是否质检" prop="isQuality"> |
| | | <el-switch v-model="formState.isQuality" :active-value="true" inactive-value="false"/> |
| | | </el-form-item> --> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="formState.remark" type="textarea" /> |
| | | </el-form-item> |
| | |
| | | remark: '', |
| | | salaryQuota: '', |
| | | isQuality: false, |
| | | isReportWork: false, |
| | | }); |
| | | |
| | | const isShow = computed({ |
| | |
| | | label: "工资定额", |
| | | prop: "salaryQuota", |
| | | }, |
| | | { |
| | | label: "是否质检", |
| | | prop: "isQuality", |
| | | formatData: (params) => { |
| | | return params ? "是" : "否"; |
| | | }, |
| | | }, |
| | | // { |
| | | // label: "是否报工", |
| | | // prop: "isReportWork", |
| | | // formatData: (params) => { |
| | | // return params ? "是" : "否"; |
| | | // }, |
| | | // }, |
| | | { |
| | | label: "备注", |
| | | prop: "remark", |