jiangping
2025-06-26 f116ffb8abf668cdd5a8d33bd2f85363fd1ef28d
最新版本541200007
已添加3个文件
已修改6个文件
170 ■■■■ 文件已修改
admin/src/assets/icons/home_func5.png 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/assets/icons/home_func6.png 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/common/CommonHeader.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/operation/HiddenDangerParam.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/operation/danger/checkSet.vue 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/operation/danger/record.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/assets/icons/home_func5.png
admin/src/assets/icons/home_func6.png
admin/src/components/common/CommonHeader.vue
@@ -11,6 +11,7 @@
          <div class="item" @click="getHeaderNav('0')">安防中心</div>
          <div class="item" @click="getHeaderNav('1')">消控中心</div>
          <div class="item" @click="getHeaderNav('2')">能管中心</div>
          <div class="item" @click="getHeaderNav('7')">后勤中心</div>
          <div class="item" @click="getHeaderNav('3')">驾驶舱</div>
          <!-- <div class="item" @click="handleTest">测试</div> -->
        </div>
@@ -119,7 +120,7 @@
      this.visible.changePwd = true
    }
  },
  filters: {
  filters: {
    // å±•示名称
    displayName(userInfo) {
      if (userInfo == null) {
admin/src/components/operation/HiddenDangerParam.vue
@@ -14,6 +14,16 @@
      <el-form-item label="联系电话" prop="mobile">
        {{ userInfo.mobile }}
      </el-form-item>
      <el-form-item label="检查类型" prop="checkTypeId">
        <el-select v-model="param.checkTypeId" placeholder="请选择">
          <el-option
              v-for="item in checkTypeList"
              :key="item.id"
              :label="item.name"
              :value="item.id"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="提报时间" prop="submitTime">
        <el-date-picker
          v-model="param.submitTime"
@@ -126,6 +136,7 @@
      userInfo: this.$store.state.userInfo,
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/uploadBatch',
      typeList: [],
      checkTypeList: [],
      addrList: [],
      memberList: [],
      fileList: [],
@@ -139,6 +150,7 @@
        areaId: [{ required: true, message: '请选择', trigger: 'change' }],
        cateId: [{ required: true, message: '请选择', trigger: 'change' }],
        checkUserId: [{ required: true, message: '请选择', trigger: 'change' }],
        checkTypeId: [{ required: true, message: '请选择', trigger: 'change' }],
        companyId: [{ required: true, message: '请选择', trigger: 'change' }],
        faceImgUrl: [{ required: true, message: '请上传', trigger: 'change' }],
@@ -156,6 +168,12 @@
      allList({ type: 1 }).then(res => { // ç±»åž‹
        this.typeList = res || []
      })
      allList({ type: 2}).then(res => { // æ£€æŸ¥ç±»åž‹
        this.checkTypeList = res || []
        if(this.checkTypeList.length>0){
          this.param.checkTypeId = res[0].id
        }
      })
      // memberList({}).then(res => {
      //   this.memberList = res || []
      // })
admin/src/views/index.vue
@@ -246,6 +246,7 @@
        { name: '访客报备', path: '', url: require('@/assets/icons/home_func1.png'), path: '/business/reportRecord' },
        { name: '隐患随手拍', path: '', url: require('@/assets/icons/home_func2.png'), path: '/operation/danger/record' },
        { name: '预约会议室', path: '', url: require('@/assets/icons/home_func3.png'), path: '/meeting/bookings' },
        { name: '公务车预约', path: '', url: require('@/assets/icons/home_func5.png'), path: '/operation/serviceCar/apprRecord' },
        { name: '考勤工作台', path: '', url: require('@/assets/icons/home_func4.png') },
        { name: '食堂消费', path: '', url: require('@/assets/icons/8.png') }
      ],
admin/src/views/operation/danger/checkSet.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
<template>
  <TableLayout :permissions="['business:member:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline>
      <el-form-item label="隐患检查类型" prop="name">
        <el-input v-model="searchForm.name" clearable placeholder="请输入隐患检查类型" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
        <el-button @click="reset">重置</el-button>
      </section>
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:hiddendangerparam:create','business:hiddendangerparam:delete']">
        <li><el-button type="primary" @click="$refs.OperaHiddenDangerParamWindow.open('新建隐患检查类型',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:hiddendangerparam:create']">新建</el-button></li>
        <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:hiddendangerparam:delete']">批量删除</el-button></li>
      </ul>
      <el-table
          :height="tableHeightNew"
          v-loading="isWorking.search"
          :data="tableData.list"
          stripe
          @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="name" label="隐患检查类型" show-overflow-tooltip min-width="200px"></el-table-column>
        <el-table-column prop="sortnum" label="排序码"  width="100px"></el-table-column>
        <el-table-column prop="editDate" label="操作时间" width="170px"></el-table-column>
        <el-table-column
            v-if="containPermissions(['business:hiddendangerparam:update', 'business:hiddendangerparam:delete' ])"
            label="操作"
            width="140"
            fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" icon="el-icon-edit" @click="$refs.OperaHiddenDangerParamWindow.open('编辑隐患检查类型',row,searchForm.type)" v-permissions="['business:hiddendangerparam:update']">编辑</el-button>
            <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:hiddendangerparam:delete']">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination
          @size-change="handleSizeChange"
          @current-change="handlePageChange"
          :pagination="tableData.pagination"
      >
      </pagination>
    </template>
    <!-- æ–°å»º/修改 -->
    <OperaHiddenDangerParamWindow ref="OperaHiddenDangerParamWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaHiddenDangerParamWindow from '@/components/business/OperaHiddenDangerParamWindow'
export default {
  name: 'areaSet',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaHiddenDangerParamWindow },
  data () {
    return {
      // æœç´¢
      searchForm: {
        name: '',
        type: 2
      }
    }
  },
  created () {
    this.config({
      module: '隐患随手拍配置类型',
      api: '/business/hiddenDangerParam',
      'field.id': 'id',
      'field.main': 'id'
    })
    this.search()
  },
  methods: {
  }
}
</script>
admin/src/views/operation/danger/record.vue
@@ -19,6 +19,12 @@
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="检查类型" prop="cateId">
        <el-select v-model="searchForm.checkTypeId" placeholder="请选择检查类型" clearable @change="search">
          <el-option v-for="item in checkTypeList" :key="item.id" :label="item.name" :value="item.id">
          </el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="隐患类型" prop="cateId">
        <el-select v-model="searchForm.cateId" placeholder="请选择隐患类型" clearable @change="search">
          <el-option v-for="item in cateList" :key="item.id" :label="item.name" :value="item.id">
@@ -62,28 +68,21 @@
      </ul>
      <el-table v-loading="isWorking.search" :data="tableData.list" :height="tableHeightNew" stripe @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="checkTypeName" show-overflow-tooltip label="检查类型" min-width="150px"></el-table-column>
        <el-table-column prop="submitTime" label="提报时间" min-width="150px"></el-table-column>
        <el-table-column prop="dutyCompanyName" show-overflow-tooltip label="责任部门" min-width="150px"></el-table-column>
        <el-table-column prop="areaName" label="隐患区域" show-overflow-tooltip min-width="150px"></el-table-column>
        <el-table-column prop="categoryName" label="隐患类型" min-width="150px"></el-table-column>
        <el-table-column prop="content" label="问题描述" min-width="150px"></el-table-column>
        <el-table-column prop="memberName" label="提报人" min-width="80px"></el-table-column>
        <el-table-column prop="companyName" show-overflow-tooltip label="所属组织" min-width="150px"></el-table-column>
        <el-table-column prop="submitTime" label="提报时间" min-width="150px"></el-table-column>
        <el-table-column label="处理结果" min-width="100px">
        <el-table-column prop="dealTime" label="整改时间" min-width="150px"></el-table-column>
        <el-table-column label="整改结果" min-width="100px">
          <template slot-scope="{row}">
            <span class="status-blue" v-if="row.status === 0">待处理</span>
            <span class="status-green" v-if="row.status === 1">已处理</span>
            <span class="status-red" v-if="row.status === 2">已退回</span>
          </template>
        </el-table-column>
<!--
        <el-table-column prop="editDate" label="操作时间" min-width="150px"></el-table-column>
-->
        <!-- <el-table-column label="操作" min-width="180" fixed="right"> -->
        <el-table-column prop="dealTime" label="处理时间" min-width="150px"></el-table-column>
<!--
        <el-table-column prop="editDate" label="最近操作时间" min-width="150px"></el-table-column>
-->
        <el-table-column prop="memberName" label="提报人姓名" min-width="100px"></el-table-column>
        <el-table-column
            label="操作"
            min-width="180"
@@ -128,10 +127,12 @@
        queryStartTime: '',
        queryEndTime: '',
        areaId: null,
        checkTypeId: null,
        cateId: null,
        status: null,
        radio: 0
      },
      checkTypeList: [],
      cateList: [],
      areaList: [],
      time: []
@@ -205,6 +206,9 @@
              if (item && item.type != null && item.type === 1) {
                this.cateList.push(item)
              }
              if (item && item.type != null && item.type === 2) {
                this.checkTypeList.push(item)
              }
            })
          }
        })
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDanger.java
@@ -58,7 +58,7 @@
    private Integer areaId;
    @ApiModelProperty(value = "状态 0待处理 1已处理 2不处理", example = "1")
    @ExcelColumn(name="处理结果" ,valueMapping ="0=待处理;1=已处理;2=不处理;",index = 6,width = 6)
    @ExcelColumn(name="整改结果" ,valueMapping ="0=待处理;1=已处理;2=不处理;",index = 7,width = 6)
    private Integer status;
    @ApiModelProperty(value = "申请处理人编码(关联member)", example = "1")
@@ -68,9 +68,11 @@
    @ApiModelProperty(value = "隐患类型编码(关联hidden_danger_param)", example = "1")
//    @ExcelColumn(name="隐患类型编码(关联hidden_danger_param)")
    private Integer cateId;
    @ApiModelProperty(value = "隐患检查类型编码(关联hidden_danger_param)", example = "1")
    private Integer checkTypeId ;
    @ApiModelProperty(value = "情况说明")
    @ExcelColumn(name="问题描述",index = 3,width = 20)
    @ExcelColumn(name="问题描述",index = 6,width = 20)
    private String content;
    @ApiModelProperty(value = "提报人编码(关联member)", example = "1")
@@ -90,20 +92,19 @@
    private Integer checkUserId;
    @ApiModelProperty(value = "区域名称")
    @ExcelColumn(name="隐患区域",index = 1,width = 10)
    @ExcelColumn(name="隐患区域",index = 4,width = 10)
    private String areaName;
    @ApiModelProperty(value = "申请人姓名", example = "1")
    @TableField(exist = false)
    @ExcelColumn(name="提报人姓名",index =4,width = 6)
    @ExcelColumn(name="提报人姓名",index =9,width = 6)
    private String memberName;
    @ApiModelProperty(value = "申请人所属组织名称", example = "1")
    @TableField(exist = false)
    @ExcelColumn(name="所属组织",index = 5,width = 15)
    private String companyName;
    @ApiModelProperty(value = "责任部门名称", example = "1")
    @TableField(exist = false)
    @ExcelColumn(name="责任部门名称",index = 0,width = 10)
    @ExcelColumn(name="责任部门名称",index = 3,width = 10)
    private String dutyCompanyName;
    @ApiModelProperty(value = "申请人手机号", example = "1")
@@ -124,8 +125,12 @@
    private String checkorPhone;
    @ApiModelProperty(value = "隐患类型名称", example = "1")
    @TableField(exist = false)
    @ExcelColumn(name="隐患类型",index = 2,width = 10)
    @ExcelColumn(name="隐患类型",index = 5,width = 10)
    private String categoryName;
    @ApiModelProperty(value = "检查类型", example = "1")
    @TableField(exist = false)
    @ExcelColumn(name="检查类型",index = 1,width = 10)
    private String checkTypeName;
    @ApiModelProperty(value = "查询开始时间(基于提报时间)", example = "2024-05-20 11:48:50")
    @TableField(exist = false)
@@ -145,12 +150,12 @@
    @ApiModelProperty(value = "提报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelColumn(name="提报时间",index = 7,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
    @ExcelColumn(name="提报时间",index = 2,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
    private Date submitTime;
    @ApiModelProperty(value = "处理时间(整改/退回使用)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelColumn(name="处理时间",index = 8 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
    @ExcelColumn(name="整改时间",index = 7 ,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 18)
    private Date dealTime;
    @ApiModelProperty(value = "附件信息")
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -108,6 +108,7 @@
            || Objects.isNull(hiddenDanger.getCateId())
            || Objects.isNull(hiddenDanger.getApplyCheckUserId())
            || Objects.isNull(hiddenDanger.getCheckUserId())
            || Objects.isNull(hiddenDanger.getCheckTypeId())
            || Objects.isNull(hiddenDanger.getSubmitTime())
            || StringUtils.isBlank(hiddenDanger.getContent())
        ){
@@ -121,6 +122,10 @@
        hiddenDanger.setIsdeleted(Constants.ZERO);
        hiddenDanger.setCreateDate(new Date());
        hiddenDanger.setEditDate(new Date());
        HiddenDangerParam hiddenDangerCheckParam = hiddenDangerParamMapper.selectById(hiddenDanger.getCheckTypeId());
        if(Objects.isNull(hiddenDangerCheckParam)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患检查类型");
        }
        HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId());
        if(Objects.isNull(hiddenDangerParam)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患区域");
@@ -341,12 +346,14 @@
                .select("t2.name",HiddenDanger::getCheckorName)
                .select("t2.phone",HiddenDanger::getCheckorPhone)
                .select("t5.company_name_path",HiddenDanger::getDutyCompanyName)
                .select("t4.company_name_path",HiddenDanger::getCompanyName);
                .select("t4.company_name_path",HiddenDanger::getCompanyName)
                .select("t6.name", HiddenDanger::getCheckTypeName);
        queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
                .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
                .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
                .leftJoin("company t4 on t1.company_id=t4.id")
                .leftJoin("company t5 on t2.company_id=t5.id");
                .leftJoin("company t5 on t2.company_id=t5.id")
                .leftJoin("hidden_danger_param t6 on t2.check_type_id=t6.id");
        queryWrapper
                .eq(HiddenDanger::getId, id)
                .eq(HiddenDanger::getIsdeleted, Constants.ZERO)
@@ -434,6 +441,7 @@
        queryWrapper.selectAll(HiddenDanger.class)
                .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName)
                .select("t1.name", HiddenDanger::getMemberName)
                .select("t6.name", HiddenDanger::getCheckTypeName)
                .select("t1.phone",HiddenDanger::getMemberPhone)
                .select("t2.name",HiddenDanger::getCheckorName)
                .select("t2.phone",HiddenDanger::getCheckorPhone)
@@ -443,6 +451,7 @@
                .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
                .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
                .leftJoin("company t4 on t1.company_id=t4.id")
                .leftJoin("hidden_danger_param t6 on t2.check_type_id=t6.id")
                .leftJoin("company t5 on t2.company_id=t5.id");
        //数据权限开始--------------------start----------------