| | |
| | | title="任务主体" |
| | | description="在本部选择服务患者" |
| | | ></el-step> |
| | | <el-step icon="el-icon-user" title="模版确认"></el-step> |
| | | </el-steps> |
| | | </div> |
| | | </div> |
| | |
| | | placeholder="请输入任务描述" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="发送设置:" v-if="currenttype != 2"> |
| | | <el-form-item label="发送设置:"> |
| | | <el-radio-group v-model="form.sendType"> |
| | | <el-radio :label="1">时间段发送</el-radio> |
| | | <el-radio :label="3">时间点发送</el-radio> |
| | |
| | | <el-checkbox |
| | | v-for="(item, index) in checkboxlist" |
| | | :key="index" |
| | | :label="item" |
| | | ></el-checkbox> |
| | | :label="item.value" |
| | | > |
| | | {{ item.label }}</el-checkbox |
| | | > |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | <div class="jic-value"> |
| | | <el-row :gutter="20"> |
| | | <!--用户数据--> |
| | | <!-- <el-form |
| | | :model="topqueryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="患者名称"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="患者范围" prop="status"> |
| | | <el-select |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in taskoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="患者状态" prop="status"> |
| | | <el-select |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in topicoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="随访结果" prop="status"> |
| | | <el-select |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in topicoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="患者电话"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery" |
| | | >搜索</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | size="medium" |
| | | @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-upload2" |
| | | size="medium" |
| | | type="warning" |
| | | >当前患者一键发送</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> --> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-select |
| | |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="患者名称:"> |
| | | <el-input v-model="patientqueryParams.name"></el-input> |
| | | <el-input |
| | | v-model="patientqueryParams.name" |
| | | @keyup.enter.native="handleQuery" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- <el-form-item label="就诊科室" prop="status"> |
| | | <el-select |
| | | v-model="patientqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option-group |
| | | v-for="group in topicoptions[0].children" |
| | | :key="group.deptName" |
| | | :label="group.deptName" |
| | | > |
| | | <el-option |
| | | v-for="item in group.children" |
| | | :key="item.deptId" |
| | | :label="item.deptName" |
| | | :value="item.deptId" |
| | | > |
| | | </el-option> |
| | | </el-option-group> |
| | | </el-select> |
| | | </el-form-item> --> |
| | | <el-form-item label="创建时间"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style="width: 240px" |
| | | value-format="yyyy-MM-dd" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | |
| | | icon="el-icon-refresh" |
| | | size="medium" |
| | | @click="resetQuery" |
| | | >取消创建</el-button |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item |
| | | label="随访主题" |
| | | v-if="currenttype == 1 || currenttype == 8" |
| | | > |
| | | <el-form-item label="随访主题"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="随访名称" |
| | | v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" |
| | | > |
| | | <el-input |
| | | v-model="topqueryParams.name" |
| | | ></el-input> </el-form-item |
| | | ><el-form-item |
| | | label="通知名称" |
| | | v-if="currenttype == 4 || currenttype == 5" |
| | | > |
| | | <el-form-item label="随访名称"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item |
| | | label="随访类型" |
| | | prop="status" |
| | | v-if="currenttype == 1 || currenttype == 8" |
| | | > |
| | | <el-select |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in taskoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="通知类型" |
| | | prop="status" |
| | | v-if="currenttype == 4 || currenttype == 5" |
| | | > |
| | | <el-select |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in taskoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="随访类型" |
| | | prop="status" |
| | | v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" |
| | | > |
| | | <el-select |
| | | v-model="topqueryParams.scriptTopic" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in taskoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="适用形式" prop="status"> |
| | | <el-select v-model="topqueryParams.topica" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in taskoptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="适用科室" prop="status"> |
| | |
| | | export default { |
| | | name: "ServiceDetails", |
| | | data() { |
| | | const endDate = new Date(); |
| | | const startDate = new Date(); |
| | | startDate.setDate(endDate.getDate() - 7); // 设置开始日期为当前日期前7天 |
| | | return { |
| | | title: "随访内容列表", |
| | | currenttype: 1, //1随访2门诊3出院4复诊5体检6问卷 |
| | | currenttype: 1, //1随访2问卷3通知宣教 |
| | | id: "", // |
| | | previewid: "", //任务模版传递id |
| | | libName: "", |
| | | overallCase: [], //选择患者总 |
| | | // 日期范围 |
| | | dateRange: [startDate, endDate], |
| | | allpids: [], |
| | | libId: null, //模板库模版id |
| | | nhh: null, //是否依照新增 |
| | |
| | | questionList: [], |
| | | // 患者表单 |
| | | tableLabelhz: [ |
| | | { label: "序号", width: "", prop: "patid" }, |
| | | { label: "患者名称", width: "", prop: "name" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "就诊科室", width: "", prop: "deptName" }, |
| | | { label: "入院日期", width: "", prop: "inhosptime" }, |
| | | { label: "入院日期", width: "", prop: "birthdate" }, |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | ], |
| | | |
| | |
| | | { label: "创建人(缺)", width: "", prop: "updateBy" }, |
| | | ], |
| | | |
| | | // 变量 |
| | | tableLabelvariable: [ |
| | | { label: "变量名称", width: "", prop: "variablename" }, |
| | | { label: "匹配符", width: "", prop: "character" }, |
| | | { label: "替换值", width: "", prop: "Replacementvalue" }, |
| | | ], |
| | | // 服务形式 |
| | | preachform: [ |
| | | { label: "线下", value: 1 }, |
| | | { label: "电话", value: 2 }, |
| | |
| | | created() { |
| | | this.id = this.$route.query.id; |
| | | this.form.type = this.$route.query.type; |
| | | this.form.typename = this.$route.query.typename; |
| | | this.form.serviceType = Number(this.$route.query.serviceType); |
| | | this.form.nhh = this.$route.query.nhh; |
| | | this.listDept(); |
| | | this.Acquisitiontype(); |
| | |
| | | isavailable: "", |
| | | }; |
| | | this.currenttype = this.$route.query.type; |
| | | console.log(this.currenttype, "1"); |
| | | // 出院、门诊、专病随访 |
| | | this.title = "随访内容列表"; |
| | | this.tableLabel = this.tableLabelmz; |
| | | this.checkboxlist = ["短信", "微信", "人工电话", "智能机器人"]; |
| | | if (this.form.serviceType == 2 || this.form.serviceType == 3) { |
| | | this.checkboxlist = [ |
| | | { |
| | | value: "1", |
| | | label: "人工", |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "电话", |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "短信", |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "微信公众号", |
| | | }, |
| | | { |
| | | value: "6", |
| | | label: "微信小程序", |
| | | }, |
| | | |
| | | { |
| | | value: "8", |
| | | label: "智能机器人", |
| | | }, |
| | | ]; |
| | | } else if (this.form.serviceType == 5) { |
| | | this.checkboxlist = [ |
| | | { |
| | | value: "3", |
| | | label: "电话", |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "短信", |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "微信公众号", |
| | | }, |
| | | { |
| | | value: "6", |
| | | label: "微信小程序", |
| | | }, |
| | | |
| | | { |
| | | value: "8", |
| | | label: "智能机器人", |
| | | }, |
| | | ]; |
| | | } |
| | | |
| | | getFollowuplist(queryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | |
| | | }, |
| | | // 保存 |
| | | submitForm(formName) { |
| | | // this.form.preachform = this.checkList.join(","); |
| | | this.formatFn(1); |
| | | this.form.preachform = this.checkList.join(","); |
| | | // this.formatFn(1); |
| | | if (!this.form.patTaskRelevances[0]) { |
| | | this.$modal.msgError("请选择病人"); |
| | | return; |
| | |
| | | } else { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | } |
| | | this.$router.go(-1); |
| | | this.$router.push({ |
| | | path: "/followvisit/tasklist", |
| | | query: { tasktopic: this.form.serviceType }, |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | }); |
| | | if (this.patientqueryParams.allhosp == 1) { |
| | | this.tableLabelhz = [ |
| | | { label: "序号", width: "", prop: "patid" }, |
| | | { label: "患者名称", width: "", prop: "name" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "主任医师", width: "", prop: "drname" }, |
| | | { label: "就诊科室", width: "", prop: "deptName" }, |
| | | { label: "入院日期", width: "", prop: "inhosptime" }, |
| | | { label: "入院日期", width: "", prop: "birthdate" }, |
| | | { label: "创建人", width: "", prop: "createBy" }, |
| | | ]; |
| | | } else if (this.patientqueryParams.allhosp == 2) { |
| | | this.tableLabelhz = [ |
| | | { label: "序号", width: "", prop: "patid" }, |
| | | { label: "患者名称", width: "", prop: "name" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "诊断", width: "", prop: "diagname" }, |
| | | { label: "就诊科室", width: "", prop: "deptName" }, |
| | | { label: "入院日期", width: "", prop: "inhosptime" }, |
| | | { label: "入院日期", width: "", prop: "birthdate" }, |
| | | { label: "创建人", width: "", prop: "createBy" }, |
| | | ]; |
| | | } |
| | |
| | | this.patientqueryParams.pids = null; |
| | | } |
| | | |
| | | getTaskpatient(this.patientqueryParams).then((response) => { |
| | | console.log(response); |
| | | getTaskpatient( |
| | | this.addDateRange(this.patientqueryParams, this.dateRange) |
| | | ).then((response) => { |
| | | this.patientuserList = response.rows; |
| | | this.patienttotal = response.total; |
| | | this.loading = false; |
| | |
| | | if (!isExist) { |
| | | console.log(this.patientqueryParams.allhosp, "allhosp"); |
| | | item.isoperation = 1; |
| | | item.patid = item.id; |
| | | item.hospType = this.patientqueryParams.allhosp; |
| | | this.overallCase.push(item); |
| | | this.form.patTaskRelevances.push(item); |
| | |
| | | // 切换页后恢复选中 |
| | | Restorecheck() { |
| | | console.log(this.overallCase, "this.overallCase"); |
| | | const allid = this.overallCase.map((item) => item.patid); |
| | | const allid = this.overallCase.map((item) => item.id); |
| | | const overlap = this.patientuserList.filter((value) => { |
| | | return allid.includes(value.patid); |
| | | return allid.includes(value.id); |
| | | }); |
| | | console.log(overlap, "overlap"); |
| | | |
| | | // 保持ids和当前页面的同步性 |
| | | this.SelectPatientslist = overlap; |
| | | console.log(this.SelectPatientslist, "进入分页SelectPatientslist"); |
| | |
| | | handleQuery() { |
| | | this.handleAddpatient(); |
| | | }, |
| | | resetQuery() {}, |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | // 查询参数 |
| | | this.queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | userName: undefined, |
| | | phonenumber: undefined, |
| | | status: undefined, |
| | | deptId: undefined, |
| | | }; |
| | | }, |
| | | handleClosehz() { |
| | | this.dialogVisiblepatient = false; |
| | | }, |
| | |
| | | if (res.code == 200) { |
| | | this.form = res.data; |
| | | this.overallCase = this.form.patTaskRelevances.concat(); |
| | | this.formatFn(2); |
| | | this.checkList = this.form.preachform.split(","); |
| | | console.log(this.form.showDate, "this.form"); |
| | | this.daytime = this.form.showDate.split(","); |
| | | this.changeTimeday(this.daytime); |
| | |
| | | } |
| | | this.form.sendTimeslot = combinedData; |
| | | // 展示数据临时存储日期、早、中、晚 |
| | | console.log(this.daytime); |
| | | |
| | | this.form.showDate = this.daytime.join(","); |
| | | if (this.time1) this.form.showTimeMorn = this.time1.join(","); |
| | |
| | | // 查看模版 |
| | | previewGo() { |
| | | this.$router.push({ |
| | | path: "/knowledge/templateku/configurat/", |
| | | path: "/knowledge/tpuconfigurat/", |
| | | query: { id: this.previewid, task: true, data: this.form }, |
| | | }); |
| | | }, |
| | | previewFn() { |
| | | let id = this.Tasktemplate.id; |
| | | this.Tasktemplate.id = null; |
| | | this.Tasktemplate.ivrLibaTemplateScriptVOList.ivrTaskScriptTargetoptionList = |
| | | this.Tasktemplate.ivrLibaTemplateScriptVOList.ivrLibaScriptTargetoptionList; |
| | | this.Tasktemplate.ivrLibaTemplateScriptVOList.forEach((item) => { |
| | | item.ivrTaskScriptTargetoptionList = item.ivrLibaScriptTargetoptionList; |
| | | }); |
| | | console.log(this.Tasktemplate.ivrLibaTemplateScriptVOList); |
| | | |
| | | this.Tasktemplate.ivrTaskTemplateScriptVOList = |
| | | this.Tasktemplate.ivrLibaTemplateScriptVOList; |
| | | this.Tasktemplate.ivrLibaTemplateTagList = null; |