From 2a39af937f29471dab27b152dfae2b1fc28b32d6 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 01 十一月 2024 18:45:29 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/record/detailpage/index.vue | 642 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 609 insertions(+), 33 deletions(-)
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index ad484bd..93964f2 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -1,48 +1,320 @@
<template>
+ <!-- 鑱婅繛椤甸潰璁板綍 -->
<div class="Followupdetailspage">
<div class="Followuserinfo">
- <div class="userinfo-text">闅忚璇︽儏</div>
- <div class="userinfo-value">
- <span><i class="el-icon-user-solid"></i>鍚撮緳</span><span>鐢�</span
- ><span><i class="el-icon-user-solid"></i>13803963330</span
- ><span>鍑洪櫌鏃堕棿锛�:2023-03-29 08:57:57</span>
+ <div>
+ <div class="userinfo-text">
+ <!-- <span>鎮h�呮湇鍔¤鎯�</span> -->
+ <div class="headline">
+ <div>鎮h�呮湇鍔¤鎯�</div>
+ <div style="margin-left: 20px">
+ <el-button
+ v-if="!Whetherall"
+ type="primary"
+ @click="getTaskservelist()"
+ >鏌ョ湅鎮h�呭叏閮ㄦ湇鍔�</el-button
+ >
+ <el-button v-else type="success" @click="getTaskservelist(taskid)"
+ >鏌ョ湅鎮h�呮湰娆℃湇鍔′俊鎭�</el-button
+ >
+ </div>
+ </div>
+ <!-- <el-button type="success">闅忚鍚庣煭淇�</el-button> -->
+ </div>
</div>
- <div><el-button type="success">闅忚鍚庣煭淇�</el-button></div>
+ <div>
+ <el-table :data="logsheetlist" style="width: 100%">
+ <el-table-column prop="sendname" align="center" label="濮撳悕">
+ </el-table-column>
+ <el-table-column prop="sendstate" align="center" label="鏈嶅姟鐘舵��">
+ <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>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="finishtime"
+ align="center"
+ label="瀹屾垚鏃堕棿"
+ width="200"
+ show-overflow-tooltip
+ >
+ </el-table-column>
+ <el-table-column
+ label="鍑洪櫌鏃ユ湡"
+ width="200"
+ align="center"
+ key="endtime"
+ prop="endtime"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.endtime) }}</span>
+ </template></el-table-column
+ >
+ <el-table-column
+ label="璐d换鎶ゅ+"
+ width="120"
+ align="center"
+ key="nurseName"
+ prop="nurseName"
+ />
+ <el-table-column
+ label="涓绘不鍖荤敓"
+ width="120"
+ align="center"
+ key="drname"
+ prop="drname"
+ />
+
+ <el-table-column
+ label="缁撴灉鐘舵��"
+ align="center"
+ key="excep"
+ prop="excep"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_yujing"
+ :value="scope.row.excep"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="澶勭悊鎰忚"
+ align="center"
+ key="suggest"
+ prop="suggest"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag
+ :options="dict.type.sys_suggest"
+ :value="scope.row.suggest"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="taskName"
+ align="center"
+ width="200"
+ show-overflow-tooltip
+ label="浠诲姟鍚嶇О"
+ >
+ </el-table-column>
+
+ <el-table-column
+ prop="templatename"
+ align="center"
+ label="鏈嶅姟妯℃澘"
+ width="200"
+ show-overflow-tooltip
+ >
+ </el-table-column>
+
+ <el-table-column
+ prop="bankcardno"
+ align="center"
+ label="鍛煎彨鐘舵��"
+ width="210"
+ >
+ </el-table-column>
+ <!-- <el-table-column
+ label="鎿嶄綔"
+ fixed="right"
+ align="center"
+ width="200"
+ class-name="small-padding fixed-width"
+ >
+ <template slot-scope="scope">
+ <el-button
+ size="medium"
+ type="text"
+ @click="Seedetails(scope.row)"
+ v-hasPermi="['system:user:edit']"
+ ><span class="button-zx"
+ ><i class="el-icon-s-order"></i>鏌ョ湅鏈嶅姟</span
+ ></el-button
+ >
+ </template>
+ </el-table-column> -->
+ </el-table>
+ </div>
+ </div>
+ <div class="Followuserinfo">
+ <div>
+ <div class="headline">
+ <div>浜哄伐澶勭悊鎰忚</div>
+ </div>
+ <div style="margin-left: 30px">
+ <el-button type="warning" @click="Editsingletaskson('1')"
+ >鏆備笉澶勭悊</el-button
+ >
+ <el-button type="success" @click="Editsingletaskson('2')"
+ >鐥呮儏绋冲畾</el-button
+ >
+ <el-button type="primary" @click="Editsingletaskson('3')"
+ >閫氱煡灏辫瘖</el-button
+ >
+ <!-- <el-button type="danger" @click="Editsingletaskson('4')"
+ >澶辫</el-button
+ > -->
+ <el-button type="info" @click="Editsingletaskson('5')"
+ >浜哄伐闅忚</el-button
+ >
+ </div>
+ </div>
</div>
<div>
<el-tabs type="border-card">
<el-tab-pane>
<span class="mulsz" slot="label"
- ><i class="el-icon-headset"></i> 璇煶璇︽儏1</span
+ ><i class="el-icon-notebook-1"></i> 闂嵎闅忚缁撴灉</span
>
- <div class="borderdiv">璇煶璇︽儏1</div>
+ <div class="CONTENT">
+ <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
+ <div class="preview-left">
+ <!-- 鍗曢�� -->
+ <div
+ class="topic-dev"
+ v-for="(item, index) in tableDatatop"
+ :key="item.aaa"
+ >
+ <div
+ :class="
+ item.isabnormal
+ ? 'scriptTopic-isabnormal'
+ : 'scriptTopic-dev'
+ "
+ :key="index"
+ v-if="item.scriptType == 1"
+ >
+ <div class="dev-text">
+ {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-radio-group
+ v-model="item.scriptResult"
+ @change="handleOptionChange($event, index, item)"
+ >
+ <el-radio
+ v-for="(
+ items, index
+ ) in item.svyLibTemplateTargetoptions"
+ :class="items.isabnormal ? 'red-star' : ''"
+ :key="index"
+ :label="items.optioncontent"
+ >{{ items.optioncontent }}</el-radio
+ >
+ </el-radio-group>
+ </div>
+ <div v-show="item.prompt">
+ <el-alert :title="item.prompt" type="warning"> </el-alert>
+ </div>
+ </div>
+ <!-- 澶氶�� -->
+ <div
+ :class="
+ item.isabnormal
+ ? 'scriptTopic-isabnormal'
+ : 'scriptTopic-dev'
+ "
+ :key="index"
+ v-if="item.scriptType == 2"
+ >
+ <div class="dev-text">
+ {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-checkbox-group
+ v-model="item.scriptResult"
+ @change="updateScore($event, index, item)"
+ >
+ <el-checkbox
+ :class="items.isabnormal ? 'red-star' : ''"
+ @change="$forceUpdate()"
+ v-for="(
+ items, indexs
+ ) in item.svyLibTemplateTargetoptions"
+ :key="indexs"
+ :label="items.optioncontent"
+ >
+ {{ items.optioncontent }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </div>
+ <div v-show="item.prompt && item.scriptResult[0]">
+ <el-alert :title="item.prompt" type="warning"> </el-alert>
+ </div>
+ </div>
+ <!-- 濉┖ -->
+ <div
+ class="scriptTopic-dev"
+ :key="index"
+ v-if="item.scriptType == 4"
+ >
+ <div class="dev-text">
+ {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-input
+ type="textarea"
+ :rows="2"
+ placeholder="璇疯緭鍏ョ瓟妗�"
+ v-model="item.scriptResult"
+ clearable
+ >
+ </el-input>
+ </div>
+ </div>
+ </div>
+ </div>
+ <el-button type="primary" @click="getdetail">淇濆瓨闂嵎</el-button>
+ </div>
</el-tab-pane>
<el-tab-pane>
<span class="mulsz" slot="label"
- ><i class="el-icon-headset"></i> 璇煶璇︽儏2</span
- >
- <div class="borderdiv">璇煶璇︽儏2</div>
- </el-tab-pane>
- <el-tab-pane>
- <span class="mulsz" slot="label"
- ><i class="el-icon-notebook-1"></i> 璇煶淇℃伅</span
- >
- <div class="borderdiv">璇煶淇℃伅</div>
- </el-tab-pane>
- <el-tab-pane>
- <span class="mulsz" slot="label"
- ><i class="el-icon-phone-outline"></i> 澶栧懠淇℃伅</span
- >
- <div class="borderdiv">澶栧懠淇℃伅</div>
- </el-tab-pane>
- <el-tab-pane>
- <span class="mulsz" slot="label"
- ><i class="el-icon-s-operation"></i> 鏍囩鐘舵��</span
+ ><i class="el-icon-headset"></i> 璇煶闅忚璇︽儏</span
>
<div class="borderdiv">
- <el-radio v-model="radio" label="1">涓嶅鐞�</el-radio>
- <el-radio v-model="radio" label="2">缁х画璺熻釜</el-radio
- ><el-radio v-model="radio" label="3">閫氱煡鍖婚櫌灏辫瘖</el-radio>
+ <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
+ <div class="preview-left">
+ <div class="leftside">
+ <i class="el-icon-phone-outline"></i
+ ><span>鎮ㄤ粖澶╄韩浣撴儏鍐垫�庝箞鏍�</span>
+ </div>
+ <div class="offside">
+ <i class="el-icon-user"></i>
+ <div class="offside-value">
+ <el-input v-model="input"></el-input>
+ <el-radio v-model="radio" label="1">寰堟</el-radio>
+ <el-radio v-model="radio" label="2">杩樺彲浠�</el-radio>
+ <el-radio v-model="radio" label="3">涓嶅お濂�</el-radio>
+ <el-radio v-model="radio" label="4">姣旇緝宸�</el-radio>
+ <div>
+ <mini-audio
+ :audio-source="
+ topicobj.ivrVoice
+ ? topicobj.ivrVoice
+ : 'https://example.com/example.mp3'
+ "
+ ></mini-audio>
+ </div>
+ </div>
+ </div>
+ </div>
+ <el-button type="primary" @click="getdetail">淇濆瓨闅忚璇︽儏</el-button>
</div>
</el-tab-pane>
</el-tabs>
@@ -51,28 +323,233 @@
</template>
<script>
+import {
+ getsearchrResults,
+ getTaskservelist,
+ Editsingletaskson,
+ serviceSubtaskDetailedit,
+ serviceSubtaskDetailadd,
+} from "@/api/AiCentre/index";
export default {
+ dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
data() {
return {
radio: "1",
userid: "",
+ input: "浠婂ぉ韬綋杩樹笉閿�",
+ radio: "2",
+ taskname: "",
+ tableDatatop: [], //棰樼洰琛�
+ Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず
+ logsheetlist: [],
+ topicobj:{},
+ sendname: null,
+ serviceType: null,
+ id: null,
+ taskid: null,
+ patid: null,
};
},
- created() {},
+ created() {
+ this.taskid = this.$route.query.taskid;
+ this.id = this.$route.query.id;
+ this.sendname = this.$route.query.sendname;
+ this.patid = this.$route.query.patid;
+ this.serviceType = this.$route.query.serviceType;
+ this.getsearchrResults();
+ this.getTaskservelist(this.taskid);
+ },
- methods: {},
+ methods: {
+ // 鑾峰彇闂嵎鏁版嵁
+ getsearchrResults() {
+ getsearchrResults({
+ taskid: this.taskid,
+ patid: this.patid,
+ subId: this.id,
+ isFinish:false,
+ }).then((res) => {
+ if (res.code === 200) {
+ this.tableDatatop = res.data.scriptResult.script;
+ this.tableDatatop.forEach((item) => {
+ if (item.scriptResult && item.scriptType != 2) {
+ item.isoption = 3;
+ item.scriptResult = JSON.parse(item.scriptResult);
+ } else if (item.scriptResult && item.scriptType == 2) {
+ item.scriptResult = item.scriptResult.split("&");
+ item.isoption = 3;
+ }
+ });
+ this.taskname = res.data.taskName;
+ this.overdata();
+ }
+ });
+ },
+ // 鍖绘姢浜哄憳瀛樺偍鏁版嵁
+ getdetail() {
+ let excep = "";
+ this.tableDatatop.forEach((item) => {
+ var objs = item.svyLibTemplateTargetoptions.find(
+ (items) => items.optioncontent == item.scriptResult
+ );
+
+ if (objs.isabnormal) {
+ excep = 1;
+ }
+
+ let obj = {
+ asrtext: null,
+ patid: this.patid,
+ subId: this.id,
+ taskid: this.taskid,
+ scriptid: item.id,
+ questiontext: item.scriptContent,
+ };
+ if (item.scriptType == 2 && item.scriptResult[0]) {
+ obj.asrtext = item.scriptResult.join("&");
+ } else if (item.scriptType != 2 && item.scriptResult) {
+ obj.asrtext = JSON.stringify(item.scriptResult);
+ }
+
+ if (item.isoption == 3) {
+ serviceSubtaskDetailedit(obj).then((res) => {
+ if (res.code == 200) {
+ } else {
+ this.$modal.error("淇敼澶辫触");
+ }
+ });
+ } else {
+ serviceSubtaskDetailadd(obj).then((res) => {
+ if (res.code == 200) {
+ console.log(res);
+ } else {
+ this.$modal.error("淇敼澶辫触");
+ }
+ });
+ }
+ });
+ this.Editsingletasksonyic(excep);
+ },
+ // 鑾峰彇鎮h�呰褰�
+ getTaskservelist(taskid) {
+ this.taskid = taskid;
+ if (taskid) {
+ this.Whetherall = false;
+ } else {
+ this.Whetherall = true;
+ }
+ getTaskservelist({
+ patid: this.patid,
+ taskid: taskid,
+ }).then((res) => {
+ if (res.code == 200) {
+ this.logsheetlist = res.rows[0].serviceSubtaskList;
+ }
+ });
+ },
+ Editsingletaskson(son) {
+ let objson = {};
+ getTaskservelist({
+ patid: this.patid,
+ taskid: this.taskid,
+ }).then((res) => {
+ if (res.code == 200) {
+ objson = res.rows[0];
+ objson.suggest = son;
+ Editsingletaskson(objson).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("璁板綍鎴愬姛");
+ this.getTaskservelist(this.taskid);
+ }
+ });
+ }
+ });
+ },
+ Editsingletasksonyic(excep) {
+ let objson = {};
+ getTaskservelist({
+ patid: this.patid,
+ taskid: this.taskid,
+ }).then((res) => {
+ if (res.code == 200) {
+ objson = res.rows[0].serviceSubtaskList[0];
+ console.log(objson,'obj');
+
+ objson.excep = excep;
+ Editsingletaskson(objson).then((res) => {
+ if (res.code) {
+ this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛");
+ this.getTaskservelist(this.taskid);
+ }
+ });
+ }
+ });
+ },
+ // 鏇存敼寮傚父鐘舵��
+ Seedetails(row) {
+ this.$modal
+ .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + optionids + '"鐨勬湇鍔¢」锛�')
+ .then(function () {})
+ .then(() => {
+ this.getList();
+ })
+ .catch(() => {});
+ },
+ handleOptionChange(a, b, c) {
+ var obj = this.tableDatatop[b].svyLibTemplateTargetoptions.find(
+ (item) => item.optioncontent == a
+ );
+ if (obj.isabnormal) {
+ this.tableDatatop[b].isabnormal = true;
+ } else {
+ this.tableDatatop[b].isabnormal = false;
+ }
+ this.$forceUpdate();
+ },
+ overdata() {
+ this.tableDatatop.forEach((item, index) => {
+ console.log(item.svyLibTemplateTargetoptions);
+
+ var obj = item.svyLibTemplateTargetoptions.find(
+ (items) => items.optioncontent == item.scriptResult
+ );
+ if (obj) {
+ if (obj.isabnormal) {
+ this.tableDatatop[index].isabnormal = true;
+ } else {
+ this.tableDatatop[index].isabnormal = false;
+ }
+ this.$forceUpdate();
+ }
+ });
+ },
+
+ updateScore(a, b, c) {
+ console.log(a);
+ console.log(b);
+ console.log(c);
+ },
+ },
};
</script>
<style lang="scss" scoped>
+.Followupdetailspage {
+ margin: 10px;
+}
.Followuserinfo {
margin: 20px 10px;
- display: flex;
align-items: center;
+ 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);
.userinfo-text {
font-size: 20px;
margin-right: 20px;
+ margin-bottom: 10px;
}
.userinfo-value {
color: rgb(15, 139, 211);
@@ -83,6 +560,105 @@
}
.borderdiv {
min-height: 60vh;
+ font-size: 20px;
+ padding: 30px;
+ .title {
+ font-size: 22px;
+ font-weight: bold;
+ margin-bottom: 20px;
+ text-align: center;
+ }
+ .leftside {
+ margin-bottom: 30px;
+ span {
+ width: 400px;
+ margin-left: 20px;
+ padding: 10px;
+ color: #fff;
+ background: rgb(110, 196, 247);
+ border-radius: 10px;
+ }
+ }
+ .offside {
+ display: flex;
+ flex-direction: row-reverse;
+ .offside-value {
+ padding: 10px;
+ background: rgb(217, 173, 253);
+ border-radius: 10px;
+ color: #fff;
+ margin-right: 20px;
+ }
+ }
+}
+.CONTENT {
+ padding: 10px;
+ .title {
+ font-size: 22px;
+ font-weight: bold;
+ margin-bottom: 20px;
+ text-align: center;
+ }
+}
+.preview-left {
+ margin: 20px;
+ // margin: 20px;
+ padding: 30px;
+ // background: #ffff;
+ border: 1px solid #dcdfe6;
+ -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+ 0 0 6px 0 rgba(0, 0, 0, 0.04);
+ .topic-dev {
+ margin-bottom: 25px;
+ font-size: 20px !important;
+ .dev-text {
+ margin-bottom: 10px;
+ }
+ }
+}
+.scriptTopic-isabnormal {
+ color: red;
+}
+.headline {
+ font-size: 24px;
+ height: 40px;
+ border-left: 5px solid #41a1be;
+ padding-left: 5px;
+ margin-bottom: 10px;
+ display: flex;
+ // justify-content: space-between;
+ .Add-details {
+ font-size: 18px;
+ color: #02a7f0;
+ cursor: pointer;
+ }
+}
+.red-star {
+ ::v-deep.el-radio__label {
+ position: relative;
+ padding-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁� */
+ }
+ ::v-deep.el-radio__label::after {
+ content: "*";
+ color: red;
+ position: absolute;
+ right: -5px; /* 鏍规嵁闇�瑕佽皟鏁� */
+ top: 0;
+ }
+ ::v-deep.el-checkbox__label {
+ position: relative;
+ padding-right: 10px; /* 鏍规嵁闇�瑕佽皟鏁� */
+ }
+ ::v-deep.el-checkbox__label::after {
+ content: "*";
+ color: red;
+ position: absolute;
+ right: -5px; /* 鏍规嵁闇�瑕佽皟鏁� */
+ top: 0;
+ }
+}
+::v-deep.offside-value .el-radio__label {
+ color: #fff;
}
.mulsz {
font-size: 25px;
--
Gitblit v1.9.3