提交 0d90f9cf 编写于 作者: chendeli's avatar chendeli

merage

...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
import VHeader from './views/layout/header.vue' import VHeader from './views/layout/header.vue'
import VSlidebar from './views/layout/slidebar.vue' import VSlidebar from './views/layout/slidebar.vue'
import VFooter from './views/layout/footer.vue' import VFooter from './views/layout/footer.vue'
import { base64decode, isNotEmptyUtils, getUrlParamsMap } from "./utils/utils.js" import { base64decode, isNotEmptyUtils, getUrlParamsMap, ssoLogin } from "./utils/utils.js"
import { mapActions, mapGetters } from 'vuex' import { mapActions, mapGetters } from 'vuex'
import { getLoginUrl, getInnerLoginUrl } from './utils/index.js' import { getLoginUrl, getInnerLoginUrl } from './utils/index.js'
let vm = null let vm = null
...@@ -62,9 +62,10 @@ export default { ...@@ -62,9 +62,10 @@ export default {
let paramStr = href.substring(offset + 1, href.length) let paramStr = href.substring(offset + 1, href.length)
let pars = base64decode(paramStr) let pars = base64decode(paramStr)
let paramMap = getUrlParamsMap(pars, "&") let paramMap = getUrlParamsMap(pars, "&")
if (isNotEmptyUtils(paramMap["token"])) { if (isNotEmptyUtils(paramMap["token"]) && isNotEmptyUtils(paramMap["ssoOrigin"])) {
vm.token = paramMap["token"] vm.token = paramMap["token"]
localStorage.setItem('storageToken', vm.token) localStorage.setItem('storageToken', vm.token)
ssoLogin(href, paramMap)
//vm.$router.push({ path: 'home' }) //vm.$router.push({ path: 'home' })
} else { } else {
if(!localStorage.getItem('storageToken')) { if(!localStorage.getItem('storageToken')) {
......
...@@ -6,10 +6,13 @@ const blank = r => require.ensure([], () => r(require('../views/blank')), 'blank ...@@ -6,10 +6,13 @@ const blank = r => require.ensure([], () => r(require('../views/blank')), 'blank
const discuss = r => require.ensure([], () => r(require('../views/discuss/index.vue')), 'index') const discuss = r => require.ensure([], () => r(require('../views/discuss/index.vue')), 'index')
const creatDiscuss = r => require.ensure([], () => r(require('../views/discuss/add-edit.vue')), 'creatDiscuss') const creatDiscuss = r => require.ensure([], () => r(require('../views/discuss/add-edit.vue')), 'creatDiscuss')
const questionNaire = r => require.ensure([], () => r(require('../views/question-naire/question-list.vue')), 'questionNaire')
const topicList = r => require.ensure([], () => r(require('../views/topicManage/index.vue')), 'topicList') const topicList = r => require.ensure([], () => r(require('../views/topicManage/index.vue')), 'topicList')
const reportSet = r => require.ensure([], () => r(require('../views/report/reportSet.vue')), 'reportSet') const reportSet = r => require.ensure([], () => r(require('../views/report/reportSet.vue')), 'reportSet')
export default [{ export default [{
path: '/', path: '/',
component: App, component: App,
...@@ -18,8 +21,8 @@ export default [{ ...@@ -18,8 +21,8 @@ export default [{
path: '', path: '',
redirect: '/home' redirect: '/home'
},{ },{
path: '/index', path: '/questionNaire',
component: home component: questionNaire
},{ },{
path: '/home', path: '/home',
component: home component: home
...@@ -32,6 +35,10 @@ export default [{ ...@@ -32,6 +35,10 @@ export default [{
{ {
path: '/creat-discuss', path: '/creat-discuss',
component: creatDiscuss component: creatDiscuss
},
{
path: '/question-naire',
component: questionNaire
}, },
{ {
path: '/topic-list', path: '/topic-list',
...@@ -42,6 +49,5 @@ export default [{ ...@@ -42,6 +49,5 @@ export default [{
component: reportSet component: reportSet
}, },
] ]
}] }]
\ No newline at end of file
...@@ -6,14 +6,8 @@ ...@@ -6,14 +6,8 @@
// 分页大小 // 分页大小
export const PAGE_SIZE = 10 export const PAGE_SIZE = 10
// 添加动作常量 // 问卷--模板下载
export const ACTION_TYPE_ADD = 'ACTION_TYPE_ADD' export const QUESTION_UPLOAD_TEMPLATE = 'https://files.yunqueyi.com/application/vnd.openxmlformats-officedocument.spreadsheetml.sheet/common/20190410160755914.xlsx'
// 修改动作常量
export const ACTION_TYPE_UPDATE = 'ACTION_TYPE_UPDATE'
// 删除动作常量
export const ACTION_TYPE_DELETE = 'ACTION_TYPE_DELETE'
/* 是否使用Mock数据 */ /* 是否使用Mock数据 */
export const IS_MOCK_DATAS = true export const IS_MOCK_DATAS = true
......
...@@ -152,6 +152,25 @@ const vueFilter = { ...@@ -152,6 +152,25 @@ const vueFilter = {
return '普通用户' return '普通用户'
} }
}, },
// 问卷
questionStatus: (value) => {
if(value == 1) {
return '下线'
}else {
return '上线'
}
},
modifyType: (value,data) => {
let userName = ''
for(let i=0; i < data.length;i++) {
if(value == data[i].id) {
userName = data[i].userName
break
}else {
userName = ''
}
}
return userName
}
} }
export default vueFilter export default vueFilter
\ No newline at end of file
...@@ -109,164 +109,6 @@ const doQiniuAction1 = (fileType) => { ...@@ -109,164 +109,6 @@ const doQiniuAction1 = (fileType) => {
}); });
}; };
/**
*
* @param self
* @param file
* @param filePath
* @param previewId
* @param progressId
* @returns {Promise}
*/
export const qiniuUpload = (self, file, filePath, previewId, progressId) => {
// var deferred = $q.defer();
return new Promise(function (resolve, reject) {
if (isEmptyUtils(file) || isEmptyUtils(filePath)) {
console.error('七牛上传失败:非法参数');
reject();
}
let key = filePath ? filePath : getFilePath(file);
//修改状态为上传
self.qiniuUploadStatus = true;
// let token = "BRVB4TpxVFA5Wo6lIpfltmWKOltzGar46tvC3BlR:UHn0LDElwjP4jEZTXdq_1qV6_hw=:eyJzY29wZSI6InBpY2EtdGVzdCIsInJldHVybkJvZHkiOiJ7XCJrZXlcIjpcIiQoa2V5KVwiLFwiaGFzaFwiOlwiJChldGFnKVwiLFwiYnVja2V0XCI6XCIkKGJ1Y2tldClcIixcImZzaXplXCI6JChmc2l6ZSksXCJmbmFtZVwiOiQoZm5hbWUpLFwiZXh0XCI6JChleHQpfSIsImRlYWRsaW5lIjoxNTI5NDk0MTc1fQ==";
doQiniuAction().then(function (token) {
let putExtra = {
fname: file.name, //原文件名
params: {}, //用来放置自定义变量
mimeType: mimeTypeArray || null //null || array,用来限制上传文件类型,为 null 时表示不对文件类型限制;限制类型放到数组里: ["image/png", "image/jpeg", "image/gif"]
};
let config = {
useCdnDomain: true, //表示是否使用 cdn 加速域名,为布尔值,true 表示使用,默认为 false。
region: null //选择上传域名区域;当为 null 或 undefined 时,自动分析上传域名区域
};
/*
* qiniu.upload 返回一个 observable 对象用来控制上传行为,observable 对像通过 subscribe 方法可以被 observer 所订阅,
* 订阅同时会开始触发上传,同时返回一个 subscription 对象,该对象有一个 unsubscribe 方法取消订阅,同时终止上传行为。
* */
let observable = qiniu.upload(file, key, token, putExtra, config);
/**
* 接收上传进度信息,res 参数是一个带有 total 字段的 object,包含loaded、total、percent三个属性,提供上传进
* total.loaded: number,已上传大小,单位为字节。
* total.total: number,本次上传的总量控制信息,单位为字节,注意这里的 total 跟文件大小并不一致。
* total.percent: number,当前上传进度,范围:0~100
* */
let next = function (res) {
//res值{"total":{"loaded":18184,"size":18185,"percent":99.99450096233159}}
//获取百分比进度
let progress = res.total.percent.toFixed(2);
self.uploadProgress = Number(progress);
console.log('Progress: ' + progress);
//如果有进度条
/*if (isNotEmptyUtils(progressId)) {
let obj = $("#" + progressId);
//开始上传时,显示进度条
if (isNotEmptyUtils(obj.parent())) {
//修改状态为上传
// status = true;
self.qiniuUploadStatus = true;
obj.parent().removeClass("hidden");
obj.fadeIn("fast");
}
obj.css("width", progress + '%');
obj.text(progress + '%');
//上传完成,2秒后淡出进度条
if (progress === "100.00") {
//修改状态为非上传
// status = false;
self.qiniuUploadStatus = true;
obj.fadeOut(2000);
}
}*/
};
/**
* 接收上传完成后的后端返回信息,res 参数为一个 object, 为上传成功后后端返回的信息
* ,具体返回结构取决于后端sdk的配置,可参考上传策略(https://developer.qiniu.com/kodo/manual/1206/put-policy)
* */
let complete = function (res) {
console.log("七牛上传完成");
setTimeout(function(){
result.key = res.key;
result.path = '/' + res.key;
result.fullPath = domain + '/' + res.key + '?v=' + new Date().getTime();
result.size = res.fsize;
result.name = res.fname ;
result.ext = res.ext;
// deferred.resolve(result);
resolve(result);
// self.model.qCloudUrl = result.fullPath;
// $("#introVideoLecture").attr("src", self.model.qCloudUrl);
//修改状态为非上传
// status = false;
self.qiniuUploadStatus = false;
if (isNotEmptyUtils(previewId)) {
let address = domain + result.path;
console.log('文件路径: ' + address);
//显示图片
let $img = $('<img>').attr("src", address);
let obj = $("#" + previewId);
obj.empty().append($img);
obj.css('max-width', '100%');
}
},2000);
};
/**
* 上传错误后触发,当不是 xhr 请求错误时,会把当前错误产生原因直接抛出,诸如 JSON 解析异常等;当产生 xhr 请求错误时,参数 err 为一个包含 code、message、isRequestError 三个属性的 object:
* err.isRequestError: 用于区分是否 xhr 请求错误;当 xhr 请求出现错误并且后端通过 HTTP 状态码返回了错误信息时,该参数为 true;否则为 undefined 。
* err.reqId: string,xhr请求错误的 X-Reqid。
* err.code: number,请求错误状态码,只有在 err.isRequestError 为 true 的时候才有效,可查阅码值对应说明。
* err.message: string,错误信息,包含错误码,当后端返回提示信息时也会有相应的错误信息。
* */
let error = function (err) {
//修改状态为非上传
// status = false;
self.qiniuUploadStatus = false
localStorage.removeItem('qiniuToken');
console.log("七牛上传失败,详细信息请参考:https://developer.qiniu.com/kodo/api/3928/error-responses");
//输出简略错误信息
if (err.isRequestError){
qiniuErrorCheck(err.code)
}else {
console.error(err);
}
/*modalClick("提示", "上传失败!", "确定", function () {
$('#model-modify').modal('hide');
}, "", null);*/
// deferred.reject(new Error('七牛上传失败'));
// return deferred.promise;
return reject(new Error('七牛上传失败'));
};
// 上传开始
subscription = observable.subscribe(next, error, complete);
});
// return deferred.promise;
});
};
/** /**
* 获取时间戳 * 获取时间戳
* @param {Date} [date]日期对象,为空时,返回当前时间戳 * @param {Date} [date]日期对象,为空时,返回当前时间戳
......
...@@ -440,7 +440,7 @@ export const ssoLogin = (href, paramMap) => { ...@@ -440,7 +440,7 @@ export const ssoLogin = (href, paramMap) => {
} }
} }
//获取用户系统信息 //获取用户系统信息
initEnvironment(); // initEnvironment();
} }
}; };
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</div> </div>
<!--导航--> <!--导航-->
<div class="user-info"> <div class="user-info">
<el-dropdown trigger="click" @command="handleCommand"> <el-dropdown trigger="click">
<span class="el-dropdown-link"> <span class="el-dropdown-link">
{{'系统切换'}}<i class="el-icon-arrow-down el-icon--right"></i> {{'系统切换'}}<i class="el-icon-arrow-down el-icon--right"></i>
</span> </span>
...@@ -32,12 +32,14 @@ ...@@ -32,12 +32,14 @@
</template> </template>
<script> <script>
import { getLoginUrl,getInnerLoginUrl, getYunQueYiUrl } from '../../utils/index.js' import { getLoginUrl,getInnerLoginUrl, getYunQueYiUrl } from '../../utils/index.js'
import { logout, base64encode } from '../../utils/utils.js'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
let vm = null let vm = null
export default { export default {
props: { props: {
userName: { userName: {
type: String type: String,
default: ''
}, },
authList: { authList: {
type: Array type: Array
...@@ -61,11 +63,42 @@ export default { ...@@ -61,11 +63,42 @@ export default {
methods: { methods: {
handleCommand(command) { handleCommand(command) {
if (command === 'logout') { if (command === 'logout') {
localStorage.removeItem('storageToken') let req = {
window.location.href = getInnerLoginUrl() token: localStorage.getItem('storageToken')
}
vm.POST('/contents/login/log_out',req).then((res) => {
localStorage.removeItem('storageToken')
window.location.href = getInnerLoginUrl()
//logout()
})
} }
if(command === 'forward') { },
forward(obj) {
let self = this;
if (obj.systemNameAbbreviation.toLowerCase() === "sso") {
window.location.href = obj.domainName + "pica_index.html";
} else {
let req = {
system_type: obj.id
};
vm.POST('/contents/login/forward_page', req).then(function (data) {
let forwardData = JSON.parse(JSON.stringify(data.data));//通过这个实现深拷贝
let url = forwardData.picapMenuModels[0].url;
if (url.length > 1) {
// window.location.href = url;
} else {
url = forwardData.picapMenuModels[0].picapSecondMenus[0].url;
if (url.length > 1) {
// window.location.href = url;
} else {
url = forwardData.picapMenuModels[0].picapSecondMenus[0].picapThirdMenus[0].url;
}
}
let param = "token=" + localStorage.getItem("storageToken") + "&ssoOrigin=" + localStorage.getItem("ssoOrigin") + "&system_type=" + obj.id;
window.location.href = obj.domainName + url + "?" + base64encode(param);
}, function (error) {
errorResponseCheck(error, self);
});
} }
} }
} }
......
...@@ -44,13 +44,16 @@ export default { ...@@ -44,13 +44,16 @@ export default {
icon: 'el-icon-setting', icon: 'el-icon-setting',
index: 'discuss-list' index: 'discuss-list'
}, },
// { {
// title: '话题管理', title: '问卷管理',
// icon: 'el-icon-setting', icon: 'el-icon-setting',
// index: 'topic-list' index: 'question-naire'
// }, },
{
title: '举报管理',
icon: 'el-icon-setting',
index: 'report-set'
}
] ]
}, },
......
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册