From 2fe94c2414aa1b8840e4dbf9a8e19121a8a867b6 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期六, 12 十月 2024 09:35:31 +0800 Subject: [PATCH] 测试完成 --- src/views/system/user/index.vue | 2 src/views/patient/propaganda/particty copy.vue | 1437 +++++++++++++++++++++++++++ vue.config.js | 2 src/views/repositoryai/templateku/configurat/index.vue | 233 +++- src/api/AiCentre/Qtemplate.js | 2 src/views/knowledge/questionnaire/compilequer/index.vue | 18 src/views/patient/propaganda/particty.vue | 1395 ++++++++++++++++++++------ src/api/AiCentre/Followup.js | 22 8 files changed, 2,696 insertions(+), 415 deletions(-) diff --git a/src/api/AiCentre/Followup.js b/src/api/AiCentre/Followup.js index 1a4ea01..4145ce3 100644 --- a/src/api/AiCentre/Followup.js +++ b/src/api/AiCentre/Followup.js @@ -70,3 +70,25 @@ data: data, }); } + // 闂嵎浠诲姟妯℃澘鏂板淇敼 + export function Taskparticty(data) { + return request({ + url: "/smartor/ivrTaskTemplate/saveOrUpdateTempScript", + method: "post", + data: data, + }); + } + // 鍒犻櫎浠诲姟妯℃澘 + export function deleteTaskparticty(svyid) { + return request({ + url: "/smartor/ivrTaskTemplate/remove/" + svyid, + method: "get", + }); + } + + export function getTaskparticty(svyid) { + return request({ + url: "/smartor/ivrTaskTemplate/getInfo/" + svyid, + method: "get", + }); + } diff --git a/src/api/AiCentre/Qtemplate.js b/src/api/AiCentre/Qtemplate.js index 8897655..55d9e46 100644 --- a/src/api/AiCentre/Qtemplate.js +++ b/src/api/AiCentre/Qtemplate.js @@ -128,7 +128,7 @@ data: data, }); } - // 鍒犻櫎闂嵎妯℃澘鍒嗙被 + // 鍒犻櫎浠诲姟妯℃澘 export function deleteTaskQuestioncomit(svyid) { return request({ url: "/smartor/svytemplateTask/remove/" + svyid, diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue index a2e96e7..8fa6512 100644 --- a/src/views/knowledge/questionnaire/compilequer/index.vue +++ b/src/views/knowledge/questionnaire/compilequer/index.vue @@ -280,7 +280,7 @@ size="medium" multiple filterable - placeholder="璇烽�夋嫨绉戝" + placeholder="璇烽�夋嫨鐥呭尯" > <el-option class="ruleFormaa" @@ -1455,8 +1455,7 @@ this.appraiselist = store.getters.appraiselist; this.belongWards = store.getters.belongWards; this.belongDepts = store.getters.belongDepts; - console.log(this.belongWards, "belongWards"); - console.log(this.belongDepts, "belongDepts"); + // this.test(); }, @@ -1587,9 +1586,7 @@ }, // 绉戝/闄㈠尯澶勭悊 Departmenttreatment() { - console.log(this.tempDetpRelevanceslist, "tempDetpRelevanceslist"); - console.log(this.deptlist, "deptlist"); - console.log(this.hosplist, "deptlist"); + this.tempDetpRelevanceslist.forEach((item) => { console.log(item); let result = this.deptlist.some((obj) => obj.deptCode == item); @@ -1607,9 +1604,6 @@ }); this.tempbelongWards.forEach((item) => { let result = this.hosplist.some((obj) => obj.deptCode == item); - - console.log(this.result, "resulthhh"); - if (!result) { this.tempbelongWardsform.push({ deptType: 2, @@ -1620,11 +1614,7 @@ }); } }); - console.log(this.tempbelongWardsform, "tempbelongWardsform"); - console.log( - this.tempDetpRelevanceslistform, - "tempDetpRelevanceslistform" - ); + // return setTimeout(() => { diff --git a/src/views/patient/propaganda/particty copy.vue b/src/views/patient/propaganda/particty copy.vue new file mode 100644 index 0000000..e10301d --- /dev/null +++ b/src/views/patient/propaganda/particty copy.vue @@ -0,0 +1,1437 @@ +<template> + <div class="Questionnairemanagement"> + <!-- 涓婁晶鏍� --> + <div class="sidecolumn"> + <div> + <el-steps simple :active="Editprogress"> + <el-step + icon="el-icon-edit" + title="鍩虹淇℃伅" + description="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" + ></el-step> + <el-step + icon="el-icon-user" + title="浠诲姟涓讳綋" + description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��" + ></el-step> + </el-steps> + </div> + </div> + <!-- 涓嬩晶鏁版嵁 --> + <div class="leftvlue" style="margin: 0 20px"> + <!-- 鍩烘湰淇℃伅 --> + <div v-if="Editprogress == 1"> + <el-alert title="閫夋嫨妯℃澘銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark"> + </el-alert> + <div class="leftvlue-jbxx"> + <!-- 鍩虹淇℃伅 --> + <div class="examine-jic"> + <div class="headline"> + <div>鍩虹淇℃伅</div> + </div> + <div class="jic-value"> + <el-form ref="form" :model="form" label-width="105px"> + <el-row :gutter="20"> + <el-col :span="12" + ><el-form-item label="浠诲姟鍚嶇О"> + <el-input + style="width: 220px" + v-model="form.taskName" + 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-input + type="textarea" + v-model="form.taskDesc" + placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" + /> + </el-form-item> + <el-form-item label="鍙戦�佽缃細"> + <el-radio-group v-model="form.sendType"> + <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio> + <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio> + <el-radio :label="2">鍗冲埢鍙戦��</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1"> + <el-date-picker + v-model="daytime" + @change="changeTimeday" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + value-format="yyyy-MM-dd" + > + </el-date-picker> + </el-form-item> + + <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3"> + <div style="display: flex"> + <div style="margin-right: 10px"> + <el-date-picker + v-model="time4" + value-format="yyyy-MM-dd HH:mm:ss" + @change="Totaldate" + type="datetime" + placeholder="閫夋嫨鏃ユ湡鏃堕棿" + > + </el-date-picker> + </div> + </div> + </el-form-item> + + <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1"> + <div style="display: flex"> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >鏃堕棿娈典竴</span + > + <el-time-picker + is-range + arrow-control + @change="changeTime" + v-model="time1" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >鏃堕棿娈典簩</span + > + <el-time-picker + is-range + arrow-control + @change="changeTime" + v-model="time2" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >鏃堕棿娈典笁</span + > + <el-time-picker + is-range + arrow-control + @change="changeTime" + v-model="time3" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + </div> + </el-form-item> + <el-form-item label="鏈嶅姟褰㈠紡"> + <el-checkbox-group v-model="checkList"> + <el-checkbox + v-for="(item, index) in checkboxlist" + :key="index" + :label="item.value" + > + {{ item.label }}</el-checkbox + > + </el-checkbox-group> + </el-form-item> + </el-form> + </div> + </div> + <div class="examine-jic"> + <div class="headline"> + <div>鍙橀噺鍖归厤閲忓弬</div> + </div> + <div class="examine-jic"> + <div class="jic-value"> + <el-row :gutter="20"> + <el-table :data="variableList" style="width: 100%"> + <el-table-column + prop="name" + align="center" + label="鍙橀噺鍚嶇О" + > + </el-table-column> + <el-table-column prop="value" align="center" label="鍖归厤绗�"> + </el-table-column> + <el-table-column label="鏇挎崲鍊�" align="center"> + <template slot-scope="scope"> + <el-input + :disabled="scope.row.default" + v-model="scope.row.fill" + placeholder="璇疯緭鍏ュ唴瀹�" + ></el-input> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" align="center"> + <template slot-scope="scope"> + <!-- <el-button + size="mini" + @click="variableEdit(scope.$index, scope.row)" + >缂栬緫</el-button + > --> + <el-button + size="mini" + type="danger" + @click="variableDelete(scope.$index, scope.row)" + >鍒犻櫎</el-button + > + </template> + </el-table-column> + </el-table> + </el-row> + </div> + </div> + </div> + </div> + <el-button type="success" @click="nextstep('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" + }}</el-button> + <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> + </div> + + <!-- 浠诲姟璇︽儏 --> + <div v-if="Editprogress == 2"> + <el-alert title="鍦ㄦ湰闃舵閫夋嫨闅忚鐥呬汉" type="success" effect="dark"> + </el-alert> + <div class="leftvlue-jbxx"> + <div class="examine-jic"> + <div class="headline"> + <div>鎮h�呭垪琛�</div> + </div> + <div class="examine-jic"> + <div class="jic-value"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-select + v-model="patientqueryParams.allhosp" + placeholder="璇烽�夋嫨鏂板绫诲瀷" + > + <el-option + v-for="item in taskoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-col> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="medium" + :disabled="!patientqueryParams.allhosp" + @click="handleAddpatient" + >鏂板</el-button + > + </el-col> + + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="medium" + :disabled="multiple" + @click="handleDelete" + >鍒犻櫎</el-button + > + </el-col> + + <!-- <el-col :span="1.5"> </el-col> --> + </el-row> + <!-- 閫変腑鎮h�呭垪琛� --> + <SFtable + @details="detailhz" + @handleUpdate="handleUpdate" + :currentList="overallCase" + :tableLabel="tableLabelhz" + :serialnumber="false" + :searchTrue="true" + :multiplechoice="false" + :controlxz="false" + :typeinfo="2" + /> + <pagination + v-show="total > 0" + :total="total" + :page.sync="topqueryParams.pageNum" + :limit.sync="topqueryParams.pageSize" + @pagination="getList" + /> + </el-row> + </div> + </div> + </div> + </div> + <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> + <el-button type="success" @click="submitForm('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" + }}</el-button> + <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> + </div> + </div> + <!-- 娣诲姞鎮h�� --> + <el-dialog + title="閫夋嫨鎮h��" + :visible.sync="dialogVisiblepatient" + width="70%" + :before-close="handleClosehz" + :close-on-click-modal="false" + > + <div class="examine-jic"> + <div class="jic-value"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + <el-form + :model="patientqueryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" + > + <el-form-item label="鎮h�呭悕绉帮細"> + <el-input + v-model="patientqueryParams.name" + @keyup.enter.native="handleQuery" + ></el-input> + </el-form-item> + <el-form-item label="鍒涘缓鏃堕棿"> + <el-date-picker + v-model="dateRange" + style="width: 240px" + value-format="yyyy-MM-dd" + type="daterange" + range-separator="-" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + ></el-date-picker> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleQuery" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <!-- 閫夋嫨鎮h�呭垪琛� --> + <SFtable + ref="multipleTable" + @handleUpdate="handleUpdate" + @handleSelectionChange="handleSelectionChange" + :currentList="patientuserList" + :tableLabel="tableLabelhz" + :serialnumber="false" + :center="false" + :typeinfo="3" + /> + </el-row> + <pagination + v-show="patienttotal > 0" + :total="patienttotal" + :page.sync="patientqueryParams.pageNum" + :limit.sync="patientqueryParams.pageSize" + @pagination="handleAddpatient" + /> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisiblepatient = false">鍙� 娑�</el-button> + <el-button type="primary" @click="AddDispatchpatients" + >纭畾娣诲姞</el-button + > + </span> + </el-dialog> + <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%"> + <div class="preview-left"> + <!-- 鍗曢�� --> + <div + class="scriptTopic-dev" + v-for="(item, index) in questionList" + :key="item.aaa" + > + <div class="dev-text"> + {{ index + 1 }}銆�<span>{{ item.scriptContent }}</span> + </div> + + <div class="dev-xx" v-if="item.valueType == 1"> + <el-radio-group v-model="item.radio"> + <el-radio + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="items.id" + :label="items.id" + >{{ items.targetvalue }} + </el-radio> + </el-radio-group> + </div> + <div v-else> + <el-input + type="textarea" + placeholder="鏈幏鍙栧埌淇℃伅" + v-model.sync="item.scriptResult" + :rows="2" + /> + </div> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="previewGo">鍓嶅線妯℃澘璇︽儏淇敼</el-button> + <el-button type="primary" @click="previewFn">纭浣跨敤</el-button> + </span> + </el-dialog> + <el-drawer + title="闅忚鍐呭鍒楄〃" + :visible.sync="drawermb" + direction="rtl" + size="50%" + > + <div class="headline"></div> + <div class="examine-jic"> + <div class="jic-value"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + + <el-form + :model="topqueryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" + > + <el-form-item label="闅忚鍚嶇О"> + <el-input v-model="topqueryParams.templateName"></el-input> + </el-form-item> + + <el-form-item label="閫傜敤绉戝" prop="status"> + <el-select v-model="topqueryParams.topicd" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in topicoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region"> + <el-select + v-model="topqueryParams.assortid" + size="medium" + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option-group + v-for="group in indexAssortlist" + :key="group.id" + :label="group.indexAssortName" + > + <el-option + v-for="item in group.ivrLibaTemplateAssortList" + :key="item.id" + :label="item.indexAssortName" + :value="item.id" + > + </el-option> + </el-option-group> + </el-select> + </el-form-item> + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleQuery" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <el-divider></el-divider> + <!-- 閫夋嫨妯℃澘鍒楄〃 --> + <SFtable + @selectfn="selectfn" + :currentList="userList" + :tableLabel="tableLabel" + :controlsc="false" + :multiplechoice="false" + :typeinfo="1" + /> + <pagination + v-show="total > 0" + :total="total" + :page.sync="topqueryParams.pageNum" + :limit.sync="topqueryParams.pageSize" + @pagination="Acquisitiontype" + /> + </el-row> + </div> + </div> + </el-drawer> + </div> +</template> + +<script> +import { messagelistpatient } from "@/api/patient/homepage"; +import store from "@/store"; +import { + getTaskpatient, + getlibrarylist, + getFollowuplist, + getQtemplatelist, + TaskTemplatecomit, + getTaskInfo, + gethetaskinfo, + delhetaskinfo, + Editsingletask, + getvFollowup, + getFollowupclassify, +} from "@/api/AiCentre/index"; +import { listDept } from "@/api/system/dept"; + +import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 + +export default { + name: "serviceDetailsa", + data() { + const endDate = new Date(); + const startDate = new Date(); + startDate.setDate(endDate.getDate() - 7); // 璁剧疆寮�濮嬫棩鏈熶负褰撳墠鏃ユ湡鍓�7澶� + return { + title: "闅忚鍐呭鍒楄〃", + currenttype: 1, //1闅忚2闂嵎3閫氱煡瀹f暀 + id: "", // + previewid: "", //浠诲姟妯℃澘浼犻�抜d + libName: "", + overallCase: [], //閫夋嫨鎮h�呮�� + // 鏃ユ湡鑼冨洿 + dateRange: [startDate, endDate], + allpids: [], + libId: null, //妯℃澘搴撴ā鏉縤d + nhh: null, //鏄惁渚濈収鏂板 + Editprogress: 1, //缂栬緫杩涘害 + drawermb: false, //閫夋嫨妯℃澘寮圭獥 + previewtf: false, //棰勮 + loading: false, // 閬僵灞� + patientloading: false, // 閬僵灞� + dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� + radio: 1, + checkboxlist: [], + tableLabel: [], + questionList: [], + // 鎮h�呰〃鍗� + tableLabelhz: [ + { label: "鎮h�呭悕绉�", width: "", prop: "name" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, + { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" }, + ], + + tableLabelmz: [ + { label: "闅忚鍚嶇О", width: "", prop: "templateName" }, + { label: "涓昏鍐呭", width: "", prop: "note" }, + { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" }, + { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, + ], + + // 鏈嶅姟褰㈠紡 + preachform: [ + { label: "绾夸笅", value: 1 }, + { label: "鐢佃瘽", value: 2 }, + { label: "灏忕▼搴�", value: 3 }, + { label: "鐭俊", value: 4 }, + { label: "寰俊鍏紬", value: 5 }, + { label: "閽夐拤", value: 6 }, + { label: "鏅鸿兘鏈哄櫒浜�", value: 7 }, + ], + // 鏃堕棿澶勭悊 + daytime: [], //鏃ユ湡 + applydaytime: [], //璁$畻鏃ユ湡 + time1: "", //涓婂崍鏃堕棿娈� + time2: "", //涓嬪崍鏃堕棿娈� + time3: "", //鏅氫笂鏃堕棿娈� + time4: "", //鏅氫笂鏃堕棿娈� + topqueryParams: { + pageNum: 1, // + pageSize: 10, + }, + checkList: [], + deliverytopqueryParams: { + pageNum: 1, // + pageSize: 10, + }, + patientqueryParams: { + pageNum: 1, // + pageSize: 10, + }, + topicoptions: [{ children: [{ children: [] }] }], + showSearch: true, // + total: 0, // + sontotal: 0, // + patienttotal: 0, // + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: [], //妯℃澘鍒楄〃 + patientuserList: [], //閫夋嫨鎮h�呭垪琛� + sonuserList: [], //閫変腑鎮h�呭垪琛� + delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 + indexAssortlist: [], + + variableList: [ + { + name: "濮撳悕", + value: "${name}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + { + name: "鍦板潃", + value: "${dzz}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + { + name: "鐢佃瘽", + value: "${dhh}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + ], //鍙橀噺鍒楄〃 + transitionList: [ + { + name: "濮撳悕", + value: "${name}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + { + name: "鍦板潃", + value: "${dzz}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + { + name: "鐢佃瘽", + value: "${dhh}", + fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", + default: true, + }, + ], + variableListTime: [], + tasktopic: null, //鏂板绫诲瀷 + SelectPatientslist: [], + form: { + patTaskRelevances: [], + sendType: 1, + templatename: "", + templateid: null, + libtemplateid: null, + }, + taskoptions: [ + { + value: "1", + label: "鍑洪櫌鐥呬汉", + }, + { + value: "2", + label: "闂ㄨ瘖鐥呬汉", + }, + { + value: "3", + label: "浣撴鐥呬汉", + }, + ], + 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(); + this.Acquisitiontype(); + this.Getdetails(); + }, + + methods: { + // { + // 濮撳悕: { "${name}": "榫欏偛澶�" }, + // 鍦板潃: { "${dzz}": "榫欏" }, + // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, + // } + // 鍙橀噺杞崲瀵硅薄杞暟缁� + convertFormat1ToFormat2(data) { + let result = []; + for (let key in data) { + let innerKey = Object.keys(data[key])[0]; + result.push({ + name: key, + value: innerKey, + fill: data[key][innerKey], + }); + } + return result; + }, + // 鏁扮粍杞璞� + convertFormat2ToFormat1(data) { + let result = {}; + data.forEach((item) => { + let innerObj = {}; + innerObj[item.value] = item.fill; + result[item.name] = innerObj; + }); + return result; + }, + // 鑾峰彇褰撳墠绫诲瀷 + Acquisitiontype() { + let queryParams = { + pageNum: this.topqueryParams.pageNum, + pageSize: this.topqueryParams.pageSize, + isavailable: "", + }; + this.currenttype = this.$route.query.type; + // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁� + this.title = "闅忚鍐呭鍒楄〃"; + this.tableLabel = this.tableLabelmz; + if (this.form.serviceType == 2 || this.form.serviceType == 3) { + this.checkboxlist = [ + { + value: "1", + label: "浜哄伐", + }, + { + value: "3", + label: "鐢佃瘽", + }, + { + value: "4", + label: "鐭俊", + }, + { + value: "5", + label: "寰俊鍏紬鍙�", + }, + { + value: "6", + label: "寰俊灏忕▼搴�", + }, + + { + value: "8", + label: "鏅鸿兘鏈哄櫒浜�", + }, + ]; + } else if (this.form.serviceType == 5) { + this.checkboxlist = [ + { + value: "3", + label: "鐢佃瘽", + }, + { + value: "4", + label: "鐭俊", + }, + { + value: "5", + label: "寰俊鍏紬鍙�", + }, + { + value: "6", + label: "寰俊灏忕▼搴�", + }, + + { + value: "8", + label: "鏅鸿兘鏈哄櫒浜�", + }, + ]; + } + + getFollowuplist(queryParams).then((response) => { + this.userList = response.rows; + this.total = response.total; + }); + }, + + nextstep() { + if (this.Editprogress <= 3) { + return this.Editprogress++; + } + }, + // 淇濆瓨 + submitForm(formName) { + this.form.preachform = this.checkList.join(","); + // this.formatFn(1); + if (!this.form.patTaskRelevances[0]) { + this.$modal.msgError("璇烽�夋嫨鐥呬汉"); + return; + } + const filteredArray = this.variableList.filter( + (item) => + item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃" + ); + console.log(filteredArray, "瀛樺墠鍙橀噺"); + this.form.textParam = this.convertFormat2ToFormat1(filteredArray); + if (this.form.taskid) { + this.form.isoperation = 2; + } else { + this.form.isoperation = 1; + } + this.form.serviceType=this.serviceType; + Editsingletask(this.form).then((res) => { + if (res.code == 200) { + if (this.form.taskid) { + this.$modal.msgSuccess("鏂板鎴愬姛"); + } else { + this.$modal.msgSuccess("淇敼鎴愬姛"); + } + this.$router.push({ + path: "/followvisit/tasklist", + query: { tasktopic: this.form.serviceType }, + }); + } + }); + }, + // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� + // 纭閫夋嫨妯℃澘鏀惧叆浠诲姟妯℃澘 + selectfn(row, type) { + // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� + console.log(row, "閫夋嫨妯℃澘"); + this.libName = row.templateName; + this.libId = row.id; + getvFollowup({ id: row.id }).then((res) => { + if (res.code == 200) { + this.Tasktemplate = res.data; + const data = res.data; + this.questionList = data.ivrLibaTemplateScriptVOList; + this.previewtf = true; + this.previewid = data.id; + console.log(this.questionList, "questionList"); + this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1); + } + }); + }, + // 澶勭悊闂灞傚彉閲� + Variablehandling(arr, type) { + let Variablist = []; + this.variableList = []; //鍙橀噺鍒楄〃 + if (type == 1) { + console.log(arr); + // 寰幆闂 + arr.forEach((res) => { + console.log(JSON.parse(res.otherdata), "ss"); + // 寰幆閫夐」 + JSON.parse(res.otherdata).forEach((item) => { + if (item.default != 1) { + Variablist.push({ + value: item.variate, + fill: "", + name: item.variatename, + }); + } + }); + }); + const Aarr = Variablist.filter( + (obj, index, self) => + index === + self.findIndex((t) => t.name === obj.name && t.value === obj.value) + ); + this.variableList = this.transitionList.concat(Aarr); + console.log(this.variableList, "variableList"); + // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); + } + }, + // 瀛愪换鍔′簩绾у脊妗� + handleAddpatient(row) { + console.log(this.overallCase, "ssaaa"); + this.allpids = []; + this.overallCase.forEach((item) => { + this.allpids.push(item.patid); + }); + if (this.patientqueryParams.allhosp == 1) { + this.tableLabelhz = [ + { label: "鎮h�呭悕绉�", width: "", prop: "name" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { label: "涓讳换鍖诲笀", width: "", prop: "drname" }, + { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, + { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" }, + { label: "鍒涘缓浜�", width: "", prop: "createBy" }, + ]; + } else if (this.patientqueryParams.allhosp == 2) { + this.tableLabelhz = [ + { label: "鎮h�呭悕绉�", width: "", prop: "name" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { label: "璇婃柇", width: "", prop: "diagname" }, + { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, + { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" }, + { label: "鍒涘缓浜�", width: "", prop: "createBy" }, + ]; + } + if (this.allpids[0]) { + this.patientqueryParams.pids = this.allpids; + console.log(this.patientqueryParams.pids); + } else { + this.patientqueryParams.pids = null; + } + + getTaskpatient( + this.addDateRange(this.patientqueryParams, this.dateRange) + ).then((response) => { + this.patientuserList = response.rows; + this.patienttotal = response.total; + this.loading = false; + this.Restorecheck(); + }); + this.dialogVisiblepatient = true; + }, + handleUpdate() {}, + handleDelete() {}, + handleExport() {}, + // 閫変腑鎮h�呰〃 + handlePitchionChange() {}, + // 閫夋嫨鎮h�呰〃鏁版嵁 + handleSelectionChange(selection) { + console.log("澶氶�夋偅鑰�"); + this.SelectPatientslist = selection; + this.multiple = !selection.length; + + // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 + this.SelectPatientslist.forEach((item) => { + const isExist = this.overallCase.find((obj) => obj.name == item.name); + if (!isExist) { + console.log(this.patientqueryParams.allhosp, "allhosp"); + item.isoperation = 1; + item.patid = item.id; + item.hospType = this.patientqueryParams.allhosp; + this.overallCase.push(item); + this.form.patTaskRelevances.push(item); + console.log(this.overallCase, "this.overallCase"); + } + }); + }, + // 鍒囨崲椤靛悗鎭㈠閫変腑 + Restorecheck() { + console.log(this.overallCase, "this.overallCase"); + const allid = this.overallCase.map((item) => item.id); + const overlap = this.patientuserList.filter((value) => { + return allid.includes(value.id); + }); + console.log(overlap, "overlap"); + + // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� + this.SelectPatientslist = overlap; + console.log(this.SelectPatientslist, "杩涘叆鍒嗛〉SelectPatientslist"); + + this.toggleSelection(overlap); + }, + // 鎸傝浇閫夋嫨鐘舵�� + toggleSelection(rows) { + if (rows) { + this.decision = true; + this.$nextTick(() => { + rows.forEach((row) => { + this.$refs.multipleTable.toggleRowSelection(row, true); + }); + this.decision = false; + }); + console.log(123); + } else { + this.$refs.multipleTable.clearSelection(); + } + }, + // 鍒犻櫎閫変腑鎮h�� + detailhz(row, info) { + this.$modal + .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�') + .then(() => { + let indexa = this.overallCase.indexOf(row); + let indexb = this.form.patTaskRelevances.indexOf(row); + this.overallCase.splice(indexa, 1); + this.form.patTaskRelevances[indexb].isoperation = 3; + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }); + }, + getList() {}, + handleQuery() { + this.handleAddpatient(); + }, + resetQuery() { + this.dateRange = []; + // 鏌ヨ鍙傛暟 + this.queryParams = { + pageNum: 1, + pageSize: 10, + userName: undefined, + phonenumber: undefined, + status: undefined, + deptId: undefined, + }; + }, + handleClosehz() { + this.dialogVisiblepatient = false; + }, + // 涓婁竴姝� + laststep() { + this.Editprogress--; + }, + // 鎻愪氦琛ㄥ崟 + resetForm(formName) { + this.$refs[formName].resetFields(); + }, + // 棰勮妯℃澘 + PreviewTemplate() {}, + Acknowledgereference() { + this.quote = true; + }, + // 鑾峰彇璇︽儏 + Getdetails() { + if (this.id) { + getTaskInfo({ taskid: this.id }).then((res) => { + let filteredArray = ""; + 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"); + this.daytime = this.form.showDate.split(","); + this.changeTimeday(this.daytime); + if (this.form.showTimeMorn) { + if (this.form.sendType == 3) { + this.time4 = this.form.showTimeMorn; + } else { + this.time1 = this.form.showTimeMorn.split(","); + } + } + 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); + } + }); + } + getFollowupclassify({}).then((res) => { + this.indexAssortlist = res.rows; + }); + }, + // 鑾峰彇绉戝鍒楄〃 + listDept() { + listDept().then((res) => { + this.topicoptions = this.handleTree(res.data, "deptId"); + console.log(this.topicoptions, "topicoptions"); + }); + }, + // 鏂板娲鹃�佹偅鑰� + AddDispatchpatients() { + // this.SelectPatientslist.forEach((item) => { + // item.isoperation = 1; + // }); + // this.form.patTaskRelevances.push(...this.SelectPatientslist); + // this.overallCase.push(...this.SelectPatientslist); + this.dialogVisiblepatient = false; + }, + + variableDelete(index, row) { + 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) { + console.log(row, "鏃ユ湡"); + const startDate = new Date(row[0]); + const endDate = new Date(row[1]); + this.applydaytime = this.getDates(startDate, endDate); + if (!top) { + this.processingTime(); + } + }, + getDates(startDate, endDate) { + const dates = []; + let currentDate = new Date(startDate); + + while (currentDate <= endDate) { + dates.push(this.$moment(currentDate).format("YYYY-MM-DD")); + currentDate.setDate(currentDate.getDate() + 1); + } + + return dates; + }, + // 鏃堕棿鏈�缁堝鐞嗘柟娉� + processingTime() { + const combinedData = []; + let serialnumber = 1; + if (this.time3[0]) { + serialnumber = 3; + } else if (this.time2[0]) { + serialnumber = 2; + } else if (this.time1[0]) { + serialnumber = 1; + } else { + return; + } + + for (let i = 0; i < this.applydaytime.length; i++) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time1[0]}`, + endtime: `${this.applydaytime[i]} ${this.time1[1]}`, + xh: serialnumber * i + 1, + }); + if (serialnumber >= 2) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time2[0]}`, + endtime: `${this.applydaytime[i]} ${this.time2[1]}`, + xh: serialnumber * i + 2, + }); + } + if (serialnumber >= 3) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time3[0]}`, + endtime: `${this.applydaytime[i]} ${this.time3[1]}`, + xh: serialnumber * i + 3, + }); + } + } + this.form.sendTimeslot = combinedData; + // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄 + console.log(this.daytime); + + this.form.showDate = this.daytime.join(","); + if (this.time1) this.form.showTimeMorn = this.time1.join(","); + if (this.time2) this.form.showTimeNoon = this.time2.join(","); + if (this.time3) this.form.showTimeNight = this.time3.join(","); + console.log(combinedData, "combinedData"); + }, + // 鏌ョ湅妯℃澘 + previewGo() { + this.$router.push({ + path: "/knowledge/tpuconfigurat/", + query: { id: this.previewid, task: true, data: this.form }, + }); + }, + previewFn() { + let id = this.Tasktemplate.id; + this.Tasktemplate.id = null; + this.Tasktemplate.ivrLibaTemplateScriptVOList.forEach((item) => { + item.ivrTaskScriptTargetoptionList = item.ivrLibaScriptTargetoptionList; + }); + console.log(this.Tasktemplate.ivrLibaTemplateScriptVOList); + + this.Tasktemplate.ivrTaskTemplateScriptVOList = + this.Tasktemplate.ivrLibaTemplateScriptVOList; + this.Tasktemplate.ivrLibaTemplateTagList = null; + this.Tasktemplate.tempDetpRelevances = null; + this.Tasktemplate.libtemplateid = id; + this.Tasktemplate.isoperation = 1; + this.Tasktemplate.libtemplatename = this.Tasktemplate.templatename; + console.log(this.libName, this.libId); + + TaskTemplatecomit(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; + console.log(this.form.templatename, "ss"); + this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛", this.form.templatename); + }); + }, + // 澶勭悊鏈嶅姟褰㈠紡 + 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); + } + }); + }); + this.form.preachform = list.join(","); + } 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; + } + }, + }, +}; +</script> + +<style lang="scss" scoped> +.Questionnairemanagement { +} +.leftvlue-jbxx { + margin-top: 10px; +} +.sidecolumn { + width: 100%; + // min-height: 12vh; + margin: 20px; + margin-bottom: 0; + padding: 30px; + background: #edf1f7; + 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); +} +.leftvlue { + // display: flex; + // flex: 1; + width: 100%; + margin-top: 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); +} +.examine-jic { + margin: 20px; + .headline { + font-size: 24px; + border-left: 5px solid #41a1be; + padding-left: 5px; + margin-bottom: 10px; + display: flex; + justify-content: space-between; + .Add-details { + font-size: 18px; + color: #02a7f0; + cursor: pointer; + } + } + .jic-value { + font-size: 20px; + border-top: 1px solid #a7abac; + padding: 10px; + margin-bottom: 10px; + .details-jic { + padding: 10px 15px; + 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); + .details-title { + display: flex; + justify-content: space-between; + margin-bottom: 10px; + div:nth-child(2) { + color: #02a7f0; + cursor: pointer; + } + } + .details-renw { + background: #e4ebfc; + padding: 15px 5px; + border-radius: 5px; + margin-bottom: 20px; + } + } + } +} +// .leftvlue-jbxx { +// margin-bottom: 50px; +// font-size: 20px; +// span { +// position: absolute; +// right: 80px; +// } +// .demo-cascader { +// margin-right: 20px; +// } +// .PreviewTemplate { +// color: #02a7f0; +// cursor: pointer; +// font-size: 20px; +// margin: 0 20px; +// } +// } +.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); + .scriptTopic-dev { + margin-bottom: 25px; + font-size: 20px !important; + .dev-text { + margin-bottom: 10px; + } + } +} +.jic-value { + font-size: 20px; + border-top: 1px solid #a7abac; + padding: 10px; + margin-bottom: 10px; + .details-jic { + padding: 10px 15px; + 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); + .details-title { + display: flex; + justify-content: space-between; + margin-bottom: 10px; + div:nth-child(2) { + color: #02a7f0; + cursor: pointer; + } + } + .details-renw { + background: #e4ebfc; + padding: 15px 5px; + border-radius: 5px; + margin-bottom: 20px; + } + } +} +::v-deep .addtopic-input { + input { + background: #02a7f0; + color: #edf1f7; + width: 150px; + } +} +::v-deep.el-step.is-vertical .el-step__title { + font-size: 25px; +} +::v-deep.el-row { + margin-bottom: 10px; +} +// ::v-deep.el-input--medium { +// font-size: 24px !important; +// } +::v-deep.ruleFormaa.el-select { + display: inline-block; + position: relative; + width: 700px; +} +.el-select__tags { + font-size: 20px; + max-width: 888px !important; +} +::v-deep.el-radio__inner { + width: 22px; + height: 22px; +} +// ::v-deep.scriptTopic-dev.el-radio__label { +// font-size: 24px; +// } +::v-deep.el-radio-group { + span { + font-size: 24px; + } +} +::v-deep.el-input.is-disabled .el-input__inner { + background-color: #f5f7fa; + border-color: #dfe4ed; + color: rgb(253, 66, 66); + cursor: not-allowed; +} +::v-deep.el-checkbox-group { + span { + font-size: 24px; + } +} +</style> diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index e10301d..1c97145 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -30,50 +30,78 @@ <div>鍩虹淇℃伅</div> </div> <div class="jic-value"> - <el-form ref="form" :model="form" label-width="105px"> + <el-form + ref="form" + :model="form" + :rules="rules" + label-width="125px" + > <el-row :gutter="20"> <el-col :span="12" - ><el-form-item label="浠诲姟鍚嶇О"> + ><el-form-item label="浠诲姟鍚嶇О" prop="taskName"> <el-input style="width: 220px" v-model="form.taskName" 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 :span="12" + ><el-form-item label="浠诲姟绫诲瀷"> + <el-select + v-model="serviceType" + placeholder="璇烽�夋嫨鏂板绫诲瀷" + > + <el-option + v-for="item in tasktypes" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </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-form-item label="浠诲姟鎻忚堪" prop="taskDesc"> <el-input type="textarea" v-model="form.taskDesc" placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" /> </el-form-item> - <el-form-item label="鍙戦�佽缃細"> - <el-radio-group v-model="form.sendType"> - <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio> - <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio> - <el-radio :label="2">鍗冲埢鍙戦��</el-radio> + <el-form-item label="鏈嶅姟褰㈠紡"> + <el-checkbox-group v-model="checkList"> + <el-checkbox + v-for="(item, index) in checkboxlist" + :key="index" + :label="item.value" + > + {{ item.label }}</el-checkbox + > + </el-checkbox-group> + </el-form-item> + <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-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1"> + <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-radio :label="2">鍗冲埢鎵ц</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item + label="鎵ц鏃ユ湡" + v-if="form.sendType == 1 && !form.longTask" + prop="daytime" + > <el-date-picker v-model="daytime" @change="changeTimeday" @@ -86,7 +114,11 @@ </el-date-picker> </el-form-item> - <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3"> + <el-form-item + label="鎵ц鏃堕棿鐐�" + v-if="form.sendType == 3 && !form.longTask" + prop="daytime" + > <div style="display: flex"> <div style="margin-right: 10px"> <el-date-picker @@ -101,12 +133,14 @@ </div> </el-form-item> - <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1"> + <el-form-item + label="鎵ц鏃堕棿娈�" + v-if="form.sendType == 1 && !form.longTask" + prop="daytime" + > <div style="display: flex"> <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px" - >鏃堕棿娈典竴</span - > + <span style="font-size: 18px; margin-right: 10px">鈶�</span> <el-time-picker is-range arrow-control @@ -121,9 +155,7 @@ </el-time-picker> </div> <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px" - >鏃堕棿娈典簩</span - > + <span style="font-size: 18px; margin-right: 10px">鈶�</span> <el-time-picker is-range arrow-control @@ -138,9 +170,7 @@ </el-time-picker> </div> <div style="margin-right: 10px"> - <span style="font-size: 18px; margin-right: 10px" - >鏃堕棿娈典笁</span - > + <span style="font-size: 18px; margin-right: 10px">鈶�</span> <el-time-picker is-range arrow-control @@ -156,26 +186,122 @@ </div> </div> </el-form-item> - <el-form-item label="鏈嶅姟褰㈠紡"> - <el-checkbox-group v-model="checkList"> - <el-checkbox - v-for="(item, index) in checkboxlist" - :key="index" - :label="item.value" + <el-row> + <el-col :span="20" + ><el-form-item label="閫傜敤绉戝" prop="region"> + <el-select + v-model="form.deptcode" + style="width: 400px" + size="medium" + 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-cascader + style="width: 400px" + v-model="form.leavehospitaldistrictcode" + :options="topicoptions" + :props="propstask" + :show-all-levels="false" + clearable > - {{ item.label }}</el-checkbox - > - </el-checkbox-group> - </el-form-item> + <template slot-scope="{ node, data }"> + <span>{{ data.deptName }}</span> + <span v-if="!node.isLeaf"> + ({{ data.children.length }}) + </span> + </template> + </el-cascader> --> + <el-select + v-model="form.leavehospitaldistrictcode" + style="width: 400px" + size="medium" + 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> <div class="examine-jic"> <div class="headline"> - <div>鍙橀噺鍖归厤閲忓弬</div> + <div>浠诲姟浣跨敤妯℃澘</div> + <div style="margin-left: 20px"> + <el-form ref="forms"> + <el-form-item label=""> + <el-input + style="width: 300px" + :disabled="true" + v-model="form.templatename" + placeholder="璇风偣鍑诲彸渚ч�夋嫨" + /> + <el-button + style="margin-left: 10px" + type="primary" + icon="el-icon-edit" + @click="drawermb = true" + circle + ></el-button> + + <el-button + v-if="form.templatename" + type="success" + icon="el-icon-search" + @click="previewfnmb" + circle + ></el-button> + </el-form-item> + </el-form> + </div> </div> + <div class="examine-jic"> <div class="jic-value"> + <div style="margin-bottom: 10px">妯℃澘涓娇鐢ㄧ殑鍙橀噺锛�</div> + <el-row :gutter="20"> <el-table :data="variableList" style="width: 100%"> <el-table-column @@ -221,10 +347,9 @@ }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> - <!-- 浠诲姟璇︽儏 --> <div v-if="Editprogress == 2"> - <el-alert title="鍦ㄦ湰闃舵閫夋嫨闅忚鐥呬汉" type="success" effect="dark"> + <el-alert title="鍦ㄦ湰闃舵閫夋嫨瀹f暀鐥呬汉" type="success" effect="dark"> </el-alert> <div class="leftvlue-jbxx"> <div class="examine-jic"> @@ -234,8 +359,6 @@ <div class="examine-jic"> <div class="jic-value"> <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-select @@ -251,6 +374,7 @@ </el-option> </el-select> </el-col> + <el-col :span="1.5"> <el-button type="primary" @@ -258,12 +382,12 @@ 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 @@ -273,7 +397,7 @@ @click="handleDelete" >鍒犻櫎</el-button > - </el-col> + </el-col> --> <!-- <el-col :span="1.5"> </el-col> --> </el-row> @@ -282,7 +406,7 @@ @details="detailhz" @handleUpdate="handleUpdate" :currentList="overallCase" - :tableLabel="tableLabelhz" + :tableLabel="tableLabelhzwb" :serialnumber="false" :searchTrue="true" :multiplechoice="false" @@ -328,23 +452,24 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="鎮h�呭悕绉帮細"> + <el-form-item label="鎮h�咃細"> <el-input v-model="patientqueryParams.name" @keyup.enter.native="handleQuery" ></el-input> </el-form-item> - <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker - v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd" - type="daterange" - range-separator="-" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - ></el-date-picker> - </el-form-item> + <el-select + v-model="patientqueryParams.searchscope" + placeholder="璇烽�夋嫨鎮h�呰寖鍥�" + > + <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 @@ -358,7 +483,7 @@ icon="el-icon-refresh" size="medium" @click="resetQuery" - >閲嶇疆</el-button + >鍙栨秷鍒涘缓</el-button > </el-form-item> </el-form> @@ -390,41 +515,270 @@ > </span> </el-dialog> - <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%"> - <div class="preview-left"> - <!-- 鍗曢�� --> - <div - class="scriptTopic-dev" - v-for="(item, index) in questionList" - :key="item.aaa" - > - <div class="dev-text"> - {{ index + 1 }}銆�<span>{{ item.scriptContent }}</span> - </div> + <!-- 妯℃澘棰勮 --> + <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="assortid"> + <el-select + v-model="objyl.assortid" + size="medium" + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option-group + v-for="group in optionsclass" + :key="group.id" + :label="group.indexAssortName" + > + <el-option + v-for="item in group.ivrLibaTemplateAssortList" + :key="item.id" + :label="item.indexAssortName" + :value="item.id" + > + </el-option> + </el-option-group> + </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.usestate"> + <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="templateName"> + <div style="width: 400px"> + <el-input v-model="objyl.templateName"></el-input> + </div> + </el-form-item> + <el-form-item label="闅忚鏂瑰紡" prop="suitway"> + <el-select + style="width: 400px" + v-model="objyl.suitway" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option + class="ruleFormaa" + v-for="item in mode" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-row :gutter="20" v-if="form.longTask"> + <el-col :span="14"> + <el-form-item label="闀挎湡浠诲姟" prop="longTemp"> + <el-radio-group v-model="objyl.longTemp"> + <el-radio + v-for="(item, index) in longtype" + :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.sendDay" + placeholder="榛樿5澶╁悗" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20" + ><el-form-item label="閫傜敤绉戝" prop="region"> + <el-select + style="width: 400px" + v-model="tempDetpRelevanceslist" + 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="tempbelongWards" + style="width: 400px" + 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> - <div class="dev-xx" v-if="item.valueType == 1"> - <el-radio-group v-model="item.radio"> - <el-radio - v-for="(items, index) in item.ivrLibaScriptTargetoptionList" - :key="items.id" - :label="items.id" - >{{ items.targetvalue }} - </el-radio> - </el-radio-group> - </div> - <div v-else> - <el-input - type="textarea" - placeholder="鏈幏鍙栧埌淇℃伅" - v-model.sync="item.scriptResult" - :rows="2" - /> - </div> - </div> - </div> + <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" + > + <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.ivrLibaScriptTargetoptionList" + :key="index" + :label="index" + >{{ items.targetvalue }}</el-radio + > + </el-radio-group> + </div> + </div> + <!-- 澶氶�� --> + <div + class="scriptTopic-dev" + :key="item.sort" + 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="qremark"> + <el-checkbox + v-for="( + items, index + ) in item.ivrLibaScriptTargetoptionList" + :key="index" + :label="index" + > + {{ items.targetvalue }} + </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 @@ -450,46 +804,23 @@ <el-form-item label="闅忚鍚嶇О"> <el-input v-model="topqueryParams.templateName"></el-input> </el-form-item> - - <el-form-item label="閫傜敤绉戝" prop="status"> - <el-select v-model="topqueryParams.topicd" placeholder="璇烽�夋嫨"> + <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status"> + <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨"> <el-option - v-for="item in topicoptions" + v-for="item in taskoptions" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select> - </el-form-item> - <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region"> - <el-select - v-model="topqueryParams.assortid" - size="medium" - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option-group - v-for="group in indexAssortlist" - :key="group.id" - :label="group.indexAssortName" - > - <el-option - v-for="item in group.ivrLibaTemplateAssortList" - :key="item.id" - :label="item.indexAssortName" - :value="item.id" - > - </el-option> - </el-option-group> - </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 @@ -506,6 +837,7 @@ @selectfn="selectfn" :currentList="userList" :tableLabel="tableLabel" + :serialnumber="false" :controlsc="false" :multiplechoice="false" :typeinfo="1" @@ -531,37 +863,37 @@ getTaskpatient, getlibrarylist, getFollowuplist, - getQtemplatelist, - TaskTemplatecomit, - getTaskInfo, - gethetaskinfo, - delhetaskinfo, - Editsingletask, getvFollowup, + Taskparticty, + deleteTaskparticty, + getTaskInfo, + getTaskparticty, + depthospgetson, + getillness, + Editsingletask, getFollowupclassify, + depthospgetsonlist, } from "@/api/AiCentre/index"; -import { listDept } from "@/api/system/dept"; import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 export default { - name: "serviceDetailsa", + name: "ServiceDetails", data() { - const endDate = new Date(); - const startDate = new Date(); - startDate.setDate(endDate.getDate() - 7); // 璁剧疆寮�濮嬫棩鏈熶负褰撳墠鏃ユ湡鍓�7澶� return { - title: "闅忚鍐呭鍒楄〃", - currenttype: 1, //1闅忚2闂嵎3閫氱煡瀹f暀 + title: "瀹f暀鍐呭鍒楄〃", + currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闅忚 id: "", // previewid: "", //浠诲姟妯℃澘浼犻�抜d libName: "", + objyl: {}, overallCase: [], //閫夋嫨鎮h�呮�� - // 鏃ユ湡鑼冨洿 - dateRange: [startDate, endDate], allpids: [], + appraiselist: [], + optionsclass: [], + illnesslist: [], + mode: [], libId: null, //妯℃澘搴撴ā鏉縤d - nhh: null, //鏄惁渚濈収鏂板 Editprogress: 1, //缂栬緫杩涘害 drawermb: false, //閫夋嫨妯℃澘寮圭獥 previewtf: false, //棰勮 @@ -572,32 +904,66 @@ 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" }, // 鎮h�呰〃鍗� tableLabelhz: [ - { label: "鎮h�呭悕绉�", width: "", prop: "name" }, + { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" }, + { label: "鎮h��", width: "", prop: "name" }, + { label: "韬唤璇�", width: "200", prop: "idcardno" }, { label: "鎬у埆", width: "", prop: "sex" }, { label: "骞撮緞", width: "", prop: "age" }, - { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, - { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "birthdate" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" }, + { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, + { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, + { label: "绉戝", width: "240", prop: "dept" }, + { label: "鐥呭尯", width: "240", prop: "leavehospitaldistrictname" }, + ], + // 鎮h�呰〃鍗� + tableLabelhzwb: [ + { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, + { label: "鎮h��", width: "", prop: "name" }, + { label: "韬唤璇�", width: "200", prop: "sfzh" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, + { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, + { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, + { label: "绉戝", width: "180", prop: "deptName" }, + { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, ], - tableLabelmz: [ - { label: "闅忚鍚嶇О", width: "", prop: "templateName" }, - { label: "涓昏鍐呭", width: "", prop: "note" }, + tableLabelwj: [ + { label: "妯℃澘鏍囬", width: "", prop: "templateName" }, + { label: "闅忚鎻忚堪", width: "", prop: "note" }, { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" }, - { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "updateBy" }, + { label: "鍒涘缓浜�", width: "", prop: "createBy" }, ], - - // 鏈嶅姟褰㈠紡 + // 鍙橀噺 + tableLabelvariable: [ + { label: "鍙橀噺鍚嶇О", width: "", prop: "variablename" }, + { label: "鍖归厤绗�", width: "", prop: "character" }, + { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, + ], preachform: [ - { label: "绾夸笅", value: 1 }, - { label: "鐢佃瘽", value: 2 }, - { label: "灏忕▼搴�", value: 3 }, + { label: "澶氬獟浣�", value: 1 }, + { label: "绾歌川", value: 2 }, + { label: "鐢佃瘽", value: 3 }, { label: "鐭俊", value: 4 }, - { label: "寰俊鍏紬", value: 5 }, - { label: "閽夐拤", value: 6 }, - { label: "鏅鸿兘鏈哄櫒浜�", value: 7 }, + { label: "寰俊鍏紬鍙�", value: 5 }, + { label: "寰俊灏忕▼搴�", value: 6 }, + { label: "鏀粯瀹�", value: 7 }, + { label: "鏅鸿兘灏忕▼搴�", value: 8 }, + { label: "閽夐拤", value: 9 }, + { label: "绾夸笅锛堢焊璐級", value: 10 }, + { label: "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�侀殢璁块摼鎺ワ級", value: 11 }, ], // 鏃堕棿澶勭悊 daytime: [], //鏃ユ湡 @@ -618,6 +984,7 @@ patientqueryParams: { pageNum: 1, // pageSize: 10, + topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯 }, topicoptions: [{ children: [{ children: [] }] }], showSearch: true, // @@ -632,11 +999,14 @@ multiple: true, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: [], //妯℃澘鍒楄〃 + multiplechoice: [], //澶氶�夌粨鏋� patientuserList: [], //閫夋嫨鎮h�呭垪琛� sonuserList: [], //閫変腑鎮h�呭垪琛� delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 - indexAssortlist: [], - + longtype: [ + { value: 0, label: "鏅�氫换鍔�" }, + { value: 1, label: "闀挎湡浠诲姟" }, + ], variableList: [ { name: "濮撳悕", @@ -683,14 +1053,21 @@ form: { patTaskRelevances: [], sendType: 1, + longTask: 0, templatename: "", templateid: null, libtemplateid: null, + kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�", + jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", }, taskoptions: [ { value: "1", label: "鍑洪櫌鐥呬汉", + }, + { + value: "4", + label: "鍦ㄩ櫌鐥呬汉", }, { value: "2", @@ -701,22 +1078,111 @@ label: "浣撴鐥呬汉", }, ], - quote: false, - serviceType:null, + source: [ + { + value: 0, + label: "鎵�灞炴偅鑰�", + }, + { + value: 1, + label: "绉戝鎮h��", + }, + { + value: 2, + label: "鐥呭尯鎮h��", + }, + ], + tasktypes: [ + { + value: 1, + label: "鐩戞祴璇勪及", + }, + { + value: 2, + label: "鍑洪櫌闅忚", + }, + { + value: 3, + label: "闂ㄨ瘖闅忚", + }, + { + value: 4, + label: "瀹f暀鍏虫��", + }, + { + value: 5, + label: "澶嶈瘖绠$悊", + }, + { + value: 6, + label: "婊℃剰搴﹁皟鏌�", + }, + { + value: 7, + label: "鎮h�呮姤鍛�", + }, + + { + value: 8, + label: "鍏朵粬閫氱煡", + }, + ], + // 绉戝/鐥呭尯 + belongWards: [], + belongWards: [], + deptlist: [], + hosplist: [], + tempDetpRelevanceslist: [], //绉戝鏁版嵁 + tempDetpRelevanceslistform: [], //绉戝鏁版嵁 + tempbelongWards: [], //鐥呭尯鏁版嵁 + tempbelongWardsform: [], //鐥呭尯鏁版嵁 + rules: { + taskName: [ + { required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, + { + min: 2, + max: 30, + message: "浠诲姟鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 30 涔嬮棿", + trigger: "blur", + }, + ], + sendType: [ + { required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" }, + ], + }, + // 绉戝闄㈠尯鏌ヨ鍏ュ弬 + queryParamsdept: { + tempid: "", + type: 11, + }, + 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.form.nhh = this.$route.query.nhh; - this.listDept(); this.Acquisitiontype(); this.Getdetails(); + this.getFollowupclassify(); + }, + activated() { + if (this.id != this.$route.query.id) { + this.Acquisitiontype(); + this.Getdetails(); + this.getFollowupclassify(); + } }, methods: { @@ -753,13 +1219,79 @@ let queryParams = { pageNum: this.topqueryParams.pageNum, pageSize: this.topqueryParams.pageSize, - isavailable: "", + isenable: "", }; this.currenttype = this.$route.query.type; - // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁� this.title = "闅忚鍐呭鍒楄〃"; - this.tableLabel = this.tableLabelmz; - if (this.form.serviceType == 2 || this.form.serviceType == 3) { + this.tableLabel = this.tableLabelwj; + if (this.form.serviceType == 1) { + this.checkboxlist = [ + { + value: "1", + label: "浜哄伐", + }, + + { + value: "2", + label: "绾歌川", + }, + { + value: "5", + label: "寰俊鍏紬鍙�", + }, + ]; + } else if (this.form.serviceType == 6) { + this.checkboxlist = [ + { + value: "3", + label: "鐢佃瘽", + }, + { + value: "4", + label: "鐭俊", + }, + { + value: "5", + label: "寰俊鍏紬鍙�", + }, + { + value: "6", + label: "寰俊灏忕▼搴�", + }, + + { + value: "8", + label: "鏅鸿兘鏈哄櫒浜�", + }, + ]; + } else if (this.form.serviceType == 7 || this.form.serviceType == 5) { + this.checkboxlist = [ + { + value: "1", + label: "浜哄伐", + }, + { + value: "2", + label: "绾歌川", + }, + { + value: "3", + label: "鐢佃瘽", + }, + { + value: "4", + label: "鐭俊", + }, + { + value: "5", + label: "寰俊鍏紬鍙�", + }, + { + value: "6", + label: "寰俊灏忕▼搴�", + }, + ]; + } else if (this.form.serviceType == 2 || this.form.serviceType == 3) { this.checkboxlist = [ { value: "1", @@ -787,69 +1319,83 @@ label: "鏅鸿兘鏈哄櫒浜�", }, ]; - } else if (this.form.serviceType == 5) { - this.checkboxlist = [ - { - value: "3", - label: "鐢佃瘽", - }, - { - value: "4", - label: "鐭俊", - }, - { - value: "5", - label: "寰俊鍏紬鍙�", - }, - { - value: "6", - label: "寰俊灏忕▼搴�", - }, - - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, - ]; } - - getFollowuplist(queryParams).then((response) => { + getFollowuplist(this.topqueryParams).then((response) => { this.userList = response.rows; this.total = response.total; }); }, - nextstep() { - if (this.Editprogress <= 3) { - return this.Editprogress++; - } + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.Editprogress <= 3) { + return this.Editprogress++; + } + } else { + this.$modal.msgError("琛ㄥ崟鍐呭鏈畬鍠勶紝璇锋鏌�"); + } + }); }, // 淇濆瓨 submitForm(formName) { - this.form.preachform = this.checkList.join(","); - // this.formatFn(1); - if (!this.form.patTaskRelevances[0]) { + 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(","); + } else { + this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷"); + return; + } + if (!this.form.patTaskRelevances[0] && !this.form.longTask) { this.$modal.msgError("璇烽�夋嫨鐥呬汉"); return; + } + if (!this.form.templatename) { + this.$modal.msgError("鏈�夋嫨妯℃澘"); + return; + } + if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) { + } 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 !== "鍦板潃" ); - console.log(filteredArray, "瀛樺墠鍙橀噺"); this.form.textParam = this.convertFormat2ToFormat1(filteredArray); if (this.form.taskid) { this.form.isoperation = 2; } else { this.form.isoperation = 1; } - this.form.serviceType=this.serviceType; + if (!this.form.type) { + this.form.type = this.$route.query.type; + } + this.form.serviceType = this.serviceType; + this.form.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.form.leavehospitaldistrictcodes = store.getters.belongWards.map( + (obj) => obj.districtCode + ); Editsingletask(this.form).then((res) => { if (res.code == 200) { if (this.form.taskid) { - this.$modal.msgSuccess("鏂板鎴愬姛"); - } else { this.$modal.msgSuccess("淇敼鎴愬姛"); + } else { + this.puttaskid(res.data); + this.$modal.msgSuccess("鏂板鎴愬姛"); } this.$router.push({ path: "/followvisit/tasklist", @@ -858,34 +1404,95 @@ } }); }, - // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� - // 纭閫夋嫨妯℃澘鏀惧叆浠诲姟妯℃澘 - selectfn(row, type) { - // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� - console.log(row, "閫夋嫨妯℃澘"); - this.libName = row.templateName; - this.libId = row.id; - getvFollowup({ id: row.id }).then((res) => { + // 缁欎换鍔℃ā鏉胯祴鍊间换鍔d + puttaskid(data) { + getTaskparticty(this.form.templateid).then((res) => { if (res.code == 200) { - this.Tasktemplate = res.data; - const data = res.data; - this.questionList = data.ivrLibaTemplateScriptVOList; - this.previewtf = true; - this.previewid = data.id; - console.log(this.questionList, "questionList"); - this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1); + this.objyl = res.data; + this.objyl.isoperation = 2; + this.objyl.taskid = data.taskId; + Taskparticty(this.objyl).then((response) => { + this.previewtf = false; + this.form.libtemplateid = this.objyl.id; + this.form.templateid = response.data; + // this.putbelongDepts(response.data); + this.form.templatename = this.objyl.templateName; + this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); + }); } }); + }, + // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� + + // 閫夋嫨棰勮 + selectfn(row, type) { + // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� + if (type == 1) { + this.libName = row.templateName; + this.libId = row.id; + this.questionList = row.ivrLibaTemplateScriptVOList; + getvFollowup({ id: row.id }).then((res) => { + if (res.code == 200) { + this.objyl = res.data; + if (this.form.longTask) { + this.objyl.longTemp = 1; + } + this.queryParamsdept.type = 1; + this.queryParamsdept.tempid = row.id; + this.listDept(); + + this.objyl.suitway = this.objyl.suitway.split(","); + this.questionList = res.data.ivrLibaTemplateScriptVOList; + this.getillness(row.id); + console.log(res.data, "11"); + this.Variablehandling(res.data.ivrLibaTemplateScriptVOList, 1); + this.previewtf = true; + } + }); + this.previewid = row.id; + } else if (type == 2) { + } else if (type == 3) { + } + }, + // 棰勮 + previewfnmb() { + getTaskparticty(this.form.templateid).then((res) => { + if (res.code == 200) { + this.objyl = res.data; + if (this.objyl.suitway) + this.objyl.suitway = this.objyl.suitway.split(","); + this.queryParamsdept.tempid = this.form.templateid; + this.queryParamsdept.type = 11; + this.getillness(this.form.libtemplateid); + // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d + this.listDept(); + this.previewtf = true; + getvFollowup({ id: this.form.libtemplateid }).then((res) => { + if (res.code == 200) { + this.questionList = res.data.ivrLibaTemplateScriptVOList; + this.objyl.ivrLibaTemplateScriptVOList = + res.data.ivrLibaTemplateScriptVOList; + } + }); + } + }); + }, + 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) { let Variablist = []; - this.variableList = []; //鍙橀噺鍒楄〃 if (type == 1) { - console.log(arr); // 寰幆闂 arr.forEach((res) => { - console.log(JSON.parse(res.otherdata), "ss"); // 寰幆閫夐」 JSON.parse(res.otherdata).forEach((item) => { if (item.default != 1) { @@ -902,50 +1509,81 @@ index === self.findIndex((t) => t.name === obj.name && t.value === obj.value) ); + this.variableList = this.transitionList.concat(Aarr); - console.log(this.variableList, "variableList"); // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); } }, // 瀛愪换鍔′簩绾у脊妗� handleAddpatient(row) { - console.log(this.overallCase, "ssaaa"); this.allpids = []; this.overallCase.forEach((item) => { this.allpids.push(item.patid); }); if (this.patientqueryParams.allhosp == 1) { this.tableLabelhz = [ - { label: "鎮h�呭悕绉�", width: "", prop: "name" }, + // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" }, + { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, + { label: "鎮h��", 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: "", prop: "birthdate" }, - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, + { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, + { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, + { label: "鍖荤敓", width: "", prop: "drname" }, + { 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: "鎮h�呭悕绉�", width: "", prop: "name" }, + { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" }, + { label: "鎮h��", 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: "birthdate" }, - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, + { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, + { label: "璐d换鎶ゅ+", 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; + } + // 鏉ユ簮鍒ゆ柇 - getTaskpatient( - this.addDateRange(this.patientqueryParams, this.dateRange) - ).then((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); + } + getTaskpatient(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(); @@ -955,41 +1593,36 @@ handleUpdate() {}, handleDelete() {}, handleExport() {}, - // 閫変腑鎮h�呰〃 - handlePitchionChange() {}, // 閫夋嫨鎮h�呰〃鏁版嵁 handleSelectionChange(selection) { - console.log("澶氶�夋偅鑰�"); - this.SelectPatientslist = selection; + this.SelectPatientslist = structuredClone(selection); this.multiple = !selection.length; // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 this.SelectPatientslist.forEach((item) => { const isExist = this.overallCase.find((obj) => obj.name == item.name); if (!isExist) { - console.log(this.patientqueryParams.allhosp, "allhosp"); 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); - console.log(this.overallCase, "this.overallCase"); } }); }, // 鍒囨崲椤靛悗鎭㈠閫変腑 Restorecheck() { - console.log(this.overallCase, "this.overallCase"); - const allid = this.overallCase.map((item) => item.id); + const allid = this.overallCase.map((item) => item.patid); const overlap = this.patientuserList.filter((value) => { - return allid.includes(value.id); + return allid.includes(value.patid); }); - console.log(overlap, "overlap"); - // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� this.SelectPatientslist = overlap; - console.log(this.SelectPatientslist, "杩涘叆鍒嗛〉SelectPatientslist"); - this.toggleSelection(overlap); }, // 鎸傝浇閫夋嫨鐘舵�� @@ -1002,7 +1635,6 @@ }); this.decision = false; }); - console.log(123); } else { this.$refs.multipleTable.clearSelection(); } @@ -1021,19 +1653,26 @@ }, getList() {}, handleQuery() { + 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; + } this.handleAddpatient(); }, - resetQuery() { - this.dateRange = []; - // 鏌ヨ鍙傛暟 - this.queryParams = { - pageNum: 1, - pageSize: 10, - userName: undefined, - phonenumber: undefined, - status: undefined, - deptId: undefined, - }; + resetQuery() {}, + handleQuerymb() { + getFollowuplist(this.topqueryParams).then((response) => { + this.userList = response.rows; + this.total = response.total; + }); }, handleClosehz() { this.dialogVisiblepatient = false; @@ -1053,18 +1692,36 @@ }, // 鑾峰彇璇︽儏 Getdetails() { + this.form = { + patTaskRelevances: [], + sendType: 1, + templatename: "", + templateid: null, + libtemplateid: null, + kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闅忚銆�", + jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", + }; + + this.questionList = []; if (this.id) { getTaskInfo({ 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.serviceType = this.serviceType; + this.form.patTaskRelevances = this.form.patTaskRelevances + ? this.form.patTaskRelevances + : []; this.overallCase = this.form.patTaskRelevances.concat(); this.checkList = this.form.preachform.split(","); - console.log(this.form.showDate, "this.form"); - this.daytime = this.form.showDate.split(","); - this.changeTimeday(this.daytime); + + 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; @@ -1076,23 +1733,54 @@ 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(); + } }); } - getFollowupclassify({}).then((res) => { - this.indexAssortlist = res.rows; - }); + }, + // 渚濈収鏂板鏃跺鐞� + 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.tempDetpRelevanceslist = []; + this.tempbelongWards = []; + depthospgetsonlist(this.queryParamsdept).then((res) => { + if (res.code == 200) { + let arr = res.rows; + arr.forEach((item) => { + if (item.deptType == 1) { + this.deptlist.push(item); + this.tempDetpRelevanceslist.push(item.deptCode); + } else if (item.deptType == 2) { + this.hosplist.push(item); + this.tempbelongWards.push(item.deptCode); + } + }); + } + }); + }, + getFollowupclassify() { + getFollowupclassify({}).then((res) => { + this.optionsclass = res.rows; }); }, // 鏂板娲鹃�佹偅鑰� @@ -1109,27 +1797,20 @@ 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) { - console.log(row, "鏃ユ湡"); const startDate = new Date(row[0]); const endDate = new Date(row[1]); this.applydaytime = this.getDates(startDate, endDate); - if (!top) { - this.processingTime(); - } + this.processingTime(); }, getDates(startDate, endDate) { const dates = []; @@ -1179,52 +1860,71 @@ } this.form.sendTimeslot = combinedData; // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄 - console.log(this.daytime); this.form.showDate = this.daytime.join(","); if (this.time1) this.form.showTimeMorn = this.time1.join(","); if (this.time2) this.form.showTimeNoon = this.time2.join(","); if (this.time3) this.form.showTimeNight = this.time3.join(","); - console.log(combinedData, "combinedData"); }, - // 鏌ョ湅妯℃澘 - previewGo() { - this.$router.push({ - path: "/knowledge/tpuconfigurat/", - query: { id: this.previewid, task: true, data: this.form }, - }); - }, + + // 淇濆瓨/鏇存柊浠诲姟妯℃澘 previewFn() { - let id = this.Tasktemplate.id; - this.Tasktemplate.id = null; - this.Tasktemplate.ivrLibaTemplateScriptVOList.forEach((item) => { - item.ivrTaskScriptTargetoptionList = item.ivrLibaScriptTargetoptionList; + if (Array.isArray(this.objyl.suitway)) { + this.objyl.suitway = this.objyl.suitway.join(","); + } + this.objyl.ivrLibaTemplateScriptVOList.forEach((item) => { + item.svyTaskTemplateTargetoptions = item.ivrLibaScriptTargetoptionList; }); - console.log(this.Tasktemplate.ivrLibaTemplateScriptVOList); - - this.Tasktemplate.ivrTaskTemplateScriptVOList = - this.Tasktemplate.ivrLibaTemplateScriptVOList; - this.Tasktemplate.ivrLibaTemplateTagList = null; - this.Tasktemplate.tempDetpRelevances = null; - this.Tasktemplate.libtemplateid = id; - this.Tasktemplate.isoperation = 1; - this.Tasktemplate.libtemplatename = this.Tasktemplate.templatename; - console.log(this.libName, this.libId); - - TaskTemplatecomit(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; - console.log(this.form.templatename, "ss"); - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛", this.form.templatename); + this.objyl.svyTaskTemplateScriptVOS = + this.objyl.ivrLibaTemplateScriptVOList; + this.objyl.isoperation = 1; + if (this.form.templateid) { + deleteTaskparticty(this.form.templateid).then((res) => { + if (res.code == 200) { + Taskparticty(this.objyl).then((response) => { + this.previewtf = false; + this.form.libtemplateid = this.objyl.id; + this.form.templateid = response.data; + this.putbelongDepts(response.data); + this.form.templatename = this.objyl.templateName; + this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); + }); + } + }); + } else { + Taskparticty(this.objyl).then((response) => { + this.previewtf = false; + this.form.libtemplateid = this.objyl.id; + this.form.templateid = response.data; + this.putbelongDepts(response.data); + this.form.templatename = this.objyl.templateName; + this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); + }); + } + }, + // 淇濆瓨绉戝/鐥呭尯 + putbelongDepts(id) { + this.tempDetpRelevanceslistform.forEach((item) => { + item.tempid = id; + }); + 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) { @@ -1235,6 +1935,7 @@ } }); }); + console.log(list, "list"); this.form.preachform = list.join(","); } else { console.log(this.form.preachform, "this.form.preachform"); @@ -1249,6 +1950,33 @@ }); this.checkList = list; } + }, + // 绉戝澶勭悊 + Departmenttreatment() { + this.tempDetpRelevanceslist.forEach((item) => { + this.tempDetpRelevanceslistform.push({ + deptType: 1, + longTemp: this.form.longTask, + deptCode: item, + tempid: null, + type: 11, + }); + }); + + this.tempbelongWards.forEach((item) => { + this.tempbelongWardsform.push({ + deptType: 2, + longTemp: this.form.longTask, + deptCode: item, + tempid: null, + type: 11, + }); + }); + console.log(33); + + setTimeout(() => { + this.previewFn(); + }, 1000); }, }, }; @@ -1287,11 +2015,12 @@ margin: 20px; .headline { font-size: 24px; + height: 40px; border-left: 5px solid #41a1be; padding-left: 5px; margin-bottom: 10px; display: flex; - justify-content: space-between; + // justify-content: space-between; .Add-details { font-size: 18px; color: #02a7f0; @@ -1326,6 +2055,14 @@ } } } +.xinz-infs { + font-size: 18px; + line-height: 48px; + + .el-tag + .el-tag { + margin-left: 10px; + } +} // .leftvlue-jbxx { // margin-bottom: 50px; // font-size: 20px; @@ -1348,9 +2085,9 @@ // 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; @@ -1415,12 +2152,12 @@ width: 22px; height: 22px; } -// ::v-deep.scriptTopic-dev.el-radio__label { +// ::v-deep.topic-dev.el-radio__label { // font-size: 24px; // } ::v-deep.el-radio-group { span { - font-size: 24px; + font-size: 18px; } } ::v-deep.el-input.is-disabled .el-input__inner { @@ -1431,7 +2168,7 @@ } ::v-deep.el-checkbox-group { span { - font-size: 24px; + font-size: 18px; } } </style> diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 8cc1a63..5316fa5 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -253,40 +253,52 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="閫傜敤绉戝" prop="region"> - <el-cascader - style="width: 500px" - v-model="tempDetpRelevanceslist" - :options="deptList" - :props="props" - :show-all-levels="false" - clearable - > - <template slot-scope="{ node, data }"> - <span>{{ data.deptName }}</span> - <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> - </template> - </el-cascader> - </el-form-item> - <el-form-item label="閫氱敤搴�" prop="region"> - <el-select - style="width: 500px" - v-model="ruleForm.submoduleID" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨搴擄紙澶氶�夛級" - > - <el-option - class="ruleFormaa" - v-for="item in generallist" - :key="item.id" - :label="item.extName" - :value="item.id" - > - </el-option> - </el-select> - </el-form-item> + <el-row> + <el-col :span="20" + ><el-form-item label="閫傜敤绉戝" prop="region"> + <el-select + v-model="tempDetpRelevanceslist" + @remove-tag="removetag" + style="width: 55vw" + 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="tempbelongWards" + @remove-tag="removehpsp" + style="width: 55vw" + 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 :gutter="20"> <el-col :span="12"> <el-form-item label="闅忚鍓嶅鐞�" prop="name"> @@ -1366,6 +1378,7 @@ getFollowuplist, deltargetillness, getillnesslist, + depthospgetsonlist , illnesslistget, getillness, getgenerallist, @@ -1417,6 +1430,10 @@ optionstag: [], prefollowuplist: [], postfollowuplist: [], + tempDetpRelevanceslist: [], //绉戝鏁版嵁 + tempDetpRelevanceslistform: [], //绉戝鏁版嵁 + tempbelongWards: [], //鐥呭尯鏁版嵁 + tempbelongWardsform: [], //鐥呭尯鏁版嵁 generallist: [ { value: "1", label: "闅忚閫氱敤搴撲竴" }, { value: "2", label: "闅忚浜屽簱" }, @@ -1477,6 +1494,8 @@ addvalue: "娣诲姞棰樼洰", // 棰樼洰琛ㄦ牸鏁版嵁 userList: [], + belongWards: [], + belongDepts: [], // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -1490,11 +1509,19 @@ }; }, activated() { + console.log(this.id); + console.log(this.$route.query.id); + if (this.id != this.$route.query.id) { + console.log(1); + this.RoutingDataProcessing(); this.gettabList(); this.getvFollowup(); this.auxiliary(); + }else{ + this.tempDetpRelevanceslistform = []; + this.tempbelongWardsform = []; } }, @@ -1511,6 +1538,8 @@ this.languagelist = store.getters.languagelist; this.courtyardlist = store.getters.courtyardlist; this.precedencetype = store.getters.precedencetype; + this.belongWards = store.getters.belongWards; + this.belongDepts = store.getters.belongDepts; }, mounted() {}, computed: { @@ -1560,16 +1589,13 @@ this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { return Number(res); }); - console.log( - this.ruleForm.submoduleID, - "this.ruleForm.submoduleID鍙�" - ); + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( this.processElement ); - console.log(this.ruleForm.suitway); + this.sortFn(); } }); getillness({ outid: this.id, type: 3 }).then((res) => { @@ -1578,6 +1604,19 @@ item.icdname = item.icd10name; }); }); + } else { + this.ruleForm = { + templateName: "", + ivrLibaTemplateTagList: [], + ivrLibaTemplateScriptVOList: [], + tempDetpRelevances: [], + }; + this.deptOptions = []; + this.optionsillness = []; + this.illnesslistapi = []; + this.illnesslist = []; + this.dynamicTags = []; + this.tempDetpRelevanceslist = []; } listDept(this.queryParams).then((response) => { @@ -1589,8 +1628,21 @@ // 鍒嗙被 getFollowupclassify({}).then((res) => { this.indexAssortlist = res.rows; - if (this.$route.query.assortid) { - this.ruleForm.assortid = Number(this.$route.query.assortid); + }); + this.tempDetpRelevanceslist = []; + this.tempbelongWards = []; + depthospgetsonlist(this.queryParamsdept).then((res) => { + if (res.code == 200) { + let arr = res.rows; + arr.forEach((item) => { + if (item.deptType == 1) { + this.deptlist.push(item); + this.tempDetpRelevanceslist.push(item.deptCode); + } else if (item.deptType == 2) { + this.hosplist.push(item); + this.tempbelongWards.push(item.deptCode); + } + }); } }); // 绉戝 @@ -1630,9 +1682,9 @@ this.ruleForm.assortid = -1; } this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); - this.ruleForm.suitway = this.ruleForm.suitway.join(","); - this.ruleForm.campus = this.ruleForm.campus.join(","); - this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); + if (Array.isArray(this.ruleForm.suitway)) this.ruleForm.suitway = this.ruleForm.suitway.join(","); + if (Array.isArray(this.ruleForm.campus))this.ruleForm.campus = this.ruleForm.campus.join(","); + if (Array.isArray(this.ruleForm.submoduleID))this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); // 鎻愪氦 this.ruleForm.ivrLibaTemplateScriptVOList.forEach((res) => { @@ -1684,38 +1736,54 @@ // 绉戝澶勭悊 Departmenttreatment() { this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��..."); - this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); - this.ruleForm.ivrLibaTemplateScriptVOList = - this.ruleForm.ivrLibaTemplateScriptVOList.concat(this.delScriptVOList); - const result = this.tempDetpRelevanceslist.map( - (subArr) => subArr[subArr.length - 1] - ); - // id鏁扮粍鏌ユ暟缁勫璞� - result.forEach((item) => { - const condition = this.ruleForm.tempDetpRelevances.some( - (obj) => obj.deptId === item - ); - if (!condition) { - listDept({ deptId: item }).then((res) => { - res.data[0].type = 2; - this.ruleForm.tempDetpRelevances.push(res.data[0]); + this.tempDetpRelevanceslist.forEach((item) => { + console.log(item); + let result = this.deptlist.some((obj) => obj.deptCode == item); + console.log(this.result, "result"); + + if (!result) { + this.tempDetpRelevanceslistform.push({ + deptType: 1, + longTemp: this.ruleForm.longTemp, + deptCode: item, + tempid: this.id, + type: 1, }); } }); - console.log(this.ruleForm.tempDetpRelevances); - // 鏁扮粍瀵硅薄鏌d鏁扮粍 - this.ruleForm.tempDetpRelevances.forEach((item) => { - const condition = result.some((obj) => obj === item.deptId); - if (!condition) { - const index = this.ruleForm.tempDetpRelevances.indexOf(item); - this.ruleForm.tempDetpRelevances[index].delFlag = 1; + this.tempbelongWards.forEach((item) => { + let result = this.hosplist.some((obj) => obj.deptCode == item); + if (!result) { + this.tempbelongWardsform.push({ + deptType: 2, + longTemp: this.ruleForm.longTemp, + deptCode: item, + tempid: this.id, + type: 1, + }); } }); - console.log(this.ruleForm.tempDetpRelevances); setTimeout(() => { this.submitForm(); }, 1000); // this.submitForm(); + }, + // 淇濆瓨绉戝/鐥呭尯 + putbelongDepts(id) { + if (this.tempDetpRelevanceslistform.length > 0) { + depthospgetson(this.tempDetpRelevanceslistform).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("绉戝鏂板鎴愬姛"); + } + }); + } + if (this.tempbelongWardsform.length > 0) { + depthospgetson(this.tempbelongWardsform).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("闄㈠尯鏂板鎴愬姛"); + } + }); + } }, // 涓嬩竴姝� nextstep() { @@ -1860,7 +1928,6 @@ }); }, addtopic(row) { - console.log(row); if ( this.ruleForm.ivrLibaTemplateScriptVOList.some( (obj) => obj.scriptTopic == row.scriptTopic @@ -1878,6 +1945,7 @@ }); this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data); this.sortFn(); + this.$forceUpdate(); this.$modal.msgSuccess("娣诲姞鎴愬姛"); }); }, @@ -1943,7 +2011,8 @@ sortFn() { this.ruleForm.ivrLibaTemplateScriptVOList.forEach((item, index) => { item.sort = Number(index) + 1; - console.log(1); + console.log(this.ruleForm.ivrLibaTemplateScriptVOList.length); + console.log(item.sort); if (item.sort == this.ruleForm.ivrLibaTemplateScriptVOList.length) { item.nextScriptno = 0; @@ -1987,7 +2056,31 @@ resetForm(formName) { this.$refs[formName].resetFields(); }, - + // 绉戝鍒犻櫎瑙﹀彂 + removetag(row) { + let result = this.deptlist + .filter((item) => item.deptCode == row) + .map((item) => item.id); + console.log(result.length); + if (result.length) { + depthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } + }, + // 鍒犻櫎鍒犻櫎瑙﹀彂 + removehpsp(row) { + let result = this.hosplist + .filter((item) => item.deptCode == row) + .map((item) => item.id); + if (result.length) { + depthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } + }, // 棰勮--------------- preview() { console.log(this.ruleForm); diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index b5c2840..eeb5432 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -871,9 +871,11 @@ submitForm: function () { this.form.hospInfo = JSON.stringify(this.form.deptCodes); this.form.deptInfo = JSON.stringify(this.form.wardCodes); + if (this.form.deptCodes.length) this.form.deptCodes = this.form.deptCodes.map( (subArr) => subArr[subArr.length - 1] ); + if (this.form.wardCodes.length) this.form.wardCodes = this.form.wardCodes.map( (subArr) => subArr[subArr.length - 1] ); diff --git a/vue.config.js b/vue.config.js index 994fb51..8c61438 100644 --- a/vue.config.js +++ b/vue.config.js @@ -36,7 +36,7 @@ // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { // target: `http://192.168.168.60:8095`, - target: `http://192.168.1.10:8095`, + target: `http://192.168.2.10:8095`, // target:`http://localhost:8095`, // target: `http://192.168.101.135:8095`, // target: `http://192.168.101.166:8093`, -- Gitblit v1.9.3