WXL (wul)
5 小时以前 ae8535b861f9177508d9e5493e0fe9e47978c915
测试完成
已重命名1个文件
已修改46个文件
已添加35个文件
已复制2个文件
85945 ■■■■■ 文件已修改
dist-external/demotel.html 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/demotel.html.gz 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/favicon.ico 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/favicon1.ico 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/html/ie.html 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/html/ie.html.gz 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/index.html 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/index.html.gz 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/jssip-3.10.0.js 28403 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/jssip-3.10.0.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/robots.txt 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/fonts/element-icons.535877f5.woff 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/fonts/element-icons.732389de.ttf 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/401.089007e7.gif 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/404.a57b6f31.png 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/404_cloud.0f4bc32b.png 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/Hrs.9840740d.png 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/bg22.66b715b7.png 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/bg33.606b0d8c.png 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/chainbackground.d198be55.jpg 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/chainbackground1.2cb548f9.jpg 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/dark.412ca67e.svg 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/light.4183aad0.svg 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/login-background.296ee91e.jpg 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/logoxh.1a33e466.png 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/profile.9337517f.jpg 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/img/shoushuzhudaoyisheng.9337517f.png 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/js/0.js 33449 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/js/0.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/js/app.js 7461 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/js/app.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/js/chunk-vendors.js 15278 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/static/js/chunk-vendors.js.gz 补丁 | 查看 | 原始文档 | blame | 历史
dist.zip 补丁 | 查看 | 原始文档 | blame | 历史
src/views/SatisfactionRelay.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/complaint/complaintlist/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/OutpatientAgain/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/SpecificDisease/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/Tracking/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/again/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/beHospitalized/followUp.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/complaint/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/discharge/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/discharge/index.vue.bak 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/discharge/outpatientService.vue 93 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/linem/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/mzsatisfaction/index.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/operation/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/outpatient/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/record/detailpage/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/record/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/tasklist/FollowupDetails/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/technology/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/zbAgain/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/zysatisfaction/index.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/education/index copy.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/knowledge/education/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login-zs.vue 368 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/loginExternal.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/medtechnician/Compositeeditdetails.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/AwaitingAdmission.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/hospital.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/operation.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/outpatient.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/patient/physical.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/physical/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/propaganda/Missionotice.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/questionnaire/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/shadow/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/patient/subsequent/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/general/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/intention/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/matching/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/templateku/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/repositoryai/verbaltrick/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sfstatistics/statement/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/shortmessage/healthinformation/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/shortmessage/messagebank/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/shortmessage/taglibrary/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/label/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
随访外链.zip 补丁 | 查看 | 原始文档 | blame | 历史
随访通用8.26.zip 补丁 | 查看 | 原始文档 | blame | 历史
dist-external/demotel.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,203 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>SIP电话Demo</title>
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="-1">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="cache-control" content="no-store">
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <script language="javascript" type="text/javascript" src="./jssip-3.10.0.js"></script>
</head>
<body style="background-color:darkgray;">
    <table border="1" cellspacing="0" bordercolor="gray" style="width:auto;">
        <tr>
            <td style="text-align:center;width:120px;">
                <span> æœåŠ¡å™¨åœ°å€:</span>
            </td>
            <td style="text-align: center; width: 250px;">
                <input id="tbServer" type="text" style="width:200px;text-align:left;" value="192.168.1.96" />
            </td>
        </tr>
        <tr>
            <td style="text-align:center;width:120px;">
                <span> åˆ†æœºå·:</span>
            </td>
            <td style="text-align: center; width: 250px;">
                <input id="tbExtension" type="text" style="width:200px;text-align:left;" value="8005" />
            </td>
        </tr>
        <tr>
            <td style="text-align:center;width:120px;">
                <span> å¯†ç :</span>
            </td>
            <td style="text-align: center; width: 250px;">
                <input id="tbPassword" type="text" style="width:200px;text-align:left;" value="8005" />
            </td>
        </tr>
        <tr>
            <td style="text-align:center;width:120px;" colspan="2">
                <button onclick="f_register()">注册</button>
            </td>
        </tr>
        <tr>
            <td style="text-align:center;width:120px;">
                <span> å‘¼å«å·ç :</span>
            </td>
            <td style="text-align: center; width: 250px;">
                <input id="tbPhoneNo" type="text" style="width:200px;text-align:left;" value="013958077789" />
            </td>
        </tr>
        <tr>
            <td style="text-align:center;width:120px;" colspan="2">
                <button onclick="f_makecall()">软外拨</button>
                <button onclick="f_hangup()">挂断</button>
            </td>
        </tr>
    </table>
    <script type="text/javascript">
        var cur_session = undefined;
        var ua = null;
        String.prototype.Right = function (i) {
            return this.slice(this.length - i, this.length);
        };
        Date.prototype.Format = function (fmt) { //author: meizz
            var o = {
                "M+": this.getMonth() + 1, //月份
                "d+": this.getDate(), //日
                "h+": this.getHours(), //小时
                "m+": this.getMinutes(), //分
                "s+": this.getSeconds(), //秒
                "q+": Math.floor((this.getMonth() + 3) / 3), //季度
                "S": ('00' + this.getMilliseconds()).Right(3)    //毫秒
            };
            if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
            for (var k in o)
                if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            return fmt;
        };
        function logger_info(message, ...optionalParams) {
            console.log("[" + new Date().Format("yyyy-MM-dd hh:mm:ss.S") + "]" + message, optionalParams);
        }
        function f_register() {
            var server = document.getElementById('tbServer').value;
            var username = document.getElementById('tbExtension').value;
            var passwd = document.getElementById('tbPassword').value;
            var uristr = 'sip:' + username;
            if (uristr.indexOf('@') < 1)
                uristr = uristr + '@' + server;
            //
            logger_info(`开始注册到服务器:${server},分机号:${username}...`);
            var socket = new JsSIP.WebSocketInterface('wss://' + server +':7443');
            var configuration = {
                sockets: [socket],
                uri: uristr,
                password: passwd,
                display_name: username,
                iceServers: [
                    { urls: '' }
                ]
            };
            ua = new JsSIP.UA(configuration);
            ua.on('registered', function (e) { logger_info("注册成功。", e); });
            ua.on('unregistered', function (e) { logger_info('取消注册。', e); });
            ua.on('registrationFailed', function (e) { logger_info('注册失败的。', e); });
            ua.on('newRTCSession', function (e) {
                logger_info('newRTCSession', e);
                //
                cur_session = e.session;
                cur_session.on("accepted", function (e) { logger_info("呼叫已接通。", e); });
                cur_session.on("ended", function (e) { logger_info("呼叫结束。", e); });
                cur_session.oniceconnectionstatechange = function () {
                    if (cur_session.connection.iceConnectionState === 'completed') {
                        // èŽ·å–æœ¬åœ°SDP
                        const localSdp = cur_session.connection.localDescription;
                        // ä¿®æ”¹SDP(这里以修改音频编解码器优先级为例)
                        const sdp = localSdp.sdp;
                        const modifiedSdp = sdp.replace(/m=audio (\d+) RTP\/AVP (\d+) (.*)/g, (match, port, payloadTypes, formats) => {
                            // å‡è®¾æˆ‘们想将PCMU编解码器的优先级提高
                            const preferredPayloadType = '0'; // PCMU的payload type
                            const preferredFormat = formats.split(' ').find(format => format.startsWith(preferredPayloadType));
                            if (preferredFormat) {
                                const newFormats = formats.split(' ').filter(format => format !== preferredFormat).concat(preferredFormat);
                                return `m=audio ${port} RTP/AVP ${newFormats.join(' ')}`;
                            }
                            return match;
                        });
                        // åˆ›å»ºæ–°çš„RTCSessionDescription对象
                        const newDescription = new RTCSessionDescription({
                            type: localSdp.type,
                            sdp: modifiedSdp
                        });
                        // è®¾ç½®ä¿®æ”¹åŽçš„SDP
                        cur_session.connection.setLocalDescription(newDescription).catch(error => {
                            logger_info('Failed to set local description:', error);
                        });
                    }
                }
                //
                if (e.originator == "remote")
                    e.session.answer();
            });
            ua.start();
        }
        function f_hangup() {
            if (cur_session != undefined) {
                cur_session.terminate();
                cur_session = undefined;
            }
        }
        function f_makecall() {
            if (ua == undefined)
                return;
            //
            var eventHandlers = {
                'progress': function (e) {
                    logger_info('call is in progress', e);
                },
                'failed': function (e) {
                    logger_info('call failed with cause: ', e);
                },
                'ended': function (e) {
                    logger_info('呼叫结束,挂机原因: ', e);
                },
                'confirmed': function (e) {
                    logger_info('call confirmed', e);
                }
            };
            var options = {
                'eventHandlers': eventHandlers,
                'mediaConstraints': { 'audio': true, 'video': false },
                sessionTimersExpires: 1800
            };
            var server = document.getElementById('tbServer').value;
            var phone = document.getElementById('tbPhoneNo').value;
            logger_info("开始呼叫号码:", phone);
            cur_session = ua.call('sip:' + phone + '@' + server, options);
        }
    </script>
</body>
</html>
dist-external/demotel.html.gz
Binary files differ
dist-external/favicon.ico
dist-external/favicon1.ico
dist-external/html/ie.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8" />
    <title>请升级您的浏览器</title>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" >
    <meta name="renderer" content="webkit">
    <base target="_blank" />
    <style type="text/css">
        html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}
        a{text-decoration:none;color:#0072c6;}a:hover{text-decoration:none;color:#004d8c;}
        body{width:960px;margin:0 auto;padding:10px;font-size:14px;line-height:24px;color:#454545;font-family:'Microsoft YaHei UI','Microsoft YaHei',DengXian,SimSun,'Segoe UI',Tahoma,Helvetica,sans-serif;overflow-y:scroll}
        h1{font-size:40px;line-height:80px;font-weight:100;margin-bottom:10px;}
        h2{font-size:20px;line-height:25px;font-weight:100;margin:10px 0;}
        em{color:red}
        p{margin-bottom:10px;}
        hr{margin:20px 0;border:0;border-top:1px solid #dadada}
        span{display:block;font-size:12px;line-height:12px;}
        .clean{clear:both;}
        .browser{padding:10px 10px;}
        .browser li{width:auto;padding:0 80px;margin-top:30px;height:34px;line-height:22px;float:left;list-style:none;background:url(data:image/png;base64,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) no-repeat;padding-left:40px}
        .browser .browser-firefox{background-position:0 -34px}
        .browser .browser-ie{background-position:0 -68px;margin-left:0px}
        .browser .browser-360{background-position:0 -170px;margin-left: -27px}
    </style>
</head>
<body style="margin-top:50px">
<h1>请升级您的浏览器,以便我们更好的为您提供服务!</h1>
<p>您正在使用 Internet Explorer çš„æ—©æœŸç‰ˆæœ¬ï¼ˆIE11以下版本或使用该内核的浏览器)。这意味着在升级浏览器前,您将无法访问此网站。</p>
<hr>
<h2>请注意:微软公司对Windows XP åŠ Internet Explorer æ—©æœŸç‰ˆæœ¬çš„æ”¯æŒå·²ç»ç»“束</h2>
<p>自 2016 å¹´ 1 æœˆ 12 æ—¥èµ·ï¼ŒMicrosoft ä¸å†ä¸º IE 11 ä»¥ä¸‹ç‰ˆæœ¬æä¾›ç›¸åº”支持和更新。没有关键的浏览器安全更新,您的电脑可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。请参阅 <a href="https://www.microsoft.com/zh-cn/WindowsForBusiness/End-of-IE-support">微软对 Internet Explorer æ—©æœŸç‰ˆæœ¬çš„æ”¯æŒå°†äºŽ 2016 å¹´ 1 æœˆ 12 æ—¥ç»“束的说明</a> ã€‚</p>
<hr>
<h2>您可以选择更先进的浏览器</h2>
<p>推荐使用以下浏览器的最新版本。如果您的电脑已有以下浏览器的最新版本则直接使用该浏览器访问即可。</p>
<ul class="browser">
    <li class="browser-chrome"><a href="https://www.google.cn/chrome/browser/desktop/index.html?hl=zh-CN&standalone=1"> è°·æ­Œæµè§ˆå™¨<span>Google Chrome</span></a></li>
    <li class="browser-firefox"><a href="https://www.mozilla.org/zh-CN/firefox/new/"> ç«ç‹æµè§ˆå™¨<span>Mozilla Firefox</span></a></li>
    <li class="browser-ie"><a href="https://windows.microsoft.com/zh-cn/internet-explorer/download-ie"> IE 11 æµè§ˆå™¨<span>Internet Explorer</span></a></li>
    <li class="browser-360"><a href="http://se.360.cn/"> 360安全浏览器<span>360 Chrome</span></a></li>
    <div class="clean"></div>
</ul>
<hr>
</body>
</html>
dist-external/html/ie.html.gz
Binary files differ
dist-external/index.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="renderer" content="webkit">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <link rel="icon" href="/favicon.ico">
    <title>智慧随访平台</title>
    <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
      <style>
    html,
    body,
    #app {
      height: 100%;
      margin: 0px;
      padding: 0px;
    }
    .chromeframe {
      margin: 0.2em 0;
      background: #ccc;
      color: #000;
      padding: 0.2em 0;
    }
    #loader-wrapper {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 999999;
    }
    #loader {
      display: block;
      position: relative;
      left: 50%;
      top: 50%;
      width: 150px;
      height: 150px;
      margin: -75px 0 0 -75px;
      border-radius: 50%;
      border: 3px solid transparent;
      border-top-color: #FFF;
      -webkit-animation: spin 2s linear infinite;
      -ms-animation: spin 2s linear infinite;
      -moz-animation: spin 2s linear infinite;
      -o-animation: spin 2s linear infinite;
      animation: spin 2s linear infinite;
      z-index: 1001;
    }
    #loader:before {
      content: "";
      position: absolute;
      top: 5px;
      left: 5px;
      right: 5px;
      bottom: 5px;
      border-radius: 50%;
      border: 3px solid transparent;
      border-top-color: #FFF;
      -webkit-animation: spin 3s linear infinite;
      -moz-animation: spin 3s linear infinite;
      -o-animation: spin 3s linear infinite;
      -ms-animation: spin 3s linear infinite;
      animation: spin 3s linear infinite;
    }
    #loader:after {
      content: "";
      position: absolute;
      top: 15px;
      left: 15px;
      right: 15px;
      bottom: 15px;
      border-radius: 50%;
      border: 3px solid transparent;
      border-top-color: #FFF;
      -moz-animation: spin 1.5s linear infinite;
      -o-animation: spin 1.5s linear infinite;
      -ms-animation: spin 1.5s linear infinite;
      -webkit-animation: spin 1.5s linear infinite;
      animation: spin 1.5s linear infinite;
    }
    @-webkit-keyframes spin {
      0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
      }
      100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    }
    @keyframes spin {
      0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
      }
      100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    }
    #loader-wrapper .loader-section {
      position: fixed;
      top: 0;
      width: 51%;
      height: 100%;
      background: #7171C6;
      z-index: 1000;
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
    }
    #loader-wrapper .loader-section.section-left {
      left: 0;
    }
    #loader-wrapper .loader-section.section-right {
      right: 0;
    }
    .loaded #loader-wrapper .loader-section.section-left {
      -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      transform: translateX(-100%);
      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    }
    .loaded #loader-wrapper .loader-section.section-right {
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%);
      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    }
    .loaded #loader {
      opacity: 0;
      -webkit-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out;
    }
    .loaded #loader-wrapper {
      visibility: hidden;
      -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
      transform: translateY(-100%);
      -webkit-transition: all 0.3s 1s ease-out;
      transition: all 0.3s 1s ease-out;
    }
    .no-js #loader-wrapper {
      display: none;
    }
    .no-js h1 {
      color: #222222;
    }
    #loader-wrapper .load_title {
      font-family: 'Open Sans';
      color: #FFF;
      font-size: 19px;
      width: 100%;
      text-align: center;
      z-index: 9999999999999;
      position: absolute;
      top: 60%;
      opacity: 1;
      line-height: 30px;
    }
    #loader-wrapper .load_title span {
      font-weight: normal;
      font-style: italic;
      font-size: 13px;
      color: #FFF;
      opacity: 0.5;
    }
  </style>
  </head>
  <body>
    <div id="app">
        <div id="loader-wrapper">
            <div id="loader"></div>
            <div class="loader-section section-left"></div>
            <div class="loader-section section-right"></div>
            <div class="load_title">正在加载系统资源,请耐心等待...</div>
        </div>
    </div>
  <script type="text/javascript" src="/static/js/chunk-vendors.js"></script><script type="text/javascript" src="/static/js/app.js"></script></body>
</html>
dist-external/index.html.gz
Binary files differ
dist-external/jssip-3.10.0.js
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
dist-external/jssip-3.10.0.js.gz
Binary files differ
dist-external/robots.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,2 @@
User-agent: *
Disallow: /
dist-external/static/fonts/element-icons.535877f5.woff
Binary files differ
dist-external/static/fonts/element-icons.732389de.ttf
Binary files differ
dist-external/static/img/401.089007e7.gif
dist-external/static/img/404.a57b6f31.png
dist-external/static/img/404_cloud.0f4bc32b.png
dist-external/static/img/Hrs.9840740d.png
dist-external/static/img/bg22.66b715b7.png
dist-external/static/img/bg33.606b0d8c.png
dist-external/static/img/chainbackground.d198be55.jpg
dist-external/static/img/chainbackground1.2cb548f9.jpg
dist-external/static/img/dark.412ca67e.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="52px" height="45px" viewBox="0 0 52 45" version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs>
        <filter x="-9.4%" y="-6.2%" width="118.8%" height="122.5%" filterUnits="objectBoundingBox" id="filter-1">
            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.15 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
            <feMerge>
                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
                <feMergeNode in="SourceGraphic"></feMergeNode>
            </feMerge>
        </filter>
        <rect id="path-2" x="0" y="0" width="48" height="40" rx="4"></rect>
        <filter x="-4.2%" y="-2.5%" width="108.3%" height="110.0%" filterUnits="objectBoundingBox" id="filter-4">
            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
        </filter>
    </defs>
    <g id="配置面板" width="48" height="40" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <g id="setting-copy-2" width="48" height="40" transform="translate(-1190.000000, -136.000000)">
            <g id="Group-8" width="48" height="40" transform="translate(1167.000000, 0.000000)">
                <g id="Group-5-Copy-5" filter="url(#filter-1)" transform="translate(25.000000, 137.000000)">
                    <mask id="mask-3" fill="white">
                        <use xlink:href="#path-2"></use>
                    </mask>
                    <g id="Rectangle-18">
                        <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
                        <use fill="#F0F2F5" fill-rule="evenodd" xlink:href="#path-2"></use>
                    </g>
                    <rect id="Rectangle-11" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="48" height="10"></rect>
                    <rect id="Rectangle-18" fill="#303648" mask="url(#mask-3)" x="0" y="0" width="16" height="40"></rect>
                </g>
            </g>
        </g>
    </g>
</svg>
dist-external/static/img/light.4183aad0.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="52px" height="45px" viewBox="0 0 52 45" version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">
    <defs>
        <filter x="-9.4%" y="-6.2%" width="118.8%" height="122.5%" filterUnits="objectBoundingBox" id="filter-1">
            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.15 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
            <feMerge>
                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
                <feMergeNode in="SourceGraphic"></feMergeNode>
            </feMerge>
        </filter>
        <rect id="path-2" x="0" y="0" width="48" height="40" rx="4"></rect>
        <filter x="-4.2%" y="-2.5%" width="108.3%" height="110.0%" filterUnits="objectBoundingBox" id="filter-4">
            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
        </filter>
    </defs>
    <g id="配置面板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <g id="setting-copy-2" transform="translate(-1254.000000, -136.000000)">
            <g id="Group-8" transform="translate(1167.000000, 0.000000)">
                <g id="Group-5" filter="url(#filter-1)" transform="translate(89.000000, 137.000000)">
                    <mask id="mask-3" fill="white">
                        <use xlink:href="#path-2"></use>
                    </mask>
                    <g id="Rectangle-18">
                        <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
                        <use fill="#F0F2F5" fill-rule="evenodd" xlink:href="#path-2"></use>
                    </g>
                    <rect id="Rectangle-18" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="16" height="40"></rect>
                    <rect id="Rectangle-11" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="48" height="10"></rect>
                </g>
            </g>
        </g>
    </g>
</svg>
dist-external/static/img/login-background.296ee91e.jpg
dist-external/static/img/logoxh.1a33e466.png
dist-external/static/img/profile.9337517f.jpg
dist-external/static/img/shoushuzhudaoyisheng.9337517f.png
dist-external/static/js/0.js
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
dist-external/static/js/0.js.gz
Binary files differ
dist-external/static/js/app.js
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
dist-external/static/js/app.js.gz
Binary files differ
dist-external/static/js/chunk-vendors.js
¶Ô±ÈÐÂÎļþ
ÎļþÌ«´ó
dist-external/static/js/chunk-vendors.js.gz
Binary files differ
dist.zip
copy from "\351\232\217\350\256\277\351\200\232\347\224\250.zip" copy to dist.zip Binary files differ
src/views/SatisfactionRelay.vue
@@ -40,7 +40,6 @@
        leaveldeptcodes: leaveldeptcodes
      };
      scanGenerateSubtask(params).then(res => {
        return
        if (res.code == 200 ) {
          console.log(res.msg);
          window.location.href = res.msg;
src/views/complaint/complaintlist/index.vue
@@ -94,7 +94,7 @@
              size="medium"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col>
@@ -239,7 +239,7 @@
                type="text"
                icon="el-icon-edit"
                @click="Referencequestion(scope.row)"
                v-hasPermi="['system:user:edit']"
                >预览</el-button
              >
              <el-button
@@ -247,7 +247,7 @@
                type="text"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['system:user:edit']"
                >修改</el-button
              >
            </template>
src/views/followvisit/OutpatientAgain/index.vue
@@ -559,7 +559,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
@@ -1014,8 +1014,7 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 æœåŠ¡æ—¶é—´(正序)    1 æœåŠ¡æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期(正序)
        serviceType: 3,
        searchscope: 3,
@@ -1435,8 +1434,7 @@
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: 2, //0 æœåŠ¡æ—¶é—´(正序)    1 æœåŠ¡æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)
        serviceType: 3,
        searchscope: 3,
src/views/followvisit/SpecificDisease/index.vue
@@ -513,7 +513,7 @@
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i>再次随访</span
                ></el-button
@@ -530,7 +530,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
src/views/followvisit/Tracking/index.vue
@@ -554,7 +554,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
@@ -1007,8 +1007,7 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 å»¶ç»­æŠ¤ç†æ—¶é—´(正序)    1 å»¶ç»­æŠ¤ç†æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期(正序)
        serviceType: 3,
        searchscope: 3,
@@ -1428,8 +1427,7 @@
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: 2, //0 å»¶ç»­æŠ¤ç†æ—¶é—´(正序)    1 å»¶ç»­æŠ¤ç†æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)
        serviceType: 3,
        searchscope: 3,
src/views/followvisit/again/index.vue
@@ -562,7 +562,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
src/views/followvisit/beHospitalized/followUp.vue
@@ -737,7 +737,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
@@ -1418,8 +1418,7 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期(正序)
        serviceType: 18,
        searchscope: 3,
@@ -1916,8 +1915,7 @@
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)
        serviceType: 18,
        searchscope: 3,
src/views/followvisit/complaint/index.vue
@@ -557,7 +557,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
src/views/followvisit/discharge/index.vue
@@ -642,7 +642,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
src/views/followvisit/discharge/index.vue.bak
@@ -708,7 +708,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
src/views/followvisit/discharge/outpatientService.vue
@@ -1,6 +1,6 @@
<template>
  <div class="app-container">
     <statistics-cards
    <statistics-cards
      :cardlist="cardlist"
      :ycvalue="ycvalue"
      :jgvalue="jgvalue"
@@ -131,7 +131,7 @@
        <el-col :span="1.5">
          <el-button
            type="primary"
                        icon="el-icon-plus"
            icon="el-icon-plus"
            size="medium"
            @click="handleAdd"
            >新增</el-button
@@ -232,11 +232,11 @@
              type="text"
              @click="
                gettoken360(
                    scope.row.sfzh,
                    scope.row.drcode,
                    scope.row.drname,
                    scope.row.patid
                  )
                  scope.row.sfzh,
                  scope.row.drcode,
                  scope.row.drname,
                  scope.row.patid
                )
              "
              ><span class="button-textsc">{{
                scope.row.sendname
@@ -252,7 +252,7 @@
          width="120"
        >
          <template slot-scope="scope">
             <el-tooltip
            <el-tooltip
              class="item"
              effect="dark"
              :content="scope.row.remark"
@@ -291,7 +291,6 @@
          prop="suggest"
          width="120"
        >
          <template slot-scope="scope">
            <dict-tag
              :options="dict.type.sys_suggest"
@@ -426,7 +425,7 @@
          prop="templatename"
          width="200"
        />
         <el-table-column
        <el-table-column
          label="任务状态"
          align="center"
          key="sendstate"
@@ -557,7 +556,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
@@ -628,22 +627,22 @@
          </el-col>
        </el-row>
       <el-row>
  <el-col :span="24">
    <el-form-item label="过滤原因">
      <el-input
        v-model="form.notrequiredreason"
        type="textarea"
        placeholder="请输入过滤原因"
      ></el-input>
      <!-- æé†’文字 -->
      <div class="filter-warning">
        <i class="el-icon-warning-outline"></i>
        è¯¥åŠŸèƒ½é€‚ç”¨äºŽæ­»äº¡ã€åˆ—å…¥åŒ»é™¢é»‘åå•ã€æ˜Žç¡®æ‹’ç»éšè®¿ç­‰æ‚£è€…çš„è¿‡æ»¤æŽ’é™¤ï¼Œè¿‡æ»¤åŽè¯¥æ‚£è€…æ‰€æœ‰è¿›è¡Œä¸­ä»»åŠ¡å…¨éƒ¨åœæ­¢ä¸”æ— æ³•åŒ¹é…æ–°çš„éšè®¿ä»»åŠ¡ï¼Œè¯·è°¨æ…Žæ“ä½œï¼
      </div>
    </el-form-item>
  </el-col>
</el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="过滤原因">
              <el-input
                v-model="form.notrequiredreason"
                type="textarea"
                placeholder="请输入过滤原因"
              ></el-input>
              <!-- æé†’文字 -->
              <div class="filter-warning">
                <i class="el-icon-warning-outline"></i>
                è¯¥åŠŸèƒ½é€‚ç”¨äºŽæ­»äº¡ã€åˆ—å…¥åŒ»é™¢é»‘åå•ã€æ˜Žç¡®æ‹’ç»éšè®¿ç­‰æ‚£è€…çš„è¿‡æ»¤æŽ’é™¤ï¼Œè¿‡æ»¤åŽè¯¥æ‚£è€…æ‰€æœ‰è¿›è¡Œä¸­ä»»åŠ¡å…¨éƒ¨åœæ­¢ä¸”æ— æ³•åŒ¹é…æ–°çš„éšè®¿ä»»åŠ¡ï¼Œè¯·è°¨æ…Žæ“ä½œï¼
              </div>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
@@ -813,7 +812,7 @@
  buidegetTasklist,
  addserviceSubtask,
  query360PatInfo,
  query360PatInfonh
  query360PatInfonh,
} from "@/api/AiCentre/index";
import { alterpatient, particularpatient } from "@/api/patient/homepage";
import Treeselect from "@riophae/vue-treeselect";
@@ -825,7 +824,7 @@
export default {
  name: "Discharge",
  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
  components: { Treeselect,StatisticsCards },
  components: { Treeselect, StatisticsCards },
  data() {
    return {
      // é®ç½©å±‚
@@ -990,7 +989,7 @@
          value: 3,
          label: "发送时间(倒序)",
        },
         {
        {
          value: 7,
          label: "应随访日期(正序)",
        },
@@ -1003,10 +1002,17 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        sendstateView: 1,
        sendstate: null,
        sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期(正序)
        sort:
          localStorage.getItem("orgname") == "丽水市中医院"
            ? 8
            : localStorage.getItem("orgname") == "景宁畲族自治县人民医院"
            ? 2
            : 1, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期
        serviceType: 3,
        searchscope: 3,visitCount: 1,
        searchscope: 3,
        visitCount: 1,
        scopetype: [],
        leaveldeptcodes: [],
        leavehospitaldistrictcodes: [],
@@ -1014,7 +1020,7 @@
      propss: { multiple: true },
      options: [],
     topicoptions: [
      topicoptions: [
        {
          value: null,
          label: "全部",
@@ -1208,8 +1214,7 @@
      });
    },
    affiliation() {
      this.topqueryParams.managementDoctorCode= store.getters.hisUserId;
      this.topqueryParams.managementDoctorCode = store.getters.hisUserId;
      this.getList(1);
    },
@@ -1408,8 +1413,7 @@
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)
        serviceType: 3,
        searchscope: 3,
@@ -1591,9 +1595,9 @@
    Seedetails(row) {
      let type = "";
      console.log(row, "rwo");
        if (row.type == 1) {
          type = 1;
        }
      if (row.type == 1) {
        type = 1;
      }
      this.$router.push({
        path: "/followvisit/record/detailpage/",
        query: {
@@ -1624,8 +1628,7 @@
            '"的数据项?'
        )
        .then(() => {
      getTaskservelist({
          getTaskservelist({
            patid: row.patid,
            taskid: row.taskid,
          }).then((res) => {
@@ -1819,11 +1822,11 @@
  }
}
::v-deep.leftvlue .el-card__body {
  background: #F2F8FF;
  color: #324A9B;
  background: #f2f8ff;
  color: #324a9b;
}
::v-deep.leftvlue .el-card__body:hover {
  background: #3664D9;
  background: #3664d9;
  color: #fff;
  cursor: pointer; /* é¼ æ ‡æ‚¬æµ®æ—¶å˜ä¸ºæ‰‹å½¢ */
}
src/views/followvisit/linem/index.vue
@@ -125,7 +125,7 @@
              size="medium"
              type="text"
              @click="handleUpdate(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-zx"
                ><i class="el-icon-s-promotion"></i>开始执行</span
              ></el-button
@@ -143,7 +143,7 @@
              size="medium"
              type="text"
              @click="handleUpdate(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-xq"
                ><i class="el-icon-s-data"></i>详情</span
              ></el-button
@@ -152,7 +152,7 @@
              size="medium"
              type="text"
              @click="handleUpdate(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-bb"
                ><i class="el-icon-s-order"></i>报表</span
              ></el-button
@@ -161,7 +161,7 @@
              size="medium"
              type="text"
              @click="handleUpdate(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-sc"
                ><i class="el-icon-delete"></i>删除</span
              ></el-button
src/views/followvisit/mzsatisfaction/index.vue
@@ -1,6 +1,6 @@
<template>
  <div class="app-container">
     <statistics-cards
    <statistics-cards
      :cardlist="cardlist"
      :ycvalue="ycvalue"
      :jgvalue="jgvalue"
@@ -92,7 +92,7 @@
            </el-option>
          </el-select>
        </el-form-item> -->
         <el-form-item label="随访状态" prop="status">
        <el-form-item label="随访状态" prop="status">
          <el-cascader
            v-model="serviceStatusValue"
            placeholder="请选择"
@@ -260,7 +260,7 @@
            >
          </template>
        </el-table-column>
      <el-table-column
        <el-table-column
          label="随访状态"
          align="center"
          key="sendstateView"
@@ -268,7 +268,7 @@
          width="120"
        >
          <template slot-scope="scope">
             <el-tooltip
            <el-tooltip
              class="item"
              effect="dark"
              :content="scope.row.remark"
@@ -438,7 +438,7 @@
          width="200"
        />
         <el-table-column
        <el-table-column
          label="任务状态"
          align="center"
          key="sendstate"
@@ -792,22 +792,22 @@
            </el-form-item>
          </el-col>
        </el-row>
       <el-row>
  <el-col :span="24">
    <el-form-item label="过滤原因">
      <el-input
        v-model="form.notrequiredreason"
        type="textarea"
        placeholder="请输入过滤原因"
      ></el-input>
      <!-- æé†’文字 -->
      <div class="filter-warning">
        <i class="el-icon-warning-outline"></i>
        è¯¥åŠŸèƒ½é€‚ç”¨äºŽæ­»äº¡ã€åˆ—å…¥åŒ»é™¢é»‘åå•ã€æ˜Žç¡®æ‹’ç»éšè®¿ç­‰æ‚£è€…çš„è¿‡æ»¤æŽ’é™¤ï¼Œè¿‡æ»¤åŽè¯¥æ‚£è€…æ‰€æœ‰è¿›è¡Œä¸­ä»»åŠ¡å…¨éƒ¨åœæ­¢ä¸”æ— æ³•åŒ¹é…æ–°çš„éšè®¿ä»»åŠ¡ï¼Œè¯·è°¨æ…Žæ“ä½œï¼
      </div>
    </el-form-item>
  </el-col>
</el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="过滤原因">
              <el-input
                v-model="form.notrequiredreason"
                type="textarea"
                placeholder="请输入过滤原因"
              ></el-input>
              <!-- æé†’文字 -->
              <div class="filter-warning">
                <i class="el-icon-warning-outline"></i>
                è¯¥åŠŸèƒ½é€‚ç”¨äºŽæ­»äº¡ã€åˆ—å…¥åŒ»é™¢é»‘åå•ã€æ˜Žç¡®æ‹’ç»éšè®¿ç­‰æ‚£è€…çš„è¿‡æ»¤æŽ’é™¤ï¼Œè¿‡æ»¤åŽè¯¥æ‚£è€…æ‰€æœ‰è¿›è¡Œä¸­ä»»åŠ¡å…¨éƒ¨åœæ­¢ä¸”æ— æ³•åŒ¹é…æ–°çš„éšè®¿ä»»åŠ¡ï¼Œè¯·è°¨æ…Žæ“ä½œï¼
              </div>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">ç¡® å®š</el-button>
@@ -988,7 +988,7 @@
export default {
  name: "Discharge",
  dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"],
  components: { Treeselect,StatisticsCards },
  components: { Treeselect, StatisticsCards },
  data() {
    return {
      // é®ç½©å±‚
@@ -1040,8 +1040,8 @@
      // æ»¡æ„åº¦è°ƒæŸ¥æ•°æ®
      scoreDialogVisible: false,
      selectedRows: [],
 // çº§è”选择器绑定值
      serviceStatusValue: 10,
      // çº§è”选择器绑定值
      serviceStatusValue: null,
      cascaderProps: {
        expandTrigger: "hover", // æ‚¬åœå±•å¼€
        checkStrictly: true, // âœ… å…³é”®ï¼šå…è®¸é€‰ä¸­ä»»æ„ä¸€çº§
@@ -1165,7 +1165,8 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        sendstate: 6,
        sendstate: null,
        sendstateView: null,
        sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期(正序)
        serviceType: 14,
        searchscope: 3,
@@ -1177,7 +1178,7 @@
      propss: { multiple: true },
      options: [],
     topicoptions: [
      topicoptions: [
        {
          value: null,
          label: "全部",
@@ -1567,12 +1568,13 @@
    resetQuery() {
      this.dateRange = [];
      this.dateRangefs = [];
      this.serviceStatusValue = 10;
      this.serviceStatusValue = null;
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        sendstate: 6,
        sendstate: null,
        sendstateView: null,
        sort: 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)
        serviceType: 14,
        searchscope: 3,
src/views/followvisit/operation/index.vue
@@ -695,7 +695,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
@@ -1343,8 +1343,7 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 æ‰‹æœ¯å®Œæˆæ—¶é—´(正序)    1 æ‰‹æœ¯å®Œæˆæ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期(正序)
        serviceType: 19,
        searchscope: 3,
@@ -1833,8 +1832,7 @@
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: 2, //0 æ‰‹æœ¯å®Œæˆæ—¶é—´(正序)    1 æ‰‹æœ¯å®Œæˆæ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)
        serviceType: 19,
        searchscope: 3,
src/views/followvisit/outpatient/index.vue
@@ -461,7 +461,7 @@
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i></span
              ></el-button>
@@ -476,7 +476,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"><i class="el-icon-delete"></i></span
              ></el-button>
            </el-tooltip> -->
src/views/followvisit/record/detailpage/index.vue
@@ -336,7 +336,8 @@
            v-if="
              (orgname == '南华大学附属第一医院' ||
                orgname == '丽水市第二人民医院' ||
                orgname == '缙云县人民医院') &&
                orgname == '缙云县人民医院'||
                orgname == '松阳县中医医院') &&
              !Voicetype
            "
          >
src/views/followvisit/record/index.vue
@@ -532,7 +532,7 @@
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i>再次随访</span
                ></el-button
@@ -549,7 +549,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
src/views/followvisit/tasklist/FollowupDetails/index.vue
@@ -315,7 +315,7 @@
                          size="medium"
                          type="text"
                          @click="handleUpdate(scope.row)"
                          v-hasPermi="['system:user:edit']"
                          ><span class="button-zx"
                            ><i class="el-icon-s-promotion"></i>开始执行</span
                          ></el-button
@@ -333,7 +333,7 @@
                          size="medium"
                          type="text"
                          @click="handleUpdate(scope.row)"
                          v-hasPermi="['system:user:edit']"
                          ><span class="button-xq"
                            ><i class="el-icon-s-data"></i>详情</span
                          ></el-button
@@ -342,7 +342,7 @@
                          size="medium"
                          type="text"
                          @click="handleUpdate(scope.row)"
                          v-hasPermi="['system:user:edit']"
                          ><span class="button-bb"
                            ><i class="el-icon-s-order"></i>报表</span
                          ></el-button
@@ -351,7 +351,7 @@
                          size="medium"
                          type="text"
                          @click="handleUpdate(scope.row)"
                          v-hasPermi="['system:user:edit']"
                          ><span class="button-sc"
                            ><i class="el-icon-delete"></i>删除</span
                          ></el-button
@@ -768,7 +768,7 @@
                        size="medium"
                        type="text"
                        @click="handleUpdate(scope.row)"
                        v-hasPermi="['system:user:edit']"
                        ><span class="button-zx"
                          ><i class="el-icon-s-promotion"></i>开始执行</span
                        ></el-button
@@ -786,7 +786,7 @@
                        size="medium"
                        type="text"
                        @click="handleUpdate(scope.row)"
                        v-hasPermi="['system:user:edit']"
                        ><span class="button-xq"
                          ><i class="el-icon-s-data"></i>详情</span
                        ></el-button
@@ -796,7 +796,7 @@
                        size="medium"
                        type="text"
                        @click="handleUpdate(scope.row)"
                        v-hasPermi="['system:user:edit']"
                        ><span class="button-sc"
                          ><i class="el-icon-delete"></i>删除</span
                        ></el-button
@@ -953,7 +953,7 @@
                    size="medium"
                    type="text"
                    @click="handleUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-xq"
                      ><i class="el-icon-s-data"></i>详情</span
                    ></el-button
@@ -963,7 +963,7 @@
                    size="medium"
                    type="text"
                    @click="handleUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-sc"
                      ><i class="el-icon-delete"></i>删除</span
                    ></el-button
src/views/followvisit/technology/index.vue
@@ -470,7 +470,7 @@
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i>再次随访</span
                ></el-button
@@ -487,7 +487,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
src/views/followvisit/zbAgain/index.vue
@@ -558,7 +558,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
@@ -1003,8 +1003,7 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期(正序)
        serviceType: 13,
        searchscope: 3,
@@ -1424,8 +1423,7 @@
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstateView:2,
        sort: 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)
        serviceType: 13,
        searchscope: 3,
src/views/followvisit/zysatisfaction/index.vue
@@ -568,7 +568,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"
                  ><i class="el-icon-remove-outline"></i>暂停服务</span
                ></el-button
@@ -1046,7 +1046,7 @@
        },
      ],
      // çº§è”选择器绑定值
      serviceStatusValue: 10,
      serviceStatusValue: null,
      cascaderProps: {
        expandTrigger: "hover", // æ‚¬åœå±•å¼€
        checkStrictly: true, // âœ… å…³é”®ï¼šå…è®¸é€‰ä¸­ä»»æ„ä¸€çº§
@@ -1127,8 +1127,9 @@
      topqueryParams: {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstate: null,
        sendstateView: null,
        sort: localStorage.getItem("orgname") == "丽水市中医院" ? 8 : 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)  7应随访日期(倒序) åº”随访日期(正序)
        serviceType: 6,
        searchscope: 3,
@@ -1530,12 +1531,12 @@
    resetQuery() {
      this.dateRange = [];
      this.dateRangefs = [];
      this.serviceStatusValue = 10;
      this.serviceStatusValue = null;
      this.topqueryParams = {
        pageNum: 1,
        pageSize: 10,
        sendstateView:
          localStorage.getItem("orgname") == "南华大学附属第一医院" ? 1 : 2,
        sendstate: null,
        sendstateView: null,
        sort: 2, //0 å‡ºé™¢æ—¶é—´(正序)    1 å‡ºé™¢æ—¶é—´(倒序)   2 å‘送时间(正序)    3 å‘送时间(倒序)
        serviceType: 6,
        searchscope: 3,
src/views/knowledge/education/index copy.vue
@@ -226,7 +226,7 @@
                    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
@@ -316,7 +316,7 @@
                    size="medium"
                    type="text"
                    @click="goQRCode(scope.row)"
                    v-hasPermi="['system:user:edit']"
                  >
                    <span class="button-text"
                      ><i class="el-icon-edit"></i>二维码</span
@@ -326,7 +326,7 @@
                    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
@@ -335,7 +335,7 @@
                    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
src/views/knowledge/education/index.vue
@@ -224,7 +224,7 @@
                    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
@@ -314,7 +314,7 @@
                    size="medium"
                    type="text"
                    @click="goQRCode(scope.row)"
                    v-hasPermi="['system:user:edit']"
                  >
                    <span class="button-text"
                      ><i class="el-icon-edit"></i>二维码</span
@@ -324,7 +324,6 @@
                    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
@@ -333,7 +332,6 @@
                    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
@@ -342,7 +340,6 @@
                    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
src/views/login-zs.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,368 @@
<template>
  <div class="login">
    <el-form
      ref="loginForm"
      :model="loginForm"
      :rules="loginRules"
      class="login-form"
    >
      <h3 class="title">智慧随访系统</h3>
      <el-form-item prop="username">
        <el-input
          v-model="loginForm.username"
          type="text"
          auto-complete="off"
          placeholder="账号"
        >
          <svg-icon
            slot="prefix"
            icon-class="user"
            class="el-input__icon input-icon"
          />
        </el-input>
      </el-form-item>
      <el-form-item prop="password">
        <el-input
          v-model="loginForm.password"
          type="password"
          show-password
          auto-complete="off"
          placeholder="密码"
          @keyup.enter.native="handleLogin"
        >
          <svg-icon
            slot="prefix"
            icon-class="password"
            class="el-input__icon input-icon"
          />
        </el-input>
      </el-form-item>
      <!-- ä¸½===================æ°´ -->
      <el-form-item prop="campusid">
        <el-select
          style="width: 100%"
          v-model="loginForm.campusid"
          placeholder="请选择院区"
        >
          <el-option
            v-for="item in options"
            :label="item.label"
            :value="item.campusid"
          >
          </el-option>
          <i slot="prefix" class="el-icon-mobile"></i>
        </el-select>
      </el-form-item>
      <!-- <el-form-item prop="code" v-if="captchaEnabled">
        <el-input
          v-model="loginForm.code"
          auto-complete="off"
          placeholder="验证码"
          style="width: 63%"
          @keyup.enter.native="handleLogin"
        >
          <svg-icon
            slot="prefix"
            icon-class="validCode"
            class="el-input__icon input-icon"
          />
        </el-input>
        <div class="login-code">
          <img :src="codeUrl" @click="getCode" class="login-code-img" />
        </div>
      </el-form-item> -->
      <el-checkbox
        v-model="loginForm.rememberMe"
        style="margin: 0px 0px 25px 0px"
        >记住密码</el-checkbox
      >
      <el-form-item style="width: 100%">
        <el-button
          :loading="loading"
          size="medium"
          type="primary"
          style="width: 100%"
          @click.native.prevent="handleLogin"
        >
          <span v-if="!loading">登 å½•</span>
          <span v-else>登 å½• ä¸­...</span>
        </el-button>
        <div style="float: right" v-if="register">
          <router-link class="link-type" :to="'/register'"
            >立即注册1</router-link
          >
        </div>
      </el-form-item>
    </el-form>
    <!-- åº•部信息 -->
    <div class="el-login-footer">
      <div class="footer-content">
        <div class="footer-row">
          <span class="tech-label">技术支持:</span>
          <img src="@/assets/logo/Hrs.png" class="tech-logo" alt="logo" />
          <span class="tech-name">浙江亥尔时科技有限公司</span>
        </div>
        <div class="footer-row">
          <span class="hotline">服务热线:17778760073</span>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import { getCodeImg } from "@/api/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from "@/utils/jsencrypt";
import { getorganization } from "@/api/AiCentre/index";
export default {
  name: "Login",
  data() {
    return {
      codeUrl: "",
      loginForm: {
        username: "",
        password: "",
        rememberMe: false,
        code: "",
        orgid: "H41010500003",
      },
      options: [],
      loginRules: {
        username: [
          { required: true, trigger: "blur", message: "请输入您的账号" },
        ],
        password: [
          { required: true, trigger: "blur", message: "请输入您的密码" },
        ],
        campusid: [{ required: true, trigger: "blur", message: "请选择院区" }],
      },
      loading: false,
      // éªŒè¯ç å¼€å…³
      captchaEnabled: true,
      // æ³¨å†Œå¼€å…³
      register: false,
      redirect: undefined,
    };
  },
  watch: {
    $route: {
      handler: function (route) {
        this.redirect = route.query && route.query.redirect;
      },
      immediate: true,
    },
  },
  created() {
    this.getorganization();
    this.getCode();
    this.getCookie();
    // if (localStorage.getItem('orgid')) {
    //   this.loginForm.orgid = localStorage.getItem('orgid');
    // }
  },
  methods: {
    getCode() {
      getCodeImg().then((res) => {
        this.captchaEnabled =
          res.captchaEnabled === undefined ? true : res.captchaEnabled;
        if (this.captchaEnabled) {
          this.codeUrl = "data:image/gif;base64," + res.img;
          this.loginForm.uuid = res.uuid;
        }
      });
    },
    getorganization() {
      getorganization({ pageSize: 30 }).then((res) => {
        if (res.code == 200) {
          this.options = res.rows.map((item) => ({
            value: item.orgid,
            label: item.organizationName,
            campusid: item.organizationID,
          }));
        }
      });
    },
    getCookie() {
      const username = Cookies.get("username");
      const password = Cookies.get("password");
      const rememberMe = Cookies.get("rememberMe");
      this.loginForm = {
        username: username === undefined ? this.loginForm.username : username,
        password:
          password === undefined ? this.loginForm.password : decrypt(password),
        rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
      };
    },
    handleLogin() {
      this.$refs.loginForm.validate((valid) => {
        if (valid) {
          this.loading = true;
          if (this.loginForm.rememberMe) {
            Cookies.set("username", this.loginForm.username, { expires: 30 });
            Cookies.set("password", encrypt(this.loginForm.password), {
              expires: 30,
            });
            Cookies.set("rememberMe", this.loginForm.rememberMe, {
              expires: 30,
            });
          } else {
            Cookies.remove("username");
            Cookies.remove("password");
            Cookies.remove("rememberMe");
          }
          // åŠ¨æ€è®¾ç½® campusid å‚æ•°
          const selectedOrg = this.options.find(
            (item) => item.campusid === this.loginForm.campusid
          );
          this.loginForm.campusid = selectedOrg.campusid || 1;
          this.loginForm.orgid = selectedOrg.value || 1;
          this.loginForm.orgname = selectedOrg.label || "";
          // å¸‚一处理-----------------
          // if (selectedOrg) {
          //   if (selectedOrg.label.includes("湖滨")) {
          //     this.loginForm.campusid = 1;
          //   } else if (selectedOrg.label.includes("吴山")) {
          //     this.loginForm.campusid = 2;
          //   } else {
          //     this.loginForm.campusid = 1; // é»˜è®¤å€¼æˆ–其他处理
          //   }
          // }
          // --------------------------------
          this.$store
            .dispatch("Login", this.loginForm)
            .then((res) => {
              if (this.loginForm.username == "admin") {
                this.$router.push({ path: "/index" }).catch(() => {});
              } else {
                this.$router
                  .push({ path: "/followvisit/discharge" })
                  .catch(() => {});
              }
            })
            .catch(() => {
              this.loading = false;
              if (this.captchaEnabled) {
                this.getCode();
              }
            });
        }
      });
    },
  },
};
</script>
<style rel="stylesheet/scss" lang="scss">
.login {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  overflow: hidden !important;
  background-position: center center;
  /* èƒŒæ™¯å›¾ä¸å¹³é“º */
  background-repeat: no-repeat;
  /* å½“内容高度大于图片高度时,背景图像的位置相对于viewport固定 */
  background-attachment: fixed;
  /* è®©èƒŒæ™¯å›¾åŸºäºŽå®¹å™¨å¤§å°ä¼¸ç¼© */
  background-size: cover;
  /* è®¾ç½®èƒŒæ™¯é¢œè‰²ï¼ŒèƒŒæ™¯å›¾åŠ è½½è¿‡ç¨‹ä¸­ä¼šæ˜¾ç¤ºèƒŒæ™¯è‰² */
  background-color: #464646;
  background-image: url("../assets/images/login-background.jpg");
  background-size: cover;
}
.title {
  margin: 0px auto 30px auto;
  text-align: center;
  color: #707070;
}
.login-form {
  border-radius: 6px;
  background: #ffffff;
  width: 400px;
  padding: 25px 25px 5px 25px;
  .el-input {
    height: 38px;
    input {
      height: 38px;
    }
  }
  .input-icon {
    height: 39px;
    width: 14px;
    margin-left: 2px;
  }
}
.login-tip {
  font-size: 13px;
  text-align: center;
  color: #bfbfbf;
}
.login-code {
  width: 33%;
  height: 38px;
  float: right;
  img {
    cursor: pointer;
    vertical-align: middle;
  }
}
.el-login-footer {
  position: fixed;
  bottom: 20px;
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
  font-size: 13px;
  color: #3664D9;
  z-index: 10;
}
.footer-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.footer-row {
  display: flex;
  align-items: center;
  justify-content: center;
}
.tech-logo {
  width: 28px;
  height: 28px;
  margin: 0 6px;
  vertical-align: middle;
}
.tech-label,
.tech-name,
.hotline {
  color: #3664D9;;
  font-size: 13px;
}
.tech-name {
  color: #3664D9;;
  font-weight: 500;
}
.hotline {
  font-size: 12px;
  color: #3664D9;;
}
.login-code-img {
  height: 38px;
}
</style>
src/views/loginExternal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,58 @@
<template>
  <div class="external-notice">
    <div class="notice-card">
      <i class="el-icon-lock notice-icon"></i>
      <h3 class="notice-title">外链公网访问</h3>
      <p class="notice-text">当前为外链公网访问,不支持系统登录</p>
    </div>
  </div>
</template>
<script>
export default {
  name: "LoginExternal",
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.external-notice {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  overflow: hidden !important;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-color: #464646;
  background-image: url("../assets/images/login-background.jpg");
}
.notice-card {
  border-radius: 6px;
  background: #ffffff;
  width: 400px;
  padding: 50px 25px 45px 25px;
  text-align: center;
}
.notice-icon {
  font-size: 48px;
  color: #3664d9;
  margin-bottom: 20px;
}
.notice-title {
  margin: 0 0 15px 0;
  font-size: 20px;
  font-weight: 600;
  color: #303133;
}
.notice-text {
  margin: 0;
  font-size: 14px;
  color: #909399;
}
</style>
src/views/patient/medtechnician/Compositeeditdetails.vue
@@ -99,7 +99,7 @@
                size="medium"
                type="text"
                @click="Seedetails(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-zx"
                  ><i class="el-icon-s-order"></i>查看服务</span
                ></el-button
src/views/patient/patient/AwaitingAdmission.vue
@@ -93,7 +93,7 @@
              size="medium"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col> -->
@@ -312,7 +312,7 @@
                    query: { id: scope.row.patid },
                  })
                "
                v-hasPermi="['system:user:edit']"
                ><span class="button-textsc"
                  ><i class="el-icon-zoom-in"></i>查看</span
                ></el-button
src/views/patient/patient/hospital.vue
@@ -117,7 +117,7 @@
              size="medium"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col> -->
src/views/patient/patient/operation.vue
@@ -72,7 +72,7 @@
              size="medium"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col> -->
src/views/patient/patient/outpatient.vue
@@ -62,8 +62,8 @@
              v-model="queryParams.scopetype"
              placeholder="默认全部"
              :options="sourcetype"
            filterable
            clearable
              filterable
              clearable
              :props="{ expandTrigger: 'hover' }"
              @change="handleChange"
            ></el-cascader>
@@ -138,7 +138,7 @@
              size="medium"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col> -->
@@ -260,7 +260,7 @@
                    scope.row.idcardno,
                    scope.row.drcode,
                    scope.row.drname,
                    scope.row.patid,
                    scope.row.patid
                  )
                "
                ><span class="button-textsc">{{
@@ -365,7 +365,7 @@
                    query: { id: scope.row.patid },
                  })
                "
                v-hasPermi="['system:user:edit']"
                ><span class="button-textsc"
                  ><i class="el-icon-zoom-in"></i>查看</span
                ></el-button
@@ -606,7 +606,12 @@
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import { query360PatInfo,query360PatInfonh, getTasklist, addSubtask } from "@/api/AiCentre/index";
import {
  query360PatInfo,
  query360PatInfonh,
  getTasklist,
  addSubtask,
} from "@/api/AiCentre/index";
import store from "@/store";
import { type } from "jquery";
@@ -690,7 +695,7 @@
          id: 1,
        },
      ],
      orgName:localStorage.getItem("orgname"),
      orgName: localStorage.getItem("orgname"),
      postData: {
        XiaoXiTou: {
          FaSongFCSJC: "ZJHES",
@@ -1108,8 +1113,9 @@
      }
      // æ£€æŸ¥é€‰ä¸­çš„æ‚£è€…中是否有已有任务的
      const hasTaskPatients = this.userList.filter(
        (item) => this.ids.includes(item.patid) && item.serverState == 1
        (item) => this.ids.includes(item.id) && item.serverState == 1
      );
      console.log(hasTaskPatients, "hasTaskPatients");
      if (hasTaskPatients.length > 0) {
        const patientNames = hasTaskPatients.map((p) => p.patname).join("、");
@@ -1121,8 +1127,8 @@
      // èŽ·å–é€‰ä¸­æ‚£è€…çš„ç§‘å®¤ä¿¡æ¯ï¼ˆç”¨äºŽæ ¡éªŒåŒä¸€ç§‘å®¤ï¼‰
      const patientDepts = new Set();
      let deptcode = "";
      this.ids.forEach((patId) => {
        const patient = this.userList.find((item) => item.patid === patId);
      this.ids.forEach((id) => {
        const patient = this.userList.find((item) => item.id === id);
        if (patient) {
          patientDepts.add(patient.deptname);
          deptcode = patient.deptcode;
@@ -1137,7 +1143,7 @@
      // èŽ·å–é€‰ä¸­æ‚£è€…åˆ—è¡¨
      this.selectedPatients = this.userList.filter((item) =>
        this.ids.includes(item.patid)
        this.ids.includes(item.id)
      );
      // æ˜¾ç¤ºå¼¹çª—
src/views/patient/patient/physical.vue
@@ -111,7 +111,7 @@
              size="medium"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col>
@@ -288,7 +288,7 @@
                    query: { id: scope.row.patid },
                  })
                "
                v-hasPermi="['system:user:edit']"
                ><span class="button-textsc"
                  ><i class="el-icon-zoom-in"></i>查看</span
                ></el-button
@@ -297,7 +297,7 @@
                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
src/views/patient/physical/index.vue
@@ -461,7 +461,7 @@
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i></span
              ></el-button>
@@ -476,7 +476,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"><i class="el-icon-delete"></i></span
              ></el-button>
            </el-tooltip> -->
src/views/patient/propaganda/Missionotice.vue
@@ -93,7 +93,7 @@
            size="medium"
            :disabled="single"
            @click="handleUpdate"
            v-hasPermi="['system:user:edit']"
            >修改</el-button
          >
        </el-col>
@@ -224,7 +224,7 @@
              size="medium"
              type="text"
              @click="handleUpdate(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-xq"
                ><i class="el-icon-s-data"></i>详情</span
              ></el-button
@@ -233,7 +233,7 @@
              size="medium"
              type="text"
              @click="handleDelete(scope.row)"
              v-hasPermi="['system:user:edit']"
              ><span class="button-sc"
                ><i class="el-icon-delete"></i>删除</span
              ></el-button
src/views/patient/questionnaire/index.vue
@@ -501,7 +501,7 @@
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i></span
              ></el-button>
@@ -516,7 +516,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"><i class="el-icon-delete"></i></span
              ></el-button>
            </el-tooltip> -->
src/views/patient/shadow/index.vue
@@ -501,7 +501,7 @@
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i></span
              ></el-button>
@@ -516,7 +516,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"><i class="el-icon-delete"></i></span
              ></el-button>
            </el-tooltip> -->
src/views/patient/subsequent/index.vue
@@ -461,7 +461,7 @@
                size="medium"
                type="text"
                @click="followupvisit(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-bb"
                  ><i class="el-icon-s-promotion"></i></span
              ></el-button>
@@ -476,7 +476,7 @@
                size="medium"
                type="text"
                @click="handlestop(scope.row)"
                v-hasPermi="['system:user:edit']"
                ><span class="button-sc"><i class="el-icon-delete"></i></span
              ></el-button>
            </el-tooltip> -->
src/views/repositoryai/general/index.vue
@@ -219,7 +219,7 @@
                    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
src/views/repositoryai/intention/index.vue
@@ -299,7 +299,7 @@
                    size="medium"
                    type="text"
                    @click="handlemeasurement(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-textcs"
                      ><i class="el-icon-help"></i>测试</span
                    ></el-button
src/views/repositoryai/matching/index.vue
@@ -84,7 +84,7 @@
              size="medium"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col>
@@ -224,7 +224,7 @@
                icon="el-icon-edit"
                class="icon-edit"
                @click="Referencequestion(scope.row)"
                v-hasPermi="['system:user:edit']"
                >编辑话术</el-button
              >
              <el-button
@@ -233,7 +233,7 @@
                icon="el-icon-s-claim"
                class="icon-s-claim"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['system:user:edit']"
                >测试匹配</el-button
              >
            </template>
src/views/repositoryai/templateku/index.vue
@@ -195,7 +195,7 @@
                    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
src/views/repositoryai/verbaltrick/index.vue
@@ -228,7 +228,7 @@
                    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
@@ -280,7 +280,7 @@
                    size="medium"
                    type="text"
                    @click="compileUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-bji"
                      ><i class="el-icon-edit"></i>编辑问题</span
                    ></el-button
src/views/sfstatistics/statement/index.vue
@@ -356,7 +356,7 @@
                    size="medium"
                    type="text"
                    @click="handleUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-textxg"
                      ><i class="el-icon-s-data"></i>单题统计</span
                    ></el-button
src/views/shortmessage/healthinformation/index.vue
@@ -210,7 +210,7 @@
                    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
@@ -300,7 +300,7 @@
                    size="medium"
                    type="text"
                    @click="goQRCode(scope.row)"
                    v-hasPermi="['system:user:edit']"
                  >
                    <span class="button-text"
                      ><i class="el-icon-edit"></i>二维码</span
@@ -310,7 +310,7 @@
                    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
@@ -319,7 +319,7 @@
                    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
src/views/shortmessage/messagebank/index.vue
@@ -244,7 +244,7 @@
                    size="medium"
                    type="text"
                    @click="handleUpdate(scope.row)"
                    v-hasPermi="['system:user:edit']"
                    ><span class="button-textxg"
                      ><i class="el-icon-edit-outline"></i>再次发送</span
                    ></el-button
src/views/shortmessage/taglibrary/index.vue
@@ -55,7 +55,7 @@
              size="medium"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col>
@@ -164,7 +164,7 @@
                type="text"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['system:user:edit']"
                >编辑</el-button
              >
              <el-button
src/views/system/label/index.vue
@@ -220,7 +220,7 @@
                    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
src/views/system/user/index.vue
@@ -125,7 +125,7 @@
              size="mini"
              :disabled="single"
              @click="handleUpdate"
              v-hasPermi="['system:user:edit']"
              >修改</el-button
            >
          </el-col>
@@ -253,7 +253,7 @@
                type="text"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['system:user:edit']"
                >修改</el-button
              >
              <el-button
@@ -282,7 +282,7 @@
                  <el-dropdown-item
                    command="handleAuthRole"
                    icon="el-icon-circle-check"
                    v-hasPermi="['system:user:edit']"
                    >分配角色</el-dropdown-item
                  >
                </el-dropdown-menu>
vue.config.js
@@ -38,9 +38,9 @@
        // target: `https://www.health-y.cn/lssf`,
        // target: `http://192.168.100.10:8096`,
        // target: `http://192.168.100.10:8094`,//省立同德
        // target: `http://192.168.100.10:8095`,//新华
        target: `http://192.168.100.10:8095`,//新华
        // target: `http://192.168.100.10:8098`,//市一
        target:`http://localhost:8095`,
        // target:`http://localhost:8095`,
        // target:`http://35z1t16164.qicp.vip`,
        // target: `http://192.168.100.172:8095`,
        // target: `http://192.168.100.10:8089`,//南华
Ëæ·ÃÍâÁ´.zip
copy from "\351\232\217\350\256\277\351\200\232\347\224\250.zip" copy to "\351\232\217\350\256\277\345\244\226\351\223\276.zip" Binary files differ
Ëæ·ÃͨÓÃ8.26.zip
Binary files differ