From ae117f01461f05a0bf249e6f63b636f4222ec8d7 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 23 十二月 2024 17:17:44 +0800
Subject: [PATCH] 测试完成
---
src/views/outsideChainxj.vue | 4
dist (2).zip | 0
src/views/repositoryai/templateku/configurat/index.vue | 4
src/views/knowledge/education/index copy.vue | 1239 +++++++++++++++++++++++++++++++++++++++++
src/views/patient/patient/outpatient.vue | 4
src/views/knowledge/education/index.vue | 238 +++++++
src/views/patient/propaganda/QuestionnaireTask.vue | 2
src/utils/request.js | 239 ++++---
/dev/null | 0
src/views/login.vue | 14
src/views/sfstatistics/percentage/index.vue | 4
src/views/patient/patient/hospital.vue | 8
src/views/patient/patient/behospitalized.vue | 8
src/views/outsideChainxjnew.vue | 4
src/views/outsideChain.vue | 4
src/views/patient/propaganda/particty.vue | 1
src/api/AiCentre/external.js | 20
17 files changed, 1,653 insertions(+), 140 deletions(-)
diff --git "a/dist \0502\051.zip" "b/dist \0502\051.zip"
index 413d67f..629576d 100644
--- "a/dist \0502\051.zip"
+++ "b/dist \0502\051.zip"
Binary files differ
diff --git "a/dist \0503\051.zip" "b/dist \0503\051.zip"
deleted file mode 100644
index 50f221c..0000000
--- "a/dist \0503\051.zip"
+++ /dev/null
Binary files differ
diff --git a/dist.zip b/dist.zip
deleted file mode 100644
index 8ea794d..0000000
--- a/dist.zip
+++ /dev/null
Binary files differ
diff --git a/external.zip b/external.zip
deleted file mode 100644
index 876f214..0000000
--- a/external.zip
+++ /dev/null
Binary files differ
diff --git a/interior.zip b/interior.zip
deleted file mode 100644
index b1b12fd..0000000
--- a/interior.zip
+++ /dev/null
Binary files differ
diff --git a/src/api/AiCentre/external.js b/src/api/AiCentre/external.js
index 34045d4..ecad908 100644
--- a/src/api/AiCentre/external.js
+++ b/src/api/AiCentre/external.js
@@ -3,7 +3,7 @@
// 澶栭摼鑾峰彇闅忚
export function getExternalfollowup(data) {
return request({
- url: "/servicetask/getScriptInfoByCondition",
+ url: "/smartor/servicetask/getScriptInfoByCondition",
// url: "/servicetask/getScriptInfoByCondition",
method: "post",
data: data
@@ -17,20 +17,12 @@
params: {param:id}
});
}
-// 鎻愪氦銆侀殢璁�
-export function SetsaveQuestionAnswer(data) {
- return request({
- // url: "/ivrtaskcalldetail/saveQuestionAnswer",
- url: "/serviceSubtask/saveQuestionAnswer",
- method: "post",
- data: data
- });
-}
+
// 缂撳瓨闂嵎
export function Cachequestionnaire(data) {
return request({
- url: "/subtaskAnswer/saveQuestionCache",
+ url: "/smartor/subtaskAnswer/saveQuestionCache",
method: "post",
data: data
});
@@ -38,7 +30,7 @@
// 鎷跨紦瀛橀棶鍗�
export function getCachequestionnaire(data) {
return request({
- url: "/subtaskAnswer/getQuestionCache",
+ url: "/smartor/subtaskAnswer/getQuestionCache",
method: "post",
data: data
});
@@ -46,13 +38,13 @@
// 鎻愪氦闂嵎
export function Submitaquestionnaire(data) {
return request({
- url: "/subtaskAnswer/saveQuestionAnswer",
+ url: "/smartor/subtaskAnswer/saveQuestionAnswer",
method: "post",
data: data
});
}
-// 鎻愪氦闂嵎
+// 鎻愪氦闂嵎(鍐�)
export function getsearchrResult(data) {
return request({
url: "/subtaskAnswer/selectPatQuestionResult",
diff --git a/src/utils/request.js b/src/utils/request.js
index 3b6bcf6..05dcfc1 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -1,109 +1,140 @@
-import axios from 'axios'
-import { Notification, MessageBox, Message, Loading } from 'element-ui'
-import store from '@/store'
-import { getToken } from '@/utils/auth'
-import errorCode from '@/utils/errorCode'
+import axios from "axios";
+import { Notification, MessageBox, Message, Loading } from "element-ui";
+import store from "@/store";
+import { getToken } from "@/utils/auth";
+import errorCode from "@/utils/errorCode";
import { tansParams, blobValidate } from "@/utils/ruoyi";
-import cache from '@/plugins/cache'
-import { saveAs } from 'file-saver'
+import cache from "@/plugins/cache";
+import { saveAs } from "file-saver";
let downloadLoadingInstance;
// 鏄惁鏄剧ず閲嶆柊鐧诲綍
export let isRelogin = { show: false };
-axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
+axios.defaults.headers["Content-Type"] = "application/json;charset=utf-8";
// 鍒涘缓axios瀹炰緥
const service = axios.create({
// axios涓姹傞厤缃湁baseURL閫夐」锛岃〃绀鸿姹俇RL鍏叡閮ㄥ垎
baseURL: process.env.VUE_APP_BASE_API,
// 瓒呮椂
- timeout: 10000
-})
+ timeout: 10000,
+});
// request鎷︽埅鍣�
-service.interceptors.request.use(config => {
- // 鏄惁闇�瑕佽缃� token
- const isToken = (config.headers || {}).isToken === false
- // 鏄惁闇�瑕侀槻姝㈡暟鎹噸澶嶆彁浜�
- const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
- if (getToken() && !isToken) {
- config.headers['Authorization'] = 'Bearer ' + getToken() // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀�
- }
- // get璇锋眰鏄犲皠params鍙傛暟
- if (config.method === 'get' && config.params) {
- let url = config.url + '?' + tansParams(config.params);
- url = url.slice(0, -1);
- config.params = {};
- config.url = url;
- }
- if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
- const requestObj = {
- url: config.url,
- data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data,
- time: new Date().getTime()
+service.interceptors.request.use(
+ (config) => {
+ // 鏄惁闇�瑕佽缃� token
+ const isToken = (config.headers || {}).isToken === false;
+ // 鏄惁闇�瑕侀槻姝㈡暟鎹噸澶嶆彁浜�
+ const isRepeatSubmit = (config.headers || {}).repeatSubmit === false;
+ if (getToken() && !isToken) {
+ config.headers["Authorization"] = "Bearer " + getToken(); // 璁╂瘡涓姹傛惡甯﹁嚜瀹氫箟token 璇锋牴鎹疄闄呮儏鍐佃嚜琛屼慨鏀�
}
- const sessionObj = cache.session.getJSON('sessionObj')
- if (sessionObj === undefined || sessionObj === null || sessionObj === '') {
- cache.session.setJSON('sessionObj', requestObj)
- } else {
- const s_url = sessionObj.url; // 璇锋眰鍦板潃
- const s_data = sessionObj.data; // 璇锋眰鏁版嵁
- const s_time = sessionObj.time; // 璇锋眰鏃堕棿
- const interval = 1; // 闂撮殧鏃堕棿(ms)锛屽皬浜庢鏃堕棿瑙嗕负閲嶅鎻愪氦
- if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) {
- const message = '鏁版嵁姝e湪澶勭悊锛岃鍕块噸澶嶆彁浜�';
- console.warn(`[${s_url}]: ` + message)
- return Promise.reject(message)
- // return Promise.reject(new Error(message))
+ // get璇锋眰鏄犲皠params鍙傛暟
+ if (config.method === "get" && config.params) {
+ let url = config.url + "?" + tansParams(config.params);
+ url = url.slice(0, -1);
+ config.params = {};
+ config.url = url;
+ }
+ if (
+ !isRepeatSubmit &&
+ (config.method === "post" || config.method === "put")
+ ) {
+ const requestObj = {
+ url: config.url,
+ data:
+ typeof config.data === "object"
+ ? JSON.stringify(config.data)
+ : config.data,
+ time: new Date().getTime(),
+ };
+ const sessionObj = cache.session.getJSON("sessionObj");
+ if (
+ sessionObj === undefined ||
+ sessionObj === null ||
+ sessionObj === ""
+ ) {
+ cache.session.setJSON("sessionObj", requestObj);
} else {
- cache.session.setJSON('sessionObj', requestObj)
+ const s_url = sessionObj.url; // 璇锋眰鍦板潃
+ const s_data = sessionObj.data; // 璇锋眰鏁版嵁
+ const s_time = sessionObj.time; // 璇锋眰鏃堕棿
+ const interval = 1; // 闂撮殧鏃堕棿(ms)锛屽皬浜庢鏃堕棿瑙嗕负閲嶅鎻愪氦
+ if (
+ s_data === requestObj.data &&
+ requestObj.time - s_time < interval &&
+ s_url === requestObj.url
+ ) {
+ const message = "鏁版嵁姝e湪澶勭悊锛岃鍕块噸澶嶆彁浜�";
+ console.warn(`[${s_url}]: ` + message);
+ return Promise.reject(message);
+ // return Promise.reject(new Error(message))
+ } else {
+ cache.session.setJSON("sessionObj", requestObj);
+ }
}
}
+ return config;
+ },
+ (error) => {
+ console.log(error);
+ Promise.reject(error);
}
- return config
-}, error => {
- console.log(error)
- Promise.reject(error)
-})
+);
// 鍝嶅簲鎷︽埅鍣�
-service.interceptors.response.use(res => {
+service.interceptors.response.use(
+ (res) => {
// 鏈缃姸鎬佺爜鍒欓粯璁ゆ垚鍔熺姸鎬�
const code = res.data.code || 200;
// 鑾峰彇閿欒淇℃伅
- const msg = errorCode[code] || res.data.msg || errorCode['default']
+ const msg = errorCode[code] || res.data.msg || errorCode["default"];
// 浜岃繘鍒舵暟鎹垯鐩存帴杩斿洖
- if(res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer'){
- return res.data
+ if (
+ res.request.responseType === "blob" ||
+ res.request.responseType === "arraybuffer"
+ ) {
+ return res.data;
}
if (code === 401) {
if (!isRelogin.show) {
isRelogin.show = true;
- MessageBox.confirm('鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�', '绯荤粺鎻愮ず', { confirmButtonText: '閲嶆柊鐧诲綍', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => {
- isRelogin.show = false;
- store.dispatch('LogOut').then(() => {
- location.href = '/index';
+ MessageBox.confirm(
+ "鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�",
+ "绯荤粺鎻愮ず",
+ {
+ confirmButtonText: "閲嶆柊鐧诲綍",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ }
+ )
+ .then(() => {
+ isRelogin.show = false;
+ store.dispatch("LogOut").then(() => {
+ location.href = "/index";
+ });
})
- }).catch(() => {
- isRelogin.show = false;
- });
- }
- return Promise.reject('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�')
+ .catch(() => {
+ isRelogin.show = false;
+ });
+ }
+ return Promise.reject("鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�");
} else if (code === 500) {
- Message({ message: msg, type: 'error' })
- return Promise.reject(new Error(msg))
+ Message({ message: msg, type: "error" });
+ return Promise.reject(new Error(msg));
} else if (code === 601) {
- Message({ message: msg, type: 'warning' })
- return Promise.reject('error')
+ Message({ message: msg, type: "warning" });
+ return Promise.reject("error");
} else if (code !== 200) {
- Notification.error({ title: msg })
- return Promise.reject('error')
+ Notification.error({ title: msg });
+ return Promise.reject("error");
} else {
- return res.data
+ return res.data;
}
},
- error => {
- console.log('err' + error)
+ (error) => {
+ console.log("err" + error);
let { message } = error;
if (message == "Network Error") {
message = "鍚庣鎺ュ彛杩炴帴寮傚父";
@@ -112,36 +143,48 @@
} else if (message.includes("Request failed with status code")) {
message = "绯荤粺鎺ュ彛" + message.substr(message.length - 3) + "寮傚父";
}
- Message({ message: message, type: 'error', duration: 5 * 1000 })
- return Promise.reject(error)
+ Message({ message: message, type: "error", duration: 5 * 1000 });
+ return Promise.reject(error);
}
-)
+);
// 閫氱敤涓嬭浇鏂规硶
export function download(url, params, filename, config) {
- downloadLoadingInstance = Loading.service({ text: "姝e湪涓嬭浇鏁版嵁锛岃绋嶅��", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
- return service.post(url, params, {
- transformRequest: [(params) => { return tansParams(params) }],
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
- responseType: 'blob',
- ...config
- }).then(async (data) => {
- const isLogin = await blobValidate(data);
- if (isLogin) {
- const blob = new Blob([data])
- saveAs(blob, filename)
- } else {
- const resText = await data.text();
- const rspObj = JSON.parse(resText);
- const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
- Message.error(errMsg);
- }
- downloadLoadingInstance.close();
- }).catch((r) => {
- console.error(r)
- Message.error('涓嬭浇鏂囦欢鍑虹幇閿欒锛岃鑱旂郴绠$悊鍛橈紒')
- downloadLoadingInstance.close();
- })
+ downloadLoadingInstance = Loading.service({
+ text: "姝e湪涓嬭浇鏁版嵁锛岃绋嶅��",
+ spinner: "el-icon-loading",
+ background: "rgba(0, 0, 0, 0.7)",
+ });
+ return service
+ .post(url, params, {
+ transformRequest: [
+ (params) => {
+ return tansParams(params);
+ },
+ ],
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
+ responseType: "blob",
+ ...config,
+ })
+ .then(async (data) => {
+ const isLogin = await blobValidate(data);
+ if (isLogin) {
+ const blob = new Blob([data]);
+ saveAs(blob, filename);
+ } else {
+ const resText = await data.text();
+ const rspObj = JSON.parse(resText);
+ const errMsg =
+ errorCode[rspObj.code] || rspObj.msg || errorCode["default"];
+ Message.error(errMsg);
+ }
+ downloadLoadingInstance.close();
+ })
+ .catch((r) => {
+ console.error(r);
+ Message.error("涓嬭浇鏂囦欢鍑虹幇閿欒锛岃鑱旂郴绠$悊鍛橈紒");
+ downloadLoadingInstance.close();
+ });
}
-export default service
+export default service;
diff --git a/src/views/knowledge/education/index copy.vue b/src/views/knowledge/education/index copy.vue
new file mode 100644
index 0000000..0f04a9f
--- /dev/null
+++ b/src/views/knowledge/education/index copy.vue
@@ -0,0 +1,1239 @@
+<template>
+ <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 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 {
+ 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" },
+
+ //绫诲埆鍒楄〃
+ 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: {
+ /** 鏌ヨ瀹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");
+ });
+ },
+
+ // 鍙栨秷鎸夐挳
+ 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: {
+聽 聽 orient: 'vertical',
+聽 聽 left: 'left',
+聽 聽 data: ['涓�鍙�', '浜屽彿', '涓夊彿', '鍥涘彿', '浜斿彿']
+聽 },
+聽 xAxis: [
+聽 聽 {
+聽 聽 聽 type: 'category',
+聽 聽 聽 data: ['涓�鍙�', '浜屽彿', '涓夊彿', '鍥涘彿', '浜斿彿'],
+聽 聽 聽 axisLabel: {
+聽 聽 聽 聽 formatter: '{value}'
+聽 聽 聽 }
+聽 聽 }
+聽 ],
+聽 yAxis: [
+聽 聽 {
+聽 聽 聽 type: 'value'
+聽 聽 }
+聽 ],
+聽 series: [
+聽 聽 {
+聽 聽 聽 name: '鏌ョ湅娆℃暟',
+聽 聽 聽 type: 'bar',
+聽 聽 聽 data: [55, 45, 128, 43, 38],
+聽 聽 聽 label: {
+聽 聽 聽 聽 show: true,
+聽 聽 聽 聽 position: 'insideRight'
+聽 聽 聽 }
+聽 聽 },
+聽 聽 {
+聽 聽 聽 name: '鏌ョ湅娆℃暟姣旂巼',
+聽 聽 聽 type: 'pie',
+聽 聽 聽 radius: '30%',
+聽 聽 聽 center: ['75%', '50%'], // 璋冩暣浣嶇疆浠ラ伩鍏嶄笌鏌辩姸鍥鹃噸鍙�
+聽 聽 聽 data: [
+聽 聽 聽 聽 {value: 55, name: '涓�鍙�'},
+聽 聽 聽 聽 {value: 45, name: '浜屽彿'},
+聽 聽 聽 聽 {value: 128, name: '涓夊彿'},
+聽 聽 聽 聽 {value: 43, name: '鍥涘彿'},
+聽 聽 聽 聽 {value: 38, name: '浜斿彿'}
+聽 聽 聽 ],
+聽 聽 聽 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() {
+ this.statisticson=true;
+ this.$nextTick(function () {
+ this.getnodeCollect();
+ });
+ },
+
+ // 鍒嗙被鏍�-----------------------------------------
+ // 淇敼鍒嗙被寮规
+ 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>
diff --git a/src/views/knowledge/education/index.vue b/src/views/knowledge/education/index.vue
index 1c7494d..8b17e2c 100644
--- a/src/views/knowledge/education/index.vue
+++ b/src/views/knowledge/education/index.vue
@@ -161,6 +161,16 @@
>鍒犻櫎</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>
@@ -452,7 +462,20 @@
<!-- <span slot="footer" class="dialog-footer">
<el-button @click="previewGo">鍓嶅線妯℃澘璇︽儏淇敼</el-button>
<el-button type="primary" @click="previewFn">纭浣跨敤</el-button>
- </span> -->
+ </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>
@@ -471,6 +494,7 @@
getillnesslist,
illnesslistget,
getillness,
+ deltargetillness,
} from "@/api/AiCentre/index";
import { listDept } from "@/api/system/dept";
import { getToken } from "@/utils/auth";
@@ -499,6 +523,7 @@
total: 0,
nameeducation: "",
haoeducation: "",
+ statisticson: false,
indexid: null,
inputValue: "",
htmlRichText: "",
@@ -563,7 +588,9 @@
xjxsoptions: [],
deptList: [],
props: { multiple: true, value: "deptId", label: "deptName" },
-
+ Collarr: [],
+ Collarrname: [],
+ Collarrvalue: [],
//绫诲埆鍒楄〃
editableTabs: [],
// 鏌ヨ鍙傛暟
@@ -611,6 +638,113 @@
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() {
@@ -686,6 +820,29 @@
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
})
.catch(() => {});
+ },
+ // 鎵撳紑缁熻鍥捐〃
+ statistics() {
+ //鍙栨暟鎹�
+ let obj = { assortid: 13, isavailable: "", pageNum: 1, pageSize: 10 };
+ 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;
+ });
},
// 鍒嗙被鏍�-----------------------------------------
@@ -980,6 +1137,83 @@
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;
diff --git a/src/views/login.vue b/src/views/login.vue
index 272c39b..143db87 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -36,7 +36,8 @@
/>
</el-input>
</el-form-item>
- <el-form-item prop="guid">
+ <!-- 涓�===================姘� -->
+ <!-- <el-form-item prop="guid">
<el-select style="width: 100%;" v-model="loginForm.guid" placeholder="璇烽�夋嫨闄㈠尯">
<el-option
v-for="item in options"
@@ -47,7 +48,7 @@
</el-option>
<i slot="prefix" class="el-icon-mobile"></i>
</el-select>
- </el-form-item>
+ </el-form-item> -->
<!-- <el-form-item prop="code" v-if="captchaEnabled">
<el-input
v-model="loginForm.code"
@@ -115,10 +116,9 @@
guid:'',
},
options: [
- { value: "1", label: "涓尰澶т簩闄�" },
- { value: "2", label: "涓尰澶т笁闄�" },
- { value: "3", label: "涓尰澶у洓闄�" },
- { value: "4", label: "涓尰澶т簲闄�" },],
+ { value: "1", label: "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�" },
+ { value: "2", label: "涓芥按甯備腑鍖婚櫌" },
+ ],
loginRules: {
username: [
{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" },
@@ -126,7 +126,7 @@
password: [
{ required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" },
],
- guid: [{ required: true, trigger: "blur", message: "璇烽�夋嫨闄㈠尯" }],
+ // guid: [{ required: true, trigger: "blur", message: "璇烽�夋嫨闄㈠尯" }],
},
loading: false,
// 楠岃瘉鐮佸紑鍏�
diff --git a/src/views/outsideChain.vue b/src/views/outsideChain.vue
index fe4909e..4245057 100644
--- a/src/views/outsideChain.vue
+++ b/src/views/outsideChain.vue
@@ -77,7 +77,7 @@
<script>
import {
getExternalfollowup,
- SetsaveQuestionAnswer,
+ Submitaquestionnaire,
} from "@/api/AiCentre/index";
import JSEncrypt from "jsencrypt";
export default {
@@ -174,7 +174,7 @@
});
console.log(form, "form");
- SetsaveQuestionAnswer(form).then((res) => {
+ Submitaquestionnaire(form).then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("鎻愪氦鎴愬姛");
}
diff --git a/src/views/outsideChainxj.vue b/src/views/outsideChainxj.vue
index 367b0fa..41b35b4 100644
--- a/src/views/outsideChainxj.vue
+++ b/src/views/outsideChainxj.vue
@@ -52,7 +52,7 @@
<script>
import {
getExternalfollowup,
- SetsaveQuestionAnswer,
+ Submitaquestionnaire,
} from "@/api/AiCentre/index";
import { getToken } from "@/utils/auth";
import axios from "axios";
@@ -165,7 +165,7 @@
});
console.log(form, "form");
- SetsaveQuestionAnswer(form).then((res) => {
+ Submitaquestionnaire(form).then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("鎻愪氦鎴愬姛");
}
diff --git a/src/views/outsideChainxjnew.vue b/src/views/outsideChainxjnew.vue
index cf2e219..7a3e97b 100644
--- a/src/views/outsideChainxjnew.vue
+++ b/src/views/outsideChainxjnew.vue
@@ -52,7 +52,7 @@
<script>
import {
getExternalfollowup,
- SetsaveQuestionAnswer,
+ Submitaquestionnaire,
geturlinfo
} from "@/api/AiCentre/index";
import { getToken } from "@/utils/auth";
@@ -189,7 +189,7 @@
});
console.log(form, "form");
- SetsaveQuestionAnswer(form).then((res) => {
+ Submitaquestionnaire(form).then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("鎻愪氦鎴愬姛");
}
diff --git a/src/views/patient/patient/behospitalized.vue b/src/views/patient/patient/behospitalized.vue
index d29ae8a..8c6cfe7 100644
--- a/src/views/patient/patient/behospitalized.vue
+++ b/src/views/patient/patient/behospitalized.vue
@@ -74,7 +74,7 @@
</el-form>
<el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<el-button
type="primary"
plain
@@ -84,8 +84,8 @@
v-hasPermi="['system:user:add']"
>鏂板</el-button
>
- </el-col>
- <el-col :span="1.5">
+ </el-col> -->
+ <!-- <el-col :span="1.5">
<el-button
type="success"
plain
@@ -96,7 +96,7 @@
v-hasPermi="['system:user:edit']"
>淇敼</el-button
>
- </el-col>
+ </el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
diff --git a/src/views/patient/patient/hospital.vue b/src/views/patient/patient/hospital.vue
index 41fe57a..ebd51cc 100644
--- a/src/views/patient/patient/hospital.vue
+++ b/src/views/patient/patient/hospital.vue
@@ -77,7 +77,7 @@
</el-form>
<el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<el-button
type="primary"
plain
@@ -87,8 +87,8 @@
v-hasPermi="['system:user:add']"
>鏂板</el-button
>
- </el-col>
- <el-col :span="1.5">
+ </el-col> -->
+ <!-- <el-col :span="1.5">
<el-button
type="success"
plain
@@ -99,7 +99,7 @@
v-hasPermi="['system:user:edit']"
>淇敼</el-button
>
- </el-col>
+ </el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue
index 0083023..8f7b3ac 100644
--- a/src/views/patient/patient/outpatient.vue
+++ b/src/views/patient/patient/outpatient.vue
@@ -71,7 +71,7 @@
</el-form>
<el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
+ <!-- <el-col :span="1.5">
<el-button
type="primary"
plain
@@ -93,7 +93,7 @@
v-hasPermi="['system:user:edit']"
>淇敼</el-button
>
- </el-col>
+ </el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index b503205..a6254b2 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -1252,6 +1252,8 @@
value: "5",
label: "寰俊鍏紬鍙�",
},
+ { label: "寰俊灏忕▼搴�", value: 6 },
+
];
} else if (this.form.serviceType == 6) {
this.checkboxlist = [
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 8a7ee96..85af048 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -1861,6 +1861,7 @@
neWaddfn() {
this.id = null;
this.form.taskName = "";
+ this.form.sendState = null;
this.form.taskid = null;
this.overallCase = [];
this.form.patTaskRelevances = [];
diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index 88fb4c1..a03ace2 100644
--- a/src/views/repositoryai/templateku/configurat/index.vue
+++ b/src/views/repositoryai/templateku/configurat/index.vue
@@ -1626,6 +1626,7 @@
this.auxiliary();
this.getDeptTree();
this.mode = store.getters.mode;
+ console.log(this.mode,'this.mode');
this.usable = store.getters.usable;
this.required = store.getters.required;
this.valuetype = store.getters.valuetype;
@@ -1702,8 +1703,9 @@
console.log(2211);
this.ruleForm = res.data;
if (this.ruleForm.deptNames)
- // this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
+ console.log(this.ruleForm.suitway,'suitway');
this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+ console.log(this.ruleForm.suitway,'suitway');
if (this.ruleForm.campus)
this.ruleForm.campus = this.ruleForm.campus.split(",");
this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(",");
diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index b07102b..61aac4b 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -292,7 +292,7 @@
prop="tagdescription"
>
</el-table-column> -->
- <el-table-column
+ <!-- <el-table-column
label="鐭俊鍙戦�佹鏁�"
align="center"
width="120"
@@ -315,7 +315,7 @@
key="dxsfwcl"
prop="dxsfwcl"
>
- </el-table-column>
+ </el-table-column> -->
<!-- <el-table-column
label="浜哄伐闅忚娆℃暟"
align="center"
--
Gitblit v1.9.3