|
|
@ -47,13 +47,36 @@ |
|
|
</div> |
|
|
</div> |
|
|
<el-dialog :title="title == 1 ? '新增' : '修改'" :visible.sync="dialogVisible" width="800px" |
|
|
<el-dialog :title="title == 1 ? '新增' : '修改'" :visible.sync="dialogVisible" width="800px" |
|
|
:close-on-click-modal="false"> |
|
|
:close-on-click-modal="false"> |
|
|
<el-form ref="form" :model="form" label-width="80px"> |
|
|
|
|
|
|
|
|
<el-form ref="form" :model="form" label-width="80px" :rules="rules"> |
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col :span="title == 1 ? '4' : '6'"> |
|
|
|
|
|
|
|
|
<el-col :span="6"> |
|
|
<el-form-item label="编号"> |
|
|
<el-form-item label="编号"> |
|
|
<el-input v-model="form.id" disabled size="small"></el-input> |
|
|
<el-input v-model="form.id" disabled size="small"></el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
<el-col :span="4" v-if="title != 1"> |
|
|
|
|
|
<el-form-item label="是否完成"> |
|
|
|
|
|
<el-checkbox v-model="form.isComplete" true-label="Y" false-label="N" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<el-form-item label="随访来源" prop="followUpSourceId"> |
|
|
|
|
|
<el-select v-model="form.followUpSourceId" placeholder="随访来源" size="small"> |
|
|
|
|
|
<el-option v-for="item in dict.followUpSources" :key="item.id" :label="item.displayName" |
|
|
|
|
|
:value="item.id"></el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="6"> |
|
|
|
|
|
<el-form-item label="随访类型" prop="followUpTypeId"> |
|
|
|
|
|
<el-select v-model="form.followUpTypeId" placeholder="随访来源" size="small"> |
|
|
|
|
|
<el-option v-for="item in dict.followUpTypes" :key="item.id" :label="item.displayName" |
|
|
|
|
|
:value="item.id"></el-option> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row> |
|
|
<el-col :span="6" v-if="title == 1"> |
|
|
<el-col :span="6" v-if="title == 1"> |
|
|
<el-form-item label="生成模式"> |
|
|
<el-form-item label="生成模式"> |
|
|
<el-select v-model="mode" placeholder="生成模式" size="small"> |
|
|
<el-select v-model="mode" placeholder="生成模式" size="small"> |
|
|
@ -74,26 +97,21 @@ |
|
|
<el-col :span="4" v-if="title == 1 && mode == 1"> |
|
|
<el-col :span="4" v-if="title == 1 && mode == 1"> |
|
|
<el-form-item label="开始时间"> |
|
|
<el-form-item label="开始时间"> |
|
|
<el-date-picker placeholder="选择日期时间" size="small" v-model="form.startDate" value-format="yyyy-MM-dd" |
|
|
<el-date-picker placeholder="选择日期时间" size="small" v-model="form.startDate" value-format="yyyy-MM-dd" |
|
|
editable style="width: 177px"> |
|
|
|
|
|
|
|
|
editable style="width: 115px"> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="4" v-if="title == 1 && mode == 0"> |
|
|
<el-col :span="4" v-if="title == 1 && mode == 0"> |
|
|
<el-form-item label="随访日期"> |
|
|
<el-form-item label="随访日期"> |
|
|
<el-date-picker placeholder="选择日期时间" size="small" v-model="form.planFollowDate" value-format="yyyy-MM-dd" |
|
|
<el-date-picker placeholder="选择日期时间" size="small" v-model="form.planFollowDate" value-format="yyyy-MM-dd" |
|
|
editable style="width: 177px"> |
|
|
|
|
|
|
|
|
editable style="width: 115px"> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="4" v-if="title != 1"> |
|
|
|
|
|
<el-form-item label="是否完成"> |
|
|
|
|
|
<el-checkbox v-model="form.isComplete" true-label="Y" false-label="N" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col :span="4" v-if="title != 1"> |
|
|
<el-col :span="4" v-if="title != 1"> |
|
|
<el-form-item label="随访日期"> |
|
|
<el-form-item label="随访日期"> |
|
|
<el-date-picker placeholder="选择日期时间" size="small" v-model="form.planFollowDate" value-format="yyyy-MM-dd" |
|
|
<el-date-picker placeholder="选择日期时间" size="small" v-model="form.planFollowDate" value-format="yyyy-MM-dd" |
|
|
editable style="width: 177px"> |
|
|
|
|
|
|
|
|
editable style="width: 115px"> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
@ -163,6 +181,7 @@ import { getapi, postapi, putapi, deletapi } from "../../api/api"; |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
components: {}, |
|
|
components: {}, |
|
|
|
|
|
props: ['refParams'], |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
phoneFollowUp: [], // 电话随访 |
|
|
phoneFollowUp: [], // 电话随访 |
|
|
@ -177,8 +196,20 @@ export default { |
|
|
generateCount: "", |
|
|
generateCount: "", |
|
|
intervalDays: "", |
|
|
intervalDays: "", |
|
|
generateCount: "", |
|
|
generateCount: "", |
|
|
replyContent: "" |
|
|
|
|
|
|
|
|
replyContent: "", |
|
|
|
|
|
followUpSourceId: "03", // 01-医生站,02-总检医生站,03-客服,99-其它 |
|
|
|
|
|
followUpTypeId: "01" // 01-普通,02-复查,03-危急值,99-其它,01-30为系统保留,31以后给客户自定义用 |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
rules: { |
|
|
|
|
|
followUpSourceId: [ |
|
|
|
|
|
{ required: true, message: "请填写随访来源", trigger: "blur" }, |
|
|
|
|
|
], |
|
|
|
|
|
followUpTypeId: [ |
|
|
|
|
|
{ required: true, message: "请填写随访类型", trigger: "blur" }, |
|
|
|
|
|
] |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
mode: "0", |
|
|
mode: "0", |
|
|
modes: [ |
|
|
modes: [ |
|
|
{ |
|
|
{ |
|
|
@ -212,7 +243,7 @@ export default { |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
computed: { |
|
|
computed: { |
|
|
...mapState(["window", "dataTransOpts", "dict", "patientRegister"]), |
|
|
|
|
|
|
|
|
...mapState(["window", "dict" ]), |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
dddw, |
|
|
dddw, |
|
|
@ -224,11 +255,23 @@ export default { |
|
|
postapi("/api/app/Asbitem/GetSimpleAsbitemWithDetails").then((res) => { |
|
|
postapi("/api/app/Asbitem/GetSimpleAsbitemWithDetails").then((res) => { |
|
|
if (res.code > -1) this.asbItems = res.data; |
|
|
if (res.code > -1) this.asbItems = res.data; |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 获取随访来源 |
|
|
|
|
|
postapi("/api/app/FollowUpSource/GetList").then((res) => { |
|
|
|
|
|
if (res.code > -1) this.dict.followUpSources = res.data; |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 获取随访类型 |
|
|
|
|
|
postapi("/api/app/FollowUpType/GetList").then((res) => { |
|
|
|
|
|
if (res.code > -1) this.dict.followUpTypes = res.data; |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
getLists() { |
|
|
getLists() { |
|
|
if (this.dataTransOpts.tableS.patient_register.followUpId) { |
|
|
|
|
|
|
|
|
if (this.refParams.followUpId) { |
|
|
postapi("/api/app/PhoneFollowUp/GetList", { |
|
|
postapi("/api/app/PhoneFollowUp/GetList", { |
|
|
followUpId: this.dataTransOpts.tableS.patient_register.followUpId, |
|
|
|
|
|
|
|
|
followUpId: this.refParams.followUpId, |
|
|
}).then((res) => { |
|
|
}).then((res) => { |
|
|
if (res.code > -1) this.phoneFollowUp = res.data; |
|
|
if (res.code > -1) this.phoneFollowUp = res.data; |
|
|
}); |
|
|
}); |
|
|
@ -237,36 +280,55 @@ export default { |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
addoredit() { |
|
|
addoredit() { |
|
|
if (this.title == 1) { |
|
|
|
|
|
if (this.mode == 1) { |
|
|
|
|
|
if (this.form.intervalDays == "") { |
|
|
|
|
|
this.$message.warning("请输入间隔天数"); |
|
|
|
|
|
} else if (this.form.startDate == "") { |
|
|
|
|
|
this.$message.warning("请选择开始时间"); |
|
|
|
|
|
} else if (this.form.generateCount == "") { |
|
|
|
|
|
this.$message.warning("请输入生成次数"); |
|
|
|
|
|
} else { |
|
|
|
|
|
postapi("/api/app/PhoneFollowUp/AutoCreate", { |
|
|
|
|
|
followUpId: this.dataTransOpts.tableS.patient_register.followUpId, |
|
|
|
|
|
intervalDays: this.form.intervalDays, |
|
|
|
|
|
startDate: this.form.startDate, |
|
|
|
|
|
followUpContent: this.form.followUpContent, |
|
|
|
|
|
generateCount: this.form.generateCount, |
|
|
|
|
|
}).then((res) => { |
|
|
|
|
|
if (res.code > -1) { |
|
|
|
|
|
this.getLists(); |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
this.mode = "0"; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} else if (this.mode == 0) { |
|
|
|
|
|
if (this.form.planFollowDate == "") { |
|
|
|
|
|
this.$message.warning("请选择随访日期"); |
|
|
|
|
|
|
|
|
this.$refs['form'].validate((valid, fields) => { |
|
|
|
|
|
// console.log('fields', fields) |
|
|
|
|
|
if (!valid) { |
|
|
|
|
|
this.$message.warning({ showClose: true, message: fields[Object.keys(fields)[0]][0].message }); |
|
|
|
|
|
return false |
|
|
|
|
|
} |
|
|
|
|
|
if (this.title == 1) { |
|
|
|
|
|
if (this.mode == 1) { |
|
|
|
|
|
if (this.form.intervalDays == "") { |
|
|
|
|
|
this.$message.warning("请输入间隔天数"); |
|
|
|
|
|
} else if (this.form.startDate == "") { |
|
|
|
|
|
this.$message.warning("请选择开始时间"); |
|
|
|
|
|
} else if (this.form.generateCount == "") { |
|
|
|
|
|
this.$message.warning("请输入生成次数"); |
|
|
|
|
|
} else { |
|
|
|
|
|
postapi("/api/app/PhoneFollowUp/AutoCreate", { |
|
|
|
|
|
followUpId: this.refParams.followUpId, |
|
|
|
|
|
intervalDays: this.form.intervalDays, |
|
|
|
|
|
startDate: this.form.startDate, |
|
|
|
|
|
followUpContent: this.form.followUpContent, |
|
|
|
|
|
generateCount: this.form.generateCount, |
|
|
|
|
|
}).then((res) => { |
|
|
|
|
|
if (res.code > -1) { |
|
|
|
|
|
this.getLists(); |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
this.mode = "0"; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
} else if (this.mode == 0) { |
|
|
|
|
|
if (this.form.planFollowDate == "") { |
|
|
|
|
|
this.$message.warning("请选择随访日期"); |
|
|
|
|
|
} else { |
|
|
|
|
|
postapi("/api/app/PhoneFollowUp/Create", { |
|
|
|
|
|
followUpId: this.refParams.followUpId, |
|
|
|
|
|
planFollowDate: this.form.planFollowDate, |
|
|
|
|
|
followUpContent: this.form.followUpContent, |
|
|
|
|
|
replyContent: this.form.replyContent, |
|
|
|
|
|
}).then((res) => { |
|
|
|
|
|
if (res.code > -1) { |
|
|
|
|
|
this.getLists(); |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
this.mode = "0"; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
postapi("/api/app/PhoneFollowUp/Create", { |
|
|
|
|
|
followUpId: this.dataTransOpts.tableS.patient_register.followUpId, |
|
|
|
|
|
planFollowDate: this.form.planFollowDate, |
|
|
|
|
|
|
|
|
postapi("/api/app/PhoneFollowUp/CreateThreeMonthPlan", { |
|
|
|
|
|
followUpId: this.refParams.followUpId, |
|
|
followUpContent: this.form.followUpContent, |
|
|
followUpContent: this.form.followUpContent, |
|
|
replyContent: this.form.replyContent, |
|
|
replyContent: this.form.replyContent, |
|
|
}).then((res) => { |
|
|
}).then((res) => { |
|
|
@ -278,10 +340,12 @@ export default { |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
postapi("/api/app/PhoneFollowUp/CreateThreeMonthPlan", { |
|
|
|
|
|
followUpId: this.dataTransOpts.tableS.patient_register.followUpId, |
|
|
|
|
|
|
|
|
postapi("/api/app/PhoneFollowUp/Update", { |
|
|
|
|
|
phoneFollowUpId: this.form.id, |
|
|
|
|
|
planFollowDate: this.form.planFollowDate, |
|
|
followUpContent: this.form.followUpContent, |
|
|
followUpContent: this.form.followUpContent, |
|
|
replyContent: this.form.replyContent, |
|
|
replyContent: this.form.replyContent, |
|
|
|
|
|
isComplete: this.form.isComplete, |
|
|
}).then((res) => { |
|
|
}).then((res) => { |
|
|
if (res.code > -1) { |
|
|
if (res.code > -1) { |
|
|
this.getLists(); |
|
|
this.getLists(); |
|
|
@ -290,21 +354,7 @@ export default { |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
|
|
|
postapi("/api/app/PhoneFollowUp/Update", { |
|
|
|
|
|
phoneFollowUpId: this.form.id, |
|
|
|
|
|
planFollowDate: this.form.planFollowDate, |
|
|
|
|
|
followUpContent: this.form.followUpContent, |
|
|
|
|
|
replyContent: this.form.replyContent, |
|
|
|
|
|
isComplete: this.form.isComplete, |
|
|
|
|
|
}).then((res) => { |
|
|
|
|
|
if (res.code > -1) { |
|
|
|
|
|
this.getLists(); |
|
|
|
|
|
this.dialogVisible = false; |
|
|
|
|
|
this.mode = "0"; |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
}) |
|
|
}, |
|
|
}, |
|
|
rowick(row) { |
|
|
rowick(row) { |
|
|
this.curRow = { ...row }; |
|
|
this.curRow = { ...row }; |
|
|
@ -330,7 +380,7 @@ export default { |
|
|
this.dialogVisible = true; |
|
|
this.dialogVisible = true; |
|
|
this.title = 1; |
|
|
this.title = 1; |
|
|
this.form = this.$options.data().form; |
|
|
this.form = this.$options.data().form; |
|
|
let followUpContent = this.dataTransOpts.tableS.patient_register.criticalValueContents |
|
|
|
|
|
|
|
|
let followUpContent = this.refParams.criticalValueContents |
|
|
do { |
|
|
do { |
|
|
followUpContent = followUpContent.replace('<br>', '\r\n') |
|
|
followUpContent = followUpContent.replace('<br>', '\r\n') |
|
|
} while (followUpContent.includes('<br>')); |
|
|
} while (followUpContent.includes('<br>')); |
|
|
@ -389,11 +439,11 @@ export default { |
|
|
{ value: "本人已接电话,已通知避免过度劳累,必要时医院复查。" }, |
|
|
{ value: "本人已接电话,已通知避免过度劳累,必要时医院复查。" }, |
|
|
{ value: "本人已接电话,xxxxx,已做手术,正在恢复期。" }, |
|
|
{ value: "本人已接电话,xxxxx,已做手术,正在恢复期。" }, |
|
|
]; |
|
|
]; |
|
|
if(queryString){ |
|
|
|
|
|
|
|
|
if (queryString) { |
|
|
restaurants.filter(e => { |
|
|
restaurants.filter(e => { |
|
|
if(e.value.toUpperCase().includes(queryString.toUpperCase())) return e |
|
|
|
|
|
|
|
|
if (e.value.toUpperCase().includes(queryString.toUpperCase())) return e |
|
|
}) |
|
|
}) |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
// 调用 callback 返回建议列表的数据 |
|
|
// 调用 callback 返回建议列表的数据 |
|
|
cb(restaurants); |
|
|
cb(restaurants); |
|
|
}, |
|
|
}, |
|
|
@ -402,14 +452,14 @@ export default { |
|
|
//监听事件 |
|
|
//监听事件 |
|
|
watch: { |
|
|
watch: { |
|
|
//人员ID未切换换时 也可以强制刷新数据 |
|
|
//人员ID未切换换时 也可以强制刷新数据 |
|
|
"dataTransOpts.refresh.register_check_asbitem.M": { |
|
|
|
|
|
|
|
|
"refParams.brushTimes": { |
|
|
// immediate:true, |
|
|
// immediate:true, |
|
|
handler(newVal, oldVal) { |
|
|
handler(newVal, oldVal) { |
|
|
console.log( |
|
|
|
|
|
`watch 人员登记 newVal:${newVal} oldVal:${oldVal} registerCheckId: ${this.dataTransOpts.tableS.patient_register.id}` |
|
|
|
|
|
); |
|
|
|
|
|
// if (newVal != oldVal) |
|
|
|
|
|
this.getLists(); |
|
|
|
|
|
|
|
|
console.log(`watch 电话随访 newVal:${newVal} oldVal:${oldVal} refParams: `,this.refParams); |
|
|
|
|
|
if (newVal != oldVal){ |
|
|
|
|
|
this.getLists(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
}, |
|
|
|