main
chenshuichuan 2 years ago
parent 66779370f2
commit ee7ea361f3

@ -27,8 +27,13 @@ export const ProductApi = {
// 查询产品精简列表
getProductSimpleList: async () => {
return await request.get({ url: `/erp/product/simple-list` })
return await request.get({ url: `/erp/product/simple-list-product` })
},
// 查询原料精简列表
getItemSimpleList: async () => {
return await request.get({ url: `/erp/product/simple-list-item` })
},
// 查询产品详情
getProduct: async (id: number) => {

@ -101,150 +101,141 @@ export const getDictLabel = (dictType: string, value: any): string => {
}
export enum DICT_TYPE {
USER_TYPE = 'user_type',
COMMON_STATUS = 'common_status',
TERMINAL = 'terminal',// 终端
DATE_INTERVAL = 'date_interval',// 数据间隔
USER_TYPE = 'user_type',
COMMON_STATUS = 'common_status',
TERMINAL = 'terminal',// 终端
DATE_INTERVAL = 'date_interval',// 数据间隔
// ========== SYSTEM 模块 ==========
SYSTEM_USER_SEX = 'system_user_sex',
SYSTEM_MENU_TYPE = 'system_menu_type',
SYSTEM_ROLE_TYPE = 'system_role_type',
SYSTEM_DATA_SCOPE = 'system_data_scope',
SYSTEM_NOTICE_TYPE = 'system_notice_type',
SYSTEM_LOGIN_TYPE = 'system_login_type',
SYSTEM_LOGIN_RESULT = 'system_login_result',
SYSTEM_SMS_CHANNEL_CODE = 'system_sms_channel_code',
SYSTEM_SMS_TEMPLATE_TYPE = 'system_sms_template_type',
SYSTEM_SMS_SEND_STATUS = 'system_sms_send_status',
SYSTEM_SMS_RECEIVE_STATUS = 'system_sms_receive_status',
SYSTEM_ERROR_CODE_TYPE = 'system_error_code_type',
SYSTEM_OAUTH2_GRANT_TYPE = 'system_oauth2_grant_type',
SYSTEM_MAIL_SEND_STATUS = 'system_mail_send_status',
SYSTEM_NOTIFY_TEMPLATE_TYPE = 'system_notify_template_type',
SYSTEM_SOCIAL_TYPE = 'system_social_type',
SYSTEM_USER_SEX = 'system_user_sex',
SYSTEM_MENU_TYPE = 'system_menu_type',
SYSTEM_ROLE_TYPE = 'system_role_type',
SYSTEM_DATA_SCOPE = 'system_data_scope',
SYSTEM_NOTICE_TYPE = 'system_notice_type',
SYSTEM_LOGIN_TYPE = 'system_login_type',
SYSTEM_LOGIN_RESULT = 'system_login_result',
SYSTEM_SMS_CHANNEL_CODE = 'system_sms_channel_code',
SYSTEM_SMS_TEMPLATE_TYPE = 'system_sms_template_type',
SYSTEM_SMS_SEND_STATUS = 'system_sms_send_status',
SYSTEM_SMS_RECEIVE_STATUS = 'system_sms_receive_status',
SYSTEM_ERROR_CODE_TYPE = 'system_error_code_type',
SYSTEM_OAUTH2_GRANT_TYPE = 'system_oauth2_grant_type',
SYSTEM_MAIL_SEND_STATUS = 'system_mail_send_status',
SYSTEM_NOTIFY_TEMPLATE_TYPE = 'system_notify_template_type',
SYSTEM_SOCIAL_TYPE = 'system_social_type',
// ========== INFRA 模块 ==========
INFRA_BOOLEAN_STRING = 'infra_boolean_string',
INFRA_JOB_STATUS = 'infra_job_status',
INFRA_JOB_LOG_STATUS = 'infra_job_log_status',
INFRA_API_ERROR_LOG_PROCESS_STATUS = 'infra_api_error_log_process_status',
INFRA_CONFIG_TYPE = 'infra_config_type',
INFRA_CODEGEN_TEMPLATE_TYPE = 'infra_codegen_template_type',
INFRA_CODEGEN_FRONT_TYPE = 'infra_codegen_front_type',
INFRA_CODEGEN_SCENE = 'infra_codegen_scene',
INFRA_FILE_STORAGE = 'infra_file_storage',
INFRA_OPERATE_TYPE = 'infra_operate_type',
INFRA_BOOLEAN_STRING = 'infra_boolean_string',
INFRA_JOB_STATUS = 'infra_job_status',
INFRA_JOB_LOG_STATUS = 'infra_job_log_status',
INFRA_API_ERROR_LOG_PROCESS_STATUS = 'infra_api_error_log_process_status',
INFRA_CONFIG_TYPE = 'infra_config_type',
INFRA_CODEGEN_TEMPLATE_TYPE = 'infra_codegen_template_type',
INFRA_CODEGEN_FRONT_TYPE = 'infra_codegen_front_type',
INFRA_CODEGEN_SCENE = 'infra_codegen_scene',
INFRA_FILE_STORAGE = 'infra_file_storage',
INFRA_OPERATE_TYPE = 'infra_operate_type',
// ========== BPM 模块 ==========
BPM_MODEL_FORM_TYPE = 'bpm_model_form_type',
BPM_TASK_CANDIDATE_STRATEGY = 'bpm_task_candidate_strategy',
BPM_PROCESS_INSTANCE_STATUS = 'bpm_process_instance_status',
BPM_TASK_STATUS = 'bpm_task_status',
BPM_OA_LEAVE_TYPE = 'bpm_oa_leave_type',
BPM_PROCESS_LISTENER_TYPE = 'bpm_process_listener_type',
BPM_PROCESS_LISTENER_VALUE_TYPE = 'bpm_process_listener_value_type',
BPM_MODEL_FORM_TYPE = 'bpm_model_form_type',
BPM_TASK_CANDIDATE_STRATEGY = 'bpm_task_candidate_strategy',
BPM_PROCESS_INSTANCE_STATUS = 'bpm_process_instance_status',
BPM_TASK_STATUS = 'bpm_task_status',
BPM_OA_LEAVE_TYPE = 'bpm_oa_leave_type',
BPM_PROCESS_LISTENER_TYPE = 'bpm_process_listener_type',
BPM_PROCESS_LISTENER_VALUE_TYPE = 'bpm_process_listener_value_type',
// ========== PAY 模块 ==========
PAY_CHANNEL_CODE = 'pay_channel_code',// 支付渠道编码类型
PAY_ORDER_STATUS = 'pay_order_status',// 商户支付订单状态
PAY_REFUND_STATUS = 'pay_refund_status',// 退款订单状态
PAY_NOTIFY_STATUS = 'pay_notify_status',// 商户支付回调状态
PAY_NOTIFY_TYPE = 'pay_notify_type',// 商户支付回调状态
PAY_TRANSFER_STATUS = 'pay_transfer_status',// 转账订单状态
PAY_TRANSFER_TYPE = 'pay_transfer_type',// 转账订单状态
PAY_CHANNEL_CODE = 'pay_channel_code',// 支付渠道编码类型
PAY_ORDER_STATUS = 'pay_order_status',// 商户支付订单状态
PAY_REFUND_STATUS = 'pay_refund_status',// 退款订单状态
PAY_NOTIFY_STATUS = 'pay_notify_status',// 商户支付回调状态
PAY_NOTIFY_TYPE = 'pay_notify_type',// 商户支付回调状态
PAY_TRANSFER_STATUS = 'pay_transfer_status',// 转账订单状态
PAY_TRANSFER_TYPE = 'pay_transfer_type',// 转账订单状态
// ========== MP 模块 ==========
MP_AUTO_REPLY_REQUEST_MATCH = 'mp_auto_reply_request_match',// 自动回复请求匹配类型
MP_MESSAGE_TYPE = 'mp_message_type',// 消息类型
MP_AUTO_REPLY_REQUEST_MATCH = 'mp_auto_reply_request_match',// 自动回复请求匹配类型
MP_MESSAGE_TYPE = 'mp_message_type',// 消息类型
// ========== Member 会员模块 ==========
MEMBER_POINT_BIZ_TYPE = 'member_point_biz_type',// 积分的业务类型
MEMBER_EXPERIENCE_BIZ_TYPE = 'member_experience_biz_type',// 会员经验业务类型
MEMBER_POINT_BIZ_TYPE = 'member_point_biz_type',// 积分的业务类型
MEMBER_EXPERIENCE_BIZ_TYPE = 'member_experience_biz_type',// 会员经验业务类型
// ========== MALL - 商品模块 ==========
PRODUCT_SPU_STATUS = 'product_spu_status',//商品状态
PRODUCT_SPU_STATUS = 'product_spu_status',//商品状态
// ========== MALL - 交易模块 ==========
EXPRESS_CHARGE_MODE = 'trade_delivery_express_charge_mode',//快递的计费方式
TRADE_AFTER_SALE_STATUS = 'trade_after_sale_status',// 售后 - 状态
TRADE_AFTER_SALE_WAY = 'trade_after_sale_way',// 售后 - 方式
TRADE_AFTER_SALE_TYPE = 'trade_after_sale_type',// 售后 - 类型
TRADE_ORDER_TYPE = 'trade_order_type',// 订单 - 类型
TRADE_ORDER_STATUS = 'trade_order_status',// 订单 - 状态
TRADE_ORDER_ITEM_AFTER_SALE_STATUS = 'trade_order_item_after_sale_status',// 订单项 - 售后状态
TRADE_DELIVERY_TYPE = 'trade_delivery_type',// 配送方式
BROKERAGE_ENABLED_CONDITION = 'brokerage_enabled_condition',// 分佣模式
BROKERAGE_BIND_MODE = 'brokerage_bind_mode',// 分销关系绑定模式
BROKERAGE_BANK_NAME = 'brokerage_bank_name',// 佣金提现银行
BROKERAGE_WITHDRAW_TYPE = 'brokerage_withdraw_type',// 佣金提现类型
BROKERAGE_RECORD_BIZ_TYPE = 'brokerage_record_biz_type',// 佣金业务类型
BROKERAGE_RECORD_STATUS = 'brokerage_record_status',// 佣金状态
BROKERAGE_WITHDRAW_STATUS = 'brokerage_withdraw_status',// 佣金提现状态
EXPRESS_CHARGE_MODE = 'trade_delivery_express_charge_mode',//快递的计费方式
TRADE_AFTER_SALE_STATUS = 'trade_after_sale_status',// 售后 - 状态
TRADE_AFTER_SALE_WAY = 'trade_after_sale_way',// 售后 - 方式
TRADE_AFTER_SALE_TYPE = 'trade_after_sale_type',// 售后 - 类型
TRADE_ORDER_TYPE = 'trade_order_type',// 订单 - 类型
TRADE_ORDER_STATUS = 'trade_order_status',// 订单 - 状态
TRADE_ORDER_ITEM_AFTER_SALE_STATUS = 'trade_order_item_after_sale_status',// 订单项 - 售后状态
TRADE_DELIVERY_TYPE = 'trade_delivery_type',// 配送方式
BROKERAGE_ENABLED_CONDITION = 'brokerage_enabled_condition',// 分佣模式
BROKERAGE_BIND_MODE = 'brokerage_bind_mode',// 分销关系绑定模式
BROKERAGE_BANK_NAME = 'brokerage_bank_name',// 佣金提现银行
BROKERAGE_WITHDRAW_TYPE = 'brokerage_withdraw_type',// 佣金提现类型
BROKERAGE_RECORD_BIZ_TYPE = 'brokerage_record_biz_type',// 佣金业务类型
BROKERAGE_RECORD_STATUS = 'brokerage_record_status',// 佣金状态
BROKERAGE_WITHDRAW_STATUS = 'brokerage_withdraw_status',// 佣金提现状态
// ========== MALL - 营销模块 ==========
PROMOTION_DISCOUNT_TYPE = 'promotion_discount_type',// 优惠类型
PROMOTION_PRODUCT_SCOPE = 'promotion_product_scope',// 营销的商品范围
PROMOTION_COUPON_TEMPLATE_VALIDITY_TYPE = 'promotion_coupon_template_validity_type',// 优惠劵模板的有限期类型
PROMOTION_COUPON_STATUS = 'promotion_coupon_status',// 优惠劵的状态
PROMOTION_COUPON_TAKE_TYPE = 'promotion_coupon_take_type',// 优惠劵的领取方式
PROMOTION_ACTIVITY_STATUS = 'promotion_activity_status',// 优惠活动的状态
PROMOTION_CONDITION_TYPE = 'promotion_condition_type',// 营销的条件类型枚举
PROMOTION_BARGAIN_RECORD_STATUS = 'promotion_bargain_record_status',// 砍价记录的状态
PROMOTION_COMBINATION_RECORD_STATUS = 'promotion_combination_record_status',// 拼团记录的状态
PROMOTION_BANNER_POSITION = 'promotion_banner_position',// banner 定位
PROMOTION_DISCOUNT_TYPE = 'promotion_discount_type',// 优惠类型
PROMOTION_PRODUCT_SCOPE = 'promotion_product_scope',// 营销的商品范围
PROMOTION_COUPON_TEMPLATE_VALIDITY_TYPE = 'promotion_coupon_template_validity_type',// 优惠劵模板的有限期类型
PROMOTION_COUPON_STATUS = 'promotion_coupon_status',// 优惠劵的状态
PROMOTION_COUPON_TAKE_TYPE = 'promotion_coupon_take_type',// 优惠劵的领取方式
PROMOTION_ACTIVITY_STATUS = 'promotion_activity_status',// 优惠活动的状态
PROMOTION_CONDITION_TYPE = 'promotion_condition_type',// 营销的条件类型枚举
PROMOTION_BARGAIN_RECORD_STATUS = 'promotion_bargain_record_status',// 砍价记录的状态
PROMOTION_COMBINATION_RECORD_STATUS = 'promotion_combination_record_status',// 拼团记录的状态
PROMOTION_BANNER_POSITION = 'promotion_banner_position',// banner 定位
// ========== CRM - 客户管理模块 ==========
CRM_AUDIT_STATUS = 'crm_audit_status',// CRM 审批状态
CRM_BIZ_TYPE = 'crm_biz_type',// CRM 业务类型
CRM_BUSINESS_END_STATUS_TYPE = 'crm_business_end_status_type',// CRM 商机结束状态类型
CRM_RECEIVABLE_RETURN_TYPE = 'crm_receivable_return_type',// CRM 回款的还款方式
CRM_CUSTOMER_INDUSTRY = 'crm_customer_industry',// CRM 客户所属行业
CRM_CUSTOMER_LEVEL = 'crm_customer_level',// CRM 客户级别
CRM_CUSTOMER_SOURCE = 'crm_customer_source',// CRM 客户来源
CRM_PRODUCT_STATUS = 'crm_product_status',// CRM 商品状态
CRM_PERMISSION_LEVEL = 'crm_permission_level',// CRM 数据权限的级别
CRM_PRODUCT_UNIT = 'crm_product_unit',// CRM 产品单位
CRM_FOLLOW_UP_TYPE = 'crm_follow_up_type',// CRM 跟进方式
CRM_AUDIT_STATUS = 'crm_audit_status',// CRM 审批状态
CRM_BIZ_TYPE = 'crm_biz_type',// CRM 业务类型
CRM_BUSINESS_END_STATUS_TYPE = 'crm_business_end_status_type',// CRM 商机结束状态类型
CRM_RECEIVABLE_RETURN_TYPE = 'crm_receivable_return_type',// CRM 回款的还款方式
CRM_CUSTOMER_INDUSTRY = 'crm_customer_industry',// CRM 客户所属行业
CRM_CUSTOMER_LEVEL = 'crm_customer_level',// CRM 客户级别
CRM_CUSTOMER_SOURCE = 'crm_customer_source',// CRM 客户来源
CRM_PRODUCT_STATUS = 'crm_product_status',// CRM 商品状态
CRM_PERMISSION_LEVEL = 'crm_permission_level',// CRM 数据权限的级别
CRM_PRODUCT_UNIT = 'crm_product_unit',// CRM 产品单位
CRM_FOLLOW_UP_TYPE = 'crm_follow_up_type',// CRM 跟进方式
// ========== ERP - 企业资源计划模块 ==========
ERP_AUDIT_STATUS = 'erp_audit_status',// ERP 审批状态
ERP_STOCK_RECORD_BIZ_TYPE = 'erp_stock_record_biz_type',// 库存明细的业务类型
ERP_MOLD_STATUS = 'erp_mold_status',// ERP 模具状态
ERP_MAINTAIN_TYPE = 'maintain_type',// ERP 保养类型
ERP_AUDIT_STATUS = 'erp_audit_status',// ERP 审批状态
ERP_STOCK_RECORD_BIZ_TYPE = 'erp_stock_record_biz_type',// 库存明细的业务类型
ERP_MOLD_STATUS = 'erp_mold_status',// ERP 模具状态
ERP_MAINTAIN_TYPE = 'maintain_type',// ERP 保养类型
ERP_AUTOCODE_IS_PADDING = "erp_autocode_is_padding",
ERP_AUTOCODE_PADDING_TYPE = "erp_autocode_padding_type",
ERP_AUTOCODE_CYCLEMETHOD = "erp_autocode_cyclemethod",
ERP_AUTOCODE_PARTTYPE = "erp_autocode_parttype",
ERP_AUTOCODE_IS_PADDING = "erp_autocode_is_padding",
ERP_AUTOCODE_PADDING_TYPE = "erp_autocode_padding_type",
ERP_AUTOCODE_CYCLEMETHOD = "erp_autocode_cyclemethod",
ERP_AUTOCODE_PARTTYPE = "erp_autocode_parttype",
// ========== MES - 生产管理模块 ==========
MES_ORG_TYPE = "mes_org_type",
MES_ORG_CLASS = "mes_org_class",
MES_ORG_STATUS = "mes_org_status",
MES_TASK_STATUS = "mes_task_status",
MES_PLAN_STATUS = "mes_plan_status",
MES_RECORD_STATUS = "mes_record_status",
MES_GROUP_TYPE = "mes_group_type",
MES_WORK_TEAM_USER_ROLE = "mes_work_team_user_role"
MES_ORG_TYPE = "mes_org_type",
MES_ORG_CLASS = "mes_org_class",
MES_ORG_STATUS = "mes_org_status",
MES_TASK_STATUS = "mes_task_status",
MES_PLAN_STATUS = "mes_plan_status",
MES_RECORD_STATUS = "mes_record_status",
MES_GROUP_TYPE = "mes_group_type",
MES_WORK_TEAM_USER_ROLE = "mes_work_team_user_role",
MES_PRODUCE_ITEM_REQUISITION = "mes_produce_item_requisition"
}

@ -27,11 +27,12 @@
<el-input v-model="formData.machineId" placeholder="请输入机台ID" />
</el-form-item>
<el-form-item label="使用时间(小时)" prop="useTime">
<el-date-picker
<el-input-number
v-model="formData.useTime"
type="date"
value-format="x"
placeholder="选择使用时间(小时)"
:min="0"
:precision="2"
class="!w-1/1"
placeholder="输入预期寿命(小时)"
/>
</el-form-item>
<el-form-item label="入库时间" prop="inTime">
@ -168,7 +169,7 @@ const resetForm = () => {
name: undefined,
unitId: undefined,
machineId: undefined,
useTime: undefined,
useTime: 0,
inTime: undefined,
status: undefined,
images: undefined,
@ -178,4 +179,4 @@ const resetForm = () => {
}
formRef.value?.resetFields()
}
</script>
</script>

@ -40,7 +40,14 @@
</el-select>
</el-form-item>
<el-form-item label="成品率%" prop="yieldRate">
<el-input v-model="formData.yieldRate" placeholder="请输入成品率%" />
<el-input-number
v-model="formData.yieldRate"
:min="0"
:max="100"
:precision="2"
class="!w-1/1"
placeholder="请输入成品率"
/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" />
@ -175,7 +182,7 @@ const resetForm = () => {
version: undefined,
productId: undefined,
unitId: undefined,
yieldRate: undefined,
yieldRate: 100,
remark: undefined,
isEnable: undefined
}

@ -9,15 +9,14 @@
>
<el-table :data="formData" class="-mt-10px">
<el-table-column label="序号" type="index" width="100" />
<el-table-column label="产品" min-width="150">
<el-table-column label="原料" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
<el-select
v-model="row.productId"
clearable
filterable
@change="onChangeProduct($event, row)"
placeholder="请选择产品"
placeholder="请选择原料"
>
<el-option
v-for="item in productList"
@ -54,7 +53,13 @@
<el-table-column label="损耗率%" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.yieldRate`" :rules="formRules.yieldRate" class="mb-0px!">
<el-input v-model="row.yieldRate" placeholder="请输入损耗率%" />
<el-input-number
v-model="row.yieldRate"
:min="0"
:precision="2"
class="!w-1/1"
placeholder="请输入损耗率"
/>
</el-form-item>
</template>
</el-table-column>
@ -90,7 +95,7 @@ const props = defineProps<{
const formLoading = ref(false) //
const formData = ref([])
const formRules = reactive({
productId: [{ required: true, message: '产品ID不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '原料不能为空', trigger: 'blur' }],
bomId: [{ required: true, message: 'BOM 不能为空', trigger: 'blur' }],
usageNumber: [{ required: true, message: '用量不能为空', trigger: 'blur' }]
})
@ -100,7 +105,7 @@ const formRef = ref() // 表单 Ref
onMounted(async () => {
//
unitList.value = await ProductUnitApi.getProductUnitSimpleList()
productList.value = await ProductApi.getProductSimpleList()
productList.value = await ProductApi.getItemSimpleList()
//
if (formData.value.length === 0) {
handleAdd()
@ -141,6 +146,7 @@ const handleAdd = () => {
isEnable: undefined
}
row.bomId = props.bomId
row.yieldRate = 0
formData.value.push(row)
}
@ -161,13 +167,4 @@ const getData = () => {
defineExpose({ validate, getData })
/** 处理产品变更 */
const onChangeProduct = (productId, row) => {
const product = productList.value.find((item) => item.id === productId)
if (product) {
// row.productUnitName = product.unitName
}
// //
// setStockCount(row)
}
</script>

@ -4,8 +4,8 @@
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="原料" align="center" prop="productName" />
<el-table-column label="用量" align="center" prop="usageNumber" />
<el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="用量" align="center" prop="usageNumber" />
<el-table-column label="损耗率%" align="center" prop="yieldRate" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="是否启用" align="center" prop="isEnable">

@ -28,23 +28,23 @@
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio label="1">请选择字典生成</el-radio>
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.MES_PRODUCE_ITEM_REQUISITION)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="流程实例的编号" prop="processInstanceId">
<el-input v-model="formData.processInstanceId" placeholder="请输入流程实例的编号" />
</el-form-item>
<el-form-item label="计划ID" prop="planId">
<el-form-item label="计划" prop="planId">
<el-input v-model="formData.planId" placeholder="请输入计划ID" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-radio-group v-model="formData.isEnable">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<!-- 子表的表单 -->
<el-tabs v-model="subTabsName">
@ -61,6 +61,7 @@
<script setup lang="ts">
import { ItemRequisitionApi, ItemRequisitionVO } from '@/api/mes/itemrequisition'
import ItemRequisitionDetailForm from './components/ItemRequisitionDetailForm.vue'
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
/** 生产领料 表单 */
defineOptions({ name: 'ItemRequisitionForm' })
@ -160,4 +161,4 @@ const resetForm = () => {
}
formRef.value?.resetFields()
}
</script>
</script>

@ -28,7 +28,7 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="创建时间" prop="deliveryDate">
<el-form-item label="领料时间" prop="deliveryDate">
<el-date-picker
v-model="queryParams.deliveryDate"
value-format="YYYY-MM-DD HH:mm:ss"
@ -42,22 +42,18 @@
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="请选择状态"
placeholder="请选择领料单状态"
clearable
class="!w-240px"
>
<el-option label="请选择字典生成" value="" />
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.MES_PRODUCE_ITEM_REQUISITION)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="流程实例的编号" prop="processInstanceId">
<el-input
v-model="queryParams.processInstanceId"
placeholder="请输入流程实例的编号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="计划ID" prop="planId">
<el-input
v-model="queryParams.planId"
@ -76,16 +72,7 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-select
v-model="queryParams.isEnable"
placeholder="请选择是否启用"
clearable
class="!w-240px"
>
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker
v-model="queryParams.createTime"
@ -142,7 +129,6 @@
<el-table-column label="流程实例的编号" align="center" prop="processInstanceId" />
<el-table-column label="计划ID" align="center" prop="planId" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="是否启用" align="center" prop="isEnable" />
<el-table-column
label="创建时间"
align="center"
@ -190,6 +176,7 @@ import download from '@/utils/download'
import { ItemRequisitionApi, ItemRequisitionVO } from '@/api/mes/itemrequisition'
import ItemRequisitionForm from './ItemRequisitionForm.vue'
import ItemRequisitionDetailList from './components/ItemRequisitionDetailList.vue'
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
/** 生产领料 列表 */
defineOptions({ name: 'ItemRequisition' })
@ -278,4 +265,4 @@ const handleExport = async () => {
onMounted(() => {
getList()
})
</script>
</script>

@ -7,18 +7,19 @@
label-width="100px"
v-loading="formLoading"
>
<el-form-item label="计划编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入计划编码" />
</el-form-item>
<el-form-item label="产品ID" prop="productId">
<el-input v-model="formData.productId" placeholder="请输入产品ID" />
</el-form-item>
<el-form-item label="任务单明细ID" prop="taskDetailId">
<el-input v-model="formData.taskDetailId" placeholder="请输入任务单明细ID" />
</el-form-item>
<el-form-item label="任务单ID" prop="taskId">
<el-input v-model="formData.taskId" placeholder="请输入任务单ID" />
</el-form-item>
<el-form-item label="计划编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入计划编码" />
</el-form-item>
<el-form-item label="产品ID" prop="productId">
<el-input v-model="formData.productId" placeholder="请输入产品ID" />
</el-form-item>
<el-form-item label="数量" prop="planNumber">
<el-input v-model="formData.planNumber" placeholder="请输入数量" />
</el-form-item>
@ -199,4 +200,4 @@ const resetForm = () => {
}
formRef.value?.resetFields()
}
</script>
</script>

@ -8,43 +8,43 @@
:inline="true"
label-width="68px"
>
<el-form-item label="计划编码" prop="code">
<el-form-item label="任务单ID" prop="taskId">
<el-input
v-model="queryParams.code"
placeholder="请输入计划编码"
v-model="queryParams.taskId"
placeholder="请输入任务单ID"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="产品ID" prop="productId">
<el-form-item label="任务单明细ID" prop="taskDetailId">
<el-input
v-model="queryParams.productId"
placeholder="请输入产品ID"
v-model="queryParams.taskDetailId"
placeholder="请输入任务单明细ID"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="任务单明细ID" prop="taskDetailId">
<el-form-item label="计划编码" prop="code">
<el-input
v-model="queryParams.taskDetailId"
placeholder="请输入任务单明细ID"
v-model="queryParams.code"
placeholder="请输入计划编码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="任务单ID" prop="taskId">
<el-form-item label="产品ID" prop="productId">
<el-input
v-model="queryParams.taskId"
placeholder="请输入任务单ID"
v-model="queryParams.productId"
placeholder="请输入产品ID"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select
v-model="queryParams.status"
@ -122,22 +122,7 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-select
v-model="queryParams.isEnable"
placeholder="请选择是否启用"
clearable
class="!w-240px"
>
<el-option
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
: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" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
@ -353,4 +338,4 @@ const handleExport = async () => {
onMounted(() => {
getList()
})
</script>
</script>

@ -7,17 +7,51 @@
label-width="100px"
v-loading="formLoading"
>
<el-form-item label="产品ID" prop="productId">
<el-input v-model="formData.productId" placeholder="请输入产品ID" />
<el-form-item label="产品" prop="productId">
<el-select
v-model="formData.productId"
clearable
filterable
placeholder="请选择产品"
>
<el-option
v-for="item in productList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="单位ID" prop="unitId">
<el-input v-model="formData.unitId" placeholder="请输入单位ID" />
<el-form-item label="单位" prop="unitId">
<el-select
v-model="formData.unitId"
clearable
filterable
placeholder="请选择产品"
>
<el-option
v-for="item in unitList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item label="数量" prop="number">
<el-input v-model="formData.number" placeholder="请输入数量" />
<el-input-number
v-model="formData.number"
:min="0"
class="!w-1/1"
placeholder="请输入数量"
/>
</el-form-item>
<el-form-item label="打包要求(每包/个)" prop="packageSize">
<el-input v-model="formData.packageSize" placeholder="请输入打包要求(每包/个)" />
<el-input-number
v-model="formData.packageSize"
:min="0"
class="!w-1/1"
placeholder="请输入打包要求(每包/个)"
/>
</el-form-item>
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="formData.projectName" placeholder="请输入项目名称" />
@ -37,7 +71,11 @@
</template>
<script setup lang="ts">
import { TaskApi } from '@/api/mes/task'
import { ProductUnitApi, ProductUnitVO } from '@/api/erp/product/unit'
import {ProductApi, ProductVO} from "@/api/erp/product/product";
const unitList = ref<ProductUnitVO[]>([]) //
const productList = ref<ProductVO[]>([]) //
const { t } = useI18n() //
const message = useMessage() //
@ -81,6 +119,9 @@ const open = async (type: string, id?: number, taskId: number) => {
formLoading.value = false
}
}
//
unitList.value = await ProductUnitApi.getProductUnitSimpleList()
productList.value = await ProductApi.getProductSimpleList()
}
defineExpose({ open }) // open
@ -123,4 +164,4 @@ const resetForm = () => {
}
formRef.value?.resetFields()
}
</script>
</script>

@ -11,8 +11,8 @@
</el-button>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="产品ID" align="center" prop="productId" />
<el-table-column label="单位ID" align="center" prop="unitId" />
<el-table-column label="产品" align="center" prop="productName" />
<el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="数量" align="center" prop="number" />
<el-table-column label="打包要求(每包/个)" align="center" prop="packageSize" />
<el-table-column label="项目名称" align="center" prop="projectName" />
@ -130,4 +130,4 @@ const handleDelete = async (id: number) => {
await getList()
} catch {}
}
</script>
</script>

Loading…
Cancel
Save