|
@@ -31,6 +31,9 @@
|
|
|
<div class="operate-button-container" >
|
|
|
<el-button size="mini" @click="handledetails()" v-hasPermi="['his:inquiryOrderReport:query']">咨询报告</el-button>
|
|
|
</div>
|
|
|
+ <div class="operate-button-container" >
|
|
|
+ <el-button size="mini" @click="handlePatient()" v-hasPermi="['his:inquiryOrderReport:query']">患者诊断数据</el-button>
|
|
|
+ </div>
|
|
|
|
|
|
|
|
|
</div>
|
|
@@ -93,6 +96,197 @@
|
|
|
<el-button type="primary" @click="editStatusOpenOk">确 定</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ title="患者问诊数据"
|
|
|
+ :visible.sync="patientOpen"
|
|
|
+ width="1000px"
|
|
|
+ append-to-body>
|
|
|
+ <el-form ref="patientForm" :model="patientForm" label-width="110px" >
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="患者姓名" prop="patientName">
|
|
|
+ <el-input disabled v-model="item.patientName"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="患者性别" prop="sex">
|
|
|
+ <el-select disabled v-model="JSON.parse(item.patientJson).sex">
|
|
|
+ <el-option label="男" :value = "1"></el-option>
|
|
|
+ <el-option label="女" :value = "0"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="患者年龄" prop="age">
|
|
|
+ <el-input disabled v-model="JSON.parse(item.patientJson).age"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="患者电话" prop="mobile">
|
|
|
+ <el-input disabled v-model="JSON.parse(item.patientJson).mobile"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="患者会员电话" prop="userPhone">
|
|
|
+ <el-input disabled v-model="patientForm.userPhone"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="客户标签" prop="tag">
|
|
|
+ <el-input v-model="patientForm.tag"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="客服姓名" prop="companyUserName">
|
|
|
+ <el-input disabled v-model="patientForm.companyUserName"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="课程档期" prop="courseName">
|
|
|
+ <el-input v-model="patientForm.courseName"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="预约医生" prop="doctorName">
|
|
|
+ <el-input disabled v-model="item.doctorName"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="会诊时间" prop="subTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="patientForm.subTime"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="就诊状态" prop="sex">
|
|
|
+ <el-select v-model="patientForm.diagnosisStatus">
|
|
|
+ <el-option label="初诊" :value = "1"></el-option>
|
|
|
+ <el-option label="复诊" :value = "2"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="部门负责人" prop="deptManager">
|
|
|
+ <el-input v-model="patientForm.deptManager"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-form-item label="患者病情主诉">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="patientForm.patientCondition">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <div class="contentx">
|
|
|
+ <div class="desct">
|
|
|
+ 医生建议及处置
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-form-item label="诊断">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="patientForm.doctorAdviceJson.diagnosis">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="饮食方面">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="patientForm.doctorAdviceJson.foodAdvice">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="运动方面">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="patientForm.doctorAdviceJson.sportAdvice">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="保健方面">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="patientForm.doctorAdviceJson.healthAdvice">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="注意禁忌">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ placeholder="请输入内容"
|
|
|
+ v-model="patientForm.taboo">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="客户需求">
|
|
|
+ <el-input v-model="patientForm.customerRequire"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="职业医师" prop="age">
|
|
|
+ <el-input v-model="patientForm.professionalDoctor"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="医生助理" prop="mobile">
|
|
|
+ <el-input v-model="patientForm.assistantDoctor"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <div class="contentx">
|
|
|
+ <div class="desct">
|
|
|
+ 治疗方面
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-for="(i,index) in patientForm.doctorAdviceJson.treatmentAdvice" :key="index">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="诊断内容" prop="content">
|
|
|
+ <el-input v-model="i.content"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="建议治疗" prop="advice">
|
|
|
+ <el-input v-model="i.advice"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-button style="margin: 5px;" v-if="index+1 == patientForm.doctorAdviceJson.treatmentAdvice.length" @click="addItem(patientForm.doctorAdviceJson.treatmentAdvice.length)" type="primary" size="mini">+</el-button>
|
|
|
+ <el-button style="margin: 5px;" v-if="index !== 0" type="danger" size="mini" @click="delItem(i,index)">-</el-button>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="patientOpen = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="patientInquirySubmit">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
|
|
|
<div class="contentx" v-if="item!=null">
|
|
@@ -259,6 +453,7 @@
|
|
|
|
|
|
<script>
|
|
|
import { msglist, sendMsg,listinquiryOrder,editStatus, logList,getinquiryOrder, delinquiryOrder, addinquiryOrder, updateinquiryOrder, exportinquiryOrder ,cancelOrder,refundOrder} from "@/api/his/inquiryOrder";
|
|
|
+import {addinquiryPatient, updateinquiryPatient, detail} from "@/api/his/inquiryPatient";
|
|
|
import {getReportId} from "@/api/his/inquiryOrderReport";
|
|
|
import msgDetails from '../../components/his/msgDetails.vue';
|
|
|
import msgServiceDetails from '../../components/his/msgServiceDetails.vue';
|
|
@@ -273,6 +468,7 @@ import { js } from "js-beautify";
|
|
|
components: { inquiryOrderReportDetails,msgDetails ,msgServiceDetails},
|
|
|
data() {
|
|
|
return {
|
|
|
+ patientOpen: false,
|
|
|
logs:[],
|
|
|
editStatusOpen:false,
|
|
|
usageJson:{},
|
|
@@ -313,6 +509,21 @@ import { js } from "js-beautify";
|
|
|
doctor:[],
|
|
|
user:[],
|
|
|
sexOptions: [],
|
|
|
+ patientForm: {
|
|
|
+ doctorAdviceJson: {
|
|
|
+ diagnosis: '',
|
|
|
+ foodAdvice: '',
|
|
|
+ sportAdvice: '',
|
|
|
+ healthAdvice: '',
|
|
|
+ treatmentAdvice: [
|
|
|
+ //默认一条
|
|
|
+ {
|
|
|
+ content: '',
|
|
|
+ advice: '',
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -340,6 +551,37 @@ import { js } from "js-beautify";
|
|
|
|
|
|
},
|
|
|
methods: {
|
|
|
+ addItem(length){
|
|
|
+ this.patientForm.doctorAdviceJson.treatmentAdvice.push({
|
|
|
+ content:'',
|
|
|
+ advice:'',
|
|
|
+ })
|
|
|
+ let ak = this.patientForm.doctorAdviceJson.treatmentAdvice.filter(obj => obj.content != '');
|
|
|
+ },
|
|
|
+ delItem(item,index){
|
|
|
+ this.patientForm.doctorAdviceJson.treatmentAdvice.splice(index,1)
|
|
|
+ },
|
|
|
+ handlePatient(){
|
|
|
+ this.patientOpen = true;
|
|
|
+ detail(this.item.orderId).then(res => {
|
|
|
+ this.patientForm = res.data;
|
|
|
+ if(!this.patientForm.doctorAdviceJson) {
|
|
|
+ this.patientForm.doctorAdviceJson = {
|
|
|
+ diagnosis: '',
|
|
|
+ foodAdvice: '',
|
|
|
+ sportAdvice: '',
|
|
|
+ healthAdvice: '',
|
|
|
+ treatmentAdvice: [
|
|
|
+ //默认一条
|
|
|
+ {
|
|
|
+ content: '',
|
|
|
+ advice: '',
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
cancelorder(){
|
|
|
var that=this;
|
|
|
this.$confirm('是否确认取消订单?', "警告", {
|
|
@@ -369,6 +611,25 @@ import { js } from "js-beautify";
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
+ patientInquirySubmit(){
|
|
|
+ this.patientForm.patientId = this.item.patientId;
|
|
|
+ this.patientForm.companyUserId = this.item.companyUserId;
|
|
|
+ this.patientForm.userId = this.item.userId;
|
|
|
+ this.patientForm.inquiryOrderId = this.item.orderId;
|
|
|
+ this.patientForm.subDoctorId = this.item.doctorId;
|
|
|
+ console.log(this.patientForm);
|
|
|
+ if(this.patientForm.id != null) {
|
|
|
+ updateinquiryPatient(this.patientForm).then(res => {
|
|
|
+ this.msgSuccess("更新成功");
|
|
|
+ this.patientOpen = false;
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ addinquiryPatient(this.patientForm).then(res => {
|
|
|
+ this.msgSuccess("添加成功");
|
|
|
+ this.patientOpen = false;
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
msgServiceDetailsClose(){
|
|
|
this.msgServiceDetails.open = false;
|
|
|
},
|