From d1367a2eafbc26cadf07abb3caa94a0d64d09cab Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 13 八月 2024 14:14:12 +0800
Subject: [PATCH] 测试完成
---
src/views/knowledge/questionbank/particulars/index.vue | 890 +++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 623 insertions(+), 267 deletions(-)
diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index 93ed503..b6da7c2 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -5,44 +5,74 @@
<el-form :inline="true" :model="topicobj" class="demo-form-inline">
<div class="headline">
棰樼洰璁剧疆璇︽儏
- <span style="margin-left: 30px"
- ><el-button type="primary" @click="compileissue"
- >淇濆瓨</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-form-item label="闂鍒嗙被">
- <el-select
- v-model="topicobj.categoryid"
- size="medium"
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
- >
- <el-option-group
- v-for="group in classifylist"
- :key="group.id"
- :label="group.name"
- >
- <el-option
- v-for="item in group.svyLibTopicCategoryList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- >
- </el-option>
- </el-option-group>
- </el-select>
- </el-form-item>
<el-row :gutter="10">
- <el-col :span="6"
+ <el-col :span="8">
+ <el-form-item label="闂鍒嗙被">
+ <el-select
+ v-model="topicobj.categoryid"
+ size="medium"
+ filterable
+ placeholder="璇烽�夋嫨鍒嗙被"
+ >
+ <el-option-group
+ v-for="group in classifylist"
+ :key="group.id"
+ :label="group.name"
+ >
+ <el-option
+ v-for="item in group.svyLibScriptCategoryList"
+ :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="璇勪环绫诲瀷">
+ <el-select
+ v-model="topicobj.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="8" v-if="topicobj.scoretype == 1">
+ <el-form-item label="棰樼洰寰楀垎">
+ <el-input
+ v-model="topicobj.score"
+ placeholder="璇疯緭鍏ュ垎鏁�"
+ ></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+
+ <el-row :gutter="10">
+ <el-col :span="8"
><el-form-item label="棰樼洰鏍囬">
<el-input
- v-model="topicobj.topic"
+ v-model="topicobj.scriptTopic"
placeholder="璇疯緭鍏ユ爣棰�"
></el-input> </el-form-item
></el-col>
- <el-col :span="6"
+ <el-col :span="8"
><el-form-item label="鏄惁鍙敤">
<el-select
v-model="topicobj.isavailable"
@@ -61,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"
@@ -80,7 +110,7 @@
></el-col>
</el-row>
<el-row :gutter="10">
- <el-col :span="6"
+ <el-col :span="8"
><el-form-item label="鏄惁蹇呭~">
<el-select
v-model="topicobj.ismandatory"
@@ -98,17 +128,18 @@
</el-option>
</el-select> </el-form-item
></el-col>
- <el-col :span="6"
+ <el-col :span="8"
><el-form-item label="棰樼洰绫诲瀷">
<el-select
- v-model="topicobj.topictype"
+ v-model="topicobj.scriptType"
+ @change="changefn"
size="medium"
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
<el-option
class="topicobjaa"
- v-for="item in xjxsoptions"
+ v-for="item in valuetype"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -120,9 +151,8 @@
><el-form-item label="閫傜敤鏂瑰紡">
<el-select
v-model="topicobj.suitway"
- size="medium"
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
+ disabled
+ placeholder="璇烽�夋嫨"
>
<el-option
class="topicobjaa"
@@ -138,25 +168,103 @@
<el-input
style="width: 40vw"
type="textarea"
- id="topicContent"
- v-model="topicobj.topicContent"
- @focus="handleInput('topicContent')"
- placeholder="璇疯緭鍏ユ爣棰�"
+ id="scriptContent"
+ v-model="topicobj.scriptContent"
+ @focus="handleInput('scriptContent')"
+ 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"
+ type="textarea"
+ v-model="topicobj.scriptDesc"
+ placeholder="璇疯緭鍏ヨ鏄�"
+ ></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"
@@ -164,6 +272,7 @@
@change="handleInputConfirm"
filterable
remote
+ allow-create
reserve-keyword
default-first-option
:remote-method="remoteMethodtag"
@@ -188,167 +297,137 @@
</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="閫氱煡鍙橀噺" 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-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)"
+ </div>
+
+ <div v-if="topicobj.scriptType != 3 && topicobj.scriptType != 4">
+ <div class="headline">
+ 閫夐」璁剧疆<span style="margin-left: 30px"
+ ><el-button type="primary" round @click="addoption"
+ >+鏂板</el-button
+ ></span
+ >
+ </div>
+ <div
+ class="topicxq"
+ v-for="item in topicobj.svyLibScriptOptions"
+ v-if="item.isoperation != 3"
+ >
+ <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 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绛夌骇"
>
- {{ item.variatename }}
+ <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-col :span="2" :offsset="topicobj.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">
+ <el-form-item label="閫変腑鎻愮ず">
+ <el-input
+ style="width: 40vw"
+ 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-col></el-row
- > -->
- </div>
-
- <div class="headline">
- 閫夐」璁剧疆<span style="margin-left: 30px"
- ><el-button type="primary" round @click="addoption"
- >+鏂板</el-button
- ></span
- ><span style="margin-left: 30px"
- ><el-button type="success" round @click="drawer = true"
- >+閫夋嫨鎸囨爣</el-button
- ></span
- >
- </div>
- <div
- class="topicxq"
- v-for="item in topicobj.svyLibTopicoptions"
- v-if="item.isoperation != 3"
- >
- <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.score"
- 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-input
- style="width: 40vw"
- type="textarea"
- autosize
- placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="item.prompt"
- >
- </el-input
- ></el-form-item>
- </el-row>
+ </el-form-item>
+ </div>
</div>
</el-form>
</el-card>
</div>
<el-drawer
- title="娣诲姞閫夐」"
+ title="閫夋嫨鎸囨爣"
:visible.sync="drawer"
custom-class="demo-drawer"
- width="66%"
+ size="50%"
>
<div class="preview-left">
<el-form
@@ -358,7 +437,7 @@
:inline="true"
label-width="98px"
>
- <el-form-item label="鏍囬" prop="userName">
+ <el-form-item label="鎸囨爣鍚嶇О" prop="userName">
<el-input
v-model="queryParams.targetname"
placeholder="璇疯緭鍏�"
@@ -366,6 +445,26 @@
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="scriptType">
+ <el-select v-model="queryParams.scriptType" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="(item, index) in qyoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
</el-form-item>
<el-form-item>
@@ -383,17 +482,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"
/>
@@ -409,7 +544,7 @@
type="text"
@click="selectlabel(scope.row)"
><span class="button-textxg"
- ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span
+ ><i class="el-icon-circle-plus-outline"></i>閫夋嫨</span
></el-button
>
</template>
@@ -444,20 +579,29 @@
illnesslistget,
getillness,
} from "@/api/AiCentre/index";
+import { getToken } from "@/utils/auth";
export default {
data() {
return {
topicobj: {
- svyLibTopicoptions: [],
+ svyLibScriptOptions: [],
+ svyLibScriptTagList: [],
+ suitway: "1",
},
+ headers: {
+ Authorization: "Bearer " + getToken(),
+ },
+ uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort",
inputVisible: false,
inputValue: "",
currentInputId: "",
+ scriptTypels: "",
total: 0,
drawer: false,
loading: false,
id: [],
+ suitwaylist: [],
targetList: [],
dynamicTags: [],
optionsclass: [],
@@ -466,16 +610,22 @@
{ 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: {
pageNum: 1,
pageSize: 10,
isavailable: "",
+ scriptType: "",
},
optionlist: [
- { value: "topic", table: "topic" },
- { value: "topic", table: "topic" },
- { value: "topic", table: "topic" },
+ { value: "scriptTopic", table: "scriptTopic" },
+ { value: "scriptTopic", table: "scriptTopic" },
+ { value: "scriptTopic", table: "scriptTopic" },
],
inputValueillness: "",
required: [],
@@ -487,12 +637,19 @@
inputVisibleillness: false,
illnessVisible: false, //鎸囨爣鐤剧梾寮规
deptOptions: [],
+ qyoptions: [],
optionsillness: [],
illnesslistapi: [],
illnesslist: [],
classifylist: [],
+ appraiselist: [
+ { label: "鍒嗘暟", value: "1" },
+ { label: "ABC绛夌骇", value: "2" },
+ { label: "浼樿壇绛夌骇", value: "3" },
+ { label: "鏃�", value: "4" },
+ ],
optionstag: [],
- xjxsoptions: [],
+ valuetype: [],
usable: [],
mode: [], //鏂瑰紡
};
@@ -501,18 +658,22 @@
created() {
this.gettabList();
this.getissueinfo();
- this.gettargetInfo();
+ // this.gettargetInfo();
this.mode = store.getters.mode;
this.languagelist = store.getters.languagelist;
this.usable = store.getters.usable;
- this.xjxsoptions = store.getters.xjxsoptions;
+ this.valuetype = store.getters.askvaluetype;
this.required = store.getters.required;
+ this.qyoptions = store.getters.askvaluetype;
},
methods: {
// 鍏叡鏂规硶---------------
getIndexInArray(arr, obj) {
return arr.indexOf(obj);
+ },
+ processElement(element) {
+ return { ...element, isoperation: 1 };
},
// 閫掑綊鎵佸钩鍖�
flattenArray(arr) {
@@ -533,12 +694,20 @@
// 鑾峰彇鏁版嵁
getissueinfo() {
this.id = this.$route.query.id;
+ // 鍒嗙被
+ getissueclassify({}).then((res) => {
+ this.classifylist = res.rows;
+ console.log(this.classifylist, "鍒嗙被");
+ });
if (!this.id) {
return;
}
- getissuelist({ topicid: this.id }).then((res) => {
+ getissuelist({ id: this.id }).then((res) => {
this.topicobj = res.rows[0];
- this.dynamicTags = this.topicobj.tag.split(",");
+ 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;
@@ -552,20 +721,28 @@
getillness({ outid: this.id, type: 4 }).then((res) => {
this.illnesslist = res.rows;
});
- // 鍒嗙被
- getissueclassify({}).then((res) => {
- this.classifylist = res.rows;
- });
},
gettargetInfo() {
+ if (!this.topicobj.scriptType) {
+ this.$message({
+ message: "璇峰厛閫夋嫨棰樼洰绫诲瀷",
+ type: "error",
+ });
+ return;
+ }
+ if (this.topicobj.scriptType) {
+ this.queryParams.scriptType = this.topicobj.scriptType;
+ }
+ this.queryParams.suitWay = 1;
gettargetInfo(this.queryParams).then((res) => {
this.targetList = res.rows;
this.total = res.total;
+ this.drawer = true;
});
},
// 鏂板鎴栦慨鏀硅鎯�
compileissue() {
- this.topicobj.svyLibTopicoptions = this.topicobj.svyLibTopicoptions.map(
+ this.topicobj.svyLibScriptOptions = this.topicobj.svyLibScriptOptions.map(
(item) => {
if (item.isoperation != 1 && item.isoperation != 3) {
item.isoperation = 2;
@@ -573,8 +750,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(",");
if (this.id) {
this.topicobj.isoperation = 2;
compileissue(this.topicobj).then((res) => {
@@ -617,31 +797,119 @@
deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
}
},
+ // 鍒ゆ柇鍒嗗��
+ Scorejudgment() {
+ let scorearr = this.topicobj.svyLibScriptOptions;
+ let isValid = scorearr.every((score) => {
+ if (score.score) {
+ console.log(Number(score.score), this.topicobj.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 if (this.topicobj.scriptType == 3) {
+ return true;
+ } else {
+ this.$message({
+ message: "閫夐」鍒嗗�兼湭璁剧疆",
+ type: "warning",
+ });
+ return false;
+ }
+ });
+
+ if (isValid) {
+ this.compileissue();
+ // console.log("鍒颁繚瀛樹簡");
+ }
+ },
+ Saveproblem() {
+ if (this.topicobj.scoretype == 1) {
+ this.Scorejudgment();
+ } else {
+ this.compileissue();
+ }
+ },
+ // 鍒ゆ柇鎸囨爣
+ changefn(item) {
+ 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;
+ });
+ }
+ },
+
// 鍒犻櫎閫夐」
deletexuanx(row) {
- const index = this.getIndexInArray(this.topicobj.svyLibTopicoptions, row);
- if (this.topicobj.svyLibTopicoptions[index].topicid) {
- this.topicobj.svyLibTopicoptions[index].isoperation = 3;
+ const index = this.getIndexInArray(
+ 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.svyLibTopicoptions.splice(index, 1);
+ this.topicobj.svyLibScriptOptions.splice(index, 1);
}
},
// 鏂板閫夐」
addoption() {
- this.topicobj.svyLibTopicoptions.push({
+ console.log(this.topicobj, "obj");
+ this.topicobj.svyLibScriptOptions.push({
score: "",
isoperation: 1,
});
},
// 閫夋嫨鎸囨爣
selectlabel(row) {
- const labellist = row.targetoptionList;
- labellist.forEach((item) => {
- this.topicobj.svyLibTopicoptions.push({
- optioncontent: item.targetvalue,
- isoperation: 1,
- });
- });
+ this.$modal
+ .confirm(
+ '鏄惁閫夋嫨鏍囬涓�"' +
+ row.targetname +
+ '"鐨勬寚鏍囧苟鏇挎崲濉厖闂鍙婇�夐」淇℃伅锛�'
+ )
+ .then(() => {
+ console.log(row);
+ 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 = [];
+ const labellist = row.targetoptionList;
+ labellist.forEach((item) => {
+ this.topicobj.svyLibScriptOptions.push({
+ optioncontent: item.targetvalue,
+ isoperation: 1,
+ });
+ });
+ this.drawer = false;
+ })
+ .catch(() => {});
},
// 鏍囩-----------------
@@ -652,14 +920,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 = {};
@@ -681,7 +951,8 @@
};
}
// this.dynamicTags.push(tagvalue);
- this.dynamicTags.push(tagvalue.tagname);
+ this.topicobj.svyLibScriptTagList.push(tagvalue);
+ this.dynamicTags.push(tagvalue);
});
}
this.inputVisible = false;
@@ -744,36 +1015,38 @@
this.inputVisibleillness = false;
this.inputValueillness = "";
},
- // 淇濆瓨
- confirmillness() {
- this.illnesslist.forEach((item, index) => {
- if (!item.id) {
- addtargetillness(item).then((res) => {});
- }
- });
- if (this.illnesslistapi.length) {
- deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
- }
- this.illnessVisible = false;
- this.$modal.msgSuccess("缂栬緫鎴愬姛");
+ // // 淇濆瓨
+ // confirmillness() {
+ // this.illnesslist.forEach((item, index) => {
+ // if (!item.id) {
+ // addtargetillness(item).then((res) => {});
+ // }
+ // });
+ // if (this.illnesslistapi.length) {
+ // deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+ // }
+ // this.illnessVisible = false;
+ // this.$modal.msgSuccess("缂栬緫鎴愬姛");
+ // },
+ resetQuery() {
+ this.queryParams = {
+ pageNum: 1,
+ pageSize: 10,
+ };
+ this.gettargetInfo();
},
- resetQuery() {},
- // 渚挎嵎鏍囩
- 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 == "topicContent") {
- inputValueArr = this.topicobj.topicContent.split("");
- console.log(123);
- } 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("");
+ if (this.currentInputId == "scriptContent") {
+ console.log(1);
+ inputValueArr = this.topicobj.scriptContent.split("");
+ console.log(2);
} else {
return;
}
@@ -782,20 +1055,22 @@
// 鎷垮埌閫変腑鏂囧瓧鐨勯暱搴︼紙鍚庣画鍙互鐢ㄦ潵鏇挎崲閫変腑鐨勬枃瀛楋級
let selectLength = el.selectionEnd - el.selectionStart;
// 灏嗚鎻掑叆/鏇挎崲鐨勬枃瀛楁彃鍏�/鏇挎崲锛坴alue.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 == "topicContent") {
- this.topicobj.topicContent = 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;
+ if (this.currentInputId == "scriptContent") {
+ this.topicobj.scriptContent = inputValueArr;
} else {
return;
}
@@ -823,6 +1098,72 @@
console.log("杈撳叆妗嗙殑鍊煎凡鏇存柊:", this.currentInputId);
// 鍦ㄨ繖閲屾墽琛屾洿鏂版暟鎹殑閫昏緫
},
+ // 娣峰悎璺嚎
+ 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() {
+ const arrays = [
+ ["2", "3", "4", "5"],
+ ["1", "2", "5", "6"],
+ ["3", "4", "5", "3"],
+ ["3", "2", "5", "7"],
+ ];
+
+ const newMixArray = this.generateCombinations(arrays);
+ console.log(newMixArray, "鍏ㄩ儴璺嚎");
+ this.screen(newMixArray);
+ },
+ // 鏁扮粍姹傚拰
+ sumArray(arr) {
+ return arr.reduce((acc, curr) => acc + parseInt(curr), 0);
+ },
+ // 绛涢�夐敊璇矾绾�
+ 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("鍥剧墖鎻掑叆澶辫触");
+ }
+ },
},
};
</script>
@@ -840,12 +1181,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),
@@ -891,6 +1232,21 @@
.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;
@@ -899,7 +1255,7 @@
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 {
--
Gitblit v1.9.3