| | |
| | | </div> |
| | | <div v-if="Editprogress == 1"> |
| | | <el-card class="box-card"> |
| | | <el-form :inline="true" :model="topicobj" class="demo-form-inline"> |
| | | <el-form :inline="true" ref="topicobj" :model="topicobj" :rules="rules" class="demo-form-inline"> |
| | | <div class="headline"> |
| | | 基础信息配置 |
| | | <span style="margin-left: 30px" |
| | |
| | | <el-divider></el-divider> |
| | | |
| | | <div style="margin-left: 8%"> |
| | | <el-form-item label="问题内容" prop="scriptContent"> |
| | | <el-input |
| | | style="width: 40vw" |
| | | type="textarea" |
| | | id="scriptContent" |
| | | v-model="topicobj.scriptContent" |
| | | @focus="handleInput('scriptContent')" |
| | | placeholder="请输入问题内容" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="问题说明" prop="targetname"> |
| | | <el-input |
| | | style="width: 40vw" |
| | | type="textarea" |
| | | v-model="topicobj.scriptDesc" |
| | | placeholder="请输入说明" |
| | | ></el-input> |
| | | </el-form-item> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="问题分类"> |
| | | <el-form-item label="问题分类" prop="categoryid"> |
| | | <el-select |
| | | v-model="topicobj.categoryid" |
| | | size="medium" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="评价类型"> |
| | | <el-form-item label="评价类型" prop="scoretype"> |
| | | <el-select |
| | | v-model="topicobj.scoretype" |
| | | placeholder="请选择分类" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8" v-if="topicobj.scoretype == 1"> |
| | | <el-form-item label="题目得分"> |
| | | <el-form-item label="问题得分" prop="score"> |
| | | <el-input |
| | | v-model="topicobj.score" |
| | | placeholder="请输入分数" |
| | |
| | | |
| | | <el-row :gutter="10"> |
| | | <el-col :span="8" |
| | | ><el-form-item label="题目标题"> |
| | | ><el-form-item label="问题标题" prop="scriptTopic"> |
| | | <el-input |
| | | v-model="topicobj.scriptTopic" |
| | | placeholder="请输入标题" |
| | | ></el-input> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="8" |
| | | ><el-form-item label="是否可用"> |
| | | ><el-form-item label="是否可用" prop="isavailable"> |
| | | <el-radio-group v-model="topicobj.isavailable"> |
| | | <el-radio |
| | | @change="$forceUpdate()" |
| | | 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="是否必填"> |
| | | <!-- <el-col :span="8"> |
| | | <el-form-item label="是否必填" prop="ismandatory"> |
| | | <el-radio-group v-model="topicobj.ismandatory"> |
| | | <el-radio |
| | | @change="$forceUpdate()" |
| | | v-for="(item, index) in required" |
| | | :label="item.value" |
| | | >{{ item.label }}</el-radio |
| | | > |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-col> --> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="语言"> |
| | | <el-select |
| | | v-model="topicobj.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-col :span="8" |
| | | ><el-form-item label="题目类型"> |
| | | ><el-form-item label="问题类型" prop="scriptType"> |
| | | <el-select |
| | | v-model="topicobj.scriptType" |
| | | @change="changefn" |
| | |
| | | </el-select> </el-form-item |
| | | ></el-col> |
| | | <el-col :span="8" |
| | | ><el-form-item label="适用方式"> |
| | | ><el-form-item label="适用方式" prop="suitway"> |
| | | <el-select |
| | | v-model="topicobj.suitway" |
| | | disabled |
| | |
| | | > |
| | | </el-option> </el-select></el-form-item |
| | | ></el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="语言" prop="language"> |
| | | <el-select |
| | | v-model="topicobj.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-form-item label="题目内容"> |
| | | <el-input |
| | | style="width: 40vw" |
| | | type="textarea" |
| | | id="scriptContent" |
| | | v-model="topicobj.scriptContent" |
| | | @focus="handleInput('scriptContent')" |
| | | placeholder="请输入题目内容" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <!-- <el-form-item |
| | | label="" |
| | | prop="scriptContent" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> --> |
| | | <el-form-item label="题目说明"> |
| | | <el-input |
| | | style="width: 40vw" |
| | | type="textarea" |
| | | v-model="topicobj.scriptDesc" |
| | | placeholder="请输入说明" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | |
| | | <!-- <el-form-item label="选中指标:"> |
| | | <span style="margin-left: 30px" |
| | |
| | | </div> |
| | | <div v-if="Editprogress == 2"> |
| | | <el-card class="box-card"> |
| | | <el-form :inline="true" :model="topicobj" class="demo-form-inline"> |
| | | <el-form :inline="true" ref="topicobj" :model="topicobj" class="demo-form-inline"> |
| | | <div class="headline"> |
| | | 指标设置详情 |
| | | <span v-if="topicobj.targetname" style="margin-left: 30px" |
| | |
| | | |
| | | <el-row> |
| | | <el-col :span="10"> |
| | | <el-form-item label="值类型"> |
| | | <el-form-item label="结果类型"> |
| | | <el-radio-group |
| | | :disabled="true" |
| | | v-model="topicobj.valueType" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="题目类型"> |
| | | <el-form-item label="问题题型"> |
| | | <el-radio-group |
| | | :disabled="true" |
| | | v-model="topicobj.scriptType" |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="10"> |
| | | <el-form-item label="预警提醒"> |
| | | <el-form-item label="异常提醒"> |
| | | <el-radio-group v-model="item.isabnormal"> |
| | | <el-radio :label="1">是</el-radio> |
| | | <el-radio :label="0">否</el-radio> |
| | |
| | | <el-input |
| | | type="textarea" |
| | | :rows="4" |
| | | placeholder="此处展示收集信息" |
| | | placeholder="此处展示问答题收集信息" |
| | | v-model="testgovalue" |
| | | > |
| | | </el-input> |
| | |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="语言" |
| | | align="center" |
| | | key="language" |
| | | prop="language" |
| | | width="200" |
| | | :show-overflow-tooltip="true" |
| | | /> |
| | | <el-table-column |
| | | label="是否可用" |
| | | align="center" |
| | | key="isavailable" |
| | |
| | | /> |
| | | </div> |
| | | </el-drawer> |
| | | <el-dialog title="题目预览" :visible.sync="topicVisible" width="50%"> |
| | | <el-dialog title="问题预览" :visible.sync="topicVisible" width="50%"> |
| | | <div class="preview-left"> |
| | | <div class="dev-text"> |
| | | <span>{{ topicobj.scriptContent }}</span> |
| | |
| | | svyLibScriptOptions: [], |
| | | svyLibScriptTagList: [], |
| | | suitway: "1", |
| | | scoretype:'4', |
| | | language:'普通话', |
| | | }, |
| | | headers: { |
| | | Authorization: "Bearer " + getToken(), |
| | |
| | | valuetype: [], |
| | | usable: [], |
| | | mode: [], //方式 |
| | | // 表单校验 |
| | | rules: { |
| | | categoryid: [ |
| | | { required: true, message: "问题分类不能为空", trigger: "blur" }, |
| | | ], |
| | | scoretype: [ |
| | | { required: true, message: "评价类型不能为空", trigger: "blur" }, |
| | | ], |
| | | language: [ |
| | | { required: true, message: "语言不能为空", trigger: "blur" }, |
| | | ], |
| | | isavailable: [ |
| | | { 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" }, |
| | | ], |
| | | scriptContent: [ |
| | | { required: true, message: "问题内容不能为空", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | |
| | |
| | | // 获取数据 |
| | | getissueinfo() { |
| | | this.id = this.$route.query.id; |
| | | if (this.$route.query.categoryid) { |
| | | this.topicobj.categoryid = Number(this.$route.query.categoryid); |
| | | } |
| | | this.topicobj.isavailable = "1"; |
| | | this.topicobj.language = "普通话"; |
| | | |
| | | |
| | | // 分类 |
| | | getissueclassify({}).then((res) => { |
| | | this.classifylist = res.rows; |
| | | console.log(this.classifylist, "分类"); |
| | | if (this.$route.query.categoryid) { |
| | | this.topicobj.categoryid = Number(this.$route.query.categoryid); |
| | | } |
| | | }); |
| | | if (!this.id) { |
| | | return; |
| | |
| | | }, |
| | | // 新增或修改详情 |
| | | compileissue() { |
| | | this.topicobj.svyLibScriptOptions = this.topicobj.svyLibScriptOptions.map( |
| | | this.$refs["topicobj"].validate((valid) => { |
| | | if (valid) { |
| | | this.topicobj.svyLibScriptOptions = this.topicobj.svyLibScriptOptions.map( |
| | | (item) => { |
| | | if (item.isoperation != 1 && item.isoperation != 3) { |
| | | item.isoperation = 2; |
| | |
| | | if (this.illnesslistapi.length) { |
| | | deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); |
| | | } |
| | | } |
| | | }) |
| | | |
| | | |
| | | }, |
| | | // 判断分值 |
| | | Scorejudgment() { |
| | | let scorearr = this.topicobj.svyLibScriptOptions; |
| | | let isValid = scorearr.every((score, index) => { |
| | | if (this.topicobj.scriptType == 1) { |
| | | if (score.score) { |
| | | if (score.score||score.score==0) { |
| | | if ( |
| | | Number(score.score) < 0 || |
| | | Number(score.score) > Number(this.topicobj.score) |
| | |
| | | this.topicobj.scriptContent = row.targetdesc; |
| | | this.topicobj.targetid = row.id; |
| | | this.topicobj.targetname = row.targetname; |
| | | this.topicobj.isavailable = "0"; |
| | | this.topicobj.language = "普通话"; |
| | | this.topicobj.svyLibScriptOptions = []; |
| | | const labellist = row.targetoptionList; |
| | | labellist.forEach((item) => { |