|
|
@@ -148,15 +148,7 @@ const rules = ref<FormRules<Form>>({
|
|
|
timeRange: [{ required: true, message: '请选择时间节点', trigger: 'change', type: 'array' }],
|
|
|
dailyFuel: [{ required: true, message: '请输入当日油耗', trigger: 'change' }],
|
|
|
nextPlan: [{ required: true, message: '请输入下计划', trigger: 'change' }],
|
|
|
- reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }],
|
|
|
- constructionBrief: [
|
|
|
- {
|
|
|
- required: formType.value === 'time',
|
|
|
- message: '请填写施工简报',
|
|
|
- type: 'string',
|
|
|
- trigger: ['blur', 'change']
|
|
|
- }
|
|
|
- ]
|
|
|
+ reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }]
|
|
|
})
|
|
|
|
|
|
function noProductionTimeRule(id: number) {
|
|
|
@@ -327,7 +319,15 @@ const submitForm = useDebounceFn(async function submitForm() {
|
|
|
delete form.value[o.value]
|
|
|
})
|
|
|
|
|
|
- await formRef.value?.validate()
|
|
|
+ if (formType.value === 'time') {
|
|
|
+ await formRef.value?.validateField([
|
|
|
+ 'constructionBrief',
|
|
|
+ ...form.value.platformIds.flatMap((pid) => [
|
|
|
+ ...NON_PROD_FIELDS.map((item) => `${pid}.${item.key}`),
|
|
|
+ `${pid}.otherNptReason`
|
|
|
+ ])
|
|
|
+ ])
|
|
|
+ } else await formRef.value?.validate()
|
|
|
|
|
|
const copyForm = cloneDeep(form.value)
|
|
|
|
|
|
@@ -433,7 +433,6 @@ async function submitApprovalForm(auditStatus: number) {
|
|
|
}
|
|
|
|
|
|
function handleOpenForm(id: number, type: 'edit' | 'approval' | 'detail' | 'time') {
|
|
|
- console.log('id :>> ', id)
|
|
|
formType.value = type
|
|
|
form.value = original()
|
|
|
loadDetail(id).then(() => {
|
|
|
@@ -1324,11 +1323,11 @@ const inContent = async (attachment) => {
|
|
|
class="col-span-4"
|
|
|
label="其他非生产原因"
|
|
|
:prop="`${pid}.otherNptReason`"
|
|
|
- :rules="
|
|
|
- form[pid].otherNptTime > 0
|
|
|
- ? { required: true, message: '请填写原因', trigger: 'change' }
|
|
|
- : {}
|
|
|
- "
|
|
|
+ :rules="{
|
|
|
+ required: form[pid].otherNptTime > 0,
|
|
|
+ message: '请填写原因',
|
|
|
+ trigger: ['blur', 'change']
|
|
|
+ }"
|
|
|
>
|
|
|
<el-input
|
|
|
v-model="form[pid].otherNptReason"
|
|
|
@@ -1344,7 +1343,19 @@ const inContent = async (attachment) => {
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
- <el-form-item class="mt-4 col-span-2" label="当日施工简报" prop="constructionBrief">
|
|
|
+ <el-form-item
|
|
|
+ class="mt-4 col-span-2"
|
|
|
+ label="当日施工简报"
|
|
|
+ prop="constructionBrief"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ required: formType === 'time',
|
|
|
+ message: '请填写施工简报',
|
|
|
+ type: 'string',
|
|
|
+ trigger: ['blur', 'change']
|
|
|
+ }
|
|
|
+ ]"
|
|
|
+ >
|
|
|
<el-input
|
|
|
v-model="form.constructionBrief"
|
|
|
type="textarea"
|