From 3b774a197bd7087ee42999937ccc1e7e048eb1aa Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 11 一月 2024 18:03:17 +0800
Subject: [PATCH] 指标完成
---
src/views/knowledge/questionnaire/compilequer/index.vue | 350 +++++++++++++++++++++++++++++----------------------------
1 files changed, 179 insertions(+), 171 deletions(-)
diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 26c78ac..d01a149 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -30,16 +30,15 @@
<el-select
v-model="ruleForm.categoryid"
size="medium"
- multiple
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
<el-option
class="ruleFormaa"
v-for="item in optionsclass"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
>
</el-option>
</el-select>
@@ -59,37 +58,6 @@
>
</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.name"
- placeholder="璇疯緭鍏ュ彉閲忓悕"
- ></el-input>
- </el-col>
- <el-col :span="8" :offset="1">
- <el-input
- v-model="item.value"
- placeholder="璇疯緭鍏ュ彉閲忓唴瀹�"
- ></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
- v-if="item"
- type="danger"
- icon="el-icon-delete"
- circle
- @click="delvariable(item)"
- ></el-button>
- </el-col>
- </el-row>
- </el-form-item>
<el-form-item label="鏂囦欢" prop="sickness">
<div style="width: 40%">
@@ -110,14 +78,14 @@
<el-form-item label="鏍囩" prop="desc">
<div class="xinz-inf">
<el-tag
- :key="tag.tagname"
+ :key="tag"
type="success"
v-for="tag in dynamicTags"
closable
:disable-transitions="false"
@close="handleClosetag(tag)"
>
- {{ tag.tagname }}
+ {{ tag }}
</el-tag>
<el-select
v-model="inputValue"
@@ -202,7 +170,6 @@
<el-select
v-model="ruleForm.isenable"
size="medium"
- multiple
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
@@ -217,9 +184,9 @@
</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"
+ v-model="ruleForm.suitway"
size="medium"
multiple
filterable
@@ -227,7 +194,7 @@
>
<el-option
class="ruleFormaa"
- v-for="item in xjxsoptions"
+ v-for="item in mode"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -238,7 +205,7 @@
<el-form-item label="閫傜敤闄㈠尯" prop="region">
<el-select
- v-model="ruleForm.courtyard"
+ v-model="ruleForm.campus"
size="medium"
filterable
placeholder="璇烽�夋嫨鍒嗙被"
@@ -246,37 +213,33 @@
<el-option
class="ruleFormaa"
v-for="item in courtyardlist"
- :key="item.value"
+ :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">
- <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 courtyardlist"
- :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 type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
- <el-button @click="submitForm('ruleForm')"
+ <el-button @click="Departmenttreatment('ruleForm')"
>淇濆瓨闂嵎鍩虹淇℃伅</el-button
>
</el-form-item>
@@ -291,32 +254,32 @@
type="primary"
icon="el-icon-plus"
round
- @click="drawer = true"
+ @click="getaddtopiclist"
>娣诲姞棰樼洰</el-button
>
</div>
<div class="presentation">
<div class="presentation-left">
<el-card class="box-card" style="min-height: 688px">
- <el-table v-loading="loading" :data="userList">
+ <el-table v-loading="loading" :data="ruleForm.svyLibTopics">
<el-table-column
label="搴忓彿"
align="center"
- key="userid"
- prop="userid"
+ key="topicid"
+ prop="topicid"
/>
<el-table-column
label="棰樼洰"
align="center"
- key="userName"
- prop="userName"
+ key="topic"
+ prop="topic"
:show-overflow-tooltip="true"
/>
<el-table-column
label="涓昏鍐呭"
align="center"
- key="maincontent"
- prop="maincontent"
+ key="topicContent"
+ prop="topicContent"
:show-overflow-tooltip="true"
/>
@@ -344,14 +307,6 @@
</el-table-column>
</el-table>
</el-card>
-
- <pagination
- v-show="total > 0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
</div>
<div class="presentation-right">
<el-card class="box-card">
@@ -370,35 +325,54 @@
</div>
<el-form-item label="棰樼洰鏍囬">
<el-input
- v-model="topicobj.title"
+ v-model="topicobj.topic"
placeholder="璇疯緭鍏ユ爣棰�"
></el-input>
</el-form-item>
<el-row :gutter="10">
<el-col :span="12"
- ><el-form-item label="鏄惁蹇呯瓟">
- <el-radio-group v-model="topicobj.resource">
- <el-radio label="鏄�"></el-radio>
- <el-radio label="鍚�"></el-radio>
- </el-radio-group> </el-form-item
+ ><el-form-item label="鏄惁蹇呭~">
+ <el-select
+ v-model="topicobj.ismandatory"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in required"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select> </el-form-item
></el-col>
<el-col :span="12"
- ><el-form-item label="鏄惁闅愯棌">
- <el-radio-group v-model="topicobj.resourcea">
- <el-radio label="鏄�"></el-radio>
- <el-radio label="鍚�"></el-radio>
- </el-radio-group> </el-form-item
+ ><el-form-item label="鏄惁鍙敤">
+ <el-select
+ v-model="topicobj.isavailable"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in usable"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select> </el-form-item
></el-col>
</el-row>
<div class="headline">閫夐」璁剧疆</div>
- <div class="topicxq" v-for="item in optionlist">
+ <div
+ class="topicxq"
+ v-for="item in topicobj.svyLibTopicoptions"
+ >
<el-row :gutter="10">
<el-col :span="11"
><el-form-item label="棰樺彿">
<el-input
type="text"
placeholder="璇疯緭鍏�"
- v-model="item.optionid"
+ v-model="item.topicid"
show-word-limit
>
</el-input> </el-form-item
@@ -467,7 +441,7 @@
>
<el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
<el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
- <el-button @click="Saveproblem('ruleForm')">淇濆瓨棰樼洰鏁版嵁</el-button>
+ <el-button @click="submitForm('ruleForm')">淇濆瓨棰樼洰鏁版嵁</el-button>
</div>
<!-- 闂嵎棰勮 -->
<div v-if="Editprogress == 3">
@@ -544,24 +518,16 @@
placeholder="璇疯緭鍏�"
clearable
style="width: 200px"
- @keyup.enter.native="handleQuery"
+ @keyup.enter.native="getaddtopiclist"
/>
</el-form-item>
- <el-form-item label="涓婚" prop="sickness">
- <el-input
- v-model="queryParams.userName"
- placeholder="璇疯緭鍏�"
- clearable
- style="width: 200px"
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
+
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="medium"
- @click="handleQuery"
+ @click="getaddtopiclist"
>鎼滅储</el-button
>
<el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
@@ -573,15 +539,15 @@
<el-table-column
label="鏍囬"
align="center"
- key="userid"
- prop="userid"
+ key="topic"
+ prop="topic"
width="100"
/>
<el-table-column
label="闂鍐呭"
align="center"
- key="userName"
- prop="userName"
+ key="topicContent"
+ prop="topicContent"
width="200"
:show-overflow-tooltip="true"
/>
@@ -592,10 +558,7 @@
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
- <el-button
- size="medium"
- type="text"
- @click="handleUpdate(scope.row)"
+ <el-button size="medium" type="text" @click="addtopic(scope.row)"
><span class="button-textxg"
><i class="el-icon-circle-plus-outline"></i>娣诲姞</span
></el-button
@@ -610,16 +573,19 @@
<script>
import { listtag } from "@/api/system/label";
+import { listDept } from "@/api/system/dept";
import store from "@/store";
import {
getQtemplateclassify,
delQtemplateclassify,
addQtemplateclassify,
getQtemplatelist,
+ compileQtemplate,
Qtemplateinfo,
compileissue,
delQtemplateinfo,
Followupinfo,
+ getissuelist,
deltargetillness,
addtargetillness,
getillnesslist,
@@ -652,20 +618,7 @@
{ value: "topic", table: "topic" },
{ value: "topic", table: "topic" },
],
- xjxsoptions: [
- {
- value: "閫夐」1",
- label: "鍥炬枃",
- },
- {
- value: "閫夐」2",
- label: "瑙嗛",
- },
- {
- value: "閫夐」3",
- label: "闊抽",
- },
- ],
+
fileList: [
{
name: "food.jpeg",
@@ -676,16 +629,7 @@
url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
},
],
- options: [
- {
- value: "閫夐」1",
- label: "鐤剧梾闂嵎",
- },
- {
- value: "閫夐」2",
- label: "鍏ラ櫌闂嵎",
- },
- ],
+
variablelist: [
{
variable: "paitent",
@@ -702,16 +646,9 @@
],
addvalue: "娣诲姞棰樼洰",
// 棰樼洰琛ㄦ牸鏁版嵁
- userList: [
- {
- userid: "1",
- userName: "涓�鍙烽棶鍗�",
- },
- {
- userid: "2",
- userName: "浜屽彿闂嵎",
- },
- ],
+ userList: [],
+ deptList: [],
+ props: { multiple: true, value: "deptId", label: "deptName" },
themelist: [],
languagelist: [],
courtyardlist: [],
@@ -724,20 +661,16 @@
optionsillness: [],
illnesslistapi: [],
illnesslist: [],
-
+ tempDetpRelevanceslist: [],
optionstag: [],
xjxsoptions: [],
usable: [],
+ required: [],
mode: [], //鏂瑰紡
// 鏌ヨ鍙傛暟
queryParams: {
pageNum: 1,
pageSize: 10,
- userName: undefined,
- phonenumber: undefined,
- status: undefined,
- deptId: undefined,
- IDnumber: undefined,
},
};
},
@@ -748,6 +681,7 @@
this.mode = store.getters.mode;
this.languagelist = store.getters.languagelist;
this.usable = store.getters.usable;
+ this.required = store.getters.required;
this.xjxsoptions = store.getters.xjxsoptions;
this.courtyardlist = store.getters.courtyardlist;
},
@@ -759,8 +693,12 @@
// 鑾峰彇鏁版嵁
getissueinfo() {
this.id = this.$route.query.id;
- Qtemplateinfo(this.id).then((res) => {
- this.ruleForm = res.data;
+ 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,
@@ -771,8 +709,67 @@
getillness({ outid: this.id, type: 5 }).then((res) => {
this.illnesslist = res.rows;
});
+ listDept(this.queryParams).then((response) => {
+ this.deptList = this.handleTree(response.data, "deptId");
+ });
+ getQtemplateclassify({}).then((res) => {
+ this.optionsclass = res.rows;
+ });
},
- submitForm(formName) {},
+ submitForm(formName) {
+ this.ruleForm.labelInfo = this.dynamicTags.join(",");
+ this.ruleForm.suitway = this.ruleForm.suitway.join(",");
+
+ if (this.id) {
+ this.ruleForm.isoperation = 2;
+ compileQtemplate(this.ruleForm).then((response) => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.$router.go(-1);
+ });
+ } else {
+ this.ruleForm.isoperation = 1;
+ compileQtemplate(this.ruleForm).then((response) => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.$router.go(-1);
+ });
+ }
+ },
+ // 绉戝澶勭悊
+ Departmenttreatment() {
+ this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
+ console.log(this.tempDetpRelevanceslist);
+ const result = this.tempDetpRelevanceslist.map(
+ (subArr) => subArr[subArr.length - 1]
+ );
+ console.log(result);
+ // id鏁扮粍鏌ユ暟缁勫璞�
+ result.forEach((item) => {
+ const condition = this.ruleForm.tempDetpRelevances.some(
+ (obj) => obj.deptId === item
+ );
+ if (!condition) {
+ listDept({ deptId: item }).then((res) => {
+ console.log(res.data[0]);
+ res.data[0].type = 2;
+ this.ruleForm.tempDetpRelevances.push(res.data[0]);
+ });
+ }
+ });
+ console.log(this.ruleForm.tempDetpRelevances);
+ // 鏁扮粍瀵硅薄鏌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;
+ }
+ });
+ console.log(this.ruleForm.tempDetpRelevances);
+ setTimeout(() => {
+ this.submitForm();
+ }, 1000);
+ // this.submitForm();
+ },
// 涓嬩竴姝�
nextstep() {
if (this.Editprogress <= 2) {
@@ -800,22 +797,32 @@
});
});
},
- // 淇濆瓨棰樼洰淇℃伅
- Saveproblem() {},
- /** 鏌ヨ棰樼洰鍒楄〃 */
- getList() {
- // this.loading = true;
- listUser().then((response) => {
- console.log(response);
- // this.userList = response.data;
- // this.total = response.total;
- // this.loading = false;
+ // 鑾峰彇棰樼洰鍒楄〃
+ getaddtopiclist() {
+ this.drawer = true;
+ getissuelist(this.queryParams).then((res) => {
+ this.loading = false;
+ this.userList = res.rows;
+ this.total = res.total;
console.log(this.userList);
});
- // const { rows } = await listUser();
- // console.log(rows);
- // this.list = rows;
},
+ // 鏂板棰樼洰
+ addtopic(row) {
+ row.isoperation = 1;
+ this.ruleForm.svyLibTopics.push(row);
+ },
+ handleDelete(row) {
+ this.ruleForm.svyLibTopics.splice(
+ this.ruleForm.svyLibTopics.indexOf(row),
+ 1
+ );
+ },
+ handleUpdate(row) {
+ console.log(row);
+ this.topicobj = row;
+ },
+
// 淇敼棰樼洰淇℃伅
Submittopicobj() {},
// 鏂板鍙橀噺
@@ -853,9 +860,8 @@
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;
+ // this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3;
},
handleInputConfirm() {
let tagvalue = {};
@@ -877,7 +883,8 @@
};
}
// this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue);
- this.dynamicTags.push(tagvalue);
+ // this.dynamicTags.push(tagvalue);
+ this.dynamicTags.push(tagvalue.tagname);
});
}
this.inputVisible = false;
@@ -954,9 +961,10 @@
this.$modal.msgSuccess("缂栬緫鎴愬姛");
},
// --------------------------
- // 鏌ヨ棰樺簱
- handleQuery() {},
- resetQuery() {},
+ resetQuery() {
+ this.queryParams = { pageNum: 1, pageSize: 10 };
+ this.getaddtopiclist();
+ },
resetForm(formName) {
this.$refs[formName].resetFields();
},
--
Gitblit v1.9.3