|
@@ -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']"-->
|
|
|
+ <!-->删除-->
|
|
|
+ <!--</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>
|