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/education/index.vue | 1257 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 1,252 insertions(+), 5 deletions(-) diff --git a/src/views/knowledge/education/index.vue b/src/views/knowledge/education/index.vue index 3dc5259..b692fc7 100644 --- a/src/views/knowledge/education/index.vue +++ b/src/views/knowledge/education/index.vue @@ -1,17 +1,1264 @@ <template> - <div>瀹f暀绠$悊</div> + <div class="educationmanagement"> + + <!-- 宸︿晶鏍� --> + <div class="sidecolumn"> + <div class="sidecolumn-top"> + <div class="top-wj">瀹f暀绫诲瀷</div> + <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞绫诲埆</div> + </div> + <div class="center-ss"> + <el-input + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="sidecolumnval" + class="input-with-select" + size="medium" + > + </el-input> + </div> + <div class="head-container" style="margin-top: 20px"> + <el-tree + :data="deptOptions" + :props="defaultProps" + :expand-on-click-node="false" + :filter-node-method="filterNode" + ref="tree" + node-key="id" + default-expand-all + highlight-current + @node-click="handleNodeClick" + > + <span class="custom-tree-node" slot-scope="{ node, data }"> + <span>{{ node.label }}</span> + <span v-if="data.id > 0"> + <el-button + type="text" + icon="el-icon-delete" + circle + 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> + </el-tree> + </div> + </div> + <!-- 鍙充晶鏁版嵁 --> + <div class="leftvlue"> + <div class="leftvlue-bg"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + <el-col :span="24" :xs="24"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" + > + <el-form-item label="閫氱煡鏍囬" prop="preachname"> + <el-input + v-model="queryParams.preachname" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="閫傜敤闄㈠尯" prop="region"> + <el-select + v-model="campus" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option + 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.preachcontent" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="handleQuery" + /> + </el-form-item> + + <el-form-item label="鍙敤鐘舵��" prop="classify"> + <el-select + v-model="queryParams.isavailable" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="(item, index) in qyoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleQuery" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <el-divider></el-divider> + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="medium" + @click="handleAdd" + v-hasPermi="['system:user:add']" + >鏂板</el-button + > + </el-col> + + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="medium" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:user:remove']" + >鍒犻櫎</el-button + > + </el-col> + <el-col :span="1.5"> + <el-button + type="success" + plain + icon="el-icon-data-line" + size="medium" + @click="statistics" + >缁熻鍒嗘瀽</el-button + > + </el-col> + + <!-- <el-col :span="1.5"> </el-col> --> + </el-row> + + <el-table + v-loading="loading" + :data="userList" + border + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="50" align="center" /> + <el-table-column + label="搴忓彿" + fixed + align="center" + key="id" + prop="id" + /> + <el-table-column + label="鏍囬" + fixed + align="center" + width="150" + key="preachname" + prop="preachname" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鐗堟湰" + align="center" + key="version" + prop="version" + :show-overflow-tooltip="true" + /> + <el-table-column + label="涓昏鍐呭" + align="center" + width="260" + key="preachcontent" + prop="preachcontent" + :show-overflow-tooltip="true" + /> + + <el-table-column + label="閫傜敤鐤剧梾" + align="center" + key="aphonenumber" + prop="aphonenumber" + width="120" + > + <template slot-scope="scope"> + <el-button + 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 + > + </template> + </el-table-column> + + <el-table-column + label="鏍囩" + align="center" + key="labelInfo" + prop="labelInfo" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <div v-if="scope.row.labelInfo"> + <span v-for="item in scope.row.labelInfo.split(',')" + >{{ item }}銆� + </span> + </div> + <div v-else> + <span>鏃�</span> + </div> + </template> + </el-table-column> + <el-table-column + label="閫傜敤鏂瑰紡" + align="center" + key="suitway" + prop="suitway" + width="120" + > + <template slot-scope="scope"> + <div v-if="scope.row.suitway"> + <span v-for="item in scope.row.suitway.split(',')" + >{{ item }}銆� + </span> + </div> + <div v-else> + <span>鏃�</span> + </div> + </template> + </el-table-column> + <el-table-column + label="鍐呭褰㈠紡" + align="center" + key="preachform" + prop="preachform" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="editabshape" + :value="scope.row.preachform" + /> + </template> + </el-table-column> + <el-table-column + label="鏈�杩戜慨鏀�" + align="center" + key="updateTime" + prop="updateTime" + width="120" + /> + <el-table-column + label="鏄惁鍙敤" + align="center" + key="isavailable" + prop="isavailable" + width="120" + > + <template slot-scope="scope"> + <dict-tag :options="usable" :value="scope.row.isavailable" /> + </template> + </el-table-column> + + <el-table-column + label="鎿嶄綔" + fixed="right" + align="center" + width="300" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <!-- <el-button + size="medium" + type="text" + @click="goQRCode(scope.row)" + v-hasPermi="['system:user:edit']" + > + <span class="button-text" + ><i class="el-icon-edit"></i>浜岀淮鐮�</span + ></el-button + > --> + <el-button + size="medium" + type="text" + @click="Vieweducation(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 + > + <el-button + 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 + > + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + </el-col> + </el-row> + </div> + </div> + <!-- 娣诲姞绫诲埆寮规 --> + <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> + <el-radio-button label="瀛愬垎绫�"></el-radio-button> + </el-radio-group> + </div> + <el-divider></el-divider> + <el-form :model="classifyform"> + <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'"> + <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in deptOptions" + :key="item.id" + :label="item.assortname" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="璇疯緭鍏ョ被鍒悕绉�"> + <el-input + v-model="classifyform.assortname" + autocomplete="off" + ></el-input> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="getDeptTree()">鍙� 娑�</el-button> + <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button> + </div> + </el-dialog> + <!-- 鐤剧梾寮规 --> + <el-dialog title="鎸囨爣鐤剧梾" :visible.sync="illnessVisible" width="50%"> + <div> + <div class="xinz-infs"> + <el-tag + :key="item.icd10name" + type="warning" + v-for="item in illnesslist" + closable + :disable-transitions="false" + @close="handleCloseillness(item)" + > + {{ item.icd10name }} + </el-tag> + <el-select + v-model="inputValue" + v-if="inputVisible" + @change="illnessConfirm" + :remote-method="remoteMethod" + filterable + remote + allow-create + default-first-option + placeholder="璇烽�夋嫨/鏌ヨ" + :loading="loading" + > + <el-option + v-for="item in optionsillness" + :key="item.icdid" + :label="item.icdname" + :value="item.icdid" + > + </el-option> + </el-select> + <el-button + v-else + class="button-new-tag" + size="small" + @click="showInput" + >+ 鏂板鐤剧梾</el-button + > + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="illnessVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmillness">纭� 瀹�</el-button> + </span> + </el-dialog> + <!-- 浜岀淮鐮佸睍绀哄脊妗� --> + <el-dialog width="30%" :visible.sync="goQRCodeVisible"> + <div class="qrcode-dialo"> + <div class="qrcode-text"> + {{ nameeducation }}<span>{{ haoeducation }}</span> + </div> + <div class="qrcode-img"></div> + </div> + </el-dialog> + <el-dialog title="妯℃澘棰勮" :visible.sync="previewtf" width="60%"> + <div class="preview-left"> + <!-- 鍗曢�� --> + <div v-html="htmlRichText"></div> + </div> + <!-- <span slot="footer" class="dialog-footer"> + <el-button @click="previewGo">鍓嶅線妯℃澘璇︽儏淇敼</el-button> + <el-button type="primary" @click="previewFn">纭浣跨敤</el-button> + </span> --> </el-dialog + >\ + <!-- 缁熻鍥捐〃 --> + <el-dialog width="80%" title="绠¢ゲ瀹f暀缁熻" :visible.sync="statisticson"> + <div class="grid-content bg-purple" style="min-height: 300px"> + <div class="title"> + 瀹f暀缁熻 + <span class="el-icon-s-unfold moreIcon"></span> + </div> + <div class="cooperate"> + <!-- 鍚堜綔鍖哄煙 --> + <div class="pieChart" id="pieCharts"></div> + </div> + </div> + </el-dialog> + </div> </template> <script> +import { + getheLibraryAssort, + delheLibraryAssort, + addheLibraryAssort, + editheLibraryAssort, + addtargetillness, + getlibrarylist, + dellibraryinfo, + compilelibrary, + getlibraryinfo, + getillnesslist, + illnesslistget, + getillness, + deltargetillness, +} from "@/api/AiCentre/index"; +import { listDept } from "@/api/system/dept"; +import { getToken } from "@/utils/auth"; +import store from "@/store"; +import axios from "axios"; +import Treeselect from "@riophae/vue-treeselect"; +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { + name: "education", + dicts: ["sys_normal_disable", "sys_user_sex"], + components: { Treeselect }, data() { - return {}; + return { + topactiveName: "Local", //椤堕儴閫夋嫨 + // 閬僵灞� + loading: false, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + nameeducation: "", + haoeducation: "", + statisticson: false, + indexid: null, + inputValue: "", + htmlRichText: "", + radio: "涓诲垎绫�", + inputVisible: false, + previewtf: false, + illnessVisible: false, //鎸囨爣鐤剧梾寮规 + deptOptions: [], + courtyardlist: [], + optionsillness: [], + illnesslistapi: [], + illnesslist: [], + campus: [], + defaultProps: { + children: "heLibraryAssortList", + label: "assortname", + }, + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: [ + { + userid: 1, + userName: "涓夊彿瀹f暀", + nickName: "1.2.4", + aphonenumber: "鍏宠妭鐐庣棁", + bphonenumber: "寰堟", + cphonenumber: "2022-12-12", + }, + ], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 宀椾綅閫夐」 + postOptions: [], + // 瑙掕壊閫夐」 + roleOptions: [], + // 琛ㄥ崟鍙傛暟 + form: {}, + numberlb: 22, + numberlbs: 2, + sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟 + goQRCodeVisible: false, //浜岀淮鐮佸脊妗� + sidecolumnval: "", //绫诲埆鎼滅储 + propss: { multiple: true }, + idds: "", + amendtag: false, //鏄惁淇敼绫诲埆 + dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规 + deleteVisible: false, //鍒嗙被鍒犻櫎寮规 + deletefenl: "楂樿鍘�", //鍒犻櫎椤� + classifyform: { + categoryname: "", + }, //绫诲埆琛ㄥ崟 + optionss: [], + mode: [], + qyoptions: [], + languagelist: [], + editabshape: [], + usable: [], + precedencetype: [], + xjxsoptions: [], + deptList: [], + props: { multiple: true, value: "deptId", label: "deptName" }, + Collarr: [], + Collarrname: [], + Collarrvalue: [], + //绫诲埆鍒楄〃 + editableTabs: [], + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + isavailable: "", + }, + }; + }, + watch: {}, + created() { + this.getList(); + this.getDeptTree(); + this.mode = store.getters.mode; + this.languagelist = store.getters.languagelist; + this.usable = store.getters.usable; + this.precedencetype = store.getters.precedencetype; + this.editabshape = store.getters.editabshape; + this.qyoptions = store.getters.usable; + this.courtyardlist = store.getters.courtyardlist; }, - created() {}, + methods: { + /** 鏌ヨ瀹f暀鍒楄〃 */ + getList() { + this.loading = true; + getlibrarylist(this.queryParams).then((response) => { + console.log(response); + this.userList = response.rows; + this.total = response.total; + this.loading = false; + }); + listDept(this.queryParams).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); + }); + }, - methods: {}, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + goQRCode(row) { + this.goQRCodeVisible = true; + this.nameeducation = row.userName; + this.haoeducation = row.nickName; + }, + // 鍚堜綔鍟嗙偣浣嶆眹鎬荤粺璁¢ゼ鐘跺浘 + async getnodeCollect() { + // const res = await getnodeCollect(); + // this.nodeCollect = res.data; + // this.nodeCollect = [ + // { name: "褰卞儚闅忚", value: 1232 }, + // { name: "鍑洪櫌闅忚", value: 342 }, + // ]; + this.myPieChart(); + }, + // 楗肩姸鍥� + myPieChart() { + // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥 + var echarts = require("echarts"); + var mypPieCharts = echarts.init(document.getElementById("pieCharts")); + this.mypPieCharts = mypPieCharts; + // 鎸囧畾鍥捐〃鐨勯厤缃」鍜屾暟鎹� + var optionPie = { + tooltip: { + trigger: "item", + formatter: "{a} <br/>{b} : {c} ({d}%)", + }, + legend: { + left: "left", + orient: "horizontal", // 鍥句緥椤规按骞虫帓鍒� + top: "top", // 鍥句緥鏀剧疆鍦ㄩ《閮� + data: this.Collarrname, + }, + toolbox: { + feature: { + magicType: { + type: ["stack"], + }, + dataView: {}, + }, + }, + xAxis: [ + { + type: "category", + data: this.Collarrname, + axisLabel: { + formatter: "{value}", + }, + }, + ], + grid: { top: "30%", left: "10%", right: "40%", bottom: "10%" }, + yAxis: [ + { + type: "value", + }, + ], + series: [ + { + name: "鏌ョ湅娆℃暟", + type: "bar", + data: this.Collarrvalue, + seriesLayoutBy: "row", + smooth: true, + label: { + show: true, + position: "inside", + }, + emphasis: { focus: "series" }, + }, + { + name: "鏌ョ湅娆℃暟姣旂巼", + type: "pie", + radius: "30%", + radius: ["40%", "70%"], + center: ["80%", "60%"], + data: this.Collarr, + emphasis: { + focus: "self", + }, + itemStyle: { + borderRadius: 10, + borderColor: "#fff", + borderWidth: 2, + }, + label: { + formatter: "{b}: {d}%", + }, + }, + ], + }; + mypPieCharts.on("updateAxisPointer", function (event) { + const xAxisInfo = event.axesInfo[0]; + if (xAxisInfo) { + const dimension = xAxisInfo.value + 1; + mypPieCharts.setOption({ + series: { + id: "pie", + label: { + formatter: "{b}: {@[" + dimension + "]} ", + }, + encode: { + value: dimension, + tooltip: dimension, + }, + }, + }); + } + }); + + // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆� + mypPieCharts.setOption(optionPie); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = {}; + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.queryParams.campus = this.campus.join(","); + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.dateRange = []; + this.resetForm("queryForm"); + this.queryParams.deptId = undefined; + this.$refs.tree.setCurrentKey(null); + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.id); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.$router.push({ + path: "/knowledge/educationinfo/", + }); + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.$router.push({ + path: "/knowledge/educationinfo/", + query: { id: row.id }, + }); + }, + // 鏌ョ湅瀹f暀 + Vieweducation(row) { + this.htmlRichText = null; + this.previewtf = true; + axios + .get(row.htmlRichText) + .then((response) => { + console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭 + this.htmlRichText = response.data; + this.htmlRichText = this.addStyleToImages(this.htmlRichText); + }) + .catch((error) => { + this.$modal.msgError("鑾峰彇瀵屾枃鏈け璐�"); + console.error("Failed to fetch file:", error); + }); + }, + addStyleToImages(html) { + return html.replace( + /<img([^>]*)style=(['"])(?:(?!\2).)*\2([^>]*)>/g, + '<img$1style="width:100%;height:auto;"$3>' + ); + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const userIds = row.id || this.ids; + this.$modal + .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') + .then(function () { + return dellibraryinfo(userIds); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + // 鎵撳紑缁熻鍥捐〃 + statistics() { + //鍙栨暟鎹� + let obj = { assortid: 13, isavailable: "", pageNum: 1, pageSize: 20 }; + getlibrarylist(obj).then((response) => { + console.log(response.rows, "response.rows"); + response.rows.forEach((item) => { + this.Collarr.push({ name: item.preachname, value: item.watchCount }); + }); + this.Collarrname = this.Collarr.map((item) => item.name); + + // 鎻愬彇 value 灞炴�у埌涓�涓柊鏁扮粍 + this.Collarrvalue = this.Collarr.map((item) => + parseInt(item.value, 10) + ); + this.statisticson = true; + this.$nextTick(function () { + this.getnodeCollect(); + }); + this.total = response.total; + this.loading = false; + }); + }, + + // 鍒嗙被鏍�----------------------------------------- + // 淇敼鍒嗙被寮规 + popoveramend(tagcategoryid) { + this.idds = tagcategoryid; + this.amendtag = true; + this.dialogFormVisible = true; + }, + // 鏌ヨ鏍� + getDeptTree() { + getheLibraryAssort({}).then((res) => { + this.deptOptions = res.rows; + this.dialogFormVisible = false; + }); + }, + + // 娣诲姞绫诲埆鏍� + submitsidecolumn() { + if (this.classifyform.id) { + editheLibraryAssort(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + return; + } + let calssvalue = {}; + if ( + this.classifyform.pid && + this.classifyform.assortname && + this.radio == "瀛愬垎绫�" + ) { + const index = this.deptOptions.findIndex( + (obj) => obj.id == this.classifyform.pid + ); + calssvalue = this.deptOptions[index]; + calssvalue.heLibraryAssortList.push(this.classifyform); + } else if (this.radio == "涓诲垎绫�" && this.classifyform.assortname) { + this.classifyform.pid = null; + this.classifyform.heLibraryAssortList = []; + } else { + return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�"); + } + this.classifyform.hetype = 1; + addheLibraryAssort(this.classifyform).then((res) => { + this.getDeptTree(); + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.classifyform = {}; + this.dialogFormVisible = false; + }); + }, + remove(a, b) { + if (b.pid) { + this.$modal + .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.assortname + '"鐨勬暟鎹」锛�') + .then(function () { + return delheLibraryAssort(b.id); + }) + .then(() => { + this.getDeptTree(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + } else { + this.$modal + .confirm( + '鏄惁纭鍒犻櫎涓�绾у垎绫�"' + + b.assortname + + '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�' + ) + .then(() => { + return delheLibraryAssort(b.id); + }) + .then(() => { + this.getDeptTree(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .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.assortname.indexOf(value) !== -1; + }, + handleNodeClick(data) { + this.queryParams.assortid = data.id; + this.getList(); + }, + // 鐤剧梾----------------------- + illnessUpdate(row) { + this.illnessVisible = true; + this.indexid = row.id; + this.illnesslistapi = []; + const illnessqueryParams = { + pageNum: 1, + pageSize: 100, + }; + getillnesslist(illnessqueryParams).then((response) => { + console.log(response); + this.optionsillness = response.rows; + }); + getillness({ outid: row.id, type: 6 }).then((res) => { + this.illnesslist = res.rows; + console.log(res); + }); + }, + handleCloseillness(tag) { + this.illnesslist.splice(this.illnesslist.indexOf(tag), 1); + if (tag.id) { + this.illnesslistapi.push(tag.id); + } + }, + remoteMethod(value) { + console.log(value); + const illnessqueryParams = { + pageNum: 1, + pageSize: 100, + icdname: value, + }; + this.loading = true; + setTimeout(() => { + this.loading = false; + getillnesslist(illnessqueryParams).then((response) => { + this.optionsillness = response.rows; + }); + }, 200); + }, + illnessConfirm(item) { + let opeavalue = {}; + let tagname = this.inputValue; + illnesslistget(item).then((res) => { + opeavalue = res.data; + opeavalue.outid = this.indexid; + opeavalue.type = 6; + opeavalue.icd10id = opeavalue.icdid; + opeavalue.icd10name = opeavalue.icdname; + opeavalue.icd10code = opeavalue.icdcode; + if (tagname) { + this.illnesslist.push(opeavalue); + } + }); + console.log(this.illnesslist); + this.inputVisible = false; + this.inputValue = ""; + }, + confirmillness() { + this.illnesslist.forEach((item, index) => { + if (!item.id) { + addtargetillness(item).then((res) => {}); + } + }); + if (this.illnesslistapi.length) { + deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); + } + this.illnessVisible = false; + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + }, + showInput() { + this.inputVisible = true; + }, + }, }; </script> -<style lang="scss" scoped></style> +<style lang="scss" scoped> +.educationmanagement { + display: flex; +} +.sidecolumn { + width: 300px; + min-height: 100vh; + text-align: center; + // display: flex; + margin-top: 20px; + margin: 20px; + padding: 30px; + 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); + .sidecolumn-top { + display: flex; + justify-content: space-between; + .top-wj { + font-size: 20px; + } + .top-tj { + font-size: 18px; + + color: rgb(0, 89, 255); + cursor: pointer; + } + } + .center-ss { + margin-top: 30px; + .input-with-select { + height: 40px !important; + } + } + .bottom-fl { + margin-top: 30px; + display: center !important; + } +} +.qrcode-dialo { + text-align: center; + // display: flex; + margin: 20px; + padding: 30px; + background: #edf1f7; + 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); + .qrcode-text { + font-size: 20px; + span { + margin-left: 20px; + } + } + .qrcode-img { + width: 300px; + height: 400px; + } +} +::v-deep.el-tabs--left, +.el-tabs--right { + overflow: hidden; + align-items: center; + display: flex; +} +::v-deep.el-input--medium .el-input__inner { + height: 40px !important; +} +::v-deep.el-tabs--right .el-tabs__active-bar.is-right { + height: 40px; + width: 5px; + left: 0; +} +::v-deep.el-tabs--right .el-tabs__item.is-right { + display: block; + font-size: 20px; +} +.leftvlue { + // display: flex; + // flex: 1; + width: 80%; + margin-top: 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); + .mulsz { + font-size: 20px; + } +} +.xinz-infs { + font-size: 18px; + overflow: hidden; + text-overflow: ellipsis; + + line-height: 48px; + + .el-tag + .el-tag { + margin-left: 10px; + } + .button-new-tag { + margin-left: 10px; + height: 32px; + line-height: 30px; + padding-top: 0; + padding-bottom: 0; + } + .input-new-tag { + width: 90px; + margin-left: 10px; + vertical-align: bottom; + } +} + +.bg-purple { + background: #fff; +} + +.grid-content { + min-height: 36px; + border-radius: 20px; + padding: 0 10px; +} +.title { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + font-size: 16px; + font-family: PingFangSC-Semibold, PingFang SC; + font-weight: 600; + color: #333; + padding-top: 17px; + padding-bottom: -4px; + + span { + margin-left: 10px; + font-size: 12px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #999; + } +} +.moreIcon { + font-size: 22px !important; + margin-left: 400px !important; + color: #5f84ff !important; + cursor: pointer; +} +.cooperate { + width: 100%; + height: 280px; + margin-top: 25px; + display: flex; + .pieChart { + flex: 1; + } + .Points { + width: 154px; + height: 230px; + text-align: center; + padding: 20px 0; + background: linear-gradient(135deg, transparent, #f8f8f9 0) 0 0, + linear-gradient(-135deg, transparent 12px, #f8f8f9 0) 100% 0, + linear-gradient(-45deg, transparent, #f8f8f9 0) 100% 100%, + linear-gradient(45deg, transparent 12px, #f8f8f9 0) 0 100%; + background-size: 50% 50%; + background-repeat: no-repeat; + p { + height: 33px; + margin-bottom: 10px; + font-size: 24px; + font-family: PingFangSC-Semibold, PingFang SC; + font-weight: 600; + color: #072074; + line-height: 33px; + } + span { + height: 17px; + margin-top: 6px; + font-size: 12px; + font-family: PingFangSC-Regular, PingFang SC; + font-weight: 400; + color: #000412; + line-height: 17px; + } + } +} +::v-deep .el-tree-node__content { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + height: 46px; + 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; + color: red; +} +.button-text { + color: rgb(70, 204, 238); +} +.button-textck { + color: rgb(39, 167, 67); +} +.button-textxg { + color: rgb(35, 81, 233); +} +.button-textsc { + color: rgb(235, 23, 23); +} +</style> -- Gitblit v1.9.3