|  |  |  | 
|---|
|  |  |  | <el-step> | 
|---|
|  |  |  | <template slot="title"> | 
|---|
|  |  |  | <span style="cursor: pointer" @click="Editprogress = 2" | 
|---|
|  |  |  | >问卷题目</span | 
|---|
|  |  |  | >问卷问题</span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-step> | 
|---|
|  |  |  | 
|---|
|  |  |  | :model="ruleForm" | 
|---|
|  |  |  | :rules="rules" | 
|---|
|  |  |  | ref="ruleForm" | 
|---|
|  |  |  | label-width="100px" | 
|---|
|  |  |  | label-width="180px" | 
|---|
|  |  |  | class="demo-ruleForm" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-form-item label="问卷名称" prop="svyname"> | 
|---|
|  |  |  | <div style="width: 55vw"> | 
|---|
|  |  |  | <el-input v-model="ruleForm.svyname"></el-input> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="问卷描述" prop="description"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 55vw" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model="ruleForm.description" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-input | 
|---|
|  |  |  | ></el-form-item> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="10"> | 
|---|
|  |  |  | <el-form-item label="问卷分类" prop="region"> | 
|---|
|  |  |  | <el-form-item label="问卷分类" prop="categoryid"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="ruleForm.categoryid" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="10"> | 
|---|
|  |  |  | <el-form-item label="评价类型"> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="评价类型" prop="scoreType"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="ruleForm.scoreType" | 
|---|
|  |  |  | placeholder="请选择分类" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-form-item label="问卷标题" prop="name"> | 
|---|
|  |  |  | <div style="width: 30%"> | 
|---|
|  |  |  | <el-input v-model="ruleForm.svyname"></el-input> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="问卷描述"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 40vw" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | autosize | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model="ruleForm.description" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-input | 
|---|
|  |  |  | ></el-form-item> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="10"> | 
|---|
|  |  |  | <el-form-item label="可用状态" prop="isenable"> | 
|---|
|  |  |  | <el-radio-group v-model="ruleForm.isenable"> | 
|---|
|  |  |  | <el-radio | 
|---|
|  |  |  | v-for="(item, index) in usable" | 
|---|
|  |  |  | :label="item.value" | 
|---|
|  |  |  | >{{ item.label }}</el-radio | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-form-item label="版本号" prop="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="ruleForm.version" | 
|---|
|  |  |  | placeholder="默认1.0" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <!-- <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="10"> | 
|---|
|  |  |  | <el-form-item label="长期任务" prop="longTemp"> | 
|---|
|  |  |  | <el-radio-group v-model="ruleForm.longTemp"> | 
|---|
|  |  |  | <el-radio | 
|---|
|  |  |  | v-for="(item, index) in longtype" | 
|---|
|  |  |  | :label="item.value" | 
|---|
|  |  |  | >{{ item.label }}</el-radio | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="8" v-if="ruleForm.longTemp"> | 
|---|
|  |  |  | <el-form-item label="任务周期(几天后)" prop="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="ruleForm.sendDay" | 
|---|
|  |  |  | placeholder="默认5天后" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-form-item label="标签" prop="desc"> | 
|---|
|  |  |  | <el-form-item prop="dynamicTags"> | 
|---|
|  |  |  | <template #label> | 
|---|
|  |  |  | 标签 | 
|---|
|  |  |  | <el-tooltip | 
|---|
|  |  |  | class="item" | 
|---|
|  |  |  | effect="light" | 
|---|
|  |  |  | content="准确、扼要、多重的标签,可以让您在系统使用中方便的查找到该模版。" | 
|---|
|  |  |  | placement="top-start" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <i class="el-icon-warning-outline"></i> | 
|---|
|  |  |  | </el-tooltip> | 
|---|
|  |  |  | <!-- 在标签后插入红色星号 --> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <div class="xinz-inf"> | 
|---|
|  |  |  | <el-tag | 
|---|
|  |  |  | :key="tag.tagname" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <div class="xinz-infs"> | 
|---|
|  |  |  | <el-form-item label="适用疾病" prop="region"> | 
|---|
|  |  |  | <el-form-item> | 
|---|
|  |  |  | <template #label> | 
|---|
|  |  |  | 适用疾病 | 
|---|
|  |  |  | <el-tooltip | 
|---|
|  |  |  | class="item" | 
|---|
|  |  |  | effect="light" | 
|---|
|  |  |  | content="选择好适用疾病后,可以方便您通过疾病诊断查找到对应的病人!" | 
|---|
|  |  |  | placement="top-start" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <i class="el-icon-warning-outline"></i> | 
|---|
|  |  |  | </el-tooltip> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <div style="margin-bottom: 10px"> | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="warning" | 
|---|
|  |  |  | @click="$refs.child.handleAddpatient()" | 
|---|
|  |  |  | >添加疾病诊断</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-tag | 
|---|
|  |  |  | v-for="tag in displayedTags" | 
|---|
|  |  |  | :key="tag.icdid" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div style="margin-left: 120px; margin-bottom: 10px"> | 
|---|
|  |  |  | <el-button type="warning" @click="$refs.child.handleAddpatient()" | 
|---|
|  |  |  | >疾病详情</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <el-row :gutter="20"> | 
|---|
|  |  |  | <el-col :span="6"> | 
|---|
|  |  |  | <el-form-item label="版本号" prop="name"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="ruleForm.version" | 
|---|
|  |  |  | placeholder="默认1.0" | 
|---|
|  |  |  | ></el-input> </el-form-item | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | <el-col :span="9"> | 
|---|
|  |  |  | <el-form-item label="可用状态" prop="region"> | 
|---|
|  |  |  | <el-radio-group v-model="ruleForm.isAvailable"> | 
|---|
|  |  |  | <el-radio | 
|---|
|  |  |  | v-for="(item, index) in usable" | 
|---|
|  |  |  | :label="item.value" | 
|---|
|  |  |  | >{{ item.label }}</el-radio | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item></el-col | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-form-item label="问卷方式" prop="region"> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="问卷方式" prop="suitway"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="ruleForm.suitway" | 
|---|
|  |  |  | style="width: 55vw" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | filterable | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="10" | 
|---|
|  |  |  | ><el-form-item label="适用院区" prop="region"> | 
|---|
|  |  |  | <el-col :span="20" | 
|---|
|  |  |  | ><el-form-item label="适用科室" prop="region"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="ruleForm.campus" | 
|---|
|  |  |  | v-model="tempDetpRelevanceslist" | 
|---|
|  |  |  | @remove-tag="removetag" | 
|---|
|  |  |  | style="width: 55vw" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | filterable | 
|---|
|  |  |  | placeholder="请选择分类" | 
|---|
|  |  |  | placeholder="请选择科室" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | class="ruleFormaa" | 
|---|
|  |  |  | v-for="item in courtyardlist" | 
|---|
|  |  |  | :key="item.label" | 
|---|
|  |  |  | v-for="item in flatArray" | 
|---|
|  |  |  | :key="item.id" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.label" | 
|---|
|  |  |  | :value="item.deptCode" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> </el-form-item | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | <el-col :span="12" | 
|---|
|  |  |  | ><el-form-item label="适用科室" prop="region"> | 
|---|
|  |  |  | <el-cascader | 
|---|
|  |  |  | style="width: 400px;" | 
|---|
|  |  |  | v-model="tempDetpRelevanceslist" | 
|---|
|  |  |  | :options="deptList" | 
|---|
|  |  |  | :props="props" | 
|---|
|  |  |  | :show-all-levels="false" | 
|---|
|  |  |  | clearable | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="{ node, data }"> | 
|---|
|  |  |  | <span>{{ data.deptName }}</span> | 
|---|
|  |  |  | <span v-if="!node.isLeaf"> | 
|---|
|  |  |  | ({{ data.children.length }}) | 
|---|
|  |  |  | </span> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </el-cascader> | 
|---|
|  |  |  | </el-form-item></el-col | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-form-item label="问卷结束语"> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="20" | 
|---|
|  |  |  | ><el-form-item label="适用病区" prop="region"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="tempbelongWards" | 
|---|
|  |  |  | @remove-tag="removehpsp" | 
|---|
|  |  |  | style="width: 55vw" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | multiple | 
|---|
|  |  |  | filterable | 
|---|
|  |  |  | placeholder="请选择病区" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | class="ruleFormaa" | 
|---|
|  |  |  | v-for="item in flatArray" | 
|---|
|  |  |  | :key="item.id" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.deptCode" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> </el-form-item | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-form-item label="结束语" prop="conclusion"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 40vw" | 
|---|
|  |  |  | style="width: 55vw; line-height: 80px" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="5" | 
|---|
|  |  |  | autosize | 
|---|
|  |  |  | placeholder="请输入内容" | 
|---|
|  |  |  | v-model="ruleForm.conclusion" | 
|---|
|  |  |  | 
|---|
|  |  |  | >下一步</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> | 
|---|
|  |  |  | 
|---|
|  |  |  | <!-- 问卷设置 --> | 
|---|
|  |  |  | <div v-if="Editprogress == 2"> | 
|---|
|  |  |  | <div class="leftvlue-jbxx"> | 
|---|
|  |  |  | 问卷题目设置 | 
|---|
|  |  |  | 问卷问题设置 | 
|---|
|  |  |  | <span style="" | 
|---|
|  |  |  | ><el-button | 
|---|
|  |  |  | type="warning" | 
|---|
|  |  |  | icon="el-icon-finished" | 
|---|
|  |  |  | round | 
|---|
|  |  |  | @click="test" | 
|---|
|  |  |  | >题目规则效验</el-button | 
|---|
|  |  |  | >问题规则效验</el-button | 
|---|
|  |  |  | ></span | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | icon="el-icon-plus" | 
|---|
|  |  |  | round | 
|---|
|  |  |  | @click="getaddtopiclist" | 
|---|
|  |  |  | >添加题目</el-button | 
|---|
|  |  |  | >添加问题</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="success" | 
|---|
|  |  |  | icon="el-icon-edit-outline" | 
|---|
|  |  |  | round | 
|---|
|  |  |  | @click="Operateit = !Operateit" | 
|---|
|  |  |  | >{{ !Operateit ? "编辑题目" : "完整信息展示" }}</el-button | 
|---|
|  |  |  | >{{ !Operateit ? "编辑问题" : "完整信息展示" }}</el-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div style="display: flex"> | 
|---|
|  |  |  | <div style="display: flex" v-if="ruleForm.scoreType == 1"> | 
|---|
|  |  |  | <span | 
|---|
|  |  |  | style=" | 
|---|
|  |  |  | width: 180px; | 
|---|
|  |  |  | 
|---|
|  |  |  | width="50" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | label="题目标题" | 
|---|
|  |  |  | label="问题主题" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="scriptTopic" | 
|---|
|  |  |  | prop="scriptTopic" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-table-column> | 
|---|
|  |  |  | <el-table-column | 
|---|
|  |  |  | v-if="!Operateit" | 
|---|
|  |  |  | label="题目内容" | 
|---|
|  |  |  | label="问题内容" | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="scriptContent" | 
|---|
|  |  |  | prop="scriptContent" | 
|---|
|  |  |  | 
|---|
|  |  |  | align="center" | 
|---|
|  |  |  | key="nextScriptno" | 
|---|
|  |  |  | prop="nextScriptno" | 
|---|
|  |  |  | :show-overflow-tooltip="true" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template slot-scope="scope"> | 
|---|
|  |  |  | <span>{{ | 
|---|
|  |  |  | 
|---|
|  |  |  | :model="topicobj" | 
|---|
|  |  |  | class="demo-form-inline" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div class="headline">题目设置详情</div> | 
|---|
|  |  |  | <div class="headline">问题设置详情</div> | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="题目标题"> | 
|---|
|  |  |  | <el-form-item label="问题主题"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topicobj.scriptTopic" | 
|---|
|  |  |  | placeholder="请输入标题" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-form-item label="问题内容"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 600px" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | autosize | 
|---|
|  |  |  | placeholder="请输入问题内容" | 
|---|
|  |  |  | v-model="topicobj.scriptContent" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-input | 
|---|
|  |  |  | ></el-form-item> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-col :span="12" | 
|---|
|  |  |  | ><el-form-item label="题目类型"> | 
|---|
|  |  |  | ><el-form-item label="问题类型"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="topicobj.scriptType" | 
|---|
|  |  |  | disabled | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | label="题目分值" | 
|---|
|  |  |  | v-if="topicobj.scoretype == 1" | 
|---|
|  |  |  | label="问题分值" | 
|---|
|  |  |  | v-if="ruleForm.scoreType == 1" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="topicobj.score" | 
|---|
|  |  |  | 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.isavailable"> | 
|---|
|  |  |  | ><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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | v-for="item in topicobj.svyLibTemplateTargetoptions" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-row :gutter="5"> | 
|---|
|  |  |  | <el-col :span="16" | 
|---|
|  |  |  | ><el-form-item label="选项"> | 
|---|
|  |  |  | <el-col :span="12" | 
|---|
|  |  |  | ><el-form-item label="选项名称"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | placeholder="请输入选项" | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-input> </el-form-item | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | <el-col :span="8"> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | v-if="topicobj.scoretype == 1" | 
|---|
|  |  |  | v-if="ruleForm.scoreType == 1" | 
|---|
|  |  |  | label="选项分值" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | v-else-if="topicobj.scoretype == 2" | 
|---|
|  |  |  | v-else-if="ruleForm.scoreType == 2" | 
|---|
|  |  |  | label="ABC等级" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-radio-group v-model="item.score"> | 
|---|
|  |  |  | <el-radio label="A">A</el-radio> | 
|---|
|  |  |  | <el-radio label="B">B</el-radio> | 
|---|
|  |  |  | <el-radio label="C">C</el-radio> | 
|---|
|  |  |  | <el-radio :label="1">A</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 | 
|---|
|  |  |  | v-else-if="topicobj.scoretype == 3" | 
|---|
|  |  |  | v-else-if="ruleForm.scoreType == 3" | 
|---|
|  |  |  | label="优良等级" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-radio-group v-model="item.score"> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-form-item label="异常提醒"> | 
|---|
|  |  |  | <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-row :gutter="10" v-if="topicobj.branchFlag == 1"> | 
|---|
|  |  |  | <el-col :span="20" | 
|---|
|  |  |  | 
|---|
|  |  |  | <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-button type="primary" @click="laststep()">上一步</el-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <!-- 添加题目弹窗 --> | 
|---|
|  |  |  | <!-- 添加问题弹窗 --> | 
|---|
|  |  |  | <el-drawer | 
|---|
|  |  |  | title="添加题目" | 
|---|
|  |  |  | title="添加问题" | 
|---|
|  |  |  | :visible.sync="drawer" | 
|---|
|  |  |  | custom-class="demo-drawer" | 
|---|
|  |  |  | size="50%" | 
|---|
|  |  |  | 
|---|
|  |  |  | @keyup.enter.native="getaddtopiclist" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="题目类型" prop="scriptTopic"> | 
|---|
|  |  |  | <el-form-item label="问题类型" prop="scriptTopic"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="queryParams.scriptType" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | 
|---|
|  |  |  | class="demo-form-inline" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div class="headline"> | 
|---|
|  |  |  | 题目设置详情 | 
|---|
|  |  |  | 问题设置详情 | 
|---|
|  |  |  | <span style="margin-left: 30px" | 
|---|
|  |  |  | ><el-button type="primary" @click="Submittopicobj" | 
|---|
|  |  |  | >保存新增</el-button | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-divider></el-divider> | 
|---|
|  |  |  | <div> | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-col :span="18" | 
|---|
|  |  |  | ><el-form-item label="问题内容"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 400px" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | v-model="indexform.scriptContent" | 
|---|
|  |  |  | placeholder="请输入问题内容" | 
|---|
|  |  |  | ></el-input> </el-form-item | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="题目标题"> | 
|---|
|  |  |  | <el-form-item label="问题主题"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="indexform.scriptTopic" | 
|---|
|  |  |  | placeholder="请输入题目标题" | 
|---|
|  |  |  | placeholder="请输入问题主题" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="题目得分"> | 
|---|
|  |  |  | <el-form-item label="问题得分"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | v-model="indexform.score" | 
|---|
|  |  |  | placeholder="请输入分数" | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="评价类型"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="indexform.scoretype" | 
|---|
|  |  |  | v-model="indexform.scoreType" | 
|---|
|  |  |  | placeholder="请选择分类" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-col :span="12"> | 
|---|
|  |  |  | <el-form-item label="是否可用"> | 
|---|
|  |  |  | <el-radio-group v-model="indexform.isAvailable"> | 
|---|
|  |  |  | <el-radio-group v-model="indexform.isenable"> | 
|---|
|  |  |  | <el-radio | 
|---|
|  |  |  | v-for="(item, index) in usable" | 
|---|
|  |  |  | :label="item.value" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-col :span="18" | 
|---|
|  |  |  | ><el-form-item label="题目内容"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 400px" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | v-model="indexform.scriptContent" | 
|---|
|  |  |  | placeholder="请从左侧列表选择" | 
|---|
|  |  |  | ></el-input> </el-form-item | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div> | 
|---|
|  |  |  | <el-form-item label="指标名称" prop="deptId"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 250px" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | v-model="indexform.targetname" | 
|---|
|  |  |  | placeholder="请输入指标名称" | 
|---|
|  |  |  | maxlength="20" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="指标描述" prop="deptId"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 250px" | 
|---|
|  |  |  | type="textarea" | 
|---|
|  |  |  | :rows="2" | 
|---|
|  |  |  | v-model="indexform.targetdesc" | 
|---|
|  |  |  | placeholder="请输入指标描述" | 
|---|
|  |  |  | maxlength="60" | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="20"> | 
|---|
|  |  |  | <el-form-item label="值类型"> | 
|---|
|  |  |  | <el-form-item label="结果类型"> | 
|---|
|  |  |  | <el-radio-group v-model="indexform.valueType"> | 
|---|
|  |  |  | <el-radio :label="1">选项</el-radio> | 
|---|
|  |  |  | <el-radio :label="2">文本</el-radio> | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="20"> | 
|---|
|  |  |  | <el-form-item label="题目类型"> | 
|---|
|  |  |  | <el-form-item label="问题类型"> | 
|---|
|  |  |  | <el-radio-group v-model="indexform.scriptType"> | 
|---|
|  |  |  | <el-radio :label="1">单选</el-radio> | 
|---|
|  |  |  | <el-radio :label="2">多选</el-radio> | 
|---|
|  |  |  | 
|---|
|  |  |  | <el-col :span="11" | 
|---|
|  |  |  | ><el-form-item label="选项名称"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 400px" | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | placeholder="请输入选项分值" | 
|---|
|  |  |  | v-model="item.optioncontent" | 
|---|
|  |  |  | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | <el-col :span="11"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | v-if="indexform.scoretype == 1" | 
|---|
|  |  |  | v-if="indexform.scoreType == 1" | 
|---|
|  |  |  | label="分值" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | v-else-if="indexform.scoretype == 2" | 
|---|
|  |  |  | v-else-if="indexform.scoreType == 2" | 
|---|
|  |  |  | label="ABC等级" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-radio-group v-model="item.score"> | 
|---|
|  |  |  | <el-radio label="A">A</el-radio> | 
|---|
|  |  |  | <el-radio label="B">B</el-radio> | 
|---|
|  |  |  | <el-radio label="C">C</el-radio> | 
|---|
|  |  |  | <el-radio :label="1">A</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 | 
|---|
|  |  |  | v-else-if="indexform.scoretype == 3" | 
|---|
|  |  |  | v-else-if="indexform.scoreType == 3" | 
|---|
|  |  |  | label="优良等级" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-radio-group v-model="item.score"> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-col | 
|---|
|  |  |  | :span="2" | 
|---|
|  |  |  | :offsset="indexform.scoretype == 4 ? 11 : 0" | 
|---|
|  |  |  | :offsset="indexform.scoreType == 4 ? 11 : 0" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | type="danger" | 
|---|
|  |  |  | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-row :gutter="10"> | 
|---|
|  |  |  | <el-form-item label="预警提醒"> | 
|---|
|  |  |  | <el-form-item label="异常提醒"> | 
|---|
|  |  |  | <el-radio-group v-model="item.isabnormal"> | 
|---|
|  |  |  | <el-radio :label="1">是</el-radio> | 
|---|
|  |  |  | <el-radio :label="0">否</el-radio> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | 
|---|
|  |  |  | import store from "@/store"; | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | getQtemplateclassify, | 
|---|
|  |  |  | delQtemplateclassify, | 
|---|
|  |  |  | addQtemplateclassify, | 
|---|
|  |  |  | depthospgetson, | 
|---|
|  |  |  | depthospgetsonlist, | 
|---|
|  |  |  | getQtemplateobj, | 
|---|
|  |  |  | compileQtemplate, | 
|---|
|  |  |  | Qtemplateinfo, | 
|---|
|  |  |  | 
|---|
|  |  |  | Followupinfo, | 
|---|
|  |  |  | issueinfo, | 
|---|
|  |  |  | getissuelist, | 
|---|
|  |  |  | depthospgetsondel, | 
|---|
|  |  |  | deltargetillness, | 
|---|
|  |  |  | addtargetillness, | 
|---|
|  |  |  | getillnesslist, | 
|---|
|  |  |  | 
|---|
|  |  |  | } from "@/api/AiCentre/index"; | 
|---|
|  |  |  | import OptionalForm from "@/components/OptionalForm"; //正则组件 | 
|---|
|  |  |  | import { getToken } from "@/utils/auth"; | 
|---|
|  |  |  | import { deptTreeSelect } from "@/api/system/user"; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: "Questionnaireinfo", | 
|---|
|  |  |  | 
|---|
|  |  |  | svyTemplateLibScripts: [], | 
|---|
|  |  |  | tempDetpRelevances: [], | 
|---|
|  |  |  | svyLibTemplateTagList: [], | 
|---|
|  |  |  | suitway: [], | 
|---|
|  |  |  | scoreType: "4", | 
|---|
|  |  |  | isenable: "0", | 
|---|
|  |  |  | longTemp: "0", | 
|---|
|  |  |  | sendDay: "5", | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | indexform: { | 
|---|
|  |  |  | svyLibTemplateTargetoptions: [], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | rules: {}, | 
|---|
|  |  |  | // 表单校验 | 
|---|
|  |  |  | rules: { | 
|---|
|  |  |  | categoryid: [ | 
|---|
|  |  |  | { required: true, message: "问卷分类不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | scoreType: [ | 
|---|
|  |  |  | { required: true, message: "评价类型不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | svyname: [ | 
|---|
|  |  |  | { required: true, message: "问卷名称不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | isenable: [ | 
|---|
|  |  |  | { required: true, message: "可用状态不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | scriptTopic: [ | 
|---|
|  |  |  | { required: true, message: "问题主题不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | ismandatory: [ | 
|---|
|  |  |  | { required: true, message: "是否必填不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | scriptType: [ | 
|---|
|  |  |  | { required: true, message: "问题类型不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | suitway: [ | 
|---|
|  |  |  | { required: true, message: "问卷方式不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | conclusion: [ | 
|---|
|  |  |  | { required: true, message: "问卷结束语不能为空", trigger: "blur" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | rulesa: {}, | 
|---|
|  |  |  | optionsclass: [], //分类列表 | 
|---|
|  |  |  | optionlist: [ | 
|---|
|  |  |  | 
|---|
|  |  |  | sdadd: ["sss", "ssccss", "ssaas", "ss"], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | addvalue: "添加题目", | 
|---|
|  |  |  | // 题目表格数据 | 
|---|
|  |  |  | addvalue: "添加问题", | 
|---|
|  |  |  | // 问题表格数据 | 
|---|
|  |  |  | userList: [], | 
|---|
|  |  |  | deptList: [], | 
|---|
|  |  |  | props: { multiple: true, value: "deptId", label: "deptName" }, | 
|---|
|  |  |  | 
|---|
|  |  |  | illnessVisible: false, //指标疾病弹框 | 
|---|
|  |  |  | Operateit: true, | 
|---|
|  |  |  | deptOptions: [], | 
|---|
|  |  |  | flatArray: [], | 
|---|
|  |  |  | optionsillness: [], | 
|---|
|  |  |  | delScriptVOList: [], | 
|---|
|  |  |  | illnesslistapi: [], | 
|---|
|  |  |  | illnesslist: [], | 
|---|
|  |  |  | tempDetpRelevanceslist: [], | 
|---|
|  |  |  | tempDetpRelevanceslist: [], //科室数据 | 
|---|
|  |  |  | tempDetpRelevanceslistform: [], //科室数据 | 
|---|
|  |  |  | tempbelongWards: [], //病区数据 | 
|---|
|  |  |  | tempbelongWardsform: [], //病区数据 | 
|---|
|  |  |  | optionstag: [], | 
|---|
|  |  |  | valuetype: [], | 
|---|
|  |  |  | qremark: [], | 
|---|
|  |  |  | hosplist: [], | 
|---|
|  |  |  | deptlist: [], | 
|---|
|  |  |  | usable: [ | 
|---|
|  |  |  | { value: "0", label: "可用" }, | 
|---|
|  |  |  | { value: "1", label: "停用" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | hides: [ | 
|---|
|  |  |  | { value: 0, label: "正常" }, | 
|---|
|  |  |  | { value: 1, label: "隐藏" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | longtype: [ | 
|---|
|  |  |  | { value: "0", label: "普通任务" }, | 
|---|
|  |  |  | { value: "1", label: "长期任务" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | required: [ | 
|---|
|  |  |  | { value: "1", label: "必填" }, | 
|---|
|  |  |  | 
|---|
|  |  |  | pageNum: 1, | 
|---|
|  |  |  | pageSize: 10, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | arr: [ | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | { id: 1, grade: "5" }, | 
|---|
|  |  |  | { id: 2, grade: "5" }, | 
|---|
|  |  |  | { id: 3, grade: "5" }, | 
|---|
|  |  |  | { id: 4, grade: "5" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | { id: 1, grade: "5" }, | 
|---|
|  |  |  | { id: 3, grade: "5" }, | 
|---|
|  |  |  | { id: 4, grade: "5" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | [ | 
|---|
|  |  |  | { id: 1, grade: "5" }, | 
|---|
|  |  |  | { id: 2, grade: "5" }, | 
|---|
|  |  |  | { id: 4, grade: "5" }, | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | belongWards: [], | 
|---|
|  |  |  | belongDepts: [], | 
|---|
|  |  |  | queryParamsdept: { | 
|---|
|  |  |  | tempid: "", | 
|---|
|  |  |  | type: 1, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | activated() { | 
|---|
|  |  |  | console.log(this.id); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (this.id != this.$route.query.id) { | 
|---|
|  |  |  | this.getissueinfo(); | 
|---|
|  |  |  | this.gettabList(); | 
|---|
|  |  |  | 
|---|
|  |  |  | this.ruleForm.svyLibTemplateTagList.filter( | 
|---|
|  |  |  | (item) => item.isoperation != 3 | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if (this.ruleForm.suitway) | 
|---|
|  |  |  | this.ruleForm.suitway = this.ruleForm.suitway.split(","); | 
|---|
|  |  |  | this.delScriptVOList = []; | 
|---|
|  |  |  | this.tempDetpRelevanceslistform = []; | 
|---|
|  |  |  | this.tempbelongWardsform = []; | 
|---|
|  |  |  | this.$forceUpdate(); | 
|---|
|  |  |  | console.log(this.ruleForm.svyTemplateLibScripts); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.getissueinfo(); | 
|---|
|  |  |  | this.gettabList(); | 
|---|
|  |  |  | this.getDeptTree(); | 
|---|
|  |  |  | this.mode = store.getters.Askmode; | 
|---|
|  |  |  | this.languagelist = store.getters.languagelist; | 
|---|
|  |  |  | this.usable = store.getters.usable; | 
|---|
|  |  |  | 
|---|
|  |  |  | this.courtyardlist = store.getters.courtyardlist; | 
|---|
|  |  |  | this.askvaluetype = store.getters.askvaluetype; | 
|---|
|  |  |  | this.appraiselist = store.getters.appraiselist; | 
|---|
|  |  |  | this.belongWards = store.getters.belongWards; | 
|---|
|  |  |  | this.belongDepts = store.getters.belongDepts; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // this.test(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | return this.illnesslist.length - 10; | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | // 公共方法--------------- | 
|---|
|  |  |  | getIndexInArray(arr, obj) { | 
|---|
|  |  |  | 
|---|
|  |  |  | // 获取数据 | 
|---|
|  |  |  | getissueinfo() { | 
|---|
|  |  |  | this.id = this.$route.query.id; | 
|---|
|  |  |  | this.queryParamsdept.tempid = this.id; | 
|---|
|  |  |  | this.ruleForm = { | 
|---|
|  |  |  | svyTemplateLibScripts: [], | 
|---|
|  |  |  | tempDetpRelevances: [], | 
|---|
|  |  |  | svyLibTemplateTagList: [], | 
|---|
|  |  |  | scoreType: "4", | 
|---|
|  |  |  | isenable: "0", | 
|---|
|  |  |  | longTemp: "0", | 
|---|
|  |  |  | sendDay: "5", | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.topicobj = {}; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map( | 
|---|
|  |  |  | this.processElement | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); | 
|---|
|  |  |  | this.ruleForm.suitway = this.ruleForm.suitway.split(","); | 
|---|
|  |  |  | console.log(this.dynamicTags, "this.dynamicTags"); | 
|---|
|  |  |  | if (this.ruleForm.suitway) | 
|---|
|  |  |  | this.ruleForm.suitway = this.ruleForm.suitway.split(","); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | getillness({ outid: this.id, type: 5 }).then((res) => { | 
|---|
|  |  |  | this.illnesslist = res.rows; | 
|---|
|  |  |  | 
|---|
|  |  |  | this.ruleForm.isenable = "1"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | listDept(this.queryParams).then((response) => { | 
|---|
|  |  |  | this.deptList = this.handleTree(response.data, "deptId"); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // 分类 | 
|---|
|  |  |  | getQtemplateclassify({}).then((res) => { | 
|---|
|  |  |  | this.optionsclass = res.rows; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.tempDetpRelevanceslist = []; | 
|---|
|  |  |  | this.tempbelongWards = []; | 
|---|
|  |  |  | if (this.queryParamsdept.tempid) { | 
|---|
|  |  |  | depthospgetsonlist(this.queryParamsdept).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | let arr = res.rows; | 
|---|
|  |  |  | arr.forEach((item) => { | 
|---|
|  |  |  | if (item.deptType == 1) { | 
|---|
|  |  |  | this.deptlist.push(item); | 
|---|
|  |  |  | this.tempDetpRelevanceslist.push(item.deptCode); | 
|---|
|  |  |  | } else if (item.deptType == 2) { | 
|---|
|  |  |  | this.hosplist.push(item); | 
|---|
|  |  |  | this.tempbelongWards.push(item.deptCode); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 获取科室树 | 
|---|
|  |  |  | getDeptTree() { | 
|---|
|  |  |  | // 科室列表 | 
|---|
|  |  |  | deptTreeSelect().then((response) => { | 
|---|
|  |  |  | this.deptOptions = response.data; | 
|---|
|  |  |  | this.flatArray = this.flattenArray(response.data); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | flattenArray(multiArray) { | 
|---|
|  |  |  | let result = []; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 递归函数,用于将多级数组转换为一维数组,只包含最底层的元素 | 
|---|
|  |  |  | function flatten(element) { | 
|---|
|  |  |  | // 如果当前元素有子元素,继续递归 | 
|---|
|  |  |  | if (element.children && element.children.length > 0) { | 
|---|
|  |  |  | element.children.forEach((child) => flatten(child)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 克隆元素以避免修改原始数据 | 
|---|
|  |  |  | let item = JSON.parse(JSON.stringify(element)); | 
|---|
|  |  |  | result.push(item); // 将最底层的元素添加到结果数组 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 从顶层元素开始递归 | 
|---|
|  |  |  | multiArray.forEach((element) => flatten(element)); | 
|---|
|  |  |  | return result; // 返回只包含最底层元素的一维数组 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | submitForm(formName) { | 
|---|
|  |  |  | this.$modal.loading("正在修正保存数据,请稍候..."); | 
|---|
|  |  |  | if (this.ruleForm.suitway) { | 
|---|
|  |  |  | if (Array.isArray(this.ruleForm.suitway)) { | 
|---|
|  |  |  | this.ruleForm.suitway = this.ruleForm.suitway.join(","); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (!this.ruleForm.categoryid) { | 
|---|
|  |  |  | this.ruleForm.categoryid = -1; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 题目保存处理 | 
|---|
|  |  |  | //   提交 | 
|---|
|  |  |  | this.ruleForm.svyTemplateLibScripts.forEach((res) => { | 
|---|
|  |  |  | if (!res.isoperation) { | 
|---|
|  |  |  | res.isoperation = 2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | res.ivrLibaScriptTargetoptionList = res.svyLibTemplateTargetoptions.map( | 
|---|
|  |  |  | (item) => { | 
|---|
|  |  |  | if (!item.isoperation) { | 
|---|
|  |  |  | item.isoperation = 2; | 
|---|
|  |  |  | item.templateID = this.ruleForm.id; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return item; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.delScriptVOList.forEach((item) => { | 
|---|
|  |  |  | this.ruleForm.svyTemplateLibScripts.push(item); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (this.id) { | 
|---|
|  |  |  | this.ruleForm.isoperation = 2; | 
|---|
|  |  |  | this.ruleForm.tempDetpRelevances = null; | 
|---|
|  |  |  | compileQtemplate(this.ruleForm).then((res) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("修改成功"); | 
|---|
|  |  |  | this.confirmillness(); | 
|---|
|  |  |  | this.putbelongDepts(); | 
|---|
|  |  |  | this.$modal.closeLoading(); | 
|---|
|  |  |  | this.$router.go(-1); | 
|---|
|  |  |  | // window.location.reload(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.ruleForm.isoperation = 1; | 
|---|
|  |  |  | this.ruleForm.version = this.ruleForm.version | 
|---|
|  |  |  | ? this.ruleForm.version | 
|---|
|  |  |  | : "1.0"; | 
|---|
|  |  |  | this.ruleForm.tempDetpRelevances = null; | 
|---|
|  |  |  | compileQtemplate(this.ruleForm).then((res) => { | 
|---|
|  |  |  | this.$modal.msgSuccess("新增成功"); | 
|---|
|  |  |  | this.confirmillness(res.data); | 
|---|
|  |  |  | this.putbelongDepts(res.data); | 
|---|
|  |  |  | this.$modal.closeLoading(); | 
|---|
|  |  |  | this.$router.go(-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.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); | 
|---|
|  |  |  | this.ruleForm.svyTemplateLibScripts = | 
|---|
|  |  |  | this.ruleForm.svyTemplateLibScripts.concat(this.delScriptVOList); | 
|---|
|  |  |  | const result = this.tempDetpRelevanceslist.map( | 
|---|
|  |  |  | (subArr) => subArr[subArr.length - 1] | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | // id数组查数组对象 | 
|---|
|  |  |  | result.forEach((item) => { | 
|---|
|  |  |  | const condition = this.ruleForm.tempDetpRelevances.some( | 
|---|
|  |  |  | (obj) => obj.deptId === item | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | if (!condition) { | 
|---|
|  |  |  | listDept({ deptId: item }).then((res) => { | 
|---|
|  |  |  | console.log(res.data[0]); | 
|---|
|  |  |  | res.data[0].type = 2; | 
|---|
|  |  |  | this.ruleForm.tempDetpRelevances.push(res.data[0]); | 
|---|
|  |  |  | this.tempDetpRelevanceslist.forEach((item) => { | 
|---|
|  |  |  | console.log(item); | 
|---|
|  |  |  | let result = this.deptlist.some((obj) => obj.deptCode == item); | 
|---|
|  |  |  | console.log(this.result, "result"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (!result) { | 
|---|
|  |  |  | this.tempDetpRelevanceslistform.push({ | 
|---|
|  |  |  | deptType: 1, | 
|---|
|  |  |  | longTemp: this.ruleForm.longTemp, | 
|---|
|  |  |  | deptCode: item, | 
|---|
|  |  |  | tempid: this.id, | 
|---|
|  |  |  | type: 1, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // 数组对象查id数组 | 
|---|
|  |  |  | this.ruleForm.tempDetpRelevances.forEach((item) => { | 
|---|
|  |  |  | const condition = result.some((obj) => obj === item.deptId); | 
|---|
|  |  |  | if (!condition) { | 
|---|
|  |  |  | const index = this.ruleForm.tempDetpRelevances.indexOf(item); | 
|---|
|  |  |  | this.ruleForm.tempDetpRelevances[index].delFlag = 1; | 
|---|
|  |  |  | this.tempbelongWards.forEach((item) => { | 
|---|
|  |  |  | let result = this.hosplist.some((obj) => obj.deptCode == item); | 
|---|
|  |  |  | if (!result) { | 
|---|
|  |  |  | this.tempbelongWardsform.push({ | 
|---|
|  |  |  | deptType: 2, | 
|---|
|  |  |  | longTemp: this.ruleForm.longTemp, | 
|---|
|  |  |  | deptCode: item, | 
|---|
|  |  |  | tempid: this.id, | 
|---|
|  |  |  | type: 1, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // return | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | this.submitForm(); | 
|---|
|  |  |  | }, 1000); | 
|---|
|  |  |  | }, 500); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 科室删除触发 | 
|---|
|  |  |  | removetag(row) { | 
|---|
|  |  |  | let result = this.deptlist | 
|---|
|  |  |  | .filter((item) => item.deptCode == row) | 
|---|
|  |  |  | .map((item) => item.id); | 
|---|
|  |  |  | console.log(result.length); | 
|---|
|  |  |  | if (result.length) { | 
|---|
|  |  |  | depthospgetsondel(result).then((res) => { | 
|---|
|  |  |  | if (res.code) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 删除删除触发 | 
|---|
|  |  |  | removehpsp(row) { | 
|---|
|  |  |  | let result = this.hosplist | 
|---|
|  |  |  | .filter((item) => item.deptCode == row) | 
|---|
|  |  |  | .map((item) => item.id); | 
|---|
|  |  |  | if (result.length) { | 
|---|
|  |  |  | depthospgetsondel(result).then((res) => { | 
|---|
|  |  |  | if (res.code) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 下一步 | 
|---|
|  |  |  | nextstep() { | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 获取题目列表 | 
|---|
|  |  |  | // 获取问题列表 | 
|---|
|  |  |  | getaddtopiclist() { | 
|---|
|  |  |  | this.drawer = true; | 
|---|
|  |  |  | this.queryParams.scoretype = this.ruleForm.scoreType; | 
|---|
|  |  |  | this.queryParams.scoreType = this.ruleForm.scoreType; | 
|---|
|  |  |  | getissuelist(this.queryParams).then((res) => { | 
|---|
|  |  |  | this.loading = false; | 
|---|
|  |  |  | this.userList = res.rows; | 
|---|
|  |  |  | 
|---|
|  |  |  | console.log(this.userList); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 新增题目 | 
|---|
|  |  |  | // 新增问题 | 
|---|
|  |  |  | addtopic(row) { | 
|---|
|  |  |  | row.isoperation = 1; | 
|---|
|  |  |  | row.svyLibScriptOptions.forEach((item) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | console.log(this.ruleForm.svyTemplateLibScripts); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 修改题目信息 | 
|---|
|  |  |  | // 修改问题信息 | 
|---|
|  |  |  | Submittopicobj() { | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm( | 
|---|
|  |  |  | 
|---|
|  |  |  | this.drawer = false; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.sortFn(); | 
|---|
|  |  |  | this.$modal.msgSuccess("题目新增成功,保存模板失效"); | 
|---|
|  |  |  | this.$modal.msgSuccess("问题新增成功,保存模板失效"); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 新增变量 | 
|---|
|  |  |  | 
|---|
|  |  |  | this.illnessVisible = false; | 
|---|
|  |  |  | this.$modal.msgSuccess("编辑成功"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 保存科室/病区 | 
|---|
|  |  |  | putbelongDepts(id) { | 
|---|
|  |  |  | this.tempDetpRelevanceslistform.forEach((item) => { | 
|---|
|  |  |  | if (!item.tempid) item.tempid = id; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.tempbelongWardsform.forEach((item) => { | 
|---|
|  |  |  | if (!item.tempid) item.tempid = id; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | if (this.tempDetpRelevanceslistform.length > 0) { | 
|---|
|  |  |  | depthospgetson(this.tempDetpRelevanceslistform).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$modal.msgSuccess("科室新增成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.tempbelongWardsform.length > 0) { | 
|---|
|  |  |  | depthospgetson(this.tempbelongWardsform).then((res) => { | 
|---|
|  |  |  | if (res.code == 200) { | 
|---|
|  |  |  | this.$modal.msgSuccess("院区新增成功"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | resetQuery() { | 
|---|
|  |  |  | this.queryParams = { pageNum: 1, pageSize: 10 }; | 
|---|
|  |  |  | this.getaddtopiclist(); | 
|---|
|  |  |  | 
|---|
|  |  |  | sumArray(arr) { | 
|---|
|  |  |  | // const arrsum = arr; | 
|---|
|  |  |  | // arrsum.forEach((item) => { | 
|---|
|  |  |  | //   // 判断题目和模板层级 | 
|---|
|  |  |  | //   // 判断问题和模板层级 | 
|---|
|  |  |  | //   console.log(item, "一条链路"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //   const totalScore = item.reduce((accumulator, current) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | if (allGreaterThanTen) { | 
|---|
|  |  |  | this.$modal.msgSuccess("分值校验成功"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.$modal.msgError("题目分值累加和模板分值不符"); | 
|---|
|  |  |  | this.$modal.msgError("问题分值累加和模板分值不符"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (notInB.length) { | 
|---|
|  |  |  | this.$modal.msgError("题目未全部使用"); | 
|---|
|  |  |  | this.$modal.msgError("问题未全部使用"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.$modal.msgSuccess("题目全部使用"); | 
|---|
|  |  |  | this.$modal.msgSuccess("问题全部使用"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | arr.forEach((item) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | return acc; | 
|---|
|  |  |  | }, {}); | 
|---|
|  |  |  | const whether = item.values(idCount).some((count) => count > 1); // 如果有任何 id 的计数大于 1 就返回 true | 
|---|
|  |  |  | if (!whether) this.$modal.msgError("配置项有题目重复"); | 
|---|
|  |  |  | if (!whether) this.$modal.msgError("配置项有问题重复"); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 题目和选项间的分值判断 | 
|---|
|  |  |  | // 问题和选项间的分值判断 | 
|---|
|  |  |  | Scorejudgment() { | 
|---|
|  |  |  | let scorearr = this.topicobj.svyLibScriptOptions; | 
|---|
|  |  |  | let isValid = scorearr.every((score, index) => { | 
|---|
|  |  |  | 
|---|
|  |  |  | 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; | 
|---|