From 5339f63a6ab4611681b8ffd0a295193b1f5986b6 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 27 五月 2024 14:16:20 +0800
Subject: [PATCH] 测试完成
---
src/views/knowledge/education/compilequer/index.vue | 372 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 240 insertions(+), 132 deletions(-)
diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index 8ec30df..ce20fcf 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -2,12 +2,22 @@
<div class="Questionnairemanagement">
<!-- 宸︿晶鏍� -->
<div class="sidecolumn">
- <div style="height: 200px">
- <el-steps direction="vertical" :active="Editprogress">
- <el-step title="鍩虹淇℃伅璁剧疆"></el-step>
- <el-step title="瀹f暀鍐呭"></el-step>
- </el-steps>
- </div>
+ <el-steps finish-status="success" :active="Editprogress" simple>
+ <el-step>
+ <template slot="title">
+ <span style="cursor: pointer" @click="Editprogress = 1"
+ >鍩虹淇℃伅璁剧疆</span
+ >
+ </template>
+ </el-step>
+ <el-step>
+ <template slot="title">
+ <span style="cursor: pointer" @click="Editprogress = 2"
+ >瀹f暀鍐呭</span
+ >
+ </template>
+ </el-step>
+ </el-steps>
</div>
<!-- 鍙充晶鏁版嵁 -->
<div class="leftvlue">
@@ -23,54 +33,80 @@
>
<el-form-item label="瀹f暀鍒嗙被" prop="region">
<el-select
- v-model="ruleForm.groupID"
+ v-model="ruleForm.assortid"
size="medium"
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
- <el-option
- class="ruleFormaa"
- v-for="item in sortlist"
- :key="item.id"
- :label="item.assortname"
- :value="item.id"
+ <el-option-group
+ v-for="group in sortlist"
+ :key="group.id"
+ :label="group.assortname"
>
- </el-option>
+ <el-option
+ v-for="item in group.heLibraryAssortList"
+ :key="item.id"
+ :label="item.assortname"
+ :value="item.id"
+ >
+ </el-option>
+ </el-option-group>
</el-select>
</el-form-item>
- <el-form-item label="瀹f暀鏍囬" prop="extName">
+ <el-row>
+ <el-col :span="12"> </el-col>
+ <el-col :span="12"> </el-col>
+ </el-row>
+ <el-form-item label="瀹f暀鏍囬" prop="preachname">
<div style="width: 30%">
- <el-input v-model="ruleForm.extName"></el-input>
+ <el-input
+ v-model="ruleForm.preachname"
+ placeholder="璇疯緭鍏ユ爣棰�"
+ ></el-input>
</div>
</el-form-item>
- <el-form-item label="瀹f暀鎻忚堪" prop="extName">
- <div style="width: 30%">
- <el-input v-model="ruleForm.note"></el-input>
+ <el-form-item label="瀹f暀鎻忚堪" prop="preachcontent">
+ <div style="width: 60%">
+ <el-input
+ type="textarea"
+ :rows="2"
+ v-model="ruleForm.preachcontent"
+ placeholder="璇疯緭鍏ユ弿杩�"
+ ></el-input>
</div>
</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-col>
- <el-col :span="8" :offset="1">
- <el-input v-model="item.value"></el-input>
- </el-col>
- <el-col :span="4" :offset="1">
- <el-button
- type="success"
- icon="el-icon-plus"
- circle
- @click="addvariable(item)"
- ></el-button>
- <el-button
- type="danger"
- icon="el-icon-delete"
- circle
- @click="delvariable(item)"
- ></el-button>
- </el-col>
- </el-row>
+ <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>
<el-form-item label="鏂囦欢" prop="sickness">
@@ -132,14 +168,16 @@
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="鐗堟湰鍙�" prop="name">
- <el-input v-model="ruleForm.version"></el-input> </el-form-item
+ <el-input
+ v-model="ruleForm.version"
+ placeholder="榛樿1.0.1"
+ ></el-input> </el-form-item
></el-col>
<el-col :span="9">
<el-form-item label="鍙敤鐘舵��" prop="region">
<el-select
- v-model="ruleForm.isEnable"
+ v-model="ruleForm.isavailable"
size="medium"
- multiple
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
@@ -156,7 +194,7 @@
</el-row>
<el-form-item label="瀹f暀鏂瑰紡" prop="region">
<el-select
- v-model="ruleForm.way"
+ v-model="ruleForm.suitway"
size="medium"
multiple
filterable
@@ -164,16 +202,16 @@
>
<el-option
class="ruleFormaa"
- v-for="item in xjxsoptions"
- :key="item.value"
+ v-for="item in mode"
+ :key="item.label"
:label="item.label"
- :value="item.value"
+ :value="item.label"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="閫傜敤鐤剧梾" prop="region">
- <div class="xinz-infs">
+ <div class="xinz-inf">
<el-tag
:key="item.icd10name"
type="warning"
@@ -215,8 +253,9 @@
</el-form-item>
<el-form-item label="閫傜敤闄㈠尯" prop="region">
<el-select
- v-model="ruleForm.courtyard"
+ v-model="ruleForm.campus"
size="medium"
+ multiple
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
@@ -231,28 +270,26 @@
</el-select>
</el-form-item>
<el-form-item label="閫傜敤绉戝" prop="region">
- <el-select
- v-model="ruleForm.administrative"
- size="medium"
- multiple
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
+ <el-cascader
+ v-model="tempDetpRelevanceslist"
+ :options="deptList"
+ :props="props"
+ :show-all-levels="false"
+ clearable
>
- <el-option
- class="ruleFormaa"
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
+ <template slot-scope="{ node, data }">
+ <span>{{ data.deptName }}</span>
+ <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+ </template>
+ </el-cascader>
</el-form-item>
<el-form-item>
<el-button type="success" @click="nextstep('ruleForm')"
>涓嬩竴姝�</el-button
>
- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+ <el-button type="success" @click="Departmenttreatment('ruleForm')"
+ >淇濆瓨</el-button
+ >
<el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
</el-form-item>
</el-form>
@@ -264,10 +301,10 @@
<el-col :span="12">
<div>
<el-button @click="laststep('ruleForm')">涓婁竴姝�</el-button>
- <el-button type="success" @click="submitForm('ruleForm')"
+ <el-button type="success" @click="Departmenttreatment('ruleForm')"
>淇濆瓨</el-button
>
- <el-button type="warning" @click="submitForm('ruleForm')"
+ <el-button type="warning" @click="Departmenttreatment('ruleForm')"
>鍙﹀瓨鏂扮増鏈�</el-button
>
<el-button type="info" @click="closeFm('ruleForm')"
@@ -276,6 +313,19 @@
</div></el-col
>
</el-row>
+ <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>
<el-form
@@ -336,12 +386,14 @@
addtargetillness,
getlibrarylist,
dellibraryinfo,
+ deltargetillness,
compilelibrary,
getlibraryinfo,
getillnesslist,
illnesslistget,
getillness,
} from "@/api/AiCentre/index";
+import { listDept } from "@/api/system/dept";
// import * as Quill from "quill";
import Quill from "quill";
import { listtag } from "@/api/system/label";
@@ -379,7 +431,7 @@
headers: {
Authorization: "Bearer " + getToken(),
},
- uploadImgUrl: "/v1/admin/common/upload",
+ uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload",
uploadUrlPath: "娌℃湁鏂囦欢涓婁紶",
quillUpdateImg: false,
fileList: [
@@ -445,7 +497,12 @@
radioas: "", //濉┖棰樼瓟妗�
// 鎬绘潯鏁�
total: 1,
- ruleForm: {},
+ ruleForm: {
+ campus: [],
+ heLibraryTagList: [],
+ tempDetpRelevances: [],
+ version: "1.0.1",
+ },
rules: {},
rulesa: {},
mode: [],
@@ -459,6 +516,9 @@
illnesslist: [],
options: [],
optionstag: [],
+ deptList: [],
+ tempDetpRelevanceslist: [],
+ props: { multiple: true, value: "deptId", label: "deptName" },
xjxsoptions: [
{
value: "1",
@@ -483,10 +543,9 @@
addvalue: "娣诲姞棰樼洰",
variablelist: [
- {
- variable: "paitent",
- value: "琛ㄧず鎮h�呯殑鏍囪瘑",
- },
+ { variatename: "濮撳悕", variate: "${name}", default: 1 },
+ { variatename: "鐢佃瘽", variate: "${phone}", default: 1 },
+ { variatename: "鐥呮儏", variate: "${illness}", default: 1 },
],
// 鏌ヨ鍙傛暟
queryParams: {
@@ -515,39 +574,72 @@
},
methods: {
+ processElement(element) {
+ return { ...element, isoperation: null };
+ },
+ // 鑾峰彇椤甸潰鏁版嵁
getList() {
this.loading = true;
- getlibraryinfo({ id: this.$route.query.id }).then((res) => {
- this.ruleForm = res.data;
- });
+ this.id = this.$route.query.id;
+ if (this.id) {
+ getlibraryinfo({ id: this.id }).then((res) => {
+ this.ruleForm = res.data[0];
+ this.ruleForm.campus = this.ruleForm.campus.split(",");
+ this.dynamicTags = res.data[0].heLibraryTagList.map(
+ this.processElement
+ );
+
+ if (this.ruleForm.deptNames) {
+ this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
+ }
+ if (this.ruleForm.suitway) {
+ this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+ }
+ this.variablelist = this.ruleForm.otherdata
+ ? JSON.parse(this.ruleForm.otherdata)
+ : this.variablelist;
+ });
+ }
+ // 瀹f暀鍒嗙被
getheLibraryAssort({}).then((res) => {
this.sortlist = res.rows;
- console.log(res);
});
- },
- /** 鏌ヨ鏍囩鍒楄〃 */
- gettabList() {
- const tagqueryParams = {
- pageNum: 1,
- pageSize: 1000,
- tagcategoryid: "0",
- };
- listtag(tagqueryParams).then((response) => {
- console.log(response);
- this.optionstag = response.rows;
+ // 閮ㄩ棬
+ listDept(this.queryParams).then((response) => {
+ this.deptList = this.handleTree(response.data, "deptId");
});
+ this.loading = false;
},
- // 瀹屾垚
+
submitForm(formName) {
- this.rules = this.rulesa;
- // 鎻愪氦
- this.$refs[formName].validate((valid) => {
- if (valid) {
- alert("submit!");
- } else {
- console.log("error submit!!");
- return false;
+ let tgs = [];
+ this.dynamicTags.forEach((item) => {
+ tgs.push(item.tagname);
+ });
+ this.ruleForm.campus = this.ruleForm.campus.join(",");
+ this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : "";
+ this.ruleForm.otherdata = JSON.stringify(this.variablelist);
+ console.log(22);
+ this.ruleForm.suitway =
+ this.ruleForm.suitway.length != 0
+ ? this.ruleForm.suitway.join(",")
+ : "";
+ if (this.id) {
+ this.ruleForm.isoperation = 2;
+ } else {
+ this.ruleForm.isoperation = 1;
+ }
+ this.illnesslist.forEach((item, index) => {
+ if (!item.id) {
+ addtargetillness(item).then((res) => {});
}
+ });
+ if (this.illnesslistapi.length) {
+ deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+ }
+ compilelibrary(this.ruleForm).then((res) => {
+ this.$modal.msgSuccess("缂栬緫鎴愬姛");
+ this.$router.go(-1);
});
},
// 涓嬩竴姝�
@@ -577,6 +669,38 @@
});
});
},
+ // 绉戝澶勭悊
+ Departmenttreatment() {
+ this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
+ const result = this.tempDetpRelevanceslist.map(
+ (subArr) => subArr[subArr.length - 1]
+ );
+ // id鏁扮粍鏌ユ暟缁勫璞�
+ result.forEach((item) => {
+ const condition = this.ruleForm.tempDetpRelevances.some(
+ (obj) => obj.deptId === item
+ );
+ if (!condition) {
+ listDept({ deptId: item }).then((res) => {
+ console.log("dept");
+ res.data[0].type = 2;
+ this.ruleForm.tempDetpRelevances.push(res.data[0]);
+ });
+ }
+ });
+ // 鏁扮粍瀵硅薄鏌d鏁扮粍
+ this.ruleForm.tempDetpRelevances.forEach((item) => {
+ const condition = result.some((obj) => obj === item.deptId);
+ if (!condition) {
+ const index = this.ruleForm.tempDetpRelevances.indexOf(item);
+ this.ruleForm.tempDetpRelevances[index].delFlag = 1;
+ }
+ });
+ setTimeout(() => {
+ this.submitForm();
+ }, 1000);
+ // this.submitForm();
+ },
// 淇濆瓨棰樼洰淇℃伅
Saveproblem() {},
/** 鏌ヨ棰樼洰鍒楄〃 */
@@ -584,8 +708,8 @@
// 鏂板鍙橀噺
addvariable() {
this.variablelist.push({
- variable: "",
- value: "",
+ variatename: "",
+ variate: "",
});
},
// 鍒犻櫎鍙橀噺
@@ -609,16 +733,17 @@
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);
+ const lindex = this.ruleForm.heLibraryTagList.findIndex(
+ (item) => item.tagname == tag.tagname
+ );
+ console.log(lindex);
this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
- this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3;
+ this.ruleForm.heLibraryTagList[lindex].isoperation = 3;
},
handleInputConfirm() {
let tagvalue = {};
@@ -639,7 +764,7 @@
isoperation: 1,
};
}
- this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue);
+ this.ruleForm.heLibraryTagList.push(tagvalue);
this.dynamicTags.push(tagvalue);
});
}
@@ -670,12 +795,10 @@
pageSize: 100,
};
getillnesslist(illnessqueryParams).then((response) => {
- console.log(response);
this.optionsillness = response.rows;
});
getillness({ outid: this.$route.query.id, type: 6 }).then((res) => {
this.illnesslist = res.rows;
- console.log(res);
});
},
handleCloseillness(tag) {
@@ -685,7 +808,6 @@
}
},
remoteMethod(value) {
- console.log(value);
const illnessqueryParams = {
pageNum: 1,
pageSize: 100,
@@ -704,7 +826,7 @@
let tagname = this.inputValue;
illnesslistget(item).then((res) => {
opeavalue = res.data;
- opeavalue.outid = this.indexid;
+ opeavalue.outid = this.id;
opeavalue.type = 6;
opeavalue.icd10id = opeavalue.icdid;
opeavalue.icd10name = opeavalue.icdname;
@@ -713,22 +835,10 @@
this.illnesslist.push(opeavalue);
}
});
- console.log(this.illnesslist);
- this.inputVisible = false;
+ this.illnessVisible = false;
this.inputValue = "";
},
- 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("缂栬緫鎴愬姛");
- },
+
illnessshowInput() {
this.illnessVisible = true;
},
@@ -758,7 +868,7 @@
// this.$emit('upload',res, file)
console.log(res, file);
//鎷兼帴鍑轰笂浼犵殑鍥剧墖鍦ㄦ湇鍔″櫒鐨勫畬鏁村湴鍧�
- let imgUrl = res.data.url;
+ let imgUrl = res.url;
let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1);
console.log(type);
// 鑾峰彇瀵屾枃鏈粍浠跺疄渚�
@@ -796,17 +906,17 @@
<style lang="scss" scoped>
.Questionnairemanagement {
- display: flex;
+ // display: flex;
}
.sidecolumn {
- width: 300px;
- min-height: 100vh;
- text-align: center;
+ // width: 300px;
+ // min-height: 100vh;
+ // text-align: center;
// display: flex;
// margin-top: 20px;
margin: 20px;
margin-bottom: 0;
- padding: 30px;
+ padding: 20px;
background: #edf1f7;
border: 1px solid #dcdfe6;
-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -815,9 +925,7 @@
.leftvlue {
// display: flex;
// flex: 1;
- width: 80%;
- margin-top: 20px;
- // margin: 20px;
+ margin: 20px;
padding: 30px;
background: #ffff;
border: 1px solid #dcdfe6;
--
Gitblit v1.9.3