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