|  |  |  | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-button type="success" @click="nextstep('ruleForm')">{{ | 
|---|
|  |  |  | quote ? "立即创建" : "任务详情配置" | 
|---|
|  |  |  | }}</el-button> | 
|---|
|  |  |  | <el-button @click="resetForm('ruleForm')">重置</el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 任务详情 --> | 
|---|
|  |  |  | <div v-if="Editprogress == 2"> | 
|---|
|  |  |  | <el-alert title="在本阶段选择随访病人" type="success" effect="dark"> | 
|---|
|  |  |  | </el-alert> | 
|---|
|  |  |  | <div class="leftvlue-jbxx"> | 
|---|
|  |  |  | <div class="examine-jic"> | 
|---|
|  |  |  | <div class="headline"> | 
|---|
|  |  |  | <div>变量匹配量参</div> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-button type="success" @click="nextstep('ruleForm')">{{ | 
|---|
|  |  |  | quote ? "立即创建" : "任务详情配置" | 
|---|
|  |  |  | }}</el-button> | 
|---|
|  |  |  | <el-button @click="resetForm('ruleForm')">重置</el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 任务详情 --> | 
|---|
|  |  |  | <div v-if="Editprogress == 2"> | 
|---|
|  |  |  | <el-alert title="在本阶段选择随访病人" type="success" effect="dark"> | 
|---|
|  |  |  | </el-alert> | 
|---|
|  |  |  | <div class="leftvlue-jbxx"> | 
|---|
|  |  |  | <div class="examine-jic"> | 
|---|
|  |  |  | <div class="headline"> | 
|---|
|  |  |  | <div>患者列表</div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="jic-value"> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <!--用户数据--> | 
|---|
|  |  |  | <el-form | 
|---|
|  |  |  | <!-- <el-form | 
|---|
|  |  |  | :model="topqueryParams" | 
|---|
|  |  |  | ref="queryForm" | 
|---|
|  |  |  | size="small" | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="患者范围" prop="status"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="topqueryParams.topic" | 
|---|
|  |  |  | v-model="topqueryParams.scriptTopic" | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="患者状态" prop="status"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="topqueryParams.topic" | 
|---|
|  |  |  | v-model="topqueryParams.scriptTopic" | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="随访结果" prop="status"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="topqueryParams.topic" | 
|---|
|  |  |  | v-model="topqueryParams.scriptTopic" | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | <el-divider></el-divider> | 
|---|
|  |  |  | <el-divider></el-divider> --> | 
|---|
|  |  |  | <el-row :gutter="10" class="mb8"> | 
|---|
|  |  |  | <el-col :span="1.5"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | 
|---|
|  |  |  | :currentList="overallCase" | 
|---|
|  |  |  | :tableLabel="tableLabelhz" | 
|---|
|  |  |  | :serialnumber="false" | 
|---|
|  |  |  | :searchTrue="true" | 
|---|
|  |  |  | :multiplechoice="false" | 
|---|
|  |  |  | :controlxz="false" | 
|---|
|  |  |  | :typeinfo="2" | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="就诊科室" prop="status"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="patientqueryParams.topic" | 
|---|
|  |  |  | v-model="patientqueryParams.scriptTopic" | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option-group | 
|---|
|  |  |  | 
|---|
|  |  |  | <div class="preview-left"> | 
|---|
|  |  |  | <!-- 单选 --> | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | class="topic-dev" | 
|---|
|  |  |  | class="scriptTopic-dev" | 
|---|
|  |  |  | v-for="(item, index) in questionList" | 
|---|
|  |  |  | :key="item.aaa" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div class="dev-text"> | 
|---|
|  |  |  | {{ index + 1 }}、<span>{{ item.questionText }}</span> | 
|---|
|  |  |  | {{ index + 1 }}、<span>{{ item.scriptContent }}</span> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div class="dev-xx" v-if="item.valueType == 1"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | placeholder="未获取到信息" | 
|---|
|  |  |  | v-model.sync="item.questionResult" | 
|---|
|  |  |  | v-model.sync="item.scriptResult" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | prop="status" | 
|---|
|  |  |  | v-if="currenttype == 1 || currenttype == 8" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-select v-model="topqueryParams.topic" placeholder="请选择"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="topqueryParams.scriptTopic" | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in taskoptions" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | 
|---|
|  |  |  | prop="status" | 
|---|
|  |  |  | v-if="currenttype == 4 || currenttype == 5" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-select v-model="topqueryParams.topic" placeholder="请选择"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="topqueryParams.scriptTopic" | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in taskoptions" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | 
|---|
|  |  |  | prop="status" | 
|---|
|  |  |  | v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-select v-model="topqueryParams.topic" placeholder="请选择"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="topqueryParams.scriptTopic" | 
|---|
|  |  |  | placeholder="请选择" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | v-for="item in taskoptions" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | 
|---|
|  |  |  | overallCase: [], //选择患者总 | 
|---|
|  |  |  | allpids: [], | 
|---|
|  |  |  | libId: null, //模板库模版id | 
|---|
|  |  |  | nhh: null, //是否依照新增 | 
|---|
|  |  |  | Editprogress: 1, //编辑进度 | 
|---|
|  |  |  | drawermb: false, //选择模版弹窗 | 
|---|
|  |  |  | previewtf: false, //预览 | 
|---|
|  |  |  | 
|---|
|  |  |  | { label: "入院日期", width: "", prop: "inhosptime" }, | 
|---|
|  |  |  | { label: "创建人(缺)", width: "", prop: "update_by" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | 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" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  |  | 
|---|
|  |  |  | tableLabelmz: [ | 
|---|
|  |  |  | { label: "随访名称", width: "", prop: "templateName" }, | 
|---|
|  |  |  | { label: "主要内容", width: "", prop: "note" }, | 
|---|
|  |  |  | { label: "修改日期", width: "", prop: "updateTime" }, | 
|---|
|  |  |  | { label: "创建人(缺)", width: "", prop: "updateBy" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | tableLabelcy: [ | 
|---|
|  |  |  | { label: "随访名称", width: "", prop: "templatename" }, | 
|---|
|  |  |  | { label: "随访计划", width: "", prop: "impTemplate" }, | 
|---|
|  |  |  | { label: "修改日期", width: "", prop: "uploadTime" }, | 
|---|
|  |  |  | { label: "创建人(缺)", width: "", prop: "updateBy" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | tableLabelfz: [ | 
|---|
|  |  |  | { label: "通知名称", width: "", prop: "templatename" }, | 
|---|
|  |  |  | { label: "通知模版", width: "", prop: "impTemplate" }, | 
|---|
|  |  |  | { label: "修改日期", width: "", prop: "uploadTime" }, | 
|---|
|  |  |  | { label: "创建人(缺)", width: "", prop: "updateBy" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | tableLabeltj: [ | 
|---|
|  |  |  | { label: "通知名称", width: "", prop: "name" }, | 
|---|
|  |  |  | { label: "通知模版", width: "", prop: "impTemplate" }, | 
|---|
|  |  |  | { label: "修改日期", width: "", prop: "uploadTime" }, | 
|---|
|  |  |  | { label: "创建人(缺)", width: "", prop: "updateBy" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | tableLabelwj: [ | 
|---|
|  |  |  | { label: "问卷名称", width: "", prop: "name" }, | 
|---|
|  |  |  | { label: "问卷模版", width: "", prop: "impTemplate" }, | 
|---|
|  |  |  | { label: "修改日期", width: "", prop: "uploadTime" }, | 
|---|
|  |  |  | { label: "创建人(缺)", width: "", prop: "updateBy" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 变量 | 
|---|
|  |  |  | tableLabelvariable: [ | 
|---|
|  |  |  | { label: "变量名称", width: "", prop: "variablename" }, | 
|---|
|  |  |  | 
|---|
|  |  |  | { label: "替换值", width: "", prop: "Replacementvalue" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | preachform: [ | 
|---|
|  |  |  | { label: "多媒体", value: 1 }, | 
|---|
|  |  |  | { label: "纸质", value: 2 }, | 
|---|
|  |  |  | { label: "电话", value: 3 }, | 
|---|
|  |  |  | { label: "线下", value: 1 }, | 
|---|
|  |  |  | { label: "电话", value: 2 }, | 
|---|
|  |  |  | { label: "小程序", value: 3 }, | 
|---|
|  |  |  | { label: "短信", value: 4 }, | 
|---|
|  |  |  | { label: "微信公众号", value: 5 }, | 
|---|
|  |  |  | { label: "微信小程序", value: 6 }, | 
|---|
|  |  |  | { label: "支付宝", value: 7 }, | 
|---|
|  |  |  | { label: "智能小程序", value: 8 }, | 
|---|
|  |  |  | { label: "钉钉", value: 9 }, | 
|---|
|  |  |  | { label: "线下(纸质)", value: 10 }, | 
|---|
|  |  |  | { label: "线上(短信/钉钉的文本、问卷链接)", value: 11 }, | 
|---|
|  |  |  | { label: "微信公众", value: 5 }, | 
|---|
|  |  |  | { label: "钉钉", value: 6 }, | 
|---|
|  |  |  | { label: "智能机器人", value: 7 }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | // 时间处理 | 
|---|
|  |  |  | daytime: [], //日期 | 
|---|
|  |  |  | 
|---|
|  |  |  | this.id = this.$route.query.id; | 
|---|
|  |  |  | this.form.type = this.$route.query.type; | 
|---|
|  |  |  | this.form.typename = this.$route.query.typename; | 
|---|
|  |  |  | this.form.nhh = this.$route.query.nhh; | 
|---|
|  |  |  | this.listDept(); | 
|---|
|  |  |  | this.Acquisitiontype(); | 
|---|
|  |  |  | this.Getdetails(); | 
|---|
|  |  |  | 
|---|
|  |  |  | // 出院、门诊、专病随访 | 
|---|
|  |  |  | this.title = "随访内容列表"; | 
|---|
|  |  |  | this.tableLabel = this.tableLabelmz; | 
|---|
|  |  |  | this.checkboxlist = ["纸质", "多媒体", "电话", "微信公众号"]; | 
|---|
|  |  |  | this.checkboxlist = ["短信", "微信", "人工电话", "智能机器人"]; | 
|---|
|  |  |  | getFollowuplist(queryParams).then((response) => { | 
|---|
|  |  |  | this.userList = response.rows; | 
|---|
|  |  |  | this.total = response.total; | 
|---|
|  |  |  | 
|---|
|  |  |  | submitForm(formName) { | 
|---|
|  |  |  | // this.form.preachform = this.checkList.join(","); | 
|---|
|  |  |  | this.formatFn(1); | 
|---|
|  |  |  | if (!this.form.patTaskRelevances[0]) { | 
|---|
|  |  |  | this.$modal.msgError("请选择病人"); | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const filteredArray = this.variableList.filter( | 
|---|
|  |  |  | (item) => | 
|---|
|  |  |  | item.name !== "姓名" && item.name !== "电话" && item.name !== "地址" | 
|---|
|  |  |  | 
|---|
|  |  |  | // 处理问题层变量 | 
|---|
|  |  |  | Variablehandling(arr, type) { | 
|---|
|  |  |  | let Variablist = []; | 
|---|
|  |  |  | this.variableList = []; //变量列表 | 
|---|
|  |  |  | if (type == 1) { | 
|---|
|  |  |  | console.log(arr); | 
|---|
|  |  |  | // 循环问题 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | console.log(this.variableList, "variableList"); | 
|---|
|  |  |  | // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | this.formatFn(2); | 
|---|
|  |  |  | console.log(this.form.showDate, "this.form"); | 
|---|
|  |  |  | this.daytime = this.form.showDate.split(","); | 
|---|
|  |  |  | this.changeTimeday(this.daytime); | 
|---|
|  |  |  | if (this.form.showTimeMorn) { | 
|---|
|  |  |  | if (this.form.sendType == 3) { | 
|---|
|  |  |  | this.time4 = this.form.showTimeMorn; | 
|---|
|  |  |  | 
|---|
|  |  |  | console.log(this.form.sendTimeslot, "时间"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeTimeday(row) { | 
|---|
|  |  |  | console.log(row, "日期"); | 
|---|
|  |  |  | const startDate = new Date(row[0]); | 
|---|
|  |  |  | const endDate = new Date(row[1]); | 
|---|
|  |  |  | this.applydaytime = this.getDates(startDate, endDate); | 
|---|
|  |  |  | this.processingTime(); | 
|---|
|  |  |  | if (!top) { | 
|---|
|  |  |  | this.processingTime(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getDates(startDate, endDate) { | 
|---|
|  |  |  | const dates = []; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 { | 
|---|
|  |  |  | .scriptTopic-dev { | 
|---|
|  |  |  | margin-bottom: 25px; | 
|---|
|  |  |  | font-size: 20px !important; | 
|---|
|  |  |  | .dev-text { | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 22px; | 
|---|
|  |  |  | height: 22px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // ::v-deep.topic-dev.el-radio__label { | 
|---|
|  |  |  | // ::v-deep.scriptTopic-dev.el-radio__label { | 
|---|
|  |  |  | //   font-size: 24px; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | ::v-deep.el-radio-group { | 
|---|