| | |
| | | </el-input |
| | | ></el-form-item> |
| | | |
| | | <el-form-item label="文件" prop="sickness"> |
| | | <div style="width: 40%"> |
| | | <el-upload |
| | | class="upload-demo" |
| | | action="https://jsonplaceholder.typicode.com/posts/" |
| | | :on-change="handleChange" |
| | | :file-list="fileList" |
| | | > |
| | | <el-button size="small" type="primary">点击上传</el-button> |
| | | <div slot="tip" class="el-upload__tip"> |
| | | 只能上传jpg/png/xsl文件,且不超过50mb |
| | | </div> |
| | | </el-upload> |
| | | </div> |
| | | </el-form-item> |
| | | <el-row> |
| | | <el-form-item label="标签" prop="desc"> |
| | | <div class="xinz-inf"> |
| | | <el-tag |
| | | :key="tag" |
| | | :key="tag.tagname" |
| | | type="success" |
| | | v-for="tag in dynamicTags" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleClosetag(tag)" |
| | | > |
| | | {{ tag }} |
| | | {{ tag.tagname }} |
| | | </el-tag> |
| | | <el-select |
| | | v-model="inputValue" |
| | |
| | | @change="handleInputConfirm" |
| | | filterable |
| | | remote |
| | | allow-create |
| | | reserve-keyword |
| | | default-first-option |
| | | :remote-method="remoteMethodtag" |
| | |
| | | </div> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row> |
| | | <div class="xinz-infs"> |
| | | <el-form-item label="适用疾病" prop="region"> |
| | | <div class="xinz-inf"> |
| | | <el-tag |
| | | :key="item.icd10name" |
| | | type="warning" |
| | | v-for="item in illnesslist" |
| | | closable |
| | | :disable-transitions="false" |
| | | @close="handleCloseillness(item)" |
| | | > |
| | | {{ item.icd10name }} |
| | | </el-tag> |
| | | <el-select |
| | | v-model="inputValueillness" |
| | | v-if="inputVisibleillness" |
| | | @change="illnessConfirm" |
| | | :remote-method="remoteMethod" |
| | | filterable |
| | | remote |
| | | allow-create |
| | | default-first-option |
| | | placeholder="请选择/查询" |
| | | :loading="loading" |
| | | > |
| | | <el-option |
| | | v-for="item in optionsillness" |
| | | :key="item.icdid" |
| | | :label="item.icdname" |
| | | :value="item.icdid" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | <el-button |
| | | v-else |
| | | class="button-new-tag" |
| | | size="small" |
| | | @click="inputVisibleillness = true" |
| | | >+ 新增疾病</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> |
| | | </el-row> |
| | | </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"> |
| | |
| | | @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"> |
| | | <span |
| | |
| | | </div> |
| | | </div> |
| | | <div class="presentation"> |
| | | <div class="presentation-left"> |
| | | <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> |
| | | <el-card class="box-card" style="min-height: 688px"> |
| | | <el-table v-loading="loading" :data="ruleForm.svyLibScripts"> |
| | | <el-table |
| | | v-loading="loading" |
| | | :data="ruleForm.svyTemplateLibScripts" |
| | | > |
| | | <el-table-column |
| | | label="序号" |
| | | align="center" |
| | | key="sort" |
| | | prop="sort" |
| | | width="50" |
| | | /> |
| | | <el-table-column |
| | | label="题目标题" |
| | | align="center" |
| | | key="topic" |
| | | prop="topic" |
| | | 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="script" |
| | | prop="script" |
| | | 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" |
| | | /> |
| | | |
| | | <el-table-column |
| | | v-if="Operateit" |
| | | label="操作" |
| | | align="center" |
| | | width="250" |
| | |
| | | </el-table> |
| | | </el-card> |
| | | </div> |
| | | <div class="presentation-right"> |
| | | <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"> |
| | | 题目设置详情 |
| | | <span style="margin-left: 30px" |
| | | ><el-button type="primary" @click="Submittopicobj" |
| | | >保存</el-button |
| | | ></span |
| | | > |
| | | </div> |
| | | <el-form-item label="题目标题"> |
| | | <el-input |
| | | v-model="topicobj.topic" |
| | | placeholder="请输入标题" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <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="下题跳转" v-if="!topicobj.branchFlag"> |
| | | <el-input |
| | | v-model="topicobj.nextScriptno" |
| | | placeholder="请输入题号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" |
| | | ><el-form-item label="是否必填"> |
| | |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <div class="headline">选项设置</div> |
| | | <div |
| | | class="topicxq" |
| | | v-for="item in topicobj.svyLibTemplateTargetoptions" |
| | | > |
| | | <el-row :gutter="10"> |
| | | <el-col :span="11"> |
| | | <el-form-item v-if="topicobj.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="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-col :span="11" |
| | | ><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="11" |
| | | ><el-form-item label="下题跳转"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请输入题号" |
| | | v-model="item.nextQuestion" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | <!-- <el-col :span="2"> |
| | | <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-row> |
| | | <el-col :span="12"> |
| | | <el-form-item |
| | | label="题目分值" |
| | | v-if="topicobj.scoretype == 1" |
| | | > |
| | | <el-input |
| | | style="width: 20vw" |
| | | type="textarea" |
| | | autosize |
| | | placeholder="请输入内容" |
| | | v-model="item.prompt" |
| | | v-model="topicobj.score" |
| | | placeholder="请输入题号" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-form-item label="是否由选项配置跳转"> |
| | | <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> |
| | | <div v-if="topicobj.scriptType != 3"> |
| | | <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-col :span="20" |
| | | ><el-form-item label="下题跳转(序号)"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请输入题号" |
| | | v-model="item.nextQuestion" |
| | | show-word-limit |
| | | > |
| | | </el-input> </el-form-item |
| | | ></el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-form-item label="选中提示"> |
| | | <el-input |
| | | style="width: 20vw" |
| | | 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" |
| | | autosize |
| | | placeholder="此处放置患者回答" |
| | | v-model="topicobj.reply" |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | </el-row> |
| | | <el-form-item label="分值"> |
| | | <el-input |
| | | type="text" |
| | | placeholder="请输入选项分值" |
| | | v-model="topicobj.score" |
| | | show-word-limit |
| | | > |
| | | </el-input |
| | | ></el-form-item> |
| | | </el-row> |
| | | </el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | </el-card> |
| | |
| | | <el-divider></el-divider> |
| | | <div class="preview-left"> |
| | | <!-- 单选 --> |
| | | <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in ruleForm.svyTemplateLibScripts" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 1" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.idd }}、[单选]<span>{{ item.wssd }}</span> |
| | | {{ item.sort }}、[单选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-radio-group v-model="radio"> |
| | | <el-radio-group v-model="item.remark"> |
| | | <el-radio |
| | | v-for="(items, index) in item.sdadd" |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | >{{ items }}</el-radio |
| | | >{{ items.optioncontent }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </div> |
| | | </div> |
| | | <!-- 多选 --> |
| | | <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in ruleForm.svyTemplateLibScripts" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 2" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.idd }}、[多选]<span>{{ item.wssd }}</span> |
| | | {{ item.sort }}、[多选]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-checkbox-group v-model="radios"> |
| | | <el-checkbox-group v-model="qremark"> |
| | | <el-checkbox |
| | | v-for="(items, index) in item.sdadd" |
| | | v-for="(items, index) in item.svyLibTemplateTargetoptions" |
| | | :key="index" |
| | | :label="index" |
| | | > |
| | | {{ items }} |
| | | {{ items.optioncontent }} |
| | | </el-checkbox> |
| | | </el-checkbox-group> |
| | | </div> |
| | | </div> |
| | | <!-- 填空 --> |
| | | <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> |
| | | <div |
| | | class="scriptTopic-dev" |
| | | v-for="item in ruleForm.svyTemplateLibScripts" |
| | | :key="item.sort" |
| | | v-if="item.scriptType == 3" |
| | | > |
| | | <div class="dev-text"> |
| | | {{ item.idd }}、[填空]<span>{{ item.wssd }}</span> |
| | | {{ item.sort }}、[填空]<span>{{ item.scriptContent }}</span> |
| | | </div> |
| | | <div class="dev-xx"> |
| | | <el-input placeholder="请输入答案" v-model="radioas" clearable> |
| | |
| | | <el-button type="primary" @click="laststep()">上一步</el-button> |
| | | </div> |
| | | </div> |
| | | <!-- 预览模版弹窗 --> |
| | | <!-- 添加题目弹窗 --> |
| | | <el-drawer |
| | | title="添加题目" |
| | | :visible.sync="drawer" |
| | |
| | | :inline="true" |
| | | label-width="98px" |
| | | > |
| | | <el-form-item label="问题标题" prop="topic"> |
| | | <el-form-item label="问题标题" prop="scriptTopic"> |
| | | <el-input |
| | | v-model="queryParams.topic" |
| | | v-model="queryParams.scriptTopic" |
| | | placeholder="请输入" |
| | | clearable |
| | | style="width: 200px" |
| | |
| | | <el-table-column |
| | | label="标题" |
| | | align="center" |
| | | key="topic" |
| | | prop="topic" |
| | | key="scriptTopic" |
| | | prop="scriptTopic" |
| | | width="100" |
| | | /> |
| | | <el-table-column |
| | | label="问题内容" |
| | | align="center" |
| | | key="script" |
| | | prop="script" |
| | | 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" |
| | | /> |
| | |
| | | /> |
| | | </div> |
| | | </el-drawer> |
| | | <!-- 添加适用疾病窗口 --> |
| | | <Optional-Form |
| | | ref="child" |
| | | :dialogVisiblepatient="dialogVisiblepatient" |
| | | :overallCase="illnesslist" |
| | | @addoption="dialogVisiblepatient = false" |
| | | @kkoption="dialogVisiblepatient = true" |
| | | /> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | getQtemplateclassify, |
| | | delQtemplateclassify, |
| | | addQtemplateclassify, |
| | | getQtemplatelist, |
| | | getQtemplateobj, |
| | | compileQtemplate, |
| | | Qtemplateinfo, |
| | | compileissue, |
| | |
| | | illnesslistget, |
| | | getillness, |
| | | } from "@/api/AiCentre/index"; |
| | | import OptionalForm from "@/components/OptionalForm"; //正则组件 |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | | export default { |
| | | name: "Qcompilequer", |
| | | |
| | | 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", //当前版本 |
| | |
| | | radioas: "", //填空题答案 |
| | | dynamicTags: [], |
| | | inputVisible: false, |
| | | dialogVisiblepatient: false, //适用疾病窗口 |
| | | inputValue: "", |
| | | topicobj: {}, |
| | | // 总条数 |
| | | total: 1, |
| | | ruleForm: { svyLibScripts: [], tempDetpRelevances: [] }, |
| | | ruleForm: { |
| | | svyTemplateLibScripts: [], |
| | | tempDetpRelevances: [], |
| | | svyLibTemplateTagList: [], |
| | | }, |
| | | rules: {}, |
| | | rulesa: {}, |
| | | optionsclass: [], //分类列表 |
| | | optionlist: [ |
| | | { value: "topic", table: "topic" }, |
| | | { value: "topic", table: "topic" }, |
| | | { value: "scriptTopic", table: "scriptTopic" }, |
| | | { value: "scriptTopic", table: "scriptTopic" }, |
| | | ], |
| | | appraiselist: [ |
| | | { label: "分数", value: "1" }, |
| | | { label: "ABC等级", value: "2" }, |
| | | { label: "优良等级", value: "3" }, |
| | | ], |
| | | |
| | | appraiselist: [], |
| | | |
| | | fileList: [ |
| | | { |
| | |
| | | themelist: [], |
| | | languagelist: [], |
| | | courtyardlist: [], |
| | | askvaluetype: [], |
| | | precedencetype: [], |
| | | inputValueillness: "", |
| | | inputVisible: false, |
| | | inputVisibleillness: false, |
| | | illnessVisible: false, //指标疾病弹框 |
| | | Operateit: true, |
| | | deptOptions: [], |
| | | optionsillness: [], |
| | | delScriptVOList: [], |
| | |
| | | tempDetpRelevanceslist: [], |
| | | optionstag: [], |
| | | valuetype: [], |
| | | qremark: [], |
| | | usable: [ |
| | | { value: "0", label: "可用" }, |
| | | { value: "1", label: "停用" }, |
| | |
| | | this.required = store.getters.required; |
| | | this.valuetype = store.getters.valuetype; |
| | | this.courtyardlist = store.getters.courtyardlist; |
| | | this.test(); |
| | | this.askvaluetype = store.getters.askvaluetype; |
| | | this.appraiselist = store.getters.appraiselist; |
| | | |
| | | // 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: { |
| | | // 公共方法--------------- |
| | | getIndexInArray(arr, obj) { |
| | | return arr.indexOf(obj); |
| | | }, |
| | | processElement(element) { |
| | | return { ...element, isoperation: 1 }; |
| | | }, |
| | | // 递归扁平化 |
| | | flattenArray(arr) { |
| | |
| | | getissueinfo() { |
| | | this.id = this.$route.query.id; |
| | | if (this.id) { |
| | | getQtemplatelist({ svyid: this.id }).then((res) => { |
| | | getQtemplateobj({ svyid: this.id }).then((res) => { |
| | | this.ruleForm = res.rows[0]; |
| | | this.dynamicTags = this.ruleForm.labelInfo.split(","); |
| | | 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.tempDetpRelevanceslist); |
| | | }); |
| | | getillness({ outid: this.id, type: 5 }).then((res) => { |
| | | this.illnesslist = res.rows; |
| | | this.illnesslist.forEach((item) => { |
| | | item.icdname = item.icd10name; |
| | | }); |
| | | }); |
| | | } |
| | | getillnesslist({ |
| | | pageNum: 1, |
| | | pageSize: 100, |
| | | }).then((response) => { |
| | | this.optionsillness = response.rows; |
| | | }); |
| | | |
| | | listDept(this.queryParams).then((response) => { |
| | | this.deptList = this.handleTree(response.data, "deptId"); |
| | | }); |
| | | // 分类 |
| | | getQtemplateclassify({}).then((res) => { |
| | | // this.optionsclass = this.flattenArray(res.rows); |
| | | this.optionsclass = res.rows; |
| | | }); |
| | | }, |
| | | submitForm(formName) { |
| | | this.$modal.loading("正在上传数据,请稍候..."); |
| | | |
| | | this.ruleForm.labelInfo = this.dynamicTags.join(","); |
| | | this.ruleForm.suitway = this.ruleForm.suitway.join(","); |
| | | |
| | | if (this.id) { |
| | |
| | | Departmenttreatment() { |
| | | this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); |
| | | console.log(this.tempDetpRelevanceslist); |
| | | this.ruleForm.svyLibScripts = this.ruleForm.svyLibScripts.concat( |
| | | this.delScriptVOList |
| | | ); |
| | | this.ruleForm.svyTemplateLibScripts = |
| | | this.ruleForm.svyTemplateLibScripts.concat(this.delScriptVOList); |
| | | console.log(this.tempDetpRelevanceslist, "this.tempDetpRelevanceslist"); |
| | | const result = this.tempDetpRelevanceslist.map( |
| | | (subArr) => subArr[subArr.length - 1] |
| | |
| | | // 新增题目 |
| | | addtopic(row) { |
| | | row.isoperation = 1; |
| | | console.log(row, "row"); |
| | | row.svyLibScriptOptions.forEach((item) => { |
| | | item.isoperation = 1; |
| | | }); |
| | | row.svyLibTemplateTargetoptions = row.svyLibScriptOptions; |
| | | this.ruleForm.svyLibScripts.push(row); |
| | | this.ruleForm.svyTemplateLibScripts.push(row); |
| | | this.sortFn(); |
| | | this.$modal.msgSuccess("新增成功"); |
| | | }, |
| | | handleDelete(row) { |
| | | let index = this.ruleForm.svyLibScripts.indexOf(row); |
| | | this.ruleForm.svyLibScripts.splice(index, 1); |
| | | let index = this.ruleForm.svyTemplateLibScripts.indexOf(row); |
| | | this.ruleForm.svyTemplateLibScripts.splice(index, 1); |
| | | row.isoperation = 3; |
| | | this.delScriptVOList.push(row); |
| | | this.sortFn(); |
| | | }, |
| | | handleUpdate(row) { |
| | | console.log(row); |
| | | this.topicobj = row; |
| | | this.radioas = ""; |
| | | console.log(this.topicobj, "看数据"); |
| | | // getissuelist({ svyid: row.svyid }).then((res) => { |
| | | // }); |
| | | }, |
| | | syioption(row) { |
| | | const index = this.getIndexInArray(this.ruleForm.svyLibScripts, row); |
| | | const item = this.ruleForm.svyLibScripts.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.ruleForm.svyLibScripts.splice(index - 1, 0, item); // 将item插入到索引位置的前一位 |
| | | 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.svyLibScripts, row); |
| | | const item = this.ruleForm.svyLibScripts.splice(index, 1)[0]; // 移除指定索引处的元素,并保存到item变量中 |
| | | this.ruleForm.svyLibScripts.splice(index + 1, 0, item); // 将item插入到索引位置的前一位 |
| | | 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.svyLibScripts.forEach((item, index) => { |
| | | item.sort = index + 1; |
| | | console.log(this.ruleForm.svyTemplateLibScripts, "序前值"); |
| | | this.ruleForm.svyTemplateLibScripts.forEach((item, index) => { |
| | | item.sort = Number(index) + 1; |
| | | console.log(this.ruleForm.svyTemplateLibScripts.length, "length"); |
| | | |
| | | if (item.sort == this.ruleForm.svyTemplateLibScripts.length) { |
| | | item.nextScriptno = "已是最后一题"; |
| | | } else { |
| | | item.nextScriptno = item.sort + 1; |
| | | } |
| | | if (item.svyLibTemplateTargetoptions) { |
| | | item.svyLibTemplateTargetoptions.forEach((items) => { |
| | | items.nextQuestion = Number(item.sort) + 1; |
| | | }); |
| | | } |
| | | }); |
| | | console.log(this.ruleForm.svyLibScripts); |
| | | console.log(this.ruleForm.svyTemplateLibScripts); |
| | | }, |
| | | |
| | | // 修改题目信息 |
| | |
| | | console.log("未找到该对象"); |
| | | } |
| | | }, |
| | | // 控制文件 |
| | | handleChange(file, fileList) { |
| | | this.fileList = fileList.slice(-3); |
| | | }, |
| | | |
| | | // 标签----------------- |
| | | gettabList() { |
| | | const tagqueryParams = { |
| | |
| | | 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() { |
| | |
| | | isoperation: 1, |
| | | }; |
| | | } |
| | | // this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue); |
| | | this.ruleForm.svyLibTemplateTagList.push(tagvalue); |
| | | // this.dynamicTags.push(tagvalue); |
| | | this.dynamicTags.push(tagvalue.tagname); |
| | | this.dynamicTags.push(tagvalue); |
| | | }); |
| | | } |
| | | this.inputVisible = false; |
| | |
| | | showInput() { |
| | | this.inputVisible = true; |
| | | }, |
| | | // 疾病----------------------- |
| | | |
| | | handleCloseillness(tag) { |
| | | this.illnesslist.splice(this.illnesslist.indexOf(tag), 1); |
| | | if (tag.id) { |
| | | this.illnesslistapi.push(tag.id); |
| | | } |
| | | }, |
| | | remoteMethod(value) { |
| | | console.log(value); |
| | | const illnessqueryParams = { |
| | | pageNum: 1, |
| | | pageSize: 100, |
| | | icdname: value, |
| | | }; |
| | | this.loading = true; |
| | | setTimeout(() => { |
| | | this.loading = false; |
| | | getillnesslist(illnessqueryParams).then((response) => { |
| | | this.optionsillness = response.rows; |
| | | }); |
| | | }, 200); |
| | | }, |
| | | illnessConfirm(item) { |
| | | let opeavalue = {}; |
| | | let tagname = this.inputValueillness; |
| | | illnesslistget(item).then((res) => { |
| | | opeavalue = res.data; |
| | | opeavalue.outid = this.id; |
| | | opeavalue.type = 5; |
| | | opeavalue.icd10id = opeavalue.icdid; |
| | | opeavalue.icd10name = opeavalue.icdname; |
| | | opeavalue.icd10code = opeavalue.icdcode; |
| | | if (tagname) { |
| | | this.illnesslist.push(opeavalue); |
| | | } |
| | | }); |
| | | console.log(this.illnesslist); |
| | | this.inputVisibleillness = false; |
| | | this.inputValueillness = ""; |
| | | }, |
| | | // 保存 |
| | | // 保存疾病 |
| | | 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) => {}); |
| | | } |
| | | }); |
| | | if (this.illnesslistapi.length) { |
| | | deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); |
| | | } |
| | | this.illnessVisible = false; |
| | | this.$modal.msgSuccess("编辑成功"); |
| | | }, |
| | |
| | | // display: flex; |
| | | } |
| | | .sidecolumn { |
| | | margin: 20px; |
| | | margin-bottom: 0; |
| | | margin: 10px 20px 0 20px; |
| | | padding: 20px; |
| | | background: #edf1f7; |
| | | border: 1px solid #dcdfe6; |
| | |
| | | // 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), |
| | |
| | | border: 1px solid #dcdfe6; |
| | | -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), |
| | | 0 0 6px 0 rgba(0, 0, 0, 0.04); |
| | | .topic-dev { |
| | | .scriptTopic-dev { |
| | | margin-bottom: 25px; |
| | | font-size: 20px !important; |
| | | .dev-text { |
| | |
| | | vertical-align: bottom; |
| | | } |
| | | } |
| | | .xinz-infs { |
| | | font-size: 18px; |
| | | line-height: 48px; |
| | | |
| | | .el-tag + .el-tag { |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | .addtopic { |
| | | margin-top: 30px; |
| | | } |
| | |
| | | margin: 20px 0; |
| | | display: flex; |
| | | .presentation-left { |
| | | width: 50%; |
| | | width: 45%; |
| | | // height: 500px; |
| | | .button-textxg { |
| | | color: #024df0; |
| | | } |
| | | .button-textsc { |
| | | color: #f52727; |
| | | } |
| | | } |
| | | .spresentation-left { |
| | | width: 100%; |
| | | // height: 500px; |
| | | .button-textxg { |
| | | color: #024df0; |
| | |
| | | } |
| | | } |
| | | .presentation-right { |
| | | width: 50%; |
| | | width: 55%; |
| | | max-height: 688px; |
| | | padding: 0 20px; |
| | | font-size: 18px; |
| | |
| | | padding-top: 15px; |
| | | } |
| | | } |
| | | } |
| | | .custom-width { |
| | | width: 100px; /* 设置宽度样式 */ |
| | | } |
| | | .el-select { |
| | | width: 40%; |
| | | } |
| | | |
| | | .el-cascader { |
| | | width: 40%; |
| | | } |
| | | ::v-deep .addtopic-input { |
| | | input { |
| | |
| | | width: 22px; |
| | | height: 22px; |
| | | } |
| | | // ::v-deep.topic-dev.el-radio__label { |
| | | // ::v-deep.scriptTopic-dev.el-radio__label { |
| | | // font-size: 24px; |
| | | // } |
| | | ::v-deep.el-radio-group { |