123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <template>
- <div class="component-box-wrapper__half-transparent">
- <div class="component-content-box__dialog-like">
- <div class="component-header-box">
- <div class="component-header__title">{{ injuryMode ? '工伤信息' : '参保信息' }}</div>
- <div class="component-header__close-button">
- <el-button plain icon="Close" circle title="关闭" @click="close"></el-button>
- </div>
- </div>
- <div v-if="injuryMode">
- <el-table :data="injuryinfo" @row-click="handleClickInsuinfo" stripe height="180">
- <el-table-column label="证件号码" prop="aac002"></el-table-column>
- <el-table-column label="姓名" prop="aac003"></el-table-column>
- <el-table-column label="单位名称" prop="aab004"></el-table-column>
- <el-table-column label="受伤时间" prop="alc020"></el-table-column>
- <el-table-column label="认定申请时间" prop="alc017"></el-table-column>
- <el-table-column label="认定ID" prop="aaz127"></el-table-column>
- <el-table-column label="个人编号" prop="aac001"></el-table-column>
- <el-table-column label="参保统筹区" prop="baa027Name"></el-table-column>
- </el-table>
- </div>
- <div v-else>
- <el-table :data="psnBaseinfo.insuinfo" @row-click="handleClickInsuinfo" stripe height="180">
- <el-table-column label="余额" prop="balc"></el-table-column>
- <el-table-column label="险种类型" prop="insutypeName"></el-table-column>
- <el-table-column label="人员类别" prop="psnTypeName"></el-table-column>
- <el-table-column label="参保状态" prop="psnInsuStasName"></el-table-column>
- <el-table-column label="个人参保日期" prop="psnInsuDate"></el-table-column>
- <el-table-column label="暂停参保日期" prop="pausInsuDate"></el-table-column>
- <el-table-column label="公务员标志" prop="cvlservFlagName"></el-table-column>
- <el-table-column label="参保地医保区划" prop="insuplcAdmdvs"></el-table-column>
- <el-table-column label="参保地名称" prop="insuplcAdmdvsName"></el-table-column>
- <el-table-column label="单位名称" prop="empName"></el-table-column>
- </el-table>
- <div style="height: 16px"></div>
- <el-tag>身份信息</el-tag>
- <el-table :data="psnBaseinfo.idetinfo" stripe height="180">
- <el-table-column label="人员身份类别" prop="psnIdetTypeName"></el-table-column>
- <el-table-column label="人员类别等级" prop="psnTypeLv"></el-table-column>
- <el-table-column label="备注" prop="memo"></el-table-column>
- <el-table-column label="开始时间" prop="begntime"></el-table-column>
- <el-table-column label="结束时间" prop="endtime"></el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- </template>
- <script>
- import store from '@/store'
- import { onMounted, ref, computed } from 'vue'
- import { obtainBasicPersonInfo } from '@/api/medical-insurance/si-query'
- import { getPersonBaseinfo } from '@/api/medical-insurance/si-injury'
- export default {
- props: {
- params: {
- type: Object,
- required: true,
- },
- },
- emits: ['close', 'rowClick'],
- setup(props, ctx) {
- const injuryMode = computed(() => {
- return store.state.ptnt.injuryMode
- })
- const injuryinfo = ref([])
- const psnBaseinfo = ref({
- insuinfo: [],
- idetinfo: [],
- })
- const psnNo = ref(null)
- const handleClickInsuinfo = (row) => {
- row.psnNo = psnNo.value
- ctx.emit('rowClick', row)
- }
- const close = () => {
- ctx.emit('close')
- }
- const fetchInsuinfo = () => {
- if (injuryMode.value) {
- getPersonBaseinfo(props.params)
- .then((res) => {
- injuryinfo.value = res
- })
- .catch(() => {
- ctx.emit('close')
- })
- } else {
- obtainBasicPersonInfo(props.params)
- .then((res) => {
- psnNo.value = res.psnNo
- psnBaseinfo.value = res
- })
- .catch(() => {
- ctx.emit('close')
- })
- }
- }
- onMounted(() => {
- fetchInsuinfo()
- })
- return {
- injuryMode,
- injuryinfo,
- psnBaseinfo,
- handleClickInsuinfo,
- close,
- }
- },
- }
- </script>
|