<template>
|
<div class="app-container">
|
<el-form
|
:model="queryParams"
|
ref="queryForm"
|
:inline="true"
|
v-show="showSearch"
|
label-width="70px"
|
>
|
<el-row :gutter="8">
|
<el-col :span="5">
|
<el-form-item label="姓名" prop="name">
|
<el-input
|
v-model="queryParams.name"
|
placeholder="请输入姓名"
|
clearable
|
size="small"
|
@keyup.enter.native="handleQuery"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item
|
align="left"
|
label="医疗机构"
|
prop="treatmenthospitalname"
|
>
|
<org-selecter
|
ref="orgSelecter"
|
:org-type="'3'"
|
v-model="queryParams.treatmenthospitalno"
|
@keyup.enter.native="handleQuery"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="捐献地市">
|
<el-select v-model="queryParams.city" placeholder="请选择地市">
|
<el-option
|
v-for="item in provinceData"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="9">
|
<el-form-item label="案例时间">
|
<el-date-picker
|
style="width: 100%"
|
v-model="selecttime"
|
type="monthrange"
|
range-separator="至"
|
start-placeholder="开始月份"
|
end-placeholder="结束月份"
|
value-format="yyyy-MM-dd"
|
@change="getTimeList"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :gutter="8">
|
<el-col :span="5">
|
<el-form-item label="捐献进度" prop="workflow">
|
<el-select
|
v-model="queryParams.workflow"
|
placeholder="请选择当前进度"
|
clearable
|
size="small"
|
>
|
<el-option
|
v-for="dict in dict.type.sys_donornode"
|
:key="dict.value"
|
:label="dict.label"
|
:value="dict.value"
|
/>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="报告人">
|
<el-select
|
v-model="queryParams.reporterno"
|
placeholder="请选择报告人"
|
>
|
<el-option
|
v-for="item in reportlist"
|
:key="item.index"
|
:label="item.reportername"
|
:value="item.reporterno"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="5">
|
<el-form-item label="是否终止">
|
<el-select
|
v-model="queryParams.terminationCase"
|
placeholder="请选择状态"
|
>
|
<el-option
|
v-for="item in terminationCaselist"
|
:key="item.value"
|
:label="item.name"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="9">
|
<el-form-item label="籍贯">
|
<div>
|
<li_area_select
|
ref="areaSelect"
|
v-model="searchAddress"
|
></li_area_select>
|
</div>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="4">
|
<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-col>
|
</el-row>
|
</el-form>
|
<el-row :gutter="10" class="mb8">
|
<el-col :span="1.5">
|
<el-button
|
type="primary"
|
plain
|
icon="el-icon-plus"
|
size="mini"
|
@click="handleAdd"
|
v-hasPermi="['project:donatebaseinfo:add']"
|
>新增</el-button
|
>
|
</el-col>
|
<!-- <el-col :span="1.5">
|
<el-button
|
type="success"
|
plain
|
icon="el-icon-edit"
|
size="mini"
|
:disabled="single"
|
@click="handleUpdate"
|
v-hasPermi="['project:donatebaseinfo:edit']"
|
>修改</el-button
|
>
|
</el-col> -->
|
|
<el-col :span="1.5">
|
<el-button
|
type="warning"
|
plain
|
icon="el-icon-download"
|
size="mini"
|
:loading="exportLoading"
|
@click="handleExport"
|
v-hasPermi="['project:donatebaseinfo:export']"
|
>导出</el-button
|
>
|
</el-col>
|
<right-toolbar
|
:showSearch.sync="showSearch"
|
@queryTable="getList"
|
></right-toolbar>
|
</el-row>
|
|
<el-table
|
v-loading="loading"
|
:data="donatebaseinfoList"
|
@selection-change="handleSelectionChange"
|
border
|
:default-sort="{ prop: 'donatetime', order: 'descending' }"
|
>
|
<!-- <el-table-column label="报告时间" align="center" prop="id" /> -->
|
<!-- <el-table-column type="selection" width="55" align="center" /> -->
|
<el-table-column
|
label="案例时间"
|
align="center"
|
prop="donatetime"
|
width="100"
|
>
|
<template slot-scope="scope">
|
<span>{{ parseTime(scope.row.donatetime, "{y}-{m}-{d}") }}</span>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="捐献编号"
|
align="center"
|
prop="donorno"
|
width="200"
|
/>
|
<el-table-column label="姓名" align="center" prop="name" width="100" />
|
<el-table-column label="性别" align="center" prop="sex" width="100">
|
<template slot-scope="scope">
|
<dict-tag
|
:options="dict.type.sys_user_sex"
|
:value="parseInt(scope.row.sex)"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column label="年龄" align="center" prop="age" width="100" />
|
<el-table-column
|
label="医疗机构"
|
align="center"
|
prop="treatmenthospitalname"
|
/>
|
<el-table-column label="血型" align="center" prop="bloodtype" width="100">
|
<template slot-scope="scope">
|
<dict-tag
|
:options="dict.type.sys_BloodType"
|
:value="scope.row.bloodtype"
|
/>
|
</template>
|
</el-table-column>
|
|
<el-table-column
|
label="捐献类别"
|
align="center"
|
prop="donationcategory"
|
width="150"
|
>
|
<template slot-scope="scope">
|
<dict-tag
|
:options="dict.type.sys_DonationCategory"
|
:value="scope.row.donationcategory"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="报告人"
|
align="center"
|
prop="reportername"
|
width="100"
|
/>
|
<!--
|
<el-table-column
|
label="现所在地市"
|
align="center"
|
prop="registercityname"
|
width="150"
|
/>
|
<el-table-column
|
label="捐献进度"
|
align="center"
|
prop="recordstate"
|
width="120"
|
>
|
<template slot-scope="scope">
|
<dict-tag
|
:options="dict.type.sys_DonationStatus"
|
:value="scope.row.recordstate"
|
/>
|
</template>
|
</el-table-column>
|
-->
|
<el-table-column
|
label="捐献进度"
|
align="center"
|
prop="workflow"
|
width="120"
|
>
|
<template slot-scope="scope">
|
<div v-if="!scope.row.terminationCase">
|
<dict-tag
|
:options="dict.type.sys_donornode"
|
:value="scope.row.workflow"
|
/>
|
</div>
|
<div v-else>任务终止</div>
|
</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="['project:donatebaseinfo:edit']"
|
>详情</el-button
|
>
|
<el-button
|
v-if="scope.row.recordstate == 0"
|
size="mini"
|
type="text"
|
icon="el-icon-delete"
|
@click="handleDelete(scope.row)"
|
v-hasPermi="['project:donatebaseinfo:remove']"
|
>删除</el-button
|
>
|
<!--
|
<el-button v-if="scope.row.recordstate == 0 || scope.row.recordstate == 3" size="mini" type="text"
|
icon="el-icon-thumb" @click="handleapproval(scope.row)">提交</el-button>
|
-->
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-refrigerator"
|
@click="handledownload(scope.row)"
|
>下载</el-button
|
>
|
<!--
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handletermination(scope.row)"
|
v-hasPermi="['project:donatebaseinfo:edit']">{{ scope.row.recordstate == 99 ? "恢复": "终止" }}</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
|
:title="title"
|
align="center"
|
:visible.sync="open"
|
:close-on-click-modal="false"
|
width="1100px"
|
>
|
<el-form
|
ref="form"
|
:model="form"
|
:rules="rules"
|
label-width="130px"
|
label-position="right"
|
>
|
<div
|
style="
|
border-bottom: 1px solid #ddd;
|
border-top: 1px solid #ddd;
|
padding-right: 60px;
|
"
|
>
|
<el-row style="margin-top: 40px">
|
<el-col :span="8">
|
<el-form-item label="捐献编号" prop="donorno">
|
<el-input v-model="form.donorno" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item
|
align="left"
|
label="医疗机构"
|
prop="treatmenthospitalno"
|
>
|
<org-selecter
|
ref="addOrgSelect"
|
:org-type="'3'"
|
v-model="form.treatmenthospitalno"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="科室" prop="treatmentdeptno">
|
<el-input
|
v-model="form.treatmentdeptname"
|
placeholder="请输入科室"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item align="left" label="姓名" prop="name">
|
<el-input v-model="form.name" placeholder="必填项" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="民族" prop="nation">
|
<el-select v-model="form.nation" placeholder="请选择民族">
|
<el-option
|
v-for="dict in dict.type.sys_nation"
|
:key="dict.value"
|
:label="dict.label"
|
:value="dict.value"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="籍贯" prop="nativeplace">
|
<el-input v-model="form.nativeplace" placeholder="请输入国籍" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="国籍" prop="nationality">
|
<el-input v-model="form.nationality" placeholder="请输入国籍" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="证件类型" prop="idcardtype">
|
<el-select
|
v-model="form.idcardtype"
|
placeholder="请选择证件类型"
|
>
|
<el-option
|
v-for="dict in dict.type.sys_IDType"
|
:key="dict.value"
|
:label="dict.label"
|
:value="parseInt(dict.value)"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="证件号码" prop="idcardno">
|
<el-input
|
style="width: 174px"
|
ref="updateBSvalue"
|
class="sfzcode"
|
v-model="form.idcardno"
|
placeholder="请输入证件号码"
|
@blur="updateMessage"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="性别" prop="sex">
|
<el-select v-model="form.sex" placeholder="请输入性别">
|
<el-option
|
v-for="dict in dict.type.sys_user_sex"
|
:key="dict.label"
|
:label="dict.label"
|
:value="parseInt(dict.value)"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="年龄" prop="age">
|
<el-input v-model="form.age" placeholder="请输入年龄" />
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="出生日期" prop="birthday">
|
<el-date-picker
|
clearable
|
size="small"
|
v-model="form.birthday"
|
type="date"
|
style="width: 174px"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择出生日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="职业" prop="occupation">
|
<el-select v-model="form.occupation" placeholder="请选择职业">
|
<el-option
|
v-for="dict in dict.type.sys_occupation"
|
:key="dict.value"
|
:label="dict.label"
|
:value="dict.value"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="学历" prop="education">
|
<el-select v-model="form.education" placeholder="请选择学历">
|
<el-option
|
v-for="dict in dict.type.sys_education"
|
:key="dict.value"
|
:label="dict.label"
|
:value="dict.value"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="住址" prop="residenceaddress">
|
<div>
|
<li_area_select
|
ref="residenceSelect"
|
v-model="residenceAddresss"
|
></li_area_select>
|
<!-- <div>{{defultAddress}}</div> -->
|
</div>
|
</el-form-item>
|
</el-col>
|
<el-col :span="11" :push="1">
|
<el-input
|
v-model="form.residenceaddress"
|
placeholder="请输入内容"
|
/>
|
</el-col>
|
</el-row>
|
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="现所在地" prop="registeraddress">
|
<div>
|
<li_area_select
|
ref="registerSelect"
|
v-model="registerAddresss"
|
></li_area_select>
|
<!-- <div>{{defultAddress}}</div> -->
|
</div>
|
</el-form-item>
|
</el-col>
|
<el-col :span="11" :push="1">
|
<el-input
|
v-model="form.registeraddress"
|
placeholder="请输入内容"
|
/>
|
</el-col>
|
</el-row>
|
</div>
|
|
<div
|
style="
|
border-bottom: 1px solid #ddd;
|
margin-top: 20px;
|
padding-right: 60px;
|
"
|
>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="住院号" prop="inpatientno">
|
<el-input v-model="form.inpatientno" placeholder="住院号" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="16">
|
<el-form-item label="疾病诊断" prop="diagnosisname">
|
<el-input
|
v-model="form.diagnosisname"
|
placeholder="请输入疾病诊断名称"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item align="left" label="血型" prop="bloodtype">
|
<el-radio-group v-model="form.bloodtype">
|
<el-radio
|
v-for="dict in dict.type.sys_BloodType"
|
:key="dict.value"
|
:label="dict.value"
|
>{{ dict.label }}</el-radio
|
>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12" :pull="1">
|
<el-form-item label="Rh(D)" align="left" prop="rhyin">
|
<el-radio-group v-model="form.rhyin">
|
<el-radio
|
v-for="dict in dict.type.sys_bloodtype_rhd"
|
:key="dict.value"
|
:label="dict.value"
|
>{{ dict.label }}</el-radio
|
>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-form-item label="疾病类型" align="left">
|
<el-checkbox-group v-model="form.diseasetype">
|
<el-checkbox
|
v-for="dict in dict.type.sys_DiseaseType"
|
:key="dict.value"
|
:label="dict.value"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
<el-form-item label="其他" prop="diseasetypeOther">
|
<el-input
|
v-model="form.diseasetypeOther"
|
placeholder="请输入其他"
|
/>
|
</el-form-item>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item align="left" label="传染病">
|
<el-checkbox-group v-model="form.infectious">
|
<el-checkbox
|
v-for="dict in dict.type.sys_Infectious"
|
:key="dict.value"
|
:label="dict.value"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item align="left" label="其他" prop="infectiousOther">
|
<el-input
|
v-model="form.infectiousOther"
|
placeholder="请输入其他"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="9">
|
<el-form-item align="left" label="病人状况">
|
<el-checkbox-group v-model="form.patientstate">
|
<el-checkbox
|
v-for="dict in dict.type.sys_patientstate"
|
:key="dict.value"
|
:label="dict.value"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="15" align="left">
|
<el-form-item label="其他情况">
|
<el-checkbox-group v-model="form.othercases">
|
<el-checkbox
|
v-for="dict in dict.type.sys_OtherCases"
|
:key="dict.value"
|
:label="dict.value"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
|
<div
|
style="
|
border-bottom: 1px solid #ddd;
|
padding-right: 60px;
|
margin-top: 20px;
|
"
|
>
|
<el-row>
|
<div display="flex">
|
<el-row>
|
<el-col :span="12">
|
<el-form-item
|
label="亲属状况"
|
prop="kinship"
|
class="relation"
|
align="left"
|
>
|
<el-checkbox-group v-model="form.kinship">
|
<el-checkbox
|
v-for="dict in dict.type.sys_Kinship"
|
:key="dict.value"
|
:label="dict.value"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="其他" prop="kinshipOther">
|
<el-input
|
v-model="form.kinshipOther"
|
placeholder="请输入其他"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item align="left" label="本人意愿 ">
|
<el-checkbox-group v-model="form.selfwill">
|
<el-checkbox
|
v-for="dict in dict.type.sys_SelfWill"
|
:key="dict.value"
|
:label="dict.value"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="主要亲属" prop="majorrelatives">
|
<el-input
|
v-model="form.majorrelatives"
|
placeholder="请输入主要亲属"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="与捐赠者关系" prop="familyrelations">
|
<el-select
|
v-model="form.familyrelations"
|
placeholder="请选择与捐赠者关系"
|
>
|
<el-option
|
v-for="dict in dict.type.sys_FamilyRelation"
|
:key="dict.value"
|
:label="dict.label"
|
:value="dict.value"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item align="left" label="信息来源">
|
<el-checkbox-group v-model="form.infosources">
|
<el-checkbox
|
v-for="dict in dict.type.sys_InfoSources"
|
:key="dict.value"
|
:label="dict.value"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="其他" prop="infosourcesOther">
|
<el-input
|
v-model="form.infosourcesOther"
|
placeholder="请输入信息来源其他"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="信息员" prop="infoname">
|
<el-input v-model="form.infoname" placeholder="请输入信息员" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="联系电话" prop="infophone">
|
<el-input
|
v-model="form.infophone"
|
placeholder="请输入信息员联系电话"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item align="left" label="红十字会" prop="redorganno">
|
<org-selecter
|
ref="addCrossOrgSelect"
|
:org-type="'2'"
|
v-model="form.redorganno"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="联系人" prop="contactperson">
|
<el-input
|
v-model="form.contactperson"
|
placeholder="请输入联系人"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="联系时间" prop="contacttime">
|
<el-date-picker
|
clearable
|
size="small"
|
style="width: 190px"
|
v-model="form.contacttime"
|
type="datetime"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择报告时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item
|
align="left"
|
label="获取组织"
|
prop="acquisitiontissuename"
|
>
|
<org-selecter
|
style="width: 260px"
|
ref="orgSelecter"
|
:org-type="'1'"
|
v-model="form.acquisitiontissueno"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="8">
|
<el-form-item label="报告人" prop="reporterno">
|
<el-select
|
ref="getReportname"
|
v-model="form.reporterno"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in reporters"
|
:key="item.reportNo"
|
:label="item.reportName"
|
:value="item.reportNo"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="联系电话" prop="reporterphone">
|
<el-input
|
v-model="form.reporterphone"
|
placeholder="请输入联系电话"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="报告时间" align="left" prop="reporttime">
|
<el-date-picker
|
clearable
|
size="small"
|
style="width: 190px"
|
v-model="form.reporttime"
|
type="datetime"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择报告时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
<!-- <div style="padding-right: 60px; margin-top: 20px">
|
<el-row>
|
<el-form-item label="附件" align="left" prop="annexfile">
|
<annex-upload ref="annex" :infoid="form.id" :donorno="form.donorno" :flowname="flowname"
|
:annexno="annexno" />
|
</el-form-item>
|
</el-row>
|
</div> -->
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button v-show="showSaveBtn" type="primary" @click="submitForm"
|
>保存并前往案例工作台</el-button
|
>
|
<el-button
|
v-show="showTerminationBtn"
|
type="primary"
|
@click="submitForm"
|
>终止案例</el-button
|
>
|
<el-button @click="cancel">取 消</el-button>
|
<!-- <el-button @click="handleapproval">提交审核</el-button> -->
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
<script>
|
import { getUserProfile } from "@/api/system/user";
|
import {
|
listDonatebaseinfo,
|
getDonatebaseinfo,
|
delDonatebaseinfo,
|
addDonatebaseinfo,
|
updateDonatebaseinfo,
|
exportDonatebaseinfo,
|
downloadbaseinfo,
|
getDonationNumber,
|
getdonatorno
|
} from "@/api/project/donatebaseinfo";
|
import Li_area_select from "@/components/Address";
|
import OrgSelecter from "@/views/project/components/orgselect";
|
import AnnexUpload from "@/views/project/components/annexupload";
|
import ReportName from "@/views/project/components/organizationUser";
|
import { getToken } from "@/utils/auth";
|
import {
|
listOrganization,
|
getOrganization,
|
listReportname,
|
listUser
|
} from "@/api/project/organization";
|
export default {
|
components: {
|
Li_area_select,
|
OrgSelecter,
|
AnnexUpload,
|
ReportName
|
},
|
name: "Donatebaseinfo",
|
dicts: [
|
"sys_Reporter",
|
"sys_redcrossagency",
|
"sys_nation",
|
"sys_occupation",
|
"sys_education",
|
"sys_OrganizationType",
|
"sys_HospitalNature",
|
"sys_RegionalLevel",
|
"country",
|
"sys_user_sex",
|
"sys_IDType",
|
"sys_AgeUnit",
|
"sys_BloodType",
|
"sys_0_1",
|
"sys_patientstate",
|
"sys_DonationCategory",
|
"sys_Kinship",
|
"sys_Infectious",
|
"sys_bloodtype_rhd",
|
"sys_InfoSources",
|
"sys_OtherCases",
|
"sys_DonationStatus",
|
"sys_DiseaseType",
|
"sys_SelfWill",
|
"sys_FamilyRelation",
|
"sys_donornode"
|
],
|
data() {
|
return {
|
tempRecordState: null,
|
approvalState: false,
|
countyname: "",
|
cuuntry: "",
|
organizationname: "",
|
selecttime: "",
|
|
//省市区
|
//默认值设置,可为空
|
searchAddress: {
|
sheng: "",
|
shi: "",
|
qu: "",
|
organizationname: null
|
},
|
residenceAddresss: {
|
sheng: "浙江省",
|
shi: "",
|
qu: ""
|
},
|
registerAddresss: {
|
sheng: "浙江省",
|
shi: "",
|
qu: ""
|
},
|
terminationCaselist: [
|
{ name: "终止状态", value: 1 },
|
{ name: "正常状态", value: 0 }
|
],
|
// 遮罩层
|
loading: true,
|
// 导出遮罩层
|
exportLoading: false,
|
// 选中数组
|
ids: [],
|
// 非单个禁用
|
single: true,
|
// 非多个禁用
|
multiple: true,
|
// 显示搜索条件
|
showSearch: true,
|
// 总条数
|
total: 0,
|
// 捐献基础表格数据
|
donatebaseinfoList: [],
|
// 弹出层标题
|
title: "",
|
// 是否显示弹出层
|
open: false,
|
// 获取组织名称时间范围
|
daterangeReporttime: [],
|
//用户信息
|
currentuser: {},
|
|
// 查询参数
|
queryParams: {
|
pageNum: 1,
|
pageSize: 10,
|
donorno: null,
|
recordstate: null,
|
// treatmenthospitalno: null,
|
treatmenthospitalname: null,
|
name: null,
|
residenceprovince: null,
|
residencecity: null,
|
residencetown: null,
|
starttime: null,
|
endtime: null,
|
city: null,
|
reportno: null
|
// organizationname: null,
|
// organizationtype: null,
|
// idcardno: null,
|
// reporterno: null,
|
// reporttime: null,
|
},
|
// 表单参数
|
form: {
|
id: null,
|
name: null,
|
sex: null,
|
idcardtype: null,
|
idcardno: null,
|
age: null,
|
ageunit: null,
|
birthday: null,
|
phone: null,
|
residenceaddress: null,
|
nationality: "中国",
|
nativeplace: null,
|
residenceprovince: null,
|
nation: null,
|
residenceprovincename: null,
|
occupation: null,
|
residencecity: null,
|
education: null,
|
residencecityname: null,
|
residencetown: null,
|
residencetownname: null,
|
residencecommunity: null,
|
residencecommunityname: null,
|
residencecountycode: null,
|
residencecountyname: null,
|
registeraddress: null,
|
registerprovince: null,
|
registerprovincename: null,
|
registercity: null,
|
registercityname: null,
|
registertown: null,
|
registertownname: null,
|
registercommunity: null,
|
registercommunityname: null,
|
registercountycode: null,
|
registercountyname: null,
|
recordstate: null,
|
treatmenthospitalno: null,
|
treatmenthospitalname: null,
|
treatmentdeptname: null,
|
diagnosisno: null,
|
diagnosisname: null,
|
bloodtype: "0",
|
inpatientno: null,
|
rhyin: "0",
|
donorno: null,
|
donationcategory: null,
|
illnessoverview: null,
|
diseasetype: [],
|
infectious: [],
|
selfwill: [],
|
diseasetypeOther: null,
|
othercases: [],
|
kinshipwill: 0,
|
infosources: [],
|
kinship: [],
|
redorganno: null,
|
redorganname: null,
|
contactperson: null,
|
infectiousOther: null,
|
contactnumber: null,
|
contacttime: null,
|
reporterno: null,
|
reportername: null,
|
patientstate: [],
|
reporterphone: null,
|
infosourcesOther: null,
|
reporttime: null,
|
delFlag: null,
|
createBy: null,
|
createTime: null,
|
updateBy: null,
|
updateTime: null,
|
kinshipOther: null,
|
majorrelatives: null,
|
familyrelations: null,
|
acquisitiontissueno: "ZJOPO",
|
acquisitiontissuename: "浙江省人体器官获取组织"
|
},
|
//ads
|
reporters: [],
|
users: [],
|
|
// 表单校验
|
rules: {
|
name: [
|
{ required: true, message: "请输入捐献者姓名", trigger: "blur" }
|
],
|
birthday: [
|
{ required: true, message: "请选择出生日期", trigger: "blur" }
|
],
|
idcardtype: [
|
{ required: true, message: "请选择证件类型", trigger: "blur" }
|
],
|
residenceaddress: [
|
{ required: true, message: "请输入住址", trigger: "blur" }
|
],
|
contacttime: [
|
{
|
required: true,
|
message: "请输入红十字会联系时间",
|
trigger: "blur"
|
}
|
],
|
idcardno: [
|
{ required: true, message: "请正确输入证件号码", trigger: "blur" }
|
],
|
sex: [{ required: true, message: "性别不能为空", trigger: "blur" }],
|
age: [{ required: true, message: "请输入年龄", trigger: "blur" }],
|
treatmenthospitalno: [
|
{ required: true, message: "请选择医疗机构", trigger: "blur" }
|
],
|
// treatmenthospitalno: [{ required: true, message: "请选择医疗机构", trigger: "change" }],
|
bloodtype: [
|
{ required: true, message: "请选择ABO血型", trigger: "blur" }
|
],
|
rhyin: [{ required: true, message: "请选择RHD血型", trigger: "blur" }],
|
diseasetype: [
|
{ required: true, message: "请选择RHD血型", trigger: "blur" }
|
],
|
|
inpatientno: [
|
{ required: true, message: "输入住院号", trigger: "blur" }
|
],
|
|
diagnosisname: [
|
{ required: true, message: "疾病诊断不能为空", trigger: "blur" }
|
],
|
infoname: [
|
{ required: true, message: "请输入信息员姓名", trigger: "blur" }
|
],
|
infophone: [
|
{ required: true, message: "请输入信息员联系电话", trigger: "blur" }
|
],
|
redorganno: [
|
{ required: true, message: "请选择红十字会机构", trigger: "blur" }
|
],
|
contactperson: [
|
{
|
required: true,
|
message: "红十字会联系人不能为空",
|
trigger: "blur"
|
}
|
],
|
// contactnumber: [{required: true,message: "请输入红十字会联系电话",trigger: "change"}],
|
acquisitiontissueno: [
|
{ required: true, message: "器官获取组织不能为空", trigger: "blur" }
|
],
|
reporterno: [
|
{ required: true, message: "请选择报告人", trigger: "blur" }
|
],
|
reporttime: [
|
{ required: true, message: "请输入报告时间", trigger: "blur" }
|
],
|
reporterphone: [
|
{ required: true, message: "请输入报告人联系电话", trigger: "blur" }
|
]
|
},
|
//是否显示保存按钮
|
showSaveBtn: true,
|
showTerminationBtn: false,
|
//流程名称
|
flowname: "潜在捐献登记",
|
annexno: "PotentialDonationRegistration",
|
starttime: "",
|
endtime: "",
|
reportlist: [],
|
reportervalue: "",
|
headers: {
|
Authorization: "Bearer " + getToken()
|
},
|
provinceData: [
|
{ label: "全部", value: "" },
|
{ label: "杭州市", value: "1" },
|
{ label: "宁波市", value: "2" },
|
{ label: "温州市", value: "3" },
|
{ label: "嘉兴市", value: "4" },
|
{ label: "湖州市", value: "5" },
|
{ label: "绍兴市", value: "6" },
|
{ label: "金华市", value: "7" },
|
{ label: "衢州市", value: "8" },
|
{ label: "舟山市", value: "9" },
|
{ label: "台州市", value: "A" },
|
{ label: "丽水市", value: "B" }
|
]
|
};
|
},
|
created() {
|
if (sessionStorage.getItem("donatebaseinfo")) {
|
this.queryParams = JSON.parse(sessionStorage.getItem("donatebaseinfo"));
|
console.log(this.queryParams, "queryParams");
|
}
|
},
|
|
mounted(e) {
|
// let idd = this.$route.query.userid
|
// console.log('chuanzhi',idd);
|
|
this.getCurrentUser();
|
this.getuserlist();
|
this.selectReporters();
|
|
this.LoadReportList();
|
|
if (this.$route.params.starttime != null && this.$route.params.endtime) {
|
this.selecttime = [
|
this.$moment(this.$route.params.starttime).format("YYYY-MM-DD"),
|
this.$moment(this.$route.params.endtime).format("YYYY-MM-DD")
|
];
|
}
|
if (this.$route.params.reporterno != "") {
|
this.reporterno = this.$route.params.reporterno;
|
}
|
if (
|
this.$route.params.tempRecordState != "" &&
|
this.$route.params.tempRecordState != undefined
|
) {
|
this.queryParams.recordstate = "" + this.$route.params.tempRecordState;
|
}
|
if (this.$route.params.reporterno != "") {
|
this.reportervalue = this.$route.params.reporterno;
|
}
|
if (!this.$route.params.shen != "") {
|
this.searchAddress.sheng = this.$route.params.shen;
|
if (!this.$route.params.shi != "") {
|
this.searchAddress.shi = this.$route.params.shi;
|
}
|
if (!this.$route.params.qu) {
|
this.searchAddress.qu = this.$route.params.qu;
|
}
|
}
|
|
if (this.$route.params.city != "") {
|
this.queryParams.city = this.$route.params.city;
|
} else {
|
this.queryParams.city = "";
|
}
|
|
this.getTimeList();
|
|
this.getList();
|
},
|
|
methods: {
|
getCurrentUser() {
|
getUserProfile().then(response => {
|
this.currentuser = response.data;
|
});
|
},
|
|
LoadReportList() {
|
listDonatebaseinfo().then(res => {
|
let list = res.rows;
|
let reportlist = [];
|
reportlist.push({ reporterno: "", reportername: "全部" });
|
list.forEach(element => {
|
reportlist.push({
|
reporterno: element.reporterno,
|
reportername: element.reportername
|
});
|
});
|
|
if (reportlist != 0) {
|
reportlist = this.resetArr(reportlist);
|
this.reportlist = reportlist;
|
}
|
});
|
},
|
|
resetArr(Arr) {
|
var hash = {};
|
Arr = Arr.reduce(function(arr, current) {
|
hash[current.reporterno]
|
? ""
|
: (hash[current.reporterno] = true && arr.push(current));
|
return arr;
|
}, []);
|
return Arr;
|
},
|
|
getTimeList(e) {
|
console.log(this.selecttime);
|
if (this.selecttime != null) {
|
if (this.selecttime != 0) {
|
this.endtime = this.selecttime[1];
|
this.starttime = this.selecttime[0];
|
// if (this.endtime == this.starttime) {
|
let num = Number(this.endtime.slice(5, 7));
|
if (num < 9) {
|
let mon = Number(this.endtime.slice(6, 7));
|
this.endtime =
|
this.endtime.slice(0, 5) +
|
"0" +
|
(mon + 1) +
|
"-" +
|
"01" +
|
" " +
|
"00" +
|
":" +
|
"00" +
|
":" +
|
"00";
|
}
|
// this.endtime=this.endtime.slice(0,5)年
|
else if (num >= 10) {
|
this.endtime =
|
this.endtime.slice(0, 5) +
|
(num + 1) +
|
"-" +
|
"01" +
|
" " +
|
"00" +
|
":" +
|
"00" +
|
":" +
|
"00";
|
} else {
|
this.endtime =
|
this.endtime.slice(0, 5) +
|
"10" +
|
"-" +
|
"01" +
|
" " +
|
"00" +
|
":" +
|
"00" +
|
":" +
|
"00";
|
}
|
this.starttime =
|
this.starttime + " " + "00" + ":" + "00" + ":" + "00";
|
// }
|
} else {
|
this.starttime = "1998-01-01 00:00:00";
|
this.endtime = "2998-01-01 00:00:00";
|
}
|
} else {
|
this.starttime = "1998-01-01 00:00:00";
|
this.endtime = "2998-01-01 00:00:00";
|
}
|
},
|
|
selectReporters() {
|
//专职人员
|
listReportname("zzry").then(res => {
|
this.reporters = res.data;
|
});
|
},
|
|
getuserlist() {
|
//用户列表
|
listUser().then(res => {
|
this.users = res.data;
|
});
|
},
|
|
handleapproval(row) {
|
this.$confirm("是否确认将案例上报审核?", "提示", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
})
|
.then(() => {
|
row.recordstate = 1;
|
updateDonatebaseinfo(row).then(response => {
|
this.$modal.msgSuccess("上报审核成功");
|
this.getList();
|
});
|
})
|
.catch(() => {
|
this.$message({
|
type: "info",
|
message: "已取消上报"
|
});
|
});
|
},
|
resetapproval(row) {
|
this.approvalState = false;
|
// this.reset();
|
// const id = row.id || this.ids;
|
updateDonatebaseinfo(row).then(response => {
|
row.recordstate = 0;
|
});
|
},
|
|
updateMessage() {
|
try {
|
const reg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
|
if (reg.test(this.form.idcardno)) {
|
// 身份证号码是否合法
|
var org_birthday = this.form.idcardno.substring(6, 14);
|
var org_gender = this.form.idcardno.substring(16, 17);
|
var sex = org_gender % 2 == 1 ? 1 : 2;
|
var birthday =
|
org_birthday.substring(0, 4) +
|
"-" +
|
org_birthday.substring(4, 6) +
|
"-" +
|
org_birthday.substring(6, 8);
|
var birthdays = new Date(birthday.replace(/-/g, "/"));
|
let d = new Date();
|
let age =
|
d.getFullYear() -
|
birthdays.getFullYear() -
|
(d.getMonth() < birthdays.getMonth() ||
|
(d.getMonth() == birthdays.getMonth() &&
|
d.getDate() < birthdays.getDate())
|
? 1
|
: 0);
|
// 赋值给表格
|
this.form.sex = sex;
|
this.form.birthday = birthday;
|
this.form.age = age;
|
} else {
|
}
|
} catch {}
|
},
|
// sheng: '浙江省',
|
// shi: '',
|
// qu: '',
|
|
// 身份证验证
|
//根据身份证号自动生成性别、出生日期和年龄
|
inputChange() {
|
const idCard = this.props.form.getFieldValue("idCard");
|
let birthday = "";
|
let sex = "0";
|
if (idCard.length === 15) {
|
birthday = `19${idCard.substring(6, 8)}-${idCard.substring(
|
9,
|
10
|
)}-${idCard.substring(11, 12)}`;
|
sex = idCard[14] % 2 === 0 ? "0" : "1";
|
} else {
|
birthday = `${idCard.substring(6, 10)}-${idCard.substring(
|
11,
|
12
|
)}-${idCard.substring(13, 14)}`;
|
sex = idCard[16] % 2 === 0 ? "0" : "1";
|
}
|
this.setState({
|
birthday,
|
sex
|
});
|
},
|
|
/** 查询捐献基础列表 */
|
getList() {
|
this.loading = true;
|
this.queryParams.params = {};
|
sessionStorage.removeItem("donatebaseinfo");
|
sessionStorage.setItem(
|
"donatebaseinfo",
|
JSON.stringify(this.queryParams)
|
);
|
// 跳转时的默认进度
|
|
if (this.reportervalue != "") {
|
this.queryParams.reportno = this.reportervalue;
|
}
|
|
if (this.starttime != "") {
|
this.queryParams.starttime = this.starttime;
|
} else {
|
this.queryParams.starttime = "";
|
}
|
if (this.endtime != "") {
|
this.queryParams.endtime = this.endtime;
|
} else {
|
this.queryParams.endtime = "";
|
}
|
this.queryParams.residenceprovince = this.$refs.areaSelect.getSheng();
|
this.queryParams.residencecity = this.$refs.areaSelect.getShi();
|
this.queryParams.residencetown = this.$refs.areaSelect.getQu();
|
console.log(this.queryParams);
|
|
listDonatebaseinfo(this.queryParams).then(response => {
|
this.donatebaseinfoList = response.rows;
|
//console.log("listDonatebaseinfo", response.rows);
|
this.total = response.total;
|
this.loading = false;
|
});
|
},
|
// 取消按钮
|
cancel() {
|
this.open = false;
|
this.reset();
|
},
|
// 表单重置
|
reset() {
|
this.form = {
|
id: null,
|
name: null,
|
sex: null,
|
idcardtype: null,
|
idcardno: null,
|
age: null,
|
ageunit: null,
|
birthday: null,
|
phone: null,
|
residenceaddress: null,
|
nationality: "中国",
|
nativeplace: null,
|
residenceprovince: null,
|
nation: null,
|
residenceprovincename: null,
|
occupation: null,
|
residencecity: null,
|
education: null,
|
residencecityname: null,
|
residencetown: null,
|
residencetownname: null,
|
residencecommunity: null,
|
residencecommunityname: null,
|
residencecountycode: null,
|
residencecountyname: null,
|
registeraddress: null,
|
registerprovince: null,
|
registerprovincename: null,
|
registercity: null,
|
registercityname: null,
|
registertown: null,
|
registertownname: null,
|
registercommunity: null,
|
registercommunityname: null,
|
registercountycode: null,
|
registercountyname: null,
|
recordstate: null,
|
treatmenthospitalno: null,
|
treatmenthospitalname: null,
|
treatmentdeptname: null,
|
diagnosisno: null,
|
diagnosisname: null,
|
bloodtype: "0",
|
inpatientno: null,
|
rhyin: 0,
|
donorno: null,
|
donationcategory: null,
|
illnessoverview: null,
|
diseasetype: [],
|
infectious: [],
|
selfwill: [],
|
diseasetypeOther: null,
|
othercases: [],
|
kinshipwill: 0,
|
infosources: [],
|
kinship: [],
|
redorganno: null,
|
redorganname: null,
|
contactperson: null,
|
infectiousOther: null,
|
contactnumber: null,
|
contacttime: null,
|
reporterno: null,
|
reportername: null,
|
patientstate: [],
|
reporterphone: null,
|
infosourcesOther: null,
|
reporttime: null,
|
delFlag: null,
|
createBy: null,
|
createTime: null,
|
updateBy: null,
|
updateTime: null,
|
kinshipOther: null,
|
majorrelatives: null,
|
familyrelations: null,
|
acquisitiontissueno: "ZJOPO",
|
acquisitiontissuename: "浙江省人体器官获取组织"
|
};
|
|
this.resetForm("form");
|
},
|
/** 搜索按钮操作 */
|
handleQuery() {
|
this.queryParams.pageNum = 1;
|
this.getList();
|
},
|
/** 重置按钮操作 */
|
resetQuery() {
|
this.daterangeReporttime = [];
|
|
this.reportervalue = "";
|
|
this.queryParams = {
|
doname: null,
|
pageNum: 1,
|
pageSize: 10,
|
name: null,
|
idcardno: null,
|
residenceprovince: null,
|
residencecity: null,
|
residencetown: null,
|
// "2"
|
recordstate: null,
|
treatmenthospitalname: null,
|
donorno: null,
|
acquisitiontissueno: null,
|
reportername: null,
|
reporttime: null,
|
city: null,
|
treatmenthospitalno: null
|
};
|
this.selecttime = [];
|
this.getTimeList();
|
this.searchAddress = {
|
sheng: "",
|
shi: "",
|
qu: "",
|
organizationname: null
|
};
|
//this.$refs.areaSelect.clean();
|
|
this.resetForm("queryForm");
|
this.handleQuery();
|
},
|
// 多选框选中数据
|
handleSelectionChange(selection) {
|
this.ids = selection.map(item => item.id);
|
this.single = selection.length !== 1;
|
this.multiple = !selection.length;
|
},
|
/** 新增按钮操作 */
|
handleAdd() {
|
// this.$router.push({
|
// path: "/organ/donationdetails/",
|
// query: {
|
// organType: "add",
|
// }
|
// });
|
this.reset();
|
//设置报告人和部门/组
|
this.form.reporterno = this.currentuser.userName;
|
this.form.reportername = this.currentuser.nickName;
|
this.form.deptid = this.currentuser.deptid;
|
|
this.showSaveBtn = true;
|
//this.$refs.annex.getAnnexList();
|
this.open = true;
|
// this.$nextTick(function() {
|
// this.$refs.annex.getAnnexList();
|
// });
|
|
this.title = "人体器官潜在捐献者登记表";
|
},
|
/** 修改按钮操作 */
|
|
handleUpdate(row) {
|
this.$router.push({
|
path: "/organ/donationdetails/",
|
query: {
|
id: row.id,
|
organType: "edit"
|
}
|
});
|
// this.showSaveBtn = true;
|
// const id = row.id || this.ids;
|
// //this.$refs.annex.getAnnexList();
|
|
// getDonatebaseinfo(id).then((response) => {
|
// this.reset();
|
|
// this.$nextTick(function () {
|
// this.$refs.annex.getAnnexList();
|
// });
|
// this.form = response.data;
|
// response.data.sex = parseInt(response.data.sex);
|
// this.form.id = response.data.id;
|
// this.form.diseasetype = this.form.diseasetype.split(",");
|
// this.form.infectious = this.form.infectious.split(",");
|
// this.form.selfwill = this.form.selfwill.split(",");
|
// this.form.othercases = this.form.othercases.split(",");
|
// this.form.infosources = this.form.infosources.split(",");
|
// this.form.kinship = this.form.kinship.split(",");
|
// this.form.patientstate = this.form.patientstate.split(",");
|
// this.open = true;
|
// this.title = "人体器官潜在捐献者登记表";
|
// this.registerAddresss.sheng = response.data.registerprovincename;
|
// this.residenceAddresss.sheng = response.data.residenceprovincename;
|
// this.registerAddresss.shi = response.data.registercityname;
|
// this.residenceAddresss.shi = response.data.residencecityname;
|
// this.residenceAddresss.qu = response.data.residencetownname;
|
// this.registerAddresss.qu = response.data.registertownname;
|
// });
|
},
|
// 终止案例
|
handletermination(row) {
|
this.reset();
|
this.showSaveBtn = false;
|
this.showTerminationBtn = true;
|
const id = row.id || this.ids;
|
getDonatebaseinfo(id).then(response => {
|
this.form = response.data;
|
|
this.form.diseasetype = this.form.diseasetype.split(",");
|
this.form.infectious = this.form.infectious.split(",");
|
this.form.selfwill = this.form.selfwill.split(",");
|
this.form.othercases = this.form.othercases.split(",");
|
this.form.infosources = this.form.infosources.split(",");
|
this.form.kinship = this.form.kinship.split(",");
|
this.form.patientstate = this.form.patientstate.split(",");
|
this.registerAddresss.sheng = response.data.registerprovincename;
|
this.residenceAddresss.sheng = response.data.residenceprovincename;
|
this.registerAddresss.shi = response.data.registercityname;
|
this.residenceAddresss.shi = response.data.residencecityname;
|
this.residenceAddresss.qu = response.data.residencetownname;
|
this.registerAddresss.qu = response.data.registertownname;
|
this.open = true;
|
this.title = "人体器官潜在捐献者登记表";
|
this.form.recordstate = 99;
|
// this.$nextTick(function() {
|
// this.$refs.annex.getAnnexList();
|
// });
|
});
|
},
|
/** 提交按钮 */
|
submitForm() {
|
console.log(this.form);
|
this.$refs["form"].validate(valid => {
|
if (valid) {
|
const date = { ...this.form };
|
console.log(date, "date");
|
this.form.birthday = this.$moment(this.form.birthday).format(
|
"YYYY-MM-DD HH:mm:ss"
|
);
|
this.form.diseasetype = this.form.diseasetype.join(",");
|
this.form.infectious = this.form.infectious.join(",");
|
this.form.selfwill = this.form.selfwill.join(",");
|
this.form.othercases = this.form.othercases.join(",");
|
this.form.infosources = this.form.infosources.join(",");
|
this.form.kinship = this.form.kinship.join(",");
|
this.form.patientstate = this.form.patientstate.join(",");
|
this.form.registerprovince = this.$refs.registerSelect.getSheng();
|
this.form.registerprovincename = this.registerAddresss.sheng;
|
|
this.form.residenceprovince = this.$refs.residenceSelect.getSheng();
|
this.form.residenceprovincename = this.residenceAddresss.sheng;
|
|
this.form.registercity = this.$refs.registerSelect.getShi();
|
this.form.registercityname = this.registerAddresss.shi;
|
|
this.form.residencecity = this.$refs.residenceSelect.getShi();
|
this.form.residencecityname = this.residenceAddresss.shi;
|
|
this.form.residencetown = this.$refs.residenceSelect.getQu();
|
this.form.residencetownname = this.residenceAddresss.qu;
|
|
this.form.registertown = this.$refs.registerSelect.getQu();
|
this.form.registertownname = this.registerAddresss.qu;
|
|
this.form.reportername = this.$refs.getReportname.$data.selectedLabel;
|
this.form.donatetime = this.form.reporttime;
|
|
try {
|
this.form.treatmenthospitalname = this.$refs.addOrgSelect.getOptionByValue(
|
this.form.treatmenthospitalno
|
).organizationname;
|
} catch {
|
this.form.treatmenthospitalname = this.form.treatmenthospitalno;
|
}
|
|
try {
|
this.form.redorganname = this.$refs.addCrossOrgSelect.getOptionByValue(
|
this.form.redorganno
|
).organizationname;
|
} catch {
|
this.form.redorganname = this.form.redorganno;
|
}
|
|
this.form.workflow = 0;
|
this.form.recordstate = 0;
|
addDonatebaseinfo(this.form).then(res => {
|
console.log("22");
|
console.log(res.code);
|
if (res.code == 200) {
|
this.$modal.msgSuccess("新增成功");
|
this.$router.push({
|
path: "/organ/donationdetails/",
|
query: {
|
id: res.data.id,
|
organType: "edit"
|
}
|
});
|
this.open = false;
|
} else {
|
console.log("1");
|
this.form = date;
|
console.log(this.form, "form");
|
this.$modal.msgError("新增失败:" + res.msg);
|
}
|
});
|
}
|
});
|
},
|
/** 删除按钮操作 */
|
handleDelete(row) {
|
const ids = row.id || this.ids;
|
this.$modal
|
.confirm('是否确认删除捐献基础编号为"' + ids + '"的数据项?')
|
.then(function() {
|
return delDonatebaseinfo(ids);
|
})
|
.then(() => {
|
this.getList();
|
this.$modal.msgSuccess("删除成功");
|
})
|
.catch(() => {});
|
},
|
|
/** 导出按钮操作 */
|
handleExport() {
|
const queryParams = this.queryParams;
|
this.$modal
|
.confirm("是否确认导出所有捐献基础数据项?")
|
.then(() => {
|
this.exportLoading = true;
|
return exportDonatebaseinfo(queryParams);
|
})
|
.then(response => {
|
this.$download.name(response.msg);
|
this.exportLoading = false;
|
})
|
.catch(() => {});
|
},
|
|
// 对象转成指定字符串分隔
|
listToString(list, separator) {
|
let strs = "";
|
separator = separator || ",";
|
for (let i in list) {
|
strs += list[i] + separator;
|
}
|
return strs != "" ? strs.substr(0, strs.length - 1) : "";
|
},
|
//字符串根据指定字符串分隔
|
stringToList(str, separator) {
|
separator = separator || ",";
|
let tempList = [];
|
if (str != null && str != undefined && str != "") {
|
tempList = str.split(separator);
|
}
|
return tempList;
|
},
|
|
//下载潜在登记表
|
handledownload(row) {
|
const id = row.id || this.ids;
|
|
downloadbaseinfo(id).then(res => {
|
var fileUrl = res;
|
//获取当前网址
|
var urlBase = process.env.VUE_APP_BASE_API;
|
var curWWWPath = window.document.location.href;
|
var pos = curWWWPath.indexOf(window.document.location.pathname);
|
// 创建a标签
|
var aEle = document.createElement("a");
|
aEle.href =
|
curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"];
|
console.log(aEle.href);
|
// 添加Authorization头部
|
fetch(aEle.href, {
|
headers: this.headers
|
})
|
.then(response => {
|
// 将文件下载链接作为blob对象进行下载
|
return response.blob();
|
})
|
.then(blob => {
|
const url = window.URL.createObjectURL(new Blob([blob]));
|
console.log(url);
|
const link = document.createElement("a");
|
link.href = url;
|
const name = fileUrl["downloadName"];
|
link.setAttribute("download", name); // 替换file.pdf为实际的文件名
|
document.body.appendChild(link);
|
link.click();
|
link.parentNode.removeChild(link);
|
});
|
});
|
}
|
}
|
};
|
</script>
|
|
<style scoped>
|
::v-deep .el-dialog__header {
|
padding-top: 40px !important;
|
margin: auto !important;
|
padding-bottom: 0px !important;
|
}
|
</style>
|