|
@@ -19,11 +19,11 @@
|
|
<!-- @rowDoubleClicked="getList"-->
|
|
<!-- @rowDoubleClicked="getList"-->
|
|
<div slot="toolbar" class="inner-toolbar">
|
|
<div slot="toolbar" class="inner-toolbar">
|
|
<div class="toolbar-search">
|
|
<div class="toolbar-search">
|
|
- <en-table-search placeholder="请输入搜索关键字" @search="handlerSearch"/>
|
|
|
|
|
|
+ <en-table-search :placeholder="this.$t('action.keywords')" @search="handlerSearch"/>
|
|
</div>
|
|
</div>
|
|
<div class="toolbar-btns">
|
|
<div class="toolbar-btns">
|
|
- <el-button type="primary" size="mini" :disabled="!isEmptyFrame" @click="handleAdd">入院登记</el-button>
|
|
|
|
- <el-button type="danger" size="mini" @click="batchDelete">批量删除</el-button>
|
|
|
|
|
|
+ <el-button type="primary" size="mini" :disabled="!isEmptyFrame" @click="handleAdd">{{ this.$t('customerManage.customerAdd') }}</el-button>
|
|
|
|
+ <el-button type="danger" size="mini" @click="batchDelete">{{ this.$t('action.deleteList') }}</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<el-pagination
|
|
<el-pagination
|
|
@@ -40,21 +40,21 @@
|
|
</ag-grid-layout>
|
|
</ag-grid-layout>
|
|
|
|
|
|
<!-- 用户信息 -->
|
|
<!-- 用户信息 -->
|
|
- <el-dialog :visible.sync="customerFormVisible" title="用户信息" class="customer-dialog">
|
|
|
|
|
|
+ <el-dialog :visible.sync="customerFormVisible" :title="this.$t('customerManage.customerInfo')" class="customer-dialog">
|
|
<el-tabs v-model="activeName" type="border-card" tab-position="bottom" width="50%" @tab-click="handleClick">
|
|
<el-tabs v-model="activeName" type="border-card" tab-position="bottom" width="50%" @tab-click="handleClick">
|
|
- <el-tab-pane label="基本信息" name="customerBaseInfo">
|
|
|
|
|
|
+ <el-tab-pane :label="this.$t('customerManage.baseInfo')" name="customerBaseInfo">
|
|
<div style="height: 720px">
|
|
<div style="height: 720px">
|
|
<el-form ref="editForm" :model="formmodel" :rules="rules" label-width="120px">
|
|
<el-form ref="editForm" :model="formmodel" :rules="rules" label-width="120px">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="用户姓名" prop="named">
|
|
|
|
- <el-input v-model="formmodel.named" clearable placeholder="请输入姓名"
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.named')" prop="named">
|
|
|
|
+ <el-input v-model="formmodel.named" clearable :placeholder="this.$t('customerManage.inputNamed')"
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="入住编号">
|
|
|
|
- <el-input v-model="formmodel.card_no" clearable placeholder="请输入病人编号"
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.cardNo')">
|
|
|
|
+ <el-input v-model="formmodel.card_no" clearable :placeholder="this.$t('customerManage.inputCardNo')"
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -62,20 +62,20 @@
|
|
|
|
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="性别" class="form-item-sex">
|
|
|
|
- <el-radio v-model="formmodel.sex" :label="0">女</el-radio>
|
|
|
|
- <el-radio v-model="formmodel.sex" :label="1">男</el-radio>
|
|
|
|
|
|
+ <el-form-item :label="this.$t('member.sex')" class="form-item-sex">
|
|
|
|
+ <el-radio v-model="formmodel.sex" :label="0">{{ this.$t('member.woman') }}</el-radio>
|
|
|
|
+ <el-radio v-model="formmodel.sex" :label="1">{{ this.$t('member.man') }}</el-radio>
|
|
<!-- <el-radio v-model="formmodel.sex" :label="2">未知</el-radio>-->
|
|
<!-- <el-radio v-model="formmodel.sex" :label="2">未知</el-radio>-->
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="年龄" prop="age">
|
|
|
|
- <el-input v-model="formmodel.age" clearable :maxlength="4" placeholder="请输入年龄">
|
|
|
|
- <el-select slot="append" v-model="formmodel.age_unit" placeholder="请选择年龄单位">
|
|
|
|
- <el-option label="岁" value="岁"/>
|
|
|
|
- <el-option label="月" value="月"/>
|
|
|
|
- <el-option label="天" value="天"/>
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.age')" prop="age">
|
|
|
|
+ <el-input v-model="formmodel.age" clearable :maxlength="4" :placeholder="this.$t('customerManage.inputAge')">
|
|
|
|
+ <el-select slot="append" v-model="formmodel.age_unit" :placeholder="this.$t('customerManage.choiceAgeUnit')">
|
|
|
|
+ <el-option :label="this.$t('customerManage.year')" value="岁"/>
|
|
|
|
+ <el-option :label="this.$t('customerManage.month')" value="月"/>
|
|
|
|
+ <el-option :label="this.$t('customerManage.day')" value="天"/>
|
|
</el-select>
|
|
</el-select>
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -83,54 +83,54 @@
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="手机号码" prop="mobile">
|
|
|
|
- <el-input v-model="formmodel.mobile" clearable placeholder="请输入手机号码"
|
|
|
|
|
|
+ <el-form-item :label="this.$t('member.mobile')" prop="mobile">
|
|
|
|
+ <el-input v-model="formmodel.mobile" clearable :placeholder="this.$t('member.inputMobile')"
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="家庭住址" prop="address">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('member.homeAddress')" prop="address">
|
|
<el-input v-model="formmodel.address" clearable :maxlength="20"
|
|
<el-input v-model="formmodel.address" clearable :maxlength="20"
|
|
- placeholder="请输入家庭住址"/>
|
|
|
|
|
|
+ :placeholder="this.$t('member.inputHomeAddress')"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="生日" prop="birthday">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('member.birthday')" prop="birthday">
|
|
<el-date-picker
|
|
<el-date-picker
|
|
v-model="formmodel.birthday"
|
|
v-model="formmodel.birthday"
|
|
type="date"
|
|
type="date"
|
|
:editable="false"
|
|
:editable="false"
|
|
value-format="timestamp"
|
|
value-format="timestamp"
|
|
- placeholder="选择日期"
|
|
|
|
|
|
+ :placeholder="this.$t('member.choiceBirthday')"
|
|
:picker-options="{disabledDate(time) { return time.getTime() > Date.now() }}"
|
|
:picker-options="{disabledDate(time) { return time.getTime() > Date.now() }}"
|
|
@change="birthdayChange"
|
|
@change="birthdayChange"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="入住日期" prop="in_date">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.inDate')" prop="in_date">
|
|
<el-date-picker
|
|
<el-date-picker
|
|
v-model="formmodel.in_date"
|
|
v-model="formmodel.in_date"
|
|
type="date"
|
|
type="date"
|
|
:editable="false"
|
|
:editable="false"
|
|
value-format="timestamp"
|
|
value-format="timestamp"
|
|
:default-value="new Date()"
|
|
:default-value="new Date()"
|
|
- placeholder="选择日期"
|
|
|
|
|
|
+ :placeholder="this.$t('customerManage.choiceDate')"
|
|
:picker-options="{disabledDate(time) { return time.getTime() > Date.now() }}"
|
|
:picker-options="{disabledDate(time) { return time.getTime() > Date.now() }}"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="证件类型">
|
|
|
|
- <el-radio v-model="formmodel.id_type" label="身份证">身份证</el-radio>
|
|
|
|
- <el-radio v-model="formmodel.id_type" label="护照">护照</el-radio>
|
|
|
|
- <el-radio v-model="formmodel.id_type" label="军人证">军人证</el-radio>
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.idType')">
|
|
|
|
+ <el-radio v-model="formmodel.id_type" label="身份证">{{ this.$t('customerManage.idCard') }}</el-radio>
|
|
|
|
+ <el-radio v-model="formmodel.id_type" label="护照">{{ this.$t('customerManage.passport') }}</el-radio>
|
|
|
|
+ <el-radio v-model="formmodel.id_type" label="军人证">{{ this.$t('customerManage.servicemanCard') }}</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="证件号码">
|
|
|
|
- <el-input v-model="formmodel.id_no" clearable placeholder="请输入证件号"
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.idNo')">
|
|
|
|
+ <el-input v-model="formmodel.id_no" clearable :placeholder="this.$t('customerManage.inputIdNo')"
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -140,34 +140,34 @@
|
|
<el-col :span="16">
|
|
<el-col :span="16">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="昵称" prop="nickname">
|
|
|
|
- <el-input v-model="formmodel.nickname" clearable placeholder="请输入用户其他称呼"
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.nickname')" prop="nickname">
|
|
|
|
+ <el-input v-model="formmodel.nickname" clearable :placeholder="this.$t('customerManage.inputNickname')"
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="入住床位" prop="frame_id">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.frame')" prop="frame_id">
|
|
<el-select v-model="formmodel.frame_id" :disabled="bedSelectabled"
|
|
<el-select v-model="formmodel.frame_id" :disabled="bedSelectabled"
|
|
- placeholder="请选择床位">
|
|
|
|
|
|
+ :placeholder="this.$t('customerManage.choiceFrame')">
|
|
<el-option v-for="(item,index) in emptyBeds" :key="index"
|
|
<el-option v-for="(item,index) in emptyBeds" :key="index"
|
|
:label="item.full_name" :value="item.id"/>
|
|
:label="item.full_name" :value="item.id"/>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
- <el-form-item label="病况描述">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.patientIllnessDesc')">
|
|
<el-input
|
|
<el-input
|
|
v-model="formmodel.illness_desc"
|
|
v-model="formmodel.illness_desc"
|
|
type="textarea"
|
|
type="textarea"
|
|
:autosize="{ minRows: 2, maxRows: 4}"
|
|
:autosize="{ minRows: 2, maxRows: 4}"
|
|
:minlength="2"
|
|
:minlength="2"
|
|
:maxlength="50"
|
|
:maxlength="50"
|
|
- :placeholder="'请输入文本内容,长度2~50'"
|
|
|
|
|
|
+ :placeholder="this.$t('customerManage.inputIllnessDesc')"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="头像">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('member.face')">
|
|
<el-upload
|
|
<el-upload
|
|
class="avatar-uploader"
|
|
class="avatar-uploader"
|
|
:action="`${uploadServer}/ncs/upload/uploadFile?scene=avatar`"
|
|
:action="`${uploadServer}/ncs/upload/uploadFile?scene=avatar`"
|
|
@@ -183,22 +183,22 @@
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
<el-row>
|
|
<el-row>
|
|
- <el-form-item label="医嘱">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.advice')">
|
|
<el-input
|
|
<el-input
|
|
v-model="formmodel.advice"
|
|
v-model="formmodel.advice"
|
|
type="textarea"
|
|
type="textarea"
|
|
:autosize="{ minRows: 2, maxRows: 4}"
|
|
:autosize="{ minRows: 2, maxRows: 4}"
|
|
:minlength="2"
|
|
:minlength="2"
|
|
:maxlength="50"
|
|
:maxlength="50"
|
|
- :placeholder="'请输入文本内容,长度2~50'"
|
|
|
|
|
|
+ :placeholder="this.$t('customerManage.inputAdvice')"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="责任医生">
|
|
|
|
- <el-select v-model="formmodel.doctor_id" placeholder="请选择医生" clearable
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.doctor')">
|
|
|
|
+ <el-select v-model="formmodel.doctor_id" :placeholder="this.$t('customerManage.choiceDoctor')" clearable
|
|
@change="doctorChange(1)">
|
|
@change="doctorChange(1)">
|
|
<el-option v-for="(item,index) in doctors" :key="index"
|
|
<el-option v-for="(item,index) in doctors" :key="index"
|
|
:label="item.clerk_name" :value="item.clerk_id"/>
|
|
:label="item.clerk_name" :value="item.clerk_id"/>
|
|
@@ -206,8 +206,8 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="责任护士">
|
|
|
|
- <el-select v-model="formmodel.nurse_id" placeholder="请选择护士" clearable
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.nurse')">
|
|
|
|
+ <el-select v-model="formmodel.nurse_id" :placeholder="this.$t('customerManage.choiceNurse')" clearable
|
|
@change="doctorChange(2)">
|
|
@change="doctorChange(2)">
|
|
<el-option v-for="(item,index) in nurses" :key="index"
|
|
<el-option v-for="(item,index) in nurses" :key="index"
|
|
:label="item.clerk_name" :value="item.clerk_id"/>
|
|
:label="item.clerk_name" :value="item.clerk_id"/>
|
|
@@ -215,8 +215,8 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="责任护工">
|
|
|
|
- <el-select v-model="formmodel.worker_id" placeholder="请选择护工" clearable
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.worker')">
|
|
|
|
+ <el-select v-model="formmodel.worker_id" :placeholder="this.$t('customerManage.choiceWorker')" clearable
|
|
@change="doctorChange(3)">
|
|
@change="doctorChange(3)">
|
|
<el-option v-for="(item,index) in workers" :key="index"
|
|
<el-option v-for="(item,index) in workers" :key="index"
|
|
:label="item.clerk_name" :value="item.clerk_id"/>
|
|
:label="item.clerk_name" :value="item.clerk_id"/>
|
|
@@ -229,27 +229,39 @@
|
|
<el-col v-for="(item, index) in nurseconfigSelection" :key="index" :span="8">
|
|
<el-col v-for="(item, index) in nurseconfigSelection" :key="index" :span="8">
|
|
<el-form-item :label="item.config.config_name">
|
|
<el-form-item :label="item.config.config_name">
|
|
<el-select :ref="'patient_nurse_'+item.config.id" v-model="item.selected_id"
|
|
<el-select :ref="'patient_nurse_'+item.config.id" v-model="item.selected_id"
|
|
- :placeholder="'请选择'+item.config.config_name" clearable
|
|
|
|
|
|
+ :placeholder="this.$t('action.choice')+item.config.config_name" clearable
|
|
@change="(val)=>{changeNurseData(val,item.config.id,index)}">
|
|
@change="(val)=>{changeNurseData(val,item.config.id,index)}">
|
|
<el-option v-for="(t,i) in item.options" :key="i" :label="t.option_name"
|
|
<el-option v-for="(t,i) in item.options" :key="i" :label="t.option_name"
|
|
:value="t.id">
|
|
:value="t.id">
|
|
<span style="float: left">{{ t.option_name }}</span>
|
|
<span style="float: left">{{ t.option_name }}</span>
|
|
- <span :style="'float: right; background-color: #'+t.color_rgb+';color: #'+t.color_rgb">颜色</span>
|
|
|
|
|
|
+ <span :style="'float: right; background-color: #'+t.color_rgb+';color: #'+t.color_rgb">{{ this.$t('action.colour') }}</span>
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
|
+
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24" :offset="8">
|
|
|
|
+ <vue-qr
|
|
|
|
+ v-if="formmodel.member_id"
|
|
|
|
+ :text="qrCode(formmodel.member_id)"
|
|
|
|
+ :size="150"
|
|
|
|
+ :correctLevel="0"
|
|
|
|
+ ></vue-qr>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+
|
|
<el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" :disabled="isDisabled" class="save"
|
|
<el-button type="primary" :disabled="isDisabled" class="save"
|
|
- @click="handlerSubmit('editForm')">保存
|
|
|
|
|
|
+ @click="handlerSubmit('editForm')">{{ this.$t('action.save') }}
|
|
</el-button>
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
- <el-tab-pane v-if="formmodel.id" label="用户亲属" name="customerRelative">
|
|
|
|
|
|
+ <el-tab-pane v-if="formmodel.id" :label="this.$t('customerManage.customerRelative')" name="customerRelative">
|
|
<div style="height: 450px">
|
|
<div style="height: 450px">
|
|
<!-- <customer-relative :member-id="memberId" />-->
|
|
<!-- <customer-relative :member-id="memberId" />-->
|
|
<el-table
|
|
<el-table
|
|
@@ -260,31 +272,31 @@
|
|
>
|
|
>
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="true_name"
|
|
prop="true_name"
|
|
- label="亲属姓名"
|
|
|
|
|
|
+ :label="this.$t('customerManage.customerRelativeTrueName')"
|
|
width="180"
|
|
width="180"
|
|
/>
|
|
/>
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="sex"
|
|
prop="sex"
|
|
- label="性别"
|
|
|
|
|
|
+ :label="this.$t('member.sex')"
|
|
width="180"
|
|
width="180"
|
|
:formatter="formatterSex"
|
|
:formatter="formatterSex"
|
|
/>
|
|
/>
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="relative_name"
|
|
prop="relative_name"
|
|
- label="关系"
|
|
|
|
|
|
+ :label="this.$t('customerManage.relativeName')"
|
|
width="180"
|
|
width="180"
|
|
/>
|
|
/>
|
|
<el-table-column
|
|
<el-table-column
|
|
prop="mobile"
|
|
prop="mobile"
|
|
- label="手机号码"
|
|
|
|
|
|
+ :label="this.$t('member.mobile')"
|
|
/>
|
|
/>
|
|
<el-table-column
|
|
<el-table-column
|
|
- label="操作"
|
|
|
|
|
|
+ :label="this.$t('action.handle')"
|
|
width="100"
|
|
width="100"
|
|
>
|
|
>
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-button type="danger" size="mini"
|
|
<el-button type="danger" size="mini"
|
|
- @click="handlerDeleteRelative(scope.row.member_id)">删除
|
|
|
|
|
|
+ @click="handlerDeleteRelative(scope.row.member_id)">{{ this.$t('action.delete') }}
|
|
</el-button>
|
|
</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -294,35 +306,35 @@
|
|
label-width="120px" style="margin-top:20px">
|
|
label-width="120px" style="margin-top:20px">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="姓名" prop="true_name">
|
|
|
|
- <el-input v-model="relativeFormModel.true_name" clearable placeholder="请输入姓名"
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.customerRelativeTrueName')" prop="true_name">
|
|
|
|
+ <el-input v-model="relativeFormModel.true_name" clearable :placeholder="请输入姓名"
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="亲属关系" prop="relative_name">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.relativeName')" prop="relative_name">
|
|
<el-input v-model="relativeFormModel.relative_name" clearable
|
|
<el-input v-model="relativeFormModel.relative_name" clearable
|
|
- placeholder="请输入亲属关系 如:朋友" :maxlength="20"/>
|
|
|
|
|
|
+ :placeholder="this.$t('customerManage.inputRelativeName')" :maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="性别" class="form-item-sex">
|
|
|
|
- <el-radio v-model="relativeFormModel.sex" :label="0">女</el-radio>
|
|
|
|
- <el-radio v-model="relativeFormModel.sex" :label="1">男</el-radio>
|
|
|
|
|
|
+ <el-form-item :label="this.$t('member.sex')" class="form-item-sex">
|
|
|
|
+ <el-radio v-model="relativeFormModel.sex" :label="0">{{ this.$t('member.woman') }}</el-radio>
|
|
|
|
+ <el-radio v-model="relativeFormModel.sex" :label="1">{{ this.$t('member.man') }</el-radio>
|
|
<!-- <el-radio v-model="relativeFormModel.sex" :label="2">未知</el-radio>-->
|
|
<!-- <el-radio v-model="relativeFormModel.sex" :label="2">未知</el-radio>-->
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="手机号码" prop="mobile">
|
|
|
|
- <el-input v-model="relativeFormModel.mobile" clearable placeholder="请输入手机号码"
|
|
|
|
|
|
+ <el-form-item :label="this.$t('member.mobile')" prop="mobile">
|
|
|
|
+ <el-input v-model="relativeFormModel.mobile" clearable :placeholder="this.$t('member.inputMobile')"
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button type="primary" @click="addRelative">添加</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="addRelative">{{ this.$t('action.add') }}</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
@@ -330,16 +342,16 @@
|
|
|
|
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
|
|
|
|
- <el-tab-pane v-if="formmodel.id" label="体征" name="customer-vital-sign">
|
|
|
|
- <vital-sign-log :member-id="formmodel.id+''" :active-name="'vital_signs1'"/>
|
|
|
|
|
|
+ <el-tab-pane v-if="formmodel.id" :label="this.$t('customerManage.vital')" name="customer-vital-sign">
|
|
|
|
+ <vital-sign-log :member-id="formmodel.member_id+''" :active-name="'vital_signs1'"/>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
|
|
|
|
- <el-tab-pane v-if="formmodel.id" label="备注" name="customerRemark">
|
|
|
|
|
|
+ <el-tab-pane v-if="formmodel.id" :label="this.$t('customerManage.remark')" name="customerRemark">
|
|
<div style="height: 450px;display: flex;flex-direction: column;">
|
|
<div style="height: 450px;display: flex;flex-direction: column;">
|
|
<div style="height: 350px;overflow-y: auto;box-sizing:border-box;box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);margin:5px -10px">
|
|
<div style="height: 350px;overflow-y: auto;box-sizing:border-box;box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);margin:5px -10px">
|
|
<el-card v-for="(item, index) in remarks" :key="index" style="margin-bottom: 10px">
|
|
<el-card v-for="(item, index) in remarks" :key="index" style="margin-bottom: 10px">
|
|
<div>
|
|
<div>
|
|
- <span style="margin-left: 20px;font-weight:bold">备注内容:</span><span
|
|
|
|
|
|
+ <span style="margin-left: 20px;font-weight:bold">{{ customerRemarks }}</span><span
|
|
style="line-height:1.5">{{ item.content }}</span>
|
|
style="line-height:1.5">{{ item.content }}</span>
|
|
</div>
|
|
</div>
|
|
<div style="margin: 10px">
|
|
<div style="margin: 10px">
|
|
@@ -351,9 +363,9 @@
|
|
</div>
|
|
</div>
|
|
<div style="float: right">
|
|
<div style="float: right">
|
|
<p>
|
|
<p>
|
|
- <span style="font-weight:bold">时间:</span>{{ item.create_time |
|
|
|
|
|
|
+ <span style="font-weight:bold">{{ customerRemarkTime }}</span>{{ item.create_time |
|
|
unixDateFilter }}
|
|
unixDateFilter }}
|
|
- <span style="font-weight:bold;margin-left: 10px;">备注人:</span>{{
|
|
|
|
|
|
+ <span style="font-weight:bold;margin-left: 10px;">{{ customerRemarkName }}</span>{{
|
|
item.create_name }}
|
|
item.create_name }}
|
|
</p>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
@@ -367,7 +379,7 @@
|
|
style="margin-right: 10px">
|
|
style="margin-right: 10px">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="16">
|
|
<el-col :span="16">
|
|
- <el-form-item label="内容" prop="content">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.content')" prop="content">
|
|
<el-input
|
|
<el-input
|
|
v-model="remarkFormModel.content"
|
|
v-model="remarkFormModel.content"
|
|
type="textarea"
|
|
type="textarea"
|
|
@@ -375,12 +387,12 @@
|
|
:minlength="2"
|
|
:minlength="2"
|
|
:maxlength="300"
|
|
:maxlength="300"
|
|
show-word-limit
|
|
show-word-limit
|
|
- :placeholder="'请输入文本内容,长度300'"
|
|
|
|
|
|
+ :placeholder="this.$t('customerManage.inputContent')"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="附件" style="margin-bottom: 0">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.uploader')" style="margin-bottom: 0">
|
|
<el-upload
|
|
<el-upload
|
|
v-if="!attachFilePath"
|
|
v-if="!attachFilePath"
|
|
class="attach-uploader"
|
|
class="attach-uploader"
|
|
@@ -396,7 +408,7 @@
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button type="primary" @click="addRemark">添加备注</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="addRemark">{{ this.$t('customerManage.addRemark') }}</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
@@ -407,18 +419,18 @@
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!-- 用户信息 -->
|
|
<!-- 用户信息 -->
|
|
<!-- 用户换床-->
|
|
<!-- 用户换床-->
|
|
- <el-dialog :visible.sync="changeBedFormVisible" title="用户换床">
|
|
|
|
|
|
+ <el-dialog :visible.sync="changeBedFormVisible" :title="this.$t('customerManage.changeBed')">
|
|
<el-form ref="changeBedForm" :model="changeBedFormModel" :rules="changeBedRules" label-width="120px">
|
|
<el-form ref="changeBedForm" :model="changeBedFormModel" :rules="changeBedRules" label-width="120px">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="用户姓名" prop="named">
|
|
|
|
- <el-input v-model="changeBedFormModel.named" clearable placeholder="请输入姓名" readonly
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.named')" prop="named">
|
|
|
|
+ <el-input v-model="changeBedFormModel.named" clearable :placeholder="this.$t('customerManage.inputNamed')" readonly
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="入住编号">
|
|
|
|
- <el-input v-model="changeBedFormModel.card_no" clearable placeholder="请输入病人编号" readonly
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.cardNo')">
|
|
|
|
+ <el-input v-model="changeBedFormModel.card_no" clearable :placeholder="this.$t('customerManage.inputCardNo')" readonly
|
|
:maxlength="20"/>
|
|
:maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -426,22 +438,22 @@
|
|
|
|
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="性别" class="form-item-sex">
|
|
|
|
- <el-radio v-model="changeBedFormModel.sex" :label="0" disabled>女</el-radio>
|
|
|
|
- <el-radio v-model="changeBedFormModel.sex" :label="1" disabled>男</el-radio>
|
|
|
|
|
|
+ <el-form-item :label="this.$t('member.sex')" class="form-item-sex">
|
|
|
|
+ <el-radio v-model="changeBedFormModel.sex" :label="0" disabled>{{ this.$t('member.woman') }}</el-radio>
|
|
|
|
+ <el-radio v-model="changeBedFormModel.sex" :label="1" disabled>{{ this.$t('member.man') }}</el-radio>
|
|
<!-- <el-radio v-model="changeBedFormModel.sex" :label="2" disabled>未知</el-radio>-->
|
|
<!-- <el-radio v-model="changeBedFormModel.sex" :label="2" disabled>未知</el-radio>-->
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="年龄" prop="age">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.age')" prop="age">
|
|
<el-input v-model="changeBedFormModel.age" clearable :maxlength="4" readonly
|
|
<el-input v-model="changeBedFormModel.age" clearable :maxlength="4" readonly
|
|
- placeholder="请输入年龄">
|
|
|
|
|
|
+ :placeholder="this.$t('customerManage.inputAge')">
|
|
<el-select slot="append" v-model="changeBedFormModel.age_unit" disabled
|
|
<el-select slot="append" v-model="changeBedFormModel.age_unit" disabled
|
|
- placeholder="请选择年龄单位">
|
|
|
|
- <el-option label="岁" value="岁"/>
|
|
|
|
- <el-option label="月" value="月"/>
|
|
|
|
- <el-option label="天" value="年"/>
|
|
|
|
|
|
+ :placeholder="this.$t('customerManage.choiceAgeUnit')">
|
|
|
|
+ <el-option :label="this.$t('customerManage.year')" value="岁"/>
|
|
|
|
+ <el-option :label="this.$t('customerManage.month')" value="月"/>
|
|
|
|
+ <el-option :label="this.$t('customerManage.day')" value="年"/>
|
|
</el-select>
|
|
</el-select>
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -450,13 +462,13 @@
|
|
</el-row>
|
|
</el-row>
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="当前床位" prop="nickname">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.oldBed')" prop="nickname">
|
|
<el-input v-model="changeBedFormModel.current_bed" clearable readonly :maxlength="20"/>
|
|
<el-input v-model="changeBedFormModel.current_bed" clearable readonly :maxlength="20"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="换到床位" prop="frame_id">
|
|
|
|
- <el-select v-model="changeBedFormModel.frame_id" clearable filterable placeholder="请选择床位">
|
|
|
|
|
|
+ <el-form-item :label="this.$t('customerManage.newBed')" prop="frame_id">
|
|
|
|
+ <el-select v-model="changeBedFormModel.frame_id" clearable filterable :placeholder="this.$t('customerManage.choiceNewBed')">
|
|
<el-option v-for="(item,index) in emptyBeds" :key="index" :label="item.full_name"
|
|
<el-option v-for="(item,index) in emptyBeds" :key="index" :label="item.full_name"
|
|
:value="item.id"/>
|
|
:value="item.id"/>
|
|
</el-select>
|
|
</el-select>
|
|
@@ -466,7 +478,7 @@
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button type="primary" class="save" @click="handleChangeBedSubmit('changeBedForm')">确定
|
|
|
|
|
|
+ <el-button type="primary" class="save" @click="handleChangeBedSubmit('changeBedForm')">{{ this.$t('action.yes') }}
|
|
</el-button>
|
|
</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
@@ -492,10 +504,13 @@
|
|
import * as API_Clerk from '@/api/ncs_clerk'
|
|
import * as API_Clerk from '@/api/ncs_clerk'
|
|
import * as API_NurseConfig from '@/api/ncs_nurse_config'
|
|
import * as API_NurseConfig from '@/api/ncs_nurse_config'
|
|
import vitalSignLog from '@/views/vital-sign/log'
|
|
import vitalSignLog from '@/views/vital-sign/log'
|
|
|
|
+ import vueQr from "vue-qr";
|
|
|
|
+ import avator from "@/assets/avatar.jpeg";
|
|
|
|
+ import {FRAME_TYPE} from "@/utils/enum/FrameTypeEnum";
|
|
const serverUrl = domain.serverUrl
|
|
const serverUrl = domain.serverUrl
|
|
export default {
|
|
export default {
|
|
name: 'PatientManager',
|
|
name: 'PatientManager',
|
|
- components: {ButtonCellRender, ListFilter, RadioFilter, vitalSignLog},
|
|
|
|
|
|
+ components: {ButtonCellRender, ListFilter, RadioFilter, vitalSignLog, vueQr },
|
|
filters: {
|
|
filters: {
|
|
unixDateFilter(val) {
|
|
unixDateFilter(val) {
|
|
return unixToDate(val)
|
|
return unixToDate(val)
|
|
@@ -544,6 +559,9 @@
|
|
isDisabled: false,
|
|
isDisabled: false,
|
|
/** 备注 */
|
|
/** 备注 */
|
|
remarks: [],
|
|
remarks: [],
|
|
|
|
+ customerRemarks: this.$t('customerManage.remarks'),
|
|
|
|
+ customerRemarkTime: this.$t('customerManage.remarkTime'),
|
|
|
|
+ customerRemarkName: this.$t('customerManage.remarkName'),
|
|
remarkParams: {
|
|
remarkParams: {
|
|
page_size: 100,
|
|
page_size: 100,
|
|
page_no: 1,
|
|
page_no: 1,
|
|
@@ -555,7 +573,7 @@
|
|
content: ''
|
|
content: ''
|
|
},
|
|
},
|
|
remarkRules: {
|
|
remarkRules: {
|
|
- content: [{required: true, message: '请输入备注内容', trigger: 'blur'}]
|
|
|
|
|
|
+ content: [{required: true, message: this.$t('customerManage.inputRemarks'), trigger: 'blur'}]
|
|
},
|
|
},
|
|
attachFilePath: null,
|
|
attachFilePath: null,
|
|
/** 亲属表单 **/
|
|
/** 亲属表单 **/
|
|
@@ -574,8 +592,8 @@
|
|
fixedCondition: Object.keys(this.frame).length === 0 ? 'part_id=' + this.$store.getters.partId : 'part_id=' + this.$store.getters.partId + ' and relative_id =' + this.formmodel.member_id
|
|
fixedCondition: Object.keys(this.frame).length === 0 ? 'part_id=' + this.$store.getters.partId : 'part_id=' + this.$store.getters.partId + ' and relative_id =' + this.formmodel.member_id
|
|
},
|
|
},
|
|
relativeRules: {
|
|
relativeRules: {
|
|
- true_name: [{required: true, message: '请输入姓名', trigger: 'blur'}],
|
|
|
|
- relative_name: [{required: true, message: '请输入亲属关系', trigger: 'blur'}],
|
|
|
|
|
|
+ true_name: [{required: true, message: this.$t('customerManage.inputRemarks'), trigger: 'blur'}],
|
|
|
|
+ relative_name: [{required: true, message: this.$t('customerManage.inputRelativeName'), trigger: 'blur'}],
|
|
mobile: [
|
|
mobile: [
|
|
{
|
|
{
|
|
validator: (rule, value, callback) => {
|
|
validator: (rule, value, callback) => {
|
|
@@ -583,7 +601,7 @@
|
|
callback()
|
|
callback()
|
|
}
|
|
}
|
|
if (!RegExp.mobile.test(value)) {
|
|
if (!RegExp.mobile.test(value)) {
|
|
- callback(new Error('手机格式有误!'))
|
|
|
|
|
|
+ callback(new Error(this.$t('member.mobileInputMsg')))
|
|
} else {
|
|
} else {
|
|
callback()
|
|
callback()
|
|
}
|
|
}
|
|
@@ -595,7 +613,7 @@
|
|
changeBedFormVisible: false,
|
|
changeBedFormVisible: false,
|
|
changeBedFormModel: {},
|
|
changeBedFormModel: {},
|
|
changeBedRules: {
|
|
changeBedRules: {
|
|
- frame_id: [{required: true, message: '请选择床位!', trigger: 'blur'}]
|
|
|
|
|
|
+ frame_id: [{required: true, message: this.$t('customerManage.choiceFrame'), trigger: 'blur'}]
|
|
},
|
|
},
|
|
/** 空床位 **/
|
|
/** 空床位 **/
|
|
emptyBeds: [],
|
|
emptyBeds: [],
|
|
@@ -603,17 +621,17 @@
|
|
isEmptyFrame: true,
|
|
isEmptyFrame: true,
|
|
rules: {
|
|
rules: {
|
|
named: [
|
|
named: [
|
|
- this.MixinRequired('请输入用户姓名!')
|
|
|
|
|
|
+ this.MixinRequired(this.$t('customerManage.inputNamed'))
|
|
],
|
|
],
|
|
age: [
|
|
age: [
|
|
- {required: true, message: '请输入年龄', trigger: 'blur'}
|
|
|
|
|
|
+ {required: true, message: this.$t('customerManage.inputAge'), trigger: 'blur'}
|
|
],
|
|
],
|
|
mobile: [
|
|
mobile: [
|
|
- this.MixinRequired('请输入手机号!'),
|
|
|
|
|
|
+ this.MixinRequired(this.$t('member.inputMobile')),
|
|
{
|
|
{
|
|
validator: (rule, value, callback) => {
|
|
validator: (rule, value, callback) => {
|
|
if (!RegExp.mobile.test(value)) {
|
|
if (!RegExp.mobile.test(value)) {
|
|
- callback(new Error('手机格式有误!'))
|
|
|
|
|
|
+ callback(new Error(this.$t('member.mobileInputMsg')))
|
|
} else {
|
|
} else {
|
|
callback()
|
|
callback()
|
|
}
|
|
}
|
|
@@ -621,7 +639,7 @@
|
|
}
|
|
}
|
|
],
|
|
],
|
|
frame_id: [
|
|
frame_id: [
|
|
- {required: Object.keys(this.frame).length === 0, message: '请选床位!', trigger: 'blur'} // 没有传入frame 属性,必须选择床位
|
|
|
|
|
|
+ {required: Object.keys(this.frame).length === 0, message: this.$t('customerManage.choiceFrame'), trigger: 'blur'} // 没有传入frame 属性,必须选择床位
|
|
]
|
|
]
|
|
},
|
|
},
|
|
doctors: [],
|
|
doctors: [],
|
|
@@ -630,12 +648,12 @@
|
|
nurseData: [],
|
|
nurseData: [],
|
|
nurseconfigSelection: [],
|
|
nurseconfigSelection: [],
|
|
sexTransfer: [
|
|
sexTransfer: [
|
|
- {key: '男', value: 1, color: 'green'},
|
|
|
|
- {key: '女', value: 0, color: 'red'}
|
|
|
|
|
|
+ {key: this.$t('member.man'), value: 1, color: 'green'},
|
|
|
|
+ {key: this.$t('member.woman'), value: 0, color: 'red'}
|
|
],
|
|
],
|
|
customerStatusTransfer: [
|
|
customerStatusTransfer: [
|
|
- {key: '入住中', value: 0, color: 'green'},
|
|
|
|
- {key: '已离开', value: 1, color: 'red'}
|
|
|
|
|
|
+ {key: this.$t('customerManage.customerStatusTrue'), value: 0, color: 'green'},
|
|
|
|
+ {key: this.$t('customerManage.customerStatusFalse'), value: 1, color: 'red'}
|
|
]
|
|
]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -650,7 +668,22 @@
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
frame(val, oldvalue) {
|
|
frame(val, oldvalue) {
|
|
- this.params.fixedCondition = Object.keys(this.frame).length === 0 ? 'part_id=' + this.$store.getters.partId : 'part_id=' + this.$store.getters.partId + ' and frame_id =' + this.frame.id
|
|
|
|
|
|
+ // this.params.fixedCondition = Object.keys(this.frame).length === 0 ? 'part_id=' + this.$store.getters.partId : 'part_id=' + this.$store.getters.partId + ' and frame_id =' + this.frame.id
|
|
|
|
+ if (val.type === FRAME_TYPE.PART) { // 科室
|
|
|
|
+ this.params.fixedCondition = ' part_id =' + this.frame.part_id
|
|
|
|
+ } else if (val.type === FRAME_TYPE.ROOM) { // 房间
|
|
|
|
+ const ids = []
|
|
|
|
+ this.frame.children.forEach(item => {
|
|
|
|
+ ids.push(item.id)
|
|
|
|
+ })
|
|
|
|
+ if (ids.length > 0) {
|
|
|
|
+ this.params.fixedCondition = ' frame_id in (' + ids + ')'
|
|
|
|
+ } else {
|
|
|
|
+ this.params.fixedCondition = ' frame_id = ' + this.frame.id
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ this.params.fixedCondition = ' frame_id = ' + this.frame.id
|
|
|
|
+ }
|
|
this.getList()
|
|
this.getList()
|
|
this.infoChanged()
|
|
this.infoChanged()
|
|
}
|
|
}
|
|
@@ -669,10 +702,10 @@
|
|
valueGetter: this.hashValueGetter
|
|
valueGetter: this.hashValueGetter
|
|
},
|
|
},
|
|
{headerName: 'ID', field: 'id', sortable: true, filter: 'agNumberColumnFilter', width: 100},
|
|
{headerName: 'ID', field: 'id', sortable: true, filter: 'agNumberColumnFilter', width: 100},
|
|
- {headerName: '用户姓名', field: 'named', sortable: true, filter: 'agTextColumnFilter', width: 160},
|
|
|
|
- {headerName: '昵称', field: 'nickname', sortable: true, filter: 'agTextColumnFilter', width: 130},
|
|
|
|
|
|
+ {headerName: this.$t('customerManage.named'), field: 'named', sortable: true, filter: 'agTextColumnFilter', width: 160},
|
|
|
|
+ {headerName: this.$t('customerManage.nickname'), field: 'nickname', sortable: true, filter: 'agTextColumnFilter', width: 130},
|
|
{
|
|
{
|
|
- headerName: '当前状态', field: 'status', sortable: true, filterFramework: 'RadioFilter', width: 130,
|
|
|
|
|
|
+ headerName: this.$t('customerManage.customerStatus'), field: 'status', sortable: true, filterFramework: 'RadioFilter', width: 130,
|
|
filterParams: {
|
|
filterParams: {
|
|
listData: this.customerStatusTransfer
|
|
listData: this.customerStatusTransfer
|
|
},
|
|
},
|
|
@@ -682,7 +715,7 @@
|
|
// lockPinned = true 不能拖动然后固定
|
|
// lockPinned = true 不能拖动然后固定
|
|
// resizeable 单元个大小是否可以调整
|
|
// resizeable 单元个大小是否可以调整
|
|
{
|
|
{
|
|
- headerName: '性别', field: 'sex', sortable: true, filterFramework: 'RadioFilter', width: 130,
|
|
|
|
|
|
+ headerName: this.$t('member.sex'), field: 'sex', sortable: true, filterFramework: 'RadioFilter', width: 130,
|
|
filterParams: {
|
|
filterParams: {
|
|
listData: this.sexTransfer
|
|
listData: this.sexTransfer
|
|
},
|
|
},
|
|
@@ -690,7 +723,7 @@
|
|
},
|
|
},
|
|
|
|
|
|
{
|
|
{
|
|
- headerName: '生日',
|
|
|
|
|
|
+ headerName: this.$t('member.birthday'),
|
|
field: 'birthday',
|
|
field: 'birthday',
|
|
sortable: true,
|
|
sortable: true,
|
|
filter: 'agDateColumnFilter',
|
|
filter: 'agDateColumnFilter',
|
|
@@ -703,20 +736,20 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- headerName: '年龄', field: 'age', sortable: true, filter: 'agNumberColumnFilter', width: 130
|
|
|
|
|
|
+ headerName: this.$t('customerManage.age'), field: 'age', sortable: true, filter: 'agNumberColumnFilter', width: 130
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- headerName: '年龄单位', field: 'age_unit', sortable: true, filter: 'agTextColumnFilter', width: 130
|
|
|
|
|
|
+ headerName: this.$t('customerManage.ageUnit'), field: 'age_unit', sortable: true, filter: 'agTextColumnFilter', width: 130
|
|
},
|
|
},
|
|
- {headerName: '入住编号', field: 'card_no', sortable: true, filter: 'agTextColumnFilter'},
|
|
|
|
- {headerName: '身份证件类型', field: 'id_type', sortable: true, filter: 'agTextColumnFilter'},
|
|
|
|
- {headerName: '证件号码', field: 'id_no', sortable: true, filter: 'agNumberColumnFilter', width: 160},
|
|
|
|
- {headerName: '入住床位', field: 'full_name', sortable: true, filter: 'agTextColumnFilter'},
|
|
|
|
- {headerName: '手机号码', field: 'mobile', sortable: true, filter: 'agTextColumnFilter'},
|
|
|
|
- {headerName: '家庭住址', field: 'address', sortable: true, filter: 'agTextColumnFilter', width: 260},
|
|
|
|
|
|
+ {headerName: this.$t('customerManage.cardNo'), field: 'card_no', sortable: true, filter: 'agTextColumnFilter'},
|
|
|
|
+ {headerName: this.$t('customerManage.idType'), field: 'id_type', sortable: true, filter: 'agTextColumnFilter'},
|
|
|
|
+ {headerName: this.$t('customerManage.idNo'), field: 'id_no', sortable: true, filter: 'agNumberColumnFilter', width: 160},
|
|
|
|
+ {headerName: this.$t('customerManage.frame'), field: 'full_name', sortable: true, filter: 'agTextColumnFilter'},
|
|
|
|
+ {headerName: this.$t('member.mobile'), field: 'mobile', sortable: true, filter: 'agTextColumnFilter'},
|
|
|
|
+ {headerName: this.$t('customerManage.homeAddress'), field: 'address', sortable: true, filter: 'agTextColumnFilter', width: 260},
|
|
|
|
|
|
{
|
|
{
|
|
- headerName: '入住时间',
|
|
|
|
|
|
+ headerName: this.$t('customerManage.inDate'),
|
|
field: 'in_date',
|
|
field: 'in_date',
|
|
sortable: true,
|
|
sortable: true,
|
|
filter: 'agDateColumnFilter',
|
|
filter: 'agDateColumnFilter',
|
|
@@ -729,7 +762,7 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- headerName: '离开时间',
|
|
|
|
|
|
+ headerName: this.$t('customerManage.outDate'),
|
|
field: 'out_date',
|
|
field: 'out_date',
|
|
sortable: true,
|
|
sortable: true,
|
|
filter: 'agDateColumnFilter',
|
|
filter: 'agDateColumnFilter',
|
|
@@ -742,11 +775,11 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- headerName: '编辑', field: 'id',
|
|
|
|
|
|
+ headerName: this.$t('action.edit'), field: 'id',
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
cellRendererParams: {
|
|
cellRendererParams: {
|
|
onClick: this.handleEdit,
|
|
onClick: this.handleEdit,
|
|
- label: '编辑',
|
|
|
|
|
|
+ label: this.$t('action.edit'),
|
|
buttonType: 'primary',
|
|
buttonType: 'primary',
|
|
buttonSize: 'mini'
|
|
buttonSize: 'mini'
|
|
},
|
|
},
|
|
@@ -758,12 +791,12 @@
|
|
sortable: false
|
|
sortable: false
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- headerName: '退床', field: 'id',
|
|
|
|
|
|
+ headerName: this.$t('customerManage.outBed'), field: 'id',
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
cellRendererParams: param => {
|
|
cellRendererParams: param => {
|
|
return {
|
|
return {
|
|
onClick: this.handleOut,
|
|
onClick: this.handleOut,
|
|
- label: '退床',
|
|
|
|
|
|
+ label: this.$t('customerManage.outBed'),
|
|
buttonType: 'warning',
|
|
buttonType: 'warning',
|
|
buttonSize: 'mini',
|
|
buttonSize: 'mini',
|
|
disabled: param.data['status'] !== 0
|
|
disabled: param.data['status'] !== 0
|
|
@@ -777,12 +810,12 @@
|
|
sortable: false
|
|
sortable: false
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- headerName: '换床', field: 'id',
|
|
|
|
|
|
+ headerName: this.$t('customerManage.changeBed'), field: 'id',
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
cellRendererParams: param => {
|
|
cellRendererParams: param => {
|
|
return {
|
|
return {
|
|
onClick: this.handleChangeBed,
|
|
onClick: this.handleChangeBed,
|
|
- label: '换床',
|
|
|
|
|
|
+ label: this.$t('customerManage.changeBed'),
|
|
buttonType: 'success',
|
|
buttonType: 'success',
|
|
buttonSize: 'mini',
|
|
buttonSize: 'mini',
|
|
disabled: param.data['status'] !== 0
|
|
disabled: param.data['status'] !== 0
|
|
@@ -796,12 +829,12 @@
|
|
sortable: false
|
|
sortable: false
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- headerName: '删除', field: 'shop_id',
|
|
|
|
|
|
+ headerName: this.$t('action.delete'), field: 'shop_id',
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
cellRendererFramework: 'ButtonCellRender',
|
|
cellRendererParams: param => {
|
|
cellRendererParams: param => {
|
|
return {
|
|
return {
|
|
onClick: this.deleteSingle,
|
|
onClick: this.deleteSingle,
|
|
- label: '删除',
|
|
|
|
|
|
+ label: this.$t('action.delete'),
|
|
buttonType: 'danger',
|
|
buttonType: 'danger',
|
|
buttonSize: 'mini',
|
|
buttonSize: 'mini',
|
|
disabled: param.data['member_name'] === 'superadmin'
|
|
disabled: param.data['member_name'] === 'superadmin'
|
|
@@ -874,7 +907,7 @@
|
|
this.emptyBeds = [...res]
|
|
this.emptyBeds = [...res]
|
|
resolve()
|
|
resolve()
|
|
}).catch(err => {
|
|
}).catch(err => {
|
|
- this.$message.error('获取空床位:' + err.message)
|
|
|
|
|
|
+ this.$message.error(this.$t('customerManage.getEmptyBed') + err.message)
|
|
reject()
|
|
reject()
|
|
})
|
|
})
|
|
})
|
|
})
|
|
@@ -981,7 +1014,7 @@
|
|
if (item) {
|
|
if (item) {
|
|
return '<span style="color:' + item.color + ';">' + item.key + '</span>'
|
|
return '<span style="color:' + item.color + ';">' + item.key + '</span>'
|
|
} else {
|
|
} else {
|
|
- return '未知'
|
|
|
|
|
|
+ return this.$t('member.unknown')
|
|
}
|
|
}
|
|
},
|
|
},
|
|
/** 状态格式化 **/
|
|
/** 状态格式化 **/
|
|
@@ -991,7 +1024,7 @@
|
|
if (item) {
|
|
if (item) {
|
|
return '<span style="color:' + item.color + ';">' + item.key + '</span>'
|
|
return '<span style="color:' + item.color + ';">' + item.key + '</span>'
|
|
} else {
|
|
} else {
|
|
- return '未知'
|
|
|
|
|
|
+ return this.$t('member.unknown')
|
|
}
|
|
}
|
|
},
|
|
},
|
|
/** 格式化时间函数 */
|
|
/** 格式化时间函数 */
|
|
@@ -1076,10 +1109,10 @@
|
|
const isImg = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'image/gif'
|
|
const isImg = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'image/gif'
|
|
const isLt2M = file.size / 1024 / 1024 < 2
|
|
const isLt2M = file.size / 1024 / 1024 < 2
|
|
if (!isImg) {
|
|
if (!isImg) {
|
|
- this.$message.error('上传头像图片只能是 JPG、PNG、GIF 格式!')
|
|
|
|
|
|
+ this.$message.error(this.$t('member.faceImg'))
|
|
}
|
|
}
|
|
if (!isLt2M) {
|
|
if (!isLt2M) {
|
|
- this.$message.error('上传头像图片大小不能超过 2MB!')
|
|
|
|
|
|
+ this.$message.error(this.$t('member.faceSize'))
|
|
}
|
|
}
|
|
return isImg && isLt2M
|
|
return isImg && isLt2M
|
|
},
|
|
},
|
|
@@ -1104,7 +1137,7 @@
|
|
this.formmodel.list = list
|
|
this.formmodel.list = list
|
|
if (!this.formmodel.id) {
|
|
if (!this.formmodel.id) {
|
|
API_Customer.addAll(this.formmodel).then(res => {
|
|
API_Customer.addAll(this.formmodel).then(res => {
|
|
- this.$message.success('添加成功!')
|
|
|
|
|
|
+ this.$message.success(this.$t('action.addSuccess'))
|
|
this.customerFormVisible = false
|
|
this.customerFormVisible = false
|
|
this.isDisabled = false
|
|
this.isDisabled = false
|
|
this.getList()
|
|
this.getList()
|
|
@@ -1115,7 +1148,7 @@
|
|
})
|
|
})
|
|
} else {
|
|
} else {
|
|
API_Customer.updateAll(this.formmodel).then(res => {
|
|
API_Customer.updateAll(this.formmodel).then(res => {
|
|
- this.$message.success('修改成功!')
|
|
|
|
|
|
+ this.$message.success(this.$t('action.editSuccess'))
|
|
this.customerFormVisible = false
|
|
this.customerFormVisible = false
|
|
this.getList()
|
|
this.getList()
|
|
this.isDisabled = false
|
|
this.isDisabled = false
|
|
@@ -1126,7 +1159,7 @@
|
|
})
|
|
})
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- this.$message.error('表单填写有误,请检查!')
|
|
|
|
|
|
+ this.$message.error(this.$t('action.fromError'))
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -1138,10 +1171,10 @@
|
|
},
|
|
},
|
|
/** 单条数据删除处理 */
|
|
/** 单条数据删除处理 */
|
|
handlerDelete(ids) {
|
|
handlerDelete(ids) {
|
|
- const test = '你确定要删除此用户信息?'
|
|
|
|
- this.$confirm(test, '警告', {
|
|
|
|
- confirmButtonText: '确定',
|
|
|
|
- cancelButtonText: '取消',
|
|
|
|
|
|
+ const test = this.$t('member.deleteMember')
|
|
|
|
+ this.$confirm(test, this.$t('action.waring'), {
|
|
|
|
+ confirmButtonText: this.$t('action.yes'),
|
|
|
|
+ cancelButtonText: this.$t('action.cancel'),
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
API_Customer.remove(ids).then(
|
|
API_Customer.remove(ids).then(
|
|
@@ -1156,7 +1189,7 @@
|
|
})
|
|
})
|
|
})
|
|
})
|
|
}).catch(() => {
|
|
}).catch(() => {
|
|
- this.$message.info('取消删除!')
|
|
|
|
|
|
+ this.$message.info(this.$t('action.cancelDelete'))
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
|
|
@@ -1198,18 +1231,18 @@
|
|
...row,
|
|
...row,
|
|
status: 1
|
|
status: 1
|
|
}
|
|
}
|
|
- this.$confirm('确定退床吗?', '警告', {
|
|
|
|
- confirmButtonText: '确定',
|
|
|
|
- cancelButtonText: '取消',
|
|
|
|
|
|
+ this.$confirm(this.$t('customerManage.sureOutBed'), this.$t('action.waring'), {
|
|
|
|
+ confirmButtonText: this.$t('action.yes'),
|
|
|
|
+ cancelButtonText: this.$t('action.cancel'),
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
API_Customer.updateAll(this.formmodel).then(res => {
|
|
API_Customer.updateAll(this.formmodel).then(res => {
|
|
- this.$message.success('退床成功!')
|
|
|
|
|
|
+ this.$message.success(this.$t('customerManage.outBedSuccess'))
|
|
this.getList()
|
|
this.getList()
|
|
this.infoChanged()
|
|
this.infoChanged()
|
|
})
|
|
})
|
|
}).catch(err => {
|
|
}).catch(err => {
|
|
- this.$message.info('取消操作!')
|
|
|
|
|
|
+ this.$message.info(this.$t('action.cancelHandle'))
|
|
})
|
|
})
|
|
},
|
|
},
|
|
/** 换床 **/
|
|
/** 换床 **/
|
|
@@ -1226,13 +1259,13 @@
|
|
this.$refs[formName].validate(valid => {
|
|
this.$refs[formName].validate(valid => {
|
|
if (valid) {
|
|
if (valid) {
|
|
API_Customer.updateAll(this.changeBedFormModel).then(res => {
|
|
API_Customer.updateAll(this.changeBedFormModel).then(res => {
|
|
- this.$message.success('换床成功!')
|
|
|
|
|
|
+ this.$message.success(this.$t('customerManage.changeBedSuccess'))
|
|
this.getList()
|
|
this.getList()
|
|
this.infoChanged()
|
|
this.infoChanged()
|
|
this.changeBedFormVisible = false
|
|
this.changeBedFormVisible = false
|
|
})
|
|
})
|
|
} else {
|
|
} else {
|
|
- this.$message.error('表单填写有误,请检查!')
|
|
|
|
|
|
+ this.$message.error(this.$t('action.fromError'))
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -1261,13 +1294,13 @@
|
|
}
|
|
}
|
|
|
|
|
|
API_Remark.save(data).then(res => {
|
|
API_Remark.save(data).then(res => {
|
|
- this.$message.success('添加成功!')
|
|
|
|
|
|
+ this.$message.success(this.$t('action.addSuccess'))
|
|
this.remarkFormModel = {}
|
|
this.remarkFormModel = {}
|
|
this.attachFilePath = null
|
|
this.attachFilePath = null
|
|
this.getRemarks()
|
|
this.getRemarks()
|
|
})
|
|
})
|
|
} else {
|
|
} else {
|
|
- this.$message.error('表单填写有误,请检查!')
|
|
|
|
|
|
+ this.$message.error(this.$t('action.fromError'))
|
|
return false
|
|
return false
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -1287,11 +1320,11 @@
|
|
const isImg = extension === 'jpeg' || extension === 'png' || extension === 'jpg' || extension === 'txt' || extension === 'doc' || extension === 'docx' || extension === 'xls' || extension === 'xlsx'
|
|
const isImg = extension === 'jpeg' || extension === 'png' || extension === 'jpg' || extension === 'txt' || extension === 'doc' || extension === 'docx' || extension === 'xls' || extension === 'xlsx'
|
|
const isLt5M = file.size / 1024 / 1024 < 5
|
|
const isLt5M = file.size / 1024 / 1024 < 5
|
|
if (!isImg) {
|
|
if (!isImg) {
|
|
- this.$message.error('上传附件只能是txt,doc,docx,xls,xlsx,jpg,png,jpeg格式!')
|
|
|
|
|
|
+ this.$message.error(this.$t('customerManage.uploaderImg'))
|
|
reject()
|
|
reject()
|
|
}
|
|
}
|
|
if (!isLt5M) {
|
|
if (!isLt5M) {
|
|
- this.$message.error('上传附件大小不能超过 5MB!')
|
|
|
|
|
|
+ this.$message.error(this.$t('customerManage.uploaderSize'))
|
|
reject()
|
|
reject()
|
|
}
|
|
}
|
|
resolve()
|
|
resolve()
|
|
@@ -1325,10 +1358,10 @@
|
|
},
|
|
},
|
|
/** 单条数据删除处理 */
|
|
/** 单条数据删除处理 */
|
|
handlerDeleteRelative(ids) {
|
|
handlerDeleteRelative(ids) {
|
|
- const test = '你确定要删除此病人亲属信息?'
|
|
|
|
- this.$confirm(test, '警告', {
|
|
|
|
- confirmButtonText: '确定',
|
|
|
|
- cancelButtonText: '取消',
|
|
|
|
|
|
+ const test = this.$t('customerManage.sureDeleteRelative')
|
|
|
|
+ this.$confirm(test, this.$t('action.waring'), {
|
|
|
|
+ confirmButtonText: this.$t('action.yes'),
|
|
|
|
+ cancelButtonText: this.$t('action.cancel'),
|
|
type: 'warning'
|
|
type: 'warning'
|
|
}).then(() => {
|
|
}).then(() => {
|
|
API_User.remove(ids).then(
|
|
API_User.remove(ids).then(
|
|
@@ -1345,11 +1378,11 @@
|
|
},
|
|
},
|
|
formatterSex(row, column, cellValue) {
|
|
formatterSex(row, column, cellValue) {
|
|
if (row.sex === 1) {
|
|
if (row.sex === 1) {
|
|
- return '男'
|
|
|
|
|
|
+ return this.$t('member.man')
|
|
} else if (row.sex === 0) {
|
|
} else if (row.sex === 0) {
|
|
- return '女'
|
|
|
|
|
|
+ return this.$t('member.woman')
|
|
} else {
|
|
} else {
|
|
- return '未知'
|
|
|
|
|
|
+ return this.$t('member.unknown')
|
|
}
|
|
}
|
|
},
|
|
},
|
|
/** 信息变化后操作,如床位状态改变,传入的空间结构变化了 **/
|
|
/** 信息变化后操作,如床位状态改变,传入的空间结构变化了 **/
|
|
@@ -1451,7 +1484,7 @@
|
|
batchDelete: function () {
|
|
batchDelete: function () {
|
|
const rows = this.gridApi.getSelectedRows()
|
|
const rows = this.gridApi.getSelectedRows()
|
|
if (rows.length === 0) {
|
|
if (rows.length === 0) {
|
|
- this.$message({type: 'info', message: '请先勾选需要删除的数据'})
|
|
|
|
|
|
+ this.$message({type: 'info', message: this.$t('member.pleaseChoiceDelete')})
|
|
return
|
|
return
|
|
}
|
|
}
|
|
const ids = []
|
|
const ids = []
|
|
@@ -1465,6 +1498,9 @@
|
|
},
|
|
},
|
|
async deleteMembers(ids) {
|
|
async deleteMembers(ids) {
|
|
API_User.remove(ids)
|
|
API_User.remove(ids)
|
|
|
|
+ },
|
|
|
|
+ qrCode(member_id){
|
|
|
|
+ return 'http://m.wdklian.com/care/apk/care.user?type=USER_LOGIN&uid=' + member_id
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|