|
@@ -37,7 +37,9 @@ const initQuery: Query = {
|
|
|
pageNo: 1,
|
|
pageNo: 1,
|
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
|
deptId: route.query.deptId ? Number(route.query.deptId) : id,
|
|
deptId: route.query.deptId ? Number(route.query.deptId) : id,
|
|
|
- createTime: route.query.createTime ? (route.query.createTime as string[]) : undefined,
|
|
|
|
|
|
|
+ createTime: route.query.createTime
|
|
|
|
|
+ ? (route.query.createTime as string[])
|
|
|
|
|
+ : [...rangeShortcuts[1].value().map((item) => dayjs(item).format('YYYY-MM-DD HH:mm:ss'))],
|
|
|
wellName: route.query.wellName ? (route.query.wellName as string) : undefined,
|
|
wellName: route.query.wellName ? (route.query.wellName as string) : undefined,
|
|
|
taskId: route.query.taskId ? Number(route.query.taskId) : undefined
|
|
taskId: route.query.taskId ? Number(route.query.taskId) : undefined
|
|
|
}
|
|
}
|
|
@@ -259,21 +261,18 @@ onMounted(() => {
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
|
<div
|
|
<div
|
|
|
- class="grid grid-cols-[auto_1fr] grid-rows-[62px_1fr] gap-4 h-[calc(100vh-20px-var(--top-tool-height)-var(--tags-view-height)-var(--app-footer-height))]"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ class="grid grid-cols-[auto_1fr] grid-rows-[62px_1fr] gap-4 h-[calc(100vh-20px-var(--top-tool-height)-var(--tags-view-height)-var(--app-footer-height))]">
|
|
|
<DeptTreeSelect
|
|
<DeptTreeSelect
|
|
|
:top-id="163"
|
|
:top-id="163"
|
|
|
:deptId="deptId"
|
|
:deptId="deptId"
|
|
|
v-model="query.deptId"
|
|
v-model="query.deptId"
|
|
|
:show-title="false"
|
|
:show-title="false"
|
|
|
- class="row-span-2"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ class="row-span-2" />
|
|
|
|
|
|
|
|
<!-- <div class="p-4 bg-white dark:bg-[#1d1e1f] shadow rounded-lg row-span-2"> </div> -->
|
|
<!-- <div class="p-4 bg-white dark:bg-[#1d1e1f] shadow rounded-lg row-span-2"> </div> -->
|
|
|
<el-form
|
|
<el-form
|
|
|
size="default"
|
|
size="default"
|
|
|
- class="bg-white dark:bg-[#1d1e1f] rounded-lg shadow px-8 gap-8 flex items-center justify-between"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ class="bg-white dark:bg-[#1d1e1f] rounded-lg shadow px-8 gap-8 flex items-center justify-between">
|
|
|
<div class="flex items-center gap-8">
|
|
<div class="flex items-center gap-8">
|
|
|
<el-form-item label="项目">
|
|
<el-form-item label="项目">
|
|
|
<el-input
|
|
<el-input
|
|
@@ -281,8 +280,7 @@ onMounted(() => {
|
|
|
placeholder="请输入项目"
|
|
placeholder="请输入项目"
|
|
|
clearable
|
|
clearable
|
|
|
@keyup.enter="handleQuery()"
|
|
@keyup.enter="handleQuery()"
|
|
|
- class="!w-240px"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ class="!w-240px" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="任务">
|
|
<el-form-item label="任务">
|
|
|
<el-input
|
|
<el-input
|
|
@@ -290,8 +288,7 @@ onMounted(() => {
|
|
|
placeholder="请输入任务"
|
|
placeholder="请输入任务"
|
|
|
clearable
|
|
clearable
|
|
|
@keyup.enter="handleQuery()"
|
|
@keyup.enter="handleQuery()"
|
|
|
- class="!w-240px"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ class="!w-240px" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="创建时间" prop="createTime">
|
|
<el-form-item label="创建时间" prop="createTime">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
@@ -302,8 +299,7 @@ onMounted(() => {
|
|
|
end-placeholder="结束日期"
|
|
end-placeholder="结束日期"
|
|
|
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
|
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
|
|
|
class="!w-220px"
|
|
class="!w-220px"
|
|
|
- :shortcuts="rangeShortcuts"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ :shortcuts="rangeShortcuts" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</div>
|
|
</div>
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
@@ -334,14 +330,12 @@ onMounted(() => {
|
|
|
:width="width"
|
|
:width="width"
|
|
|
:max-height="height"
|
|
:max-height="height"
|
|
|
:height="height"
|
|
:height="height"
|
|
|
- show-border
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ show-border>
|
|
|
<zm-table-column
|
|
<zm-table-column
|
|
|
prop="createTime"
|
|
prop="createTime"
|
|
|
label="创建时间"
|
|
label="创建时间"
|
|
|
cover-formatter
|
|
cover-formatter
|
|
|
- :real-value="formCreateTime"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ :real-value="formCreateTime" />
|
|
|
<zm-table-column prop="deptName" label="施工队伍" />
|
|
<zm-table-column prop="deptName" label="施工队伍" />
|
|
|
<zm-table-column prop="taskName" label="任务" />
|
|
<zm-table-column prop="taskName" label="任务" />
|
|
|
<zm-table-column
|
|
<zm-table-column
|
|
@@ -349,21 +343,18 @@ onMounted(() => {
|
|
|
:label="t('project.status')"
|
|
:label="t('project.status')"
|
|
|
:real-value="
|
|
:real-value="
|
|
|
(row: ListItem) => realValue(DICT_TYPE.PMS_PROJECT_RD_STATUS, row.rdStatus ?? '')
|
|
(row: ListItem) => realValue(DICT_TYPE.PMS_PROJECT_RD_STATUS, row.rdStatus ?? '')
|
|
|
- "
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ ">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<dict-tag
|
|
<dict-tag
|
|
|
:type="DICT_TYPE.PMS_PROJECT_RD_STATUS"
|
|
:type="DICT_TYPE.PMS_PROJECT_RD_STATUS"
|
|
|
- :value="scope.row.rdStatus ?? ''"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ :value="scope.row.rdStatus ?? ''" />
|
|
|
</template>
|
|
</template>
|
|
|
</zm-table-column>
|
|
</zm-table-column>
|
|
|
<zm-table-column
|
|
<zm-table-column
|
|
|
prop="reportDetails"
|
|
prop="reportDetails"
|
|
|
label="生产动态"
|
|
label="生产动态"
|
|
|
width="320"
|
|
width="320"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ :show-overflow-tooltip="true">
|
|
|
<template #default="{ row }">
|
|
<template #default="{ row }">
|
|
|
<div v-if="row.reportDetails && row.reportDetails.length > 0" class="py-2">
|
|
<div v-if="row.reportDetails && row.reportDetails.length > 0" class="py-2">
|
|
|
<el-popover placement="right" trigger="hover" width="320" popper-class="!p-0">
|
|
<el-popover placement="right" trigger="hover" width="320" popper-class="!p-0">
|
|
@@ -371,11 +362,9 @@ onMounted(() => {
|
|
|
<el-badge
|
|
<el-badge
|
|
|
:value="row.reportDetails.length"
|
|
:value="row.reportDetails.length"
|
|
|
type="primary"
|
|
type="primary"
|
|
|
- class="max-w-full translate-y-0.5"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ class="max-w-full translate-y-0.5">
|
|
|
<div
|
|
<div
|
|
|
- class="w-72 flex flex-col bg-gray-200/80 hover:bg-blue-100 transition-colors relative group cursor-pointer px-2 py-0.5 rounded gap-y-2"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ class="w-72 flex flex-col bg-gray-200/80 hover:bg-blue-100 transition-colors relative group cursor-pointer px-2 py-0.5 rounded gap-y-2">
|
|
|
<div class="flex items-center gap-x-2">
|
|
<div class="flex items-center gap-x-2">
|
|
|
<div class="flex items-center">
|
|
<div class="flex items-center">
|
|
|
<div class="i-carbon-calendar mr-1 -translate-y-[0.5px]"></div>
|
|
<div class="i-carbon-calendar mr-1 -translate-y-[0.5px]"></div>
|
|
@@ -411,8 +400,7 @@ onMounted(() => {
|
|
|
<div
|
|
<div
|
|
|
v-for="(item, index) in row.reportDetails"
|
|
v-for="(item, index) in row.reportDetails"
|
|
|
:key="index"
|
|
:key="index"
|
|
|
- class="flex flex-col bg-gray-200/80 hover:bg-blue-100 transition-colors relative group cursor-pointer p-2 rounded gap-y-2 max-w-80"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ class="flex flex-col bg-gray-200/80 hover:bg-blue-100 transition-colors relative group cursor-pointer p-2 rounded gap-y-2 max-w-80">
|
|
|
<div class="flex items-center gap-x-2">
|
|
<div class="flex items-center gap-x-2">
|
|
|
<div class="flex items-center">
|
|
<div class="flex items-center">
|
|
|
<div class="i-carbon-calendar mr-1 -translate-y-[0.5px]"></div>
|
|
<div class="i-carbon-calendar mr-1 -translate-y-[0.5px]"></div>
|
|
@@ -434,8 +422,7 @@ onMounted(() => {
|
|
|
<div class="flex items-center">
|
|
<div class="flex items-center">
|
|
|
<div class="font-medium flex-shrink-0">施工详情:</div>
|
|
<div class="font-medium flex-shrink-0">施工详情:</div>
|
|
|
<span
|
|
<span
|
|
|
- class="font-medium group-hover:text-blue-600 transition-colors break-all whitespace-pre-wrap"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ class="font-medium group-hover:text-blue-600 transition-colors break-all whitespace-pre-wrap">
|
|
|
{{ item.constructionDetail || '-' }}
|
|
{{ item.constructionDetail || '-' }}
|
|
|
</span>
|
|
</span>
|
|
|
</div>
|
|
</div>
|
|
@@ -469,8 +456,9 @@ onMounted(() => {
|
|
|
prop="nonProductionRate"
|
|
prop="nonProductionRate"
|
|
|
label="非生产时效"
|
|
label="非生产时效"
|
|
|
cover-formatter
|
|
cover-formatter
|
|
|
- :real-value="(row) => (Number(row.nonProductionRate ?? 0) * 100).toFixed(2) + '%'"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ :real-value="
|
|
|
|
|
+ (row) => (Number(row.nonProductionRate ?? 0) * 100).toFixed(2) + '%'
|
|
|
|
|
+ " />
|
|
|
<zm-table-column label="非生产时间">
|
|
<zm-table-column label="非生产时间">
|
|
|
<zm-table-column prop="accidentTime" label="工程质量" />
|
|
<zm-table-column prop="accidentTime" label="工程质量" />
|
|
|
<zm-table-column prop="repairTime" label="设备故障" />
|
|
<zm-table-column prop="repairTime" label="设备故障" />
|
|
@@ -493,8 +481,7 @@ onMounted(() => {
|
|
|
scope.row.nonProductFlag || scope.row.processInstanceId === '2'
|
|
scope.row.nonProductFlag || scope.row.processInstanceId === '2'
|
|
|
? 'success'
|
|
? 'success'
|
|
|
: 'danger'
|
|
: 'danger'
|
|
|
- "
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ ">
|
|
|
{{
|
|
{{
|
|
|
scope.row.nonProductFlag || scope.row.processInstanceId === '2'
|
|
scope.row.nonProductFlag || scope.row.processInstanceId === '2'
|
|
|
? '已填写'
|
|
? '已填写'
|
|
@@ -527,8 +514,7 @@ onMounted(() => {
|
|
|
link
|
|
link
|
|
|
type="success"
|
|
type="success"
|
|
|
@click="handleOpenForm(scope.row.id, 'detail', scope.row)"
|
|
@click="handleOpenForm(scope.row.id, 'detail', scope.row)"
|
|
|
- v-hasPermi="['pms:iot-rd-daily-report:query']"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ v-hasPermi="['pms:iot-rd-daily-report:query']">
|
|
|
查看
|
|
查看
|
|
|
</el-button>
|
|
</el-button>
|
|
|
<el-button
|
|
<el-button
|
|
@@ -536,8 +522,7 @@ onMounted(() => {
|
|
|
type="warning"
|
|
type="warning"
|
|
|
@click="handleOpenForm(scope.row.id, 'approval')"
|
|
@click="handleOpenForm(scope.row.id, 'approval')"
|
|
|
v-hasPermi="['pms:iot-rd-daily-report:update']"
|
|
v-hasPermi="['pms:iot-rd-daily-report:update']"
|
|
|
- v-if="scope.row.auditStatus === 10"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ v-if="scope.row.auditStatus === 10">
|
|
|
审批
|
|
审批
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</template>
|
|
</template>
|
|
@@ -557,8 +542,7 @@ onMounted(() => {
|
|
|
:total="total"
|
|
:total="total"
|
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
layout="total, sizes, prev, pager, next, jumper"
|
|
|
@size-change="handleSizeChange"
|
|
@size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ @current-change="handleCurrentChange" />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -568,8 +552,7 @@ onMounted(() => {
|
|
|
:id="viewId"
|
|
:id="viewId"
|
|
|
ref="formRef"
|
|
ref="formRef"
|
|
|
:load-list="loadList"
|
|
:load-list="loadList"
|
|
|
- v-model:visible="visible"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ v-model:visible="visible" />
|
|
|
<!-- <IotRdDailyReportForm ref="formRef" @success="loadList" /> -->
|
|
<!-- <IotRdDailyReportForm ref="formRef" @success="loadList" /> -->
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|