Browse Source

pms 瑞都 日报 组织机构搜索

zhangcl 2 days ago
parent
commit
71c4389d10

+ 1 - 1
src/config/axios/service.ts

@@ -184,7 +184,7 @@ service.interceptors.response.use(
         ||requestUrl.includes('system/menu/simple-list')||requestUrl.includes('system/menu/list')||requestUrl.includes('system/dept/simple-list')
         ||requestUrl.includes('pms/')||requestUrl.includes('system/user/page')||requestUrl.includes('supplier/base/page')||requestUrl.includes('system/dept/get')
         ||requestUrl.includes('system/user/simpleUserList')||requestUrl.includes('system/dept/companyLevelDepts')||requestUrl.includes('system/dept/companyLevelChildrenDepts')
-        ||requestUrl.includes('system/user/companyDeptsEmployee')) {
+        ||requestUrl.includes('system/user/companyDeptsEmployee')||requestUrl.includes('system/dept/specifiedSimpleDepts')) {
         const localeStore = useLocaleStore()
         const lang = localeStore.getCurrentLocale.lang
         if (data&& data.data) {

+ 152 - 129
src/views/pms/iotrddailyreport/fillDailyReport.vue

@@ -1,135 +1,144 @@
 <template>
-  <ContentWrap>
-    <!-- 搜索工作栏 -->
-    <el-form
-      class="-mb-15px"
-      :model="queryParams"
-      ref="queryFormRef"
-      :inline="true"
-      label-width="68px"
-    >
-      <el-form-item label="项目" prop="contractName">
-        <el-input
-          v-model="queryParams.contractName"
-          placeholder="请输入项目"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
-      <el-form-item label="任务" prop="taskName">
-        <el-input
-          v-model="queryParams.taskName"
-          placeholder="请输入任务"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
-      <el-form-item label="创建时间" prop="createTime">
-        <el-date-picker
-          v-model="queryParams.createTime"
-          value-format="YYYY-MM-DD HH:mm:ss"
-          type="daterange"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
-          class="!w-220px"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
-        <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
-        <el-button
-          type="primary"
-          plain
-          @click="openForm('create')"
-          v-hasPermi="['pms:iot-rd-daily-report:create']"
+  <el-row :gutter="20">
+    <el-col :span="4" :xs="24">
+      <ContentWrap class="h-1/1">
+        <DeptTree2 :deptId="rootDeptId" @node-click="handleDeptNodeClick" />
+      </ContentWrap>
+    </el-col>
+    <el-col :span="20" :xs="24">
+      <ContentWrap>
+        <!-- 搜索工作栏 -->
+        <el-form
+          class="-mb-15px"
+          :model="queryParams"
+          ref="queryFormRef"
+          :inline="true"
+          label-width="68px"
         >
-          <Icon icon="ep:plus" class="mr-5px" /> 新增
-        </el-button>
-        <el-button
-          type="success"
-          plain
-          @click="handleExport"
-          :loading="exportLoading"
-          v-hasPermi="['pms:iot-rd-daily-report:export']"
-        >
-          <Icon icon="ep:download" class="mr-5px" /> 导出
-        </el-button>
-      </el-form-item>
-    </el-form>
-  </ContentWrap>
+          <el-form-item label="项目" prop="contractName">
+            <el-input
+              v-model="queryParams.contractName"
+              placeholder="请输入项目"
+              clearable
+              @keyup.enter="handleQuery"
+              class="!w-240px"
+            />
+          </el-form-item>
+          <el-form-item label="任务" prop="taskName">
+            <el-input
+              v-model="queryParams.taskName"
+              placeholder="请输入任务"
+              clearable
+              @keyup.enter="handleQuery"
+              class="!w-240px"
+            />
+          </el-form-item>
+          <el-form-item label="创建时间" prop="createTime">
+            <el-date-picker
+              v-model="queryParams.createTime"
+              value-format="YYYY-MM-DD HH:mm:ss"
+              type="daterange"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
+              class="!w-220px"
+            />
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
+            <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
+            <el-button
+              type="primary"
+              plain
+              @click="openForm('create')"
+              v-hasPermi="['pms:iot-rd-daily-report:create']"
+            >
+              <Icon icon="ep:plus" class="mr-5px" /> 新增
+            </el-button>
+            <el-button
+              type="success"
+              plain
+              @click="handleExport"
+              :loading="exportLoading"
+              v-hasPermi="['pms:iot-rd-daily-report:export']"
+            >
+              <Icon icon="ep:download" class="mr-5px" /> 导出
+            </el-button>
+          </el-form-item>
+        </el-form>
+      </ContentWrap>
 
-  <!-- 列表 -->
-  <ContentWrap>
-    <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
-      <el-table-column label="主键id" align="center" prop="id" v-if="false"/>
-      <el-table-column label="施工队伍" align="center" prop="deptName" />
-      <el-table-column label="项目" align="center" prop="contractName" />
-      <el-table-column label="任务" align="center" prop="taskName" />
-      <el-table-column label="带班干部" align="center" prop="responsiblePersonNames" />
-      <el-table-column label="填报人" align="center" prop="submitterNames" />
-      <el-table-column label="日报状态" align="center" prop="status">
-        <template #default="scope">
-          <dict-tag :type="DICT_TYPE.OPERATION_FILL_ORDER_STATUS" :value="scope.row.status" />
-        </template>
-      </el-table-column>
-      <!--
-      <el-table-column label="项目类别(钻井 修井 注氮 酸化压裂... )" align="center" prop="projectClassification" /> -->
-      <!--
-      <el-table-column label="时间节点-结束" align="center" prop="endTime" /> -->
-      <el-table-column
-        label="施工开始日期"
-        align="center"
-        prop="constructionStartDate"
-        :formatter="dateFormatter"
-        width="180px"
-      />
-      <el-table-column
-        label="施工结束日期"
-        align="center"
-        prop="constructionEndDate"
-        :formatter="dateFormatter"
-        width="180px"
-      />
-      <el-table-column
-        label="创建时间"
-        align="center"
-        prop="createTime"
-        :formatter="dateFormatter"
-        width="180px"
-      />
-      <el-table-column label="操作" align="center" min-width="120px">
-        <template #default="scope">
-          <el-button
-            link
-            type="primary"
-            @click="openForm('fill', scope.row.id)"
-            v-hasPermi="['pms:iot-rd-daily-report:update']"
-            v-if="scope.row.status === 0"
-          >
-            填报
-          </el-button>
-          <el-button
-            link
-            type="success"
-            @click="handleDetail(scope.row.id)"
-            v-hasPermi="['pms:iot-rd-daily-report:query']"
-          >
-            查看
-          </el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <!-- 分页 -->
-    <Pagination
-      :total="total"
-      v-model:page="queryParams.pageNo"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
-  </ContentWrap>
+      <!-- 列表 -->
+      <ContentWrap>
+        <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
+          <el-table-column label="主键id" align="center" prop="id" v-if="false"/>
+          <el-table-column
+            label="创建时间"
+            align="center"
+            prop="createTime"
+            :formatter="dateFormatter"
+            width="180px"
+          />
+          <el-table-column label="施工队伍" align="center" prop="deptName" />
+          <el-table-column label="项目" align="center" prop="contractName" />
+          <el-table-column label="任务" align="center" prop="taskName" />
+          <el-table-column label="带班干部" align="center" prop="responsiblePersonNames" />
+          <el-table-column label="填报人" align="center" prop="submitterNames" />
+          <el-table-column label="日报状态" align="center" prop="status">
+            <template #default="scope">
+              <dict-tag :type="DICT_TYPE.OPERATION_FILL_ORDER_STATUS" :value="scope.row.status" />
+            </template>
+          </el-table-column>
+          <!--
+          <el-table-column label="项目类别(钻井 修井 注氮 酸化压裂... )" align="center" prop="projectClassification" /> -->
+          <!--
+          <el-table-column label="时间节点-结束" align="center" prop="endTime" /> -->
+          <el-table-column
+            label="施工开始日期"
+            align="center"
+            prop="constructionStartDate"
+            :formatter="dateFormatter"
+            width="180px"
+          />
+          <el-table-column
+            label="施工结束日期"
+            align="center"
+            prop="constructionEndDate"
+            :formatter="dateFormatter"
+            width="180px"
+          />
+          <el-table-column label="操作" align="center" min-width="120px">
+            <template #default="scope">
+              <el-button
+                link
+                type="primary"
+                @click="openForm('fill', scope.row.id)"
+                v-hasPermi="['pms:iot-rd-daily-report:update']"
+                v-if="scope.row.status === 0"
+              >
+                填报
+              </el-button>
+              <el-button
+                link
+                type="success"
+                @click="handleDetail(scope.row.id)"
+                v-hasPermi="['pms:iot-rd-daily-report:query']"
+              >
+                查看
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 分页 -->
+        <Pagination
+          :total="total"
+          v-model:page="queryParams.pageNo"
+          v-model:limit="queryParams.pageSize"
+          @pagination="getList"
+        />
+      </ContentWrap>
+    </el-col>
+  </el-row>
 
   <!-- 表单弹窗:添加/修改
   <IotRdDailyReportForm ref="formRef" @success="getList" /> -->
@@ -141,6 +150,7 @@ import download from '@/utils/download'
 import { IotRdDailyReportApi, IotRdDailyReportVO } from '@/api/pms/iotrddailyreport'
 import FillDailyReportForm from './FillDailyReportForm.vue'
 import {DICT_TYPE} from "@/utils/dict";
+import DeptTree2 from "@/views/pms/iotrhdailyreport/DeptTree2.vue";
 
 /** 瑞都日报 填报 列表 */
 defineOptions({ name: 'FillDailyReport' })
@@ -151,6 +161,9 @@ const { push } = useRouter() // 路由跳转
 const loading = ref(true) // 列表的加载中
 const list = ref<IotRdDailyReportVO[]>([]) // 列表的数据
 const total = ref(0) // 列表的总页数
+
+const rootDeptId = ref(163)
+
 const queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
@@ -211,6 +224,16 @@ const getList = async () => {
   }
 }
 
+// 响应式变量存储选中的部门
+const selectedDept = ref<{ id: number; name: string }>()
+/** 处理部门被点击 */
+const handleDeptNodeClick = async (row) => {
+  // 记录选中的部门信息
+  selectedDept.value = { id: row.id, name: row.name }
+  queryParams.deptId = row.id
+  await getList()
+}
+
 /** 搜索按钮操作 */
 const handleQuery = () => {
   queryParams.pageNo = 1

+ 172 - 149
src/views/pms/iotrddailyreport/index.vue

@@ -1,154 +1,164 @@
 <template>
-  <ContentWrap>
-    <!-- 搜索工作栏 -->
-    <el-form
-      class="-mb-15px"
-      :model="queryParams"
-      ref="queryFormRef"
-      :inline="true"
-      label-width="68px"
-    >
-      <el-form-item label="项目" prop="contractName">
-        <el-input
-          v-model="queryParams.contractName"
-          placeholder="请输入项目"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
-      <el-form-item label="任务" prop="taskName">
-        <el-input
-          v-model="queryParams.taskName"
-          placeholder="请输入任务"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
-      <el-form-item label="创建时间" prop="createTime">
-        <el-date-picker
-          v-model="queryParams.createTime"
-          value-format="YYYY-MM-DD HH:mm:ss"
-          type="daterange"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
-          class="!w-220px"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
-        <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
-        <el-button
-          type="primary"
-          plain
-          @click="openForm('create')"
-          v-hasPermi="['pms:iot-rd-daily-report:create']"
+  <el-row :gutter="20">
+    <el-col :span="4" :xs="24">
+      <ContentWrap class="h-1/1">
+        <DeptTree2 :deptId="rootDeptId" @node-click="handleDeptNodeClick" />
+      </ContentWrap>
+    </el-col>
+    <el-col :span="20" :xs="24">
+      <ContentWrap>
+        <!-- 搜索工作栏 -->
+        <el-form
+          class="-mb-15px"
+          :model="queryParams"
+          ref="queryFormRef"
+          :inline="true"
+          label-width="68px"
         >
-          <Icon icon="ep:plus" class="mr-5px" /> 新增
-        </el-button>
-        <el-button
-          type="success"
-          plain
-          @click="handleExport"
-          :loading="exportLoading"
-          v-hasPermi="['pms:iot-rd-daily-report:export']"
-        >
-          <Icon icon="ep:download" class="mr-5px" /> 导出
-        </el-button>
-      </el-form-item>
-    </el-form>
-  </ContentWrap>
-
-  <!-- 列表 -->
-  <ContentWrap ref="tableContainerRef">
-    <el-table ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
-      <el-table-column label="主键id" align="center" prop="id" v-if="false"/>
-      <el-table-column
-        label="创建时间"
-        align="center"
-        prop="createTime"
-        :formatter="dateFormatter"
-        :width="columnWidths.createTime"
-      />
-      <el-table-column label="施工队伍" align="center" prop="deptName" :width="columnWidths.deptName"/>
-      <el-table-column label="项目" align="center" prop="contractName" :width="columnWidths.contractName"/>
-      <el-table-column label="任务" align="center" prop="taskName" :width="columnWidths.taskName"/>
-      <el-table-column label="时间节点" align="center" prop="timeRange" :width="columnWidths.timeRange"/>
-      <el-table-column :label="t('project.status')" align="center" prop="rdStatus" :width="columnWidths.rdStatus">
-        <template #default="scope">
-          <dict-tag :type="DICT_TYPE.PMS_PROJECT_RD_STATUS" :value="scope.row.rdStatus" />
-        </template>
-      </el-table-column>
-      <!--
-      <el-table-column label="项目类别(钻井 修井 注氮 酸化压裂... )" align="center" prop="projectClassification" />
-      <el-table-column label="施工工艺" align="center" prop="techniqueIds" /> -->
-      <!--
-      <el-table-column label="施工设备" align="center" prop="deviceIds" /> -->
-      <!--
-      <el-table-column label="时间节点-结束" align="center" prop="endTime" /> -->
-      <el-table-column label="当日施工井" align="center" prop="cumulativeWorkingWell" :width="columnWidths.cumulativeWorkingWell"/>
-      <el-table-column label="当日施工层" align="center" prop="cumulativeWorkingLayers" :width="columnWidths.cumulativeWorkingLayers"/>
-      <el-table-column label="当日泵车台次" align="center" prop="dailyPumpTrips" :width="columnWidths.dailyPumpTrips"/>
-      <el-table-column label="当日仪表/混砂" align="center" prop="dailyToolsSand" :width="columnWidths.dailyToolsSand"/>
-      <el-table-column label="趟数" align="center" prop="runCount" :width="columnWidths.runCount"/>
-      <el-table-column label="桥塞" align="center" prop="bridgePlug" :width="columnWidths.bridgePlug"/>
-      <el-table-column label="水方量" align="center" prop="waterVolume" :width="columnWidths.waterVolume"/>
-      <el-table-column label="时间H" align="center" prop="hourCount" :width="columnWidths.hourCount"/>
-      <el-table-column
-        label="施工开始日期"
-        align="center"
-        prop="constructionStartDate"
-        :formatter="dateFormatter"
-        :width="columnWidths.constructionStartDate"
-      />
-      <el-table-column
-        label="施工结束日期"
-        align="center"
-        prop="constructionEndDate"
-        :formatter="dateFormatter"
-        :width="columnWidths.constructionEndDate"
-      />
-      <el-table-column label="当日生产动态" align="center" prop="productionStatus" :width="columnWidths.productionStatus"/>
-      <el-table-column label="下步工作计划" align="center" prop="nextPlan" :width="columnWidths.nextPlan"/>
-      <el-table-column label="外租设备" align="center" prop="externalRental" :width="columnWidths.externalRental"/>
-      <el-table-column label="故障情况" align="center" prop="malfunction" :width="columnWidths.malfunction"/>
-      <el-table-column label="故障误工H" align="center" prop="faultDowntime" :width="columnWidths.faultDowntime"/>
-
-      <el-table-column label="操作" align="center" min-width="120px" fixed="right">
-        <template #default="scope">
-          <el-button
-            link
-            type="success"
-            @click="handleDetail(scope.row.id)"
-            v-hasPermi="['pms:iot-rd-daily-report:query']"
-          >
-            查看
-          </el-button>
-          <el-button
-            link
-            type="warning"
-            @click="handleApprove(scope.row.id)"
-            v-hasPermi="['pms:iot-rd-daily-report:update']"
-            v-if="scope.row.auditStatus === 10"
-          >
-            审批
-          </el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <!-- 分页 -->
-    <Pagination
-      :total="total"
-      v-model:page="queryParams.pageNo"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
-  </ContentWrap>
-
-  <!-- 表单弹窗:添加/修改 -->
-  <IotRdDailyReportForm ref="formRef" @success="getList" />
+          <el-form-item label="项目" prop="contractName">
+            <el-input
+              v-model="queryParams.contractName"
+              placeholder="请输入项目"
+              clearable
+              @keyup.enter="handleQuery"
+              class="!w-240px"
+            />
+          </el-form-item>
+          <el-form-item label="任务" prop="taskName">
+            <el-input
+              v-model="queryParams.taskName"
+              placeholder="请输入任务"
+              clearable
+              @keyup.enter="handleQuery"
+              class="!w-240px"
+            />
+          </el-form-item>
+          <el-form-item label="创建时间" prop="createTime">
+            <el-date-picker
+              v-model="queryParams.createTime"
+              value-format="YYYY-MM-DD HH:mm:ss"
+              type="daterange"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
+              class="!w-220px"
+            />
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
+            <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
+            <el-button
+              type="primary"
+              plain
+              @click="openForm('create')"
+              v-hasPermi="['pms:iot-rd-daily-report:create']"
+            >
+              <Icon icon="ep:plus" class="mr-5px" /> 新增
+            </el-button>
+            <el-button
+              type="success"
+              plain
+              @click="handleExport"
+              :loading="exportLoading"
+              v-hasPermi="['pms:iot-rd-daily-report:export']"
+            >
+              <Icon icon="ep:download" class="mr-5px" /> 导出
+            </el-button>
+          </el-form-item>
+        </el-form>
+      </ContentWrap>
+
+      <!-- 列表 -->
+      <ContentWrap ref="tableContainerRef">
+        <el-table ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
+          <el-table-column label="主键id" align="center" prop="id" v-if="false"/>
+          <el-table-column
+            label="创建时间"
+            align="center"
+            prop="createTime"
+            :formatter="dateFormatter"
+            :width="columnWidths.createTime"
+          />
+          <el-table-column label="施工队伍" align="center" prop="deptName" :width="columnWidths.deptName"/>
+          <el-table-column label="项目" align="center" prop="contractName" :width="columnWidths.contractName"/>
+          <el-table-column label="任务" align="center" prop="taskName" :width="columnWidths.taskName"/>
+          <el-table-column label="时间节点" align="center" prop="timeRange" :width="columnWidths.timeRange"/>
+          <el-table-column :label="t('project.status')" align="center" prop="rdStatus" :width="columnWidths.rdStatus">
+            <template #default="scope">
+              <dict-tag :type="DICT_TYPE.PMS_PROJECT_RD_STATUS" :value="scope.row.rdStatus" />
+            </template>
+          </el-table-column>
+          <!--
+          <el-table-column label="项目类别(钻井 修井 注氮 酸化压裂... )" align="center" prop="projectClassification" />
+          <el-table-column label="施工工艺" align="center" prop="techniqueIds" /> -->
+          <!--
+          <el-table-column label="施工设备" align="center" prop="deviceIds" /> -->
+          <!--
+          <el-table-column label="时间节点-结束" align="center" prop="endTime" /> -->
+          <el-table-column label="当日施工井" align="center" prop="cumulativeWorkingWell" :width="columnWidths.cumulativeWorkingWell"/>
+          <el-table-column label="当日施工层" align="center" prop="cumulativeWorkingLayers" :width="columnWidths.cumulativeWorkingLayers"/>
+          <el-table-column label="当日泵车台次" align="center" prop="dailyPumpTrips" :width="columnWidths.dailyPumpTrips"/>
+          <el-table-column label="当日仪表/混砂" align="center" prop="dailyToolsSand" :width="columnWidths.dailyToolsSand"/>
+          <el-table-column label="趟数" align="center" prop="runCount" :width="columnWidths.runCount"/>
+          <el-table-column label="桥塞" align="center" prop="bridgePlug" :width="columnWidths.bridgePlug"/>
+          <el-table-column label="水方量" align="center" prop="waterVolume" :width="columnWidths.waterVolume"/>
+          <el-table-column label="时间H" align="center" prop="hourCount" :width="columnWidths.hourCount"/>
+          <el-table-column
+            label="施工开始日期"
+            align="center"
+            prop="constructionStartDate"
+            :formatter="dateFormatter"
+            :width="columnWidths.constructionStartDate"
+          />
+          <el-table-column
+            label="施工结束日期"
+            align="center"
+            prop="constructionEndDate"
+            :formatter="dateFormatter"
+            :width="columnWidths.constructionEndDate"
+          />
+          <el-table-column label="当日生产动态" align="center" prop="productionStatus" :width="columnWidths.productionStatus"/>
+          <el-table-column label="下步工作计划" align="center" prop="nextPlan" :width="columnWidths.nextPlan"/>
+          <el-table-column label="外租设备" align="center" prop="externalRental" :width="columnWidths.externalRental"/>
+          <el-table-column label="故障情况" align="center" prop="malfunction" :width="columnWidths.malfunction"/>
+          <el-table-column label="故障误工H" align="center" prop="faultDowntime" :width="columnWidths.faultDowntime"/>
+
+          <el-table-column label="操作" align="center" min-width="120px" fixed="right">
+            <template #default="scope">
+              <el-button
+                link
+                type="success"
+                @click="handleDetail(scope.row.id)"
+                v-hasPermi="['pms:iot-rd-daily-report:query']"
+              >
+                查看
+              </el-button>
+              <el-button
+                link
+                type="warning"
+                @click="handleApprove(scope.row.id)"
+                v-hasPermi="['pms:iot-rd-daily-report:update']"
+                v-if="scope.row.auditStatus === 10"
+              >
+                审批
+              </el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 分页 -->
+        <Pagination
+          :total="total"
+          v-model:page="queryParams.pageNo"
+          v-model:limit="queryParams.pageSize"
+          @pagination="getList"
+        />
+      </ContentWrap>
+
+      <!-- 表单弹窗:添加/修改 -->
+      <IotRdDailyReportForm ref="formRef" @success="getList" />
+    </el-col>
+  </el-row>
+
 </template>
 
 <script setup lang="ts">
@@ -158,6 +168,7 @@ import { IotRdDailyReportApi, IotRdDailyReportVO } from '@/api/pms/iotrddailyrep
 import IotRdDailyReportForm from './IotRdDailyReportForm.vue'
 import {DICT_TYPE} from "@/utils/dict";
 import { useRoute } from 'vue-router'
+import DeptTree2 from "@/views/pms/iotrhdailyreport/DeptTree2.vue";
 
 
 /** 瑞都日报 列表 */
@@ -220,6 +231,8 @@ const queryParams = reactive({
 const queryFormRef = ref() // 搜索的表单
 const exportLoading = ref(false) // 导出的加载中
 
+const rootDeptId = ref(163)
+
 // 表格引用
 const tableRef = ref()
 // 表格容器引用
@@ -393,6 +406,16 @@ const handleDetail = async (id: number) => {
   }
 }
 
+// 响应式变量存储选中的部门
+const selectedDept = ref<{ id: number; name: string }>()
+/** 处理部门被点击 */
+const handleDeptNodeClick = async (row) => {
+  // 记录选中的部门信息
+  selectedDept.value = { id: row.id, name: row.name }
+  queryParams.deptId = row.id
+  await getList()
+}
+
 /** 审批按钮操作 */
 const handleApprove = async (id: number) => {
   try {

+ 154 - 131
src/views/pms/iotrddailyreport/statistics.vue

@@ -1,136 +1,146 @@
 <template>
-  <ContentWrap>
-    <!-- 搜索工作栏 -->
-    <el-form
-      class="-mb-15px"
-      :model="queryParams"
-      ref="queryFormRef"
-      :inline="true"
-      label-width="68px"
-    >
-      <el-form-item label="项目" prop="contractName">
-        <el-input
-          v-model="queryParams.contractName"
-          placeholder="请输入项目"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
-      <el-form-item label="任务" prop="taskName">
-        <el-input
-          v-model="queryParams.taskName"
-          placeholder="请输入任务"
-          clearable
-          @keyup.enter="handleQuery"
-          class="!w-240px"
-        />
-      </el-form-item>
-      <el-form-item label="创建时间" prop="createTime">
-        <el-date-picker
-          v-model="queryParams.createTime"
-          value-format="YYYY-MM-DD HH:mm:ss"
-          type="daterange"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
-          class="!w-220px"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
-        <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
-        <el-button
-          type="primary"
-          plain
-          @click="openForm('create')"
-          v-hasPermi="['pms:iot-rd-daily-report:create']"
+  <el-row :gutter="20">
+    <el-col :span="4" :xs="24">
+      <ContentWrap class="h-1/1">
+        <DeptTree2 :deptId="rootDeptId" @node-click="handleDeptNodeClick" />
+      </ContentWrap>
+    </el-col>
+    <el-col :span="20" :xs="24">
+      <ContentWrap>
+        <!-- 搜索工作栏 -->
+        <el-form
+          class="-mb-15px"
+          :model="queryParams"
+          ref="queryFormRef"
+          :inline="true"
+          label-width="68px"
         >
-          <Icon icon="ep:plus" class="mr-5px" /> 新增
-        </el-button>
-        <el-button
-          type="success"
-          plain
-          @click="handleExport"
-          :loading="exportLoading"
-          v-hasPermi="['pms:iot-rd-daily-report:export']"
-        >
-          <Icon icon="ep:download" class="mr-5px" /> 导出
-        </el-button>
-      </el-form-item>
-    </el-form>
-  </ContentWrap>
-
-  <!-- 列表 -->
-  <ContentWrap ref="tableContainerRef">
-    <el-table ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
-      <el-table-column label="项目部" align="center" prop="projectDeptName" :width="columnWidths.projectDeptName"/>
-      <el-table-column label="队伍" align="center" prop="deptName" :width="columnWidths.deptName"/>
-      <el-table-column label="甲方" align="center" prop="manufactureName" :width="columnWidths.manufactureName"/>
-      <el-table-column label="井号" align="center" prop="wellName" :width="columnWidths.wellName">
-        <template #default="scope">
-          <el-link
-            type="primary"
-            @click="handleWellNameClick(scope.row.wellName)"
-            :underline="false"
-          >
-            {{ scope.row.wellName }}
-          </el-link>
-        </template>
-      </el-table-column>
-      <el-table-column label="工艺" align="center" prop="techniques" :width="columnWidths.techniques"/>
-      <el-table-column label="总工作量" align="center" prop="workloadDesign" :width="columnWidths.workloadDesign"/>
-      <!-- 已完成工作量分组列 -->
-      <el-table-column label="已完成工作量" align="center">
-        <!-- 动态生成列 -->
-        <el-table-column
-          v-for="column in dynamicColumns"
-          :key="column"
-          :label="column"
-          :prop="column"
-          align="center"
-          min-width="120"
-        >
-          <template #default="scope">
-            {{ getWorkloadByUnit(scope.row.items, column) }}
-          </template>
-        </el-table-column>
-      </el-table-column>
-
-      <!--
-      <el-table-column label="操作" align="center" min-width="120px" fixed="right">
-        <template #default="scope">
-
-          <el-button
-            link
-            type="primary"
-            @click="openForm('update', scope.row.id)"
-            v-hasPermi="['pms:iot-rd-daily-report:update']"
-          >
-            编辑
-          </el-button>
-          <el-button
-            link
-            type="warning"
-            @click="handleApprove(scope.row.id)"
-            v-hasPermi="['pms:iot-rd-daily-report:update']"
-          >
-            审批
-          </el-button>
-        </template>
-      </el-table-column> -->
-    </el-table>
-    <!-- 分页 -->
-    <Pagination
-      :total="total"
-      v-model:page="queryParams.pageNo"
-      v-model:limit="queryParams.pageSize"
-      @pagination="getList"
-    />
-  </ContentWrap>
-
-  <!-- 表单弹窗:添加/修改 -->
-  <IotRdDailyReportForm ref="formRef" @success="getList" />
+          <el-form-item label="项目" prop="contractName">
+            <el-input
+              v-model="queryParams.contractName"
+              placeholder="请输入项目"
+              clearable
+              @keyup.enter="handleQuery"
+              class="!w-240px"
+            />
+          </el-form-item>
+          <el-form-item label="任务" prop="taskName">
+            <el-input
+              v-model="queryParams.taskName"
+              placeholder="请输入任务"
+              clearable
+              @keyup.enter="handleQuery"
+              class="!w-240px"
+            />
+          </el-form-item>
+          <el-form-item label="创建时间" prop="createTime">
+            <el-date-picker
+              v-model="queryParams.createTime"
+              value-format="YYYY-MM-DD HH:mm:ss"
+              type="daterange"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
+              class="!w-220px"
+            />
+          </el-form-item>
+          <el-form-item>
+            <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
+            <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
+            <el-button
+              type="primary"
+              plain
+              @click="openForm('create')"
+              v-hasPermi="['pms:iot-rd-daily-report:create']"
+            >
+              <Icon icon="ep:plus" class="mr-5px" /> 新增
+            </el-button>
+            <el-button
+              type="success"
+              plain
+              @click="handleExport"
+              :loading="exportLoading"
+              v-hasPermi="['pms:iot-rd-daily-report:export']"
+            >
+              <Icon icon="ep:download" class="mr-5px" /> 导出
+            </el-button>
+          </el-form-item>
+        </el-form>
+      </ContentWrap>
+
+      <!-- 列表 -->
+      <ContentWrap ref="tableContainerRef">
+        <el-table ref="tableRef" v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
+          <el-table-column label="项目部" align="center" prop="projectDeptName" :width="columnWidths.projectDeptName"/>
+          <el-table-column label="队伍" align="center" prop="deptName" :width="columnWidths.deptName"/>
+          <el-table-column label="甲方" align="center" prop="manufactureName" :width="columnWidths.manufactureName"/>
+          <el-table-column label="井号" align="center" prop="wellName" :width="columnWidths.wellName">
+            <template #default="scope">
+              <el-link
+                type="primary"
+                @click="handleWellNameClick(scope.row.wellName)"
+                :underline="false"
+              >
+                {{ scope.row.wellName }}
+              </el-link>
+            </template>
+          </el-table-column>
+          <el-table-column label="工艺" align="center" prop="techniques" :width="columnWidths.techniques"/>
+          <el-table-column label="总工作量" align="center" prop="workloadDesign" :width="columnWidths.workloadDesign"/>
+          <!-- 已完成工作量分组列 -->
+          <el-table-column label="已完成工作量" align="center">
+            <!-- 动态生成列 -->
+            <el-table-column
+              v-for="column in dynamicColumns"
+              :key="column"
+              :label="column"
+              :prop="column"
+              align="center"
+              min-width="120"
+            >
+              <template #default="scope">
+                {{ getWorkloadByUnit(scope.row.items, column) }}
+              </template>
+            </el-table-column>
+          </el-table-column>
+
+          <!--
+          <el-table-column label="操作" align="center" min-width="120px" fixed="right">
+            <template #default="scope">
+
+              <el-button
+                link
+                type="primary"
+                @click="openForm('update', scope.row.id)"
+                v-hasPermi="['pms:iot-rd-daily-report:update']"
+              >
+                编辑
+              </el-button>
+              <el-button
+                link
+                type="warning"
+                @click="handleApprove(scope.row.id)"
+                v-hasPermi="['pms:iot-rd-daily-report:update']"
+              >
+                审批
+              </el-button>
+            </template>
+          </el-table-column> -->
+        </el-table>
+        <!-- 分页 -->
+        <Pagination
+          :total="total"
+          v-model:page="queryParams.pageNo"
+          v-model:limit="queryParams.pageSize"
+          @pagination="getList"
+        />
+      </ContentWrap>
+
+      <!-- 表单弹窗:添加/修改 -->
+      <IotRdDailyReportForm ref="formRef" @success="getList" />
+    </el-col>
+  </el-row>
+
 </template>
 
 <script setup lang="ts">
@@ -140,6 +150,7 @@ import { IotRdDailyReportApi, IotRdDailyReportVO } from '@/api/pms/iotrddailyrep
 import IotRdDailyReportForm from './IotRdDailyReportForm.vue'
 import {DICT_TYPE} from "@/utils/dict";
 import { ref, reactive, onMounted, computed } from 'vue'
+import DeptTree2 from "@/views/pms/iotrhdailyreport/DeptTree2.vue";
 
 /** 瑞都日报 汇总统计 */
 defineOptions({ name: 'IotRdDailyReportStatistics' })
@@ -198,6 +209,8 @@ const queryParams = reactive({
 const queryFormRef = ref() // 搜索的表单
 const exportLoading = ref(false) // 导出的加载中
 
+const rootDeptId = ref(163)
+
 // 表格引用
 const tableRef = ref()
 // 表格容器引用
@@ -341,6 +354,16 @@ const handleWellNameClick = (wellName: string) => {
   })
 }
 
+// 响应式变量存储选中的部门
+const selectedDept = ref<{ id: number; name: string }>()
+/** 处理部门被点击 */
+const handleDeptNodeClick = async (row) => {
+  // 记录选中的部门信息
+  selectedDept.value = { id: row.id, name: row.name }
+  queryParams.deptId = row.id
+  await getList()
+}
+
 /** 搜索按钮操作 */
 const handleQuery = () => {
   queryParams.pageNo = 1