style:设备台账-是否排产勾选后展示额定产能、每日报工平均值、数据采集产能

pull/1/head
黄伟杰 1 month ago
parent d0b6a5942e
commit d0a900560c

@ -53,20 +53,24 @@
:placeholder="t('EquipmentManagement.EquipmentLedger.placeholderDeviceSpec')" /> :placeholder="t('EquipmentManagement.EquipmentLedger.placeholderDeviceSpec')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col v-if="isScheduledEnabled" :span="12">
<el-form-item :label="t('EquipmentManagement.EquipmentLedger.ratedCapacity')" prop="ratedCapacity"> <el-form-item
:label="t('EquipmentManagement.EquipmentLedger.ratedCapacity')"
prop="ratedCapacity"
:required="isScheduledEnabled"
>
<el-input-number v-model="formData.ratedCapacity" :min="0" :precision="0" controls-position="right" <el-input-number v-model="formData.ratedCapacity" :min="0" :precision="0" controls-position="right"
class="!w-full" :placeholder="t('EquipmentManagement.EquipmentLedger.placeholderRatedCapacity')" /> class="!w-full" :placeholder="t('EquipmentManagement.EquipmentLedger.placeholderRatedCapacity')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col v-if="isScheduledEnabled" :span="12">
<el-form-item label="每日报工平均值" prop="dailyAverageValue"> <el-form-item label="每日报工平均值" prop="dailyAverageValue" :required="isScheduledEnabled">
<el-input-number v-model="formData.dailyAverageValue" :min="0" :precision="0" controls-position="right" <el-input-number v-model="formData.dailyAverageValue" :min="0" :precision="0" controls-position="right"
class="!w-full" placeholder="请输入每日报工平均值" /> class="!w-full" placeholder="请输入每日报工平均值" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col v-if="isScheduledEnabled" :span="12">
<el-form-item label="数据采集产能" prop="dataCollectionCapacity"> <el-form-item label="数据采集产能" prop="dataCollectionCapacity" :required="isScheduledEnabled">
<el-input-number v-model="formData.dataCollectionCapacity" :min="0" :precision="0" <el-input-number v-model="formData.dataCollectionCapacity" :min="0" :precision="0"
controls-position="right" class="!w-full" placeholder="请输入数据采集产能" /> controls-position="right" class="!w-full" placeholder="请输入数据采集产能" />
</el-form-item> </el-form-item>
@ -514,6 +518,7 @@ const initFormData = () => ({
const formData = ref({ const formData = ref({
...initFormData() ...initFormData()
}) })
const isScheduledEnabled = computed(() => Number(formData.value.isScheduled) === 1)
const validateDeviceCode = (_rule, value, callback) => { const validateDeviceCode = (_rule, value, callback) => {
if (Boolean(formData.value.isCode)) { if (Boolean(formData.value.isCode)) {
callback() callback()
@ -525,15 +530,37 @@ const validateDeviceCode = (_rule, value, callback) => {
} }
callback() callback()
} }
const validateScheduledRequired = (label: string) => (_rule, value, callback) => {
if (!isScheduledEnabled.value) {
callback()
return
}
const normalized = normalizeNumberish(value)
if (normalized === undefined) {
callback(new Error(`请输入${label}`))
return
}
callback()
}
const formRules = reactive<FormRules>({ const formRules = reactive<FormRules>({
deviceCode: [{ validator: validateDeviceCode, trigger: ['blur', 'change'] }], deviceCode: [{ validator: validateDeviceCode, trigger: ['blur', 'change'] }],
deviceName: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderDeviceName'), trigger: 'blur' }], deviceName: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderDeviceName'), trigger: 'blur' }],
deviceType: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderDeviceType'), trigger: 'change' }], deviceType: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderDeviceType'), trigger: 'change' }],
ratedCapacity: [{ validator: validateScheduledRequired('额定产能'), trigger: ['blur', 'change'] }],
dailyAverageValue: [{ validator: validateScheduledRequired('每日报工平均值'), trigger: ['blur', 'change'] }],
dataCollectionCapacity: [{ validator: validateScheduledRequired('数据采集产能'), trigger: ['blur', 'change'] }],
productionDate: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderProductionDate'), trigger: 'change' }], productionDate: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderProductionDate'), trigger: 'change' }],
factoryEntryDate: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderFactoryEntryDate'), trigger: 'change' }] factoryEntryDate: [{ required: true, message: t('EquipmentManagement.EquipmentLedger.placeholderFactoryEntryDate'), trigger: 'change' }]
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
watch(
() => formData.value.isScheduled,
() => {
formRef.value?.clearValidate?.(['ratedCapacity', 'dailyAverageValue', 'dataCollectionCapacity'])
}
)
const treeSelectProps = { label: 'name', children: 'children' } const treeSelectProps = { label: 'name', children: 'children' }
const deviceTypeTree = ref<DeviceTypeTreeVO[]>([]) const deviceTypeTree = ref<DeviceTypeTreeVO[]>([])
const users = ref<UserVO[]>([]) const users = ref<UserVO[]>([])

Loading…
Cancel
Save