feat:模具维修单新增报修人员字段

main
zhongwenkai 2 days ago
parent fbe414d563
commit a2f06cfa13

@ -17,6 +17,7 @@ export interface MoldRepairVO {
finishDate: Date
confirmDate: Date
repairResult: string
repairReporter?: string // 报修人员
acceptedBy: string
confirmBy: string
status: string

@ -3619,6 +3619,7 @@ export default {
moldCode: 'Mold Code',
moldName: 'Mold Name',
repairUser: 'Repair User',
repairReporter: 'Repair Reporter',
confirmUser: 'Acceptance User',
requireDate: 'Request Date',
finishDate: 'Finish Date',
@ -3662,6 +3663,7 @@ export default {
placeholderMold: 'Please select mold',
placeholderAcceptUser: 'Please select repair user',
placeholderConfirmUser: 'Please select acceptance user',
placeholderRepairReporter: 'Please select repair reporter',
placeholderRequireDate: 'Select request date',
placeholderFinishDate: 'Select finish date',
placeholderConfirmDate: 'Select acceptance date',

@ -3090,6 +3090,7 @@ export default {
moldCode: '模具编码',
moldName: '模具名称',
repairUser: '维修人员',
repairReporter: '报修人员',
confirmUser: '验收人员',
requireDate: '报修日期',
finishDate: '完成日期',
@ -3133,6 +3134,7 @@ export default {
placeholderMold: '请选择模具',
placeholderAcceptUser: '请选择维修人员',
placeholderConfirmUser: '请选择验收人员',
placeholderRepairReporter: '请选择报修人员',
placeholderRequireDate: '选择报修日期',
placeholderFinishDate: '选择完成日期',
placeholderConfirmDate: '选择验收日期',

@ -245,6 +245,16 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item :label="t('MoldManagement.MoldRepair.repairReporter')" prop="repairReporter">
<el-select
v-model="repairFormData.repairReporter" filterable clearable
:placeholder="t('MoldManagement.MoldRepair.placeholderRepairReporter')"
class="!w-full">
<el-option v-for="item in users" :key="String(item.id)" :label="item.nickname" :value="String(item.id)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="t('MoldManagement.MoldRepair.repairUser')" prop="acceptedBy">
<el-select
@ -493,6 +503,7 @@ import { getSimpleUserList, type UserVO } from '@/api/system/user'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { isHexColor } from '@/utils/color'
import { dateFormatter } from '@/utils/formatTime'
import { useUserStore } from '@/store/modules/user'
defineOptions({ name: 'MoldMaintainView' })
@ -508,6 +519,7 @@ const emit = defineEmits<{
const { t } = useI18n()
const message = useMessage()
const userStore = useUserStore()
const submitLoading = ref(false)
const maintainFormRef = ref()
@ -538,6 +550,7 @@ const formModel = computed(() => ({
projectForm: taskFormData.projectForm,
repairName: repairFormData.repairName,
requireDate: repairFormData.requireDate,
repairReporter: repairFormData.repairReporter,
faultLevel: repairFormData.faultLevel,
shutdown: repairFormData.shutdown,
faultPhenomenon: repairFormData.faultPhenomenon,
@ -562,6 +575,7 @@ const repairFormData = reactive({
repairCode: undefined as string | undefined,
repairName: undefined as string | undefined,
requireDate: undefined as number | string | undefined,
repairReporter: undefined as string | undefined,
acceptedBy: undefined as string | undefined,
confirmBy: undefined as string | undefined,
faultLevel: undefined as string | undefined,
@ -879,6 +893,12 @@ const selectMaintainType = async (type: number) => {
if (type === 3 && !repairFormData.requireDate) {
repairFormData.requireDate = Date.now()
}
if (type === 3 && !repairFormData.repairReporter) {
const currentUserId = userStore.getUser?.id
if (currentUserId !== undefined && currentUserId !== null && Number(currentUserId) > 0) {
repairFormData.repairReporter = String(currentUserId)
}
}
handleMaintainTypeChange()
//
await initOptions()
@ -933,6 +953,7 @@ const submitForm = async () => {
requireDate: repairFormData.requireDate,
repairResult: '',
repairStatus: '',
repairReporter: normalizeUserId(repairFormData.repairReporter),
acceptedBy: normalizeUserId(repairFormData.acceptedBy),
confirmBy: normalizeUserId(repairFormData.confirmBy),
faultLevel: repairFormData.faultLevel,
@ -951,6 +972,7 @@ const submitForm = async () => {
repairFormData.repairCode = undefined
repairFormData.repairName = undefined
repairFormData.requireDate = Date.now()
repairFormData.repairReporter = undefined
repairFormData.acceptedBy = undefined
repairFormData.confirmBy = undefined
repairFormData.faultLevel = undefined
@ -995,6 +1017,15 @@ const open = async () => {
repairFormData.requireDate = Date.now()
replaceNetFormData.pressureNetTime = getCurrentDateTime()
await initOptions()
if (!userStore.getIsSetUser) {
try {
await userStore.setUserInfoAction()
} catch (e) {}
}
const currentUserId = userStore.getUser?.id
if (currentUserId !== undefined && currentUserId !== null && Number(currentUserId) > 0) {
repairFormData.repairReporter = String(currentUserId)
}
}
defineExpose({ open })

@ -182,6 +182,9 @@
<div class="device-ledger-history-item-row"><span
class="device-ledger-history-item-label">{{ t('MoldManagement.MoldBrandDetail.requireDate') }}</span><span
class="device-ledger-history-item-value">{{ formatHistoryTime(row.requireDate) }}</span></div>
<div class="device-ledger-history-item-row"><span
class="device-ledger-history-item-label">{{ t('MoldManagement.MoldRepair.repairReporter') }}</span><span
class="device-ledger-history-item-value">{{ row.repairReporterName ?? row.repairReporter ?? '-' }}</span></div>
<div class="device-ledger-history-item-row"><span
class="device-ledger-history-item-label">{{ t('MoldManagement.MoldRepair.repairUser') }}</span><span
class="device-ledger-history-item-value">{{ row.acceptedByName ?? row.acceptedName ?? row.acceptedBy ?? '-' }}</span></div>

@ -57,6 +57,17 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item :label="t('MoldManagement.MoldRepair.repairReporter')" prop="repairReporter">
<el-select
v-model="formData.repairReporter" filterable clearable
:placeholder="t('MoldManagement.MoldRepair.placeholderRepairReporter')"
class="!w-full"
:disabled="isRepairMetaReadonly">
<el-option v-for="item in users" :key="String(item.id)" :label="item.nickname" :value="String(item.id)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="t('MoldManagement.MoldRepair.repairUser')" prop="acceptedBy">
<el-select
@ -347,6 +358,7 @@ import { MoldRepairApi, MoldRepairVO } from '@/api/mold/moldrepair'
import { MoldBrandApi, MoldVO } from '@/api/erp/mold'
import { getSimpleUserList, UserVO } from '@/api/system/user'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
import { useUserStore } from '@/store/modules/user'
defineOptions({ name: 'MoldRepairForm' })
@ -356,6 +368,7 @@ interface MoldRepairFormData extends Partial<MoldRepairVO> {
isCode?: boolean
faultLevel?: string
faultImages?: string
repairReporter?: string
repairResult?: string
repairStatus?: string
faultPhenomenon?: string
@ -388,6 +401,7 @@ const createDefaultFormData = (): MoldRepairFormData => ({
shutdown: undefined,
faultImages: '',
faultReason: undefined,
repairReporter: undefined,
acceptedBy: undefined,
confirmBy: undefined,
status: undefined,
@ -402,6 +416,7 @@ const createDefaultFormData = (): MoldRepairFormData => ({
const { t } = useI18n()
const message = useMessage()
const userStore = useUserStore()
const dialogTitle = ref('')
const formLoading = ref(false)
@ -706,6 +721,7 @@ const open = async (type: string, id?: number) => {
;(formData.value as any).acceptedBy = normalizeUserId((formData.value as any).acceptedBy)
;(formData.value as any).confirmBy = normalizeUserId((formData.value as any).confirmBy)
;(formData.value as any).repairReporter = normalizeUserId((formData.value as any).repairReporter)
;(formData.value as any).moldCode = (formData.value as any).moldCode ?? (formData.value as any).machineryCode
;(formData.value as any).moldName = (formData.value as any).moldName ?? (formData.value as any).machineryName
@ -730,6 +746,20 @@ const open = async (type: string, id?: number) => {
isHydrating.value = false
formLoading.value = false
}
} else {
if (formType.value === 'create') {
if (!userStore.getIsSetUser) {
try {
await userStore.setUserInfoAction()
} catch (e) {}
}
const currentUserId = userStore.getUser?.id
if (currentUserId !== undefined && currentUserId !== null && Number(currentUserId) > 0) {
formData.value.repairReporter = String(currentUserId)
}
}
await nextTick()
formRef.value?.clearValidate?.()
}
}
defineExpose({ open })
@ -748,6 +778,9 @@ const submitForm = async () => {
data.faultImages = Array.isArray(data.faultImages) ? data.faultImages.join(',') : (data.faultImages ?? '')
data.repairedImages = Array.isArray(data.repairedImages) ? data.repairedImages.join(',') : (data.repairedImages ?? '')
data.repairResult = data.repairStatus
data.acceptedBy = normalizeUserId(data.acceptedBy)
data.confirmBy = normalizeUserId(data.confirmBy)
data.repairReporter = normalizeUserId(data.repairReporter)
if (formType.value === 'repair') {
data.status = '1'
}

@ -160,6 +160,7 @@
sortable />
<!-- <el-table-column :label="t('MoldManagement.MoldRepair.repairResult')" align="center" prop="repairResult" min-width="160" /> -->
<el-table-column :label="t('MoldManagement.MoldRepair.repairReporter')" align="center" prop="repairReporter" min-width="140" />
<el-table-column :label="t('MoldManagement.MoldRepair.acceptUser')" align="center" prop="acceptedBy" min-width="140" />
<el-table-column :label="t('MoldManagement.MoldRepair.confirmUserShort')" align="center" prop="confirmBy" min-width="140" />

Loading…
Cancel
Save