From b73b5dd97cbda40d0584f579ed9f65f4fcffe23f Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 31 三月 2025 15:33:02 +0800 Subject: [PATCH] 测试完成 --- src/views/knowledge/questionnaire/index.vue | 325 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 224 insertions(+), 101 deletions(-) diff --git a/src/views/knowledge/questionnaire/index.vue b/src/views/knowledge/questionnaire/index.vue index b65e57a..dea53d9 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 @@ -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,7 @@ return data.name.indexOf(value) !== -1; }, handleNodeClick(data) { - this.queryParams.assortid = data.id; + this.queryParams.categoryid = data.id; this.getList(); }, @@ -775,13 +871,6 @@ this.single = selection.length != 1; this.multiple = !selection.length; }, - /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.$router.push({ - path: "/knowledge/verbaltrick/particulars/", - query: { id: "1" }, - }); - }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { @@ -813,7 +902,7 @@ 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 +1006,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 +1034,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