|
|
@@ -7,6 +7,7 @@ import { computed, reactive, ref, watch, nextTick } from 'vue'
|
|
|
import { Delete, Plus } from '@element-plus/icons-vue'
|
|
|
import dayjs from 'dayjs'
|
|
|
import { calculateDuration, formatT } from '@/utils/formatTime'
|
|
|
+import { useDebounceFn } from '@vueuse/core'
|
|
|
|
|
|
interface Props {
|
|
|
visible: boolean
|
|
|
@@ -392,7 +393,8 @@ const handleAudit = async (auditStatus: 20 | 30) => {
|
|
|
await IotRyDailyReportApi.approvalIotRyDailyReport({
|
|
|
id: form.value.id!,
|
|
|
auditStatus,
|
|
|
- opinion: form.value.opinion!
|
|
|
+ opinion: form.value.opinion!,
|
|
|
+ constructionBrief: form.value.constructionBrief
|
|
|
})
|
|
|
message.success(auditStatus === 20 ? '通过成功' : '拒绝成功')
|
|
|
emits('update:visible', false)
|
|
|
@@ -417,6 +419,12 @@ const orange = computed(() => {
|
|
|
if (Math.abs(total - 24) > 0.01) return true
|
|
|
return false
|
|
|
})
|
|
|
+
|
|
|
+const inputCurrentDepth = useDebounceFn(function inputCurrentDepth(val: any, index: number) {
|
|
|
+ if (form.value.reportDetails && index === form.value.reportDetails.length - 1) {
|
|
|
+ form.value.currentDepth = val
|
|
|
+ }
|
|
|
+}, 300)
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
@@ -673,7 +681,7 @@ const orange = computed(() => {
|
|
|
"
|
|
|
/>
|
|
|
|
|
|
- <ZmTableColumn :width="160" label="开始时间" prop="startTime">
|
|
|
+ <ZmTableColumn :width="130" label="开始时间" prop="startTime">
|
|
|
<template #default="{ row, $index }">
|
|
|
<el-form-item
|
|
|
v-if="$index >= 0"
|
|
|
@@ -698,7 +706,7 @@ const orange = computed(() => {
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</ZmTableColumn>
|
|
|
- <ZmTableColumn :width="160" label="结束时间" prop="endTime">
|
|
|
+ <ZmTableColumn :width="130" label="结束时间" prop="endTime">
|
|
|
<template #default="{ row, $index }">
|
|
|
<el-form-item
|
|
|
v-if="$index >= 0"
|
|
|
@@ -725,7 +733,7 @@ const orange = computed(() => {
|
|
|
</ZmTableColumn>
|
|
|
<ZmTableColumn :width="80" label="时长(H)" prop="duration" />
|
|
|
|
|
|
- <ZmTableColumn label="工况" min-width="120">
|
|
|
+ <ZmTableColumn label="工况" min-width="140">
|
|
|
<template #default="{ row, $index }">
|
|
|
<el-form-item
|
|
|
v-if="$index >= 0"
|
|
|
@@ -737,7 +745,6 @@ const orange = computed(() => {
|
|
|
v-model="row.currentOperation"
|
|
|
type="textarea"
|
|
|
:autosize="{ minRows: 1 }"
|
|
|
- resize="none"
|
|
|
show-word-limit
|
|
|
:maxlength="1000"
|
|
|
placeholder="请输入工况"
|
|
|
@@ -752,11 +759,14 @@ const orange = computed(() => {
|
|
|
<el-form-item
|
|
|
v-if="$index >= 0"
|
|
|
:prop="`reportDetails.${$index}.currentDepth`"
|
|
|
- :rules="{
|
|
|
- required: true,
|
|
|
- message: '请输入结束井深',
|
|
|
- trigger: ['blur']
|
|
|
- }"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入结束井深',
|
|
|
+ trigger: ['blur']
|
|
|
+ },
|
|
|
+ { validator: validateLastCurrentDepth, trigger: ['change', 'blur'] }
|
|
|
+ ]"
|
|
|
class="mb-0!"
|
|
|
>
|
|
|
<el-input-number
|
|
|
@@ -767,6 +777,7 @@ const orange = computed(() => {
|
|
|
align="left"
|
|
|
placeholder="请输入结束井深"
|
|
|
:disabled="isMainFieldDisabled"
|
|
|
+ @input="(val) => inputCurrentDepth(val, $index)"
|
|
|
>
|
|
|
<template #suffix> m </template>
|
|
|
</el-input-number>
|
|
|
@@ -786,7 +797,6 @@ const orange = computed(() => {
|
|
|
v-model="row.constructionDetail"
|
|
|
type="textarea"
|
|
|
:autosize="{ minRows: 1 }"
|
|
|
- resize="none"
|
|
|
show-word-limit
|
|
|
:maxlength="1000"
|
|
|
placeholder="请输入详细描述"
|