From d90b45d7e9e38e34c044b772006004f2a4cb8b8e Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期五, 26 六月 2026 13:51:50 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/record/detailpage/index.vue | 875 ++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 603 insertions(+), 272 deletions(-)
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 0d8c44c..ed5040e 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -76,7 +76,8 @@
gettoken360(
scope.row.sfzh,
scope.row.drcode,
- scope.row.drname
+ scope.row.drname,
+ scope.row.patid
)
"
><span class="button-textsc">{{
@@ -94,43 +95,36 @@
>
</el-table-column>
<el-table-column
- prop="sendstate"
+ label="闅忚鐘舵��"
align="center"
- width="200"
- label="浠诲姟鐘舵��"
+ key="sendstateView"
+ prop="sendstateView"
+ width="120"
>
<template slot-scope="scope">
- <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
+ class="item"
+ 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"
+ >寰呴殢璁�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstateView == 2">
+ <el-tag type="success" :disable-transitions="false"
+ >宸插畬鎴�</el-tag
+ >
+ </div>
+ <div v-if="scope.row.sendstateView == 3">
+ <el-tag type="warning" :disable-transitions="false"
+ >鏃犻渶闅忚</el-tag
+ >
+ </div>
+ </el-tooltip>
</template>
</el-table-column>
<el-table-column
@@ -142,6 +136,18 @@
>
</el-table-column>
<el-table-column
+ v-if="orgname == '鍗楀崕澶у闄勫睘绗竴鍖婚櫌'"
+ label="鍏ラ櫌鏃ユ湡"
+ width="200"
+ align="center"
+ key="starttime"
+ prop="starttime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.starttime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
label="鍑洪櫌鏃ユ湡"
width="200"
align="center"
@@ -152,6 +158,7 @@
<span>{{ formatTime(scope.row.endtime) }}</span>
</template></el-table-column
>
+
<el-table-column
label="璐d换鎶ゅ+"
width="120"
@@ -166,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"
@@ -261,9 +319,38 @@
<!-- 闅忚鍐呭 -->
<div class="call-action">
<div class="call-container">
- <!-- <div class="call-header">
- <h2>涓�閿懠鍙姛鑳�</h2>
- </div> -->
+ <div
+ style="display: flex"
+ v-if="
+ (orgname == '鍗楀崕澶у闄勫睘绗竴鍖婚櫌' ||
+ orgname == '涓芥按甯傜浜屼汉姘戝尰闄�' ||
+ orgname == '缂欎簯鍘夸汉姘戝尰闄�') &&
+ !Voicetype
+ "
+ >
+ <template-selector
+ v-model="form.templateid"
+ :templateName="form.templatename"
+ :service-type="form.serviceType"
+ :is-editable="form.sendState !== 2"
+ @select="handleTemplateSelect"
+ @clear="handleTemplateClear"
+ />
+ <div
+ v-if="defaultKey"
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ padding: 33px 0 0 50px;
+ "
+ >
+ <el-button type="success" round @click="handleConfirmReplace">
+ 榛樿濉厖
+ </el-button>
+ </div>
+ </div>
<div class="headline">
<div>闅忚鍐呭</div>
@@ -275,7 +362,14 @@
><i class="el-icon-notebook-1"></i> 闂嵎闅忚缁撴灉</span
>
<div class="CONTENT">
- <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
+ <div class="title">
+ {{ taskname ? taskname : "闂嵎" }}
+ <span style="margin-left: 50px">
+ <el-button type="primary" round @click="smsSubTask">
+ 闂嵎鐭俊鎺ㄩ��
+ </el-button>
+ </span>
+ </div>
<div class="preview-left" v-if="!Voicetype">
<div
@@ -290,9 +384,14 @@
v-if="item.scriptType == 1 && !item.astrict"
>
<div class="dev-text">
- {{ index + 1 }}銆乕鍗曢�塢<span>{{
- item.scriptContent
- }}</span>
+ {{ index + 1 }}. [鍗曢�塢
+
+ <span> {{ item.scriptContent }}</span>
+ <span style="margin-left: 20px"
+ ><dict-tag
+ :options="dict.type.dimensionality_type"
+ :value="item.dimension"
+ /></span>
</div>
<div class="dev-xx">
<el-radio-group v-model="item.scriptResult">
@@ -343,9 +442,14 @@
v-if="item.scriptType == 2 && !item.astrict"
>
<div class="dev-text">
- {{ index + 1 }}銆乕澶氶�塢<span>{{
+ {{ index + 1 }}. [澶氶�塢<span>{{
item.scriptContent
}}</span>
+ <span style="margin-left: 20px"
+ ><dict-tag
+ :options="dict.type.dimensionality_type"
+ :value="item.dimension"
+ /></span>
</div>
<div class="dev-xx">
<el-checkbox-group
@@ -377,9 +481,14 @@
v-if="item.scriptType == 4 && !item.astrict"
>
<div class="dev-text">
- {{ index + 1 }}銆乕闂瓟]<span>{{
+ {{ index + 1 }}. [闂瓟]<span>{{
item.scriptContent
}}</span>
+ <span style="margin-left: 20px"
+ ><dict-tag
+ :options="dict.type.dimensionality_type"
+ :value="item.dimension"
+ /></span>
<span v-if="item.valueType == 3">(鍙兘杈撳叆鏁板瓧)</span>
</div>
<div class="dev-xx" v-if="item.valueType == 3">
@@ -413,9 +522,8 @@
>
<div v-if="item.targetvalue">
<div class="dev-text">
- {{ index + 1 }}銆乕鍗曢�塢<span>{{
- item.questiontext
- }}</span>
+ {{ index + 1 }}. [鍗曢�塢
+ <span>{{ item.questiontext }}</span>
</div>
<div class="dev-xx">
<el-radio-group
@@ -446,8 +554,8 @@
<div class="scriptTopic-dev" :key="index" v-else>
<div class="dev-text">
- {{ index + 1 }}銆乕闂瓟]<span>{{
- item.scriptContent
+ {{ index + 1 }}. [闂瓟]<span>{{
+ item.questiontext
}}</span>
<span v-if="item.valueType == 3">(鍙兘杈撳叆鏁板瓧)</span>
</div>
@@ -558,11 +666,7 @@
<div class="header-actions">
<!-- 鍩虹鎿嶄綔鎸夐挳缁� -->
<div class="action-group basic-actions">
- <el-button
- type="primary"
- plain
- @click="Editsingletasksonyic('')"
- >
+ <el-button type="primary" plain @click="alterpatient('')">
淇濆瓨鍩虹淇℃伅
</el-button>
@@ -580,7 +684,7 @@
type="primary"
round
@click="sendAgain"
- v-if="form.isVisitAgain != 2"
+ v-if="(form.isVisitAgain != 2) & (visitAgain == 2)"
>
鍐嶆闅忚
</el-button>
@@ -651,6 +755,23 @@
icon="el-icon-phone"
@click="handleCall(userform.telcode, 'tel')"
:disabled="!isValidPhone(userform.telcode)"
+ ></el-button>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="10">
+ <el-form-item
+ label="鐭彿鐢佃瘽"
+ v-if="orgname == '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'"
+ >
+ <el-input
+ placeholder="鑱旂郴鐢佃瘽缂哄け"
+ v-model="userform.telshortcode"
+ >
+ <el-button
+ slot="append"
+ icon="el-icon-phone"
+ @click="handleCall(userform.telshortcode, 'tel', true)"
></el-button>
</el-input>
</el-form-item>
@@ -738,16 +859,54 @@
/>
</div>
</div>
-
+ <el-form-item label="浠诲姟澶勭悊鐘舵��">
+ <el-select
+ v-model="serviceStates"
+ placeholder="璇烽�夋嫨鐘舵��"
+ clearable
+ style="width: 150px; margin-right: 10px"
+ >
+ <el-option
+ v-for="item in serviceState"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
<!-- 闅忚鍐呭/璁板綍 -->
<el-form-item
:label="orgname == '涓芥按甯備腑鍖婚櫌' ? '闅忚鍐呭' : '闅忚璁板綍'"
>
- <el-input type="textarea" v-model="form.remark"></el-input>
+ <!-- 蹇嵎鐭鏍囩 -->
+ <div style="margin-bottom: 8px">
+ <el-tag
+ v-for="(item, index) in dict.type.quickfollow_up"
+ :key="index"
+ style="margin-right: 8px; cursor: pointer"
+ @click="insertText(item.value)"
+ >
+ {{ item.value }}
+ </el-tag>
+ </div>
+ <!-- 鏂囨湰鍩� -->
+ <el-input
+ type="textarea"
+ :rows="4"
+ v-model="form.remark"
+ ref="textareaRef"
+ placeholder="鍙偣鍑讳笂鏂瑰揩鎹锋爣绛炬垨鎵嬪姩杈撳叆"
+ ></el-input>
</el-form-item>
<!-- 闅忚鎯呭喌 -->
- <el-form-item label="闅忚鎯呭喌" v-if="orgname == '涓芥按甯備腑鍖婚櫌'">
+ <el-form-item
+ label="闅忚鎯呭喌"
+ v-if="
+ orgname == '涓芥按甯備腑鍖婚櫌' ||
+ orgname == '鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�'
+ "
+ >
<el-radio-group v-model="form.taskSituation">
<el-radio
v-for="city in cities"
@@ -893,34 +1052,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>
@@ -1108,9 +1254,14 @@
serviceSubtaskDetailedit,
serviceSubtaskDetailadd,
updatePersonVoices,
+ savequestiondetail,
addPersonVoices,
query360PatInfo,
+ updateTemplate,
+ query360PatInfonh,
sendMsg,
+ smsSubTask,
+ getconfigKey,
} from "@/api/AiCentre/index";
import {
messagelistpatient,
@@ -1118,13 +1269,16 @@
listcontactinformation,
} from "@/api/patient/homepage";
import CallButton from "@/components/CallButton";
+import TemplateSelector from "@/components/optionalModule";
import MergeAndModify from "./MergeAndModify.vue";
import CallCenterLs from "@/components/CallCenterLs";
+import store from "@/store";
export default {
components: {
CallButton,
MergeAndModify,
CallCenterLs,
+ TemplateSelector,
},
directives: {
numericOnly: {
@@ -1187,7 +1341,14 @@
},
},
},
- dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
+ dicts: [
+ "sys_normal_disable",
+ "dimensionality_type",
+ "quickfollow_up",
+ "sys_user_sex",
+ "sys_yujing",
+ "sys_suggest",
+ ],
data() {
const validatePhone = (rule, value, callback) => {
if (!value) {
@@ -1202,7 +1363,9 @@
}, 300);
};
return {
+ visitAgain: 1,
userid: "",
+ defaultKey: false, //鏄惁鍙粯璁ゅ~鎶�
currentPhoneNumber: "",
callType: "", // 鐢ㄤ簬鍖哄垎鏄摢涓數璇�
isSipRegistering: true, // SIP娉ㄥ唽鐘舵��
@@ -1212,11 +1375,35 @@
isEndingCall: false,
CaldialogVisible: false,
currentCall: null, // 褰撳墠閫氳瘽瀵硅薄
+ serviceStates: 6,
+ serviceState: [
+ {
+ value: 2,
+ label: "寰呴殢璁�",
+ },
+ {
+ value: 3,
+ label: "琛ㄥ崟宸插彂閫�",
+ },
+ {
+ value: 5,
+ label: "鍙戦�佸け璐�",
+ },
+ {
+ value: 6,
+ label: "宸插畬鎴�",
+ },
+ {
+ value: 4,
+ label: "涓嶆墽琛�",
+ },
+ ],
// 鏂板鍔熻兘鏁版嵁
showPatientInfo: true,
showContinuationCareBtn: false, // 鎺у埗寤剁画鎶ょ悊鎸夐挳鏄剧ず
// 璺敱鐩戝惉鐩稿叧
routeWatcher: null,
+
lastRoutePath: this.$route.path,
input: "浠婂ぉ韬綋杩樹笉閿�",
radio: "2",
@@ -1257,6 +1444,14 @@
label: "鍏朵粬",
value: "7",
},
+ ],
+ quickContents: [
+ "鐥呮儏绋冲畾锛岀户缁綋鍓嶆不鐤�",
+ "鎮h�呭凡姝讳骸",
+ "鎮h�呬笉闇�瑕侀殢璁�",
+ "鎸夋椂鏈嶈嵂锛屾敞鎰忎紤鎭�",
+ "楗娓呮贰锛屽繉杈涜荆",
+ "棰勭害涓嬫澶嶈瘖",
],
tableDatatop: [], //棰樼洰琛�
voiceDatatop: [], //棰樼洰琛�
@@ -1353,56 +1548,6 @@
// 绂佺敤浠婂ぉ鍙婁箣鍓嶇殑鏃ユ湡
return time.getTime() < Date.now() - 24 * 60 * 60 * 1000;
},
- // shortcuts: [
- // {
- // text: "涓冨ぉ鍚�",
- // onClick(picker) {
- // const date = new Date();
- // date.setTime(date.getTime() + 3600 * 1000 * 24 * 7);
- // picker.$emit("pick", date);
- // },
- // },
- // {
- // text: "15澶╁悗",
- // onClick(picker) {
- // const date = new Date();
- // date.setTime(date.getTime() + 3600 * 1000 * 24 * 15);
- // picker.$emit("pick", date);
- // },
- // },
- // {
- // text: "涓�涓湀鍚�",
- // onClick(picker) {
- // const date = new Date();
- // date.setTime(date.getTime() + 3600 * 1000 * 24 * 30);
- // picker.$emit("pick", date);
- // },
- // },
- // {
- // text: "涓変釜鏈堝悗",
- // onClick(picker) {
- // const date = new Date();
- // date.setTime(date.getTime() + 3600 * 1000 * 24 * 90);
- // picker.$emit("pick", date);
- // },
- // },
- // {
- // text: "鍏釜鏈堝悗",
- // onClick(picker) {
- // const date = new Date();
- // date.setTime(date.getTime() + 3600 * 1000 * 24 * 180);
- // picker.$emit("pick", date);
- // },
- // },
- // {
- // text: "涓�骞村悗",
- // onClick(picker) {
- // const date = new Date();
- // date.setTime(date.getTime() + 3600 * 1000 * 24 * 365);
- // picker.$emit("pick", date);
- // },
- // },
- // ],
},
options: [
{
@@ -1488,6 +1633,9 @@
this.Voicetype = this.$route.query.Voicetype;
this.visitCount = this.$route.query.visitCount;
this.serviceType = this.$route.query.serviceType;
+ this.visitAgain = store.getters.visitAgain;
+ console.log(store.getters.visitAgain);
+
this.orgname = localStorage.getItem("orgname");
if (this.orgname == "鐪佺珛鍚屽痉缈犺嫅闄㈠尯") {
this.showContinuationCareBtn = true;
@@ -1522,6 +1670,7 @@
];
}
this.getTaskservelist();
+ this.getconfigKey();
},
mounted() {
// 鐩戝惉瀛愮粍浠剁殑sipStatus灞炴�у彉鍖�
@@ -1552,8 +1701,6 @@
methods: {
// 鑾峰彇涓婚鏍峰紡绫�
getTopicClass(item) {
- console.log(item.isabnormal, "getTopicClass");
-
// 鏍规嵁鐘舵�佸�艰繑鍥炲搴旂殑鏍峰紡绫�
if (item.isabnormal == 1) {
return "scriptTopic-isabnormal"; // 寮傚父 - 绾㈣壊
@@ -1563,7 +1710,29 @@
return "scriptTopic-dev"; // 姝e父 - 榛樿鏍峰紡
}
},
-
+ getconfigKey() {
+ getconfigKey("default.value.icon").then((res) => {
+ if (res.msg) {
+ if (
+ this.getAssignArr(res.msg).includes(this.$store.state.user.name) ||
+ this.$store.state.user.name == "admin"
+ ) {
+ this.defaultKey = true;
+ } else {
+ this.defaultKey = false;
+ }
+ }
+ });
+ },
+ getAssignArr(rule) {
+ let arr = [];
+ let assiginArr = rule.split(",");
+ for (let i = 0; i < assiginArr.length; i++) {
+ arr[i] = assiginArr[i];
+ }
+ arr.sort(this.compare);
+ return arr;
+ },
// 鑾峰彇閫夐」鏍峰紡绫�
getOptionClass(items) {
if (items.isabnormal == 1) {
@@ -1572,6 +1741,29 @@
return "yellow-star"; // 璀﹀憡 - 榛勮壊鏄熷彿
}
return ""; // 姝e父 - 鏃犵壒娈婃牱寮�
+ },
+ insertText(text) {
+ const textarea = this.$refs.textareaRef;
+ console.log(textarea);
+
+ if (!textarea) return;
+
+ const target = textarea.$el.querySelector("textarea");
+ const start = target.selectionStart;
+ const end = target.selectionEnd;
+ const original = this.form.remark;
+ console.log(original, 11);
+
+ // 鍦ㄥ厜鏍囧鎻掑叆锛屽苟鏇存柊鍏夋爣浣嶇疆
+ this.form.remark =
+ original.substring(0, start) + text + original.substring(end);
+
+ // 淇濇寔鐒︾偣骞剁Щ鍔ㄥ厜鏍囧埌鎻掑叆鍐呭鍚�
+ this.$nextTick(() => {
+ target.focus();
+ const newPos = start + text.length;
+ target.setSelectionRange(newPos, newPos);
+ });
},
// 鑾峰彇闂嵎鏁版嵁
getsearchrResults(id) {
@@ -1596,13 +1788,15 @@
this.tableDatatop = res.data.scriptResult;
this.tableDatatop.forEach((item) => {
- if (item.scriptType == 2) item.scriptResult = [];
if (item.scriptResultId && item.scriptType != 2) {
item.isoption = 3;
item.scriptResult = item.scriptResult;
} else if (item.scriptResultId && item.scriptType == 2) {
+ console.log(item.scriptResult, "item.scriptResult");
item.scriptResult = item.scriptResult.split("&");
item.isoption = 3;
+ } else if (!item.scriptResultId && item.scriptType == 2) {
+ item.scriptResult = [];
}
});
this.taskname = res.data.taskName;
@@ -1611,8 +1805,25 @@
});
},
//鎮h��360璺宠浆
- gettoken360(sfzh, drcode, drname) {
- // this.$modal.msgWarning("360鍔熻兘鏆傛湭寮�閫�");
+ gettoken360(sfzh, drcode, drname, id) {
+ const orgname = localStorage.getItem("orgname");
+ if (orgname == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌") {
+ query360PatInfonh(id).then((res) => {
+ if (res.data) {
+ window.open(res.data, "_blank");
+ } else {
+ this.$modal.msgWarning("360鏌ヨ鏃犵粨鏋�");
+ }
+ });
+ return;
+ } else if (
+ orgname == "绗竴浜烘皯鍖婚櫌婀栨花闄㈠尯" ||
+ orgname == "绗竴浜烘皯鍖婚櫌鍚村北闄㈠尯"
+ ) {
+ let url = `http://192.200.81.189:9100/blj/view?BINGRENID=${id}&YONGHUID=DBA`;
+ window.open(url, "_blank");
+ return;
+ }
this.postData.YeWuXX.BingRenXX.ZhengJianHM = sfzh;
@@ -1726,7 +1937,7 @@
if (item.targetvalue) {
item.scriptResult = item.targetvalue.split("&");
} else {
- item.scriptResult = [];
+ item.scriptResult = item.asrtext;
}
});
@@ -1742,19 +1953,19 @@
if (res.code == 200) {
this.tableDatatop = res.data.ivrTaskTemplateScriptVOList;
this.tableDatatop.forEach((item) => {
+ item.scriptID = item.id;
item.id = null;
// 绫诲瀷鍒ゆ柇璧嬪��
- if (item.ivrTaskScriptTargetoptionList) {
+ if (item.ivrTaskScriptTargetoptionList.length) {
item.targetvalue = 1;
item.questiontext = item.scriptContent;
+
item.targetvalue = item.ivrTaskScriptTargetoptionList
.map((obj) => obj.targetvalue)
.join("&");
}
if (item.targetvalue) {
item.scriptResult = item.targetvalue.split("&");
- } else {
- item.scriptResult = [];
}
});
}
@@ -1762,16 +1973,18 @@
},
// 鍖绘姢浜哄憳瀛樺偍鏁版嵁
getdetail() {
+ console.log(1);
let excep = "";
- const promises = [];
+
+ // 鍏堝鐞� tableDatatop 涓殑鏁版嵁
this.tableDatatop.forEach((item) => {
if (item.valueType == 3 && item.scriptResult) {
- // 楠岃瘉鏄惁涓烘湁鏁堟暟瀛�
if (!/^\d+$/.test(item.scriptResult)) {
this.$message.error(`闂 "${item.scriptContent}" 蹇呴』杈撳叆鏁板瓧`);
return;
}
}
+
var objs = item.svyTaskTemplateTargetoptions.find(
(items) => items.optioncontent == item.scriptResult
);
@@ -1782,77 +1995,77 @@
this.selectedTag = objs.isabnormal;
}
}
- console.log(excep, "excep");
- let obj = {
- asrtext: null,
- patid: this.patid,
- subId: this.id,
- taskid: this.taskid,
- scriptid: item.id,
- excep: excep,
- questiontext: item.scriptContent,
- categoryid: item.categoryid,
- answerps: item.answerps || null, // 娣诲姞闄勫姞淇℃伅
- };
- if (item.scriptType == 2 && item.scriptResult[0]) {
- obj.asrtext = item.scriptResult.join("&");
+ // 澶勭悊 scriptResult锛岀洿鎺ヤ慨鏀瑰師濮嬫暟鎹�
+ if (item.scriptType == 2 && item.scriptResult) {
+ // 澶勭悊鏁扮粍绫诲瀷鐨� scriptResult
+ if (Array.isArray(item.scriptResult)) {
+ item.originalScriptResult = item.scriptResult; // 淇濆瓨鍘熷鏁扮粍锛堝彲閫夛級
+ item.scriptResult = item.scriptResult.join("&"); // 杞崲涓哄瓧绗︿覆
+ }
} else if (item.scriptType != 2 && item.scriptResult) {
- obj.asrtext = item.scriptResult;
- }
-
- if (item.isoption == 3) {
- promises.push(serviceSubtaskDetailedit(obj));
- } else {
- promises.push(serviceSubtaskDetailadd(obj));
+ // 纭繚闈炴暟缁勭被鍨嬪凡缁忔槸瀛楃涓�
+ if (Array.isArray(item.scriptResult)) {
+ item.originalScriptResult = item.scriptResult; // 淇濆瓨鍘熷鏁扮粍锛堝彲閫夛級
+ item.scriptResult =
+ item.scriptResult.length > 0 ? item.scriptResult[0] : "";
+ }
}
});
- // 浣跨敤 Promise.all 绛夊緟鎵�鏈夊紓姝ユ搷浣滃畬鎴�
- Promise.all(promises)
- .then((results) => {
- // 鎵�鏈夊紓姝ユ搷浣滄垚鍔熷畬鎴愬悗鐨勯�昏緫
- results.forEach((res) => {
- if (res.code !== 200) {
- this.$modal.error("淇敼澶辫触");
- }
- });
- this.Editsingletasksonyic(6);
- const orgName = localStorage.getItem("orgname");
- console.log(orgName, "orgName");
+ // 鍒涘缓鍓湰鐢ㄤ簬淇濆瓨锛岄伩鍏嶅奖鍝嶆樉绀�
+ const saveData = this.tableDatatop.map((item) => ({
+ ...item,
+ // 濡傛灉闇�瑕侊紝鍙互鍦ㄨ繖閲屽仛鏈�鍚庣殑鏁版嵁娓呯悊
+ scriptResult: item.scriptResult || "", // 纭繚涓嶄负 undefined
+ }));
- if (this.form.isVisitAgain != 1 || orgName == "涓芥按甯備腑鍖婚櫌") {
+ let obj = {
+ svyTaskTemplateScriptVOS: saveData, // 浣跨敤澶勭悊鍚庣殑鏁版嵁
+ param1: this.taskid,
+ param2: this.patid,
+ param6: this.id,
+ type: 2,
+ };
+ savequestiondetail(obj).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
+ this.Editsingletasksonyic(this.serviceStates);
+ const orgName = localStorage.getItem("orgname");
+
+ if (
+ this.form.isVisitAgain != 1 ||
+ orgName == "涓芥按甯備腑鍖婚櫌" ||
+ this.visitAgain == 1
+ ) {
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();
- });
- })
- .catch((error) => {
- // 濡傛灉鏈変换浣曚竴涓紓姝ユ搷浣滃け璐ワ紝浼氳繘鍏ヨ繖閲�
- console.error("鍙戠敓閿欒锛�", error);
- });
+ // 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();
+ // });
+ }
+ });
},
Torouter() {
if (this.form.serviceType == 13) {
@@ -1909,12 +2122,93 @@
};
}
},
+ handleTemplateSelect(templateData) {
+ console.log("閫夋嫨浜嗘ā鏉�:", templateData);
+ // 澶勭悊妯℃澘閫夋嫨閫昏緫
+ let templateobj = templateData.templateData;
+ templateobj.templateid = templateobj.svyid;
+ templateobj.taskid = this.form.taskid;
+ templateobj.isoperation = 1;
+ templateobj.svyTaskTemplateScriptVOS = templateobj.svyTemplateLibScripts;
+ templateobj.svyTaskTemplateScriptVOS.forEach((item) => {
+ item.taskid = this.form.taskid;
+ item.templateid = item.svyid;
+ item.svyTaskTemplateTargetoptions = item.svyLibTemplateTargetoptions;
+ });
+ let obj = {
+ subId: this.form.id,
+ svyTaskTemplateVO: templateobj,
+ };
+ updateTemplate(obj).then((res) => {
+ if (res.code) {
+ location.reload();
+ this.$modal.msgSuccess("妯℃澘淇敼鎴愬姛");
+ } else {
+ }
+ });
+ },
+
+ handleTemplateClear() {
+ console.log("娓呴櫎浜嗘ā鏉块�夋嫨");
+ },
+ smsSubTask() {
+ this.$modal
+ .confirm("鏄惁鍚戞偅鑰呴�氳繃鐭俊鎺ㄩ�佹枃浠跺唴瀹癸紵")
+ .then(() => {
+ console.log(11, this.id);
+
+ smsSubTask(this.id).then((res) => {
+ console.log(11);
+
+ if (res.code) {
+ this.$modal.msgSuccess("鏂囦欢宸查�氳繃鐭俊鎺ㄩ�佺粰鎮h��");
+ } else {
+ }
+ });
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ },
+ handleConfirmReplace() {
+ // 閬嶅巻鎵�鏈夐鐩紙tableDatatop锛�
+ this.tableDatatop.forEach((item) => {
+ // 鍙鐞嗘湭濉姤鐨勯鐩紙scriptResult 涓虹┖鎴栫┖鏁扮粍锛�
+ if (
+ !item.scriptResult ||
+ (Array.isArray(item.scriptResult) && item.scriptResult.length === 0)
+ ) {
+ // 鏌ユ壘閫夐」涓� defaultValue 涓� 2 鐨勯�夐」
+ const defaultOption = item.svyTaskTemplateTargetoptions?.find(
+ (opt) => opt.defaultValue == 2
+ );
+ console.log(item);
+
+ if (defaultOption) {
+ // 鏍规嵁棰樼洰绫诲瀷璧嬪��
+ if (item.scriptType === "1") {
+ // 鍗曢�夐锛氱洿鎺ヨ祴鍊间负 optioncontent 瀛楃涓�
+ item.scriptResult = defaultOption.optioncontent;
+ } else if (item.scriptType === "2") {
+ // 澶氶�夐锛氳祴鍊间负鍖呭惈 optioncontent 鐨勬暟缁�
+ item.scriptResult = [defaultOption.optioncontent];
+ } else if (item.scriptType === "4") {
+ // 濉┖棰橈細涓�鑸病鏈夐�夐」锛屼絾濡傛灉鏈夊垯璧嬪��
+ item.scriptResult = defaultOption.optioncontent;
+ }
+
+ // 瑙﹀彂瑙嗗浘鏇存柊锛堝洜涓� Vue 鍙兘鏃犳硶妫�娴嬪埌娣卞眰宓屽瀵硅薄鐨勫彉鍖栵級
+ this.$forceUpdate();
+ }
+ }
+ });
+ },
// 浣跨敤绀轰緥
isValidPhone(phone) {
return this.validatePhoneNumber(phone).isValid;
},
- handleCall(phone, type) {
- if (!this.isValidPhone(phone)) {
+ handleCall(phone, type, dh) {
+ if (!this.isValidPhone(phone) && !dh) {
this.$message.error("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
return;
}
@@ -1984,61 +2278,79 @@
},
yuyingetdetail() {
const dataToSubmit = JSON.parse(JSON.stringify(this.tableDatatop));
- console.log(dataToSubmit, "dataToSubmit");
- // return;
+
dataToSubmit.forEach((item, index) => {
// 瀵规嫹璐濈殑鏁版嵁杩涜鎿嶄綔锛屼笉褰卞搷鍘熷鐨� scriptResult 鏁扮粍
- item.scriptResult = item.scriptResult.join("&");
+ if (item.targetvalue) {
+ item.scriptResult = item.scriptResult.join("&");
+ item.asrtext = item.matchedtext;
+ item.ivrtext = item.matchedtext;
+ } else {
+ item.asrtext = item.scriptResult;
+ item.ivrtext = item.scriptResult;
+ }
item.templatequestionnum = index + 1;
item.subId = this.id;
+
item.taskid = this.taskid;
- item.asrtext = item.matchedtext;
if (!item.id) {
item.isoperation = 1;
}
item.patid = this.patid;
item.templateid = item.templateID;
+ if (item.nextScriptno == null) {
+ item.nextScriptno = index == dataToSubmit.length - 1 ? 0 : index + 2;
+ }
});
+ console.log("c", 3);
let obj = {
- serviceSubtaskDetailList: dataToSubmit, // 鎻愪氦澶勭悊鍚庣殑鍓湰
+ ivrTaskTemplateScriptVOList: dataToSubmit, // 鎻愪氦澶勭悊鍚庣殑鍓湰
param1: this.taskid,
param2: this.patid,
- subId: this.id,
+ param6: this.id,
+ type: 1,
};
+ console.log("c", 4);
const orgName = localStorage.getItem("orgname");
console.log(orgName, "orgName");
- if (this.form.isVisitAgain != 1 || orgName == "涓芥按甯備腑鍖婚櫌") {
+ if (
+ this.form.isVisitAgain != 1 ||
+ orgName == "涓芥按甯備腑鍖婚櫌" ||
+ this.visitAgain == 1
+ ) {
this.Torouter();
return;
}
- addPersonVoices(obj).then((res) => {
+ 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();
+ // });
}
});
},
@@ -2074,15 +2386,19 @@
this.form = res.rows[0].serviceSubtaskList.find(
(item) => item.id == this.id
);
- console.log(this.form, "serviceType");
+ console.log(this.form.templatename, "templatename");
+ this.form.remark = this.form.remark || "";
this.logsheetlist = res.rows[0].serviceSubtaskList;
this.templateid = this.form.templateid;
this.selectedTag = this.form.excep;
const targetDate = new Date(this.form.visitTime); // 鐩爣鏃ユ湡
const now = new Date(); // 褰撳墠鏃堕棿
+ console.log(now, "褰撳墠鏃堕棿");
+ console.log(targetDate, "鐩爣鏃ユ湡");
+
if (now < targetDate && this.form.sendstate == 2) {
- this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", {
+ this.$confirm("褰撳墠鏈嶅姟鏈埌闅忚鏃堕棿璇疯皑鎱庝慨鏀�", "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning",
@@ -2136,6 +2452,9 @@
if (res.code == 200) {
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) {
this.$modal.msgSuccess("鏈嶅姟璁板綍鎴愬姛");
@@ -2174,6 +2493,16 @@
});
}
});
+ },
+ alterpatient(sendstate) {
+ this.Editsingletasksonyic(this.serviceStates);
+ // alterpatient(this.userform).then((res) => {
+ // if (res.code == 200) {
+ // this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛");
+ // } else {
+ // this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触");
+ // }
+ // });
},
// 寮傚父鍒楁覆鏌�
tableRowClassName({ row, rowIndex }) {
@@ -2259,35 +2588,7 @@
})
.catch(() => {});
},
- aahandleOptionChange(a, b, c) {
- const result = c.find((item) => item.optioncontent == a);
- if (result.nextQuestion == 0) {
- this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
- acc.push(i > b ? { ...item, astrict: 1 } : item);
- return acc;
- }, []);
- } else {
- this.tableDatatop = this.tableDatatop.reduce((acc, item, i) => {
- acc.push(i > b ? { ...item, astrict: 0 } : item);
- return acc;
- }, []);
- }
- if (this.Voicetype) {
- var obj = this.tableDatatop[b].ivrTaskScriptTargetoptionList.find(
- (item) => item.optioncontent == a
- );
- } else {
- var obj = this.tableDatatop[b].svyTaskTemplateTargetoptions.find(
- (item) => item.optioncontent == a
- );
- }
- if (obj.isabnormal) {
- this.tableDatatop[b].isabnormal = true;
- } else {
- this.tableDatatop[b].isabnormal = false;
- }
- this.$forceUpdate();
- },
+
handleRadioToggles(questionItem, optionValue) {
if (!questionItem.matchedtext) {
questionItem.matchedtext == "";
@@ -2346,7 +2647,13 @@
this.tableDatatop[questionIndex].showAppendInput =
selectedOptionObj.appendflag == 1;
console.log(this.tableDatatop);
-
+ if (
+ selectedOptionObj.nextQuestion !== undefined &&
+ selectedOptionObj.nextQuestion !== null
+ ) {
+ this.tableDatatop[questionIndex].nextScriptno =
+ selectedOptionObj.nextQuestion;
+ }
// if (!this.tableDatatop[questionIndex].showAppendInput) {
// this.tableDatatop[questionIndex].answerps = ""; // 娓呴櫎闄勫姞淇℃伅
// }
@@ -2416,7 +2723,6 @@
hiddenByEnd: index === questionIndex + 1 ? false : item.hiddenByEnd,
}));
}
- 2;
this.$forceUpdate();
},
@@ -2588,13 +2894,37 @@
// console.log(11);
// },
beforeRouteLeave(to, from, next) {
- this.$refs.callButton.cleanupResources();
- if (this.$refs.CallCenterLs) {
- console.log(1);
+ const callButton = this.$refs.callButton;
- this.$refs.CallCenterLs.handleSeatLogout();
+ // 濡傛灉瀛樺湪鍛煎彨缁勪欢涓旀鍦ㄩ�氳瘽涓�
+ 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();
}
- next(); // 纭繚璋冪敤 nex
},
// beforeRouteUpdate() {
// console.log(33);
@@ -2924,6 +3254,7 @@
.dev-text {
margin-bottom: 10px;
+ display: flex;
}
}
}
--
Gitblit v1.9.3