|  |  | 
 |  |  |                   <el-option | 
 |  |  |                     class="ruleFormaa" | 
 |  |  |                     v-for="item in flatArray" | 
 |  |  |                     :key="item.deptCode" | 
 |  |  |                     :key="item.id" | 
 |  |  |                     :label="item.label" | 
 |  |  |                     :value="item.deptCode" | 
 |  |  |                   > | 
 |  |  | 
 |  |  |                   <el-option | 
 |  |  |                     class="ruleFormaa" | 
 |  |  |                     v-for="item in flatArray" | 
 |  |  |                     :key="item.deptCode" | 
 |  |  |                     :key="item.id" | 
 |  |  |                     :label="item.label" | 
 |  |  |                     :value="item.deptCode" | 
 |  |  |                   > | 
 |  |  | 
 |  |  |               >下一步</el-button | 
 |  |  |             > | 
 |  |  |             <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button> | 
 |  |  |             <el-button @click="Departmenttreatment('ruleForm')" | 
 |  |  |             <el-button @click="toExamine('ruleForm')" | 
 |  |  |               >保存问卷基础信息</el-button | 
 |  |  |             > | 
 |  |  |           </el-form-item> | 
 |  |  | 
 |  |  |                         placeholder="请输入题号" | 
 |  |  |                       ></el-input> | 
 |  |  |                     </el-form-item> | 
 |  |  |  | 
 |  |  |                     <el-form-item prop="valueType"> | 
 |  |  |                       <template #label> | 
 |  |  |                         结果类型 | 
 |  |  |                         <el-tooltip | 
 |  |  |                           class="item" | 
 |  |  |                           effect="light" | 
 |  |  |                           content="本类型为结果收集类型;选项用于指向性题目如是否等;文本适用复杂情况;数值用于收集数值型数据" | 
 |  |  |                           placement="top-start" | 
 |  |  |                         > | 
 |  |  |                           <i class="el-icon-warning-outline"></i> | 
 |  |  |                         </el-tooltip> | 
 |  |  |                         <!-- 在标签后插入红色星号 --> | 
 |  |  |                       </template> | 
 |  |  |                       <el-radio-group v-model="topicobj.valueType"> | 
 |  |  |                         <el-radio :label="1">选项</el-radio> | 
 |  |  |                         <el-radio :label="2">文本</el-radio> | 
 |  |  |                         <el-radio :label="3">数值</el-radio> | 
 |  |  |                       </el-radio-group> | 
 |  |  |                     </el-form-item> | 
 |  |  |                   </el-col> | 
 |  |  |                 </el-row> | 
 |  |  |  | 
 |  |  | 
 |  |  |                     </el-form-item></el-col | 
 |  |  |                   > | 
 |  |  |                   <el-col :span="12" | 
 |  |  |                     ><el-form-item label="是否可用"> | 
 |  |  |                       <el-radio-group v-model="topicobj.isenable"> | 
 |  |  |                     ><el-form-item label="是否隐藏"> | 
 |  |  |                       <el-radio-group v-model="topicobj.ishide"> | 
 |  |  |                         <el-radio | 
 |  |  |                           v-for="(item, index) in usable" | 
 |  |  |                           v-for="(item, index) in hides" | 
 |  |  |                           :label="item.value" | 
 |  |  |                           >{{ item.label }}</el-radio | 
 |  |  |                         > | 
 |  |  | 
 |  |  |                   v-if="topicobj.scriptType == 1" | 
 |  |  |                 > | 
 |  |  |                   <el-radio-group v-model="topicobj.branchFlag"> | 
 |  |  |                     <el-radio :label="1">是</el-radio> | 
 |  |  |                     <el-radio :label="0">否</el-radio> | 
 |  |  |                     <el-radio label="1">是</el-radio> | 
 |  |  |                     <el-radio label="0">否</el-radio> | 
 |  |  |                   </el-radio-group> | 
 |  |  |                 </el-form-item> | 
 |  |  |                 <el-form-item label="选中提示" v-if="topicobj.scriptType != 1"> | 
 |  |  | 
 |  |  |                         > | 
 |  |  |                           <el-radio-group v-model="item.score"> | 
 |  |  |                             <el-radio :label="1">A</el-radio> | 
 |  |  |                           <el-radio :label="2">B</el-radio> | 
 |  |  |                           <el-radio :label="3">C</el-radio> | 
 |  |  |                             <el-radio :label="2">B</el-radio> | 
 |  |  |                             <el-radio :label="3">C</el-radio> | 
 |  |  |                           </el-radio-group> | 
 |  |  |                         </el-form-item> | 
 |  |  |                         <el-form-item | 
 |  |  | 
 |  |  |                         <el-radio-group v-model="item.isabnormal"> | 
 |  |  |                           <el-radio :label="1">是</el-radio> | 
 |  |  |                           <el-radio :label="0">否</el-radio> | 
 |  |  |                         </el-radio-group> | 
 |  |  |                       </el-form-item> | 
 |  |  |                       <el-form-item label="是否选中收集附加信息"> | 
 |  |  |                         <el-radio-group v-model="item.appendflag"> | 
 |  |  |                           <el-radio label="1">是</el-radio> | 
 |  |  |                           <el-radio label="0">否</el-radio> | 
 |  |  |                         </el-radio-group> | 
 |  |  |                       </el-form-item> | 
 |  |  |                     </el-row> | 
 |  |  | 
 |  |  |                             <el-image | 
 |  |  |                               style="width: 100px; height: 100px" | 
 |  |  |                               :src="item.picturePath" | 
 |  |  |                               :preview-src-list="[...item.picturePath]" | 
 |  |  |                               :preview-src-list=" | 
 |  |  |                                 item.picturePath ? [item.picturePath] : [] | 
 |  |  |                               " | 
 |  |  |                             > | 
 |  |  |                             </el-image> | 
 |  |  |                           </div> | 
 |  |  | 
 |  |  |         > | 
 |  |  |         <el-button type="primary" @click="laststep()">上一步</el-button> | 
 |  |  |         <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button> | 
 |  |  |         <el-button @click="Departmenttreatment('ruleForm')" | 
 |  |  |           >保存问题数据</el-button | 
 |  |  |         > | 
 |  |  |         <el-button @click="toExamine('ruleForm')">保存问题数据</el-button> | 
 |  |  |       </div> | 
 |  |  |       <!-- 问卷预览 --> | 
 |  |  |       <div v-if="Editprogress == 3"> | 
 |  |  | 
 |  |  |                         > | 
 |  |  |                           <el-radio-group v-model="item.score"> | 
 |  |  |                             <el-radio :label="1">A</el-radio> | 
 |  |  |                           <el-radio :label="2">B</el-radio> | 
 |  |  |                           <el-radio :label="3">C</el-radio> | 
 |  |  |                             <el-radio :label="2">B</el-radio> | 
 |  |  |                             <el-radio :label="3">C</el-radio> | 
 |  |  |                           </el-radio-group> | 
 |  |  |                         </el-form-item> | 
 |  |  |                         <el-form-item | 
 |  |  | 
 |  |  |                           <el-image | 
 |  |  |                             style="width: 100px; height: 100px" | 
 |  |  |                             :src="item.picturePath" | 
 |  |  |                             :preview-src-list="[...item.picturePath]" | 
 |  |  |                             :preview-src-list=" | 
 |  |  |                               item.picturePath ? [item.picturePath] : [] | 
 |  |  |                             " | 
 |  |  |                           > | 
 |  |  |                           </el-image> | 
 |  |  |                         </div> | 
 |  |  | 
 |  |  |         svyTemplateLibScripts: [], | 
 |  |  |         tempDetpRelevances: [], | 
 |  |  |         svyLibTemplateTagList: [], | 
 |  |  |         suitway: [], | 
 |  |  |         scoreType: "4", | 
 |  |  |         isenable: "0", | 
 |  |  |         longTemp: "0", | 
 |  |  | 
 |  |  |       usable: [ | 
 |  |  |         { value: "0", label: "可用" }, | 
 |  |  |         { value: "1", label: "停用" }, | 
 |  |  |       ], | 
 |  |  |       hides: [ | 
 |  |  |         { value: 0, label: "正常" }, | 
 |  |  |         { value: 1, label: "隐藏" }, | 
 |  |  |       ], | 
 |  |  |       longtype: [ | 
 |  |  |         { value: "0", label: "普通任务" }, | 
 |  |  | 
 |  |  |           this.confirmillness(); | 
 |  |  |           this.putbelongDepts(); | 
 |  |  |           this.$modal.closeLoading(); | 
 |  |  |           // this.$router.go(-1); | 
 |  |  |           window.location.reload(); | 
 |  |  |           this.$router.go(-1); | 
 |  |  |           // window.location.reload(); | 
 |  |  |         }); | 
 |  |  |       } else { | 
 |  |  |         this.ruleForm.isoperation = 1; | 
 |  |  | 
 |  |  |         }); | 
 |  |  |       } | 
 |  |  |     }, | 
 |  |  |     // 题目校验 | 
 |  |  |     toExamine() { | 
 |  |  |       // 遍历题目集合 | 
 |  |  |       for (let i = 0; i < this.ruleForm.svyTemplateLibScripts.length; i++) { | 
 |  |  |         const question = this.ruleForm.svyTemplateLibScripts[i]; | 
 |  |  |  | 
 |  |  |         // 如果 scriptType 为 4,则跳过当前题目 | 
 |  |  |         if (question.scriptType === 4) { | 
 |  |  |           continue; | 
 |  |  |         } | 
 |  |  |         // 获取当前题目的选项集合 | 
 |  |  |         const options = question.svyLibTemplateTargetoptions; | 
 |  |  |  | 
 |  |  |         // 创建一个 Set 来存储选项名称,用于检测重复 | 
 |  |  |         const optionNames = new Set(); | 
 |  |  |  | 
 |  |  |         // 遍历选项集合 | 
 |  |  |         for (let j = 0; j < options.length; j++) { | 
 |  |  |           const option = options[j]; | 
 |  |  |           const optionContent = option.optioncontent; | 
 |  |  |  | 
 |  |  |           // 如果选项名称已经存在于 Set 中,说明重复 | 
 |  |  |           if (optionNames.has(optionContent)) { | 
 |  |  |             this.$message.error( | 
 |  |  |               `题目 ${question.id} 的选项名称 "${optionContent}" 重复` | 
 |  |  |             ); | 
 |  |  |             return false; // 返回 false 表示校验失败 | 
 |  |  |           } | 
 |  |  |           // 将选项名称添加到 Set 中 | 
 |  |  |           optionNames.add(optionContent); | 
 |  |  |         } | 
 |  |  |       } | 
 |  |  |  | 
 |  |  |       // 如果所有题目都校验通过,返回 true | 
 |  |  |       console.log("所有题目校验通过,选项名称无重复"); | 
 |  |  |       this.Departmenttreatment(); | 
 |  |  |     }, | 
 |  |  |  | 
 |  |  |     // 科室/院区处理 | 
 |  |  |     Departmenttreatment() { | 
 |  |  |       this.tempDetpRelevanceslist.forEach((item) => { | 
 |  |  | 
 |  |  |   display: flex; | 
 |  |  |   .presentation-left { | 
 |  |  |     width: 45%; | 
 |  |  |     // height: 500px; | 
 |  |  |     max-height: 80vh; | 
 |  |  |     padding: 0 20px; | 
 |  |  |     font-size: 18px; | 
 |  |  |     overflow: auto; | 
 |  |  |     .button-textxg { | 
 |  |  |       color: #024df0; | 
 |  |  |     } | 
 |  |  | 
 |  |  |   } | 
 |  |  |   .presentation-right { | 
 |  |  |     width: 55%; | 
 |  |  |     max-height: 688px; | 
 |  |  |     max-height: 80vh; | 
 |  |  |     padding: 0 20px; | 
 |  |  |     font-size: 18px; | 
 |  |  |     overflow: auto; |