| | |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="12" |
| | | ><el-form-item label="开场白" prop="kcb"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | v-model="form.kcb" |
| | | placeholder="请输入开场白" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | ><el-form-item label="结束语" prop="jsy"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | v-model="form.jsy" |
| | | placeholder="请输入结束语" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | |
| | | icon="el-icon-plus" |
| | | size="medium" |
| | | :disabled="!patientqueryParams.allhosp" |
| | | @click="handleAddpatient" |
| | | @click="handleQuery" |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | |
| | | @details="detailhz" |
| | | @handleUpdate="handleUpdate" |
| | | :currentList="overallCase" |
| | | :tableLabel="tableLabelhz" |
| | | :tableLabel="tableLabelhzwb" |
| | | :serialnumber="false" |
| | | :searchTrue="true" |
| | | :multiplechoice="false" |
| | |
| | | @keyup.enter.native="handleQuery" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-select |
| | | v-model="patientqueryParams.topica" |
| | | placeholder="请选择患者来源" |
| | | > |
| | | <el-option |
| | | v-for="item in source" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | |
| | | </el-dialog> |
| | | <el-dialog title="模板预览" :visible.sync="previewtf" width="60%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in questionList" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 1" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | <div v-for="item in questionList"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 1" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.remark"> |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.remark"> |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | <!-- 多选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 2" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="qremark"> |
| | | <el-checkbox |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | > |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in questionList" |
| | | v-if="item.scriptType == 2" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="multiplechoice"> |
| | | <el-checkbox |
| | | v-for="items in item.svyLibTemplateTargetoptions" |
| | | :key="items.optioncontent" |
| | | :label="items.optioncontent" |
| | | > |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in questionList" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 4" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[填空]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input placeholder="请输入答案" v-model="item.radioas" clearable> |
| | | </el-input> |
| | | <!-- 填空 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 4" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[问答]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input placeholder="请输入答案" v-model="radioas" clearable> |
| | | </el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="previewGo">前往模板详情修改</el-button> |
| | | <!-- <el-button @click="previewGo">前往模板详情修改</el-button> --> |
| | | <el-button type="primary" @click="previewFn">确认使用</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | getlibrarylist, |
| | | getFollowuplist, |
| | | getQtemplatelist, |
| | | getQtemplateobj, |
| | | TaskQuestioncomit, |
| | | Questionnairetaskget, |
| | | Questionnairetaskgetson, |
| | | gethetaskinfo, |
| | | delhetaskinfo, |
| | | Editsingletask, |
| | |
| | | questionList: [], |
| | | // 患者表单 |
| | | tableLabelhz: [ |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "", prop: "deptName" }, |
| | | { label: "就诊/出院日期", width: "280", prop: "inhosptime" }, |
| | | { label: "出院日期", width: "150", prop: "inhosptime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "240", prop: "deptname" }, |
| | | { label: "病区", width: "240", prop: "leavehospitaldistrictname" }, |
| | | ], |
| | | // 患者表单 |
| | | tableLabelhzwb: [ |
| | | { label: "出院日期", width: "150", prop: "inhosptime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "sfzh" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "180", prop: "deptName" }, |
| | | { label: "病区", width: "150", prop: "leavehospitaldistrictname" }, |
| | | ], |
| | | |
| | | tableLabelwj: [ |
| | |
| | | patientqueryParams: { |
| | | pageNum: 1, // |
| | | pageSize: 10, |
| | | topica:0,//0全部1科室2病区 |
| | | }, |
| | | topicoptions: [{ children: [{ children: [] }] }], |
| | | showSearch: true, // |
| | |
| | | templatename: "", |
| | | templateid: null, |
| | | libtemplateid: null, |
| | | kcb:'亲爱的患者-家属,您好!我们是浙中医大二院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,完成这份随访问卷。', |
| | | jsy:'请您注意休息和营养,生活上要劳逸结合,适当锻炼,戒烟限酒,保持心情舒畅,定期复诊。那本次回访就到这里,祝您身体健康!', |
| | | }, |
| | | taskoptions: [ |
| | | { |
| | |
| | | label: "体检病人", |
| | | }, |
| | | ], |
| | | source: [ |
| | | { |
| | | value: 0, |
| | | label: "所有患者", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "科室患者", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "病区患者", |
| | | }, |
| | | ], |
| | | |
| | | tasktypes: [ |
| | | { |
| | | value: 1, |
| | |
| | | }, |
| | | // 保存 |
| | | submitForm(formName) { |
| | | console.log(this.form.patTaskRelevances,'1.patTaskRelevances'); |
| | | console.log(this.overallCase,'this.form.overallCase'); |
| | | if (this.time4 && this.form.sendType == 3) |
| | | this.form.showTimeMorn = this.time4; |
| | | this.form.sendTimeslot = [{ |
| | | begantime: this.time4, |
| | | endtime: "", |
| | | xh: 1, |
| | | }]; |
| | | this.form.sendTimeslot = [ |
| | | { |
| | | begantime: this.time4, |
| | | endtime: "", |
| | | xh: 1, |
| | | }, |
| | | ]; |
| | | if (this.checkList[0]) { |
| | | this.form.preachform = this.checkList.join(","); |
| | | } else { |
| | |
| | | } else { |
| | | return this.$modal.msgError("时间信息缺失"); |
| | | } |
| | | |
| | | console.log(this.form.patTaskRelevances,'2.patTaskRelevances'); |
| | | const filteredArray = this.variableList.filter( |
| | | (item) => |
| | | item.name !== "姓名" && item.name !== "电话" && item.name !== "地址" |
| | |
| | | this.libId = row.svyid; |
| | | this.Tasktemplate = row; |
| | | this.questionList = row.svyTemplateLibScripts; |
| | | this.previewtf = true; |
| | | getQtemplateobj({ svyid: row.svyid }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.questionList = res.rows[0].svyTemplateLibScripts; |
| | | this.previewtf = true; |
| | | } |
| | | }); |
| | | console.log(row.svyTemplateLibScripts); |
| | | this.previewid = row.svyid; |
| | | this.Variablehandling(row.svyTemplateLibScripts, 1); |
| | | } else if (type == 2) { |
| | |
| | | previewfnmb() { |
| | | console.log(this.form); |
| | | |
| | | getQtemplatelist({ svyid: this.form.libtemplateid }).then((res) => { |
| | | getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => { |
| | | if (res.code == 200) { |
| | | console.log(); |
| | | |
| | | this.questionList = res.rows[0].svyTemplateLibScripts; |
| | | this.previewtf = true; |
| | | } |
| | |
| | | }); |
| | | if (this.patientqueryParams.allhosp == 1) { |
| | | this.tableLabelhz = [ |
| | | { label: "出院日期", width: "150", prop: "inhosptime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "", prop: "deptName" }, |
| | | { label: "就诊/出院日期", width: "280", prop: "inhosptime" }, |
| | | { label: "科室", width: "180", prop: "deptname" }, |
| | | { label: "病区", width: "150", prop: "leavehospitaldistrictname" }, |
| | | ]; |
| | | } else if (this.patientqueryParams.allhosp == 2) { |
| | | this.tableLabelhz = [ |
| | |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "诊断", width: "", prop: "diagname" }, |
| | | { label: "就诊科室", width: "", prop: "deptName" }, |
| | | { label: "科室", width: "", prop: "deptname" }, |
| | | { label: "病区", width: "", prop: "leavehospitaldistrictname" }, |
| | | { label: "入院日期", width: "", prop: "inhosptime" }, |
| | | { label: "创建人", width: "", prop: "createBy" }, |
| | | ]; |
| | |
| | | handleUpdate() {}, |
| | | handleDelete() {}, |
| | | handleExport() {}, |
| | | |
| | | // 选择患者表数据 |
| | | handleSelectionChange(selection) { |
| | | console.log("多选患者"); |
| | | this.SelectPatientslist = selection; |
| | | console.log("多选患者",selection); |
| | | this.SelectPatientslist = structuredClone(selection); |
| | | this.multiple = !selection.length; |
| | | |
| | | // 赋值给整体选中数组 |
| | |
| | | item.isoperation = 1; |
| | | item.patid = item.id; |
| | | item.hospType = this.patientqueryParams.allhosp; |
| | | item.sfzh = item.idcardno; |
| | | item.deptCode = item.deptcode; |
| | | item.deptName = item.deptname; |
| | | item.admindate = item.inhosptime; |
| | | item.sfzh = item.idcardno; |
| | | console.log(item); |
| | | this.overallCase.push(item); |
| | | this.form.patTaskRelevances.push(item); |
| | | console.log(this.form.patTaskRelevances,'patTaskRelevances'); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | }, |
| | | getList() {}, |
| | | handleQuery() { |
| | | // if (this.patientqueryParams.topica == 0) { |
| | | // this.patientqueryParams.leavehospitaldistrictcodes = |
| | | // store.getters.leavehospitaldistrictcodes; |
| | | // this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; |
| | | // } else if (this.patientqueryParams.topica == 1) { |
| | | // this.patientqueryParams.leavehospitaldistrictcodes = null; |
| | | // this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; |
| | | // } else if (this.patientqueryParams.topica == 2) { |
| | | // this.patientqueryParams.leavehospitaldistrictcodes = |
| | | // store.getters.leavehospitaldistrictcodes; |
| | | // this.patientqueryParams.leaveldeptcodes = null; |
| | | // } |
| | | this.handleAddpatient(); |
| | | }, |
| | | resetQuery() {}, |
| | |
| | | templatename: "", |
| | | templateid: null, |
| | | libtemplateid: null, |
| | | kcb:'亲爱的患者-家属,您好!我们是浙中医大二院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,完成这份随访问卷。', |
| | | jsy:'生活上要劳逸结合,注意休息和营养,适当锻炼,戒烟限酒,保持心情舒畅,定期复诊。那本次回访就到这里,祝您身体健康!', |
| | | }; |
| | | this.questionList = []; |
| | | if (this.id) { |
| | | Questionnairetaskget({ taskid: this.id }).then((res) => { |
| | | Questionnairetaskgetson({ taskid: this.id }).then((res) => { |
| | | let filteredArray = ""; |
| | | if (res.code == 200) { |
| | | this.form = res.data; |
| | |
| | | this.overallCase = this.form.patTaskRelevances.concat(); |
| | | this.checkList = this.form.preachform.split(","); |
| | | console.log(this.form, "this.form"); |
| | | if (this.form.showDate)this.daytime = this.form.showDate.split(","); |
| | | if (this.form.showDate) |
| | | this.daytime = this.form.showDate.split(","); |
| | | if (this.form.showTimeMorn) { |
| | | if (this.form.sendType == 3) { |
| | | this.time4 = this.form.showTimeMorn; |