Commit 7bc2cd27fd5dd0df3e8e055eae1ad600a827ff79

Authored by yiming
1 parent 9385d709

个人待办初版

ruoyi-service/src/main/java/com/ruoyi/service/controller/WorkController.java 0 → 100644
  1 +package com.ruoyi.service.controller;
  2 +
  3 +
  4 +import com.ruoyi.common.annotation.Log;
  5 +import com.ruoyi.common.core.controller.BaseController;
  6 +import com.ruoyi.common.core.domain.AjaxResult;
  7 +import com.ruoyi.common.core.page.TableDataInfo;
  8 +import com.ruoyi.common.enums.BusinessType;
  9 +import com.ruoyi.service.domain.Safety;
  10 +import com.ruoyi.service.domain.Work;
  11 +import com.ruoyi.service.service.WorkService;
  12 +import org.springframework.security.access.prepost.PreAuthorize;
  13 +import org.springframework.validation.annotation.Validated;
  14 +import org.springframework.web.bind.annotation.*;
  15 +
  16 +import javax.annotation.Resource;
  17 +import java.util.List;
  18 +
  19 +
  20 +/**
  21 + * 待办
  22 + *
  23 + * @author ym
  24 + */
  25 +@RestController
  26 +@RequestMapping("/service/work")
  27 +public class WorkController extends BaseController
  28 +{
  29 +
  30 + @Resource
  31 + private WorkService workService;
  32 +
  33 +
  34 + @PreAuthorize("@ss.hasPermi('service:work:list')")
  35 + @GetMapping("/list")
  36 + public TableDataInfo list(Work work)
  37 + {
  38 + startPage();
  39 + work.setUserId(getUserId());
  40 + List<Work> list = workService.selectList(work);
  41 + return getDataTable(list);
  42 + }
  43 +
  44 + @PreAuthorize("@ss.hasPermi('service:work:edit')")
  45 + @Log(title = "待办", businessType = BusinessType.UPDATE)
  46 + @PutMapping
  47 + public AjaxResult edit(@Validated @RequestBody Work work)
  48 + {
  49 + work.setWorkState(2);
  50 + if (workService.update(work) > 0)
  51 + {
  52 + return AjaxResult.success();
  53 + }
  54 + return AjaxResult.error("审批失败,请联系管理员");
  55 + }
  56 +
  57 +}
ruoyi-service/src/main/java/com/ruoyi/service/domain/Safety.java
@@ -39,6 +39,12 @@ public class Safety extends BaseEntity @@ -39,6 +39,12 @@ public class Safety extends BaseEntity
39 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 39 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
40 private Date updateTime; 40 private Date updateTime;
41 41
  42 + /** 1:库房 2:文档 */
  43 + private int type;
  44 +
  45 + /** 库房检查的单选框 */
  46 + private String radio;
  47 +
42 48
43 public Long getId() { 49 public Long getId() {
44 return id; 50 return id;
@@ -99,4 +105,20 @@ public class Safety extends BaseEntity @@ -99,4 +105,20 @@ public class Safety extends BaseEntity
99 public void setUpdateTime(Date updateTime) { 105 public void setUpdateTime(Date updateTime) {
100 this.updateTime = updateTime; 106 this.updateTime = updateTime;
101 } 107 }
  108 +
  109 + public int getType() {
  110 + return type;
  111 + }
  112 +
  113 + public void setType(int type) {
  114 + this.type = type;
  115 + }
  116 +
  117 + public String getRadio() {
  118 + return radio;
  119 + }
  120 +
  121 + public void setRadio(String radio) {
  122 + this.radio = radio;
  123 + }
102 } 124 }
ruoyi-service/src/main/java/com/ruoyi/service/domain/Work.java 0 → 100644
  1 +package com.ruoyi.service.domain;
  2 +
  3 +
  4 +import com.fasterxml.jackson.annotation.JsonFormat;
  5 +import com.ruoyi.common.core.domain.BaseEntity;
  6 +
  7 +import java.util.Date;
  8 +
  9 +
  10 +/**
  11 + * 待办 work
  12 + *
  13 + * @author ym
  14 + */
  15 +public class Work extends BaseEntity
  16 +{
  17 + private static final long serialVersionUID = 1L;
  18 +
  19 +
  20 + private Long id;
  21 +
  22 + /** 所属用户 */
  23 + private Long userId;
  24 +
  25 + /** 消息内容 */
  26 + private String message;
  27 +
  28 + /** 类型 */
  29 + private int workType;
  30 +
  31 + /** 申请时间 */
  32 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  33 + private Date createTime;
  34 +
  35 + /** 申请人 */
  36 + private String applicant;
  37 +
  38 + /** 申请部门 */
  39 + private String dept;
  40 +
  41 + /** 状态 */
  42 + private int workState;
  43 +
  44 + /** 编号 */
  45 + private String no;
  46 +
  47 + /** 名称 */
  48 + private String name;
  49 +
  50 + /** 目的 */
  51 + private String purpose;
  52 +
  53 + /** 方式 */
  54 + private String way;
  55 +
  56 + /** 审批结果 */
  57 + private int examineType;
  58 +
  59 + /** 审批意见 */
  60 + private String mark;
  61 +
  62 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  63 + private Date updateTime;
  64 +
  65 + public Long getId() {
  66 + return id;
  67 + }
  68 +
  69 + public void setId(Long id) {
  70 + this.id = id;
  71 + }
  72 +
  73 + public Long getUserId() {
  74 + return userId;
  75 + }
  76 +
  77 + public void setUserId(Long userId) {
  78 + this.userId = userId;
  79 + }
  80 +
  81 + public String getMessage() {
  82 + return message;
  83 + }
  84 +
  85 + public void setMessage(String message) {
  86 + this.message = message;
  87 + }
  88 +
  89 + public int getWorkType() {
  90 + return workType;
  91 + }
  92 +
  93 + public void setWorkType(int workType) {
  94 + this.workType = workType;
  95 + }
  96 +
  97 + @Override
  98 + public Date getCreateTime() {
  99 + return createTime;
  100 + }
  101 +
  102 + @Override
  103 + public void setCreateTime(Date createTime) {
  104 + this.createTime = createTime;
  105 + }
  106 +
  107 + public String getApplicant() {
  108 + return applicant;
  109 + }
  110 +
  111 + public void setApplicant(String applicant) {
  112 + this.applicant = applicant;
  113 + }
  114 +
  115 + public String getDept() {
  116 + return dept;
  117 + }
  118 +
  119 + public void setDept(String dept) {
  120 + this.dept = dept;
  121 + }
  122 +
  123 + public int getWorkState() {
  124 + return workState;
  125 + }
  126 +
  127 + public void setWorkState(int workState) {
  128 + this.workState = workState;
  129 + }
  130 +
  131 + @Override
  132 + public Date getUpdateTime() {
  133 + return updateTime;
  134 + }
  135 +
  136 + @Override
  137 + public void setUpdateTime(Date updateTime) {
  138 + this.updateTime = updateTime;
  139 + }
  140 +
  141 + public String getNo() {
  142 + return no;
  143 + }
  144 +
  145 + public void setNo(String no) {
  146 + this.no = no;
  147 + }
  148 +
  149 + public String getName() {
  150 + return name;
  151 + }
  152 +
  153 + public void setName(String name) {
  154 + this.name = name;
  155 + }
  156 +
  157 + public String getPurpose() {
  158 + return purpose;
  159 + }
  160 +
  161 + public void setPurpose(String purpose) {
  162 + this.purpose = purpose;
  163 + }
  164 +
  165 + public String getWay() {
  166 + return way;
  167 + }
  168 +
  169 + public void setWay(String way) {
  170 + this.way = way;
  171 + }
  172 +
  173 + public int getExamineType() {
  174 + return examineType;
  175 + }
  176 +
  177 + public void setExamineType(int examineType) {
  178 + this.examineType = examineType;
  179 + }
  180 +
  181 + public String getMark() {
  182 + return mark;
  183 + }
  184 +
  185 + public void setMark(String mark) {
  186 + this.mark = mark;
  187 + }
  188 +}
ruoyi-service/src/main/java/com/ruoyi/service/mapper/WorkMapper.java 0 → 100644
  1 +package com.ruoyi.service.mapper;
  2 +
  3 +
  4 +
  5 +
  6 +import com.ruoyi.service.domain.Work;
  7 +
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * 待办 数据层
  12 + *
  13 + * @author ym
  14 + */
  15 +public interface WorkMapper
  16 +{
  17 + int insert(Work work);
  18 + List<Work> selectList(Work work);
  19 + int update(Work work);
  20 +}
ruoyi-service/src/main/java/com/ruoyi/service/service/WorkService.java 0 → 100644
  1 +package com.ruoyi.service.service;
  2 +
  3 +
  4 +import com.ruoyi.service.domain.Work;
  5 +
  6 +import java.util.List;
  7 +
  8 +/**
  9 + * 待办 服务层
  10 + *
  11 + * @author ym
  12 + */
  13 +public interface WorkService
  14 +{
  15 + int insert(Work work);
  16 + List<Work> selectList(Work work);
  17 + int update(Work work);
  18 +
  19 +}
ruoyi-service/src/main/java/com/ruoyi/service/service/impl/WorkServiceImpl.java 0 → 100644
  1 +package com.ruoyi.service.service.impl;
  2 +
  3 +
  4 +import com.ruoyi.service.domain.Work;
  5 +import com.ruoyi.service.mapper.WorkMapper;
  6 +import com.ruoyi.service.service.WorkService;
  7 +import org.springframework.stereotype.Service;
  8 +import javax.annotation.Resource;
  9 +import java.util.List;
  10 +
  11 +
  12 +/**
  13 + * 待办 服务实现
  14 + *
  15 + * @author ym
  16 + */
  17 +@Service
  18 +public class WorkServiceImpl implements WorkService
  19 +{
  20 + @Resource
  21 + private WorkMapper workMapper;
  22 +
  23 +
  24 + @Override
  25 + public int insert(Work work) {
  26 + return workMapper.insert(work);
  27 + }
  28 +
  29 + @Override
  30 + public List<Work> selectList(Work work) {
  31 + return workMapper.selectList(work);
  32 + }
  33 +
  34 + @Override
  35 + public int update(Work work){
  36 + return workMapper.update(work);
  37 + }
  38 +
  39 +}
ruoyi-service/src/main/resources/mapper/sevice/SafetyMapper.xml
@@ -10,12 +10,14 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -10,12 +10,14 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
10 <if test="checkTime != null and checkTime != null">checkTime,</if> 10 <if test="checkTime != null and checkTime != null">checkTime,</if>
11 <if test="checkUser != null and checkUser != ''">checkUser,</if> 11 <if test="checkUser != null and checkUser != ''">checkUser,</if>
12 <if test="mark != null and mark != ''">mark,</if> 12 <if test="mark != null and mark != ''">mark,</if>
  13 + <if test="type != null and type != ''">type,</if>
13 createTime 14 createTime
14 )values( 15 )values(
15 <if test="depotId != null and depotId != ''">#{depotId},</if> 16 <if test="depotId != null and depotId != ''">#{depotId},</if>
16 <if test="checkTime != null and checkTime != null">#{checkTime},</if> 17 <if test="checkTime != null and checkTime != null">#{checkTime},</if>
17 <if test="checkUser != null and checkUser != ''">#{checkUser},</if> 18 <if test="checkUser != null and checkUser != ''">#{checkUser},</if>
18 <if test="mark != null and mark != ''">#{mark},</if> 19 <if test="mark != null and mark != ''">#{mark},</if>
  20 + <if test="type != null and type != ''">#{type},</if>
19 sysdate() 21 sysdate()
20 ) 22 )
21 </insert> 23 </insert>
@@ -26,7 +28,8 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -26,7 +28,8 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
26 <if test="depotId != null and depotId != ''">depotId = #{depotId},</if> 28 <if test="depotId != null and depotId != ''">depotId = #{depotId},</if>
27 <if test="checkTime != null and checkTime != null">checkTime = #{checkTime},</if> 29 <if test="checkTime != null and checkTime != null">checkTime = #{checkTime},</if>
28 <if test="checkUser != null and checkUser != ''">checkUser = #{checkUser},</if> 30 <if test="checkUser != null and checkUser != ''">checkUser = #{checkUser},</if>
29 - <if test="mark != null">mark = #{mark},</if> 31 + <if test="mark != null and mark != ''">mark = #{mark},</if>
  32 + <if test="radio != null and radio != ''">radio = #{radio},</if>
30 updateTime = sysdate() 33 updateTime = sysdate()
31 </set> 34 </set>
32 where id = #{id} 35 where id = #{id}
@@ -42,6 +45,9 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -42,6 +45,9 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
42 <if test="depotId != null and depotId != ''"> 45 <if test="depotId != null and depotId != ''">
43 AND depotId =#{depotId} 46 AND depotId =#{depotId}
44 </if> 47 </if>
  48 + <if test="type != null and type != ''">
  49 + AND type =#{type}
  50 + </if>
45 </where> 51 </where>
46 </select> 52 </select>
47 53
ruoyi-service/src/main/resources/mapper/sevice/WorkMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<!DOCTYPE mapper
  3 +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4 +"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5 +<mapper namespace="com.ruoyi.service.mapper.WorkMapper">
  6 +
  7 + <insert id="insert" parameterType="com.ruoyi.service.domain.Work">
  8 + insert into work(
  9 + <if test="userId != null and userId != ''">userId,</if>
  10 + <if test="message != null and message != ''">message,</if>
  11 + <if test="workType != null and workType != ''">workType,</if>
  12 + <if test="applicant != null and applicant != ''">applicant,</if>
  13 + <if test="dept != null and dept != ''">dept,</if>
  14 + <if test="workState != null and workState != ''">workState,</if>
  15 + <if test="no != null and no != ''">no,</if>
  16 + <if test="name != null and name != ''">name,</if>
  17 + <if test="purpose != null and purpose != ''">purpose,</if>
  18 + <if test="way != null and way != ''">way,</if>
  19 + createTime
  20 + )values(
  21 + <if test="userId != null and userId != ''">#{userId},</if>
  22 + <if test="message != null and message != ''">#{message},</if>
  23 + <if test="workType != null and workType != ''">#{workType},</if>
  24 + <if test="applicant != null and applicant != ''">#{applicant},</if>
  25 + <if test="dept != null and dept != ''">#{dept},</if>
  26 + <if test="workState != null and workState != ''">#{workState},</if>
  27 + <if test="no != null and no != ''">#{no},</if>
  28 + <if test="name != null and name != ''">#{name},</if>
  29 + <if test="purpose != null and purpose != ''">#{purpose},</if>
  30 + <if test="way != null and way != ''">#{way},</if>
  31 + sysdate()
  32 + )
  33 + </insert>
  34 +
  35 + <select id="selectList" resultType="com.ruoyi.service.domain.Work" parameterType="com.ruoyi.service.domain.Work">
  36 + select * from work
  37 + where userId =#{userId}
  38 + <if test="workType != null and workType != 0">
  39 + AND workType =#{workType}
  40 + </if>
  41 + <if test="workState != null and workState != 0">
  42 + AND workState =#{workState}
  43 + </if>
  44 + </select>
  45 +
  46 + <update id="update" parameterType="com.ruoyi.service.domain.Work">
  47 + update work
  48 + <set>
  49 + <if test="workState != null and workState != ''">workState = #{workState},</if>
  50 + <if test="examineType != null and examineType != ''">examineType = #{examineType},</if>
  51 + <if test="mark != null">mark = #{mark},</if>
  52 + updateTime = sysdate()
  53 + </set>
  54 + where id = #{id}
  55 + </update>
  56 +
  57 +</mapper>
0 \ No newline at end of file 58 \ No newline at end of file
ruoyi-ui/src/api/service/work.js 0 → 100644
  1 +import request from '@/utils/request'
  2 +
  3 +
  4 +export function listPost(query) {
  5 + return request({
  6 + url: '/service/work/list',
  7 + method: 'get',
  8 + params: query
  9 + })
  10 +}
  11 +
  12 +
  13 +export function updatePost(data) {
  14 + return request({
  15 + url: '/service/work',
  16 + method: 'put',
  17 + data: data
  18 + })
  19 +}
ruoyi-ui/src/views/service/message/message.vue
@@ -8,7 +8,7 @@ export default { @@ -8,7 +8,7 @@ export default {
8 name: 'Message', 8 name: 'Message',
9 data() { 9 data() {
10 return { 10 return {
11 - url: '/system/message' 11 + url: '/workService/message'
12 } 12 }
13 }, 13 },
14 methods: { 14 methods: {
ruoyi-ui/src/views/service/message/message2.vue
@@ -9,7 +9,7 @@ export default { @@ -9,7 +9,7 @@ export default {
9 name: 'Message2', 9 name: 'Message2',
10 data() { 10 data() {
11 return { 11 return {
12 - url: '/system/message' 12 + url: '/workService/message'
13 } 13 }
14 }, 14 },
15 methods: { 15 methods: {
ruoyi-ui/src/views/service/safety/index.vue
  1 +<!--库房安全-->
1 <template> 2 <template>
2 <div class="app-container"> 3 <div class="app-container">
3 <el-row :gutter="20"> 4 <el-row :gutter="20">
4 - <!--库房维护-->  
5 - <el-col :span="4" :xs="24"> 5 + <el-col :span="3" :xs="24">
6 <div class="head-container"> 6 <div class="head-container">
7 <el-tree 7 <el-tree
8 :data="options" 8 :data="options"
@@ -18,6 +18,9 @@ @@ -18,6 +18,9 @@
18 </div> 18 </div>
19 </el-col> 19 </el-col>
20 <el-col :span="20" :xs="24" > 20 <el-col :span="20" :xs="24" >
  21 + <el-tabs type="border-card" value="1" @tab-click="clickTab">
  22 + <el-tab-pane label="库房安全检查" name="1" ></el-tab-pane>
  23 + <el-tab-pane label="档案安全检查" name="2" ></el-tab-pane>
21 <el-row :gutter="10" class="mb8"> 24 <el-row :gutter="10" class="mb8">
22 <el-col :span="1.5"> 25 <el-col :span="1.5">
23 <el-button 26 <el-button
@@ -48,34 +51,12 @@ @@ -48,34 +51,12 @@
48 <el-table-column label="检查时间" align="center" key="checkTime" prop="checkTime" /> 51 <el-table-column label="检查时间" align="center" key="checkTime" prop="checkTime" />
49 <el-table-column label="检查人" align="center" key="checkUser" prop="checkUser" /> 52 <el-table-column label="检查人" align="center" key="checkUser" prop="checkUser" />
50 <el-table-column label="检查描述" align="center" key="mark" prop="mark" /> 53 <el-table-column label="检查描述" align="center" key="mark" prop="mark" />
51 - <el-table-column  
52 - label="操作"  
53 - align="center"  
54 - width="160"  
55 - class-name="small-padding fixed-width"  
56 - > 54 + <el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
57 <template slot-scope="scope" > 55 <template slot-scope="scope" >
58 - <el-button  
59 - size="mini"  
60 - type="text"  
61 - icon="el-icon-edit"  
62 - @click="handleUpdate(scope.row)"  
63 - v-hasPermi="['system:user:edit']"  
64 - >修改</el-button>  
65 - <el-button  
66 - size="mini"  
67 - type="text"  
68 - icon="el-icon-edit"  
69 - @click="handleDetail(scope.row)"  
70 - v-hasPermi="['system:user:edit']"  
71 - >登记</el-button>  
72 - <el-button  
73 - size="mini"  
74 - type="text"  
75 - icon="el-icon-delete"  
76 - @click="handleDelete(scope.row)"  
77 - v-hasPermi="['system:user:remove']"  
78 - >删除</el-button> 56 + <el-button size="mini" type="text" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']" >修改</el-button>
  57 + <el-button size="mini" type="text" @click="handlecheck(scope.row)" v-hasPermi="['system:user:edit']" v-if="type==1">检查</el-button>
  58 + <el-button size="mini" type="text" @click="handleDetail(scope.row)" v-hasPermi="['system:user:edit']" v-if="type==2">登记</el-button>
  59 + <el-button size="mini" type="text" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">删除</el-button>
79 </template> 60 </template>
80 </el-table-column> 61 </el-table-column>
81 </el-table> 62 </el-table>
@@ -87,9 +68,11 @@ @@ -87,9 +68,11 @@
87 :limit.sync="queryParams.pageSize" 68 :limit.sync="queryParams.pageSize"
88 @pagination="getList" 69 @pagination="getList"
89 /> 70 />
  71 + </el-tabs>
90 </el-col> 72 </el-col>
91 </el-row> 73 </el-row>
92 74
  75 +
93 <!-- 添加或修改对话框 --> 76 <!-- 添加或修改对话框 -->
94 <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> 77 <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
95 <el-form ref="form" :model="form" :rules="rules" label-width="100px"> 78 <el-form ref="form" :model="form" :rules="rules" label-width="100px">
@@ -120,40 +103,215 @@ @@ -120,40 +103,215 @@
120 <el-button @click="cancel">取 消</el-button> 103 <el-button @click="cancel">取 消</el-button>
121 </div> 104 </div>
122 </el-dialog> 105 </el-dialog>
123 - <!--明细 -->  
124 - <el-dialog title="登记" :visible.sync="open2" width="1000px" append-to-body>  
125 - <el-row :gutter="10" class="mb8">  
126 - <el-col :span="1.5">  
127 - <el-button  
128 - type="primary"  
129 - plain  
130 - icon="el-icon-plus"  
131 - size="mini"  
132 - @click="handleAddDetail()"  
133 - v-hasPermi="['server:safety:add']"  
134 - >新增</el-button> 106 +
  107 + <!-- 库房检查 -->
  108 + <el-dialog :title="title" :visible.sync="open2" width="1300px" append-to-body>
  109 + <el-form ref="form" :model="form2" :rules="rules" >
  110 + <!-- 第一排-->
  111 + <el-col :span="2"><el-form-item label="防光" ></el-form-item></el-col>
  112 + <el-col :span="7" >
  113 + <el-form-item label="是否采用遮光窗帘" class="myClass">
  114 + <el-radio-group v-model="r1">
  115 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  116 + </el-radio-group>
  117 + </el-form-item>
135 </el-col> 118 </el-col>
136 - </el-row>  
137 - <el-table v-loading="loading" :data="detailList" >  
138 - <el-table-column label="检查项" align="center" key="checkType" prop="checkType" :formatter="checkTypeFormat" />  
139 - <el-table-column label="检查情况" align="center" key="state" prop="state" />  
140 - <el-table-column label="措施" align="center" key="measures" prop="measures" :formatter="measuresFormat"/>  
141 - <el-table-column  
142 - label="操作"  
143 - align="center"  
144 - width="160"  
145 - class-name="small-padding fixed-width"  
146 - >  
147 - <template slot-scope="scope" >  
148 - <el-button  
149 - size="mini"  
150 - type="text"  
151 - >明细</el-button>  
152 - </template>  
153 - </el-table-column>  
154 - </el-table> 119 + <el-col :span="7" >
  120 + <el-form-item label="窗帘是否遮挡正常" class="myClass">
  121 + <el-radio-group v-model="r2">
  122 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  123 + </el-radio-group>
  124 + </el-form-item>
  125 + </el-col>
  126 + <el-col :span="8" >
  127 + <el-form-item label="库房是否采用适合纸质档案长期保存的灯具" class="myClass">
  128 + <el-radio-group v-model="r3">
  129 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  130 + </el-radio-group>
  131 + </el-form-item>
  132 + </el-col>
  133 +
  134 + <!-- 第二排-->
  135 + <el-col :span="2"><el-form-item label="防尘" ></el-form-item></el-col>
  136 + <el-col :span="7" >
  137 + <el-form-item label="门窗密闭性是否完好" class="myClass">
  138 + <el-radio-group v-model="r4">
  139 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  140 + </el-radio-group>
  141 + </el-form-item>
  142 + </el-col>
  143 + <el-col :span="15" >
  144 + <el-form-item label="库房是否定期打扫" class="myClass">
  145 + <el-radio-group v-model="r5">
  146 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  147 + </el-radio-group>
  148 + </el-form-item>
  149 + </el-col>
  150 +
  151 + <!-- 第三排-->
  152 + <el-col :span="2"><el-form-item label="防盗" ></el-form-item></el-col>
  153 + <el-col :span="7" >
  154 + <el-form-item label="防盗窗是否正常" class="myClass">
  155 + <el-radio-group v-model="r6">
  156 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  157 + </el-radio-group>
  158 + </el-form-item>
  159 + </el-col>
  160 + <el-col :span="7" >
  161 + <el-form-item label="防盗门是否正常" class="myClass">
  162 + <el-radio-group v-model="r7">
  163 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  164 + </el-radio-group>
  165 + </el-form-item>
  166 + </el-col>
  167 + <el-col :span="7" >
  168 + <el-form-item label="库房钥匙保管是否违规" class="myClass">
  169 + <el-radio-group v-model="r8">
  170 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  171 + </el-radio-group>
  172 + </el-form-item>
  173 + </el-col>
  174 +
  175 + <!-- 第四排-->
  176 +
  177 + <el-col :span="24" push="2">
  178 + <el-form-item label="防盜监控设备工作是否正常" class="myClass">
  179 + <el-radio-group v-model="r9">
  180 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  181 + </el-radio-group>
  182 + </el-form-item>
  183 + </el-col>
  184 +
  185 + <!-- 第五排-->
  186 + <el-col :span="2"><el-form-item label="防火" ></el-form-item></el-col>
  187 + <el-col :span="7" >
  188 + <el-form-item label="灭火设备设施是否正常" class="myClass">
  189 + <el-radio-group v-model="r10">
  190 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  191 + </el-radio-group>
  192 + </el-form-item>
  193 + </el-col>
  194 + <el-col :span="15" >
  195 + <el-form-item label="库房内各类电源开关、保险装置是否正常" class="myClass">
  196 + <el-radio-group v-model="r11">
  197 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  198 + </el-radio-group>
  199 + </el-form-item>
  200 + </el-col>
  201 +
  202 + <!-- 第六排-->
  203 + <el-col :span="2"><el-form-item label="防潮" ></el-form-item></el-col>
  204 + <el-col :span="7" >
  205 + <el-form-item label="除湿设备是否正常" class="myClass">
  206 + <el-radio-group v-model="r12">
  207 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  208 + </el-radio-group>
  209 + </el-form-item>
  210 + </el-col>
  211 + <el-col :span="7" >
  212 + <el-form-item label="库房湿度是否记录" class="myClass">
  213 + <el-radio-group v-model="r13">
  214 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  215 + </el-radio-group>
  216 + </el-form-item>
  217 + </el-col>
  218 + <el-col :span="7" >
  219 + <el-form-item label="档案是否做去湿处理" class="myClass">
  220 + <el-radio-group v-model="r14">
  221 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  222 + </el-radio-group>
  223 + </el-form-item>
  224 + </el-col>
  225 +
  226 + <!-- 第七排-->
  227 + <el-col :span="2"><el-form-item label="防虫" ></el-form-item></el-col>
  228 + <el-col :span="22" >
  229 + <el-form-item label="是否定期使用杀虫药" class="myClass">
  230 + <el-radio-group v-model="r15">
  231 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  232 + </el-radio-group>
  233 + </el-form-item>
  234 + </el-col>
  235 +
  236 + <!-- 第八排-->
  237 + <el-col :span="2"><el-form-item label="防鼠" ></el-form-item></el-col>
  238 + <el-col :span="22" >
  239 + <el-form-item label="是否定期投放鼠药等" class="myClass">
  240 + <el-radio-group v-model="r16">
  241 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  242 + </el-radio-group>
  243 + </el-form-item>
  244 + </el-col>
  245 +
  246 + <!-- 第九排-->
  247 + <el-col :span="2"><el-form-item label="防鼠" ></el-form-item></el-col>
  248 + <el-col :span="22" >
  249 + <el-form-item label="是否定期投放鼠药等" class="myClass">
  250 + <el-radio-group v-model="r17">
  251 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  252 + </el-radio-group>
  253 + </el-form-item>
  254 + </el-col>
  255 +
  256 + <!-- 第十排-->
  257 + <el-col :span="2"><el-form-item label="防霉" ></el-form-item></el-col>
  258 + <el-col :span="22" >
  259 + <el-form-item label="是否定期使用防霉药" class="myClass">
  260 + <el-radio-group v-model="r18">
  261 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  262 + </el-radio-group>
  263 + </el-form-item>
  264 + </el-col>
  265 +
  266 + <!-- 第十一排-->
  267 + <el-col :span="2"><el-form-item label="防高温" ></el-form-item></el-col>
  268 + <el-col :span="7" >
  269 + <el-form-item label="空调是否正常" class="myClass">
  270 + <el-radio-group v-model="r19">
  271 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  272 + </el-radio-group>
  273 + </el-form-item>
  274 + </el-col>
  275 + <el-col :span="15" >
  276 + <el-form-item label="是否记录库房温度" class="myClass">
  277 + <el-radio-group v-model="r20">
  278 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  279 + </el-radio-group>
  280 + </el-form-item>
  281 + </el-col>
  282 +
  283 + <!-- 第十二排-->
  284 + <el-col :span="2"><el-form-item label="防有害气体" ></el-form-item></el-col>
  285 + <el-col :span="7" >
  286 + <el-form-item label="是否做好密闭工作" class="myClass">
  287 + <el-radio-group v-model="r21">
  288 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  289 + </el-radio-group>
  290 + </el-form-item>
  291 + </el-col>
  292 + <el-col :span="7" >
  293 + <el-form-item label="是否有残留有害废物" class="myClass">
  294 + <el-radio-group v-model="r22">
  295 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  296 + </el-radio-group>
  297 + </el-form-item>
  298 + </el-col>
  299 + <el-col :span="8" >
  300 + <el-form-item label="空气净化设备是否正常" class="myClass">
  301 + <el-radio-group v-model="r23">
  302 + <el-radio v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
  303 + </el-radio-group>
  304 + </el-form-item>
  305 + </el-col>
  306 +
  307 + </el-form>
  308 + <div slot="footer" class="dialog-footer">
  309 + <el-button type="primary" @click="submitForm2">确 定</el-button>
  310 + <el-button @click="cancel">取 消</el-button>
  311 + </div>
155 </el-dialog> 312 </el-dialog>
156 313
  314 + <!-- 档案检查新增 -->
157 <el-dialog title="新增" :visible.sync="open3" width="500px" append-to-body> 315 <el-dialog title="新增" :visible.sync="open3" width="500px" append-to-body>
158 <el-form ref="form2" :model="form2" :rules="rules" label-width="100px"> 316 <el-form ref="form2" :model="form2" :rules="rules" label-width="100px">
159 <el-form-item label="检查项" > 317 <el-form-item label="检查项" >
@@ -185,9 +343,50 @@ @@ -185,9 +343,50 @@
185 <el-button @click="cancel2">取 消</el-button> 343 <el-button @click="cancel2">取 消</el-button>
186 </div> 344 </div>
187 </el-dialog> 345 </el-dialog>
  346 +
  347 + <!--档案检查登记的查看 -->
  348 + <el-dialog title="登记" :visible.sync="open4" width="1000px" append-to-body>
  349 + <el-row :gutter="10" class="mb8">
  350 + <el-col :span="1.5">
  351 + <el-button
  352 + type="primary"
  353 + plain
  354 + icon="el-icon-plus"
  355 + size="mini"
  356 + @click="handleAddDetail()"
  357 + v-hasPermi="['server:safety:add']"
  358 + >新增</el-button>
  359 + </el-col>
  360 + </el-row>
  361 + <el-table v-loading="loading" :data="detailList" >
  362 + <el-table-column label="检查项" align="center" key="checkType" prop="checkType" :formatter="checkTypeFormat" />
  363 + <el-table-column label="检查情况" align="center" key="state" prop="state" />
  364 + <el-table-column label="措施" align="center" key="measures" prop="measures" :formatter="measuresFormat"/>
  365 + <el-table-column
  366 + label="操作"
  367 + align="center"
  368 + width="160"
  369 + class-name="small-padding fixed-width"
  370 + >
  371 + <template slot-scope="scope" >
  372 + <el-button
  373 + size="mini"
  374 + type="text"
  375 + >明细</el-button>
  376 + </template>
  377 + </el-table-column>
  378 + </el-table>
  379 + </el-dialog>
  380 +
  381 +
188 </div> 382 </div>
189 </template> 383 </template>
190 - 384 +<style lang="scss">
  385 +.myClass .el-form-item__label{
  386 + font-size: 14px;
  387 + font-weight:normal;
  388 +}
  389 +</style>
191 <script> 390 <script>
192 391
193 import {getDepots} from "@/api/service/depot"; 392 import {getDepots} from "@/api/service/depot";
@@ -196,7 +395,7 @@ import Treeselect from &quot;@riophae/vue-treeselect&quot;; @@ -196,7 +395,7 @@ import Treeselect from &quot;@riophae/vue-treeselect&quot;;
196 import "@riophae/vue-treeselect/dist/vue-treeselect.css"; 395 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
197 396
198 export default { 397 export default {
199 - dicts: ['checkType','measures'], 398 + dicts: ['checkType','measures','yes_no'],
200 components: { Treeselect }, 399 components: { Treeselect },
201 data() { 400 data() {
202 return { 401 return {
@@ -224,6 +423,7 @@ export default { @@ -224,6 +423,7 @@ export default {
224 open: false, 423 open: false,
225 open2:false, 424 open2:false,
226 open3:false, 425 open3:false,
  426 + open4:false,
227 // 表单参数 427 // 表单参数
228 defaultProps: { 428 defaultProps: {
229 children: "children", 429 children: "children",
@@ -235,14 +435,38 @@ export default { @@ -235,14 +435,38 @@ export default {
235 pageSize: 10, 435 pageSize: 10,
236 depotId:undefined 436 depotId:undefined
237 }, 437 },
238 - queryParams2: { 438 + queryParams3: {
239 safetyId:undefined 439 safetyId:undefined
240 }, 440 },
241 // 表单校验 441 // 表单校验
242 rules: { 442 rules: {
243 }, 443 },
244 depotList:[], 444 depotList:[],
245 - safetyId:undefined 445 + safetyId:undefined,
  446 + r1: '1',
  447 + r2: '1',
  448 + r3: '1',
  449 + r4: '1',
  450 + r5: '1',
  451 + r6: '1',
  452 + r7: '1',
  453 + r8: '1',
  454 + r9: '1',
  455 + r10: '1',
  456 + r11: '1',
  457 + r12: '1',
  458 + r13: '1',
  459 + r14: '1',
  460 + r15: '1',
  461 + r16: '1',
  462 + r17: '1',
  463 + r18: '1',
  464 + r19: '1',
  465 + r20: '1',
  466 + r21: '1',
  467 + r22: '1',
  468 + r23: '1',
  469 + type:1
246 }; 470 };
247 }, 471 },
248 watch: { 472 watch: {
@@ -258,6 +482,7 @@ export default { @@ -258,6 +482,7 @@ export default {
258 }, 482 },
259 methods: { 483 methods: {
260 getList() { 484 getList() {
  485 + this.queryParams.type=this.type;
261 this.loading = true; 486 this.loading = true;
262 listPost(this.queryParams).then(response => { 487 listPost(this.queryParams).then(response => {
263 this.postList = response.rows; 488 this.postList = response.rows;
@@ -265,7 +490,6 @@ export default { @@ -265,7 +490,6 @@ export default {
265 this.loading = false; 490 this.loading = false;
266 }); 491 });
267 }, 492 },
268 - /** 查询部门下拉树结构 */  
269 getTreeselect() { 493 getTreeselect() {
270 treeselect().then(response => { 494 treeselect().then(response => {
271 this.options = response.data; 495 this.options = response.data;
@@ -298,18 +522,48 @@ export default { @@ -298,18 +522,48 @@ export default {
298 depotId: undefined, 522 depotId: undefined,
299 checkTime: undefined, 523 checkTime: undefined,
300 checkUser: undefined, 524 checkUser: undefined,
301 - mark: undefined 525 + mark: undefined,
  526 + type:undefined
302 }; 527 };
303 this.resetForm("form"); 528 this.resetForm("form");
304 }, 529 },
305 reset2() { 530 reset2() {
306 this.form2 = { 531 this.form2 = {
  532 + id: undefined
  533 + };
  534 + this.r1='1';
  535 + this.r2='1';
  536 + this.r3='1';
  537 + this.r4='1';
  538 + this.r5='1';
  539 + this.r6='1';
  540 + this.r7='1';
  541 + this.r8='1';
  542 + this.r9='1';
  543 + this.r10='1';
  544 + this.r11='1';
  545 + this.r12='1';
  546 + this.r13='1';
  547 + this.r14='1';
  548 + this.r15='1';
  549 + this.r16='1';
  550 + this.r17='1';
  551 + this.r18='1';
  552 + this.r19='1';
  553 + this.r20='1';
  554 + this.r21='1';
  555 + this.r22='1';
  556 + this.r23='1';
  557 + this.resetForm("form2");
  558 + },
  559 + reset3() {
  560 + this.form3 = {
307 safetyId: undefined, 561 safetyId: undefined,
308 checkType: undefined, 562 checkType: undefined,
309 state: undefined, 563 state: undefined,
310 measures: undefined 564 measures: undefined
311 }; 565 };
312 - this.resetForm("form2"); 566 + this.resetForm("form3");
313 }, 567 },
314 /** 搜索按钮操作 */ 568 /** 搜索按钮操作 */
315 handleQuery() { 569 handleQuery() {
@@ -324,7 +578,7 @@ export default { @@ -324,7 +578,7 @@ export default {
324 }, 578 },
325 // 多选框选中数据 579 // 多选框选中数据
326 handleSelectionChange(selection) { 580 handleSelectionChange(selection) {
327 - this.ids = selection.map(item => item.userId); 581 + this.ids = selection.map(item => item.id);
328 this.single = selection.length != 1; 582 this.single = selection.length != 1;
329 this.multiple = !selection.length; 583 this.multiple = !selection.length;
330 }, 584 },
@@ -343,14 +597,48 @@ export default { @@ -343,14 +597,48 @@ export default {
343 this.edit = true; 597 this.edit = true;
344 this.title = "编辑"; 598 this.title = "编辑";
345 }, 599 },
  600 + /** 库房检查按钮操作 */
  601 + handlecheck(row) {
  602 + this.reset2();
  603 + this.form2.id=row.id;
  604 + let arr=row.radio.split(',');
  605 + this.r1=arr[0];
  606 + this.r1=arr[0];
  607 + this.r2=arr[1];
  608 + this.r3=arr[2];
  609 + this.r4=arr[3];
  610 + this.r5=arr[4];
  611 + this.r6=arr[5];
  612 + this.r7=arr[6];
  613 + this.r8=arr[7];
  614 + this.r9=arr[8];
  615 + this.r10=arr[9];
  616 + this.r11=arr[10];
  617 + this.r12=arr[11];
  618 + this.r13=arr[12];
  619 + this.r14=arr[13];
  620 + this.r15=arr[14];
  621 + this.r16=arr[15];
  622 + this.r17=arr[16];
  623 + this.r18=arr[17];
  624 + this.r19=arr[18];
  625 + this.r20=arr[19];
  626 + this.r21=arr[20];
  627 + this.r22=arr[21];
  628 + this.r23=arr[22];
  629 + this.open2 = true;
  630 + this.title = "检查登记";
  631 + },
  632 + /** 档案检查登记按钮操作 */
346 handleDetail(row) { 633 handleDetail(row) {
347 this.safetyId=row.id; 634 this.safetyId=row.id;
348 this.getDetailList(row.id); 635 this.getDetailList(row.id);
349 - this.open2 = true; 636 + this.open4 = true;
350 }, 637 },
  638 + /** 档案检查新增按钮操作 */
351 handleAddDetail() { 639 handleAddDetail() {
352 - this.reset2();  
353 - this.form2.safetyId=this.safetyId; 640 + this.reset3();
  641 + this.form3.safetyId=this.safetyId;
354 this.open3 = true; 642 this.open3 = true;
355 }, 643 },
356 /** 提交按钮 */ 644 /** 提交按钮 */
@@ -364,6 +652,7 @@ export default { @@ -364,6 +652,7 @@ export default {
364 this.getList(); 652 this.getList();
365 }); 653 });
366 } else { 654 } else {
  655 + this.form.type=this.type;
367 addPost(this.form).then(response => { 656 addPost(this.form).then(response => {
368 this.$modal.msgSuccess("新增成功"); 657 this.$modal.msgSuccess("新增成功");
369 this.open = false; 658 this.open = false;
@@ -373,15 +662,37 @@ export default { @@ -373,15 +662,37 @@ export default {
373 } 662 }
374 }); 663 });
375 }, 664 },
  665 + /** 库房检查提交 */
376 submitForm2: function() { 666 submitForm2: function() {
377 - this.$refs["form2"].validate(valid => {  
378 - if (valid) {  
379 - addDetail(this.form2).then(response => {  
380 - this.$modal.msgSuccess("新增成功");  
381 - this.open3 = false;  
382 - this.getDetailList(this.safetyId);  
383 - });  
384 - } 667 + let arr=new Array(23);
  668 + arr[0]=this.r1;
  669 + arr[1]=this.r2;
  670 + arr[2]=this.r3;
  671 + arr[3]=this.r4;
  672 + arr[4]=this.r5;
  673 + arr[5]=this.r6;
  674 + arr[6]=this.r7;
  675 + arr[7]=this.r8;
  676 + arr[8]=this.r9;
  677 + arr[9]=this.r10;
  678 + arr[10]=this.r11;
  679 + arr[11]=this.r12;
  680 + arr[12]=this.r13;
  681 + arr[13]=this.r14;
  682 + arr[14]=this.r15;
  683 + arr[15]=this.r16;
  684 + arr[16]=this.r17;
  685 + arr[17]=this.r18;
  686 + arr[18]=this.r19;
  687 + arr[19]=this.r20;
  688 + arr[20]=this.r21;
  689 + arr[21]=this.r22;
  690 + arr[22]=this.r23;
  691 + this.form2.radio=arr.toString();
  692 + updatePost(this.form2).then(response => {
  693 + this.$modal.msgSuccess("修改成功");
  694 + this.open2 = false;
  695 + this.getList();
385 }); 696 });
386 }, 697 },
387 /** 删除按钮操作 */ 698 /** 删除按钮操作 */
@@ -408,11 +719,11 @@ export default { @@ -408,11 +719,11 @@ export default {
408 } 719 }
409 } 720 }
410 }, 721 },
411 - /** 详情的查询 */ 722 + /** 档案检查登记的查询 */
412 getDetailList(safetyId) { 723 getDetailList(safetyId) {
413 - this.queryParams2.safetyId=safetyId; 724 + this.queryParams3.safetyId=safetyId;
414 this.loading = true; 725 this.loading = true;
415 - detailList(this.queryParams2).then(response => { 726 + detailList(this.queryParams3).then(response => {
416 this.detailList = response.rows; 727 this.detailList = response.rows;
417 this.loading = false; 728 this.loading = false;
418 }); 729 });
@@ -422,6 +733,10 @@ export default { @@ -422,6 +733,10 @@ export default {
422 }, 733 },
423 measuresFormat(row, column) { 734 measuresFormat(row, column) {
424 return this.selectDictLabel(this.dict.type.measures, row.measures); 735 return this.selectDictLabel(this.dict.type.measures, row.measures);
  736 + },
  737 + clickTab(tab, event) {
  738 + this.type=tab.name;
  739 + this.handleQuery();
425 } 740 }
426 } 741 }
427 }; 742 };
ruoyi-ui/src/views/service/work/index.vue 0 → 100644
  1 +<!--我的待办-->
  2 +<template>
  3 + <div class="app-container">
  4 + <el-tabs type="border-card" value="1" @tab-click="clickTab">
  5 + <el-tab-pane label="待办列表" name="1" ></el-tab-pane>
  6 + <el-tab-pane label="已办列表" name="2" ></el-tab-pane>
  7 + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
  8 + <el-form-item label="选择待办类型" prop="workType">
  9 + <el-select v-model="queryParams.workType" placeholder="请选择" clearable style="width: 240px">
  10 + <el-option
  11 + v-for="dict in dict.type.workType"
  12 + :key="dict.value"
  13 + :label="dict.label"
  14 + :value="dict.value"
  15 + />
  16 + </el-select>
  17 + </el-form-item>
  18 + <el-form-item>
  19 + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  20 + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  21 + </el-form-item>
  22 + </el-form>
  23 +
  24 + <el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange">
  25 + <el-table-column type="selection" width="55" align="center" />
  26 + <el-table-column label="消息内容" align="center" prop="message" />
  27 + <el-table-column label="类型" align="center" prop="workType" :formatter="workTypeFormat"/>
  28 + <el-table-column label="申请时间" align="center" prop="createTime" />
  29 + <el-table-column label="申请人名称" align="center" prop="applicant" />
  30 + <el-table-column label="申请人部门" align="center" prop="dept" />
  31 + <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  32 + <template slot-scope="scope">
  33 + <el-button
  34 + size="mini"
  35 + type="text"
  36 + @click="handleUpdate(scope.row)"
  37 + v-hasPermi="['service:inventory:edit']"
  38 + >办理</el-button>
  39 + <el-button
  40 + size="mini"
  41 + type="text"
  42 + @click="handleUpdate(scope.row)"
  43 + v-hasPermi="['service:inventory:edit']"
  44 + >查看审批记录</el-button>
  45 + </template>
  46 + </el-table-column>
  47 + </el-table>
  48 +
  49 + <pagination
  50 + v-show="total>0"
  51 + :total="total"
  52 + :page.sync="queryParams.pageNum"
  53 + :limit.sync="queryParams.pageSize"
  54 + @pagination="getList"
  55 + />
  56 +
  57 + </el-tabs>
  58 +
  59 + <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
  60 + <el-form ref="form" :model="form" :rules="rules" label-width="100px">
  61 + <el-descriptions direction="vertical" :column="5" border>
  62 + <el-descriptions-item label="编号" >{{form.no}}</el-descriptions-item>
  63 + <el-descriptions-item label="名称">{{form.name}}</el-descriptions-item>
  64 + <el-descriptions-item label="目的" >{{form.purpose}}</el-descriptions-item>
  65 + <el-descriptions-item label="方式">{{form.way}}</el-descriptions-item>
  66 + <el-descriptions-item label="操作">
  67 + <el-radio-group v-model="form.examineType" :disabled="workState==2">
  68 + <el-radio
  69 + v-for="dict in dict.type.examineType"
  70 + :key="dict.value"
  71 + :label="dict.value"
  72 + >{{dict.label}}</el-radio>
  73 + </el-radio-group>
  74 + </el-descriptions-item>
  75 + <el-descriptions-item label="审批意见">
  76 + <el-input type="textarea" v-model="form.mark" :disabled="workState==2"></el-input>
  77 + </el-descriptions-item>
  78 + </el-descriptions>
  79 + </el-form>
  80 + <div slot="footer" class="dialog-footer">
  81 + <el-button type="primary" @click="submitForm" v-if="workState!=2">确 定</el-button>
  82 + <el-button @click="cancel">取 消</el-button>
  83 + </div>
  84 + </el-dialog>
  85 +
  86 + </div>
  87 +</template>
  88 +
  89 +
  90 +<script>
  91 +import { listPost ,updatePost} from "@/api/service/work";
  92 +
  93 +export default {
  94 + name: "work",
  95 + dicts: ['workType','examineType','sys_normal_disable'],
  96 + data() {
  97 + return {
  98 + // 遮罩层
  99 + loading: true,
  100 + // 选中数组
  101 + ids: [],
  102 + // 非单个禁用
  103 + single: true,
  104 + // 非多个禁用
  105 + multiple: true,
  106 + // 显示搜索条件
  107 + showSearch: true,
  108 + // 总条数
  109 + total: 0,
  110 + // 岗位表格数据
  111 + postList: [],
  112 + // 弹出层标题
  113 + title: "",
  114 + // 是否显示弹出层
  115 + open: false,
  116 + // 查询参数
  117 + queryParams: {
  118 + pageNum: 1,
  119 + pageSize: 10,
  120 + workType:undefined,
  121 + workState:1
  122 + },
  123 + // 表单参数
  124 + form: {},
  125 + // 表单校验
  126 + rules: {
  127 + },
  128 + workState:1
  129 + };
  130 + },
  131 + created() {
  132 + this.getList();
  133 + },
  134 + methods: {
  135 + getList() {
  136 + this.loading = true;
  137 + listPost(this.queryParams).then(response => {
  138 + this.postList = response.rows;
  139 + this.total = response.total;
  140 + this.loading = false;
  141 + });
  142 + },
  143 + // 取消按钮
  144 + cancel() {
  145 + this.open = false;
  146 + this.reset();
  147 + },
  148 + // 表单重置
  149 + reset() {
  150 + this.form = {
  151 + no:undefined,
  152 + name:undefined,
  153 + purpose:undefined,
  154 + way:undefined,
  155 + examineType:undefined,
  156 + mark:undefined
  157 + };
  158 + this.resetForm("form");
  159 + },
  160 + /** 搜索按钮操作 */
  161 + handleQuery() {
  162 + this.queryParams.pageNum = 1;
  163 + this.getList();
  164 + },
  165 + /** 重置按钮操作 */
  166 + resetQuery() {
  167 + this.resetForm("queryForm");
  168 + this.handleQuery();
  169 + },
  170 + // 多选框选中数据
  171 + handleSelectionChange(selection) {
  172 + this.ids = selection.map(item => item.id)
  173 + this.single = selection.length!=1
  174 + this.multiple = !selection.length
  175 + },
  176 + handleUpdate(row) {
  177 + this.reset();
  178 + this.form = row;
  179 + this.form.examineType=''+row.examineType;
  180 + this.open = true;
  181 + this.title = "办理";
  182 + },
  183 + /** 提交按钮 */
  184 + submitForm: function() {
  185 + this.$refs["form"].validate(valid => {
  186 + if (valid) {
  187 + updatePost(this.form).then(response => {
  188 + this.$modal.msgSuccess("审批成功");
  189 + this.open = false;
  190 + this.getList();
  191 + });
  192 + }
  193 + });
  194 + },
  195 + workTypeFormat(row, column) {
  196 + return this.selectDictLabel(this.dict.type.workType, row.workType);
  197 + },
  198 + clickTab(tab, event) {
  199 + this.queryParams.workState=tab.name;
  200 + this.workState=tab.name;
  201 + console.log(this.workState);
  202 + this.handleQuery();
  203 + }
  204 + }
  205 +};
  206 +</script>