|  |  |  | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | <el-col :span="8" | 
|---|
|  |  |  | ><el-form-item label="是否可用"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | v-model="topicobj.isavailable" | 
|---|
|  |  |  | size="medium" | 
|---|
|  |  |  | filterable | 
|---|
|  |  |  | placeholder="请选择分类" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-option | 
|---|
|  |  |  | class="topicobjaa" | 
|---|
|  |  |  | v-for="item in usable" | 
|---|
|  |  |  | :key="item.value" | 
|---|
|  |  |  | :label="item.label" | 
|---|
|  |  |  | :value="item.value" | 
|---|
|  |  |  | <el-radio-group v-model="topicobj.isAvailable"> | 
|---|
|  |  |  | <el-radio | 
|---|
|  |  |  | v-for="(item, index) in usable" | 
|---|
|  |  |  | :label="item.value" | 
|---|
|  |  |  | >{{ item.label }}</el-radio | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> </el-form-item | 
|---|
|  |  |  | ></el-col> | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item></el-col | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-col :span="8" | 
|---|
|  |  |  | ><el-form-item label="语言"> | 
|---|
|  |  |  | <el-select | 
|---|
|  |  |  | 
|---|
|  |  |  | placeholder="请输入题目内容" | 
|---|
|  |  |  | ></el-input> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | label="" | 
|---|
|  |  |  | prop="scriptContent" | 
|---|
|  |  |  | v-if="topicobj.scriptType == 3" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <div style="display: flex; margin-bottom: 10px"> | 
|---|
|  |  |  | <div class="tsgnames" @click="tsgnametos">插入填空标记</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-row> | 
|---|
|  |  |  | <el-col :span="20"> | 
|---|
|  |  |  | <el-form-item | 
|---|
|  |  |  | label="填空信息" | 
|---|
|  |  |  | v-if=" | 
|---|
|  |  |  | topicobj.scriptType == 3 && | 
|---|
|  |  |  | topicobj.svyLibScriptOptions.length | 
|---|
|  |  |  | " | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-card class="box-card" style="width: 200%"> | 
|---|
|  |  |  | <div | 
|---|
|  |  |  | v-for="item in topicobj.svyLibScriptOptions" | 
|---|
|  |  |  | v-if="item.isoperation != 3" | 
|---|
|  |  |  | style="margin-bottom: 10px" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | type="text" | 
|---|
|  |  |  | placeholder="填入内容信息" | 
|---|
|  |  |  | v-model="item.aaa" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-button | 
|---|
|  |  |  | slot="append" | 
|---|
|  |  |  | @click="deletexuanx(item)" | 
|---|
|  |  |  | type="danger" | 
|---|
|  |  |  | icon="el-icon-delete" | 
|---|
|  |  |  | circle | 
|---|
|  |  |  | ></el-button> | 
|---|
|  |  |  | <span slot="prepend">{{ | 
|---|
|  |  |  | "(" + item.orderno + ")" | 
|---|
|  |  |  | }}</span> | 
|---|
|  |  |  | </el-input> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-card> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-col> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <el-form-item label="题目说明"> | 
|---|
|  |  |  | <el-input | 
|---|
|  |  |  | style="width: 40vw" | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-row> | 
|---|
|  |  |  | <!-- <el-row> | 
|---|
|  |  |  | <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-form-item> | 
|---|
|  |  |  | </el-row> --> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <el-form-item label="选中指标:"> | 
|---|
|  |  |  | <span style="margin-left: 30px" | 
|---|
|  |  |  | ><el-tag type="success" effect="dark">{{ | 
|---|
|  |  |  | 
|---|
|  |  |  | // 获取数据 | 
|---|
|  |  |  | getissueinfo() { | 
|---|
|  |  |  | this.id = this.$route.query.id; | 
|---|
|  |  |  | this.topicobj.categoryid = Number(this.$route.query.categoryid); | 
|---|
|  |  |  | console.log(this.topicobj.categoryid); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.topicobj.isavailable = "1"; | 
|---|
|  |  |  | this.topicobj.language = "普通话"; | 
|---|
|  |  |  | // 分类 | 
|---|
|  |  |  | getissueclassify({}).then((res) => { | 
|---|
|  |  |  | this.classifylist = res.rows; | 
|---|
|  |  |  | 
|---|
|  |  |  | this.dynamicTags = this.topicobj.svyLibScriptTagList.map( | 
|---|
|  |  |  | this.processElement | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | this.scriptTypels = this.topicobj.scriptType; | 
|---|
|  |  |  | this.variablelist = JSON.parse(this.topicobj.otherdata) | 
|---|
|  |  |  | ? JSON.parse(this.topicobj.otherdata) | 
|---|
|  |  |  | : this.variablelist; | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 判断指标 | 
|---|
|  |  |  | changefn(item) { | 
|---|
|  |  |  | if (this.topicobj.targetname) { | 
|---|
|  |  |  | console.log(item); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ( | 
|---|
|  |  |  | this.topicobj.targetname || | 
|---|
|  |  |  | this.topicobj.svyLibScriptOptions[0].optioncontent | 
|---|
|  |  |  | ) { | 
|---|
|  |  |  | this.$modal | 
|---|
|  |  |  | .confirm("更改类型后选项将清空是否继续?") | 
|---|
|  |  |  | .then(() => { | 
|---|
|  |  |  | this.scriptTypels = this.topicobj.scriptType; | 
|---|
|  |  |  | this.topicobj.svyLibScriptOptions = []; | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | .catch(() => { | 
|---|
|  |  |  | this.topicobj.scriptType = this.scriptTypels; | 
|---|
|  |  |  | 
|---|
|  |  |  | this.topicobj.svyLibScriptOptions, | 
|---|
|  |  |  | row | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | console.log(this.topicobj.svyLibScriptOptions); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (this.topicobj.svyLibScriptOptions[index].id) { | 
|---|
|  |  |  | console.log(2); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.topicobj.svyLibScriptOptions[index].isoperation = 3; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.topicobj.svyLibScriptOptions.splice(index, 1); | 
|---|
|  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | this.gettargetInfo(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 便捷标签 | 
|---|
|  |  |  | tsgnameto(row) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 便捷标签插入填空 | 
|---|
|  |  |  | tsgnametos(row) { | 
|---|
|  |  |  | let inputValueArr = ""; | 
|---|
|  |  |  | let value = this.topicobj.svyLibScriptOptions.length + 1; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | let el = document.querySelector("#" + this.currentInputId); | 
|---|
|  |  |  | //el.selectionStart; 这就是当前光标所在的位置(字符串中字符的index) | 
|---|
|  |  |  | if (this.currentInputId == "scriptContent") { | 
|---|
|  |  |  | console.log(1); | 
|---|
|  |  |  | inputValueArr = this.topicobj.scriptContent.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "nomatchtext") { | 
|---|
|  |  |  | inputValueArr = this.topicobj.nomatchtext.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "sliencetext") { | 
|---|
|  |  |  | inputValueArr = this.topicobj.sliencetext.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "noclearlytext") { | 
|---|
|  |  |  | inputValueArr = this.topicobj.noclearlytext.split(""); | 
|---|
|  |  |  | } else if (this.currentInputId == "submoduletext") { | 
|---|
|  |  |  | inputValueArr = this.topicobj.submoduletext.split(""); | 
|---|
|  |  |  | console.log(2); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | // 拿到选中文字的长度(后续可以用来替换选中的文字) | 
|---|
|  |  |  | let selectLength = el.selectionEnd - el.selectionStart; | 
|---|
|  |  |  | // 将要插入/替换的文字插入/替换(value.name是要插入/替换的字符串) | 
|---|
|  |  |  | inputValueArr.splice(el.selectionStart, selectLength, `${row.variate}`); | 
|---|
|  |  |  | inputValueArr.splice( | 
|---|
|  |  |  | el.selectionStart, | 
|---|
|  |  |  | selectLength, | 
|---|
|  |  |  | "__" + value + "__" | 
|---|
|  |  |  | ); | 
|---|
|  |  |  | this.topicobj.svyLibScriptOptions.push({ | 
|---|
|  |  |  | orderno: value, | 
|---|
|  |  |  | optiondesc: "", | 
|---|
|  |  |  | isoperation: 1, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // 把数组重新转换为字符串并赋值 | 
|---|
|  |  |  | inputValueArr = inputValueArr.join(""); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | console.log(inputValueArr); | 
|---|
|  |  |  | if (this.currentInputId == "scriptContent") { | 
|---|
|  |  |  | this.topicobj.scriptContent = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "nomatchtext") { | 
|---|
|  |  |  | this.topicobj.nomatchtext = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "sliencetext") { | 
|---|
|  |  |  | this.topicobj.sliencetext = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "noclearlytext") { | 
|---|
|  |  |  | this.topicobj.noclearlytext = inputValueArr; | 
|---|
|  |  |  | } else if (this.currentInputId == "submoduletext") { | 
|---|
|  |  |  | this.topicobj.submoduletext = inputValueArr; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | .tsgname:hover { | 
|---|
|  |  |  | background: #3366f5; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tsgnames { | 
|---|
|  |  |  | width: 120px; | 
|---|
|  |  |  | margin-right: 10px; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | cursor: pointer; | 
|---|
|  |  |  | height: 40px; | 
|---|
|  |  |  | line-height: 40px; | 
|---|
|  |  |  | background: #66c18c; | 
|---|
|  |  |  | color: #ffff; | 
|---|
|  |  |  | font-size: 18px; | 
|---|
|  |  |  | border-radius: 5px; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .tsgnames:hover { | 
|---|
|  |  |  | background: #20894d; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .preview-left { | 
|---|
|  |  |  | margin: 20px; | 
|---|
|  |  |  | //   margin: 20px; | 
|---|