<template>
|
<div class="particularsdiv">
|
<div class="left-course">
|
<div class="postfilx">
|
<div class="title">工作进程</div>
|
<div>
|
<el-steps direction="vertical" :active="workflow">
|
<el-step title="潜在捐献" icon="el-icon-user">
|
<template slot="description" v-if="donatebaseinfo.createtime">
|
<p>
|
提交:<span
|
>{{ donatebaseinfo.createperson }}
|
{{ parseTime(donatebaseinfo.createtime) }}</span
|
>
|
</p>
|
<p>
|
更新:<span
|
>{{ donatebaseinfo.updateperson }}
|
{{ parseTime(donatebaseinfo.updatetime) }}</span
|
>
|
</p>
|
</template>
|
</el-step>
|
<el-step
|
title="医学评估"
|
icon="el-icon-edit-outline"
|
description="请先完成前部步骤"
|
>
|
<template slot="description" v-if="medicalevaluation.createtime">
|
<p>
|
提交:<span>
|
{{ medicalevaluation.createperson }}
|
{{ parseTime(medicalevaluation.createtime) }}</span
|
>
|
</p>
|
<p>
|
更新:<span>
|
{{ medicalevaluation.updateperson }}
|
{{ parseTime(medicalevaluation.updatetime) }}</span
|
>
|
</p>
|
</template>
|
</el-step>
|
<el-step
|
title="捐献确认"
|
description="请先完成前部步骤"
|
icon="el-icon-folder-checked"
|
>
|
<template
|
slot="description"
|
v-if="relativesconfirmation.createtime"
|
>
|
<p>
|
提交:<span>
|
{{ relativesconfirmation.createperson }}
|
{{ parseTime(relativesconfirmation.createtime) }}</span
|
>
|
</p>
|
<p>
|
更新:<span>
|
{{ relativesconfirmation.updateperson }}
|
{{ parseTime(relativesconfirmation.updatetime) }}</span
|
>
|
</p>
|
</template>
|
</el-step>
|
<el-step
|
title="伦理审查"
|
description="请先完成前部步骤"
|
icon="el-icon-s-order"
|
>
|
<template slot="description" v-if="donateflowcharts.createtime">
|
<p>
|
提交:<span>
|
{{ donateflowcharts.createperson }}
|
{{ parseTime(donateflowcharts.createtime) }}</span
|
>
|
</p>
|
<p>
|
更新:<span>
|
{{ donateflowcharts.updateperson }}
|
{{ parseTime(donateflowcharts.updatetime) }}</span
|
>
|
</p>
|
</template>
|
</el-step>
|
<el-step
|
title="器官分配"
|
description="请先完成前部步骤"
|
icon="el-icon-s-operation"
|
>
|
<template
|
slot="description"
|
v-if="donateorgansService.createtime"
|
>
|
<p>
|
提交:<span>
|
{{ donateorgansService.createperson }}
|
{{ parseTime(donateorgansService.createtime) }}</span
|
>
|
</p>
|
<p>
|
更新:<span>
|
{{ donateorgansService.updateperson }}
|
{{ parseTime(donateorgansService.updatetime) }}</span
|
>
|
</p>
|
</template>
|
</el-step>
|
<el-step
|
title="获取见证"
|
description="请先完成前部步骤"
|
icon="el-icon-s-management"
|
>
|
<template slot="description" v-if="donationwitness.createtime">
|
<p>
|
提交:<span>
|
{{ donationwitness.createperson }}
|
{{ parseTime(donationwitness.createtime) }}</span
|
>
|
</p>
|
<p>
|
更新:<span>
|
{{ donationwitness.updateperson }}
|
{{ parseTime(donationwitness.updatetime) }}</span
|
>
|
</p>
|
</template>
|
</el-step>
|
<el-step
|
title="完成登记"
|
description="请先完成前部步骤"
|
icon="el-icon-circle-check"
|
>
|
<template
|
slot="description"
|
v-if="donatecompletioninfo.createtime"
|
>
|
<p>
|
提交:<span>
|
{{ donatecompletioninfo.createperson }}
|
{{ parseTime(donatecompletioninfo.createtime) }}</span
|
>
|
</p>
|
<p>
|
更新:<span>
|
{{ donatecompletioninfo.updateperson }}
|
{{ parseTime(donatecompletioninfo.updatetime) }}</span
|
>
|
</p>
|
</template>
|
</el-step>
|
</el-steps>
|
</div>
|
</div>
|
</div>
|
<!-- 右侧数据 -->
|
<div style="background: #fff; width: 80%;">
|
<!-- 顶部数据 -->
|
<div class="boxdiv">
|
<div class="top-text">捐献案例信息</div>
|
<el-form
|
ref="form"
|
:model="form"
|
:rules="rules"
|
label-width="130px"
|
label-position="right"
|
>
|
<div
|
style="
|
border-top: 1px solid #ddd;
|
padding-right: 60px;
|
"
|
>
|
<el-row style="margin-top: 10px">
|
<el-col :span="6">
|
<el-form-item label="捐献编号" prop="donorno">
|
<el-input v-model="form.donorno" disabled />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<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="6">
|
<el-form-item label="联系电话" prop="reporterphone">
|
<el-input
|
v-model="form.reporterphone"
|
placeholder="请输入联系电话"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="报告时间" align="left" prop="reporttime">
|
<el-date-picker
|
clearable
|
size="small"
|
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>
|
<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="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
|
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="birthday">
|
<el-date-picker
|
clearable
|
size="small"
|
v-model="form.birthday"
|
type="date"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择出生日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<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-col :span="6">
|
<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="6">
|
<el-form-item label="科室" prop="treatmentdeptno">
|
<el-input
|
v-model="form.treatmentdeptname"
|
placeholder="请输入科室"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</div>
|
</el-form>
|
</div>
|
<!-- 流程tab -->
|
<div style="margin: 0 10px; cursor:pointer;">
|
<el-steps :active="actives" simple>
|
<el-step
|
@click.native="on_click(0)"
|
title="潜在捐献"
|
icon="el-icon-user"
|
></el-step>
|
<el-step
|
@click.native="on_click(1)"
|
title="医学评估"
|
icon="el-icon-edit-outline"
|
></el-step>
|
<el-step
|
@click.native="on_click(2)"
|
title="捐献确认"
|
icon="el-icon-folder-checked"
|
></el-step>
|
<el-step
|
@click.native="on_click(3)"
|
title="伦理审查"
|
icon="el-icon-s-order"
|
></el-step>
|
<el-step
|
@click.native="on_click(4)"
|
title="器官分配"
|
icon="el-icon-s-operation"
|
></el-step>
|
<el-step
|
@click.native="on_click(5)"
|
title="获取见证"
|
icon="el-icon-s-management"
|
></el-step>
|
<el-step
|
@click.native="on_click(6)"
|
title="完成登记"
|
icon="el-icon-circle-check"
|
></el-step>
|
</el-steps>
|
</div>
|
<!-- 凭证文件 -->
|
<div class="Ticket-button">
|
<el-button @click.native.prevent="Filepopup" type="success"
|
>凭证文件</el-button
|
>
|
</div>
|
<!-- 潜在捐献 -->
|
<div class="boxdiv" style="margin: 30px 0 66px 0;" v-show="actives == 0">
|
<el-form
|
ref="form"
|
:model="form"
|
:rules="rules"
|
label-width="100px"
|
label-position="right"
|
>
|
<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="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="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>
|
<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>
|
<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="6">
|
<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-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-form>
|
<div class="dialog-footer">
|
<el-button
|
v-show="!showTerminationBtn && workflow != 9"
|
type="primary"
|
@click="submitForm"
|
>保存</el-button
|
>
|
<el-button
|
v-if="workflow != 9"
|
:type="showTerminationBtn == 0 ? 'warning' : 'success'"
|
@click="Terminationcase"
|
>{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
|
>
|
<!-- <el-button
|
v-show="Reportforreview"
|
type="primary"
|
@click="Reportforreview"
|
>提交</el-button
|
> -->
|
</div>
|
</div>
|
<!-- 医学评估 -->
|
<div class="boxdiv" v-show="actives == 1">
|
<el-form
|
ref="medicineform"
|
:model="medicineform"
|
:rules="medicinerules"
|
label-width="100px"
|
label-position="right"
|
>
|
<el-row
|
><el-col :span="24">
|
<el-form-item
|
label="病情概况"
|
prop="illnessoverview"
|
style="margin-top: 20px"
|
>
|
<el-input
|
v-model="medicineform.illnessoverview"
|
type="textarea"
|
placeholder="请输入内容"
|
/> </el-form-item></el-col></el-row
|
><el-row
|
><el-col :span="24">
|
<el-form-item label="疾病诊断" prop="diagnosisname">
|
<el-input
|
v-model="medicineform.diagnosisname"
|
type="textarea"
|
placeholder="请输入疾病诊断"
|
/> </el-form-item></el-col
|
></el-row>
|
<el-row>
|
<el-col :span="7">
|
<el-form-item
|
align="left"
|
label="院级评估医生"
|
prop="hospitalassessdoctor"
|
>
|
<el-input
|
v-model="medicineform.hospitalassessdoctor"
|
placeholder="请输入院级评估医生"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="9">
|
<el-form-item
|
align="left"
|
label="评估时间"
|
prop="hospitalassesstime"
|
>
|
<el-date-picker
|
clearable
|
size="small"
|
v-model="medicineform.hospitalassesstime"
|
type="date"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择院级评估时间"
|
>
|
</el-date-picker> </el-form-item
|
></el-col>
|
<el-col :span="8">
|
<el-form-item
|
align="left"
|
label="评估结论"
|
prop="hospitalassessconclusion"
|
>
|
<el-select
|
v-model="medicineform.hospitalassessconclusion"
|
placeholder="请选择院级评估结论"
|
>
|
<el-option
|
v-for="dict in dict.type.sys_BaseAssessConclusion"
|
: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="24">
|
<el-form-item
|
label="院级评估内容"
|
prop="provincialassesscontent"
|
align="left"
|
>
|
<el-input
|
v-model="medicineform.provincialassesscontent"
|
type="textarea"
|
placeholder="请输入内容"
|
/>
|
</el-form-item> </el-col
|
></el-row>
|
<el-row
|
><el-col :span="7">
|
<el-form-item label="省级评估医生" prop="provincialassessdoctor">
|
<el-input
|
v-model="medicineform.provincialassessdoctor"
|
placeholder="请输入省级评估医生"
|
/> </el-form-item></el-col
|
><el-col :span="9">
|
<el-form-item label="评估时间" prop="provincialassesstime">
|
<el-date-picker
|
clearable
|
size="small"
|
v-model="medicineform.provincialassesstime"
|
type="date"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择省级评估时间"
|
>
|
</el-date-picker> </el-form-item></el-col
|
><el-col :span="8">
|
<el-form-item
|
label="评估结论"
|
prop="provincialassessconclusion"
|
align="left"
|
>
|
<el-select
|
v-model="medicineform.provincialassessconclusion"
|
placeholder="请选择省级评估结论"
|
>
|
<el-option
|
v-for="dict in dict.type.sys_BaseAssessConclusion"
|
: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="24">
|
<el-form-item
|
align="left"
|
label="省级评估内容"
|
prop="hospitalassesscontent"
|
>
|
<el-input
|
v-model="medicineform.hospitalassesscontent"
|
type="textarea"
|
placeholder="请输入内容"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="7">
|
<el-form-item label="核心评估医生" prop="coreteamassessdoctor">
|
<el-input
|
v-model="medicineform.coreteamassessdoctor"
|
placeholder="请输入核心成员评估医生"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="9">
|
<el-form-item label="评估时间" prop="coreteamassesstime">
|
<el-date-picker
|
clearable
|
size="small"
|
v-model="medicineform.coreteamassesstime"
|
type="date"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="评估时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item
|
label="评估结论"
|
prop="coreteamassessconclusion"
|
align="left"
|
>
|
<el-select
|
v-model="medicineform.coreteamassessconclusion"
|
placeholder="请选择核心成员结论"
|
>
|
<el-option
|
v-for="dict in dict.type.sys_CoreAssessConclusion"
|
: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="24">
|
<el-form-item
|
label="核心成员评估"
|
prop="coreteamassesscontent"
|
align="left"
|
>
|
<el-input
|
v-model="medicineform.coreteamassesscontent"
|
type="textarea"
|
placeholder="请输入内容"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div class="dialog-footer">
|
<el-button
|
v-show="!showTerminationBtn && workflow != 9"
|
type="primary"
|
@click="Savethedetails"
|
>保存</el-button
|
>
|
<el-button
|
v-if="workflow != 9"
|
:type="showTerminationBtn == 0 ? 'warning' : 'success'"
|
@click="Terminationcase"
|
>{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
|
>
|
<!-- <el-button
|
v-show="makeastepforward"
|
type="primary"
|
@click="makeastepforward"
|
>下一步</el-button
|
> -->
|
<!-- <el-button @click="cancel">取 消</el-button> -->
|
</div>
|
</div>
|
<!-- 捐献确认 -->
|
<div class="boxdiv" v-show="actives == 2">
|
<el-form
|
ref="affirmform"
|
:model="affirmform"
|
:rules="affirmrules"
|
label-width="100px"
|
label-position="right"
|
>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="亲属姓名" prop="name">
|
<el-input v-model="affirmform.name" placeholder="请输入姓名" />
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item
|
align="left"
|
label="与捐赠者关系"
|
prop="familyrelations"
|
>
|
<el-select
|
v-model="affirmform.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-col :span="6">
|
<el-form-item label="身份证号" prop="idcardno">
|
<el-input
|
ref="updateBSvalue"
|
class="sfzcode"
|
v-model="affirmform.idcardno"
|
placeholder="请输入证件号码"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="联系电话" prop="phone">
|
<el-input
|
v-model="affirmform.phone"
|
placeholder="请输入联系电话"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="亲属籍贯" prop="residenceaddresss">
|
<div>
|
<li_area_select
|
v-model="defultAddresss"
|
ref="residenceaddresss"
|
></li_area_select>
|
<!-- <div>{{defultAddress}}</div> -->
|
</div>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item label="现住地址" prop="residenceaddress">
|
<el-input
|
v-model="affirmform.residenceaddress"
|
placeholder="请输入内容"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item label="签字亲属" prop="kinshipconfirmationsign">
|
<el-checkbox-group v-model="kinship">
|
<el-checkbox
|
v-for="item in dict.type.sys_kinshipConfirm"
|
:label="item.value"
|
:value="item.value"
|
>
|
{{
|
item.label == "成年子女"
|
? item.label + "(人)"
|
: item.label
|
}}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="成年子女数" prop="kinshipChildrennum">
|
<el-input
|
v-model="affirmform.kinshipChildrennum"
|
placeholder="请输入数量"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="其他亲属" prop="organdecisionOther">
|
<el-input
|
v-model="affirmform.organdecisionOther"
|
placeholder="请输入其他"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-form-item label-width="100px" label="捐献决定">
|
<el-checkbox-group v-model="organdecision">
|
<el-checkbox
|
v-for="item in organselection"
|
:key="item"
|
:label="item"
|
>{{ item }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-row>
|
<el-row>
|
<!-- <el-col :span="18">
|
<el-form-item align="left" label="捐献决定">
|
<el-checkbox-group v-model="affirmform.organdecision">
|
<el-checkbox
|
v-for="dict in dict.type.sys_OrganDecision"
|
:key="dict.label"
|
:label="dict.label"
|
>
|
{{ 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="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="6">
|
<el-form-item label="负责人" prop="responsibleuserid">
|
<el-select
|
v-model="affirmform.responsibleuserid"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in leaderlist"
|
:key="item.reportNo"
|
:label="item.reportName"
|
:value="item.reportNo"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="协调员1" prop="coordinateduserido">
|
<el-select
|
v-model="affirmform.coordinateduserido"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in coordinatorlist1"
|
:key="item.reportNo"
|
:label="item.reportName"
|
:value="item.reportNo"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="协调员2" prop="coordinateduseridt">
|
<el-select
|
v-model="affirmform.coordinateduseridt"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in coordinatorlist1"
|
:key="item.reportNo"
|
:label="item.reportName"
|
:value="item.reportNo"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item> </el-col
|
><el-col :span="6">
|
<el-form-item
|
align="left"
|
label="签字日期"
|
prop="signdate"
|
style="over-flow: hidden"
|
>
|
<el-date-picker
|
clearable
|
size="small"
|
v-model="affirmform.signdate"
|
type="date"
|
value-format="yyyy-MM-dd hh:mm:ss"
|
placeholder="选择签字日期"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div class="dialog-footer">
|
<el-button
|
v-show="!showTerminationBtn && workflow != 9"
|
type="primary"
|
@click="Savethedetails"
|
>保存</el-button
|
>
|
<el-button
|
v-if="workflow != 9"
|
:type="showTerminationBtn == 0 ? 'warning' : 'success'"
|
@click="Terminationcase"
|
>{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
|
>
|
<!-- <el-button
|
v-show="makeastepforward"
|
type="primary"
|
@click="makeastepforward"
|
>下一步</el-button
|
> -->
|
<!-- <el-button @click="cancel">取 消</el-button> -->
|
</div>
|
</div>
|
<!-- 伦理审查 -->
|
<div class="boxdiv" v-show="actives == 3">
|
<el-form
|
ref="ethicform"
|
:model="ethicform"
|
:rules="ethicrules"
|
label-width="100px"
|
label-position="right"
|
>
|
<el-row>
|
<el-col :span="18">
|
<el-form-item label="审查结论">
|
<el-radio-group v-model="ethicform.expertconclusion">
|
<el-radio
|
v-for="dict in dict.type.sys_EthicalReview"
|
:key="dict.value"
|
:label="parseInt(dict.value)"
|
>{{ dict.label }}</el-radio
|
>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="18">
|
<el-form-item label="审查意见">
|
<el-input
|
v-model="ethicform.expertopinion"
|
type="textarea"
|
placeholder="请输入内容"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<!-- createtime 审查日期 -->
|
<el-col :span="18">
|
<el-form-item label="审查日期">
|
<el-date-picker
|
clearable
|
size="small"
|
v-model="ethicform.conclusiontime"
|
type="date"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择结论时间"
|
>
|
</el-date-picker>
|
</el-form-item> </el-col
|
></el-row>
|
</el-form>
|
<div class="dialog-footer" style="min-height: 500px; margin: 20px 0; ">
|
<el-button
|
v-show="!showTerminationBtn && workflow != 9"
|
type="primary"
|
@click="Savethedetails"
|
>保存</el-button
|
>
|
<el-button
|
v-if="workflow != 9"
|
:type="showTerminationBtn == 0 ? 'warning' : 'success'"
|
@click="Terminationcase"
|
>{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
|
>
|
<!-- <el-button
|
v-show="makeastepforward"
|
type="primary"
|
@click="makeastepforward"
|
>下一步</el-button
|
> -->
|
<!-- <el-button @click="cancel">取 消</el-button> -->
|
</div>
|
</div>
|
<!-- 器官分配 -->
|
<div class="boxdiv" v-show="actives == 4">
|
<el-form
|
ref="allocateddataform"
|
:rules="allocationrules"
|
:model="allocateddataform"
|
label-position="right"
|
>
|
<el-row>
|
<el-col>
|
<el-form-item label-width="100px" label="分配器官">
|
<el-checkbox-group v-model="organList.organallocated">
|
<el-checkbox
|
v-for="dict in dict.type.sys_Organ"
|
:key="dict.value"
|
:label="dict.value"
|
@change="changeorganState(dict.value)"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col>
|
<el-form-item>
|
<el-table v-loading="loading" border :data="allocateddata">
|
<el-table-column
|
label="器官名称"
|
align="center"
|
width="110"
|
prop="organname"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.organname"
|
placeholder="器官名称"
|
:disabled="scope.row.organno != 'C01'"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="器官编号"
|
align="center"
|
width="90"
|
prop="organno"
|
/>
|
<el-table-column
|
label="分配系统编号"
|
align="center"
|
width="120"
|
prop="caseno"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.caseno"
|
placeholder="分配系统编号"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="分配接收时间"
|
align="center"
|
width="200"
|
prop="applicanttime"
|
>
|
<template slot-scope="scope">
|
<el-date-picker
|
clearable
|
size="small"
|
style="width: 100%"
|
v-model="scope.row.applicanttime"
|
type="datetime"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择分配接收时间"
|
>
|
</el-date-picker>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="受体姓氏"
|
align="center"
|
width="120"
|
prop="name"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.name"
|
placeholder="受体姓氏"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="移植医院"
|
align="center"
|
width="230"
|
prop="transplanthospitalno"
|
>
|
<template slot-scope="scope">
|
<div class="elldiv">
|
<org-selecter
|
ref="tranHosSelect"
|
:org-type="'4'"
|
:dataList="dataList"
|
v-model="scope.row.transplanthospitalno"
|
/>
|
</div>
|
</template>
|
</el-table-column>
|
|
<el-table-column
|
prop="reallocationreason"
|
label="说明"
|
align="center"
|
>
|
<template slot-scope="scope">
|
<el-input
|
type="textarea"
|
clearable
|
v-model="scope.row.reallocationreason"
|
placeholder="请输入说明"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="操作"
|
align="center"
|
width="100"
|
class-name="small-padding fixed-width"
|
v-if="actives == 4"
|
>
|
<template slot-scope="scope">
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-copy-document"
|
@click="redistribution(scope.row)"
|
>重分配</el-button
|
>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div class="dialog-footer" v-show="actives == 4">
|
<el-button
|
v-show="!showTerminationBtn && workflow != 9"
|
type="primary"
|
@click="Savethedetails"
|
>保存</el-button
|
>
|
<el-button
|
v-if="workflow != 9"
|
:type="showTerminationBtn == 0 ? 'warning' : 'success'"
|
@click="Terminationcase"
|
>{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
|
>
|
<!-- <el-button
|
v-show="makeastepforward"
|
type="primary"
|
@click="makeastepforward"
|
>下一步</el-button
|
> -->
|
<!-- <el-button @click="cancel">取 消</el-button> -->
|
</div>
|
</div>
|
<!-- 获取见证 -->
|
<div class="boxdiv" v-show="actives == 5">
|
<el-form
|
ref="witnessform"
|
:model="witnessform"
|
:rules="witnessrules"
|
label-width="100px"
|
label-position="right"
|
>
|
<el-row>
|
<el-col :span="24">
|
<el-form-item
|
align="left"
|
label="捐献类别"
|
prop="donationcategory"
|
>
|
<el-radio-group v-model="witnessform.donationcategory">
|
<el-radio
|
v-for="dict in dict.type.sys_DonationCategory"
|
:key="dict.value"
|
:label="dict.value"
|
>{{ dict.label }}</el-radio
|
>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row> </el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item
|
align="left"
|
label="死亡判定:医生一"
|
label-width="140px"
|
prop="deathjudgedocto"
|
>
|
<el-input
|
v-model="witnessform.deathjudgedocto"
|
placeholder="判定医生姓名"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item
|
align="left"
|
label="医生二"
|
label-width="120px"
|
prop="deathjudgedoctt"
|
>
|
<el-input
|
v-model="witnessform.deathjudgedoctt"
|
placeholder="判定医生姓名"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item
|
align="left"
|
label="死亡时间"
|
label-width="120px"
|
prop="deathtime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.deathtime"
|
type="datetime"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择死亡时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item
|
align="left"
|
label="死亡原因"
|
label-width="120px"
|
prop="deathreason"
|
>
|
<el-input
|
v-model="witnessform.deathreason"
|
placeholder="请输入死亡原因"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item
|
align="left"
|
label="手术:开始时间"
|
label-width="140px"
|
prop="operationbegtime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.operationbegtime"
|
type="datetime"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="选择手术开始时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item
|
align="left"
|
label="结束时间"
|
label-width="120px"
|
prop="operationendtime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.operationendtime"
|
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="6">
|
<el-form-item
|
label="腹主动脉:插管时间"
|
align="left"
|
label-width="140px"
|
prop="abdominalaortacannulatime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.abdominalaortacannulatime"
|
type="datetime"
|
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="灌注时间"
|
align="left"
|
label-width="120px"
|
prop="abdominalaortaperfusiontime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.abdominalaortaperfusiontime"
|
type="datetime"
|
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="门静脉:插管时间"
|
align="left"
|
label-width="140px"
|
prop="portalveincannulatime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.portalveincannulatime"
|
type="datetime"
|
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="灌注时间"
|
align="left"
|
label-width="120px"
|
prop="portalveinperfusiontime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.portalveinperfusiontime"
|
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="6">
|
<el-form-item
|
label="肺动脉:插管时间"
|
align="left"
|
label-width="140px"
|
prop="pulmonaryarterycannulatime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.pulmonaryarterycannulatime"
|
type="datetime"
|
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="灌注时间"
|
align="left"
|
label-width="120px"
|
prop="pulmonaryarteryperfusiontime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.pulmonaryarteryperfusiontime"
|
type="datetime"
|
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="主动脉:灌注时间"
|
align="left"
|
label-width="140px"
|
prop="aortacannulatime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.aortacannulatime"
|
type="datetime"
|
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="灌注时间"
|
align="left"
|
label-width="120px"
|
prop="aortaperfusiontime"
|
>
|
<el-date-picker
|
clearable
|
v-model="witnessform.aortaperfusiontime"
|
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>
|
<el-form-item label-width="100px" label="获取器官">
|
<el-checkbox-group v-model="organList.organprocured">
|
<el-checkbox
|
v-for="dict in sysOrganlistL"
|
:key="dict.value"
|
:label="dict.value"
|
@change="changeorganprocured(dict.value)"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col>
|
<el-form-item>
|
<el-table v-loading="loading" border :data="procureddata">
|
<el-table-column
|
label="器官名称"
|
align="center"
|
width="110"
|
prop="organname"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.organname"
|
placeholder="器官名称"
|
:disabled="scope.row.organno != 'C01'"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="器官编号"
|
align="center"
|
width="90"
|
prop="organno"
|
/>
|
<!-- <el-table-column
|
label="系统编号"
|
align="center"
|
width="120"
|
prop="caseno"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.caseno"
|
placeholder="系统编号"
|
/>
|
</template>
|
</el-table-column> -->
|
<el-table-column
|
label="器官离体时间"
|
align="center"
|
width="200"
|
prop="organgettime"
|
>
|
<template slot-scope="scope">
|
<el-date-picker
|
clearable
|
size="small"
|
style="width: 100%"
|
v-model="scope.row.organgettime"
|
type="datetime"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
placeholder="请输入器官离体时间"
|
>
|
</el-date-picker>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="获取医院"
|
align="center"
|
width="230"
|
prop="gainhospitalno"
|
>
|
<template slot-scope="scope">
|
<div class="elldiv">
|
<org-selecter
|
ref="tranHosSelect"
|
:org-type="'4'"
|
:dataList="dataList"
|
v-model="scope.row.gainhospitalno"
|
/>
|
</div>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="获取医师"
|
align="center"
|
width="120"
|
prop="organgetdoct"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.organgetdoct"
|
placeholder="请输入医师姓名"
|
/>
|
</template>
|
</el-table-column>
|
<!-- <el-table-column
|
label="受体姓氏"
|
align="center"
|
width="120"
|
prop="name"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.name"
|
placeholder="受体姓氏"
|
/>
|
</template>
|
</el-table-column> -->
|
<el-table-column
|
label="获取状态"
|
align="center"
|
width="150"
|
prop="organstate"
|
>
|
<template slot-scope="scope">
|
<el-select
|
v-model="scope.row.organstate"
|
placeholder="请选择器官状态"
|
>
|
<el-option
|
v-for="dict in organstatelist"
|
:key="dict.value"
|
:label="dict.label"
|
:value="dict.value"
|
></el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="说明"
|
align="center"
|
prop="notgetreason"
|
>
|
<template slot-scope="scope">
|
<el-input
|
type="textarea"
|
clearable
|
v-model="scope.row.notgetreason"
|
placeholder="请输入未获取说明"
|
/>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="12">
|
<el-form-item align="left" label="默哀缅怀仪式">
|
<el-radio-group v-model="witnessform.isspendremember">
|
<el-radio
|
v-for="dict in dict.type.sys_0_1"
|
:key="dict.value"
|
:label="parseInt(dict.value)"
|
>{{ dict.label }}</el-radio
|
>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item align="left" label="恢复遗体仪容">
|
<el-radio-group v-model="witnessform.isrestoreremains">
|
<el-radio
|
v-for="dict in dict.type.sys_0_1"
|
:key="dict.value"
|
:label="parseInt(dict.value)"
|
>{{ dict.label }}</el-radio
|
>
|
</el-radio-group>
|
</el-form-item></el-col
|
>
|
</el-row>
|
|
<el-row>
|
<el-col :span="8">
|
<el-form-item
|
label="手术负责人"
|
label-width="140px"
|
prop="responsibleusername"
|
>
|
<el-input
|
v-model="witnessform.responsibleusername"
|
placeholder="请输入负责人姓名"
|
/>
|
</el-form-item>
|
</el-col>
|
<el-col :span="8">
|
<el-form-item label="协调员一" prop="coordinateduserido">
|
<el-select
|
v-model="witnessform.coordinateduserido"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in coordinatorlist1"
|
: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="coordinateduseridt">
|
<el-select
|
v-model="witnessform.coordinateduseridt"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in coordinatorlist1"
|
:key="item.reportNo"
|
:label="item.reportName"
|
:value="item.reportNo"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
|
<div class="dialog-footer">
|
<el-button
|
v-show="!showTerminationBtn && workflow != 9"
|
type="primary"
|
@click="Savethedetails"
|
>保存</el-button
|
>
|
<el-button
|
v-if="workflow != 9"
|
:type="showTerminationBtn == 0 ? 'warning' : 'success'"
|
@click="Terminationcase"
|
>{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
|
>
|
<!-- <el-button
|
v-show="makeastepforward"
|
type="primary"
|
@click="makeastepforward"
|
>下一步</el-button
|
> -->
|
|
<!-- <el-button @click="cancel">取 消</el-button> -->
|
</div>
|
</div>
|
<!-- 完成登记 -->
|
<div class="boxdiv" v-show="actives == 6">
|
<el-form
|
ref="accomplishform"
|
:model="accomplishform"
|
:rules="accomplishrules"
|
label-width="100px"
|
label-position="right"
|
>
|
<el-row>
|
<el-col>
|
<el-form-item label-width="100px" label="移植器官">
|
<el-checkbox-group v-model="organList.organtransplant">
|
<el-checkbox
|
v-for="dict in dict.type.sys_Organ"
|
:key="dict.value"
|
:label="dict.value"
|
@change="changeorgantransplant(dict.value)"
|
>
|
{{ dict.label }}
|
</el-checkbox>
|
</el-checkbox-group>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col>
|
<el-form-item>
|
<el-table v-loading="loading" border :data="transplantdata">
|
<el-table-column
|
label="器官名称"
|
align="center"
|
width="110"
|
prop="organname"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.organname"
|
placeholder="器官名称"
|
:disabled="scope.row.organno != 'C01'"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="器官编号"
|
align="center"
|
width="90"
|
prop="organno"
|
/>
|
<el-table-column
|
label="系统编号"
|
align="center"
|
width="120"
|
prop="caseno"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.caseno"
|
placeholder="系统编号"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="移植医院"
|
align="center"
|
width="220"
|
prop="hospitalno"
|
v-if="actives == 6"
|
>
|
<template slot-scope="scope">
|
<org-selecter
|
ref="tranHosSelect"
|
:org-type="'4'"
|
:dataList="dataList"
|
v-model="scope.row.hospitalno"
|
style="width: 100%"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="受体姓氏"
|
align="center"
|
width="120"
|
prop="name"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.name"
|
placeholder="受体姓氏"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="移植负责人"
|
align="center"
|
width="120"
|
prop="transplantdoct"
|
>
|
<template slot-scope="scope">
|
<el-input
|
v-model="scope.row.transplantdoct"
|
placeholder="医师姓名"
|
/>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="移植时间"
|
align="center"
|
width="200"
|
prop="transplanttime"
|
>
|
<template slot-scope="scope">
|
<el-date-picker
|
clearable
|
size="small"
|
style="width: 100%"
|
v-model="scope.row.transplanttime"
|
type="date"
|
value-format="yyyy-MM-dd"
|
placeholder="选择移植时间"
|
>
|
</el-date-picker>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="移植状态"
|
align="center"
|
width="150"
|
prop="transplantstate"
|
>
|
<template slot-scope="scope">
|
<el-select
|
v-model="scope.row.transplantstate"
|
placeholder="请选择器官状态"
|
>
|
<el-option
|
v-for="dict in transplantstatelist"
|
:key="dict.value"
|
:label="dict.label"
|
:value="dict.value"
|
></el-option>
|
</el-select>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="abandonreason"
|
label="说明"
|
align="center"
|
>
|
<template slot-scope="scope">
|
<el-input
|
type="textarea"
|
clearable
|
v-model="scope.row.abandonreason"
|
placeholder="请输入弃用说明"
|
/>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item align="left" label="遗体捐献" prop="isbodydonation">
|
<el-radio-group v-model="accomplishform.isbodydonation">
|
<el-radio
|
v-for="dict in dict.type.sys_0_1"
|
:key="dict.value"
|
:label="dict.value"
|
>{{ dict.label }}</el-radio
|
>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :span="12">
|
<el-form-item align="left" label="接收单位" prop="receivingunit">
|
<el-input
|
v-model="accomplishform.receivingunit"
|
placeholder="请输入接受单位"
|
/>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col :span="6">
|
<el-form-item label="负责人" prop="responsibleuserid">
|
<el-select
|
v-model="accomplishform.responsibleuserid"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in leaderlist"
|
:key="item.reportNo"
|
:label="item.reportName"
|
:value="item.reportNo"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="协调员一" prop="coordinateduserido">
|
<el-select
|
v-model="accomplishform.coordinateduserido"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in coordinatorlist1"
|
:key="item.reportNo"
|
:label="item.reportName"
|
:value="item.reportNo"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="协调员二" prop="coordinateduseridt">
|
<el-select
|
v-model="accomplishform.coordinateduseridt"
|
placeholder="请选择"
|
>
|
<el-option
|
v-for="item in coordinatorlist1"
|
:key="item.reportNo"
|
:label="item.reportName"
|
:value="item.reportNo"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="6">
|
<el-form-item label="完成时间" prop="completetime">
|
<el-date-picker
|
style="width: 167px"
|
clearable
|
size="small"
|
v-model="accomplishform.completetime"
|
type="date"
|
value-format="yyyy-MM-dd hh:mm:ss"
|
placeholder="选择完成时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
<div class="dialog-footer">
|
<el-button
|
v-show="!showTerminationBtn && workflow != 9"
|
type="primary"
|
@click="Savethedetails"
|
>保存</el-button
|
>
|
<el-button
|
v-if="workflow != 9"
|
:type="showTerminationBtn == 0 ? 'warning' : 'success'"
|
@click="Terminationcase"
|
>{{ showTerminationBtn == 0 ? "终止" : "恢复" }}</el-button
|
>
|
<el-button
|
v-if="workflow != 9"
|
type="success"
|
@click="Reportforreview"
|
>提交归档</el-button
|
>
|
<el-button v-else type="danger" @click="Reportforreview"
|
>撤销归档</el-button
|
>
|
<!-- <el-button @click="cancel">取 消</el-button> -->
|
</div>
|
</div>
|
<!-- 完结流程 -->
|
<div class="boxdiv" v-show="actives > 6">
|
<div style="display:flex; line-height: 100px; justify-content: center;">
|
<div style="padding: 20px 0; margin: 0 30px">
|
<img
|
style="width: 60px; height: 60px"
|
src="@/assets/images/wanc.png"
|
class="user-avatar"
|
/>
|
</div>
|
<div style="font-size: 28px;">全部流程已完结!</div>
|
<img
|
style="width: 100px; height: 100px"
|
src="@/assets/images/zhan.png"
|
class="user-avatar"
|
/>
|
</div>
|
</div>
|
</div>
|
<!-- 附件弹窗 -->
|
<el-dialog
|
v-dialogDrags
|
:modal="false"
|
:close-on-click-modal="false"
|
:title="pdftitle"
|
:visible.sync="pdfVisible"
|
width="68%"
|
>
|
<!-- <el-tabs style="margin-top: 20px;" v-model="activeName" type="card">
|
<el-tab-pane :label="activetele" name="1"> </el-tab-pane>
|
</el-tabs> -->
|
<div class="pdfimg">
|
<div>
|
<el-tabs
|
tab-position="right"
|
style="height: 600px;"
|
v-model="annextype"
|
@tab-click="selecttab"
|
>
|
<el-tab-pane
|
v-for="dict in dict.type.materials_DBD"
|
:label="dict.label"
|
:name="dict.value"
|
></el-tab-pane>
|
</el-tabs>
|
</div>
|
|
<div class="box-pdf">
|
<div>
|
<el-upload
|
size="mini"
|
class="upload-demo"
|
:action="uploadFileUrl"
|
:file-list="fileList"
|
:show-file-list="false"
|
multiple
|
drag
|
:headers="headers"
|
:on-success="
|
(response, file, fileList) =>
|
uploadSccess(response, file, fileList)
|
"
|
:on-preview="downFile"
|
:on-error="handleUploadError"
|
:on-remove="remove"
|
accept="image/*,.pdf"
|
>
|
<i class="el-icon-upload"></i>
|
<div class="el-upload__text">
|
将发票文件拖到此处,或
|
<em
|
><el-button size="small" type="primary"
|
>点击上传</el-button
|
></em
|
>
|
</div>
|
</el-upload>
|
<el-table
|
:data="fileListto"
|
@row-click="downFile"
|
style="width: 100%"
|
height="400"
|
>
|
<el-table-column
|
prop="annexname"
|
align="center"
|
:show-overflow-tooltip="true"
|
label="名称"
|
>
|
<template slot-scope="scope">
|
<i style="color:#409EFF" class=" el-icon-s-order" />{{
|
scope.row.annexname
|
}}
|
</template>
|
</el-table-column>
|
|
<el-table-column
|
prop="name"
|
align="center"
|
:show-overflow-tooltip="true"
|
label="功能"
|
>
|
<template slot-scope="scope">
|
<el-button
|
type="danger"
|
size="mini"
|
@click.native.prevent.stop="deletedowfile(scope.row)"
|
>删除</el-button
|
>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
|
<div v-if="previewpdf && pdfimgsrcList.length" class="pdfimgmin">
|
<!-- <img :src="pdfimg" /> -->
|
<el-image
|
style="width: 95%; height: 90%"
|
:src="pdfimg"
|
:preview-src-list="pdfimgsrcList"
|
>
|
</el-image>
|
</div>
|
<div v-else class="pdfimgmins">{{ hintitle }}</div>
|
</div>
|
</el-dialog>
|
<!-- 批量抽屉 -->
|
<el-drawer title="器官捐献相关附件" :visible.sync="drawer" direction="rtl">
|
<div style="padding:20px">
|
<el-button @click="clearFilter">取消筛选</el-button>
|
<el-table ref="filterTable" :data="tableDatafile" style="width: 100%">
|
<el-table-column prop="name" label="文件名" width="250">
|
</el-table-column>
|
<el-table-column
|
prop="tag"
|
label="类型"
|
:filters="[
|
{ text: '中国一类(DBD)', value: '中国一类(DBD)' },
|
{ text: '中国二类(DCD)', value: '中国二类(DCD)' },
|
{ text: '中国三类(DBCD)', value: '中国三类(DBCD)' }
|
]"
|
:filter-method="filterTag"
|
filter-placement="bottom-end"
|
>
|
<template slot-scope="scope">
|
<el-tag :type="scope.row.type" disable-transitions>{{
|
scope.row.tag
|
}}</el-tag>
|
</template>
|
</el-table-column>
|
</el-table>
|
</div>
|
|
<div style="margin-left: 20px;">
|
<el-button @click="drawer = false">取 消</el-button>
|
</div>
|
</el-drawer>
|
</div>
|
</template>
|
|
<script>
|
import {
|
listDonateannex,
|
Modifydonationattachment
|
} from "@/api/project/donateannex";
|
import { listReportname } from "@/api/project/organization";
|
|
import {
|
getDonatebaseinfo,
|
addDonatebaseinfo,
|
updateDonatebaseinfo,
|
getDonatebaseinfoflow,
|
fileCase,
|
getDonationNumber
|
} from "@/api/project/donatebaseinfo";
|
import {
|
listMedicalevaluation,
|
addMedicalevaluation,
|
updateMedicalevaluation
|
} from "@/api/project/medicalevaluation";
|
import {
|
listRelativesconfirmation,
|
getRelativesconfirmation,
|
addRelativesconfirmation,
|
updateRelativesconfirmation
|
} from "@/api/project/relativesconfirmation";
|
import {
|
listEthicalreviewopinions,
|
getEthicalreviewopinions,
|
addEthicalreviewopinions,
|
updateEthicalreviewopinions,
|
listnewEthicalreviewopinions
|
} from "@/api/project/ethicalreviewopinions";
|
import {
|
addDonateflowchart,
|
listDonateflowchart,
|
updateDonateflowchart
|
} from "@/api/project/DonationEvaluation";
|
import {
|
listDonateorgan,
|
addDonateorgan,
|
delDonateorgan,
|
updateDonateorgan,
|
saveDonateorgan
|
} from "@/api/project/donateorgan";
|
import {
|
listOrganallocation,
|
addOrganallocation,
|
updateOrganallocation
|
} from "@/api/project/organallocation";
|
import {
|
addDonationwitness,
|
updateDonationwitness,
|
getDonationwitness,
|
getByInfoId,
|
listDonationwitnessorgan,
|
saveDonationwitnessorgan,
|
delDonationwitnessorgan
|
} from "@/api/project/donationwitness";
|
import {
|
listnewDonatecompletioninfo,
|
listDonatecompletioninfo,
|
addDonatecompletioninfo,
|
updateDonatecompletioninfo,
|
listDonatecomporgan,
|
saveDonatecomporgan,
|
delDonatecomporgan
|
} from "@/api/project/donatecompletioninfo";
|
import {
|
listDonorchargeorgan,
|
updateDonorchargeorgan,
|
addDonorchargeorgan,
|
saveDonorchargeorgan,
|
delDonorchargeorgan
|
} from "@/api/project/donorcharge";
|
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 { formatDate } from "@/utils/index";
|
import { forEach } from "lodash";
|
|
export default {
|
name: "donationdetails",
|
components: {
|
Li_area_select,
|
OrgSelecter,
|
AnnexUpload,
|
ReportName
|
},
|
|
data() {
|
return {
|
infoid: 736,
|
drawer: false,
|
form: {},
|
istb: false,
|
activeName: "",
|
tableDatafile: [
|
{
|
name: "王小虎",
|
address: "上海市普陀区金沙江路 1518 弄",
|
tag: "中国一类(DBD)",
|
type: "success"
|
}
|
],
|
dataList: [],
|
medicineform: {
|
infoid: null
|
},
|
affirmform: {
|
infoid: null,
|
organdecision: [],
|
kinship: []
|
},
|
organdecision: [],
|
kinship: [],
|
ethicform: {
|
infoid: null
|
},
|
|
kinshiplist: ["配偶", "父亲", "母亲", "子女", "受托人"],
|
organselection: [
|
"肝脏",
|
"双肾脏",
|
"心脏",
|
"肺脏",
|
"胰腺",
|
"小肠",
|
"双眼组织",
|
"遗体",
|
"其他"
|
],
|
|
//选择器官表单
|
organList: {
|
//分配列表
|
organallocated: [],
|
//获取列表
|
organprocured: [],
|
//完成列表
|
organtransplant: []
|
},
|
//器官状态
|
allocationstatuslist: [
|
{ value: 1, label: "已分配" },
|
{ value: 2, label: "重分配" }
|
],
|
organstatelist: [
|
{ value: "1", label: "已获取" },
|
{ value: "2", label: "回纳" }
|
],
|
transplantstatelist: [
|
{ value: 1, label: "已移植" },
|
{ value: 2, label: "库存" },
|
{ value: 3, label: "弃用" }
|
],
|
//器官数据
|
allocateddata: [],
|
allocateddataform: {},
|
procureddata: [],
|
transplantdata: [],
|
sysOrganlistL: [
|
{ label: "心脏", value: "C38" },
|
{ label: "肝脏", value: "C22" },
|
{ label: "左肾", value: "C64L" },
|
{ label: "右肾", value: "C64R" },
|
{ label: "全肺", value: "C34" },
|
{ label: "左肺", value: "C34L" },
|
{ label: "右肺", value: "C34R" },
|
{ label: "小肠", value: "C17" },
|
{ label: "胰腺", value: "C25" },
|
{ label: "遗体", value: "C00" },
|
{ label: "左眼角膜", value: "C69L" },
|
{ label: "右眼角膜", value: "C69R" },
|
{ label: "其他", value: "C01" }
|
],
|
witnessform: {
|
infoid: null
|
},
|
accomplishform: {
|
infoid: null
|
},
|
tableData: [],
|
coordinatorlist1: [],
|
leaderlist: [],
|
actives: 0, //进程
|
workflow: 0,
|
loading: false,
|
// 保存、终止按钮确认
|
showSaveBtn: true,
|
showTerminationBtn: 0, //终止状态 0-未终止 1-已终止
|
// 流程数据:donatebaseinfo[createtime,updatetime]、medicalevaluation、relativesconfirmation、donateflowcharts、donateorgansService、donationwitness、donatecompletioninfo
|
Processdata: {},
|
donatebaseinfo: {},
|
medicalevaluation: {},
|
relativesconfirmation: {},
|
donateflowcharts: {},
|
donateorgansService: {},
|
donationwitness: {},
|
donatecompletioninfo: {},
|
//省市区默认值设置,可为空
|
searchAddress: {
|
sheng: "",
|
shi: "",
|
qu: "",
|
organizationname: null
|
},
|
residenceAddresss: {
|
sheng: "浙江省",
|
shi: "",
|
qu: ""
|
},
|
defultAddresss: {
|
sheng: "浙江省",
|
shi: "",
|
qu: ""
|
},
|
registerAddresss: {
|
sheng: "浙江省",
|
shi: "",
|
qu: ""
|
},
|
// 顶部数据校验
|
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" }
|
],
|
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"
|
}
|
],
|
acquisitiontissueno: [
|
{ required: true, message: "器官获取组织不能为空", trigger: "blur" }
|
],
|
reporterno: [
|
{ required: true, message: "请选择报告人", trigger: "blur" }
|
],
|
reporttime: [
|
{ required: true, message: "请输入报告时间", trigger: "blur" }
|
],
|
reporterphone: [
|
{ required: true, message: "请输入报告人联系电话", trigger: "blur" }
|
]
|
},
|
// 各级明细效验
|
medicinerules: {},
|
affirmrules: {
|
name: [
|
{ required: true, message: "亲属姓名不能为空", trigger: "blur" }
|
],
|
phone: [
|
{ required: true, message: "家属联系电话不为空", trigger: "blur" }
|
],
|
signfamilyrelations: [
|
{ required: true, message: "与捐献者关系", trigger: "blur" }
|
],
|
idcardno: [
|
{ required: true, message: "证件号不能为空", trigger: "blur" }
|
],
|
organdecision: [
|
{ required: true, message: "捐献决定不能为空", trigger: "blur" }
|
],
|
responsibleuserid: [
|
{ required: true, message: "负责人不能为空", trigger: "blur" }
|
],
|
coordinateduserido: [
|
{ required: true, message: "协调员1不能为空", trigger: "blur" }
|
],
|
coordinateduseridt: [
|
{ required: true, message: "协调员2不能为空", trigger: "blur" }
|
]
|
},
|
ethicrules: {},
|
allocationrules: {},
|
witnessrules: {},
|
accomplishrules: {},
|
//报告人列表
|
reporters: [],
|
//附件列表
|
annextype: "1", //附件type
|
annexfilesList: [], //附件展示列
|
potentiallist: [], //潜在附件
|
medicinelist: [], //医学附件
|
affirmlist: [], //确认附件
|
ethiclist: [], //伦理附件
|
registerlist: [], //完成附件
|
fileList: [],
|
fileListto: [],
|
donatelist: [], //总
|
activetele: "潜在捐献",
|
//上传附件路径
|
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload",
|
//文件上传token
|
headers: {
|
Authorization: "Bearer " + getToken()
|
},
|
ICDtoken: getToken(),
|
// 网络请求头
|
Networkheader: null,
|
//票据文件
|
pdftitle: "",
|
pdfimg: "",
|
pdfimgsrcList: [],
|
pdfVisible: false,
|
previewpdf: false,
|
hintitle: "请上传文件后查看",
|
atpresent: ""
|
};
|
},
|
|
created() {
|
this.Getnetworkheader();
|
this.infoid = this.$route.query.id;
|
},
|
mounted() {
|
// this.id = this.$route.query.id;
|
this.Getbasicinformation();
|
this.listDonateannex();
|
//获取报告人列表:专职人员
|
listReportname("zzry").then(res => {
|
this.reporters = res.data;
|
});
|
//获取协调员列
|
listReportname("xty1").then(res => {
|
this.coordinatorlist1 = res.data;
|
});
|
//获取负责人列
|
listReportname("fzr").then(res => {
|
this.leaderlist = res.data;
|
});
|
},
|
|
methods: {
|
// 获取主表及附属数据
|
Getbasicinformation() {
|
// 左侧流程数据
|
getDonatebaseinfoflow(this.infoid).then(res => {
|
if (res.code == 200) {
|
this.Processdata = res.data;
|
this.donatebaseinfo = this.Processdata.donatebaseinfo;
|
this.medicalevaluation = this.Processdata.medicalevaluation;
|
this.relativesconfirmation = this.Processdata.relativesconfirmation;
|
this.donateflowcharts = this.Processdata.donateflowcharts;
|
this.donateorgansService = this.Processdata.donateorgansService;
|
this.donationwitness = this.Processdata.donationwitness;
|
this.donatecompletioninfo = this.Processdata.donatecompletioninfo;
|
} else {
|
this.$message.error("侧边栏信息获取失败");
|
}
|
});
|
|
// 表单数据
|
getDonatebaseinfo(this.infoid).then(response => {
|
this.form = response.data;
|
if (response.data.terminationCase) {
|
this.showTerminationBtn = response.data.terminationCase;
|
} else {
|
this.showTerminationBtn = 0;
|
}
|
this.actives = response.data.workflow;
|
this.workflow = response.data.workflow;
|
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;
|
// 获取二级表
|
this.GetAttacheddata();
|
});
|
},
|
// 获取二级表数据
|
GetAttacheddata() {
|
let searchParam = {
|
infoid: this.infoid
|
};
|
console.log(this.procureddata, "procureddata");
|
if (this.actives == 1) {
|
this.activetele = "医学评估";
|
|
listMedicalevaluation(searchParam).then(response => {
|
if (response.code == 200 && response.rows[0]) {
|
this.medicineform = response.rows[0];
|
} else {
|
// this.$modal.msgError(
|
// "获取医学评估记录失败:" + JSON.stringify(response)
|
// );
|
}
|
});
|
} else if (this.actives == 2) {
|
this.activetele = "捐献确认";
|
|
listRelativesconfirmation(searchParam).then(response => {
|
if (response.code == 200 && response.rows[0]) {
|
this.affirmform = response.rows[0];
|
if (this.affirmform.organdecision) {
|
this.organdecision = this.affirmform.organdecision.split(",");
|
}
|
if (this.affirmform.kinship) {
|
this.kinship = this.affirmform.kinship.split(",");
|
}
|
if (!this.affirmform) {
|
this.affirmform = {};
|
this.affirmform.residenceprovincename = "";
|
this.affirmform.residencecityname = "";
|
this.affirmform.residencetownname = "";
|
}
|
this.defultAddresss.sheng = this.affirmform.residenceprovincename;
|
this.defultAddresss.shi = this.affirmform.residencecityname;
|
this.defultAddresss.qu = this.affirmform.residencetownname;
|
} else {
|
// this.$modal.msgError(
|
// "查询是否存在确认登记记录失败" + JSON.stringify(response)
|
// );
|
}
|
});
|
} else if (this.actives == 3) {
|
this.activetele = "伦理审查";
|
|
//listDonateflowchart(searchParam).then(response => {
|
listEthicalreviewopinions(searchParam).then(response => {
|
if (response.code == 200 && response.rows.length) {
|
this.ethicform = response.rows[0];
|
} else {
|
console.log("伦理审查数据为空");
|
}
|
});
|
} else if (this.actives == 4) {
|
listDonateorgan(searchParam).then(res => {
|
if (res.code == 200) {
|
if (res.rows[0]) {
|
this.allocateddata = res.rows;
|
console.log("this.allocateddata", this.allocateddata);
|
this.allocateddataform.allocateddata = this.allocateddata;
|
}
|
this.organList.organallocated = [];
|
for (let i = 0; i < res.rows.length; i++) {
|
this.organList.organallocated.push(this.allocateddata[i].organno);
|
}
|
} else {
|
// this.$modal.msgError(
|
// "获取器官分配信息失败:" + JSON.stringify(res)
|
// );
|
}
|
});
|
} else if (this.actives == 5) {
|
// 不存在时获取器官信息
|
if (this.procureddata[0] && !this.istb) {
|
return;
|
}
|
|
listDonationwitnessorgan(searchParam).then(res => {
|
if (res.code == 200) {
|
if (res.rows[0]) {
|
this.procureddata = res.rows;
|
// this.procureddata.infoid = this.infoid;
|
} else {
|
this.procureddata = this.allocateddata.filter(
|
obj =>
|
obj.organname !== "左半肝" &&
|
obj.organname !== "右半肝" &&
|
obj.organname !== "左外叶" &&
|
obj.organname !== "右三叶" &&
|
obj.organname !== "左肝" &&
|
obj.organname !== "右肝"
|
);
|
this.procureddata = this.procureddata.map(obj => {
|
obj.id = null;
|
return obj;
|
});
|
// this.procureddata.infoid = this.infoid;
|
}
|
this.organList.organprocured = [];
|
for (let i = 0; i < this.procureddata.length; i++) {
|
this.organList.organprocured.push(this.procureddata[i].organno);
|
}
|
} else {
|
// this.$modal.msgError(
|
// "器官列表获取失败:" + JSON.stringify(resall)
|
// );
|
}
|
});
|
|
// 获取当前见证信息
|
getByInfoId(searchParam.infoid).then(response => {
|
if (response.code == 200) {
|
if (response.data) {
|
this.witnessform = response.data;
|
this.witnessform.infoid = this.infoid;
|
this.istb = false;
|
}
|
} else {
|
// this.$modal.msgError(
|
// "获取见证信息拿取失败:" + JSON.stringify(response)
|
// );
|
}
|
});
|
} else if (this.actives == 6) {
|
this.activetele = "完成登记";
|
if (this.transplantdata[0] && !this.istb) {
|
return;
|
}
|
|
listDonatecomporgan(searchParam).then(res => {
|
if (res.code == 200) {
|
if (res.rows[0]) {
|
this.transplantdata = res.rows;
|
// this.transplantdata.infoid = this.infoid;
|
} else {
|
this.transplantdata = this.allocateddata;
|
this.transplantdata = this.transplantdata.map(obj => {
|
obj.id = null;
|
if (
|
obj.organname == "左眼角膜" ||
|
obj.organname == "右眼角膜"
|
) {
|
obj.transplantstate = 2;
|
}
|
return obj;
|
});
|
|
this.transplantdata.infoid = this.infoid;
|
}
|
for (let i = 0; i < this.transplantdata.length; i++) {
|
this.organList.organtransplant.push(
|
this.transplantdata[i].organno
|
);
|
}
|
} else {
|
// this.$modal.msgError(
|
// "器官列表获取失败:" + JSON.stringify(resall)
|
// );
|
}
|
});
|
|
// 获取完成登记信息
|
listDonatecompletioninfo(searchParam).then(response => {
|
if (response.code == 200 && response.rows.length) {
|
this.accomplishform = response.rows[0];
|
this.accomplishform.infoid = this.infoid;
|
} else {
|
// this.$modal.msgError("完成登记失败:" + JSON.stringify(response));
|
}
|
});
|
} else if (this.actives == 0) {
|
this.activetele = "潜在捐献";
|
}
|
if (!this.allocateddata[0]) {
|
listDonateorgan(searchParam).then(res => {
|
if (res.code == 200) {
|
if (res.rows[0]) {
|
this.allocateddata = res.rows;
|
console.log("this.allocateddata", this.allocateddata);
|
this.allocateddataform.allocateddata = this.allocateddata;
|
}
|
this.organList.organallocated = [];
|
for (let i = 0; i < res.rows.length; i++) {
|
this.organList.organallocated.push(this.allocateddata[i].organno);
|
}
|
} else {
|
}
|
});
|
}
|
},
|
/** 保存主表按钮 */
|
|
submitForm() {
|
this.$refs["form"].validate(valid => {
|
console.log("提交的数据们:", this.form);
|
if (valid) {
|
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;
|
|
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;
|
}
|
|
//案例时间更新成获取时间
|
if (this.actives == 5) {
|
this.$refs["witnessform"].validate(valid1 => {
|
this.$refs["form"].validate(valid2 => {
|
this.form.donatetime = this.witnessform.operationbegtime;
|
});
|
});
|
}
|
|
if (this.form.id != null) {
|
if (this.form.workflow == 0) {
|
this.form.workflow = 1;
|
}
|
updateDonatebaseinfo(this.form).then(response => {
|
this.$modal.msgSuccess("保存成功");
|
Modifydonationattachment(this.donatelist).then(res => {
|
this.listDonateannex();
|
});
|
this.Getbasicinformation();
|
// this.Processvalidation();
|
this.open = false;
|
});
|
} else {
|
this.form.workflow = 0;
|
addDonatebaseinfo(this.form).then(response => {
|
if (response.code == 200) {
|
this.$modal.msgSuccess("新增成功");
|
Modifydonationattachment(this.donatelist).then(res => {
|
this.listDonateannex();
|
});
|
this.Getbasicinformation();
|
// this.Processvalidation();
|
this.open = false;
|
} else {
|
this.$modal.msgError("新增失败:" + response.msg);
|
}
|
});
|
}
|
}
|
});
|
},
|
// 保存二级表按钮
|
Savethedetails() {
|
console.log(this.actives);
|
if (this.actives == 1) {
|
this.medicineform.infoid = this.infoid;
|
this.$refs["medicineform"].validate(valid => {
|
if (valid) {
|
this.$modal.loading("正在提交,请稍候!");
|
if (this.medicineform.id != null) {
|
updateMedicalevaluation(this.medicineform).then(response => {
|
this.$modal.msgSuccess("医学评估信息修改成功");
|
this.$modal.closeLoading();
|
});
|
} else {
|
addMedicalevaluation(this.medicineform).then(response => {
|
this.$modal.msgSuccess("医学评估信息新增成功");
|
this.$modal.closeLoading();
|
});
|
}
|
this.Processvalidation();
|
}
|
});
|
} else if (this.actives == 2) {
|
this.affirmform.infoid = this.infoid;
|
this.affirmform.organdecision = this.organdecision.join(",");
|
this.affirmform.kinship = this.kinship.join(",");
|
this.$refs["affirmform"].validate(valid => {
|
if (valid) {
|
this.$modal.loading("正在提交,请稍候!");
|
if (this.affirmform.id != null) {
|
this.affirmform.residenceprovincename = this.defultAddresss.sheng;
|
this.affirmform.residencecityname = this.defultAddresss.shi;
|
this.affirmform.residencetownname = this.defultAddresss.qu;
|
updateRelativesconfirmation(this.affirmform).then(response => {
|
this.$modal.msgSuccess("捐献确认信息修改成功");
|
this.$modal.closeLoading();
|
});
|
} else {
|
this.affirmform.residenceprovincename = this.defultAddresss.sheng;
|
this.affirmform.residencecityname = this.defultAddresss.shi;
|
this.affirmform.residencetownname = this.defultAddresss.qu;
|
addRelativesconfirmation(this.affirmform).then(response => {
|
this.$modal.msgSuccess("捐献确认信息新增成功");
|
this.$modal.closeLoading();
|
});
|
}
|
this.Processvalidation();
|
}
|
});
|
} else if (this.actives == 3) {
|
this.ethicform.infoid = this.infoid;
|
this.$refs["ethicform"].validate(valid => {
|
if (valid) {
|
this.$modal.loading("正在提交,请稍候!");
|
if (this.ethicform.id != null) {
|
// updateDonateflowchart(this.ethicform).then(response => {
|
updateEthicalreviewopinions(this.ethicform).then(res => {
|
this.$modal.msgSuccess("伦理审查信息修改成功");
|
this.$modal.closeLoading();
|
});
|
} else {
|
//addDonateflowchart(this.ethicform).then(response => {
|
addEthicalreviewopinions(this.ethicform).then(res => {
|
this.$modal.msgSuccess("伦理审查信息新增成功");
|
this.$modal.closeLoading();
|
});
|
}
|
this.Processvalidation();
|
}
|
});
|
} else if (this.actives == 4) {
|
// this.procureddata.infoid = this.infoid;
|
this.$refs["allocateddataform"].validate(valid => {
|
this.$modal.loading("正在提交,请稍候!");
|
|
this.allocateddata.map(item => {
|
item.applicanttime = formatDate(item.applicanttime);
|
});
|
this.allocateddata.forEach(item => {
|
const objs = this.dataList.find(
|
obj => obj.organizationid == item.transplanthospitalno
|
);
|
if (objs) {
|
item.transplanthospitalname = objs.organizationname;
|
}
|
});
|
saveDonateorgan(this.allocateddata).then(res => {
|
if (res.code == 200) {
|
this.$modal.msgSuccess("器官捐献分配信息保存成功!");
|
this.$modal.closeLoading();
|
}
|
});
|
this.Processvalidation();
|
});
|
} else if (this.actives == 5) {
|
this.witnessform.infoid = this.infoid;
|
this.$refs["witnessform"].validate(valid => {
|
let coordinatedusernameIndex = this.coordinatorlist1.findIndex(
|
item => this.witnessform.coordinateduserido == item.reportNo
|
);
|
if (coordinatedusernameIndex > -1) {
|
this.witnessform.coordinatedusernameo = this.coordinatorlist1[
|
coordinatedusernameIndex
|
].reportName;
|
}
|
|
//协调员2
|
let coordinatedusernametIndex = this.coordinatorlist1.findIndex(
|
item => this.witnessform.coordinateduseridt == item.reportNo
|
);
|
if (coordinatedusernametIndex > -1) {
|
this.witnessform.coordinatedusernamet = this.coordinatorlist1[
|
coordinatedusernametIndex
|
].reportName;
|
}
|
|
if (valid) {
|
this.$modal.loading("正在提交,请稍候!");
|
|
if (this.witnessform.id != null) {
|
updateDonationwitness(this.witnessform).then(response => {
|
this.$modal.msgSuccess("获取见证信息修改成功");
|
this.form.donationcategory = this.witnessform.donationcategory;
|
this.Processvalidation();
|
|
this.procureddata.forEach(item => {
|
const objs = this.dataList.find(
|
obj => obj.organizationid == item.gainhospitalno
|
);
|
if (objs) {
|
item.gainhospitalname = objs.organizationname;
|
}
|
});
|
//保存器官获取表数据
|
saveDonationwitnessorgan(this.procureddata).then(res => {
|
if (res == 200) {
|
this.$modal.msgSuccess("捐献器官获取信息保存成功!");
|
}
|
this.$modal.closeLoading();
|
});
|
});
|
} else {
|
addDonationwitness(this.witnessform).then(response => {
|
if (response.code === 200) {
|
this.$modal.msgSuccess("获取见证信息新增成功");
|
this.form.donationcategory = this.witnessform.donationcategory;
|
let data = JSON.parse(JSON.stringify(this.form));
|
data.diseasetype = "";
|
data.infectious = data.infectious.join(",");
|
data.selfwill = data.selfwill.join(",");
|
data.othercases = data.othercases.join(",");
|
data.infosources = data.infosources.join(",");
|
data.kinship = data.kinship.join(",");
|
data.patientstate = data.patientstate.join(",");
|
// 获取捐献编号
|
getDonationNumber(data).then(res => {
|
this.form.donorno = res.msg;
|
this.istb = true;
|
this.Processvalidation();
|
});
|
//保存器官获取表数据
|
saveDonationwitnessorgan(this.procureddata).then(res => {
|
if (res == 200) {
|
this.$modal.msgSuccess("捐献器官获取信息保存成功!");
|
}
|
this.$modal.closeLoading();
|
});
|
} else {
|
this.$modal.msgError("获取见证信息新增失败");
|
this.$modal.closeLoading();
|
}
|
});
|
}
|
}
|
});
|
} else if (this.actives == 6) {
|
this.accomplishform.infoid = this.infoid;
|
this.$refs["accomplishform"].validate(valid => {
|
if (valid) {
|
this.$modal.loading("正在提交,请稍候!");
|
|
this.transplantdata.forEach(item => {
|
item.donorname = this.form.name;
|
});
|
this.transplantdata.forEach(item => {
|
const objs = this.dataList.find(
|
obj => obj.organizationid == item.hospitalno
|
);
|
if (objs) {
|
item.hospitalname = objs.organizationname;
|
}
|
});
|
// 保存确认信息
|
if (this.accomplishform.id) {
|
updateDonatecompletioninfo(this.accomplishform).then(response => {
|
this.$modal.msgSuccess("完成登记信息修改成功");
|
saveDonatecomporgan(this.transplantdata).then(res => {
|
if (res == 200) {
|
this.$modal.msgSuccess("捐献器官登记信息保存成功!");
|
} else {
|
this.$modal.msgSuccess(res.msg);
|
}
|
this.$modal.closeLoading();
|
});
|
});
|
} else {
|
addDonatecompletioninfo(this.accomplishform).then(response => {
|
this.$modal.msgSuccess("完成登记成功");
|
saveDonatecomporgan(this.transplantdata).then(res => {
|
if (res.code == 200) {
|
this.$modal.msgSuccess("捐献器官登记信息保存成功!");
|
} else {
|
this.$modal.msgError(res.msg);
|
}
|
this.$modal.closeLoading();
|
});
|
this.istb = true;
|
// this.$modal
|
// .confirm("案例已完成是否跳转案例费用页面进行费用单保存?")
|
// .then(() => {
|
// this.$router.push({
|
// path: "/finance/donorchargedetail/",
|
// query: { gxinzt: true, operation: "add", data: this.form, }
|
// });
|
// })
|
// .catch(() => {});
|
});
|
}
|
|
this.Processvalidation();
|
}
|
});
|
}
|
},
|
// 切换tab
|
on_click(e) {
|
// if (e != "" || e != null) {
|
|
let asdx = this.form.workflow + 1;
|
if (asdx >= e) {
|
this.actives = e;
|
this.GetAttacheddata();
|
} else {
|
this.$modal.msgWarning("请先完成前部步骤");
|
}
|
// }
|
},
|
// 器官分配栏目控制
|
changeorganState(value) {
|
let selectedIndex = this.organList.organallocated.findIndex(
|
item => item == value
|
);
|
let organIndex = this.allocateddata.findIndex(
|
item => item.organno == value
|
);
|
console.log(
|
"selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
|
);
|
if (selectedIndex == -1) {
|
//取消选择
|
if (organIndex != -1) {
|
if (this.allocateddata[organIndex].id > 0) {
|
this.$confirm(
|
"删除器官分配数据后将不法恢复,您确认删除该条记录吗?",
|
"提示",
|
{
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
}
|
)
|
.then(() => {
|
this.loading = true;
|
delDonateorgan(this.allocateddata[organIndex].id).then(res => {
|
this.allocateddata.splice(organIndex, 1);
|
this.loading = false;
|
this.$modal.msgSuccess(
|
"删除成功,如果需要增加该器官,请重新选择器官!"
|
);
|
});
|
})
|
.catch(() => {
|
this.organList.organallocated.push(value);
|
});
|
} else {
|
//新记录直接删除
|
this.allocateddata.splice(organIndex, 1);
|
}
|
}
|
} else {
|
//选择新器官
|
if (organIndex == -1) {
|
//添加器官记录
|
let temporganname = "";
|
for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
|
if (value == this.dict.type.sys_Organ[i].value) {
|
temporganname = this.dict.type.sys_Organ[i].label;
|
break;
|
}
|
}
|
if (temporganname != "") {
|
this.allocateddata.push({
|
organname: temporganname,
|
organno: value,
|
id: null,
|
infoid: this.infoid,
|
donorno: this.form.donorno,
|
organstate: 1
|
});
|
}
|
} else {
|
this.$modal.msgWarning("该器官已经分配,请勿重复选择!");
|
}
|
}
|
},
|
// 器官获取选择控制
|
changeorganprocured(value) {
|
let selectedIndex = this.organList.organprocured.findIndex(
|
item => item == value
|
);
|
let organIndex = this.procureddata.findIndex(
|
item => item.organno == value
|
);
|
console.log(
|
"selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
|
);
|
if (selectedIndex == -1) {
|
//取消选择
|
if (organIndex != -1) {
|
if (this.procureddata[organIndex].id > 0) {
|
this.$confirm(
|
"删除器官分配数据后将不法恢复,您确认删除该条记录吗?",
|
"提示",
|
{
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
}
|
)
|
.then(() => {
|
this.loading = true;
|
delDonationwitnessorgan(this.procureddata[organIndex].id).then(
|
res => {
|
this.procureddata.splice(organIndex, 1);
|
this.loading = false;
|
this.$modal.msgSuccess(
|
"删除成功,如果需要增加该器官,请重新选择器官!"
|
);
|
}
|
);
|
})
|
.catch(() => {
|
this.organList.organprocured.push(value);
|
});
|
} else {
|
//新记录直接删除
|
this.procureddata.splice(organIndex, 1);
|
}
|
}
|
} else {
|
//选择新器官
|
if (organIndex == -1) {
|
//添加器官记录
|
let temporganname = "";
|
for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
|
if (value == this.dict.type.sys_Organ[i].value) {
|
temporganname = this.dict.type.sys_Organ[i].label;
|
break;
|
}
|
}
|
if (temporganname != "") {
|
this.procureddata.push({
|
organname: temporganname,
|
organno: value,
|
id: null,
|
infoid: this.infoid,
|
donorno: this.form.donorno,
|
organstate: "1"
|
});
|
}
|
} else {
|
this.$modal.msgWarning("该器官已经分配,请勿重复选择!");
|
}
|
}
|
},
|
// 器官移植选择控制
|
changeorgantransplant(value) {
|
let selectedIndex = this.organList.organtransplant.findIndex(
|
item => item == value
|
);
|
let organIndex = this.transplantdata.findIndex(
|
item => item.organno == value
|
);
|
console.log(
|
"selectedIndex:" + selectedIndex + ",organIndex:" + organIndex
|
);
|
if (selectedIndex == -1) {
|
//取消选择
|
if (organIndex != -1) {
|
if (this.transplantdata[organIndex].id > 0) {
|
this.$confirm(
|
"删除器官数据后将无法恢复,您确认删除该条记录吗?",
|
"提示",
|
{
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
}
|
)
|
.then(() => {
|
this.loading = true;
|
delDonatecomporgan(this.transplantdata[organIndex].id).then(
|
res => {
|
this.transplantdata.splice(organIndex, 1);
|
this.loading = false;
|
this.$modal.msgSuccess(
|
"删除成功,如果需要增加该器官,请重新选择器官!"
|
);
|
listDonorchargeorgan({
|
infoid: this.transplantdata[organIndex].infoid,
|
organno: this.transplantdata[organIndex].organno
|
}).then(res => {
|
delDonorchargeorgan(res.rows[0].id);
|
});
|
}
|
);
|
})
|
.catch(() => {
|
this.organList.organtransplant.push(value);
|
});
|
} else {
|
//新记录直接删除
|
this.transplantdata.splice(organIndex, 1);
|
}
|
}
|
} else {
|
//选择新器官
|
if (organIndex == -1) {
|
//添加器官记录
|
let temporganname = "";
|
for (let i = 0; i < this.dict.type.sys_Organ.length; i++) {
|
if (value == this.dict.type.sys_Organ[i].value) {
|
temporganname = this.dict.type.sys_Organ[i].label;
|
break;
|
}
|
}
|
if (temporganname != "") {
|
this.transplantdata.push({
|
organname: temporganname,
|
organno: value,
|
id: null,
|
infoid: this.infoid,
|
donorno: this.form.donorno,
|
organstate: 1,
|
transplantstate: 1
|
});
|
}
|
} else {
|
this.$modal.msgWarning("该器官已经选择,请勿重复选择!");
|
}
|
}
|
},
|
|
// 前进步骤
|
makeastepforward() {
|
if (this.actives <= 6) {
|
this.actives++;
|
this.GetAttacheddata();
|
} else {
|
console.log("已到达最大值");
|
}
|
},
|
// 更改进程效验
|
Processvalidation() {
|
if (this.form.workflow + 1 == this.actives) {
|
if (this.form.workflow < 6) {
|
this.form.workflow++;
|
} else {
|
}
|
this.submitForm();
|
// this.GetAttacheddata();
|
} else if (this.form.workflow > this.actives) {
|
this.submitForm();
|
// Modifydonationattachment(this.donatelist).then(res => {});
|
// this.GetAttacheddata();
|
} else {
|
this.submitForm();
|
// this.$modal.msgWarning("请先完成前部步骤");
|
return;
|
}
|
},
|
// 提交归档
|
Reportforreview() {
|
if (this.form.workflow == 8) {
|
this.form.workflow = 7;
|
this.submitForm();
|
this.$router.go(-1);
|
this.$message({
|
type: "success",
|
message: "撤销成功!"
|
});
|
} else {
|
this.$confirm("即将进行案例归档, 确认所有数据已保存?", "提示", {
|
confirmButtonText: "确定",
|
cancelButtonText: "取消",
|
type: "warning"
|
})
|
.then(() => {
|
fileCase({ infoId: this.infoid }).then(res => {
|
if (res.code == 500) {
|
this.$message.error(res.msg);
|
} else {
|
this.form.workflow = 8;
|
this.submitForm();
|
this.$message({
|
type: "success",
|
message: "归档成功!"
|
});
|
this.$router.go(-1);
|
}
|
});
|
})
|
.catch(() => {
|
this.$message({
|
type: "info",
|
message: "已取消归档"
|
});
|
});
|
}
|
},
|
// 终止案例
|
Terminationcase() {
|
this.form.terminationCase == 1
|
? (this.form.terminationCase = 0)
|
: (this.form.terminationCase = 1);
|
this.submitForm();
|
},
|
// 返回上一页
|
cancel() {},
|
// ----------------------------------文件
|
// 点击分类
|
selecttab(row) {
|
console.log(row.label);
|
this.annextype = row.name;
|
|
this.Filepopup();
|
},
|
// 获取请求头
|
Getnetworkheader() {
|
let string = window.location.href;
|
if (string.includes("9091")) {
|
const index = string.indexOf("9091");
|
this.Networkheader = string.slice(0, index + 4); // 截取9091及其前部字符
|
} else {
|
const index = string.indexOf("8032");
|
this.Networkheader = string.slice(0, index + 4); // 截取8032及其前部字符
|
}
|
},
|
|
// 获取附件数据并分类二级列
|
listDonateannex() {
|
let parmi = {};
|
parmi.infoid = this.infoid.toString();
|
listDonateannex(parmi).then(res => {
|
this.donatelist = res.rows;
|
});
|
},
|
// 附件修改数据转存封装
|
Newconversion(arr, delvalue, addvalue) {
|
// 删除时修改主列delFlag
|
const index = this.donatelist.indexOf(delvalue);
|
if (index != -1) {
|
if (delvalue.id) {
|
this.donatelist[index].delFlag = 1;
|
console.log("修改老数据后", this.donatelist);
|
} else {
|
this.donatelist.splice(index, 1);
|
console.log("删除新数据后", this.donatelist);
|
}
|
} else {
|
console.log("查询不到可能是新数据无id");
|
}
|
// 新增时修改主列
|
if (addvalue.annexurl) {
|
this.donatelist.push(addvalue);
|
console.log("新增后", this.donatelist);
|
}
|
this.pdftitle = "共" + this.donatelist.length + "项";
|
},
|
//文件上传
|
handleUploadError() {},
|
remove(file, fileList) {
|
this.fileListto.splice(this.fileListto.indexOf(file), 1);
|
this.annexfilesList = this.fileListto;
|
},
|
// 上传成功
|
uploadSccess(response, file, fileList) {
|
this.rbDetails;
|
const config = {
|
headers: { Authorization: "Bearer " + this.ICDtoken }
|
};
|
const pdfimg = this.Networkheader + "/prod-api" + response.fileName;
|
console.log(this.Networkheader);
|
//获取票据信息位置
|
if (response.code == 200) {
|
this.previewpdf = true;
|
|
fetch(pdfimg, config)
|
.then(response => response.blob())
|
.then(blob => {
|
// 将获取的数据流转换为URL
|
this.pdfimg = URL.createObjectURL(blob);
|
this.pdfimgsrcList.push(URL.createObjectURL(blob));
|
let addvalue = {
|
annexname: file.name,
|
annexurl: URL.createObjectURL(blob),
|
delFlag: 0,
|
infoid: this.infoid,
|
annexfilestype: this.annextype
|
};
|
this.fileListto.push(addvalue);
|
})
|
.catch(error => {
|
console.error("Error loading image", error);
|
return;
|
});
|
|
this.$modal.msgSuccess(response.msg);
|
|
console.log(this.fileListto, "新增后");
|
if (!this.annexfilesList) {
|
this.annexfilesList = [];
|
}
|
let addvalues = {
|
annexname: file.name,
|
annexurl: response.fileName,
|
delFlag: 0,
|
infoid: this.infoid,
|
annexfilestype: this.annextype
|
};
|
this.annexfilesList.push(addvalues);
|
this.Newconversion(this.annexfilesList, "", addvalues);
|
} else {
|
console.log(response.msg);
|
}
|
},
|
// 文件弹窗触发
|
Filepopup() {
|
this.annexfilesList = this.donatelist.filter(
|
obj => obj.annexfilestype == this.annextype
|
);
|
|
const config = {
|
headers: { Authorization: "Bearer " + this.ICDtoken }
|
};
|
|
this.fileListto = [];
|
this.pdfimgsrcList = [];
|
this.pdfimg = "";
|
this.pdfVisible = true;
|
if (this.annexfilesList.length) {
|
this.annexfilesList.forEach((value, indexson) => {
|
const pdfimg = this.Networkheader + "/prod-api" + value.annexurl;
|
fetch(pdfimg, config)
|
.then(response => response.blob())
|
.then(blob => {
|
// 将获取的数据流转换为URL
|
this.fileListto.push({
|
annexname: value.annexname,
|
annexurl: URL.createObjectURL(blob),
|
delFlag: 0,
|
infoid: this.infoid,
|
annexfilestype: value.annexfilestype
|
});
|
if (this.fileListto.length == 1) {
|
this.pdfimg = URL.createObjectURL(blob);
|
}
|
this.pdfimgsrcList.push(URL.createObjectURL(blob));
|
})
|
.catch(error => {
|
console.error("Error loading image", error);
|
return;
|
});
|
});
|
this.previewpdf = true;
|
} else {
|
this.fileListto = [];
|
this.pdfimg = "";
|
this.pdftitle = "";
|
}
|
this.pdftitle = "共" + this.donatelist.length + "项";
|
},
|
// 点击已上传文件
|
downFile(item) {
|
console.log(item, "点击文件拿item");
|
this.pdftitle =
|
"共" + this.donatelist.length + "项,当前选中" + item.annexname;
|
let name = item.annexname.split(".");
|
if (name[1] == "pdf") {
|
this.$modal.msgWarning("当前文件暂不支持预览");
|
this.previewpdf = false;
|
this.hintitle = "当前文件暂不支持预览";
|
} else if (name[1] == "jpg" || "png") {
|
this.previewpdf = true;
|
if (item.annexurl) {
|
this.pdfimg = item.annexurl;
|
} else {
|
this.pdfimg = "";
|
}
|
} else {
|
this.hintitle = "当前文件暂不支持预览";
|
this.$modal.msgWarning("当前文件暂不支持预览");
|
this.previewpdf = false;
|
}
|
},
|
// 查询索引封装
|
getIndexInArray(arr, obj) {
|
return arr.indexOf(obj);
|
},
|
// 点击删除
|
deletedowfile(row) {
|
let indexvalue = "";
|
const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.annexurl);
|
this.pdfimgsrcList.splice(indexlist, 1);
|
const index = this.getIndexInArray(this.fileListto, row);
|
this.fileListto.splice(index, 1);
|
|
indexvalue = this.annexfilesList.find((item, index) => {
|
return item.annexname == row.annexname;
|
});
|
console.log(indexvalue, "删除索引");
|
this.annexfilesList.splice(indexvalue, 1);
|
this.Newconversion(this.annexfilesList, indexvalue, "");
|
},
|
|
clearFilter() {
|
this.$refs.filterTable.clearFilter();
|
},
|
formatter(row, column) {
|
return row.address;
|
},
|
filterTag(value, row) {
|
return row.tag === value;
|
},
|
|
//身份证校验赋值
|
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 {}
|
},
|
|
//重新分配器官
|
redistribution(row) {
|
console.log("redistribution", row);
|
row.reallocationreason =
|
"已重新分配,原分配信息(姓名:" +
|
row.name +
|
"、系统编号:" +
|
row.caseno +
|
"、接收时间:" +
|
row.applicanttime +
|
")";
|
row.name = null;
|
row.caseno = null;
|
row.applicanttime = null;
|
}
|
},
|
|
dicts: [
|
"sys_nation",
|
"sys_occupation",
|
"sys_education",
|
"sys_Organ",
|
"sys_user_sex",
|
"sys_IDType",
|
"sys_BloodType",
|
"sys_0_1",
|
"sys_patientstate",
|
"sys_DonationCategory",
|
"sys_kinship",
|
"sys_Infectious",
|
"sys_bloodtype_rhd",
|
"sys_InfoSources",
|
"sys_OtherCases",
|
"sys_DiseaseType",
|
"sys_SelfWill",
|
"sys_FamilyRelation",
|
"sys_OrganDecision",
|
"sys_CoreAssessConclusion",
|
"sys_BaseAssessConclusion",
|
"sys_EthicalReview",
|
"materials_DBD",
|
"sys_kinshipConfirm"
|
]
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.particularsdiv {
|
display: -webkit-box;
|
background-color: #f5f7fa;
|
height: 100%;
|
|
.left-course {
|
background: #fff;
|
width: 17vw;
|
text-align: center;
|
margin: 20px 10px;
|
padding: 10px;
|
margin-top: 0;
|
min-height: 888px;
|
|
.postfilx {
|
width: 15vw;
|
text-align: center;
|
margin: 20px 10px;
|
padding: 10px;
|
margin-top: 0;
|
// z-index: 999;
|
// position: -webkit-sticky;
|
// position: fixed;
|
// top: 50;
|
}
|
|
.title {
|
background: #22a2c3;
|
margin-bottom: 20px;
|
padding: 10px 0;
|
color: #fff;
|
}
|
}
|
}
|
|
.upload-demo {
|
text-align: center;
|
}
|
|
.pdfimg {
|
display: flex; // text-align: center;
|
width: 100%;
|
height: 600px;
|
|
.box-pdf {
|
width: 400px;
|
margin-right: 30px;
|
border: 1px solid #dcdfe6;
|
-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
|
0 0 6px 0 rgba(0, 0, 0, 0.04);
|
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); // <- Add this to fix.
|
}
|
|
.pdftit {
|
width: 200px;
|
padding: 20px;
|
font-size: 18px;
|
}
|
|
.pdftit:hover {
|
background: #c0cef7;
|
}
|
|
.pdfimgmin {
|
width: 60%;
|
|
img {
|
width: 100%;
|
}
|
}
|
|
.pdfimgmins {
|
font-size: 28px;
|
width: 60%;
|
text-align: center;
|
}
|
}
|
|
.Ticket-button {
|
margin-top: 10px;
|
text-align: right;
|
padding-right: 66px;
|
}
|
|
.boxdiv {
|
max-width: 85vw;
|
font-size: 18px;
|
padding: 0 30px;
|
padding-bottom: 10px;
|
margin-top: 10px;
|
|
.top-text {
|
text-align: center;
|
font-size: 23px;
|
font-weight: 600;
|
margin: 20px 0;
|
margin-bottom: 30px;
|
}
|
}
|
|
::v-deep .el-step__head.is-finish {
|
color: #22a2c3;
|
border-color: #22a2c3;
|
}
|
|
::v-deep .el-step__title.is-finish {
|
color: #22a2c3;
|
}
|
|
::v-deep .el-step__description.is-finish {
|
color: #22a2c3;
|
}
|
|
:v-deep .el-select {
|
display: inline-block;
|
position: relative;
|
width: 80%;
|
}
|
:v-deep .el-tabs__nav-scroll {
|
overflow: auto;
|
}
|
</style>
|