From 0e3739a705a7d34b5ba7302e1ad08cffc3b9f6ca Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 09 六月 2025 17:20:33 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/record/detailpage/index.vue | 388 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 327 insertions(+), 61 deletions(-)
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 286c174..0abf723 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -32,7 +32,11 @@
</div>
</div>
<div>
- <el-table :data="logsheetlist" :row-class-name="tableRowClassName" style="width: 100%">
+ <el-table
+ :data="logsheetlist"
+ :row-class-name="tableRowClassName"
+ style="width: 100%"
+ >
<el-table-column
prop="sendname"
align="center"
@@ -372,7 +376,7 @@
: 'scriptTopic-dev'
"
:key="index"
- v-if="item.scriptType == 1"
+ v-if="item.scriptType == 1 && !item.astrict"
>
<div class="dev-text">
{{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
@@ -380,14 +384,20 @@
<div class="dev-xx">
<el-radio-group
v-model="item.scriptResult"
- @change="handleOptionChange($event, index, item)"
+ @change="
+ handleOptionChange(
+ $event,
+ index,
+ item.svyLibTemplateTargetoptions
+ )
+ "
>
<el-radio
v-for="(
- items, index
+ items, indexs
) in item.svyLibTemplateTargetoptions"
:class="items.isabnormal ? 'red-star' : ''"
- :key="index"
+ :key="indexs"
:label="items.optioncontent"
>{{ items.optioncontent }}</el-radio
>
@@ -405,7 +415,7 @@
: 'scriptTopic-dev'
"
:key="index"
- v-if="item.scriptType == 2"
+ v-if="item.scriptType == 2 && !item.astrict"
>
<div class="dev-text">
{{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
@@ -436,7 +446,7 @@
<div
class="scriptTopic-dev"
:key="index"
- v-if="item.scriptType == 4"
+ v-if="item.scriptType == 4 && !item.astrict"
>
<div class="dev-text">
{{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
@@ -612,26 +622,95 @@
v-model="form.endtime"
></el-input>
</el-form-item>
+ <div class="headline">涓婃闅忚</div>
+ <el-divider></el-divider>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="闅忚鏂瑰紡">
+ <el-select
+ v-model="form.visitType2"
+ filterable
+ allow-create
+ default-first-option
+ disabled
+ placeholder="璇烽�夋嫨闅忚鏂瑰紡"
+ class="custom-disabled"
+ >
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="闅忚鏃堕棿">
+ <el-date-picker
+ type="date"
+ disabled
+ placeholder="閫夋嫨鏃ユ湡"
+ :picker-options="pickerOptions"
+ align="right"
+ v-model="form.date2"
+ class="custom-disabled"
+ ></el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-form-item label="闅忚璁板綍">
+ <el-input
+ class="custom-disabled"
+ type="textarea"
+ disabled
+ v-model="form.remark2"
+ ></el-input>
+ </el-form-item>
+ <div class="headline">涓嬫闅忚</div>
+ <el-divider></el-divider>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="闅忚鏂瑰紡" prop="date1">
+ <el-select
+ v-model="form.visitType"
+ filterable
+ allow-create
+ default-first-option
+ @change="visitChange"
+ placeholder="璇烽�夋嫨闅忚鏂瑰紡"
+ >
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="闅忚鏃堕棿" prop="date1">
+ <el-date-picker
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ :picker-options="pickerOptions"
+ align="right"
+ v-model="form.date1"
+ ></el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
<el-form-item label="闅忚鏂瑰紡" prop="resource">
<el-radio-group v-model="form.resource">
<el-radio label="1">鏈梾鍖洪殢璁�</el-radio>
<el-radio label="2">闅忚涓績闅忚</el-radio>
</el-radio-group>
</el-form-item>
- <!-- <el-form-item label="鍗冲埢鍙戦��">
- <el-switch v-model="zcform.delivery"></el-switch>
- </el-form-item> -->
- <el-form-item label="闅忚鏃堕棿" prop="date1">
- <el-date-picker
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- :picker-options="pickerOptions"
- align="right"
- v-model="form.date1"
- style="width: 100%"
- ></el-date-picker>
- </el-form-item>
+
<el-form-item label="闅忚璁板綍">
<el-input type="textarea" v-model="form.remark"></el-input>
</el-form-item>
@@ -676,19 +755,17 @@
activeName: "wj",
voice: "",
templateid: "",
- again:'',
+ again: "",
zcform: {},
form: {},
tableDatatop: [], //棰樼洰琛�
voiceDatatop: [], //棰樼洰琛�
dynamicTags: [],
zcrules: {
- date1: [
+ resource: [
{ required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" },
],
- resource: [
- { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" },
- ],
+ date1: [{ required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" }],
},
url: "http://9.208.2.190:8090/smartor/serviceExternal/query360PatInfo",
postData: {
@@ -725,33 +802,88 @@
},
},
pickerOptions: {
- shortcuts: [{
- text: '涓冨ぉ鍚�',
+ shortcuts: [
+ {
+ text: "涓冨ぉ鍚�",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() + 3600 * 1000 * 24 * 7);
- picker.$emit('pick', date);
- }
- }, {
- text: '15澶╁悗',
+ 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: '30澶╁悗',
+ 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);
- }
- }]
+ 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: [
+ {
+ value: "涓冨ぉ鍚�",
+ label: "涓冨ぉ鍚�",
},
+ {
+ value: "15澶╁悗",
+ label: "15澶╁悗",
+ },
+ {
+ value: "涓�涓湀鍚�",
+ label: "涓�涓湀鍚�",
+ },
+ {
+ value: "涓変釜鏈堝悗",
+ label: "涓変釜鏈堝悗",
+ },
+ {
+ value: "鍏釜鏈堝悗",
+ label: "鍏釜鏈堝悗",
+ },
+ {
+ value: "涓�骞村悗",
+ label: "涓�骞村悗",
+ },
+ ],
userform: {},
Whetherall: true, //鏄惁鍏ㄩ儴璁板綍灞曠ず
dialogFormVisible: false,
Voicetype: 0, //鏄惁涓鸿闊虫湇鍔�
+ visitCount: null,
logsheetlist: [],
topicobj: {},
sendname: null,
@@ -769,6 +901,7 @@
this.patid = this.$route.query.patid;
this.again = this.$route.query.again;
this.Voicetype = this.$route.query.Voicetype;
+ this.visitCount = this.$route.query.visitCount;
this.serviceType = this.$route.query.serviceType;
this.getTaskservelist();
@@ -784,17 +917,25 @@
isFinish: false,
}).then((res) => {
if (res.code === 200) {
- if (this.again&&res.data.upScriptResult) {
- this.tableDatatop = res.data.upScriptResult;
- }else{
- this.tableDatatop = res.data.scriptResult;
+ // 閽堝鍐嶆闅忚鏈嶅姟杩涜鍒犻櫎缁撴灉璧嬪��
+ if (this.again && res.data.upScriptResult) {
+ res.data.upScriptResult.forEach((itemA) => {
+ const itemB = res.data.scriptResult.find(
+ (item) => item.scriptContent === itemA.scriptContent
+ );
+ if (itemB) {
+ itemB.scriptResult = itemA.scriptResult;
+ }
+ });
}
+ this.tableDatatop = res.data.scriptResult;
+
this.tableDatatop.forEach((item) => {
if (item.scriptType == 2) item.scriptResult = [];
- if (item.scriptResult && item.scriptType != 2) {
+ if (item.scriptResultId && item.scriptType != 2) {
item.isoption = 3;
item.scriptResult = item.scriptResult;
- } else if (item.scriptResult && item.scriptType == 2) {
+ } else if (item.scriptResultId && item.scriptType == 2) {
item.scriptResult = item.scriptResult.split("&");
item.isoption = 3;
}
@@ -842,6 +983,25 @@
}
});
},
+ // 鍐嶆闅忚鏃堕棿閫夊彇
+ visitChange(value) {
+ // 鏍规嵁閫夋嫨鐨勯殢璁挎柟寮忚缃椂闂�
+ const now = new Date();
+ if (value.includes("涓冨ぉ鍚�")) {
+ this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 7);
+ } else if (value.includes("15澶╁悗")) {
+ this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 15);
+ } else if (value.includes("涓�涓湀鍚�")) {
+ this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 30);
+ } else if (value.includes("涓変釜鏈堝悗")) {
+ this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 90);
+ } else if (value.includes("鍏釜鏈堝悗")) {
+ this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 180);
+ } else if (value.includes("涓�骞村悗")) {
+ this.form.date1 = new Date(now.getTime() + 3600 * 1000 * 24 * 365);
+ }
+ },
+
// 鑾峰彇璇煶鏁版嵁
getPersonVoices(id) {
let obj = {
@@ -945,13 +1105,45 @@
.confirm(
'浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' +
this.logsheetlist[0].sendname +
- '"鍐嶆闅忚锛�'
+ '"鍐嶆闅忚锛�',
+ "纭",
+ {
+ 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(() => {});
+ .catch(() => {
+ if (this.form.serviceType == 13) {
+ if (this.visitCount) {
+ this.$router.push({
+ path: "/logisticsservice/zbAgain",
+ });
+ } else {
+ this.$router.push({
+ path: "/logisticsservice/record",
+ });
+ }
+ } else if (form.serviceType == 2) {
+ if (this.visitCount) {
+ this.$router.push({
+ path: "/followvisit/again",
+ });
+ } else {
+ this.$router.push({
+ path: "/followvisit/discharge",
+ });
+ }
+ }
+ });
})
.catch((error) => {
// 濡傛灉鏈変换浣曚竴涓紓姝ユ搷浣滃け璐ワ紝浼氳繘鍏ヨ繖閲�
@@ -983,17 +1175,56 @@
this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛");
this.$modal
.confirm(
- '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' + this.userform.name + '"鍐嶆闅忚锛�'
+ '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮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(() => {});
+ .catch(() => {
+ if (this.form.serviceType == 13) {
+ if (this.visitCount) {
+ this.$router.push({
+ path: "/logisticsservice/zbAgain",
+ });
+ } else {
+ this.$router.push({
+ path: "/logisticsservice/record",
+ });
+ }
+ } else if (form.serviceType == 2) {
+ if (this.visitCount) {
+ this.$router.push({
+ path: "/followvisit/again",
+ });
+ } else {
+ this.$router.push({
+ path: "/followvisit/discharge",
+ });
+ }
+ }
+ });
}
});
},
-
+ // 鍐嶆闅忚鏁版嵁鏇存浛
+ formtidy() {
+ this.form.visitType2 = this.form.visitType;
+ this.form.date2 = this.form.longSendTime;
+ this.form.remark2 = this.form.remark;
+ },
// 鑾峰彇鎮h�呰褰�
getTaskservelist(id) {
if (id) {
@@ -1007,7 +1238,9 @@
subId: id,
}).then((res) => {
if (res.code == 200) {
- this.form = res.rows[0].serviceSubtaskList.find(item => item.id == this.id);
+ this.form = res.rows[0].serviceSubtaskList.find(
+ (item) => item.id == this.id
+ );
this.logsheetlist = res.rows[0].serviceSubtaskList;
this.templateid = this.logsheetlist[0].templateid;
const targetDate = new Date(this.form.longSendTime); // 鐩爣鏃ユ湡
@@ -1050,14 +1283,15 @@
});
},
Editsingletasksonyic(sendstate) {
-
let objson = {};
getTaskservelist({
patid: this.patid,
subId: this.id,
}).then((res) => {
if (res.code == 200) {
- objson = res.rows[0].serviceSubtaskList.find(item => item.id == this.id);
+ objson = res.rows[0].serviceSubtaskList.find(
+ (item) => item.id == this.id
+ );
objson.remark = this.form.remark;
if (sendstate) objson.sendstate = sendstate;
Editsingletaskson(objson).then((res) => {
@@ -1087,6 +1321,7 @@
sendAgain() {
document.querySelector("#app").scrollTo(0, 0);
// scrollTo(0, 0)
+ this.formtidy();
this.dialogFormVisible = true;
},
// 鏌ョ湅璇︽儏
@@ -1108,8 +1343,18 @@
.catch(() => {});
},
handleOptionChange(a, b, c) {
-console.log(a);
-
+ 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
@@ -1153,9 +1398,15 @@
if (form.resource) {
if (form.resource == 2) {
form.serviceType = 13;
+ form.visitDeptCode = localStorage.getItem("deptCode");
+ form.visitDeptName = "闅忚涓績";
+ } else {
+ form.visitDeptCode = form.deptcode;
+ form.visitDeptName = form.deptname;
}
} else {
this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡");
+ return;
}
// form.id = null;
form.sendstate = 2;
@@ -1164,11 +1415,11 @@
this.$modal.msgSuccess("鍒涘缓鎴愬姛");
if (form.serviceType == 13) {
this.$router.push({
- path: "/logisticsservice/record",
+ path: "/logisticsservice/again",
});
} else if (form.serviceType == 2) {
this.$router.push({
- path: "/followvisit/discharge",
+ path: "/logisticsservice/zbAgain",
});
}
} else {
@@ -1191,14 +1442,12 @@
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
},
- updateScore(a, b, c) {
-
- },
+ updateScore(a, b, c) {},
},
};
</script>
-<style lang="scss" scoped>
+<style lang="scss">
.Followupdetailspage {
margin: 10px;
}
@@ -1369,8 +1618,25 @@
::v-deep.el-link.el-link--default {
color: #02a7f0 !important;
}
+.el-message-box__btns button:nth-child(2) {
+ margin-left: 10px;
+ background-color: #f57676;
+ border-color: #f57676;
+}
.mulsz {
font-size: 25px;
margin-top: 20px;
}
+.el-input.is-disabled .el-input__inner {
+ background-color: #fff; /* 鑳屾櫙棰滆壊 */
+ border-color: #dcdfe6; /* 杈规棰滆壊 */
+ color: #080808 !important; /* 鏂囧瓧棰滆壊 */
+ cursor: not-allowed; /* 榧犳爣鏍峰紡 */
+}
+.el-textarea.is-disabled .el-textarea__inner {
+ background-color: #fff; /* 鑳屾櫙棰滆壊 */
+ border-color: #dcdfe6; /* 杈规棰滆壊 */
+ color: #080808 !important; /* 鏂囧瓧棰滆壊 */
+ cursor: not-allowed; /* 榧犳爣鏍峰紡 */
+}
</style>
--
Gitblit v1.9.3