| | |
| | | import request from "@/utils/request"; |
| | | |
| | | // 查询随访模版列表 |
| | | // 查询随访模板列表 |
| | | export function getFollowuplist(data) { |
| | | return request({ |
| | | url: "/smartor/template/list", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 随访模版详情 |
| | | // 随访模板详情 |
| | | export function Followupinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/template/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 删除随访模版 |
| | | // 删除随访模板 |
| | | export function delFollowupinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/template/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 新增或修改随访模版 |
| | | // 新增或修改随访模板 |
| | | export function compileFollowup(data) { |
| | | return request({ |
| | | url: "/smartor/template/saveOrUpdateScript", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 查询随访模版详情列表 |
| | | // 查询随访模板详情列表 |
| | | export function getvFollowup(data) { |
| | | return request({ |
| | | url: "/smartor/template/selectInfoByCondition", |
| | |
| | | }); |
| | | } |
| | | |
| | | // 新增随访模版分类树 |
| | | // 新增随访模板分类树 |
| | | export function addFollowupclassify(data) { |
| | | return request({ |
| | | url: "/smartor/templateassort/addtree", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 新增随访模版分类树 |
| | | // 新增随访模板分类树 |
| | | export function editFollowupclassify(data) { |
| | | return request({ |
| | | url: "/smartor/templateassort/edit", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 删除随访模版分类 |
| | | // 删除随访模板分类 |
| | | export function delFollowupclassify(Id) { |
| | | return request({ |
| | | url: "/smartor/templateassort/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 查询随访模版分类树 |
| | | // 查询随访模板分类树 |
| | | export function getFollowupclassify(data) { |
| | | return request({ |
| | | url: "/smartor/templateassort/selectIvrLibaTemplateAssortList", |
| | |
| | | import request from "@/utils/request"; |
| | | import { param } from "jquery"; |
| | | |
| | | // 查询问卷模版列表 |
| | | // 查询问卷模板列表 |
| | | export function getQtemplateobj(data) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplate/selectSvyLibTemplatelist", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 问卷模版列表 |
| | | // 问卷模板列表 |
| | | export function getQtemplatelist(data) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplate/list", |
| | |
| | | params: data, |
| | | }); |
| | | } |
| | | // 问卷模版详情 |
| | | // 问卷模板详情 |
| | | export function Qtemplateinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplate/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 删除问卷模版 |
| | | // 删除问卷模板 |
| | | export function delQtemplateinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplate/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 新增或修改问卷模版详情 |
| | | // 新增或修改问卷模板详情 |
| | | export function compileQtemplate(data) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplate/saveOrUpdateTemplate", |
| | |
| | | } |
| | | |
| | | |
| | | // 新增问卷模版分类 |
| | | // 新增问卷模板分类 |
| | | export function addQtemplateclassify(data) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplateCategory/addtree", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 新增问卷模版分类 |
| | | // 新增问卷模板分类 |
| | | export function editQtemplateclassify(data) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplateCategory/edit", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 删除问卷模版分类 |
| | | // 删除问卷模板分类 |
| | | export function delQtemplateclassify(Id) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplateCategory/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 查询问卷模版分类树 |
| | | // 查询问卷模板分类树 |
| | | export function getQtemplateclassify(data) { |
| | | return request({ |
| | | url: "/smartor/svyLibTemplateCategory/list", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 查询问卷模版分类树 |
| | | // 查询问卷模板分类树 |
| | | export function getQRcode(data) { |
| | | return request({ |
| | | url: "/qrcode/getQRcode", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 问卷任务模版新增修改 |
| | | // 问卷任务模板新增修改 |
| | | export function TaskQuestioncomit(data) { |
| | | return request({ |
| | | url: "/smartor/svytemplateTask/saveOrUpdateTaskTemp", |
| | |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 新增模版 |
| | | // 新增模板 |
| | | export function addhetask(data) { |
| | | return request({ |
| | | url: "/smartor/serviceSubtask/add", |
| | |
| | | }); |
| | | } |
| | | |
| | | // 获取任务模版详情 |
| | | // 获取任务模板详情 |
| | | export function TaskTemplategetinfo(id) { |
| | | return request({ |
| | | url: "/smartor/ivrTaskTemplate/getInfo/"+id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 任务模版新增修改 |
| | | // 任务模板新增修改 |
| | | export function TaskTemplatecomit(data) { |
| | | return request({ |
| | | url: "/smartor/ivrTaskTemplate/saveOrUpdateTempScript", |
| | |
| | | data: data |
| | | }); |
| | | } |
| | | |
| | | // 提交问卷 |
| | | export function getsearchrResult(data) { |
| | | return request({ |
| | | url: "/smartor/subtaskAnswer/selectPatQuestionResult", |
| | | method: "post", |
| | | data: data |
| | | }); |
| | | } |
| | |
| | | import request from "@/utils/request"; |
| | | |
| | | // 查询通用模版列表 |
| | | // 查询通用模板列表 |
| | | export function getgenerallist(data) { |
| | | return request({ |
| | | url: "/smartor/extemplate/list", |
| | |
| | | }); |
| | | } |
| | | |
| | | // 删除通用模版 |
| | | // 删除通用模板 |
| | | export function delgeneralinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/extemplate/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 查询通用模版详情列表 |
| | | // 查询通用模板详情列表 |
| | | export function getgeneralinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/extemplate/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 新增模版 |
| | | // 新增模板 |
| | | export function addgeneral(data) { |
| | | return request({ |
| | | url: "/smartor/extemplate/add", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 修改通用模版 |
| | | // 修改通用模板 |
| | | export function editgeneral(data) { |
| | | return request({ |
| | | url: "/smartor/extemplate/edit", |
| | |
| | | } |
| | | |
| | | |
| | | // 新增通用模版分类树 |
| | | // 新增通用模板分类树 |
| | | export function addgeneralclassify(data) { |
| | | return request({ |
| | | url: "/smartor/category/add", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 删除通用模版分类 |
| | | // 删除通用模板分类 |
| | | export function delgeneralclassify(Id) { |
| | | return request({ |
| | | url: "/smartor/category/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 查询通用模版分类树 |
| | | // 查询通用模板分类树 |
| | | export function getgeneralclassify(data) { |
| | | return request({ |
| | | url: "/smartor/category/list", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 查询通用模版话术列表 |
| | | // 查询通用模板话术列表 |
| | | export function getgeneravaluellist(data) { |
| | | return request({ |
| | | url: "/smartor/extemplatescript/list", |
| | |
| | | }); |
| | | } |
| | | |
| | | // 删除通用模版话术 |
| | | // 删除通用模板话术 |
| | | export function delgeneravaluelinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/extemplatescript/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 查询通用模版话术详情 |
| | | // 查询通用模板话术详情 |
| | | export function getgeneravaluelinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/extemplatescript/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 新增模版话术 |
| | | // 新增模板话术 |
| | | export function addgeneravaluel(data) { |
| | | return request({ |
| | | url: "/smartor/extemplatescript/add", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 修改通用模版话术 |
| | | // 修改通用模板话术 |
| | | export function editgeneravaluel(data) { |
| | | return request({ |
| | | url: "/smartor/extemplatescript/edit", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | |
| | | import request from "@/utils/request"; |
| | | |
| | | // 查询宣教模版列表 |
| | | // 查询宣教模板列表 |
| | | export function getlibrarylist(data) { |
| | | return request({ |
| | | url: "/smartor/library/list", |
| | |
| | | }); |
| | | } |
| | | |
| | | // 删除宣教模版 |
| | | // 删除宣教模板 |
| | | export function dellibraryinfo(Id) { |
| | | return request({ |
| | | url: "/smartor/library/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 查询宣教模版详情列表 |
| | | // 查询宣教模板详情列表 |
| | | export function getlibraryinfo(data) { |
| | | return request({ |
| | | url: "/smartor/library/selectInfoByCondition", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 新增或修改宣教模版 |
| | | // 新增或修改宣教模板 |
| | | export function compilelibrary(data) { |
| | | return request({ |
| | | url: "/smartor/library/saveOrUpdateHeLibrary", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 新增或修改宣教模版 |
| | | // 新增或修改宣教模板 |
| | | export function getcompiletask(data) { |
| | | return request({ |
| | | url: "/smartor/heTaskSingle/queryHeTaskByCondition", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 新增宣教模版分类树 |
| | | // 新增宣教模板分类树 |
| | | export function addheLibraryAssort(data) { |
| | | return request({ |
| | | url: "/smartor/heLibraryAssort/addtree", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 新增宣教模版分类树 |
| | | // 新增宣教模板分类树 |
| | | export function editheLibraryAssort(data) { |
| | | return request({ |
| | | url: "/smartor/heLibraryAssort/edit", |
| | |
| | | data: data, |
| | | }); |
| | | } |
| | | // 删除宣教模版分类 |
| | | // 删除宣教模板分类 |
| | | export function delheLibraryAssort(Id) { |
| | | return request({ |
| | | url: "/smartor/heLibraryAssort/remove/" + Id, |
| | | method: "get", |
| | | }); |
| | | } |
| | | // 查询宣教模版分类树 |
| | | // 查询宣教模板分类树 |
| | | export function getheLibraryAssort(data) { |
| | | return request({ |
| | | url: "/smartor/heLibraryAssort/selectHeLibraryAssortList", |
| | |
| | | required: true, |
| | | default: () => [], |
| | | }, |
| | | // 5问卷模版、3随访模版、6宣教 |
| | | // 5问卷模板、3随访模板、6宣教 |
| | | type: { |
| | | type: Number, |
| | | default: () => { |
| | |
| | | type: Boolean, |
| | | default: true, |
| | | }, |
| | | // 1模版列表 2选中患者 3患者列表 |
| | | // 1模板列表 2选中患者 3患者列表 |
| | | typeinfo: { |
| | | type: Number, |
| | | default: 1, |
| | |
| | | <el-menu-item-group> |
| | | <el-menu-item index="3-1">话术库</el-menu-item> |
| | | <el-menu-item index="3-2">意图管理</el-menu-item> |
| | | <el-menu-item index="3-3">模版库</el-menu-item> |
| | | <el-menu-item index="3-3">模板库</el-menu-item> |
| | | </el-menu-item-group> |
| | | <!-- <el-submenu index="1-4"> |
| | | <template slot="title">选项4</template> |
| | |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="任务名称"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | <el-input v-model="topqueryParams.taskName"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="审核人"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | <el-form-item label="发起人"> |
| | | <el-input v-model="topqueryParams.createBy"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="审核时间"> |
| | | <!-- <el-form-item label="审核时间"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style="width: 240px" |
| | |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="模版" prop="status"> |
| | | <el-select v-model="topqueryParams.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-input v-model="topqueryParams.templatename"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="出院随访状态" prop="status"> |
| | | <el-select v-model="topqueryParams.topic" placeholder="请选择"> |
| | | <el-select v-model="topqueryParams.sendstate" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in topicoptions" |
| | | :key="item.value" |
| | |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <!-- <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | |
| | | <!-- <el-col :span="1.5"> </el-col> --> |
| | | </el-row> |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="重新随访" |
| | |
| | | ><span class="button-bb" |
| | | ><i class="el-icon-s-promotion"></i></span |
| | | ></el-button> |
| | | </el-tooltip> |
| | | <el-tooltip |
| | | </el-tooltip> --> |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="停止" |
| | |
| | | v-hasPermi="['system:user:edit']" |
| | | ><span class="button-sc"><i class="el-icon-delete"></i></span |
| | | ></el-button> |
| | | </el-tooltip> |
| | | <el-tooltip |
| | | </el-tooltip> --> |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="查看任务详情" |
| | |
| | | v-hasPermi="['system:user:edit']" |
| | | ><span class="button-zx"><i class="el-icon-s-order"></i></span |
| | | ></el-button> |
| | | </el-tooltip> |
| | | </el-tooltip> --> |
| | | <el-button |
| | | 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 |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | hospType: 1, |
| | | serviceType:2, |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | |
| | | topicoptions: [ |
| | | { |
| | | value: 1, |
| | | label: "待审核", |
| | | label: "被领取", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "执行中", |
| | | label: "待发送", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "执行完成", |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: "已停止", |
| | | label: "已发送", |
| | | }, |
| | | ], |
| | | serviceState: [], |
| | |
| | | this.modificationVisible = true; |
| | | }, |
| | | // 跳转详情页 |
| | | Seedetails() { |
| | | Seedetails(row) { |
| | | this.$router.push({ |
| | | path: "/followvisit/record/detailpage/", |
| | | query: { id: "1" }, |
| | | query: { taskid: row.taskid, patid: row.patid }, |
| | | }); |
| | | }, |
| | | // 导入按钮 |
| | |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="任务名称"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | <el-input v-model="topqueryParams.taskName"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="审核人"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | <el-form-item label="发起人"> |
| | | <el-input v-model="topqueryParams.createBy"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="审核时间"> |
| | | <!-- <el-form-item label="审核时间"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style="width: 240px" |
| | |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="随访类型" prop="status"> |
| | | <el-select v-model="topqueryParams.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="topqueryParams.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-input v-model="topqueryParams.templatename"></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item label="门诊随访状态" prop="status"> |
| | | <el-select v-model="topqueryParams.topic" placeholder="请选择"> |
| | | <el-select v-model="topqueryParams.sendstate" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in topicoptions" |
| | | :key="item.value" |
| | |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <!-- <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | </el-col> --> |
| | | <!-- <el-col :span="1.5"> |
| | | <div class="documentf"> |
| | | <div class="document"> |
| | | <el-button |
| | |
| | | > |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | |
| | | <!-- <el-col :span="1.5"> </el-col> --> |
| | | </el-row> |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | <!-- <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="followupvisit(scope.row)" |
| | |
| | | ><span class="button-sc" |
| | | ><i class="el-icon-delete"></i>停止</span |
| | | ></el-button |
| | | > |
| | | > --> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | hospType:2 |
| | | |
| | | serviceType:3, |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | |
| | | topicoptions: [ |
| | | { |
| | | value: 1, |
| | | label: "待审核", |
| | | label: "被领取", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "执行中", |
| | | label: "待发送", |
| | | }, |
| | | { |
| | | value: 3, |
| | | label: "执行完成", |
| | | }, |
| | | { |
| | | value: 4, |
| | | label: "已停止", |
| | | label: "已发送", |
| | | }, |
| | | ], |
| | | serviceState:[], |
| | |
| | | this.modificationVisible = true; |
| | | }, |
| | | // 跳转详情页 |
| | | Seedetails() { |
| | | Seedetails(row) { |
| | | this.$router.push({ |
| | | path: "/followvisit/record/detailpage/", |
| | | query: { id: "1" }, |
| | | query: { taskid: row.taskid, patid: row.patid }, |
| | | }); |
| | | }, |
| | | // 导入按钮 |
| | |
| | | <div class="Followupdetailspage"> |
| | | <div class="Followuserinfo"> |
| | | <div> |
| | | <div class="userinfo-text"><span>随访详情</span> <el-button type="success">随访后短信</el-button></div> |
| | | |
| | | <div class="userinfo-text">{{ sendname }}<span>患者服务详情详情</span> |
| | | <!-- <el-button type="success">随访后短信</el-button> --> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <el-table :data="tableDatatop" style="width: 100%"> |
| | | <el-table :data="logsheetlist" style="width: 100%"> |
| | | <el-table-column |
| | | prop="beneficiaryname" |
| | | prop="sendname" |
| | | align="center" |
| | | label="姓名" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="beneficiaryname" |
| | | prop="sendstate" |
| | | align="center" |
| | | label="通知状态" |
| | | label="服务状态" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="title" |
| | | prop="updateTime" |
| | | align="center" |
| | | label="完成时间" |
| | | |
| | | width="200" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="taskName" align="center" width="200" |
| | | show-overflow-tooltip label="任务名称"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="idcardno" |
| | | prop="templatename" |
| | | align="center" |
| | | label="审核意见" |
| | | |
| | | label="服务模板" |
| | | width="200" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="depositbank" align="center" label="随访方案"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="bankcardno" |
| | | align="center" |
| | |
| | | width="210" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column prop="price" align="center" label="被叫号码"> |
| | | </el-table-column> |
| | | <el-table-column prop="quantity" width="200" align="center" label="审核意见"> |
| | | </el-table-column> |
| | | <el-table-column prop="amount" width="200" align="center" label="通知结果"> |
| | | </el-table-column> |
| | | <el-table-column prop="taxedamount" width="200" align="center" label="医生意见"> |
| | | <el-table-column |
| | | label="操作" |
| | | fixed="right" |
| | | align="center" |
| | | width="200" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | 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 |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | |
| | | <el-tabs type="border-card"> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-headset"></i> 语音详情1</span |
| | | ><i class="el-icon-notebook-1"></i> 问卷随访结果</span |
| | | > |
| | | <div class="CONTENT"> |
| | | <div class="title">{{ taskname ? taskname : "问卷" }}</div> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="topic-dev" |
| | | v-for="(item, index) in tableDatatop" |
| | | :key="item.aaa" |
| | | > |
| | | <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1"> |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group |
| | | v-model="item.scriptResult" |
| | | @change="handleOptionChange($event, index, item)" |
| | | > |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="items.optioncontent" |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | <div v-show="item.prompt"> |
| | | <el-alert :title="item.prompt" type="warning"> </el-alert> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2"> |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group |
| | | v-model="item.scriptResult" |
| | | @change="updateScore($event, index, item)" |
| | | > |
| | | <el-checkbox |
| | | @change="$forceUpdate()" |
| | | v-for="(items, indexs) in item.svyLibTemplateTargetoptions" |
| | | :key="indexs" |
| | | :label="items.optioncontent" |
| | | > |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | <div v-show="item.prompt && item.scriptResult[0]"> |
| | | <el-alert :title="item.prompt" type="warning"> </el-alert> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | | <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 4"> |
| | | <div class="dev-text"> |
| | | {{ index + 1 }}、[问答]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="2" |
| | | placeholder="请输入答案" |
| | | v-model="item.scriptResult" |
| | | clearable |
| | | > |
| | | </el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-headset"></i> 语音随访详情</span |
| | | > |
| | | <div class="borderdiv"> |
| | | <div> |
| | | <div class="leftside"> |
| | | <i class="el-icon-phone-outline"></i><span>说撒啊小说</span> |
| | | <i class="el-icon-phone-outline"></i><span>您今天身体情况怎么样</span> |
| | | </div> |
| | | <div class="offside"> |
| | | <i class="el-icon-user"></i> |
| | | <div class="offside-value"> |
| | | <el-input v-model="input"></el-input> |
| | | <el-radio v-model="radio" label="1">备选项</el-radio> |
| | | <el-radio v-model="radio" label="2">备选项2</el-radio> |
| | | <el-radio v-model="radio" label="3">备选项3</el-radio> |
| | | <el-radio v-model="radio" label="4">备选项4</el-radio> |
| | | <el-radio v-model="radio" label="1">很棒</el-radio> |
| | | <el-radio v-model="radio" label="2">还可以</el-radio> |
| | | <el-radio v-model="radio" label="3">不太好</el-radio> |
| | | <el-radio v-model="radio" label="4">比较差</el-radio> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-headset"></i> 语音详情2</span |
| | | > |
| | | <div class="borderdiv">语音详情2</div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-notebook-1"></i> 语音信息</span |
| | | > |
| | | <div class="borderdiv">语音信息</div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-phone-outline"></i> 外呼信息</span |
| | | > |
| | | <div class="borderdiv">外呼信息</div> |
| | | </el-tab-pane> |
| | | <el-tab-pane> |
| | | <span class="mulsz" slot="label" |
| | | ><i class="el-icon-s-operation"></i> 标签状态</span |
| | | > |
| | | <div class="borderdiv"> |
| | | <el-radio v-model="radio" label="1">不处理</el-radio> |
| | | <el-radio v-model="radio" label="2">继续跟踪</el-radio |
| | | ><el-radio v-model="radio" label="3">通知医院就诊</el-radio> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getsearchrResult, |
| | | getTaskservelist, |
| | | |
| | | } from "@/api/AiCentre/index"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | radio: "1", |
| | | userid: "", |
| | | input: "", |
| | | input: "今天身体还不错", |
| | | radio: "2", |
| | | tableDatatop: [], |
| | | taskname:'', |
| | | tableDatatop: [],//题目表 |
| | | logsheetlist:[], |
| | | sendname:null, |
| | | serviceType:null, |
| | | taskid:null, |
| | | patid:null, |
| | | }; |
| | | }, |
| | | |
| | | created() {}, |
| | | created() { |
| | | this.taskid=this.$route.query.taskid; |
| | | this.sendname=this.$route.query.sendname; |
| | | this.patid=this.$route.query.patid; |
| | | this.serviceType=this.$route.query.serviceType; |
| | | this.getsearchrResult(); |
| | | this.getTaskservelist(); |
| | | }, |
| | | |
| | | methods: {}, |
| | | |
| | | methods: { |
| | | // 获取问卷数据 |
| | | getsearchrResult(){ |
| | | getsearchrResult({ |
| | | taskid:this.taskid, |
| | | patid:this.patid, |
| | | }).then((res) => { |
| | | if (res.code === 200) { |
| | | this.tableDatatop = res.data.scriptResult.script; |
| | | this.taskname = res.data.taskName; |
| | | } |
| | | }); |
| | | }, |
| | | // 获取患者记录 |
| | | getTaskservelist(){ |
| | | getTaskservelist({ |
| | | patid:this.patid, |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.logsheetlist = res.rows; |
| | | } |
| | | }); |
| | | }, |
| | | Seedetails(){}, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | .CONTENT { |
| | | padding: 10px; |
| | | .title { |
| | | font-size: 22px; |
| | | font-weight: bold; |
| | | margin-bottom: 20px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | .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; |
| | | } |
| | | } |
| | | } |
| | | ::v-deep.offside-value .el-radio__label { |
| | | color: #fff; |
| | | } |
| | |
| | | </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-option |
| | | v-for="item in topicoptions" |
| | |
| | | <el-step |
| | | icon="el-icon-edit" |
| | | title="基础信息" |
| | | description="选择宣教模版、形式等基础信息" |
| | | description="选择宣教模板、形式等基础信息" |
| | | ></el-step> |
| | | <el-step |
| | | icon="el-icon-user" |
| | |
| | | <!-- 基本信息 --> |
| | | <div v-if="Editprogress == 1"> |
| | | <el-alert |
| | | title="选择宣教模版、形式等基础信息" |
| | | title="选择宣教模板、形式等基础信息" |
| | | type="success" |
| | | effect="dark" |
| | | > |
| | |
| | | <el-radio :label="6">多人</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="语音模版" prop="region"> |
| | | <el-select v-model="form.region" placeholder="请选择模版"> |
| | | <el-option label="一号模版" value="shanghai"></el-option> |
| | | <el-option label="二号模版" value="beijing"></el-option> |
| | | <el-form-item label="语音模板" prop="region"> |
| | | <el-select v-model="form.region" placeholder="请选择模板"> |
| | | <el-option label="一号模板" value="shanghai"></el-option> |
| | | <el-option label="二号模板" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 用户表格数据 |
| | | userList: [], //模版列表 |
| | | userList: [], //模板列表 |
| | | patientuserList: [], //选择患者列表 |
| | | sonuserList: [], //选中患者列表 |
| | | tasktopic: null, //新增类型 |
| | |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | // 预览模版 |
| | | // 预览模板 |
| | | PreviewTemplate() {}, |
| | | Acknowledgereference() { |
| | | this.quote = true; |
| | |
| | | <div class="headline">任务设置</div> |
| | | <div class="jic-value"> |
| | | <el-form ref="form" :model="form" label-width="80px"> |
| | | <el-form-item label="引用模版" prop="desc"> |
| | | <el-form-item label="引用模板" prop="desc"> |
| | | <el-cascader |
| | | class="demo-cascader" |
| | | v-model="form.templatevalue" |
| | |
| | | </el-select> |
| | | <div style="display: flex; margin-top: 20px"> |
| | | <div class="PreviewTemplate" @click="PreviewTemplate()"> |
| | | 预览模版 |
| | | 预览模板 |
| | | </div> |
| | | <el-button type="primary" @click="Acknowledgereference" |
| | | >确认引用</el-button |
| | |
| | | <el-form-item label="选择问卷:"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6" |
| | | ><el-select v-model="form.region" placeholder="请选择模版"> |
| | | ><el-select v-model="form.region" placeholder="请选择模板"> |
| | | <el-option label="区域一" value="shanghai"></el-option> |
| | | <el-option |
| | | label="区域二" |
| | |
| | | ></el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | | <el-form-item label="Ai外呼模版"> |
| | | <el-form-item label="Ai外呼模板"> |
| | | <el-select v-model="form.value" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in options" |
| | |
| | | <el-radio label="AI电话"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="推送模版"> |
| | | <el-form-item label="推送模板"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6" |
| | | ><el-select |
| | | v-model="form.value" |
| | | placeholder="请选择短信模版" |
| | | placeholder="请选择短信模板" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | |
| | | <el-col :span="6" |
| | | ><el-select |
| | | v-model="form.value" |
| | | placeholder="请选择微信模版" |
| | | placeholder="请选择微信模板" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | // 预览模版 |
| | | // 预览模板 |
| | | PreviewTemplate() {}, |
| | | Acknowledgereference() { |
| | | this.quote = true; |
| | |
| | | }, |
| | | // 删除任务 |
| | | deletefn(row) { |
| | | this.$modal |
| | | .confirm( |
| | | '是否删除任务名称为"' + |
| | | row.taskName + |
| | | '"的数据项,删除后不可撤回!是否继续' |
| | | ) |
| | | .then(() => { |
| | | delTaskInfo(row.taskid).then((res) => { |
| | | console.log(2); |
| | | if (res.code == 200) { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | } |
| | | }); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 任务发起 |
| | | sponsor(row) { |
| | |
| | | |
| | | // -------------------------- |
| | | |
| | | // 预览模版 |
| | | // 预览模板 |
| | | PreviewTemplate() { |
| | | this.drawer = true; |
| | | }, |
| | |
| | | <div class="qrcode-img"></div> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="模版预览" :visible.sync="previewtf" width="60%"> |
| | | <el-dialog title="模板预览" :visible.sync="previewtf" width="60%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div v-html="richText"></div> |
| | | </div> |
| | | <!-- <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="previewGo">前往模版详情修改</el-button> |
| | | <el-button @click="previewGo">前往模板详情修改</el-button> |
| | | <el-button type="primary" @click="previewFn">确认使用</el-button> |
| | | </span> --> |
| | | </el-dialog> |
| | |
| | | ><el-form-item label="是否可用"> |
| | | <el-radio-group v-model="topicobj.isavailable"> |
| | | <el-radio |
| | | @change="$forceUpdate()" |
| | | v-for="(item, index) in usable" |
| | | :label="item.value" |
| | | >{{ item.label }}</el-radio |
| | |
| | | <el-form-item label="是否必填"> |
| | | <el-radio-group v-model="topicobj.ismandatory"> |
| | | <el-radio |
| | | @change="$forceUpdate()" |
| | | v-for="(item, index) in required" |
| | | :label="item.value" |
| | | >{{ item.label }}</el-radio |
| | |
| | | if (this.$route.query.categoryid) { |
| | | this.topicobj.categoryid = Number(this.$route.query.categoryid); |
| | | } |
| | | this.topicobj.isavailable = "1"; |
| | | this.topicobj.language = "普通话"; |
| | | |
| | | // 分类 |
| | | getissueclassify({}).then((res) => { |
| | | this.classifylist = res.rows; |
| | | console.log(this.classifylist, "分类"); |
| | | }); |
| | | if (!this.id) { |
| | | return; |
| | |
| | | this.topicobj.scriptContent = row.targetdesc; |
| | | this.topicobj.targetid = row.id; |
| | | this.topicobj.targetname = row.targetname; |
| | | this.topicobj.isavailable = "0"; |
| | | this.topicobj.language = "普通话"; |
| | | this.topicobj.svyLibScriptOptions = []; |
| | | const labellist = row.targetoptionList; |
| | | labellist.forEach((item) => { |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="适用院区" prop="region"> |
| | | <el-row> |
| | | <el-col :span="10" |
| | | ><el-form-item label="适用院区" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.campus" |
| | | size="medium" |
| | |
| | | :value="item.label" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="适用科室" prop="region"> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | ><el-form-item label="适用科室" prop="region"> |
| | | <el-cascader |
| | | style="width: 400px;" |
| | | v-model="tempDetpRelevanceslist" |
| | | :options="deptList" |
| | | :props="props" |
| | |
| | | > |
| | | <template slot-scope="{ node, data }"> |
| | | <span>{{ data.deptName }}</span> |
| | | <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> |
| | | <span v-if="!node.isLeaf"> |
| | | ({{ data.children.length }}) |
| | | </span> |
| | | </template> |
| | | </el-cascader> |
| | | </el-form-item> |
| | | </el-form-item></el-col |
| | | > |
| | | </el-row> |
| | | <el-form-item label="问卷结束语"> |
| | | <el-input |
| | | style="width: 40vw" |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | v-model="ruleForm.conclusion" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button type="success" @click="nextstep('ruleForm')" |
| | | >下一步</el-button |
| | |
| | | <el-radio :label="0">否</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="选中提示" v-if="topicobj.scriptType != 1"> |
| | | <el-input |
| | | style="width: 24vw" |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | v-model="topicobj.prompt" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | <div |
| | | v-if="topicobj.scriptType == 1 || topicobj.scriptType == 2" |
| | | > |
| | |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-row :gutter="10" v-if="topicobj.scriptType == 1"> |
| | | <el-form-item label="选中提示"> |
| | | <el-input |
| | | style="width: 20vw" |
| | | style="width: 24vw" |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-row :gutter="10" v-if="item.scriptType == 1"> |
| | | <el-form-item label="选中提示"> |
| | | <el-input |
| | | style="width: 400px" |
| | |
| | | }; |
| | | }, |
| | | activated() { |
| | | console.log(this.id); |
| | | |
| | | if (this.id != this.$route.query.id) { |
| | | this.getissueinfo(); |
| | | this.gettabList(); |
| | | } else { |
| | | this.ruleForm.svyTemplateLibScripts = |
| | | this.ruleForm.svyTemplateLibScripts.filter( |
| | | (item) => item.isoperation != 3 |
| | | ); |
| | | this.ruleForm.svyLibTemplateTagList = |
| | | this.ruleForm.svyLibTemplateTagList.filter( |
| | | (item) => item.isoperation != 3 |
| | | ); |
| | | this.delScriptVOList = []; |
| | | this.$forceUpdate(); |
| | | console.log(this.ruleForm.svyTemplateLibScripts); |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | tempDetpRelevances: [], |
| | | svyLibTemplateTagList: [], |
| | | }; |
| | | this.topicobj = {}; |
| | | |
| | | if (this.id) { |
| | | getQtemplateobj({ svyid: this.id }).then((res) => { |
| | |
| | | }, |
| | | submitForm(formName) { |
| | | this.$modal.loading("正在修正保存数据,请稍候..."); |
| | | if (this.ruleForm.suitway) { |
| | | this.ruleForm.suitway = this.ruleForm.suitway.join(","); |
| | | } |
| | | if (!this.ruleForm.categoryid) { |
| | | this.ruleForm.categoryid = -1; |
| | | } |
| | |
| | | // 新增题目 |
| | | addtopic(row) { |
| | | row.isoperation = 1; |
| | | console.log(row, "row"); |
| | | row.svyLibScriptOptions.forEach((item) => { |
| | | item.isoperation = 1; |
| | | }); |
| | |
| | | handleUpdate(row) { |
| | | this.topicobj = row; |
| | | this.radioas = ""; |
| | | console.log(this.topicobj, "看数据"); |
| | | // getissuelist({ svyid: row.svyid }).then((res) => { |
| | | // }); |
| | | }, |
| | |
| | | this.drawer = false; |
| | | |
| | | this.sortFn(); |
| | | this.$modal.msgSuccess("题目新增成功,保存模版失效"); |
| | | this.$modal.msgSuccess("题目新增成功,保存模板失效"); |
| | | }); |
| | | }, |
| | | // 新增变量 |
| | |
| | | sumArray(arr) { |
| | | // const arrsum = arr; |
| | | // arrsum.forEach((item) => { |
| | | // // 判断题目和模版层级 |
| | | // // 判断题目和模板层级 |
| | | // console.log(item, "一条链路"); |
| | | |
| | | // const totalScore = item.reduce((accumulator, current) => { |
| | |
| | | if (allGreaterThanTen) { |
| | | this.$modal.msgSuccess("分值校验成功"); |
| | | } else { |
| | | this.$modal.msgError("题目分值累加和模版分值不符"); |
| | | this.$modal.msgError("题目分值累加和模板分值不符"); |
| | | } |
| | | }, |
| | | |
| | |
| | | </div> |
| | | </div> |
| | | </el-dialog> --> |
| | | <!-- 问卷模版预览 --> |
| | | <!-- 问卷模板预览 --> |
| | | <el-dialog title="随访题目预览" :visible.sync="topicVisible" width="50%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | |
| | | {{ index + 1 }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.scriptResult" @change="handleOptionChange($event, index, item)"> |
| | | <el-radio-group |
| | | v-model="item.scriptResult" |
| | | @change="handleOptionChange($event, index, item)" |
| | | > |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | <div v-show="item.prompt"> |
| | | <el-alert :title="item.prompt" type="warning"> </el-alert> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2"> |
| | |
| | | {{ index + 1 }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="item.scriptResult"> |
| | | <el-checkbox-group |
| | | v-model="item.scriptResult" |
| | | @change="updateScore($event, index, item)" |
| | | > |
| | | <el-checkbox |
| | | @change="$forceUpdate()" |
| | | v-for="(items, indexs) in item.svyLibTemplateTargetoptions" |
| | |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | <div v-show="item.prompt && item.scriptResult[0]"> |
| | | <el-alert :title="item.prompt" type="warning"> </el-alert> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | |
| | | <el-form :model="formData" label-width="80px"> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="cache(true)">提交问卷</el-button> |
| | | <el-button type="primary" @click="cache">缓存问卷</el-button> |
| | | <!-- <el-button type="primary" @click="cache">缓存问卷</el-button> --> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <el-dialog |
| | | :visible.sync="dialogVisible" |
| | | width="50%" |
| | | > |
| | | <div> |
| | | <el-alert :title="revisitAfter" type="success"> </el-alert> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | taskid: 355, |
| | | patid: 265823, |
| | | questionList: null, |
| | | revisitAfter: null, |
| | | dialogVisible:false, |
| | | // 前端公钥 |
| | | publicKey: |
| | | "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKR0yHv0rbJWQE+Sc7/FwpW66qMd9qX2k6z+SDgkSdxWh/1GbBoAP7bDQQRF6vXmoKsD2ya42H6XRLSDXAoayuMCAwEAAQ== ", |
| | |
| | | }, |
| | | }; |
| | | }, |
| | | |
| | | mounted() { |
| | | window.addEventListener("beforeunload", this.cache); |
| | | }, |
| | | beforeDestroy() { |
| | | window.removeEventListener("beforeunload", this.cache); |
| | | }, |
| | | created() { |
| | | this.getQuestionnaire(); |
| | | }, |
| | |
| | | // "CVk0j8O86AeCqhV5WPsBBYDg9fec0wDoDlP9imYK4wDBNIkxywZzMJEGlPagOxnq6qr2WYZo0U8MUGWRGnq8ZA=="; |
| | | // this.taskid = this.decrypt(taskid); |
| | | // this.patid = this.decrypt(patid); |
| | | |
| | | // this.$modal.msgSuccess("用户id为" + this.patid); |
| | | // this.$modal.msgSuccess("任务id为" + this.taskid); |
| | | // let taskids = this.encrypt(this.taskid); |
| | | // let patids = this.encrypt(this.patid); |
| | | console.log(this.$route.query.param1); |
| | | console.log(this.$route.query.param2); |
| | | // 先取缓存 |
| | | getCachequestionnaire({ param1: this.taskid, param2: this.patid }).then( |
| | | (res) => { |
| | |
| | | this.questionList = res.data; |
| | | if (this.questionList[0]) { |
| | | this.questionList.forEach((item) => { |
| | | if (item.scriptResult) { |
| | | if (item.scriptResult && item.scriptType != 2) { |
| | | item.scriptResult = JSON.parse(item.scriptResult); |
| | | } else if (item.scriptResult && item.scriptType == 2) { |
| | | item.scriptResult = item.scriptResult.split("&"); |
| | | } |
| | | }); |
| | | return; |
| | |
| | | getExternalfollowup({ param1: this.taskid, param2: this.patid }).then( |
| | | (res) => { |
| | | if (res.code == 200) { |
| | | this.questionList = res.rows; |
| | | this.questionList = res.data.script; |
| | | this.revisitAfter = res.data.revisitAfter; |
| | | // 处理题目收集结果格式 |
| | | this.questionList.forEach((item) => { |
| | | item.nextScriptno = Number(item.nextScriptno); |
| | |
| | | } |
| | | ); |
| | | }, |
| | | |
| | | // 加密函数 |
| | | encrypt(txt) { |
| | | const encryptor = new JSEncrypt(); |
| | | encryptor.setPublicKey(this.publicKey); // 设置公钥 |
| | | return encryptor.encrypt(txt); // 对数据进行加密 |
| | | }, |
| | | |
| | | // 解密函数 |
| | | decrypt(txt) { |
| | | const encryptor = new JSEncrypt(); |
| | |
| | | serviceSubtaskDetailList: [], |
| | | }; |
| | | const arr = structuredClone(this.questionList); |
| | | arr.forEach((item) => { |
| | | item.asrtext = JSON.stringify(item.scriptResult); |
| | | if (item.scriptType == 2 && item.scriptResult[0]) { |
| | | item.asrtext = item.scriptResult.join("&"); |
| | | } |
| | | }); |
| | | // arr.forEach((item) => { |
| | | // item.asrtext = JSON.stringify(item.scriptResult); |
| | | // if (item.scriptType == 2 && item.scriptResult[0]) { |
| | | // item.scriptResult = item.scriptResult.join("&"); |
| | | // } |
| | | // }); |
| | | form.serviceSubtaskDetailList = arr; |
| | | Submitaquestionnaire(form).then((res) => { |
| | | if (res.code == 200) { |
| | | if (this.revisitAfter) { |
| | | this.dialogVisible=true |
| | | } |
| | | this.$modal.msgSuccess("提交成功"); |
| | | } |
| | | }); |
| | | // 可以将数据提交到后端或者进行其他处理 |
| | | }, |
| | | // 缓存 |
| | | cache(subm) { |
| | | console.log("进入缓存"); |
| | | let form = { |
| | | param1: this.taskid, |
| | | param2: this.patid, |
| | |
| | | }; |
| | | const arr = structuredClone(this.questionList); |
| | | arr.forEach((item) => { |
| | | if (item.scriptType == 2 && item.scriptResult[0]) { |
| | | item.scriptResult = item.scriptResult.join("&"); |
| | | } else if (item.scriptType != 2 && item.scriptResult) { |
| | | item.scriptResult = JSON.stringify(item.scriptResult); |
| | | } |
| | | }); |
| | | form.svyLibTemplateScriptVOS = arr; |
| | | Cachequestionnaire(form).then((res) => { |
| | |
| | | } |
| | | }); |
| | | }, |
| | | // 处理选项 |
| | | // 处理单选选项 |
| | | handleOptionChange(selectedvalue, index,arr) { |
| | | // 查找选中的选项对象 |
| | | const selectedOption = arr.svyLibTemplateTargetoptions.find( |
| | |
| | | if (selectedOption) { |
| | | // 将选中的选项对象的 id 赋值给 obj.sonId |
| | | this.questionList[index].nextScriptno = selectedOption.nextQuestion; |
| | | this.questionList[index].score = selectedOption.score; |
| | | this.questionList[index].prompt = selectedOption.prompt; |
| | | } |
| | | }, |
| | | // 处理多选选项 |
| | | updateScore(selectedvalues, index, arr) { |
| | | // ��加分数 |
| | | let score = 0; |
| | | selectedvalues.forEach((value) => { |
| | | const selectedOption = arr.svyLibTemplateTargetoptions.find( |
| | | (option) => option.optioncontent == value |
| | | ); |
| | | if (selectedOption) { |
| | | score += Number(selectedOption.score); |
| | | } |
| | | }); |
| | | this.questionList[index].score = score; |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | </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-option |
| | | v-for="item in topicoptions" |
| | |
| | | href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4" |
| | | target="_blank" |
| | | > |
| | | 查看模版</el-link |
| | | 查看模板</el-link |
| | | > |
| | | </div> |
| | | </el-upload> |
| | |
| | | href="http://m.qpic.cn/psc?/V50ZTolo1AIhq00dqrJP2169QM2VHGTU/ruAMsa53pVQWN7FLK88i5qfmCJclyMduqqL6kjE4h7TXDAjimVtmLmTyGVfF4qlkyOISsYQ4Mxx705X2tkXEIUPrfCS4L4yK.f11SmO8Tq0!/b&bo=twb0AgAAAAADB2U!&rf=viewer_4" |
| | | target="_blank" |
| | | > |
| | | 查看模版</el-link |
| | | 查看模板</el-link |
| | | > |
| | | </div> |
| | | </el-upload> |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | <!-- <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="followupvisit(scope.row)" |
| | |
| | | ><span class="button-sc" |
| | | ><i class="el-icon-delete"></i>停止</span |
| | | ></el-button |
| | | > |
| | | > --> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | |
| | | resetUserPwd, |
| | | changeUserStatus, |
| | | } from "@/api/system/user"; |
| | | import { |
| | | getTaskservelist |
| | | } from "@/api/AiCentre/index"; |
| | | import Treeselect from "@riophae/vue-treeselect"; |
| | | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; |
| | | |
| | |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | userName: undefined, |
| | | tagid: undefined, |
| | | topic: undefined, |
| | | serviceType:1, |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | |
| | | /** 查询门诊随访列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | listUser(this.addDateRange(this.topqueryParams, this.dateRange)).then( |
| | | getTaskservelist(this.topqueryParams).then( |
| | | (response) => { |
| | | this.userList = []; |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | } |
| | |
| | | this.modificationVisible = true; |
| | | }, |
| | | // 跳转详情页 |
| | | Seedetails() { |
| | | Seedetails(row) { |
| | | this.$router.push({ |
| | | path: "/followvisit/record/detailpage/", |
| | | query: { id: "1" }, |
| | | query: { taskid: row.taskid, patid: row.patid }, |
| | | }); |
| | | }, |
| | | // 导入按钮 |
| | |
| | | <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"> |
| | | <!-- 基础信息 --> |
| | |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="8" |
| | | ><el-form-item label="模版名称"> |
| | | ><el-form-item label="模板名称"> |
| | | <el-input |
| | | style="width: 220px" |
| | | :disabled="true" |
| | |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="模版预览" :visible.sync="previewtf" width="60%"> |
| | | <el-dialog title="模板预览" :visible.sync="previewtf" width="60%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div v-html="richText"></div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="previewGo">前往模版详情修改</el-button> |
| | | <el-button @click="previewGo">前往模板详情修改</el-button> |
| | | <el-button type="primary" @click="previewFn">确认使用</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <!-- 选择模版列表 --> |
| | | <!-- 选择模板列表 --> |
| | | <SFtable |
| | | @selectfn="selectfn" |
| | | :currentList="userList" |
| | |
| | | title: "宣教内容列表", |
| | | currenttype: 1, //1宣教2门诊3出院4复诊5体检6问卷 |
| | | id: "", // |
| | | previewid: "", //任务模版传递id |
| | | previewid: "", //任务模板传递id |
| | | libName: "", |
| | | overallCase: [], //选择患者总 |
| | | allpids: [], |
| | | libId: null, //模板库模版id |
| | | libId: null, //模板库模板id |
| | | Editprogress: 1, //编辑进度 |
| | | drawermb: false, //选择模版弹窗 |
| | | drawermb: false, //选择模板弹窗 |
| | | previewtf: false, //预览 |
| | | loading: false, // 遮罩层 |
| | | patientloading: false, // 遮罩层 |
| | |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 用户表格数据 |
| | | userList: [], //模版列表 |
| | | userList: [], //模板列表 |
| | | patientuserList: [], //选择患者列表 |
| | | sonuserList: [], //选中患者列表 |
| | | delvariableList: [], //删除变量临时存储 |
| | |
| | | }); |
| | | }, |
| | | // ----------------------表格子组件事件 |
| | | // 确认选择模版放入任务模版 |
| | | // 确认选择模板放入任务模板 |
| | | selectfn(row, type) { |
| | | // 模版情况下获取模版信息 |
| | | // 模板情况下获取模板信息 |
| | | this.libName = row.preachname; |
| | | this.richText = null; |
| | | this.libId = row.id; |
| | |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | // 预览模版 |
| | | // 预览模板 |
| | | PreviewTemplate() {}, |
| | | Acknowledgereference() { |
| | | this.quote = true; |
| | |
| | | if (this.time3) this.form.showTimeNight = this.time3.join(","); |
| | | console.log(combinedData, "combinedData"); |
| | | }, |
| | | // 查看模版 |
| | | // 查看模板 |
| | | previewGo() { |
| | | this.$router.push({ |
| | | path: "/knowledge/tpuconfigurat/", |
| | |
| | | this.form.templateid = response.data; |
| | | this.form.libtemplateid = this.libId; |
| | | this.form.templatename = this.libName; |
| | | this.$modal.msgSuccess("选择模版成功"); |
| | | this.$modal.msgSuccess("选择模板成功"); |
| | | }); |
| | | }, |
| | | // 处理服务形式 |
| | |
| | | </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-option |
| | | v-for="item in topicoptions" |
| | |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="通知模版" |
| | | label="通知模板" |
| | | align="center" |
| | | key="templatename" |
| | | prop="templatename" |
| | |
| | | <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="8" |
| | | ><el-form-item label="模版名称"> |
| | | <el-input |
| | | style="width: 220px" |
| | | :disabled="true" |
| | | v-model="form.templatename" |
| | | placeholder="请在下列选择" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="4"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | @click="drawermb = true" |
| | | circle |
| | | ></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="任务描述"> |
| | |
| | | > |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="10" |
| | | ><el-form-item label="模板名称"> |
| | | <el-input |
| | | style="width: 300px" |
| | | :disabled="true" |
| | | v-model="form.templatename" |
| | | placeholder="请在下列选择" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="4"> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | @click="drawermb = true" |
| | | circle |
| | | ></el-button> |
| | | |
| | | <el-button |
| | | v-if="this.form.libtemplateid" |
| | | type="success" |
| | | icon="el-icon-search" |
| | | @click="previewfnmb" |
| | | circle |
| | | ></el-button> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="模版预览" :visible.sync="previewtf" width="60%"> |
| | | <el-dialog title="模板预览" :visible.sync="previewtf" width="60%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="previewGo">前往模版详情修改</el-button> |
| | | <el-button @click="previewGo">前往模板详情修改</el-button> |
| | | <el-button type="primary" @click="previewFn">确认使用</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="问卷名称"> |
| | | <el-input |
| | | v-model="topqueryParams.name" |
| | | ></el-input> </el-form-item |
| | | ><el-form-item label="通知名称"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="问卷主题"> |
| | | <el-input v-model="topqueryParams.name"></el-input> |
| | | <el-input v-model="topqueryParams.svyname"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="问卷类型" prop="status"> |
| | | <!-- <el-form-item label="问卷类型" prop="status"> |
| | | <el-select v-model="topqueryParams.topic" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in taskoptions" |
| | |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item label="适用形式" prop="status"> |
| | | <el-select v-model="topqueryParams.topica" placeholder="请选择"> |
| | | <el-option |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="适用科室" prop="status"> |
| | | <!-- <el-form-item label="适用科室" prop="status"> |
| | | <el-select v-model="topqueryParams.topicd" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in topicoptions" |
| | |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="handleQuery" |
| | | @click="handleQuerymb" |
| | | >搜索</el-button |
| | | > |
| | | <el-button |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <!-- 选择模版列表 --> |
| | | <!-- 选择模板列表 --> |
| | | <SFtable |
| | | @selectfn="selectfn" |
| | | :currentList="userList" |
| | |
| | | title: "宣教内容列表", |
| | | currenttype: 1, //1宣教2门诊3出院4复诊5体检6问卷 |
| | | id: "", // |
| | | previewid: "", //任务模版传递id |
| | | previewid: "", //任务模板传递id |
| | | libName: "", |
| | | overallCase: [], //选择患者总 |
| | | allpids: [], |
| | | libId: null, //模板库模版id |
| | | libId: null, //模板库模板id |
| | | Editprogress: 1, //编辑进度 |
| | | drawermb: false, //选择模版弹窗 |
| | | drawermb: false, //选择模板弹窗 |
| | | previewtf: false, //预览 |
| | | loading: false, // 遮罩层 |
| | | patientloading: false, // 遮罩层 |
| | |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 用户表格数据 |
| | | userList: [], //模版列表 |
| | | userList: [], //模板列表 |
| | | multiplechoice: [], //多选结果 |
| | | patientuserList: [], //选择患者列表 |
| | | sonuserList: [], //选中患者列表 |
| | |
| | | }, |
| | | ], |
| | | quote: false, |
| | | serviceType:null, |
| | | }; |
| | | }, |
| | | components: { SFtable }, |
| | |
| | | this.id = this.$route.query.id; |
| | | this.form.type = this.$route.query.type; |
| | | this.form.typename = this.$route.query.typename; |
| | | this.serviceType = Number(this.$route.query.serviceType); |
| | | this.form.serviceType = Number(this.$route.query.serviceType); |
| | | this.listDept(); |
| | | this.Acquisitiontype(); |
| | | this.Getdetails(); |
| | | }, |
| | | activated() { |
| | | if (this.id != this.$route.query.id) { |
| | | this.listDept(); |
| | | this.Acquisitiontype(); |
| | | this.Getdetails(); |
| | | } |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | }, |
| | | ]; |
| | | } |
| | | getQtemplatelist(queryParams).then((response) => { |
| | | getQtemplatelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | }); |
| | |
| | | if (!this.form.type) { |
| | | this.form.type = this.$route.query.type; |
| | | } |
| | | this.form.serviceType=this.serviceType; |
| | | Editsingletask(this.form).then((res) => { |
| | | if (res.code == 200) { |
| | | if (this.form.taskid) { |
| | |
| | | }); |
| | | }, |
| | | // ----------------------表格子组件事件 |
| | | // 确认选择模版放入任务模版 |
| | | |
| | | // 确认选择模板放入任务模板 |
| | | selectfn(row, type) { |
| | | // 模版情况下获取模版信息 |
| | | // 模板情况下获取模板信息 |
| | | if (type == 1) { |
| | | this.libName = row.svyname; |
| | | this.libId = row.svyid; |
| | | console.log(row, "row"); |
| | | this.Tasktemplate = row; |
| | | this.questionList = row.svyTemplateLibScripts; |
| | | this.previewtf = true; |
| | |
| | | } else if (type == 2) { |
| | | } else if (type == 3) { |
| | | } |
| | | }, |
| | | // 预览 |
| | | previewfnmb() { |
| | | console.log(this.form); |
| | | |
| | | getQtemplatelist({ svyid: this.form.libtemplateid }).then((res) => { |
| | | if (res.code == 200) { |
| | | console.log(); |
| | | |
| | | this.questionList = res.rows[0].svyTemplateLibScripts; |
| | | this.previewtf = true; |
| | | } |
| | | }); |
| | | }, |
| | | // 处理问题层变量 |
| | | Variablehandling(arr, type) { |
| | |
| | | this.handleAddpatient(); |
| | | }, |
| | | resetQuery() {}, |
| | | handleQuerymb() { |
| | | getQtemplatelist(this.topqueryParams).then((response) => { |
| | | this.userList = response.rows; |
| | | this.total = response.total; |
| | | }); |
| | | }, |
| | | handleClosehz() { |
| | | this.dialogVisiblepatient = false; |
| | | }, |
| | |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | // 预览模版 |
| | | // 预览模板 |
| | | PreviewTemplate() {}, |
| | | Acknowledgereference() { |
| | | this.quote = true; |
| | | }, |
| | | // 获取详情 |
| | | Getdetails() { |
| | | this.form= { |
| | | patTaskRelevances: [], |
| | | sendType: 1, |
| | | templatename: "", |
| | | templateid: null, |
| | | libtemplateid: null, |
| | | }; |
| | | this.questionList=[]; |
| | | if (this.id) { |
| | | Questionnairetaskget({ taskid: this.id }).then((res) => { |
| | | let filteredArray = ""; |
| | | console.log(2233); |
| | | if (res.code == 200) { |
| | | this.form = res.data; |
| | | |
| | | this.form.serviceType=this.serviceType; |
| | | this.form.patTaskRelevances = this.form.patTaskRelevances |
| | | ? this.form.patTaskRelevances |
| | | : []; |
| | |
| | | if (this.time3) this.form.showTimeNight = this.time3.join(","); |
| | | console.log(combinedData, "combinedData"); |
| | | }, |
| | | // 查看模版 |
| | | // 查看模板 |
| | | previewGo() { |
| | | this.$router.push({ |
| | | path: "/knowledge/tpuconfigurat/", |
| | |
| | | this.Tasktemplate.templateid = id; |
| | | this.Tasktemplate.isoperation = 1; |
| | | TaskQuestioncomit(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("选择模版成功"); |
| | | this.$modal.msgSuccess("选择模板成功"); |
| | | }); |
| | | }, |
| | | // 处理服务形式 |
| | |
| | | </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-option |
| | | v-for="item in topicoptions" |
| | |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | label="宣教模版" |
| | | label="宣教模板" |
| | | align="center" |
| | | key="templatename" |
| | | prop="templatename" |
| | |
| | | <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"> |
| | | <!-- 基础信息 --> |
| | |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="8" |
| | | ><el-form-item label="模版名称"> |
| | | ><el-form-item label="模板名称"> |
| | | <el-input |
| | | style="width: 220px" |
| | | :disabled="true" |
| | |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="模版预览" :visible.sync="previewtf" width="60%"> |
| | | <el-dialog title="模板预览" :visible.sync="previewtf" width="60%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="previewGo">前往模版详情修改</el-button> |
| | | <el-button @click="previewGo">前往模板详情修改</el-button> |
| | | <el-button type="primary" @click="previewFn">确认使用</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="随访模版分类" prop="region"> |
| | | <el-form-item label="随访模板分类" prop="region"> |
| | | <el-select |
| | | v-model="topqueryParams.assortid" |
| | | size="medium" |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <!-- 选择模版列表 --> |
| | | <!-- 选择模板列表 --> |
| | | <SFtable |
| | | @selectfn="selectfn" |
| | | :currentList="userList" |
| | |
| | | import SFtable from "@/components/SFtable"; //表格组件 |
| | | |
| | | export default { |
| | | name: "ServiceDetails", |
| | | name: "serviceDetailsa", |
| | | data() { |
| | | const endDate = new Date(); |
| | | const startDate = new Date(); |
| | |
| | | title: "随访内容列表", |
| | | currenttype: 1, //1随访2问卷3通知宣教 |
| | | id: "", // |
| | | previewid: "", //任务模版传递id |
| | | previewid: "", //任务模板传递id |
| | | libName: "", |
| | | overallCase: [], //选择患者总 |
| | | // 日期范围 |
| | | dateRange: [startDate, endDate], |
| | | allpids: [], |
| | | libId: null, //模板库模版id |
| | | libId: null, //模板库模板id |
| | | nhh: null, //是否依照新增 |
| | | Editprogress: 1, //编辑进度 |
| | | drawermb: false, //选择模版弹窗 |
| | | drawermb: false, //选择模板弹窗 |
| | | previewtf: false, //预览 |
| | | loading: false, // 遮罩层 |
| | | patientloading: false, // 遮罩层 |
| | |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 用户表格数据 |
| | | userList: [], //模版列表 |
| | | userList: [], //模板列表 |
| | | patientuserList: [], //选择患者列表 |
| | | sonuserList: [], //选中患者列表 |
| | | delvariableList: [], //删除变量临时存储 |
| | |
| | | }, |
| | | ], |
| | | quote: false, |
| | | serviceType:null, |
| | | |
| | | }; |
| | | }, |
| | | components: { SFtable }, |
| | |
| | | created() { |
| | | this.id = this.$route.query.id; |
| | | this.form.type = this.$route.query.type; |
| | | this.serviceType = Number(this.$route.query.serviceType); |
| | | this.form.serviceType = Number(this.$route.query.serviceType); |
| | | this.form.nhh = this.$route.query.nhh; |
| | | this.listDept(); |
| | |
| | | } else { |
| | | this.form.isoperation = 1; |
| | | } |
| | | this.form.serviceType=this.serviceType; |
| | | Editsingletask(this.form).then((res) => { |
| | | if (res.code == 200) { |
| | | if (this.form.taskid) { |
| | |
| | | }); |
| | | }, |
| | | // ----------------------表格子组件事件 |
| | | // 确认选择模版放入任务模版 |
| | | // 确认选择模板放入任务模板 |
| | | selectfn(row, type) { |
| | | // 模版情况下获取模版信息 |
| | | console.log(row, "选择模版"); |
| | | // 模板情况下获取模板信息 |
| | | console.log(row, "选择模板"); |
| | | this.libName = row.templateName; |
| | | this.libId = row.id; |
| | | getvFollowup({ id: row.id }).then((res) => { |
| | |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | }, |
| | | // 预览模版 |
| | | // 预览模板 |
| | | PreviewTemplate() {}, |
| | | Acknowledgereference() { |
| | | this.quote = true; |
| | |
| | | console.log(2233); |
| | | if (res.code == 200) { |
| | | this.form = res.data; |
| | | this.form.serviceType=this.serviceType; |
| | | this.overallCase = this.form.patTaskRelevances.concat(); |
| | | this.checkList = this.form.preachform.split(","); |
| | | console.log(this.form.showDate, "this.form"); |
| | |
| | | if (this.time3) this.form.showTimeNight = this.time3.join(","); |
| | | console.log(combinedData, "combinedData"); |
| | | }, |
| | | // 查看模版 |
| | | // 查看模板 |
| | | previewGo() { |
| | | this.$router.push({ |
| | | path: "/knowledge/tpuconfigurat/", |
| | |
| | | this.form.libtemplateid = this.libId; |
| | | this.form.templatename = this.libName; |
| | | console.log(this.form.templatename, "ss"); |
| | | this.$modal.msgSuccess("选择模版成功", this.form.templatename); |
| | | this.$modal.msgSuccess("选择模板成功", this.form.templatename); |
| | | }); |
| | | }, |
| | | // 处理服务形式 |
| | |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | <!-- <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="followupvisit(scope.row)" |
| | |
| | | ><span class="button-sc" |
| | | ><i class="el-icon-delete"></i>停止</span |
| | | ></el-button |
| | | > |
| | | > --> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | |
| | | topqueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | type: 6, |
| | | userName: undefined, |
| | | tagid: undefined, |
| | | topic: undefined, |
| | | serviceType:7, |
| | | |
| | | }, |
| | | propss: { multiple: true }, |
| | | options: [], |
| | |
| | | this.modificationVisible = true; |
| | | }, |
| | | // 跳转详情页 |
| | | Seedetails() { |
| | | Seedetails(row) { |
| | | this.$router.push({ |
| | | path: "/followvisit/QuestionnaireTask", |
| | | query: { type: 6 }, |
| | | query: { taskid: row.taskid, patid: row.patid }, |
| | | }); |
| | | }, |
| | | // 导入按钮 |
| | |
| | | </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-option |
| | | v-for="item in topicoptions" |
| | |
| | | > |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="模版名称" prop="extName"> |
| | | <el-form-item label="模板名称" prop="extName"> |
| | | <el-input |
| | | v-model="baseForm.extName" |
| | | placeholder="请输入" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="模版分类" prop="groupID"> |
| | | <el-form-item label="模板分类" prop="groupID"> |
| | | <el-select v-model="baseForm.groupID" placeholder="请选择分类"> |
| | | <el-option |
| | | v-for="item in deptOptions" |
| | |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="模版概述" prop="name"> |
| | | <el-form-item label="模板概述" prop="name"> |
| | | <el-input |
| | | v-model="baseForm.note" |
| | | placeholder="请输入" |
| | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="submitForm('ruleForm')" |
| | | >保存模版</el-button |
| | | >保存模板</el-button |
| | | > |
| | | <el-button |
| | | v-if="ruleForm.id" |
| | |
| | | prop="phonenumber" |
| | | /> |
| | | <el-table-column |
| | | label="模版名称" |
| | | label="模板名称" |
| | | align="center" |
| | | key="templateName" |
| | | prop="templateName" |
| | |
| | | > |
| | | <el-button type="primary" icon="el-icon-s-claim">保存</el-button> |
| | | <el-button type="primary" icon="el-icon-document" |
| | | >更新指标规则至模版</el-button |
| | | >更新指标规则至模板</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 2" |
| | | >随访模版题目</span |
| | | >随访模板题目</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step description="查看随访模版预览,可导出PDF"> |
| | | <el-step description="查看随访模板预览,可导出PDF"> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="preview">随访模版预览</span> |
| | | <span style="cursor: pointer" @click="preview">随访模板预览</span> |
| | | </template> |
| | | </el-step> |
| | | </el-steps> |
| | |
| | | > |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="模版名称" prop="region"> |
| | | <el-form-item label="模板名称" prop="region"> |
| | | <div> |
| | | <el-input |
| | | v-model="ruleForm.templateName" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="随访模版分类" prop="region"> |
| | | <el-form-item label="随访模板分类" prop="region"> |
| | | <el-select |
| | | v-model="ruleForm.assortid" |
| | | size="medium" |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="模版简介" prop="note"> |
| | | <el-form-item label="模板简介" prop="note"> |
| | | <div> |
| | | <el-input |
| | | type="textarea" |
| | |
| | | <el-button |
| | | type="success" |
| | | @click="Departmenttreatment('ruleForm')" |
| | | >{{ task ? "保存到任务模版" : "保存随访模版基础信息" }}</el-button |
| | | >{{ task ? "保存到任务模板" : "保存随访模板基础信息" }}</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- 随访模版设置 --> |
| | | <!-- 随访模板设置 --> |
| | | <div v-if="Editprogress == 2"> |
| | | <div class="leftvlue-jbxx">随访模版题目设置</div> |
| | | <div class="leftvlue-jbxx">随访模板题目设置</div> |
| | | <el-divider></el-divider> |
| | | <div class="addtopic"> |
| | | <el-button |
| | |
| | | </div> |
| | | |
| | | <el-button type="success" @click="Departmenttreatment('ruleForm')">{{ |
| | | task ? "保存到任务模版" : "保存题目数据" |
| | | task ? "保存到任务模板" : "保存题目数据" |
| | | }}</el-button> |
| | | <el-button type="primary" plain @click="laststep()">上一步</el-button> |
| | | <el-button type="success" plain @click="preview('ruleForm')" |
| | |
| | | > |
| | | <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button> |
| | | </div> |
| | | <!-- 随访模版预览 --> |
| | | <!-- 随访模板预览 --> |
| | | <div v-if="Editprogress == 3"> |
| | | <div class="leftvlue-jbxx">随访模版问题预览</div> |
| | | <div class="leftvlue-jbxx">随访模板问题预览</div> |
| | | <el-divider></el-divider> |
| | | |
| | | <div class="preview-left"> |
| | |
| | | row.isoperation = 3; |
| | | this.delScriptVOList.push(row); |
| | | this.sortFn(); |
| | | this.$modal.msgSuccess("已删除,保存模版生效"); |
| | | this.$modal.msgSuccess("已删除,保存模板生效"); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | |
| | | this.drawer = false; |
| | | |
| | | this.sortFn(); |
| | | this.$modal.msgSuccess("题目新增成功,保存模版失效"); |
| | | this.$modal.msgSuccess("题目新增成功,保存模板失效"); |
| | | }); |
| | | }, |
| | | |
| | |
| | | // 前往测试 |
| | | measurement() { |
| | | this.$modal |
| | | .confirm("即将前往模版测试页面,请确认模版数据已保存。") |
| | | .confirm("即将前往模板测试页面,请确认模板数据已保存。") |
| | | .then((res) => { |
| | | this.$router.push({ |
| | | path: "/knowledge/tpuconfigurat/measurement", |
| | |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | // 新建模版中临时题目 |
| | | // 新建模板中临时题目 |
| | | // 题目类型更换 |
| | | typeselection(row) { |
| | | if (row == 1 && !this.indexform.ivrLibaScriptTargetoptionList.length) { |
| | |
| | | return { |
| | | answer: "", //回答 |
| | | id: null, |
| | | TemplateName: "随访模版名称", //模版名 |
| | | TemplateName: "随访模板名称", //模板名 |
| | | radio: "1", |
| | | userid: "", |
| | | input: "还不错", |
| | |
| | | <!-- 左侧栏 --> |
| | | <div class="sidecolumn"> |
| | | <div class="sidecolumn-top"> |
| | | <div class="top-wj">模版类型</div> |
| | | <div class="top-wj">模板类型</div> |
| | | <div class="top-tj" @click="Newcategory">+添加</div> |
| | | </div> |
| | | <div class="center-ss"> |
| | |
| | | v-show="showSearch" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="模版标题" prop="templateName"> |
| | | <el-form-item label="模板标题" prop="templateName"> |
| | | <el-input |
| | | v-model="queryParams.templateName" |
| | | placeholder="请输入" |
| | |
| | | </el-col> |
| | | <!-- <el-col :span="1.5"> </el-col> --> |
| | | </el-row> |
| | | <!-- 标准模版 --> |
| | | <!-- 标准模板 --> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="userList" |
| | |
| | | prop="id" |
| | | /> |
| | | <el-table-column |
| | | label="模版名称" |
| | | label="模板名称" |
| | | fixed |
| | | align="center" |
| | | key="templateName" |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <!-- 通用模版 --> |
| | | <!-- 通用模板 --> |
| | | |
| | | <!-- 底部分页 --> |
| | | <pagination |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 复制模版 |
| | | // 复制模板 |
| | | copyfn() {}, |
| | | // 下载模版 |
| | | // 下载模板 |
| | | downloadfn() {}, |
| | | // 跳转编辑话术页面 |
| | | compileUpdate(row) { |
| | |
| | | tagdescription: "", |
| | | }, |
| | | topicvalue: { |
| | | name: "骨科随访模版", |
| | | name: "骨科随访模板", |
| | | number: 222, |
| | | }, |
| | | classifyform: { |
| | |
| | | tagdescription: "", |
| | | }, |
| | | topicvalue: { |
| | | name: "骨科随访模版", |
| | | name: "骨科随访模板", |
| | | number: 222, |
| | | }, |
| | | classifyform: { |
| | |
| | | |
| | | // -------------------------- |
| | | |
| | | // 预览模版 |
| | | // 预览模板 |
| | | PreviewTemplate() { |
| | | this.drawer = true; |
| | | }, |
| | |
| | | <div class="basics">问题配置</div> |
| | | <div class="headbottom"> |
| | | <el-button type="primary" icon="el-icon-notebook-2" @click="addzbiaofn" |
| | | >健康信息模版</el-button |
| | | >健康信息模板</el-button |
| | | > |
| | | <el-button @click="emptyfn" type="primary" icon="el-icon-refresh-right" |
| | | >清空短信内容</el-button |
| | |
| | | proxy: { |
| | | // detail: https://cli.vuejs.org/config/#devserver-proxy |
| | | [process.env.VUE_APP_BASE_API]: { |
| | | target: `http://192.168.2.8:8095`, |
| | | target: `http://192.168.1.10:8095`, |
| | | // target:`http://localhost:8095`, |
| | | // target: `http://35z1t16164.qicp.vip`, |
| | | changeOrigin: true, |