✨ feat(mes): 添加工单状态过滤功能
parent
06b00efcbe
commit
0d13f32654
|
|
@ -25,6 +25,7 @@
|
|||
<ProWorkOrderSelect
|
||||
v-if="formType === 'create'"
|
||||
v-model="formData.workOrderId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
placeholder="请选择工单(可选)"
|
||||
/>
|
||||
<el-input v-else :model-value="formData.workOrderCode || '-'" disabled />
|
||||
|
|
@ -119,7 +120,7 @@ import { ProAndonConfigVO } from '@/api/mes/pro/andon/config'
|
|||
import { DICT_TYPE } from '@/utils/dict'
|
||||
import { useUserStoreWithOut } from '@/store/modules/user'
|
||||
import { formatDate } from '@/utils/formatTime'
|
||||
import { MesProAndonStatusEnum } from '@/views/mes/utils/constants'
|
||||
import { MesProAndonStatusEnum, MesProWorkOrderStatusEnum } from '@/views/mes/utils/constants'
|
||||
import MdWorkstationSelect from '@/views/mes/md/workstation/components/MdWorkstationSelect.vue'
|
||||
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
||||
import ProProcessSelect from '@/views/mes/pro/process/components/ProProcessSelect.vue'
|
||||
|
|
|
|||
|
|
@ -25,7 +25,11 @@
|
|||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="生产工单" prop="workOrderId">
|
||||
<ProWorkOrderSelect v-model="formData.workOrderId" :disabled="isHeaderReadonly" />
|
||||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
:disabled="isHeaderReadonly"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -100,7 +104,11 @@ import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
|
|||
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
||||
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
||||
import CardProcessList from './CardProcessList.vue'
|
||||
import { MesProCardStatusEnum, MesAutoCodeRuleCode } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesProCardStatusEnum,
|
||||
MesProWorkOrderStatusEnum,
|
||||
MesAutoCodeRuleCode
|
||||
} from '@/views/mes/utils/constants'
|
||||
|
||||
defineOptions({ name: 'CardForm' })
|
||||
const emit = defineEmits(['success'])
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
<el-form-item label="生产工单" prop="workOrderId">
|
||||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
:disabled="isHeaderReadonly"
|
||||
placeholder="请选择工单"
|
||||
@change="handleWorkOrderChange"
|
||||
|
|
@ -294,7 +295,11 @@ import UserSelectV2 from '@/views/system/user/components/UserSelectV2.vue'
|
|||
import ItemConsumeList from './ItemConsumeList.vue'
|
||||
import ProductProduceList from './ProductProduceList.vue'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import { MesAutoCodeRuleCode, MesProFeedbackStatusEnum } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesAutoCodeRuleCode,
|
||||
MesProFeedbackStatusEnum,
|
||||
MesProWorkOrderStatusEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
|
||||
defineOptions({ name: 'FeedbackForm' })
|
||||
const emit = defineEmits(['success'])
|
||||
|
|
|
|||
|
|
@ -40,7 +40,12 @@
|
|||
</el-tooltip>
|
||||
</div>
|
||||
<!-- 弹窗必须放在 div 外部,否则弹窗内的点击事件会冒泡到 div 触发 handleClick -->
|
||||
<ProWorkOrderSelectDialog ref="dialogRef" :multiple="false" @selected="handleSelected" />
|
||||
<ProWorkOrderSelectDialog
|
||||
ref="dialogRef"
|
||||
:multiple="false"
|
||||
:status="status"
|
||||
@selected="handleSelected"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
|
@ -60,6 +65,7 @@ const props = withDefaults(
|
|||
disabled?: boolean // 是否禁用
|
||||
clearable?: boolean // 是否允许清空
|
||||
placeholder?: string // 占位文字
|
||||
status?: number // 弹窗打开时的默认状态过滤(透传给 Dialog)
|
||||
}>(),
|
||||
{
|
||||
disabled: false,
|
||||
|
|
|
|||
|
|
@ -35,7 +35,26 @@
|
|||
<MdItemSelect v-model="queryParams.productId" placeholder="请选择产品" class="!w-240px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="客户">
|
||||
<MdClientSelect v-model="queryParams.clientId" placeholder="请选择客户" class="!w-240px" />
|
||||
<MdClientSelect
|
||||
v-model="queryParams.clientId"
|
||||
placeholder="请选择客户"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="工单状态">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
placeholder="请选择状态"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.MES_PRO_WORK_ORDER_STATUS)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="handleQuery"><Icon icon="ep:search" />搜索</el-button>
|
||||
|
|
@ -80,7 +99,10 @@
|
|||
<el-table-column label="工单名称" align="center" prop="name" min-width="200" />
|
||||
<el-table-column label="工单来源" align="center" prop="orderSourceType" width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MES_PRO_WORK_ORDER_SOURCE_TYPE" :value="scope.row.orderSourceType" />
|
||||
<dict-tag
|
||||
:type="DICT_TYPE.MES_PRO_WORK_ORDER_SOURCE_TYPE"
|
||||
:value="scope.row.orderSourceType"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="订单编号" align="center" prop="orderSourceCode" width="140" />
|
||||
|
|
@ -91,6 +113,11 @@
|
|||
<el-table-column label="工单数量" align="center" prop="quantity" width="100" />
|
||||
<el-table-column label="客户编码" align="center" prop="clientCode" width="120" />
|
||||
<el-table-column label="客户名称" align="center" prop="clientName" min-width="120" />
|
||||
<el-table-column label="工单状态" align="center" prop="status" width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MES_PRO_WORK_ORDER_STATUS" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="需求日期"
|
||||
align="center"
|
||||
|
|
@ -125,6 +152,7 @@ defineOptions({ name: 'ProWorkOrderSelectDialog' })
|
|||
const props = withDefaults(
|
||||
defineProps<{
|
||||
multiple?: boolean // true 多选(checkbox),false 单选(radio)
|
||||
status?: number // 打开弹窗时的默认状态过滤(不传则不预设)
|
||||
}>(),
|
||||
{
|
||||
multiple: true
|
||||
|
|
@ -187,7 +215,8 @@ const queryParams = reactive({
|
|||
code: undefined as string | undefined, // 工单编码
|
||||
name: undefined as string | undefined, // 工单名称
|
||||
productId: undefined as number | undefined, // 产品编号
|
||||
clientId: undefined as number | undefined // 客户编号
|
||||
clientId: undefined as number | undefined, // 客户编号
|
||||
status: undefined as number | undefined // 工单状态
|
||||
})
|
||||
|
||||
/** 查询工单列表 */
|
||||
|
|
@ -240,6 +269,7 @@ const resetQuery = () => {
|
|||
queryParams.name = undefined
|
||||
queryParams.productId = undefined
|
||||
queryParams.clientId = undefined
|
||||
queryParams.status = props.status
|
||||
handleQuery()
|
||||
}
|
||||
|
||||
|
|
@ -271,6 +301,7 @@ const open = async (selectedIds?: number[]) => {
|
|||
queryParams.name = undefined
|
||||
queryParams.productId = undefined
|
||||
queryParams.clientId = undefined
|
||||
queryParams.status = props.status
|
||||
queryParams.pageNo = 1
|
||||
// 清空上一次的选中状态
|
||||
selectedRows.value = []
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@
|
|||
<el-form-item label="生产工单" prop="workOrderId">
|
||||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
placeholder="请选择生产工单"
|
||||
class="!w-1/1"
|
||||
:disabled="isFromPendingTask"
|
||||
|
|
@ -296,7 +297,12 @@ import ProTaskSelect from '@/views/mes/pro/task/components/ProTaskSelect.vue'
|
|||
import UserSelectV2 from '@/views/system/user/components/UserSelectV2.vue'
|
||||
import IpqcLineList from './IpqcLineList.vue'
|
||||
import QcIndicatorResultList from '@/views/mes/qc/indicatorresult/components/QcIndicatorResultList.vue'
|
||||
import { MesQcTypeEnum, MesQcStatusEnum, MesAutoCodeRuleCode } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesQcTypeEnum,
|
||||
MesQcStatusEnum,
|
||||
MesAutoCodeRuleCode,
|
||||
MesProWorkOrderStatusEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
|
||||
defineOptions({ name: 'IpqcForm' })
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,12 @@
|
|||
label="工单"
|
||||
prop="bizId"
|
||||
>
|
||||
<ProWorkOrderSelect v-model="formData.bizId" @change="handleBizSelect" class="!w-1//1" />
|
||||
<ProWorkOrderSelect
|
||||
v-model="formData.bizId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
@change="handleBizSelect"
|
||||
class="!w-1//1"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-else-if="formData.bizType === BarcodeBizTypeEnum.MACHINERY"
|
||||
|
|
@ -209,7 +214,7 @@
|
|||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||
import { CommonStatusEnum } from '@/utils/constants'
|
||||
import { WmBarcodeApi, type WmBarcodeVO } from '@/api/mes/wm/barcode'
|
||||
import { BarcodeBizTypeEnum } from '@/views/mes/utils/constants'
|
||||
import { BarcodeBizTypeEnum, MesProWorkOrderStatusEnum } from '@/views/mes/utils/constants'
|
||||
import WmWarehouseSelect from '@/views/mes/wm/warehouse/components/WmWarehouseSelect.vue'
|
||||
import WmWarehouseAreaSelect from '@/views/mes/wm/warehouse/components/WmWarehouseAreaSelect.vue'
|
||||
import WmWarehouseLocationSelect from '@/views/mes/wm/warehouse/components/WmWarehouseLocationSelect.vue'
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:type="MesProWorkOrderTypeEnum.OUTSOURCE"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
:disabled="isHeaderReadonly"
|
||||
@change="handleWorkOrderChange"
|
||||
/>
|
||||
|
|
@ -109,7 +110,12 @@ import MdVendorSelect from '@/views/mes/md/vendor/components/MdVendorSelect.vue'
|
|||
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
||||
import OutsourceIssueLineList from './OutsourceIssueLineList.vue'
|
||||
import { ProWorkOrderVO } from '@/api/mes/pro/workorder'
|
||||
import { MesAutoCodeRuleCode, MesWmOutsourceIssueStatusEnum, MesProWorkOrderTypeEnum } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesAutoCodeRuleCode,
|
||||
MesProWorkOrderStatusEnum,
|
||||
MesWmOutsourceIssueStatusEnum,
|
||||
MesProWorkOrderTypeEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
|
||||
defineOptions({ name: 'OutsourceIssueForm' })
|
||||
const emit = defineEmits(['success'])
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:type="MesProWorkOrderTypeEnum.OUTSOURCE"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
:disabled="isHeaderReadonly"
|
||||
@change="handleWorkOrderChange"
|
||||
/>
|
||||
|
|
@ -111,6 +112,7 @@ import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrde
|
|||
import OutsourceReceiptLineList from './OutsourceReceiptLineList.vue'
|
||||
import {
|
||||
MesProWorkOrderTypeEnum,
|
||||
MesProWorkOrderStatusEnum,
|
||||
MesWmOutsourceReceiptStatusEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,10 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="生产工单" prop="workOrderId">
|
||||
<ProWorkOrderSelect v-model="formData.workOrderId" />
|
||||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
@ -100,6 +103,7 @@
|
|||
import { dateFormatter2 } from '@/utils/formatTime'
|
||||
import { WmPackageLineApi, WmPackageLineVO } from '@/api/mes/wm/packages/line'
|
||||
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
||||
import { MesProWorkOrderStatusEnum } from '@/views/mes/utils/constants'
|
||||
import MdItemSelect from '@/views/mes/md/item/components/MdItemSelect.vue'
|
||||
|
||||
defineOptions({ name: 'PackageLineList' })
|
||||
|
|
|
|||
|
|
@ -45,7 +45,11 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="生产工单" prop="workOrderId">
|
||||
<ProWorkOrderSelect v-model="formData.workOrderId" :disabled="isHeaderReadonly" />
|
||||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
:disabled="isHeaderReadonly"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
@ -96,7 +100,11 @@
|
|||
<script setup lang="ts">
|
||||
import { WmProductIssueApi, WmProductIssueVO } from '@/api/mes/wm/productissue'
|
||||
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
|
||||
import { MesAutoCodeRuleCode, MesWmProductIssueStatusEnum } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesAutoCodeRuleCode,
|
||||
MesProWorkOrderStatusEnum,
|
||||
MesWmProductIssueStatusEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
||||
import MdWorkstationSelect from '@/views/mes/md/workstation/components/MdWorkstationSelect.vue'
|
||||
import ProductIssueLineList from './ProductIssueLineList.vue'
|
||||
|
|
|
|||
|
|
@ -47,7 +47,11 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="生产工单" prop="workOrderId">
|
||||
<ProWorkOrderSelect v-model="formData.workOrderId" :disabled="isHeaderReadonly" />
|
||||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
:disabled="isHeaderReadonly"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -97,7 +101,11 @@ import { WmProductReceiptApi, WmProductReceiptVO } from '@/api/mes/wm/productrec
|
|||
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
|
||||
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
||||
import ProductReceiptLineList from './ProductReceiptLineList.vue'
|
||||
import { MesAutoCodeRuleCode, MesWmProductReceiptStatusEnum } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesAutoCodeRuleCode,
|
||||
MesProWorkOrderStatusEnum,
|
||||
MesWmProductReceiptStatusEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
|
||||
defineOptions({ name: 'ProductReceiptForm' })
|
||||
const emit = defineEmits(['success'])
|
||||
|
|
|
|||
|
|
@ -49,7 +49,11 @@
|
|||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="生产工单" prop="workOrderId">
|
||||
<ProWorkOrderSelect v-model="formData.workOrderId" :disabled="isHeaderReadonly" />
|
||||
<ProWorkOrderSelect
|
||||
v-model="formData.workOrderId"
|
||||
:status="MesProWorkOrderStatusEnum.CONFIRMED"
|
||||
:disabled="isHeaderReadonly"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
@ -113,7 +117,11 @@
|
|||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||
import { WmReturnIssueApi, WmReturnIssueVO } from '@/api/mes/wm/returnissue'
|
||||
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
|
||||
import { MesAutoCodeRuleCode, MesWmReturnIssueStatusEnum } from '@/views/mes/utils/constants'
|
||||
import {
|
||||
MesAutoCodeRuleCode,
|
||||
MesProWorkOrderStatusEnum,
|
||||
MesWmReturnIssueStatusEnum
|
||||
} from '@/views/mes/utils/constants'
|
||||
import ProWorkOrderSelect from '@/views/mes/pro/workorder/components/ProWorkOrderSelect.vue'
|
||||
import MdWorkstationSelect from '@/views/mes/md/workstation/components/MdWorkstationSelect.vue'
|
||||
import ReturnIssueLineList from './ReturnIssueLineList.vue'
|
||||
|
|
|
|||
Loading…
Reference in New Issue