From e8c62bd430b9697d3f954125b7ec9f61f18347a2 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 20 十月 2025 11:19:34 +0800
Subject: [PATCH] 测试完成
---
src/views/knowledge/questionnaire/index.vue | 330 +++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 227 insertions(+), 103 deletions(-)
diff --git a/src/views/knowledge/questionnaire/index.vue b/src/views/knowledge/questionnaire/index.vue
index b65e57a..45a95e3 100644
--- a/src/views/knowledge/questionnaire/index.vue
+++ b/src/views/knowledge/questionnaire/index.vue
@@ -3,8 +3,8 @@
<!-- 宸︿晶鏍� -->
<div class="sidecolumn">
<div class="sidecolumn-top">
- <div class="top-wj">闂嵎绫诲瀷</div>
- <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div>
+ <div class="top-wj">闂嵎鍒嗙被</div>
+ <div class="top-tj" @click="Newcategory">+娣诲姞</div>
</div>
<div class="center-ss">
<el-input
@@ -29,7 +29,7 @@
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span>{{ node.label }}</span>
- <span v-if="node.id > 0">
+ <span v-if="data.id > 0">
<el-button
type="text"
icon="el-icon-delete"
@@ -37,6 +37,17 @@
size="mini"
@click="() => remove(node, data)"
>
+ </el-button>
+ </span>
+ <span v-if="data.id > 0">
+ <el-button
+ type="text"
+ circle
+ size="mini"
+ @click="() => altertag(node, data)"
+ ><span class="button-textxg"
+ ><i class="el-icon-edit-outline"></i
+ ></span>
</el-button>
</span>
</span>
@@ -57,72 +68,49 @@
v-show="showSearch"
label-width="98px"
>
- <el-form-item label="闂嵎鍚嶇О" prop="userName">
+ <el-form-item label="闂嵎鍚嶇О" prop="svyname">
<el-input
- v-model="queryParams.userName"
+ v-model="queryParams.svyname"
placeholder="璇疯緭鍏�"
clearable
style="width: 200px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="閫傜敤绉戝" prop="region">
- <el-cascader
- v-model="queryParams.administrative"
- :options="deptList"
- :props="props"
- :show-all-levels="false"
- clearable
- >
- <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 label="閫氱煡鍐呭" prop="userName">
- <el-input
- v-model="queryParams.userNamevalue"
- placeholder="璇疯緭鍏�"
- clearable
- style="width: 200px"
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="閫傜敤鏂瑰紡" prop="shape">
- <el-cascader
- v-model="queryParams.shapevalue"
- :options="editableTabs"
- :props="propss"
- clearable
- ></el-cascader>
- </el-form-item>
- <el-form-item label="鍐呭褰㈠紡" prop="classify">
+ <el-form-item label="閫傜敤闄㈠尯" prop="region">
<el-select
- v-model="queryParams.classifyvalue"
- placeholder="璇烽�夋嫨"
+ v-model="campus"
+ size="medium"
+ multiple
+ filterable
+ placeholder="璇烽�夋嫨鍒嗙被"
>
<el-option
- v-for="(item, index) in editableTabs"
- :key="index++"
- :label="item.title"
- :value="index++"
+ v-for="item in courtyardlist"
+ :key="item.label"
+ :label="item.label"
+ :value="item.label"
>
</el-option>
</el-select>
</el-form-item>
+ <el-form-item label="闂嵎鎻忚堪" prop="userName">
+ <el-input
+ v-model="queryParams.description"
+ placeholder="璇疯緭鍏�"
+ clearable
+ style="width: 200px"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
+
<el-form-item label="鍙敤鐘舵��" prop="classify">
- <el-select
- v-model="queryParams.classifyvalue"
- placeholder="璇烽�夋嫨"
- >
+ <el-select v-model="queryParams.isenable" placeholder="璇烽�夋嫨">
<el-option
- v-for="(item, index) in editableTabs"
- :key="index++"
- :label="item.title"
- :value="index++"
+ v-for="(item, index) in qyoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
>
</el-option>
</el-select>
@@ -153,7 +141,7 @@
icon="el-icon-plus"
size="medium"
@click="handleAdd"
- v-hasPermi="['system:user:add']"
+
>鏂板</el-button
>
</el-col>
@@ -166,7 +154,6 @@
size="medium"
:disabled="multiple"
@click="handleDelete"
- v-hasPermi="['system:user:remove']"
>鍒犻櫎</el-button
>
</el-col>
@@ -178,15 +165,15 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="50" align="center" />
- <el-table-column
+ <!-- <el-table-column
label="搴忓彿"
fixed
align="center"
key="svyid"
prop="svyid"
- />
+ /> -->
<el-table-column
- label="闂嵎鏍囬"
+ label="闂嵎鍚嶇О"
fixed
align="center"
key="svyname"
@@ -194,16 +181,9 @@
width="160"
:show-overflow-tooltip="true"
/>
- <el-table-column
- label="鐗堟湰"
- align="center"
- key="version"
- prop="version"
- :show-overflow-tooltip="true"
- />
<el-table-column
- label="涓昏鍐呭"
+ label="闂嵎鎻忚堪"
align="center"
key="description"
prop="description"
@@ -219,7 +199,6 @@
size="medium"
type="text"
@click="illnessUpdate(scope.row)"
- v-hasPermi="['system:user:edit']"
><span class="button-textxg"
><i class="el-icon-date"></i>璇︽儏</span
></el-button
@@ -236,14 +215,14 @@
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
- <span v-for="item in scope.row.labelInfo.split(',')"
- >{{ item }}銆�
+ <span v-for="item in scope.row.svyLibTemplateTagList"
+ >{{ item.tagname }}銆�
</span>
</template>
</el-table-column>
<el-table-column
- label="鍙敤"
+ label="鏄惁鍙敤"
align="center"
key="isenable"
prop="isenable"
@@ -273,26 +252,23 @@
size="medium"
type="text"
@click="goQRCode(scope.row)"
- v-hasPermi="['system:user:edit']"
>
<span class="button-text"
- ><i class="el-icon-edit"></i>浜岀淮鐮�</span
+ ><i class="el-icon-edit"></i>棰勮</span
></el-button
>
- <el-button
+ <!-- <el-button
size="medium"
type="text"
@click="ViewQuestionnaire(scope.row)"
- v-hasPermi="['system:user:edit']"
><span class="button-textck"
><i class="el-icon-edit"></i>鏌ョ湅</span
></el-button
- >
+ > -->
<el-button
size="medium"
type="text"
@click="handleUpdate(scope.row)"
- v-hasPermi="['system:user:edit']"
><span class="button-textxg"
><i class="el-icon-edit"></i>淇敼</span
></el-button
@@ -301,7 +277,6 @@
size="medium"
type="text"
@click="handleDelete(scope.row)"
- v-hasPermi="['system:user:remove']"
><span class="button-textsc"
><i class="el-icon-edit"></i>鍒犻櫎</span
></el-button
@@ -322,7 +297,7 @@
</div>
</div>
<!-- 娣诲姞绫诲埆寮规 -->
- <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+ <el-dialog title="绫诲埆缂栬緫" width="30%" :visible.sync="dialogFormVisible">
<div style="text-align: center; margin-bottom: 20px">
<el-radio-group v-model="radio">
<el-radio-button label="涓诲垎绫�"></el-radio-button>
@@ -347,7 +322,7 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+ <el-button @click="getDeptTree()">鍙� 娑�</el-button>
<el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
</div>
</el-dialog>
@@ -400,12 +375,79 @@
</span>
</el-dialog>
<!-- 浜岀淮鐮佸睍绀哄脊妗� -->
- <el-dialog width="30%" :visible.sync="goQRCodeVisible">
+ <!-- <el-dialog width="30%" :visible.sync="goQRCodeVisible">
<div class="qrcode-dialo">
<div class="qrcode-text">
{{ namequestionnaire }}<span>{{ haoquestionnaire }}</span>
</div>
- <div class="qrcode-img"></div>
+ <div class="qrcode-img">
+ <el-image
+ src="D:/qrcode/fc9a1fa37e394ac3ac606bf6b77b17c3"
+ fit="cover"
+ ></el-image>
+ </div>
+ </div>
+ </el-dialog> -->
+ <!-- 闂嵎妯℃澘棰勮 -->
+ <el-dialog title="闅忚棰樼洰棰勮" :visible.sync="topicVisible" width="50%">
+ <div class="preview-left">
+ <!-- 鍗曢�� -->
+ <div v-for="item in topicform.svyTemplateLibScripts">
+ <div
+ class="scriptTopic-dev"
+ :key="item.sort"
+ v-if="item.scriptType == 1"
+ >
+ <div class="dev-text">
+ {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-radio-group v-model="item.remark">
+ <el-radio
+ v-for="(items, index) in item.svyLibTemplateTargetoptions"
+ :key="index"
+ :label="index"
+ >{{ items.optioncontent }}</el-radio
+ >
+ </el-radio-group>
+ </div>
+ </div>
+ <!-- 澶氶�� -->
+ <div
+ class="scriptTopic-dev"
+ :key="item.sort"
+ v-if="item.scriptType == 2"
+ >
+ <div class="dev-text">
+ {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-checkbox-group v-model="qremark">
+ <el-checkbox
+ v-for="(items, index) in item.svyLibTemplateTargetoptions"
+ :key="index"
+ :label="index"
+ >
+ {{ items.optioncontent }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </div>
+ </div>
+ <!-- 濉┖ -->
+ <div
+ class="scriptTopic-dev"
+ :key="item.sort"
+ v-if="item.scriptType == 4"
+ >
+ <div class="dev-text">
+ {{ item.sort }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
+ </div>
+ <div class="dev-xx">
+ <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable>
+ </el-input>
+ </div>
+ </div>
+ </div>
</div>
</el-dialog>
</div>
@@ -418,8 +460,9 @@
getQtemplateclassify,
delQtemplateclassify,
addQtemplateclassify,
+ editQtemplateclassify,
getQtemplatelist,
- issueinfo,
+ getQtemplateobj,
compileissue,
delQtemplateinfo,
Followupinfo,
@@ -428,6 +471,7 @@
getillnesslist,
illnesslistget,
getillness,
+ getQRcode,
} from "@/api/AiCentre/index";
import { listDept } from "@/api/system/dept";
@@ -444,6 +488,7 @@
loading: false,
// 閫変腑鏁扮粍
ids: [],
+ qremark: [],
// 闈炲崟涓鐢�
single: true,
// 闈炲涓鐢�
@@ -454,9 +499,11 @@
total: 0,
namequestionnaire: "",
haoquestionnaire: "",
+ QRcodeurl: "",
+ courtyardlist: "",
// 鐢ㄦ埛琛ㄦ牸鏁版嵁
userList: [],
-
+ campus: [],
// 鏃ユ湡鑼冨洿
dateRange: [],
// 宀椾綅閫夐」
@@ -465,7 +512,7 @@
roleOptions: [],
// 琛ㄥ崟鍙傛暟
form: {},
-
+ title: "绫诲埆缂栬緫",
sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟
goQRCodeVisible: false, //浜岀淮鐮佸脊妗�
sidecolumnval: "", //绫诲埆鎼滅储
@@ -473,10 +520,14 @@
idds: "",
amendtag: false, //鏄惁淇敼绫诲埆
dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规
+ topicVisible: false, //
+ topicform: {},
classifyform: {}, //绫诲埆琛ㄥ崟
indexid: null,
inputValue: "",
radio: "涓诲垎绫�",
+ zufon: true,
+ zifon: true,
inputVisible: false,
illnessVisible: false, //鎸囨爣鐤剧梾寮规
deptOptions: [],
@@ -484,7 +535,7 @@
illnesslistapi: [],
illnesslist: [],
defaultProps: {
- children: "svyLibTitleCategoryList",
+ children: "svyLibTemplateCategoryList",
label: "name",
},
deptList: [],
@@ -511,6 +562,7 @@
this.languagelist = store.getters.languagelist;
this.qyoptions = store.getters.usable;
this.editableTabs = store.getters.editableTabs;
+ this.courtyardlist = store.getters.courtyardlist;
},
methods: {
@@ -528,9 +580,20 @@
},
goQRCode(row) {
- this.goQRCodeVisible = true;
- this.namequestionnaire = row.userName;
- this.haoquestionnaire = row.nickName;
+ getQtemplateobj({ svyid: row.svyid }).then((res) => {
+ this.topicform = res.rows[0];
+ console.log(this.topicform);
+ this.topicVisible = true;
+ });
+ // getQRcode({
+ // url: "/outsideChain?param1=KHRYDSSuTpwGWDhAS6OnpfxObRZf8fd/TIagYWPvDuyku+MjtrWt1efC1htoBDc+G4QP2UOWPNitAO4TwH4oIQ==¶m2=CP/xYqwqDhWACt2aQ/HOwhgRM62Lh4/1upwYDl7dmKSuiaa4zRzMgu7rmRztiwQj2YvJ1KAX1zBTpUAIdxPvUA==",
+ // }).then((res) => {
+ // console.log(res);
+ // this.QRcodeurl = "D:/qrcode/fc9a1fa37e394ac3ac606bf6b77b17c3";
+ // });
+ // this.goQRCodeVisible = true;
+ // this.namequestionnaire = row.userName;
+ // this.haoquestionnaire = row.nickName;
},
// 琛ㄥ崟閲嶇疆
reset() {
@@ -553,6 +616,7 @@
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
this.queryParams.pageNum = 1;
+ this.queryParams.campus = this.campus.join(",");
this.getList();
},
/** 閲嶇疆鎸夐挳鎿嶄綔 */
@@ -572,13 +636,14 @@
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
this.$router.push({
- path: "/knowledge/questionnaire/compilequer/",
+ path: "/knowledge/questionnaireinfo/",
+ query: { categoryid: this.queryParams.categoryid },
});
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
this.$router.push({
- path: "/knowledge/questionnaire/compilequer/",
+ path: "/knowledge/questionnaireinfo/",
query: { id: row.svyid },
});
},
@@ -670,12 +735,21 @@
getDeptTree() {
getQtemplateclassify({}).then((res) => {
this.deptOptions = res.rows;
- console.log(res);
+ this.dialogFormVisible = false;
});
},
// 娣诲姞绫诲埆鏍�
submitsidecolumn() {
+ if (this.classifyform.id) {
+ editQtemplateclassify(this.classifyform).then((res) => {
+ this.getDeptTree();
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.classifyform = {};
+ this.dialogFormVisible = false;
+ });
+ return;
+ }
let calssvalue = {};
if (
this.classifyform.pid &&
@@ -685,11 +759,12 @@
const index = this.deptOptions.findIndex(
(obj) => obj.id == this.classifyform.pid
);
+ console.log(this.deptOptions[index]);
calssvalue = this.deptOptions[index];
- calssvalue.svyLibTitleCategoryList.push(this.classifyform);
+ calssvalue.svyLibTemplateCategoryList.push(this.classifyform);
} else if (this.radio == "涓诲垎绫�" && this.classifyform.name) {
this.classifyform.pid = null;
- this.classifyform.svyLibTitleCategoryList = [];
+ this.classifyform.svyLibTemplateCategoryList = [];
} else {
return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
}
@@ -727,6 +802,27 @@
.catch(() => {});
}
},
+ altertag(a, b) {
+ this.dialogFormVisible = true;
+ if (!b.pid) {
+ this.radio = "涓诲垎绫�";
+ this.title = "淇敼涓诲垎绫�";
+ this.zufon = false;
+ } else {
+ this.radio = "瀛愬垎绫�";
+ this.title = "淇敼瀛愬垎绫�";
+ this.zifon = false;
+ }
+ this.classifyform = b;
+ this.dialogFormVisible = true;
+ },
+ Newcategory(){
+ this.classifyform= {}, //绫诲埆琛ㄥ崟
+ this.radio = "涓诲垎绫�";
+ this.dialogFormVisible = true
+ this.zifon = true;
+ this.zufon = true;
+ },
// 绛涢�夎妭鐐�
filterNode(value, data) {
@@ -734,7 +830,8 @@
return data.name.indexOf(value) !== -1;
},
handleNodeClick(data) {
- this.queryParams.assortid = data.id;
+ if (data.svyLibTemplateCategoryList) return;
+ this.queryParams.categoryid = data.id;
this.getList();
},
@@ -775,13 +872,6 @@
this.single = selection.length != 1;
this.multiple = !selection.length;
},
- /** 鏂板鎸夐挳鎿嶄綔 */
- handleAdd() {
- this.$router.push({
- path: "/knowledge/verbaltrick/particulars/",
- query: { id: "1" },
- });
- },
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
@@ -806,14 +896,14 @@
display: flex;
}
.sidecolumn {
- width: 300px;
+ width: 400px;
min-height: 100vh;
text-align: center;
// display: flex;
margin-top: 20px;
margin: 20px;
padding: 30px;
- background: #edf1f7;
+ background: #fff;
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);
@@ -917,6 +1007,22 @@
vertical-align: bottom;
}
}
+.preview-left {
+ margin: 20px;
+ // margin: 20px;
+ padding: 30px;
+ background: #ffff;
+ 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);
+ .scriptTopic-dev {
+ margin-bottom: 25px;
+ font-size: 20px !important;
+ .dev-text {
+ margin-bottom: 10px;
+ }
+ }
+}
::v-deep .el-tree-node__content {
display: -webkit-box;
@@ -929,6 +1035,24 @@
font-size: 20px;
cursor: pointer;
}
+::v-deep .el-tree {
+ position: relative;
+ cursor: default;
+ border-radius: 5px;
+ background: #eff8fe;
+ color: #606266;
+ border: 1px solid #bbe1fa;
+ // 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);
+}
+::v-deep
+ .el-tree--highlight-current
+ .el-tree-node.is-current
+ > .el-tree-node__content {
+ background-color: #7799fb;
+ color: #fff;
+}
::v-deep .el-button--mini.is-circle {
padding: 7px;
margin: 0;
--
Gitblit v1.9.3