From 6d7cd13eecd3a6f176d310986b4750b0c407e3a1 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 21 五月 2025 14:40:43 +0800 Subject: [PATCH] 测试完成 --- src/views/outsideChainwt.vue | 336 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 306 insertions(+), 30 deletions(-) diff --git a/src/views/outsideChainwt.vue b/src/views/outsideChainwt.vue index 7256de2..a8da2c1 100644 --- a/src/views/outsideChainwt.vue +++ b/src/views/outsideChainwt.vue @@ -1,8 +1,19 @@ <template> <div class="questionnaire"> - <div class="CONTENT"> - <div class="title">{{ taskname ? taskname : "闂嵎" }}</div> + <div class="CONTENT" v-if="!accomplish"> <div class="preview-left"> + <div class="toptitle"> + <div class="title">{{ taskname ? taskname : "闂嵎" }}</div> + <div style="font-size: 22px; margin-bottom: 20px; line-height: 1.5"> + {{ + kcb + ? kcb + : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�" + }} + <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� --> + </div> + </div> + <el-divider></el-divider> <!-- 鍗曢�� --> <div class="topic-dev" @@ -11,15 +22,25 @@ > <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1"> <div class="dev-text"> - {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> + {{ index + 1 }}銆�<span style="line-height: 1.5" + >{{ item.scriptContent }} + <span style="color: #3ba2f7">[鍗曢�塢</span></span + > </div> <div class="dev-xx"> <el-radio-group + class="custom-radio" v-model="item.scriptResult" @change="handleOptionChange($event, index, item)" > <el-radio + border v-for="(items, index) in item.svyLibTemplateTargetoptions" + :class=" + items.isabnormal && item.scriptResult == items.optioncontent + ? 'red-star' + : '' + " :key="index" :label="items.optioncontent" >{{ items.optioncontent }}</el-radio @@ -33,14 +54,19 @@ <!-- 澶氶�� --> <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2"> <div class="dev-text"> - {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> + {{ index + 1 }}銆�<span style="line-height: 1.5" + >{{ item.scriptContent }} + <span style="color: #3ba2f7">[澶氶�塢</span></span + > </div> <div class="dev-xx"> <el-checkbox-group + class="custom-radio" v-model="item.scriptResult" @change="updateScore($event, index, item)" > <el-checkbox + border @change="$forceUpdate()" v-for="(items, indexs) in item.svyLibTemplateTargetoptions" :key="indexs" @@ -50,6 +76,7 @@ </el-checkbox> </el-checkbox-group> </div> + <!-- :class="items.isabnormal ? 'red-star' : ''" --> <div v-show="item.prompt && item.scriptResult[0]"> <el-alert :title="item.prompt" type="warning"> </el-alert> </div> @@ -57,12 +84,15 @@ <!-- 濉┖ --> <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 4"> <div class="dev-text"> - {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span> + {{ index + 1 }}銆�<span style="line-height: 1.5" + >{{ item.scriptContent + }}<span style="color: #3ba2f7">[闂瓟]</span></span + > </div> <div class="dev-xx"> <el-input type="textarea" - :rows="2" + :rows="3" placeholder="璇疯緭鍏ョ瓟妗�" v-model="item.scriptResult" clearable @@ -71,26 +101,47 @@ </div> </div> </div> - </div> - <el-form :model="formData" label-width="80px"> - <el-form-item> - <el-button type="primary" @click="cache(true)">鎻愪氦闂嵎</el-button> - <!-- <el-button type="primary" @click="cache">缂撳瓨闂嵎</el-button> --> - </el-form-item> - </el-form> - </div> - <div class="CONTENT"> - <div class="preview-left"> + <div class="bottom-fixed"> + <el-button + type="primary" + style="width: 80%; font-size: 20px" + @click="cache(true)" + >鎻愪氦闂嵎</el-button + > + </div> </div> </div> - <el-dialog + <div class="CONTENT" v-else> + <div class="preview-lefts"> + <div + style=" + text-align: center; + padding-top: 50px; + font-size: 24px; + color: #175997; + font-weight: 600; + margin-bottom: 10px; + " + > + 鎰熻阿鎮ㄧ殑閰嶅悎! + </div> + <div style="font-size: 20px"> + {{ + jsy + ? jsy + : "鐢熸椿涓婅鍔抽�哥粨鍚堬紝娉ㄦ剰浼戞伅鍜岃惀鍏伙紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒" + }} + </div> + </div> + </div> + <!-- <el-dialog :visible.sync="dialogVisible" width="50%" > <div> - <el-alert :title="revisitAfter" type="success"> </el-alert> + <el-alert :title="jsy" type="success"> </el-alert> </div> - </el-dialog> + </el-dialog> --> </div> </template> @@ -107,10 +158,99 @@ return { taskid: 355, patid: 265823, - questionList: null, - revisitAfter: null, - dialogVisible:false, + kcb: "", + excep:'', + questionList: [ + // { + // scriptType: 1, + // scriptContent: "鎮ㄧ殑骞撮緞鑼冨洿鏄紵", + // scriptResult: null, + // svyLibTemplateTargetoptions: [ + // { optioncontent: "18-25", value: "18-25", isabnormal: true }, + // { optioncontent: "26-35", value: "26-35" }, + // { optioncontent: "36-45", value: "36-45" }, + // { optioncontent: "46-55", value: "46-55" }, + // { optioncontent: "56+", value: "56+" }, + // ], + // required: true, + // }, + // { + // scriptType: 1, + // scriptContent: "鎮ㄧ殑鑱屼笟鏄粈涔堬紵", + // scriptResult: null, + // svyLibTemplateTargetoptions: [ + // { optioncontent: "瀛︾敓", value: "student" }, + // { optioncontent: "鏁欏笀", value: "teacher" }, + // { optioncontent: "宸ョ▼甯�", value: "engineer" }, + // { optioncontent: "鍖荤敓", value: "doctor" }, + // { optioncontent: "鍏朵粬", value: "other" }, + // ], + // required: false, + // }, + // { + // scriptType: 2, + // scriptContent: "鎮ㄦ劅鍏磋叮鐨勬椿鍔ㄦ湁鍝簺锛�", + // scriptResult: [], + // svyLibTemplateTargetoptions: [ + // { optioncontent: "鏃呮父", value: "travel", isabnormal: true }, + // { optioncontent: "闃呰", value: "reading", isabnormal: true }, + // { optioncontent: "杩愬姩", value: "sports", isabnormal: true }, + // { optioncontent: "闊充箰", value: "music" }, + // { optioncontent: "鐢靛奖", value: "movies" }, + // ], + // required: false, + // }, + // { + // scriptType: 1, + // scriptContent: "鎮ㄧ殑鑱屼笟鏄粈涔堬紵", + // scriptResult: null, + // svyLibTemplateTargetoptions: [ + // { optioncontent: "瀛︾敓", value: "student" }, + // { optioncontent: "鏁欏笀", value: "teacher" }, + // { optioncontent: "宸ョ▼甯�", value: "engineer" }, + // { optioncontent: "鍖荤敓", value: "doctor" }, + // { optioncontent: "鍏朵粬", value: "other" }, + // ], + // required: false, + // }, + // { + // scriptType: 1, + // scriptContent: "鎮ㄧ殑鑱屼笟鏄粈涔堬紵", + // scriptResult: null, + // svyLibTemplateTargetoptions: [ + // { optioncontent: "瀛︾敓", value: "student" }, + // { optioncontent: "鏁欏笀", value: "teacher" }, + // { optioncontent: "宸ョ▼甯�", value: "engineer", isabnormal: true }, + // { optioncontent: "鍖荤敓", value: "doctor" }, + // { optioncontent: "鍏朵粬", value: "other" }, + // ], + // required: false, + // }, + // { + // scriptType: 1, + // scriptContent: "鎮ㄧ殑鑱屼笟鏄粈涔堬紵", + // scriptResult: null, + // svyLibTemplateTargetoptions: [ + // { optioncontent: "瀛︾敓", value: "student" }, + // { optioncontent: "鏁欏笀", value: "teacher" }, + // { optioncontent: "宸ョ▼甯�", value: "engineer" }, + // { optioncontent: "鍖荤敓", value: "doctor" }, + // { optioncontent: "鍏朵粬", value: "other" }, + // ], + // required: false, + // }, + // { + // scriptType: 4, + // scriptContent: "鎮ㄧ殑濮撳悕鏄粈涔堬紵", + // scriptResult: "name", + // required: true, + // scriptResult: null, + // }, + ], + jsy: null, + dialogVisible: false, Endornot: true, + accomplish: false, // 鍓嶇鍏挜 publicKey: "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKR0yHv0rbJWQE+Sc7/FwpW66qMd9qX2k6z+SDgkSdxWh/1GbBoAP7bDQQRF6vXmoKsD2ya42H6XRLSDXAoayuMCAwEAAQ== ", @@ -152,6 +292,7 @@ (res) => { if (res.code == 200) { this.questionList = res.data; + this.accomplish = res.data.submit; if (this.questionList[0]) { this.questionList.forEach((item) => { if (item.scriptResult && item.scriptType != 2) { @@ -176,7 +317,8 @@ (res) => { if (res.code == 200) { this.questionList = res.data.script; - this.revisitAfter = res.data.revisitAfter; + this.jsy = res.data.jsy; + this.kcb = res.data.kcb; // 澶勭悊棰樼洰鏀堕泦缁撴灉鏍煎紡 this.questionList.forEach((item) => { item.nextScriptno = Number(item.nextScriptno); @@ -206,6 +348,7 @@ let form = { param1: this.taskid, param2: this.patid, + excep:this.excep, serviceSubtaskDetailList: [], }; const arr = structuredClone(this.questionList); @@ -218,9 +361,10 @@ form.serviceSubtaskDetailList = arr; Submitaquestionnaire(form).then((res) => { if (res.code == 200) { - if (this.revisitAfter) { - this.dialogVisible=true + if (this.jsy) { + this.dialogVisible = true; } + this.accomplish = true; this.$modal.msgSuccess("鎻愪氦鎴愬姛"); } }); @@ -234,6 +378,20 @@ svyLibTemplateScriptVOS: [], }; const arr = structuredClone(this.questionList); + console.log(arr,'srr') + arr.forEach((item, index) => { + var obj = item.svyLibTemplateTargetoptions.find( + (items) => items.optioncontent == item.scriptResult + ); + if (obj) { + if (obj.isabnormal) { + console.log(obj.isabnormal); + form.excep = 1; + this.excep=1; + } + } + }); + arr.forEach((item) => { if (item.scriptType == 2 && item.scriptResult[0]) { item.scriptResult = item.scriptResult.join("&"); @@ -244,7 +402,6 @@ form.svyLibTemplateScriptVOS = arr; Cachequestionnaire(form).then((res) => { if (res.code == 200) { - this.$modal.msgSuccess("鎻愪氦鎴愬姛"); if (subm) { this.submitForm(); } @@ -284,7 +441,8 @@ <style lang="scss" scoped> .questionnaire { - background-image: url("../assets/images/chainbackground.jpg"); + // background-image: url("../assets/images/chainbackground.jpg"); + background-color: #f9f9fb; background-size: cover; background-attachment: fixed; /* 淇濇寔鑳屾櫙鍥哄畾 */ background-position: center; @@ -293,8 +451,8 @@ margin: 0; padding: 0; .CONTENT { - padding: 10px; .title { + color: #3769f3; font-size: 22px; font-weight: bold; margin-bottom: 20px; @@ -303,9 +461,13 @@ } } .preview-left { - margin: 20px; + margin: 10px; + margin-bottom: 60px; + background-color: #fff; + border-radius: 5px; // margin: 20px; - padding: 30px; + padding: 10px; + height: 100%; // background: #ffff; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), @@ -318,4 +480,118 @@ } } } +.preview-lefts { + margin: 10px; + background-color: #fff; + border-radius: 5px; + // margin: 20px; + padding: 10px; + height: 95vh; // 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; + } + } +} + +.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.el-checkbox-group { + font-size: 0; + display: flex; + flex-direction: column; + margin: 5px 0; +} +::v-deep.el-checkbox.is-bordered + .el-checkbox.is-bordered { + margin-left: 0; +} + +::v-deep.el-radio-group { + display: flex; + flex-direction: column; + margin: 5px 0; +} +::v-deep.el-radio.is-bordered + .el-radio.is-bordered { + /* margin-left: 10px; */ + margin-left: 0; +} +::v-deep.custom-radio .el-radio { + margin: 2px 0; +} + +.radio-option { + flex: none; /* 涓嶈閫夐」鑷姩濉厖绌洪棿 */ + white-space: nowrap; /* 闃叉閫夐」鏂囨湰鎹㈣ */ + margin: 0 10px; /* 璁剧疆閫夐」宸﹀彸鐨勯棿闅� */ + font-size: 20px; /* 澧炲ぇ瀛椾綋澶у皬 */ +} + +.el-radio__label { + font-size: 20px; /* 澧炲ぇ鏍囩鏂囧瓧澶у皬 */ +} +.toptitle { +} +.bottom-fixed { + position: fixed; + bottom: 0; + left: 0; + width: 100%; + text-align: center; + padding: 10px 0; /* 鏍规嵁闇�瑕佽皟鏁村唴杈硅窛 */ + background: #fff; /* 鏍规嵁闇�瑕佽皟鏁磋儗鏅鑹� */ + box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); /* 鍙�夌殑闃村奖鏁堟灉 */ + z-index: 1000; /* 纭繚鎸夐挳鍦ㄩ〉闈㈡渶涓婂眰 */ +} +::v-deep.el-alert--warning.is-light { + background-color: #fbf9f3; + color: #ffba00; +} +::v-deep { + .el-alert__title { + font-size: 20px; + line-height: 18px; + } +} +::v-deep.el-radio--medium.is-bordered .el-radio__label { + font-size: 20px; +} +::v-deep.el-radio--medium.is-bordered { + padding: 5px 20px 0px 10px; + border-radius: 4px; + height: 36px; +} +::v-deep.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label { + line-height: 17px; + font-size: 20px; +} +::v-deep.el-checkbox { + margin-right: 0px; +} </style> -- Gitblit v1.9.3