From a78b97b7eda94afd0c869770c16688c020880a4a Mon Sep 17 00:00:00 2001 From: WXL (wul) <wl_5969728@163.com> Date: 星期三, 17 九月 2025 15:35:46 +0800 Subject: [PATCH] 同步 --- src/api/AiCentre/index.js | 28 src/utils/sipService-cs.js | 1 src/views/followvisit/tasklist/index.vue | 48 + src/store/modules/user.js | 108 +++++ src/api/AiCentre/phoneCall.js | 18 src/api/system/config.js | 2 src/utils/sipService.js | 53 ++ src/components/PatientSelection/index.vue | 585 +++++++++++++++++++++++++++ src/views/patient/propaganda/QuestionnaireTask.vue | 27 src/views/system/user/index.vue | 5 src/assets/order/Xftp-8.0.0084p.exe | 0 src/views/patient/propaganda/index.vue | 7 src/views/followvisit/record/detailpage/index.vue | 202 +++++++++ src/components/CallButton/index.vue | 123 +++++ src/views/followvisit/discharge/index.vue | 3 src/views/outsideChainwtnew.vue | 47 + src/views/patient/follow/index.vue | 3 17 files changed, 1,170 insertions(+), 90 deletions(-) diff --git a/src/api/AiCentre/index.js b/src/api/AiCentre/index.js index 60f658f..9af0b74 100644 --- a/src/api/AiCentre/index.js +++ b/src/api/AiCentre/index.js @@ -1,14 +1,14 @@ -export * from './indicator' -export * from './Problemspeaking' -export * from './Followup' -export * from './general' -export * from './publicity' -export * from './Qtemplate' -export * from './questionnaire' -export * from './SingleTask' -export * from './external' -export * from './patientexternal' -export * from './EChartsdata' -export * from './satisfactionse' -export * from './satisfaction' - +export * from "./indicator"; +export * from "./Problemspeaking"; +export * from "./Followup"; +export * from "./general"; +export * from "./publicity"; +export * from "./Qtemplate"; +export * from "./questionnaire"; +export * from "./SingleTask"; +export * from "./external"; +export * from "./patientexternal"; +export * from "./EChartsdata"; +export * from "./satisfactionse"; +export * from "./satisfaction"; +export * from "./phoneCall"; diff --git a/src/api/AiCentre/phoneCall.js b/src/api/AiCentre/phoneCall.js new file mode 100644 index 0000000..84769dc --- /dev/null +++ b/src/api/AiCentre/phoneCall.js @@ -0,0 +1,18 @@ +import request from "@/utils/request"; + + +// 鍒犻櫎澶栭儴鎮h�呰〃 +export function CallgetList() { + return request({ + url: "/smartor/ServiceTelInfo/getList", + method: "get", + }); +} +// 鏌ヨ澶栭儴鎮h�呰〃 +export function CallsetState(data) { + return request({ + url: "/smartor/ServiceTelInfo/setState", + method: "get", + params: data, + }); +} diff --git a/src/api/system/config.js b/src/api/system/config.js index ed66326..3f5ab8b 100644 --- a/src/api/system/config.js +++ b/src/api/system/config.js @@ -28,7 +28,7 @@ // 鏂板鍙傛暟閰嶇疆 export function addConfig(data) { return request({ - url: '/system/config/add', + url: '/system/config', method: 'post', data: data }) diff --git a/src/assets/order/Xftp-8.0.0084p.exe b/src/assets/order/Xftp-8.0.0084p.exe new file mode 100644 index 0000000..a3a2a02 --- /dev/null +++ b/src/assets/order/Xftp-8.0.0084p.exe Binary files differ diff --git a/src/components/CallButton/index.vue b/src/components/CallButton/index.vue index 0aa24ce..453b877 100644 --- a/src/components/CallButton/index.vue +++ b/src/components/CallButton/index.vue @@ -28,6 +28,7 @@ <script> import sipService from "@/utils/sipService"; +import { CallsetState, CallgetList } from "@/api/AiCentre/index"; export default { props: { @@ -37,17 +38,20 @@ }, }, data() { - const randomNum = Math.floor(Math.random() * 20) + 1000; // 鍐呴儴瀹氫箟 + const randomNum = Math.floor(Math.random() * 20) + 1000; // 瀹氫箟闅忔満鍒嗘満鍙� return { isCalling: false, + randomNum: randomNum, + randomID: null, callStatus: "idle", // idle, calling, connected, ended sipStatus: "鏈繛鎺�", sipStatusClass: "status-disconnected", sipConfig: { - wsUrl: "wss://1192.170.66.107:7443", - sipUri: `${randomNum}` + "@1192.170.66.107", + wsUrl: "wss://192.168.10.124:7443", + sipUri: "", password: "Smartor@2023", displayName: "Web 灏忛緳", + // realm: "9.208.5.18:8090", // realm: "9.208.5.18:8090", }, }; @@ -62,6 +66,15 @@ }; return statusMap[this.callStatus]; }, + countdownText() { + if (this.sipStatus !== "宸叉敞鍐�") return ""; + + const { canCall, reason } = sipService.canMakeCall(); + if (!canCall && reason.includes("绛夊緟")) { + return reason; + } + return ""; + }, callStatusClass() { return `status-${this.callStatus}`; }, @@ -69,19 +82,22 @@ return this.isCalling ? "閫氳瘽涓�..." : "涓�閿懠鍙�"; }, }, - mounted() { - // 娴嬭瘯 - const ws = new WebSocket("wss://9.208.5.18:7443"); - ws.onopen = () => console.log("WebSocket 杩炴帴鎴愬姛"); - ws.onerror = (e) => console.error("WebSocket 閿欒:", e); + created() { + // CallgetList(); + }, - - // 鍒濆鍖朣IP杩炴帴 - + async mounted() { + await this.CallgetList(); sipService.init(this.sipConfig); + // 璁剧疆鐘舵�佸洖璋� sipService.onStatusChange = (status) => { this.sipStatus = status.text; this.sipStatusClass = `status-${status.type}`; + + // 澶勭悊娉ㄥ唽澶辫触鍜屾柇寮�杩炴帴鎯呭喌 + if (status.type === "failed" || status.type === "disconnected") { + this.overCallsetState(); // 閲婃斁鍒嗘満鍙� + } }; // 鐩戝惉閫氳瘽鐘舵�佸彉鍖� @@ -101,23 +117,98 @@ } try { + // 鍏堟鏌ユ槸鍚﹀彲浠ュ懠鍙� + const { canCall, reason } = sipService.canMakeCall(); + if (!canCall) { + const { canCall, reason } = sipService.canMakeCall(); + //this.$message.warning(reason); + //return; + } this.callStatus = "calling"; this.isCalling = true; + console.log("寮�濮嬪懠鍙細", sipService); - await sipService.makeCall(this.phoneNumber); + await sipService.makeCall("0" + this.phoneNumber); } catch (error) { - console.error("鍛煎彨澶辫触:", error); - this.callStatus = "ended"; - this.isCalling = false; - this.$message.error(`鍛煎彨澶辫触: ${error.message}`); + let registrationTime = Date.now(); // 璁板綍娉ㄩ攢鎴愬姛鏃堕棿 + console.log(registrationTime, "鍛煎彨澶辫触鏃堕棿"); + console.error("鍛煎彨澶辫触1:", error); + // this.callStatus = "ended"; + // this.isCalling = false; + //this.$message.error(`鍛煎彨澶辫触: ${error.message}`); + try { + // 鍏堟鏌ユ槸鍚﹀彲浠ュ懠鍙� + const { canCall, reason } = sipService.canMakeCall(); + if (!canCall) { + const { canCall, reason } = sipService.canMakeCall(); + } + this.callStatus = "calling"; + this.isCalling = true; + console.log("寮�濮嬪懠鍙細", sipService); + + await sipService.makeCall("0" + this.phoneNumber); + } catch (error) { + this.callStatus = "ended"; + this.isCalling = false; + } + } + }, + // 鏌ヨ鍙敤鍒嗘満鍙� + async CallgetList() { + try { + const res = await CallgetList(); + this.randomNum = res.data[0].tel; + this.randomID = res.data[0].id; + // 姝g‘璁剧疆 sipUri + this.sipConfig.sipUri = `${this.randomNum}@192.168.10.124`; + this.startCallsetState(); + } catch (error) { + console.error("鑾峰彇鍒嗘満鍙峰け璐�:", error); + this.updateStatus("failed", "鑾峰彇鍒嗘満鍙峰け璐�"); + } + }, + async startCallsetState() { + try { + await CallsetState({ id: this.randomID, state: 1 }); + console.log("鍒嗘満鍙风姸鎬佹洿鏂颁负浣跨敤涓�"); + } catch (error) { + console.error("鏇存柊鍒嗘満鍙风姸鎬佸け璐�:", error); } }, + async overCallsetState() { + try { + if (this.randomID) { + await CallsetState({ id: this.randomID, state: 0 }); + console.log("鍒嗘満鍙风姸鎬佹洿鏂颁负鍙敤"); + } + } catch (error) { + console.error("閲婃斁鍒嗘満鍙峰け璐�:", error); + } + }, endCall() { sipService.endCall(); this.callStatus = "ended"; this.isCalling = false; }, + cleanupResources() { + // 缁撴潫閫氳瘽 + if (this.isCalling) { + sipService.endCall(); + } + + // 閲婃斁鍒嗘満鍙� + this.overCallsetState(); + + // 鏂紑 SIP 杩炴帴 + if (sipService.ua) { + sipService.ua.stop(); + } + }, + }, + beforeUnmount() { + // 缁勪欢閿�姣佹椂纭繚閲婃斁璧勬簮 + this.cleanupResources(); }, }; </script> diff --git a/src/components/PatientSelection/index.vue b/src/components/PatientSelection/index.vue new file mode 100644 index 0000000..d63746e --- /dev/null +++ b/src/components/PatientSelection/index.vue @@ -0,0 +1,585 @@ +<template> + <div> + <el-dialog + title="娲惧彂鎮h�呴�夋嫨" + :visible.sync="dialogVisiblepatient" + width="70%" + :before-close="handleClosehz" + > + <div class="examine-jic"> + <div style="margin: 0 10px 20px 10px"> + <el-card class="box-card"> + <el-tag + v-for="item in overallCase" + :key="item.icdid" + type="primary" + closables + @close="handleClose(item)" + > + {{ item.name }} + </el-tag> + <div style="margin-top: 20px; text-align: right"> + 鍏遍�夋嫨<span + style="font-size: 18px; color: #409eff; margin: 0 10px" + >{{ overallCase.length }}</span + >浣嶆偅鑰� + </div> + </el-card> + </div> + <div class="jic-value"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + <el-form + :model="patientqueryParams" + ref="queryForm" + size="small" + :inline="true" + 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="鎮h�呯被鍨�"> + <el-select + v-model="patientqueryParams.allhosp" + placeholder="璇烽�夋嫨鏂板绫诲瀷" + > + <el-option + v-for="item in taskoptions" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鎮h�呰瘖鏂細"> + <el-input + v-model="patientqueryParams.leavediagname" + @keyup.enter.native="handleQuery" + ></el-input> + </el-form-item> + <el-form-item label="涓绘不鍖荤敓锛�"> + <el-input + v-model="patientqueryParams.drname" + @keyup.enter.native="handleQuery" + ></el-input> + </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�呭垪琛� --> + <el-table + ref="multipleTable" + :data="donorchargeList" + tooltip-effect="dark" + style="width: 100%" + @selection-change="handleSelectionChange" + > + <el-table-column + fixed="left" + class="checkall" + type="selection" + width="55" + > + </el-table-column> + <div v-for="(item, index) in tableLabel"> + <el-table-column + v-if="item.label == '鍑洪櫌鏃ユ湡'" + :key="index" + :prop="item.prop" + :width="item.width" + :label="item.label" + :formatter="formatData" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.endtime) }}</span> + </template> + </el-table-column> + <el-table-column + v-if="item.label == '鎬у埆'" + :key="index" + :prop="item.prop" + :width="item.width" + :label="item.label" + :formatter="formatData" + > + <template slot-scope="scope"> + <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span> + </template> + </el-table-column> + + <el-table-column + v-if="item.label != '鎬у埆' && item.label != '鍑洪櫌鏃ユ湡'" + :key="index" + :prop="item.prop" + :width="item.width" + :label="item.label" + :formatter="formatData" + > + </el-table-column> + </div> + </el-table> + </el-row> + <pagination + v-show="patienttotal > 0" + :total="patienttotal" + :page.sync="patientqueryParams.pageNum" + :limit.sync="patientqueryParams.pageSize" + @pagination="handleQuery" + /> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="$emit('addoption')">鍙� 娑�</el-button> + <el-button type="primary" @click="AddDispatchpatients" + >纭畾娣诲姞</el-button + > + </span> + </el-dialog> + </div> +</template> + +<script> +import { + getillnesslist, + deltargetillness, + getTaskpatientQC, + Questionnairetaskgetson, + Externallist, + Editsingletask, +} from "@/api/AiCentre/index"; +export default { + name: "Diseasetotality", + data() { + return { + patienttotal: 0, // + allpids: [], + // 褰撳墠椤甸�変腑鏁版嵁 + multipleSelection: [], + overallpatin: [], + form: {}, + patientqueryParams: { + pageNum: 1, + pageSize: 10, + allhosp: "4", + pids: null, + }, + donorchargeList: [], + donorchargeanlList: [], //妗堜緥鍒楄〃 + taskoptions: [ + { + value: "4", + label: "鍑洪櫌鐥呬汉", + }, + { + value: "1", + label: "鍦ㄩ櫌鐥呬汉", + }, + { + value: "2", + label: "闂ㄨ瘖鐥呬汉", + }, + { + value: "3", + label: "浣撴鐥呬汉", + }, + { + value: "6", + label: "闄㈠鎮h��", + }, + { + value: "5", + label: "鎵嬫湳鐥呬汉", + }, + ], + overallCase:[], + tableLabel: [ + { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" }, + { label: "鎮h��", width: "", prop: "name" }, + { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" }, + { label: "韬唤璇�", width: "200", prop: "idcardno" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, + { label: "涓绘不鍖荤敓", width: "", prop: "drname" }, + { label: "绉戝", width: "240", prop: "dept" }, + { label: "鐥呭尯", width: "240", prop: "leavehospitaldistrictname" }, + ], + }; + }, + + props: { + dialogVisiblepatient: { + type: Boolean, + default: () => { + return false; + }, + }, + + // 5闂嵎妯℃澘銆�3闅忚妯℃澘銆�6瀹f暀 + type: { + type: Number, + default: () => { + return 5; + }, + }, + }, + + created() {}, + + mounted() { + // this.handleAddpatient(); + }, + + watch: {}, + + methods: { + // 鏁版嵁杩囨护 + formatData(row, column, cellValue) { + if (column.property === "createType") { + if (cellValue === 1) { + return "鑷姩"; + } + return "鎵嬪姩"; + } + if ( + column.property === "createTime" || + column.property === "inhosptime" + ) { + if (cellValue === null) { + return ""; + } + return dayjs(cellValue).format("YYYY-MM-DD "); + } + return cellValue; + }, + handleClosehz() { + this.$emit("addoption"); + }, + // 閫夋嫨鏁版嵁鏍囩鍒犻櫎浜嬩欢 + handleClose(item) { + console.log(item); + if (this.multipleSelection.indexOf(item) == -1 && !item.outid) { + this.overallCase.splice(this.overallCase.indexOf(item), 1); + } else if (item.outid) { + this.$modal + .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + item.icd10name + '"鐨勬暟鎹」锛�') + .then(() => { + this.multipleSelection.splice( + this.multipleSelection.indexOf(item), + 1 + ); + deltargetillness(item.id).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + this.overallCase.splice(this.overallCase.indexOf(item), 1); + } + }); + // 鍙栨秷鎸傝浇鐘舵�� + this.$refs.multipleTable.toggleRowSelection(item, false); + }) + .catch(() => {}); + } else { + this.overallCase.splice(this.overallCase.indexOf(item), 1); + this.multipleSelection.splice(this.multipleSelection.indexOf(item), 1); + // 鍙栨秷鎸傝浇鐘舵�� + this.$refs.multipleTable.toggleRowSelection(item, false); + } + }, + resetQuery() { + this.patientqueryParams.name = null; + this.handleAddpatient(); + }, + // 瑙﹀彂鏌ヨ浜嬩欢 + handleAddpatients() { + this.$emit("kkoption"); + + getillnesslist(this.patientqueryParams).then((res) => { + this.donorchargeList = res.rows; + this.patienttotal = res.total; + this.Restorecheck(); + }); + }, + // 瑙﹀彂鏌ヨ浜嬩欢 + handleAddpatient(taskid) { + this.$emit("kkoption"); + if (taskid != this.taskid) { + this.recover(); + } + if (taskid) { + this.taskid = taskid; + Questionnairetaskgetson({ taskid: this.taskid }).then((res) => { + if (res.code == 200) { + this.form = res.data; + this.overallpatin = this.form.patTaskRelevances.concat(); + this.allpids = []; + this.overallpatin.forEach((item) => { + this.allpids.push(item.patid); + }); + if (this.allpids[0]) { + this.patientqueryParams.pids = this.allpids; + } else { + this.patientqueryParams.pids = null; + } + this.handleQuery(); + } + }); + } + }, + handleQuery() { + // 鑾峰彇澶栭儴鎮h�� + if (this.patientqueryParams.allhosp == 6) { + this.Externallist(); + return; + } + console.log(11); + + if (this.patientqueryParams.allhosp == 4) { + this.tableLabel = [ + // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" }, + { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, + { label: "鎮h��", width: "", prop: "name" }, + { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" }, + { label: "韬唤璇�", width: "200", prop: "idcardno" }, + { 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: "dept" }, + { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, + ]; + } else if (this.patientqueryParams.allhosp == 1) { + this.tableLabel = [ + { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" }, + { label: "鎮h��", width: "", prop: "name" }, + { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" }, + { label: "韬唤璇�", width: "200", prop: "idcardno" }, + { 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: "dept" }, + { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, + ]; + } + console.log(this.patientqueryParams.allhosp); + + // 鑾峰彇鎮h�呮暟鎹� + getTaskpatientQC(this.patientqueryParams).then((response) => { + this.donorchargeList = response.rows; + this.donorchargeList.forEach((item) => { + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + }); + this.Restorecheck(); + + this.patienttotal = response.total; + }); + }, + // 鑾峰彇澶栭儴鎮h�呭鍏ュ垪琛� + Externallist() { + this.tableLabel = [ + { label: "鎮h��", 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.donorchargeList = response.rows; + this.donorchargeList.forEach((item) => { + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + }); + // this.dialogVisiblepatient = true; + this.patienttotal = response.total; + }); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + if (this.decision) return; + // 鍒ゆ柇鏄惁鏈夊垹闄� + if (this.multipleSelection.length <= selection.length) { + this.multipleSelection = selection; + } else { + this.multipleSelection.forEach((item) => { + if (selection.includes(item)) { + } else { + if (this.multipleSelection.length == 1) { + this.multipleSelection = []; + } else { + this.multipleSelection.splice( + this.multipleSelection.indexOf(item), + 1 + ); + } + if (this.overallCase.length == 1) { + this.overallCase = []; + } else { + this.overallCase.splice(this.overallCase.indexOf(item), 1); + } + } + }); + } + // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 + this.multipleSelection.forEach((item) => { + if (this.overallCase.every((obj) => obj.name != item.name)) { + 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.diagname = item.leavediagname; + item.sfzh = item.idcardno; + if (this.patientqueryParams.allhosp == 6) { + item.patfrom = 1; + } + this.overallCase.push(item); + } + }); + console.log(this.multipleSelection, "瑙﹀彂閫夋嫨鍚巑ultipleSelection"); + }, + // 鍒囨崲椤靛悗鎭㈠閫変腑 + Restorecheck() { + console.log(this.overallCase, "this.overallCase"); + const allid = this.overallCase.map((item) => item.name); + const overlap = this.donorchargeList.filter((value) => { + return allid.includes(value.name); + }); + // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� + this.multipleSelection = overlap; + console.log(this.multipleSelection, "杩涘叆鍒嗛〉multipleSelection"); + + 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(); + } + }, + AddDispatchpatients() { + console.log(this.overallCase); + this.form.patTaskRelevances.push(...this.overallCase); + console.log(this.form.patTaskRelevances); + this.form.isoperation=2; + Editsingletask(this.form).then((res) => { + if (res.code == 200) { + if (this.form.taskid) { + this.$modal.msgSuccess("淇敼鎴愬姛"); + } else { + this.$modal.msgSuccess("鏂板鎴愬姛"); + } + this.recover(); + this.$emit("addoption"); + + } + }); + // this.dialogVisiblepatient = false; + // this.$emit("addoption"); + }, + recover() { + this.donorchargeList = []; + this.donorchargeanlList = []; + this.multipleSelection = []; + this.allpids = []; + this.overallpatin = []; + this.form = {}; + this.patientqueryParams = { + pageNum: 1, + pageSize: 10, + allhosp: "4", + pids: null, + }; + this.overallCase = []; + // this.dialogVisiblepatient = false; + }, + }, +}; +</script> + +<style lang="scss" scoped> +.examine-jic { + .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; + } + } + } +} +::v-deep.el-table .el-table__header th:first-child .el-checkbox { + display: none; +} +.el-tag + .el-tag { + margin-left: 10px; + margin-bottom: 10px; +} +</style> diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 142aace..173997e 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,5 +1,7 @@ import { login, logout, getInfo } from "@/api/login"; import { getToken, setToken, removeToken } from "@/utils/auth"; +import { login, logout, getInfo } from "@/api/login"; +import { getToken, setToken, removeToken } from "@/utils/auth"; const user = { state: { @@ -11,9 +13,81 @@ hisUserId: "", belongWards: [], belongDepts: [], + name: "", + nickName: "", + Id: "", + avatar: "", + hisUserId: "", + belongWards: [], + belongDepts: [], roles: [], permissions: [], // 鏈嶅姟绫诲瀷 + Serviceauthority: [ + { + value: "1", + label: "鎮h�呮姤鍛�", + route: "followvisit/QuestionnaireTask", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "2", + label: "蹇冪數闅忚", + route: "followvisit/QuestionnaireTask", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "3", + label: "浣撴闅忚", + route: "followvisit/particty", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "4", + label: "瀹f暀鍏虫��", + route: "followvisit/Missioncreation", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "5", + label: "鍑洪櫌闅忚", + route: "followvisit/particty", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "6", + label: "闂ㄨ瘖闅忚", + route: "followvisit/particty", + raw: { + cssClass: "", + listClass: "", + }, + }, + { + value: "7", + label: "閫氱煡鏈嶅姟", + route: "followvisit/Missioncreation", + raw: { + cssClass: "", + listClass: "", + }, + }, + ], Serviceauthority: [ { value: "1", @@ -137,15 +211,43 @@ if (orgid == "H41010500003") { localStorage.setItem("orgname", "娌冲崡涓尰鑽ぇ瀛︾涓�闄勫睘鍖婚櫌"); localStorage.setItem("ZuHuID", "1400361376454545408"); // 璇锋浛鎹负瀹為檯鐨刏uHuID - localStorage.setItem("deptCode", "1017"); // 璇锋浛鎹负瀹為檯鐨勮棰樼粍浠g爜 + localStorage.setItem("deptCode", "1017"); // 璇锋浛鎹负瀹為檯鐨勭瀹や唬鐮� } else if (orgid == "H41082200269") { localStorage.setItem("orgname", "鍗氱埍鍘夸汉姘戝尰闄�"); localStorage.setItem("ZuHuID", "1400360867068907520"); // 璇锋浛鎹负瀹為檯鐨刏uHuID - localStorage.setItem("deptCode", "01040201"); // 璇锋浛鎹负瀹為檯鐨勮棰樼粍浠g爜 + localStorage.setItem("deptCode", "01040201"); // 璇锋浛鎹负瀹為檯鐨勭瀹や唬鐮� } else if (orgid == "H41078202417") { localStorage.setItem("orgname", "杈夊幙甯備腑鍖婚櫌"); localStorage.setItem("ZuHuID", "1429338802177000002"); // 璇锋浛鎹负瀹為檯鐨刏uHuID - localStorage.setItem("deptCode", ""); // 璇锋浛鎹负瀹為檯鐨勮棰樼粍浠g爜 + localStorage.setItem("deptCode", ""); // 璇锋浛鎹负瀹為檯鐨勭瀹や唬鐮� + } else if (orgid == "47255004333112711A1001") { + localStorage.setItem("orgname", "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�"); + localStorage.setItem("ZuHuID", "1400361376454545408"); + localStorage.setItem("deptCode", "1017"); + } else if (orgid == "47231022633110211A2101") { + localStorage.setItem("orgname", "涓芥按甯備腑鍖婚櫌"); + localStorage.setItem("ZuHuID", "1400360867068907520"); + localStorage.setItem("deptCode", "01040201"); + } else if (orgid == "47246102433112211A2101") { + localStorage.setItem("orgname", "缂欎簯鍘夸腑鍖诲尰闄�"); + localStorage.setItem("ZuHuID", "1429338802177000002"); + localStorage.setItem("deptCode", ""); + } else if (orgid == "47240018433118111A2101") { + localStorage.setItem("orgname", "榫欐硥甯備腑鍖诲尰闄�"); + localStorage.setItem("ZuHuID", "1429338802177000003"); + localStorage.setItem("deptCode", ""); + } else if (orgid == "47243006833112611A2101") { + localStorage.setItem("orgname", "搴嗗厓鍘夸腑鍖诲尰闄�"); + localStorage.setItem("ZuHuID", "1429338802177000004"); + localStorage.setItem("deptCode", ""); + } else if (orgid == "47234002X33112111A2101") { + localStorage.setItem("orgname", "闈掔敯鍘夸腑鍖诲尰闄�"); + localStorage.setItem("ZuHuID", "1429338802177000005"); + localStorage.setItem("deptCode", ""); + } else if (orgid == "47240004533118111A1001") { + localStorage.setItem("orgname", "榫欐硥甯備汉姘戝尰闄�"); + localStorage.setItem("ZuHuID", "1429338802177000007"); + localStorage.setItem("deptCode", ""); } resolve(); }) diff --git a/src/utils/sipService-cs.js b/src/utils/sipService-cs.js index 1654ccc..7c63647 100644 --- a/src/utils/sipService-cs.js +++ b/src/utils/sipService-cs.js @@ -12,6 +12,7 @@ init(config) { try { this.updateStatus("connecting", "杩炴帴涓�..."); +console.log(config); this.ua = new JsSIP.UA({ sockets: [new JsSIP.WebSocketInterface(config.wsUrl)], diff --git a/src/utils/sipService.js b/src/utils/sipService.js index 8589481..a8ce592 100644 --- a/src/utils/sipService.js +++ b/src/utils/sipService.js @@ -7,6 +7,8 @@ this.onStatusChange = null; this.onCallStatusChange = null; this.onIncomingCall = null; + this.isRegistered = false; // 鏂板娉ㄥ唽鐘舵�佹爣蹇� + this.registrationTime = null; // 鏂板娉ㄥ唽鎴愬姛鏃堕棿鎴� } init(config) { @@ -28,12 +30,25 @@ this.ua.start(); // 浜嬩欢鐩戝惉 - this.ua.on("registered", () => - this.updateStatus("registered", "宸叉敞鍐�56") - ); - this.ua.on("registrationFailed", (e) => - this.updateStatus("failed", `娉ㄥ唽澶辫触11: ${e.cause}`) - ); + this.ua.on("registered", () => { + this.isRegistered = true; + this.registrationTime = Date.now(); // 璁板綍娉ㄥ唽鎴愬姛鏃堕棿 + console.log(this.registrationTime, "娉ㄥ唽鏃堕棿"); + + this.updateStatus("registered", "宸叉敞鍐�"); + }); + + this.ua.on("registrationFailed", (e) => { + this.isRegistered = false; + this.updateStatus("failed", `娉ㄥ唽澶辫触: ${e.cause}`); + }); + + this.ua.on("unregistered", () => { + this.isRegistered = false; + let registrationTime = Date.now(); // 璁板綍娉ㄩ攢鎴愬姛鏃堕棿 + console.log(registrationTime, "娉ㄩ攢鏃堕棿"); + this.updateStatus("disconnected", "宸叉敞閿�"); + }); this.ua.on("disconnected", () => this.updateStatus("disconnected", "杩炴帴鏂紑") ); @@ -49,8 +64,30 @@ throw error; } } + // 鏂板鏂规硶锛氭鏌ユ槸鍚﹀彲浠ュ懠鍙� + canMakeCall(minDelay = 2000) { + if (!this.isRegistered) { + return { canCall: false, reason: "SIP鏈敞鍐岋紝鏃犳硶鍛煎彨" }; + } + const now = Date.now(); + const timeSinceRegistration = now - this.registrationTime; + + if (timeSinceRegistration < minDelay) { + const remaining = minDelay - timeSinceRegistration; + return { + canCall: false, + reason: `娉ㄥ唽鎴愬姛锛岃绛夊緟 ${Math.ceil(remaining / 1000)} 绉掑悗鍐嶅懠鍙玚, + }; + } + + return { canCall: true, reason: "" }; + } makeCall(targetNumber) { + const { canCall, reason } = this.canMakeCall(); + if (!canCall) { + return Promise.reject(new Error(reason)); + } return new Promise((resolve, reject) => { try { if (!this.ua) { @@ -84,7 +121,7 @@ }; this.currentSession = this.ua.call( - `sip:${targetNumber}@1192.170.66.107`, + `sip:${targetNumber}@192.168.10.124`, options ); @@ -165,7 +202,7 @@ errorMessage = "浼氳瘽鍙傛暟涓嶆弧瓒虫湇鍔″櫒瑕佹眰"; break; default: - errorMessage = `鍛煎彨澶辫触: ${e.cause || e.message}`; + errorMessage = `鍛煎彨澶辫触3: ${e.cause || e.message}`; } this.updateCallStatus("failed55", errorMessage); diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index 9b5834a..daaba95 100644 --- a/src/views/followvisit/discharge/index.vue +++ b/src/views/followvisit/discharge/index.vue @@ -1414,8 +1414,7 @@ }); }, affiliation() { - - this.topqueryParams.managementDoctorCode= store.getters.hisUserId; + this.topqueryParams.managementDoctor = store.getters.hisUserId; this.getList(1); }, onthatday() { diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue index d60e385..61ab466 100644 --- a/src/views/followvisit/record/detailpage/index.vue +++ b/src/views/followvisit/record/detailpage/index.vue @@ -254,6 +254,7 @@ /> </el-dialog> <div class="action-container"> + <!-- 闅忚鍐呭 --> <div class="call-action"> <div class="call-container"> <!-- <div class="call-header"> @@ -549,6 +550,7 @@ </div> </div> </div> + <!-- 浜哄伐澶勭悊 --> <div class="manual-action"> <div class="Followuserinfos"> <div> @@ -2150,6 +2152,16 @@ this.getTaskservelist(); }, }, + // deactivated() { + // console.log(11); + // }, + beforeRouteLeave(to, from, next) { + this.$refs.callButton.cleanupResources(); + next(); // 纭繚璋冪敤 nex + }, + // beforeRouteUpdate() { + // console.log(33); + // }, }; </script> @@ -2533,4 +2545,194 @@ color: #080808 !important; cursor: not-allowed; } +/* 鍘熸湁鐨勬牱寮忎繚鎸佷笉鍙橈紝娣诲姞浠ヤ笅鍝嶅簲寮忎唬鐮� */ + +.Followupdetailspage { + margin: 10px; + display: flex; + flex-direction: column; + gap: 20px; +} + +.action-container { + display: flex; + flex-direction: row; /* 榛樿妯悜鎺掑垪 */ + gap: 20px; + margin: 0 10px 20px 10px; + + /* 褰撶缉鏀炬瘮渚嬪ぇ浜�100%鎴栧睆骞曞搴﹁緝灏忔椂鏀逛负涓婁笅鎺掑垪 */ + @media screen and (max-width: 1200px), (min-resolution: 1.1dppx) { + flex-direction: column; + + .call-action, + .manual-action { + width: 100% !important; + } + } +} + +.call-action { + width: 65%; + min-width: 0; +} + +.manual-action { + flex: 1; + min-width: 0; +} + +/* 璋冩暣鍐呴儴鍏冪礌鐨勫搷搴斿紡甯冨眬 */ +.Followuserinfos { + .el-form { + /* 琛ㄥ崟鍝嶅簲寮忚皟鏁� */ + .el-row { + margin: 0 -10px; + } + + .el-col { + padding: 0 10px; + } + + @media screen and (max-width: 768px) { + .el-col { + width: 100%; + margin-bottom: 15px; + + &:last-child { + margin-bottom: 0; + } + } + } + } +} + +/* 璋冩暣琛ㄦ牸鐨勫搷搴斿紡琛ㄧ幇 */ +.el-table { + ::v-deep .el-table__body-wrapper { + overflow-x: auto; + } + + /* 鍦ㄥ皬灞忓箷涓婅皟鏁磋〃鏍煎垪瀹� */ + @media screen and (max-width: 992px) { + .el-table-column { + min-width: 120px; + } + } +} + +/* 璋冩暣鏍囩閫夋嫨鍣ㄧ殑鍝嶅簲寮忓竷灞� */ +.tag-selector-container { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 10px; + + @media screen and (max-width: 576px) { + flex-direction: column; + align-items: flex-start; + + .el-select { + width: 100%; + margin-right: 0 !important; + } + } +} + +/* 璋冩暣鎸夐挳缁勭殑鍝嶅簲寮忓竷灞� */ +.el-form-item.label-processing-opinion { + .el-button-group { + display: flex; + flex-wrap: wrap; + gap: 10px; + + .el-button { + flex: 1; + min-width: 120px; + } + } +} + +/* 璋冩暣閫夐」鍗$殑鍝嶅簲寮忚〃鐜� */ +.el-tabs { + ::v-deep .el-tabs__nav-wrap { + overflow-x: auto; + white-space: nowrap; + + &::after { + display: none; + } + } +} + +/* 璋冩暣棰勮鍖哄煙鐨勫搷搴斿紡琛ㄧ幇 */ +.preview-left { + @media screen and (max-width: 768px) { + margin: 10px; + padding: 15px; + + .topic-dev, + .scriptTopic-dev { + margin-bottom: 15px; + } + } +} + +/* 璋冩暣瀵硅瘽妗嗙殑鍝嶅簲寮忚〃鐜� */ +.el-dialog { + @media screen and (max-width: 992px) { + width: 90% !important; + margin-top: 5vh !important; + + .el-dialog__body { + padding: 15px; + } + } + + @media screen and (max-width: 576px) { + width: 95% !important; + + .el-form-item { + margin-bottom: 15px; + } + } +} + +/* 纭繚鍐呭鍦ㄧ缉鏀炬椂淇濇寔鍙鎬� */ +.headline { + font-size: clamp(18px, 2vw, 24px); /* 浣跨敤clamp鍑芥暟纭繚瀛椾綋澶у皬鍦ㄥ悎鐞嗚寖鍥村唴 */ +} + +/* 涓虹Щ鍔ㄨ澶囦紭鍖栨粴鍔ㄤ綋楠� */ +@media screen and (max-width: 768px) { + .Followuserinfo, + .Followuserinfos { + padding: 15px; + margin: 5px; + } + + .CONTENT { + min-height: auto; + padding: 5px; + } +} + +/* 缂╂斁妫�娴嬫牱寮� */ +@media screen and (min-resolution: 1.1dppx), + screen and (-webkit-min-device-pixel-ratio: 1.1), + screen and (max-width: 1200px) { + .action-container { + flex-direction: column; + } + + .call-action, + .manual-action { + width: 100%; + } + + /* 璋冩暣鍐呴儴鍏冪礌闂磋窛 */ + .call-container, + .Followuserinfos { + margin-bottom: 20px; + } +} </style> diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue index 30283cc..667df2d 100644 --- a/src/views/followvisit/tasklist/index.vue +++ b/src/views/followvisit/tasklist/index.vue @@ -250,8 +250,15 @@ size="medium" type="text" @click="handleUpdate(scope.row, 1)" - ><span class="button-xj" - ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span + ><span class="button-xj">渚濈収鏂板</span></el-button + > + <el-button + v-if="scope.row.sendState != 5" + size="medium" + type="text" + @click="handleAddpatient(scope.row.taskid, scope.row.type)" + ><span class="button-hz" + ><i class="el-icon-circle-plus-outline"></i>鏂板鎮h��</span ></el-button > <el-button @@ -259,9 +266,7 @@ size="medium" type="text" @click="stop(scope.row)" - ><span class="button-zt" - ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span - ></el-button + ><span class="button-zt">鏆傚仠</span></el-button > </template> </el-table-column> @@ -373,6 +378,13 @@ > </div> </el-dialog> + <!-- 閫夋嫨鎮h�呭脊妗� --> + <Patient-Selection + ref="Patient" + :dialogVisiblepatient="dialogVisiblepatient" + @addoption="addoption" + @kkoption="dialogVisiblepatient = true" + /> </div> </template> @@ -387,23 +399,19 @@ } from "@/api/system/user"; import { getTasklist, - getTaskInfo, - Editsingletask, delTaskInfo, - Questionnairetasklist, - Questionnairetaskget, - Questionnairetasksponsor, TaskTemplateSendExecution, } from "@/api/AiCentre/index"; import store from "@/store"; - +import PatientSelection from "@/components/PatientSelection"; //姝e垯缁勪欢 +import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { name: "Tasklist", dicts: ["sys_normal_disable", "sys_user_sex", "task_status"], - components: { Treeselect }, + components: { Treeselect, PatientSelection }, data() { return { // 閬僵灞� @@ -441,6 +449,8 @@ showTimeNight: [], showTimeNoon: [], }, + dialogVisiblepatient: false, + Patientlist: [], taskformVisible: false, dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 inputVisible: false, @@ -1041,6 +1051,14 @@ const item = data.find((item) => item.value === value); return item ? item.label : null; }, + handleAddpatient(taskid) { + this.$refs.Patient.handleAddpatient(taskid); + this.dialogVisiblepatient = true; // 鎵嬪姩鎺у埗寮圭獥鏄剧ず + }, + addoption() { + this.dialogVisiblepatient = false; // 鎵嬪姩鎺у埗寮圭獥鏄剧ず + this.handleQuery(); + }, }, }; </script> @@ -1170,6 +1188,12 @@ border-radius: 1px; color: #ffffff; } +.button-hz { + background: #63d37b; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} ::v-deep.el-radio-group { span { diff --git a/src/views/outsideChainwtnew.vue b/src/views/outsideChainwtnew.vue index 178d0d6..24fc1d3 100644 --- a/src/views/outsideChainwtnew.vue +++ b/src/views/outsideChainwtnew.vue @@ -8,7 +8,9 @@ {{ kcb ? kcb - : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�" + : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸" + + localStorage.getItem("orgname") + + "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�" }} <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� --> </div> @@ -277,31 +279,36 @@ methods: { // 瑙f瀽urlid geturlinfo() { - // let url = window.location.href; - let url = this.$route.query.p; - console.log(url,"url"); + // let url = window.location.href; + let url = this.$route.query.p; + console.log(url, "url"); // let url = 'http://218.108.11.22:8093/sf/003'; // let urlid = this.extractLastSegmentFromUrl(url); - geturlinfo( url ).then((res) => { - if (res.code==200) { - this.getQuestionnaire(res.data.param1,res.data.param2,res.data.param3,res.data.param5,) - } + geturlinfo(url).then((res) => { + if (res.code == 200) { + this.getQuestionnaire( + res.data.param1, + res.data.param2, + res.data.param3, + res.data.param5 + ); + } }); }, -// extractLastSegmentFromUrl(url) { -// // 鎵惧埌鏈�鍚庝竴涓�'/'鐨勪綅缃� -// const lastSlashIndex = url.lastIndexOf('/'); -// // 濡傛灉鎵惧埌浜�'/'锛屾埅鍙栧叾鍚庣殑鎵�鏈夊瓧绗� -// if (lastSlashIndex !== -1) { -// return url.substring(lastSlashIndex + 1); -// } -// // 濡傛灉娌℃湁鎵惧埌'/'锛岃繑鍥炵┖瀛楃涓� -// return ''; -// }, + // extractLastSegmentFromUrl(url) { + // // 鎵惧埌鏈�鍚庝竴涓�'/'鐨勪綅缃� + // const lastSlashIndex = url.lastIndexOf('/'); + // // 濡傛灉鎵惧埌浜�'/'锛屾埅鍙栧叾鍚庣殑鎵�鏈夊瓧绗� + // if (lastSlashIndex !== -1) { + // return url.substring(lastSlashIndex + 1); + // } + // // 濡傛灉娌℃湁鎵惧埌'/'锛岃繑鍥炵┖瀛楃涓� + // return ''; + // }, // 鑾峰彇鏁版嵁 - getQuestionnaire(param1,param2,param3) { + getQuestionnaire(param1, param2, param3) { this.taskid = decodeURIComponent(param1); this.patid = decodeURIComponent(param2); this.taskname = decodeURIComponent(param3); @@ -409,7 +416,7 @@ var obj = item.svyLibTemplateTargetoptions.find( (items) => items.optioncontent == item.scriptResult ); - console.log(obj,'obj'); + console.log(obj, "obj"); if (obj) { if (obj.isabnormal) { diff --git a/src/views/patient/follow/index.vue b/src/views/patient/follow/index.vue index ec4b99f..634ae88 100644 --- a/src/views/patient/follow/index.vue +++ b/src/views/patient/follow/index.vue @@ -630,6 +630,9 @@ .button-textxga { color: #de7897; } +.button-textxga { + color: #de7897; +} .button-textsc { color: #3664d9; } diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue index b95bfb4..696495f 100644 --- a/src/views/patient/propaganda/QuestionnaireTask.vue +++ b/src/views/patient/propaganda/QuestionnaireTask.vue @@ -432,8 +432,11 @@ </div> </div> </div> - <el-button type="success" @click="nextstep('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" + <el-button type="primary" @click="nextstep('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "娲惧彂鎮h�呴厤缃�" + }}</el-button> + <el-button type="success" @click="submitForm('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> @@ -517,7 +520,7 @@ </div> <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" + quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> @@ -911,7 +914,7 @@ taskdiaggetlist, taskopergetlist, } from "@/api/AiCentre/index"; -import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 +import OptionalForm from "@/components/OptionalForm"; //鐤剧梾娣诲姞缁勪欢 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 import { MessageBox } from "element-ui"; @@ -1286,7 +1289,11 @@ }, { label: "寰俊灏忕▼搴�", value: '6' }, ]; - } else if (this.form.serviceType == 6||this.form.serviceType == 14||this.form.serviceType == 15) { + } else if ( + this.form.serviceType == 6 || + this.form.serviceType == 14 || + this.form.serviceType == 15 + ) { this.checkboxlist = [ { value: "3", @@ -1448,11 +1455,11 @@ this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢"); return; } - - if (!this.form.patTaskRelevances[0] && !this.form.longTask) { - this.$modal.msgError("璇烽�夋嫨鐥呬汉"); - return; - } + //鏆傚仠浠诲姟鎮h�呴檺鍒� + // if (!this.form.patTaskRelevances[0] && !this.form.longTask) { + // this.$modal.msgError("璇烽�夋嫨鐥呬汉"); + // return; + // } if (!this.form.templatename && !this.templateor) { this.$modal.msgError("鏈�夋嫨妯℃澘"); diff --git a/src/views/patient/propaganda/index.vue b/src/views/patient/propaganda/index.vue index 760a7da..4c9bd64 100644 --- a/src/views/patient/propaganda/index.vue +++ b/src/views/patient/propaganda/index.vue @@ -753,6 +753,8 @@ serviceType: 4, searchscope: 2, sendstate: 2, + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], }, propss: { multiple: true }, options: [], @@ -831,7 +833,7 @@ methods: { /** 鏌ヨ闂ㄨ瘖瀹f暀鏈嶅姟鍒楄〃 */ getList() { - if (this.topqueryParams.searchscope == 3) { + if (this.topqueryParams.searchscope == 3) { this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( (obj) => obj.deptCode ); @@ -839,6 +841,8 @@ store.getters.belongWards.map((obj) => obj.districtCode); } this.loading = true; + console.log(this.topqueryParams.leavehospitaldistrictcodes); + console.log(this.topqueryParams.leaveldeptcodes); if ( this.topqueryParams.leavehospitaldistrictcodes[0] && @@ -848,6 +852,7 @@ } else { this.topqueryParams.deptOrDistrict = 1; } + console.log(55); getTaskservelist(this.topqueryParams).then((response) => { this.userList = response.rows[0].serviceSubtaskList; this.userList.forEach((item) => { diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 73f0311..64a85ad 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -846,7 +846,6 @@ } console.log(this.form.wardCodes, "wardCodes"); console.log(this.form.deptCodes, "deptCodes"); - this.postOptions = response.posts; this.roleOptions = response.roles; this.$set(this.form, "postIds", response.postIds); @@ -927,7 +926,7 @@ adduserdept() { if (this.form.wardCodes[0]) { this.form.wardCodes.forEach((dept) => { - const containsId8 = null; + let containsId8 = null; if (this.belongWards) { containsId8 = this.belongWards.some( (item) => item.deptCode == dept @@ -948,7 +947,7 @@ } if (this.form.deptCodes[0]) { this.form.deptCodes.forEach((dept) => { - const containsId8 = null; + let containsId8 = null; if (this.belongDepts) { containsId8 = this.belongDepts.some( (item) => item.deptCode == dept -- Gitblit v1.9.3