| | |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div class="examine-jic"> |
| | | <div class="headline"> |
| | | <div>{{ title }}</div> |
| | | </div> |
| | | <div class="examine-jic"> |
| | | <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="宣教主题" |
| | | v-if="currenttype == 1 || currenttype == 8" |
| | | > |
| | | <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-input |
| | | v-model="topqueryParams.name" |
| | | ></el-input> </el-form-item |
| | | ><el-form-item label="体检套餐" v-if="currenttype == 5"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="问卷主题" v-if="currenttype == 6"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="适用疾病" v-if="currenttype != 5"> |
| | | <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.topic" |
| | | 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.topic" |
| | | 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.topic" |
| | | 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 == 6" |
| | | > |
| | | <el-select |
| | | v-model="topqueryParams.topic" |
| | | 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"> |
| | | <el-select |
| | | v-model="topqueryParams.topicd" |
| | | 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> |
| | | <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-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <!-- 选择模版列表 --> |
| | | <SFtable |
| | | @selectfn="selectfn" |
| | | :currentList="userList" |
| | | :tableLabel="tableLabel" |
| | | :serialnumber="false" |
| | | :controlsc="false" |
| | | :multiplechoice="false" |
| | | :typeinfo="1" |
| | | /> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="topqueryParams.pageNum" |
| | | :limit.sync="topqueryParams.pageSize" |
| | | @pagination="Acquisitiontype" |
| | | /> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-button type="success" @click="nextstep('ruleForm')">{{ |
| | | quote ? "立即创建" : "任务详情配置" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="随访结果" prop="status"> |
| | | <el-form-item label="宣教结果" prop="status"> |
| | | <el-select |
| | | v-model="topqueryParams.topic" |
| | | placeholder="请选择" |
| | |
| | | <el-dialog title="模版预览" :visible.sync="previewtf" width="60%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="topic-dev" |
| | | v-for="(item, index) in questionList" |
| | | :key="item.id" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、<span>{{ item.script }}</span> |
| | | </div> |
| | | |
| | | <div class="dev-xx" v-if="item.scripttype != 3"> |
| | | <el-radio-group v-model="item.radio"> |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="items.id" |
| | | :label="items.id" |
| | | >{{ items.optioncontent }} |
| | | </el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div v-else> |
| | | <el-input |
| | | type="textarea" |
| | | placeholder="未获取到信息" |
| | | v-model.sync="item.questionResult" |
| | | :rows="2" |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div v-html="richText"></div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="previewGo">前往模版详情修改</el-button> |
| | |
| | | </span> |
| | | </el-dialog> |
| | | <el-drawer |
| | | title="随访内容列表" |
| | | title="宣教内容列表" |
| | | :visible.sync="drawermb" |
| | | direction="rtl" |
| | | size="50%" |
| | | > |
| | | <div class="headline"></div> |
| | | <div class="examine-jic"> |
| | | <div style="margin: 20px"> |
| | | <div class="jic-value"> |
| | | <el-row :gutter="20"> |
| | | <!--用户数据--> |
| | |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="随访名称" |
| | | label="宣教名称" |
| | | v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" |
| | | > |
| | | <el-input |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="随访类型" |
| | | label="宣教类型" |
| | | prop="status" |
| | | v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" |
| | | > |
| | |
| | | |
| | | <script> |
| | | import { messagelistpatient } from "@/api/patient/homepage"; |
| | | import axios from "axios"; |
| | | |
| | | import store from "@/store"; |
| | | import { |
| | | getTaskpatient, |
| | |
| | | getFollowuplist, |
| | | getQtemplatelist, |
| | | TaskQuestioncomit, |
| | | Questionnairetaskget, |
| | | getTaskInfo, |
| | | gethetaskinfo, |
| | | delhetaskinfo, |
| | | Editsingletask, |
| | |
| | | checkboxlist: [], |
| | | tableLabel: [], |
| | | questionList: [], |
| | | richText: "<p>Hello, <strong>world</strong>!</p>", |
| | | // 患者表单 |
| | | tableLabelhz: [ |
| | | { label: "序号", width: "", prop: "patid" }, |
| | |
| | | { label: "创建人(缺)", width: "", prop: "update_by" }, |
| | | ], |
| | | |
| | | tableLabelwj: [ |
| | | { label: "序号", width: "", prop: "svyid" }, |
| | | { label: "问卷名称", width: "", prop: "svyname" }, |
| | | { label: "问卷概述", width: "", prop: "description" }, |
| | | { label: "修改日期", width: "", prop: "updateTime" }, |
| | | { label: "创建人", width: "", prop: "createBy" }, |
| | | tableLabelxj: [ |
| | | { label: "宣教名称", width: "", prop: "preachname" }, |
| | | { label: "宣教描述", width: "", prop: "note" }, |
| | | { label: "宣教形式", width: "", prop: "playType" }, |
| | | { label: "适用方式", width: "", prop: "suitway" }, |
| | | { label: "修改日期", width: "", prop: "uploadTime" }, |
| | | { label: "创建人(缺)", width: "", prop: "updateBy" }, |
| | | ], |
| | | // 变量 |
| | | tableLabelvariable: [ |
| | |
| | | isavailable: "", |
| | | }; |
| | | this.currenttype = this.$route.query.type; |
| | | this.title = "问卷内容列表"; |
| | | this.tableLabel = this.tableLabelwj; |
| | | this.checkboxlist = ["线下(纸质)", "线上(短信/钉钉的文本、问卷链接)"]; |
| | | getQtemplatelist(queryParams).then((response) => { |
| | | this.title = "宣教内容列表"; |
| | | this.tableLabel = this.tableLabelxj; |
| | | this.checkboxlist = [ |
| | | "线下(纸质)", |
| | | "线上(短信/钉钉的文本视频)", |
| | | "宣教链接", |
| | | ]; |
| | | getlibrarylist(queryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | }); |
| | |
| | | } |
| | | this.$router.push({ |
| | | path: "/followvisit/tasklist", |
| | | query: { tasktopic: 6 }, |
| | | query: { tasktopic: 1 }, |
| | | }); |
| | | } |
| | | }); |
| | |
| | | // 确认选择模版放入任务模版 |
| | | selectfn(row, type) { |
| | | // 模版情况下获取模版信息 |
| | | if (type == 1) { |
| | | this.libName = row.svyname; |
| | | this.libId = row.svyid; |
| | | console.log(row, "row"); |
| | | this.Tasktemplate = row; |
| | | this.questionList = row.svyLibScripts; |
| | | this.previewtf = true; |
| | | this.previewid = row.svyid; |
| | | console.log(this.questionList, "questionList"); |
| | | this.Variablehandling(row.svyLibScripts, 1); |
| | | } else if (type == 2) { |
| | | } else if (type == 3) { |
| | | } |
| | | this.libName = row.preachname; |
| | | this.richText = null; |
| | | this.libId = row.id; |
| | | console.log(row, "row"); |
| | | this.Tasktemplate = row; |
| | | this.previewtf = true; |
| | | this.previewid = row.svyid; |
| | | console.log(this.questionList, "questionList"); |
| | | // this.Variablehandling(row.svyLibScripts, 1); |
| | | console.log(row.richText); |
| | | axios |
| | | .get(row.richText) |
| | | .then((response) => { |
| | | console.log(response.data, "数据"); // 输出获取到的文件内容 |
| | | this.richText = response.data; |
| | | this.richText = this.addStyleToImages(this.richText); |
| | | }) |
| | | .catch((error) => { |
| | | console.error("Failed to fetch file:", error); |
| | | }); |
| | | }, |
| | | addStyleToImages(html) { |
| | | return html.replace( |
| | | /<img([^>]*)style=(['"])(?:(?!\2).)*\2([^>]*)>/g, |
| | | '<img$1style="width:100%;height:auto;"$3>' |
| | | ); |
| | | }, |
| | | // 处理问题层变量 |
| | | Variablehandling(arr, type) { |
| | | let Variablist = []; |
| | | if (type == 1) { |
| | | console.log(arr); |
| | | // 循环问题 |
| | | arr.forEach((res) => { |
| | | console.log(JSON.parse(res.otherdata), "ss"); |
| | | // 循环选项 |
| | | JSON.parse(res.otherdata).forEach((item) => { |
| | | if (item.default != 1) { |
| | | Variablist.push({ |
| | | value: item.variate, |
| | | fill: "", |
| | | name: item.variatename, |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | console.log(Variablist, "Variablist"); |
| | | const Aarr = Variablist.filter( |
| | | (obj, index, self) => |
| | | index === |
| | | self.findIndex((t) => t.name === obj.name && t.value === obj.value) |
| | | ); |
| | | this.variableList = this.transitionList.concat(Aarr); |
| | | // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); |
| | | } |
| | | }, |
| | | // Variablehandling(arr, type) { |
| | | // let Variablist = []; |
| | | // if (type == 1) { |
| | | // console.log(arr); |
| | | // // 循环问题 |
| | | // arr.forEach((res) => { |
| | | // console.log(JSON.parse(res.otherdata), "ss"); |
| | | // // 循环选项 |
| | | // JSON.parse(res.otherdata).forEach((item) => { |
| | | // if (item.default != 1) { |
| | | // Variablist.push({ |
| | | // value: item.variate, |
| | | // fill: "", |
| | | // name: item.variatename, |
| | | // }); |
| | | // } |
| | | // }); |
| | | // }); |
| | | // console.log(Variablist, "Variablist"); |
| | | // const Aarr = Variablist.filter( |
| | | // (obj, index, self) => |
| | | // index === |
| | | // self.findIndex((t) => t.name === obj.name && t.value === obj.value) |
| | | // ); |
| | | // this.variableList = this.transitionList.concat(Aarr); |
| | | // // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); |
| | | // } |
| | | // }, |
| | | // 子任务二级弹框 |
| | | handleAddpatient(row) { |
| | | console.log(this.overallCase, "ssaaa"); |
| | |
| | | // 获取详情 |
| | | Getdetails() { |
| | | if (this.id) { |
| | | Questionnairetaskget({ taskid: this.id }).then((res) => { |
| | | getTaskInfo({ taskid: this.id }).then((res) => { |
| | | let filteredArray = ""; |
| | | console.log(2233); |
| | | if (res.code == 200) { |
| | |
| | | }); |
| | | }, |
| | | previewFn() { |
| | | let id = this.Tasktemplate.id; |
| | | this.Tasktemplate.id = null; |
| | | this.Tasktemplate.svyLibScripts.svyTaskTemplateTargetoptions = |
| | | this.Tasktemplate.svyLibScripts.svyLibTemplateTargetoptions; |
| | | this.Tasktemplate.svyTaskTemplateScriptVOS = |
| | | this.Tasktemplate.svyLibScripts; |
| | | this.Tasktemplate.templateid = id; |
| | | |
| | | this.Tasktemplate.templateid = this.libId; |
| | | this.Tasktemplate.isoperation = 1; |
| | | TaskQuestioncomit(this.Tasktemplate).then((response) => { |
| | | console.log(response); |