953954216 2 年 前
コミット
e99a709b24

+ 5 - 0
ruoyi-modules/mz-business-lrgl/src/main/java/com/ruoyi/business/domain/ZwywLrJbxx.java

@@ -498,6 +498,11 @@ public class ZwywLrJbxx extends BaseEntity
     @DictV(type = "CH051",message = "{数据流转状态}")
     private String lzzt;
 
+    @ApiModelProperty(value = "数据流转状态查询")
+    @TableField(exist = false)
+    @DictV(type = "XZ124",message = "{数据流转状态查询}")
+    private String lzztCx;
+
     /** 上报地址名称 */
 //    @Excel(name = "上报地址名称")
     @ApiModelProperty(value = "上报地址名称")

+ 4 - 0
ruoyi-modules/mz-business-lrgl/src/main/java/com/ruoyi/business/mapper/ZwywLrJbxxMapper.java

@@ -23,8 +23,12 @@ import java.util.Map;
 public interface ZwywLrJbxxMapper extends BaseMapperPlus<ZwywLrJbxx> {
 
     public ZwywLrJbxx selectZwywLrJbxxById(String id);
+    @InterceptorIgnore(tenantLine = "true")
+    public List<ZwywLrJbxx> selectCheckCount(ZwywLrJbxx zwywLrJbxx);
     public List<ZwywLrJbxx> selectZwywLrJbxxList(ZwywLrJbxx zwywLrJbxx);
 
+    public List<ZwywLrJbxx> selectZwywLrJbxxXxqrList(ZwywLrJbxx zwywLrJbxx);
+
     public List<ZwywLrJbxx> selectZwywLrJbxxCxList(ZwywLrJbxx zwywLrJbxx);
 
     public List<ZwywLrJbxx> selectZwywLrJbxxAdvancedList(ZwywLrJbxx zwywLrJbxx);

+ 2 - 0
ruoyi-modules/mz-business-lrgl/src/main/java/com/ruoyi/business/service/IZwywLrJbxxService.java

@@ -30,6 +30,7 @@ public interface IZwywLrJbxxService
      */
     @Slave
     public List<ZwywLrJbxx> selectZwywLrJbxxList(ZwywLrJbxx zwywLrJbxx);
+    public List<ZwywLrJbxx> selectZwywLrJbxxXxqrList(ZwywLrJbxx zwywLrJbxx);
 
     @Slave
     public List<ZwywLrJbxx> selectZwywLrJbxxCxList(ZwywLrJbxx zwywLrJbxx);
@@ -48,6 +49,7 @@ public interface IZwywLrJbxxService
      */
     public int insertZwywLrJbxx(ZwywLrJbxx zwywLrJbxx);
     public void checkExist(ZwywLrJbxx zwywLrJbxx);
+    public void checkUpdateIsRepeat(ZwywLrJbxx zwywLrJbxx);
     public void checkBody(ZwywLrJbxx zwywLrJbxx);
 
     /**

+ 18 - 7
ruoyi-modules/mz-business-lrgl/src/main/java/com/ruoyi/business/service/impl/ZwywLrJbxxServiceImpl.java

@@ -84,6 +84,12 @@ public class ZwywLrJbxxServiceImpl implements IZwywLrJbxxService
         return zwywLrJbxxMapper.selectZwywLrJbxxList(zwywLrJbxx);
     }
 
+    public List<ZwywLrJbxx> selectZwywLrJbxxXxqrList(ZwywLrJbxx zwywLrJbxx)
+    {
+        return zwywLrJbxxMapper.selectZwywLrJbxxXxqrList(zwywLrJbxx);
+    }
+
+
     @Override
     public List<ZwywLrJbxx> selectZwywLrJbxxCxList(ZwywLrJbxx zwywLrJbxx)
     {
@@ -135,17 +141,22 @@ public class ZwywLrJbxxServiceImpl implements IZwywLrJbxxService
             }
             BeanUtil.copyProperties(zwywLrJbxx,originLrJbxx,new CopyOptions().ignoreNullValue());
         }
-        EncryptionUtils.encryption(zwywLrJbxx);
-        LambdaQueryWrapper<ZwywLrJbxx> lqw = new LambdaQueryWrapper<ZwywLrJbxx>()
-                .eq(ZwywLrJbxx::getLrZjhm, originLrJbxx.getLrZjhm())
-//                .eq(ZwywLrJbxx::getLzzt, originLrJbxx.getLzzt())
-                .ne(ObjectUtil.isNotNull(originLrJbxx.getId()), ZwywLrJbxx::getId, originLrJbxx.getId());
-        Long count = zwywLrJbxxMapper.selectCount(lqw);
-        if (count > 0){
+        List<ZwywLrJbxx> list = zwywLrJbxxMapper.selectCheckCount(originLrJbxx);
+        if (list.size() > 0){
             throw new ServiceException("该老人信息已存在,请勿录入重复信息!");
         }
     }
 
+    public void checkUpdateIsRepeat(ZwywLrJbxx zwywLrJbxx){
+        ZwywLrJbxx originLrJbxx = zwywLrJbxxMapper.selectZwywLrJbxxById(zwywLrJbxx.getId());
+
+        BeanUtil.copyProperties(zwywLrJbxx,originLrJbxx,new CopyOptions().ignoreNullValue());
+
+        List<ZwywLrJbxx> list = zwywLrJbxxMapper.selectCheckCount(originLrJbxx);
+        if(list.size()>0){
+            throw new ServiceException("该老人信息已存在,请勿修改重复信息!");
+        }
+    }
     @Override
     public void checkBody(ZwywLrJbxx zwywLrJbxx)
     {

+ 27 - 0
ruoyi-modules/mz-business-lrgl/src/main/resources/mapper/business/ZwywLrJbxxMapper.xml

@@ -119,6 +119,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         from zwyw_lr_jbxx a
     </sql>
 
+
+    <select id="selectZwywLrJbxxXxqrList" parameterType="ZwywLrJbxx" resultMap="ZwywLrJbxxResult">
+    select
+        id, lr_xm, lr_zjhm,
+        ( CASE WHEN lzzt IS NULL OR lzzt = '0' THEN '00' WHEN lzzt = '1' THEN '02' WHEN lzzt = '2' THEN '01' END ) as lzzt,
+        getxzqhmcbycode(lr_xjdz) as lr_sbdz_name,
+        create_unit,create_tounit,create_bmjsc,create_qhjsc
+    from zwyw_lr_jbxx
+    <where>
+        <if test="lrXm != null  and lrXm != ''"> and lr_xm = #{lrXm}</if>
+        <if test="lrZjhm != null  and lrZjhm != ''"> and lr_zjhm = #{lrZjhm}</if>
+        <if test="lzztCx != null and lzztCx == '00'"> and ( lzzt is null or lzzt = '0' ) </if>
+        <if test="lzztCx != null and lzztCx == '01'"> and lzzt = '2' </if>
+        <if test="lzztCx != null and lzztCx == '02'"> and lzzt = '1' </if>
+        <if test="lzztCx != null and lzztCx == '99'"> and lzzt is null </if>
+    </where>
+    </select>
+
+
     <select id="selectZwywLrJbxxList" parameterType="ZwywLrJbxx" resultMap="ZwywLrJbxxResult">
         select id, lr_xm, lr_zjhm, lr_xb, lzzt, getxzqhmcbycode(lr_sbdz) as lr_sbdz_name, create_unit,create_tounit,create_bmjsc,create_qhjsc from zwyw_lr_jbxx
         <where>
@@ -403,6 +422,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where id = #{id}
     </select>
 
+    <select id="selectCheckCount" parameterType="ZwywLrJbxx" resultMap="ZwywLrJbxxResult">
+        select *
+        FROM zwyw_lr_jbxx
+        <where>
+            <if test="lrZjhm != null  and lrZjhm != ''"> and lr_zjhm = #{lrZjhm}</if>
+        </where>
+    </select>
+
     <delete id="deleteZwywLrZvxxByZwywLrJbxxIds" parameterType="String">
         delete from zwyw_lr_zvxx where lr_id in
         <foreach item="lrId" collection="array" open="(" separator="," close=")">

+ 12 - 2
ruoyi-modules/mz-business/src/main/java/com/ruoyi/business/controller/ZwywLrJbxxController.java

@@ -48,6 +48,16 @@ public class ZwywLrJbxxController extends BaseController
         return getDataTable(list);
     }
 
+    /** 查询已确认老人基本信息列表 */
+    @RequiresPermissions("business:lrjbxxqr:list")
+    @GetMapping("/xxqr/list")
+    public TableDataInfo xxqrList(ZwywLrJbxx zwywLrJbxx)
+    {
+        startPage();
+        List<ZwywLrJbxx> list = zwywLrJbxxService.selectZwywLrJbxxXxqrList(zwywLrJbxx);
+        return getDataTable(list);
+    }
+
     @RequiresPermissions("search:lrjbxx:list")
     @GetMapping("/xxcx/list")
     public TableDataInfo xxcxList(ZwywLrJbxx zwywLrJbxx)
@@ -98,7 +108,7 @@ public class ZwywLrJbxxController extends BaseController
     @PutMapping
     public AjaxResult edit(@Validated @RequestBody ZwywLrJbxx zwywLrJbxx)
     {
-        zwywLrJbxxService.checkExist(zwywLrJbxx);
+        zwywLrJbxxService.checkUpdateIsRepeat(zwywLrJbxx);
         zwywLrJbxxService.checkBody(zwywLrJbxx);
         return toAjax(zwywLrJbxxService.updateZwywLrJbxx(zwywLrJbxx));
     }
@@ -111,7 +121,7 @@ public class ZwywLrJbxxController extends BaseController
     @PutMapping(value = "/checkLzzt")
     public AjaxResult checkLzzt(@Validated @RequestBody ZwywLrJbxx zwywLrJbxx)
     {
-        zwywLrJbxxService.checkExist(zwywLrJbxx);
+//        zwywLrJbxxService.checkExist(zwywLrJbxx);
         return toAjax(zwywLrJbxxService.updateZwywLrJbxxLzzt(zwywLrJbxx));
     }
 

+ 0 - 6
ruoyi-modules/mz-organization-jg/src/main/java/com/ruoyi/organization/service/impl/YljgJcxxServiceImpl.java

@@ -198,12 +198,6 @@ public class YljgJcxxServiceImpl implements IYljgJcxxService
                 yljgJcxx.setIsYlbxddzg("0");
             }
             if("1".equals(yljgJcxx.getIsKzylfw())){
-                if(StringUtils.isNull(yljgJcxx.getNsyljg())){
-                    throw new ServiceException("内设医疗机构,不能为空");
-                }
-                if(StringUtils.isNull(yljgJcxx.getYljgqyhz())){
-                    throw new ServiceException("与医疗机构签约合作,不能为空");
-                }
                 if(StringUtils.isNull(yljgJcxx.getIsYljgzyxk())){
                     throw new ServiceException("是否取得医疗机构执业许可证书,不能为空");
                 }

+ 2 - 2
ruoyi-modules/mz-organization-yggl/src/main/java/com/ruoyi/organization/service/impl/YljgYgJbxxServiceImpl.java

@@ -340,8 +340,8 @@ public class YljgYgJbxxServiceImpl implements IYljgYgJbxxService
         BeanUtil.copyProperties(yljgYgJbxx,originYg,new CopyOptions().ignoreNullValue());
 
 
-        if(StringUtils.isNotNull(yljgYgJbxx.getZzzt())){
-            if("1".equals(yljgYgJbxx.getZzzt())){ // 修改员工为 '在职'
+        if(StringUtils.isNotNull(originYg.getZzzt())){
+            if("1".equals(originYg.getZzzt())){ // 修改员工为 '在职'
                 List<YljgYgJbxx> list = yljgYgJbxxMapper.selectCheckCount(originYg);
                 if (list.size() == 1){
                     if(!list.get(0).getId().equals(yljgYgJbxx.getId())){

+ 1 - 0
ruoyi-modules/mz-organization/src/main/java/com/ruoyi/organization/controller/YljgKhRztzxxController.java

@@ -102,6 +102,7 @@ public class YljgKhRztzxxController extends BaseController
     @PostMapping
     public AjaxResult add(@Validated({AddGroup.class}) @RequestBody YljgKhRztzxx yljgKhRztzxx)
     {
+        System.out.println("??????????????????????????");
         return toAjax(yljgKhRztzxxService.insertYljgKhRztzxx(yljgKhRztzxx), yljgKhRztzxx.getId());
     }
 

+ 2 - 0
ruoyi-modules/mz-organization/src/main/java/com/ruoyi/organization/controller/YljgSyglController.java

@@ -9,6 +9,7 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.common.security.utils.EncryptionUtils;
 import com.ruoyi.organization.domain.YljgKhHtxx;
 import com.ruoyi.organization.domain.YljgKhJbxx;
 import com.ruoyi.organization.domain.YljgSygl;
@@ -68,6 +69,7 @@ public class YljgSyglController extends BaseController
     public TableDataInfo listByQy(YljgKhJbxx yljgKhJbxx)
     {
         startPage();
+        EncryptionUtils.encryption(yljgKhJbxx);
         LambdaQueryWrapper<YljgKhJbxx> lqw  = new LambdaQueryWrapper<YljgKhJbxx>()
                 .like(StringUtils.isNotEmpty(yljgKhJbxx.getXm()),YljgKhJbxx::getXm,yljgKhJbxx.getXm())
                 .like(StringUtils.isNotEmpty(yljgKhJbxx.getZjhm()),YljgKhJbxx::getZjhm,yljgKhJbxx.getZjhm())

+ 9 - 0
ruoyi-ui/src/api/business/lrxx/lrjbxx.js

@@ -9,6 +9,15 @@ export function listLrjbxx(query) {
   })
 }
 
+// 查询已确认老人基本信息列表
+export function listQrLrjbxx(query) {
+  return request({
+    url: '/business/lrjbxx/xxqr/list',
+    method: 'get',
+    params: query
+  })
+}
+
 // 查询老人基本信息列表
 export function listLrjbxxcx(query) {
   return request({

+ 316 - 0
ruoyi-ui/src/views/business/lrxx/jbxxqr/index.vue

@@ -0,0 +1,316 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="150px">
+      <el-form-item label="老人姓名" prop="lrXm">
+        <el-input
+          v-model="queryParams.lrXm"
+          placeholder="请输入老人姓名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="老人身份证号码" prop="lrZjhm">
+        <el-input
+          v-model="queryParams.lrZjhm"
+          placeholder="请输入老人身份证件号码"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="lzztCx" >
+        <el-select v-model="queryParams.lzztCx" placeholder="请选状态"  clearable>
+          <el-option
+            v-for="dict in dict.type.XZ124"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </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-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="lrjbxxList">
+      <el-table-column label="序号" align="center" width="80">
+        <template slot-scope="scope">
+          {{(queryParams.pageNum-1)*queryParams.pageSize + scope.$index + 1}}
+        </template>
+      </el-table-column>
+      <el-table-column label="老人姓名" align="center" prop="lrXm"/>
+      <el-table-column label="老人身份证件号码" align="center" prop="lrZjhm"/>
+      <el-table-column label="居住地址" align="center" prop="lrSbdzName" />
+      <el-table-column label="状态" align="center" prop="lzzt">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.XZ124" :value="scope.row.lzzt"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:lrjbxx:edit']"
+          >详情
+          </el-button>
+          <!--<el-button-->
+            <!--size="mini"-->
+            <!--type="text"-->
+            <!--icon="el-icon-delete"-->
+            <!--@click="handleDelete(scope.row,(queryParams.pageNum-1)*queryParams.pageSize + scope.$index,scope.$index)"-->
+            <!--v-hasPermi="['business:lrjbxx:remove']"-->
+          <!--&gt;删除-->
+          <!--</el-button>-->
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 老人信息详情 -->
+    <el-dialog v-dialog-drag :title="title" :visible.sync="open" width="80%" custom-class="custom" :append-to-body="true">
+	    <el-scrollbar wrapClass="scrollbar-wrap">
+        <el-tabs v-model="activeName" type="card" >
+          <el-tab-pane label="基础信息" name="first">
+            <h3 style="margin-top: 0">基础信息:</h3>
+            <table class="tableStyle">
+              <tr>
+                <td>姓名</td>
+                <td> {{form.lrXm}}</td>
+                <td>身份证号</td>
+                <td>{{form.lrZjhm}}</td>
+              </tr>
+              <tr>
+                <td>联系电话</td>
+                <td colspan="3">{{form.lrCydh}}</td>
+              </tr>
+              <tr>
+                <td>户籍地址详细信息</td>
+                <td colspan="3">{{form.lrHjdzName + form.lrHjbcxx}}</td>
+              </tr>
+              <tr>
+                <td>居住地址详细信息</td>
+                <td colspan="3">{{form.lrHjdzName + form.lrHjbcxx}}</td>
+              </tr>
+              <tr>
+                <td>户籍地址区划</td>
+                <td colspan="3">{{form.lrXjdzName + form.lrXjdzBcxx}}</td>
+              </tr>
+              <tr>
+                <td>居住地址区划</td>
+                <td colspan="3">{{form.lrXjdzName + form.lrXjdzBcxx}}</td>
+              </tr>
+              <tr>
+                <td>状态</td>
+                <td colspan="3">{{form.lrXjdzName + form.lrXjdzBcxx}}</td>
+              </tr>
+            </table>
+          </el-tab-pane>
+        </el-tabs>
+	    </el-scrollbar>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {getLrjbxx, listQrLrjbxx} from '@/api/business/lrxx/lrjbxx'
+import { decryptData_ECB, decryptRowData_ECB } from "@/api/tool/sm4";
+
+export default {
+    name: 'Jbxxcx',
+    dicts: ['XZ124', 'C0009', 'CZ036', 'C0008', 'CZ035', 'CZ027', 'C0015', 'C0007', 'C0013', 'XZ118', 'C0025', 'C0010', 'C0032', 'C0031', 'CH054', 'CH051', 'XZ015', 'XZ014', 'CH058', 'CH057', 'CH045', 'CH056', 'CH055', 'CH050', 'XZ025'],
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        submitFormLoading: false,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 老人基本信息表格数据
+        lrjbxxList: [],
+        // 弹出层标题
+        title: '',
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          lrXm: null,
+          lrZjhm: null,
+          lzztCx: null,
+          lrXb: null,
+          isYz: null,
+          isLs: null,
+          lrStpgdj: null,
+	        lrJjzk: [],
+          lrJkzk: [],
+          lrHjdz: [],
+        },
+        lrHjdz: null,
+        // 表单参数
+        form: {},
+        // 表单校验
+        activeName: 'first',
+        oldId:null
+      }
+    },
+    created() {
+      this.getList();
+    },
+    methods: {
+	    generalDisabled(value, value1, value2) {
+		    //01代表健康
+		    if (value1 && value1.length > 0) {
+			    if (value1.indexOf(value2) !== -1 && value != value2) {
+				    return true
+			    } else if (value1.indexOf(value2) === -1 && value == value2) {
+				    return true
+			    }
+		    }
+		    return false
+	    },
+      translateDict(type,value,is){
+        if(is&&value&&value.length>0)
+        {
+          // console.log(value,'value');
+          let list="";
+          this.dict.type[type].forEach(item=>{
+            // console.log(item,'item');
+            // console.log(value.indexOf(item.value)!==-1,'indexOf')
+            if(value.indexOf(item.value)!==-1)
+            {
+              list=list+item.label+' '
+            }
+          })
+          // console.log(list,'list')
+          return list
+        }
+        return this.selectDictLabel(this.dict.type[type], value)
+      },
+      /** 查询老人基本信息列表 */
+      getList() {
+        this.loading = true
+	      let copyForm = this.deepCopy(this.queryParams)
+	      copyForm.lrHjdz ? copyForm.lrHjdz = copyForm.lrHjdz[copyForm.lrHjdz.length - 1] : copyForm.lrHjdz = []
+	      copyForm.lrJjzkCx && (copyForm.lrJjzkCx = copyForm.lrJjzkCx.join(','))
+	      copyForm.lrJkzkCx && (copyForm.lrJkzkCx = copyForm.lrJkzkCx.join(','))
+
+        listQrLrjbxx(copyForm).then(response => {
+          this.lrjbxxList = decryptRowData_ECB(response.rows, ["lrZjhm", "lrXm"], [2, 1]);
+          this.total = response.total
+          this.loading = false
+        })
+      },
+
+      /** 搜索按钮操作 */
+      handleQuery() {
+        if (this.lrSbdz) {
+          this.queryParams.lrSbdz = this.lrSbdz[this.lrSbdz.length - 1]
+        } else {
+          this.queryParams.lrSbdz = null
+        }
+        this.queryParams.pageNum = 1
+        this.getList()
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.lrSbdz = null;
+        this.resetForm('queryForm')
+        this.handleQuery()
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        const id = row.id || this.ids
+        this.oldId=id;
+        getLrjbxx(id).then(response => {
+          this.form = decryptData_ECB(response.data, ["lrZjhm", "lrXm", "lrHjbcxx", "lrXjdzBcxx", "lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh", "cjzh", "yhzh", "khmc"], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5]);
+          this.form.lrJjzk = this.form.lrJjzk?this.form.lrJjzk.split(','):[];
+          this.form.lrJkzk=this.form.lrJkzk?this.form.lrJkzk.split(','):[];
+          this.form.lrSrly =this.form.lrSrly?this.form.lrSrly.split(','):[];
+          this.form.lrJtjzbfqk =this.form.lrJtjzbfqk?this.form.lrJtjzbfqk.split(','):[];
+          this.form.lrPbjjqk =this.form.lrPbjjqk?this.form.lrPbjjqk.split(','):[];
+          this.form.zlrLb = this.form.zlrLb?this.form.zlrLb.split(','):[];
+          this.form.lrGaxq =this.form.lrGaxq?this.form.lrGaxq.split(','):[];
+          this.open = true
+          this.title = '老人信息详情'
+        })
+      },
+    }
+  }
+</script>
+<style rel="stylesheet/scss" lang="scss" scoped>
+  .formFlex {
+    display: flex;
+  }
+
+  .formWidth {
+    width: 33.33%;
+    display: flex !important;
+  }
+
+  h3 {
+    /*margin: 0;*/
+    padding: 0.5rem !important;
+    background-image: -o-linear-gradient(290deg, #ddd 10%, #fff 90%);
+    background-image: linear-gradient(160deg, #ddd 10%, #fff 90%);
+    color: #000;
+    font-weight: 500;
+    font-size: 1.1rem;
+    margin-bottom: 0;
+  }
+
+  .tableStyle {
+    width: 100%;
+    ::v-deep .el-form-item{
+      margin-bottom: 0;
+    }
+  }
+  .el-select{
+    width: 100%;
+  }
+  .el-date-editor.el-input{
+    width: 100%;
+  }
+  .el-tabs__header{
+    margin: 0;
+  }
+  table td{
+    width: 10%;
+    height: 2.5rem;
+    padding: .5%;
+    font-weight: 500;
+    border: 1px solid #ddd;
+  }
+  table{
+    width: 100%;
+    border-collapse: collapse;
+    border: 1px solid #ddd;
+  }
+  table td:nth-child(odd) {
+    text-align: right;
+    background: #f5f5f5;
+  }
+</style>

+ 460 - 0
ruoyi-ui/src/views/business/lrxx/jbxxqrcx/index.vue

@@ -0,0 +1,460 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="150px">
+      <el-form-item label="老人姓名" prop="lrXm">
+        <el-input
+          v-model="queryParams.lrXm"
+          placeholder="请输入老人姓名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="老人身份证号码" prop="lrZjhm">
+        <el-input
+          v-model="queryParams.lrZjhm"
+          placeholder="请输入老人身份证件号码"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="性别" prop="lrXb">
+        <el-select v-model="queryParams.lrXb" placeholder="请选择性别" clearable>
+          <el-option
+            v-for="dict in dict.type.C0007"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+	    <el-form-item label="户籍地址" prop="lrHjdz">
+		    <RegionCascaderSelect v-model="queryParams.lrHjdz" style="width: 100%" :isDataRoot="true" valueProp="code"></RegionCascaderSelect>
+	    </el-form-item>
+      <el-form-item label="户籍与现居地址一致" prop="isYz" >
+        <el-select v-model="queryParams.isYz" placeholder="请选择户籍与现居地址一致"  clearable>
+          <el-option
+            v-for="dict in dict.type.CZ035"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+	    <el-form-item label="生活状况" prop="lrJjzkCx">
+		    <el-select v-model="queryParams.lrJjzkCx" placeholder="请选择生活状况" multiple collapse-tags clearable>
+			    <el-option v-for="dict in dict.type.CZ027" :disabled="generalDisabled(dict.value, queryParams.lrJjzkCx, '02')" :key="dict.value" :label="dict.label" :value="dict.value" />
+		    </el-select>
+	    </el-form-item>
+	    <el-form-item label="健康状况" prop="lrJkzkCx">
+		    <el-select v-model="queryParams.lrJkzkCx" placeholder="请选择健康状况" multiple collapse-tags clearable>
+			    <el-option v-for="dict in dict.type.XZ015" :disabled="generalDisabled(dict.value, queryParams.lrJkzkCx, '01')" :key="dict.value" :label="dict.label" :value="dict.value" />
+		    </el-select>
+	    </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-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="lrjbxxList">
+      <el-table-column label="序号" align="center" width="80">
+        <template slot-scope="scope">
+          {{(queryParams.pageNum-1)*queryParams.pageSize + scope.$index + 1}}
+        </template>
+      </el-table-column>
+      <el-table-column label="老人姓名" align="center" prop="lrXm"/>
+      <el-table-column label="老人身份证件号码" align="center" prop="lrZjhm"/>
+      <el-table-column label="上报地址" align="center" prop="lrSbdzName" />
+      <el-table-column label="性别" align="center" prop="lrXb">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.C0007" :value="scope.row.lrXb"/>
+        </template>
+      </el-table-column>
+<!--      <el-table-column label="健康状况" align="center" prop="lrJkzk">-->
+<!--        <template slot-scope="scope">-->
+<!--          <dict-tag :options="dict.type.XZ015" :value="scope.row.lrJkzk"/>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+
+<!--      <el-table-column label="户籍与现居地址一致" align="center" prop="isYz">-->
+<!--        <template slot-scope="scope">-->
+<!--          <dict-tag :options="dict.type.CZ035" :value="scope.row.isYz"/>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:lrjbxx:edit']"
+          >详情
+          </el-button>
+          <!--<el-button-->
+            <!--size="mini"-->
+            <!--type="text"-->
+            <!--icon="el-icon-delete"-->
+            <!--@click="handleDelete(scope.row,(queryParams.pageNum-1)*queryParams.pageSize + scope.$index,scope.$index)"-->
+            <!--v-hasPermi="['business:lrjbxx:remove']"-->
+          <!--&gt;删除-->
+          <!--</el-button>-->
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 老人信息详情 -->
+    <el-dialog v-dialog-drag :title="title" :visible.sync="open" width="80%" custom-class="custom" :append-to-body="true">
+	    <el-scrollbar wrapClass="scrollbar-wrap">
+        <el-tabs v-model="activeName" type="card" >
+          <el-tab-pane label="基础信息" name="first">
+            <h3 style="margin-top: 0">基础信息:</h3>
+            <table class="tableStyle">
+              <tr>
+                <td>姓名</td>
+                <td> {{form.lrXm}}</td>
+                <td>性别</td>
+                <td>{{translateDict('C0007',form.lrXb)}}</td>
+                <td rowspan="6">
+                  <image-preview :src="form.lrTx" v-if="form.lrTx"></image-preview>
+                </td>
+              </tr>
+              <tr>
+                <td>民族</td>
+                <td>{{translateDict('C0009',form.lrMz)}}</td>
+                <td>身份证号</td>
+                <td>{{form.lrZjhm}}</td>
+              </tr>
+              <tr>
+                <td>联系电话</td>
+                <td>{{form.lrCydh}}</td>
+                <td>婚姻及配偶情况</td>
+                <td>{{translateDict('XZ025',form.lrHyzk)}}</td>
+              </tr>
+              <tr>
+                <td>配偶姓名</td>
+                <td>{{form.lrPoxm}}</td>
+                <td>配偶身份证号码</td>
+                <td>{{form.lrPoZjmh}}</td>
+              </tr>
+              <tr>
+                <td>户籍地址</td>
+                <td colspan="3">{{form.lrHjdzName + form.lrHjbcxx}}</td>
+              </tr>
+              <tr>
+                <td>现居地址</td>
+                <td colspan="3">{{form.lrXjdzName + form.lrXjdzBcxx}}</td>
+              </tr>
+            </table>
+
+            <h3>健康情况:</h3>
+            <table>
+	            <tr>
+		            <td>健康状况</td>
+		            <td>{{translateDict('XZ015',form.lrJkzk,true)}}</td>
+		            <td>残疾类型</td>
+		            <td colspan="2">{{translateDict('XZ118',form.lrCjlx,true)}}</td>
+	            </tr>
+	            <tr>
+		            <td>残疾等级</td>
+		            <td>{{translateDict('C0025',form.lrCjdj)}}</td>
+		            <td>能力情况</td>
+		            <td colspan="2">{{translateDict('CH050',form.lrNlzk)}}</td>
+	            </tr>
+            </table>
+
+            <h3>家庭经济情况:</h3>
+            <table>
+              <tr>
+                <td>生活状况</td>
+                <td>{{translateDict('CZ027',form.lrJjzk,true)}}</td>
+                <td>收入来源</td>
+                <td>{{translateDict('CH054',form.lrSrly,true)}}</td>
+              </tr>
+              <tr>
+                <td>上年度可支配收入</td>
+                <td>{{translateDict('XZ014',form.lrKzpsr)}}</td>
+                <td>个人年收入</td>
+                <td>{{translateDict('XZ014',form.lrGrnrs)}}</td>
+              </tr>
+              <tr>
+                <td>家庭救助帮扶</td>
+                <td>{{translateDict('CH058',form.lrJtjzbfqk,true)}}</td>
+                <td>其他帮扶情况</td>
+                <td>{{form.lrJtjzbfqkQt}}</td>
+              </tr>
+            </table>
+
+            <h3>陪伴居住情况:</h3>
+            <table>
+              <tr>
+                <td>陪伴居住情况</td>
+                <td>{{translateDict('CH057',form.lrPbjjqk,true)}}</td>
+	              <td>日常生活照料人</td>
+	              <td>{{translateDict('CH056',form.zlrLb,true)}}</td>
+              </tr>
+              <tr>
+                <td>主要照料人姓名</td>
+                <td>{{form.zlrXm}}</td>
+                <td>主要照料人性别</td>
+                <td>{{translateDict('C0007',form.zlrXb)}}</td>
+              </tr>
+              <tr>
+                <td>主要照料人电话</td>
+                <td colspan="3">{{form.zlrDh}}</td>
+              </tr>
+	            <tr>
+		            <td>其他日常生活照料人</td>
+		            <td colspan="3">{{form.zlrGx}}</td>
+	            </tr>
+	            <tr>
+		            <td>其他陪伴居住情况</td>
+		            <td colspan="3">{{form.lrPbjjqkQt}}</td>
+	            </tr>
+            </table>
+
+            <h3>关爱服务需求:</h3>
+            <table>
+              <tr>
+                <td>关爱服务需求</td>
+                <td>{{translateDict('CH055',form.lrGaxq,true)}}</td>
+                <td>其他关爱服务需求</td>
+                <td>{{form.lrGaxqQt}}</td>
+              </tr>
+            </table>
+          </el-tab-pane>
+          <el-tab-pane label="子女信息" name="first2">
+            <lrzvxx :oldId="oldId" :isDetails="false">
+
+            </lrzvxx>
+          </el-tab-pane>
+          <el-tab-pane label="其他赡养人" name="second2">
+            <lrqtsyr :oldId="oldId" :isDetails="false">
+
+            </lrqtsyr>
+          </el-tab-pane>
+          <el-tab-pane label="巡访联系人信息" name="five2">
+            <lrxfrxx :oldId="oldId" :isDetails="false">
+
+            </lrxfrxx>
+          </el-tab-pane>
+        </el-tabs>
+	    </el-scrollbar>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {getLrjbxx, listLrjbxx} from '@/api/business/lrxx/lrjbxx'
+import lrzvxx from "../lrzvxx/index";
+import lrqtsyr from "../lrqtsyr/index";
+import lrchxxx from "../lrchxxx/index";
+import lrjtxx from "../lrjtxx/index";
+import lrxfrxx from "../lrxfrxx/index";
+import { decryptData_ECB, decryptRowData_ECB } from "@/api/tool/sm4";
+
+export default {
+    name: 'Jbxxcx',
+    dicts: ['C0009', 'CZ036', 'C0008', 'CZ035', 'CZ027', 'C0015', 'C0007', 'C0013', 'XZ118', 'C0025', 'C0010', 'C0032', 'C0031', 'CH054', 'CH051', 'XZ015', 'XZ014', 'CH058', 'CH057', 'CH045', 'CH056', 'CH055', 'CH050', 'XZ025'],
+    components: {
+      lrzvxx:lrzvxx,
+      lrqtsyr:lrqtsyr,
+      lrchxxx:lrchxxx,
+      lrjtxx:lrjtxx,
+      lrxfrxx:lrxfrxx
+    },
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        submitFormLoading: false,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 老人基本信息表格数据
+        lrjbxxList: [],
+        // 弹出层标题
+        title: '',
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          lrXm: null,
+          lrZjhm: null,
+          lrXb: null,
+          isYz: null,
+          isLs: null,
+          lrStpgdj: null,
+	        lrJjzk: [],
+          lrJkzk: [],
+          lrHjdz: [],
+        },
+        lrHjdz: null,
+        // 表单参数
+        form: {},
+        // 表单校验
+        activeName: 'first',
+        oldId:null
+      }
+    },
+    created() {
+      this.getList();
+    },
+    methods: {
+	    generalDisabled(value, value1, value2) {
+		    //01代表健康
+		    if (value1 && value1.length > 0) {
+			    if (value1.indexOf(value2) !== -1 && value != value2) {
+				    return true
+			    } else if (value1.indexOf(value2) === -1 && value == value2) {
+				    return true
+			    }
+		    }
+		    return false
+	    },
+      translateDict(type,value,is){
+        if(is&&value&&value.length>0)
+        {
+          // console.log(value,'value');
+          let list="";
+          this.dict.type[type].forEach(item=>{
+            // console.log(item,'item');
+            // console.log(value.indexOf(item.value)!==-1,'indexOf')
+            if(value.indexOf(item.value)!==-1)
+            {
+              list=list+item.label+' '
+            }
+          })
+          // console.log(list,'list')
+          return list
+        }
+        return this.selectDictLabel(this.dict.type[type], value)
+      },
+      /** 查询老人基本信息列表 */
+      getList() {
+        this.loading = true
+	      let copyForm = this.deepCopy(this.queryParams)
+	      copyForm.lrHjdz ? copyForm.lrHjdz = copyForm.lrHjdz[copyForm.lrHjdz.length - 1] : copyForm.lrHjdz = []
+	      copyForm.lrJjzkCx && (copyForm.lrJjzkCx = copyForm.lrJjzkCx.join(','))
+	      copyForm.lrJkzkCx && (copyForm.lrJkzkCx = copyForm.lrJkzkCx.join(','))
+
+        listLrjbxx(copyForm).then(response => {
+          this.lrjbxxList = decryptRowData_ECB(response.rows, ["lrZjhm", "lrXm"], [2, 1]);
+          this.total = response.total
+          this.loading = false
+        })
+      },
+
+      /** 搜索按钮操作 */
+      handleQuery() {
+
+        console.log('XXXXXXXXXXXXXXXXXXXXXX' , this.lrHjdz);
+
+        if (this.lrSbdz) {
+          this.queryParams.lrSbdz = this.lrSbdz[this.lrSbdz.length - 1]
+        } else {
+          this.queryParams.lrSbdz = null
+        }
+        this.queryParams.pageNum = 1
+        this.getList()
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.lrSbdz = null;
+        this.resetForm('queryForm')
+        this.handleQuery()
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        const id = row.id || this.ids
+        this.oldId=id;
+        getLrjbxx(id).then(response => {
+          this.form = decryptData_ECB(response.data, ["lrZjhm", "lrXm", "lrHjbcxx", "lrXjdzBcxx", "lrCydh", "lrPoxm", "lrPoZjmh", "jhrXm", "jhrSjhm", "zlrXm", "zlrDh", "cjzh", "yhzh", "khmc"], [2, 1, 4, 4, 3, 1, 2, 1, 2, 1, 3, 5, 5, 5]);
+          this.form.lrJjzk = this.form.lrJjzk?this.form.lrJjzk.split(','):[];
+          this.form.lrJkzk=this.form.lrJkzk?this.form.lrJkzk.split(','):[];
+          this.form.lrSrly =this.form.lrSrly?this.form.lrSrly.split(','):[];
+          this.form.lrJtjzbfqk =this.form.lrJtjzbfqk?this.form.lrJtjzbfqk.split(','):[];
+          this.form.lrPbjjqk =this.form.lrPbjjqk?this.form.lrPbjjqk.split(','):[];
+          this.form.zlrLb = this.form.zlrLb?this.form.zlrLb.split(','):[];
+          this.form.lrGaxq =this.form.lrGaxq?this.form.lrGaxq.split(','):[];
+          this.open = true
+          this.title = '老人信息'
+        })
+      },
+    }
+  }
+</script>
+<style rel="stylesheet/scss" lang="scss" scoped>
+  .formFlex {
+    display: flex;
+  }
+
+  .formWidth {
+    width: 33.33%;
+    display: flex !important;
+  }
+
+  h3 {
+    /*margin: 0;*/
+    padding: 0.5rem !important;
+    background-image: -o-linear-gradient(290deg, #ddd 10%, #fff 90%);
+    background-image: linear-gradient(160deg, #ddd 10%, #fff 90%);
+    color: #000;
+    font-weight: 500;
+    font-size: 1.1rem;
+    margin-bottom: 0;
+  }
+
+  .tableStyle {
+    width: 100%;
+    ::v-deep .el-form-item{
+      margin-bottom: 0;
+    }
+  }
+  .el-select{
+    width: 100%;
+  }
+  .el-date-editor.el-input{
+    width: 100%;
+  }
+  .el-tabs__header{
+    margin: 0;
+  }
+  table td{
+    width: 10%;
+    height: 2.5rem;
+    padding: .5%;
+    font-weight: 500;
+    border: 1px solid #ddd;
+  }
+  table{
+    width: 100%;
+    border-collapse: collapse;
+    border: 1px solid #ddd;
+  }
+  table td:nth-child(odd) {
+    text-align: right;
+    background: #f5f5f5;
+  }
+</style>