| | |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="服务形式"> |
| | | <el-checkbox-group v-model="checkList"> |
| | | <el-checkbox |
| | | <el-radio-group v-model="checkList"> |
| | | <el-radio |
| | | v-for="(item, index) in checkboxlist" |
| | | :key="index" |
| | | :label="item.value" |
| | | > |
| | | {{ item.label }}</el-checkbox |
| | | {{ item.label }}</el-radio |
| | | > |
| | | </el-checkbox-group> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="执行设置" prop="sendType"> |
| | | <el-form-item label="执行周期" prop="longTask"> |
| | | <el-radio-group v-model="form.longTask"> |
| | | <el-radio :label="0">自定义周期</el-radio> |
| | | <el-radio :label="1">长期任务</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-row :gutter="20" v-if="form.longTask"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="周期时间" prop="name"> |
| | | <el-input |
| | | v-model="form.sendDay" |
| | | placeholder="默认5天后" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item |
| | | label="执行设置" |
| | | prop="sendType" |
| | | v-if="!form.longTask" |
| | | > |
| | | <el-radio-group v-model="form.sendType"> |
| | | <el-radio :label="1">时间段执行</el-radio> |
| | | <el-radio :label="3">时间点执行</el-radio> |
| | |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="执行日期" |
| | | v-if="form.sendType == 1" |
| | | v-if="form.sendType == 1 && !form.longTask" |
| | | prop="daytime" |
| | | > |
| | | <el-date-picker |
| | |
| | | |
| | | <el-form-item |
| | | label="执行时间点" |
| | | v-if="form.sendType == 3" |
| | | v-if="form.sendType == 3 && !form.longTask" |
| | | prop="daytime" |
| | | > |
| | | <div style="display: flex"> |
| | |
| | | |
| | | <el-form-item |
| | | label="执行时间段" |
| | | v-if="form.sendType == 1" |
| | | v-if="form.sendType == 1 && !form.longTask" |
| | | prop="daytime" |
| | | > |
| | | <div style="display: flex"> |
| | |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-col :span="20" |
| | | ><el-form-item label="适用科室" prop="region"> |
| | | <el-select |
| | | v-model="deptcodesWards" |
| | | @remove-tag="removetag" |
| | | style="width: 400px" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="请选择科室" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in belongDepts" |
| | | :key="item.deptCode" |
| | | :label="item.deptName" |
| | | :value="item.deptCode" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="20" |
| | | ><el-form-item label="适用病区" prop="region"> |
| | | <el-select |
| | | v-model="leavehospitaldistrictcodes" |
| | | style="width: 400px" |
| | | @remove-tag="removehpsp" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="请选择病区" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in belongWards" |
| | | :key="item.districtCode" |
| | | :label="item.districtName" |
| | | :value="item.districtCode" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12" |
| | | ><el-form-item label="开场白" prop="kcb"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | v-model="form.kcb" |
| | | placeholder="请输入开场白" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12" |
| | | ><el-form-item label="结束语" prop="jsy"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | v-model="form.jsy" |
| | | placeholder="请输入结束语" |
| | | /> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | |
| | | placeholder="请点击右侧选择" |
| | | /> |
| | | <el-button |
| | | style="margin-left: 10px" |
| | | type="primary" |
| | | icon="el-icon-edit" |
| | | @click="drawermb = true" |
| | |
| | | ></el-button> |
| | | |
| | | <el-button |
| | | v-if="form.libtemplateid" |
| | | v-if="form.templatename" |
| | | type="success" |
| | | icon="el-icon-search" |
| | | @click="previewfnmb" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | |
| | | icon="el-icon-plus" |
| | | size="medium" |
| | | :disabled="!patientqueryParams.allhosp" |
| | | @click="handleAddpatient" |
| | | @click="handleQuery" |
| | | >新增</el-button |
| | | > |
| | | </el-col> |
| | | |
| | | <el-col :span="1.5"> |
| | | <!-- <el-col :span="1.5"> |
| | | <el-button |
| | | type="danger" |
| | | plain |
| | |
| | | @click="handleDelete" |
| | | >删除</el-button |
| | | > |
| | | </el-col> |
| | | </el-col> --> |
| | | |
| | | <!-- <el-col :span="1.5"> </el-col> --> |
| | | </el-row> |
| | |
| | | @details="detailhz" |
| | | @handleUpdate="handleUpdate" |
| | | :currentList="overallCase" |
| | | :tableLabel="tableLabelhz" |
| | | :tableLabel="tableLabelhzwb" |
| | | :serialnumber="false" |
| | | :searchTrue="true" |
| | | :multiplechoice="false" |
| | | :controlxz="false" |
| | | :typeinfo="2" |
| | | /> |
| | | <pagination |
| | | <!-- <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="topqueryParams.pageNum" |
| | | :limit.sync="topqueryParams.pageSize" |
| | | @pagination="getList" |
| | | /> |
| | | /> --> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | |
| | | @keyup.enter.native="handleQuery" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-select |
| | | v-model="patientqueryParams.searchscope" |
| | | placeholder="请选择患者范围" |
| | | > |
| | | <el-option |
| | | v-for="item in source" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | |
| | | @handleSelectionChange="handleSelectionChange" |
| | | :currentList="patientuserList" |
| | | :tableLabel="tableLabelhz" |
| | | :heights="600" |
| | | :serialnumber="false" |
| | | :center="false" |
| | | :typeinfo="3" |
| | | /> |
| | | </el-row> |
| | | <pagination |
| | | v-show="patienttotal > 0" |
| | | v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6" |
| | | :total="patienttotal" |
| | | :page.sync="patientqueryParams.pageNum" |
| | | :limit.sync="patientqueryParams.pageSize" |
| | | @pagination="handleAddpatient" |
| | | /> |
| | | </div> |
| | |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="模板预览" :visible.sync="previewtf" width="60%"> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in questionList" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 1" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.remark"> |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | >{{ items.optioncontent }}</el-radio |
| | | <!-- 模板预览 --> |
| | | <el-dialog title="模板预览" :visible.sync="previewtf" width="70%"> |
| | | <el-tabs type="border-card"> |
| | | <el-tab-pane label="模板基础数据" |
| | | ><div class="preview-left"> |
| | | <el-form :model="objyl" label-width="100px" class="demo-objyl"> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="14"> |
| | | <el-form-item label="问卷分类" prop="categoryid"> |
| | | <el-select |
| | | v-model="objyl.categoryid" |
| | | size="medium" |
| | | filterable |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option-group |
| | | v-for="group in optionsclass" |
| | | :key="group.id" |
| | | :label="group.name" |
| | | > |
| | | <el-option |
| | | v-for="item in group.svyLibTemplateCategoryList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-option-group> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="评价类型" prop="scoreType"> |
| | | <el-select |
| | | v-model="objyl.scoreType" |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option |
| | | v-for="group in appraiselist" |
| | | :key="group.value" |
| | | :label="group.label" |
| | | :value="group.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="14"> |
| | | <el-form-item label="可用状态" prop="isenable"> |
| | | <el-radio-group v-model="objyl.isenable"> |
| | | <el-radio |
| | | v-for="(item, index) in usable" |
| | | :label="item.value" |
| | | >{{ item.label }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="版本号" prop="name"> |
| | | <el-input |
| | | v-model="objyl.version" |
| | | placeholder="默认1.0" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="问卷标题" prop="svyname"> |
| | | <div style="width: 400px"> |
| | | <el-input v-model="objyl.svyname"></el-input> |
| | | </div> |
| | | </el-form-item> |
| | | |
| | | <div class="xinz-infs"> |
| | | <el-form-item> |
| | | <template #label> |
| | | 适用疾病 |
| | | <el-tooltip |
| | | class="item" |
| | | effect="light" |
| | | content="选择好适用疾病后,可以方便您通过疾病诊断查找到对应的病人!" |
| | | placement="top-start" |
| | | > |
| | | <i class="el-icon-warning-outline"></i> |
| | | </el-tooltip> |
| | | </template> |
| | | |
| | | <el-tag |
| | | v-for="tag in illnesslist" |
| | | :key="tag.icdid" |
| | | type="warning" |
| | | :disable-transitions="false" |
| | | > |
| | | {{ tag.icdname }} |
| | | </el-tag> |
| | | <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> --> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="问卷描述" prop="description"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="2" |
| | | placeholder="请输入内容" |
| | | v-model="objyl.description" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | |
| | | <el-form-item label="问卷结束语" prop="conclusion"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="2" |
| | | placeholder="请输入内容" |
| | | v-model="objyl.conclusion" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | </el-form></div |
| | | ></el-tab-pane> |
| | | <el-tab-pane label="问题展示" |
| | | ><div class="preview-left"> |
| | | <div v-for="item in questionList"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 1" |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in questionList" |
| | | v-if="item.scriptType == 2" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="multiplechoice"> |
| | | <el-checkbox |
| | | v-for="items in item.svyLibTemplateTargetoptions" |
| | | :key="items.optioncontent" |
| | | :label="items.optioncontent" |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.remark"> |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 2" |
| | | > |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in questionList" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 4" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[填空]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input placeholder="请输入答案" v-model="item.radioas" clearable> |
| | | </el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="qremark"> |
| | | <el-checkbox |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | > |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 4" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[问答]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input |
| | | placeholder="请输入答案" |
| | | v-model="item.radioas" |
| | | clearable |
| | | > |
| | | </el-input> |
| | | </div> |
| | | </div> |
| | | </div></div |
| | | ></el-tab-pane> |
| | | </el-tabs> |
| | | |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="previewGo">前往模板详情修改</el-button> |
| | | <el-button type="primary" @click="previewFn">确认使用</el-button> |
| | | <!-- <el-button @click="previewGo">保存模板详情修改</el-button> --> |
| | | <el-button type="primary" @click="Departmenttreatment" |
| | | >保存使用</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | <el-drawer |
| | |
| | | <el-form-item label="问卷名称"> |
| | | <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.topica" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in taskoptions" |
| | |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | |
| | | import { messagelistpatient } from "@/api/patient/homepage"; |
| | | import store from "@/store"; |
| | | import { |
| | | getTaskpatient, |
| | | getTaskpatientQC, |
| | | getlibrarylist, |
| | | getFollowuplist, |
| | | Externallist, |
| | | getQtemplatelist, |
| | | getQtemplateobj, |
| | | TaskQuestioncomit, |
| | | Questionnairetaskget, |
| | | gethetaskinfo, |
| | | delhetaskinfo, |
| | | deleteTaskQuestioncomit, |
| | | Questionnairetaskgetson, |
| | | getTaskQuestioncomit, |
| | | depthospgetson, |
| | | getillness, |
| | | Editsingletask, |
| | | getQtemplateclassify, |
| | | depthospgetsonlist, |
| | | taskdepthospgetsondel, |
| | | taskdepthospgetsonlist, |
| | | } from "@/api/AiCentre/index"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | |
| | | import SFtable from "@/components/SFtable"; //表格组件 |
| | | import { MessageBox, } from "element-ui"; |
| | | |
| | | export default { |
| | | name: "ServiceDetails", |
| | |
| | | id: "", // |
| | | previewid: "", //任务模板传递id |
| | | libName: "", |
| | | templateor: false, |
| | | objyl: {}, |
| | | overallCase: [], //选择患者总 |
| | | allpids: [], |
| | | appraiselist: [], |
| | | optionsclass: [], |
| | | illnesslist: [], |
| | | mode: [], |
| | | libId: null, //模板库模板id |
| | | Editprogress: 1, //编辑进度 |
| | | drawermb: false, //选择模板弹窗 |
| | |
| | | loading: false, // 遮罩层 |
| | | patientloading: false, // 遮罩层 |
| | | dialogVisiblepatient: false, //添加患者弹框 |
| | | deptcodesWards: [], //科室数据 |
| | | leavehospitaldistrictcodes: [], //病区数据 |
| | | radio: 1, |
| | | checkboxlist: [], |
| | | tableLabel: [], |
| | | questionList: [], |
| | | usable: [ |
| | | { value: "0", label: "可用" }, |
| | | { value: "1", label: "停用" }, |
| | | ], |
| | | required: [ |
| | | { value: "1", label: "必填" }, |
| | | { value: "2", label: "不必填" }, |
| | | ], |
| | | props: { multiple: true, value: "deptCode", label: "deptName" }, |
| | | propstask: { value: "deptCode", label: "deptName" }, |
| | | // 患者表单 |
| | | tableLabelhz: [ |
| | | { label: "出院日期", width: "150", prop: "inhosptime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "", prop: "deptName" }, |
| | | { label: "就诊/出院日期", width: "280", prop: "inhosptime" }, |
| | | { label: "责任护士", width: "", prop: "nurseName" }, |
| | | { label: "主治医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "240", prop: "dept" }, |
| | | { label: "病区", width: "240", prop: "leavehospitaldistrictname" }, |
| | | ], |
| | | // 患者表单 |
| | | tableLabelhzwb: [ |
| | | { label: "出院日期", width: "150", prop: "endtime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "sfzh" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "出院天数", width: "", prop: "endDay" }, |
| | | { label: "责任护士", width: "", prop: "nurseName" }, |
| | | { label: "主治医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "180", prop: "deptName" }, |
| | | { label: "病区", width: "150", prop: "leavehospitaldistrictname" }, |
| | | ], |
| | | |
| | | tableLabelwj: [ |
| | | { label: "序号", width: "", prop: "svyid" }, |
| | | { label: "问卷名称", width: "", prop: "svyname" }, |
| | | { label: "问卷概述", width: "", prop: "description" }, |
| | | { label: "问卷标题", width: "", prop: "svyname" }, |
| | | { label: "问卷描述", width: "", prop: "description" }, |
| | | { label: "修改日期", width: "", prop: "updateTime" }, |
| | | { label: "创建人", width: "", prop: "createBy" }, |
| | | ], |
| | |
| | | preachform: [ |
| | | { label: "多媒体", value: 1 }, |
| | | { label: "纸质", value: 2 }, |
| | | { label: "电话", value: 3 }, |
| | | { label: "智能语音", value: 3 }, |
| | | { label: "短信", value: 4 }, |
| | | { label: "微信公众号", value: 5 }, |
| | | { label: "微信小程序", value: 6 }, |
| | |
| | | pageNum: 1, // |
| | | pageSize: 10, |
| | | }, |
| | | checkList: [], |
| | | checkList: "", |
| | | deliverytopqueryParams: { |
| | | pageNum: 1, // |
| | | pageSize: 10, |
| | |
| | | patientqueryParams: { |
| | | pageNum: 1, // |
| | | pageSize: 10, |
| | | topica: 1, //0全部1科室2病区 |
| | | leavehospitaldistrictcodes: [], |
| | | leaveldeptcodes: [], |
| | | }, |
| | | topicoptions: [{ children: [{ children: [] }] }], |
| | | showSearch: true, // |
| | |
| | | patientuserList: [], //选择患者列表 |
| | | sonuserList: [], //选中患者列表 |
| | | delvariableList: [], //删除变量临时存储 |
| | | longtype: [ |
| | | { value: 0, label: "自定义周期" }, |
| | | { value: 1, label: "长期任务" }, |
| | | ], |
| | | variableList: [ |
| | | { |
| | | name: "姓名", |
| | |
| | | default: true, |
| | | }, |
| | | { |
| | | name: "电话", |
| | | name: "智能语音", |
| | | value: "${dhh}", |
| | | fill: "派发时自动匹配", |
| | | default: true, |
| | |
| | | default: true, |
| | | }, |
| | | { |
| | | name: "电话", |
| | | name: "智能语音", |
| | | value: "${dhh}", |
| | | fill: "派发时自动匹配", |
| | | default: true, |
| | |
| | | form: { |
| | | patTaskRelevances: [], |
| | | sendType: 1, |
| | | longTask: 0, |
| | | templatename: "", |
| | | templateid: null, |
| | | libtemplateid: null, |
| | | kcb: "亲爱的患者/家属,您好!我们是浙中医大二院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,观看这份宣教资讯。", |
| | | jsy: "请您注意休息和营养,生活上要劳逸结合,适当锻炼,戒烟限酒,保持心情舒畅,定期复诊。那本次宣教内容就到这里,祝您身体健康!", |
| | | }, |
| | | taskoptions: [ |
| | | { |
| | | value: "1", |
| | | label: "出院病人", |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "在院病人", |
| | | }, |
| | | { |
| | | value: "2", |
| | |
| | | value: "3", |
| | | label: "体检病人", |
| | | }, |
| | | { |
| | | value: "6", |
| | | label: "院外患者", |
| | | }, |
| | | ], |
| | | source: [ |
| | | { |
| | | value: 0, |
| | | label: "所属患者", |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: "科室患者", |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: "病区患者", |
| | | }, |
| | | ], |
| | | |
| | | tasktypes: [ |
| | | { |
| | | value: 1, |
| | |
| | | }, |
| | | { |
| | | value: 7, |
| | | label: "患者报告", |
| | | label: "患者日常报告", |
| | | }, |
| | | { |
| | | value: 9, |
| | | label: "患者异常报告", |
| | | }, |
| | | |
| | | { |
| | |
| | | label: "其他通知", |
| | | }, |
| | | ], |
| | | // 科室/病区 |
| | | belongWards: [], |
| | | deptlist: [], |
| | | hosplist: [], |
| | | tempDetpRelevanceslist: [], //科室数据 |
| | | tempDetpRelevanceslistform: [], //科室数据 |
| | | tempbelongWards: [], //病区数据 |
| | | tempbelongWardsform: [], //病区数据 |
| | | rules: { |
| | | taskName: [ |
| | | { required: true, message: "任务名称不能为空", trigger: "blur" }, |
| | |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | taskDesc: [ |
| | | { required: true, message: "任务描述不能为空", trigger: "blur" }, |
| | | ], |
| | | sendType: [ |
| | | { required: true, message: "发送设置不能为空", trigger: "blur" }, |
| | | ], |
| | | deptcode: [ |
| | | { required: true, message: "适用科室不能为空", trigger: "blur" }, |
| | | ], |
| | | // leavehospitaldistrictcode: [ |
| | | // { required: true, message: "适用病区不能为空", trigger: "blur" }, |
| | | // ], |
| | | }, |
| | | belongDepts:[], |
| | | // 科室院区查询入参 |
| | | queryParamsdept: {}, |
| | | quote: false, |
| | | serviceType: null, |
| | | }; |
| | |
| | | components: { SFtable }, |
| | | |
| | | created() { |
| | | this.appraiselist = store.getters.appraiselist; |
| | | this.belongWards = store.getters.belongWards; |
| | | this.belongDepts = store.getters.belongDepts; |
| | | this.mode = store.getters.Askmode; |
| | | this.id = this.$route.query.id; |
| | | this.newadd = this.$route.query.newadd; |
| | | 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(); |
| | | this.getQtemplateclassify(); |
| | | }, |
| | | activated() { |
| | | if (this.id != this.$route.query.id) { |
| | | this.listDept(); |
| | | this.Acquisitiontype(); |
| | | this.Getdetails(); |
| | | this.getQtemplateclassify(); |
| | | } |
| | | }, |
| | | |
| | |
| | | let queryParams = { |
| | | pageNum: this.topqueryParams.pageNum, |
| | | pageSize: this.topqueryParams.pageSize, |
| | | isavailable: "", |
| | | isenable: "", |
| | | }; |
| | | this.currenttype = this.$route.query.type; |
| | | this.title = "问卷内容列表"; |
| | |
| | | label: "纸质", |
| | | }, |
| | | { |
| | | value: "4", |
| | | label: "短信", |
| | | }, |
| | | { |
| | | value: "5", |
| | | label: "微信公众号", |
| | | }, |
| | | { label: "微信小程序", value: 6 }, |
| | | ]; |
| | | } else if (this.form.serviceType == 6) { |
| | | this.checkboxlist = [ |
| | | { |
| | | value: "3", |
| | | label: "电话", |
| | | label: "智能语音", |
| | | }, |
| | | { |
| | | value: "4", |
| | |
| | | label: "微信小程序", |
| | | }, |
| | | |
| | | { |
| | | value: "8", |
| | | label: "智能机器人", |
| | | }, |
| | | // { |
| | | // value: "8", |
| | | // label: "智能机器人", |
| | | // }, |
| | | ]; |
| | | } else if (this.form.serviceType == 7) { |
| | | } else if (this.form.serviceType == 7 || this.form.serviceType == 9) { |
| | | this.checkboxlist = [ |
| | | { |
| | | value: "1", |
| | |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "电话", |
| | | label: "智能语音", |
| | | }, |
| | | { |
| | | value: "4", |
| | |
| | | label: "微信小程序", |
| | | }, |
| | | ]; |
| | | } else if (this.form.serviceType == 2 || this.form.serviceType == 3) { |
| | | } else if ( |
| | | this.form.serviceType == 2 || |
| | | this.form.serviceType == 3 || |
| | | this.form.serviceType == 5 || |
| | | this.form.serviceType == 4 |
| | | ) { |
| | | this.checkboxlist = [ |
| | | { |
| | | value: "1", |
| | |
| | | }, |
| | | { |
| | | value: "3", |
| | | label: "电话", |
| | | label: "智能语音", |
| | | }, |
| | | { |
| | | value: "4", |
| | |
| | | label: "微信小程序", |
| | | }, |
| | | |
| | | { |
| | | value: "8", |
| | | label: "智能机器人", |
| | | }, |
| | | // { |
| | | // value: "8", |
| | | // label: "智能机器人", |
| | | // }, |
| | | ]; |
| | | } |
| | | getQtemplatelist(this.topqueryParams).then((response) => { |
| | |
| | | submitForm(formName) { |
| | | if (this.time4 && this.form.sendType == 3) |
| | | this.form.showTimeMorn = this.time4; |
| | | this.form.sendTimeslot = [{ |
| | | begantime: this.time4, |
| | | endtime: "", |
| | | xh: 1, |
| | | }]; |
| | | if (this.checkList[0]) { |
| | | this.form.preachform = this.checkList.join(","); |
| | | this.form.sendTimeslot = [ |
| | | { |
| | | begantime: this.time4, |
| | | endtime: "", |
| | | xh: 1, |
| | | }, |
| | | ]; |
| | | if (this.checkList) { |
| | | this.form.preachform = this.checkList; |
| | | } else { |
| | | this.$modal.msgError("请选择服务类型"); |
| | | return; |
| | | } |
| | | if (!this.form.patTaskRelevances[0]) { |
| | | if (this.deptcodesWards[0]||this.leavehospitaldistrictcodes[0]) { |
| | | } else { |
| | | this.$modal.msgError("请选择科室或病区"); |
| | | return; |
| | | } |
| | | |
| | | if (!this.form.patTaskRelevances[0] && !this.form.longTask) { |
| | | this.$modal.msgError("请选择病人"); |
| | | return; |
| | | } |
| | | if (!this.form.templatename) { |
| | | |
| | | if (!this.form.templatename && !this.templateor) { |
| | | this.$modal.msgError("未选择模板"); |
| | | return; |
| | | } |
| | | |
| | | if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) { |
| | | } else if (this.form.sendType == 3 && this.time4) { |
| | | } else if ( |
| | | (this.form.sendType == 3 && this.time4) || |
| | | this.form.longTask |
| | | ) { |
| | | } else { |
| | | return this.$modal.msgError("时间信息缺失"); |
| | | } |
| | | |
| | | const filteredArray = this.variableList.filter( |
| | | (item) => |
| | | item.name !== "姓名" && item.name !== "电话" && item.name !== "地址" |
| | |
| | | this.form.type = this.$route.query.type; |
| | | } |
| | | this.form.serviceType = this.serviceType; |
| | | this.form.deptcode = this.deptcodesWards.join(","); |
| | | this.form.leavehospitaldistrictcode = |
| | | this.leavehospitaldistrictcodes.join(","); |
| | | |
| | | Editsingletask(this.form).then((res) => { |
| | | if (res.code == 200) { |
| | | if (this.form.taskid) { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | } else { |
| | | this.$modal.msgSuccess("修改成功"); |
| | | } else { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | } |
| | | this.$modal.closeLoading(); |
| | | |
| | | this.$router.push({ |
| | | path: "/followvisit/tasklist", |
| | | query: { tasktopic: this.form.serviceType }, |
| | |
| | | } |
| | | }); |
| | | }, |
| | | // ----------------------表格子组件事件 |
| | | |
| | | // 确认选择模板放入任务模板 |
| | | // ----------------------表格子组件事件 |
| | | // 选择预览 |
| | | selectfn(row, type) { |
| | | // 模板情况下获取模板信息 |
| | | if (type == 1) { |
| | | this.libName = row.svyname; |
| | | this.libId = row.svyid; |
| | | this.Tasktemplate = row; |
| | | this.questionList = row.svyTemplateLibScripts; |
| | | this.previewtf = true; |
| | | getQtemplateobj({ svyid: row.svyid }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.objyl = res.rows[0]; |
| | | if (this.form.longTask) { |
| | | this.objyl.longTemp = 1; |
| | | } |
| | | |
| | | this.tempDetpRelevanceslist = []; |
| | | this.tempbelongWards = []; |
| | | this.objyl.suitway = this.objyl.suitway.split(","); |
| | | this.questionList = res.rows[0].svyTemplateLibScripts; |
| | | this.getillness(row.svyid); |
| | | this.previewtf = true; |
| | | } |
| | | }); |
| | | console.log(row.svyTemplateLibScripts); |
| | | this.previewid = row.svyid; |
| | | this.Variablehandling(row.svyTemplateLibScripts, 1); |
| | | } else if (type == 2) { |
| | |
| | | }, |
| | | // 预览 |
| | | previewfnmb() { |
| | | console.log(this.form); |
| | | |
| | | getQtemplatelist({ svyid: this.form.libtemplateid }).then((res) => { |
| | | getTaskQuestioncomit(this.form.templateid).then((res) => { |
| | | if (res.code == 200) { |
| | | console.log(); |
| | | console.log(res, "预览数据"); |
| | | this.objyl = res.data; |
| | | if (this.objyl.suitway) |
| | | this.objyl.suitway = this.objyl.suitway.split(","); |
| | | |
| | | this.questionList = res.rows[0].svyTemplateLibScripts; |
| | | this.getillness(this.form.libtemplateid); |
| | | |
| | | this.previewtf = true; |
| | | getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.questionList = res.rows[0].svyTemplateLibScripts; |
| | | this.objyl.svyTemplateLibScripts = |
| | | res.rows[0].svyTemplateLibScripts; |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | getillness(id) { |
| | | if (id) { |
| | | getillness({ outid: id, type: 5 }).then((res) => { |
| | | this.illnesslist = res.rows; |
| | | this.illnesslist.forEach((item) => { |
| | | item.icdname = item.icd10name; |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | // 处理问题层变量 |
| | | Variablehandling(arr, type) { |
| | |
| | | } |
| | | }); |
| | | }); |
| | | console.log(Variablist, "Variablist"); |
| | | const Aarr = Variablist.filter( |
| | | (obj, index, self) => |
| | | index === |
| | |
| | | }, |
| | | // 子任务二级弹框 |
| | | handleAddpatient(row) { |
| | | console.log(this.overallCase, "ssaaa"); |
| | | this.allpids = []; |
| | | this.overallCase.forEach((item) => { |
| | | this.allpids.push(item.patid); |
| | | }); |
| | | if (this.patientqueryParams.allhosp == 1) { |
| | | if ( |
| | | this.patientqueryParams.allhosp == 1 || |
| | | (this.patientqueryParams.allhosp == 1 && |
| | | this.patientqueryParams.cry == 1) |
| | | ) { |
| | | this.tableLabelhz = [ |
| | | // { label: "入院日期", width: "170", prop: "starttime" }, |
| | | { label: "出院日期", width: "150", prop: "endtime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "出院天数", width: "", prop: "endDay" }, |
| | | { label: "责任护士", width: "", prop: "nurseName" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "", prop: "deptName" }, |
| | | { label: "就诊/出院日期", width: "280", prop: "inhosptime" }, |
| | | { label: "科室", width: "180", prop: "dept" }, |
| | | { label: "病区", width: "150", prop: "leavehospitaldistrictname" }, |
| | | ]; |
| | | } else if (this.patientqueryParams.allhosp == 2) { |
| | | } else if (this.patientqueryParams.allhosp == 4) { |
| | | this.tableLabelhz = [ |
| | | { label: "入院日期", width: "150", prop: "starttime" }, |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "诊断", width: "", prop: "diagname" }, |
| | | { label: "就诊科室", width: "", prop: "deptName" }, |
| | | { label: "入院日期", width: "", prop: "inhosptime" }, |
| | | { label: "创建人", width: "", prop: "createBy" }, |
| | | { label: "出院天数", width: "", prop: "endDay" }, |
| | | { label: "责任护士", width: "", prop: "nurseName" }, |
| | | { label: "医生", width: "", prop: "drname" }, |
| | | { label: "科室", width: "180", prop: "dept" }, |
| | | { label: "病区", width: "150", prop: "leavehospitaldistrictname" }, |
| | | ]; |
| | | } |
| | | if (this.allpids[0]) { |
| | | this.patientqueryParams.pids = this.allpids; |
| | | console.log(this.patientqueryParams.pids); |
| | | } else { |
| | | this.patientqueryParams.pids = null; |
| | | } |
| | | // 类型判断 |
| | | if (this.patientqueryParams.allhosp == 1) { |
| | | this.patientqueryParams.cry = 1; |
| | | } else if (this.patientqueryParams.allhosp == 4) { |
| | | this.patientqueryParams.cry = 0; |
| | | this.patientqueryParams.allhosp = "1"; |
| | | } |
| | | // 来源判断 |
| | | |
| | | getTaskpatient(this.patientqueryParams).then((response) => { |
| | | console.log(response); |
| | | if (this.patientqueryParams.searchscope == 1) { |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.patientqueryParams.leavehospitaldistrictcodes = []; |
| | | } else if (this.patientqueryParams.searchscope == 2) { |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | this.patientqueryParams.leaveldeptcodes = []; |
| | | } else { |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( |
| | | (obj) => obj.deptCode |
| | | ); |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.belongWards.map((obj) => obj.districtCode); |
| | | } |
| | | getTaskpatientQC(this.patientqueryParams).then((response) => { |
| | | this.patientuserList = response.rows; |
| | | this.patientuserList.forEach((item) => { |
| | | if (item.endtime) { |
| | | item.endDay = this.daysBetween(item.endtime); |
| | | } |
| | | }); |
| | | this.patienttotal = response.total; |
| | | this.loading = false; |
| | | this.Restorecheck(); |
| | |
| | | handleUpdate() {}, |
| | | handleDelete() {}, |
| | | handleExport() {}, |
| | | |
| | | // 选择患者表数据 |
| | | handleSelectionChange(selection) { |
| | | console.log("多选患者"); |
| | | this.SelectPatientslist = selection; |
| | | this.SelectPatientslist = structuredClone(selection); |
| | | this.multiple = !selection.length; |
| | | |
| | | // 赋值给整体选中数组 |
| | |
| | | item.isoperation = 1; |
| | | item.patid = item.id; |
| | | item.hospType = this.patientqueryParams.allhosp; |
| | | item.sfzh = item.idcardno; |
| | | item.deptCode = item.deptcode; |
| | | item.deptName = item.dept; |
| | | item.admindate = item.inhosptime; |
| | | item.sfzh = item.idcardno; |
| | | this.overallCase.push(item); |
| | | this.form.patTaskRelevances.push(item); |
| | | } |
| | |
| | | }, |
| | | // 切换页后恢复选中 |
| | | Restorecheck() { |
| | | console.log(this.overallCase, "this.overallCase"); |
| | | const allid = this.overallCase.map((item) => item.patid); |
| | | const overlap = this.patientuserList.filter((value) => { |
| | | return allid.includes(value.patid); |
| | | }); |
| | | // 保持ids和当前页面的同步性 |
| | | this.SelectPatientslist = overlap; |
| | | console.log(this.SelectPatientslist, "进入分页SelectPatientslist"); |
| | | |
| | | this.toggleSelection(overlap); |
| | | }, |
| | | // 挂载选择状态 |
| | |
| | | }); |
| | | this.decision = false; |
| | | }); |
| | | console.log(123); |
| | | } else { |
| | | this.$refs.multipleTable.clearSelection(); |
| | | } |
| | |
| | | let indexa = this.overallCase.indexOf(row); |
| | | let indexb = this.form.patTaskRelevances.indexOf(row); |
| | | this.overallCase.splice(indexa, 1); |
| | | this.form.patTaskRelevances[indexb].isoperation = 3; |
| | | if (!this.form.taskid) { |
| | | this.form.patTaskRelevances.splice(indexa, 1); |
| | | } else { |
| | | this.form.patTaskRelevances[indexb].isoperation = 3; |
| | | } |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }); |
| | | }, |
| | | getList() {}, |
| | | handleQuery() { |
| | | // 获取外部患者 |
| | | console.log(this.patientqueryParams.allhosp, "aaalll"); |
| | | |
| | | if (this.patientqueryParams.allhosp == 6) { |
| | | this.Externallist(); |
| | | console.log(); |
| | | |
| | | return; |
| | | } |
| | | if (this.patientqueryParams.topica == 0) { |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.leavehospitaldistrictcodes; |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; |
| | | } else if (this.patientqueryParams.topica == 1) { |
| | | this.patientqueryParams.leavehospitaldistrictcodes = null; |
| | | this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes; |
| | | } else if (this.patientqueryParams.topica == 2) { |
| | | this.patientqueryParams.leavehospitaldistrictcodes = |
| | | store.getters.leavehospitaldistrictcodes; |
| | | this.patientqueryParams.leaveldeptcodes = null; |
| | | } |
| | | |
| | | if ( |
| | | !this.patientqueryParams.leavehospitaldistrictcodes || |
| | | !this.patientqueryParams.leavehospitaldistrictcodes[0] |
| | | ) |
| | | this.patientqueryParams.leavehospitaldistrictcodes = null; |
| | | if ( |
| | | !this.patientqueryParams.leaveldeptcodes || |
| | | !this.patientqueryParams.leaveldeptcodes[0] |
| | | ) |
| | | this.patientqueryParams.leaveldeptcodes = null; |
| | | this.handleAddpatient(); |
| | | }, |
| | | // 获取外部患者导入列表 |
| | | Externallist() { |
| | | this.tableLabelhz = [ |
| | | { label: "患者", width: "", prop: "name" }, |
| | | { label: "身份证", width: "200", prop: "idcardno" }, |
| | | { label: "性别", width: "", prop: "sex" }, |
| | | { label: "年龄", width: "", prop: "age" }, |
| | | { label: "出院天数", width: "", prop: "endDay" }, |
| | | ]; |
| | | this.patientqueryParams.pageSize = 1000; |
| | | |
| | | Externallist(this.patientqueryParams).then((response) => { |
| | | this.patientuserList = response.rows; |
| | | this.patientuserList.forEach((item) => { |
| | | if (item.endtime) { |
| | | item.endDay = this.daysBetween(item.endtime); |
| | | } |
| | | }); |
| | | this.dialogVisiblepatient = true; |
| | | this.patienttotal = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | resetQuery() {}, |
| | | handleQuerymb() { |
| | | getQtemplatelist(this.topqueryParams).then((response) => { |
| | |
| | | this.form = { |
| | | patTaskRelevances: [], |
| | | sendType: 1, |
| | | sendDay: 5, |
| | | templatename: "", |
| | | templateid: null, |
| | | libtemplateid: null, |
| | | kcb: "亲爱的患者/家属,您好!我们是浙中医大二院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,完成这份随访问卷。", |
| | | jsy: "请您注意休息和营养,生活上要劳逸结合,适当锻炼,戒烟限酒,保持心情舒畅,定期复诊。那本次回访就到这里,祝您身体健康!", |
| | | }; |
| | | |
| | | this.questionList = []; |
| | | if (this.id) { |
| | | Questionnairetaskget({ taskid: this.id }).then((res) => { |
| | | Questionnairetaskgetson({ taskid: this.id }).then((res) => { |
| | | let filteredArray = ""; |
| | | if (res.code == 200) { |
| | | this.form = res.data; |
| | |
| | | ? this.form.patTaskRelevances |
| | | : []; |
| | | this.overallCase = this.form.patTaskRelevances.concat(); |
| | | this.checkList = this.form.preachform.split(","); |
| | | console.log(this.form, "this.form"); |
| | | if (this.form.showDate)this.daytime = this.form.showDate.split(","); |
| | | this.checkList = this.form.preachform; |
| | | |
| | | this.overallCase.forEach((item) => { |
| | | if (item.endtime) { |
| | | item.endDay = this.daysBetween(item.endtime); |
| | | } |
| | | }); |
| | | if (this.form.showDate) |
| | | this.daytime = this.form.showDate.split(","); |
| | | if (this.form.showTimeMorn) { |
| | | if (this.form.sendType == 3) { |
| | | this.time4 = this.form.showTimeMorn; |
| | | console.log(1122); |
| | | } else { |
| | | this.time1 = this.form.showTimeMorn.split(","); |
| | | } |
| | | } |
| | | // 获取任务科室 |
| | | if (this.form.taskid) { |
| | | this.listDept(); |
| | | } |
| | | if (this.form.showTimeNoon) |
| | | this.time2 = this.form.showTimeNoon.split(","); |
| | | if (this.form.showTimeNight) |
| | | this.time3 = this.form.showTimeNight.split(","); |
| | | console.log(1122); |
| | | filteredArray = this.convertFormat1ToFormat2(this.form.textParam); |
| | | this.variableList = this.transitionList.concat(filteredArray); |
| | | } else { |
| | | this.$modal.msgError(res.code); |
| | | } |
| | | |
| | | if (this.newadd) { |
| | | this.neWaddfn(); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | // 获取科室列表 |
| | | // 依照新增时处理 |
| | | neWaddfn() { |
| | | this.id = null; |
| | | this.form.taskName = ""; |
| | | this.form.taskid = null; |
| | | this.overallCase = []; |
| | | this.form.patTaskRelevances = []; |
| | | this.daytime = []; //日期 |
| | | this.applydaytime = []; //计算日期 |
| | | this.time1 = ""; //上午时间段 |
| | | this.time2 = ""; //下午时间段 |
| | | this.time3 = ""; //晚上时间段 |
| | | this.time4 = ""; //晚上时间段 |
| | | }, |
| | | // 获取任务科室列表 |
| | | listDept() { |
| | | listDept().then((res) => { |
| | | this.topicoptions = this.handleTree(res.data, "deptId"); |
| | | console.log(this.topicoptions, "topicoptions"); |
| | | this.leavehospitaldistrictcodes = []; |
| | | this.deptcodesWards = []; |
| | | this.queryParamsdept.taskId = this.form.taskid; |
| | | taskdepthospgetsonlist(this.queryParamsdept).then((res) => { |
| | | if (res.code == 200) { |
| | | let arr = res.rows; |
| | | arr.forEach((item) => { |
| | | if (item.deptType == 1) { |
| | | this.deptlist.push(item); |
| | | this.deptcodesWards.push(item.deptCode); |
| | | } else if (item.deptType == 2) { |
| | | this.hosplist.push(item); |
| | | this.leavehospitaldistrictcodes.push(item.deptCode); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // 任务科室删除触发 |
| | | removetag(row) { |
| | | let result = this.deptlist |
| | | .filter((item) => item.deptCode == row) |
| | | .map((item) => item.id); |
| | | |
| | | if (result.length) { |
| | | taskdepthospgetsondel(result).then((res) => { |
| | | if (res.code) { |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | // 院区删除删除触发 |
| | | removehpsp(row) { |
| | | let result = this.hosplist |
| | | .filter((item) => item.deptCode == row) |
| | | .map((item) => item.id); |
| | | if (result.length) { |
| | | taskdepthospgetsondel(result).then((res) => { |
| | | if (res.code) { |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | getQtemplateclassify() { |
| | | getQtemplateclassify({}).then((res) => { |
| | | this.optionsclass = res.rows; |
| | | }); |
| | | }, |
| | | // 新增派送患者 |
| | |
| | | this.variableList.splice(index, 1); |
| | | row.isoperation = 3; |
| | | this.delvariableList.push(row); |
| | | console.log(index, row); |
| | | }, |
| | | |
| | | // 时间---------- |
| | | changeTime(row) { |
| | | console.log(row, "时间"); |
| | | this.processingTime(); |
| | | }, |
| | | Totaldate(row) { |
| | | console.log(row, "时间"); |
| | | this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }]; |
| | | this.form.showTimeMorn = row; |
| | | console.log(this.form.sendTimeslot, "时间"); |
| | | }, |
| | | changeTimeday(row) { |
| | | const startDate = new Date(row[0]); |
| | |
| | | query: { id: this.previewid, task: true, data: this.form }, |
| | | }); |
| | | }, |
| | | // 保存/更新任务模板 |
| | | previewFn() { |
| | | let id = this.Tasktemplate.id; |
| | | this.Tasktemplate.id = null; |
| | | console.log(this.Tasktemplate); |
| | | if (Array.isArray(this.objyl.suitway)) { |
| | | this.objyl.suitway = this.objyl.suitway.join(","); |
| | | } |
| | | this.objyl.templateid = this.objyl.svyid; |
| | | |
| | | this.Tasktemplate.svyTemplateLibScripts.forEach((item) => { |
| | | item.svyTaskTemplateTargetoptions = item.svyLibTemplateTargetoptions; |
| | | this.objyl.isoperation = 1; |
| | | this.objyl.taskid = this.form.taskid; |
| | | |
| | | if (this.objyl.id) { |
| | | deleteTaskQuestioncomit(this.objyl.id).then((res) => { |
| | | if (res.code == 200) { |
| | | (this.objyl.id = null), |
| | | TaskQuestioncomit(this.objyl).then((response) => { |
| | | this.previewtf = false; |
| | | this.form.libtemplateid = this.objyl.svyid; |
| | | this.form.templateid = response.data; |
| | | this.form.templatename = this.objyl.svyname; |
| | | this.$modal.msgSuccess("选择模板成功"); |
| | | }); |
| | | } |
| | | }); |
| | | } else { |
| | | TaskQuestioncomit(this.objyl).then((response) => { |
| | | this.previewtf = false; |
| | | this.form.libtemplateid = this.objyl.svyid; |
| | | this.form.templateid = response.data; |
| | | this.form.templatename = this.objyl.svyname; |
| | | this.$modal.msgSuccess("选择模板成功"); |
| | | }); |
| | | } |
| | | }, |
| | | // 保存科室/病区 |
| | | putbelongDepts(id) { |
| | | this.tempDetpRelevanceslistform.forEach((item) => { |
| | | item.tempid = id; |
| | | }); |
| | | this.Tasktemplate.svyTaskTemplateScriptVOS = |
| | | this.Tasktemplate.svyTemplateLibScripts; |
| | | this.Tasktemplate.templateid = id; |
| | | this.Tasktemplate.isoperation = 1; |
| | | TaskQuestioncomit(this.Tasktemplate).then((response) => { |
| | | this.previewtf = false; |
| | | this.form.templateid = response.data; |
| | | this.form.libtemplateid = this.libId; |
| | | this.form.templatename = this.libName; |
| | | this.$modal.msgSuccess("选择模板成功"); |
| | | this.tempbelongWardsform.forEach((item) => { |
| | | item.tempid = id; |
| | | }); |
| | | depthospgetson(this.tempDetpRelevanceslistform).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("科室更新成功"); |
| | | this.tempDetpRelevanceslistform = []; |
| | | } |
| | | }); |
| | | depthospgetson(this.tempbelongWardsform).then((res) => { |
| | | if (res.code == 200) { |
| | | this.$modal.msgSuccess("病区更新成功"); |
| | | this.tempbelongWardsform = []; |
| | | } |
| | | }); |
| | | }, |
| | | // 处理服务形式 |
| | | formatFn(type) { |
| | | console.log(this.preachform, "preachform"); |
| | | console.log(this.checkList, "checklist"); |
| | | let list = []; |
| | | let formlist = []; |
| | | if (type == 1) { |
| | | this.preachform.forEach((item) => { |
| | | this.checkList.forEach((obj) => { |
| | | if (item.label == obj) { |
| | | list.push(item.value); |
| | | |
| | | // 科室处理 |
| | | Departmenttreatment() { |
| | | if (!this.form.taskid) { |
| | | this.templateor = true; |
| | | MessageBox.confirm( |
| | | "当前为新增任务未保存不可关联模板,是否先保存任务?", |
| | | "功能提示", |
| | | { |
| | | confirmButtonText: "保存任务", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | if (Array.isArray(this.objyl.suitway)) { |
| | | this.objyl.suitway = this.objyl.suitway.join(","); |
| | | } |
| | | }); |
| | | }); |
| | | console.log(list, "list"); |
| | | this.form.preachform = list.join(","); |
| | | this.objyl.templateid = this.objyl.svyid; |
| | | this.objyl.isoperation = 1; |
| | | this.form.svyTaskTemplateVO=this.objyl; |
| | | this.submitForm(); |
| | | }) |
| | | .catch(() => {}); |
| | | } else { |
| | | console.log(this.form.preachform, "this.form.preachform"); |
| | | formlist = this.form.preachform.split(","); |
| | | console.log(11); |
| | | this.preachform.forEach((item) => { |
| | | formlist.forEach((obj) => { |
| | | if (item.value == obj) { |
| | | list.push(item.label); |
| | | } |
| | | }); |
| | | }); |
| | | this.checkList = list; |
| | | setTimeout(() => { |
| | | this.previewFn(); |
| | | }, 1000); |
| | | } |
| | | }, |
| | | }, |
| | |
| | | } |
| | | } |
| | | } |
| | | .xinz-infs { |
| | | font-size: 18px; |
| | | line-height: 48px; |
| | | |
| | | .el-tag + .el-tag { |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | // .leftvlue-jbxx { |
| | | // margin-bottom: 50px; |
| | | // font-size: 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); |
| | | // 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); |
| | | .scriptTopic-dev { |
| | | margin-bottom: 25px; |
| | | font-size: 20px !important; |
| | |
| | | // } |
| | | ::v-deep.el-radio-group { |
| | | span { |
| | | font-size: 24px; |
| | | font-size: 18px; |
| | | } |
| | | } |
| | | ::v-deep.el-input.is-disabled .el-input__inner { |
| | |
| | | } |
| | | ::v-deep.el-checkbox-group { |
| | | span { |
| | | font-size: 24px; |
| | | font-size: 18px; |
| | | } |
| | | } |
| | | </style> |