|
|
@@ -2,7 +2,7 @@
|
|
|
import { IotRdDailyReportApi } from '@/api/pms/iotrddailyreport'
|
|
|
import { useTableComponents } from '@/components/ZmTable/useTableComponents'
|
|
|
import { useUserStore } from '@/store/modules/user'
|
|
|
-import { DICT_TYPE, getDictOptions } from '@/utils/dict'
|
|
|
+import { DICT_TYPE, getDictOptions, getStrDictOptions } from '@/utils/dict'
|
|
|
import { formatT, rangeShortcuts } from '@/utils/formatTime'
|
|
|
import { useDebounceFn } from '@vueuse/core'
|
|
|
import dayjs from 'dayjs'
|
|
|
@@ -29,6 +29,7 @@ interface Query {
|
|
|
createTime?: string[]
|
|
|
wellName?: string
|
|
|
taskId?: number
|
|
|
+ rdStatus?: string
|
|
|
pageNo: number
|
|
|
pageSize: number
|
|
|
}
|
|
|
@@ -53,13 +54,24 @@ const getRouteTaskName = () => {
|
|
|
return typeof taskName === 'string' ? taskName : undefined
|
|
|
}
|
|
|
|
|
|
+const getRouteRdStatus = () => {
|
|
|
+ const nptName = route.query.nptName
|
|
|
+
|
|
|
+ if (Array.isArray(nptName)) {
|
|
|
+ return nptName.find((item): item is string => typeof item === 'string')
|
|
|
+ }
|
|
|
+
|
|
|
+ return typeof nptName === 'string' ? nptName : undefined
|
|
|
+}
|
|
|
+
|
|
|
const initQuery: Query = {
|
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
|
deptId: route.query.deptId ? Number(route.query.deptId) : id,
|
|
|
createTime: getRouteCreateTime(),
|
|
|
taskName: getRouteTaskName(),
|
|
|
- taskId: route.query.taskId ? Number(route.query.taskId) : undefined
|
|
|
+ taskId: route.query.taskId ? Number(route.query.taskId) : undefined,
|
|
|
+ rdStatus: getRouteRdStatus()
|
|
|
}
|
|
|
|
|
|
const query = ref<Query>({ ...initQuery })
|
|
|
@@ -109,6 +121,7 @@ const list = ref<ListItem[]>([])
|
|
|
const total = ref(0)
|
|
|
|
|
|
const loading = ref(false)
|
|
|
+const rdStatusOptions = getStrDictOptions(DICT_TYPE.PMS_PROJECT_RD_STATUS)
|
|
|
|
|
|
const getReportDetailsDuration = (reportDetails: any[] = []) =>
|
|
|
Number(reportDetails.reduce((sum, item) => sum + Number(item.duration || 0), 0).toFixed(2))
|
|
|
@@ -171,6 +184,7 @@ watch(
|
|
|
() => query.value.deptId,
|
|
|
() => query.value.contractName,
|
|
|
() => query.value.taskName,
|
|
|
+ () => query.value.rdStatus,
|
|
|
() => query.value.createTime
|
|
|
],
|
|
|
() => {
|
|
|
@@ -180,11 +194,12 @@ watch(
|
|
|
)
|
|
|
|
|
|
watch(
|
|
|
- () => [route.query.deptId, route.query.createTime, route.query.taskName],
|
|
|
+ () => [route.query.deptId, route.query.createTime, route.query.taskName, route.query.nptName],
|
|
|
() => {
|
|
|
query.value.deptId = route.query.deptId ? Number(route.query.deptId) : id
|
|
|
query.value.createTime = getRouteCreateTime()
|
|
|
query.value.taskName = getRouteTaskName()
|
|
|
+ query.value.rdStatus = getRouteRdStatus()
|
|
|
}
|
|
|
)
|
|
|
|
|
|
@@ -329,6 +344,14 @@ onMounted(() => {
|
|
|
class="!w-300px max-w-full"
|
|
|
:shortcuts="rangeShortcuts" />
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="施工状态" prop="rdStatus">
|
|
|
+ <el-select
|
|
|
+ v-model="query.rdStatus"
|
|
|
+ :options="rdStatusOptions"
|
|
|
+ placeholder="请选择施工状态"
|
|
|
+ clearable
|
|
|
+ class="!w-180px" />
|
|
|
+ </el-form-item>
|
|
|
</div>
|
|
|
<el-form-item class="daily-report-actions shrink-0">
|
|
|
<div class="flex flex-wrap items-center justify-end gap-3">
|