✨ feat(mes): 新增班组排班记录生成逻辑及相关字段校验
实现班组排班记录的生成逻辑,增加了班组类型和用户存在性校验,优化了排班记录的批量写入方式。同时,新增了相关错误码以处理班组和班次数量不足的情况。pull/871/MERGE
parent
c68d64a585
commit
8de07f5337
|
|
@ -1,4 +1,3 @@
|
|||
<!-- TODO @芋艿:暂未 review -->
|
||||
<template>
|
||||
<Dialog :title="dialogTitle" v-model="dialogVisible" width="960px">
|
||||
<el-form
|
||||
|
|
@ -11,12 +10,16 @@
|
|||
<el-row>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="班组编码" prop="code">
|
||||
<el-input v-model="formData.code" placeholder="请输入班组编码" />
|
||||
<el-input v-model="formData.code" placeholder="请输入班组编码" :maxlength="64">
|
||||
<template #append>
|
||||
<el-button @click="generateCode">生成</el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="班组名称" prop="name">
|
||||
<el-input v-model="formData.name" placeholder="请输入班组名称" />
|
||||
<el-input v-model="formData.name" placeholder="请输入班组名称" :maxlength="100" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
|
|
@ -35,7 +38,7 @@
|
|||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="formData.remark" type="textarea" placeholder="请输入备注" />
|
||||
<el-input v-model="formData.remark" type="textarea" placeholder="请输入备注" :maxlength="250" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -56,6 +59,8 @@
|
|||
<script setup lang="ts">
|
||||
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
||||
import { CalTeamApi, CalTeamVO } from '@/api/mes/cal/team'
|
||||
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
|
||||
import { MesAutoCodeRuleCode } from '@/views/mes/utils/constants'
|
||||
import CalTeamMemberList from './CalTeamMemberList.vue'
|
||||
|
||||
defineOptions({ name: 'CalTeamForm' })
|
||||
|
|
@ -76,11 +81,23 @@ const formData = ref({
|
|||
remark: undefined
|
||||
})
|
||||
const formRules = reactive({
|
||||
code: [{ required: true, message: '班组编码不能为空', trigger: 'blur' }],
|
||||
name: [{ required: true, message: '班组名称不能为空', trigger: 'blur' }]
|
||||
code: [
|
||||
{ required: true, message: '班组编码不能为空', trigger: 'blur' },
|
||||
{ max: 64, message: '班组编码不能超过 64 个字符', trigger: 'blur' }
|
||||
],
|
||||
name: [
|
||||
{ required: true, message: '班组名称不能为空', trigger: 'blur' },
|
||||
{ max: 100, message: '班组名称不能超过 100 个字符', trigger: 'blur' }
|
||||
],
|
||||
calendarType: [{ required: true, message: '班组类型不能为空', trigger: 'change' }]
|
||||
})
|
||||
const formRef = ref()
|
||||
|
||||
/** 生成班组编码 */
|
||||
const generateCode = async () => {
|
||||
formData.value.code = await AutoCodeRecordApi.generateAutoCode(MesAutoCodeRuleCode.CAL_TEAM_CODE)
|
||||
}
|
||||
|
||||
/** 打开弹窗 */
|
||||
const open = async (type: string, id?: number) => {
|
||||
dialogVisible.value = true
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
<!-- TODO @芋艿:暂未 review -->
|
||||
<template>
|
||||
<ContentWrap>
|
||||
<!-- 搜索工作栏 -->
|
||||
|
|
@ -27,6 +26,7 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- TODO @AI:查询下,mysql 对应的数据字典,然后对齐 -->
|
||||
<el-form-item label="班组类型" prop="calendarType">
|
||||
<el-select
|
||||
v-model="queryParams.calendarType"
|
||||
|
|
@ -69,6 +69,7 @@
|
|||
<!-- 列表 -->
|
||||
<ContentWrap>
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<!-- TODO @AI:详情,点击后查看;看看别的模块,isDetai 哪个 -->
|
||||
<el-table-column label="班组编码" align="center" prop="code" min-width="120" />
|
||||
<el-table-column label="班组名称" align="center" prop="name" min-width="150" />
|
||||
<el-table-column label="班组类型" align="center" prop="calendarType" min-width="100">
|
||||
|
|
|
|||
|
|
@ -444,7 +444,8 @@ export const MesAutoCodeRuleCode = {
|
|||
WM_STOCK_TAKING_PLAN_CODE: 'WM_STOCK_TAKING_PLAN_CODE', // 盘点方案编码
|
||||
WM_STOCK_TAKING_CODE: 'WM_STOCK_TAKING_CODE', // 盘点任务编码
|
||||
TRANSFER_CODE: 'TRANSFER_CODE', // 转移调拨单编码
|
||||
WM_OUTSOURCE_ISSUE_CODE: 'WM_OUTSOURCE_ISSUE_CODE' // 外协发料单编码
|
||||
WM_OUTSOURCE_ISSUE_CODE: 'WM_OUTSOURCE_ISSUE_CODE', // 外协发料单编码
|
||||
CAL_TEAM_CODE: 'CAL_TEAM_CODE' // 班组编码
|
||||
} as const
|
||||
|
||||
/** 获取物料/产品标识的标签 */
|
||||
|
|
|
|||
Loading…
Reference in New Issue