From 37d2ba3d2c1902202c8c7ee9485267b5a1945742 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 11 六月 2025 10:26:36 +0800
Subject: [PATCH] 测试完成
---
src/views/followvisit/record/detailpage/index.vue | 422 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 344 insertions(+), 78 deletions(-)
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 8febf3d..0abf723 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -15,7 +15,7 @@
>鏌ョ湅鎮h�呭叏閮ㄦ湇鍔�</el-button
>
<el-button v-else type="success" @click="getTaskservelist(id)"
- >鏌ョ湅鎮h�呮湰娆℃湇鍔′俊鎭�</el-button
+ >鍙睍绀烘湰娆℃湇鍔′俊鎭�</el-button
>
</div>
<div style="margin-left: 20px; color: #59a0f0">
@@ -32,7 +32,11 @@
</div>
</div>
<div>
- <el-table :data="logsheetlist" style="width: 100%">
+ <el-table
+ :data="logsheetlist"
+ :row-class-name="tableRowClassName"
+ style="width: 100%"
+ >
<el-table-column
prop="sendname"
align="center"
@@ -200,7 +204,6 @@
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
@@ -373,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>
@@ -381,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
>
@@ -406,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>
@@ -437,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>
@@ -613,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>
@@ -677,18 +755,17 @@
activeName: "wj",
voice: "",
templateid: "",
+ 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: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず
+ Whetherall: true, //鏄惁鍏ㄩ儴璁板綍灞曠ず
dialogFormVisible: false,
Voicetype: 0, //鏄惁涓鸿闊虫湇鍔�
+ visitCount: null,
logsheetlist: [],
topicobj: {},
sendname: null,
@@ -767,11 +899,12 @@
this.id = this.$route.query.id;
this.sendname = this.$route.query.sendname;
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;
- console.log(this.id, this.patid);
- this.getTaskservelist(this.id);
+ this.getTaskservelist();
},
methods: {
@@ -784,13 +917,25 @@
isFinish: false,
}).then((res) => {
if (res.code === 200) {
+ // 閽堝鍐嶆闅忚鏈嶅姟杩涜鍒犻櫎缁撴灉璧嬪��
+ 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;
}
@@ -838,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 = {
@@ -845,10 +1009,8 @@
patid: this.patid,
subId: id ? id : this.id,
};
- console.log(this.voiceDatatop, "111");
getPersonVoices(obj).then((res) => {
- console.log("222");
if (res.code == 200) {
this.voiceDatatop = res.data.serviceSubtaskDetails;
this.voice = res.data.voice;
@@ -863,7 +1025,6 @@
item.scriptResult = [];
}
});
- console.log(this.tableDatatop, "this.tableDatatop");
if (!this.tableDatatop.length) {
this.puttaskid(this.templateid);
@@ -892,7 +1053,6 @@
item.scriptResult = [];
}
});
- console.log(this.tableDatatop, "this.tableDatatop");
}
});
},
@@ -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) => {
// 濡傛灉鏈変换浣曚竴涓紓姝ユ搷浣滃け璐ワ紝浼氳繘鍏ヨ繖閲�
@@ -960,7 +1152,6 @@
},
yuyingetdetail() {
this.tableDatatop.forEach((item, index) => {
- console.log(item.scriptResult, "scriptResult");
item.scriptResult = item.scriptResult.join("&");
item.templatequestionnum = index + 1;
item.subId = this.id;
@@ -984,21 +1175,58 @@
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) {
- console.log(id, "idsub");
-
if (id) {
this.Whetherall = false;
} else {
@@ -1010,7 +1238,9 @@
subId: id,
}).then((res) => {
if (res.code == 200) {
- this.form = res.rows[0].serviceSubtaskList[0];
+ 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); // 鐩爣鏃ユ湡
@@ -1027,8 +1257,6 @@
}
this.getuserinfo();
}
- console.log(this.Voicetype, "this.Voicetype");
-
if (this.Voicetype) {
this.getPersonVoices();
} else {
@@ -1048,22 +1276,22 @@
Editsingletaskson(objson).then((res) => {
if (res.code) {
this.$modal.msgSuccess("鏈嶅姟璁板綍鎴愬姛");
- this.getTaskservelist(this.id);
+ this.getTaskservelist();
}
});
}
});
},
Editsingletasksonyic(sendstate) {
- console.log(sendstate, "sendstate");
-
let objson = {};
getTaskservelist({
patid: this.patid,
subId: this.id,
}).then((res) => {
if (res.code == 200) {
- objson = res.rows[0].serviceSubtaskList[0];
+ 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) => {
@@ -1076,16 +1304,24 @@
this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触");
}
});
- this.getTaskservelist(this.id);
+ this.getTaskservelist();
}
});
}
});
},
+ // 寮傚父鍒楁覆鏌�
+ tableRowClassName({ row, rowIndex }) {
+ if (row.id == this.id) {
+ return "warning-row";
+ }
+ return "";
+ },
// 璋冭捣鍐嶆鍙戦��
sendAgain() {
document.querySelector("#app").scrollTo(0, 0);
// scrollTo(0, 0)
+ this.formtidy();
this.dialogFormVisible = true;
},
// 鏌ョ湅璇︽儏
@@ -1098,19 +1334,27 @@
this.Voicetype = 1;
}
}
- console.log(this.Voicetype, "this.Voicetype");
-
this.taskid = row.taskid;
this.id = row.id;
this.patid = row.patid;
this.serviceType = row.serviceType;
- this.getTaskservelist(this.id);
+ this.getTaskservelist();
})
.catch(() => {});
},
handleOptionChange(a, b, c) {
- console.log(this.tableDatatop[b], "this.tableDatatop[b]");
-
+ 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
@@ -1154,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;
@@ -1165,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 {
@@ -1192,16 +1442,12 @@
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
},
- updateScore(a, b, c) {
- console.log(a);
- console.log(b);
- console.log(c);
- },
+ updateScore(a, b, c) {},
},
};
</script>
-<style lang="scss" scoped>
+<style lang="scss">
.Followupdetailspage {
margin: 10px;
}
@@ -1224,6 +1470,9 @@
margin-right: 20px;
}
}
+}
+::v-deep.el-table .warning-row {
+ background: #c4e2ee;
}
.Followuserinfos {
margin: 20px 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