From ffa22cc18c75c0a73a3fd987e2b62fbf55316db2 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期四, 25 六月 2026 15:22:46 +0800
Subject: [PATCH] 测试完成
---
vue.config.js | 4
src/components/Assistant/index.vue | 164 ++++
src/store/modules/sms.js | 61 +
src/views/followvisit/record/TracingInfo/index.vue | 2
src/views/patient/patient/index.vue | 28
src/views/patient/propaganda/QuestionnaireTask.vue | 122 ++
src/views/knowledge/questionnaire/smsConfig/index.vue | 1037 ++++++++++++++++++++++++++++
随访通用.zip | 0
src/views/followvisit/record/detailpage/index.vue | 245 ++++--
src/components/CallButton/index.vue | 36
src/components/StatisticsCards/index.vue | 76 +
src/views/outsideChainwtnew.vue | 61 +
src/views/Satisfaction/sfstatistics/IndicatorStatistics.vue | 2
src/views/followvisit/tasklist/index.vue | 27
dist (2).zip | 0
src/store/modules/user.js | 6
src/store/index.js | 4
src/utils/sipService.js | 24
src/views/followvisit/operation/index.vue | 52
src/views/followvisit/record/detailpage/index copy.vue | 2
随访外链.zip | 0
src/views/followvisit/record/physical/index.vue | 2
src/views/sfstatistics/percentage/index.vue | 2
src/views/knowledge/questionnaire/index.vue | 2
src/views/Satisfaction/sfstatistics/index.vue | 16
src/views/patient/propaganda/particty.vue | 153 +++-
src/views/followvisit/discharge/index.vue | 18
src/views/repositoryai/templateku/index.vue | 2
随访外链通用.zip | 0
29 files changed, 1,852 insertions(+), 296 deletions(-)
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip" "b/dist \0502\051.zip"
similarity index 94%
rename from "\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip"
rename to "dist \0502\051.zip"
index a02a0dc..db4bc7e 100644
--- "a/\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip"
+++ "b/dist \0502\051.zip"
Binary files differ
diff --git a/src/components/Assistant/index.vue b/src/components/Assistant/index.vue
index 2ee2946..e7c16a4 100644
--- a/src/components/Assistant/index.vue
+++ b/src/components/Assistant/index.vue
@@ -152,17 +152,76 @@
d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"
/>
</svg>
+ <!-- 鉁� 鏂板鐭俊鍥炬爣 -->
+ <svg
+ v-else-if="action.icon === 'IconMessageSquare'"
+ viewBox="0 0 24 24"
+ fill="none"
+ stroke="currentColor"
+ stroke-width="2"
+ >
+ <rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
+ <line x1="8" y1="9" x2="16" y2="9" />
+ <line x1="8" y1="13" x2="14" y2="13" />
+ <line x1="8" y1="17" x2="12" y2="17" />
+ </svg>
</div>
<div class="action-label">{{ action.label }}</div>
</div>
</div>
</div>
</transition>
+ <!-- 鐭俊鍙戦�佸璇濇 -->
+ <el-dialog
+ title="鐭俊鍙戦��"
+ :visible.sync="smsDialogVisible"
+ width="500px"
+ :close-on-click-modal="false"
+ append-to-body
+ >
+ <el-form ref="smsForm" :model="smsForm" label-width="100px">
+ <el-form-item label="鎮h�呭悕绉�">
+ <el-input v-model="smsForm.sendname" readonly></el-input>
+ </el-form-item>
+ <el-form-item label="骞撮緞">
+ <el-input v-model="smsForm.age" readonly></el-input>
+ </el-form-item>
+ <el-form-item label="鐢佃瘽">
+ <el-input v-model="smsForm.telcode" readonly></el-input>
+ </el-form-item>
+ <el-form-item label="绉戝">
+ <el-input v-model="smsForm.deptname" readonly></el-input>
+ </el-form-item>
+ <el-form-item label="鐥呭尯">
+ <el-input
+ v-model="smsForm.leavehospitaldistrictname"
+ readonly
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="鐭俊鍐呭">
+ <el-input
+ type="textarea"
+ :rows="4"
+ v-model="smsContent"
+ placeholder="璇疯緭鍏ョ煭淇″唴瀹�..."
+ maxlength="500"
+ show-word-limit
+ ></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="smsDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="sendSms" :loading="smsLoading">
+ 纭鍙戦��
+ </el-button>
+ </div>
+ </el-dialog>
</div>
</template>
<script>
import { getCurrentUserServiceSubtaskCount } from "@/api/AiCentre/index";
+import { sendMsg } from "@/api/AiCentre/index";
export default {
name: "FloatBall",
@@ -210,6 +269,17 @@
hideTimer: null,
updateTime: "",
roles: null,
+ // 鐭俊鍙戦�佸璇濇
+ // smsDialogVisible: false,
+ smsLoading: false, // 鉁� 鏂板鍔犺浇鐘舵��
+ smsContent: "",
+ smsForm: {
+ sendname: "",
+ age: "",
+ telcode: "",
+ deptname: "",
+ leavehospitaldistrictname: "",
+ },
// 缁熻鏁版嵁
statsItems: [
{
@@ -269,12 +339,12 @@
icon: "IconPhone",
url: "/followvisit/particty?type=1&serviceType=2",
},
- // {
- // id: 'chat',
- // label: '鍦ㄧ嚎鑱婂ぉ',
- // icon: 'IconMessageCircle',
- // url: '/chat'
- // }
+ {
+ id: "sendSms", // 鉁� 鏂板鐭俊鍙戦��
+ label: "鐭俊鍙戦��",
+ icon: "IconMessageSquare",
+ action: "openSmsDialog", // 鏍囪涓哄脊妗嗘搷浣�
+ },
],
};
},
@@ -283,8 +353,35 @@
totalUnread() {
return this.statsItems.reduce((sum, item) => sum + item.unread, 0);
},
+ // 鉁� Vuex 鍙屽悜缁戝畾
+ smsDialogVisible: {
+ get() {
+ return this.$store.state.sms.smsDialogVisible;
+ },
+ set(val) {
+ if (!val) {
+ this.$store.dispatch("sms/closeSmsDialog");
+ }
+ },
+ },
},
+ watch: {
+ // 鉁� 鐩戝惉 Vuex 瀵硅瘽妗嗙姸鎬�
+ "$store.state.sms.smsDialogVisible"(val) {
+ if (val) {
+ const patientData = this.$store.state.sms.patientData;
+ this.smsForm = { ...patientData };
+ this.smsContent = this.$store.state.sms.smsTemplate || "";
+ // 灞曞紑鎮诞鐞�
+ if (!this.isExpanded) {
+ this.isExpanded = true;
+ this.isHidden = false;
+ clearTimeout(this.hideTimer);
+ }
+ }
+ },
+ },
mounted() {
this.roles = this.$store.state.user.roles;
this.loadPosition();
@@ -424,6 +521,15 @@
},
handleActionClick(action) {
+ // 濡傛灉鏄煭淇″彂閫佹搷浣滐紝鎵撳紑瀵硅瘽妗�
+ console.log(action);
+
+ if (action.action === "openSmsDialog") {
+ this.openSmsDialog();
+ return;
+ }
+
+ // 鍘熸湁閫昏緫淇濇寔涓嶅彉
console.log(this.roles, "this.roles");
if (
action.url &&
@@ -435,7 +541,53 @@
this.$modal.msgError("闈炵鐞嗗憳鐢ㄦ埛鏆傛棤鍒涘缓浠诲姟鏉冮檺");
}
},
+ // 鎵撳紑鐭俊鍙戦�佸璇濇
+ openSmsDialog() {
+ // 浠庢偓娴悆鍐呴儴鎵撳紑鏃讹紝娓呯┖琛ㄥ崟锛堝洜涓烘病鏈夐�変腑鎮h�咃級
+ this.$store.dispatch("sms/openSmsDialog", {
+ name: "",
+ age: "",
+ phone: "",
+ deptName: "",
+ wardName: "",
+ smsTemplate: "",
+ });
+ },
+ // 鍙戦�佺煭淇�
+ async sendSms() {
+ if (!this.smsContent.trim()) {
+ this.$modal.msgError("璇疯緭鍏ョ煭淇″唴瀹�");
+ return;
+ }
+
+ if (!this.smsForm.telcode) {
+ this.$modal.msgError("鎮h�呯數璇濅笉鑳戒负绌�");
+ return;
+ }
+
+ this.smsLoading = true;
+ try {
+ const res = await sendMsg({
+ phone: this.smsForm.telcode,
+ content: this.smsContent,
+ });
+
+ if (res.code === 200) {
+ this.$modal.msgSuccess("鐭俊鍙戦�佹垚鍔�");
+ // 鉁� 閫氳繃 Vuex 鍏抽棴瀵硅瘽妗�
+ this.$store.dispatch("sms/closeSmsDialog");
+ this.smsContent = "";
+ } else {
+ this.$modal.msgError(res.msg || "鍙戦�佸け璐�");
+ }
+ } catch (error) {
+ console.error("鍙戦�佺煭淇″け璐�:", error);
+ this.$modal.msgError("鍙戦�佸け璐ワ紝璇风◢鍚庨噸璇�");
+ } finally {
+ this.smsLoading = false;
+ }
+ },
async updateStats() {
try {
// 杩欓噷鍙互鏇挎崲涓哄疄闄呯殑 API 璋冪敤
diff --git a/src/components/CallButton/index.vue b/src/components/CallButton/index.vue
index d95fb2f..83186de 100644
--- a/src/components/CallButton/index.vue
+++ b/src/components/CallButton/index.vue
@@ -162,7 +162,10 @@
// 澶勭悊鍚勭鐘舵��
if (status.type === "registered") {
this.handleRegistered();
- } else if (status.type === "failed" || status.type === "disconnected") {
+ } else if (
+ status.type === "failed" ||
+ status.type === "disconnected"
+ ) {
this.handleDisconnected();
} else if (status.type === "connecting") {
this.handleConnecting();
@@ -172,7 +175,8 @@
// 鐩戝惉閫氳瘽鐘舵�佸彉鍖�
sipService.onCallStatusChange = (status) => {
this.callStatus = status.type;
- this.isCalling = status.type === "calling" || status.type === "connected";
+ this.isCalling =
+ status.type === "calling" || status.type === "connected";
this.updateLastActivityTime(); // 閫氳瘽鐘舵�佸彉鍖栨椂鏇存柊娲诲姩鏃堕棿
this.$emit("call-status-change", status);
@@ -180,7 +184,6 @@
// 璁剧疆瓒呮椂澶勭悊
this.setupRegistrationTimeout();
-
} catch (error) {
console.error("SIP鏈嶅姟鍒濆鍖栧け璐�:", error);
this.handleDisconnected();
@@ -272,7 +275,10 @@
}
this.reconnectCount++;
- const delay = Math.min(this.reconnectDelay * Math.pow(1.5, this.reconnectCount - 1), 30000);
+ const delay = Math.min(
+ this.reconnectDelay * Math.pow(1.5, this.reconnectCount - 1),
+ 30000
+ );
console.log(`璁″垝鍦�${delay}ms鍚庨噸杩烇紝绗�${this.reconnectCount}娆″皾璇昤);
@@ -295,12 +301,11 @@
this.cleanupSipConnection();
// 绛夊緟涓�娈垫椂闂�
- await new Promise(resolve => setTimeout(resolve, 1000));
+ await new Promise((resolve) => setTimeout(resolve, 1000));
// 閲嶆柊鍒濆鍖�
await this.CallgetList(); // 閲嶆柊鑾峰彇鍒嗘満鍙�
this.initSipService();
-
} catch (error) {
console.error("閲嶈繛澶辫触:", error);
this.isReconnecting = false;
@@ -338,7 +343,7 @@
async startCall() {
if (!this.phoneNumber) {
- this.$message.error("璇疯緭鍏ョ數璇濆彿鐮�");
+ this.$message.warning("璇疯緭鍏ョ數璇濆彿鐮�");
return;
}
@@ -357,6 +362,15 @@
} catch (error) {
console.error("鍛煎彨澶辫触1:", error);
+ if (
+ error.message.includes("Canceled") ||
+ error.message.includes("鏈敞鍐�")
+ ) {
+ console.warn("鍛煎彨鍥犻〉闈㈢寮�鎴栨湭娉ㄥ唽鑰屽彇娑堬紝涓嶉噸璇�");
+ this.callStatus = "ended";
+ this.isCalling = false;
+ return;
+ }
try {
// 灏濊瘯鍔�0鍐嶆鍛煎彨
const { canCall, reason } = sipService.canMakeCall();
@@ -371,7 +385,7 @@
} catch (error) {
this.callStatus = "ended";
this.isCalling = false;
- this.$message.error("鍛煎彨澶辫触锛岃妫�鏌ョ綉缁滄垨鍙风爜");
+ this.$message.warning("褰撳墠鍛煎彨鍗犵嚎涓紝璇风◢鍚庡啀鎷�");
}
}
},
@@ -451,7 +465,11 @@
},
},
beforeUnmount() {
- this.cleanupResources();
+ if (this.isCalling) {
+ this.endCall(); // 鍐呴儴璁剧疆浜� isManualEnd
+ }
+ // 鍏朵粬娓呯悊锛堝瀹氭椂鍣級...
+ this.cleanupResources(); // 浣嗘敞鎰忎笉瑕侀噸澶嶆竻鐞嗗畾鏃跺櫒锛屽彲浼樺寲鍒ゆ柇
},
};
</script>
diff --git a/src/components/StatisticsCards/index.vue b/src/components/StatisticsCards/index.vue
index 4ffa324..3f44f00 100644
--- a/src/components/StatisticsCards/index.vue
+++ b/src/components/StatisticsCards/index.vue
@@ -6,8 +6,8 @@
:key="index"
:xs="12"
:sm="8"
- :md="colSpan"
- :lg="colSpan"
+ :md="dynamicColSpan"
+ :lg="dynamicColSpan"
>
<el-tooltip
:content="getTooltipContent(item.name)"
@@ -20,15 +20,16 @@
:body-style="item.router ? 'cursor: pointer' : 'cursor: default'"
:class="getCardClass(item.name)"
>
- <div
- class="card-content"
- @click="handleCardClick(item)"
- >
+ <div class="card-content" @click="handleCardClick(item)">
<div class="card-label">
<span class="label-text">{{ item.name }}</span>
</div>
<div class="card-value">
- {{ item.value !== undefined && item.value !== null ? item.value : 0 }}
+ {{
+ item.value !== undefined && item.value !== null
+ ? item.value
+ : 0
+ }}
</div>
</div>
</el-card>
@@ -44,28 +45,28 @@
props: {
cardlist: {
type: Array,
- default: () => []
+ default: () => [],
},
colSpan: {
type: Number,
- default: 4
+ default: 4,
},
showExtra: {
type: Boolean,
- default: true
+ default: true,
},
ycvalue: {
type: Number,
- default: 0
+ default: 0,
},
jgvalue: {
type: Number,
- default: 0
+ default: 0,
},
showWarningCondition: {
type: Boolean,
- default: false
- }
+ default: false,
+ },
},
computed: {
mergedCardList() {
@@ -74,43 +75,52 @@
if (this.showExtra) {
list.push({
name: "寮傚父",
- value: this.ycvalue
+ value: this.ycvalue,
});
}
if (this.showWarningCondition) {
list.push({
name: "璀﹀憡",
- value: this.jgvalue
+ value: this.jgvalue,
});
}
return list;
- }
+ },
+ // 鍔ㄦ�佽绠楁瘡鍒楀崰鐨勬爡鏍兼暟
+ dynamicColSpan() {
+ const totalCards = this.mergedCardList.length;
+
+ if (totalCards <= 4) return 6; // 涓�琛�4涓�
+ if (totalCards <= 6) return 4; // 涓�琛�6涓�
+ if (totalCards <= 8) return 3; // 涓�琛�8涓�
+ return 2; // 涓�琛�12涓�
+ },
},
methods: {
getCardClass(name) {
const classMap = {
- "鎮h�呮湇鍔℃�婚噺": "total-card",
- "鏃犻渶闅忚": "no-follow-card",
- "闇�闅忚": "need-follow-card",
- "寰呴殢璁�": "pending-card",
- "宸插畬鎴�": "completed-card",
- "寮傚父": "error-card",
- "璀﹀憡": "warning-card"
+ 鎮h�呮湇鍔℃�婚噺: "total-card",
+ 鏃犻渶闅忚: "no-follow-card",
+ 闇�闅忚: "need-follow-card",
+ 寰呴殢璁�: "pending-card",
+ 宸插畬鎴�: "completed-card",
+ 寮傚父: "error-card",
+ 璀﹀憡: "warning-card",
};
return classMap[name] || "default-card";
},
getTooltipContent(name) {
const tooltips = {
- "鎮h�呮湇鍔℃�婚噺": "鎮h�呮湇鍔℃�婚噺 = 鏃犻渶闅忚 + 闇�闅忚",
- "鏃犻渶闅忚": "鏃犻渶闅忚锛氫笉闇�瑕佽繘琛岄殢璁跨殑鎮h�呮暟閲�",
- "闇�闅忚": "闇�闅忚 = 寰呴殢璁� + 宸插畬鎴�",
- "寰呴殢璁�": "寰呴殢璁匡細绛夊緟杩涜闅忚鐨勬偅鑰呮暟閲�",
- "宸插畬鎴�": "宸插畬鎴愶細宸插畬鎴愰殢璁跨殑鎮h�呮暟閲�",
- "寮傚父": "寮傚父鏁版嵁缁熻",
- "璀﹀憡": "璀﹀憡鏁版嵁缁熻"
+ 鎮h�呮湇鍔℃�婚噺: "鎮h�呮湇鍔℃�婚噺 = 鏃犻渶闅忚 + 闇�闅忚",
+ 鏃犻渶闅忚: "鏃犻渶闅忚锛氫笉闇�瑕佽繘琛岄殢璁跨殑鎮h�呮暟閲�",
+ 闇�闅忚: "闇�闅忚 = 寰呴殢璁� + 宸插畬鎴�",
+ 寰呴殢璁�: "寰呴殢璁匡細绛夊緟杩涜闅忚鐨勬偅鑰呮暟閲�",
+ 宸插畬鎴�: "宸插畬鎴愶細宸插畬鎴愰殢璁跨殑鎮h�呮暟閲�",
+ 寮傚父: "寮傚父鏁版嵁缁熻",
+ 璀﹀憡: "璀﹀憡鏁版嵁缁熻",
};
return tooltips[name] || "";
},
@@ -120,8 +130,8 @@
this.$router.push(item.router);
}
this.$emit("card-click", item);
- }
- }
+ },
+ },
};
</script>
diff --git a/src/store/index.js b/src/store/index.js
index 3f85e32..7dcb6ff 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -7,6 +7,7 @@
import tagsView from './modules/tagsView'
import permission from './modules/permission'
import settings from './modules/settings'
+import sms from './modules/sms'
import getters from './getters'
Vue.use(Vuex)
@@ -19,7 +20,8 @@
regular,
tagsView,
permission,
- settings
+ settings,
+ sms
},
getters
})
diff --git a/src/store/modules/sms.js b/src/store/modules/sms.js
new file mode 100644
index 0000000..915146f
--- /dev/null
+++ b/src/store/modules/sms.js
@@ -0,0 +1,61 @@
+// src/store/modules/sms.js
+const state = {
+ // 鐭俊瀵硅瘽妗嗘槸鍚﹀彲瑙�
+ smsDialogVisible: false,
+ // 鎮h�呮暟鎹�
+ patientData: {
+ sendname: '',
+ age: '',
+ telcode: '',
+ deptname: '',
+ leavehospitaldistrictname: '',
+ },
+ // 鐭俊妯℃澘
+ smsTemplate: '',
+};
+
+const mutations = {
+ // 鎵撳紑鐭俊瀵硅瘽妗�
+ OPEN_SMS_DIALOG(state, patientData) {
+ console.log(11);
+
+ state.smsDialogVisible = true;
+ if (patientData) {
+ state.patientData = {
+ sendname: patientData.name || '',
+ age: patientData.age || '',
+ telcode: patientData.phone || '',
+ deptname: patientData.deptName || '',
+ leavehospitaldistrictname: patientData.wardName || '',
+ };
+ state.smsTemplate = patientData.smsTemplate || '';
+ }
+ },
+ // 鍏抽棴鐭俊瀵硅瘽妗�
+ CLOSE_SMS_DIALOG(state) {
+ state.smsDialogVisible = false;
+ state.smsTemplate = '';
+ },
+ // 鏇存柊鐭俊鍐呭
+ UPDATE_SMS_CONTENT(state, content) {
+ state.smsTemplate = content;
+ },
+};
+
+const actions = {
+ // 鎵撳紑鐭俊瀵硅瘽妗�
+ openSmsDialog({ commit }, patientData) {
+ commit('OPEN_SMS_DIALOG', patientData);
+ },
+ // 鍏抽棴鐭俊瀵硅瘽妗�
+ closeSmsDialog({ commit }) {
+ commit('CLOSE_SMS_DIALOG');
+ },
+};
+
+export default {
+ namespaced: true,
+ state,
+ mutations,
+ actions,
+};
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index af87801..907f097 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -251,6 +251,12 @@
localStorage.setItem("deptCode", "");
localStorage.setItem("YongHuID", "");
localStorage.setItem("YongHuXM", "");
+ } else if (orgid == "47226007033110211A5201") {
+ localStorage.setItem("orgname", "涓芥按甯傜浜屼汉姘戝尰闄�");
+ localStorage.setItem("ZuHuID", "");
+ localStorage.setItem("deptCode", "");
+ localStorage.setItem("YongHuID", "");
+ localStorage.setItem("YongHuXM", "");
}
resolve();
})
diff --git a/src/utils/sipService.js b/src/utils/sipService.js
index 5641a20..7d952c6 100644
--- a/src/utils/sipService.js
+++ b/src/utils/sipService.js
@@ -11,7 +11,7 @@
wsUrl: "wss://10.10.0.220:7443",
domain: "10.10.0.220",
},
- 绗竴浜烘皯鍖婚櫌婀栨花闄㈠尯: {
+ 绗竴浜烘皯鍖婚櫌婀栨花闄㈠尯: {
wsUrl: "wss://192.169.129.198:7443",
domain: "192.169.129.198",
},
@@ -35,6 +35,7 @@
this.isRegistered = false; // 鏂板娉ㄥ唽鐘舵�佹爣蹇�
this.registrationTime = null; // 鏂板娉ㄥ唽鎴愬姛鏃堕棿鎴�
this.currentConfig = null; // 瀛樺偍褰撳墠閰嶇疆
+ this.isManualEnd = false;
}
// 鑾峰彇鍖婚櫌閰嶇疆鏂规硶
getHospitalConfig() {
@@ -136,7 +137,7 @@
makeCall(targetNumber) {
const { canCall, reason } = this.canMakeCall();
if (!canCall) {
- Message.error(reason);
+ Message.info(reason);
return Promise.reject(new Error(reason));
}
return new Promise((resolve, reject) => {
@@ -162,6 +163,10 @@
eventHandlers: {
progress: () => this.updateCallStatus("calling", "鍛煎彨涓�..."),
failed: (e) => {
+ if (this.isManualEnd) {
+ console.log("涓诲姩鎸傛柇锛屽拷鐣ュけ璐ヤ簨浠�");
+ return;
+ }
this.handleCallFailure(e, reject);
},
ended: () => this.updateCallStatus("ended", "閫氳瘽缁撴潫"),
@@ -417,13 +422,16 @@
});
}
- endCall() {
- if (this.currentSession) {
- this.currentSession.terminate();
- this.updateCallStatus("ended", "閫氳瘽宸茬粨鏉�");
- this.currentSession = null;
- }
+endCall() {
+ if (this.currentSession) {
+ this.isManualEnd = true;
+ this.currentSession.terminate();
+ this.updateCallStatus('ended', '閫氳瘽宸茬粨鏉�');
+ this.currentSession = null;
+ // 寤惰繜閲嶇疆鏍囧織锛岄伩鍏嶅奖鍝嶅悗缁簨浠�
+ setTimeout(() => { this.isManualEnd = false; }, 100);
}
+}
updateStatus(type, text) {
console.log(`SIP鐘舵�佹洿鏂�: ${type} - ${text}`);
diff --git a/src/views/Satisfaction/sfstatistics/IndicatorStatistics.vue b/src/views/Satisfaction/sfstatistics/IndicatorStatistics.vue
index 1f6e0fc..19a9c36 100644
--- a/src/views/Satisfaction/sfstatistics/IndicatorStatistics.vue
+++ b/src/views/Satisfaction/sfstatistics/IndicatorStatistics.vue
@@ -25,7 +25,7 @@
import SatisfactionStatistics from "./components/SatisfactionStatistics.vue";
export default {
- name: "StatisticsMain",
+ name: "Satisfaction",
components: {
FollowupStatistics,
SatisfactionStatistics,
diff --git a/src/views/Satisfaction/sfstatistics/index.vue b/src/views/Satisfaction/sfstatistics/index.vue
index 6042306..40a875d 100644
--- a/src/views/Satisfaction/sfstatistics/index.vue
+++ b/src/views/Satisfaction/sfstatistics/index.vue
@@ -19,25 +19,25 @@
</template>
<script>
-import FollowupStatistics from './components/FollowupStatistics.vue';
-import SatisfactionStatistics from './components/SatisfactionStatistics.vue';
+import FollowupStatistics from "./components/FollowupStatistics.vue";
+import SatisfactionStatistics from "./components/SatisfactionStatistics.vue";
export default {
- name: 'StatisticsMain',
+ name: "Satisfaction",
components: {
FollowupStatistics,
- SatisfactionStatistics
+ SatisfactionStatistics,
},
data() {
return {
- activeTab: 'followup'
+ activeTab: "followup",
};
},
methods: {
handleTabChange(tab) {
- console.log('鍒囨崲鍒�:', tab.name);
- }
- }
+ console.log("鍒囨崲鍒�:", tab.name);
+ },
+ },
};
</script>
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index dfe664f..0e25341 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -486,7 +486,6 @@
prop="nurseName"
/>
<el-table-column
- v-if="orgname != '涓芥按甯備腑鍖婚櫌'"
label="缁忕鍖荤敓"
align="center"
key="managementDoctor"
@@ -1096,7 +1095,7 @@
dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」
inputVisible: false,
Labelchange: false,
- ycvalue: "",
+ ycvalue: 0,
jgvalue: "",
yfsvalue: "",
inputValue: "",
@@ -1205,7 +1204,8 @@
btstatus: "",
},
// endOut: 1,
- endOut: localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌" ? 0 : 1, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) 7搴旈殢璁挎棩鏈�(鍊掑簭) 搴旈殢璁挎棩鏈�(姝e簭)
+ endOut:
+ localStorage.getItem("orgname") == "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�" ? 0 : 1, //0 鍑洪櫌鏃堕棿(姝e簭) 1 鍑洪櫌鏃堕棿(鍊掑簭) 2 鍙戦�佹椂闂�(姝e簭) 3 鍙戦�佹椂闂�(鍊掑簭) 7搴旈殢璁挎棩鏈�(鍊掑簭) 搴旈殢璁挎棩鏈�(姝e簭)
endOuts: [
{
value: 0,
@@ -1362,10 +1362,9 @@
// 鐩戝惉璺敱鍙傛暟鍙樺寲
"$route.query": {
handler(newQuery, oldQuery) {
- if (newQuery.errtype !== oldQuery.errtype) {
+ if (newQuery?.errtype !== oldQuery?.errtype) {
console.log(22);
-
- this.loadData(); // 閲嶆柊鍔犺浇鏁版嵁
+ this.loadData();
}
},
immediate: true,
@@ -1478,7 +1477,7 @@
Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
// this.cardlist[1].value = response.rows[0].wzx;
this.cardlist[1].value = response.rows[0].wxsf || 0;
- this.ycvalue = response.rows[0].yc;
+ this.ycvalue = Number(response.rows[0].yc) || 0
this.jgvalue = response.rows[0].jg;
this.cardlist[2].value = response.rows[0].xsf || 0;
this.cardlist[3].value = response.rows[0].dsf || 0;
@@ -1589,7 +1588,7 @@
Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
this.cardlist[1].value = response.rows[0].wzx;
this.cardlist[2].value = response.rows[0].ysf;
- this.ycvalue = response.rows[0].yc;
+ this.ycvalue = Number(response.rows[0].yc) || 0
this.jgvalue = response.rows[0].jg;
this.cardlist[3].value = response.rows[0].fssb;
this.cardlist[4].value = response.rows[0].dsf;
@@ -1761,6 +1760,8 @@
this.handleQuery(1);
},
handleSelectionChange(rows) {
+ console.log(rows, 911);
+
this.selectedRows = rows.map((row) => {
// 鍒濆鍖栬瘎鍒嗗瓧娈�
return {
@@ -2080,6 +2081,7 @@
const originalPageSize = this.topqueryParams.pageSize;
this.topqueryParams.pageNum = null;
this.topqueryParams.pageSize = null;
+ this.topqueryParams.subIdList = this.selectedRows.map((item) => item.id);
this.download(
"smartor/serviceSubtask/patItemExport",
{
diff --git a/src/views/followvisit/operation/index.vue b/src/views/followvisit/operation/index.vue
index 5742599..d0d9125 100644
--- a/src/views/followvisit/operation/index.vue
+++ b/src/views/followvisit/operation/index.vue
@@ -1,6 +1,12 @@
<template>
<div class="app-container">
- <div class="leftvlue" style="margin-bottom: 20px">
+ <statistics-cards
+ :cardlist="cardlist"
+ :ycvalue="ycvalue"
+ :jgvalue="jgvalue"
+ :show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+ />
+ <!-- <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
@@ -80,7 +86,7 @@
</div>
</el-col>
</el-row>
- </div>
+ </div> -->
<el-row :gutter="20">
<!--鐢ㄦ埛鏁版嵁-->
<el-form
@@ -327,7 +333,7 @@
:show-overflow-tooltip="true"
>
</el-table-column>
- <!-- <el-table-column
+ <!-- <el-table-column
label="浠诲姟鐘舵��"
align="center"
key="sendstate"
@@ -383,7 +389,7 @@
width="120"
>
<template slot-scope="scope">
- <el-tooltip
+ <el-tooltip
class="item"
effect="dark"
:content="scope.row.remark"
@@ -429,7 +435,7 @@
/>
</template>
</el-table-column>
- <el-table-column
+ <el-table-column
label="浠诲姟鐘舵��"
align="center"
key="sendstate"
@@ -943,22 +949,22 @@
</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>
- <!-- 鎻愰啋鏂囧瓧 -->
- <div class="filter-warning">
- <i class="el-icon-warning-outline"></i>
- 璇ュ姛鑳介�傜敤浜庢浜°�佸垪鍏ュ尰闄㈤粦鍚嶅崟銆佹槑纭嫆缁濋殢璁跨瓑鎮h�呯殑杩囨护鎺掗櫎锛岃繃婊ゅ悗璇ユ偅鑰呮墍鏈夎繘琛屼腑浠诲姟鍏ㄩ儴鍋滄涓旀棤娉曞尮閰嶆柊鐨勯殢璁夸换鍔★紝璇疯皑鎱庢搷浣滐紒
- </div>
- </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>
+ <!-- 鎻愰啋鏂囧瓧 -->
+ <div class="filter-warning">
+ <i class="el-icon-warning-outline"></i>
+ 璇ュ姛鑳介�傜敤浜庢浜°�佸垪鍏ュ尰闄㈤粦鍚嶅崟銆佹槑纭嫆缁濋殢璁跨瓑鎮h�呯殑杩囨护鎺掗櫎锛岃繃婊ゅ悗璇ユ偅鑰呮墍鏈夎繘琛屼腑浠诲姟鍏ㄩ儴鍋滄涓旀棤娉曞尮閰嶆柊鐨勯殢璁夸换鍔★紝璇疯皑鎱庢搷浣滐紒
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -1133,13 +1139,15 @@
} from "@/api/AiCentre/index";
import { alterpatient, particularpatient } from "@/api/patient/homepage";
import Treeselect from "@riophae/vue-treeselect";
+import StatisticsCards from "@/components/StatisticsCards";
+
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 },
+ components: { Treeselect, StatisticsCards },
data() {
return {
// 閬僵灞�
diff --git a/src/views/followvisit/record/TracingInfo/index.vue b/src/views/followvisit/record/TracingInfo/index.vue
index c3dc4b5..14ea6af 100644
--- a/src/views/followvisit/record/TracingInfo/index.vue
+++ b/src/views/followvisit/record/TracingInfo/index.vue
@@ -1924,7 +1924,7 @@
const targetDate = new Date(this.form.visitTime); // 鐩爣鏃ユ湡
const now = new Date(); // 褰撳墠鏃堕棿
if (now < targetDate && this.form.sendstate == 2) {
- this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", {
+ this.$confirm("褰撳墠鏈嶅姟鏈埌闅忚鏃堕棿璇疯皑鎱庝慨鏀�", "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning",
diff --git a/src/views/followvisit/record/detailpage/index copy.vue b/src/views/followvisit/record/detailpage/index copy.vue
index 1424ea3..de1d155 100644
--- a/src/views/followvisit/record/detailpage/index copy.vue
+++ b/src/views/followvisit/record/detailpage/index copy.vue
@@ -2117,7 +2117,7 @@
const targetDate = new Date(this.form.visitTime); // 鐩爣鏃ユ湡
const now = new Date(); // 褰撳墠鏃堕棿
if (now < targetDate && this.form.sendstate == 2) {
- this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", {
+ this.$confirm("褰撳墠鏈嶅姟鏈埌闅忚鏃堕棿璇疯皑鎱庝慨鏀�", "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning",
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 1dfa1a7..6bc4606 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -107,6 +107,7 @@
effect="dark"
:content="scope.row.remark"
placement="top-start"
+ popper-class="statistics-tooltip"
>
<div v-if="scope.row.sendstateView == 1">
<el-tag type="primary" :disable-transitions="false"
@@ -114,22 +115,12 @@
>
</div>
<div v-if="scope.row.sendstateView == 2">
- <el-tag type="primary" :disable-transitions="false"
- >闅忚涓�</el-tag
- >
- </div>
- <div v-if="scope.row.sendstateView == 3">
- <el-tag type="warning" :disable-transitions="false"
- >鏈畬鎴�</el-tag
- >
- </div>
- <div v-if="scope.row.sendstateView == 4">
<el-tag type="success" :disable-transitions="false"
>宸插畬鎴�</el-tag
>
</div>
- <div v-if="scope.row.sendstateView == 5">
- <el-tag type="danger" :disable-transitions="false"
+ <div v-if="scope.row.sendstateView == 3">
+ <el-tag type="warning" :disable-transitions="false"
>鏃犻渶闅忚</el-tag
>
</div>
@@ -144,7 +135,7 @@
show-overflow-tooltip
>
</el-table-column>
- <el-table-column
+ <el-table-column
v-if="orgname == '鍗楀崕澶у闄勫睘绗竴鍖婚櫌'"
label="鍏ラ櫌鏃ユ湡"
width="200"
@@ -182,7 +173,58 @@
key="drname"
prop="drname"
/>
-
+ <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>
+ <div v-if="scope.row.sendstate == 7">
+ <el-tag type="danger" :disable-transitions="false"
+ >瓒呮椂</el-tag
+ >
+ </div>
+ </el-tooltip>
+ </template>
+ </el-table-column>
<el-table-column
label="缁撴灉鐘舵��"
align="center"
@@ -279,7 +321,12 @@
<div class="call-container">
<div
style="display: flex"
- v-if="orgname == '鍗楀崕澶у闄勫睘绗竴鍖婚櫌' && !Voicetype"
+ v-if="
+ (orgname == '鍗楀崕澶у闄勫睘绗竴鍖婚櫌' ||
+ orgname == '涓芥按甯傜浜屼汉姘戝尰闄�' ||
+ orgname == '缂欎簯鍘夸汉姘戝尰闄�') &&
+ !Voicetype
+ "
>
<template-selector
v-model="form.templateid"
@@ -998,34 +1045,21 @@
<!-- 娉ㄦ剰杩欓噷浣跨敤浜� smsDialogVisible 浠ュ尯鍒嗗凡鏈夌殑 dialogFormVisible -->
<el-form ref="smsForm" :model="form" label-width="80px">
<el-form-item label="鎮h�呭悕绉�">
- <el-input
- style="width: 400px"
- disabled
- v-model="form.sendname"
- ></el-input>
+ <el-input style="width: 400px" v-model="form.sendname"></el-input>
</el-form-item>
<el-form-item label="骞撮緞">
- <el-input style="width: 400px" disabled v-model="form.age"></el-input>
+ <el-input style="width: 400px" v-model="form.age"></el-input>
</el-form-item>
<el-form-item label="鐢佃瘽">
- <el-input
- style="width: 400px"
- disabled
- v-model="userform.telcode"
- ></el-input>
+ <el-input style="width: 400px" v-model="userform.telcode"></el-input>
<!-- 娉ㄦ剰杩欓噷鍙兘浣跨敤 userform.telcode -->
</el-form-item>
<el-form-item label="绉戝">
- <el-input
- style="width: 400px"
- disabled
- v-model="form.deptname"
- ></el-input>
+ <el-input style="width: 400px" v-model="form.deptname"></el-input>
</el-form-item>
<el-form-item label="鐥呭尯">
<el-input
style="width: 400px"
- disabled
v-model="form.leavehospitaldistrictname"
></el-input>
</el-form-item>
@@ -1670,7 +1704,6 @@
},
getconfigKey() {
getconfigKey("default.value.icon").then((res) => {
-
if (res.msg) {
if (
this.getAssignArr(res.msg).includes(this.$store.state.user.name) ||
@@ -2000,29 +2033,29 @@
this.Torouter();
return;
}
- this.$modal
- .confirm(
- '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
- this.userform.name +
- '"鍐嶆闅忚锛�',
- "纭",
- {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- showCancelButton: true,
- dangerouslyUseHTMLString: true,
- confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
- cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
- }
- )
- .then(() => {
- document.querySelector("#app").scrollTo(0, 0);
- this.formtidy();
- this.dialogFormVisible = true;
- })
- .catch(() => {
- this.Torouter();
- });
+ // this.$modal
+ // .confirm(
+ // '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
+ // this.userform.name +
+ // '"鍐嶆闅忚锛�',
+ // "纭",
+ // {
+ // confirmButtonText: "纭畾",
+ // cancelButtonText: "鍙栨秷",
+ // showCancelButton: true,
+ // dangerouslyUseHTMLString: true,
+ // confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
+ // cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
+ // }
+ // )
+ // .then(() => {
+ // document.querySelector("#app").scrollTo(0, 0);
+ // this.formtidy();
+ // this.dialogFormVisible = true;
+ // })
+ // .catch(() => {
+ // this.Torouter();
+ // });
}
});
},
@@ -2266,29 +2299,31 @@
savequestiondetail(obj).then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
- this.$modal
- .confirm(
- '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
- this.userform.name +
- '"鍐嶆闅忚锛�',
- "纭",
- {
- confirmButtonText: "纭畾",
- cancelButtonText: "鍙栨秷",
- showCancelButton: true,
- dangerouslyUseHTMLString: true,
- confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
- cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
- }
- )
- .then(() => {
- document.querySelector("#app").scrollTo(0, 0);
- this.formtidy();
- this.dialogFormVisible = true;
- })
- .catch(() => {
- this.Torouter();
- });
+ this.Torouter();
+
+ // this.$modal
+ // .confirm(
+ // '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
+ // this.userform.name +
+ // '"鍐嶆闅忚锛�',
+ // "纭",
+ // {
+ // confirmButtonText: "纭畾",
+ // cancelButtonText: "鍙栨秷",
+ // showCancelButton: true,
+ // dangerouslyUseHTMLString: true,
+ // confirmButtonClass: "custom-confirm-button", // 鑷畾涔夌‘璁ゆ寜閽殑绫诲悕
+ // cancelButtonClass: "custom-cancel-button", // 鑷畾涔夊彇娑堟寜閽殑绫诲悕
+ // }
+ // )
+ // .then(() => {
+ // document.querySelector("#app").scrollTo(0, 0);
+ // this.formtidy();
+ // this.dialogFormVisible = true;
+ // })
+ // .catch(() => {
+ // this.Torouter();
+ // });
}
});
},
@@ -2336,7 +2371,7 @@
console.log(targetDate, "鐩爣鏃ユ湡");
if (now < targetDate && this.form.sendstate == 2) {
- this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", {
+ this.$confirm("褰撳墠鏈嶅姟鏈埌闅忚鏃堕棿璇疯皑鎱庝慨鏀�", "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning",
@@ -2391,6 +2426,7 @@
objson = res.rows[0].serviceSubtaskList[0];
objson.suggest = son;
objson.remark = this.form.remark;
+ objson.sendstate = this.serviceStates;
objson.taskSituation = this.form.taskSituation;
Editsingletaskson(objson).then((res) => {
if (res.code) {
@@ -2432,13 +2468,14 @@
});
},
alterpatient(sendstate) {
- alterpatient(this.userform).then((res) => {
- if (res.code == 200) {
- this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛");
- } else {
- this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触");
- }
- });
+ this.Editsingletasksonyic(this.serviceStates)
+ // alterpatient(this.userform).then((res) => {
+ // if (res.code == 200) {
+ // this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛");
+ // } else {
+ // this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触");
+ // }
+ // });
},
// 寮傚父鍒楁覆鏌�
tableRowClassName({ row, rowIndex }) {
@@ -2830,14 +2867,38 @@
// console.log(11);
// },
beforeRouteLeave(to, from, next) {
- this.$refs.callButton.cleanupResources();
- if (this.$refs.CallCenterLs) {
- console.log(1);
+ const callButton = this.$refs.callButton;
+ // 濡傛灉瀛樺湪鍛煎彨缁勪欢涓旀鍦ㄩ�氳瘽涓�
+ if (callButton && callButton.isCalling) {
+ this.$confirm('褰撳墠姝e湪閫氳瘽涓紝纭畾瑕佺寮�姝ら〉闈㈠悧锛�', '鎻愮ず', {
+ confirmButtonText: '鎸傛柇骞剁寮�',
+ cancelButtonText: '缁х画閫氳瘽',
+ type: 'warning'
+ })
+ .then(() => {
+ // 鐢ㄦ埛纭绂诲紑锛屼富鍔ㄦ寕鏂苟娓呯悊
+ callButton.cleanupResources();
+ if (this.$refs.CallCenterLs) {
+ this.$refs.CallCenterLs.handleSeatLogout();
+ }
+ next();
+ })
+ .catch(() => {
+ // 鐢ㄦ埛鍙栨秷锛岄樆姝㈣矾鐢辫烦杞�
+ next(false);
+ });
+ } else {
+ // 鏈�氳瘽鎴栧懠鍙粍浠朵笉瀛樺湪锛屾甯告竻鐞�
+ if (callButton) {
+ callButton.cleanupResources();
+ }
+ if (this.$refs.CallCenterLs) {
this.$refs.CallCenterLs.handleSeatLogout();
}
- next(); // 纭繚璋冪敤 nex
- },
+ next();
+ }
+}
// beforeRouteUpdate() {
// console.log(33);
// },
diff --git a/src/views/followvisit/record/physical/index.vue b/src/views/followvisit/record/physical/index.vue
index a1b67fa..60763f8 100644
--- a/src/views/followvisit/record/physical/index.vue
+++ b/src/views/followvisit/record/physical/index.vue
@@ -1040,7 +1040,7 @@
const now = new Date(); // 褰撳墠鏃堕棿
this.form.endtime = this.formatTime(this.form.endtime);
if (now < targetDate && this.form.sendstate == 2) {
- this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", {
+ this.$confirm("褰撳墠鏈嶅姟鏈埌闅忚鏃堕棿璇疯皑鎱庝慨鏀�", "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning",
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 3fb13fe..aafd22e 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -1003,17 +1003,22 @@
// 鏆傚仠
stop(row) {
- console.log(row);
- if (row.sendState == 2) {
- this.TaskOperation.taskId = row.taskid;
- this.TaskOperation.sendState = 3;
- this.TaskOperation.sendType = "";
- this.TaskOperation.taskType = row.type;
- TaskTemplateSendExecution(this.TaskOperation).then((res) => {
- this.$modal.msgSuccess("浠诲姟宸叉殏鍋�");
- this.getList();
- });
- }
+ this.$modal
+ .confirm('鏄惁纭鏆傚仠"' + row.taskName + '"锛�')
+ .then(function () {
+ if (row.sendState == 2) {
+ this.TaskOperation.taskId = row.taskid;
+ this.TaskOperation.sendState = 3;
+ this.TaskOperation.sendType = "";
+ this.TaskOperation.taskType = row.type;
+ TaskTemplateSendExecution(this.TaskOperation).then((res) => {
+ this.$modal.msgSuccess("浠诲姟宸叉殏鍋�");
+ this.getList();
+ });
+ }
+ })
+
+ .catch(() => {});
},
/** 鎻愪氦鎸夐挳 */
diff --git a/src/views/knowledge/questionnaire/index.vue b/src/views/knowledge/questionnaire/index.vue
index d6ecc7f..23a1a19 100644
--- a/src/views/knowledge/questionnaire/index.vue
+++ b/src/views/knowledge/questionnaire/index.vue
@@ -478,7 +478,7 @@
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
- name: "questionnaire",
+ name: "Questionnaire",
components: { Treeselect },
data() {
return {
diff --git a/src/views/knowledge/questionnaire/smsConfig/index.vue b/src/views/knowledge/questionnaire/smsConfig/index.vue
new file mode 100644
index 0000000..a6207bd
--- /dev/null
+++ b/src/views/knowledge/questionnaire/smsConfig/index.vue
@@ -0,0 +1,1037 @@
+<template>
+ <div class="smsConfig-management">
+ <!-- 宸︿晶鏍� -->
+ <div class="sidecolumn">
+ <div class="sidecolumn-top">
+ <div class="top-wj">妯℃澘鍒嗙被</div>
+ <div class="top-tj" @click="Newcategory">+娣诲姞</div>
+ </div>
+ <div class="center-ss">
+ <el-input
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="sidecolumnval"
+ class="input-with-select"
+ size="medium"
+ >
+ </el-input>
+ </div>
+ <div class="head-container" style="margin-top: 20px">
+ <el-tree
+ :data="deptOptions"
+ :props="defaultProps"
+ :expand-on-click-node="false"
+ :filter-node-method="filterNode"
+ ref="tree"
+ node-key="id"
+ default-expand-all
+ highlight-current
+ @node-click="handleNodeClick"
+ >
+ <span class="custom-tree-node" slot-scope="{ node, data }">
+ <span class="tree-node-label">{{ node.label }}</span>
+ <span v-if="data.id > 0">
+ <el-button
+ type="text"
+ icon="el-icon-delete"
+ circle
+ size="mini"
+ @click="() => remove(node, data)"
+ >
+ </el-button>
+ </span>
+ <span v-if="data.id > 0">
+ <el-button
+ type="text"
+ circle
+ size="mini"
+ @click="() => altertag(node, data)"
+ >
+ <span class="button-textxg">
+ <i class="el-icon-edit-outline"></i>
+ </span>
+ </el-button>
+ </span>
+ </span>
+ </el-tree>
+ </div>
+ </div>
+
+ <!-- 鍙充晶鏁版嵁 -->
+ <div class="leftvlue">
+ <div class="leftvlue-bg">
+ <el-row :gutter="20">
+ <el-col :span="24" :xs="24">
+ <el-form
+ :model="queryParams"
+ ref="queryForm"
+ size="small"
+ :inline="true"
+ v-show="showSearch"
+ label-width="98px"
+ >
+ <el-form-item label="妯℃澘鍚嶇О" prop="templetname">
+ <el-input
+ v-model="queryParams.templetname"
+ placeholder="璇疯緭鍏ユā鏉垮悕绉�"
+ clearable
+ style="width: 200px"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+
+ <el-form-item label="鐭俊绛惧悕" prop="signature">
+ <el-input
+ v-model="queryParams.signature"
+ placeholder="璇疯緭鍏ョ煭淇$鍚�"
+ clearable
+ style="width: 200px"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+
+ <el-form-item label="鍚敤鐘舵��" prop="isenable">
+ <el-select
+ v-model="queryParams.isenable"
+ placeholder="璇烽�夋嫨鐘舵��"
+ clearable
+ style="width: 200px"
+ >
+ <el-option
+ v-for="item in statusOptions"
+ :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"
+ >鎼滅储</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">
+ <el-button
+ type="primary"
+ plain
+ icon="el-icon-plus"
+ size="medium"
+ @click="handleAdd"
+ >鏂板</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-delete"
+ size="medium"
+ :disabled="multiple"
+ @click="handleDelete"
+ >鍒犻櫎</el-button>
+ </el-col>
+ </el-row>
+
+ <el-table
+ v-loading="loading"
+ :data="userList"
+ :border="true"
+ @selection-change="handleSelectionChange"
+ >
+ <el-table-column type="selection" width="50" align="center" />
+
+ <el-table-column
+ label="妯℃澘鍚嶇О"
+ align="center"
+ key="templetname"
+ prop="templetname"
+ width="160"
+ :show-overflow-tooltip="true"
+ />
+
+ <el-table-column
+ label="鐭俊绛惧悕"
+ align="center"
+ key="signature"
+ prop="signature"
+ width="120"
+ />
+
+ <el-table-column
+ label="妯℃澘鍐呭"
+ align="center"
+ key="templetcontent"
+ prop="templetcontent"
+ width="280"
+ :show-overflow-tooltip="true"
+ />
+
+ <el-table-column
+ label="妯℃澘绫诲瀷"
+ align="center"
+ key="templettype"
+ prop="templettype"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag :options="typeOptions" :value="scope.row.templettype" />
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="鍚敤鐘舵��"
+ align="center"
+ key="isenable"
+ prop="isenable"
+ width="100"
+ >
+ <template slot-scope="scope">
+ <dict-tag :options="statusOptions" :value="scope.row.isenable" />
+ </template>
+ </el-table-column>
+
+ <el-table-column
+ label="澶囨敞"
+ align="center"
+ key="remark"
+ prop="remark"
+ width="180"
+ :show-overflow-tooltip="true"
+ />
+
+ <el-table-column
+ label="鍒涘缓鏃堕棿"
+ align="center"
+ key="createTime"
+ prop="createTime"
+ width="160"
+ />
+
+ <el-table-column
+ label="鎿嶄綔"
+ fixed="right"
+ align="center"
+ width="240"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="handleUpdate(scope.row)"
+ >
+ <span class="button-textxg">
+ <i class="el-icon-edit"></i>淇敼
+ </span>
+ </el-button>
+ <el-button
+ size="medium"
+ type="text"
+ @click="handlePreview(scope.row)"
+ >
+ <span class="button-text">
+ <i class="el-icon-view"></i>棰勮
+ </span>
+ </el-button>
+ <el-button
+ size="medium"
+ type="text"
+ @click="handleDelete(scope.row)"
+ >
+ <span class="button-textsc">
+ <i class="el-icon-edit"></i>鍒犻櫎
+ </span>
+ </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ />
+ </el-col>
+ </el-row>
+ </div>
+ </div>
+
+ <!-- 娣诲姞/淇敼鐭俊妯℃澘寮规 -->
+ <el-dialog
+ :title="dialogTitle"
+ :visible.sync="dialogVisible"
+ width="45%"
+ :close-on-click-modal="false"
+ >
+ <el-form
+ :model="form"
+ :rules="rules"
+ ref="formRef"
+ label-width="100px"
+ size="medium"
+ >
+ <el-form-item label="妯℃澘鍒嗙被" prop="categoryid">
+ <el-select
+ v-model="form.categoryid"
+ placeholder="璇烽�夋嫨妯℃澘鍒嗙被"
+ clearable
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in categoryOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item label="妯℃澘鍚嶇О" prop="templetname">
+ <el-input
+ v-model="form.templetname"
+ placeholder="璇疯緭鍏ユā鏉垮悕绉�"
+ maxlength="50"
+ />
+ </el-form-item>
+
+ <el-form-item label="鐭俊绛惧悕" prop="signature">
+ <el-input
+ v-model="form.signature"
+ placeholder="璇疯緭鍏ョ煭淇$鍚嶏紙濡傦細銆愪附姘翠汉姘戝尰闄€�戯級"
+ maxlength="20"
+ />
+ </el-form-item>
+
+ <el-form-item label="妯℃澘鍐呭" prop="templetcontent">
+ <el-input
+ v-model="form.templetcontent"
+ type="textarea"
+ :rows="5"
+ placeholder="璇疯緭鍏ョ煭淇℃ā鏉垮唴瀹�"
+ maxlength="500"
+ show-word-limit
+ />
+ </el-form-item>
+
+ <el-form-item label="妯℃澘绫诲瀷" prop="templettype">
+ <el-select
+ v-model="form.templettype"
+ placeholder="璇烽�夋嫨妯℃澘绫诲瀷"
+ style="width: 100%"
+ >
+ <el-option
+ v-for="item in typeOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item label="鍚敤鐘舵��" prop="isenable">
+ <el-radio-group v-model="form.isenable">
+ <el-radio
+ v-for="item in statusOptions"
+ :key="item.value"
+ :label="item.value"
+ >{{ item.label }}</el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input
+ v-model="form.remark"
+ type="textarea"
+ :rows="3"
+ placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�"
+ maxlength="200"
+ show-word-limit
+ />
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="cancelForm">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitForm" :loading="submitLoading">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
+
+ <!-- 妯℃澘棰勮寮规 -->
+ <el-dialog
+ title="鐭俊妯℃澘棰勮"
+ :visible.sync="previewVisible"
+ width="40%"
+ >
+ <div class="preview-box">
+ <div class="preview-item">
+ <div class="preview-label">妯℃澘鍚嶇О锛�</div>
+ <div class="preview-value">{{ previewData.templetname }}</div>
+ </div>
+ <div class="preview-item">
+ <div class="preview-label">鐭俊绛惧悕锛�</div>
+ <div class="preview-value">{{ previewData.signature }}</div>
+ </div>
+ <div class="preview-item">
+ <div class="preview-label">妯℃澘绫诲瀷锛�</div>
+ <div class="preview-value">
+ <dict-tag :options="typeOptions" :value="previewData.templettype" />
+ </div>
+ </div>
+ <div class="preview-item">
+ <div class="preview-label">鍚敤鐘舵�侊細</div>
+ <div class="preview-value">
+ <dict-tag :options="statusOptions" :value="previewData.isenable" />
+ </div>
+ </div>
+ <el-divider></el-divider>
+ <div class="preview-content">
+ <div class="preview-content-label">鐭俊鍐呭棰勮锛�</div>
+ <div class="preview-content-box">
+ {{ previewData.templetcontent || '鏆傛棤鍐呭' }}
+ </div>
+ </div>
+ <div class="preview-item" v-if="previewData.remark">
+ <div class="preview-label">澶囨敞锛�</div>
+ <div class="preview-value">{{ previewData.remark }}</div>
+ </div>
+ </div>
+ </el-dialog>
+
+ <!-- 娣诲姞绫诲埆寮规 -->
+ <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible">
+ <div style="text-align: center; margin-bottom: 20px">
+ <el-radio-group v-model="radio">
+ <el-radio-button label="涓诲垎绫�"></el-radio-button>
+ <el-radio-button label="瀛愬垎绫�"></el-radio-button>
+ </el-radio-group>
+ </div>
+ <el-divider></el-divider>
+ <el-form :model="classifyform">
+ <el-form-item label="璇烽�夋嫨妯℃澘澶х被" v-if="radio == '瀛愬垎绫�'">
+ <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in deptOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="璇疯緭鍏ョ被鍒悕绉�">
+ <el-input v-model="classifyform.name" autocomplete="off"></el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="getDeptTree()">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import store from "@/store";
+import {
+ listSmstemplet,
+ getSmstemplet,
+ addSmstemplet,
+ updateSmstemplet,
+ delSmstemplet,
+} from "@/api/smartor/smstemplet";
+
+export default {
+ name: "SmsConfig",
+ data() {
+ return {
+ // 閬僵灞�
+ loading: false,
+ // 鎻愪氦鎸夐挳loading
+ submitLoading: false,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鎬绘潯鏁�
+ total: 0,
+ // 琛ㄦ牸鏁版嵁
+ userList: [],
+ // 寮规鏍囬
+ dialogTitle: "",
+ // 寮规鍙鎬�
+ dialogVisible: false,
+ // 棰勮寮规
+ previewVisible: false,
+ // 棰勮鏁版嵁
+ previewData: {},
+ // 绫诲埆寮规
+ dialogFormVisible: false,
+ // 绫诲埆form
+ classifyform: {},
+ // 涓�/瀛愬垎绫�
+ radio: "涓诲垎绫�",
+ // 绫诲埆鎼滅储
+ sidecolumnval: "",
+ // 鏍戞暟鎹�
+ deptOptions: [],
+ // 鍒嗙被涓嬫媺閫夐」
+ categoryOptions: [],
+ // 鏍憄rops
+ defaultProps: {
+ children: "children",
+ label: "name",
+ },
+ // 鐘舵�侀�夐」
+ statusOptions: [
+ { label: "鍚敤", value: "0" },
+ { label: "鍋滅敤", value: "1" },
+ ],
+ // 绫诲瀷閫夐」
+ typeOptions: [
+ { label: "楠岃瘉鐮�", value: "0" },
+ { label: "閫氱煡", value: "1" },
+ { label: "钀ラ攢", value: "2" },
+ { label: "闅忚", value: "3" },
+ ],
+ // 鏌ヨ鍙傛暟
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ },
+ // 琛ㄥ崟
+ form: {},
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ templetname: [
+ { required: true, message: "璇疯緭鍏ユā鏉垮悕绉�", trigger: "blur" },
+ ],
+ templetcontent: [
+ { required: true, message: "璇疯緭鍏ユā鏉垮唴瀹�", trigger: "blur" },
+ ],
+ signature: [
+ { required: true, message: "璇疯緭鍏ョ煭淇$鍚�", trigger: "blur" },
+ ],
+ isenable: [
+ { required: true, message: "璇烽�夋嫨鍚敤鐘舵��", trigger: "change" },
+ ],
+ },
+ };
+ },
+ watch: {
+ // 鐩戝惉绫诲埆鎼滅储
+ sidecolumnval(val) {
+ this.$refs.tree.filter(val);
+ },
+ },
+ created() {
+ this.getList();
+ this.getDeptTree();
+ },
+ methods: {
+ /** 鏌ヨ鍒楄〃 */
+ getList() {
+ this.loading = true;
+ listSmstemplet(this.queryParams).then((response) => {
+ this.userList = response.rows;
+ this.total = response.total;
+ this.loading = false;
+ });
+ },
+
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.queryParams.pageNum = 1;
+ this.getList();
+ },
+
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
+
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map((item) => item.templetid);
+ this.single = selection.length != 1;
+ this.multiple = !selection.length;
+ },
+
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd() {
+ this.dialogTitle = "鏂板鐭俊妯℃澘";
+ this.dialogVisible = true;
+ this.form = {
+ isenable: "0",
+ templettype: "1",
+ };
+ // 濡傛灉鏈夋爲閫変腑鍒嗙被锛岄粯璁ゅ甫鍏�
+ if (this.queryParams.categoryid) {
+ this.form.categoryid = this.queryParams.categoryid;
+ }
+ this.$nextTick(() => {
+ if (this.$refs.formRef) {
+ this.$refs.formRef.clearValidate();
+ }
+ });
+ },
+
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ this.dialogTitle = "淇敼鐭俊妯℃澘";
+ this.dialogVisible = true;
+ const templetid = row.templetid || this.ids[0];
+ getSmstemplet(templetid).then((response) => {
+ this.form = response.data;
+ this.$nextTick(() => {
+ if (this.$refs.formRef) {
+ this.$refs.formRef.clearValidate();
+ }
+ });
+ });
+ },
+
+ /** 棰勮鎸夐挳鎿嶄綔 */
+ handlePreview(row) {
+ this.previewVisible = true;
+ const templetid = row.templetid;
+ getSmstemplet(templetid).then((response) => {
+ this.previewData = response.data;
+ });
+ },
+
+ /** 鎻愪氦琛ㄥ崟 */
+ submitForm() {
+ this.$refs.formRef.validate((valid) => {
+ if (valid) {
+ this.submitLoading = true;
+ if (this.form.templetid) {
+ // 淇敼
+ updateSmstemplet(this.form)
+ .then(() => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.dialogVisible = false;
+ this.getList();
+ })
+ .finally(() => {
+ this.submitLoading = false;
+ });
+ } else {
+ // 鏂板
+ addSmstemplet(this.form)
+ .then(() => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.dialogVisible = false;
+ this.getList();
+ })
+ .finally(() => {
+ this.submitLoading = false;
+ });
+ }
+ }
+ });
+ },
+
+ /** 鍙栨秷琛ㄥ崟 */
+ cancelForm() {
+ this.dialogVisible = false;
+ this.form = {};
+ this.$nextTick(() => {
+ if (this.$refs.formRef) {
+ this.$refs.formRef.clearValidate();
+ }
+ });
+ },
+
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ const templetids = row.templetid || this.ids.join(",");
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎妯℃澘缂栧彿涓�"' + templetids + '"鐨勬暟鎹」锛�')
+ .then(function () {
+ return delSmstemplet(templetids);
+ })
+ .then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ },
+
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ templetid: undefined,
+ templetname: undefined,
+ signature: undefined,
+ templetcontent: undefined,
+ templettype: "1",
+ isenable: "0",
+ categoryid: undefined,
+ remark: undefined,
+ };
+ this.resetForm("form");
+ },
+
+ /** 鏌ヨ鍒嗙被鏍� */
+ getDeptTree() {
+ // 妯℃嫙鍒嗙被鏍戞暟鎹� - 瀹為檯椤圭洰涓簲鏇挎崲涓虹湡瀹濧PI
+ this.deptOptions = [
+ {
+ id: 1,
+ name: "闅忚鐭俊",
+ children: [
+ { id: 11, name: "鍑洪櫌闅忚" },
+ { id: 12, name: "澶嶈瘖鎻愰啋" },
+ { id: 13, name: "鍋ュ悍瀹f暀" },
+ ],
+ },
+ {
+ id: 2,
+ name: "閫氱煡鐭俊",
+ children: [
+ { id: 21, name: "棰勭害閫氱煡" },
+ { id: 22, name: "鎶ュ憡閫氱煡" },
+ ],
+ },
+ {
+ id: 3,
+ name: "楠岃瘉鐮�",
+ children: [
+ { id: 31, name: "鐧诲綍楠岃瘉" },
+ { id: 32, name: "娉ㄥ唽楠岃瘉" },
+ ],
+ },
+ ];
+ this.categoryOptions = this.flattenTree(this.deptOptions);
+ },
+
+ /** 鎵佸钩鍖栨爲鏁版嵁鐢ㄤ簬涓嬫媺閫夋嫨 */
+ flattenTree(tree) {
+ let result = [];
+ tree.forEach((item) => {
+ result.push({ id: item.id, name: item.name });
+ if (item.children && item.children.length) {
+ result = result.concat(item.children);
+ }
+ });
+ return result;
+ },
+
+ /** 绛涢�夎妭鐐� */
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+
+ /** 鐐瑰嚮鏍戣妭鐐� */
+ handleNodeClick(data) {
+ if (data.children && data.children.length) return;
+ this.queryParams.categoryid = data.id;
+ this.getList();
+ },
+
+ // 鍒嗙被鏍�-----------------------
+ /** 鏂板缓鍒嗙被 */
+ Newcategory() {
+ this.classifyform = {};
+ this.radio = "涓诲垎绫�";
+ this.dialogFormVisible = true;
+ },
+
+ /** 淇敼鍒嗙被 */
+ altertag(node, data) {
+ this.dialogFormVisible = true;
+ if (data.children && data.children.length) {
+ this.radio = "涓诲垎绫�";
+ } else {
+ this.radio = "瀛愬垎绫�";
+ }
+ this.classifyform = { ...data };
+ },
+
+ /** 鎻愪氦鍒嗙被 */
+ submitsidecolumn() {
+ if (this.classifyform.id) {
+ // 淇敼鍒嗙被 - 瀹為檯椤圭洰涓簲鏇挎崲涓虹湡瀹濧PI
+ const index = this.deptOptions.findIndex(
+ (obj) => obj.id === this.classifyform.id
+ );
+ if (index > -1) {
+ this.deptOptions[index].name = this.classifyform.name;
+ this.$set(this.deptOptions, index, this.deptOptions[index]);
+ }
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.dialogFormVisible = false;
+ return;
+ }
+
+ if (this.radio === "涓诲垎绫�" && this.classifyform.name) {
+ // 鏂板涓诲垎绫�
+ const newId = Math.max(...this.deptOptions.map((d) => d.id), 0) + 1;
+ this.deptOptions.push({
+ id: newId,
+ name: this.classifyform.name,
+ children: [],
+ });
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.dialogFormVisible = false;
+ } else if (
+ this.radio === "瀛愬垎绫�" &&
+ this.classifyform.pid &&
+ this.classifyform.name
+ ) {
+ // 鏂板瀛愬垎绫�
+ const parent = this.deptOptions.find(
+ (obj) => obj.id === this.classifyform.pid
+ );
+ if (parent) {
+ const newChildId =
+ Math.max(...parent.children.map((c) => c.id), parent.id * 10) + 1;
+ parent.children.push({
+ id: newChildId,
+ name: this.classifyform.name,
+ });
+ }
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.dialogFormVisible = false;
+ } else {
+ this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
+ }
+ this.classifyform = {};
+ },
+
+ /** 鍒犻櫎鍒嗙被 */
+ remove(node, data) {
+ if (data.children && data.children.length) {
+ this.$modal
+ .confirm(
+ '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + data.name + '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗘棤娉曚娇鐢�'
+ )
+ .then(() => {
+ const index = this.deptOptions.findIndex(
+ (obj) => obj.id === data.id
+ );
+ if (index > -1) {
+ this.deptOptions.splice(index, 1);
+ }
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ } else {
+ this.$modal
+ .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + data.name + '"鐨勬暟鎹」锛�')
+ .then(() => {
+ this.deptOptions.forEach((parent) => {
+ const idx = parent.children.findIndex(
+ (child) => child.id === data.id
+ );
+ if (idx > -1) {
+ parent.children.splice(idx, 1);
+ }
+ });
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ }
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.smsConfig-management {
+ display: flex;
+}
+
+.sidecolumn {
+ width: 380px;
+ min-height: 100vh;
+ text-align: center;
+ margin-top: 20px;
+ margin: 20px;
+ padding: 30px;
+ background: #fff;
+ 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);
+
+ .sidecolumn-top {
+ display: flex;
+ justify-content: space-between;
+ .top-wj {
+ font-size: 20px;
+ }
+ .top-tj {
+ font-size: 18px;
+ color: rgb(0, 89, 255);
+ cursor: pointer;
+ }
+ }
+
+ /* 鏍稿績锛氳缃浐瀹氬搴︼紝瓒呭嚭閮ㄥ垎鏄剧ず鐪佺暐鍙� */
+ .tree-node-label {
+ display: inline-block;
+ max-width: 160px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ vertical-align: bottom;
+ }
+
+ /* 鍙�夛細榧犳爣鎮仠鏃跺彇娑堥檺鍒讹紝鏄剧ず鍏ㄦ枃 */
+ .custom-tree-node:hover .tree-node-label {
+ max-width: none;
+ white-space: normal;
+ overflow: visible;
+ }
+
+ .center-ss {
+ margin-top: 30px;
+ .input-with-select {
+ height: 40px !important;
+ }
+ }
+
+ .bottom-fl {
+ margin-top: 30px;
+ display: center !important;
+ }
+}
+
+.leftvlue {
+ width: 80%;
+ margin-top: 20px;
+ padding: 30px;
+ background: #ffff;
+ border: 1px solid #dcdfe6;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+
+ .mulsz {
+ font-size: 20px;
+ }
+}
+
+// 棰勮寮规鏍峰紡
+.preview-box {
+ padding: 10px 20px;
+
+ .preview-item {
+ display: flex;
+ align-items: center;
+ margin-bottom: 15px;
+ font-size: 15px;
+
+ .preview-label {
+ width: 100px;
+ text-align: right;
+ color: #606266;
+ font-weight: 500;
+ }
+
+ .preview-value {
+ flex: 1;
+ margin-left: 10px;
+ color: #303133;
+ }
+ }
+
+ .preview-content {
+ margin-bottom: 15px;
+
+ .preview-content-label {
+ color: #606266;
+ font-weight: 500;
+ margin-bottom: 10px;
+ font-size: 15px;
+ }
+
+ .preview-content-box {
+ padding: 15px;
+ background: #f5f7fa;
+ border: 1px solid #dcdfe6;
+ border-radius: 4px;
+ min-height: 60px;
+ line-height: 1.8;
+ color: #303133;
+ word-break: break-all;
+ }
+ }
+}
+
+// 娣卞害閫夋嫨鍣�
+::v-deep .el-input--medium .el-input__inner {
+ height: 40px !important;
+}
+
+::v-deep .el-tree-node__content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ height: 46px;
+ font-size: 20px;
+ cursor: pointer;
+}
+
+::v-deep .el-tree {
+ position: relative;
+ cursor: default;
+ border-radius: 5px;
+ background: #eff8fe;
+ color: #606266;
+ border: 1px solid #bbe1fa;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+}
+
+::v-deep
+ .el-tree--highlight-current
+ .el-tree-node.is-current
+ > .el-tree-node__content {
+ background-color: #7799fb;
+ color: #fff;
+}
+
+::v-deep .el-button--mini.is-circle {
+ padding: 7px;
+ margin: 0;
+ color: red;
+}
+
+// 鎸夐挳鏂囧瓧棰滆壊
+.button-text {
+ color: rgb(70, 204, 238);
+}
+
+.button-textxg {
+ color: rgb(35, 81, 233);
+}
+
+.button-textsc {
+ color: rgb(235, 23, 23);
+}
+</style>
diff --git a/src/views/outsideChainwtnew.vue b/src/views/outsideChainwtnew.vue
index ffcee9d..32cd4e8 100644
--- a/src/views/outsideChainwtnew.vue
+++ b/src/views/outsideChainwtnew.vue
@@ -23,7 +23,9 @@
: "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸鍖婚櫌鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�"
}}
</div>
- <div v-if="orgname" class="questionnaire-signature">鈥斺�斺�攞{ orgname }}</div>
+ <div v-if="orgname" class="questionnaire-signature">
+ 鈥斺�斺�攞{ orgname }}
+ </div>
</div>
<el-divider class="custom-divider"></el-divider>
@@ -327,6 +329,7 @@
<div class="completion-content">
<div class="completion-icon">鉁�</div>
<h2 class="completion-title">鎰熻阿鎮ㄧ殑閰嶅悎!</h2>
+ <h2 class="completion-title">绁濇偍鍋ュ悍蹇箰!</h2>
<p class="completion-message">
{{
jsy
@@ -506,7 +509,15 @@
res.data.param3,
res.data.param5
);
- this.orgname = res.data.orgname;
+ if (
+ res.data.orgname == "鐪佺珛鍚屽痉缈犺嫅闄㈠尯" ||
+ res.data.orgname == "鐪佺珛鍚屽痉涔嬫睙闄㈠尯" ||
+ res.data.orgname == "鐪佺珛鍚屽痉闂叉灄闄㈠尯"
+ ) {
+ this.orgname = "娴欐睙鐪佺珛鍚屽痉鍖婚櫌";
+ } else {
+ this.orgname = res.data.orgname;
+ }
this.param6 = res.data.param6;
}
@@ -895,7 +906,7 @@
.questionnaire-description {
font-size: 16px;
- color: #5a6c84;
+ color: #303a47;
line-height: 1.8;
max-width: 720px;
margin: 0;
@@ -904,8 +915,8 @@
text-indent: 2em; /* 棣栬缂╄繘 */
}
.questionnaire-signature {
- font-size: 15px;
- color: #8a9bb5; /* 姣旀鏂囬鑹茬◢娴咃紝浣撶幇闄勫睘鎰� */
+ font-size: 16px;
+ color: #303a47;
text-align: right; /* 鍙冲榻� */
max-width: 720px;
margin: 8px 0 0 auto; /* 涓婅竟璺�8px锛屽彸杈归潬榻� */
@@ -972,11 +983,21 @@
.question-stem {
display: grid;
- grid-template-columns: auto 1fr auto; /* 棰樺彿鑷�傚簲锛屾枃鏈崰婊″墿浣欑┖闂达紝棰樺瀷鏍囩鑷�傚簲 */
+ grid-template-columns: auto 1fr auto;
gap: 3px;
- align-items: center;
+ align-items: start; /* 鏀逛负 start 閬垮厤灞呬腑瀵艰嚧鐨勮瑙夐棶棰� */
margin-bottom: 20px;
font-size: 18px;
+}
+
+.question-text {
+ line-height: 1.5;
+ color: #2c3e50;
+ font-weight: 500;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+ white-space: normal; /* 纭繚鍏佽鎹㈣ */
+ min-width: 0; /* 闃叉 grid 椤规孩鍑� */
}
.question-number {
@@ -985,14 +1006,14 @@
min-width: 16px;
}
-.question-text {
- line-height: 1.5;
- color: #2c3e50;
- font-weight: 500;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
+// .question-text {
+// line-height: 1.5;
+// color: #2c3e50;
+// font-weight: 500;
+// overflow: hidden;
+// text-overflow: ellipsis;
+// white-space: nowrap;
+// }
.question-type-tag {
color: #3ba2f7;
@@ -1162,11 +1183,11 @@
font-size: 16px;
}
- .question-stem {
- font-size: 16px;
- flex-direction: column;
- align-items: flex-start;
- }
+ // .question-stem {
+ // font-size: 16px;
+ // flex-direction: column;
+ // align-items: flex-start;
+ // }
.question-type-tag {
margin-left: 0;
diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue
index c6b5bc0..ce272ca 100644
--- a/src/views/patient/patient/index.vue
+++ b/src/views/patient/patient/index.vue
@@ -182,7 +182,7 @@
>鍒犻櫎</el-button
>
</el-col>
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<el-button
type="primary"
icon="el-icon-s-promotion"
@@ -190,7 +190,7 @@
@click="distribute"
>鍚戜换鍔℃淳鍙戞偅鑰�</el-button
>
- </el-col>
+ </el-col> -->
<el-col :span="6">
<div class="documentf">
<div class="document">
@@ -376,14 +376,14 @@
><i class="el-icon-edit"></i>鎮h�呰繃婊�</span
></el-button
>
- <!-- <el-button
+ <el-button
size="medium"
type="text"
@click="Distributionservice(scope.row)"
- ><span class="button-textxg"
- ><i class="el-icon-menu"></i>鏈嶅姟</span
+ ><span class="button-textdx"
+ ><i class="el-icon-s-promotion"></i>鐭俊鍙戦��</span
></el-button
- > -->
+ >
<!-- <el-button
size="medium"
type="text"
@@ -1261,8 +1261,17 @@
this.loading = false;
});
},
- Distributionservice(row) {
- this.serviceVisible = true;
+ Distributionservice(patient) {
+ this.$store.dispatch("sms/openSmsDialog", {
+ name: patient.name,
+ age: patient.age,
+ phone: patient.telcode,
+ deptName: patient.deptName,
+ wardName: patient.wardName,
+ smsTemplate: `灏婃暚鐨�${patient.name}锛屾偍濂斤紒`,
+ });
+
+ this.$message.success(`宸插噯澶囧悜 ${patient.name} 鍙戦�佺煭淇);
},
RiskMarker(row) {
this.RiskVisible = true;
@@ -1671,6 +1680,9 @@
.button-textxga {
color: #de7897;
}
+.button-textdx {
+ color: #569655;
+}
.button-textxg {
color: #de7897;
}
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 6c4256a..f5cfbd4 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -370,27 +370,103 @@
</el-row>
</el-row>
<el-row v-if="form.appltype == 4">
- <el-col :span="20"
- ><el-form-item label="閫傜敤鎵嬫湳" prop="region">
- <el-select
- v-model="form.oplevelcode"
- style="width: 400px"
- @remove-tag="removeopera"
- size="medium"
- :remote-method="remoteopcode"
- filterable
- remote
- placeholder="璇烽�夋嫨鎵嬫湳"
+ <el-form-item label="閫傜敤鎵嬫湳" prop="region">
+ <el-select
+ v-model="form.oplevelcode"
+ style="width: 400px"
+ @remove-tag="removeopera"
+ size="medium"
+ :remote-method="remoteopcode"
+ filterable
+ remote
+ placeholder="璇烽�夋嫨鎵嬫湳"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in baseoperaList"
+ :label="item.label"
+ :value="item.value"
>
- <el-option
- class="ruleFormaa"
- v-for="item in baseoperaList"
- :label="item.label"
- :value="item.value"
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <div
+ style="
+ margin-bottom: 20px;
+ padding: 8px 12px;
+ background-color: #f0f9ff;
+ border-left: 4px solid #409eff;
+ "
+ >
+ <p
+ style="
+ margin: 0;
+ color: #606266;
+ font-size: 13px;
+ line-height: 1.4;
+ "
+ >
+ <i
+ class="el-icon-info"
+ style="color: #409eff; margin-right: 6px"
+ ></i>
+ 閽堝鍚屼竴鎵嬫湳绫诲瀷鍦ㄥ绉戝/鐥呭尯涓嬪瓨鍦ㄧ殑鎯呭喌锛屽彲閫夋嫨鎬ч厤缃浐瀹氱瀹�/鐥呭尯
+ </p>
+ </div>
+ <!-- 鏂板锛氭墜鏈叧鑱斾笅鐨勭瀹ら厤缃紙鍗曢�夛級 -->
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈绉戝" prop="diseaseDept">
+ <el-select
+ v-model="diseaseDept"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨绉戝锛堝彲閫夛級"
+ value-key="deptCode"
+ @change="handleDiseaseDeptChange"
>
- </el-option>
- </el-select> </el-form-item
- ></el-col>
+ <el-option
+ v-for="item in belongDepts"
+ :key="item.deptCode"
+ :label="item.deptName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseDept" class="selected-info">
+ 宸查�夋嫨: {{ diseaseDept.deptName }} ({{
+ diseaseDept.deptCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈鐥呭尯" prop="diseaseWard">
+ <el-select
+ v-model="diseaseWard"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨鐥呭尯锛堝彲閫夛級"
+ value-key="districtCode"
+ @change="handleDiseaseWardChange"
+ >
+ <el-option
+ v-for="item in belongWards"
+ :key="item.districtCode"
+ :label="item.districtName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseWard" class="selected-info">
+ 宸查�夋嫨: {{ diseaseWard.districtName }} ({{
+ diseaseWard.districtCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-row>
<el-row>
<el-col :span="12"
@@ -1097,8 +1173,8 @@
// 鏃堕棿澶勭悊
daytime: [], //鏃ユ湡
applydaytime: [], //璁$畻鏃ユ湡
- diseaseDept: null, // 鐤剧梾鍏宠仈涓嬬殑绉戝锛堝瓨鍌ㄦ暣涓璞★級
- diseaseWard: null, // 鐤剧梾鍏宠仈涓嬬殑鐥呭尯锛堝瓨鍌ㄦ暣涓璞★級
+ diseaseDept: null, // 鐤剧梾鎴栨墜鏈叧鑱斾笅鐨勭瀹わ紙瀛樺偍鏁翠釜瀵硅薄锛�
+ diseaseWard: null, // 鐤剧梾鎴栨墜鏈叧鑱斾笅鐨勭梾鍖猴紙瀛樺偍鏁翠釜瀵硅薄锛�
diseaseDepts: "",
diseaseWards: "",
time1: "", //涓婂崍鏃堕棿娈�
@@ -1551,12 +1627,12 @@
}
// 鏍¢獙锛氱柧鐥呭叧鑱旂瀹ゆ垨鐥呭尯
- if (this.form.appltype == 3) {
+ if (this.form.appltype == 3 || this.form.appltype == 4) {
const hasDept = this.diseaseDept?.deptCode;
const hasWard = this.diseaseWard?.districtCode;
if (!hasDept && !hasWard) {
- this.$modal.msgError("褰撳墠鐤剧梾闇�鍏宠仈绉戝鎴栫梾鍖�");
+ this.$modal.msgError("闇�鍏宠仈绉戝鎴栫梾鍖�");
this.submitLoading = false;
return;
}
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 2d36270..09e1d13 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -389,29 +389,103 @@
</el-row>
</el-row>
<el-row v-if="form.appltype == 4">
- <el-col :span="20"
- ><el-form-item label="閫傜敤鎵嬫湳" prop="region">
- <el-select
- v-model="operationcodes"
- style="width: 400px"
- @remove-tag="removeopera"
- :remote-method="remoteopcode"
- size="medium"
- multiple
- filterable
- remote
- placeholder="璇烽�夋嫨鎵嬫湳"
+ <el-form-item label="閫傜敤鎵嬫湳" prop="region">
+ <el-select
+ v-model="form.oplevelcode"
+ style="width: 400px"
+ @remove-tag="removeopera"
+ size="medium"
+ :remote-method="remoteopcode"
+ filterable
+ remote
+ placeholder="璇烽�夋嫨鎵嬫湳"
+ >
+ <el-option
+ class="ruleFormaa"
+ v-for="item in baseoperaList"
+ :label="item.label"
+ :value="item.value"
>
- <el-option
- class="ruleFormaa"
- v-for="item in baseoperaList"
- :key="item.icdcode"
- :label="item.icdname"
- :value="item.icdcode"
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <div
+ style="
+ margin-bottom: 20px;
+ padding: 8px 12px;
+ background-color: #f0f9ff;
+ border-left: 4px solid #409eff;
+ "
+ >
+ <p
+ style="
+ margin: 0;
+ color: #606266;
+ font-size: 13px;
+ line-height: 1.4;
+ "
+ >
+ <i
+ class="el-icon-info"
+ style="color: #409eff; margin-right: 6px"
+ ></i>
+ 閽堝鍚屼竴鎵嬫湳绫诲瀷鍦ㄥ绉戝/鐥呭尯涓嬪瓨鍦ㄧ殑鎯呭喌锛屽彲閫夋嫨鎬ч厤缃浐瀹氱瀹�/鐥呭尯
+ </p>
+ </div>
+ <!-- 鏂板锛氭墜鏈叧鑱斾笅鐨勭瀹ら厤缃紙鍗曢�夛級 -->
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈绉戝" prop="diseaseDept">
+ <el-select
+ v-model="diseaseDept"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨绉戝锛堝彲閫夛級"
+ value-key="deptCode"
+ @change="handleDiseaseDeptChange"
>
- </el-option>
- </el-select> </el-form-item
- ></el-col>
+ <el-option
+ v-for="item in belongDepts"
+ :key="item.deptCode"
+ :label="item.deptName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseDept" class="selected-info">
+ 宸查�夋嫨: {{ diseaseDept.deptName }} ({{
+ diseaseDept.deptCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈鐥呭尯" prop="diseaseWard">
+ <el-select
+ v-model="diseaseWard"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨鐥呭尯锛堝彲閫夛級"
+ value-key="districtCode"
+ @change="handleDiseaseWardChange"
+ >
+ <el-option
+ v-for="item in belongWards"
+ :key="item.districtCode"
+ :label="item.districtName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseWard" class="selected-info">
+ 宸查�夋嫨: {{ diseaseWard.districtName }} ({{
+ diseaseWard.districtCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-row>
<el-row>
<el-col :span="12"
@@ -1039,7 +1113,10 @@
questionList: [],
skip: false,
donorchargeList: [],
- baseoperaList: [],
+ baseoperaList: [ { value: "1", label: "涓�绾ф墜鏈�" },
+ { value: "2", label: "浜岀骇鎵嬫湳" },
+ { value: "3", label: "涓夌骇鎵嬫湳" },
+ { value: "4", label: "鍥涚骇鎵嬫湳" },],
selectedOrder: [],
diseaseDept: null, // 鐤剧梾鍏宠仈涓嬬殑绉戝锛堝瓨鍌ㄦ暣涓璞★級
diseaseWard: null, // 鐤剧梾鍏宠仈涓嬬殑鐥呭尯锛堝瓨鍌ㄦ暣涓璞★級
@@ -1588,7 +1665,7 @@
}
// 2. 鐤剧梾鍏宠仈绉戝鎴栫梾鍖烘牎楠�
- if (this.form.appltype == 3) {
+ if (this.form.appltype == 3 || this.form.appltype == 4) {
const hasDept = this.diseaseDept?.deptCode;
const hasWard = this.diseaseWard?.districtCode;
@@ -2204,24 +2281,24 @@
}).then((row) => {
this.donorchargeList = res.rows;
});
- getbaseopera({
- pageNum: 1,
- pageSize: 1000,
- }).then((row) => {
- this.baseoperaList = res.rows;
- });
+ // getbaseopera({
+ // pageNum: 1,
+ // pageSize: 1000,
+ // }).then((row) => {
+ // this.baseoperaList = res.rows;
+ // });
},
// 鎵嬫湳鏌ヨ
remoteopcode(name) {
- if (name) {
- getbaseopera({
- pageNum: 1,
- pageSize: 1000,
- opdesc: name,
- }).then((res) => {
- this.baseoperaList = res.rows;
- });
- }
+ // if (name) {
+ // getbaseopera({
+ // pageNum: 1,
+ // pageSize: 1000,
+ // opdesc: name,
+ // }).then((res) => {
+ // this.baseoperaList = res.rows;
+ // });
+ // }
},
// 浠诲姟绉戝鍒犻櫎瑙﹀彂
diff --git a/src/views/repositoryai/templateku/index.vue b/src/views/repositoryai/templateku/index.vue
index 32a155a..80cacd4 100644
--- a/src/views/repositoryai/templateku/index.vue
+++ b/src/views/repositoryai/templateku/index.vue
@@ -499,7 +499,7 @@
} from "@/api/AiCentre/index";
import { listDept } from "@/api/system/dept";
export default {
- name: "templateku",
+ name: "Templateku",
data() {
return {
topactiveName: "Local", //椤堕儴閫夋嫨
diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index 356a03e..713e2a2 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -204,7 +204,7 @@
import { getSfStatisticsHyperlink } from "@/api/AiCentre/index";
export default {
- name: "FollowUpStatistics",
+ name: "Percentage",
components: {
FirstFollowUp,
SecondFollowUp,
diff --git a/vue.config.js b/vue.config.js
index 252f723..b58c628 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -37,13 +37,13 @@
[process.env.VUE_APP_BASE_API]: {
// target: `https://www.health-y.cn/lssf`,
// target: `http://192.168.100.10:8096`,
- target: `http://192.168.100.10:8094`,//鐪佺珛鍚屽痉
+ // target: `http://192.168.100.10:8094`,//鐪佺珛鍚屽痉
// target: `http://192.168.100.10:8095`,//鏂板崕
// target: `http://192.168.100.10:8098`,//甯備竴
// target:`http://localhost:8095`,
// target:`http://35z1t16164.qicp.vip`,
// target: `http://192.168.100.172:8095`,
- // target: `http://192.168.100.10:8089`,//鍗楀崕
+ target: `http://192.168.100.10:8089`,//鍗楀崕
// target: `http://192.168.191.181:8095`,
changeOrigin: true,
pathRewrite: {
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip" "b/\351\232\217\350\256\277\345\244\226\351\223\276.zip"
similarity index 90%
copy from "\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip"
copy to "\351\232\217\350\256\277\345\244\226\351\223\276.zip"
index a02a0dc..c0df10a 100644
--- "a/\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip"
+++ "b/\351\232\217\350\256\277\345\244\226\351\223\276.zip"
Binary files differ
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip" "b/\351\232\217\350\256\277\345\244\226\351\223\276\351\200\232\347\224\250.zip"
similarity index 90%
copy from "\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip"
copy to "\351\232\217\350\256\277\345\244\226\351\223\276\351\200\232\347\224\250.zip"
index a02a0dc..2b288ef 100644
--- "a/\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip"
+++ "b/\351\232\217\350\256\277\345\244\226\351\223\276\351\200\232\347\224\250.zip"
Binary files differ
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip" "b/\351\232\217\350\256\277\351\200\232\347\224\250.zip"
similarity index 89%
copy from "\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip"
copy to "\351\232\217\350\256\277\351\200\232\347\224\250.zip"
index a02a0dc..e14bfbe 100644
--- "a/\351\232\217\350\256\277\351\200\232\347\224\250\357\274\210\351\234\200\345\220\214\346\255\245\346\234\200\346\226\260\347\212\266\346\200\201\357\274\211.zip"
+++ "b/\351\232\217\350\256\277\351\200\232\347\224\250.zip"
Binary files differ
--
Gitblit v1.9.3