<template>
|
<div class="educationmanagement">
|
|
<!-- 左侧栏 -->
|
<div class="sidecolumn">
|
<div class="sidecolumn-top">
|
<div class="top-wj">宣教类型</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="管饲宣教统计" :visible.sync="statisticson">
|
<div class="grid-content bg-purple" style="min-height: 300px">
|
<div class="title">
|
宣教统计
|
<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 {
|
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: "三号宣教",
|
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;
|
},
|
|
methods: {
|
/** 查询宣教列表 */
|
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");
|
});
|
},
|
|
// 取消按钮
|
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 },
|
});
|
},
|
// 查看宣教
|
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>
|
.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>
|