|
@ -69,14 +69,14 @@ |
|
|
label="队列名称" |
|
|
label="队列名称" |
|
|
align="center" |
|
|
align="center" |
|
|
prop="name" |
|
|
prop="name" |
|
|
width="100" |
|
|
min-width="130" |
|
|
/> |
|
|
/> |
|
|
<el-table-column |
|
|
<el-table-column |
|
|
label="随访方式" |
|
|
label="随访方式" |
|
|
align="center" |
|
|
align="center" |
|
|
prop="followupMethod" |
|
|
prop="followupMethod" |
|
|
show-overflow-tooltip |
|
|
show-overflow-tooltip |
|
|
width="100" |
|
|
min-width="100" |
|
|
> |
|
|
> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<span v-if="scope.row.followupMethod == 0">电话随访</span> |
|
|
<span v-if="scope.row.followupMethod == 0">电话随访</span> |
|
@ -89,7 +89,7 @@ |
|
|
label="随访类型" |
|
|
label="随访类型" |
|
|
align="center" |
|
|
align="center" |
|
|
show-overflow-tooltip |
|
|
show-overflow-tooltip |
|
|
width="150" |
|
|
min-width="150" |
|
|
> |
|
|
> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<span v-if="scope.row.followupType == 0">单次</span> |
|
|
<span v-if="scope.row.followupType == 0">单次</span> |
|
@ -101,29 +101,28 @@ |
|
|
align="center" |
|
|
align="center" |
|
|
prop="frequency" |
|
|
prop="frequency" |
|
|
show-overflow-tooltip |
|
|
show-overflow-tooltip |
|
|
width="100" |
|
|
min-width="100" |
|
|
/> |
|
|
/> |
|
|
<el-table-column |
|
|
<el-table-column |
|
|
label="状态" |
|
|
label="状态" |
|
|
align="center" |
|
|
align="center" |
|
|
prop="status" |
|
|
prop="status" |
|
|
show-overflow-tooltip |
|
|
show-overflow-tooltip |
|
|
width="100" |
|
|
min-width="100" |
|
|
> |
|
|
> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<span v-if="scope.row.status == 0">禁用</span> |
|
|
<span v-if="scope.row.status == 0" style="color: red">禁用</span> |
|
|
<span v-if="scope.row.status == 1">启用</span> |
|
|
<span v-if="scope.row.status == 1" style="color: green">启用</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column |
|
|
<el-table-column |
|
|
label="创建人" |
|
|
label="创建人/创建时间" |
|
|
align="center" |
|
|
align="center" |
|
|
prop="createBy" |
|
|
min-width="130" |
|
|
show-overflow-tooltip |
|
|
fixed="right" |
|
|
width="100" |
|
|
> |
|
|
/> |
|
|
|
|
|
<el-table-column label="创建时间" align="center" width="130"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
|
|
|
<div>{{ scope.row.createBy }}</div> |
|
|
<span>{{ |
|
|
<span>{{ |
|
|
parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") |
|
|
parseTime(scope.row.createTime, "{y}-{m}-{d} {h}:{i}") |
|
|
}}</span> |
|
|
}}</span> |
|
@ -179,8 +178,8 @@ |
|
|
<el-form-item label="随访方式" prop="followupMethod"> |
|
|
<el-form-item label="随访方式" prop="followupMethod"> |
|
|
<el-select v-model="form.followupMethod" placeholder="请选择"> |
|
|
<el-select v-model="form.followupMethod" placeholder="请选择"> |
|
|
<el-option label="电话随访" :value="0"> </el-option> |
|
|
<el-option label="电话随访" :value="0"> </el-option> |
|
|
<el-option label="电话随访" :value="1"> </el-option> |
|
|
<el-option label="入户随访" :value="1"> </el-option> |
|
|
<el-option label="电话随访" :value="2"> </el-option> |
|
|
<el-option label="到院随访" :value="2"> </el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="随访类型" prop="followupType"> |
|
|
<el-form-item label="随访类型" prop="followupType"> |
|
@ -189,13 +188,25 @@ |
|
|
<el-radio :label="1">周期</el-radio> |
|
|
<el-radio :label="1">周期</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="随访频次" prop="frequency"> |
|
|
<el-form-item label="随访频次" prop="followupType"> |
|
|
<el-input v-model="form.frequency" placeholder="请输入" /> |
|
|
<el-input v-model="form.frequency" placeholder="请输入cron执行表达式"> |
|
|
|
|
|
<template slot="append"> |
|
|
|
|
|
<el-button |
|
|
|
|
|
style="width: 110px" |
|
|
|
|
|
type="primary" |
|
|
|
|
|
@click="handleShowCron" |
|
|
|
|
|
> |
|
|
|
|
|
生成表达式 |
|
|
|
|
|
<i class="el-icon-time el-icon--right"></i> |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
<el-form-item label="状态" prop="status"> |
|
|
<el-form-item label="状态" prop="status"> |
|
|
<el-radio-group v-model="form.status"> |
|
|
<el-radio-group v-model="form.status"> |
|
|
<el-radio :label="0">禁用</el-radio> |
|
|
|
|
|
<el-radio :label="1">启用</el-radio> |
|
|
<el-radio :label="1">启用</el-radio> |
|
|
|
|
|
<el-radio :label="0">禁用</el-radio> |
|
|
</el-radio-group> |
|
|
</el-radio-group> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
@ -204,10 +215,24 @@ |
|
|
<el-button @click="cancel">取 消</el-button> |
|
|
<el-button @click="cancel">取 消</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
<el-dialog |
|
|
|
|
|
title="Cron表达式生成器" |
|
|
|
|
|
:visible.sync="openCron" |
|
|
|
|
|
append-to-body |
|
|
|
|
|
destroy-on-close |
|
|
|
|
|
class="scrollbar" |
|
|
|
|
|
> |
|
|
|
|
|
<crontab |
|
|
|
|
|
@hide="openCron = false" |
|
|
|
|
|
@fill="crontabFill" |
|
|
|
|
|
:expression="expression" |
|
|
|
|
|
></crontab> |
|
|
|
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
|
|
|
import Crontab from "@/components/Crontab"; |
|
|
import { |
|
|
import { |
|
|
followupQuery, |
|
|
followupQuery, |
|
|
followupAdd, |
|
|
followupAdd, |
|
@ -216,8 +241,13 @@ import { |
|
|
} from "@/api/followupFile"; |
|
|
} from "@/api/followupFile"; |
|
|
export default { |
|
|
export default { |
|
|
name: "Notice", |
|
|
name: "Notice", |
|
|
|
|
|
components: { Crontab }, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
|
|
|
// 是否显示Cron表达式弹出层 |
|
|
|
|
|
openCron: false, |
|
|
|
|
|
// 传入的表达式 |
|
|
|
|
|
expression: "", |
|
|
idCardType: [ |
|
|
idCardType: [ |
|
|
{ |
|
|
{ |
|
|
label: "身份证", |
|
|
label: "身份证", |
|
@ -267,30 +297,18 @@ export default { |
|
|
// 表单校验 |
|
|
// 表单校验 |
|
|
rules: { |
|
|
rules: { |
|
|
name: [ |
|
|
name: [ |
|
|
{ required: true, message: "患者姓名不能为空", trigger: "blur" }, |
|
|
{ required: true, message: "队列名称不能为空", trigger: "blur" }, |
|
|
], |
|
|
], |
|
|
gender: [ |
|
|
followupMethod: [ |
|
|
{ required: true, message: "性别不能为空", trigger: "change" }, |
|
|
{ required: true, message: "随访方式不能为空", trigger: "change" }, |
|
|
], |
|
|
], |
|
|
phone: [ |
|
|
followupType: [ |
|
|
{ required: true, message: "手机号码不能为空", trigger: "blur" }, |
|
|
{ required: true, message: "随访类型不能为空", trigger: "blur" }, |
|
|
], |
|
|
], |
|
|
ethnicity: [ |
|
|
frequency: [ |
|
|
{ required: true, message: "民族不能为空", trigger: "blur" }, |
|
|
{ required: true, message: "随访频次不能为空", trigger: "blur" }, |
|
|
], |
|
|
|
|
|
idCardType: [ |
|
|
|
|
|
{ required: true, message: "证件类型不能为空", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
idCard: [ |
|
|
|
|
|
{ required: true, message: "证件号码不能为空", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
currentIllnessHistory: [ |
|
|
|
|
|
{ |
|
|
|
|
|
required: true, |
|
|
|
|
|
message: "现病史不能为空", |
|
|
|
|
|
trigger: "blur", |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
], |
|
|
|
|
|
status: [{ required: true, message: "状态不能为空", trigger: "blur" }], |
|
|
}, |
|
|
}, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
@ -298,6 +316,15 @@ export default { |
|
|
this.getList(); |
|
|
this.getList(); |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
|
|
|
/** cron表达式按钮操作 */ |
|
|
|
|
|
handleShowCron() { |
|
|
|
|
|
this.expression = this.form.cronExpression; |
|
|
|
|
|
this.openCron = true; |
|
|
|
|
|
}, |
|
|
|
|
|
/** 确定后回传值 */ |
|
|
|
|
|
crontabFill(value) { |
|
|
|
|
|
this.form.frequency = value; |
|
|
|
|
|
}, |
|
|
/** 查询公告列表 */ |
|
|
/** 查询公告列表 */ |
|
|
getList() { |
|
|
getList() { |
|
|
this.loading = true; |
|
|
this.loading = true; |
|
@ -316,15 +343,10 @@ export default { |
|
|
reset() { |
|
|
reset() { |
|
|
this.form = { |
|
|
this.form = { |
|
|
name: "", // 姓名 |
|
|
name: "", // 姓名 |
|
|
gender: 0, // 性别 |
|
|
followupMethod: 0, // 随访方式 |
|
|
birthDate: "", // 出生日期 |
|
|
followupType: 0, // 随访类型 |
|
|
ethnicity: "", // 民族 |
|
|
frequency: "", // cron执行表达式 |
|
|
educationYears: "", // 教育程度 |
|
|
status: 1, // 状态 |
|
|
phone: "", // 联系电话 |
|
|
|
|
|
idCardType: "", // 证件类型 |
|
|
|
|
|
idCard: "", // 证件号码 |
|
|
|
|
|
currentIllnessHistory: [], // 现病史 |
|
|
|
|
|
currentIllnessHistoryQT: "", // 现病史 |
|
|
|
|
|
}; |
|
|
}; |
|
|
this.resetForm("form"); |
|
|
this.resetForm("form"); |
|
|
}, |
|
|
}, |
|
@ -348,24 +370,12 @@ export default { |
|
|
handleAdd() { |
|
|
handleAdd() { |
|
|
this.reset(); |
|
|
this.reset(); |
|
|
this.open = true; |
|
|
this.open = true; |
|
|
this.title = "新增患者档案"; |
|
|
this.title = "新增随访队列"; |
|
|
this.formDisabled = false; |
|
|
|
|
|
}, |
|
|
}, |
|
|
/** 修改按钮操作 */ |
|
|
/** 修改按钮操作 */ |
|
|
handleUpdate(row) { |
|
|
handleUpdate(row) { |
|
|
this.open = true; |
|
|
this.open = true; |
|
|
this.title = "修改患者档案"; |
|
|
this.title = "修改随访队列"; |
|
|
this.formDisabled = false; |
|
|
|
|
|
this.form = JSON.parse(JSON.stringify(row)); |
|
|
|
|
|
// 字符串转数组 |
|
|
|
|
|
this.form.currentIllnessHistory = |
|
|
|
|
|
this.form.currentIllnessHistory.split(","); |
|
|
|
|
|
}, |
|
|
|
|
|
/** 详情按钮操作 */ |
|
|
|
|
|
handleDetails(row) { |
|
|
|
|
|
this.open = true; |
|
|
|
|
|
this.title = "患者档案详情"; |
|
|
|
|
|
this.formDisabled = true; |
|
|
|
|
|
this.form = JSON.parse(JSON.stringify(row)); |
|
|
this.form = JSON.parse(JSON.stringify(row)); |
|
|
}, |
|
|
}, |
|
|
/** 提交按钮 */ |
|
|
/** 提交按钮 */ |
|
@ -373,13 +383,13 @@ export default { |
|
|
this.$refs["form"].validate((valid) => { |
|
|
this.$refs["form"].validate((valid) => { |
|
|
if (valid) { |
|
|
if (valid) { |
|
|
if (this.form.id != undefined) { |
|
|
if (this.form.id != undefined) { |
|
|
patientUpd(this.form).then((response) => { |
|
|
followupUpd(this.form).then((response) => { |
|
|
this.$modal.msgSuccess("修改成功"); |
|
|
this.$modal.msgSuccess("修改成功"); |
|
|
this.open = false; |
|
|
this.open = false; |
|
|
this.getList(); |
|
|
this.getList(); |
|
|
}); |
|
|
}); |
|
|
} else { |
|
|
} else { |
|
|
patientAdd(this.form).then((response) => { |
|
|
followupAdd(this.form).then((response) => { |
|
|
this.$modal.msgSuccess("新增成功"); |
|
|
this.$modal.msgSuccess("新增成功"); |
|
|
this.open = false; |
|
|
this.open = false; |
|
|
this.getList(); |
|
|
this.getList(); |
|
@ -391,7 +401,7 @@ export default { |
|
|
|
|
|
|
|
|
/** 删除按钮操作 */ |
|
|
/** 删除按钮操作 */ |
|
|
handleDelete(row) { |
|
|
handleDelete(row) { |
|
|
const idList = row.id || this.ids; |
|
|
const idList = row.id ? [row.id] : this.ids; |
|
|
this.$modal |
|
|
this.$modal |
|
|
.confirm("是否确认删除当前选择的患者数据?") |
|
|
.confirm("是否确认删除当前选择的患者数据?") |
|
|
.then(function () { |
|
|
.then(function () { |
|
|