From 41b1f5280255ac539e40d4cd794532ae1829ce17 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 01 八月 2024 18:25:36 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/templateku/index.vue | 281 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 214 insertions(+), 67 deletions(-) diff --git a/src/views/repositoryai/templateku/index.vue b/src/views/repositoryai/templateku/index.vue index 0cca167..75e0cd4 100644 --- a/src/views/repositoryai/templateku/index.vue +++ b/src/views/repositoryai/templateku/index.vue @@ -1,7 +1,7 @@ <template> <div class="Questionnairemanagement"> <!-- 宸︿晶鏍� --> - <div class="sidecolumn" v-show="topactiveName == 'Local'"> + <div class="sidecolumn"> <div class="sidecolumn-top"> <div class="top-wj">妯$増绫诲瀷</div> <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div> @@ -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" @@ -39,12 +39,23 @@ > </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> </el-tree> </div> </div> <!-- 鍙充晶鏁版嵁 --> - <div :class="topactiveName == 'Local' ? 'leftvlue' : 'leftvlues'"> + <div class="leftvlue"> <div class="leftvlue-bg"> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> @@ -57,50 +68,35 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="妯$増鏍囬" prop="userName"> + <el-form-item label="妯$増鏍囬" prop="templateName"> <el-input - v-model="queryParams.userName" + v-model="queryParams.templateName" 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="region"> + <el-select + v-model="queryParams.campus" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > <el-option - v-for="item in languagelist" - :key="item.value" + class="ruleFormaa" + v-for="item in courtyardlist" + :key="item.label" :label="item.label" - :value="item.value" + :value="item.label" > </el-option> </el-select> </el-form-item> - <el-form-item label="鍙敤鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in qyoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </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> - <el-form-item label="鍐呭褰㈠紡" prop="status"> - <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨"> + <el-form-item label="鍙敤鐘舵��" prop="usestate"> + <el-select v-model="queryParams.usestate" placeholder="璇烽�夋嫨"> <el-option v-for="item in qyoptions" :key="item.value" @@ -157,16 +153,22 @@ </el-row> <!-- 鏍囧噯妯$増 --> <el-table - v-if="topactiveName == 'Local'" v-loading="loading" :data="userList" :border="true" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> - <el-table-column label="搴忓彿" align="center" key="id" prop="id" /> + <el-table-column + label="搴忓彿" + fixed + align="center" + key="id" + prop="id" + /> <el-table-column label="妯$増鍚嶇О" + fixed align="center" key="templateName" prop="templateName" @@ -202,22 +204,6 @@ </el-table-column> <el-table-column - label="閫傜敤绉戝" - align="center" - key="deptNames" - prop="deptNames" - width="120" - > - <template slot-scope="scope"> - <div v-if="scope.row.deptNames"> - <span v-for="item in scope.row.deptNames.split(",")" - >{{ item }} - </span> - </div> - <div v-else>''</div> - </template> - </el-table-column> - <el-table-column label="鏍囩" align="center" key="labelInfo" @@ -225,15 +211,15 @@ width="160" :show-overflow-tooltip="true" > - <template slot-scope="scope" > + <template slot-scope="scope"> <div v-if="scope.row.labelInfo"> - <span v-for="item in JSON.parse(scope.row.labelInfo)" - >{{ item.tagname }}</span> + <span v-for="item in JSON.parse(scope.row.labelInfo)">{{ + item.tagname + }}</span> </div> <div v-else> <span>鏃�</span> </div> - </span> </template> </el-table-column> <el-table-column @@ -244,9 +230,11 @@ width="160" :show-overflow-tooltip="true" > - <template slot-scope="scope" > + <template slot-scope="scope"> <div v-if="scope.row.campus"> - <span v-for="item in JSON.parse(scope.row.campus)">{{ item.label }} </span> + <span v-for="item in scope.row.campus.split(',')" + >{{ item }}銆� + </span> </div> <div v-else> <span>鏃�</span> @@ -290,6 +278,7 @@ <el-table-column label="鎿嶄綔" + fixed="right" align="center" width="200" class-name="small-padding fixed-width" @@ -339,11 +328,16 @@ </div> </div> <!-- 娣诲姞绫诲埆寮规 --> - <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible"> + <el-dialog + :title="title" + width="30%" + :close-on-click-modal="false" + :visible.sync="dialogFormVisible" + > <div style="text-align: center; margin-bottom: 20px"> <el-radio-group v-model="radio"> - <el-radio-button label="涓诲垎绫�"></el-radio-button> - <el-radio-button label="瀛愬垎绫�"></el-radio-button> + <el-radio-button label="涓诲垎绫�" v-show="zifon"></el-radio-button> + <el-radio-button label="瀛愬垎绫�" v-show="zufon"></el-radio-button> </el-radio-group> </div> <el-divider></el-divider> @@ -367,7 +361,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> @@ -419,6 +413,69 @@ <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="scriptTopic-dev" + v-for="item in topicform.ivrLibaTemplateScriptVOList" + :key="item.targetid" + v-if="item.valueType == 1" + > + <div class="dev-text"> + {{ item.targetid }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-radio-group v-model="item.remark"> + <el-radio + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="index" + :label="index" + >{{ items.targetvalue }}</el-radio + > + </el-radio-group> + </div> + </div> + <!-- 澶氶�� --> + <div + class="scriptTopic-dev" + v-for="item in topicform.ivrLibaTemplateScriptVOList" + :key="item.targetid" + v-if="item.valueType == 2" + > + <div class="dev-text"> + {{ item.targetid }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-checkbox-group v-model="item.remark"> + <el-checkbox + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="index" + :label="index" + > + {{ items.targetvalue }} + </el-checkbox> + </el-checkbox-group> + </div> + </div> + <!-- 濉┖ --> + <div + class="scriptTopic-dev" + v-for="item in topicform.ivrLibaTemplateScriptVOList" + :key="item.targetid" + v-if="item.valueType == 3" + > + <div class="dev-text"> + {{ item.targetid }}銆乕濉┖]<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> + </el-input> + </div> + </div> + </div> + </el-dialog> </div> </template> @@ -429,16 +486,19 @@ getFollowupclassify, delFollowupclassify, addFollowupclassify, + editFollowupclassify, addtargetillness, getvFollowup, compileFollowup, delFollowupinfo, + getverbaltricklist, Followupinfo, getFollowuplist, getillnesslist, illnesslistget, getillness, } from "@/api/AiCentre/index"; +import { listDept } from "@/api/system/dept"; export default { name: "templateku", data() { @@ -458,6 +518,8 @@ total: 0, namequestionnaire: "", haoquestionnaire: "", + topicform: {}, + topicVisible: false, idds: "", amendtag: false, //鏄惁淇敼绫诲埆 dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 @@ -469,7 +531,7 @@ // 琛ㄦ牸鏁版嵁 userList: [], // 寮瑰嚭灞傛爣棰� - title: "", + title: "鏂板绫诲埆", // 鏄惁鏄剧ず寮瑰嚭灞� open: false, // 鏃ユ湡鑼冨洿 @@ -500,6 +562,8 @@ indexid: null, inputValue: "", radio: "涓诲垎绫�", + zufon: true, + zifon: true, inputVisible: false, illnessVisible: false, //鎸囨爣鐤剧梾寮规 deptOptions: [], @@ -510,9 +574,12 @@ children: "ivrLibaTemplateAssortList", label: "indexAssortName", }, + deptList: [], + props: { multiple: true, value: "deptId", label: "deptName" }, mode: [], languagelist: [], qyoptions: [], + courtyardlist: [], }; }, watch: { @@ -524,10 +591,13 @@ created() { this.getList(); this.getDeptTree(); + this.zufon = true; + this.zifon = true; this.mode = store.getters.mode; this.languagelist = store.getters.languagelist; this.qyoptions = store.getters.usable; this.precedencetype = store.getters.precedencetype; + this.courtyardlist = store.getters.courtyardlist; }, methods: { @@ -538,6 +608,11 @@ console.log(this.userList); this.userList = res.rows; this.total = res.total; + + console.log(this.userList[0].campus.split(",")); + }); + listDept({ pageNum: 1, pageSize: 10 }).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); }); }, @@ -602,7 +677,12 @@ this.multiple = !selection.length; }, /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() {}, + handleAdd() { + this.$router.push({ + path: "/knowledge/templateku/configurat/", + query: { id: null, assortid: this.queryParams.assortid }, + }); + }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { @@ -629,12 +709,21 @@ getDeptTree() { getFollowupclassify({}).then((res) => { this.deptOptions = res.rows; - console.log(res); + this.dialogFormVisible = false; }); }, // 娣诲姞绫诲埆鏍� submitsidecolumn() { + if (this.classifyform.id) { + editFollowupclassify(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + return; + } let calssvalue = {}; if ( this.classifyform.pid && @@ -655,6 +744,8 @@ addFollowupclassify(this.classifyform).then((res) => { this.getDeptTree(); this.$modal.msgSuccess("鏂板鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; }); }, remove(a, b) { @@ -685,6 +776,28 @@ }) .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; + }, + // 棰勮 + preview(row) { + getvFollowup({ id: row.id }).then((res) => { + this.topicform = res.data; + console.log(this.topicform); + this.topicVisible = true; + }); }, // 绛涢�夎妭鐐� @@ -783,8 +896,8 @@ // display: flex; margin-top: 20px; margin: 20px; - padding: 30px; - background: #edf1f7; + padding: 20px; + 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); @@ -918,6 +1031,22 @@ font-size: 20px; } } +.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; display: -ms-flexbox; @@ -929,6 +1058,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