From f93cb40b76468c6f1063081a3be16027d69b4832 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 04 一月 2024 09:46:01 +0800
Subject: [PATCH] 指标完成
---
src/views/knowledge/questionnaire/compilequer/index.vue | 503 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 344 insertions(+), 159 deletions(-)
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 4c2e5a9..26c78ac 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -17,9 +17,7 @@
<div class="leftvlue">
<!-- 鍩烘湰淇℃伅 -->
<div v-if="Editprogress == 1">
- <div class="leftvlue-jbxx">
- 鍩烘湰淇℃伅
- </div>
+ <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div>
<el-divider></el-divider>
<el-form
:model="ruleForm"
@@ -30,7 +28,7 @@
>
<el-form-item label="闂嵎鍒嗙被" prop="region">
<el-select
- v-model="ruleForm.classify"
+ v-model="ruleForm.categoryid"
size="medium"
multiple
filterable
@@ -38,7 +36,7 @@
>
<el-option
class="ruleFormaa"
- v-for="item in options"
+ v-for="item in optionsclass"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -48,16 +46,32 @@
</el-form-item>
<el-form-item label="闂嵎鏍囬" prop="name">
<div style="width: 30%">
- <el-input v-model="ruleForm.name"></el-input>
+ <el-input v-model="ruleForm.svyname"></el-input>
</div>
</el-form-item>
+ <el-form-item label="闂嵎鎻忚堪">
+ <el-input
+ style="width: 40vw"
+ type="textarea"
+ autosize
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="ruleForm.description"
+ >
+ </el-input
+ ></el-form-item>
<el-form-item label="閫氱煡鍙橀噺" prop="name">
<el-row v-for="item in variablelist">
<el-col :span="4">
- <el-input v-model="item.variable"></el-input>
+ <el-input
+ v-model="item.name"
+ placeholder="璇疯緭鍏ュ彉閲忓悕"
+ ></el-input>
</el-col>
<el-col :span="8" :offset="1">
- <el-input v-model="item.value"></el-input>
+ <el-input
+ v-model="item.value"
+ placeholder="璇疯緭鍏ュ彉閲忓唴瀹�"
+ ></el-input>
</el-col>
<el-col :span="4" :offset="1">
<el-button
@@ -67,6 +81,7 @@
@click="addvariable(item)"
></el-button>
<el-button
+ v-if="item"
type="danger"
icon="el-icon-delete"
circle
@@ -91,51 +106,101 @@
</el-upload>
</div>
</el-form-item>
- <el-form-item label="鏍囩" prop="desc">
- <div class="xinz-inf">
- <el-tag
- :key="tag"
- type="success"
- v-for="tag in dynamicTags"
- closable
- :disable-transitions="false"
- @close="handleClose(tag)"
- >
- {{ tag }}
- </el-tag>
- <el-select
- v-model="inputValue"
- v-if="inputVisible"
- @change="handleInputConfirm"
- filterable
- placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in options"
- :key="item.label"
- :label="item.label"
- :value="item.label"
+ <el-row>
+ <el-form-item label="鏍囩" prop="desc">
+ <div class="xinz-inf">
+ <el-tag
+ :key="tag.tagname"
+ type="success"
+ v-for="tag in dynamicTags"
+ closable
+ :disable-transitions="false"
+ @close="handleClosetag(tag)"
>
- </el-option>
- </el-select>
- <el-button
- v-else
- class="button-new-tag"
- size="small"
- @click="showInput"
- >+ 鏂板鏍囩</el-button
- >
- </div>
- </el-form-item>
+ {{ tag.tagname }}
+ </el-tag>
+ <el-select
+ v-model="inputValue"
+ v-if="inputVisible"
+ @change="handleInputConfirm"
+ filterable
+ remote
+ reserve-keyword
+ default-first-option
+ :remote-method="remoteMethodtag"
+ :loading="loading"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in optionstag"
+ :key="item.tagid"
+ :label="item.tagname"
+ :value="item.tagname"
+ >
+ </el-option>
+ </el-select>
+ <el-button
+ v-else
+ class="button-new-tag"
+ size="small"
+ @click="showInput"
+ >+ 鏂板鏍囩</el-button
+ >
+ </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-row :gutter="20">
<el-col :span="6">
<el-form-item label="鐗堟湰鍙�" prop="name">
- <el-input v-model="currentVersion"></el-input> </el-form-item
+ <el-input v-model="ruleForm.version"></el-input> </el-form-item
></el-col>
<el-col :span="9">
<el-form-item label="鍙敤鐘舵��" prop="region">
<el-select
- v-model="ruleForm.classify"
+ v-model="ruleForm.isenable"
size="medium"
multiple
filterable
@@ -143,7 +208,7 @@
>
<el-option
class="ruleFormaa"
- v-for="item in options"
+ v-for="item in usable"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -152,7 +217,7 @@
</el-select> </el-form-item
></el-col>
</el-row>
- <el-form-item label="闂嵎鏂瑰紡" prop="region">
+ <el-form-item label="闂嵎鏂瑰紡(缂�)" prop="region">
<el-select
v-model="ruleForm.way"
size="medium"
@@ -170,24 +235,7 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="閫傜敤鐤剧梾" prop="region">
- <el-select
- v-model="ruleForm.illness"
- size="medium"
- multiple
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
- >
- <el-option
- class="ruleFormaa"
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
+
<el-form-item label="閫傜敤闄㈠尯" prop="region">
<el-select
v-model="ruleForm.courtyard"
@@ -197,7 +245,7 @@
>
<el-option
class="ruleFormaa"
- v-for="item in options"
+ v-for="item in courtyardlist"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -215,7 +263,7 @@
>
<el-option
class="ruleFormaa"
- v-for="item in options"
+ v-for="item in courtyardlist"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -343,51 +391,70 @@
></el-col>
</el-row>
<div class="headline">閫夐」璁剧疆</div>
- <div class="topicxq" v-for="item in 2">
+ <div class="topicxq" v-for="item in optionlist">
<el-row :gutter="10">
- <el-col :span="12"
- ><el-form-item label="閫夐」">
+ <el-col :span="11"
+ ><el-form-item label="棰樺彿">
<el-input
type="text"
- placeholder="璇疯緭鍏ラ�夐」"
- v-model="text"
+ placeholder="璇疯緭鍏�"
+ v-model="item.optionid"
show-word-limit
>
</el-input> </el-form-item
></el-col>
- <el-col :span="12"
+ <el-col :span="11"
><el-form-item label="鍒嗗��">
<el-input
type="text"
- placeholder="璇疯緭鍏ュ垎鍊�"
- v-model="text"
+ placeholder="璇疯緭鍏�"
+ v-model="item.score"
show-word-limit
>
</el-input> </el-form-item
></el-col>
</el-row>
<el-row :gutter="10">
- <el-col :span="12"
- ><el-form-item label="閫変腑鎻愮ず">
+ <el-col :span="11"
+ ><el-form-item label="閫夐」">
<el-input
type="text"
- placeholder="璇疯緭鍏ュ唴瀹�"
- v-model="text"
- maxlength="10"
+ placeholder="璇疯緭鍏ラ�夐」"
+ v-model="item.optioncontent"
show-word-limit
>
</el-input> </el-form-item
></el-col>
- <el-col :span="12"
+ <el-col :span="11"
><el-form-item label="涓嬮璺宠浆">
<el-input
type="text"
placeholder="璇疯緭鍏ラ鍙�"
- v-model="text"
+ v-model="item.jump"
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: 20vw"
+ type="textarea"
+ autosize
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ v-model="item.prompt"
+ >
+ </el-input
+ ></el-form-item>
</el-row>
</div>
</el-form>
@@ -481,22 +548,13 @@
/>
</el-form-item>
<el-form-item label="涓婚" prop="sickness">
- <el-select
- v-model="ruleForm.classify"
- size="medium"
- multiple
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
- >
- <el-option
- class="ruleFormaa"
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
+ <el-input
+ v-model="queryParams.userName"
+ placeholder="璇疯緭鍏�"
+ clearable
+ style="width: 200px"
+ @keyup.enter.native="handleQuery"
+ />
</el-form-item>
<el-form-item>
<el-button
@@ -551,6 +609,24 @@
</template>
<script>
+import { listtag } from "@/api/system/label";
+import store from "@/store";
+import {
+ getQtemplateclassify,
+ delQtemplateclassify,
+ addQtemplateclassify,
+ getQtemplatelist,
+ Qtemplateinfo,
+ compileissue,
+ delQtemplateinfo,
+ Followupinfo,
+ deltargetillness,
+ addtargetillness,
+ getillnesslist,
+ illnesslistget,
+ getillness,
+} from "@/api/AiCentre/index";
+
export default {
data() {
return {
@@ -562,26 +638,20 @@
radio: "false", //鍗曢�夐閫変腑
radios: [], //澶氶�夐閫変腑
radioas: "", //濉┖棰樼瓟妗�
- dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"],
+ dynamicTags: [],
inputVisible: false,
inputValue: "",
topicobj: {},
// 鎬绘潯鏁�
total: 1,
- ruleForm: {
- name: "",
- region: "",
- date1: "",
- date2: "",
- delivery: false,
- type: [],
- resource: "",
- desc: "",
- templatevalue: "",
- data2: "",
- },
+ ruleForm: {},
rules: {},
rulesa: {},
+ optionsclass: [], //鍒嗙被鍒楄〃
+ optionlist: [
+ { value: "topic", table: "topic" },
+ { value: "topic", table: "topic" },
+ ],
xjxsoptions: [
{
value: "閫夐」1",
@@ -615,14 +685,6 @@
value: "閫夐」2",
label: "鍏ラ櫌闂嵎",
},
- {
- value: "閫夐」3",
- label: "鎵嬫湳闂嵎",
- },
- {
- value: "閫夐」4",
- label: "鎶ょ悊闂嵎",
- },
],
variablelist: [
{
@@ -649,15 +711,24 @@
userid: "2",
userName: "浜屽彿闂嵎",
},
- {
- userid: "3",
- userName: "涓夊彿闂嵎",
- },
- {
- userid: "4",
- userName: "鍥涘彿闂嵎",
- },
],
+ themelist: [],
+ languagelist: [],
+ courtyardlist: [],
+ precedencetype: [],
+ inputValueillness: "",
+ inputVisible: false,
+ inputVisibleillness: false,
+ illnessVisible: false, //鎸囨爣鐤剧梾寮规
+ deptOptions: [],
+ optionsillness: [],
+ illnesslistapi: [],
+ illnesslist: [],
+
+ optionstag: [],
+ xjxsoptions: [],
+ usable: [],
+ mode: [], //鏂瑰紡
// 鏌ヨ鍙傛暟
queryParams: {
pageNum: 1,
@@ -671,21 +742,37 @@
};
},
- created() {},
+ created() {
+ this.gettabList();
+ this.getissueinfo();
+ this.mode = store.getters.mode;
+ this.languagelist = store.getters.languagelist;
+ this.usable = store.getters.usable;
+ this.xjxsoptions = store.getters.xjxsoptions;
+ this.courtyardlist = store.getters.courtyardlist;
+ },
methods: {
- submitForm(formName) {
- this.rules = this.rulesa;
- // 鎻愪氦
- this.$refs[formName].validate((valid) => {
- if (valid) {
- alert("submit!");
- } else {
- console.log("error submit!!");
- return false;
- }
+ getIndexInArray(arr, obj) {
+ return arr.indexOf(obj);
+ },
+ // 鑾峰彇鏁版嵁
+ getissueinfo() {
+ this.id = this.$route.query.id;
+ Qtemplateinfo(this.id).then((res) => {
+ this.ruleForm = res.data;
+ });
+ getillnesslist({
+ pageNum: 1,
+ pageSize: 100,
+ }).then((response) => {
+ this.optionsillness = response.rows;
+ });
+ getillness({ outid: this.id, type: 5 }).then((res) => {
+ this.illnesslist = res.rows;
});
},
+ submitForm(formName) {},
// 涓嬩竴姝�
nextstep() {
if (this.Editprogress <= 2) {
@@ -698,17 +785,19 @@
},
// 鍏抽棴
closeFm() {
- this.$confirm('閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- this.$router.go(-1)
- }).catch(() => {
+ this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ this.$router.go(-1);
+ })
+ .catch(() => {
this.$message({
- type: 'info',
- message: '宸插彇娑�'
- });
+ type: "info",
+ message: "宸插彇娑�",
+ });
});
},
// 淇濆瓨棰樼洰淇℃伅
@@ -750,23 +839,119 @@
this.fileList = fileList.slice(-3);
},
// 鏍囩-----------------
- handleClose(tag) {
+ gettabList() {
+ const tagqueryParams = {
+ pageNum: 1,
+ pageSize: 1000,
+ tagcategoryid: "0",
+ };
+ listtag(tagqueryParams).then((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.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3;
},
handleInputConfirm() {
- let inputValue = this.inputValue;
- if (inputValue) {
- this.dynamicTags.push(inputValue);
+ let tagvalue = {};
+ let tagname = this.inputValue;
+ if (tagname) {
+ listtag({
+ pageNum: 1,
+ pageSize: 1000,
+ tagcategoryid: "0",
+ tagname: tagname,
+ }).then((res) => {
+ if (res.rows[0]) {
+ tagvalue = res.rows[0];
+ tagvalue.isoperation = 1;
+ } else {
+ tagvalue = {
+ tagname: tagname,
+ isoperation: 1,
+ };
+ }
+ // this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue);
+ this.dynamicTags.push(tagvalue);
+ });
}
this.inputVisible = false;
this.inputValue = "";
},
+ remoteMethodtag(query) {
+ if (query !== "") {
+ this.loading = true;
+ setTimeout(() => {
+ this.loading = false;
+ listtag({ tagname: query, tagcategoryid: "0" }).then((res) => {
+ this.optionstag = res.rows;
+ });
+ }, 200);
+ } else {
+ this.optionstag = [];
+ }
+ },
showInput() {
this.inputVisible = true;
- // 鑷姩鑾峰彇鐒︾偣
- // this.$nextTick((_) => {
- // this.$refs.saveTagInput.$refs.input.focus();
- // });
+ },
+ // 鐤剧梾-----------------------
+
+ 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() {
+ 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("缂栬緫鎴愬姛");
},
// --------------------------
// 鏌ヨ棰樺簱
@@ -813,9 +998,9 @@
}
.leftvlue-jbxx {
font-size: 24px;
- border-left: 5px solid #41a1be;
- padding-left: 5px;
- margin: 15px 0;
+ border-left: 5px solid #41a1be;
+ padding-left: 5px;
+ margin: 15px 0;
}
.demo-cascader {
margin-right: 20px;
--
Gitblit v1.9.3