Commit a255e982 authored by 陈晓晋's avatar 陈晓晋
Browse files

Merge branch 'xjchen' into 'develop'

任务管理列表修改20230724-1

See merge request !3
parents 44d5e8b3 768fc7ab
Loading
Loading
Loading
Loading
+116 −160
Original line number Diff line number Diff line
<template>
  <div class="app-container">
    <el-form
      :model="queryParams"
      ref="queryForm"
      size="small"
      :inline="true"
      v-show="showSearch"
      label-width="68px"
    >
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="任务名称" prop="name">
        <el-input
          v-model="queryParams.name"
          placeholder="请输入任务名称"
          clearable
          @keyup.enter.native="handleQuery"
        />
        <el-input v-model="queryParams.name" placeholder="请输入任务名称" clearable @keyup.enter.native="handleQuery" />
      </el-form-item>
      <el-form-item>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="mini"
          @click="handleQuery"
          >搜索</el-button
        >
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重置</el-button
        >
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>

    <el-table
      v-loading="loading"
      :data="planList"
      @selection-change="handleSelectionChange"
    >
    <el-table v-loading="loading" :data="planList" @selection-change="handleSelectionChange">
      <el-table-column label="序号" align="center">
        <template slot-scope="scope">
          <span>{{ scope.$index + 1 }}</span>
@@ -48,57 +24,37 @@
      <el-table-column label="创建单位" align="center" prop="createDeptName" />
      <el-table-column label="负责人" align="center" prop="leaderUserName" />
      <el-table-column label="执行人员" align="center" prop="workUserNames" />
      <el-table-column
        label="开始时间"
        align="center"
        prop="startTime"
        width="180"
      >
      <el-table-column label="开始时间" align="center" prop="startTime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.startTime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column
        label="结束时间"
        align="center"
        prop="endTime"
        width="180"
      >
      <el-table-column label="结束时间" align="center" prop="endTime" width="180">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.endTime, "{y}-{m}-{d}") }}</span>
        </template>
      </el-table-column>
      <el-table-column label="状态" align="center" prop="statusName" />
      <el-table-column
        label="操作"
        align="center"
        :show-overflow-tooltip="true"
      >
      <el-table-column label="操作" align="center" :show-overflow-tooltip="true">
        <template slot-scope="scope">
          <router-link
            :to="'/risk/plan/ledgerdata/index/' + scope.row.id"
            class="link-type"
          >
            <el-button size="mini" type="text" icon="el-icon-view"
              >详情</el-button
            >
          <router-link :to="'/risk/plan/ledgerdata/index/' + scope.row.id" class="link-type">
            <el-button size="mini" type="text" icon="el-icon-view">详情</el-button>
          </router-link>
        </template>
      </el-table-column>
    </el-table>

    <pagination
      v-show="total > 0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
      @pagination="getList" />
  </div>
</template>

<script>
import { listPlan, addPlan, updatePlan } from "@/api/risk/plan";
  import {
    listPlan,
    addPlan,
    updatePlan
  } from "@/api/risk/plan";

  export default {
    name: "Plan",
+235 −324
Original line number Diff line number Diff line
<template>
  <div class="wrapper">
    <el-descriptions
      :title="InfoList.detailsDto.name"
      class="margin-top"
      :column="3"
      :size="size"
      border
    >
      <el-descriptions-item label="所属项目">{{
        InfoList.detailsDto.projectName
      }}</el-descriptions-item>
      <el-descriptions-item label="所属楼栋">{{
        InfoList.detailsDto.buildingNames
      }}</el-descriptions-item>
      <el-descriptions-item label="所属单位">{{
        InfoList.detailsDto.deptName
      }}</el-descriptions-item>
    <el-descriptions :title="InfoList.detailsDto.name" class="margin-top" :column="3" :size="size" border>

      <el-descriptions-item label="所属项目">{{ InfoList.detailsDto.projectName }}</el-descriptions-item>
      <el-descriptions-item label="所属楼栋">{{ InfoList.detailsDto.buildingNames }}</el-descriptions-item>
      <el-descriptions-item label="所属单位">{{ InfoList.detailsDto.deptName }}</el-descriptions-item>
      <el-descriptions-item label="所属省市">苏州市</el-descriptions-item>
      <el-descriptions-item label="项目负责人">{{
        InfoList.detailsDto.leaderUserName
      }}</el-descriptions-item>
      <el-descriptions-item label="评估组成员">{{
        InfoList.detailsDto.workUserNames
      }}</el-descriptions-item>
      <el-descriptions-item label="开始时间">{{
        InfoList.startTime
      }}</el-descriptions-item>
      <el-descriptions-item label="结束时间">{{
        InfoList.endTime
      }}</el-descriptions-item>
      <el-descriptions-item label="项目状态">{{
        InfoList.status
      }}</el-descriptions-item>
      <el-descriptions-item label="创建人">{{
        InfoList.createUserName
      }}</el-descriptions-item>
      <el-descriptions-item label="创建单位">{{
        InfoList.detailsDto.createDeptName
      }}</el-descriptions-item>
      <el-descriptions-item label="创建时间">{{
        InfoList.detailsDto.createTime
      }}</el-descriptions-item>
      <el-descriptions-item label="项目负责人">{{ InfoList.detailsDto.leaderUserName }}</el-descriptions-item>
      <el-descriptions-item label="评估组成员">{{ InfoList.detailsDto.workUserNames }}</el-descriptions-item>
      <el-descriptions-item label="开始时间">{{ InfoList.startTime }}</el-descriptions-item>
      <el-descriptions-item label="结束时间">{{ InfoList.endTime }}</el-descriptions-item>
      <el-descriptions-item label="项目状态">{{ InfoList.status }}</el-descriptions-item>
      <el-descriptions-item label="创建人">{{ InfoList.createUserName }}</el-descriptions-item>
      <el-descriptions-item label="创建单位">{{ InfoList.detailsDto.createDeptName }}</el-descriptions-item>
      <el-descriptions-item label="创建时间">{{ InfoList.detailsDto.createTime }}</el-descriptions-item>

    </el-descriptions>
    <el-tabs v-model="activeName" @tab-click="handleClick">
    <el-tabs v-model="activeName" type="border-card" style="margin-top: 10px;" @tab-click="handleClick">
      <el-tab-pane label="风险评估清单" name="first">
        <!-- <el-form
          :model="queryParams"
          ref="queryForm"
          size="small"
          :inline="true"
          v-show="showSearch"
          label-width="82px"
        >
        <!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
                    label-width="82px">
                    <el-form-item label="风险源名称" prop="name">
            <el-input
              v-model="queryParams.name"
              placeholder="请输入风险源名称"
              clearable
              @keyup.enter.native="handleQuery"
            />
                        <el-input v-model="queryParams.name" placeholder="请输入风险源名称" clearable
                            @keyup.enter.native="handleQuery" />
                    </el-form-item>
                    <el-form-item label="风险等级" prop="level">
            <el-input
              v-model="queryParams.level"
              placeholder="请输入风险等级"
              clearable
              @keyup.enter.native="handleQuery"
            />
                        <el-input v-model="queryParams.level" placeholder="请输入风险等级" clearable
                            @keyup.enter.native="handleQuery" />
                    </el-form-item>
                    <el-form-item label="风险类型" prop="factor">
            <el-input
              v-model="queryParams.factor"
              placeholder="请输入风险因素"
              clearable
              @keyup.enter.native="handleQuery"
            />
                        <el-input v-model="queryParams.factor" placeholder="请输入风险因素" clearable
                            @keyup.enter.native="handleQuery" />
                    </el-form-item>
                    <el-form-item label="存在部位" prop="referenceBasis">
            <el-input
              v-model="queryParams.referenceBasis"
              placeholder="请输入参考依据"
              clearable
              @keyup.enter.native="handleQuery"
            />
                        <el-input v-model="queryParams.referenceBasis" placeholder="请输入参考依据" clearable
                            @keyup.enter.native="handleQuery" />
                    </el-form-item>
                    <el-form-item>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="handleQuery"
              >搜索</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
              >重置</el-button
            >
                        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
                        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                    </el-form-item>
                </el-form> -->
        <el-button
          style="margin-bottom: 10px"
          @click="downList(InfoList.detailsDto.id)"
          >导 出</el-button
        >
        <el-table v-loading="loading" :data="listList">
          <!-- <el-table-column type="selection" width="55" align="center" /> -->
          <el-table-column type="index" width="50" label="序号" />
          <!-- <el-table-column label="id" align="center" prop="id" /> -->
        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="downList(InfoList.detailsDto.id)"
          style="float: right;margin-bottom: 8px;">导出风险清单</el-button>
        <el-table v-loading="loading" :data="listList" @selection-change="handleSelectionChange">
          <el-table-column label="序号" align="center">
            <template slot-scope="scope">
              <span>{{ scope.$index + 1 }}</span>
            </template>
          </el-table-column>
          <el-table-column label="风险名称" align="center" prop="name" />
          <el-table-column
            label="所属建筑"
            align="center"
            prop="buildingName"
          />
          <el-table-column label="所属建筑" align="center" prop="buildingName" />
          <el-table-column label="所属楼层" align="center" prop="floorName" />
          <el-table-column label="所属房间" align="center" prop="roomName" />
          <el-table-column
            label="风险等级(系数)"
            align="center"
            prop="level"
          />
          <el-table-column label="风险等级(系数)" align="center" prop="level" />
          <el-table-column label="风险因素" align="center" prop="factor" />
          <el-table-column label="准事故类型" align="center" prop="type" />
          <el-table-column
            label="存在部位"
            align="center"
            prop="presenceLocation"
          />
          <el-table-column label="存在部位" align="center" prop="presenceLocation" />
          <el-table-column label="操作" align="center" prop="describe">
            <template slot-scope="scope">
              <div>
                <el-button
                  size="mini"
                  type="text"
                  icon="el-icon-download"
                  @click="exportList(scope.row.id)"
                  >下载风险告知卡</el-button
                >
                <el-button
                  size="mini"
                  type="text"
                  icon="el-icon-view"
                  @click="showDrawCanvas(scope.row.floorId)"
                  >查看四色图</el-button
                >
                <el-button size="mini" type="text" icon="el-icon-download"
                  @click="exportList(scope.row.id)">下载风险告知卡</el-button>
                <el-button size="mini" type="text" icon="el-icon-view"
                  @click="showDrawCanvas(scope.row.floorId)">查看四色图</el-button>
              </div>
            </template>
          </el-table-column>
        </el-table>

        <pagination
          v-show="total > 0"
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getRiskList"
        />
        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize" @pagination="getRiskList" />
      </el-tab-pane>
      <el-tab-pane label="评估结果审核" name="second">
        <div class="approveResult">

          <div class="approveL">
            <div class="titles">审批流程</div>
            <el-steps direction="vertical" :active="999">
              <el-step
                v-for="approveDto in InfoList.approveListDtos"
                :title="approveDto.taskName"
                :key="approveDto.taskId"
                icon="el-icon-success"
              >
              <el-step v-for="approveDto in InfoList.approveListDtos" :title="approveDto.taskName"
                :key="approveDto.taskId" icon="el-icon-success">
                <template slot="description">
                  <el-card
                    class="box-card"
                    style="line-height: 25px; font-size: 14px; margin: 15px"
                  >
                    <span style="display: block"
                      ><b>操作时间: </b>{{ approveDto.startTime }}</span
                    >
                    <span style="display: block"
                      ><b> 操作人:</b>{{ approveDto.approvalUserName }}</span
                    >
                    <span style="display: block"
                      ><b>任务节点: </b>{{ approveDto.taskName }}</span
                    >
                    <span
                      style="display: block"
                      v-if="approveDto.taskOpinion != null"
                      ><b>审批意见: </b>{{ "" + approveDto.taskOpinion }}</span
                    >

                  <el-card class="box-card" style="line-height: 25px;font-size: 14px;margin: 15px;">
                    <span style="display: block;"><b>操作时间: </b>{{ approveDto.startTime}}</span>
                    <span style="display: block;"><b> 操作人:</b>{{ approveDto.approvalUserName}}</span>
                    <span style="display: block;"><b>任务节点: </b>{{ approveDto.taskName}}</span>
                    <span style="display: block;" v-if="approveDto.taskOpinion!=null"><b>审批意见:
                      </b>{{'' + approveDto.taskOpinion}}</span>
                  </el-card>

                </template>
              </el-step>


            </el-steps>
          </div>

        </div>
      </el-tab-pane>
      <el-tab-pane label="风险评估报告" name="third">
@@ -202,16 +108,15 @@
          <el-table-column label="所属建筑" align="center" prop="name" />
          <el-table-column label="所属承租户" align="center" prop="type" />
          <el-table-column label="操作" align="center" prop="describe">
            <template>
            <template slot-scope="scope">
              <div>
                <el-button size="mini" type="text" icon="el-icon-download"
                  >下载</el-button
                >
                <el-button size="mini" type="text" icon="el-icon-download">下载</el-button>
              </div>
            </template>
          </el-table-column>
        </el-table>
      </el-tab-pane>

    </el-tabs>
  </div>
</template>
@@ -221,13 +126,12 @@ import {
    getPlan,
    riskListInfo,
    riskList,
  exportRiskList,
    exportRiskList
  } from "@/api/risk/plan";

  export default {
    data() {
      return {
      activeName: "first",
        activeName: 'first',
        // 遮罩层
        loading: true,
        // 选中数组
@@ -273,12 +177,12 @@ export default {
        rules: {},
        reportList: [],
        InfoList: {},
    };
      }
    },
    mounted() {
      // console.log(this.$route.params, 'lll')
    this.getInfo(this.$route.params.id);
    this.getRiskList(this.$route.params.id);
      this.getInfo(this.$route.params.id)
      this.getRiskList(this.$route.params.id)
    },
    methods: {
      downList(planId) {
@@ -293,22 +197,26 @@ export default {
        });
      },
      getInfo(id) {
      riskListInfo(id).then((res) => {
        this.InfoList = res.data;
      });
        riskListInfo(id).then(res => {
          this.InfoList = res.data
        })
      },
      getRiskList(id) {
      riskList({ planId: id }).then((res) => {
        this.loading = false;
        this.listList = res.rows;
      });
        riskList({
          planId: id
        }).then(res => {
          this.loading = false
          this.listList = res.rows
        })
      },
      exportList(id) {
      console.log(id, "kkkk");
      this.download("system/risk/plan/exportWord/riskNotification/" + id, {});
        console.log(id, 'kkkk')
        this.download('system/risk/plan/exportWord/riskNotification/' + id, {}, `风险告知卡.docx`)
      }
    },
    handleClick() {

    },
  handleClick() {},
    // 表单重置
    reset() {
      this.form = {
@@ -333,7 +241,7 @@ export default {
        createBy: null,
        createTime: null,
        updateBy: null,
      updateTime: null,
        updateTime: null
      };
      this.resetForm("form");
    },
@@ -347,8 +255,10 @@ export default {
      this.resetForm("queryForm");
      this.handleQuery();
    },
  handleSelectionChange() {},
};
    handleSelectionChange() {

    }
  }
</script>

<style lang="scss" scoped>
@@ -402,5 +312,6 @@ export default {
      padding: 0 0 0 30px;
      border-left: 1px solid #d7d7d7d7;
    }

  }
</style>
 No newline at end of file