From 8ec6407cf76c1f8d7e08e5456018aaafc93f0556 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 31 七月 2024 18:30:20 +0800 Subject: [PATCH] 测试完成 --- src/views/knowledge/questionbank/index.vue | 298 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 223 insertions(+), 75 deletions(-) diff --git a/src/views/knowledge/questionbank/index.vue b/src/views/knowledge/questionbank/index.vue index a2f1567..2b6348f 100644 --- a/src/views/knowledge/questionbank/index.vue +++ b/src/views/knowledge/questionbank/index.vue @@ -29,7 +29,7 @@ > <span class="custom-tree-node" slot-scope="{ node, data }"> <span>{{ node.label }}</span> - <span> + <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,39 +68,38 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="鍙敤闄㈠尯" prop="status"> - <el-select v-model="queryParams.courtyard" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in languagelist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="闂涓婚" prop="userName"> + <el-form-item label="闂鏍囬" prop="userName"> <el-input - v-model="queryParams.userName" + v-model="queryParams.scriptTopic" placeholder="璇疯緭鍏�" clearable style="width: 200px" @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="鏂囧瓧" prop="status"> - <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in languagelist" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> + <el-form-item label="闂鍐呭" prop="userName"> + <el-input + v-model="queryParams.scriptContent" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> </el-form-item> - <el-form-item label="鏄惁鍙敤" prop="status"> - <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨"> + <el-form-item label="鎸囨爣鍚嶇О" prop="targetname"> + <el-input + v-model="queryParams.targetname" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鏄惁鍙敤" prop="isavailable"> + <el-select + v-model="queryParams.isavailable" + placeholder="璇烽�夋嫨" + > <el-option v-for="item in qyoptions" :key="item.value" @@ -149,39 +159,73 @@ :border="true" @selection-change="handleSelectionChange" > - <el-table-column type="selection" width="50" align="center" /> <el-table-column - label="搴忓彿" + type="selection" + fixed + width="50" align="center" - key="topicid" - prop="topicid" /> + <!-- <el-table-column + label="搴忓彿" + fixed + align="center" + key="id" + prop="id" + /> --> <el-table-column label="棰樼洰鏍囬" + fixed align="center" - key="topic" - prop="topic" + key="scriptTopic" + prop="scriptTopic" width="200" :show-overflow-tooltip="true" /> <el-table-column - label="棰樼洰鍐呭(缂�)" + label="棰樺瀷" align="center" - key="nickName" - prop="nickName" + key="scriptType" + prop="scriptType" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="askvaluetype" + :value="scope.row.scriptType" + /> + </template> + </el-table-column> + <el-table-column + label="鎸囨爣鍚嶇О" + fixed + align="center" + key="targetname" + prop="targetname" + width="200" + :show-overflow-tooltip="true" + /> + <el-table-column + label="棰樼洰鍐呭" + align="center" + key="scriptContent" + prop="scriptContent" width="200" :show-overflow-tooltip="true" /> /><el-table-column - label="閫傜敤鏂瑰紡(缂�)" + label="閫傜敤鏂瑰紡" align="center" - key="application" - prop="application" + key="suitway" + prop="suitway" width="120" - /> + > + <template slot-scope="scope"> + <dict-tag :options="mode" :value="scope.row.suitway" /> + </template> + </el-table-column> /><el-table-column - label="閫傜敤鐤剧梾(缂�)" + label="閫傜敤鐤剧梾" align="center" key="Applicable" prop="Applicable" @@ -200,7 +244,7 @@ </template> </el-table-column> <el-table-column - label="鏍囩(缂�)" + label="鏍囩" align="center" key="tagList" prop="tagList" @@ -208,17 +252,26 @@ :show-overflow-tooltip="true" > <template slot-scope="scope"> - <span v-for="item in scope.row.tagList">{{ item }} </span> + <span v-for="item in scope.row.svyLibScriptTagList" + >{{ item.tagname }}銆� + </span> </template> </el-table-column> <el-table-column - label="鍙敤(缂�)" + label="鍙敤" align="center" - key="usable" - prop="usable" + key="isavailable" + prop="isavailable" width="120" - /> + > + <template slot-scope="scope"> + <dict-tag + :options="qyoptions" + :value="scope.row.isavailable" + /> + </template> + </el-table-column> <el-table-column label="鏈�杩戜慨鏀�" align="center" @@ -229,6 +282,7 @@ <el-table-column label="鎿嶄綔" + fixed="right" align="center" width="250" class-name="small-padding fixed-width" @@ -240,7 +294,7 @@ @click="compileUpdate(scope.row)" v-hasPermi="['system:user:edit']" ><span class="button-bji" - ><i class="el-icon-edit"></i>缂栬緫闂</span + ><i class="el-icon-edit"></i>缂栬緫</span ></el-button > <el-button @@ -255,7 +309,7 @@ <el-button size="medium" type="text" - @click="handleDelete(scope.row)" + @click="topicpreview(scope.row)" v-hasPermi="['system:user:remove']" ><span class="button-text" ><i class="el-icon-view"></i>棰勮</span @@ -291,21 +345,18 @@ <el-option v-for="item in deptOptions" :key="item.id" - :label="item.indexAssortName" + :label="item.name" :value="item.id" > </el-option> </el-select> </el-form-item> <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> - <el-input - v-model="classifyform.indexAssortName" - autocomplete="off" - ></el-input> + <el-input v-model="classifyform.name" autocomplete="off"></el-input> </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> @@ -357,6 +408,35 @@ <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button> </span> </el-dialog> + <el-dialog title="棰樼洰棰勮" :visible.sync="topicVisible" width="50%"> + <div class="preview-left"> + <div class="dev-text"> + <span>{{ topicform.scriptContent }}</span> + </div> + + <div + class="dev-xx" + v-if="topicform.scriptType != 3 && topicform.scriptType != 4" + > + <el-radio-group v-model="topicform.asrtext"> + <el-radio + v-for="(topicforms, index) in topicform.svyLibScriptOptions" + :key="topicforms.optioncontent" + :label="topicforms.optioncontent" + >{{ topicforms.optioncontent }}</el-radio + > + </el-radio-group> + </div> + <div v-else> + <el-input + type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + v-model.sync="topicform.asrtext" + :rows="2" + /> + </div> + </div> + </el-dialog> </div> </template> @@ -366,6 +446,7 @@ getissueclassify, delissueclassify, addissueclassify, + editissueclassify, getissuelist, issueinfo, compileissue, @@ -400,17 +481,23 @@ total: 0, namequestionnaire: "", haoquestionnaire: "", + askvaluetype: "", idds: "", + topicform: { + scriptContent: "", + }, amendtag: false, //鏄惁淇敼绫诲埆 dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 deleteVisible: false, //鍒嗙被鍒犻櫎寮规 + topicVisible: false, //棰勮寮规 deletefenl: "楂樿鍘�", //鍒犻櫎椤� classifyform: { - categoryname: "", + name: "", }, //绫诲埆琛ㄥ崟 // 琛ㄦ牸鏁版嵁 userList: [], // 寮瑰嚭灞傛爣棰� + tag: "", title: "", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, @@ -439,8 +526,8 @@ illnesslistapi: [], illnesslist: [], defaultProps: { - children: "svyLibTopicCategoryList", - label: "indexAssortName", + children: "svyLibScriptCategoryList", + label: "name", }, mode: [], languagelist: [], @@ -449,6 +536,7 @@ queryParams: { pageNum: 1, pageSize: 10, + isavailable: "", }, // 琛ㄥ崟鏍¢獙 rules: {}, @@ -457,9 +545,11 @@ watch: {}, created() { this.getList(); + this.getDeptTree(); this.mode = store.getters.mode; this.languagelist = store.getters.languagelist; this.qyoptions = store.getters.usable; + this.askvaluetype = store.getters.askvaluetype; }, methods: { @@ -477,13 +567,13 @@ compileUpdate(row) { this.$router.push({ path: "/knowledge/questionbank/particulars/", - query: { id: row.topicid }, + query: { id: row.id }, }); }, // 鐤剧梾----------------------- illnessUpdate(row) { this.illnessVisible = true; - this.indexid = row.topicid; + this.indexid = row.id; this.illnesslistapi = []; const illnessqueryParams = { pageNum: 1, @@ -493,7 +583,7 @@ console.log(response); this.optionsillness = response.rows; }); - getillness({ outid: row.topicid, type: 4 }).then((res) => { + getillness({ outid: row.id, type: 4 }).then((res) => { this.illnesslist = res.rows; console.log(res); }); @@ -564,38 +654,50 @@ getDeptTree() { getissueclassify({}).then((res) => { this.deptOptions = res.rows; - console.log(res); + this.dialogFormVisible = false; }); }, // 娣诲姞绫诲埆鏍� submitsidecolumn() { + if (this.classifyform.id) { + editissueclassify(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + return; + } let calssvalue = {}; if ( this.classifyform.pid && - this.classifyform.indexAssortName && + this.classifyform.name && this.radio == "瀛愬垎绫�" ) { const index = this.deptOptions.findIndex( (obj) => obj.id == this.classifyform.pid ); calssvalue = this.deptOptions[index]; - calssvalue.ivrLibaTemplateAssortList.push(this.classifyform); - } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) { + console.log(calssvalue, "calssvalue"); + calssvalue.svyLibScriptCategoryList.push(this.classifyform); + } else if (this.radio == "涓诲垎绫�" && this.classifyform.name) { this.classifyform.pid = null; - this.classifyform.ivrLibaTemplateAssortList = []; + this.classifyform.svyLibScriptCategoryList = []; } else { return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); } addissueclassify(this.classifyform).then((res) => { this.getDeptTree(); this.$modal.msgSuccess("鏂板鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; }); }, remove(a, b) { if (b.pid) { this.$modal - .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�') + .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.name + '"鐨勬暟鎹」锛�') .then(function () { return delissueclassify(b.id); }) @@ -607,9 +709,7 @@ } else { this.$modal .confirm( - '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + - b.indexAssortName + - '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' + '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + b.name + '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' ) .then(() => { return delissueclassify(b.id); @@ -621,21 +721,31 @@ .catch(() => {}); } }, + altertag(a, b) { + this.dialogFormVisible = true; + if (!b.pid) { + this.radio = "涓诲垎绫�"; + } else { + this.radio = "瀛愬垎绫�"; + } + this.classifyform = b; + this.dialogFormVisible = true; + }, // 绛涢�夎妭鐐� filterNode(value, data) { if (!value) return true; - return data.indexAssortName.indexOf(value) !== -1; + return data.name.indexOf(value) !== -1; }, handleNodeClick(data) { - this.queryParams.assortid = data.id; + this.queryParams.categoryid = data.id; this.getList(); }, // 琛ㄥ崟閲嶇疆 reset() { this.form = { - topicid: undefined, + id: undefined, deptId: undefined, userName: undefined, nickName: undefined, @@ -665,7 +775,7 @@ }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { - this.ids = selection.map((item) => item.topicid); + this.ids = selection.map((item) => item.id); this.single = selection.length != 1; this.multiple = !selection.length; }, @@ -685,7 +795,8 @@ /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { - const topicids = row.topicid || this.ids; + console.log(this.ids); + const topicids = row.id || this.ids; this.$modal .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + topicids + '"鐨勬暟鎹」锛�') .then(function () { @@ -696,6 +807,10 @@ this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) .catch(() => {}); + }, + topicpreview(row) { + this.topicform = row; + this.topicVisible = true; }, }, }; @@ -713,7 +828,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); @@ -832,6 +947,21 @@ 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); + + .dev-text { + margin-bottom: 10px; + text-align: left; + font-size: 22px; + } +} ::v-deep .el-tree-node__content { display: -webkit-box; @@ -844,6 +974,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