| | |
| | | <el-step |
| | | icon="el-icon-edit" |
| | | title="基础信息" |
| | | description="选择宣教模版、形式等基础信息" |
| | | description="选择模版、形式等基础信息" |
| | | ></el-step> |
| | | <el-step |
| | | icon="el-icon-user" |
| | |
| | | <div class="leftvlue" style="margin: 0 20px"> |
| | | <!-- 基本信息 --> |
| | | <div v-if="Editprogress == 1"> |
| | | <el-alert |
| | | title="选择宣教模版、形式等基础信息" |
| | | type="success" |
| | | effect="dark" |
| | | > |
| | | <el-alert title="选择模版、形式等基础信息" type="success" effect="dark"> |
| | | </el-alert> |
| | | <div class="leftvlue-jbxx"> |
| | | <!-- 基础信息 --> |
| | |
| | | placeholder="请输入任务名称" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | <el-col :span="8" |
| | | ><el-form-item label="模版名称"> |
| | | <el-input |
| | | style="width: 220px" |
| | |
| | | placeholder="请在下列选择" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="4"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | circle |
| | | ></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="任务描述"> |
| | |
| | | <div style="display: flex"> |
| | | <div style="margin-right: 10px"> |
| | | <span style="font-size: 18px; margin-right: 10px" |
| | | >上午</span |
| | | >时间段一</span |
| | | > |
| | | <el-time-picker |
| | | is-range |
| | |
| | | </div> |
| | | <div style="margin-right: 10px"> |
| | | <span style="font-size: 18px; margin-right: 10px" |
| | | >下午</span |
| | | >时间段二</span |
| | | > |
| | | <el-time-picker |
| | | is-range |
| | |
| | | </div> |
| | | <div style="margin-right: 10px"> |
| | | <span style="font-size: 18px; margin-right: 10px" |
| | | >晚间</span |
| | | >时间段三</span |
| | | > |
| | | <el-time-picker |
| | | is-range |
| | |
| | | :total="total" |
| | | :page.sync="topqueryParams.pageNum" |
| | | :limit.sync="topqueryParams.pageSize" |
| | | @pagination="getList" |
| | | @pagination="Acquisitiontype" |
| | | /> |
| | | </el-row> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <el-button type="success" @click="nextstep('ruleForm')">{{ |
| | | quote ? "立即创建" : "任务详情设置" |
| | | quote ? "立即创建" : "任务详情配置" |
| | | }}</el-button> |
| | | <el-button @click="resetForm('ruleForm')">重置</el-button> |
| | | </div> |
| | |
| | | <SFtable |
| | | @details="detailhz" |
| | | @handleUpdate="handleUpdate" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | :currentList="form.patTaskRelevances" |
| | | :currentList="overallCase" |
| | | :tableLabel="tableLabelhz" |
| | | :serialnumber="false" |
| | | :multiplechoice="false" |
| | | :controlxz="false" |
| | | :typeinfo="2" |
| | | /> |
| | |
| | | </div> |
| | | </div> |
| | | <el-button type="primary" @click="laststep()">上一步</el-button> |
| | | <el-button type="success" @click="submitForm('ruleForm')" |
| | | >立即创建</el-button |
| | | > |
| | | <el-button type="success" @click="submitForm('ruleForm')">{{ |
| | | quote ? "立即创建" : "确认任务配置" |
| | | }}</el-button> |
| | | <el-button @click="resetForm('ruleForm')">重置</el-button> |
| | | </div> |
| | | </div> |
| | |
| | | :visible.sync="dialogVisiblepatient" |
| | | width="70%" |
| | | :before-close="handleClosehz" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="examine-jic"> |
| | | <div class="jic-value"> |
| | |
| | | <el-form-item label="患者名称:"> |
| | | <el-input v-model="patientqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="患者来源" prop="status"> |
| | | <el-select |
| | | v-model="patientqueryParams.topic" |
| | | 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="patientqueryParams.topic" |
| | |
| | | </el-form> |
| | | <!-- 选择患者列表 --> |
| | | <SFtable |
| | | ref="multipleTable" |
| | | @handleUpdate="handleUpdate" |
| | | @handleSelectionChange="handleSelectionChange" |
| | | :currentList="patientuserList" |
| | |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="模版预览" :visible.sync="previewtf" width="60%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="topic-dev" |
| | | v-for="(item, index) in questionList" |
| | | :key="item.aaa" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、<span>{{ item.questionText }}</span> |
| | | </div> |
| | | |
| | | <div class="dev-xx" v-if="item.valueType == 1"> |
| | | <el-radio-group v-model="item.radio"> |
| | | <el-radio |
| | | v-for="(items, index) in item.ivrLibaScriptTargetoptionList" |
| | | :key="items.id" |
| | | :label="items.id" |
| | | >{{ items.targetvalue }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | <div v-else> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="未获取到信息" |
| | | v-model.sync="item.questionResult" |
| | | :rows="2" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="previewGo">前往模版详情修改</el-button> |
| | | <el-button type="primary" @click="previewFn">确认使用</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | getlibrarylist, |
| | | getFollowuplist, |
| | | getQtemplatelist, |
| | | TaskTemplatecomit, |
| | | getTaskInfo, |
| | | gethetaskinfo, |
| | | delhetaskinfo, |
| | |
| | | return { |
| | | title: "宣教内容列表", |
| | | currenttype: 1, //1宣教2门诊3出院4复诊5体检6问卷 |
| | | id: "", |
| | | id: "", // |
| | | previewid: "", //任务模版传递id |
| | | libName: "", |
| | | overallCase: [], //选择患者总 |
| | | allpids: [], |
| | | libId: null, //模板库模版id |
| | | Editprogress: 1, //编辑进度 |
| | | previewtf: false, //预览 |
| | | loading: false, // 遮罩层 |
| | | patientloading: false, // 遮罩层 |
| | | dialogVisiblepatient: false, //添加患者弹框 |
| | | radio: 1, |
| | | checkboxlist: [], |
| | | tableLabel: [], |
| | | |
| | | questionList: [], |
| | | // 患者表单 |
| | | tableLabelhz: [ |
| | | { label: "序号", width: "", prop: "patid" }, |
| | |
| | | sendType: 1, |
| | | templatename: "", |
| | | templateid: null, |
| | | libtemplateid: null, |
| | | }, |
| | | taskoptions: [ |
| | | { |
| | |
| | | // 获取当前类型 |
| | | Acquisitiontype() { |
| | | let queryParams = { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | pageNum: this.topqueryParams.pageNum, |
| | | pageSize: this.topqueryParams.pageSize, |
| | | isavailable: "", |
| | | }; |
| | | this.currenttype = this.$route.query.type; |
| | |
| | | ); |
| | | console.log(filteredArray, "存前变量"); |
| | | this.form.textParam = this.convertFormat2ToFormat1(filteredArray); |
| | | if (this.form.id) { |
| | | if (this.form.taskid) { |
| | | this.form.isoperation = 2; |
| | | } else { |
| | | this.form.isoperation = 1; |
| | | } |
| | | Editsingletask(this.form).then((res) => { |
| | | if (res.code == 200) { |
| | | if (this.form.id) { |
| | | if (this.form.taskid) { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | } else { |
| | | this.$modal.msgSuccess("修改成功"); |
| | |
| | | }); |
| | | }, |
| | | // ----------------------表格子组件事件 |
| | | // 选择模版 |
| | | // 确认选择模版放入任务模版 |
| | | selectfn(row, type) { |
| | | // 模版情况下获取模版信息 |
| | | if (type == 1) { |
| | |
| | | currenttype == 5 || |
| | | currenttype == 7 |
| | | ) { |
| | | this.form.templatename = row.templateName; |
| | | this.form.templateid = row.id; |
| | | this.libName = row.templateName; |
| | | this.libId = row.id; |
| | | } else if (this.currenttype == 1) { |
| | | this.form.templatename = row.preachname; |
| | | this.form.templateid = row.id; |
| | | this.libName = row.preachname; |
| | | this.libId = row.id; |
| | | } |
| | | getvFollowup({ id: row.id }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.Tasktemplate = res.data; |
| | | const data = res.data; |
| | | this.questionList = data.ivrLibaTemplateScriptVOList; |
| | | this.previewtf = true; |
| | | this.previewid = data.id; |
| | | console.log(this.questionList, "questionList"); |
| | | this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1); |
| | | } |
| | | }); |
| | |
| | | }, |
| | | // 子任务二级弹框 |
| | | handleAddpatient(row) { |
| | | console.log(this.overallCase, "ssaaa"); |
| | | this.allpids = []; |
| | | this.overallCase.forEach((item) => { |
| | | this.allpids.push(item.patid); |
| | | }); |
| | | if (this.allpids[0]) { |
| | | this.patientqueryParams.pids = this.allpids; |
| | | console.log(this.patientqueryParams.pids); |
| | | } else { |
| | | this.patientqueryParams.pids = null; |
| | | } |
| | | |
| | | getTaskpatient(this.patientqueryParams).then((response) => { |
| | | console.log(response); |
| | | this.patientuserList = response.rows; |
| | | this.patienttotal = response.total; |
| | | this.loading = false; |
| | | this.Restorecheck(); |
| | | }); |
| | | this.dialogVisiblepatient = true; |
| | | }, |
| | | handleUpdate() {}, |
| | | handleDelete() {}, |
| | | handleExport() {}, |
| | | // 多选框选中数据 |
| | | // 选中患者表 |
| | | handlePitchionChange() {}, |
| | | // 选择患者表数据 |
| | | handleSelectionChange(selection) { |
| | | console.log("多选患者"); |
| | | this.SelectPatientslist = selection; |
| | | this.ids = null; |
| | | this.ids = selection.map((item) => item.patid).join(","); |
| | | // let result = this.ids.join(","); |
| | | this.multiple = !selection.length; |
| | | console.log(this.ids); |
| | | |
| | | // 赋值给整体选中数组 |
| | | this.SelectPatientslist.forEach((item) => { |
| | | const isExist = this.overallCase.find((obj) => obj.name == item.name); |
| | | if (!isExist) { |
| | | item.isoperation = 1; |
| | | 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 overlap = this.patientuserList.filter((value) => { |
| | | return allid.includes(value.patid); |
| | | }); |
| | | // 保持ids和当前页面的同步性 |
| | | this.SelectPatientslist = overlap; |
| | | console.log(this.SelectPatientslist, "进入分页SelectPatientslist"); |
| | | |
| | | this.toggleSelection(overlap); |
| | | }, |
| | | // 挂载选择状态 |
| | | toggleSelection(rows) { |
| | | if (rows) { |
| | | this.decision = true; |
| | | this.$nextTick(() => { |
| | | rows.forEach((row) => { |
| | | this.$refs.multipleTable.toggleRowSelection(row, true); |
| | | }); |
| | | this.decision = false; |
| | | }); |
| | | console.log(123); |
| | | } else { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | } |
| | | }, |
| | | // 删除选中患者 |
| | | detailhz(row, info) {}, |
| | | detailhz(row, info) { |
| | | this.$modal |
| | | .confirm('是否确认删除患者"' + row.name + '"的服务项?') |
| | | .then(() => { |
| | | let indexa = this.overallCase.indexOf(row); |
| | | let indexb = this.form.patTaskRelevances.indexOf(row); |
| | | this.overallCase.splice(indexa, 1); |
| | | this.form.patTaskRelevances[indexb].isoperation = 3; |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }); |
| | | }, |
| | | getList() {}, |
| | | handleQuery() { |
| | | this.handleAddpatient(); |
| | |
| | | let filteredArray = ""; |
| | | if (res.code == 200) { |
| | | this.form = res.data; |
| | | this.overallCase = this.form.patTaskRelevances.concat(); |
| | | this.checkList = this.form.serviceform.split(","); |
| | | this.daytime = this.form.sendlimitabegin.split(","); |
| | | if (this.form.sendlimitaend) |
| | | this.time1 = this.form.sendlimitaend.split(","); |
| | | if (this.form.sendlimitnbegin) |
| | | this.time2 = this.form.sendlimitaend.split(","); |
| | | if (this.form.sendlimitnend) |
| | | this.time3 = this.form.sendlimitaend.split(","); |
| | | this.daytime = this.form.showDate.split(","); |
| | | if (this.form.showTimeMorn) |
| | | this.time1 = this.form.showTimeMorn.split(","); |
| | | if (this.form.showTimeNoon) |
| | | this.time2 = this.form.showTimeNoon.split(","); |
| | | if (this.form.showTimeNight) |
| | | this.time3 = this.form.showTimeNight.split(","); |
| | | filteredArray = this.convertFormat1ToFormat2(this.form.textParam); |
| | | console.log(filteredArray, "filteredArray"); |
| | | this.variableList = this.transitionList.concat(filteredArray); |
| | | } else { |
| | | this.$modal.msgError(res.code); |
| | | } |
| | | console.log(res); |
| | | }); |
| | | } |
| | | }, |
| | |
| | | }, |
| | | // 新增派送患者 |
| | | AddDispatchpatients() { |
| | | this.SelectPatientslist.forEach((item) => { |
| | | item.isoperation = 1; |
| | | }); |
| | | this.form.patTaskRelevances.push(...this.SelectPatientslist); |
| | | // this.SelectPatientslist.forEach((item) => { |
| | | // item.isoperation = 1; |
| | | // }); |
| | | // this.form.patTaskRelevances.push(...this.SelectPatientslist); |
| | | // this.overallCase.push(...this.SelectPatientslist); |
| | | this.dialogVisiblepatient = false; |
| | | }, |
| | | |
| | | // 变量--------------- |
| | | // variableEdit(index, row) { |
| | | // console.log(index, row); |
| | | // }, |
| | | variableDelete(index, row) { |
| | | this.variableList.splice(index, 1); |
| | | row.isoperation = 3; |
| | |
| | | this.form.sendTimeslot = combinedData; |
| | | // 展示数据临时存储日期、早、中、晚 |
| | | |
| | | this.form.sendlimitabegin = this.daytime.join(","); |
| | | if (this.time1) this.form.sendlimitaend = this.time1.join(","); |
| | | if (this.time2) this.form.sendlimitnbegin = this.time2.join(","); |
| | | if (this.time3) this.form.sendlimitnend = this.time3.join(","); |
| | | this.form.showDate = this.daytime.join(","); |
| | | if (this.time1) this.form.showTimeMorn = this.time1.join(","); |
| | | if (this.time2) this.form.showTimeNoon = this.time2.join(","); |
| | | if (this.time3) this.form.showTimeNight = this.time3.join(","); |
| | | console.log(combinedData, "combinedData"); |
| | | }, |
| | | // 查看模版 |
| | | previewGo() { |
| | | this.$router.push({ |
| | | path: "/knowledge/templateku/configurat/", |
| | | 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.ivrTaskTemplateScriptVOList = |
| | | this.Tasktemplate.ivrLibaTemplateScriptVOList; |
| | | this.Tasktemplate.ivrLibaTemplateTagList = null; |
| | | this.Tasktemplate.tempDetpRelevances = null; |
| | | this.Tasktemplate.libtemplateid = id; |
| | | this.Tasktemplate.isoperation = 1; |
| | | this.Tasktemplate.libtemplatename = this.Tasktemplate.templateName; |
| | | TaskTemplatecomit(this.Tasktemplate).then((response) => { |
| | | console.log(response); |
| | | this.previewtf = false; |
| | | this.form.templateid = response.data; |
| | | this.form.libtemplateid = this.libId; |
| | | this.form.templatename = this.libName; |
| | | this.$modal.msgSuccess("选择模版成功"); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | // margin: 0 20px; |
| | | // } |
| | | // } |
| | | .preview-left { |
| | | margin: 20px; |
| | | // margin: 20px; |
| | | padding: 30px; |
| | | background: #ffff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | .topic-dev { |
| | | margin-bottom: 25px; |
| | | font-size: 20px !important; |
| | | .dev-text { |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | .jic-value { |
| | | font-size: 20px; |
| | | border-top: 1px solid #a7abac; |