| | |
| | | >查看患者全部服务</el-button |
| | | > |
| | | <el-button v-else type="success" @click="getTaskservelist(id)" |
| | | >查看患者本次服务信息</el-button |
| | | >只展示本次服务信息</el-button |
| | | > |
| | | </div> |
| | | <div style="margin-left: 20px; color: #59a0f0"> |
| | |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <el-table :data="logsheetlist" style="width: 100%"> |
| | | <el-table |
| | | :data="logsheetlist" |
| | | :row-class-name="tableRowClassName" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | prop="sendname" |
| | | align="center" |
| | |
| | | size="medium" |
| | | type="text" |
| | | @click="Seedetails(scope.row)" |
| | | v-hasPermi="['system:user:edit']" |
| | | ><span class="button-zx" |
| | | ><i class="el-icon-s-order"></i>查看</span |
| | | ></el-button |
| | |
| | | : 'scriptTopic-dev' |
| | | " |
| | | :key="index" |
| | | v-if="item.scriptType == 1" |
| | | v-if="item.scriptType == 1 && !item.astrict" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[单选]<span>{{ item.scriptContent }}</span> |
| | |
| | | <div class="dev-xx"> |
| | | <el-radio-group |
| | | v-model="item.scriptResult" |
| | | @change="handleOptionChange($event, index, item)" |
| | | @change=" |
| | | handleOptionChange( |
| | | $event, |
| | | index, |
| | | item.svyLibTemplateTargetoptions |
| | | ) |
| | | " |
| | | > |
| | | <el-radio |
| | | v-for="( |
| | | items, index |
| | | items, indexs |
| | | ) in item.svyLibTemplateTargetoptions" |
| | | :class="items.isabnormal ? 'red-star' : ''" |
| | | :key="index" |
| | | :key="indexs" |
| | | :label="items.optioncontent" |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | |
| | | : 'scriptTopic-dev' |
| | | " |
| | | :key="index" |
| | | v-if="item.scriptType == 2" |
| | | v-if="item.scriptType == 2 && !item.astrict" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[多选]<span>{{ item.scriptContent }}</span> |
| | |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="index" |
| | | v-if="item.scriptType == 4" |
| | | v-if="item.scriptType == 4 && !item.astrict" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[问答]<span>{{ item.scriptContent }}</span> |
| | |
| | | <el-date-picker |
| | | type="date" |
| | | placeholder="选择日期" |
| | | :picker-options="pickerOptions" |
| | | align="right" |
| | | :picker-options="pickerOptions" |
| | | align="right" |
| | | v-model="form.date1" |
| | | style="width: 100%" |
| | | ></el-date-picker> |
| | |
| | | activeName: "wj", |
| | | voice: "", |
| | | templateid: "", |
| | | again: "", |
| | | zcform: {}, |
| | | form: {}, |
| | | tableDatatop: [], //题目表 |
| | |
| | | }, |
| | | }, |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '七天后', |
| | | shortcuts: [ |
| | | { |
| | | text: "七天后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 7); |
| | | picker.$emit('pick', date); |
| | | } |
| | | }, { |
| | | text: '15天后', |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | { |
| | | text: "15天后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24* 15); |
| | | picker.$emit('pick', date); |
| | | } |
| | | }, { |
| | | text: '30天后', |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 15); |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | { |
| | | text: "30天后", |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() + 3600 * 1000 * 24 * 30); |
| | | picker.$emit('pick', date); |
| | | } |
| | | }] |
| | | }, |
| | | picker.$emit("pick", date); |
| | | }, |
| | | }, |
| | | ], |
| | | }, |
| | | userform: {}, |
| | | Whetherall: false, //是否全部记录展示 |
| | | Whetherall: true, //是否全部记录展示 |
| | | dialogFormVisible: false, |
| | | Voicetype: 0, //是否为语音服务 |
| | | logsheetlist: [], |
| | |
| | | this.id = this.$route.query.id; |
| | | this.sendname = this.$route.query.sendname; |
| | | this.patid = this.$route.query.patid; |
| | | this.again = this.$route.query.again; |
| | | this.Voicetype = this.$route.query.Voicetype; |
| | | this.serviceType = this.$route.query.serviceType; |
| | | console.log(this.id, this.patid); |
| | | |
| | | this.getTaskservelist(this.id); |
| | | this.getTaskservelist(); |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | isFinish: false, |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | // 针对再次随访服务进行删除结果赋值 |
| | | if (this.again && res.data.upScriptResult) { |
| | | res.data.upScriptResult.forEach((itemA) => { |
| | | const itemB = res.data.scriptResult.find( |
| | | (item) => item.scriptContent === itemA.scriptContent |
| | | ); |
| | | if (itemB) { |
| | | itemB.scriptResult = itemA.scriptResult; |
| | | } |
| | | }); |
| | | } |
| | | this.tableDatatop = res.data.scriptResult; |
| | | |
| | | this.tableDatatop.forEach((item) => { |
| | | if (item.scriptType == 2) item.scriptResult = []; |
| | | if (item.scriptResult && item.scriptType != 2) { |
| | | if (item.scriptResultId && item.scriptType != 2) { |
| | | item.isoption = 3; |
| | | item.scriptResult = item.scriptResult; |
| | | } else if (item.scriptResult && item.scriptType == 2) { |
| | | } else if (item.scriptResultId && item.scriptType == 2) { |
| | | item.scriptResult = item.scriptResult.split("&"); |
| | | item.isoption = 3; |
| | | } |
| | |
| | | patid: this.patid, |
| | | subId: id ? id : this.id, |
| | | }; |
| | | console.log(this.voiceDatatop, "111"); |
| | | |
| | | getPersonVoices(obj).then((res) => { |
| | | console.log("222"); |
| | | if (res.code == 200) { |
| | | this.voiceDatatop = res.data.serviceSubtaskDetails; |
| | | this.voice = res.data.voice; |
| | |
| | | item.scriptResult = []; |
| | | } |
| | | }); |
| | | console.log(this.tableDatatop, "this.tableDatatop"); |
| | | |
| | | if (!this.tableDatatop.length) { |
| | | this.puttaskid(this.templateid); |
| | |
| | | item.scriptResult = []; |
| | | } |
| | | }); |
| | | console.log(this.tableDatatop, "this.tableDatatop"); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | .confirm( |
| | | '任务保存成功是否针对患者:"' + |
| | | this.logsheetlist[0].sendname + |
| | | '"再次随访?' |
| | | '"再次随访?', |
| | | "确认", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | showCancelButton: true, |
| | | dangerouslyUseHTMLString: true, |
| | | confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名 |
| | | cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名 |
| | | } |
| | | ) |
| | | .then(() => { |
| | | document.querySelector("#app").scrollTo(0, 0); |
| | |
| | | }, |
| | | yuyingetdetail() { |
| | | this.tableDatatop.forEach((item, index) => { |
| | | console.log(item.scriptResult, "scriptResult"); |
| | | item.scriptResult = item.scriptResult.join("&"); |
| | | item.templatequestionnum = index + 1; |
| | | item.subId = this.id; |
| | |
| | | this.$modal.msgSuccess("服务保存成功"); |
| | | this.$modal |
| | | .confirm( |
| | | '任务保存成功是否针对患者:"' + this.userform.name + '"再次随访?' |
| | | '任务保存成功是否针对患者:"' + |
| | | this.userform.name + |
| | | '"再次随访?', |
| | | "确认", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | showCancelButton: true, |
| | | dangerouslyUseHTMLString: true, |
| | | confirmButtonClass: "custom-confirm-button", // 自定义确认按钮的类名 |
| | | cancelButtonClass: "custom-cancel-button", // 自定义取消按钮的类名 |
| | | } |
| | | ) |
| | | .then(() => { |
| | | document.querySelector("#app").scrollTo(0, 0); |
| | |
| | | |
| | | // 获取患者记录 |
| | | getTaskservelist(id) { |
| | | console.log(id, "idsub"); |
| | | |
| | | if (id) { |
| | | this.Whetherall = false; |
| | | } else { |
| | |
| | | subId: id, |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.form = res.rows[0].serviceSubtaskList[0]; |
| | | this.form = res.rows[0].serviceSubtaskList.find( |
| | | (item) => item.id == this.id |
| | | ); |
| | | this.logsheetlist = res.rows[0].serviceSubtaskList; |
| | | this.templateid = this.logsheetlist[0].templateid; |
| | | const targetDate = new Date(this.form.longSendTime); // 目标日期 |
| | |
| | | } |
| | | this.getuserinfo(); |
| | | } |
| | | console.log(this.Voicetype, "this.Voicetype"); |
| | | |
| | | if (this.Voicetype) { |
| | | this.getPersonVoices(); |
| | | } else { |
| | |
| | | Editsingletaskson(objson).then((res) => { |
| | | if (res.code) { |
| | | this.$modal.msgSuccess("服务记录成功"); |
| | | this.getTaskservelist(this.id); |
| | | this.getTaskservelist(); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | Editsingletasksonyic(sendstate) { |
| | | console.log(sendstate, "sendstate"); |
| | | |
| | | let objson = {}; |
| | | getTaskservelist({ |
| | | patid: this.patid, |
| | | subId: this.id, |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | objson = res.rows[0].serviceSubtaskList[0]; |
| | | objson = res.rows[0].serviceSubtaskList.find( |
| | | (item) => item.id == this.id |
| | | ); |
| | | objson.remark = this.form.remark; |
| | | if (sendstate) objson.sendstate = sendstate; |
| | | Editsingletaskson(objson).then((res) => { |
| | |
| | | this.$modal.msgError("基础信息修改失败"); |
| | | } |
| | | }); |
| | | this.getTaskservelist(this.id); |
| | | this.getTaskservelist(); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // 异常列渲染 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (row.id == this.id) { |
| | | return "warning-row"; |
| | | } |
| | | return ""; |
| | | }, |
| | | // 调起再次发送 |
| | | sendAgain() { |
| | |
| | | this.Voicetype = 1; |
| | | } |
| | | } |
| | | console.log(this.Voicetype, "this.Voicetype"); |
| | | |
| | | this.taskid = row.taskid; |
| | | this.id = row.id; |
| | | this.patid = row.patid; |
| | | this.serviceType = row.serviceType; |
| | | this.getTaskservelist(this.id); |
| | | this.getTaskservelist(); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | handleOptionChange(a, b, c) { |
| | | console.log(this.tableDatatop[b], "this.tableDatatop[b]"); |
| | | |
| | | const result = c.find((item) => item.optioncontent == a); |
| | | if (result.nextQuestion == 0) { |
| | | this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => { |
| | | acc.push(i > b ? { ...item, astrict: 1 } : item); |
| | | return acc; |
| | | }, []); |
| | | } else { |
| | | this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => { |
| | | acc.push(i > b ? { ...item, astrict: 0 } : item); |
| | | return acc; |
| | | }, []); |
| | | } |
| | | if (this.Voicetype) { |
| | | var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find( |
| | | (item) => item.optioncontent == a |
| | |
| | | |
| | | return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| | | }, |
| | | updateScore(a, b, c) { |
| | | console.log(a); |
| | | console.log(b); |
| | | console.log(c); |
| | | }, |
| | | updateScore(a, b, c) {}, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | <style lang="scss"> |
| | | .Followupdetailspage { |
| | | margin: 10px; |
| | | } |
| | |
| | | margin-right: 20px; |
| | | } |
| | | } |
| | | } |
| | | ::v-deep.el-table .warning-row { |
| | | background: #c4e2ee; |
| | | } |
| | | .Followuserinfos { |
| | | margin: 20px 10px; |
| | |
| | | ::v-deep.el-link.el-link--default { |
| | | color: #02a7f0 !important; |
| | | } |
| | | .el-message-box__btns button:nth-child(2) { |
| | | margin-left: 10px; |
| | | background-color: #f57676; |
| | | border-color: #f57676; |
| | | } |
| | | .mulsz { |
| | | font-size: 25px; |
| | | margin-top: 20px; |