1
0
Quellcode durchsuchen

fix:随访管理

lsw vor 8 Monaten
Ursprung
Commit
69578e5909

+ 0 - 1
admin-ui/src/views/system/user/edit.vue

@@ -88,7 +88,6 @@ export default {
         this.roleOptions = response.roles;
         this.form.postIds = response.postIds;
         this.form.roleIds = response.roleIds;
-        this.form.password = '';
       });
     } else {
       getUser().then((response) => {

+ 34 - 40
admin-ui/src/views/work/follow/record/index.vue

@@ -2,19 +2,13 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" @submit.native.prevent>
       <el-form-item label="问题模板id" prop="templateId">
-        <el-input v-model="queryParams.templateId" placeholder="请输入问题模板id"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+        <el-input v-model="queryParams.templateId" placeholder="请输入问题模板id" @keyup.enter.native="handleQuery" clearable class="inp" />
       </el-form-item>
       <el-form-item label="患者id" prop="userId">
-        <el-input v-model="queryParams.userId" placeholder="请输入患者id"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+        <el-input v-model="queryParams.userId" placeholder="请输入患者id" @keyup.enter.native="handleQuery" clearable class="inp" />
       </el-form-item>
       <el-form-item label="状态" prop="state">
-        <el-input v-model="queryParams.state" placeholder="请输入状态"  @keyup.enter.native="handleQuery" clearable class="inp"/>
-      </el-form-item>
-      <el-form-item label="医生id" prop="doctorId">
-        <el-input v-model="queryParams.doctorId" placeholder="请输入医生id"  @keyup.enter.native="handleQuery" clearable class="inp"/>
-      </el-form-item>
-      <el-form-item label="部门ID" prop="deptId">
-        <el-input v-model="queryParams.deptId" placeholder="请输入部门ID"  @keyup.enter.native="handleQuery" clearable class="inp"/>
+        <el-input v-model="queryParams.state" placeholder="请输入状态" @keyup.enter.native="handleQuery" clearable class="inp" />
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
@@ -22,9 +16,9 @@
       </el-form-item>
     </el-form>
     <el-row :gutter="10" class="mb8">
-        <el-button type="primary" icon="el-icon-plus" :disabled="ids.length > 0" @click="op('add')" v-hasPermi="['work:record:add']">新增</el-button>
-        <el-button type="success" icon="el-icon-edit" :disabled="ids.length != 1" @click="op('edit',ids)" v-hasPermi="['work:record:edit']">修改</el-button>
-        <el-button type="danger" icon="el-icon-delete" :disabled="ids.length == 0" @click="del" v-hasPermi="['work:record:remove']">删除{{ids.length>0?'('+ids.length+')':''}}</el-button>
+      <el-button type="primary" icon="el-icon-plus" :disabled="ids.length > 0" @click="op('add')" v-hasPermi="['work:record:add']">新增</el-button>
+      <el-button type="success" icon="el-icon-edit" :disabled="ids.length != 1" @click="op('edit', ids)" v-hasPermi="['work:record:edit']">修改</el-button>
+      <el-button type="danger" icon="el-icon-delete" :disabled="ids.length == 0" @click="del" v-hasPermi="['work:record:remove']">删除{{ ids.length > 0 ? '(' + ids.length + ')' : '' }}</el-button>
     </el-row>
 
     <el-table :data="response.rows" border @selection-change="selects" height="calc(100vh - 270px)">
@@ -37,34 +31,34 @@
       <el-table-column label="部门ID" align="center" prop="deptId" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
-          <el-button size="mini" type="text" icon="el-icon-edit" @click="op('edit',scope.row)" v-hasPermi="['work:record:edit']">修改</el-button>
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="op('edit', scope.row)" v-hasPermi="['work:record:edit']">修改</el-button>
           <el-button size="mini" type="text" icon="el-icon-delete" @click="del(scope.row)" v-hasPermi="['work:record:remove']">删除</el-button>
         </template>
       </el-table-column>
       <template slot="empty">
-          <el-empty></el-empty>
+        <el-empty></el-empty>
       </template>
     </el-table>
-    <pagination v-if="response.total>0" :total="response.total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
+    <pagination v-if="response.total > 0" :total="response.total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
   </div>
 </template>
 
 <script>
-import edit from './edit'
+import edit from './edit';
 export default {
-  name: "Record",
+  name: 'Record',
   data() {
     return {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-                      templateId: null,
-                      userId: null,
-                      state: null,
-                      doctorId: null,
-                      deptId: null,
-                orderByColumn:'id', //排序字段
-                isAsc: 'desc' //排序方式
+        templateId: null,
+        userId: null,
+        state: null,
+        doctorId: null,
+        deptId: null,
+        orderByColumn: 'id', //排序字段
+        isAsc: 'desc' //排序方式
       }
     };
   },
@@ -73,8 +67,8 @@ export default {
   },
   methods: {
     getList() {
-      this.ajax({ url: '/work/record/list', data: this.queryParams }).then(response => {
-            this.response = response;
+      this.ajax({ url: '/work/record/list', data: this.queryParams }).then((response) => {
+        this.response = response;
       });
     },
     handleQuery() {
@@ -82,28 +76,28 @@ export default {
       this.getList();
     },
     resetQuery() {
-      this.resetForm("queryForm");
+      this.resetForm('queryForm');
       this.handleQuery();
     },
     selects(rows) {
-      this.ids = rows.map(item => item.id)
+      this.ids = rows.map((item) => item.id);
     },
     op(tag, row) {
-          if (tag == 'add') {
-            this.iframe({ obj: edit, param: {}, title:'新增',width: '45%', height: '55%'});
-          }
-          if (tag == 'edit') {
-              const id = row.id || this.ids[0];
-              this.iframe({ obj: edit, param: {id: id}, title:'编辑',width: '50%', height: '50%'});
-          }
+      if (tag == 'add') {
+        this.iframe({ obj: edit, param: {}, title: '新增', width: '45%', height: '55%' });
+      }
+      if (tag == 'edit') {
+        const id = row.id || this.ids[0];
+        this.iframe({ obj: edit, param: { id: id }, title: '编辑', width: '50%', height: '50%' });
+      }
     },
     del(row) {
-        this.$confirm('是否确认删除选中数据?', '警告', { type: 'warning' }).then(() => {
-        this.get({ url: '/work/record/remove/' + (row.id || this.ids) }).then(response => {
-                this.$modal.msgSuccess('删除成功');
-                this.getList();
-            });
+      this.$confirm('是否确认删除选中数据?', '警告', { type: 'warning' }).then(() => {
+        this.get({ url: '/work/record/remove/' + (row.id || this.ids) }).then((response) => {
+          this.$modal.msgSuccess('删除成功');
+          this.getList();
         });
+      });
     }
   }
 };

+ 1 - 1
admin-ui/src/views/work/knowledge/index.vue

@@ -35,7 +35,7 @@
       </el-table-column>
       <el-table-column label="创建人" align="center" prop="createBy" width="130" />
       <el-table-column label="创建时间" align="center" prop="createTime" width="160" />
-      <el-table-column label="所属科室" align="center" prop="deptName" width="130" />
+      <el-table-column label="所属科室" align="center" prop="deptName" width="160" />
       <el-table-column label="操作" align="center" width="200">
         <template slot-scope="scope">
           <el-button size="mini" type="text" icon="el-icon-edit" @click="op('edit', scope.row)" v-hasPermi="['work:knowledge:edit']">修改</el-button>

+ 1 - 28
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/FollowTemplate.java

@@ -1,15 +1,11 @@
 package com.ruoyi.web.work.domain;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.web.work.domain.base.BaseData;
+import com.ruoyi.common.core.domain.BaseData;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
-import java.util.Date;
 /**
  * @author lsw
  * @date 2024-07-11
@@ -31,28 +27,5 @@ public class FollowTemplate extends BaseData {
     @ApiModelProperty(value = "状态:0=正常,1=停用")
     private Integer state;
 
-    @TableField(fill = FieldFill.INSERT)
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date createTime;
-
-    @TableField(fill = FieldFill.UPDATE)
-    private String updateBy;
-
-    @TableField(fill = FieldFill.UPDATE)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date updateTime;
-
-
-    @ApiModelProperty(value = "关联账号")
-    @TableField(fill = FieldFill.INSERT)
-    private Long userId;
-
-    @ApiModelProperty(value = "科室ID")
-    @TableField(fill = FieldFill.INSERT)
-    private Long deptId;
-
 
 }

+ 1 - 27
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/Knowledge.java

@@ -1,15 +1,10 @@
 package com.ruoyi.web.work.domain;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.web.work.domain.base.BaseData;
+import com.ruoyi.common.core.domain.BaseData;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
-
-import java.util.Date;
 /**
  * @author lsw
  * @date 2024-07-10
@@ -34,25 +29,4 @@ public class Knowledge extends BaseData {
     @ApiModelProperty(value = "状态:0=正常,1=停用")
     private Integer state;
 
-    @TableField(fill = FieldFill.INSERT)
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date createTime;
-
-    @TableField(fill = FieldFill.UPDATE)
-    private String updateBy;
-
-    @TableField(fill = FieldFill.UPDATE)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date updateTime;
-
-    @ApiModelProperty(value = "关联账号")
-    @TableField(fill = FieldFill.INSERT)
-    private Long userId;
-
-    @TableField(fill = FieldFill.INSERT)
-    private Long deptId;
-
 }

+ 2 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/KnowledgeServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ruoyi.web.work.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.annotation.DataScope;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.web.work.domain.Knowledge;
 import com.ruoyi.web.work.mapper.KnowledgeMapper;
@@ -25,6 +26,7 @@ public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper, Knowledge
     }
 
     @Override
+    @DataScope(deptAlias = "k")
     public List<Knowledge> selectList(Knowledge knowledge) {
         knowledge.setState(0);
         return knowledgeMapper.selectList(knowledge);

+ 4 - 2
ruoyi-admin/src/main/resources/mapper/work/KnowledgeMapper.xml

@@ -11,12 +11,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         FROM
         tb_knowledge k
         LEFT JOIN sys_dept d ON d.dept_id = k.dept_id
-        <where>  
+        WHERE 1=1
             <if test="userId != null "> and k.user_id = #{userId}</if>
             <if test="type != null  and type != ''"> and k.type = #{type}</if>
             <if test="title != null  and title != ''"> and k.title like concat('%', #{title}, '%')</if>
             <if test="dateBegin != null  and dateBegin != ''"> AND k.create_time BETWEEN #{dateBegin} AND #{dateEnd} + INTERVAL 1 DAY</if>
-        </where>
+            <if test="deptId != null and deptId != 0">AND (k.dept_id = #{deptId} OR k.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))</if>
+            <!-- 数据范围过滤 -->
+            ${params.dataScope}
     </select>
 
     <select id="indexList" resultType="com.ruoyi.web.work.domain.Knowledge">

+ 26 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/work/domain/base/BaseData.java → ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseData.java

@@ -1,10 +1,13 @@
-package com.ruoyi.web.work.domain.base;
+package com.ruoyi.common.core.domain;
 
+import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -17,6 +20,14 @@ import java.util.Map;
 public class BaseData {
     private static final long serialVersionUID = 1L;
 
+    //用户id
+    @TableField(fill = FieldFill.INSERT)
+    private Long userId;
+
+    //部门id
+    @TableField(fill = FieldFill.INSERT)
+    private Long deptId;
+
     //部门名称
     @TableField(exist = false)
     private String deptName;
@@ -31,6 +42,20 @@ public class BaseData {
     @JsonIgnore
     private String dateEnd;
 
+    @TableField(fill = FieldFill.INSERT)
+    private String createBy;
+
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateBy;
+
+    @TableField(fill = FieldFill.UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
     @TableField(exist = false)
     @JsonIgnore
     private Map<String, Object> params;
@@ -38,7 +63,6 @@ public class BaseData {
     public Map<String, Object> getParams() {
         if (params == null) {
             params = new HashMap<>();
-            params.put("common", "(p.dept_id = #{deptId} OR p.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))");
         }
         return params;
     }

+ 5 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java

@@ -1,6 +1,7 @@
 package com.ruoyi.framework.aspectj;
 
 import com.ruoyi.common.annotation.DataScope;
+import com.ruoyi.common.core.domain.BaseData;
 import com.ruoyi.common.core.domain.BaseEntity;
 import com.ruoyi.common.core.domain.DataEntity;
 import com.ruoyi.common.core.domain.entity.SysRole;
@@ -126,6 +127,10 @@ public class DataScopeAspect {
                 DataEntity dataEntity = (DataEntity) params;
                 dataEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
             }
+            if (StringUtils.isNotNull(params) && params instanceof BaseData) {
+                BaseData dataEntity = (BaseData) params;
+                dataEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
+            }
         }
     }
 

+ 6 - 2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -238,7 +238,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         // 新增用户岗位关联
         insertUserPost(user);
         // 新增用户与角色管理
-        user.setBrief(StringUtils.StripHT(user.getIntroduce()));
+        if (user.getIntroduce() != null) {
+            user.setBrief(StringUtils.StripHT(user.getIntroduce()));
+        }
         insertUserRole(user);
         return rows;
     }
@@ -272,7 +274,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         userPostMapper.deleteUserPostByUserId(userId);
         // 新增用户与岗位管理
         insertUserPost(user);
-        user.setBrief(StringUtils.StripHT(user.getIntroduce()));
+        if (user.getIntroduce() != null) {
+            user.setBrief(StringUtils.StripHT(user.getIntroduce()));
+        }
         return updateById(user);
     }