| | |
| | | <div class="Questionnairemanagement"> |
| | | <!-- 左侧栏 --> |
| | | <div class="sidecolumn"> |
| | | <div style="height: 400px"> |
| | | <el-steps direction="vertical" :active="Editprogress"> |
| | | <el-step title="基础信息设置"></el-step> |
| | | <el-step title="问卷设置"></el-step> |
| | | <el-step |
| | | title="问卷预览" |
| | | description="这是一段很长很长很长的描述性文字" |
| | | ></el-step> |
| | | <el-step |
| | | title="结果反馈" |
| | | description="这是一段很长很长很长的描述性文字" |
| | | ></el-step> |
| | | <div> |
| | | <el-steps finish-status="success" :active="Editprogress" simple> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 1" |
| | | >基础信息</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step> |
| | | <template slot="title"> |
| | | <span style="cursor: pointer" @click="Editprogress = 2" |
| | | >问卷问题</span |
| | | > |
| | | </template> |
| | | </el-step> |
| | | <el-step description="查看问卷预览,可导出PDF"> |
| | | <span slot="title" style="cursor: pointer" @click="Editprogress = 3" |
| | | >问卷预览</span |
| | | > |
| | | </el-step> |
| | | </el-steps> |
| | | </div> |
| | | </div> |
| | | <!-- 右侧数据 --> |
| | | <div class="leftvlue"> |
| | | <!-- 基本信息 --> |
| | | <div v-if="Editprogress == 1"> |
| | | <div class="leftvlue-jbxx"> |
| | | 基本信息<span>当前版本:{{ currentVersion }}</span> |
| | | </div> |
| | | <div class="leftvlue-jbxx">基本信息</div> |
| | | <el-divider></el-divider> |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="100px" |
| | | label-width="180px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-form-item label="活动名称" prop="name"> |
| | | <el-input v-model="ruleForm.name"></el-input> |
| | | <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="region"> |
| | | <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="categoryid"> |
| | | <el-select |
| | | v-model="ruleForm.categoryid" |
| | | size="medium" |
| | | filterable |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option-group |
| | | v-for="group in optionsclass" |
| | | :key="group.id" |
| | | :label="group.name" |
| | | > |
| | | <el-option |
| | | v-for="item in group.svyLibTemplateCategoryList" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" |
| | | > |
| | | </el-option> |
| | | </el-option-group> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="评价类型" prop="scoreType"> |
| | | <el-select |
| | | v-model="ruleForm.scoreType" |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option |
| | | v-for="group in appraiselist" |
| | | :key="group.value" |
| | | :label="group.label" |
| | | :value="group.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <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 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" |
| | | type="success" |
| | | v-for="tag in dynamicTags" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClosetag(tag)" |
| | | > |
| | | {{ tag.tagname }} |
| | | </el-tag> |
| | | <el-select |
| | | v-model="inputValue" |
| | | v-if="inputVisible" |
| | | @change="handleInputConfirm" |
| | | filterable |
| | | remote |
| | | allow-create |
| | | reserve-keyword |
| | | default-first-option |
| | | :remote-method="remoteMethodtag" |
| | | :loading="loading" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in optionstag" |
| | | :key="item.tagid" |
| | | :label="item.tagname" |
| | | :value="item.tagname" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-button |
| | | v-else |
| | | class="button-new-tag" |
| | | size="small" |
| | | @click="showInput" |
| | | >+ 新增标签</el-button |
| | | > |
| | | </div> |
| | | </el-form-item> |
| | | </el-row> |
| | | <div class="xinz-infs"> |
| | | <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" |
| | | type="warning" |
| | | :disable-transitions="false" |
| | | > |
| | | {{ tag.icdname }} |
| | | </el-tag> |
| | | <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> |
| | | </el-form-item> |
| | | </div> |
| | | |
| | | <el-form-item label="问卷方式" prop="suitway"> |
| | | <el-select |
| | | v-model="ruleForm.region" |
| | | v-model="ruleForm.suitway" |
| | | style="width: 55vw" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="请选择活动区域" |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in options" |
| | | v-for="item in mode" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="活动形式" prop="desc"> |
| | | |
| | | <el-row> |
| | | <el-col :span="20" |
| | | ><el-form-item label="适用科室" prop="region"> |
| | | <el-select |
| | | v-model="tempDetpRelevanceslist" |
| | | @remove-tag="removetag" |
| | | style="width: 55vw" |
| | | size="medium" |
| | | multiple |
| | | filterable |
| | | placeholder="请选择科室" |
| | | > |
| | | <el-option |
| | | class="ruleFormaa" |
| | | v-for="item in belongDepts" |
| | | :key="item.deptCode" |
| | | :label="item.deptName" |
| | | :value="item.deptCode" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <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 belongWards" |
| | | :key="item.districtCode" |
| | | :label="item.districtName" |
| | | :value="item.districtCode" |
| | | > |
| | | </el-option> |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-form-item label="结束语" prop="conclusion"> |
| | | <el-input |
| | | :rows="4" |
| | | style="width: 55vw; line-height: 80px" |
| | | type="textarea" |
| | | v-model="ruleForm.desc" |
| | | ></el-input> |
| | | </el-form-item> |
| | | :rows="5" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | v-model="ruleForm.conclusion" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button type="success" @click="submitForm('ruleForm')" |
| | | <el-button type="success" @click="nextstep('ruleForm')" |
| | | >下一步</el-button |
| | | > |
| | | <el-button @click="resetForm('ruleForm')">重置</el-button> |
| | | <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button> |
| | | <el-button @click="Departmenttreatment('ruleForm')" |
| | | >保存问卷基础信息</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <!-- 问卷设置 --> |
| | | <div v-if="Editprogress == 2"> |
| | | <div class="leftvlue-jbxx">问卷设置</div> |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="100px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-form-item label="问卷介绍" prop="desc"> |
| | | <el-cascader |
| | | class="demo-cascader" |
| | | v-model="ruleForm.templatevalue" |
| | | :options="options" |
| | | :props="{ expandTrigger: 'hover' }" |
| | | @change="handleChange" |
| | | ></el-cascader> |
| | | <el-select v-model="ruleForm.data2" placeholder="提交提示"> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | <div class="leftvlue-jbxx"> |
| | | 问卷问题设置 |
| | | <span style="" |
| | | ><el-button |
| | | type="warning" |
| | | icon="el-icon-finished" |
| | | round |
| | | @click="test" |
| | | >问题规则效验</el-button |
| | | ></span |
| | | > |
| | | </div> |
| | | <el-divider></el-divider> |
| | | <div style="display: flex; justify-content: space-between"> |
| | | <div> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-plus" |
| | | round |
| | | @click="getaddtopiclist" |
| | | >添加问题</el-button |
| | | > |
| | | <el-button |
| | | type="success" |
| | | icon="el-icon-edit-outline" |
| | | round |
| | | @click="Operateit = !Operateit" |
| | | >{{ !Operateit ? "编辑问题" : "完整信息展示" }}</el-button |
| | | > |
| | | </div> |
| | | <div style="display: flex" v-if="ruleForm.scoreType == 1"> |
| | | <span |
| | | style=" |
| | | width: 180px; |
| | | font-size: 20px; |
| | | font-weight: normal; |
| | | color: red; |
| | | " |
| | | >问卷总分:</span |
| | | > |
| | | <el-input |
| | | v-model="ruleForm.scriptScore" |
| | | placeholder="请输入分数" |
| | | ></el-input> |
| | | </div> |
| | | </div> |
| | | <div class="presentation"> |
| | | <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> |
| | | <el-card class="box-card" style="min-height: 688px"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="ruleForm.svyTemplateLibScripts" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <dev class="PreviewTemplate" @click="PreviewTemplate()" |
| | | >预览模版</dev |
| | | > |
| | | <el-button type="primary">确认引用</el-button> |
| | | </el-form-item> |
| | | <el-form-item label="活动形式" prop="desc"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="活动形式" prop="desc"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="success" @click="submitForm('ruleForm')" |
| | | >下一步</el-button |
| | | > |
| | | <el-button type="primary" @click="laststep()">上一步</el-button> |
| | | <el-button @click="resetForm('ruleForm')">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table-column |
| | | label="序号" |
| | | align="center" |
| | | key="sort" |
| | | prop="sort" |
| | | width="50" |
| | | /> |
| | | <el-table-column |
| | | label="问题主题" |
| | | align="center" |
| | | key="scriptTopic" |
| | | prop="scriptTopic" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="题型" |
| | | align="center" |
| | | key="scriptType" |
| | | prop="scriptType" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="askvaluetype" |
| | | :value="scope.row.scriptType" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="!Operateit" |
| | | label="问题内容" |
| | | align="center" |
| | | key="scriptContent" |
| | | prop="scriptContent" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | v-if="!Operateit" |
| | | label="指标名称" |
| | | align="center" |
| | | key="targetname" |
| | | prop="targetname" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | v-if="!Operateit" |
| | | label="是否必填" |
| | | align="center" |
| | | key="ismandatory" |
| | | prop="ismandatory" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <dict-tag |
| | | :options="required" |
| | | :value="scope.row.ismandatory" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | label="下题跳转" |
| | | align="center" |
| | | key="nextScriptno" |
| | | prop="nextScriptno" |
| | | :show-overflow-tooltip="true" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ |
| | | scope.row.nextScriptno == 0 |
| | | ? "已是最后一题" |
| | | : scope.row.nextScriptno |
| | | }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | v-if="Operateit" |
| | | label="操作" |
| | | align="center" |
| | | width="250" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | icon="el-icon-edit" |
| | | type="primary" |
| | | circle |
| | | @click="handleUpdate(scope.row)" |
| | | ></el-button> |
| | | <el-button |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | circle |
| | | @click="handleDelete(scope.row)" |
| | | ></el-button> |
| | | <el-button |
| | | @click="syioption(scope.row)" |
| | | type="success" |
| | | icon="el-icon-top" |
| | | circle |
| | | ></el-button> |
| | | <el-button |
| | | @click="xiayioption(scope.row)" |
| | | type="success" |
| | | icon="el-icon-bottom" |
| | | circle |
| | | ></el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-card> |
| | | </div> |
| | | <div class="presentation-right" v-if="Operateit"> |
| | | <el-card class="box-card"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="topicobj" |
| | | class="demo-form-inline" |
| | | > |
| | | <div class="headline">问题设置详情</div> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="问题主题"> |
| | | <el-input |
| | | v-model="topicobj.scriptTopic" |
| | | placeholder="请输入标题" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="下题跳转"> |
| | | <el-input |
| | | v-model="topicobj.nextScriptno" |
| | | placeholder="请输入题号" |
| | | ></el-input> |
| | | </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-select |
| | | v-model="topicobj.scriptType" |
| | | disabled |
| | | size="medium" |
| | | filterable |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option |
| | | class="topicobjaa" |
| | | v-for="item in askvaluetype" |
| | | :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="问题分值" |
| | | v-if="topicobj.scoretype == 1" |
| | | > |
| | | <el-input |
| | | v-model="topicobj.score" |
| | | placeholder="请输入题号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="是否必填"> |
| | | <el-radio-group v-model="topicobj.ismandatory"> |
| | | <el-radio |
| | | v-for="(item, index) in required" |
| | | :label="item.value" |
| | | >{{ item.label }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </el-form-item></el-col |
| | | > |
| | | <el-col :span="12" |
| | | ><el-form-item label="是否可用"> |
| | | <el-radio-group v-model="topicobj.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-row> |
| | | <el-form-item |
| | | label="是否由选项配置跳转" |
| | | 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-group> |
| | | </el-form-item> |
| | | <el-form-item label="选中提示" v-if="topicobj.scriptType != 1"> |
| | | <el-input |
| | | style="width: 24vw" |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | v-model="topicobj.prompt" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | <div |
| | | v-if="topicobj.scriptType == 1 || topicobj.scriptType == 2" |
| | | > |
| | | <div class="headline">选项设置</div> |
| | | <div |
| | | class="topicxq" |
| | | v-for="item in topicobj.svyLibTemplateTargetoptions" |
| | | > |
| | | <el-row :gutter="5"> |
| | | <el-col :span="16" |
| | | ><el-form-item label="选项名称"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请输入选项" |
| | | v-model="item.optioncontent" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item |
| | | v-if="topicobj.scoretype == 1" |
| | | label="选项分值" |
| | | > |
| | | <el-input |
| | | class="custom-width" |
| | | type="text" |
| | | placeholder="请输入选项分值" |
| | | v-model="item.score" |
| | | show-word-limit |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-else-if="topicobj.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-group> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-else-if="topicobj.scoretype == 3" |
| | | label="优良等级" |
| | | > |
| | | <el-radio-group v-model="item.score"> |
| | | <el-radio label="优">优</el-radio> |
| | | <el-radio label="良">良</el-radio> |
| | | <el-radio label="差">差</el-radio> |
| | | </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-row> |
| | | <el-row :gutter="10" v-if="topicobj.branchFlag == 1"> |
| | | <el-col :span="20" |
| | | ><el-form-item label="下题跳转(序号)"> |
| | | <el-input |
| | | type="text" |
| | | @blur="branchFlagfn" |
| | | placeholder="请输入题号" |
| | | v-model="item.nextQuestion" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="10" v-if="topicobj.scriptType == 1"> |
| | | <el-form-item label="选中提示"> |
| | | <el-input |
| | | style="width: 24vw" |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | v-model="item.prompt" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-form-item label="选项文件" prop="sickness"> |
| | | <div style="width: 40vw"> |
| | | <div style="margin: 20px"> |
| | | <el-image |
| | | style="width: 100px; height: 100px" |
| | | :src="item.picturePath" |
| | | :preview-src-list="[...item.picturePath]" |
| | | > |
| | | </el-image> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | <div v-else> |
| | | <div class="topicxq"> |
| | | <el-row :gutter="10"> |
| | | <el-form-item label="答案"> |
| | | <el-input |
| | | style="width: 20vw" |
| | | type="textarea" |
| | | :rows="2" |
| | | placeholder="此处放置患者回答" |
| | | v-model="topicobj.reply" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | </el-row> |
| | | <el-form-item label="分值"> |
| | | <template #label> |
| | | 分值 |
| | | <el-tooltip |
| | | class="item" |
| | | effect="light" |
| | | content="填空题分数值由负责人员在问卷手机后手动评价。" |
| | | placement="top-start" |
| | | > |
| | | <i class="el-icon-warning-outline"></i> |
| | | </el-tooltip> |
| | | <!-- 在标签后插入红色星号 --> |
| | | </template> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请输入选项分值" |
| | | v-model="topicobj.score" |
| | | show-word-limit |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | </el-card> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-button type="success" @click="nextstep('ruleForm')" |
| | | >下一步</el-button |
| | | > |
| | | <el-button type="primary" @click="laststep()">上一步</el-button> |
| | | <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button> |
| | | <el-button @click="Departmenttreatment('ruleForm')" |
| | | >保存问题数据</el-button |
| | | > |
| | | </div> |
| | | <!-- 问卷预览 --> |
| | | <div v-if="Editprogress == 3"> |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="100px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-form-item label="活动名称" prop="name"> |
| | | <el-input v-model="ruleForm.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="活动区域" prop="region"> |
| | | <el-select v-model="ruleForm.region" placeholder="请选择活动区域"> |
| | | <el-option label="区域一" value="shanghai"></el-option> |
| | | <el-option label="区域二" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="活动时间" required> |
| | | <el-col :span="11"> |
| | | <el-form-item prop="date1"> |
| | | <el-date-picker |
| | | type="date" |
| | | placeholder="选择日期" |
| | | v-model="ruleForm.date1" |
| | | style="width: 100%" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col class="line" :span="2">-</el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item prop="date2"> |
| | | <el-time-picker |
| | | placeholder="选择时间" |
| | | v-model="ruleForm.date2" |
| | | style="width: 100%" |
| | | ></el-time-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-form-item> |
| | | <el-form-item label="即时配送" prop="delivery"> |
| | | <el-switch v-model="ruleForm.delivery"></el-switch> |
| | | </el-form-item> |
| | | <el-form-item label="活动性质" prop="type"> |
| | | <el-checkbox-group v-model="ruleForm.type"> |
| | | <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox> |
| | | <el-checkbox label="地推活动" name="type"></el-checkbox> |
| | | <el-checkbox label="线下主题活动" name="type"></el-checkbox> |
| | | <el-checkbox label="单纯品牌曝光" name="type"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="特殊资源" prop="resource"> |
| | | <el-radio-group v-model="ruleForm.resource"> |
| | | <el-radio label="线上品牌商赞助"></el-radio> |
| | | <el-radio label="线下场地免费"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="活动形式" prop="desc"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="success" @click="submitForm('ruleForm')" |
| | | >下一步</el-button |
| | | <div class="leftvlue-jbxx">问卷预览</div> |
| | | <el-divider></el-divider> |
| | | <div class="preview-left"> |
| | | <div v-for="item in ruleForm.svyTemplateLibScripts"> |
| | | <!-- 单选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 1" |
| | | > |
| | | <el-button type="primary" @click="laststep()">上一步</el-button> |
| | | <el-button @click="resetForm('ruleForm')">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <div v-if="Editprogress == 4"> |
| | | <el-form |
| | | :model="ruleForm" |
| | | :rules="rules" |
| | | ref="ruleForm" |
| | | label-width="100px" |
| | | class="demo-ruleForm" |
| | | > |
| | | <el-form-item label="活动名称" prop="name"> |
| | | <el-input v-model="ruleForm.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="活动区域" prop="region"> |
| | | <el-select v-model="ruleForm.region" placeholder="请选择活动区域"> |
| | | <el-option label="区域一" value="shanghai"></el-option> |
| | | <el-option label="区域二" value="beijing"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="活动时间" required> |
| | | <el-col :span="11"> |
| | | <el-form-item prop="date1"> |
| | | <el-date-picker |
| | | type="date" |
| | | placeholder="选择日期" |
| | | v-model="ruleForm.date1" |
| | | style="width: 100%" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col class="line" :span="2">-</el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item prop="date2"> |
| | | <el-time-picker |
| | | placeholder="选择时间" |
| | | v-model="ruleForm.date2" |
| | | style="width: 100%" |
| | | ></el-time-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-form-item> |
| | | <el-form-item label="即时配送" prop="delivery"> |
| | | <el-switch v-model="ruleForm.delivery"></el-switch> |
| | | </el-form-item> |
| | | <el-form-item label="活动性质" prop="type"> |
| | | <el-checkbox-group v-model="ruleForm.type"> |
| | | <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox> |
| | | <el-checkbox label="地推活动" name="type"></el-checkbox> |
| | | <el-checkbox label="线下主题活动" name="type"></el-checkbox> |
| | | <el-checkbox label="单纯品牌曝光" name="type"></el-checkbox> |
| | | </el-checkbox-group> |
| | | </el-form-item> |
| | | <el-form-item label="特殊资源" prop="resource"> |
| | | <el-radio-group v-model="ruleForm.resource"> |
| | | <el-radio label="线上品牌商赞助"></el-radio> |
| | | <el-radio label="线下场地免费"></el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="活动形式" prop="desc"> |
| | | <el-input type="textarea" v-model="ruleForm.desc"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="success" @click="submitForm('ruleForm')" |
| | | >立即创建</el-button |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="item.remark"> |
| | | <el-radio |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 2" |
| | | > |
| | | <el-button type="primary" @click="laststep()">上一步</el-button> |
| | | <el-button @click="resetForm('ruleForm')">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="qremark"> |
| | | <el-checkbox |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | > |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 4" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.sort }}、[填空]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input placeholder="请输入答案" v-model="radioas" clearable> |
| | | </el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-button type="info" @click="closeFm('ruleForm')">关闭</el-button> |
| | | <el-button>导出为pdf</el-button> |
| | | <el-button type="primary" @click="laststep()">上一步</el-button> |
| | | </div> |
| | | </div> |
| | | <!-- 添加问题弹窗 --> |
| | | <el-drawer |
| | | title="我是标题" |
| | | title="添加问题" |
| | | :visible.sync="drawer" |
| | | :before-close="handleClose" |
| | | custom-class="demo-drawer" |
| | | size="50%" |
| | | > |
| | | <span>我来啦!</span> |
| | | <div style="margin: 0 25px"> |
| | | <el-tabs v-model="activeName"> |
| | | <el-tab-pane label="题库选取" name="first"> |
| | | <div class="preview-left"> |
| | | <el-form |
| | | :model="queryParams" |
| | | ref="queryForm" |
| | | size="small" |
| | | :inline="true" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="问题标题" prop="scriptTopic"> |
| | | <el-input |
| | | v-model="queryParams.scriptTopic" |
| | | placeholder="请输入" |
| | | clearable |
| | | style="width: 200px" |
| | | @keyup.enter.native="getaddtopiclist" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="问题类型" prop="scriptTopic"> |
| | | <el-select |
| | | v-model="queryParams.scriptType" |
| | | size="medium" |
| | | filterable |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option |
| | | class="topicobjaa" |
| | | v-for="item in askvaluetype" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | size="medium" |
| | | @click="getaddtopiclist" |
| | | >搜索</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-refresh" |
| | | size="medium" |
| | | @click="resetQuery" |
| | | >重置</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table v-loading="loading" :data="userList"> |
| | | <el-table-column |
| | | label="标题" |
| | | align="center" |
| | | key="scriptTopic" |
| | | prop="scriptTopic" |
| | | width="100" |
| | | /> |
| | | <el-table-column |
| | | label="问题内容" |
| | | align="center" |
| | | key="scriptContent" |
| | | prop="scriptContent" |
| | | width="200" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="选项内容" |
| | | align="center" |
| | | key="targetoptions" |
| | | prop="targetoptions" |
| | | width="200" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | class-name="small-padding fixed-width" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="medium" |
| | | type="text" |
| | | @click="addtopic(scope.row)" |
| | | ><span class="button-textxg" |
| | | ><i class="el-icon-circle-plus-outline"></i>添加</span |
| | | ></el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | v-show="total > 0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getaddtopiclist" |
| | | /> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="手动配置" name="second"> |
| | | <div class="preview-left"> |
| | | <el-form |
| | | :inline="true" |
| | | :model="indexform" |
| | | class="demo-form-inline" |
| | | > |
| | | <div class="headline"> |
| | | 问题设置详情 |
| | | <span style="margin-left: 30px" |
| | | ><el-button type="primary" @click="Submittopicobj" |
| | | >保存新增</el-button |
| | | ></span |
| | | > |
| | | </div> |
| | | <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-input |
| | | v-model="indexform.scriptTopic" |
| | | placeholder="请输入问题主题" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="问题得分"> |
| | | <el-input |
| | | v-model="indexform.score" |
| | | placeholder="请输入分数" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="评价类型"> |
| | | <el-select |
| | | v-model="indexform.scoretype" |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option |
| | | v-for="group in appraiselist" |
| | | :key="group.value" |
| | | :label="group.label" |
| | | :value="group.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="语言"> |
| | | <el-select |
| | | v-model="indexform.language" |
| | | size="medium" |
| | | filterable |
| | | placeholder="请选择分类" |
| | | > |
| | | <el-option |
| | | class="topicobjaa" |
| | | v-for="item in languagelist" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="是否可用"> |
| | | <el-radio-group v-model="indexform.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="12"> |
| | | <el-form-item label="是否必填"> |
| | | <el-radio-group v-model="indexform.ismandatory"> |
| | | <el-radio |
| | | v-for="(item, index) in required" |
| | | :label="item.value" |
| | | >{{ item.label }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </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-form-item> |
| | | |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="结果类型"> |
| | | <el-radio-group v-model="indexform.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-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="问题类型"> |
| | | <el-radio-group v-model="indexform.scriptType"> |
| | | <el-radio :label="1">单选</el-radio> |
| | | <el-radio :label="2">多选</el-radio> |
| | | <el-radio :label="4">问答</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="topicxq" v-if="indexform.scriptType == 4"> |
| | | <el-row> |
| | | <el-col :span="20"> |
| | | <el-form-item label="收集内容"> |
| | | <el-input |
| | | style="width: 400px" |
| | | type="textarea" |
| | | v-model="indexform.value" |
| | | placeholder="问题收集内容" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | |
| | | <div v-else> |
| | | <div class="headline"> |
| | | <div class="basics"> |
| | | 选项设置 |
| | | <span style="margin-left: 30px" |
| | | ><el-button type="primary" round @click="addoption" |
| | | >+新增</el-button |
| | | ></span |
| | | > |
| | | </div> |
| | | </div> |
| | | <el-divider></el-divider> |
| | | <div |
| | | class="topicxq" |
| | | v-for="item in indexform.svyLibTemplateTargetoptions" |
| | | v-if="item.isoperation != 3" |
| | | > |
| | | <el-row :gutter="10"> |
| | | <el-col :span="11" |
| | | ><el-form-item label="选项名称"> |
| | | <el-input |
| | | style="width: 400px" |
| | | type="text" |
| | | placeholder="请输入选项分值" |
| | | v-model="item.optioncontent" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="11"> |
| | | <el-form-item |
| | | v-if="indexform.scoretype == 1" |
| | | label="分值" |
| | | > |
| | | <el-input |
| | | type="text" |
| | | placeholder="请输入选项分值" |
| | | v-model="item.score" |
| | | show-word-limit |
| | | > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | 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-group> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-else-if="indexform.scoretype == 3" |
| | | label="优良等级" |
| | | > |
| | | <el-radio-group v-model="item.score"> |
| | | <el-radio label="优">优</el-radio> |
| | | <el-radio label="良">良</el-radio> |
| | | <el-radio label="差">差</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col |
| | | :span="2" |
| | | :offsset="indexform.scoretype == 4 ? 11 : 0" |
| | | > |
| | | <el-button |
| | | type="danger" |
| | | icon="el-icon-delete" |
| | | circle |
| | | @click="deletexuanx(item)" |
| | | ></el-button> |
| | | </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-row> |
| | | <el-row :gutter="10" v-if="item.scriptType == 1"> |
| | | <el-form-item label="选中提示"> |
| | | <el-input |
| | | style="width: 400px" |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | v-model="item.prompt" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | </el-row> |
| | | <el-form-item label="选项文件" prop="sickness"> |
| | | <div style="width: 40vw"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | :action="uploadImgUrl" |
| | | :headers="headers" |
| | | accept=".jpg,.png,image/*" |
| | | :on-success="handleChange.bind(this, item)" |
| | | > |
| | | <el-button size="small" type="primary" |
| | | >点击上传</el-button |
| | | > |
| | | </el-upload> |
| | | <div style="margin: 20px"> |
| | | <el-image |
| | | style="width: 100px; height: 100px" |
| | | :src="item.picturePath" |
| | | :preview-src-list="[...item.picturePath]" |
| | | > |
| | | </el-image> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | </div> |
| | | </el-drawer> |
| | | <!-- 添加适用疾病窗口 --> |
| | | <Optional-Form |
| | | ref="child" |
| | | :dialogVisiblepatient="dialogVisiblepatient" |
| | | :overallCase="illnesslist" |
| | | @addoption="dialogVisiblepatient = false" |
| | | @kkoption="dialogVisiblepatient = true" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listtag } from "@/api/system/label"; |
| | | import { listDept } from "@/api/system/dept"; |
| | | import store from "@/store"; |
| | | import { |
| | | getQtemplateclassify, |
| | | depthospgetson, |
| | | depthospgetsonlist, |
| | | getQtemplateobj, |
| | | compileQtemplate, |
| | | Qtemplateinfo, |
| | | compileissue, |
| | | delQtemplateinfo, |
| | | Followupinfo, |
| | | issueinfo, |
| | | getissuelist, |
| | | depthospgetsondel, |
| | | deltargetillness, |
| | | addtargetillness, |
| | | getillnesslist, |
| | | illnesslistget, |
| | | getillness, |
| | | } from "@/api/AiCentre/index"; |
| | | import OptionalForm from "@/components/OptionalForm"; //正则组件 |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | | export default { |
| | | name: "Questionnaireinfo", |
| | | |
| | | components: { OptionalForm }, |
| | | |
| | | data() { |
| | | return { |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", |
| | | sidecolumnrabs: "left", //方向 |
| | | Editprogress: 1, //编辑进度 |
| | | currentVersion: "1.2.3", //当前版本 |
| | | loading: false, // 遮罩层 |
| | | drawer: false, //控制展开 |
| | | radio: "false", //单选题选中 |
| | | radios: [], //多选题选中 |
| | | radioas: "", //填空题答案 |
| | | activeName: "first", |
| | | dynamicTags: [], |
| | | inputVisible: false, |
| | | dialogVisiblepatient: false, //适用疾病窗口 |
| | | inputValue: "", |
| | | topicobj: {}, |
| | | // 总条数 |
| | | total: 1, |
| | | ruleForm: { |
| | | name: "", |
| | | region: "", |
| | | date1: "", |
| | | date2: "", |
| | | delivery: false, |
| | | type: [], |
| | | resource: "", |
| | | desc: "", |
| | | templatevalue: "", |
| | | data2: "", |
| | | svyTemplateLibScripts: [], |
| | | tempDetpRelevances: [], |
| | | svyLibTemplateTagList: [], |
| | | scoreType: "4", |
| | | isenable: "0", |
| | | longTemp: "0", |
| | | sendDay: "5", |
| | | }, |
| | | rules: {}, |
| | | rulesa: { |
| | | name: [ |
| | | { required: true, message: "请输入活动名称", trigger: "blur" }, |
| | | { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }, |
| | | ], |
| | | region: [ |
| | | { required: true, message: "请选择活动区域", trigger: "change" }, |
| | | ], |
| | | date1: [ |
| | | { |
| | | type: "date", |
| | | required: true, |
| | | message: "请选择日期", |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | date2: [ |
| | | { |
| | | type: "date", |
| | | required: true, |
| | | message: "请选择时间", |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | type: [ |
| | | { |
| | | type: "array", |
| | | required: true, |
| | | message: "请至少选择一个活动性质", |
| | | trigger: "change", |
| | | }, |
| | | ], |
| | | resource: [ |
| | | { required: true, message: "请选择活动资源", trigger: "change" }, |
| | | ], |
| | | desc: [{ required: true, message: "请填写活动形式", trigger: "blur" }], |
| | | indexform: { |
| | | svyLibTemplateTargetoptions: [], |
| | | }, |
| | | options: [ |
| | | // 表单校验 |
| | | 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: [ |
| | | { value: "scriptTopic", table: "scriptTopic" }, |
| | | { value: "scriptTopic", table: "scriptTopic" }, |
| | | ], |
| | | |
| | | appraiselist: [], |
| | | |
| | | fileList: [ |
| | | { |
| | | value: "选项1", |
| | | label: "黄金糕", |
| | | name: "food.jpeg", |
| | | url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", |
| | | }, |
| | | { |
| | | value: "选项2", |
| | | label: "双皮奶", |
| | | }, |
| | | { |
| | | value: "选项3", |
| | | label: "蚵仔煎", |
| | | }, |
| | | { |
| | | value: "选项4", |
| | | label: "龙须面", |
| | | }, |
| | | { |
| | | value: "选项5", |
| | | label: "北京烤鸭", |
| | | name: "food2.jpeg", |
| | | url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", |
| | | }, |
| | | ], |
| | | options: [ |
| | | |
| | | variablelist: [ |
| | | { |
| | | value: "zhinan", |
| | | label: "指南", |
| | | children: [ |
| | | { |
| | | value: "shejiyuanze", |
| | | label: "设计原则", |
| | | children: [ |
| | | { |
| | | value: "yizhi", |
| | | label: "一致", |
| | | }, |
| | | { |
| | | value: "fankui", |
| | | label: "反馈", |
| | | }, |
| | | { |
| | | value: "xiaolv", |
| | | label: "效率", |
| | | }, |
| | | { |
| | | value: "kekong", |
| | | label: "可控", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: "daohang", |
| | | label: "导航", |
| | | children: [ |
| | | { |
| | | value: "cexiangdaohang", |
| | | label: "侧向导航", |
| | | }, |
| | | { |
| | | value: "dingbudaohang", |
| | | label: "顶部导航", |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: "zujian", |
| | | label: "组件", |
| | | children: [ |
| | | { |
| | | value: "basic", |
| | | label: "Basic", |
| | | children: [ |
| | | { |
| | | value: "layout", |
| | | label: "Layout 布局", |
| | | }, |
| | | { |
| | | value: "color", |
| | | label: "Color 色彩", |
| | | }, |
| | | { |
| | | value: "typography", |
| | | label: "Typography 字体", |
| | | }, |
| | | { |
| | | value: "icon", |
| | | label: "Icon 图标", |
| | | }, |
| | | { |
| | | value: "button", |
| | | label: "Button 按钮", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: "form", |
| | | label: "Form", |
| | | children: [ |
| | | { |
| | | value: "radio", |
| | | label: "Radio 单选框", |
| | | }, |
| | | { |
| | | value: "checkbox", |
| | | label: "Checkbox 多选框", |
| | | }, |
| | | { |
| | | value: "input", |
| | | label: "Input 输入框", |
| | | }, |
| | | { |
| | | value: "input-number", |
| | | label: "InputNumber 计数器", |
| | | }, |
| | | { |
| | | value: "select", |
| | | label: "Select 选择器", |
| | | }, |
| | | { |
| | | value: "cascader", |
| | | label: "Cascader 级联选择器", |
| | | }, |
| | | { |
| | | value: "switch", |
| | | label: "Switch 开关", |
| | | }, |
| | | { |
| | | value: "slider", |
| | | label: "Slider 滑块", |
| | | }, |
| | | { |
| | | value: "time-picker", |
| | | label: "TimePicker 时间选择器", |
| | | }, |
| | | { |
| | | value: "date-picker", |
| | | label: "DatePicker 日期选择器", |
| | | }, |
| | | { |
| | | value: "datetime-picker", |
| | | label: "DateTimePicker 日期时间选择器", |
| | | }, |
| | | { |
| | | value: "upload", |
| | | label: "Upload 上传", |
| | | }, |
| | | { |
| | | value: "rate", |
| | | label: "Rate 评分", |
| | | }, |
| | | { |
| | | value: "form", |
| | | label: "Form 表单", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: "data", |
| | | label: "Data", |
| | | children: [ |
| | | { |
| | | value: "table", |
| | | label: "Table 表格", |
| | | }, |
| | | { |
| | | value: "tag", |
| | | label: "Tag 标签", |
| | | }, |
| | | { |
| | | value: "progress", |
| | | label: "Progress 进度条", |
| | | }, |
| | | { |
| | | value: "tree", |
| | | label: "Tree 树形控件", |
| | | }, |
| | | { |
| | | value: "pagination", |
| | | label: "Pagination 分页", |
| | | }, |
| | | { |
| | | value: "badge", |
| | | label: "Badge 标记", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: "notice", |
| | | label: "Notice", |
| | | children: [ |
| | | { |
| | | value: "alert", |
| | | label: "Alert 警告", |
| | | }, |
| | | { |
| | | value: "loading", |
| | | label: "Loading 加载", |
| | | }, |
| | | { |
| | | value: "message", |
| | | label: "Message 消息提示", |
| | | }, |
| | | { |
| | | value: "message-box", |
| | | label: "MessageBox 弹框", |
| | | }, |
| | | { |
| | | value: "notification", |
| | | label: "Notification 通知", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: "navigation", |
| | | label: "Navigation", |
| | | children: [ |
| | | { |
| | | value: "menu", |
| | | label: "NavMenu 导航菜单", |
| | | }, |
| | | { |
| | | value: "tabs", |
| | | label: "Tabs 标签页", |
| | | }, |
| | | { |
| | | value: "breadcrumb", |
| | | label: "Breadcrumb 面包屑", |
| | | }, |
| | | { |
| | | value: "dropdown", |
| | | label: "Dropdown 下拉菜单", |
| | | }, |
| | | { |
| | | value: "steps", |
| | | label: "Steps 步骤条", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: "others", |
| | | label: "Others", |
| | | children: [ |
| | | { |
| | | value: "dialog", |
| | | label: "Dialog 对话框", |
| | | }, |
| | | { |
| | | value: "tooltip", |
| | | label: "Tooltip 文字提示", |
| | | }, |
| | | { |
| | | value: "popover", |
| | | label: "Popover 弹出框", |
| | | }, |
| | | { |
| | | value: "card", |
| | | label: "Card 卡片", |
| | | }, |
| | | { |
| | | value: "carousel", |
| | | label: "Carousel 走马灯", |
| | | }, |
| | | { |
| | | value: "collapse", |
| | | label: "Collapse 折叠面板", |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | value: "ziyuan", |
| | | label: "资源", |
| | | children: [ |
| | | { |
| | | value: "axure", |
| | | label: "Axure Components", |
| | | }, |
| | | { |
| | | value: "sketch", |
| | | label: "Sketch Templates", |
| | | }, |
| | | { |
| | | value: "jiaohu", |
| | | label: "组件交互文档", |
| | | }, |
| | | ], |
| | | variable: "paitent", |
| | | value: "表示患者的标识", |
| | | }, |
| | | ], |
| | | |
| | | valssu: [ |
| | | { |
| | | idd: 1, |
| | | wssd: "你最近怎么样", |
| | | sdadd: ["sss", "ssccss", "ssaas", "ss"], |
| | | }, |
| | | ], |
| | | addvalue: "添加问题", |
| | | // 问题表格数据 |
| | | userList: [], |
| | | deptList: [], |
| | | props: { multiple: true, value: "deptId", label: "deptName" }, |
| | | themelist: [], |
| | | languagelist: [], |
| | | courtyardlist: [], |
| | | askvaluetype: [], |
| | | precedencetype: [], |
| | | inputValueillness: "", |
| | | inputVisible: false, |
| | | inputVisibleillness: false, |
| | | illnessVisible: false, //指标疾病弹框 |
| | | Operateit: true, |
| | | deptOptions: [], |
| | | optionsillness: [], |
| | | delScriptVOList: [], |
| | | illnesslistapi: [], |
| | | illnesslist: [], |
| | | tempDetpRelevanceslist: [], //科室数据 |
| | | tempDetpRelevanceslistform: [], //科室数据 |
| | | tempbelongWards: [], //病区数据 |
| | | tempbelongWardsform: [], //病区数据 |
| | | optionstag: [], |
| | | valuetype: [], |
| | | qremark: [], |
| | | hosplist: [], |
| | | deptlist: [], |
| | | usable: [ |
| | | { value: "0", label: "可用" }, |
| | | { value: "1", label: "停用" }, |
| | | ], |
| | | longtype: [ |
| | | { value: "0", label: "普通任务" }, |
| | | { value: "1", label: "长期任务" }, |
| | | ], |
| | | required: [ |
| | | { value: "1", label: "必填" }, |
| | | { value: "2", label: "不必填" }, |
| | | ], |
| | | mode: [], //方式 |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | }, |
| | | belongWards: [], |
| | | belongDepts: [], |
| | | queryParamsdept: { |
| | | tempid: "", |
| | | type: 1, |
| | | }, |
| | | }; |
| | | }, |
| | | activated() { |
| | | if (this.id != this.$route.query.id) { |
| | | this.getissueinfo(); |
| | | this.gettabList(); |
| | | } else { |
| | | this.ruleForm.svyTemplateLibScripts = |
| | | this.ruleForm.svyTemplateLibScripts.filter( |
| | | (item) => item.isoperation != 3 |
| | | ); |
| | | this.ruleForm.svyLibTemplateTagList = |
| | | 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(); |
| | | } |
| | | }, |
| | | created() { |
| | | this.getissueinfo(); |
| | | this.gettabList(); |
| | | this.mode = store.getters.Askmode; |
| | | this.languagelist = store.getters.languagelist; |
| | | this.usable = store.getters.usable; |
| | | this.required = store.getters.required; |
| | | this.valuetype = store.getters.valuetype; |
| | | 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; |
| | | |
| | | created() {}, |
| | | |
| | | // this.test(); |
| | | }, |
| | | computed: { |
| | | displayedTags() { |
| | | // 返回前10个tag |
| | | return this.illnesslist.slice(0, 10); |
| | | }, |
| | | hasMore() { |
| | | // 判断是否有更多的tag |
| | | return this.illnesslist.length > 10; |
| | | }, |
| | | remaining() { |
| | | // 计算剩余的tag数量 |
| | | return this.illnesslist.length - 10; |
| | | }, |
| | | }, |
| | | methods: { |
| | | submitForm(formName) { |
| | | if (this.Editprogress <= 3) { |
| | | return this.Editprogress++; |
| | | // 公共方法--------------- |
| | | getIndexInArray(arr, obj) { |
| | | return arr.indexOf(obj); |
| | | }, |
| | | processElement(element) { |
| | | return { ...element, isoperation: 1 }; |
| | | }, |
| | | // 递归扁平化 |
| | | flattenArray(arr) { |
| | | let result = []; |
| | | arr.forEach((item) => { |
| | | result.push(item); |
| | | if (item.svyLibTemplateCategoryList) { |
| | | result = result.concat( |
| | | this.flattenArray(item.svyLibTemplateCategoryList) |
| | | ); |
| | | delete item.svyLibTemplateCategoryList; |
| | | } |
| | | }); |
| | | return result; |
| | | }, |
| | | // ----------------------------- |
| | | // 获取数据 |
| | | 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 = {}; |
| | | |
| | | if (this.id) { |
| | | getQtemplateobj({ svyid: this.id }).then((res) => { |
| | | this.ruleForm = res.rows[0]; |
| | | this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map( |
| | | this.processElement |
| | | ); |
| | | 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.illnesslist.forEach((item) => { |
| | | item.icdname = item.icd10name; |
| | | }); |
| | | }); |
| | | } else { |
| | | this.ruleForm.isenable = "1"; |
| | | } |
| | | this.rules = this.rulesa; |
| | | // 提交 |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | alert("submit!"); |
| | | } else { |
| | | console.log("error submit!!"); |
| | | return false; |
| | | |
| | | // 分类 |
| | | getQtemplateclassify({}).then((res) => { |
| | | this.optionsclass = res.rows; |
| | | }); |
| | | this.tempDetpRelevanceslist = []; |
| | | this.tempbelongWards = []; |
| | | |
| | | 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); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // 预览模版 |
| | | PreviewTemplate() { |
| | | this.drawer = true; |
| | | submitForm(formName) { |
| | | this.$modal.loading("正在修正保存数据,请稍候..."); |
| | | 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); |
| | | }); |
| | | } |
| | | }, |
| | | // 科室/院区处理 |
| | | Departmenttreatment() { |
| | | 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, |
| | | }); |
| | | } |
| | | }); |
| | | 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(); |
| | | }, 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() { |
| | | if (this.Editprogress <= 2) { |
| | | return this.Editprogress++; |
| | | } |
| | | }, |
| | | // 上一步 |
| | | laststep() { |
| | | this.Editprogress--; |
| | | this.Editprogress = this.Editprogress - 1; |
| | | }, |
| | | resetForm(formName) { |
| | | this.$refs[formName].resetFields(); |
| | | // 关闭 |
| | | closeFm() { |
| | | this.$confirm("退出不会保留页面内容更改, 是否继续?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.$router.go(-1); |
| | | }) |
| | | .catch(() => { |
| | | this.$message({ |
| | | type: "info", |
| | | message: "已取消", |
| | | }); |
| | | }); |
| | | }, |
| | | // 获取问题列表 |
| | | getaddtopiclist() { |
| | | this.drawer = true; |
| | | this.queryParams.scoretype = this.ruleForm.scoreType; |
| | | getissuelist(this.queryParams).then((res) => { |
| | | this.loading = false; |
| | | this.userList = res.rows; |
| | | this.total = res.total; |
| | | console.log(this.userList); |
| | | }); |
| | | }, |
| | | // 新增问题 |
| | | addtopic(row) { |
| | | row.isoperation = 1; |
| | | row.svyLibScriptOptions.forEach((item) => { |
| | | item.isoperation = 1; |
| | | }); |
| | | row.svyLibTemplateTargetoptions = row.svyLibScriptOptions; |
| | | this.ruleForm.svyTemplateLibScripts.push(row); |
| | | this.sortFn(); |
| | | this.$modal.msgSuccess("新增成功"); |
| | | }, |
| | | handleDelete(row) { |
| | | let index = this.ruleForm.svyTemplateLibScripts.indexOf(row); |
| | | this.ruleForm.svyTemplateLibScripts.splice(index, 1); |
| | | row.isoperation = 3; |
| | | this.delScriptVOList.push(row); |
| | | this.sortFn(); |
| | | }, |
| | | handleUpdate(row) { |
| | | this.topicobj = row; |
| | | this.radioas = ""; |
| | | // getissuelist({ svyid: row.svyid }).then((res) => { |
| | | // }); |
| | | }, |
| | | syioption(row) { |
| | | const index = this.getIndexInArray( |
| | | this.ruleForm.svyTemplateLibScripts, |
| | | row |
| | | ); |
| | | const item = this.ruleForm.svyTemplateLibScripts.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.ruleForm.svyTemplateLibScripts.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 |
| | | this.sortFn(); |
| | | }, |
| | | xiayioption(row) { |
| | | const index = this.getIndexInArray( |
| | | this.ruleForm.svyTemplateLibScripts, |
| | | row |
| | | ); |
| | | const item = this.ruleForm.svyTemplateLibScripts.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.ruleForm.svyTemplateLibScripts.splice(index + 1, 0, item); // 将item插入到索引位置的前一位 |
| | | this.sortFn(); |
| | | }, |
| | | sortFn() { |
| | | this.ruleForm.svyTemplateLibScripts.forEach((item, index) => { |
| | | item.sort = Number(index) + 1; |
| | | if (item.sort == this.ruleForm.svyTemplateLibScripts.length) { |
| | | item.nextScriptno = 0; |
| | | } else { |
| | | item.nextScriptno = item.sort + 1; |
| | | } |
| | | if (item.svyLibTemplateTargetoptions) { |
| | | item.svyLibTemplateTargetoptions.forEach((items) => { |
| | | items.nextQuestion = Number(item.sort) + 1; |
| | | }); |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.svyTemplateLibScripts); |
| | | }, |
| | | |
| | | // 修改问题信息 |
| | | Submittopicobj() { |
| | | this.$modal |
| | | .confirm( |
| | | '是否确认新增名称为"' + this.indexform.scriptTopic + '"的问题数据?' |
| | | ) |
| | | .then(() => { |
| | | this.indexform.isoperation = 1; |
| | | this.indexform.svyLibTemplateTargetoptions.forEach((item) => { |
| | | item.isoperation = 1; |
| | | }); |
| | | this.ruleForm.svyTemplateLibScripts.push(this.indexform); |
| | | this.indexform = { svyTemplateLibScripts: [] }; |
| | | this.drawer = false; |
| | | |
| | | this.sortFn(); |
| | | this.$modal.msgSuccess("问题新增成功,保存模板失效"); |
| | | }); |
| | | }, |
| | | // 新增变量 |
| | | addvariable() { |
| | | this.variablelist.push({ |
| | | variable: "", |
| | | value: "", |
| | | }); |
| | | }, |
| | | // 删除变量 |
| | | delvariable(item) { |
| | | const index = this.variablelist.indexOf(item); |
| | | if (index !== -1) { |
| | | this.variablelist.splice(index, 1); // 从索引位置删除一个元素 |
| | | } else { |
| | | console.log("未找到该对象"); |
| | | } |
| | | }, |
| | | |
| | | // 标签----------------- |
| | | gettabList() { |
| | | const tagqueryParams = { |
| | | pageNum: 1, |
| | | pageSize: 1000, |
| | | tagcategoryid: "0", |
| | | }; |
| | | listtag(tagqueryParams).then((response) => { |
| | | console.log(response); |
| | | this.optionstag = response.rows; |
| | | }); |
| | | }, |
| | | handleClosetag(tag) { |
| | | console.log(tag); |
| | | console.log(this.dynamicTags.indexOf(tag)); |
| | | const lindex = this.dynamicTags.indexOf(tag); |
| | | |
| | | this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); |
| | | this.ruleForm.svyLibTemplateTagList[lindex].delFlag = 1; |
| | | |
| | | // this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3; |
| | | }, |
| | | handleInputConfirm() { |
| | | let tagvalue = {}; |
| | | let tagname = this.inputValue; |
| | | if (tagname) { |
| | | listtag({ |
| | | pageNum: 1, |
| | | pageSize: 1000, |
| | | tagcategoryid: "0", |
| | | tagname: tagname, |
| | | }).then((res) => { |
| | | if (res.rows[0]) { |
| | | tagvalue = res.rows[0]; |
| | | tagvalue.isoperation = 1; |
| | | } else { |
| | | tagvalue = { |
| | | tagname: tagname, |
| | | isoperation: 1, |
| | | }; |
| | | } |
| | | this.ruleForm.svyLibTemplateTagList.push(tagvalue); |
| | | // this.dynamicTags.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue); |
| | | }); |
| | | } |
| | | this.inputVisible = false; |
| | | this.inputValue = ""; |
| | | }, |
| | | remoteMethodtag(query) { |
| | | if (query !== "") { |
| | | this.loading = true; |
| | | setTimeout(() => { |
| | | this.loading = false; |
| | | listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { |
| | | this.optionstag = res.rows; |
| | | }); |
| | | }, 200); |
| | | } else { |
| | | this.optionstag = []; |
| | | } |
| | | }, |
| | | showInput() { |
| | | this.inputVisible = true; |
| | | }, |
| | | // 保存疾病 |
| | | confirmillness(guid) { |
| | | this.illnesslist.forEach((item, index) => { |
| | | if (guid) { |
| | | item.outid = guid; |
| | | } else { |
| | | console.log(this.ruleForm); |
| | | item.outid = this.ruleForm.svyid; |
| | | } |
| | | item.icd10name = item.icdname; |
| | | item.icd10code = item.icdcode; |
| | | item.type = 5; |
| | | if (!item.id) { |
| | | addtargetillness(item).then((res) => {}); |
| | | } |
| | | }); |
| | | 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(); |
| | | }, |
| | | |
| | | // -------------------------- |
| | | // 问卷分数限制算法 |
| | | // 混合路线 |
| | | generateCombinations(arrays, currentIndex = 0, currentCombination = []) { |
| | | if (currentIndex === arrays.length) { |
| | | return [currentCombination]; |
| | | } |
| | | |
| | | const currentArray = arrays[currentIndex]; |
| | | const newCombinations = []; |
| | | |
| | | for (const item of currentArray) { |
| | | const newCombination = [...currentCombination, item]; |
| | | const combinations = this.generateCombinations( |
| | | arrays, |
| | | currentIndex + 1, |
| | | newCombination |
| | | ); |
| | | newCombinations.push(...combinations); |
| | | } |
| | | return newCombinations; |
| | | }, |
| | | // 执行 |
| | | test() { |
| | | console.log(this.ruleForm.svyTemplateLibScripts); |
| | | |
| | | const arraysa = [ |
| | | { |
| | | id: 1, |
| | | Topicjump: "2", |
| | | branchFlag: "0", |
| | | arr: [ |
| | | { name: "不错", skip: 2 }, |
| | | { name: "一般", skip: 2 }, |
| | | { name: "还不错", skip: 2 }, |
| | | { name: "很棒", skip: 3 }, |
| | | ], |
| | | }, |
| | | |
| | | { |
| | | id: 2, |
| | | Topicjump: "4", |
| | | branchFlag: "1", |
| | | arr: [ |
| | | { name: "优秀", skip: 4 }, |
| | | { name: "良好", skip: 3 }, |
| | | { name: "一般", skip: 3 }, |
| | | { name: "较差", skip: 3 }, |
| | | ], |
| | | }, |
| | | { |
| | | id: 3, |
| | | Topicjump: "4", |
| | | branchFlag: "1", |
| | | arr: [ |
| | | { name: "是的", skip: 4 }, |
| | | { name: "不清楚", skip: 5 }, |
| | | { name: "还可", skip: 4 }, |
| | | { name: "一般", skip: 4 }, |
| | | ], |
| | | }, |
| | | { |
| | | id: 4, |
| | | Topicjump: "5", |
| | | branchFlag: "0", |
| | | bac: null, |
| | | }, |
| | | { |
| | | id: 5, |
| | | Topicjump: "0", |
| | | branchFlag: "0", |
| | | arr: [ |
| | | { name: "真不错", skip: 0 }, |
| | | { name: "还可以", skip: 0 }, |
| | | { name: "一般般", skip: 0 }, |
| | | { name: "不清楚", skip: 0 }, |
| | | ], |
| | | }, |
| | | ]; |
| | | |
| | | const csnewMixArray = this.csgetExecutionOrders(arraysa); |
| | | console.log(csnewMixArray, "测试全部路线"); |
| | | const newMixArray = this.getExecutionOrders( |
| | | this.ruleForm.svyTemplateLibScripts |
| | | ); |
| | | console.log(newMixArray, "全部路线"); |
| | | this.sumArray(newMixArray); |
| | | }, |
| | | // 遍历方法 |
| | | csgetExecutionOrders(arrays) { |
| | | const allPaths = []; |
| | | const findPath = (currentId, path) => { |
| | | const current = arrays.find((item) => item.id.toString() === currentId); |
| | | if (!current) return; |
| | | path.push(current); |
| | | |
| | | if (current.branchFlag === "1") { |
| | | current.arr.forEach((option) => { |
| | | findPath(option.skip.toString(), path.slice()); |
| | | }); |
| | | } else { |
| | | const nextId = parseInt(current.Topicjump); |
| | | if (nextId !== 0) { |
| | | findPath(nextId.toString(), path.slice()); |
| | | } else { |
| | | allPaths.push(path.slice()); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | findPath("1", []); |
| | | return allPaths; |
| | | }, |
| | | // 遍历方法 |
| | | getExecutionOrders(arrays) { |
| | | const allPaths = []; |
| | | const findPath = (currentId, path) => { |
| | | const current = arrays.find( |
| | | (item) => item.sort.toString() === currentId |
| | | ); |
| | | if (!current) return; |
| | | path.push(current); |
| | | |
| | | if (current.branchFlag == "1") { |
| | | current.svyLibTemplateTargetoptions.forEach((option) => { |
| | | findPath(option.nextQuestion.toString(), path.slice()); |
| | | }); |
| | | } else { |
| | | const nextId = parseInt(current.nextScriptno); |
| | | if (nextId !== 0) { |
| | | findPath(nextId.toString(), path.slice()); |
| | | } else { |
| | | allPaths.push(path.slice()); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | findPath("1", []); |
| | | return allPaths; |
| | | }, |
| | | |
| | | // 数组求和 |
| | | sumArray(arr) { |
| | | // const arrsum = arr; |
| | | // arrsum.forEach((item) => { |
| | | // // 判断问题和模板层级 |
| | | // console.log(item, "一条链路"); |
| | | |
| | | // const totalScore = item.reduce((accumulator, current) => { |
| | | // return accumulator + Number(current.score); |
| | | // }, 0); |
| | | // console.log(totalScore); |
| | | // console.log(this.ruleForm.scriptScore); |
| | | |
| | | // if (totalScore == this.ruleForm.scriptScore) { |
| | | // this.ClaimNofn(arr); |
| | | // this.$modal.msgSuccess("分数核验成功"); |
| | | // } |
| | | // }); |
| | | |
| | | const allGreaterThanTen = arr.every((array) => { |
| | | const totalScore = array.reduce((accumulator, current) => { |
| | | return accumulator + Number(current.score); |
| | | }, 0); |
| | | console.log(totalScore); |
| | | console.log(this.ruleForm.scriptScore); |
| | | |
| | | return totalScore == this.ruleForm.scriptScore; |
| | | }); |
| | | if (allGreaterThanTen) { |
| | | this.$modal.msgSuccess("分值校验成功"); |
| | | } else { |
| | | this.$modal.msgError("问题分值累加和模板分值不符"); |
| | | } |
| | | }, |
| | | |
| | | // 遍历是否重复是否都用上 |
| | | ClaimNofn(arr) { |
| | | arr.forEach((item) => { |
| | | const Aarr = item; |
| | | const Barr = this.ruleForm.svyTemplateLibScripts; |
| | | const notInB = A.filter( |
| | | (itemA) => !B.some((itemB) => itemB.id === itemA.id) |
| | | ); |
| | | |
| | | if (notInB.length) { |
| | | this.$modal.msgError("问题未全部使用"); |
| | | } else { |
| | | this.$modal.msgSuccess("问题全部使用"); |
| | | } |
| | | }); |
| | | arr.forEach((item) => { |
| | | const idCount = arr.reduce((acc, item) => { |
| | | acc[item.id] = (acc[item.id] || 0) + 1; |
| | | return acc; |
| | | }, {}); |
| | | const whether = item.values(idCount).some((count) => count > 1); // 如果有任何 id 的计数大于 1 就返回 true |
| | | if (!whether) this.$modal.msgError("配置项有问题重复"); |
| | | }); |
| | | }, |
| | | // 问题和选项间的分值判断 |
| | | Scorejudgment() { |
| | | let scorearr = this.topicobj.svyLibScriptOptions; |
| | | let isValid = scorearr.every((score, index) => { |
| | | if (this.topicobj.scriptType == 1) { |
| | | if (score.score) { |
| | | if ( |
| | | Number(score.score) < 0 || |
| | | Number(score.score) > Number(this.topicobj.score) |
| | | ) { |
| | | console.log(score, "错误分值"); |
| | | this.$message({ |
| | | message: "选项分值必须在0到" + this.topicobj.score + "分之间", |
| | | type: "warning", |
| | | }); |
| | | return false; |
| | | } |
| | | return true; |
| | | } else { |
| | | this.$message({ |
| | | message: "选项分值未设置", |
| | | type: "warning", |
| | | }); |
| | | return false; |
| | | } |
| | | } else if (this.topicobj.scriptType == 2) { |
| | | // 累加分值 |
| | | const totalScore = scorearr.reduce((acc, score) => { |
| | | if (score.score) { |
| | | return acc + Number(score.score); |
| | | } |
| | | return acc; // 如果 score.score 不存在,不累加 |
| | | }, 0); |
| | | |
| | | // 检查累加的分值是否等于 this.topicobj.score |
| | | if (totalScore !== Number(this.topicobj.score)) { |
| | | this.$message({ |
| | | message: |
| | | "多选题选项分值总和必须等于 " + this.topicobj.score + " 分", |
| | | type: "warning", |
| | | }); |
| | | return false; |
| | | } |
| | | return true; // 如果总分正确,返回 true |
| | | } else if (this.topicobj.scriptType == 4) { |
| | | return true; |
| | | } |
| | | }); |
| | | |
| | | if (isValid) { |
| | | this.compileissue(); |
| | | } |
| | | }, |
| | | |
| | | // --------------------------------------------------------- |
| | | // 新问题新增 |
| | | addoption() { |
| | | if (!this.indexform.svyLibTemplateTargetoptions) { |
| | | this.indexform.svyLibTemplateTargetoptions = []; |
| | | } |
| | | this.indexform.svyLibTemplateTargetoptions.push({ |
| | | score: "", |
| | | isoperation: 1, |
| | | }); |
| | | console.log(this.indexform.svyLibTemplateTargetoptions); |
| | | }, |
| | | // 选项文件上传 |
| | | handleChange(item, response, file, fileList) { |
| | | console.log(response); |
| | | if (response.code == 200) { |
| | | console.log(item); |
| | | let index = this.indexform.svyLibTemplateTargetoptions.findIndex( |
| | | (obj) => obj.optioncontent == item.optioncontent |
| | | ); |
| | | console.log(index); |
| | | this.indexform.svyLibTemplateTargetoptions[index].picturePath = |
| | | response.url; |
| | | console.log(this.indexform.svyLibTemplateTargetoptions[index]); |
| | | this.$forceUpdate(); |
| | | } else { |
| | | this.$message.error("图片插入失败"); |
| | | } |
| | | }, |
| | | branchFlagfn(row) { |
| | | console.log(row); |
| | | if (this.topicobj.branchFlag == 1 && this.topicobj.nextScriptno != 0) { |
| | | this.topicobj.nextScriptno = |
| | | this.topicobj.svyLibTemplateTargetoptions[0].nextQuestion; |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | .Questionnairemanagement { |
| | | display: flex; |
| | | // display: flex; |
| | | } |
| | | .sidecolumn { |
| | | width: 300px; |
| | | min-height: 100vh; |
| | | text-align: center; |
| | | // display: flex; |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | padding: 30px; |
| | | margin: 10px 20px 0 20px; |
| | | padding: 20px; |
| | | background: #edf1f7; |
| | | 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); |
| | | } |
| | | .leftvlue { |
| | | // display: flex; |
| | | // flex: 1; |
| | | width: 80%; |
| | | margin-top: 20px; |
| | | // margin: 20px; |
| | | // // display: flex; |
| | | // // flex: 1; |
| | | // width: 80%; |
| | | // margin-top: 20px; |
| | | margin: 20px; |
| | | padding: 30px; |
| | | padding-top: 5px; |
| | | margin-top: 10px; |
| | | background: #ffff; |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | |
| | | font-size: 20px; |
| | | } |
| | | .leftvlue-jbxx { |
| | | margin-bottom: 50px; |
| | | font-size: 20px; |
| | | span { |
| | | position: absolute; |
| | | right: 80px; |
| | | } |
| | | display: flex; /* 使用 Flexbox 布局 */ |
| | | justify-content: space-between; |
| | | font-size: 24px; |
| | | border-left: 5px solid #41a1be; |
| | | padding-left: 5px; |
| | | margin: 15px 0; |
| | | } |
| | | .demo-cascader { |
| | | margin-right: 20px; |
| | |
| | | margin: 0 20px; |
| | | } |
| | | } |
| | | .preview-left { |
| | | margin: 20px; |
| | | // margin: 20px; |
| | | padding: 30px; |
| | | 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); |
| | | .scriptTopic-dev { |
| | | margin-bottom: 25px; |
| | | font-size: 20px !important; |
| | | .dev-text { |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | .headline { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | font-size: 20px; |
| | | border-left: 3px solid #41a1be; |
| | | padding-left: 5px; |
| | | margin: 15px 0; |
| | | } |
| | | .xinz-inf { |
| | | font-size: 18px; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | |
| | | line-height: 48px; |
| | | |
| | | .el-tag + .el-tag { |
| | | margin-left: 10px; |
| | | } |
| | | .button-new-tag { |
| | | margin-left: 10px; |
| | | height: 32px; |
| | | line-height: 30px; |
| | | padding-top: 0; |
| | | padding-bottom: 0; |
| | | } |
| | | .input-new-tag { |
| | | width: 90px; |
| | | margin-left: 10px; |
| | | vertical-align: bottom; |
| | | } |
| | | } |
| | | .xinz-infs { |
| | | font-size: 18px; |
| | | line-height: 48px; |
| | | |
| | | .el-tag + .el-tag { |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | .addtopic { |
| | | margin-top: 30px; |
| | | } |
| | | .presentation { |
| | | margin: 20px 0; |
| | | display: flex; |
| | | .presentation-left { |
| | | width: 45%; |
| | | // height: 500px; |
| | | .button-textxg { |
| | | color: #024df0; |
| | | } |
| | | .button-textsc { |
| | | color: #f52727; |
| | | } |
| | | } |
| | | .spresentation-left { |
| | | width: 100%; |
| | | // height: 500px; |
| | | .button-textxg { |
| | | color: #024df0; |
| | | } |
| | | .button-textsc { |
| | | color: #f52727; |
| | | } |
| | | } |
| | | .presentation-right { |
| | | width: 55%; |
| | | max-height: 688px; |
| | | padding: 0 20px; |
| | | font-size: 18px; |
| | | overflow: auto; |
| | | .headline { |
| | | font-size: 20px; |
| | | border-left: 3px solid #41a1be; |
| | | padding-left: 5px; |
| | | margin: 15px 0; |
| | | } |
| | | .topicxq { |
| | | background-color: #e2f5fc; |
| | | border-radius: 4px; |
| | | margin-top: 10px; |
| | | padding-left: 10px; |
| | | padding-top: 15px; |
| | | } |
| | | } |
| | | } |
| | | .topicxq { |
| | | background-color: #e2f5fc; |
| | | border-radius: 4px; |
| | | margin-top: 15px; |
| | | margin-left: 10%; |
| | | padding-left: 20px; |
| | | padding-top: 15px; |
| | | 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); |
| | | } |
| | | .custom-width { |
| | | width: 100px; /* 设置宽度样式 */ |
| | | } |
| | | .el-select { |
| | | width: 280px; |
| | | } |
| | | |
| | | .el-cascader { |
| | | width: 40%; |
| | | } |
| | | ::v-deep .addtopic-input { |
| | | input { |
| | | background: #02a7f0; |
| | | color: #edf1f7; |
| | | width: 150px; |
| | | } |
| | | } |
| | | ::v-deep.el-step.is-vertical .el-step__title { |
| | | font-size: 25px; |
| | | } |
| | | ::v-deep.el-input--medium { |
| | | font-size: 24px !important; |
| | | font-size: 18px !important; |
| | | } |
| | | ::v-deep.ruleFormaa.el-select { |
| | | display: inline-block; |
| | |
| | | font-size: 20px; |
| | | max-width: 888px !important; |
| | | } |
| | | ::v-deep.el-radio__inner { |
| | | width: 22px; |
| | | height: 22px; |
| | | } |
| | | // ::v-deep.scriptTopic-dev.el-radio__label { |
| | | // font-size: 24px; |
| | | // } |
| | | ::v-deep.el-radio-group { |
| | | span { |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | ::v-deep.el-checkbox-group { |
| | | span { |
| | | font-size: 24px; |
| | | } |
| | | } |
| | | // ::v-deep.el-form-item--medium .el-form-item__content { |
| | | // line-height: 36px; |
| | | // display: flex; |
| | | // } |
| | | </style> |