From 66cc734e81fe0497d88e0951b6aee9c9c8342f2c Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期三, 17 九月 2025 11:43:07 +0800
Subject: [PATCH] 电话更新
---
vue.config.js | 7
src/views/followvisit/zbAgain/index.vue | 17
src/views/knowledge/questionnaire/compilequer/index.vue | 27
src/views/patient/patient/index.vue | 14
src/views/patient/medtechnician/PatientChart.vue | 55
src/views/patient/subsequent/index.vue | 11
src/api/AiCentre/satisfaction.js | 30
src/views/followvisit/zysatisfaction/index.vue | 1969 ++++++++++++
src/views/satisfaction.vue | 1188 +++++++
src/views/patient/patient/operation.vue | 2
src/views/patient/propaganda/Missionotice.vue | 3
src/views/patient/patient/behospitalized.vue | 4
src/components/CallButton/index.vue | 9
src/store/getters.js | 125
src/views/followvisit/discharge/outpatientService.vue | 16
src/views/patient/propaganda/Missioncreation.vue | 2
src/permission.js | 81
src/smartor/dataobject/dw_patouthosp_list.vue | 2
src/views/followvisit/technology/index.vue | 13
src/views/patient/physical/index.vue | 11
src/store/modules/user.js | 350 +-
src/assets/order/BHostClient.exe | 0
src/smartor/dataobject/dw_patouthosp_base.vue | 2
src/views/system/user/profile/index.vue | 154
src/router/index.js | 10
src/assets/order/Xftp-8.0.0084p.exe | 0
src/assets/styles/element-variables.scss | 4
src/views/sfstatistics/percentage/index.vue | 54
src/views/patient/patient/hospital.vue | 4
src/api/AiCentre/index.js | 2
src/views/followvisit/outpatient/index.vue | 11
src/views/patient/patient/physical.vue | 2
dist.zip | 0
src/views/patient/patient/outpatient.vue | 6
src/views/patient/propaganda/QuestionnaireTask.vue | 88
src/views/followvisit/mzsatisfaction/index.vue | 1973 ++++++++++++
src/views/patient/propaganda/index.vue | 8
src/views/patient/patient/ExternalPatient.vue | 8
src/views/followvisit/record/detailpage/index.vue | 443 ++
src/views/knowledge/questionbank/particulars/index.vue | 4
src/views/outsideChainwtnew.vue | 48
src/views/followvisit/complaint/index.vue | 1968 ++++++++++++
src/views/followvisit/tasklist/index.vue | 119
src/assets/styles/variables.scss | 8
src/views/complaint/complaintmy/index.vue | 1
src/views/followvisit/SpecificDisease/index.vue | 13
src/views/followvisit/again/index.vue | 17
src/assets/styles/sidebar.scss | 2
src/utils/sipService.js | 2
src/layout/components/TagsView/index.vue | 4
src/views/patient/questionnaire/index.vue | 11
src/views/followvisit/linem/index.vue | 3
src/views/followvisit/record/index.vue | 13
src/views/loginSSO.vue | 160
src/components/PatientSelection/index.vue | 585 +++
src/views/system/user/index.vue | 5
src/views/followvisit/record/physical/index.vue | 6
src/views/login.vue | 9
src/views/patient/shadow/index.vue | 11
src/views/patient/propaganda/particty.vue | 56
src/views/complaint/complaintlist/index.vue | 2
src/views/followvisit/discharge/index.vue | 46
src/views/patient/follow/index.vue | 5
63 files changed, 9,139 insertions(+), 664 deletions(-)
diff --git a/dist.zip b/dist.zip
new file mode 100644
index 0000000..15ef55a
--- /dev/null
+++ b/dist.zip
Binary files differ
diff --git a/src/api/AiCentre/index.js b/src/api/AiCentre/index.js
index a124c74..60f658f 100644
--- a/src/api/AiCentre/index.js
+++ b/src/api/AiCentre/index.js
@@ -10,3 +10,5 @@
export * from './patientexternal'
export * from './EChartsdata'
export * from './satisfactionse'
+export * from './satisfaction'
+
diff --git a/src/api/AiCentre/satisfaction.js b/src/api/AiCentre/satisfaction.js
new file mode 100644
index 0000000..1d72c6e
--- /dev/null
+++ b/src/api/AiCentre/satisfaction.js
@@ -0,0 +1,30 @@
+import request from "@/utils/request";
+
+// 澶栭摼鑾峰彇闅忚
+export function getScriptByCondition(data) {
+ return request({
+ url: "/smartor/servicetask/getScriptByCondition",
+ method: "post",
+ data: data
+ });
+}
+
+
+
+// 缂撳瓨闂嵎
+export function saveMYDQuestionAnswer(data) {
+ return request({
+ url: "/smartor/subtaskAnswer/saveMYDQuestionAnswer",
+ method: "post",
+ data: data
+ });
+}
+// 缂撳瓨闂嵎
+export function WLgetDept(orgid) {
+ return request({
+ url: "/getDept/" + orgid,
+ method: "get",
+ });
+}
+
+
diff --git a/src/assets/order/BHostClient.exe b/src/assets/order/BHostClient.exe
new file mode 100644
index 0000000..db7c9c7
--- /dev/null
+++ b/src/assets/order/BHostClient.exe
Binary files differ
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/assets/styles/element-variables.scss b/src/assets/styles/element-variables.scss
index 6baac93..eed9294 100644
--- a/src/assets/styles/element-variables.scss
+++ b/src/assets/styles/element-variables.scss
@@ -4,8 +4,8 @@
**/
/* theme color */
-$--color-primary: #3ba2f7;
-$--color-success: #13ce66;
+$--color-primary: #3664D9;
+$--color-success: #0ABC54;
$--color-warning: #ffba00;
$--color-danger: #ff4949;
// $--color-info: #1E1E1E;
diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss
index c1008b8..a73b9c6 100644
--- a/src/assets/styles/sidebar.scss
+++ b/src/assets/styles/sidebar.scss
@@ -15,7 +15,7 @@
-webkit-transition: width .28s;
transition: width 0.28s;
width: $base-sidebar-width !important;
- background: -webkit-linear-gradient(bottom, #3d6df8, #5b8cff);
+ // background: -webkit-linear-gradient(bottom, #3d6df8, #5b8cff);
height: 100%;
position: fixed;
diff --git a/src/assets/styles/variables.scss b/src/assets/styles/variables.scss
index b6400d0..8072a9a 100644
--- a/src/assets/styles/variables.scss
+++ b/src/assets/styles/variables.scss
@@ -13,15 +13,17 @@
// 榛樿鑿滃崟涓婚椋庢牸
$base-menu-color:#f7f8f8;
$base-menu-color-active:#f4f4f5;
-$base-menu-background:#5788fe;
+$base-menu-background:#1D42F5;
+// $base-menu-background:linear-gradient(90deg, #1D42F5, #6BAEF5);
+
$base-logo-title-color: #ffffff;
$base-menu-light-color:rgba(0,0,0,.70);
$base-menu-light-background:#59f97f;
$base-logo-light-title-color: #001529;
-$base-sub-menu-background:#99baed;
-$base-sub-menu-hover:#001528;
+$base-sub-menu-background:#aec6e8;
+$base-sub-menu-hover:#6eb8fc;
// 鑷畾涔夋殫鑹茶彍鍗曢鏍�
/**
diff --git a/src/components/CallButton/index.vue b/src/components/CallButton/index.vue
index 378376d..78ea734 100644
--- a/src/components/CallButton/index.vue
+++ b/src/components/CallButton/index.vue
@@ -44,10 +44,11 @@
sipStatus: "鏈繛鎺�",
sipStatusClass: "status-disconnected",
sipConfig: {
- wsUrl: "wss://192.169.129.198:7443",
- sipUri: `${randomNum}` + "@192.169.129.198",
- password: "heskj@1234",
+ wsUrl: "wss://1192.170.66.107:7443",
+ sipUri: `${randomNum}` + "@1192.170.66.107",
+ password: "Smartor@2023",
displayName: "Web 灏忛緳",
+ // realm: "9.208.5.18:8090",
},
};
},
@@ -78,7 +79,7 @@
},
},
mounted() {
- console.log("褰撳墠鍒嗘満鍙�", this.sipConfig);
+ console.log('褰撳墠鍒嗘満鍙�',this.sipConfig);
sipService.init(this.sipConfig);
sipService.onStatusChange = (status) => {
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/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue
index cc98071..3db09b7 100644
--- a/src/layout/components/TagsView/index.vue
+++ b/src/layout/components/TagsView/index.vue
@@ -265,9 +265,9 @@
margin-right: 15px;
}
&.active {
- background-color: #42b983;
+ background-color: #3664D9;
color: #fff;
- border-color: #42b983;
+ border-color: #3664D9;
&::before {
content: '';
background: #fff;
diff --git a/src/permission.js b/src/permission.js
index c36698f..e864e35 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -1,55 +1,68 @@
-import router from './router'
-import store from './store'
-import { Message } from 'element-ui'
-import NProgress from 'nprogress'
-import 'nprogress/nprogress.css'
-import { getToken } from '@/utils/auth'
-import { isRelogin } from '@/utils/request'
+import router from "./router";
+import store from "./store";
+import { Message } from "element-ui";
+import NProgress from "nprogress";
+import "nprogress/nprogress.css";
+import { getToken } from "@/utils/auth";
+import { isRelogin } from "@/utils/request";
-NProgress.configure({ showSpinner: false })
+NProgress.configure({ showSpinner: false });
-const whiteList = ['/login', '/auth-redirect', '/bind', '/register','/wt','/xj','/sf', '/outsideChain','/outsideChainwt','/outsideChainxj']
+const whiteList = [
+ "/login",
+ "/auth-redirect",
+ "/bind",
+ "/register",
+ "/wt",
+ "/xj",
+ "/sf",
+ "/satisfaction",
+ "/loginSSO",
+];
router.beforeEach((to, from, next) => {
- NProgress.start()
+ NProgress.start();
if (getToken()) {
- to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
+ to.meta.title && store.dispatch("settings/setTitle", to.meta.title);
/* has token*/
- if (to.path === '/login') {
- next({ path: '/' })
- NProgress.done()
+ if (to.path === "/login") {
+ next({ path: "/" });
+ NProgress.done();
} else {
if (store.getters.roles.length === 0) {
- isRelogin.show = true
+ isRelogin.show = true;
// 鍒ゆ柇褰撳墠鐢ㄦ埛鏄惁宸叉媺鍙栧畬user_info淇℃伅
- store.dispatch('GetInfo').then(() => {
- isRelogin.show = false
- store.dispatch('GenerateRoutes').then(accessRoutes => {
- // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛�
- router.addRoutes(accessRoutes) // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
- next({ ...to, replace: true }) // hack鏂规硶 纭繚addRoutes宸插畬鎴�
+ store
+ .dispatch("GetInfo")
+ .then(() => {
+ isRelogin.show = false;
+ store.dispatch("GenerateRoutes").then((accessRoutes) => {
+ // 鏍规嵁roles鏉冮檺鐢熸垚鍙闂殑璺敱琛�
+ router.addRoutes(accessRoutes); // 鍔ㄦ�佹坊鍔犲彲璁块棶璺敱琛�
+ next({ ...to, replace: true }); // hack鏂规硶 纭繚addRoutes宸插畬鎴�
+ });
})
- }).catch(err => {
- store.dispatch('LogOut').then(() => {
- Message.error(err)
- next({ path: '/' })
- })
- })
+ .catch((err) => {
+ store.dispatch("LogOut").then(() => {
+ Message.error(err);
+ next({ path: "/" });
+ });
+ });
} else {
- next()
+ next();
}
}
} else {
// 娌℃湁token
if (whiteList.indexOf(to.path) !== -1) {
// 鍦ㄥ厤鐧诲綍鐧藉悕鍗曪紝鐩存帴杩涘叆
- next()
+ next();
} else {
- next(`/login?redirect=${to.fullPath}`) // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤�
- NProgress.done()
+ next(`/login?redirect=${to.fullPath}`); // 鍚﹀垯鍏ㄩ儴閲嶅畾鍚戝埌鐧诲綍椤�
+ NProgress.done();
}
}
-})
+});
router.afterEach(() => {
- NProgress.done()
-})
+ NProgress.done();
+});
diff --git a/src/router/index.js b/src/router/index.js
index 84042a6..8fe8951 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -46,6 +46,11 @@
component: () => import('@/views/login'),
hidden: true
},
+ {
+ path: '/loginSSO',
+ component: () => import('@/views/loginSSO'),
+ hidden: true
+ },
{
path: '/sf',
component: () => import('@/views/outsideChainnew'),
@@ -62,6 +67,11 @@
hidden: true
},
{
+ path: '/satisfaction',
+ component: () => import('@/views/satisfaction'),
+ hidden: true
+ },
+ {
path: '/outsideChain',
component: () => import('@/views/outsideChain'),
hidden: true
diff --git a/src/smartor/dataobject/dw_patouthosp_base.vue b/src/smartor/dataobject/dw_patouthosp_base.vue
index afa2299..149458a 100644
--- a/src/smartor/dataobject/dw_patouthosp_base.vue
+++ b/src/smartor/dataobject/dw_patouthosp_base.vue
@@ -20,4 +20,4 @@
</el-form-item>
</el-form>
</div>
-</template>
\ No newline at end of file
+</template>
diff --git a/src/smartor/dataobject/dw_patouthosp_list.vue b/src/smartor/dataobject/dw_patouthosp_list.vue
index fcd5656..be13b64 100644
--- a/src/smartor/dataobject/dw_patouthosp_list.vue
+++ b/src/smartor/dataobject/dw_patouthosp_list.vue
@@ -21,4 +21,4 @@
</template>
<script>
-</script>
\ No newline at end of file
+</script>
diff --git a/src/store/getters.js b/src/store/getters.js
index 8e3a768..dfbad96 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -637,6 +637,131 @@
},
},
],
+ // 闅忚绫诲瀷
+ tasktypes: (state) => [
+ // {
+ // value: 16,
+ // label: "璇鹃闅忚",
+ // raw: {
+ // cssClass: "",
+ // listClass: "",
+ // },
+ // },
+
+ {
+ value: 2,
+ label: "鍑洪櫌闅忚",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ {
+ value: 3,
+ label: "闂ㄨ瘖闅忚",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ {
+ value: 4,
+ label: "瀹f暀鍏虫��",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ {
+ value: 5,
+ label: "澶嶈瘖绠$悊",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ {
+ value: 6,
+ label: "浣忛櫌婊℃剰搴�",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ {
+ value: 1,
+ label: "鐩戞祴璇勪及",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ {
+ value: 14,
+ label: "闂ㄨ瘖婊℃剰搴�",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ {
+ value: 15,
+ label: "鎶曡瘔寤鸿",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ {
+ value: 7,
+ label: "鎮h�呮姤鍛�",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+
+ {
+ value: 9,
+ label: "浣撴闅忚",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
+ },
+ // {
+ // value: 1",
+ // label: "鍖绘妧闅忚",
+ // raw: {
+ // cssClass: "",
+ // listClass: "",
+ // },
+ // },
+ // {
+ // value: 11,
+ // label: "褰卞儚闅忚",
+ // raw: {
+ // cssClass: "",
+ // listClass: "",
+ // },
+ // },
+ // {
+ // value: 12,
+ // label: "蹇冪數闅忚",
+ // raw: {
+ // cssClass: "",
+ // listClass: "",
+ // },
+ // },
+ // {
+ // value: "13",
+ // label: "涓撶梾闅忚",
+ // raw: {
+ // cssClass: "",
+ // listClass: "",
+ // },
+ // },
+ ],
};
export default getters;
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index ab91acf..08adc2f 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,226 +1,246 @@
-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: {
token: getToken(),
- name: '',
- nickName:'',
- Id: '',
- avatar: '',
- hisUserId:'',
- belongWards:[],
- belongDepts:[],
+ name: "",
+ nickName: "",
+ Id: "",
+ avatar: "",
+ hisUserId: "",
+ belongWards: [],
+ belongDepts: [],
roles: [],
permissions: [],
// 鏈嶅姟绫诲瀷
- Serviceauthority: [
- {
- value: "1",
- label: "鎮h�呮姤鍛�",
- route: "followvisit/QuestionnaireTask",
- raw: {
- cssClass: "",
- listClass: "",
+ Serviceauthority: [
+ {
+ value: "1",
+ label: "鎮h�呮姤鍛�",
+ route: "followvisit/QuestionnaireTask",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
},
- },
- {
- value: "2",
- label: "蹇冪數闅忚",
- 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: "3",
+ label: "浣撴闅忚",
+ route: "followvisit/particty",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
},
- },
- {
- value: "4",
- label: "瀹f暀鍏虫��",
- route: "followvisit/Missioncreation",
- raw: {
- cssClass: "",
- listClass: "",
+ {
+ value: "4",
+ label: "瀹f暀鍏虫��",
+ route: "followvisit/Missioncreation",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
},
- },
- {
- value: "5",
- label: "鍑洪櫌闅忚",
- route: "followvisit/particty",
- raw: {
- cssClass: "",
- listClass: "",
+ {
+ value: "5",
+ label: "鍑洪櫌闅忚",
+ route: "followvisit/particty",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
},
- },
- {
- value: "6",
- 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: "",
+ {
+ value: "7",
+ label: "閫氱煡鏈嶅姟",
+ route: "followvisit/Missioncreation",
+ raw: {
+ cssClass: "",
+ listClass: "",
+ },
},
- },
- ],
+ ],
},
mutations: {
SET_TOKEN: (state, token) => {
- state.token = token
+ state.token = token;
},
SET_NAME: (state, name) => {
- state.name = name
+ state.name = name;
},
SET_nickNAME: (state, name) => {
- state.nickName = name
+ state.nickName = name;
},
SET_Id: (state, Id) => {
- state.Id = Id
- console.log(state.Id,'user2');
-
+ state.Id = Id;
+ console.log(state.Id, "user2");
},
SET_AVATAR: (state, avatar) => {
- state.avatar = avatar
+ state.avatar = avatar;
},
SET_ROLES: (state, roles) => {
- state.roles = roles
+ state.roles = roles;
},
SET_PERMISSIONS: (state, permissions) => {
- state.permissions = permissions
+ state.permissions = permissions;
},
SET_Serviceauthority: (state, Serviceauthority) => {
- state.Serviceauthority = Serviceauthority
+ state.Serviceauthority = Serviceauthority;
},
SET_leavehospitaldistrictcodes: (state, belongWards) => {
- state.belongWards = belongWards
+ state.belongWards = belongWards;
},
SET_hisUserId: (state, hisUserId) => {
- state.hisUserId = hisUserId
+ state.hisUserId = hisUserId;
},
SET_leaveldeptcodes: (state, belongDepts) => {
- state.belongDepts = belongDepts
- }
+ state.belongDepts = belongDepts;
+ },
},
actions: {
// 鐧诲綍
Login({ commit }, userInfo) {
- console.log(userInfo,'user info');
+ console.log(userInfo, "user info");
- const username = userInfo.username.trim()
- const password = userInfo.password
- const code = userInfo.code
+ const username = userInfo.username.trim();
+ const password = userInfo.password;
+ const code = userInfo.code;
- const orgid = userInfo.orgid
+ const orgid = userInfo.orgid;
return new Promise((resolve, reject) => {
- login(username, password, code, orgid).then(res => {
- setToken(res.token)
- commit('SET_TOKEN', res.token)
- localStorage.setItem('orgid', orgid);
- 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()
- }).catch(error => {
- reject(error)
- })
- })
+ login(username, password, code, orgid)
+ .then((res) => {
+ setToken(res.token);
+ commit("SET_TOKEN", res.token);
+ localStorage.setItem("orgid", orgid);
+ if (orgid == "H41010500003") {
+ localStorage.setItem("orgname", "娌冲崡涓尰鑽ぇ瀛︾涓�闄勫睘鍖婚櫌");
+ localStorage.setItem("ZuHuID", "1400361376454545408"); // 璇锋浛鎹负瀹為檯鐨刏uHuID
+ localStorage.setItem("deptCode", "1017"); // 璇锋浛鎹负瀹為檯鐨勭瀹や唬鐮�
+ } else if (orgid == "H41082200269") {
+ localStorage.setItem("orgname", "鍗氱埍鍘夸汉姘戝尰闄�");
+ localStorage.setItem("ZuHuID", "1400360867068907520"); // 璇锋浛鎹负瀹為檯鐨刏uHuID
+ localStorage.setItem("deptCode", "01040201"); // 璇锋浛鎹负瀹為檯鐨勭瀹や唬鐮�
+ } else if (orgid == "H41078202417") {
+ localStorage.setItem("orgname", "杈夊幙甯備腑鍖婚櫌");
+ localStorage.setItem("ZuHuID", "1429338802177000002"); // 璇锋浛鎹负瀹為檯鐨刏uHuID
+ 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();
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ });
},
// 鑾峰彇鐢ㄦ埛淇℃伅
GetInfo({ commit, state }) {
return new Promise((resolve, reject) => {
- getInfo().then(res => {
-
- const user = res.user
- const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
- if (res.roles && res.roles.length > 0) { // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁�
- commit('SET_ROLES', res.roles)
- commit('SET_PERMISSIONS', res.permissions)
- } else {
- commit('SET_ROLES', ['ROLE_DEFAULT'])
- }
- commit('SET_NAME', user.userName)
- commit('SET_nickNAME', user.nickName)
- commit('SET_Id', user.userId)
- commit('SET_hisUserId', user.hisUserId)
- commit('SET_leavehospitaldistrictcodes', user.belongWards)
- commit('SET_leaveldeptcodes', user.belongDepts)
- commit('SET_AVATAR', avatar)
- resolve(res)
- }).catch(error => {
- reject(error)
- })
- })
+ getInfo()
+ .then((res) => {
+ const user = res.user;
+ const avatar =
+ user.avatar == "" || user.avatar == null
+ ? require("@/assets/images/profile.jpg")
+ : process.env.VUE_APP_BASE_API + user.avatar;
+ if (res.roles && res.roles.length > 0) {
+ // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁�
+ commit("SET_ROLES", res.roles);
+ commit("SET_PERMISSIONS", res.permissions);
+ } else {
+ commit("SET_ROLES", ["ROLE_DEFAULT"]);
+ }
+ commit("SET_NAME", user.userName);
+ commit("SET_nickNAME", user.nickName);
+ commit("SET_Id", user.userId);
+ commit("SET_hisUserId", user.hisUserId);
+ commit("SET_leavehospitaldistrictcodes", user.belongWards);
+ commit("SET_leaveldeptcodes", user.belongDepts);
+ commit("SET_AVATAR", avatar);
+ resolve(res);
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ });
},
// 閫�鍑虹郴缁�
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
- logout(state.token).then(() => {
- commit('SET_TOKEN', '')
- commit('SET_ROLES', [])
- commit('SET_PERMISSIONS', [])
- removeToken()
- resolve()
- }).catch(error => {
- reject(error)
- })
- })
+ logout(state.token)
+ .then(() => {
+ commit("SET_TOKEN", "");
+ commit("SET_ROLES", []);
+ commit("SET_PERMISSIONS", []);
+ removeToken();
+ resolve();
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ });
},
// 鍓嶇 鐧诲嚭
FedLogOut({ commit }) {
- return new Promise(resolve => {
- commit('SET_TOKEN', '')
- removeToken()
- resolve()
- })
- }
- }
-}
+ return new Promise((resolve) => {
+ commit("SET_TOKEN", "");
+ removeToken();
+ resolve();
+ });
+ },
+ },
+};
-export default user
+export default user;
diff --git a/src/utils/sipService.js b/src/utils/sipService.js
index 7b1f859..dbc4a4e 100644
--- a/src/utils/sipService.js
+++ b/src/utils/sipService.js
@@ -121,7 +121,7 @@
};
this.currentSession = this.ua.call(
- `sip:${targetNumber}@192.169.129.198`,
+ `sip:${targetNumber}@1192.170.66.107`,
options
);
diff --git a/src/views/complaint/complaintlist/index.vue b/src/views/complaint/complaintlist/index.vue
index fd0143e..fc26e66 100644
--- a/src/views/complaint/complaintlist/index.vue
+++ b/src/views/complaint/complaintlist/index.vue
@@ -80,7 +80,6 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
icon="el-icon-plus"
size="medium"
@click="handleAdd"
@@ -91,7 +90,6 @@
<el-col :span="1.5">
<el-button
type="success"
- plain
icon="el-icon-edit"
size="medium"
:disabled="single"
diff --git a/src/views/complaint/complaintmy/index.vue b/src/views/complaint/complaintmy/index.vue
index be34f6a..c8e61c2 100644
--- a/src/views/complaint/complaintmy/index.vue
+++ b/src/views/complaint/complaintmy/index.vue
@@ -51,7 +51,6 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
icon="el-icon-plus"
size="medium"
@click="handleAdd"
diff --git a/src/views/followvisit/SpecificDisease/index.vue b/src/views/followvisit/SpecificDisease/index.vue
index 424d6a5..755f1bd 100644
--- a/src/views/followvisit/SpecificDisease/index.vue
+++ b/src/views/followvisit/SpecificDisease/index.vue
@@ -138,8 +138,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -826,7 +825,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
@@ -1017,6 +1016,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh,drcode,drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC=='涓芥按甯備腑鍖婚櫌') {
this.postData.YeWuXX.YongHuXX.YongHuID = '1400398571877961728';
@@ -1445,10 +1446,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
diff --git a/src/views/followvisit/again/index.vue b/src/views/followvisit/again/index.vue
index daa9a30..92d569e 100644
--- a/src/views/followvisit/again/index.vue
+++ b/src/views/followvisit/again/index.vue
@@ -180,8 +180,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -928,7 +927,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
{
@@ -1427,6 +1426,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -1774,10 +1775,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
@@ -1822,7 +1825,9 @@
border-radius: 1px;
color: #ffffff;
}
-
+.button-textxga {
+ color: #de7897;
+}
::v-deep.el-radio-group {
span {
font-size: 24px;
diff --git a/src/views/followvisit/complaint/index.vue b/src/views/followvisit/complaint/index.vue
new file mode 100644
index 0000000..693e413
--- /dev/null
+++ b/src/views/followvisit/complaint/index.vue
@@ -0,0 +1,1968 @@
+<template>
+ <div class="app-container">
+ <div class="leftvlue" style="margin-bottom: 20px">
+ <el-row :gutter="10">
+ <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
+ <el-card
+ shadow="hover"
+ :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+ >
+ <div style="padding: 8px" @click="$router.push(item.router)">
+ <span>{{ item.name }}</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ item.value ? item.value : 0 }}
+ </div>
+ </div>
+ </el-card>
+ </el-col>
+ <el-col :span="2.5">
+ <div class="ysfleftvlue">
+ <el-card shadow="hover">
+ <div style="padding: 8px">
+ <span>琛ㄥ崟宸插彂閫�</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ yfsvalue }}
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </el-col>
+ <el-col :span="2.5">
+ <div class="errleftvlue">
+ <el-card shadow="hover">
+ <div style="padding: 8px">
+ <span>寮傚父</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ ycvalue }}
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <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.taskName"
+ placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+ ></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 label="鎮h�呭鍚�" prop="sendname">
+ <el-input
+ v-model="topqueryParams.sendname"
+ placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
+ <el-input
+ v-model="topqueryParams.leavediagname"
+ placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="闅忚浜哄憳" prop="updateBy">
+ <el-input
+ v-model="topqueryParams.updateBy"
+ placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="涓绘不鍖荤敓" prop="drname">
+ <el-input
+ v-model="topqueryParams.drname"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="缁忕鍖荤敓" prop="managementDoctor">
+ <el-input
+ v-model="topqueryParams.managementDoctor"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item label="鎮h�呰寖鍥�" prop="status">
+ <el-cascader
+ v-model="topqueryParams.scopetype"
+ placeholder="榛樿鍏ㄩ儴"
+ :options="sourcetype"
+ :props="{ expandTrigger: 'hover' }"
+ @change="handleChange"
+ ></el-cascader>
+ </el-form-item>
+
+ <el-form-item label="浠诲姟鐘舵��" prop="status">
+ <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in topicoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎺掑簭鏂瑰紡" prop="status">
+ <el-select v-model="topqueryParams.sort" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in topicoptionssort"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ size="medium"
+ @click="handleQuery(1)"
+ >鎼滅储</el-button
+ >
+ <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-divider></el-divider>
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-upload2"
+ size="medium"
+ @click="handleExport"
+ >瀵煎嚭</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ icon="el-icon-plus"
+ size="medium"
+ @click="handleAdd"
+ >鏂板</el-button
+ >
+ </el-col>
+
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-warning-outline"
+ size="medium"
+ @click="toleadExport(1)"
+ >鎵ц澶辫触</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-warning"
+ size="medium"
+ @click="toleadExport(2)"
+ >缁撴灉寮傚父</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="success"
+ plain
+ size="medium"
+ @click="buidegetTasklist()"
+ >寰呭姙鏈嶅姟</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="primary"
+ plain
+ size="medium"
+ @click="affiliation()"
+ >鏈汉鎵�灞炴湇鍔�</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button type="success" size="medium" @click="onthatday()"
+ >褰撴棩鏈嶅姟</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+
+ </el-row>
+ <el-table
+ v-loading="loading"
+ ref="userform"
+ :data="userList"
+ :row-class-name="tableRowClassName"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="50" align="center" />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ fixed
+ width="150"
+ show-overflow-tooltip
+ align="center"
+ key="taskName"
+ prop="taskName"
+ />
+ <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ key="sendname"
+ prop="sendname"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="
+ gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname)
+ "
+ ><span class="button-textsc">{{
+ scope.row.sendname
+ }}</span></el-button
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="浠诲姟鐘舵��"
+ align="center"
+ key="sendstate"
+ prop="sendstate"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="scope.row.remark"
+ placement="top-start"
+ >
+ <div v-if="scope.row.sendstate == 1">
+ <el-tag type="primary" :disable-transitions="false"
+ >琛ㄥ崟宸查鍙�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 2">
+ <el-tag type="primary" :disable-transitions="false"
+ >寰呴殢璁�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 3">
+ <el-tag type="success" :disable-transitions="false"
+ >琛ㄥ崟宸插彂閫�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 4">
+ <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+ </div>
+ <div v-if="scope.row.sendstate == 5">
+ <el-tag type="danger" :disable-transitions="false"
+ >鍙戦�佸け璐�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 6">
+ <el-tag type="success" :disable-transitions="false"
+ >宸插畬鎴�</el-tag
+ >
+ </div>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟寮傚父璇存槑"
+ width="120"
+ align="center"
+ key="remark"
+ prop="remark" -->
+ />
+
+ <el-table-column
+ label="澶勭悊鎰忚"
+ align="center"
+ key="suggest"
+ prop="suggest"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_suggest"
+ :value="scope.row.suggest"
+ />
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="闅忚瀹屾垚鏃堕棿"
+ sortable
+ align="center"
+ prop="finishtime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{ parseTime(scope.row.finishtime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍑洪櫌鏃ユ湡"
+ width="200"
+ align="center"
+ key="endtime"
+ prop="endtime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.endtime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
+ label="涓绘不鍖荤敓"
+ width="120"
+ align="center"
+ key="drname"
+ prop="drname"
+ />
+ <el-table-column
+ label="闅忚浜哄憳"
+ align="center"
+ key="updateBy"
+ prop="updateBy"
+ width="120"
+ />
+ <el-table-column
+ label="缁忕鍖荤敓"
+ align="center"
+ key="managementDoctor"
+ prop="managementDoctor"
+ width="120"
+ />
+ <el-table-column
+ label="鍑洪櫌澶╂暟"
+ width="120"
+ align="center"
+ key="endDay"
+ prop="endDay"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="韬唤璇佸彿鐮�"
+ width="200"
+ align="center"
+ key="sfzh"
+ prop="sfzh"
+ />
+ <el-table-column
+ label="鑱旂郴鐢佃瘽"
+ width="200"
+ align="center"
+ key="phone"
+ prop="phone"
+ />
+ <el-table-column
+ label="璐d换鎶ゅ+"
+ width="120"
+ align="center"
+ key="nurseName"
+ prop="nurseName"
+ />
+
+ <!-- <el-table-column
+ label="鐥呭巻鍙�"
+ align="center"
+ sortable
+ key="medicalRecordNo"
+ prop="medicalRecordNo"
+ width="120"
+ /> -->
+
+ <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> -->
+ <!-- <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex" /> -->
+ <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> -->
+ <el-table-column
+ label="绉戝"
+ align="center"
+ key="deptname"
+ prop="deptname"
+ width="120"
+ >
+ </el-table-column>
+ <el-table-column
+ label="鐥呭尯"
+ align="center"
+ key="leavehospitaldistrictname"
+ prop="leavehospitaldistrictname"
+ width="120"
+ >
+ </el-table-column>
+
+ <el-table-column
+ label="璇婃柇鍚嶇О"
+ align="center"
+ key="leavediagname"
+ prop="leavediagname"
+ width="120"
+ :show-overflow-tooltip="true"
+ >
+ </el-table-column>
+
+ <el-table-column
+ label="鎶曡瘔寤鸿妯℃澘鍚嶇О"
+ align="center"
+ key="templatename"
+ prop="templatename"
+ width="200"
+ />
+ <el-table-column
+ label="浠诲姟鎵ц鏂瑰紡"
+ align="center"
+ key="preachform"
+ prop="preachform"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟鍙戦�佹祦绋�"
+ align="center"
+ key="serviceSubtaskRecordList"
+ prop="serviceSubtaskRecordList"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.serviceSubtaskRecordList"
+ >{{ item.remark }}銆�
+ </span>
+ </template>
+ </el-table-column> -->
+ <el-table-column
+ label="浠诲姟缁撴灉璇存槑"
+ width="220"
+ align="center"
+ key="remark"
+ prop="remark"
+ >
+ <template slot-scope="scope" v-if="scope.row.remark">
+ <el-tooltip
+ :content="scope.row.remark"
+ placement="top"
+ effect="dark"
+ >
+ <el-tag
+ type="warning"
+ v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+ >{{ scope.row.remark }}</el-tag
+ >
+ <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ fixed="right"
+ width="300"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <!-- <el-tooltip
+ class="item"
+ effect="dark"
+ content="鍐嶆闅忚"
+ placement="top"
+ >
+ <el-button
+ size="medium"
+ type="text"
+ v-if="scope.row.isVisitAgain!=2"
+ @click="followupvisit(scope.row)"
+ ><span class="button-bb"
+ ><i class="el-icon-s-promotion"></i>鍐嶆闅忚</span
+ ></el-button
+ >
+ </el-tooltip>
+ <el-tooltip
+ v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2"
+ class="item"
+ effect="dark"
+ content="鏆傚仠鏈嶅姟"
+ placement="top"
+ >
+ <el-button
+ size="medium"
+ type="text"
+ @click="handlestop(scope.row)"
+ v-hasPermi="['system:user:edit']"
+ ><span class="button-sc"
+ ><i class="el-icon-remove-outline"></i>鏆傚仠鏈嶅姟</span
+ ></el-button
+ >
+ </el-tooltip> -->
+ <el-button size="medium" type="text" @click="Seedetails(scope.row)"
+ ><span class="button-zx"
+ ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
+ ></el-button
+ >
+ <el-button
+ size="medium"
+ type="text"
+ @click="handleUpdate(scope.row)"
+ ><span class="button-textxga"
+ ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
+ ></el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ :page.sync="topqueryParams.pageNum"
+ :limit.sync="topqueryParams.pageSize"
+ @pagination="getList"
+ />
+ </el-row>
+ <!-- 婊℃剰搴﹀脊妗� -->
+ <el-dialog
+ title="闅忚婊℃剰搴﹁瘎鍒�"
+ :visible.sync="scoreDialogVisible"
+ width="80%"
+ :close-on-click-modal="false"
+ >
+ <el-table :data="selectedRows" border style="width: 100%">
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ prop="sendname"
+ />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ width="180"
+ align="center"
+ prop="taskName"
+ />
+ <!-- 鏂板璇勫垎鍒� -->
+ <el-table-column
+ label="鐪熷疄鎬�(20)"
+ align="center"
+ key="authenticity"
+ prop="authenticity"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.authenticity"
+ :min="0"
+ :max="20"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="涓�鍛ㄥ唴瀹屾垚(20)"
+ align="center"
+ key="weekFinish"
+ prop="weekFinish"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.weekFinish"
+ :min="0"
+ :max="20"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瑙勮寖鎬�(10)"
+ align="center"
+ key="standard"
+ prop="standard"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.standard"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍙婃椂鎬�(10)"
+ align="center"
+ key="timeliness"
+ prop="timeliness"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.timeliness"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瀹f暀鎯呭喌(10)"
+ align="center"
+ key="library"
+ prop="library"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.library"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鐜婊℃剰搴�(10)"
+ align="center"
+ key="environment"
+ prop="environment"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.environment"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍖荤敓婊℃剰搴�(10)"
+ align="center"
+ key="doctorSatisfaction"
+ prop="doctorSatisfaction"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.doctorSatisfaction"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎶ゅ+婊℃剰搴�(10)"
+ align="center"
+ key="nurseSatisfaction"
+ prop="nurseSatisfaction"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.nurseSatisfaction"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎬诲垎"
+ align="center"
+ key="total"
+ prop="total"
+ fixed="right"
+ >
+ <template slot-scope="scope">
+ <span>{{ calculateTotal(scope.row) }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="scoreDialogVisible = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="saveScores">淇濆瓨</el-button>
+ </div>
+ </el-dialog>
+ <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
+ <el-dialog
+ :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
+ :visible.sync="Labelchange"
+ width="900px"
+ >
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="濮撳悕" width="100" prop="name">
+ <el-input
+ v-model="form.name"
+ placeholder="璇疯緭鍏ュ鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鎬у埆" width="100" prop="sex">
+ <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+ <el-option
+ v-for="dict in sextype"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="骞撮緞" prop="age">
+ <el-input
+ v-model="form.age"
+ placeholder="璇疯緭鍏ュ勾榫�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="8">
+ <el-form-item label="杩囨护鍖荤敓" width="100" prop="filterDrname">
+ <el-input
+ v-model="form.filterDrname"
+ placeholder="璇疯緭鍏ュ尰鐢熷鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="杩囨护鍘熷洜">
+ <el-input
+ v-model="form.notrequiredreason"
+ type="textarea"
+ placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ <!-- 淇敼鍙戦�佹椂闂村璇濇 -->
+ <el-dialog
+ title="鍙戦�佹椂闂磋缃�"
+ :visible.sync="modificationVisible"
+ width="45%"
+ >
+ <div style="margin-bottom: 20px; color: red">
+ 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿
+ </div>
+
+ <el-form
+ :model="ruleForm"
+ :rules="rules"
+ ref="ruleForm"
+ label-width="120px"
+ class="demo-ruleForm"
+ >
+ <el-form-item label="鍙戦�佹棩鏈�">
+ <el-date-picker
+ v-model="ruleForm.value1"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+
+ <el-form-item label="鏃堕棿娈�" prop="type">
+ <el-checkbox-group v-model="ruleForm.type">
+ <el-checkbox label="涓婂崍" name="type"></el-checkbox>
+ <el-checkbox label="涓嬪崍" name="type"></el-checkbox>
+ <el-checkbox label="鏅氫笂" name="type"></el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value2"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value3"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value4"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ </el-form>
+
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="modificationVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="modificationVisible = false"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <!-- 鍐嶆闅忚 -->
+
+ </div>
+</template>
+
+<script>
+import {
+ delUser,
+ addUser,
+ updateUser,
+ resetUserPwd,
+ changeUserStatus,
+} from "@/api/system/user";
+import {
+ getTaskservelist,
+ buidegetTasklist,
+ addserviceSubtask,
+ query360PatInfo,
+ addsatisfaction,
+} from "@/api/AiCentre/index";
+import { alterpatient, particularpatient } from "@/api/patient/homepage";
+import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+ name: "Discharge",
+ dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
+ components: { Treeselect },
+ data() {
+ return {
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+ userList: null,
+ // 寮瑰嚭灞傛爣棰�
+ title: "鏂板褰卞儚闅忚",
+ // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
+ addalteropen: false,
+ // 淇敼鍙戦�佹椂闂村璇濇
+ modificationVisible: false,
+ // 閮ㄩ棬鍚嶇О
+ deptName: undefined,
+ // 榛樿瀵嗙爜
+ initPassword: undefined,
+ // 鏃ユ湡鑼冨洿
+ dateRange: [],
+ dateRangefs: [],
+ // 宀椾綅閫夐」
+ postOptions: [],
+ ruleForm: {
+ type: [],
+ },
+ zcform: {},
+ dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+ inputVisible: false,
+ Labelchange: false,
+ ycvalue: "",
+ yfsvalue: "",
+ inputValue: "",
+ preachform: "",
+ previewVisible: false, //褰卞儚闅忚棰勮寮规
+ radio: "",
+ radios: [],
+ previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
+ total: 0, // 鎬绘潯鏁�
+ // 婊℃剰搴﹁皟鏌ユ暟鎹�
+ scoreDialogVisible: false,
+ selectedRows: [],
+
+ value: [],
+ list: [],
+
+ sourcetype: [
+ {
+ value: 1,
+ label: "绉戝",
+ children: [],
+ },
+ {
+ value: 2,
+ label: "鐥呭尯",
+ children: [],
+ },
+ {
+ value: 3,
+ label: "鍏ㄩ儴",
+ },
+ ],
+ loading: false,
+ cardlist: [
+ {
+ name: "鏈嶅姟鎬婚噺",
+ value: 0,
+ },
+ // {
+ // name: "鎮h�呰繃婊�",
+ // value: 0,
+ // },
+ {
+ name: "闇�闅忚",
+ value: 0,
+ },
+ {
+ name: "鍙戦�佸け璐�",
+ value: 0,
+ },
+ {
+ name: "寰呴殢璁�",
+ value: 0,
+ },
+ // {
+ // name: "宸插彂閫�",
+ // value: 0,
+ // },
+
+ // {
+ // name: "琛ㄥ崟宸插彂閫�",
+ // value: 0,
+ // },
+ ],
+ zcrules: {
+ date1: [
+ { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+ ],
+ resource: [
+ { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+ ],
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {
+ phonenumber: "",
+ totagid: "",
+ types: "",
+ nickName: "",
+ qystatus: "",
+ btstatus: "",
+ },
+ topicoptionssort: [
+ {
+ value: 0,
+ label: "鍑洪櫌鏃堕棿(姝e簭)",
+ },
+ {
+ value: 1,
+ label: "鍑洪櫌鏃堕棿(鍊掑簭)",
+ },
+ {
+ value: 2,
+ label: "鍙戦�佹椂闂�(姝e簭)",
+ },
+ {
+ value: 3,
+ label: "鍙戦�佹椂闂�(鍊掑簭)",
+ },
+ ],
+ // 鏌ヨ鍙傛暟
+ topqueryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ sendstate: 6,
+ sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
+ serviceType: 15,
+ searchscope: 3,
+ visitCount: 1,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ },
+ propss: { multiple: true },
+ options: [],
+
+ topicoptions: [
+ {
+ value: null,
+ label: "鍏ㄩ儴",
+ },
+ {
+ value: 1,
+ label: "琛ㄥ崟宸查鍙�",
+ },
+ {
+ value: 2,
+ label: "寰呴殢璁�",
+ },
+ {
+ value: 3,
+ label: "琛ㄥ崟宸插彂閫�",
+ },
+ {
+ value: 4,
+ label: "涓嶆墽琛�",
+ },
+ {
+ value: 5,
+ label: "鍙戦�佸け璐�",
+ },
+ {
+ value: 6,
+ label: "宸插畬鎴�",
+ },
+ ],
+ sextype: [
+ {
+ value: 1,
+ label: "鐢�",
+ },
+ {
+ value: 2,
+ label: "濂�",
+ },
+ ],
+ topicoptionsyj: [
+ {
+ value: 1,
+ label: "寮傚父",
+ },
+ {
+ value: 0,
+ label: "姝e父",
+ },
+ ],
+ url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+ postData: {
+ XiaoXiTou: {
+ FaSongFCSJC: "ZJHES",
+ FaSongJGID: localStorage.getItem("orgid"),
+ FaSongJGMC: localStorage.getItem("orgname"),
+ FaSongSJ: "2025-01-09聽17:29:36",
+ FaSongXTJC: "SUIFANGXT",
+ FaSongXTMC: "闅忚绯荤粺",
+ XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+ XiaoXiLX: "SC_LC_360STCX",
+ XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+ ZuHuID: localStorage.getItem("ZuHuID"),
+ ZuHuMC: localStorage.getItem("orgname"),
+ },
+ YeWuXX: {
+ BingRenXX: {
+ ZhengJianHM: "",
+ ZhengJianLXDM: "01",
+ ZhengJianLXMC: "灞呮皯韬唤璇�",
+ ZuZhiJGID: localStorage.getItem("orgid"),
+ ZuZhiJGMC: localStorage.getItem("orgname"),
+ },
+ YongHuXX: {
+ XiTongID: "SUIFANGXT",
+ XiTongMC: "闅忚绯荤粺",
+ YongHuID: "1400466972205912064",
+ YongHuXM: "JNRMYY",
+ ZuZhiJGID: localStorage.getItem("orgid"),
+ ZuZhiJGMC: localStorage.getItem("orgname"),
+ idp: "lyra",
+ },
+ },
+ },
+ amendtag: false,
+ errtype: "",
+ leavehospitaldistrictcode: "",
+ serviceState: [],
+ checkboxlist: [],
+ // 琛ㄥ崟鏍¢獙
+ rules: {},
+ };
+ },
+ watch: {},
+ created() {
+ this.serviceState = store.getters.serviceState;
+ this.checkboxlist = store.getters.checkboxlist;
+ this.errtype = this.$route.query.errtype;
+ this.leavehospitaldistrictcode =
+ this.$route.query.leavehospitaldistrictcode;
+ this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+ return {
+ label: dept.deptName,
+ value: dept.deptCode,
+ };
+ });
+ this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+ return {
+ label: dept.districtName,
+ value: dept.districtCode,
+ };
+ });
+ if (this.errtype) {
+ this.toleadExport(2);
+ } else {
+ this.getList(1);
+ }
+ this.getConfigKey("sys.user.initPassword").then((response) => {
+ this.initPassword = response.msg;
+ });
+ },
+ activated() {
+ this.getList(1);
+ },
+ methods: {
+ /** 鏌ヨ闅忚鏈嶅姟鍒楄〃 */
+ getList(refresh) {
+ // 榛樿鍏ㄩ儴
+
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ // 鎺ュ彈寮傚父璺宠浆
+ if (this.errtype) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(
+ this.leavehospitaldistrictcode
+ );
+ console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
+ }
+ this.loading = true;
+ if (
+ this.topqueryParams.leavehospitaldistrictcodes[0] &&
+ this.topqueryParams.leaveldeptcodes[0]
+ ) {
+ this.topqueryParams.deptOrDistrict = 2;
+ } else {
+ this.topqueryParams.deptOrDistrict = 1;
+ }
+ getTaskservelist(this.topqueryParams).then((response) => {
+ this.userList = response.rows[0].serviceSubtaskList;
+ this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ // this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[1].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[2].value = response.rows[0].fssb;
+ this.cardlist[3].value = response.rows[0].dsf;
+ // this.cardlist[4].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
+ this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
+ });
+ },
+ affiliation() {
+ this.topqueryParams.drcode = store.getters.hisUserId;
+ this.topqueryParams.nurseId = store.getters.hisUserId;
+ this.topqueryParams.managementDoctor = store.getters.name;
+ this.getList(1);
+ },
+ onthatday() {
+ this.topqueryParams.startSendDateTime = this.getCurrentDate();
+ this.topqueryParams.endSendDateTime = this.getCurrentDate();
+ this.getList(1);
+ },
+ getCurrentDate() {
+ const now = new Date();
+ return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
+ },
+ buidegetTasklist(type) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ // 鎺ュ彈寮傚父璺宠浆
+ if (this.errtype) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(
+ this.leavehospitaldistrictcode
+ );
+ }
+ let obj = {
+ pageNum: 1,
+ pageSize: 10,
+ leavehospitaldistrictcodes:
+ this.topqueryParams.leavehospitaldistrictcodes,
+ sendstates: [2, 3],
+ leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
+ };
+ buidegetTasklist(obj).then((response) => {
+ this.userList = response.rows[0].serviceSubtaskList;
+ this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[2].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[3].value = response.rows[0].fssb;
+ this.cardlist[4].value = response.rows[0].dsf;
+ // this.cardlist[5].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
+ this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
+ });
+ },
+ // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+ Referencequestion(row) {
+ this.previewVisible = true;
+ },
+ // 娣诲姞寮规鎼滅储
+ remoteMethod(query) {
+ if (query !== "") {
+ this.loading = true;
+ setTimeout(() => {
+ this.loading = false;
+ this.options = this.list.filter((item) => {
+ return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
+ });
+ }, 200);
+ } else {
+ this.options = [];
+ }
+ },
+ // 褰卞儚闅忚鐘舵�佷慨鏀�
+ handleStatusChange(row) {
+ let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+ this.$modal
+ .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
+ .then(function () {
+ return changeUserStatus(row.userId, row.status);
+ })
+ .then(() => {
+ this.$modal.msgSuccess(text + "鎴愬姛");
+ })
+ .catch(function () {
+ row.status = row.status === "0" ? "1" : "0";
+ });
+ },
+
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ userId: undefined,
+ deptId: undefined,
+ userName: undefined,
+ nickName: undefined,
+ password: undefined,
+ phonenumber: undefined,
+ email: undefined,
+ sex: undefined,
+ status: "0",
+ remark: undefined,
+ postIds: [],
+ roleIds: [],
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery(refresh) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ this.topqueryParams.pageNum = 1;
+ this.topqueryParams.startOutHospTime = this.dateRange[0];
+ this.topqueryParams.endOutHospTime = this.dateRange[1];
+ this.topqueryParams.startSendDateTime = this.dateRangefs[0];
+ this.topqueryParams.endSendDateTime = this.dateRangefs[1];
+ this.getList(refresh);
+ },
+ // 鎮h�呰寖鍥村鐞�
+ handleChange(value) {
+ let type = value[0];
+ let code = value.slice(-1)[0];
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.leaveldeptcodes = [];
+ if (type == 1) {
+ this.topqueryParams.leaveldeptcodes.push(code);
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.searchscope = 1;
+ } else if (type == 2) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(code);
+ this.topqueryParams.leaveldeptcodes = [];
+ this.topqueryParams.searchscope = 2;
+ } else {
+ this.topqueryParams.searchscope = 3;
+ }
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.dateRange = [];
+ this.dateRangefs = [];
+ this.topqueryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ sendstate: 6,
+ sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
+ serviceType: 15,
+ searchscope: 3,
+ visitCount: 1,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ };
+ this.handleQuery(1);
+ },
+ handleSelectionChange(rows) {
+ this.selectedRows = rows.map((row) => {
+ // 鍒濆鍖栬瘎鍒嗗瓧娈�
+ return {
+ ...row,
+ authenticity: row.authenticity || 0,
+ weekFinish: row.weekFinish || 0,
+ standard: row.standard || 0,
+ timeliness: row.timeliness || 0,
+ library: row.library || 0,
+ environment: row.environment || 0,
+ doctorSatisfaction: row.doctorSatisfaction || 0,
+ nurseSatisfaction: row.nurseSatisfaction || 0,
+ };
+ });
+
+ if (this.selectedRows.length > 0) {
+ this.multiple = false;
+ } else {
+ this.multiple = true;
+ }
+ },
+
+ // 璁$畻鎬诲垎
+ calculateTotal(row) {
+ return (
+ (row.authenticity || 0) +
+ (row.weekFinish || 0) +
+ (row.standard || 0) +
+ (row.timeliness || 0) +
+ (row.library || 0) +
+ (row.environment || 0) +
+ (row.doctorSatisfaction || 0) +
+ (row.nurseSatisfaction || 0)
+ );
+ },
+
+ // 淇濆瓨璇勫垎
+ saveScores() {
+ this.selectedRows.forEach((item) => {
+ item.createBy = null;
+ item.patName = item.sendname;
+ item.hospitaldistrictname = item.leavehospitaldistrictname;
+ });
+ addsatisfaction(this.selectedRows).then((res) => {
+ if (res.code == 200) {
+ this.$message.success("璇勫垎淇濆瓨鎴愬姛");
+ this.scoreDialogVisible = false;
+ this.selectedRows=[];
+ this.$refs.userform.clearSelection()
+ } else {
+ this.$modal.msgWarning("璇勫垎淇濆瓨澶辫触");
+ this.scoreDialogVisible = false;
+ this.selectedRows=[];
+ this.$refs.userform.clearSelection()
+ }
+ });
+ // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎
+ },
+ //鍒犻櫎閫夐」
+ handleClose(tag) {
+ this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+ },
+ //瑙﹀彂鏂板杈撳叆
+ showInput() {
+ this.inputVisible = true;
+ this.$nextTick((_) => {
+ this.$refs.saveTagInput.$refs.input.focus();
+ });
+ },
+ //鑾峰彇澶卞幓鐒︾偣瑙﹀彂
+ handleInputConfirm() {
+ let inputValue = this.inputValue;
+ if (inputValue) {
+ this.dynamicTags.push(inputValue);
+ }
+ this.inputVisible = false;
+ this.inputValue = "";
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.$router.push({
+ path: "/followvisit/QuestionnaireTask",
+ query: {
+ type: 2,
+ serviceType: 15,
+ },
+ });
+ },
+ //鎮h��360璺宠浆
+ gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
+ this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+ if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+ this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+ this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+ }
+ query360PatInfo(this.postData).then((res) => {
+ if (res.data.url) {
+ window.open(res.data.url, "_blank");
+ // this.linkUrl = res.data.url;
+ } else {
+ this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+ }
+ });
+ },
+
+ /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
+ handleResetPwd(row) {
+ this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ closeOnClickModal: false,
+ inputPattern: /^.{5,20}$/,
+ inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+ })
+ .then(({ value }) => {
+ resetUserPwd(row.userId, value).then((response) => {
+ this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value);
+ });
+ })
+ .catch(() => {});
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.Labelchange = false;
+ this.reset();
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm: function () {
+ this.$refs["form"].validate((valid) => {
+ if (valid) {
+ this.form.isoperation = 2;
+ this.form.notrequiredFlag = 1;
+ alterpatient(this.form)
+ .then((response) => {
+ console.log(response);
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
+ });
+
+ this.reset();
+ this.Labelchange = false;
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const userIds = row.userId || this.ids;
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+ .then(function () {
+ return delUser(userIds);
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 鍏ㄩ儴鍋滄
+ AllStop() {
+ this.$modal
+ .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�")
+ .then(function () {
+ return console.log("鍋滄鎴愬姛");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgWarning("鍋滄鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 鍏ㄩ儴寮�濮�
+ AllStarted() {
+ this.$modal
+ .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵")
+ .then(function () {
+ return console.log("寮�鍚垚鍔�");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("寮�鍚垚鍔�");
+ })
+ .catch(() => {});
+ },
+ // 浠诲姟閲嶇疆
+ TaskReset() {
+ this.$modal
+ .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�")
+ .then(function () {
+ return console.log("閫変腑鎴愬姛");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("閲嶇疆鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 璁剧疆鍙戦�佹椂闂�
+ Sendtimesetting() {
+ this.modificationVisible = true;
+ },
+ // 璺宠浆璇︽儏椤�
+ Seedetails(row) {
+ let type = "";
+ console.log(row, "rwo");
+ if (row.preachformson) {
+ if (row.preachformson.includes("3")) {
+ type = 1;
+ }
+ }
+ this.$router.push({
+ path: "/followvisit/record/detailpage/",
+ query: {
+ taskid: row.taskid,
+ patid: row.patid,
+ id: row.id,
+ Voicetype: type,
+ visitCount: this.topqueryParams.visitCount,
+ },
+ });
+ },
+
+ onSubmit() {},
+ // 鏆傚仠鏈嶅姟
+ handlestop(row) {
+ let objson = row;
+ this.$modal
+ .confirm(
+ '鏄惁纭鏆傚仠浠诲姟鍚嶇О涓�"' +
+ row.taskName +
+ '鎮h�呭悕绉颁负"' +
+ row.sendname +
+ '"鐨勬暟鎹」锛�'
+ )
+ .then(() => {
+ getTaskservelist({
+ patid: row.patid,
+ taskid: row.taskid,
+ }).then((res) => {
+ if (res.code == 200) {
+ objson.sendstate = 4;
+ objson.remark = "鏈嶅姟鏆傚仠";
+ Editsingletaskson(objson).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("璁板綍鎴愬姛");
+ this.getList(1);
+ }
+ });
+ }
+ });
+ })
+ .catch(() => {});
+ },
+ // 鎮h�呰繃婊よЕ鍙�
+ handleUpdate(row) {
+ particularpatient(row.patid).then((response) => {
+ this.form = response.data;
+ this.form.filterDrname = store.getters.nickName;
+ });
+ this.amendtag = true;
+ this.Labelchange = true;
+ },
+ // 渚挎嵎鎸夐挳
+ toleadExport(too) {
+ if (too == 1) {
+ this.topqueryParams.sendstate = 4;
+ this.topqueryParams.excep = null;
+ } else if (too == 2) {
+ this.topqueryParams.excep = 1;
+ }
+ this.handleQuery();
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.topqueryParams.pageNum = null;
+ this.topqueryParams.pageSize = null;
+ this.download(
+ "smartor/serviceSubtask/patItemExport",
+ {
+ ...this.topqueryParams,
+ },
+ `user_${new Date().getTime()}.xlsx`
+ );
+ },
+ // 寮傚父鍒楁覆鏌�
+ tableRowClassName({ row, rowIndex }) {
+ if (row.excep == 1) {
+ return "warning-row";
+ }
+ return "";
+ },
+
+ getCurrentTime() {
+ const now = new Date();
+ const year = now.getFullYear();
+ const month = String(now.getMonth() + 1).padStart(2, "0");
+ const day = String(now.getDate()).padStart(2, "0");
+ const hours = String(now.getHours()).padStart(2, "0");
+ const minutes = String(now.getMinutes()).padStart(2, "0");
+ const seconds = String(now.getSeconds()).padStart(2, "0");
+
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-button--primary.is-plain {
+ color: #ffffff;
+ background: #409eff;
+ border-color: #4fabe9;
+}
+
+.document {
+ // width: 100px;
+ height: 50px;
+}
+::v-deep.el-table .warning-row {
+ background: #eec4c4;
+}
+
+.documentf {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.download {
+ text-align: center;
+
+ .el-upload__tip {
+ font-size: 23px;
+ }
+
+ .el-upload__text {
+ font-size: 23px;
+ }
+}
+
+.uploading {
+ margin-top: 20px;
+ margin: 20px;
+ padding: 30px;
+ background: #ffffff;
+ 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);
+}
+
+.el-tag + .el-tag {
+ margin-left: 10px;
+}
+
+.button-new-tag {
+ margin-left: 10px;
+ height: 32px;
+ line-height: 30px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+.input-new-tag {
+ width: 90px;
+ margin-left: 10px;
+ vertical-align: bottom;
+}
+
+.drexamine {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 30px;
+ background: #daeaf5;
+
+ img {
+ width: 100px;
+ height: 100px;
+ }
+}
+
+.qrcode-dialo {
+ // text-align: center;
+ // display: flex;
+ margin: 20px;
+ 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);
+
+ .topic-dev {
+ margin-bottom: 25px;
+ font-size: 20px !important;
+
+ .dev-text {
+ margin-bottom: 10px;
+ }
+ }
+}
+::v-deep.leftvlue .el-card__body {
+ background: #F2F8FF;
+ color: #324A9B;
+}
+::v-deep.leftvlue .el-card__body:hover {
+ background: #3664D9;
+ color: #fff;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+::v-deep.errleftvlue .el-card__body {
+ background: #fdd0d7;
+}
+::v-deep.errleftvlue .el-card__body:hover {
+ background: #f88d96;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+
+::v-deep.ysfleftvlue .el-card__body {
+ background: #d0fdd8;
+}
+::v-deep.ysfleftvlue .el-card__body:hover {
+ background: #8df8a4;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+.button-bb {
+ font-weight: 500;
+ background-color: #2ba05c;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-xq {
+ font-weight: 500;
+ background-color: #409eff;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-sc {
+ font-weight: 500;
+ background-color: #b3a21f;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-zx {
+ background: #4fabe9;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+
+::v-deep.el-radio-group {
+ span {
+ font-size: 24px;
+ }
+}
+.purple-button {
+ background-color: #7e22ce;
+ border-color: #7e22ce;
+ color: #fff;
+}
+
+.purple-button:hover,
+.purple-button:focus {
+ background-color: #9333ea;
+ border-color: #9333ea;
+}
+
+.purple-button:active {
+ background-color: #6b21a8;
+ border-color: #6b21a8;
+}
+.button-textxga {
+ color: #de7897;
+}
+.purple-button.is-disabled {
+ background-color: #d8b4fe;
+ border-color: #d8b4fe;
+ opacity: 1; /* 淇濇寔绂佺敤鐘舵�侀�忔槑搴� */
+}
+// 閫夐」瀛椾綋鏀惧ぇ
+// ::v-deep.el-checkbox-group {
+// span {
+// font-size: 24px;
+// }
+// }
+</style>
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index 5e47a60..1e700f1 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -181,7 +181,7 @@
</el-form>
<el-divider></el-divider>
<el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<div class="documentf">
<div class="document">
<el-button
@@ -194,11 +194,10 @@
>
</div>
</div>
- </el-col>
+ </el-col> -->
<el-col :span="1.5">
<el-button
type="primary"
- plain
icon="el-icon-plus"
size="medium"
@click="handleAdd"
@@ -252,7 +251,6 @@
<div class="document">
<el-button
type="primary"
- plain
size="medium"
@click="affiliation()"
>鏈汉鎵�灞炴湇鍔�</el-button
@@ -269,7 +267,7 @@
</div>
</div>
</el-col>
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<div class="documentf">
<div class="document">
<el-tooltip
@@ -290,7 +288,7 @@
</el-tooltip>
</div>
</div>
- </el-col>
+ </el-col> -->
</el-row>
<el-table
v-loading="loading"
@@ -859,7 +857,7 @@
</el-form-item>
</el-col>
</el-row>
- <el-row >
+ <el-row>
<el-col :span="8">
<el-form-item label="杩囨护鍖荤敓" width="100" prop="filterDrname">
<el-input
@@ -1143,7 +1141,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
{
@@ -1408,8 +1406,7 @@
});
},
affiliation() {
-
- this.topqueryParams.managementDoctorCode= store.getters.hisUserId;
+ this.topqueryParams.managementDoctor = store.getters.hisUserId;
this.getList(1);
},
onthatday() {
@@ -1635,13 +1632,13 @@
if (res.code == 200) {
this.$message.success("璇勫垎淇濆瓨鎴愬姛");
this.scoreDialogVisible = false;
- this.selectedRows=[];
- this.$refs.userform.clearSelection()
+ this.selectedRows = [];
+ this.$refs.userform.clearSelection();
} else {
this.$modal.msgWarning("璇勫垎淇濆瓨澶辫触");
this.scoreDialogVisible = false;
- this.selectedRows=[];
- this.$refs.userform.clearSelection()
+ this.selectedRows = [];
+ this.$refs.userform.clearSelection();
}
});
// 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎
@@ -1678,6 +1675,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning("360鍔熻兘鏆傛湭寮�閫�");
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -1883,6 +1882,8 @@
tableRowClassName({ row, rowIndex }) {
if (row.excep == 1) {
return "warning-row";
+ } else if (row.excep == 2) {
+ return "remind-row";
}
return "";
},
@@ -1945,6 +1946,9 @@
}
::v-deep.el-table .warning-row {
background: #eec4c4;
+}
+::v-deep.el-table .remind-row {
+ background: #fcf5aa;
}
.documentf {
@@ -2025,10 +2029,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #f2f8ff;
+ color: #324a9b;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664d9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
@@ -2043,7 +2049,7 @@
background: #d0fdd8;
}
::v-deep.ysfleftvlue .el-card__body:hover {
- background: #8df8a4;
+ background: #0abc54;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
.button-bb {
@@ -2068,7 +2074,7 @@
color: #ffffff;
}
.button-zx {
- background: #4fabe9;
+ background: #324a9b;
padding: 5px;
border-radius: 1px;
color: #ffffff;
@@ -2095,7 +2101,9 @@
background-color: #6b21a8;
border-color: #6b21a8;
}
-
+.button-textxga {
+ color: #de7897;
+}
.purple-button.is-disabled {
background-color: #d8b4fe;
border-color: #d8b4fe;
diff --git a/src/views/followvisit/discharge/outpatientService.vue b/src/views/followvisit/discharge/outpatientService.vue
index 4895852..f0acb01 100644
--- a/src/views/followvisit/discharge/outpatientService.vue
+++ b/src/views/followvisit/discharge/outpatientService.vue
@@ -186,8 +186,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -917,7 +916,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
{
@@ -1399,6 +1398,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -1745,10 +1746,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
@@ -1766,6 +1769,9 @@
background: #8df8a4;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
+.button-textxga {
+ color: #de7897;
+}
.button-bb {
font-weight: 500;
background-color: #2ba05c;
diff --git a/src/views/followvisit/linem/index.vue b/src/views/followvisit/linem/index.vue
index aec5093..0c44e9f 100644
--- a/src/views/followvisit/linem/index.vue
+++ b/src/views/followvisit/linem/index.vue
@@ -7,8 +7,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
v-hasPermi="['system:user:add']"
diff --git a/src/views/followvisit/mzsatisfaction/index.vue b/src/views/followvisit/mzsatisfaction/index.vue
new file mode 100644
index 0000000..f4c808c
--- /dev/null
+++ b/src/views/followvisit/mzsatisfaction/index.vue
@@ -0,0 +1,1973 @@
+<template>
+ <div class="app-container">
+ <div class="leftvlue" style="margin-bottom: 20px">
+ <el-row :gutter="10">
+ <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
+ <el-card
+ shadow="hover"
+ :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+ >
+ <div style="padding: 8px" @click="$router.push(item.router)">
+ <span>{{ item.name }}</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ item.value ? item.value : 0 }}
+ </div>
+ </div>
+ </el-card>
+ </el-col>
+ <el-col :span="2.5">
+ <div class="ysfleftvlue">
+ <el-card shadow="hover">
+ <div style="padding: 8px">
+ <span>琛ㄥ崟宸插彂閫�</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ yfsvalue }}
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </el-col>
+ <el-col :span="2.5">
+ <div class="errleftvlue">
+ <el-card shadow="hover">
+ <div style="padding: 8px">
+ <span>寮傚父</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ ycvalue }}
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <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.taskName"
+ placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+ ></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 label="鎮h�呭鍚�" prop="sendname">
+ <el-input
+ v-model="topqueryParams.sendname"
+ placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
+ <el-input
+ v-model="topqueryParams.leavediagname"
+ placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="闅忚浜哄憳" prop="updateBy">
+ <el-input
+ v-model="topqueryParams.updateBy"
+ placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="涓绘不鍖荤敓" prop="drname">
+ <el-input
+ v-model="topqueryParams.drname"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="缁忕鍖荤敓" prop="managementDoctor">
+ <el-input
+ v-model="topqueryParams.managementDoctor"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item label="鎮h�呰寖鍥�" prop="status">
+ <el-cascader
+ v-model="topqueryParams.scopetype"
+ placeholder="榛樿鍏ㄩ儴"
+ :options="sourcetype"
+ :props="{ expandTrigger: 'hover' }"
+ @change="handleChange"
+ ></el-cascader>
+ </el-form-item>
+
+ <el-form-item label="浠诲姟鐘舵��" prop="status">
+ <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in topicoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎺掑簭鏂瑰紡" prop="status">
+ <el-select v-model="topqueryParams.sort" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in topicoptionssort"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ size="medium"
+ @click="handleQuery(1)"
+ >鎼滅储</el-button
+ >
+ <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-divider></el-divider>
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-upload2"
+ size="medium"
+ @click="handleExport"
+ >瀵煎嚭</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ icon="el-icon-plus"
+ size="medium"
+ @click="handleAdd"
+ >鏂板</el-button
+ >
+ </el-col>
+
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-warning-outline"
+ size="medium"
+ @click="toleadExport(1)"
+ >鎵ц澶辫触</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-warning"
+ size="medium"
+ @click="toleadExport(2)"
+ >缁撴灉寮傚父</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="success"
+ plain
+ size="medium"
+ @click="buidegetTasklist()"
+ >寰呭姙鏈嶅姟</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="primary"
+ plain
+ size="medium"
+ @click="affiliation()"
+ >鏈汉鎵�灞炴湇鍔�</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button type="success" size="medium" @click="onthatday()"
+ >褰撴棩鏈嶅姟</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+
+ </el-row>
+ <el-table
+ v-loading="loading"
+ ref="userform"
+ :data="userList"
+ :row-class-name="tableRowClassName"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="50" align="center" />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ fixed
+ width="150"
+ show-overflow-tooltip
+ align="center"
+ key="taskName"
+ prop="taskName"
+ />
+ <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ key="sendname"
+ prop="sendname"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="
+ gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname)
+ "
+ ><span class="button-textsc">{{
+ scope.row.sendname
+ }}</span></el-button
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="浠诲姟鐘舵��"
+ align="center"
+ key="sendstate"
+ prop="sendstate"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="scope.row.remark"
+ placement="top-start"
+ >
+ <div v-if="scope.row.sendstate == 1">
+ <el-tag type="primary" :disable-transitions="false"
+ >琛ㄥ崟宸查鍙�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 2">
+ <el-tag type="primary" :disable-transitions="false"
+ >寰呴殢璁�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 3">
+ <el-tag type="success" :disable-transitions="false"
+ >琛ㄥ崟宸插彂閫�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 4">
+ <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+ </div>
+ <div v-if="scope.row.sendstate == 5">
+ <el-tag type="danger" :disable-transitions="false"
+ >鍙戦�佸け璐�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 6">
+ <el-tag type="success" :disable-transitions="false"
+ >宸插畬鎴�</el-tag
+ >
+ </div>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟寮傚父璇存槑"
+ width="120"
+ align="center"
+ key="remark"
+ prop="remark" -->
+ />
+
+ <el-table-column
+ label="澶勭悊鎰忚"
+ align="center"
+ key="suggest"
+ prop="suggest"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_suggest"
+ :value="scope.row.suggest"
+ />
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="闅忚瀹屾垚鏃堕棿"
+ sortable
+ align="center"
+ prop="finishtime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{ parseTime(scope.row.finishtime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍑洪櫌鏃ユ湡"
+ width="200"
+ align="center"
+ key="endtime"
+ prop="endtime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.endtime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
+ label="涓绘不鍖荤敓"
+ width="120"
+ align="center"
+ key="drname"
+ prop="drname"
+ />
+ <el-table-column
+ label="闅忚浜哄憳"
+ align="center"
+ key="updateBy"
+ prop="updateBy"
+ width="120"
+ />
+ <el-table-column
+ label="缁忕鍖荤敓"
+ align="center"
+ key="managementDoctor"
+ prop="managementDoctor"
+ width="120"
+ />
+ <el-table-column
+ label="鍑洪櫌澶╂暟"
+ width="120"
+ align="center"
+ key="endDay"
+ prop="endDay"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="韬唤璇佸彿鐮�"
+ width="200"
+ align="center"
+ key="sfzh"
+ prop="sfzh"
+ />
+ <el-table-column
+ label="鑱旂郴鐢佃瘽"
+ width="200"
+ align="center"
+ key="phone"
+ prop="phone"
+ />
+ <el-table-column
+ label="璐d换鎶ゅ+"
+ width="120"
+ align="center"
+ key="nurseName"
+ prop="nurseName"
+ />
+
+ <!-- <el-table-column
+ label="鐥呭巻鍙�"
+ align="center"
+ sortable
+ key="medicalRecordNo"
+ prop="medicalRecordNo"
+ width="120"
+ /> -->
+
+ <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> -->
+ <!-- <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex" /> -->
+ <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> -->
+ <el-table-column
+ label="绉戝"
+ align="center"
+ key="deptname"
+ prop="deptname"
+ width="120"
+ >
+ </el-table-column>
+ <el-table-column
+ label="鐥呭尯"
+ align="center"
+ key="leavehospitaldistrictname"
+ prop="leavehospitaldistrictname"
+ width="120"
+ >
+ </el-table-column>
+
+ <el-table-column
+ label="璇婃柇鍚嶇О"
+ align="center"
+ key="leavediagname"
+ prop="leavediagname"
+ width="120"
+ :show-overflow-tooltip="true"
+ >
+ </el-table-column>
+
+ <el-table-column
+ label="闂ㄨ瘖婊℃剰搴︽ā鏉垮悕绉�"
+ align="center"
+ key="templatename"
+ prop="templatename"
+ width="200"
+ />
+ <el-table-column
+ label="浠诲姟鎵ц鏂瑰紡"
+ align="center"
+ key="preachform"
+ prop="preachform"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟鍙戦�佹祦绋�"
+ align="center"
+ key="serviceSubtaskRecordList"
+ prop="serviceSubtaskRecordList"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.serviceSubtaskRecordList"
+ >{{ item.remark }}銆�
+ </span>
+ </template>
+ </el-table-column> -->
+ <el-table-column
+ label="浠诲姟缁撴灉璇存槑"
+ width="220"
+ align="center"
+ key="remark"
+ prop="remark"
+ >
+ <template slot-scope="scope" v-if="scope.row.remark">
+ <el-tooltip
+ :content="scope.row.remark"
+ placement="top"
+ effect="dark"
+ >
+ <el-tag
+ type="warning"
+ v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+ >{{ scope.row.remark }}</el-tag
+ >
+ <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ fixed="right"
+ width="300"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <el-button size="medium" type="text" @click="Seedetails(scope.row)"
+ ><span class="button-zx"
+ ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
+ ></el-button
+ >
+ <el-button
+ size="medium"
+ type="text"
+ @click="handleUpdate(scope.row)"
+ ><span class="button-textxga"
+ ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
+ ></el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ :page.sync="topqueryParams.pageNum"
+ :limit.sync="topqueryParams.pageSize"
+ @pagination="getList"
+ />
+ </el-row>
+ <!-- 婊℃剰搴﹀脊妗� -->
+ <el-dialog
+ title="闅忚婊℃剰搴﹁瘎鍒�"
+ :visible.sync="scoreDialogVisible"
+ width="80%"
+ :close-on-click-modal="false"
+ >
+ <el-table :data="selectedRows" border style="width: 100%">
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ prop="sendname"
+ />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ width="180"
+ align="center"
+ prop="taskName"
+ />
+ <!-- 鏂板璇勫垎鍒� -->
+ <el-table-column
+ label="鐪熷疄鎬�(20)"
+ align="center"
+ key="authenticity"
+ prop="authenticity"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.authenticity"
+ :min="0"
+ :max="20"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="涓�鍛ㄥ唴瀹屾垚(20)"
+ align="center"
+ key="weekFinish"
+ prop="weekFinish"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.weekFinish"
+ :min="0"
+ :max="20"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瑙勮寖鎬�(10)"
+ align="center"
+ key="standard"
+ prop="standard"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.standard"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍙婃椂鎬�(10)"
+ align="center"
+ key="timeliness"
+ prop="timeliness"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.timeliness"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瀹f暀鎯呭喌(10)"
+ align="center"
+ key="library"
+ prop="library"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.library"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鐜婊℃剰搴�(10)"
+ align="center"
+ key="environment"
+ prop="environment"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.environment"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍖荤敓婊℃剰搴�(10)"
+ align="center"
+ key="doctorSatisfaction"
+ prop="doctorSatisfaction"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.doctorSatisfaction"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎶ゅ+婊℃剰搴�(10)"
+ align="center"
+ key="nurseSatisfaction"
+ prop="nurseSatisfaction"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.nurseSatisfaction"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎬诲垎"
+ align="center"
+ key="total"
+ prop="total"
+ fixed="right"
+ >
+ <template slot-scope="scope">
+ <span>{{ calculateTotal(scope.row) }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="scoreDialogVisible = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="saveScores">淇濆瓨</el-button>
+ </div>
+ </el-dialog>
+ <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
+ <el-dialog
+ :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
+ :visible.sync="Labelchange"
+ width="900px"
+ >
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="濮撳悕" width="100" prop="name">
+ <el-input
+ v-model="form.name"
+ placeholder="璇疯緭鍏ュ鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鎬у埆" width="100" prop="sex">
+ <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+ <el-option
+ v-for="dict in sextype"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="骞撮緞" prop="age">
+ <el-input
+ v-model="form.age"
+ placeholder="璇疯緭鍏ュ勾榫�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="杩囨护鍖荤敓" width="100" prop="filterDrname">
+ <el-input
+ v-model="form.filterDrname"
+ placeholder="璇疯緭鍏ュ尰鐢熷鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="杩囨护鍘熷洜">
+ <el-input
+ v-model="form.notrequiredreason"
+ type="textarea"
+ placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ <!-- 淇敼鍙戦�佹椂闂村璇濇 -->
+ <el-dialog
+ title="鍙戦�佹椂闂磋缃�"
+ :visible.sync="modificationVisible"
+ width="45%"
+ >
+ <div style="margin-bottom: 20px; color: red">
+ 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿
+ </div>
+
+ <el-form
+ :model="ruleForm"
+ :rules="rules"
+ ref="ruleForm"
+ label-width="120px"
+ class="demo-ruleForm"
+ >
+ <el-form-item label="鍙戦�佹棩鏈�">
+ <el-date-picker
+ v-model="ruleForm.value1"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+
+ <el-form-item label="鏃堕棿娈�" prop="type">
+ <el-checkbox-group v-model="ruleForm.type">
+ <el-checkbox label="涓婂崍" name="type"></el-checkbox>
+ <el-checkbox label="涓嬪崍" name="type"></el-checkbox>
+ <el-checkbox label="鏅氫笂" name="type"></el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value2"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value3"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value4"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ </el-form>
+
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="modificationVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="modificationVisible = false"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <!-- 鍐嶆闅忚 -->
+ <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible">
+ <el-form ref="zcform" :rules="zcrules" :model="zcform" label-width="80px">
+ <el-form-item label="浠诲姟鍚嶇О">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.taskName"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鎮h�呭悕绉�">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.sendname"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="骞撮緞">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.age"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="绉戝">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.deptname"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鐥呭尯">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.leavehospitaldistrictname"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item label="闅忚鏂瑰紡" prop="resource">
+ <el-radio-group v-model="zcform.resource">
+ <el-radio label="1">鏈梾鍖洪殢璁�</el-radio>
+ <el-radio label="2">闅忚涓績闅忚</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <!-- <el-form-item label="鍗冲埢鍙戦��">
+ <el-switch v-model="zcform.delivery"></el-switch>
+ </el-form-item> -->
+ <el-form-item label="鍑洪櫌鏃堕棿">
+ <el-input
+ style="width: 400px"
+ disabled
+ v-model="zcform.endtime"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="闅忚瀹屾垚鏃堕棿" prop="date1">
+ <el-date-picker
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ v-model="zcform.date1"
+ style="width: 100%"
+ ></el-date-picker>
+ </el-form-item>
+ <el-form-item label="闅忚璁板綍">
+ <el-input type="textarea" v-model="zcform.remark"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {
+ delUser,
+ addUser,
+ updateUser,
+ resetUserPwd,
+ changeUserStatus,
+} from "@/api/system/user";
+import {
+ getTaskservelist,
+ buidegetTasklist,
+ addserviceSubtask,
+ query360PatInfo,
+ addsatisfaction,
+} from "@/api/AiCentre/index";
+import { alterpatient, particularpatient } from "@/api/patient/homepage";
+import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+ name: "Discharge",
+ dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
+ components: { Treeselect },
+ data() {
+ return {
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ dialogFormVisible: false,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+ userList: null,
+ // 寮瑰嚭灞傛爣棰�
+ title: "鏂板褰卞儚闅忚",
+ // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
+ addalteropen: false,
+ // 淇敼鍙戦�佹椂闂村璇濇
+ modificationVisible: false,
+ // 閮ㄩ棬鍚嶇О
+ deptName: undefined,
+ // 榛樿瀵嗙爜
+ initPassword: undefined,
+ // 鏃ユ湡鑼冨洿
+ dateRange: [],
+ dateRangefs: [],
+ // 宀椾綅閫夐」
+ postOptions: [],
+ ruleForm: {
+ type: [],
+ },
+ zcform: {},
+ dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+ inputVisible: false,
+ Labelchange: false,
+ ycvalue: "",
+ yfsvalue: "",
+ inputValue: "",
+ preachform: "",
+ previewVisible: false, //褰卞儚闅忚棰勮寮规
+ radio: "",
+ radios: [],
+ previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
+ total: 0, // 鎬绘潯鏁�
+ // 婊℃剰搴﹁皟鏌ユ暟鎹�
+ scoreDialogVisible: false,
+ selectedRows: [],
+
+ value: [],
+ list: [],
+
+ sourcetype: [
+ {
+ value: 1,
+ label: "绉戝",
+ children: [],
+ },
+ {
+ value: 2,
+ label: "鐥呭尯",
+ children: [],
+ },
+ {
+ value: 3,
+ label: "鍏ㄩ儴",
+ },
+ ],
+ loading: false,
+ cardlist: [
+ {
+ name: "鏈嶅姟鎬婚噺",
+ value: 0,
+ },
+ // {
+ // name: "鎮h�呰繃婊�",
+ // value: 0,
+ // },
+ {
+ name: "闇�闅忚",
+ value: 0,
+ },
+ {
+ name: "鍙戦�佸け璐�",
+ value: 0,
+ },
+ {
+ name: "寰呴殢璁�",
+ value: 0,
+ },
+ // {
+ // name: "宸插彂閫�",
+ // value: 0,
+ // },
+
+ // {
+ // name: "琛ㄥ崟宸插彂閫�",
+ // value: 0,
+ // },
+ ],
+ zcrules: {
+ date1: [
+ { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+ ],
+ resource: [
+ { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+ ],
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {
+ phonenumber: "",
+ totagid: "",
+ types: "",
+ nickName: "",
+ qystatus: "",
+ btstatus: "",
+ },
+ topicoptionssort: [
+ {
+ value: 0,
+ label: "鍑洪櫌鏃堕棿(姝e簭)",
+ },
+ {
+ value: 1,
+ label: "鍑洪櫌鏃堕棿(鍊掑簭)",
+ },
+ {
+ value: 2,
+ label: "鍙戦�佹椂闂�(姝e簭)",
+ },
+ {
+ value: 3,
+ label: "鍙戦�佹椂闂�(鍊掑簭)",
+ },
+ ],
+ // 鏌ヨ鍙傛暟
+ topqueryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ sendstate: 6,
+ sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
+ serviceType: 14,
+ searchscope: 3,
+ visitCount: 1,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ },
+ propss: { multiple: true },
+ options: [],
+
+ topicoptions: [
+ {
+ value: null,
+ label: "鍏ㄩ儴",
+ },
+ {
+ value: 1,
+ label: "琛ㄥ崟宸查鍙�",
+ },
+ {
+ value: 2,
+ label: "寰呴殢璁�",
+ },
+ {
+ value: 3,
+ label: "琛ㄥ崟宸插彂閫�",
+ },
+ {
+ value: 4,
+ label: "涓嶆墽琛�",
+ },
+ {
+ value: 5,
+ label: "鍙戦�佸け璐�",
+ },
+ {
+ value: 6,
+ label: "宸插畬鎴�",
+ },
+ ],
+ sextype: [
+ {
+ value: 1,
+ label: "鐢�",
+ },
+ {
+ value: 2,
+ label: "濂�",
+ },
+ ],
+ topicoptionsyj: [
+ {
+ value: 1,
+ label: "寮傚父",
+ },
+ {
+ value: 0,
+ label: "姝e父",
+ },
+ ],
+ url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+ postData: {
+ XiaoXiTou: {
+ FaSongFCSJC: "ZJHES",
+ FaSongJGID: localStorage.getItem("orgid"),
+ FaSongJGMC: localStorage.getItem("orgname"),
+ FaSongSJ: "2025-01-09聽17:29:36",
+ FaSongXTJC: "SUIFANGXT",
+ FaSongXTMC: "闅忚绯荤粺",
+ XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+ XiaoXiLX: "SC_LC_360STCX",
+ XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+ ZuHuID: localStorage.getItem("ZuHuID"),
+ ZuHuMC: localStorage.getItem("orgname"),
+ },
+ YeWuXX: {
+ BingRenXX: {
+ ZhengJianHM: "",
+ ZhengJianLXDM: "01",
+ ZhengJianLXMC: "灞呮皯韬唤璇�",
+ ZuZhiJGID: localStorage.getItem("orgid"),
+ ZuZhiJGMC: localStorage.getItem("orgname"),
+ },
+ YongHuXX: {
+ XiTongID: "SUIFANGXT",
+ XiTongMC: "闅忚绯荤粺",
+ YongHuID: "1400466972205912064",
+ YongHuXM: "JNRMYY",
+ ZuZhiJGID: localStorage.getItem("orgid"),
+ ZuZhiJGMC: localStorage.getItem("orgname"),
+ idp: "lyra",
+ },
+ },
+ },
+ amendtag: false,
+ errtype: "",
+ leavehospitaldistrictcode: "",
+ serviceState: [],
+ checkboxlist: [],
+ // 琛ㄥ崟鏍¢獙
+ rules: {},
+ };
+ },
+ watch: {},
+ created() {
+ this.serviceState = store.getters.serviceState;
+ this.checkboxlist = store.getters.checkboxlist;
+ this.errtype = this.$route.query.errtype;
+ this.leavehospitaldistrictcode =
+ this.$route.query.leavehospitaldistrictcode;
+ this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+ return {
+ label: dept.deptName,
+ value: dept.deptCode,
+ };
+ });
+ this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+ return {
+ label: dept.districtName,
+ value: dept.districtCode,
+ };
+ });
+ if (this.errtype) {
+ this.toleadExport(2);
+ } else {
+ this.getList(1);
+ }
+ this.getConfigKey("sys.user.initPassword").then((response) => {
+ this.initPassword = response.msg;
+ });
+ },
+ activated() {
+ this.getList(1);
+ },
+ methods: {
+ /** 鏌ヨ闅忚鏈嶅姟鍒楄〃 */
+ getList(refresh) {
+ // 榛樿鍏ㄩ儴
+
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ // 鎺ュ彈寮傚父璺宠浆
+ if (this.errtype) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(
+ this.leavehospitaldistrictcode
+ );
+ console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
+ }
+ this.loading = true;
+ if (
+ this.topqueryParams.leavehospitaldistrictcodes[0] &&
+ this.topqueryParams.leaveldeptcodes[0]
+ ) {
+ this.topqueryParams.deptOrDistrict = 2;
+ } else {
+ this.topqueryParams.deptOrDistrict = 1;
+ }
+ getTaskservelist(this.topqueryParams).then((response) => {
+ this.userList = response.rows[0].serviceSubtaskList;
+ this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ // this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[1].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[2].value = response.rows[0].fssb;
+ this.cardlist[3].value = response.rows[0].dsf;
+ // this.cardlist[4].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
+ this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
+ });
+ },
+ affiliation() {
+ this.topqueryParams.drcode = store.getters.hisUserId;
+ this.topqueryParams.nurseId = store.getters.hisUserId;
+ this.topqueryParams.managementDoctor = store.getters.name;
+ this.getList(1);
+ },
+ onthatday() {
+ this.topqueryParams.startSendDateTime = this.getCurrentDate();
+ this.topqueryParams.endSendDateTime = this.getCurrentDate();
+ this.getList(1);
+ },
+ getCurrentDate() {
+ const now = new Date();
+ return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
+ },
+ buidegetTasklist(type) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ // 鎺ュ彈寮傚父璺宠浆
+ if (this.errtype) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(
+ this.leavehospitaldistrictcode
+ );
+ }
+ let obj = {
+ pageNum: 1,
+ pageSize: 10,
+ leavehospitaldistrictcodes:
+ this.topqueryParams.leavehospitaldistrictcodes,
+ sendstates: [2, 3],
+ leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
+ };
+ buidegetTasklist(obj).then((response) => {
+ this.userList = response.rows[0].serviceSubtaskList;
+ this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[2].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[3].value = response.rows[0].fssb;
+ this.cardlist[4].value = response.rows[0].dsf;
+ // this.cardlist[5].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
+ this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
+ });
+ },
+ // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+ Referencequestion(row) {
+ this.previewVisible = true;
+ },
+ // 娣诲姞寮规鎼滅储
+ remoteMethod(query) {
+ if (query !== "") {
+ this.loading = true;
+ setTimeout(() => {
+ this.loading = false;
+ this.options = this.list.filter((item) => {
+ return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
+ });
+ }, 200);
+ } else {
+ this.options = [];
+ }
+ },
+ // 褰卞儚闅忚鐘舵�佷慨鏀�
+ handleStatusChange(row) {
+ let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+ this.$modal
+ .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
+ .then(function () {
+ return changeUserStatus(row.userId, row.status);
+ })
+ .then(() => {
+ this.$modal.msgSuccess(text + "鎴愬姛");
+ })
+ .catch(function () {
+ row.status = row.status === "0" ? "1" : "0";
+ });
+ },
+
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ userId: undefined,
+ deptId: undefined,
+ userName: undefined,
+ nickName: undefined,
+ password: undefined,
+ phonenumber: undefined,
+ email: undefined,
+ sex: undefined,
+ status: "0",
+ remark: undefined,
+ postIds: [],
+ roleIds: [],
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery(refresh) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ this.topqueryParams.pageNum = 1;
+ this.topqueryParams.startOutHospTime = this.dateRange[0];
+ this.topqueryParams.endOutHospTime = this.dateRange[1];
+ this.topqueryParams.startSendDateTime = this.dateRangefs[0];
+ this.topqueryParams.endSendDateTime = this.dateRangefs[1];
+ this.getList(refresh);
+ },
+ // 鎮h�呰寖鍥村鐞�
+ handleChange(value) {
+ let type = value[0];
+ let code = value.slice(-1)[0];
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.leaveldeptcodes = [];
+ if (type == 1) {
+ this.topqueryParams.leaveldeptcodes.push(code);
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.searchscope = 1;
+ } else if (type == 2) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(code);
+ this.topqueryParams.leaveldeptcodes = [];
+ this.topqueryParams.searchscope = 2;
+ } else {
+ this.topqueryParams.searchscope = 3;
+ }
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.dateRange = [];
+ this.dateRangefs = [];
+ this.topqueryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ sendstate: 6,
+ sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
+ serviceType: 14,
+ searchscope: 3,
+ visitCount: 1,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ };
+ this.handleQuery(1);
+ },
+ handleSelectionChange(rows) {
+ this.selectedRows = rows.map((row) => {
+ // 鍒濆鍖栬瘎鍒嗗瓧娈�
+ return {
+ ...row,
+ authenticity: row.authenticity || 0,
+ weekFinish: row.weekFinish || 0,
+ standard: row.standard || 0,
+ timeliness: row.timeliness || 0,
+ library: row.library || 0,
+ environment: row.environment || 0,
+ doctorSatisfaction: row.doctorSatisfaction || 0,
+ nurseSatisfaction: row.nurseSatisfaction || 0,
+ };
+ });
+
+ if (this.selectedRows.length > 0) {
+ this.multiple = false;
+ } else {
+ this.multiple = true;
+ }
+ },
+
+ // 璁$畻鎬诲垎
+ calculateTotal(row) {
+ return (
+ (row.authenticity || 0) +
+ (row.weekFinish || 0) +
+ (row.standard || 0) +
+ (row.timeliness || 0) +
+ (row.library || 0) +
+ (row.environment || 0) +
+ (row.doctorSatisfaction || 0) +
+ (row.nurseSatisfaction || 0)
+ );
+ },
+
+ // 淇濆瓨璇勫垎
+ saveScores() {
+ this.selectedRows.forEach((item) => {
+ item.createBy = null;
+ item.patName = item.sendname;
+ item.hospitaldistrictname = item.leavehospitaldistrictname;
+ });
+ addsatisfaction(this.selectedRows).then((res) => {
+ if (res.code == 200) {
+ this.$message.success("璇勫垎淇濆瓨鎴愬姛");
+ this.scoreDialogVisible = false;
+ this.selectedRows = [];
+ this.$refs.userform.clearSelection();
+ } else {
+ this.$modal.msgWarning("璇勫垎淇濆瓨澶辫触");
+ this.scoreDialogVisible = false;
+ this.selectedRows = [];
+ this.$refs.userform.clearSelection();
+ }
+ });
+ // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎
+ },
+ //鍒犻櫎閫夐」
+ handleClose(tag) {
+ this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+ },
+ //瑙﹀彂鏂板杈撳叆
+ showInput() {
+ this.inputVisible = true;
+ this.$nextTick((_) => {
+ this.$refs.saveTagInput.$refs.input.focus();
+ });
+ },
+ //鑾峰彇澶卞幓鐒︾偣瑙﹀彂
+ handleInputConfirm() {
+ let inputValue = this.inputValue;
+ if (inputValue) {
+ this.dynamicTags.push(inputValue);
+ }
+ this.inputVisible = false;
+ this.inputValue = "";
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.$router.push({
+ path: "/followvisit/QuestionnaireTask",
+ query: {
+ type: 2,
+ serviceType: 14,
+ },
+ });
+ },
+ //鎮h��360璺宠浆
+ gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning("360鍔熻兘鏆傛湭寮�閫�");
+ return; // 闃绘鍚庣画浠g爜鎵ц
+ this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+ if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+ this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+ this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+ }
+ query360PatInfo(this.postData).then((res) => {
+ if (res.data.url) {
+ window.open(res.data.url, "_blank");
+ // this.linkUrl = res.data.url;
+ } else {
+ this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+ }
+ });
+ },
+
+ /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
+ handleResetPwd(row) {
+ this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ closeOnClickModal: false,
+ inputPattern: /^.{5,20}$/,
+ inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+ })
+ .then(({ value }) => {
+ resetUserPwd(row.userId, value).then((response) => {
+ this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value);
+ });
+ })
+ .catch(() => {});
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.Labelchange = false;
+ this.reset();
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm: function () {
+ this.$refs["form"].validate((valid) => {
+ if (valid) {
+ this.form.isoperation = 2;
+ this.form.notrequiredFlag = 1;
+ alterpatient(this.form)
+ .then((response) => {
+ console.log(response);
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
+ });
+
+ this.reset();
+ this.Labelchange = false;
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const userIds = row.userId || this.ids;
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+ .then(function () {
+ return delUser(userIds);
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 鍏ㄩ儴鍋滄
+ AllStop() {
+ this.$modal
+ .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�")
+ .then(function () {
+ return console.log("鍋滄鎴愬姛");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgWarning("鍋滄鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 鍏ㄩ儴寮�濮�
+ AllStarted() {
+ this.$modal
+ .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵")
+ .then(function () {
+ return console.log("寮�鍚垚鍔�");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("寮�鍚垚鍔�");
+ })
+ .catch(() => {});
+ },
+ // 浠诲姟閲嶇疆
+ TaskReset() {
+ this.$modal
+ .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�")
+ .then(function () {
+ return console.log("閫変腑鎴愬姛");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("閲嶇疆鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 璁剧疆鍙戦�佹椂闂�
+ Sendtimesetting() {
+ this.modificationVisible = true;
+ },
+ // 璺宠浆璇︽儏椤�
+ Seedetails(row) {
+ let type = "";
+ console.log(row, "rwo");
+ if (row.preachformson) {
+ if (row.preachformson.includes("3")) {
+ type = 1;
+ }
+ }
+ this.$router.push({
+ path: "/followvisit/record/detailpage/",
+ query: {
+ taskid: row.taskid,
+ patid: row.patid,
+ id: row.id,
+ Voicetype: type,
+ visitCount: this.topqueryParams.visitCount,
+ },
+ });
+ },
+
+ onSubmit() {},
+
+ // 鎮h�呰繃婊よЕ鍙�
+ handleUpdate(row) {
+ particularpatient(row.patid).then((response) => {
+ this.form = response.data;
+ this.form.filterDrname = store.getters.nickName;
+ });
+ this.amendtag = true;
+ this.Labelchange = true;
+ },
+ // 渚挎嵎鎸夐挳
+ toleadExport(too) {
+ if (too == 1) {
+ this.topqueryParams.sendstate = 4;
+ this.topqueryParams.excep = null;
+ } else if (too == 2) {
+ this.topqueryParams.excep = 1;
+ }
+ this.handleQuery();
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.topqueryParams.pageNum = null;
+ this.topqueryParams.pageSize = null;
+ this.download(
+ "smartor/serviceSubtask/patItemExport",
+ {
+ ...this.topqueryParams,
+ },
+ `user_${new Date().getTime()}.xlsx`
+ );
+ },
+ // 寮傚父鍒楁覆鏌�
+ tableRowClassName({ row, rowIndex }) {
+ if (row.excep == 1) {
+ return "warning-row";
+ }
+ return "";
+ },
+
+ getCurrentTime() {
+ const now = new Date();
+ const year = now.getFullYear();
+ const month = String(now.getMonth() + 1).padStart(2, "0");
+ const day = String(now.getDate()).padStart(2, "0");
+ const hours = String(now.getHours()).padStart(2, "0");
+ const minutes = String(now.getMinutes()).padStart(2, "0");
+ const seconds = String(now.getSeconds()).padStart(2, "0");
+
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-button--primary.is-plain {
+ color: #ffffff;
+ background: #409eff;
+ border-color: #4fabe9;
+}
+
+.document {
+ // width: 100px;
+ height: 50px;
+}
+::v-deep.el-table .warning-row {
+ background: #eec4c4;
+}
+
+.documentf {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.download {
+ text-align: center;
+
+ .el-upload__tip {
+ font-size: 23px;
+ }
+
+ .el-upload__text {
+ font-size: 23px;
+ }
+}
+
+.uploading {
+ margin-top: 20px;
+ margin: 20px;
+ padding: 30px;
+ background: #ffffff;
+ 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);
+}
+
+.el-tag + .el-tag {
+ margin-left: 10px;
+}
+
+.button-new-tag {
+ margin-left: 10px;
+ height: 32px;
+ line-height: 30px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+.input-new-tag {
+ width: 90px;
+ margin-left: 10px;
+ vertical-align: bottom;
+}
+
+.drexamine {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 30px;
+ background: #daeaf5;
+
+ img {
+ width: 100px;
+ height: 100px;
+ }
+}
+.button-textxga {
+ color: #de7897;
+}
+.qrcode-dialo {
+ // text-align: center;
+ // display: flex;
+ margin: 20px;
+ 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);
+
+ .topic-dev {
+ margin-bottom: 25px;
+ font-size: 20px !important;
+
+ .dev-text {
+ margin-bottom: 10px;
+ }
+ }
+}
+::v-deep.leftvlue .el-card__body {
+ background: #d0e9fd;
+}
+::v-deep.leftvlue .el-card__body:hover {
+ background: #8dc8f8;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+::v-deep.errleftvlue .el-card__body {
+ background: #fdd0d7;
+}
+::v-deep.errleftvlue .el-card__body:hover {
+ background: #f88d96;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+
+::v-deep.ysfleftvlue .el-card__body {
+ background: #d0fdd8;
+}
+::v-deep.ysfleftvlue .el-card__body:hover {
+ background: #8df8a4;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+.button-bb {
+ font-weight: 500;
+ background-color: #2ba05c;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-xq {
+ font-weight: 500;
+ background-color: #409eff;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-sc {
+ font-weight: 500;
+ background-color: #b3a21f;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-zx {
+ background: #4fabe9;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+
+::v-deep.el-radio-group {
+ span {
+ font-size: 24px;
+ }
+}
+.purple-button {
+ background-color: #7e22ce;
+ border-color: #7e22ce;
+ color: #fff;
+}
+
+.purple-button:hover,
+.purple-button:focus {
+ background-color: #9333ea;
+ border-color: #9333ea;
+}
+
+.purple-button:active {
+ background-color: #6b21a8;
+ border-color: #6b21a8;
+}
+
+.purple-button.is-disabled {
+ background-color: #d8b4fe;
+ border-color: #d8b4fe;
+ opacity: 1; /* 淇濇寔绂佺敤鐘舵�侀�忔槑搴� */
+}
+// 閫夐」瀛椾綋鏀惧ぇ
+// ::v-deep.el-checkbox-group {
+// span {
+// font-size: 24px;
+// }
+// }
+</style>
diff --git a/src/views/followvisit/outpatient/index.vue b/src/views/followvisit/outpatient/index.vue
index ab2f5de..f0401bd 100644
--- a/src/views/followvisit/outpatient/index.vue
+++ b/src/views/followvisit/outpatient/index.vue
@@ -138,8 +138,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -739,7 +738,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
@@ -1273,10 +1272,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index b4138dd..d6164c8 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -18,7 +18,7 @@
>鍙睍绀烘湰娆℃湇鍔′俊鎭�</el-button
>
</div>
- <div style="margin-left: 20px; color: #59a0f0">
+ <!-- <div style="margin-left: 20px; color: #59a0f0">
<el-link
href="https://9.208.2.207:6060/search-homepage"
target="_blank"
@@ -26,7 +26,7 @@
>
鍓嶅線CDSS鏌ヨ
</el-link>
- </div>
+ </div> -->
<div class="merge-controls" v-if="Whetherall">
<el-button
type="primary"
@@ -254,6 +254,7 @@
/>
</el-dialog>
<div class="action-container">
+ <!-- 闅忚鍐呭 -->
<div class="call-action">
<div class="call-container">
<!-- <div class="call-header">
@@ -381,8 +382,18 @@
{{ index + 1 }}銆乕闂瓟]<span>{{
item.scriptContent
}}</span>
+ <span v-if="item.valueType == 3">(鍙兘杈撳叆鏁板瓧)</span>
</div>
- <div class="dev-xx">
+ <div class="dev-xx" v-if="item.valueType == 3">
+ <el-input
+ type="text"
+ v-numeric-only
+ placeholder="璇疯緭鍏ョ瓟妗�"
+ v-model="item.scriptResult"
+ >
+ </el-input>
+ </div>
+ <div class="dev-xx" v-else>
<el-input
type="textarea"
:rows="2"
@@ -437,15 +448,25 @@
<div class="scriptTopic-dev" :key="index" v-else>
<div class="dev-text">
{{ index + 1 }}銆乕闂瓟]<span>{{
- item.questiontext
+ item.scriptContent
}}</span>
+ <span v-if="item.valueType == 3">(鍙兘杈撳叆鏁板瓧)</span>
</div>
- <div class="dev-xx">
+ <div class="dev-xx" v-if="item.valueType == 3">
+ <el-input
+ type="text"
+ v-numeric-only
+ placeholder="璇疯緭鍏ョ瓟妗�"
+ v-model="item.scriptResult"
+ >
+ </el-input>
+ </div>
+ <div class="dev-xx" v-else>
<el-input
type="textarea"
:rows="2"
placeholder="璇疯緭鍏ョ瓟妗�"
- v-model="item.matchedtext"
+ v-model="item.scriptResult"
clearable
>
</el-input>
@@ -529,6 +550,7 @@
</div>
</div>
</div>
+ <!-- 浜哄伐澶勭悊 -->
<div class="manual-action">
<div class="Followuserinfos">
<div>
@@ -556,6 +578,46 @@
@click="sendAgain()"
>鍐嶆闅忚</el-button
>
+ </div>
+ <div class="tag-selector-container">
+ <el-select
+ v-model="selectedTag"
+ placeholder="璇烽�夋嫨寮傚父鐘舵��"
+ clearable
+ style="width: 150px; margin-right: 10px"
+ >
+ <el-option
+ v-for="item in tagOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ <span style="display: flex; align-items: center">
+ <span
+ class="color-indicator"
+ :style="{ backgroundColor: item.color }"
+ ></span>
+ <span>{{ item.label }}</span>
+ </span>
+ </el-option>
+ </el-select>
+
+ <!-- 褰撳墠閫夋嫨鐨勯鑹叉寚绀哄櫒 -->
+ <div
+ v-if="selectedTag"
+ class="color-indicator selected-indicator"
+ :style="{ backgroundColor: getSelectedTagColor() }"
+ ></div>
+
+ <!-- 鏍囪璇存槑鎻愮ず -->
+ <el-tooltip
+ v-if="selectedTag"
+ effect="light"
+ :content="getSelectedDescription()"
+ placement="top"
+ >
+ <i class="el-icon-info tag-info-icon"></i>
+ </el-tooltip>
</div>
</div>
<el-row>
@@ -938,7 +1000,67 @@
CallButton,
MergeAndModify,
},
+ directives: {
+ numericOnly: {
+ bind(el, binding, vnode) {
+ // 灏濊瘯鑾峰彇瀹為檯鐨刬nput鍏冪礌
+ const input = el.tagName === "INPUT" ? el : el.querySelector("input");
+ if (!input) {
+ console.warn("v-numeric-only: 鏈壘鍒癷nput鍏冪礌");
+ return;
+ }
+ const handleInput = function (event) {
+ const oldValue = input.value;
+ const newValue = oldValue.replace(/[^\d]/g, "");
+ if (newValue !== oldValue) {
+ input.value = newValue;
+ // 瑙﹀彂input浜嬩欢锛岄�氱煡v-model鏇存柊
+ input.dispatchEvent(new Event("input", { bubbles: true })); // 娉ㄦ剰bubbles
+ }
+ };
+
+ const handlePaste = function (event) {
+ event.preventDefault();
+ const clipboardData = event.clipboardData || window.clipboardData;
+ const pastedData = clipboardData.getData("text");
+ const numericValue = pastedData.replace(/[^\d]/g, "");
+
+ // 妯℃嫙鍦ㄥ厜鏍囦綅缃彃鍏ョ函鏁板瓧鏂囨湰
+ const start = input.selectionStart;
+ const end = input.selectionEnd;
+ input.value =
+ input.value.substring(0, start) +
+ numericValue +
+ input.value.substring(end);
+ // 璋冩暣鍏夋爣浣嶇疆
+ const newCursorPos = start + numericValue.length;
+ input.setSelectionRange(newCursorPos, newCursorPos);
+
+ // 瑙﹀彂input浜嬩欢
+ input.dispatchEvent(new Event("input", { bubbles: true }));
+ };
+
+ input.addEventListener("input", handleInput);
+ input.addEventListener("paste", handlePaste);
+
+ // 瀛樺偍寮曠敤浠ヤ究瑙g粦
+ el._numericOnly = {
+ inputHandle: handleInput,
+ pasteHandle: handlePaste,
+ inputEl: input,
+ };
+ },
+ unbind(el) {
+ if (el._numericOnly) {
+ const { inputHandle, pasteHandle, inputEl } = el._numericOnly;
+ inputEl.removeEventListener("input", inputHandle);
+ inputEl.removeEventListener("paste", pasteHandle);
+ delete el._numericOnly;
+ }
+ },
+ },
+ },
dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
data() {
const validatePhone = (rule, value, callback) => {
@@ -976,6 +1098,30 @@
isMergeMode: false,
mergeDialogVisible: false,
selectedServices: [], // 閫変腑鐨勬湇鍔″垪琛�
+ selectedTag: "",
+ tagOptions: [
+ {
+ value: "0",
+ label: "姝e父",
+ type: "normal",
+ color: "#7ff5e1",
+ description: "鎮h�呮儏鍐垫甯革紝鏃犻渶鐗瑰埆鍏虫敞",
+ },
+ {
+ value: "1",
+ label: "寮傚父",
+ type: "abnormal",
+ color: "#f75c5c",
+ description: "鎮h�呭瓨鍦ㄥ紓甯告儏鍐碉紝闇�瑕侀噸鐐瑰叧娉�",
+ },
+ {
+ value: "2",
+ label: "璀﹀憡",
+ type: "warning",
+ color: "#fbfb4a",
+ description: "鎮h�呮儏鍐甸渶瑕佽鍛婃敞鎰忥紝鍙兘瀛樺湪椋庨櫓",
+ },
+ ],
zcrules: {
resource: [
{ required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
@@ -1193,6 +1339,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning("360鍔熻兘鏆傛湭寮�閫�");
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -1211,7 +1359,7 @@
getuserinfo() {
const queryParams = {
pid: Number(this.patid),
- allhosp: "0",
+ allhosp: "0", //1浣忛櫌2闂ㄨ瘖3浣撴4鍑洪櫌
};
// 鎮h�呭熀纭�淇℃伅
messagelistpatient(queryParams).then((response) => {
@@ -1318,6 +1466,13 @@
let excep = "";
const promises = [];
this.tableDatatop.forEach((item) => {
+ if (item.valueType == 3 && item.scriptResult) {
+ // 楠岃瘉鏄惁涓烘湁鏁堟暟瀛�
+ if (!/^\d+$/.test(item.scriptResult)) {
+ this.$message.error(`闂 "${item.scriptContent}" 蹇呴』杈撳叆鏁板瓧`);
+ return;
+ }
+ }
var objs = item.svyLibTemplateTargetoptions.find(
(items) => items.optioncontent == item.scriptResult
);
@@ -1348,6 +1503,7 @@
promises.push(serviceSubtaskDetailadd(obj));
}
});
+
// 浣跨敤 Promise.all 绛夊緟鎵�鏈夊紓姝ユ搷浣滃畬鎴�
Promise.all(promises)
.then((results) => {
@@ -1591,6 +1747,7 @@
this.logsheetlist = res.rows[0].serviceSubtaskList;
this.templateid = this.logsheetlist[0].templateid;
+ this.selectedTag = this.logsheetlist[0].excep;
const targetDate = new Date(this.form.longSendTime); // 鐩爣鏃ユ湡
const now = new Date(); // 褰撳墠鏃堕棿
if (now < targetDate && this.form.sendstate == 2) {
@@ -1668,6 +1825,7 @@
(item) => item.id == this.id
);
objson.remark = this.form.remark;
+ objson.excep = this.selectedTag;
if (sendstate) objson.sendstate = sendstate;
Editsingletaskson(objson).then((res) => {
if (res.code) {
@@ -1692,6 +1850,30 @@
}
return "";
},
+ getSelectedTagType() {
+ if (!this.selectedTag) return "";
+ const tag = this.tagOptions.find(
+ (item) => item.value === this.selectedTag
+ );
+ return tag ? tag.type : "";
+ },
+
+ getSelectedTagColor() {
+ if (!this.selectedTag) return "";
+ const tag = this.tagOptions.find(
+ (item) => item.value === this.selectedTag
+ );
+ return tag ? tag.color : "";
+ },
+
+ getSelectedDescription() {
+ if (!this.selectedTag) return "";
+ const tag = this.tagOptions.find(
+ (item) => item.value === this.selectedTag
+ );
+ return tag ? tag.description : "";
+ },
+
// 璋冭捣鍐嶆鍙戦��
sendAgain() {
document.querySelector("#app").scrollTo(0, 0);
@@ -1998,7 +2180,22 @@
height: 100%; /* 纭繚楂樺害缁ф壙 */
}
}
+.numeric-input {
+ position: relative;
+}
+.numeric-input::after {
+ content: "鍙兘杈撳叆鏁板瓧";
+ position: absolute;
+ right: 8px;
+ top: 50%;
+ transform: translateY(-50%);
+ font-size: 12px;
+ color: #999;
+ background: #f5f5f5;
+ padding: 2px 6px;
+ border-radius: 4px;
+}
.call-container {
padding: 20px;
background: #fff;
@@ -2241,7 +2438,54 @@
top: 0;
}
}
+.tag-selector-container {
+ display: flex;
+ align-items: center;
+ margin: 0 30px;
+}
+.color-indicator {
+ width: 16px;
+ height: 16px;
+ border-radius: 3px;
+ margin-right: 8px;
+ display: inline-block;
+}
+
+.selected-indicator {
+ margin-left: 10px;
+ width: 20px;
+ height: 20px;
+}
+
+.tag-info-icon {
+ margin-left: 10px;
+ color: #909399;
+ cursor: pointer;
+ font-size: 16px;
+}
+
+/* 纭繚閫夋嫨鍣ㄩ�夐」涓篃鏄剧ず棰滆壊鍧� */
+.el-select-dropdown__item {
+ display: flex;
+ align-items: center;
+}
+
+.tag-normal {
+ background-color: #7ff5e1;
+}
+.tag-abnormal {
+ background-color: #f75c5c;
+}
+.tag-warning {
+ background-color: #fbfb4a;
+}
+
+.tag-info {
+ margin-left: 10px;
+ color: #909399;
+ cursor: pointer;
+}
::v-deep.offside-value .el-radio__label {
color: #fff;
}
@@ -2291,4 +2535,189 @@
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/record/index.vue b/src/views/followvisit/record/index.vue
index 6192c55..ea82ed8 100644
--- a/src/views/followvisit/record/index.vue
+++ b/src/views/followvisit/record/index.vue
@@ -149,8 +149,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -863,7 +862,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
@@ -1080,6 +1079,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -1585,10 +1586,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
diff --git a/src/views/followvisit/record/physical/index.vue b/src/views/followvisit/record/physical/index.vue
index 53ca223..2d1a0f8 100644
--- a/src/views/followvisit/record/physical/index.vue
+++ b/src/views/followvisit/record/physical/index.vue
@@ -18,7 +18,7 @@
>鍙睍绀烘湰娆℃湇鍔′俊鎭�</el-button
>
</div>
- <div style="margin-left: 20px; color: #59a0f0">
+ <!-- <div style="margin-left: 20px; color: #59a0f0">
<el-link
href="https://9.208.2.207:6060/search-homepage"
target="_blank"
@@ -26,7 +26,7 @@
>
鍓嶅線CDSS鏌ヨ
</el-link>
- </div>
+ </div> -->
</div>
<!-- <el-button type="success">闅忚鍚庣煭淇�</el-button> -->
</div>
@@ -692,6 +692,8 @@
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 5143c6f..ef08e2f 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,
@@ -474,61 +484,8 @@
label: "娑堟伅閫氱煡",
},
],
- taskoptions: [
- {
- value: "1",
- label: "鐩戞祴璇勪及",
- },
- {
- value: "2",
- label: "鍑洪櫌闅忚",
- },
- {
- value: "3",
- label: "闂ㄨ瘖闅忚",
- },
- {
- value: "4",
- label: "瀹f暀鍏虫��",
- },
- {
- value: "5",
- label: "澶嶈瘖绠$悊",
- },
- // {
- // value: "5",
- // label: "婊℃剰搴﹁皟鏌�",
- // },
- {
- value: "7",
- label: "鎮h�呮姤鍛�",
- },
- // {
- // value: "8",
- // label: "鍏朵粬閫氱煡",
- // },
- {
- value: "9",
- label: "浣撴闅忚",
- },
- // {
- // value: "10",
- // label: "鍖绘妧闅忚",
- // },
- {
- value: "11",
- label: "褰卞儚闅忚",
- },
- {
- value: "12",
- label: "蹇冪數闅忚",
- },
- {
- value: "13",
- label: "涓撶梾闅忚",
- },
- ],
- tasktopic: "2", //鏂板绫诲瀷
+ taskoptions: store.getters.tasktypes,
+ tasktopic: 2, //鏂板绫诲瀷
activname: "",
value: [],
list: [],
@@ -719,6 +676,7 @@
this.tasktopic == 3 ||
this.tasktopic == 1 ||
this.tasktopic == 7 ||
+ this.tasktopic == 5 ||
this.tasktopic == 6
) {
if (!this.topqueryParams.type) this.topqueryParams.type = "2";
@@ -732,7 +690,7 @@
label: "闂嵎闅忚",
},
];
- this.topqueryParams.type=2;
+ this.topqueryParams.type = 2;
} else if (this.tasktopic == 4 || this.tasktopic == 8) {
if (!this.topqueryParams.type) this.topqueryParams.type = "3";
this.longtermlist = [
@@ -741,9 +699,9 @@
label: "瀹f暀鍏虫��",
},
];
- this.topqueryParams.type=3;
- } else if (this.tasktopic == 5) {
- if (!this.topqueryParams.type) this.topqueryParams.type = "1";
+ this.topqueryParams.type = 3;
+ } else if (this.tasktopic == 16) {
+ if (!this.topqueryParams.type) this.topqueryParams.type = "2";
this.longtermlist = [
{
value: 1,
@@ -753,7 +711,12 @@
value: 2,
label: "闂嵎闅忚",
},
+ {
+ value: 3,
+ label: "瀹f暀鍏虫��",
+ },
];
+ this.topqueryParams.type = 2;
}
this.topqueryParams.beginTime = this.dateRange[0];
this.topqueryParams.endTime = this.dateRange[1];
@@ -1088,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>
@@ -1217,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/followvisit/technology/index.vue b/src/views/followvisit/technology/index.vue
index dde2ab3..a84cb2c 100644
--- a/src/views/followvisit/technology/index.vue
+++ b/src/views/followvisit/technology/index.vue
@@ -138,8 +138,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -807,7 +806,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
@@ -1092,6 +1091,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh,drcode,drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC=='涓芥按甯備腑鍖婚櫌') {
this.postData.YeWuXX.YongHuXX.YongHuID = '1400398571877961728';
@@ -1521,10 +1522,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
diff --git a/src/views/followvisit/zbAgain/index.vue b/src/views/followvisit/zbAgain/index.vue
index fa4c662..388409a 100644
--- a/src/views/followvisit/zbAgain/index.vue
+++ b/src/views/followvisit/zbAgain/index.vue
@@ -180,8 +180,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -918,7 +917,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
{
@@ -1416,6 +1415,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -1762,10 +1763,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
@@ -1810,7 +1813,9 @@
border-radius: 1px;
color: #ffffff;
}
-
+.button-textxga {
+ color: #de7897;
+}
::v-deep.el-radio-group {
span {
font-size: 24px;
diff --git a/src/views/followvisit/zysatisfaction/index.vue b/src/views/followvisit/zysatisfaction/index.vue
new file mode 100644
index 0000000..5beee71
--- /dev/null
+++ b/src/views/followvisit/zysatisfaction/index.vue
@@ -0,0 +1,1969 @@
+<template>
+ <div class="app-container">
+ <div class="leftvlue" style="margin-bottom: 20px">
+ <el-row :gutter="10">
+ <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index">
+ <el-card
+ shadow="hover"
+ :body-style="item.router ? ' cursor: pointer' : 'cursor: default'"
+ >
+ <div style="padding: 8px" @click="$router.push(item.router)">
+ <span>{{ item.name }}</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ item.value ? item.value : 0 }}
+ </div>
+ </div>
+ </el-card>
+ </el-col>
+ <el-col :span="2.5">
+ <div class="ysfleftvlue">
+ <el-card shadow="hover">
+ <div style="padding: 8px">
+ <span>琛ㄥ崟宸插彂閫�</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ yfsvalue }}
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </el-col>
+ <el-col :span="2.5">
+ <div class="errleftvlue">
+ <el-card shadow="hover">
+ <div style="padding: 8px">
+ <span>寮傚父</span>
+ <div
+ style="
+ text-align: center;
+ font-size: 18px;
+ margin-top: 10px;
+ font-weight: 600;
+ "
+ >
+ {{ ycvalue }}
+ </div>
+ </div>
+ </el-card>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <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.taskName"
+ placeholder="璇烽�夋嫨浠诲姟鍚嶇О"
+ ></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 label="鎮h�呭鍚�" prop="sendname">
+ <el-input
+ v-model="topqueryParams.sendname"
+ placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="璇婃柇鍚嶇О" prop="leavediagname">
+ <el-input
+ v-model="topqueryParams.leavediagname"
+ placeholder="璇疯緭鍏ヨ瘖鏂悕绉�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="闅忚浜哄憳" prop="updateBy">
+ <el-input
+ v-model="topqueryParams.updateBy"
+ placeholder="璇疯緭鍏ラ殢璁夸汉鍛�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="涓绘不鍖荤敓" prop="drname">
+ <el-input
+ v-model="topqueryParams.drname"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="缁忕鍖荤敓" prop="managementDoctor">
+ <el-input
+ v-model="topqueryParams.managementDoctor"
+ placeholder="璇疯緭鍏ヤ富娌诲尰鐢�"
+ ></el-input>
+ </el-form-item>
+
+ <el-form-item label="鎮h�呰寖鍥�" prop="status">
+ <el-cascader
+ v-model="topqueryParams.scopetype"
+ placeholder="榛樿鍏ㄩ儴"
+ :options="sourcetype"
+ :props="{ expandTrigger: 'hover' }"
+ @change="handleChange"
+ ></el-cascader>
+ </el-form-item>
+
+ <el-form-item label="浠诲姟鐘舵��" prop="status">
+ <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in topicoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎺掑簭鏂瑰紡" prop="status">
+ <el-select v-model="topqueryParams.sort" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in topicoptionssort"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ size="medium"
+ @click="handleQuery(1)"
+ >鎼滅储</el-button
+ >
+ <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-divider></el-divider>
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-upload2"
+ size="medium"
+ @click="handleExport"
+ >瀵煎嚭</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ icon="el-icon-plus"
+ size="medium"
+ @click="handleAdd"
+ >鏂板</el-button
+ >
+ </el-col>
+
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-warning-outline"
+ size="medium"
+ @click="toleadExport(1)"
+ >鎵ц澶辫触</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-warning"
+ size="medium"
+ @click="toleadExport(2)"
+ >缁撴灉寮傚父</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="success"
+ plain
+ size="medium"
+ @click="buidegetTasklist()"
+ >寰呭姙鏈嶅姟</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button
+ type="primary"
+ plain
+ size="medium"
+ @click="affiliation()"
+ >鏈汉鎵�灞炴湇鍔�</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="1.5">
+ <div class="documentf">
+ <div class="document">
+ <el-button type="success" size="medium" @click="onthatday()"
+ >褰撴棩鏈嶅姟</el-button
+ >
+ </div>
+ </div>
+ </el-col>
+
+ </el-row>
+ <el-table
+ v-loading="loading"
+ ref="userform"
+ :data="userList"
+ :row-class-name="tableRowClassName"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="50" align="center" />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ fixed
+ width="150"
+ show-overflow-tooltip
+ align="center"
+ key="taskName"
+ prop="taskName"
+ />
+ <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> -->
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ key="sendname"
+ prop="sendname"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="
+ gettoken360(scope.row.sfzh, scope.row.drcode, scope.row.drname)
+ "
+ ><span class="button-textsc">{{
+ scope.row.sendname
+ }}</span></el-button
+ >
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="浠诲姟鐘舵��"
+ align="center"
+ key="sendstate"
+ prop="sendstate"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="scope.row.remark"
+ placement="top-start"
+ >
+ <div v-if="scope.row.sendstate == 1">
+ <el-tag type="primary" :disable-transitions="false"
+ >琛ㄥ崟宸查鍙�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 2">
+ <el-tag type="primary" :disable-transitions="false"
+ >寰呴殢璁�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 3">
+ <el-tag type="success" :disable-transitions="false"
+ >琛ㄥ崟宸插彂閫�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 4">
+ <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+ </div>
+ <div v-if="scope.row.sendstate == 5">
+ <el-tag type="danger" :disable-transitions="false"
+ >鍙戦�佸け璐�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstate == 6">
+ <el-tag type="success" :disable-transitions="false"
+ >宸插畬鎴�</el-tag
+ >
+ </div>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟寮傚父璇存槑"
+ width="120"
+ align="center"
+ key="remark"
+ prop="remark" -->
+ />
+
+ <el-table-column
+ label="澶勭悊鎰忚"
+ align="center"
+ key="suggest"
+ prop="suggest"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_suggest"
+ :value="scope.row.suggest"
+ />
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="闅忚瀹屾垚鏃堕棿"
+ sortable
+ align="center"
+ prop="finishtime"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{ parseTime(scope.row.finishtime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍑洪櫌鏃ユ湡"
+ width="200"
+ align="center"
+ key="endtime"
+ prop="endtime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.endtime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
+ label="涓绘不鍖荤敓"
+ width="120"
+ align="center"
+ key="drname"
+ prop="drname"
+ />
+ <el-table-column
+ label="闅忚浜哄憳"
+ align="center"
+ key="updateBy"
+ prop="updateBy"
+ width="120"
+ />
+ <el-table-column
+ label="缁忕鍖荤敓"
+ align="center"
+ key="managementDoctor"
+ prop="managementDoctor"
+ width="120"
+ />
+ <el-table-column
+ label="鍑洪櫌澶╂暟"
+ width="120"
+ align="center"
+ key="endDay"
+ prop="endDay"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="韬唤璇佸彿鐮�"
+ width="200"
+ align="center"
+ key="sfzh"
+ prop="sfzh"
+ />
+ <el-table-column
+ label="鑱旂郴鐢佃瘽"
+ width="200"
+ align="center"
+ key="phone"
+ prop="phone"
+ />
+ <el-table-column
+ label="璐d换鎶ゅ+"
+ width="120"
+ align="center"
+ key="nurseName"
+ prop="nurseName"
+ />
+
+ <!-- <el-table-column
+ label="鐥呭巻鍙�"
+ align="center"
+ sortable
+ key="medicalRecordNo"
+ prop="medicalRecordNo"
+ width="120"
+ /> -->
+
+ <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> -->
+ <!-- <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex" /> -->
+ <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> -->
+ <el-table-column
+ label="绉戝"
+ align="center"
+ key="deptname"
+ prop="deptname"
+ width="120"
+ >
+ </el-table-column>
+ <el-table-column
+ label="鐥呭尯"
+ align="center"
+ key="leavehospitaldistrictname"
+ prop="leavehospitaldistrictname"
+ width="120"
+ >
+ </el-table-column>
+
+ <el-table-column
+ label="璇婃柇鍚嶇О"
+ align="center"
+ key="leavediagname"
+ prop="leavediagname"
+ width="120"
+ :show-overflow-tooltip="true"
+ >
+ </el-table-column>
+
+ <el-table-column
+ label="浣忛櫌婊℃剰搴︽ā鏉垮悕绉�"
+ align="center"
+ key="templatename"
+ prop="templatename"
+ width="200"
+ />
+ <el-table-column
+ label="浠诲姟鎵ц鏂瑰紡"
+ align="center"
+ key="preachform"
+ prop="preachform"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.preachform">{{ item }}銆� </span>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="浠诲姟鍙戦�佹祦绋�"
+ align="center"
+ key="serviceSubtaskRecordList"
+ prop="serviceSubtaskRecordList"
+ width="160"
+ :show-overflow-tooltip="true"
+ >
+ <template slot-scope="scope">
+ <span v-for="item in scope.row.serviceSubtaskRecordList"
+ >{{ item.remark }}銆�
+ </span>
+ </template>
+ </el-table-column> -->
+ <el-table-column
+ label="浠诲姟缁撴灉璇存槑"
+ width="220"
+ align="center"
+ key="remark"
+ prop="remark"
+ >
+ <template slot-scope="scope" v-if="scope.row.remark">
+ <el-tooltip
+ :content="scope.row.remark"
+ placement="top"
+ effect="dark"
+ >
+ <el-tag
+ type="warning"
+ v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4"
+ >{{ scope.row.remark }}</el-tag
+ >
+ <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ align="center"
+ fixed="right"
+ width="300"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <!-- <el-tooltip
+ class="item"
+ effect="dark"
+ content="鍐嶆闅忚"
+ placement="top"
+ >
+ <el-button
+ size="medium"
+ type="text"
+ v-if="scope.row.isVisitAgain!=2"
+ @click="followupvisit(scope.row)"
+ ><span class="button-bb"
+ ><i class="el-icon-s-promotion"></i>鍐嶆闅忚</span
+ ></el-button
+ >
+ </el-tooltip>
+ <el-tooltip
+ v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2"
+ class="item"
+ effect="dark"
+ content="鏆傚仠鏈嶅姟"
+ placement="top"
+ >
+ <el-button
+ size="medium"
+ type="text"
+ @click="handlestop(scope.row)"
+ v-hasPermi="['system:user:edit']"
+ ><span class="button-sc"
+ ><i class="el-icon-remove-outline"></i>鏆傚仠鏈嶅姟</span
+ ></el-button
+ >
+ </el-tooltip> -->
+ <el-button size="medium" type="text" @click="Seedetails(scope.row)"
+ ><span class="button-zx"
+ ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span
+ ></el-button
+ >
+ <el-button
+ size="medium"
+ type="text"
+ @click="handleUpdate(scope.row)"
+ ><span class="button-textxga"
+ ><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
+ ></el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ :page.sync="topqueryParams.pageNum"
+ :limit.sync="topqueryParams.pageSize"
+ @pagination="getList"
+ />
+ </el-row>
+ <!-- 婊℃剰搴﹀脊妗� -->
+ <el-dialog
+ title="闅忚婊℃剰搴﹁瘎鍒�"
+ :visible.sync="scoreDialogVisible"
+ width="80%"
+ :close-on-click-modal="false"
+ >
+ <el-table :data="selectedRows" border style="width: 100%">
+ <el-table-column
+ label="濮撳悕"
+ width="100"
+ align="center"
+ prop="sendname"
+ />
+ <el-table-column
+ label="浠诲姟鍚嶇О"
+ width="180"
+ align="center"
+ prop="taskName"
+ />
+ <!-- 鏂板璇勫垎鍒� -->
+ <el-table-column
+ label="鐪熷疄鎬�(20)"
+ align="center"
+ key="authenticity"
+ prop="authenticity"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.authenticity"
+ :min="0"
+ :max="20"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="涓�鍛ㄥ唴瀹屾垚(20)"
+ align="center"
+ key="weekFinish"
+ prop="weekFinish"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.weekFinish"
+ :min="0"
+ :max="20"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瑙勮寖鎬�(10)"
+ align="center"
+ key="standard"
+ prop="standard"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.standard"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍙婃椂鎬�(10)"
+ align="center"
+ key="timeliness"
+ prop="timeliness"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.timeliness"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="瀹f暀鎯呭喌(10)"
+ align="center"
+ key="library"
+ prop="library"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.library"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鐜婊℃剰搴�(10)"
+ align="center"
+ key="environment"
+ prop="environment"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.environment"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍖荤敓婊℃剰搴�(10)"
+ align="center"
+ key="doctorSatisfaction"
+ prop="doctorSatisfaction"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.doctorSatisfaction"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎶ゅ+婊℃剰搴�(10)"
+ align="center"
+ key="nurseSatisfaction"
+ prop="nurseSatisfaction"
+ width="150"
+ >
+ <template slot-scope="scope">
+ <el-input-number
+ v-model="scope.row.nurseSatisfaction"
+ :min="0"
+ :max="10"
+ :step="1"
+ size="small"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎬诲垎"
+ align="center"
+ key="total"
+ prop="total"
+ fixed="right"
+ >
+ <template slot-scope="scope">
+ <span>{{ calculateTotal(scope.row) }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="scoreDialogVisible = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="saveScores">淇濆瓨</el-button>
+ </div>
+ </el-dialog>
+ <!-- 娣诲姞鎴栦慨鏀瑰奖鍍忛殢璁垮璇濇 -->
+ <el-dialog
+ :title="amendtag ? '淇敼鎮h�呬俊鎭�' : '鏂板鎮h��'"
+ :visible.sync="Labelchange"
+ width="900px"
+ >
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+ <el-row>
+ <el-col :span="8">
+ <el-form-item label="濮撳悕" width="100" prop="name">
+ <el-input
+ v-model="form.name"
+ placeholder="璇疯緭鍏ュ鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鎬у埆" width="100" prop="sex">
+ <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
+ <el-option
+ v-for="dict in sextype"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="骞撮緞" prop="age">
+ <el-input
+ v-model="form.age"
+ placeholder="璇疯緭鍏ュ勾榫�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="8">
+ <el-form-item label="杩囨护鍖荤敓" width="100" prop="filterDrname">
+ <el-input
+ v-model="form.filterDrname"
+ placeholder="璇疯緭鍏ュ尰鐢熷鍚�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="杩囨护鍘熷洜">
+ <el-input
+ v-model="form.notrequiredreason"
+ type="textarea"
+ placeholder="璇疯緭鍏ヨ繃婊ゅ師鍥�"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ <!-- 淇敼鍙戦�佹椂闂村璇濇 -->
+ <el-dialog
+ title="鍙戦�佹椂闂磋缃�"
+ :visible.sync="modificationVisible"
+ width="45%"
+ >
+ <div style="margin-bottom: 20px; color: red">
+ 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿
+ </div>
+
+ <el-form
+ :model="ruleForm"
+ :rules="rules"
+ ref="ruleForm"
+ label-width="120px"
+ class="demo-ruleForm"
+ >
+ <el-form-item label="鍙戦�佹棩鏈�">
+ <el-date-picker
+ v-model="ruleForm.value1"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+
+ <el-form-item label="鏃堕棿娈�" prop="type">
+ <el-checkbox-group v-model="ruleForm.type">
+ <el-checkbox label="涓婂崍" name="type"></el-checkbox>
+ <el-checkbox label="涓嬪崍" name="type"></el-checkbox>
+ <el-checkbox label="鏅氫笂" name="type"></el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value2"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value3"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required>
+ <el-time-picker
+ is-range
+ v-model="ruleForm.value4"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫椂闂�"
+ end-placeholder="缁撴潫鏃堕棿"
+ placeholder="閫夋嫨鏃堕棿鑼冨洿"
+ >
+ </el-time-picker>
+ </el-form-item>
+ </el-form>
+
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="modificationVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="modificationVisible = false"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ <!-- 鍐嶆闅忚 -->
+
+ </div>
+</template>
+
+<script>
+import {
+ delUser,
+ addUser,
+ updateUser,
+ resetUserPwd,
+ changeUserStatus,
+} from "@/api/system/user";
+import {
+ getTaskservelist,
+ buidegetTasklist,
+ addserviceSubtask,
+ query360PatInfo,
+ addsatisfaction,
+} from "@/api/AiCentre/index";
+import { alterpatient, particularpatient } from "@/api/patient/homepage";
+import Treeselect from "@riophae/vue-treeselect";
+import store from "@/store";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+ name: "Discharge",
+ dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
+ components: { Treeselect },
+ data() {
+ return {
+ // 閬僵灞�
+ loading: true,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 鐢ㄦ埛琛ㄦ牸鏁版嵁
+ userList: null,
+ // 寮瑰嚭灞傛爣棰�
+ title: "鏂板褰卞儚闅忚",
+ // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰
+ addalteropen: false,
+ // 淇敼鍙戦�佹椂闂村璇濇
+ modificationVisible: false,
+ // 閮ㄩ棬鍚嶇О
+ deptName: undefined,
+ // 榛樿瀵嗙爜
+ initPassword: undefined,
+ // 鏃ユ湡鑼冨洿
+ dateRange: [],
+ dateRangefs: [],
+ // 宀椾綅閫夐」
+ postOptions: [],
+ ruleForm: {
+ type: [],
+ },
+ zcform: {},
+ dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
+ inputVisible: false,
+ Labelchange: false,
+ ycvalue: "",
+ yfsvalue: "",
+ inputValue: "",
+ preachform: "",
+ previewVisible: false, //褰卞儚闅忚棰勮寮规
+ radio: "",
+ radios: [],
+ previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷
+ total: 0, // 鎬绘潯鏁�
+ // 婊℃剰搴﹁皟鏌ユ暟鎹�
+ scoreDialogVisible: false,
+ selectedRows: [],
+
+ value: [],
+ list: [],
+
+ sourcetype: [
+ {
+ value: 1,
+ label: "绉戝",
+ children: [],
+ },
+ {
+ value: 2,
+ label: "鐥呭尯",
+ children: [],
+ },
+ {
+ value: 3,
+ label: "鍏ㄩ儴",
+ },
+ ],
+ loading: false,
+ cardlist: [
+ {
+ name: "鏈嶅姟鎬婚噺",
+ value: 0,
+ },
+ // {
+ // name: "鎮h�呰繃婊�",
+ // value: 0,
+ // },
+ {
+ name: "闇�闅忚",
+ value: 0,
+ },
+ {
+ name: "鍙戦�佸け璐�",
+ value: 0,
+ },
+ {
+ name: "寰呴殢璁�",
+ value: 0,
+ },
+ // {
+ // name: "宸插彂閫�",
+ // value: 0,
+ // },
+
+ // {
+ // name: "琛ㄥ崟宸插彂閫�",
+ // value: 0,
+ // },
+ ],
+ zcrules: {
+ date1: [
+ { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
+ ],
+ resource: [
+ { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
+ ],
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {
+ phonenumber: "",
+ totagid: "",
+ types: "",
+ nickName: "",
+ qystatus: "",
+ btstatus: "",
+ },
+ topicoptionssort: [
+ {
+ value: 0,
+ label: "鍑洪櫌鏃堕棿(姝e簭)",
+ },
+ {
+ value: 1,
+ label: "鍑洪櫌鏃堕棿(鍊掑簭)",
+ },
+ {
+ value: 2,
+ label: "鍙戦�佹椂闂�(姝e簭)",
+ },
+ {
+ value: 3,
+ label: "鍙戦�佹椂闂�(鍊掑簭)",
+ },
+ ],
+ // 鏌ヨ鍙傛暟
+ topqueryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ sendstate: 6,
+ sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
+ serviceType: 6,
+ searchscope: 3,
+ visitCount: 1,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ },
+ propss: { multiple: true },
+ options: [],
+
+ topicoptions: [
+ {
+ value: null,
+ label: "鍏ㄩ儴",
+ },
+ {
+ value: 1,
+ label: "琛ㄥ崟宸查鍙�",
+ },
+ {
+ value: 2,
+ label: "寰呴殢璁�",
+ },
+ {
+ value: 3,
+ label: "琛ㄥ崟宸插彂閫�",
+ },
+ {
+ value: 4,
+ label: "涓嶆墽琛�",
+ },
+ {
+ value: 5,
+ label: "鍙戦�佸け璐�",
+ },
+ {
+ value: 6,
+ label: "宸插畬鎴�",
+ },
+ ],
+ sextype: [
+ {
+ value: 1,
+ label: "鐢�",
+ },
+ {
+ value: 2,
+ label: "濂�",
+ },
+ ],
+ topicoptionsyj: [
+ {
+ value: 1,
+ label: "寮傚父",
+ },
+ {
+ value: 0,
+ label: "姝e父",
+ },
+ ],
+ url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
+ postData: {
+ XiaoXiTou: {
+ FaSongFCSJC: "ZJHES",
+ FaSongJGID: localStorage.getItem("orgid"),
+ FaSongJGMC: localStorage.getItem("orgname"),
+ FaSongSJ: "2025-01-09聽17:29:36",
+ FaSongXTJC: "SUIFANGXT",
+ FaSongXTMC: "闅忚绯荤粺",
+ XiaoXiID: "5FA92AFB-9833-4608-87C7-F56A654AC171",
+ XiaoXiLX: "SC_LC_360STCX",
+ XiaoXiMC: "360聽瑙嗗浘鏌ヨ",
+ ZuHuID: localStorage.getItem("ZuHuID"),
+ ZuHuMC: localStorage.getItem("orgname"),
+ },
+ YeWuXX: {
+ BingRenXX: {
+ ZhengJianHM: "",
+ ZhengJianLXDM: "01",
+ ZhengJianLXMC: "灞呮皯韬唤璇�",
+ ZuZhiJGID: localStorage.getItem("orgid"),
+ ZuZhiJGMC: localStorage.getItem("orgname"),
+ },
+ YongHuXX: {
+ XiTongID: "SUIFANGXT",
+ XiTongMC: "闅忚绯荤粺",
+ YongHuID: "1400466972205912064",
+ YongHuXM: "JNRMYY",
+ ZuZhiJGID: localStorage.getItem("orgid"),
+ ZuZhiJGMC: localStorage.getItem("orgname"),
+ idp: "lyra",
+ },
+ },
+ },
+ amendtag: false,
+ errtype: "",
+ leavehospitaldistrictcode: "",
+ serviceState: [],
+ checkboxlist: [],
+ // 琛ㄥ崟鏍¢獙
+ rules: {},
+ };
+ },
+ watch: {},
+ created() {
+ this.serviceState = store.getters.serviceState;
+ this.checkboxlist = store.getters.checkboxlist;
+ this.errtype = this.$route.query.errtype;
+ this.leavehospitaldistrictcode =
+ this.$route.query.leavehospitaldistrictcode;
+ this.sourcetype[0].children = store.getters.belongDepts.map((dept) => {
+ return {
+ label: dept.deptName,
+ value: dept.deptCode,
+ };
+ });
+ this.sourcetype[1].children = store.getters.belongWards.map((dept) => {
+ return {
+ label: dept.districtName,
+ value: dept.districtCode,
+ };
+ });
+ if (this.errtype) {
+ this.toleadExport(2);
+ } else {
+ this.getList(1);
+ }
+ this.getConfigKey("sys.user.initPassword").then((response) => {
+ this.initPassword = response.msg;
+ });
+ },
+ activated() {
+ this.getList(1);
+ },
+ methods: {
+ /** 鏌ヨ闅忚鏈嶅姟鍒楄〃 */
+ getList(refresh) {
+ // 榛樿鍏ㄩ儴
+
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ // 鎺ュ彈寮傚父璺宠浆
+ if (this.errtype) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(
+ this.leavehospitaldistrictcode
+ );
+ console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
+ }
+ this.loading = true;
+ if (
+ this.topqueryParams.leavehospitaldistrictcodes[0] &&
+ this.topqueryParams.leaveldeptcodes[0]
+ ) {
+ this.topqueryParams.deptOrDistrict = 2;
+ } else {
+ this.topqueryParams.deptOrDistrict = 1;
+ }
+ getTaskservelist(this.topqueryParams).then((response) => {
+ this.userList = response.rows[0].serviceSubtaskList;
+ this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ // this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[1].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[2].value = response.rows[0].fssb;
+ this.cardlist[3].value = response.rows[0].dsf;
+ // this.cardlist[4].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
+ this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
+ });
+ },
+ affiliation() {
+ this.topqueryParams.drcode = store.getters.hisUserId;
+ this.topqueryParams.nurseId = store.getters.hisUserId;
+ this.topqueryParams.managementDoctor = store.getters.name;
+ this.getList(1);
+ },
+ onthatday() {
+ this.topqueryParams.startSendDateTime = this.getCurrentDate();
+ this.topqueryParams.endSendDateTime = this.getCurrentDate();
+ this.getList(1);
+ },
+ getCurrentDate() {
+ const now = new Date();
+ return now.toISOString().slice(0, 10); // 鎴彇鍓�10涓瓧绗︼紝鍗� YYYY-MM-DD
+ },
+ buidegetTasklist(type) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ // 鎺ュ彈寮傚父璺宠浆
+ if (this.errtype) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(
+ this.leavehospitaldistrictcode
+ );
+ }
+ let obj = {
+ pageNum: 1,
+ pageSize: 10,
+ leavehospitaldistrictcodes:
+ this.topqueryParams.leavehospitaldistrictcodes,
+ sendstates: [2, 3],
+ leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
+ };
+ buidegetTasklist(obj).then((response) => {
+ this.userList = response.rows[0].serviceSubtaskList;
+ this.total = response.total;
+ if (refresh) {
+ this.cardlist[0].value =
+ Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
+ this.cardlist[1].value = response.rows[0].wzx;
+ this.cardlist[2].value = response.rows[0].ysf;
+ this.ycvalue = response.rows[0].yc;
+ this.cardlist[3].value = response.rows[0].fssb;
+ this.cardlist[4].value = response.rows[0].dsf;
+ // this.cardlist[5].value = response.rows[0].yfs2;
+ this.yfsvalue = response.rows[0].yfs;
+ }
+ this.loading = false;
+ this.userList.forEach((item) => {
+ let idArray = null;
+ if (item.endtime) {
+ item.endDay = this.daysBetween(item.endtime);
+ }
+
+ if (item.preachform) {
+ if (item.endtime) {
+ item.preachformson = item.preachform;
+ idArray = item.preachform.split(",");
+ }
+
+ item.preachform = idArray.map((value) => {
+ // 鏌ユ壘id瀵瑰簲鐨勫璞�
+ const item = this.checkboxlist.find(
+ (item) => item.value == value
+ );
+ // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null
+ return item ? item.label : null;
+ });
+ }
+ });
+ this.total = response.total;
+ });
+ },
+ // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏
+ Referencequestion(row) {
+ this.previewVisible = true;
+ },
+ // 娣诲姞寮规鎼滅储
+ remoteMethod(query) {
+ if (query !== "") {
+ this.loading = true;
+ setTimeout(() => {
+ this.loading = false;
+ this.options = this.list.filter((item) => {
+ return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1;
+ });
+ }, 200);
+ } else {
+ this.options = [];
+ }
+ },
+ // 褰卞儚闅忚鐘舵�佷慨鏀�
+ handleStatusChange(row) {
+ let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
+ this.$modal
+ .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵')
+ .then(function () {
+ return changeUserStatus(row.userId, row.status);
+ })
+ .then(() => {
+ this.$modal.msgSuccess(text + "鎴愬姛");
+ })
+ .catch(function () {
+ row.status = row.status === "0" ? "1" : "0";
+ });
+ },
+
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ userId: undefined,
+ deptId: undefined,
+ userName: undefined,
+ nickName: undefined,
+ password: undefined,
+ phonenumber: undefined,
+ email: undefined,
+ sex: undefined,
+ status: "0",
+ remark: undefined,
+ postIds: [],
+ roleIds: [],
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery(refresh) {
+ if (this.topqueryParams.searchscope == 3) {
+ this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+ (obj) => obj.deptCode
+ );
+ this.topqueryParams.leavehospitaldistrictcodes =
+ store.getters.belongWards.map((obj) => obj.districtCode);
+ }
+ this.topqueryParams.pageNum = 1;
+ this.topqueryParams.startOutHospTime = this.dateRange[0];
+ this.topqueryParams.endOutHospTime = this.dateRange[1];
+ this.topqueryParams.startSendDateTime = this.dateRangefs[0];
+ this.topqueryParams.endSendDateTime = this.dateRangefs[1];
+ this.getList(refresh);
+ },
+ // 鎮h�呰寖鍥村鐞�
+ handleChange(value) {
+ let type = value[0];
+ let code = value.slice(-1)[0];
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.leaveldeptcodes = [];
+ if (type == 1) {
+ this.topqueryParams.leaveldeptcodes.push(code);
+ this.topqueryParams.leavehospitaldistrictcodes = [];
+ this.topqueryParams.searchscope = 1;
+ } else if (type == 2) {
+ this.topqueryParams.leavehospitaldistrictcodes.push(code);
+ this.topqueryParams.leaveldeptcodes = [];
+ this.topqueryParams.searchscope = 2;
+ } else {
+ this.topqueryParams.searchscope = 3;
+ }
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.dateRange = [];
+ this.dateRangefs = [];
+ this.topqueryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ sendstate: 6,
+ sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭)
+ serviceType: 6,
+ searchscope: 3,
+ visitCount: 1,
+ scopetype: [],
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
+ };
+ this.handleQuery(1);
+ },
+ handleSelectionChange(rows) {
+ this.selectedRows = rows.map((row) => {
+ // 鍒濆鍖栬瘎鍒嗗瓧娈�
+ return {
+ ...row,
+ authenticity: row.authenticity || 0,
+ weekFinish: row.weekFinish || 0,
+ standard: row.standard || 0,
+ timeliness: row.timeliness || 0,
+ library: row.library || 0,
+ environment: row.environment || 0,
+ doctorSatisfaction: row.doctorSatisfaction || 0,
+ nurseSatisfaction: row.nurseSatisfaction || 0,
+ };
+ });
+
+ if (this.selectedRows.length > 0) {
+ this.multiple = false;
+ } else {
+ this.multiple = true;
+ }
+ },
+
+ // 璁$畻鎬诲垎
+ calculateTotal(row) {
+ return (
+ (row.authenticity || 0) +
+ (row.weekFinish || 0) +
+ (row.standard || 0) +
+ (row.timeliness || 0) +
+ (row.library || 0) +
+ (row.environment || 0) +
+ (row.doctorSatisfaction || 0) +
+ (row.nurseSatisfaction || 0)
+ );
+ },
+
+ // 淇濆瓨璇勫垎
+ saveScores() {
+ this.selectedRows.forEach((item) => {
+ item.createBy = null;
+ item.patName = item.sendname;
+ item.hospitaldistrictname = item.leavehospitaldistrictname;
+ });
+ addsatisfaction(this.selectedRows).then((res) => {
+ if (res.code == 200) {
+ this.$message.success("璇勫垎淇濆瓨鎴愬姛");
+ this.scoreDialogVisible = false;
+ this.selectedRows=[];
+ this.$refs.userform.clearSelection()
+ } else {
+ this.$modal.msgWarning("璇勫垎淇濆瓨澶辫触");
+ this.scoreDialogVisible = false;
+ this.selectedRows=[];
+ this.$refs.userform.clearSelection()
+ }
+ });
+ // 杩欓噷鍙互娣诲姞淇濆瓨閫昏緫锛屽璋冪敤API淇濆瓨璇勫垎
+ },
+ //鍒犻櫎閫夐」
+ handleClose(tag) {
+ this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+ },
+ //瑙﹀彂鏂板杈撳叆
+ showInput() {
+ this.inputVisible = true;
+ this.$nextTick((_) => {
+ this.$refs.saveTagInput.$refs.input.focus();
+ });
+ },
+ //鑾峰彇澶卞幓鐒︾偣瑙﹀彂
+ handleInputConfirm() {
+ let inputValue = this.inputValue;
+ if (inputValue) {
+ this.dynamicTags.push(inputValue);
+ }
+ this.inputVisible = false;
+ this.inputValue = "";
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.$router.push({
+ path: "/followvisit/QuestionnaireTask",
+ query: {
+ type: 2,
+ serviceType: 6,
+ },
+ });
+ },
+ //鎮h��360璺宠浆
+ gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
+ this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
+ if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
+ this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
+ this.postData.YeWuXX.YongHuXX.YongHuXM = "LSZYY";
+ }
+ query360PatInfo(this.postData).then((res) => {
+ if (res.data.url) {
+ window.open(res.data.url, "_blank");
+ // this.linkUrl = res.data.url;
+ } else {
+ this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+ }
+ });
+ },
+
+ /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */
+ handleResetPwd(row) {
+ this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ closeOnClickModal: false,
+ inputPattern: /^.{5,20}$/,
+ inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿",
+ })
+ .then(({ value }) => {
+ resetUserPwd(row.userId, value).then((response) => {
+ this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value);
+ });
+ })
+ .catch(() => {});
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.Labelchange = false;
+ this.reset();
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm: function () {
+ this.$refs["form"].validate((valid) => {
+ if (valid) {
+ this.form.isoperation = 2;
+ this.form.notrequiredFlag = 1;
+ alterpatient(this.form)
+ .then((response) => {
+ console.log(response);
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("鎮h�呰繃婊ゆ垚鍔�");
+ });
+
+ this.reset();
+ this.Labelchange = false;
+ }
+ });
+ },
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const userIds = row.userId || this.ids;
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�')
+ .then(function () {
+ return delUser(userIds);
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 鍏ㄩ儴鍋滄
+ AllStop() {
+ this.$modal
+ .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�")
+ .then(function () {
+ return console.log("鍋滄鎴愬姛");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgWarning("鍋滄鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 鍏ㄩ儴寮�濮�
+ AllStarted() {
+ this.$modal
+ .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵")
+ .then(function () {
+ return console.log("寮�鍚垚鍔�");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("寮�鍚垚鍔�");
+ })
+ .catch(() => {});
+ },
+ // 浠诲姟閲嶇疆
+ TaskReset() {
+ this.$modal
+ .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�")
+ .then(function () {
+ return console.log("閫変腑鎴愬姛");
+ })
+ .then(() => {
+ this.getList(1);
+ this.$modal.msgSuccess("閲嶇疆鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ // 璁剧疆鍙戦�佹椂闂�
+ Sendtimesetting() {
+ this.modificationVisible = true;
+ },
+ // 璺宠浆璇︽儏椤�
+ Seedetails(row) {
+ let type = "";
+ console.log(row, "rwo");
+ if (row.preachformson) {
+ if (row.preachformson.includes("3")) {
+ type = 1;
+ }
+ }
+ this.$router.push({
+ path: "/followvisit/record/detailpage/",
+ query: {
+ taskid: row.taskid,
+ patid: row.patid,
+ id: row.id,
+ Voicetype: type,
+ visitCount: this.topqueryParams.visitCount,
+ },
+ });
+ },
+
+ onSubmit() {},
+ // 鏆傚仠鏈嶅姟
+ handlestop(row) {
+ let objson = row;
+ this.$modal
+ .confirm(
+ '鏄惁纭鏆傚仠浠诲姟鍚嶇О涓�"' +
+ row.taskName +
+ '鎮h�呭悕绉颁负"' +
+ row.sendname +
+ '"鐨勬暟鎹」锛�'
+ )
+ .then(() => {
+ getTaskservelist({
+ patid: row.patid,
+ taskid: row.taskid,
+ }).then((res) => {
+ if (res.code == 200) {
+ objson.sendstate = 4;
+ objson.remark = "鏈嶅姟鏆傚仠";
+ Editsingletaskson(objson).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("璁板綍鎴愬姛");
+ this.getList(1);
+ }
+ });
+ }
+ });
+ })
+ .catch(() => {});
+ },
+ // 鎮h�呰繃婊よЕ鍙�
+ handleUpdate(row) {
+ particularpatient(row.patid).then((response) => {
+ this.form = response.data;
+ this.form.filterDrname = store.getters.nickName;
+ });
+ this.amendtag = true;
+ this.Labelchange = true;
+ },
+ // 渚挎嵎鎸夐挳
+ toleadExport(too) {
+ if (too == 1) {
+ this.topqueryParams.sendstate = 4;
+ this.topqueryParams.excep = null;
+ } else if (too == 2) {
+ this.topqueryParams.excep = 1;
+ }
+ this.handleQuery();
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.topqueryParams.pageNum = null;
+ this.topqueryParams.pageSize = null;
+ this.download(
+ "smartor/serviceSubtask/patItemExport",
+ {
+ ...this.topqueryParams,
+ },
+ `user_${new Date().getTime()}.xlsx`
+ );
+ },
+ // 寮傚父鍒楁覆鏌�
+ tableRowClassName({ row, rowIndex }) {
+ if (row.excep == 1) {
+ return "warning-row";
+ }
+ return "";
+ },
+
+ getCurrentTime() {
+ const now = new Date();
+ const year = now.getFullYear();
+ const month = String(now.getMonth() + 1).padStart(2, "0");
+ const day = String(now.getDate()).padStart(2, "0");
+ const hours = String(now.getHours()).padStart(2, "0");
+ const minutes = String(now.getMinutes()).padStart(2, "0");
+ const seconds = String(now.getSeconds()).padStart(2, "0");
+
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-button--primary.is-plain {
+ color: #ffffff;
+ background: #409eff;
+ border-color: #4fabe9;
+}
+
+.document {
+ // width: 100px;
+ height: 50px;
+}
+::v-deep.el-table .warning-row {
+ background: #eec4c4;
+}
+
+.documentf {
+ display: flex;
+ justify-content: flex-end;
+}
+
+.download {
+ text-align: center;
+
+ .el-upload__tip {
+ font-size: 23px;
+ }
+
+ .el-upload__text {
+ font-size: 23px;
+ }
+}
+
+.uploading {
+ margin-top: 20px;
+ margin: 20px;
+ padding: 30px;
+ background: #ffffff;
+ 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);
+}
+
+.el-tag + .el-tag {
+ margin-left: 10px;
+}
+
+.button-new-tag {
+ margin-left: 10px;
+ height: 32px;
+ line-height: 30px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+.input-new-tag {
+ width: 90px;
+ margin-left: 10px;
+ vertical-align: bottom;
+}
+
+.drexamine {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ padding: 30px;
+ background: #daeaf5;
+
+ img {
+ width: 100px;
+ height: 100px;
+ }
+}
+
+.qrcode-dialo {
+ // text-align: center;
+ // display: flex;
+ margin: 20px;
+ 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);
+
+ .topic-dev {
+ margin-bottom: 25px;
+ font-size: 20px !important;
+
+ .dev-text {
+ margin-bottom: 10px;
+ }
+ }
+}
+::v-deep.leftvlue .el-card__body {
+ background: #F2F8FF;
+ color: #324A9B;
+}
+::v-deep.leftvlue .el-card__body:hover {
+ background: #3664D9;
+ color: #fff;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+.button-textxga {
+ color: #de7897;
+}
+::v-deep.errleftvlue .el-card__body {
+ background: #fdd0d7;
+}
+::v-deep.errleftvlue .el-card__body:hover {
+ background: #f88d96;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+
+::v-deep.ysfleftvlue .el-card__body {
+ background: #d0fdd8;
+}
+::v-deep.ysfleftvlue .el-card__body:hover {
+ background: #8df8a4;
+ cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
+}
+.button-bb {
+ font-weight: 500;
+ background-color: #2ba05c;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-xq {
+ font-weight: 500;
+ background-color: #409eff;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-sc {
+ font-weight: 500;
+ background-color: #b3a21f;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+.button-zx {
+ background: #4fabe9;
+ padding: 5px;
+ border-radius: 1px;
+ color: #ffffff;
+}
+
+::v-deep.el-radio-group {
+ span {
+ font-size: 24px;
+ }
+}
+.purple-button {
+ background-color: #7e22ce;
+ border-color: #7e22ce;
+ color: #fff;
+}
+
+.purple-button:hover,
+.purple-button:focus {
+ background-color: #9333ea;
+ border-color: #9333ea;
+}
+
+.purple-button:active {
+ background-color: #6b21a8;
+ border-color: #6b21a8;
+}
+
+.purple-button.is-disabled {
+ background-color: #d8b4fe;
+ border-color: #d8b4fe;
+ opacity: 1; /* 淇濇寔绂佺敤鐘舵�侀�忔槑搴� */
+}
+// 閫夐」瀛椾綋鏀惧ぇ
+// ::v-deep.el-checkbox-group {
+// span {
+// font-size: 24px;
+// }
+// }
+</style>
diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index f13501d..b009153 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -1092,10 +1092,10 @@
)
.then(() => {
console.log(row);
- this.topicobj.scriptTopic = row.targetname;
+ // this.topicobj.scriptTopic = row.targetname;
this.topicobj.valueType = row.valueType;
this.topicobj.scriptType = row.scriptType;
- this.topicobj.scriptContent = row.targetdesc;
+ // this.topicobj.scriptContent = row.targetdesc;
this.topicobj.targetid = row.id;
this.topicobj.targetname = row.targetname;
this.topicobj.svyLibScriptOptions = [];
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 00a0b20..fa849d3 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -550,6 +550,26 @@
placeholder="璇疯緭鍏ラ鍙�"
></el-input>
</el-form-item>
+
+ <el-form-item prop="valueType">
+ <template #label>
+ 缁撴灉绫诲瀷
+ <el-tooltip
+ class="item"
+ effect="light"
+ content="鏈被鍨嬩负缁撴灉鏀堕泦绫诲瀷锛涢�夐」鐢ㄤ簬鎸囧悜鎬ч鐩鏄惁绛夛紱鏂囨湰閫傜敤澶嶆潅鎯呭喌锛涙暟鍊肩敤浜庢敹闆嗘暟鍊煎瀷鏁版嵁"
+ placement="top-start"
+ >
+ <i class="el-icon-warning-outline"></i>
+ </el-tooltip>
+ <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 -->
+ </template>
+ <el-radio-group v-model="topicobj.valueType">
+ <el-radio :label="1">閫夐」</el-radio>
+ <el-radio :label="2">鏂囨湰</el-radio>
+ <el-radio :label="3">鏁板��</el-radio>
+ </el-radio-group>
+ </el-form-item>
</el-col>
</el-row>
@@ -2397,7 +2417,10 @@
display: flex;
.presentation-left {
width: 45%;
- // height: 500px;
+ max-height: 80vh;
+ padding: 0 20px;
+ font-size: 18px;
+ overflow: auto;
.button-textxg {
color: #024df0;
}
@@ -2417,7 +2440,7 @@
}
.presentation-right {
width: 55%;
- max-height: 688px;
+ max-height: 80vh;
padding: 0 20px;
font-size: 18px;
overflow: auto;
diff --git a/src/views/login.vue b/src/views/login.vue
index be87cfe..9876eac 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -116,16 +116,9 @@
password: "",
rememberMe: false,
code: "",
- orgid: "47255004333112711A1001",
+ orgid: "H41010500003",
},
options: [
- { value: "47255004333112711A1001", label: "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�" },
- { value: "47231022633110211A2101", label: "涓芥按甯備腑鍖婚櫌" },
- { value: "47246102433112211A2101", label: "缂欎簯鍘夸腑鍖诲尰闄� " },
- { value: "47240018433118111A2101", label: "榫欐硥甯備腑鍖诲尰闄� " },
- { value: "47240004533118111A1001", label: "榫欐硥甯備汉姘戝尰闄� " },
- { value: "47243006833112611A2101", label: "搴嗗厓鍘夸腑鍖诲尰闄� " },
- { value: "47234002X33112111A2101", label: "闈掔敯鍘夸腑鍖诲尰闄� " },
],
loginRules: {
username: [
diff --git a/src/views/loginSSO.vue b/src/views/loginSSO.vue
new file mode 100644
index 0000000..6cd082c
--- /dev/null
+++ b/src/views/loginSSO.vue
@@ -0,0 +1,160 @@
+<template>
+ <div class="sso-redirect">
+ <div class="loading-container">
+ <el-alert
+ v-if="errorMessage"
+ :title="errorMessage"
+ type="error"
+ :closable="false"
+ show-icon
+ ></el-alert>
+ <div v-else class="loading-content">
+ <i class="el-icon-loading"></i>
+ <p>鍗曠偣鐧诲綍涓紝璇风◢鍊�...</p>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import { setToken } from "@/utils/auth";
+
+export default {
+ name: "SSORedirect",
+ data() {
+ return {
+ errorMessage: "",
+ loading: true,
+ };
+ },
+ created() {
+ this.handleSSORedirect();
+ },
+ methods: {
+ // 鍖归厤orgid
+ mateOrgid(orgid) {
+ if (orgid == "30001002") {
+ localStorage.setItem("orgname", "娴欐睙鐪佺珛鍚屽痉鍖婚櫌缈犺嫅闄㈠尯");
+ localStorage.setItem("ZuHuID", "1400361376454545408");
+ localStorage.setItem("deptCode", "1017");
+ } else if (orgid == "30001003") {
+ localStorage.setItem("orgname", "娴欐睙鐪佺珛鍚屽痉鍖婚櫌涔嬫睙闄㈠尯");
+ localStorage.setItem("ZuHuID", "1400360867068907520");
+ localStorage.setItem("deptCode", "01040201");
+ } else if (orgid == "30001004") {
+ localStorage.setItem("orgname", "娴欐睙鐪佺珛鍚屽痉鍖婚櫌闂叉灄闄㈠尯");
+ localStorage.setItem("ZuHuID", "1429338802177000002");
+ localStorage.setItem("deptCode", "");
+ } else if (orgid == "30001005") {
+ localStorage.setItem("orgname", "娴欐睙鐪佺珛鍚屽痉鍖婚櫌澶╃洰灞辫矾闄㈠尯");
+ localStorage.setItem("ZuHuID", "1429338802177000003");
+ localStorage.setItem("deptCode", "");
+ } else if (orgid == "30001006") {
+ localStorage.setItem("orgname", "娴欐睙鐪佺珛鍚屽痉鍖婚櫌闈掑北婀栭櫌鍖�");
+ localStorage.setItem("ZuHuID", "1429338802177000004");
+ localStorage.setItem("deptCode", "");
+ } else if (orgid == "30001007") {
+ localStorage.setItem("orgname", "娴嬭瘯闄㈠尯");
+ localStorage.setItem("ZuHuID", "1429338802177000005");
+ localStorage.setItem("deptCode", "");
+ }
+ },
+ async handleSSORedirect() {
+ try {
+ console.log(11);
+ // 浠嶶RL鍙傛暟涓幏鍙杢oken鍜屾満鏋勪俊鎭�
+ let { token, orgid, orgname, ZuHuID, deptCode } = this.$route.query;
+ // token =
+ // "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijc5MWVkODNlLWE2MWYtNDI2MS05ZDZlLTNhOTVjYTU2YjZhMiJ9.q6jrRj8fwtb3FOqqwaxIFDr824hf85DW8heCj4qWYgRE55Pn0vkmcujFsYMrz9qqo047Gl7lv3rnok8pk7SKYQ"; // 楠岃瘉蹇呰鍙傛暟
+ // orgid = "30001002";
+ if (!token) {
+ throw new Error("缂哄皯璁よ瘉浠ょ墝(token)");
+ }
+ console.log(token);
+ console.log(orgid);
+ console.log(orgname);
+ // console.log(redirect,'redirect');
+
+ this.mateOrgid(orgid);
+ setToken(token);
+ this.$store.commit("SET_TOKEN", token);
+
+ // 瀛樺偍鏈烘瀯淇℃伅鍒發ocalStorage
+ if (orgid) {
+ localStorage.setItem("orgid", orgid);
+ this.$store.dispatch("UpdateOrgId", orgid);
+ }
+ if (orgname) localStorage.setItem("orgname", orgname);
+ if (ZuHuID) localStorage.setItem("ZuHuID", ZuHuID);
+ if (deptCode) localStorage.setItem("deptCode", deptCode);
+
+ // 鑾峰彇鐢ㄦ埛淇℃伅
+ await this.$store.dispatch("GetInfo");
+
+ // 纭畾閲嶅畾鍚戣矾寰�
+ let redirectPath = "/index";
+ // if (redirect) {
+ // console.log(redirect,'888');
+
+ // redirectPath = decodeURIComponent(redirect);
+ // } else {
+ // 鏍规嵁鐢ㄦ埛瑙掕壊鍐冲畾榛樿璺宠浆椤甸潰
+ const roles = this.$store.state.user.roles;
+ const username = this.$store.state.user.name;
+
+ if (roles.includes("admin") || username === "admin") {
+ redirectPath = "/index";
+ } else {
+ redirectPath = "/followvisit/discharge";
+ }
+ // }
+
+ // 璺宠浆鍒扮洰鏍囬〉闈�
+ this.$router.replace({ path: redirectPath });
+ } catch (error) {
+ console.error("SSO鐧诲綍澶辫触:", error);
+ this.errorMessage = `鍗曠偣鐧诲綍澶辫触: ${error.message || "鏈煡閿欒"}`;
+ this.loading = false;
+
+ // 5绉掑悗璺宠浆鍒版櫘閫氱櫥褰曢〉
+ setTimeout(() => {
+ this.$router.replace("/login");
+ }, 5000);
+ }
+ },
+ },
+};
+</script>
+
+<style scoped>
+.sso-redirect {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100vh;
+ background-color: #f5f7fa;
+}
+
+.loading-container {
+ text-align: center;
+ padding: 20px;
+ background: white;
+ border-radius: 4px;
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+}
+
+.loading-content {
+ padding: 20px;
+}
+
+.el-icon-loading {
+ font-size: 40px;
+ color: #409eff;
+ margin-bottom: 10px;
+}
+
+p {
+ margin: 0;
+ color: #606266;
+}
+</style>
diff --git a/src/views/outsideChainwtnew.vue b/src/views/outsideChainwtnew.vue
index 37858aa..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>
@@ -19,6 +21,7 @@
class="topic-dev"
v-for="(item, index) in questionList"
:key="item.aaa"
+ v-if="!item.ishide"
>
<div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1">
<div class="dev-text">
@@ -276,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);
@@ -408,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 06f2765..1970d37 100644
--- a/src/views/patient/follow/index.vue
+++ b/src/views/patient/follow/index.vue
@@ -619,7 +619,10 @@
height: 100px;
}
}
+.button-textxga {
+ color: #de7897;
+}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
}
</style>
diff --git a/src/views/patient/medtechnician/PatientChart.vue b/src/views/patient/medtechnician/PatientChart.vue
index a513703..60d45fb 100644
--- a/src/views/patient/medtechnician/PatientChart.vue
+++ b/src/views/patient/medtechnician/PatientChart.vue
@@ -472,60 +472,7 @@
label: "娑堟伅閫氱煡",
},
],
- taskoptions: [
- {
- value: "1",
- label: "鐩戞祴璇勪及",
- },
- {
- value: "2",
- label: "鍑洪櫌闅忚",
- },
- {
- value: "3",
- label: "闂ㄨ瘖闅忚",
- },
- {
- value: "4",
- label: "瀹f暀鍏虫��",
- },
- {
- value: "5",
- label: "澶嶈瘖绠$悊",
- },
- // {
- // value: "5",
- // label: "婊℃剰搴﹁皟鏌�",
- // },
- {
- value: "7",
- label: "鎮h�呮姤鍛�",
- },
- // {
- // value: "8",
- // label: "鍏朵粬閫氱煡",
- // },
- {
- value: "9",
- label: "浣撴闅忚",
- },
- // {
- // value: "10",
- // label: "鍖绘妧闅忚",
- // },
- {
- value: "11",
- label: "褰卞儚闅忚",
- },
- {
- value: "12",
- label: "蹇冪數闅忚",
- },
- // {
- // value: "13",
- // label: "涓撶梾闅忚",
- // },
- ],
+ taskoptions: store.getters.tasktypes,
tasktopic: "2", //鏂板绫诲瀷
activname: "",
value: [],
diff --git a/src/views/patient/patient/ExternalPatient.vue b/src/views/patient/patient/ExternalPatient.vue
index 5f20aaa..92b4039 100644
--- a/src/views/patient/patient/ExternalPatient.vue
+++ b/src/views/patient/patient/ExternalPatient.vue
@@ -1178,10 +1178,12 @@
font-size: 20px;
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
.leftvlue {
@@ -1245,7 +1247,7 @@
}
}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
}
.button-textxg {
color: #de7897;
diff --git a/src/views/patient/patient/behospitalized.vue b/src/views/patient/patient/behospitalized.vue
index e6f8312..08ccbc5 100644
--- a/src/views/patient/patient/behospitalized.vue
+++ b/src/views/patient/patient/behospitalized.vue
@@ -718,6 +718,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -949,6 +951,6 @@
}
}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
}
</style>
diff --git a/src/views/patient/patient/hospital.vue b/src/views/patient/patient/hospital.vue
index de94d9e..7ad521e 100644
--- a/src/views/patient/patient/hospital.vue
+++ b/src/views/patient/patient/hospital.vue
@@ -653,6 +653,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh, drcode, drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -947,6 +949,6 @@
}
}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
}
</style>
diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index 7236eb1..4a8fbd3 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -185,7 +185,6 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
icon="el-icon-s-promotion"
size="medium"
@click="distribute"
@@ -1209,6 +1208,8 @@
},
//鎮h��360璺宠浆
gettoken360(sfzh,drcode,drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC=='涓芥按甯備腑鍖婚櫌') {
this.postData.YeWuXX.YongHuXX.YongHuID = '1400398571877961728';
@@ -1547,10 +1548,12 @@
font-size: 20px;
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
.leftvlue {
@@ -1615,7 +1618,10 @@
}
}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
+}
+.button-textxga {
+ color: #de7897;
}
.button-textxg {
color: #de7897;
diff --git a/src/views/patient/patient/operation.vue b/src/views/patient/patient/operation.vue
index d6df8aa..261b8a9 100644
--- a/src/views/patient/patient/operation.vue
+++ b/src/views/patient/patient/operation.vue
@@ -743,6 +743,6 @@
}
}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
}
</style>
diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue
index 3952a15..52295b1 100644
--- a/src/views/patient/patient/outpatient.vue
+++ b/src/views/patient/patient/outpatient.vue
@@ -880,7 +880,9 @@
});
},
//鎮h��360璺宠浆
- gettoken360(sfzh, drcode, drname) {
+ gettoken360(sfzh,drcode,drname) {
+ this.$modal.msgWarning('360鍔熻兘鏆傛湭寮�閫�');
+ return; // 闃绘鍚庣画浠g爜鎵ц
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
if (this.postData.XiaoXiTou.ZuHuMC == "涓芥按甯備腑鍖婚櫌") {
this.postData.YeWuXX.YongHuXX.YongHuID = "1400398571877961728";
@@ -1227,7 +1229,7 @@
}
}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
}
.batch-patient-section,
.batch-task-section {
diff --git a/src/views/patient/patient/physical.vue b/src/views/patient/patient/physical.vue
index 30228ec..0b62b0f 100644
--- a/src/views/patient/patient/physical.vue
+++ b/src/views/patient/patient/physical.vue
@@ -953,6 +953,6 @@
}
}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
}
</style>
diff --git a/src/views/patient/physical/index.vue b/src/views/patient/physical/index.vue
index 7582a65..2495cc9 100644
--- a/src/views/patient/physical/index.vue
+++ b/src/views/patient/physical/index.vue
@@ -138,8 +138,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -739,7 +738,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
@@ -1273,10 +1272,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
diff --git a/src/views/patient/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue
index e272911..f666f1a 100644
--- a/src/views/patient/propaganda/Missioncreation.vue
+++ b/src/views/patient/propaganda/Missioncreation.vue
@@ -1839,7 +1839,7 @@
}
}
.button-textsc {
- color: #28cfe6;
+ color: #3664D9;
}
.button-textxg {
color: #de7897;
diff --git a/src/views/patient/propaganda/Missionotice.vue b/src/views/patient/propaganda/Missionotice.vue
index a870188..ee36792 100644
--- a/src/views/patient/propaganda/Missionotice.vue
+++ b/src/views/patient/propaganda/Missionotice.vue
@@ -78,8 +78,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
v-hasPermi="['system:user:add']"
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index dd695de..9f5f112 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";
@@ -1154,60 +1157,7 @@
},
],
- tasktypes: [
- {
- value: 1,
- label: "鐩戞祴璇勪及",
- },
- {
- value: 2,
- label: "鍑洪櫌闅忚",
- },
- {
- value: 3,
- label: "闂ㄨ瘖闅忚",
- },
- {
- value: 4,
- label: "瀹f暀鍏虫��",
- },
- {
- value: 5,
- label: "澶嶈瘖绠$悊",
- },
- // {
- // value: 5,
- // label: "婊℃剰搴﹁皟鏌�",
- // },
- {
- value: 7,
- label: "鎮h�呮姤鍛�",
- },
- // {
- // value: 8,
- // label: "鍏朵粬閫氱煡",
- // },
- {
- value: 9,
- label: "浣撴闅忚",
- },
- // {
- // value: 1",
- // label: "鍖绘妧闅忚",
- // },
- {
- value: 11,
- label: "褰卞儚闅忚",
- },
- {
- value: 12,
- label: "蹇冪數闅忚",
- },
- // {
- // value: "13",
- // label: "涓撶梾闅忚",
- // },
- ],
+ tasktypes: store.getters.tasktypes,
// 绉戝/鐥呭尯
belongWards: [],
deptlist: [],
@@ -1337,9 +1287,13 @@
value: "5",
label: "寰俊鍏紬鍙�",
},
- { label: "寰俊灏忕▼搴�", value: 6 },
+ { label: "寰俊灏忕▼搴�", value: "6" },
];
- } else if (this.form.serviceType == 6) {
+ } else if (
+ this.form.serviceType == 6 ||
+ this.form.serviceType == 14 ||
+ this.form.serviceType == 15
+ ) {
this.checkboxlist = [
{
value: "3",
@@ -1406,6 +1360,7 @@
this.form.serviceType == 2 ||
this.form.serviceType == 3 ||
this.form.serviceType == 5 ||
+ this.form.serviceType == 16 ||
this.form.serviceType == 4
) {
this.checkboxlist = [
@@ -1493,17 +1448,18 @@
this.deptcodesWards[0] ||
this.leavehospitaldistrictcodes[0] ||
this.diagglist[0] ||
- this.operationcodes[0]
+ this.operationcodes[0] ||
+ this.form.longTask == 2
) {
} else {
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 46575a2..fa455f6 100644
--- a/src/views/patient/propaganda/index.vue
+++ b/src/views/patient/propaganda/index.vue
@@ -101,7 +101,6 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
icon="el-icon-plus"
size="medium"
@click="handleAdd"
@@ -754,6 +753,8 @@
serviceType: 4,
searchscope: 2,
sendstate: 2,
+ leaveldeptcodes: [],
+ leavehospitaldistrictcodes: [],
},
propss: { multiple: true },
options: [],
@@ -832,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
);
@@ -840,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] &&
@@ -849,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/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 69c24a5..e9d753d 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -1157,60 +1157,7 @@
},
],
- tasktypes: [
- {
- value: "1",
- label: "鐩戞祴璇勪及",
- },
- {
- value: "2",
- label: "鍑洪櫌闅忚",
- },
- {
- value: "3",
- label: "闂ㄨ瘖闅忚",
- },
- {
- value: "4",
- label: "瀹f暀鍏虫��",
- },
- {
- value: "5",
- label: "澶嶈瘖绠$悊",
- },
- // {
- // value: "5",
- // label: "婊℃剰搴﹁皟鏌�",
- // },
- {
- value: "7",
- label: "鎮h�呮姤鍛�",
- },
- // {
- // value: "8",
- // label: "鍏朵粬閫氱煡",
- // },
- {
- value: "9",
- label: "浣撴闅忚",
- },
- // {
- // value: "10",
- // label: "鍖绘妧闅忚",
- // },
- {
- value: "11",
- label: "褰卞儚闅忚",
- },
- {
- value: "12",
- label: "蹇冪數闅忚",
- },
- // {
- // value: "13",
- // label: "涓撶梾闅忚",
- // },
- ],
+ tasktypes: store.getters.tasktypes,
// 绉戝/鐥呭尯
belongWards: [],
deptlist: [],
@@ -1427,6 +1374,7 @@
} else if (
this.form.serviceType == 2 ||
this.form.serviceType == 3 ||
+ this.form.serviceType == 16 ||
this.form.serviceType == 4
) {
this.checkboxlist = [
diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue
index a4b9ba5..3290f95 100644
--- a/src/views/patient/questionnaire/index.vue
+++ b/src/views/patient/questionnaire/index.vue
@@ -138,8 +138,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -723,7 +722,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
@@ -1291,10 +1290,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
diff --git a/src/views/patient/shadow/index.vue b/src/views/patient/shadow/index.vue
index 6a6fbba..4677890 100644
--- a/src/views/patient/shadow/index.vue
+++ b/src/views/patient/shadow/index.vue
@@ -138,8 +138,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -723,7 +722,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
@@ -1291,10 +1290,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
diff --git a/src/views/patient/subsequent/index.vue b/src/views/patient/subsequent/index.vue
index b10c01f..a4c1cca 100644
--- a/src/views/patient/subsequent/index.vue
+++ b/src/views/patient/subsequent/index.vue
@@ -138,8 +138,7 @@
<el-col :span="1.5">
<el-button
type="primary"
- plain
- icon="el-icon-plus"
+ icon="el-icon-plus"
size="medium"
@click="handleAdd"
>鏂板</el-button
@@ -739,7 +738,7 @@
// value: 0,
// },
{
- name: "搴旈殢璁�",
+ name: "闇�闅忚",
value: 0,
},
@@ -1273,10 +1272,12 @@
}
}
::v-deep.leftvlue .el-card__body {
- background: #d0e9fd;
+ background: #F2F8FF;
+ color: #324A9B;
}
::v-deep.leftvlue .el-card__body:hover {
- background: #8dc8f8;
+ background: #3664D9;
+ color: #fff;
cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */
}
::v-deep.errleftvlue .el-card__body {
diff --git a/src/views/satisfaction.vue b/src/views/satisfaction.vue
new file mode 100644
index 0000000..26585af
--- /dev/null
+++ b/src/views/satisfaction.vue
@@ -0,0 +1,1188 @@
+<template>
+ <div class="questionnaire" :class="'survey-type-' + surveyType">
+ <!-- 鍔犺浇鐘舵�� -->
+ <div v-if="loading" class="loading-state">
+ <div class="loading-spinner">
+ <i class="el-icon-loading"></i>
+ <p>闂嵎鍔犺浇涓�...</p>
+ </div>
+ </div>
+
+ <!-- 鏃犳暟鎹姸鎬� -->
+ <div v-else-if="isEmptyData" class="empty-state">
+ <div class="empty-content">
+ <i class="el-icon-document" style="font-size: 64px; color: #909399"></i>
+ <h3>鏆傛棤闂嵎鏁版嵁</h3>
+ <p>褰撳墠娌℃湁鍙敤鐨勯棶鍗凤紝璇疯仈绯荤鐞嗗憳鎴栫◢鍚庨噸璇�</p>
+ <el-button
+ type="primary"
+ @click="loadSurveyData"
+ icon="el-icon-refresh"
+ >
+ 閲嶆柊鍔犺浇
+ </el-button>
+ </div>
+ </div>
+
+ <!-- 閿欒鐘舵�� -->
+ <div v-else-if="hasError" class="error-state">
+ <div class="error-content">
+ <i class="el-icon-warning" style="font-size: 64px; color: #f56c6c"></i>
+ <h3>鏁版嵁鍔犺浇澶辫触</h3>
+ <p>{{ errorMessage }}</p>
+ <el-button
+ type="primary"
+ @click="loadSurveyData"
+ icon="el-icon-refresh"
+ >
+ 閲嶆柊灏濊瘯
+ </el-button>
+ </div>
+ </div>
+ <div class="CONTENT" v-if="!accomplish">
+ <div class="preview-left">
+ <div class="toptitle">
+ <div class="title">{{ surveyTitle }}</div>
+ <div style="font-size: 22px; margin-bottom: 20px; line-height: 1.5">
+ {{ surveyDescription }}
+ </div>
+ </div>
+ <div v-if="showDeptSelect" class="dept-select-container">
+ <el-form>
+ <el-form>
+ <el-form-item label="閫夋嫨绉戝">
+ <el-select
+ v-model="selectedDept"
+ filterable
+ clearable
+ placeholder="璇烽�夋嫨绉戝鎴栬緭鍏ュ叧閿瘝鎼滅储"
+ @change="handleDeptChange"
+ popper-class="dept-select-dropdown"
+ >
+ <el-option
+ v-for="dept in filteredDeptList"
+ :key="dept.code"
+ :label="`${dept.name} (${dept.code})`"
+ :value="dept.name"
+ >
+ <span>{{ dept.name }}</span>
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ </el-form>
+ </div>
+ <el-divider></el-divider>
+
+ <!-- 鍗曢�夐 -->
+ <div
+ class="topic-dev"
+ v-for="(item, index) in questionList"
+ :key="item.scriptId"
+ >
+ <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1">
+ <div class="dev-text">
+ {{ index + 1 }}銆�<span style="line-height: 1.5"
+ >{{ item.scriptContent }}
+ <span style="color: #3ba2f7">[鍗曢�塢</span></span
+ >
+ </div>
+ <div class="dev-xx">
+ <el-radio-group
+ class="custom-radio"
+ v-model="item.scriptResult"
+ @change="handleOptionChange($event, index, item)"
+ >
+ <el-radio
+ border
+ v-for="(option, optIndex) in item.svyLibTemplateTargetoptions"
+ :class="
+ option.isabnormal &&
+ item.scriptResult == option.optioncontent
+ ? 'red-star'
+ : ''
+ "
+ :key="optIndex"
+ :label="option.optioncontent"
+ >{{ option.optioncontent }}</el-radio
+ >
+ </el-radio-group>
+ </div>
+ <div v-show="item.prompt">
+ <el-alert :title="item.prompt" type="warning"> </el-alert>
+ </div>
+ </div>
+
+ <!-- 澶氶�夐 -->
+ <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2">
+ <div class="dev-text">
+ {{ index + 1 }}銆�<span style="line-height: 1.5"
+ >{{ item.scriptContent }}
+ <span style="color: #3ba2f7">[澶氶�塢</span></span
+ >
+ </div>
+ <div class="dev-xx">
+ <el-checkbox-group
+ class="custom-radio"
+ v-model="item.scriptResult"
+ >
+ <el-checkbox
+ border
+ @change="$forceUpdate()"
+ v-for="(option, optIndex) in item.svyLibTemplateTargetoptions"
+ :key="optIndex"
+ :label="option.optioncontent"
+ >
+ {{ option.optioncontent }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </div>
+ <div v-show="item.prompt && item.scriptResult[0]">
+ <el-alert :title="item.prompt" type="warning"> </el-alert>
+ </div>
+ </div>
+
+ <!-- 濉┖棰� -->
+ <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 4">
+ <div class="dev-text">
+ {{ index + 1 }}銆�<span style="line-height: 1.5"
+ >{{ item.scriptContent
+ }}<span style="color: #3ba2f7">[闂瓟]</span></span
+ >
+ </div>
+ <div class="dev-xx">
+ <el-input
+ type="textarea"
+ :rows="3"
+ placeholder="璇疯緭鍏�"
+ v-model="item.scriptResult"
+ clearable
+ >
+ </el-input>
+ </div>
+ </div>
+ </div>
+
+ <div class="bottom-fixed">
+ <el-button
+ type="primary"
+ style="width: 80%; font-size: 20px"
+ @click="submitSurvey"
+ >鎻愪氦闂嵎</el-button
+ >
+ </div>
+ </div>
+ </div>
+
+ <div class="CONTENT" v-else>
+ <div class="preview-lefts">
+ <div class="completion-message">
+ <div class="thank-you">{{ this.accomplish || "鎰熻阿鎮ㄧ殑閰嶅悎!" }}</div>
+ <div class="feedback-message">{{ completionMessage }}</div>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import {
+ getScriptByCondition,
+ saveMYDQuestionAnswer,
+ WLgetDept,
+} from "@/api/AiCentre/index";
+
+export default {
+ data() {
+ return {
+ surveyType: null, // 'outpatient', 'inpatient'
+ surveyTitle: "",
+ surveyDescription: "",
+ questionList: [],
+ deptList: [],
+ completionMessage: "",
+ accomplish: false,
+ showDeptSelect: false,
+ selectedDept: null,
+ deptSearchText: "", // 淇濈暀鐢ㄤ簬鏈湴杩囨护
+ deptList: [],
+ filteredDeptList: [],
+
+ // 鍔犲瘑鍚庣殑鍙傛暟
+ encryptedParams: {
+ param1: "",
+ param2: "",
+ param3: "",
+ param4: "",
+ param5: "",
+ param6: "30001002",
+ },
+ isEmptyData: false, // 鏂板锛氭棤鏁版嵁鐘舵��
+ hasError: false, // 鏂板锛氶敊璇姸鎬�
+ loading: false, // 鏂板锛氬姞杞界姸鎬�
+ errorMessage: "", // 鏂板锛氶敊璇俊鎭�
+ // 娴嬭瘯鏁版嵁
+ testData: {
+ 1: {
+ title: "闂ㄨ瘖婊℃剰搴﹁皟鏌�",
+ description:
+ "浜茬埍鐨勬偅鑰咃紝鎰熻阿鎮ㄩ�夋嫨鎴戜滑鐨勫尰鐤楁湇鍔°�備负浜嗕笉鏂彁鍗囨湇鍔¤川閲忥紝璇锋偍鑺卞嚑鍒嗛挓鏃堕棿濉啓姝ら棶鍗枫��",
+ questions: [
+ {
+ scriptId: 1,
+ scriptType: 1,
+ scriptContent: "鎮ㄥ闂ㄨ瘖鍖荤敓鐨勮瘖鐤楁按骞虫槸鍚︽弧鎰忥紵",
+ scriptResult: null,
+ svyLibTemplateTargetoptions: [
+ { optioncontent: "闈炲父婊℃剰", value: "5", isabnormal: false },
+ { optioncontent: "婊℃剰", value: "4", isabnormal: false },
+ { optioncontent: "涓�鑸�", value: "3", isabnormal: true },
+ { optioncontent: "涓嶆弧鎰�", value: "2", isabnormal: true },
+ { optioncontent: "闈炲父涓嶆弧鎰�", value: "1", isabnormal: true },
+ ],
+ },
+ {
+ scriptId: 2,
+ scriptType: 1,
+ scriptContent: "鎮ㄥ闂ㄨ瘖鎶ゅ+鐨勬湇鍔℃�佸害鏄惁婊℃剰锛�",
+ scriptResult: null,
+ svyLibTemplateTargetoptions: [
+ { optioncontent: "闈炲父婊℃剰", value: "5", isabnormal: false },
+ { optioncontent: "婊℃剰", value: "4", isabnormal: false },
+ { optioncontent: "涓�鑸�", value: "3", isabnormal: true },
+ { optioncontent: "涓嶆弧鎰�", value: "2", isabnormal: true },
+ { optioncontent: "闈炲父涓嶆弧鎰�", value: "1", isabnormal: true },
+ ],
+ },
+ {
+ scriptId: 3,
+ scriptType: 2,
+ scriptContent: "鎮ㄨ涓洪棬璇婂摢浜涙柟闈㈤渶瑕佹敼杩涳紵锛堝彲澶氶�夛級",
+ scriptResult: [],
+ svyLibTemplateTargetoptions: [
+ {
+ optioncontent: "鎺掗槦绛夊�欐椂闂�",
+ value: "waiting_time",
+ isabnormal: false,
+ },
+ {
+ optioncontent: "鍖荤敓娌熼�氭柟寮�",
+ value: "communication",
+ isabnormal: false,
+ },
+ {
+ optioncontent: "灏辫瘖鐜",
+ value: "environment",
+ isabnormal: false,
+ },
+ {
+ optioncontent: "鍖荤枟璁惧",
+ value: "equipment",
+ isabnormal: false,
+ },
+ { optioncontent: "鍏朵粬", value: "other", isabnormal: false },
+ ],
+ },
+ {
+ scriptId: 4,
+ scriptType: 4,
+ scriptContent: "鎮ㄥ闂ㄨ瘖鏈嶅姟杩樻湁浠�涔堝叾浠栧缓璁紵",
+ scriptResult: null,
+ },
+ ],
+ completionMessage:
+ "鎰熻阿鎮ㄥ疂璐电殑鎰忚锛佹垜浠皢涓嶆柇鏀硅繘闂ㄨ瘖鏈嶅姟璐ㄩ噺锛屼负鎮ㄦ彁渚涙洿濂界殑鍖荤枟鏈嶅姟浣撻獙銆�",
+ },
+ 2: {
+ title: "浣忛櫌婊℃剰搴﹁皟鏌�",
+ description:
+ "浜茬埍鐨勬偅鑰呭強瀹跺睘锛屾劅璋㈡偍閫夋嫨鍦ㄦ垜闄綇闄㈡不鐤椼�備负浜嗘彁鍗囦綇闄㈡湇鍔¤川閲忥紝璇锋偍濉啓姝ら棶鍗枫��",
+ questions: [
+ {
+ scriptId: 1,
+ scriptType: 1,
+ scriptContent: "鎮ㄥ浣忛櫌鏈熼棿鍖荤敓鐨勮瘖鐤楁按骞虫槸鍚︽弧鎰忥紵",
+ scriptResult: null,
+ svyLibTemplateTargetoptions: [
+ { optioncontent: "闈炲父婊℃剰", value: "5", isabnormal: false },
+ { optioncontent: "婊℃剰", value: "4", isabnormal: false },
+ { optioncontent: "涓�鑸�", value: "3", isabnormal: true },
+ { optioncontent: "涓嶆弧鎰�", value: "2", isabnormal: true },
+ { optioncontent: "闈炲父涓嶆弧鎰�", value: "1", isabnormal: true },
+ ],
+ },
+ {
+ scriptId: 2,
+ scriptType: 1,
+ scriptContent: "鎮ㄥ浣忛櫌鏈熼棿鎶ゅ+鐨勬姢鐞嗘湇鍔℃槸鍚︽弧鎰忥紵",
+ scriptResult: null,
+ svyLibTemplateTargetoptions: [
+ { optioncontent: "闈炲父婊℃剰", value: "5", isabnormal: false },
+ { optioncontent: "婊℃剰", value: "4", isabnormal: false },
+ { optioncontent: "涓�鑸�", value: "3", isabnormal: true },
+ { optioncontent: "涓嶆弧鎰�", value: "2", isabnormal: true },
+ { optioncontent: "闈炲父涓嶆弧鎰�", value: "1", isabnormal: true },
+ ],
+ },
+ {
+ scriptId: 3,
+ scriptType: 1,
+ scriptContent: "鎮ㄥ浣忛櫌鐥呮埧鐨勭幆澧冨拰鍗敓鏄惁婊℃剰锛�",
+ scriptResult: null,
+ svyLibTemplateTargetoptions: [
+ { optioncontent: "闈炲父婊℃剰", value: "5", isabnormal: false },
+ { optioncontent: "婊℃剰", value: "4", isabnormal: false },
+ { optioncontent: "涓�鑸�", value: "3", isabnormal: true },
+ { optioncontent: "涓嶆弧鎰�", value: "2", isabnormal: true },
+ { optioncontent: "闈炲父涓嶆弧鎰�", value: "1", isabnormal: true },
+ ],
+ },
+ {
+ scriptId: 4,
+ scriptType: 4,
+ scriptContent: "鎮ㄥ浣忛櫌鏈嶅姟杩樻湁浠�涔堝叾浠栧缓璁紵",
+ scriptResult: null,
+ },
+ ],
+ completionMessage:
+ "鎰熻阿鎮ㄥ鎴戜滑宸ヤ綔鐨勬敮鎸侊紒鎴戜滑灏嗘牴鎹偍鐨勫弽棣堟寔缁敼杩涗綇闄㈡湇鍔¤川閲忥紝绁濇偍鏃╂棩搴峰锛�",
+ },
+ },
+ };
+ },
+ created() {
+ this.initSurveyData();
+ },
+ methods: {
+ // 鍒濆鍖栬皟鏌ユ暟鎹�
+ initSurveyData() {
+ // 浠庤矾鐢卞弬鏁拌幏鍙栧姞瀵嗗悗鐨勫弬鏁�
+ this.encryptedParams.param1 =
+ this.$route.query.param1 ||
+ "WOAq2QZd43E-qg-96SvuIFsn-sdRVxQNH4M82XhpXp_Ux4PFrPaqSFXcKaeA6oxEgNhPisA86LvU9kTAEz4xvQ==";
+ this.encryptedParams.param2 =
+ this.$route.query.param2 ||
+ "XWeBh42RLYlNsMcomgw9UXhUPySkRP5EneWSueSq8F84qwYznU9heXuSx4tUMUtDvRnuJ86moJivy-kWQX12Rg==";
+ this.encryptedParams.param5 = this.$route.query.param3 || "2"; // 1=浣忛櫌, 2=闂ㄨ瘖, 3=鎶曡瘔寤鸿
+ this.encryptedParams.param6 = this.$route.query.param4 || "30001002";
+
+ this.surveyType = parseInt(this.encryptedParams.param5) || 2;
+
+ // 鍔犺浇闂嵎鏁版嵁
+ this.loadSurveyData();
+ // 鑾峰彇绉戝鍒楄〃
+ this.WLgetDept();
+ },
+ WLgetDept() {
+ // 璋冪敤鎺ュ彛鑾峰彇绉戝鏁版嵁
+ WLgetDept(this.encryptedParams.param6).then((res) => {
+ this.deptList = Object.entries(res.data).map(([code, name]) => ({
+ code,
+ name,
+ }));
+ this.filteredDeptList = [...this.deptList];
+
+ if (this.surveyType === 3) {
+ this.showDeptSelect = true;
+ }
+ });
+ },
+ filterDeptList() {
+ if (!this.deptSearchText) {
+ this.filteredDeptList = [...this.deptList];
+ return;
+ }
+
+ const searchText = this.deptSearchText.toLowerCase();
+ this.filteredDeptList = this.deptList.filter(
+ (dept) =>
+ dept.name.toLowerCase().includes(searchText) ||
+ dept.code.toLowerCase().includes(searchText)
+ );
+ },
+ // 鍔犺浇璋冩煡鏁版嵁
+ loadSurveyData() {
+ this.loading = true;
+ this.isEmptyData = false;
+ this.hasError = false;
+ this.errorMessage = "";
+ // 璋冪敤鎺ュ彛鑾峰彇闂嵎鏁版嵁
+ // 鏍规嵁闂嵎绫诲瀷璁剧疆涓嶅悓鐨勫弬鏁�
+ let encryptedParams = {
+ param1: this.encryptedParams.param1,
+ };
+
+ // 鏍规嵁surveyType璁剧疆涓嶅悓鐨勫弬鏁�
+ switch (this.surveyType) {
+ case 1: // 浣忛櫌
+ encryptedParams.param2 = this.encryptedParams.param2;
+ break;
+ case 2: // 闂ㄨ瘖
+ encryptedParams.param3 = this.encryptedParams.param2;
+ break;
+ case 3: // 鎶曡瘔寤鸿
+ encryptedParams.param4 = this.encryptedParams.param2;
+ break;
+ default:
+ encryptedParams.param3 = this.encryptedParams.param2;
+ }
+ getScriptByCondition(encryptedParams)
+ .then((res) => {
+ if (res.code === 200) {
+ if (res.data.result) {
+ this.accomplish = res.data.result;
+ return;
+ }
+ if (
+ !res.data.svyLibTemplateScriptVOS ||
+ res.data.svyLibTemplateScriptVOS.length === 0
+ ) {
+ this.isEmptyData = true;
+ this.$message.warning("鏆傛棤闂嵎鏁版嵁");
+ return;
+ }
+ // 澶勭悊鎺ュ彛杩斿洖鐨勬暟鎹�
+ this.questionList = res.data.svyLibTemplateScriptVOS.map((item) => {
+ return {
+ ...item,
+ scriptResult: item.scriptType === 2 ? [] : null,
+ };
+ });
+
+ // 鏍规嵁surveyType璁剧疆鏍囬鍜屾弿杩�
+ switch (this.surveyType) {
+ case 2: // 闂ㄨ瘖
+ this.surveyTitle = "闂ㄨ瘖婊℃剰搴﹁皟鏌�";
+ this.surveyDescription =
+ "浜茬埍鐨勬偅鑰咃紝鎰熻阿鎮ㄩ�夋嫨鎴戜滑鐨勫尰鐤楁湇鍔°�備负浜嗕笉鏂彁鍗囨湇鍔¤川閲忥紝璇锋偍鑺卞嚑鍒嗛挓鏃堕棿濉啓姝ら棶鍗枫��";
+ this.completionMessage =
+ "鎰熻阿鎮ㄥ疂璐电殑鎰忚锛佹垜浠皢涓嶆柇鏀硅繘闂ㄨ瘖鏈嶅姟璐ㄩ噺锛屼负鎮ㄦ彁渚涙洿濂界殑鍖荤枟鏈嶅姟浣撻獙銆�";
+ break;
+ case 1: // 浣忛櫌
+ this.surveyTitle = "浣忛櫌婊℃剰搴﹁皟鏌�";
+ this.surveyDescription =
+ "浜茬埍鐨勬偅鑰呭強瀹跺睘锛屾劅璋㈡偍閫夋嫨鍦ㄦ垜闄綇闄㈡不鐤椼�備负浜嗘彁鍗囦綇闄㈡湇鍔¤川閲忥紝璇锋偍濉啓姝ら棶鍗枫��";
+ this.completionMessage =
+ "鎰熻阿鎮ㄥ鎴戜滑宸ヤ綔鐨勬敮鎸侊紒鎴戜滑灏嗘牴鎹偍鐨勫弽棣堟寔缁敼杩涗綇闄㈡湇鍔¤川閲忥紝绁濇偍鏃╂棩搴峰锛�";
+ break;
+ case 3: // 鎶曡瘔寤鸿
+ this.surveyTitle = "鎶曡瘔寤鸿鍙嶉";
+ this.surveyDescription =
+ "灏婃暚鐨勫鎴凤紝鎰熻阿鎮ㄦ娊鍑哄疂璐垫椂闂存彁渚涘弽棣堛�傛偍鐨勬剰瑙佸鎴戜滑鏀硅繘鏈嶅姟闈炲父閲嶈銆�";
+ this.completionMessage =
+ "鎰熻阿鎮ㄧ殑鍙嶉锛佹垜浠凡鏀跺埌鎮ㄧ殑鎶曡瘔/寤鸿锛屽皢灏藉揩澶勭悊骞朵笌鎮ㄨ仈绯汇��";
+ break;
+ default:
+ this.useTestData(1); // 榛樿浣跨敤闂ㄨ瘖鏁版嵁
+ }
+ } else {
+ // 鎺ュ彛鏃犳暟鎹垨澶辫触锛屼娇鐢ㄦ祴璇曟暟鎹�
+ // this.useTestData(this.surveyType);
+ }
+ })
+ .catch(() => {
+ console.error("鏁版嵁鑾峰彇澶辫触:", error);
+ this.hasError = true;
+ this.errorMessage =
+ error.message || "闂嵎鏁版嵁鍔犺浇澶辫触锛岃妫�鏌ョ綉缁滆繛鎺ュ悗閲嶈瘯";
+ this.$message.error("鏁版嵁鍔犺浇澶辫触");
+ // 鎺ュ彛璋冪敤澶辫触锛屼娇鐢ㄦ祴璇曟暟鎹�
+ // this.useTestData(this.surveyType);
+ })
+ .finally(() => {
+ this.loading = false;
+ });
+ },
+ handleDeptChange(value) {
+ this.selectedDept = value;
+ // 鍙互鍦ㄨ繖閲屾坊鍔犲叾浠栧鐞嗛�昏緫
+ },
+ // 浣跨敤娴嬭瘯鏁版嵁
+ useTestData(surveyType) {
+ const type = [1, 2, 3].includes(surveyType) ? surveyType : 1;
+ const testData = this.testData[type];
+
+ this.surveyTitle = testData.title;
+ this.surveyDescription = testData.description;
+ this.questionList = testData.questions;
+ this.completionMessage = testData.completionMessage;
+ },
+
+ // 鎻愪氦璋冩煡闂嵎锛堢洿鎺ユ彁浜わ紝涓嶇粡杩囩紦瀛橈級
+ async submitSurvey() {
+ // 楠岃瘉蹇呭~椤�
+ if (this.hasUnansweredRequiredQuestions()) {
+ this.$message.error("璇峰畬鎴愭墍鏈夊繀濉棶棰樺悗鍐嶆彁浜�");
+ return;
+ }
+
+ try {
+ const submitData = this.prepareSubmitData();
+ const res = await saveMYDQuestionAnswer(submitData);
+
+ if (res.code === 200) {
+ this.accomplish = "闂嵎宸叉彁浜�";
+ this.$message.success("鎻愪氦鎴愬姛锛佹劅璋㈡偍鐨勫弽棣堛��");
+ } else {
+ this.$message.error(res.msg || "鎻愪氦澶辫触锛岃绋嶅悗鍐嶈瘯");
+ }
+ } catch (error) {
+ this.$message.error("缃戠粶閿欒锛屾彁浜ゅけ璐�");
+ console.error("鎻愪氦澶辫触:", error);
+ }
+ },
+
+ // 妫�鏌ユ槸鍚︽湁鏈洖绛旂殑蹇呭~闂
+ hasUnansweredRequiredQuestions() {
+ return this.questionList.some((question) => {
+ return (
+ question.required &&
+ (question.scriptResult === null ||
+ question.scriptResult === "" ||
+ (Array.isArray(question.scriptResult) &&
+ question.scriptResult.length === 0))
+ );
+ });
+ },
+
+ // 鍑嗗鎻愪氦鏁版嵁
+ prepareSubmitData() {
+ // 鍒涘缓绉戝閫夋嫨闂瀵硅薄
+ const deptQuestion = {
+ scriptId: "dept_selection", // 鑷畾涔塈D
+ scriptType: 4, // 4琛ㄧず闂瓟绫诲瀷
+ scriptContent: "閫夋嫨鐨勭瀹�",
+ scriptResult: this.selectedDept || "", // 瀛樺偍閫夋嫨鐨勭瀹ゅ悕绉�
+ required: false, // 闈炲繀濉�
+ sort: 999,
+ nextScriptno: "1",
+ };
+
+ return {
+ taskId: this.encryptedParams.param1,
+ serialnum: this.encryptedParams.param2 || this.encryptedParams.param3,
+ mzzy: this.surveyType,
+ svyLibTemplateScriptVOS: [
+ deptQuestion, // 灏嗙瀹ら�夋嫨浣滀负绗竴涓棶棰�
+ ...this.questionList.map((item) => {
+ return {
+ scriptId: item.scriptId,
+ scriptType: item.scriptType,
+ scriptResult:
+ item.scriptType === 2
+ ? (item.scriptResult || []).join("&")
+ : item.scriptResult || "",
+ nextScriptno: item.nextScriptno,
+ score: item.score,
+ prompt: item.prompt,
+ ...item,
+ };
+ }),
+ ],
+ excep: this.checkAbnormalOptions() ? 1 : 0,
+ };
+ },
+
+ // 妫�鏌ュ紓甯搁�夐」
+ checkAbnormalOptions() {
+ return this.questionList.some((question) => {
+ if (!question.scriptResult) return false;
+
+ if (question.scriptType === 1) {
+ // 鍗曢�夐寮傚父妫�鏌�
+ const selectedOption = question.svyLibTemplateTargetoptions.find(
+ (opt) => opt.optioncontent === question.scriptResult
+ );
+ return selectedOption?.isabnormal;
+ } else if (question.scriptType === 2) {
+ // 澶氶�夐寮傚父妫�鏌�
+ return question.scriptResult.some((answer) => {
+ const option = question.svyLibTemplateTargetoptions.find(
+ (opt) => opt.optioncontent === answer
+ );
+ return option?.isabnormal;
+ });
+ }
+ return false;
+ });
+ },
+
+ // 澶勭悊鍗曢�夐�夐」鍙樺寲
+ handleOptionChange(selectedValue, index, question) {
+ const selectedOption = question.svyLibTemplateTargetoptions.find(
+ (option) => option.optioncontent === selectedValue
+ );
+
+ if (selectedOption) {
+ this.questionList[index].nextScriptno = selectedOption.nextQuestion;
+ this.questionList[index].score = selectedOption.score;
+ this.questionList[index].prompt = selectedOption.prompt;
+ }
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+/* 鍩虹鏍峰紡鍙橀噺 */
+:root {
+ --primary-color: #1a73e8; /* 榛樿钃濊壊 */
+ --secondary-color: #34d399; /* 榛樿缁胯壊 */
+ --alert-color: #ed8936; /* 榛樿姗欒壊 */
+}
+
+/* 闂ㄨ瘖鏍峰紡鍙橀噺 */
+.survey-type-1 {
+ --primary-color: #1a73e8; /* 鍖荤枟钃� */
+ --secondary-color: #34d399; /* 鍋ュ悍缁� */
+ --alert-color: #ed8936; /* 璀︾ず姗� */
+}
+
+/* 浣忛櫌鏍峰紡鍙橀噺 */
+.survey-type-2 {
+ --primary-color: #5a67d8; /* 娣辫摑绱� */
+ --secondary-color: #667eea; /* 娴呰摑绱� */
+ --alert-color: #f56565; /* 璀︾ず绾� */
+}
+
+/* 鎶曡瘔寤鸿鏍峰紡鍙橀噺 */
+.survey-type-3 {
+ --primary-color: #e53e3e; /* 绱ф�ョ孩 */
+ --secondary-color: #f6ad55; /* 璀︾ず榛� */
+ --alert-color: #f56565; /* 璀︾ず绾� */
+}
+
+.questionnaire {
+ font-family: "PingFang SC", "Helvetica Neue", Arial, sans-serif;
+ min-height: 100vh;
+ margin: 0;
+ padding: 0;
+ color: #333;
+ transition: all 0.3s ease;
+
+ /* 鏍规嵁surveyType搴旂敤涓嶅悓鐨勪富棰� */
+ &.survey-type-1 {
+ background-color: #f5f9fc;
+ --theme-gradient: linear-gradient(135deg, #1a73e8, #34d399);
+ }
+
+ &.survey-type-2 {
+ background-color: #f8f9ff;
+ --theme-gradient: linear-gradient(135deg, #5a67d8, #667eea);
+ }
+
+ &.survey-type-3 {
+ background-color: #fff5f5;
+ --theme-gradient: linear-gradient(135deg, #e53e3e, #f6ad55);
+ }
+}
+.dept-select-container {
+ margin: 20px 0;
+ padding: 20px;
+ background-color: #f8fafc;
+ border-radius: 8px;
+ border: 1px solid #e2e8f0;
+}
+
+/* 璋冩暣涓嬫媺閫夐」鏍峰紡 */
+.el-select-dropdown__item {
+ display: flex;
+ justify-content: space-between;
+}
+/* 涓嬫媺妗嗘牱寮忚皟鏁� */
+::v-deep .dept-select-dropdown {
+ max-height: 400px; /* 闄愬埗鏈�澶ч珮搴� */
+ overflow-y: auto; /* 娣诲姞婊氬姩鏉� */
+
+ .el-select-dropdown__item {
+ display: flex;
+ justify-content: space-between;
+ padding: 0 20px;
+ height: auto;
+ line-height: 36px;
+
+ span {
+ display: inline-block;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
+
+ /* 鍚嶇О閮ㄥ垎 */
+ span:first-child {
+ width: 60%;
+ text-align: left;
+ }
+
+ /* 缂栫爜閮ㄥ垎 */
+ span:last-child {
+ width: 40%;
+ text-align: right;
+ }
+ }
+}
+
+/* 绉诲姩绔�傞厤 */
+@media (max-width: 768px) {
+ ::v-deep .dept-select-dropdown {
+ max-width: 100vw; /* 闄愬埗鏈�澶у搴︿负瑙嗗彛瀹藉害 */
+ width: auto !important;
+ left: 10px !important;
+ right: 10px !important;
+
+ .el-select-dropdown__item {
+ span:first-child {
+ width: 50%;
+ }
+ span:last-child {
+ width: 50%;
+ }
+ }
+ }
+}
+.CONTENT {
+ max-width: 900px;
+ margin: 0 auto;
+ padding: 20px;
+
+ .title {
+ color: var(--primary-color);
+ font-size: 28px;
+ font-weight: 600;
+ margin-bottom: 15px;
+ text-align: center;
+ letter-spacing: 0.5px;
+ position: relative;
+
+ &::after {
+ content: "";
+ position: absolute;
+ bottom: -8px;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 60px;
+ height: 3px;
+ background: var(--theme-gradient);
+ border-radius: 3px;
+ }
+ }
+}
+
+.preview-left {
+ margin: 20px 0;
+ margin-bottom: 100px;
+ background-color: #fff;
+ border-radius: 12px;
+ padding: 30px;
+ border: none;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
+ transition: all 0.3s ease;
+
+ &:hover {
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
+ }
+
+ .toptitle {
+ margin-bottom: 25px;
+
+ div {
+ color: #4a5568;
+ font-size: 18px;
+ line-height: 1.6;
+ text-align: center;
+ }
+ }
+
+ .el-divider {
+ background-color: #e2e8f0;
+ margin: 25px 0;
+ }
+
+ .topic-dev {
+ margin-bottom: 30px;
+ font-size: 17px;
+ background-color: #f8fafc;
+ border-radius: 10px;
+ padding: 20px;
+ transition: all 0.3s ease;
+ position: relative;
+ overflow: hidden;
+
+ &:hover {
+ background-color: #f1f5f9;
+ }
+
+ /* 娣诲姞绫诲瀷鏍囪瘑灏忔爣绛� */
+ &::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 4px;
+ height: 100%;
+ background: var(--primary-color);
+ }
+
+ .dev-text {
+ margin-bottom: 18px;
+ font-weight: 500;
+ color: #2d3748;
+ font-size: 18px;
+ line-height: 1.6;
+
+ span[style*="color: #3ba2f7"] {
+ font-size: 14px;
+ margin-left: 8px;
+ color: var(--primary-color) !important;
+ }
+ }
+ }
+}
+
+.preview-lefts {
+ margin: 20px 0;
+ background-color: #fff;
+ border-radius: 12px;
+ padding: 40px;
+ min-height: 400px;
+ border: none;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+
+ .completion-message {
+ padding: 40px;
+ max-width: 600px;
+
+ .thank-you {
+ font-size: 32px;
+ color: var(--primary-color);
+ font-weight: 600;
+ margin-bottom: 25px;
+ position: relative;
+ display: inline-block;
+
+ &::after {
+ content: "";
+ position: absolute;
+ bottom: -10px;
+ left: 50%;
+ transform: translateX(-50%);
+ width: 80px;
+ height: 3px;
+ background: var(--theme-gradient);
+ border-radius: 3px;
+ }
+ }
+
+ .feedback-message {
+ font-size: 20px;
+ line-height: 1.7;
+ color: #4a5568;
+ margin: 0 auto;
+ }
+ }
+}
+
+.red-star {
+ ::v-deep .el-radio__label,
+ ::v-deep .el-checkbox__label {
+ position: relative;
+ padding-right: 20px;
+
+ &::after {
+ content: "*";
+ color: #ef4444;
+ position: absolute;
+ right: 0;
+ top: 0;
+ font-size: 16px;
+ }
+ }
+}
+.loading-state {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ min-height: 60vh;
+ padding: 40px;
+
+ .loading-spinner {
+ text-align: center;
+
+ .el-icon-loading {
+ font-size: 48px;
+ color: var(--primary-color);
+ margin-bottom: 16px;
+ animation: rotating 2s linear infinite;
+ }
+
+ p {
+ color: #666;
+ font-size: 16px;
+ }
+ }
+}
+
+.empty-state,
+.error-state {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ min-height: 60vh;
+ padding: 40px;
+
+ .empty-content,
+ .error-content {
+ text-align: center;
+ max-width: 400px;
+
+ h3 {
+ color: #666;
+ font-size: 20px;
+ margin: 16px 0 12px;
+ font-weight: 500;
+ }
+
+ p {
+ color: #999;
+ font-size: 14px;
+ margin-bottom: 24px;
+ line-height: 1.6;
+ }
+ }
+}
+
+.error-state {
+ .error-content {
+ h3 {
+ color: #f56c6c;
+ }
+ }
+}
+
+@keyframes rotating {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+/* 鍝嶅簲寮忚皟鏁� */
+@media (max-width: 768px) {
+ .loading-state,
+ .empty-state,
+ .error-state {
+ padding: 20px;
+ min-height: 50vh;
+
+ .el-icon-loading,
+ .el-icon-document,
+ .el-icon-warning {
+ font-size: 40px !important;
+ }
+
+ h3 {
+ font-size: 18px !important;
+ }
+
+ p {
+ font-size: 13px !important;
+ }
+ }
+}
+::v-deep {
+ .el-checkbox-group {
+ display: flex;
+ flex-direction: column;
+ margin: 15px 0;
+ gap: 12px;
+ }
+
+ .el-radio-group {
+ display: flex;
+ flex-direction: column;
+ margin: 15px 0;
+ gap: 12px;
+ }
+
+ .el-radio.is-bordered,
+ .el-checkbox.is-bordered {
+ width: 100%;
+ margin-right: 0;
+ margin-bottom: 10px;
+ max-width: 400px;
+ padding: 14px 20px 14px 15px;
+ border-radius: 8px;
+ height: auto;
+ min-height: 50px;
+ border: 1px solid #e2e8f0;
+ transition: all 0.3s ease;
+ margin-left: 0 !important;
+ margin-top: 0 !important;
+ .el-radio-group,
+ .el-checkbox-group {
+ align-items: center;
+ }
+ &:hover {
+ border-color: var(--primary-color);
+ box-shadow: 0 2px 8px rgba(var(--primary-color), 0.15);
+ }
+
+ &.is-checked {
+ border-color: var(--primary-color);
+ background-color: rgba(var(--primary-color), 0.05);
+ }
+ }
+
+ .el-radio__label,
+ .el-checkbox__label {
+ font-size: 16px;
+ color: #2d3748;
+ }
+
+ .el-alert--warning.is-light {
+ background-color: #fff8f0;
+ color: var(--alert-color);
+ margin-top: 15px;
+ border-radius: 8px;
+ border-left: 4px solid var(--alert-color);
+
+ .el-alert__title {
+ font-size: 15px;
+ line-height: 1.6;
+ color: var(--alert-color);
+ }
+
+ .el-alert__closebtn {
+ color: var(--alert-color);
+ }
+ }
+
+ .el-textarea__inner {
+ font-size: 16px;
+ border-radius: 8px;
+ border: 1px solid #e2e8f0;
+ padding: 12px 15px;
+ transition: all 0.3s ease;
+ min-height: 100px;
+
+ &:focus {
+ border-color: var(--primary-color);
+ box-shadow: 0 0 0 2px rgba(var(--primary-color), 0.2);
+ }
+
+ &::placeholder {
+ color: #a0aec0;
+ }
+ }
+
+ .el-radio__input.is-checked .el-radio__inner {
+ background-color: var(--primary-color);
+ border-color: var(--primary-color);
+ }
+
+ .el-checkbox__input.is-checked .el-checkbox__inner {
+ background-color: var(--primary-color);
+ border-color: var(--primary-color);
+ }
+
+ .el-radio__inner,
+ .el-checkbox__inner {
+ width: 18px;
+ height: 18px;
+ }
+}
+
+.bottom-fixed {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ text-align: center;
+ padding: 10px 0;
+ background: var(--theme-gradient);
+ box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
+ z-index: 1000;
+ transition: all 0.3s ease;
+
+ .el-button {
+ height: 56px;
+ font-size: 18px;
+ font-weight: 500;
+ letter-spacing: 0.5px;
+ border-radius: 8px;
+ background-color: #fff;
+ color: var(--primary-color);
+ border: none;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
+ transition: all 0.3s ease;
+ width: 80%;
+ max-width: 400px;
+ position: relative;
+ overflow: hidden;
+
+ &::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: -100%;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(
+ 90deg,
+ transparent,
+ rgba(255, 255, 255, 0.4),
+ transparent
+ );
+ transition: all 0.5s ease;
+ }
+
+ &:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
+
+ &::before {
+ left: 100%;
+ }
+ }
+
+ &:active {
+ transform: translateY(0);
+ }
+ }
+}
+
+/* 鍝嶅簲寮忚璁� */
+@media (max-width: 768px) {
+ .questionnaire {
+ .CONTENT {
+ padding: 15px;
+ }
+
+ .preview-left,
+ .preview-lefts {
+ padding: 20px;
+ margin-bottom: 80px;
+ }
+
+ .title {
+ font-size: 24px !important;
+ }
+
+ .dev-text {
+ font-size: 16px !important;
+ }
+
+ .bottom-fixed .el-button {
+ height: 50px;
+ font-size: 16px;
+ width: 90%;
+ }
+ }
+}
+</style>
diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index bb119e0..3177092 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -187,7 +187,7 @@
</el-table-column>
<el-table-column align="center" label="棣栨鍑洪櫌闅忚">
<el-table-column
- label="搴旈殢璁�"
+ label="闇�闅忚"
align="center"
key="needFollowUp"
prop="needFollowUp"
@@ -273,7 +273,7 @@
</el-table-column>
<el-table-column align="center" label="鍐嶆鍑洪櫌闅忚">
<el-table-column
- label="搴旈殢璁�"
+ label="闇�闅忚"
align="center"
key="needFollowUpAgain"
prop="needFollowUpAgain"
@@ -382,7 +382,7 @@
</el-table-column>
<el-table-column align="center" label="棣栨鍑洪櫌闅忚">
<el-table-column
- label="搴旈殢璁�"
+ label="闇�闅忚"
align="center"
key="needFollowUp"
prop="needFollowUp"
@@ -466,7 +466,7 @@
</el-table-column>
<el-table-column align="center" label="鍐嶆鍑洪櫌闅忚">
<el-table-column
- label="搴旈殢璁�"
+ label="闇�闅忚"
align="center"
key="needFollowUpAgain"
prop="needFollowUpAgain"
@@ -917,51 +917,7 @@
sidecolumnval: "", //绫诲埆鎼滅储
propss: { multiple: true },
SeedetailsVisible: false,
- options: [
- {
- value: 1,
- label: "鐩戞祴璇勪及",
- },
- {
- value: 2,
- label: "鍑洪櫌闅忚",
- },
- {
- value: 3,
- label: "闂ㄨ瘖闅忚",
- },
- {
- value: 4,
- label: "瀹f暀鍏虫��",
- },
- {
- value: 5,
- label: "澶嶈瘖绠$悊",
- },
-
- {
- value: 7,
- label: "鎮h�呮姤鍛�",
- },
-
- {
- value: 9,
- label: "浣撴闅忚",
- },
-
- {
- value: 11,
- label: "褰卞儚闅忚",
- },
- {
- value: 12,
- label: "蹇冪數闅忚",
- },
- {
- value: 13,
- label: "涓撶梾闅忚",
- },
- ],
+ options: store.getters.tasktypes,
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 3600 * 1000 * 24;
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 4a0cfcc..71bb1b1 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
diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue
index 5321727..0918602 100644
--- a/src/views/system/user/profile/index.vue
+++ b/src/views/system/user/profile/index.vue
@@ -24,20 +24,93 @@
<div class="pull-right">{{ user.email }}</div>
</li>
<li class="list-group-item" v-if="user.belongWards[0]">
- <svg-icon icon-class="tree" />鎵�灞為櫌鍖�
- <div class="pull-right" >{{ user.belongWards[0].districtName }}</div>
+ <svg-icon icon-class="tree" />鎵�灞炵梾鍖�
+ <div class="pull-right">
+ <el-popover
+ v-model="showAllWardsPopover"
+ placement="right-start"
+ :width="300"
+ trigger="manual"
+ popper-class="ward-popover"
+ >
+ <div class="popover-content">
+ <p
+ v-for="ward in user.belongWards"
+ :key="ward.districtId"
+ class="popover-item"
+ >
+ {{ ward.districtName }}
+ </p>
+ </div>
+ <!-- 闇�瑕佷竴涓┖鍏冪礌浣滀负瑙﹀彂鍣ㄧ殑寮曠敤 -->
+ <!-- <div style="display: none" slot="reference"></div> -->
+ <div slot="reference">
+ <el-tag
+ v-for="(ward, index) in displayWards"
+ :key="ward.districtId"
+ size="small"
+ class="ward-tag"
+ >{{ ward.districtName }}</el-tag
+ >
+ <!-- 鏄剧ず闅愯棌鏁伴噺鐨勬爣绛撅紝鐐瑰嚮瑙﹀彂Popover -->
+ <el-tag
+ v-if="user.belongWards.length > maxTagCount"
+ size="small"
+ class="more-tag"
+ @click="showAllWardsPopover = !showAllWardsPopover"
+ >+{{ user.belongWards.length - maxTagCount }}</el-tag
+ >
+ </div>
+ </el-popover>
+ </div>
</li>
<li class="list-group-item" v-else>
<svg-icon icon-class="tree" />鎵�灞為櫌鍖�
- <div class="pull-right" >鏈厤缃�</div>
+ <div class="pull-right">鏈厤缃�</div>
</li>
<li class="list-group-item" v-if="user.belongDepts[0]">
<svg-icon icon-class="tree" />鎵�灞炵瀹�
- <div class="pull-right" >{{ user.belongDepts[0].deptName }}</div>
+ <div class="pull-right">
+ <el-popover
+ v-model="showAllDeptsPopover"
+ placement="right-start"
+ :width="300"
+ style="top: 130px; left: 0px"
+ trigger="manual"
+ popper-class="dept-popover"
+ >
+ <div class="popover-content">
+ <p
+ v-for="dept in user.belongDepts"
+ :key="dept.deptId"
+ class="popover-item"
+ >
+ {{ dept.deptName }}
+ </p>
+ </div>
+ <!-- <div style="display: none" slot="reference"></div> -->
+ <div slot="reference">
+ <el-tag
+ v-for="(dept, index) in displayDepts"
+ :key="dept.deptId"
+ size="small"
+ class="dept-tag"
+ >{{ dept.deptName }}</el-tag
+ >
+ <el-tag
+ v-if="user.belongDepts.length > maxTagCount"
+ size="small"
+ class="more-tag"
+ @click="showAllDeptsPopover = !showAllDeptsPopover"
+ >+{{ user.belongDepts.length - maxTagCount }}</el-tag
+ >
+ </div>
+ </el-popover>
+ </div>
</li>
<li class="list-group-item" v-else>
<svg-icon icon-class="tree" />鎵�灞炵瀹�
- <div class="pull-right" >鏈厤缃�</div>
+ <div class="pull-right">鏈厤缃�</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="peoples" />鎵�灞炶鑹�
@@ -84,20 +157,83 @@
user: {},
roleGroup: {},
postGroup: {},
- activeTab: "userinfo"
+ activeTab: "userinfo",
+ maxTagCount: 3, // 鎺у埗榛樿鏄剧ず鐨勬爣绛炬暟閲�
+ showAllWardsPopover: false, // 鎺у埗鐥呭尯Popover鐨勬樉绀�
+ showAllDeptsPopover: false, // 鎺у埗绉戝Popover鐨勬樉绀�
};
+ },
+ computed: {
+ // 璁$畻瑕佹樉绀虹殑鐥呭尯鏍囩锛堝墠maxTagCount涓級
+ displayWards() {
+ if (!this.user.belongWards) return [];
+ return this.user.belongWards.slice(0, this.maxTagCount);
+ },
+ // 璁$畻瑕佹樉绀虹殑绉戝鏍囩锛堝墠maxTagCount涓級
+ displayDepts() {
+ if (!this.user.belongDepts) return [];
+ return this.user.belongDepts.slice(0, this.maxTagCount);
+ },
},
created() {
this.getUser();
},
methods: {
getUser() {
- getUserProfile().then(response => {
+ getUserProfile().then((response) => {
this.user = response.data;
this.roleGroup = response.roleGroup;
this.postGroup = response.postGroup;
});
- }
- }
+ },
+ },
};
</script>
+
+<style scoped>
+/* 涓烘爣绛炬坊鍔犱竴浜涘彸杈硅窛锛屼娇鍏朵笉绱ц创鍦ㄤ竴璧� */
+.ward-tag,
+.dept-tag,
+.more-tag {
+ margin-right: 6px;
+ margin-bottom: 4px;
+}
+/* 璁剧疆"鏇村"鏍囩鐨勬牱寮忥紝浣垮叾鐪嬭捣鏉ュ彲鐐瑰嚮 */
+.more-tag {
+ cursor: pointer;
+ background-color: #f0f0f0;
+ border-color: #ddd;
+ color: #999;
+}
+.list-group-item {
+ display: flex;
+ align-items: center;
+}
+.pull-right {
+ flex: 1;
+ text-align: right;
+}
+</style>
+
+<style>
+/* Popover鍐呭鍖哄煙鏍峰紡 */
+.popover-content {
+ max-height: 200px;
+ overflow-y: auto;
+ padding: 10px;
+}
+.popover-item {
+ margin: 8px 0;
+ line-height: 1.4;
+}
+/* 鐥呭尯Popover鏍峰紡 */
+.ward-popover.el-popover,
+.dept-popover.el-popover {
+ max-width: 300px;
+}
+/* 璋冩暣Popover绠ご浣嶇疆 */
+.ward-popover[x-placement^="right"],
+.dept-popover[x-placement^="right"] {
+ margin-left: 10px;
+}
+</style>
diff --git a/vue.config.js b/vue.config.js
index 447ffb1..b7977e3 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -36,9 +36,10 @@
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
// target: `https://www.health-y.cn/lssf`,
- // target: `http://10.202.20.185:8095`,
- // target: `http://192.168.100.195:8095`,
- target:`http://localhost:8095`,
+ target: `http://192.168.100.158:8095`,
+ // target: `http://192.168.100.10:8096`,
+ // target:`http://localhost:8095`,
+ // target:`http://35z1t16164.qicp.vip`,
// target: `http://192.168.100.193:8095`,
// target: `http://192.168.101.166:8093`,
// target: `http://192.168.191.181:8095`,
--
Gitblit v1.9.3