From 2c9ddebd07230ca4165e2ee55470133fdf9ccd99 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 31 七月 2024 09:42:22 +0800
Subject: [PATCH] 测试完成
---
src/views/knowledge/questionnaire/compilequer/index.vue | 716 ++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 460 insertions(+), 256 deletions(-)
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 040fb82..5f90647 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -97,33 +97,18 @@
</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"
@@ -131,6 +116,7 @@
@change="handleInputConfirm"
filterable
remote
+ allow-create
reserve-keyword
default-first-option
:remote-method="remoteMethodtag"
@@ -157,45 +143,9 @@
</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-button type="warning" @click="$refs.child.handleAddpatient()"
+ >娣诲姞鐤剧梾</el-button
+ >
</el-form-item>
</el-row>
<el-row :gutter="20">
@@ -287,37 +237,57 @@
<div v-if="Editprogress == 2">
<div class="leftvlue-jbxx">闂嵎棰樼洰璁剧疆</div>
<el-divider></el-divider>
- <div class="addtopic">
- <el-button
- type="primary"
- icon="el-icon-plus"
- round
- @click="getaddtopiclist"
- >娣诲姞棰樼洰</el-button
- >
+ <div style="display: flex; justify-content: space-between">
+ <div>
+ <el-button
+ type="primary"
+ icon="el-icon-plus"
+ round
+ @click="getaddtopiclist"
+ >娣诲姞棰樼洰</el-button
+ >
+ </div>
+ <div style="display: flex">
+ <span
+ style="
+ width: 180px;
+ font-size: 20px;
+ font-weight: normal;
+ color: red;
+ "
+ >闂嵎鎬诲垎锛�</span
+ >
+ <el-input
+ v-model="ruleForm.scriptScore"
+ placeholder="璇疯緭鍏ュ垎鏁�"
+ ></el-input>
+ </div>
</div>
<div class="presentation">
<div class="presentation-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="guid"
- prop="guid"
+ key="sort"
+ prop="sort"
/>
<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="script"
- prop="script"
+ key="scriptContent"
+ prop="scriptContent"
:show-overflow-tooltip="true"
/>
@@ -374,7 +344,7 @@
</div>
<el-form-item label="棰樼洰鏍囬">
<el-input
- v-model="topicobj.topic"
+ v-model="topicobj.scriptTopic"
placeholder="璇疯緭鍏ユ爣棰�"
></el-input>
</el-form-item>
@@ -410,75 +380,123 @@
</el-select> </el-form-item
></el-col>
</el-row>
- <div class="headline">閫夐」璁剧疆</div>
- <div
- class="topicxq"
- v-for="item in topicobj.svyLibScriptOptions"
- >
- <el-row :gutter="10">
- <el-col :span="11"
- ><el-form-item label="棰樺彿">
- <el-input
- type="text"
- placeholder="璇疯緭鍏�"
- v-model="item.topicid"
- show-word-limit
+ <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> </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
+ 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-input> </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-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-input> </el-form-item
- ></el-col>
- <el-col :span="11"
- ><el-form-item 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
- type="text"
- placeholder="璇疯緭鍏ラ鍙�"
- v-model="item.jump"
- show-word-limit
+ style="width: 20vw"
+ type="textarea"
+ autosize
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="item.prompt"
>
- </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
+ ></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="姝ゅ鏀剧疆鎮h�呭洖绛�"
+ v-model="topicobj.reply"
+ >
+ </el-input
+ ></el-form-item>
+ </el-row>
+ <el-form-item label="鍒嗗��">
<el-input
- style="width: 20vw"
- type="textarea"
- autosize
- placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="item.prompt"
+ 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>
@@ -500,42 +518,57 @@
<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>
@@ -548,7 +581,7 @@
<el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
</div>
</div>
- <!-- 棰勮妯$増寮圭獥 -->
+ <!-- 娣诲姞棰樼洰寮圭獥 -->
<el-drawer
title="娣诲姞棰樼洰"
:visible.sync="drawer"
@@ -563,9 +596,9 @@
: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"
@@ -590,15 +623,23 @@
<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"
/>
@@ -626,6 +667,14 @@
/>
</div>
</el-drawer>
+ <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 -->
+ <Optional-Form
+ ref="child"
+ :dialogVisiblepatient="dialogVisiblepatient"
+ :overallCase="illnesslist"
+ @addoption="dialogVisiblepatient = false"
+ @kkoption="dialogVisiblepatient = true"
+ />
</div>
</template>
@@ -637,7 +686,7 @@
getQtemplateclassify,
delQtemplateclassify,
addQtemplateclassify,
- getQtemplatelist,
+ getQtemplateobj,
compileQtemplate,
Qtemplateinfo,
compileissue,
@@ -651,10 +700,20 @@
illnesslistget,
getillness,
} from "@/api/AiCentre/index";
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
+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", //褰撳墠鐗堟湰
@@ -665,18 +724,24 @@
radioas: "", //濉┖棰樼瓟妗�
dynamicTags: [],
inputVisible: false,
+ dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛
inputValue: "",
topicobj: {},
// 鎬绘潯鏁�
total: 1,
- ruleForm: {},
+ 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" },
@@ -729,14 +794,39 @@
tempDetpRelevanceslist: [],
optionstag: [],
valuetype: [],
- usable: [],
- required: [],
+ qremark: [],
+ usable: [
+ { value: "0", label: "鍙敤" },
+ { value: "1", label: "鍋滅敤" },
+ ],
+ required: [
+ { value: "1", label: "蹇呭~" },
+ { value: "2", label: "涓嶅繀濉�" },
+ ],
mode: [], //鏂瑰紡
// 鏌ヨ鍙傛暟
queryParams: {
pageNum: 1,
pageSize: 10,
},
+ arr: [
+ [
+ { id: 1, grade: "5" },
+ { id: 2, grade: "5" },
+ { id: 3, grade: "5" },
+ { id: 4, grade: "5" },
+ ],
+ [
+ { id: 1, grade: "5" },
+ { id: 3, grade: "5" },
+ { id: 4, grade: "5" },
+ ],
+ [
+ { id: 1, grade: "5" },
+ { id: 2, grade: "5" },
+ { id: 4, grade: "5" },
+ ],
+ ],
};
},
@@ -749,12 +839,16 @@
this.required = store.getters.required;
this.valuetype = store.getters.valuetype;
this.courtyardlist = store.getters.courtyardlist;
+ // this.test();
},
methods: {
// 鍏叡鏂规硶---------------
getIndexInArray(arr, obj) {
return arr.indexOf(obj);
+ },
+ processElement(element) {
+ return { ...element, isoperation: 1 };
},
// 閫掑綊鎵佸钩鍖�
flattenArray(arr) {
@@ -774,45 +868,53 @@
// 鑾峰彇鏁版嵁
getissueinfo() {
this.id = this.$route.query.id;
- getQtemplatelist({ svyid: this.id }).then((res) => {
- this.ruleForm = res.rows[0];
- this.dynamicTags = this.ruleForm.labelInfo.split(",");
- this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
- this.ruleForm.suitway = this.ruleForm.suitway.split(",");
- console.log(this.tempDetpRelevanceslist);
- });
- getillnesslist({
- pageNum: 1,
- pageSize: 100,
- }).then((response) => {
- this.optionsillness = response.rows;
- });
- getillness({ outid: this.id, type: 5 }).then((res) => {
- this.illnesslist = res.rows;
- });
+ if (this.id) {
+ getQtemplateobj({ svyid: this.id }).then((res) => {
+ this.ruleForm = res.rows[0];
+ this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map(
+ this.processElement
+ );
+ this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
+ this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+ });
+ getillness({ outid: this.id, type: 5 }).then((res) => {
+ this.illnesslist = res.rows;
+ this.illnesslist.forEach((item) => {
+ item.icdname = item.icd10name;
+ });
+ });
+ }
+
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.ruleForm.labelInfo = this.dynamicTags.join(",");
+ this.$modal.loading("姝e湪涓婁紶鏁版嵁锛岃绋嶅��...");
+
this.ruleForm.suitway = this.ruleForm.suitway.join(",");
if (this.id) {
this.ruleForm.isoperation = 2;
- compileQtemplate(this.ruleForm).then((response) => {
+ compileQtemplate(this.ruleForm).then((res) => {
this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.confirmillness();
+ this.$modal.closeLoading();
+
this.$router.go(-1);
});
} else {
this.ruleForm.isoperation = 1;
- compileQtemplate(this.ruleForm).then((response) => {
+ compileQtemplate(this.ruleForm).then((res) => {
this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.confirmillness(res.data);
+
+ this.$modal.closeLoading();
+
this.$router.go(-1);
});
}
@@ -821,9 +923,9 @@
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]
);
@@ -883,6 +985,7 @@
// 鑾峰彇棰樼洰鍒楄〃
getaddtopiclist() {
this.drawer = true;
+ this.queryParams.scoretype = this.ruleForm.scoreType;
getissuelist(this.queryParams).then((res) => {
this.loading = false;
this.userList = res.rows;
@@ -893,49 +996,58 @@
// 鏂板棰樼洰
addtopic(row) {
row.isoperation = 1;
+ console.log(row, "row");
row.svyLibScriptOptions.forEach((item) => {
item.isoperation = 1;
});
- this.ruleForm.svyLibScripts.push(row);
+ row.svyLibTemplateTargetoptions = row.svyLibScriptOptions;
+ 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]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
- this.ruleForm.svyLibScripts.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+ const index = this.getIndexInArray(
+ this.ruleForm.svyTemplateLibScripts,
+ row
+ );
+ const item = this.ruleForm.svyTemplateLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+ this.ruleForm.svyTemplateLibScripts.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
this.sortFn();
},
xiayioption(row) {
- const index = this.getIndexInArray(this.ruleForm.svyLibScripts, row);
- const item = this.ruleForm.svyLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
- this.ruleForm.svyLibScripts.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
+ const index = this.getIndexInArray(
+ this.ruleForm.svyTemplateLibScripts,
+ row
+ );
+ const item = this.ruleForm.svyTemplateLibScripts.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
+ this.ruleForm.svyTemplateLibScripts.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
this.sortFn();
},
sortFn() {
- this.ruleForm.svyLibScripts = this.ruleForm.svyLibScripts.map(
- (item, index) => {
- return {
- guid: index + 1,
- svyid: item.svyid,
- script: item.script,
- script: item.script,
- };
+ console.log(this.ruleForm.svyTemplateLibScripts, "搴忓墠鍊�");
+ this.ruleForm.svyTemplateLibScripts.forEach((item, index) => {
+ item.sort = Number(index) + 1;
+ if (item.svyLibTemplateTargetoptions) {
+ item.svyLibTemplateTargetoptions.forEach((items) => {
+ items.nextQuestion = Number(item.sort) + 1;
+ });
}
- );
- console.log(this.ruleForm.svyLibScripts);
+ });
+ console.log(this.ruleForm.svyTemplateLibScripts);
},
// 淇敼棰樼洰淇℃伅
@@ -956,10 +1068,7 @@
console.log("鏈壘鍒拌瀵硅薄");
}
},
- // 鎺у埗鏂囦欢
- handleChange(file, fileList) {
- this.fileList = fileList.slice(-3);
- },
+
// 鏍囩-----------------
gettabList() {
const tagqueryParams = {
@@ -975,7 +1084,11 @@
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() {
@@ -997,9 +1110,9 @@
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;
@@ -1021,57 +1134,22 @@
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() {
+ // 淇濆瓨鐤剧梾
+ 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("缂栬緫鎴愬姛");
},
@@ -1082,6 +1160,129 @@
},
resetForm(formName) {
this.$refs[formName].resetFields();
+ },
+ // 闂嵎鍒嗘暟闄愬埗绠楁硶
+ // 娣峰悎璺嚎
+ 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 arraysa = [
+ {
+ id: 1,
+ grade: "5",
+ arr: [
+ { name: "涓嶉敊", skip: 2 },
+ { name: "涓�鑸�", skip: 2 },
+ { name: "杩樹笉閿�", skip: 2 },
+ { name: "寰堟", skip: 3 },
+ ],
+ },
+
+ {
+ id: 2,
+ grade: "5",
+ arr: [
+ { name: "浼樼", skip: 3 },
+ { name: "鑹ソ", skip: 3 },
+ { name: "涓�鑸�", skip: 3 },
+ { name: "杈冨樊", skip: 4 },
+ ],
+ },
+ {
+ id: 3,
+ grade: "5",
+ arr: [
+ { name: "鏄殑", skip: 4 },
+ { name: "涓嶆竻妤�", skip: 4 },
+ { name: "杩樺彲", skip: 4 },
+ { name: "涓�鑸�", skip: 4 },
+ ],
+ },
+ {
+ id: 4,
+ grade: "5",
+ arr: [
+ { name: "鐪熶笉閿�", skip: null },
+ { name: "杩樺彲浠�", skip: null },
+ { name: "涓�鑸埇", skip: null },
+ { name: "涓嶆竻妤�", skip: null },
+ ],
+ },
+ ];
+
+ // const newMixArray = this.generateCombinations(arrays);
+ const newMixArray = this.getExecutionOrders(arraysa);
+
+ console.log(newMixArray, "鍏ㄩ儴璺嚎");
+ this.screen(newMixArray);
+ },
+ getExecutionOrders(data) {
+ let orders = [];
+
+ const explore = (currentOrder, id) => {
+ console.log(currentOrder, "currentOrder", id);
+ const currentQuestion = data[currentOrder[currentOrder.length - 1]];
+ if (
+ currentQuestion.arr.some(
+ (option) =>
+ option.skip !== null && !currentOrder.includes(option.skip)
+ )
+ ) {
+ currentQuestion.arr.forEach((option) => {
+ if (option.skip !== null && !currentOrder.includes(option.skip)) {
+ explore([...currentOrder, option.skip]);
+ }
+ });
+ } else {
+ orders.push(
+ currentOrder.map((id) => ({
+ id: data[id].id,
+ grade: data[id].grade,
+ }))
+ );
+ }
+ };
+ console.log(data, "data");
+ data.forEach((entry) => {
+ explore([entry.id], entry.id);
+ });
+
+ return orders;
+ },
+
+ // 鏁扮粍姹傚拰
+ 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鍒�");
},
},
};
@@ -1138,7 +1339,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 {
@@ -1207,6 +1408,9 @@
}
}
}
+.custom-width {
+ width: 100px; /* 璁剧疆瀹藉害鏍峰紡 */
+}
::v-deep .addtopic-input {
input {
background: #02a7f0;
@@ -1233,7 +1437,7 @@
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 {
--
Gitblit v1.9.3