提交 adef9237 编写于 作者: tao.wu's avatar tao.wu

Merge branch 'dev-followUp-20190312' of...

Merge branch 'dev-followUp-20190312' of 192.168.110.53:com.pica.cloud.education.frontend/pica.cloud.web-education-admin into dev-followUp-20190312
...@@ -33,9 +33,13 @@ module.exports = { ...@@ -33,9 +33,13 @@ module.exports = {
// } // }
// }, // },
context: [ //代理路径 context: [ //代理路径
'/test' /*'/test'*/
'/registers',
'/mobiles',
'/login'
], ],
proxypath: 'http://localhost:9000', //proxypath: 'http://localhost:9000',
proxypath: 'https://dev-saas.yunqueyi.com/web/',
cssSourceMap: true cssSourceMap: true
} }
} }
\ No newline at end of file
...@@ -17,5 +17,6 @@ ...@@ -17,5 +17,6 @@
<router-view></router-view> <router-view></router-view>
</div> </div>
<script src="https://unpkg.com/qiniu-js@2.2.0/dist/qiniu.min.js"></script> <script src="https://unpkg.com/qiniu-js@2.2.0/dist/qiniu.min.js"></script>
<script src="https://pv.sohu.com/cityjson?ie=utf-8"></script>
</body> </body>
</html> </html>
...@@ -2821,14 +2821,12 @@ ...@@ -2821,14 +2821,12 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"brace-expansion": { "brace-expansion": {
"version": "1.1.11", "version": "1.1.11",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
...@@ -2843,20 +2841,17 @@ ...@@ -2843,20 +2841,17 @@
"code-point-at": { "code-point-at": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"console-control-strings": { "console-control-strings": {
"version": "1.1.0", "version": "1.1.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
...@@ -2973,8 +2968,7 @@ ...@@ -2973,8 +2968,7 @@
"inherits": { "inherits": {
"version": "2.0.3", "version": "2.0.3",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.5",
...@@ -2986,7 +2980,6 @@ ...@@ -2986,7 +2980,6 @@
"version": "1.0.0", "version": "1.0.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"number-is-nan": "^1.0.0" "number-is-nan": "^1.0.0"
} }
...@@ -3001,7 +2994,6 @@ ...@@ -3001,7 +2994,6 @@
"version": "3.0.4", "version": "3.0.4",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
...@@ -3009,14 +3001,12 @@ ...@@ -3009,14 +3001,12 @@
"minimist": { "minimist": {
"version": "0.0.8", "version": "0.0.8",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"minipass": { "minipass": {
"version": "2.2.4", "version": "2.2.4",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"safe-buffer": "^5.1.1", "safe-buffer": "^5.1.1",
"yallist": "^3.0.0" "yallist": "^3.0.0"
...@@ -3035,7 +3025,6 @@ ...@@ -3035,7 +3025,6 @@
"version": "0.5.1", "version": "0.5.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"minimist": "0.0.8" "minimist": "0.0.8"
} }
...@@ -3116,8 +3105,7 @@ ...@@ -3116,8 +3105,7 @@
"number-is-nan": { "number-is-nan": {
"version": "1.0.1", "version": "1.0.1",
"bundled": true, "bundled": true,
"dev": true, "dev": true
"optional": true
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
...@@ -3129,7 +3117,6 @@ ...@@ -3129,7 +3117,6 @@
"version": "1.4.0", "version": "1.4.0",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"wrappy": "1" "wrappy": "1"
} }
...@@ -3251,7 +3238,6 @@ ...@@ -3251,7 +3238,6 @@
"version": "1.0.2", "version": "1.0.2",
"bundled": true, "bundled": true,
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"code-point-at": "^1.0.0", "code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0", "is-fullwidth-code-point": "^1.0.0",
...@@ -4193,6 +4179,11 @@ ...@@ -4193,6 +4179,11 @@
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.0.tgz", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.0.tgz",
"integrity": "sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s=" "integrity": "sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s="
}, },
"js-md5": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
},
"js-tokens": { "js-tokens": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
"fastclick": "^1.0.6", "fastclick": "^1.0.6",
"iscroll": "^5.2.0", "iscroll": "^5.2.0",
"js-cookie": "^2.2.0", "js-cookie": "^2.2.0",
"js-md5": "^0.7.3",
"showdown": "^1.6.4", "showdown": "^1.6.4",
"vue": "^2.1.0", "vue": "^2.1.0",
"vue-router": "^2.1.1", "vue-router": "^2.1.1",
......
...@@ -53,10 +53,22 @@ export default { ...@@ -53,10 +53,22 @@ export default {
}, },
created() { created() {
vm = this vm = this
vm.getToken() if(vm.$route.name!='loginPage') {
vm.getToken()
}
}, },
mounted() { mounted() {
function checkIE(){
return '-ms-scroll-limit' in document.documentElement.style && '-ms-ime-align' in document.documentElement.style
}
if (checkIE()) {
window.addEventListener('hashchange', () => {
let currentPath = window.location.hash.slice(1);
if (this.$route.path !== currentPath) {
this.$router.push(currentPath)
}
}, false)
}
}, },
methods: { methods: {
...mapActions('reservationManage',['getUserName']), ...mapActions('reservationManage',['getUserName']),
...@@ -74,14 +86,27 @@ export default { ...@@ -74,14 +86,27 @@ export default {
vm.$router.push({ path: 'home' }) vm.$router.push({ path: 'home' })
} else { } else {
if(!localStorage.getItem('storageToken')) { if(!localStorage.getItem('storageToken')) {
window.location.href = getLoginUrl('?from=work&type=logout') // 没有token返回登录页面 console.log('域名',window.location.host)
return if(window.location.host.indexOf("work.yunqueyi") != -1) {
window.location.href = getLoginUrl('?from=work&type=logout') // 没有token返回登录页面
return;
} else {
this.$router.push('/login')
return;
}
} }
} }
}else { }else {
if(!localStorage.getItem('storageToken')) { if(!localStorage.getItem('storageToken')) {
window.location.href = getLoginUrl('?from=work&type=logout') // 没有token返回登录页面 if(window.location.host.indexOf("work.yunqueyi") != -1) {
return
window.location.href = getLoginUrl('?from=work&type=logout') // 没有token返回登录页面
return;
} else {
this.$router.push('/login');
return;
}
} }
} }
vm.changeToken(vm.token) vm.changeToken(vm.token)
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 53.2 (72643) - https://sketchapp.com -->
<title>Shape</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="切图" transform="translate(-462.000000, -267.000000)" fill="#FB5B52">
<path d="M471,267 C466.028906,267 462,271.028906 462,276 C462,280.971094 466.028906,285 471,285 C475.971094,285 480,280.971094 480,276 C480,271.028906 475.971094,267 471,267 L471,267 Z M475.236328,279.362695 C475.457812,279.580664 475.461328,279.935742 475.245117,280.158984 L475.245117,280.158984 C475.027148,280.380469 474.67207,280.383984 474.448828,280.167773 L471,276.7875 L467.551172,280.166016 C467.329687,280.383984 466.972852,280.380469 466.754883,280.157227 L466.754883,280.157227 C466.536914,279.935742 466.54043,279.578906 466.763672,279.360937 L470.19668,276 L466.763672,272.637305 C466.542188,272.419336 466.538672,272.064258 466.754883,271.841016 L466.754883,271.841016 C466.972852,271.619531 467.32793,271.616016 467.551172,271.832227 L471,275.2125 L474.448828,271.833984 C474.670313,271.616016 475.027148,271.619531 475.245117,271.842773 L475.245117,271.842773 C475.463086,272.064258 475.45957,272.421094 475.236328,272.639063 L471.80332,276 L475.236328,279.362695 L475.236328,279.362695 Z" id="Shape"></path>
</g>
</g>
</svg>
\ No newline at end of file
...@@ -19,6 +19,7 @@ export const envConfig = { ...@@ -19,6 +19,7 @@ export const envConfig = {
followUpSCSoSo: 'http://sosoapi.yunqueyi.com/sosoapi-web/pass/mock/73', followUpSCSoSo: 'http://sosoapi.yunqueyi.com/sosoapi-web/pass/mock/73',
followUpSC: 'https://dev-sc.yunqueyi.com', followUpSC: 'https://dev-sc.yunqueyi.com',
saasDomainUrl: 'https://dev-saas.yunqueyi.com/', saasDomainUrl: 'https://dev-saas.yunqueyi.com/',
saasApiUrl: 'https://dev-saas.yunqueyi.com/web',
}, },
dev: { dev: {
baseUrl: 'https://dev-sc.yunqueyi.com/', baseUrl: 'https://dev-sc.yunqueyi.com/',
...@@ -30,6 +31,7 @@ export const envConfig = { ...@@ -30,6 +31,7 @@ export const envConfig = {
yuequeyiIndexUrl: 'https://dev-saas.yunqueyi.com/pica_index.html', yuequeyiIndexUrl: 'https://dev-saas.yunqueyi.com/pica_index.html',
followUpSC: 'https://dev-sc.yunqueyi.com', followUpSC: 'https://dev-sc.yunqueyi.com',
saasDomainUrl: 'https://dev-saas.yunqueyi.com/', saasDomainUrl: 'https://dev-saas.yunqueyi.com/',
saasApiUrl: 'https://dev-saas.yunqueyi.com/web',
}, },
test: { test: {
baseUrl: 'https://test1-sc.yunqueyi.com/', baseUrl: 'https://test1-sc.yunqueyi.com/',
...@@ -41,6 +43,7 @@ export const envConfig = { ...@@ -41,6 +43,7 @@ export const envConfig = {
followUpSC: 'https://test1-sc.yunqueyi.com', followUpSC: 'https://test1-sc.yunqueyi.com',
yuequeyiIndexUrl: 'https://test1.yunqueyi.com/pica_index.html', yuequeyiIndexUrl: 'https://test1.yunqueyi.com/pica_index.html',
saasDomainUrl: 'https://test1.yunqueyi.com/', saasDomainUrl: 'https://test1.yunqueyi.com/',
saasApiUrl: 'https://test1.yunqueyi.com/web',
}, },
test2: { test2: {
baseUrl: 'https://test1-sc.yunqueyi.com/', baseUrl: 'https://test1-sc.yunqueyi.com/',
...@@ -52,6 +55,7 @@ export const envConfig = { ...@@ -52,6 +55,7 @@ export const envConfig = {
followUpSC: 'https://test2-work.yunqueyi.com/sc', followUpSC: 'https://test2-work.yunqueyi.com/sc',
yuequeyiIndexUrl: 'https://test1.yunqueyi.com/pica_index.html', yuequeyiIndexUrl: 'https://test1.yunqueyi.com/pica_index.html',
saasDomainUrl: 'https://test1.yunqueyi.com/', saasDomainUrl: 'https://test1.yunqueyi.com/',
saasApiUrl: 'https://test1.yunqueyi.com/web',
}, },
uat: { uat: {
baseUrl: 'https://uat-sc.yunqueyi.com/', baseUrl: 'https://uat-sc.yunqueyi.com/',
...@@ -63,6 +67,7 @@ export const envConfig = { ...@@ -63,6 +67,7 @@ export const envConfig = {
followUpSC: 'https://uat-sc.yunqueyi.com', followUpSC: 'https://uat-sc.yunqueyi.com',
yuequeyiIndexUrl: 'https://uat.yunqueyi.com/pica_index.html', yuequeyiIndexUrl: 'https://uat.yunqueyi.com/pica_index.html',
saasDomainUrl: 'https://uat.yunqueyi.com/', saasDomainUrl: 'https://uat.yunqueyi.com/',
saasApiUrl: 'https://uat.yunqueyi.com/web',
}, },
pro: { pro: {
baseUrl: 'https://sc.yunqueyi.com/', baseUrl: 'https://sc.yunqueyi.com/',
...@@ -74,5 +79,6 @@ export const envConfig = { ...@@ -74,5 +79,6 @@ export const envConfig = {
followUpSC: 'https://sc.yunqueyi.com', followUpSC: 'https://sc.yunqueyi.com',
yuequeyiIndexUrl: 'https://www.yunqueyi.com/pica_index.html', yuequeyiIndexUrl: 'https://www.yunqueyi.com/pica_index.html',
saasDomainUrl: 'https://www.yunqueyi.com/', saasDomainUrl: 'https://www.yunqueyi.com/',
saasApiUrl: 'https://www.yunqueyi.com/web',
} }
} }
...@@ -142,6 +142,15 @@ export const deletePlan = (planId) => { ...@@ -142,6 +142,15 @@ export const deletePlan = (planId) => {
description: '删除计划', description: '删除计划',
}) })
}; };
export const getVerifyStatus = (params) => {
return fetch({
headers,
url: getFollowUpSC(`/followup/plans/validate/status`),
method: 'get',
params: params,
description: '认证校验',
})
};
/*预约管理*/ /*预约管理*/
export const getReservationList = (data) => { export const getReservationList = (data) => {
return fetch({ return fetch({
......
...@@ -186,6 +186,10 @@ export function getBasicDataApi(url) { ...@@ -186,6 +186,10 @@ export function getBasicDataApi(url) {
export function getSaasDomain(url) { export function getSaasDomain(url) {
return getConfigByEnvType('saasDomainUrl') + url return getConfigByEnvType('saasDomainUrl') + url
} }
// 获取saasApi端域名地址
export function getSaasApi(url) {
return getConfigByEnvType('saasApiUrl') + url
}
// 根据不同环境,生成URL // 根据不同环境,生成URL
function getConfigByEnvType(urlType) { function getConfigByEnvType(urlType) {
......
import fetch from '@/utils/fetch' import fetch from '@/utils/fetch'
import { getBaseUrl } from '@/utils/index' import { getBaseUrl, getSaasApi } from '@/utils/index'
module.exports = { module.exports = {
data: function () { data: function () {
...@@ -153,6 +153,18 @@ module.exports = { ...@@ -153,6 +153,18 @@ module.exports = {
data: para data: para
}) })
}, },
// saas-GET请求
saasGET(api, para) {
// para.token = para.token || this.token || "343BCABC890349ACAF357FA79122F9FE"
return fetch({
headers: {
sysCode: 9,
},
url: getSaasApi(api),
method: 'get',
params: para
})
},
// 通用DELETE请求 // 通用DELETE请求
DELETE(api, para, callback,str) { DELETE(api, para, callback,str) {
...@@ -174,7 +186,34 @@ module.exports = { ...@@ -174,7 +186,34 @@ module.exports = {
data: para data: para
}) })
}, },
// 通用saas-POST请求
saasPOST(api, para, cType) {
// para.token = para.token || this.token || "343BCABC890349ACAF357FA79122F9FE"
let header = {}
if(cType) {
header['Content-Type'] = cType;
}
return fetch({
headers: {
sysCode: 9,
...header
},
url: getSaasApi(api),
method: 'post',
data: para
})
},
// 通用saas-PUT请求
saasPUT(api, para) {
return fetch({
headers: {
sysCode: 9,
},
url: getSaasApi(api),
method: 'put',
data: para
})
},
// 从html参数 // 从html参数
getUrlKey(name) { getUrlKey(name) {
if (decodeURIComponent && location.href) { if (decodeURIComponent && location.href) {
...@@ -183,6 +222,7 @@ module.exports = { ...@@ -183,6 +222,7 @@ module.exports = {
return null return null
} }
}, },
getUrlSearch(url, name) { getUrlSearch(url, name) {
if (typeof name == 'undefined') { if (typeof name == 'undefined') {
name = url name = url
......
...@@ -271,23 +271,29 @@ const detectOS = () => { ...@@ -271,23 +271,29 @@ const detectOS = () => {
// 获取用户浏览器信息 // 获取用户浏览器信息
const getBrowser = () => { const getBrowser = () => {
// let OsObject = "未知"; let OsObject = "未知";
// if (navigator.userAgent.indexOf("MSIE") > 0) { if (navigator.userAgent.indexOf("MSIE") > 0 && navigator.userAgent.indexOf("compatible") > -1) { //<ie11
// return "IE"; return "IE";
// } }
// if (navigator.userAgent.indexOf("Firefox") > 0) { if (navigator.userAgent.indexOf("Trident") > 0 && navigator.userAgent.indexOf("rv:11.0") > -1) { //ie11
// return "Firefox"; return "IE";
// } }
// if (navigator.userAgent.indexOf("Chrome") > 0) { if (navigator.userAgent.indexOf("Firefox") > 0) {
// return "Chrome"; return "Firefox";
// } }
// if (navigator.userAgent.indexOf("Safari") > 0) { if (navigator.userAgent.indexOf("Chrome") > 0) {
// return "Safari"; return "Chrome";
// } }
// if (navigator.userAgent.indexOf("Gecko") > 0) { if (navigator.userAgent.indexOf("Safari") > 0) {
// return "Gecko"; return "Safari";
// } }
return navigator.userAgent; if (navigator.userAgent.indexOf("Gecko") > 0) {
return "Firefox";
}
if (navigator.userAgent.indexOf("360") > 0) {
return "360";
}
return OsObject;
}; };
const GetLocalIPAddress = () => { const GetLocalIPAddress = () => {
...@@ -306,7 +312,7 @@ const GetLocalIPAddress = () => { ...@@ -306,7 +312,7 @@ const GetLocalIPAddress = () => {
// 获取用户终端信息 // 获取用户终端信息
const getTerminalType = () => { const getTerminalType = () => {
let brow = "未知"; let brow = "unknown";
// alert(navigator.userAgent); // alert(navigator.userAgent);
if (navigator.userAgent.indexOf('iPad') > -1) { if (navigator.userAgent.indexOf('iPad') > -1) {
// alert("iPad"); // alert("iPad");
...@@ -315,25 +321,25 @@ const getTerminalType = () => { ...@@ -315,25 +321,25 @@ const getTerminalType = () => {
if (navigator.userAgent.indexOf('Android') > -1 if (navigator.userAgent.indexOf('Android') > -1
|| navigator.userAgent.indexOf('Linux') > -1) { || navigator.userAgent.indexOf('Linux') > -1) {
// alert("Android"); // alert("Android");
return brow = "android手机"; return brow = "android";
} }
if (navigator.userAgent.indexOf('iPhone') > -1 if (navigator.userAgent.indexOf('iPhone') > -1
// || navigator.userAgent.indexOf('Mac') > -1 // || navigator.userAgent.indexOf('Mac') > -1
) { ) {
// alert("iPhone"); // alert("iPhone");
return brow = "iPhone手机"; return brow = "iPhone";
} }
if (navigator.userAgent.indexOf('Trident') > -1) { if (navigator.userAgent.indexOf('Trident') > -1) {
// alert("Trident"); // alert("Trident");
return brow = "电脑"; return brow = "PC";
} }
if (navigator.userAgent.indexOf('Presto') > -1) { if (navigator.userAgent.indexOf('Presto') > -1) {
// alert("Presto"); // alert("Presto");
return brow = "电脑"; return brow = "PC";
} }
if (navigator.userAgent.indexOf('Chrome') > -1) { if (navigator.userAgent.indexOf('Chrome') > -1) {
// alert("Chrome"); // alert("Chrome");
return brow = "电脑"; return brow = "PC";
} }
if (navigator.userAgent.indexOf('AppleWebKit') > -1) { if (navigator.userAgent.indexOf('AppleWebKit') > -1) {
// alert("AppleWebKit"); // alert("AppleWebKit");
...@@ -342,7 +348,7 @@ const getTerminalType = () => { ...@@ -342,7 +348,7 @@ const getTerminalType = () => {
if (navigator.userAgent.indexOf('Gecko') > -1 if (navigator.userAgent.indexOf('Gecko') > -1
&& navigator.userAgent.indexOf('KHTML') == -1) { && navigator.userAgent.indexOf('KHTML') == -1) {
// alert("Gecko"); // alert("Gecko");
return brow = "电脑"; return brow = "PC";
} }
if (navigator.userAgent.indexOf("Mac OS X") > -1) { if (navigator.userAgent.indexOf("Mac OS X") > -1) {
// alert("ios"); // alert("ios");
...@@ -350,7 +356,7 @@ const getTerminalType = () => { ...@@ -350,7 +356,7 @@ const getTerminalType = () => {
} }
if (navigator.userAgent.indexOf('Safari') == -1) { if (navigator.userAgent.indexOf('Safari') == -1) {
// alert("Safari"); // alert("Safari");
return brow = "电脑"; return brow = "PC";
} }
return brow; return brow;
}; };
...@@ -443,8 +449,23 @@ export const ssoLogin = (href, paramMap) => { ...@@ -443,8 +449,23 @@ export const ssoLogin = (href, paramMap) => {
initEnvironment(); initEnvironment();
} }
}; };
export const ssoLogin2 = () => { //单独部署不走saas端登录
console.log("ssoLogin2开始");
//获取用户系统信息
initEnvironment();
};
export const getDeviceInfo = () => { //系统信息,获取验证码时有用到
return {
device_brand: localStorage.getItem('terminalType'),
device_type: 1,
system_level: localStorage.getItem('OS'),
device_ip: localStorage.getItem('ipAddress'),
browser_ver: localStorage.getItem('browser')
}
};
//单点登录--end //单点登录--end
//退出登录,跳转到登录页面 //退出登录,跳转到登录页面
......
...@@ -92,6 +92,9 @@ ...@@ -92,6 +92,9 @@
planId: [ planId: [
{ required: true, message: '请选择随访计划', trigger: 'change' }, { required: true, message: '请选择随访计划', trigger: 'change' },
], ],
startDate: [
{ required: true, message: '请选择随访开始时间', trigger: 'change' },
]
}, },
realGroup: [], realGroup: [],
selectPlanName: '' selectPlanName: ''
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</div> </div>
<div class="add-time-content"> <div class="add-time-content">
<div class="time-line-scroll"> <div class="time-line-scroll special-control-class">
<el-tabs v-model="activeTab" type="card" @tab-remove="deleteTimeNode" :closable="tabClosable()"> <el-tabs v-model="activeTab" type="card" @tab-remove="deleteTimeNode" :closable="tabClosable()">
<el-tab-pane <el-tab-pane
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
clearable /> clearable />
</el-form-item> </el-form-item>
<el-form-item prop="timeUnit" class="ml20"> <el-form-item prop="timeUnit" class="ml20">
<el-select style="width:200px;" v-model="itemTimeForm.timeUnit" placeholder="请选择" @change="choseTimeUit" :disabled="itemTimeForm.isDisabled"> <el-select style="width:400px;" v-model="itemTimeForm.timeUnit" placeholder="请选择" @change="choseTimeUit" :disabled="itemTimeForm.isDisabled" :popper-append-to-body="false">
<el-option <el-option
v-for="(item,index) in markOptions" v-for="(item,index) in markOptions"
:key="index" :key="index"
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
:multiple-limit=3 :multiple-limit=3
:disabled="itemIsDisabled(itemTimeForm)" :disabled="itemIsDisabled(itemTimeForm)"
@change="changeRemindDay" @change="changeRemindDay"
:popper-append-to-body="false"
placeholder="请选择"> placeholder="请选择">
<el-option <el-option
v-for="(item_sub,index) in remindOptions" v-for="(item_sub,index) in remindOptions"
...@@ -80,6 +81,7 @@ ...@@ -80,6 +81,7 @@
placeholder="选择推送时间" placeholder="选择推送时间"
clearable clearable
@change="changePushDay" @change="changePushDay"
:popper-append-to-body="false"
:disabled="itemIsDisabled(itemTimeForm)" :disabled="itemIsDisabled(itemTimeForm)"
> >
<el-option <el-option
...@@ -110,6 +112,7 @@ ...@@ -110,6 +112,7 @@
:multiple-limit=3 :multiple-limit=3
@change="changeFollowId" @change="changeFollowId"
:disabled="itemIsDisabled(itemTimeForm)" :disabled="itemIsDisabled(itemTimeForm)"
:popper-append-to-body="false"
placeholder="请选择"> placeholder="请选择">
<el-option <el-option
v-for="(item_sub,index) in formOptions" v-for="(item_sub,index) in formOptions"
...@@ -735,7 +738,7 @@ ...@@ -735,7 +738,7 @@
/*background-color: #F0F2F5;*/ /*background-color: #F0F2F5;*/
padding: 10px; padding: 10px;
overflow-x: scroll; overflow-x: scroll;
overflow-y: hidden; overflow-y: auto;
white-space: nowrap; white-space: nowrap;
position: relative; position: relative;
cursor: pointer; cursor: pointer;
...@@ -787,3 +790,9 @@ ...@@ -787,3 +790,9 @@
margin-left: 20px; margin-left: 20px;
} }
</style> </style>
<style>
.special-control-class .el-tabs__content{
overflow: visible !important;
}
</style>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<el-input v-model="searchData.name" placeholder="请输入关键词" maxlength="20" style="width: 250px" clearable></el-input> <el-input v-model="searchData.name" placeholder="请输入关键词" maxlength="20" style="width: 250px" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="开始年份"> <el-form-item label="开始年份">
<el-select v-model="searchData.startYear" placeholder="请选择时间范围" style="width: 250px"> <el-select v-model="searchData.startYear" placeholder="请选择时间范围" style="width: 250px" :popper-append-to-body="false">
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
<el-option <el-option
v-for="(item,index) in timeRangeList" v-for="(item,index) in timeRangeList"
...@@ -87,7 +87,8 @@ ...@@ -87,7 +87,8 @@
<script> <script>
import BreadCrumb from "@/components/breadcrumb"; import BreadCrumb from "@/components/breadcrumb";
import { mapState, mapActions} from 'vuex' import { mapState, mapActions} from 'vuex'
import {deletePlan} from '@/utils/followup/followapis' import {deletePlan, getVerifyStatus} from '@/utils/followup/followapis'
import { getSaasDomain } from '@/utils/index'
export default { export default {
components:{ components:{
BreadCrumb, BreadCrumb,
...@@ -156,10 +157,33 @@ ...@@ -156,10 +157,33 @@
}) })
}, },
created() { created() {
this.search(1); this.init();
}, },
watch: {},
methods: { methods: {
...mapActions('planManage', ['getPlanList', 'setResidentCrumb', 'setPlanModifyCrumb']), ...mapActions('planManage', ['getPlanList', 'setResidentCrumb', 'setPlanModifyCrumb']),
init() {
getVerifyStatus().then((res) => {
if(res.code === '000000') {
this.search(1);
}else if(res.code === '200008'){
this.$confirm(`${res.message}`, '提示', {
confirmButtonText: '去认证',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
//confirmButton操作
window.location.href = getSaasDomain(`/saas/pica_personal_edit.html?ZmxhZz0x`);
}).catch(() => {
//cancelButton操作
this.$router.push({path: '/'})
});
}else {
this.$message.error(res.message);
this.$router.push({path: '/'})
}
})
},
async search(currentPage){ async search(currentPage){
await this.getPlanList({ await this.getPlanList({
...this.searchData, ...this.searchData,
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</el-breadcrumb-item> </el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
</div> </div>
<div class="new-plan-content f-main-content screenSet"> <div class="new-plan-content f-main-content screenSet" id="screenSet">
<div class="header"> <div class="header">
<div class="title"> <div class="title">
<span>修改计划</span> <span>修改计划</span>
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
v-model="planDetailData.remarksStatus" v-model="planDetailData.remarksStatus"
placeholder="请选择随访种类" placeholder="请选择随访种类"
size="small" size="small"
:popper-append-to-body="false"
clearable> clearable>
<el-option <el-option
v-for="item in remarkOption" v-for="item in remarkOption"
...@@ -92,6 +93,8 @@ ...@@ -92,6 +93,8 @@
import addPatientTime from '@/views/followup/plan-manage/dialog/add-patient-time'; import addPatientTime from '@/views/followup/plan-manage/dialog/add-patient-time';
import { mapState, mapActions } from 'vuex' import { mapState, mapActions } from 'vuex'
import * as commonUtil from '../../../utils/utils'
export default { export default {
name: "plan-modify", name: "plan-modify",
components: { components: {
...@@ -152,6 +155,10 @@ ...@@ -152,6 +155,10 @@
let planModifyCrumbList = sessionStorage.getItem('planModifyCrumb'); let planModifyCrumbList = sessionStorage.getItem('planModifyCrumb');
this.planModifyCrumb = JSON.parse(planModifyCrumbList); this.planModifyCrumb = JSON.parse(planModifyCrumbList);
}, },
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight()
},
computed: { computed: {
...mapState('planManage', { ...mapState('planManage', {
planDetail: state => state.planDetail, planDetail: state => state.planDetail,
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<el-input v-model="searchData.mobile" size="small" placeholder="请输入手机号" clearable></el-input> <el-input v-model="searchData.mobile" size="small" placeholder="请输入手机号" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="分组:" prop="labelId"> <el-form-item label="分组:" prop="labelId">
<el-select v-model="searchData.labelId" size="small" clearable> <el-select v-model="searchData.labelId" size="small" clearable :popper-append-to-body="false">
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
<el-option <el-option
v-for="item in groupList" v-for="item in groupList"
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="随访开始时间:" prop="startDate" size="small"> <el-form-item label="随访开始时间:" prop="startDate" size="small">
<el-select v-model="searchData.startDate" size="small" clearable> <el-select v-model="searchData.startDate" size="small" clearable :popper-append-to-body="false">
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
<el-option <el-option
v-for="(item, index) in followStartTimeList" v-for="(item, index) in followStartTimeList"
......
...@@ -61,11 +61,11 @@ ...@@ -61,11 +61,11 @@
<span :class="scope.row.status == 1 ? 'status-span': ''">{{ scope.row.status | statusFileter }}</span> <span :class="scope.row.status == 1 ? 'status-span': ''">{{ scope.row.status | statusFileter }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" fixed="right" align="center" min-width="300"> <el-table-column label="操作" fixed="right" align="center" min-width="260">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button class="btn-right-class" type="text" @click="editRow(scope.row)">随访录入</el-button>| <el-button class="btn-right-class" type="text" @click="editRow(scope.row)">随访录入</el-button>|
<el-button class="btn-right-class" type="text" @click="changeStatusRow(scope.row)"> 变更随访状态</el-button>| <el-button class="btn-right-class" type="text" @click="changeStatusRow(scope.row)"> 变更随访状态</el-button>
<el-button type="text" @click="sendRow(scope.row)">发送患教</el-button> <!--|<el-button type="text" @click="sendRow(scope.row)">发送患教</el-button>-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
......
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
:current-page="reservationList.pageNo" :current-page="reservationList.pageNo"
:page-sizes="[10, 20, 50, 100]" :page-sizes="[10, 20, 50, 100]"
:page-size="reservationList.pageSize" :page-size="reservationList.pageSize"
:total="reservationList.count"> :total="statusTotal">
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
...@@ -197,15 +197,17 @@ ...@@ -197,15 +197,17 @@
getRowKeys(row) { getRowKeys(row) {
return row.fuPlanPatientTimesId; return row.fuPlanPatientTimesId;
}, },
statusTotal: null, //每种状态的总数
} }
}, },
created() { created() {
}, },
mounted() { mounted() {
if(this.$route.query.planName && this.$route.query.appointTime) { if(this.$route.query.planName && this.$route.query.appointTime && this.$route.query.status) {
this.searchData.planName = this.$route.query.planName; this.searchData.planName = this.$route.query.planName;
this.searchData.planTimes = [this.$route.query.appointTime,this.$route.query.appointTime]; this.searchData.planTimes = [this.$route.query.appointTime,this.$route.query.appointTime];
this.status = this.$route.query.status
this.getReservationList({ this.getReservationList({
planName: this.$route.query.planName, planName: this.$route.query.planName,
beginTime: this.$route.query.appointTime, beginTime: this.$route.query.appointTime,
...@@ -429,7 +431,21 @@ ...@@ -429,7 +431,21 @@
pageSize: 10, pageSize: 10,
...this.setSearchData() ...this.setSearchData()
}) })
} },
reservationList(val) {
if(this.status == 1) {
this.statusTotal = val.unSendCount
} else if (this.status == 2) {
this.statusTotal = val.waitAcceptCount
} else if (this.status == 3) {
this.statusTotal = val.acceptedCount
} else if(this.status == 4) {
this.statusTotal = val.refusedCount
} else {
this.statusTotal = val.count
}
},
} }
} }
</script> </script>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<el-table-column prop="fuTypeStr" label="随访方式" align="center"></el-table-column> <el-table-column prop="fuTypeStr" label="随访方式" align="center"></el-table-column>
<el-table-column prop="content" label="操作" align="center"> <el-table-column prop="content" label="操作" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span class="text-btn">随访录入</span> | <span class="text-btn" @click="changeFollowStatus(scope.row)">变更随访状态</span> <span class="text-btn" @click="goToScale(scope.row)">随访录入</span> | <span class="text-btn" @click="changeFollowStatus(scope.row)">变更随访状态</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
style="width: 100%"> style="width: 100%">
<el-table-column prop="planName" label="随访计划名称" align="center"></el-table-column> <el-table-column prop="planName" label="随访计划名称" align="center"></el-table-column>
<el-table-column prop="appointTime" label="随访计划时间" align="center"></el-table-column> <el-table-column prop="appointTime" label="随访计划时间" align="center"></el-table-column>
<el-table-column prop="hasAppointed" label="已经预约" align="center"></el-table-column> <el-table-column prop="appointedCount" label="已经预约" align="center"></el-table-column>
<el-table-column prop="notAppointedCount" label="未预约" align="center"></el-table-column> <el-table-column prop="notAppointedCount" label="未预约" align="center"></el-table-column>
<el-table-column prop="content" label="操作" align="center"> <el-table-column prop="content" label="操作" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -72,6 +72,17 @@ ...@@ -72,6 +72,17 @@
</el-row> </el-row>
</div> </div>
<change-followup-status :isShowChangeDialog="isShowChangeDialog" :statusForm="statusForm" @closeChangeStatus="closeChangeStatus()"></change-followup-status> <change-followup-status :isShowChangeDialog="isShowChangeDialog" :statusForm="statusForm" @closeChangeStatus="closeChangeStatus()"></change-followup-status>
<el-dialog title="选择量表"
:visible.sync="selectFormShow"
center
:close-on-click-modal="false"
:close-on-press-escape="false"
width="400px"
:before-close="closeForm">
<div class="list-content">
<p v-for="(item, index) in formList" :key="index" @click="goFormView(item)">{{item.sendContent}}</p>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
...@@ -100,6 +111,8 @@ export default { ...@@ -100,6 +111,8 @@ export default {
appointBtn: true, appointBtn: true,
isShowChangeDialog: false, isShowChangeDialog: false,
statusForm: {}, statusForm: {},
selectFormShow: false,
ScaleData: {}
} }
}, },
created() { created() {
...@@ -123,7 +136,10 @@ export default { ...@@ -123,7 +136,10 @@ export default {
todayPlansList: state => state.todayPlansList, todayPlansList: state => state.todayPlansList,
todayAppointsList: state => state.todayAppointsList, todayAppointsList: state => state.todayAppointsList,
todayOverview: state => state.todayOverview, todayOverview: state => state.todayOverview,
}) }),
...mapState('recordManage',{
formList: state => state.formList,
}),
}, },
// 挂载到Dom完成时 // 挂载到Dom完成时
mounted: function() { mounted: function() {
...@@ -131,6 +147,7 @@ export default { ...@@ -131,6 +147,7 @@ export default {
}, },
methods: { methods: {
...mapActions('workbench', ['getTodayPlansList', 'getTodayAppointsList', 'getTodayOverview']), ...mapActions('workbench', ['getTodayPlansList', 'getTodayAppointsList', 'getTodayOverview']),
...mapActions('recordManage', ['getFormList']),
// 查看更多 // 查看更多
lookMore(type) { lookMore(type) {
if(type==1) { if(type==1) {
...@@ -172,7 +189,7 @@ export default { ...@@ -172,7 +189,7 @@ export default {
}); });
}, },
goToReservation(planName, appointTime) { goToReservation(planName, appointTime) {
this.$router.push({path: '/followup/reservation-manage/reservation-list', query: {planName: planName, appointTime:appointTime}}); this.$router.push({path: '/followup/reservation-manage/reservation-list', query: {planName: planName, appointTime:appointTime, status: 1}});
}, },
closeChangeStatus(val){ closeChangeStatus(val){
this.isShowChangeDialog = val; this.isShowChangeDialog = val;
...@@ -186,6 +203,30 @@ export default { ...@@ -186,6 +203,30 @@ export default {
status: status status: status
}) })
}, },
goFormView(item) {
this.selectFormShow = false
this.$router.push({path: '/followup/record-manage/form-template',
query: {doctorId: this.ScaleData.doctorId, scaleNo: item.resourceId, planPatientsTimesId: this.ScaleData.planPatientTimesId}});
},
closeForm() {
this.selectFormShow = false;
},
goToScale(row) {
this.getFormList(row.planPatientTimesId); //获取量表列表
//获取量表列表情况
if(this.formList.length > 1){
this.selectFormShow = true
this.ScaleData = {
doctorId: row.doctorId,
scaleNo: row.planPatientTimesId
}
}else if(this.formList.length === 1){
this.$router.push({path: '/followup/record-manage/form-template',
query: {doctorId: row.doctorId, scaleNo: item.resourceId, planPatientsTimesId: row.planPatientTimesId}})
}else {
this.$message.warning('暂不支持录入量表!')
}
},
changeFollowStatus(row) { changeFollowStatus(row) {
this.statusForm = { this.statusForm = {
fuPlanPatientTimesId: row.planPatientTimesId, fuPlanPatientTimesId: row.planPatientTimesId,
......
...@@ -55,7 +55,12 @@ export default { ...@@ -55,7 +55,12 @@ export default {
if(vm.idType == 1) { // 内部 if(vm.idType == 1) { // 内部
window.location.href = getInnerLoginUrl() window.location.href = getInnerLoginUrl()
} else { } else {
window.location.href = getLoginUrl('?from=work&type=logout') if(window.location.host.indexOf("work.yunqueyi") != -1) {
window.location.href = getLoginUrl('?from=work&type=logout')
} else {
this.$router.push('/login')
}
} }
} }
if(command === 'forward') { if(command === 'forward') {
......
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册