feat(产品工单管理): 添加物料选择下拉框并调整字段显示
- 在查询条件中添加物料选择下拉框,替代原有的产品名称和编号输入框 - 调整表格列顺序和宽度,优化显示效果 - 将"原材料批次"字段标签改为"原料领料批次" - 修改相关字段的提示信息和校验规则
This commit is contained in:
@@ -59,8 +59,9 @@
|
||||
</el-row>
|
||||
|
||||
<el-table :data="dataList" v-loading="loading" border header-cell-class-name="el-table-header-cell" highlight-current-row @sort-change="sortChange">
|
||||
<el-table-column prop="orderNoMes" label="订单号" align="center" v-if="columns.showColumn('orderNoMes')" min-width="150" />
|
||||
<el-table-column prop="importDate" label="导入日期" v-if="columns.showColumn('importDate')" min-width="120" />
|
||||
<el-table-column prop="orderNoMes" label="订单号" align="center" v-if="columns.showColumn('orderNoMes')" min-width="150" />
|
||||
|
||||
<el-table-column prop="purchaseOrderErp" label="采购单号" align="center" v-if="columns.showColumn('purchaseOrderErp')" min-width="150" />
|
||||
<el-table-column prop="status" label="状态" align="center" v-if="columns.showColumn('status')" min-width="100">
|
||||
<template #default="scope">
|
||||
|
||||
@@ -42,16 +42,22 @@
|
||||
<el-form-item label="订单号" prop="customerOrder">
|
||||
<el-input v-model.trim="queryParams.customerOrder" clearable placeholder="请输入订单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="原材料批次" prop="feedOrder">
|
||||
<el-input v-model.trim="queryParams.feedOrder" clearable placeholder="请输入原材料批次" />
|
||||
<el-form-item label="原料领料批次" prop="feedOrder">
|
||||
<el-input v-model.trim="queryParams.feedOrder" clearable placeholder="请输入原料领料批次" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<el-form-item label="产品名称" prop="productionName">
|
||||
<el-input v-model.trim="queryParams.productionName" clearable placeholder="请输入产品名称" />
|
||||
<!-- <el-form-item label="主体品名" prop="productionName">
|
||||
<el-input v-model.trim="queryParams.productionName" clearable placeholder="请输入主体品名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="产品编号" prop="productionCode">
|
||||
<el-input v-model.trim="queryParams.productionCode" clearable placeholder="请输入产品编号" />
|
||||
<el-form-item label="主体型号" prop="productionCode">
|
||||
<el-input v-model.trim="queryParams.productionCode" clearable placeholder="请输入主体型号" />
|
||||
</el-form-item> -->
|
||||
<!-- 调整为下拉选择,传参为 materialCode -->
|
||||
<el-form-item label="物料" prop="materialCode">
|
||||
<el-select v-model="queryParams.materialCode" placeholder="请选择物料">
|
||||
<el-option label="全部" value="" />
|
||||
<el-option v-for="(item, index) in allMaterialOptions" :key="index" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
|
||||
@@ -94,8 +100,8 @@
|
||||
<el-link @click="handleUpdate(scope.row)" type="primary">{{ scope.row.workorder }}</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="productionName" label="主体品名" width="240" />
|
||||
<el-table-column prop="productionCode" label="主体型号" width="160" />
|
||||
<el-table-column prop="productionName" label="主体品名" width="280" />
|
||||
<el-table-column prop="productionCode" label="主体型号" width="180" />
|
||||
<el-table-column prop="stoveCode" label="炉号" width="100" />
|
||||
<el-table-column prop="planNum" align="center" label="计划数" width="60" />
|
||||
<el-table-column prop="shipmentNum" align="center" label="出货数" width="60" />
|
||||
@@ -391,6 +397,7 @@ import {
|
||||
WorkOrderLog,
|
||||
printByBarTender
|
||||
} from '@/api/productManagement/proworkorder.js'
|
||||
import { getMaterialOption } from '@/api/materialManagement/productionMaterial/mminventory.js'
|
||||
import { getOneDict } from '@/utils/dict.js'
|
||||
import { downFile } from '@/utils/request.js'
|
||||
|
||||
@@ -410,6 +417,7 @@ const queryParams = reactive({
|
||||
groupCode: '',
|
||||
workorderDate: [proxy.dayjs(), proxy.dayjs()],
|
||||
status: -1,
|
||||
materialCode: '',
|
||||
sort: 'sort',
|
||||
sortType: 'asc'
|
||||
})
|
||||
@@ -464,6 +472,28 @@ function getAllGroupSelectOptions() {
|
||||
getAllGroupSelectOptions()
|
||||
// ==================================
|
||||
|
||||
// =========== 获取所有物料 ==========
|
||||
const allMaterialOptions = ref([])
|
||||
function getMaterialCodeList() {
|
||||
try {
|
||||
getMaterialOption('materialCode').then((res) => {
|
||||
const { code, data } = res
|
||||
if (code == 200) {
|
||||
allMaterialOptions.value = data.map((item) => {
|
||||
return {
|
||||
id: item.id,
|
||||
label: `${item.type || ''} ${item.materialCode} ${item.materialName} [${item.supplierName || ''}]`,
|
||||
value: item.materialCode
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
proxy.$modal.msgError(error.message)
|
||||
}
|
||||
}
|
||||
// ==================================
|
||||
|
||||
// 校验搜索
|
||||
function handleCheck() {
|
||||
loading.value = true
|
||||
@@ -533,7 +563,7 @@ function sortChange(column) {
|
||||
}
|
||||
|
||||
function tableCellClassName({ row, column, rowIndex, columnIndex }) {
|
||||
if (row.isMatch_material_name === null && column.label === '产品名称') {
|
||||
if (row.isMatch_material_name === null && column.label === '主体品名') {
|
||||
return 'danger-cell-1'
|
||||
}
|
||||
if (row.isMatch_material_code === null && column.label === '物料编号') {
|
||||
@@ -561,7 +591,7 @@ const state = reactive({
|
||||
multiple: true,
|
||||
form: {},
|
||||
rules: {
|
||||
productionName: [{ required: true, message: '产品名称不能为空', trigger: 'blur' }],
|
||||
productionName: [{ required: true, message: '主体品名不能为空', trigger: 'blur' }],
|
||||
productionCode: [{ required: true, message: '物料编号不能为空', trigger: 'blur' }],
|
||||
deliveryNum: [{ required: true, message: '交互数量不能为空', trigger: 'blur' }],
|
||||
groupCode: [{ required: true, message: '组别不能为空', trigger: 'blur' }],
|
||||
@@ -1021,6 +1051,7 @@ function handleShipmentSubmit(data) {
|
||||
}
|
||||
|
||||
// initDict()
|
||||
getMaterialCodeList()
|
||||
handleQuery()
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user