From 41b1f5280255ac539e40d4cd794532ae1829ce17 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 01 八月 2024 18:25:36 +0800 Subject: [PATCH] 测试完成 --- src/views/knowledge/questionbank/particulars/index.vue | 316 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 222 insertions(+), 94 deletions(-) diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue index b8c97b5..ac445b6 100644 --- a/src/views/knowledge/questionbank/particulars/index.vue +++ b/src/views/knowledge/questionbank/particulars/index.vue @@ -5,15 +5,12 @@ <el-form :inline="true" :model="topicobj" class="demo-form-inline"> <div class="headline"> 棰樼洰璁剧疆璇︽儏 - <span style="margin-left: 30px" - ><el-button type="primary" @click="Saveproblem" - >淇� 瀛�</el-button - > </span - ><span style="margin-left: 30px" - ><el-button type="success" round @click="drawer = true" - >+閫夋嫨鎸囨爣</el-button - ></span - > + <span style="float: right; margin-right: 30px" + ><el-button type="success" @click="Saveproblem">棰勮</el-button> + </span> + <span style="float: right; margin-right: 30px" + ><el-button type="primary" @click="Saveproblem">淇� 瀛�</el-button> + </span> </div> <div style="margin-left: 8%"> <el-row :gutter="10"> @@ -94,7 +91,7 @@ </el-select> </el-form-item ></el-col> <el-col :span="8" - ><el-form-item label="璇█(缂�)"> + ><el-form-item label="璇█"> <el-select v-model="topicobj.language" size="medium" @@ -152,11 +149,9 @@ <el-col :span="8" ><el-form-item label="閫傜敤鏂瑰紡"> <el-select - v-model="suitwaylist" - size="medium" - filterable - multiple - placeholder="璇烽�夋嫨鍒嗙被" + v-model="topicobj.suitway" + disabled + placeholder="璇烽�夋嫨" > <el-option class="topicobjaa" @@ -187,18 +182,44 @@ ></el-input> </el-form-item> + <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="handleChangetg" + > + <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> + <div slot="tip" class="el-upload__tip"> + 鍙兘涓婁紶jpg/png绫诲瀷鏂囦欢 + </div> + </el-upload> + + <div style="margin: 20px"> + <el-image + style="width: 100px; height: 100px" + :src="topicobj.picturePath" + :preview-src-list="[...topicobj.picturePath]" + > + </el-image> + </div> + </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" @@ -206,6 +227,7 @@ @change="handleInputConfirm" filterable remote + allow-create reserve-keyword default-first-option :remote-method="remoteMethodtag" @@ -230,7 +252,7 @@ </div> </el-form-item> </el-row> - <el-row> + <!-- <el-row> <el-form-item label="閫傜敤鐤剧梾" prop="region"> <div class="xinz-inf"> <el-tag @@ -272,57 +294,22 @@ > </div> </el-form-item> - </el-row> - <!-- <el-form-item label="閫氱煡鍙橀噺" prop="name"> - <div style="margin-bottom: 5px" v-for="item in variablelist"> - <el-row> - <el-col :span="5"> - <el-input - v-model="item.variatename" - placeholder="璇疯緭鍏ュ彉閲忓悕" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-input - v-model="item.variate" - placeholder="璇疯緭鍏ュ彉閲忓唴瀹�" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-button - type="success" - icon="el-icon-plus" - circle - @click="addvariable(item)" - ></el-button> - <el-button - v-if="!item.default" - type="danger" - icon="el-icon-delete" - circle - @click="delvariable(item)" - ></el-button> - </el-col> - </el-row> - </div> + </el-row> --> + <el-form-item label="閫変腑鎸囨爣锛�"> + <span style="margin-left: 30px" + ><el-tag type="success" effect="dark">{{ + topicobj.targetname ? topicobj.targetname : "鏈�夋嫨" + }}</el-tag></span + > + <span style="margin-left: 30px" + ><el-button type="success" round @click="gettargetInfo" + >+閫夋嫨鎸囨爣</el-button + ></span + > </el-form-item> - <el-row> - <el-col :span="24"> - <div - style="display: flex; margin-left: 66px; margin-bottom: 10px" - > - <div - v-for="item in variablelist" - class="tsgname" - @click="tsgnameto(item)" - > - {{ item.variatename }} - </div> - </div> - </el-col></el-row - > --> </div> - <div v-if="topicobj.scriptType != 3"> + + <div v-if="topicobj.scriptType != 3 && topicobj.scriptType != 4"> <div class="headline"> 閫夐」璁剧疆<span style="margin-left: 30px" ><el-button type="primary" round @click="addoption" @@ -377,7 +364,8 @@ </el-radio-group> </el-form-item> </el-col> - <el-col :span="2"> + + <el-col :span="2" :offsset="topicobj.scoretype == 4 ? 11 : 0"> <el-button type="danger" icon="el-icon-delete" @@ -386,7 +374,14 @@ ></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"> <el-form-item label="閫変腑鎻愮ず"> <el-input @@ -399,13 +394,34 @@ </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> </el-card> </div> <el-drawer - title="娣诲姞閫夐」" + title="閫夋嫨鎸囨爣" :visible.sync="drawer" custom-class="demo-drawer" size="50%" @@ -418,9 +434,27 @@ :inline="true" label-width="98px" > - <el-form-item label="鏍囬" prop="userName"> + <el-form-item label="鎸囨爣鍚嶇О" prop="userName"> <el-input v-model="queryParams.targetname" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="gettargetInfo" + /> + </el-form-item> + <el-form-item label="鎸囨爣璇存槑" prop="userName"> + <el-input + v-model="queryParams.targetdesc" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="gettargetInfo" + /> + </el-form-item> + <el-form-item label="鎸囨爣鏍囩" prop="userName"> + <el-input + v-model="queryParams.tagName" placeholder="璇疯緭鍏�" clearable style="width: 200px" @@ -443,17 +477,53 @@ </el-form> <el-table v-loading="loading" :data="targetList"> <el-table-column - label="鏍囬" + label="鎸囨爣鍚嶇О" align="center" key="targetname" prop="targetname" width="100" /> <el-table-column - label="闂鍐呭" + label="鎸囨爣璇存槑" align="center" key="targetdesc" prop="targetdesc" + width="200" + :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" + prop="isAvailable" + > + <template slot-scope="scope"> + <dict-tag :options="usable" :value="scope.row.isAvailable" /> + </template> + </el-table-column> + <el-table-column + label="闂绫诲瀷" + align="center" + key="scriptType" + prop="scriptType" + > + <template slot-scope="scope"> + <dict-tag :options="valuetype" :value="scope.row.scriptType" /> + </template> + </el-table-column> + <el-table-column + label="閫夐」璇存槑" + align="center" + key="optionDesc" + prop="optionDesc" width="200" :show-overflow-tooltip="true" /> @@ -504,13 +574,20 @@ illnesslistget, getillness, } from "@/api/AiCentre/index"; +import { getToken } from "@/utils/auth"; export default { data() { return { topicobj: { svyLibScriptOptions: [], + svyLibScriptTagList: [], + suitway: "1", }, + headers: { + Authorization: "Bearer " + getToken(), + }, + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", inputVisible: false, inputValue: "", currentInputId: "", @@ -526,6 +603,11 @@ { variatename: "濮撳悕", variate: "${name}", default: 1 }, { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, + ], + url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg", + srcList: [ + "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg", + "https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg", ], // 鏌ヨ鍙傛暟 queryParams: { @@ -556,6 +638,7 @@ { label: "鍒嗘暟", value: "1" }, { label: "ABC绛夌骇", value: "2" }, { label: "浼樿壇绛夌骇", value: "3" }, + { label: "鏃�", value: "4" }, ], optionstag: [], valuetype: [], @@ -567,7 +650,7 @@ created() { this.gettabList(); this.getissueinfo(); - this.gettargetInfo(); + // this.gettargetInfo(); this.mode = store.getters.mode; this.languagelist = store.getters.languagelist; this.usable = store.getters.usable; @@ -579,6 +662,9 @@ // 鍏叡鏂规硶--------------- getIndexInArray(arr, obj) { return arr.indexOf(obj); + }, + processElement(element) { + return { ...element, isoperation: 1 }; }, // 閫掑綊鎵佸钩鍖� flattenArray(arr) { @@ -609,8 +695,9 @@ } getissuelist({ id: this.id }).then((res) => { this.topicobj = res.rows[0]; - this.dynamicTags = this.topicobj.tag.split(","); - this.suitwaylist = this.topicobj.suitway.split(","); + this.dynamicTags = this.topicobj.svyLibScriptTagList.map( + this.processElement + ); this.variablelist = JSON.parse(this.topicobj.otherdata) ? JSON.parse(this.topicobj.otherdata) : this.variablelist; @@ -626,9 +713,18 @@ }); }, gettargetInfo() { + if (!this.topicobj.scriptType) { + this.$message({ + message: "璇峰厛閫夋嫨棰樼洰绫诲瀷", + type: "error", + }); + return; + } + this.queryParams.scriptType = this.topicobj.scriptType; gettargetInfo(this.queryParams).then((res) => { this.targetList = res.rows; this.total = res.total; + this.drawer = true; }); }, // 鏂板鎴栦慨鏀硅鎯� @@ -641,9 +737,11 @@ return item; } ); + this.topicobj.targetoptions = this.topicobj.svyLibScriptOptions + .filter((item) => item.isoperation != 3) + .map((item) => item.optioncontent) + .join(", "); this.topicobj.otherdata = JSON.stringify(this.variablelist); - this.topicobj.tag = this.dynamicTags.join(","); - this.topicobj.suitway = this.suitwaylist.join(","); if (this.id) { this.topicobj.isoperation = 2; compileissue(this.topicobj).then((res) => { @@ -693,12 +791,12 @@ if (score.score) { console.log(Number(score.score), this.topicobj.score, "鍒嗗��"); if ( - Number(score.score) <= 0 || + Number(score.score) < 0 || Number(score.score) > Number(this.topicobj.score) ) { console.log(score, "閿欒鍒嗗��"); this.$message({ - message: "閫夐」鍒嗗�煎繀椤诲ぇ浜�0灏忎簬绛変簬" + this.topicobj.score + "鍒�", + message: "閫夐」鍒嗗�煎繀椤诲湪0鍒�" + this.topicobj.score + "鍒嗕箣闂�", type: "warning", }); return false; @@ -722,16 +820,12 @@ }, Saveproblem() { if (this.topicobj.scoretype == 1) { - console.log(321); this.Scorejudgment(); } else { this.compileissue(); } }, - // 鍒犻櫎鏍囩 - handleClose(tag) { - this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); - }, + // 鍒犻櫎閫夐」 deletexuanx(row) { const index = this.getIndexInArray( @@ -756,14 +850,17 @@ selectlabel(row) { this.$modal .confirm( - '鏄惁閫夋嫨鏍囬涓�"' + row.targetname + '"鐨勬寚鏍囧苟鏇挎崲濉厖闂淇℃伅锛�' + '鏄惁閫夋嫨鏍囬涓�"' + + row.targetname + + '"鐨勬寚鏍囧苟鏇挎崲濉厖闂鍙婇�夐」淇℃伅锛�' ) .then(() => { console.log(row); - console.log(this.topicobj); this.topicobj.scriptTopic = row.targetname; this.topicobj.valueType = row.valueType; 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 = []; @@ -787,14 +884,16 @@ tagcategoryid: "0", }; listtag(tagqueryParams).then((response) => { - console.log(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.topicobj.svyLibScriptTagList[lindex].delFlag = 1; }, handleInputConfirm() { let tagvalue = {}; @@ -816,7 +915,8 @@ }; } // this.dynamicTags.push(tagvalue); - this.dynamicTags.push(tagvalue.tagname); + this.topicobj.svyLibScriptTagList.push(tagvalue); + this.dynamicTags.push(tagvalue); }); } this.inputVisible = false; @@ -892,7 +992,13 @@ // this.illnessVisible = false; // this.$modal.msgSuccess("缂栬緫鎴愬姛"); // }, - resetQuery() {}, + resetQuery() { + this.queryParams = { + pageNum: 1, + pageSize: 10, + }; + this.gettargetInfo(); + }, // 渚挎嵎鏍囩 tsgnameto(row) { let inputValueArr = ""; @@ -900,7 +1006,6 @@ //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛� if (this.currentInputId == "scriptContent") { inputValueArr = this.topicobj.scriptContent.split(""); - console.log(123); } else if (this.currentInputId == "nomatchtext") { inputValueArr = this.topicobj.nomatchtext.split(""); } else if (this.currentInputId == "sliencetext") { @@ -998,8 +1103,31 @@ // 绛涢�夐敊璇矾绾� screen(data) { const arraysGreaterThan10 = data.filter((arr) => this.sumArray(arr) > 21); - console.log(arraysGreaterThan10, "绛涢�夐敊璇矾绾垮ぇ浜�13鍒�"); + }, + // 閫夐」鏂囦欢涓婁紶 + handleChange(item, response, file, fileList) { + console.log(response); + if (response.code == 200) { + console.log(item); + let index = this.topicobj.svyLibScriptOptions.findIndex( + (obj) => obj.optioncontent == item.optioncontent + ); + console.log(index); + this.topicobj.svyLibScriptOptions[index].picturePath = response.url; + console.log(this.topicobj.svyLibScriptOptions[index]); + this.$forceUpdate(); + } else { + this.$message.error("鍥剧墖鎻掑叆澶辫触"); + } + }, + // 棰樺共鏂囦欢涓婁紶 + handleChangetg(response, file, fileList) { + if (response.code == 200) { + this.topicobj.picturePath = response.url; + } else { + this.$message.error("鍥剧墖鎻掑叆澶辫触"); + } }, }, }; @@ -1018,12 +1146,12 @@ margin: 15px 0; } .topicxq { - width: 68%; + width: 72%; background-color: #e2f5fc; border-radius: 4px; margin-top: 15px; margin-left: 10%; - padding-left: 10px; + padding-left: 20px; padding-top: 15px; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), -- Gitblit v1.9.3