提交 0a707241 编写于 作者: Yuanzhao.dai's avatar Yuanzhao.dai

Merge branch 'dev-eduadmin-20190222' into dev-followUp-20190312

# Conflicts:
#	src/utils/env-config.js
#	src/views/home.vue
...@@ -7,4 +7,3 @@ dist/ ...@@ -7,4 +7,3 @@ dist/
node_modules/ node_modules/
.DS_Store .DS_Store
.vscode .vscode
src/utils/envConfig.js
\ No newline at end of file
...@@ -47,6 +47,7 @@ var webpackConfig = merge(baseWebpackConfig, { ...@@ -47,6 +47,7 @@ var webpackConfig = merge(baseWebpackConfig, {
new HtmlWebpackPlugin({ new HtmlWebpackPlugin({
filename: config.build.index, filename: config.build.index,
template: 'index.html', template: 'index.html',
favicon: 'favicon.ico',
inject: true, inject: true,
// minify: { // minify: {
// removeComments: true, // removeComments: true,
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
<html> <html>
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta content="云鹊医,云鹊健康,工作站,项目管理,教培项目,学情报告,随访管理,预约随访" name="keywords">
<meta content="云鹊医工作站用于管理人员的日常操作,支持提交内容审核、管理项目、管理随访计划等功能。" name="description">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
<meta name="screen-orientation" content="portrait"/> <meta name="screen-orientation" content="portrait"/>
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
......
...@@ -67,12 +67,14 @@ export default { ...@@ -67,12 +67,14 @@ export default {
localStorage.setItem('storageToken', vm.token) localStorage.setItem('storageToken', vm.token)
vm.$router.push({ path: 'home' }) vm.$router.push({ path: 'home' })
} else { } else {
window.location.href = getLoginUrl() // 没有token返回登录页面 if(!localStorage.getItem('storageToken')) {
window.location.href = getLoginUrl('?from=work&type=logout') // 没有token返回登录页面
return return
} }
}
}else { }else {
if(!localStorage.getItem('storageToken')) { if(!localStorage.getItem('storageToken')) {
window.location.href = getLoginUrl() // 没有token返回登录页面 window.location.href = getLoginUrl('?from=work&type=logout') // 没有token返回登录页面
return return
} }
} }
...@@ -82,7 +84,8 @@ export default { ...@@ -82,7 +84,8 @@ export default {
// 修改token // 修改token
...mapActions([ ...mapActions([
'changeToken', 'changeToken',
'changeIdType' 'changeIdType',
'changeMaster'
]), ]),
// 获取用户权限 // 获取用户权限
getUserAuth(token) { getUserAuth(token) {
...@@ -90,13 +93,18 @@ export default { ...@@ -90,13 +93,18 @@ export default {
req = { req = {
token: token token: token
} }
vm.GET('common/v1/role',req).then((res) => { vm.GET('portal/common/v1/role',req).then((res) => {
if(res.code == '000000') { if(res.code == '000000') {
vm.changeIdType(res.data.idType) vm.changeIdType(res.data.idType)
vm.changeMaster(res.data.masterAdministratorFlag)
localStorage.setItem('storageIdType', res.data.idType)
localStorage.setItem('storageMaster', res.data.masterAdministratorFlag)
vm.idType = res.data.idType vm.idType = res.data.idType
vm.userName = res.data.name vm.userName = res.data.name
vm.portrait = res.data.imageUrl vm.portrait = res.data.imageUrl
vm.authList = res.data.auth vm.authList = res.data.auth
} else {
vm.$message.info(res.message)
} }
}) })
} }
......
// import "@babel/polyfill"; import "@babel/polyfill";
import Vue from 'vue' import Vue from 'vue'
import VueRouter from 'vue-router' import VueRouter from 'vue-router'
import routes from './router/router' import routes from './router/router'
......
const common = { const common = {
state: { state: {
_token: '', _token: '',
idType: '' idType: '',
masterAdministratorFlag: false
}, },
mutations: { mutations: {
CHANGE_TOKEN: (state, data) => { CHANGE_TOKEN: (state, data) => {
...@@ -9,6 +10,9 @@ const common = { ...@@ -9,6 +10,9 @@ const common = {
}, },
CHANGE_IDTYPE: (state, data) => { CHANGE_IDTYPE: (state, data) => {
state.idType = data state.idType = data
},
CHANGE_MASTER: (state, data) => {
state.masterAdministratorFlag = data
} }
}, },
actions: { actions: {
...@@ -17,6 +21,9 @@ const common = { ...@@ -17,6 +21,9 @@ const common = {
}, },
changeIdType({ commit }, idTypeData) { changeIdType({ commit }, idTypeData) {
commit('CHANGE_IDTYPE', idTypeData) commit('CHANGE_IDTYPE', idTypeData)
},
changeMaster({ commit }, masterData) {
commit('CHANGE_MASTER', masterData)
} }
} }
} }
......
const getters = { const getters = {
_token: state => state.common._token, _token: state => state.common._token,
idType: state => state.common.idType idType: state => state.common.idType,
masterAdministratorFlag: state => state.common.masterAdministratorFlag
} }
export default getters export default getters
...@@ -125,7 +125,7 @@ html,body{ ...@@ -125,7 +125,7 @@ html,body{
.screenSet{ .screenSet{
// width: 163vh !important; // width: 163vh !important;
// height: 66vh !important; // height: 66vh !important;
height: 430px !important; // height: 430px !important;
margin: 88px 30px 0px; margin: 88px 30px 0px;
overflow: auto; overflow: auto;
} }
...@@ -134,7 +134,7 @@ html,body{ ...@@ -134,7 +134,7 @@ html,body{
.screenSet{ .screenSet{
// width: 166vh !important; // width: 166vh !important;
// height: 78vh !important; // height: 78vh !important;
height: 800px !important; // height: 800px !important;
overflow: auto; overflow: auto;
margin: 88px 30px 0px; margin: 88px 30px 0px;
} }
......
...@@ -9,8 +9,8 @@ export const envConfig = { ...@@ -9,8 +9,8 @@ export const envConfig = {
// baseUrl: 'https://test1-sc.yunqueyi.com/', // baseUrl: 'https://test1-sc.yunqueyi.com/',
//baseUrl: 'https://uat-sc.yunqueyi.com/', //baseUrl: 'https://uat-sc.yunqueyi.com/',
baseUrl: 'http://dev-sc.yunqueyi.com/portal/', baseUrl: 'https://dev-sc.yunqueyi.com/',
qiniuFileUrl: "http://localhost:10201/contents/admin/qiniu/token1", qiniuFileUrl: "https://dev-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com", qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com", qiniuImgUrl: "https://test1-file.yunqueyi.com",
loginUrl: 'https://dev-saas.yunqueyi.com/pica-login/work_station.html', loginUrl: 'https://dev-saas.yunqueyi.com/pica-login/work_station.html',
...@@ -20,7 +20,7 @@ export const envConfig = { ...@@ -20,7 +20,7 @@ export const envConfig = {
followUpSC: 'https://dev-sc.yunqueyi.com' followUpSC: 'https://dev-sc.yunqueyi.com'
}, },
dev: { dev: {
baseUrl: 'https://dev-sc.yunqueyi.com/portal/', baseUrl: 'https://dev-sc.yunqueyi.com/',
qiniuFileUrl: "https://dev-sc.yunqueyi.com/contents/admin/qiniu/token1", qiniuFileUrl: "https://dev-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com", qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com", qiniuImgUrl: "https://test1-file.yunqueyi.com",
...@@ -30,33 +30,33 @@ export const envConfig = { ...@@ -30,33 +30,33 @@ export const envConfig = {
followUpSC: 'https://dev-sc.yunqueyi.com' followUpSC: 'https://dev-sc.yunqueyi.com'
}, },
test: { test: {
baseUrl: 'https://test1-sc.yunqueyi.com/portal/', baseUrl: 'https://test1-sc.yunqueyi.com/',
qiniuFileUrl: "https://test1-sc.yunqueyi.com/contents/admin/qiniu/token1", qiniuFileUrl: "https://test1-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://test1-videos.yunqueyi.com", qiniuResourceUrl: "https://test1-videos.yunqueyi.com",
qiniuImgUrl: "https://test1-file.yunqueyi.com", qiniuImgUrl: "https://test1-file.yunqueyi.com",
loginUrl: 'https://test1-saas.yunqueyi.com/pica-login/work_station.html', loginUrl: 'https://test1.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://test1-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html', innerLoginUrl: 'https://test1-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://test-saas.yunqueyi.com/pica_index.html', followUpSC: 'https://test1-sc.yunqueyi.com',
followUpSC: 'https://test1-sc.yunqueyi.com' yuequeyiIndexUrl: 'https://test1.yunqueyi.com/pica_index.html'
}, },
uat: { uat: {
baseUrl: 'https://uat-sc.yunqueyi.com/portal/', baseUrl: 'https://uat-sc.yunqueyi.com/',
qiniuFileUrl: "https://uat-sc.yunqueyi.com/contents/admin/qiniu/token1", qiniuFileUrl: "https://uat-sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://videos.yunqueyi.com", // 视频 qiniuResourceUrl: "https://video.yunqueyi.com", // 视频
qiniuImgUrl: "https://file.yunqueyi.com", qiniuImgUrl: "https://files.yunqueyi.com",
loginUrl: 'https://uat-saas.yunqueyi.com/pica-login/work_station.html', loginUrl: 'https://uat.yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://uat-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html', innerLoginUrl: 'https://uat-sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://uat-saas.yunqueyi.com/pica_index.html', followUpSC: 'https://uat-sc.yunqueyi.com',
followUpSC: 'https://uat-sc.yunqueyi.com' yuequeyiIndexUrl: 'https://uat.yunqueyi.com/pica_index.html'
}, },
pro: { pro: {
baseUrl: 'https://sc.yunqueyi.com/portal/', baseUrl: 'https://sc.yunqueyi.com/',
qiniuFileUrl: "https://sc.yunqueyi.com/contents/admin/qiniu/token1", qiniuFileUrl: "https://sc.yunqueyi.com/contents/admin/qiniu/token1",
qiniuResourceUrl: "https://videos.yunqueyi.com", qiniuResourceUrl: "https://video.yunqueyi.com",
qiniuImgUrl: "https://file.yunqueyi.com", qiniuImgUrl: "https://files.yunqueyi.com",
loginUrl: 'https://saas.yunqueyi.com/pica-login/work_station.html', loginUrl: 'https://yunqueyi.com/pica-login/work_station.html',
innerLoginUrl: 'https://sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html', innerLoginUrl: 'https://sso.yunqueyi.com/PICA_SSO_FE/html/pica_index.html',
yuequeyiIndexUrl: 'https://saas.yunqueyi.com/pica_index.html', followUpSC: 'https://sc.yunqueyi.com',
followUpSC: 'https://sc.yunqueyi.com' yuequeyiIndexUrl: 'https://www.yunqueyi.com/pica_index.html'
} }
} }
...@@ -59,16 +59,14 @@ export default async(url = '', data = {}, type = 'POST', method = 'fetch',server ...@@ -59,16 +59,14 @@ export default async(url = '', data = {}, type = 'POST', method = 'fetch',server
} else { } else {
requestObj = new ActiveXObject; requestObj = new ActiveXObject;
} }
let sendData = ''; let sendData = '';
if (type == 'POST' || type == 'DELETE' || type == 'PUT') { if (type == 'POST' || type == 'DELETE' || type == 'PUT') {
sendData = JSON.stringify(data); sendData = JSON.stringify(data);
} }
requestObj.open(type, url, true); requestObj.open(type, url, true);
requestObj.setRequestHeader("Content-Type", "application/json"); requestObj.setRequestHeader("Content-Type", "application/json");
requestObj.setRequestHeader("sysCode", "3");
requestObj.send(sendData); requestObj.send(sendData);
requestObj.onreadystatechange = () => { requestObj.onreadystatechange = () => {
if (requestObj.readyState == 4) { if (requestObj.readyState == 4) {
if (requestObj.status == 200) { if (requestObj.status == 200) {
......
...@@ -39,11 +39,11 @@ service.interceptors.response.use( ...@@ -39,11 +39,11 @@ service.interceptors.response.use(
baseUrl时,返回000000为成功 baseUrl时,返回000000为成功
apiUrl时,返回200为成功 apiUrl时,返回200为成功
*/ */
if (res.code !== '000000' && response.respCode === 200) { // if (res.code !== '000000') {
return Promise.reject('error') // return Promise.reject('error')
} else { // } else {
return response.data return response.data
} // }
}, },
error => { error => {
// logger.error('err' + error) // logger.error('err' + error)
......
...@@ -127,17 +127,22 @@ const vueFilter = { ...@@ -127,17 +127,22 @@ const vueFilter = {
}, },
//项目管理 //项目管理
statusProject: (value) => { statusProject: (value) => {
if(value == 1) { //console.log(value)
if(value[0] == 1) {
return '草稿' return '草稿'
}else if(value == 2) { }else if(value[0] == 2) {
return '未上架' return '未上架'
}else if(value == 3) { }else if(value[0] == 3) {
return '审批中' if(value[1] == 1) {
}else if(value == 4) { return '待审核'
} else {
return '审核中'
}
}else if(value[0] == 4) {
return '已上架' return '已上架'
}else if(value == 5) { }else if(value[0] == 5) {
return '已下架' return '已下架'
}else { }else if(value[0] == 6) {
return '已拒绝' return '已拒绝'
} }
}, },
...@@ -148,7 +153,7 @@ const vueFilter = { ...@@ -148,7 +153,7 @@ const vueFilter = {
return '项目负责人' return '项目负责人'
}else if(value == "L3") { }else if(value == "L3") {
return '次级负责人' return '次级负责人'
} else if(value == "L4") { } else if(value == "L0") {
return '普通用户' return '普通用户'
} }
}, },
......
/** /**
* Created by Anndy Yang on 18/09/18. * Created by Anndy Yang on 18/09/18.
*/ */
import { envConfig } from '@/utils/envConfig' import { envConfig } from '@/utils/env-config'
export function setEventByModuleCode(itemData){ export function setEventByModuleCode(itemData){
let modeCode = itemData.appModuleInfo.code || ''; let modeCode = itemData.appModuleInfo.code || '';
...@@ -152,8 +152,8 @@ export function getQiniuToken1() { ...@@ -152,8 +152,8 @@ export function getQiniuToken1() {
} }
// 登录URL // 登录URL
export function getLoginUrl() { export function getLoginUrl(param) {
return getConfigByEnvType('loginUrl') return getConfigByEnvType('loginUrl') + param
} }
export function getInnerLoginUrl() { export function getInnerLoginUrl() {
return getConfigByEnvType('innerLoginUrl') return getConfigByEnvType('innerLoginUrl')
......
...@@ -12,7 +12,7 @@ module.exports = { ...@@ -12,7 +12,7 @@ module.exports = {
// this.token = this.getUrlSearch(location.href, 'token') || (query && query.token) || null // this.token = this.getUrlSearch(location.href, 'token') || (query && query.token) || null
// this.token = this.getUrlKey('token') || (query && query.token) || null // this.token = this.getUrlKey('token') || (query && query.token) || null
}, },
mounted() { mounted: function() {
}, },
methods: { methods: {
......
...@@ -111,19 +111,34 @@ let treeData = [ ...@@ -111,19 +111,34 @@ let treeData = [
]; ];
// 按钮type类型: 0-编辑 // 按钮type类型: 0-编辑
// 1-暂存 2-完成 3-上架 4-通过 5-下架 6-拒绝 // 1-暂存 2-完成 3-上架 4-通过 5-下架 6-拒绝
// 7- 提醒审核 8(5)-取消审核 9-删除 // 7- 提醒审核 8(2)-取消审核 9-删除
let buttonStatus = [ let buttonStatusIn = [
//L1 内部管理员 L2项目负责人 L3次级负责人 //L1 内部管理员 L2项目负责人 L3次级负责人
//草稿 //草稿
{ L1: "09", L2: "09", L3: "" }, { L1: "09", L2: "", L3: "" },
//未上架
{ L1: "039", L2: "039", L3: "0" },
//待审核、审批中
{ L1: "46", L2: "78", L3: "" },
//已上架
{ L1: "05", L2: "05", L3: "0" },
//已下架
{ L1: "039", L2: "039", L3: "0" },
//已拒绝/未上架
{ L1: "039", L2: "039", L3: "0" },
];
let buttonStatusOut = [
//L1 内部管理员 L2项目负责人 L3次级负责人
//草稿
{ L1: "", L2: "09", L3: "" },
//未上架 //未上架
{ L1: "09", L2: "039", L3: "0" }, { L1: "09", L2: "039", L3: "0" },
//待审、审批中 //待审、审批中
{ L1: "46", L2: "78", L3: "" }, { L1: "46", L2: "78", L3: "" },
//已上架 //已上架
{ L1: "05", L2: "05", L3: "5" }, { L1: "05", L2: "05", L3: "0" },
//已下架 //已下架
{ L1: "03", L2: "03", L3: "0" }, { L1: "039", L2: "039", L3: "0" },
//已拒绝/未上架 //已拒绝/未上架
{ L1: "09", L2: "039", L3: "0" }, { L1: "09", L2: "039", L3: "0" },
]; ];
...@@ -132,6 +147,7 @@ export function returnData() { ...@@ -132,6 +147,7 @@ export function returnData() {
data.tableOrganization = tableOrganization; data.tableOrganization = tableOrganization;
data.tablePerson = tablePerson; data.tablePerson = tablePerson;
data.treeData = treeData; data.treeData = treeData;
data.buttonStatus = buttonStatus; data.buttonStatusIn = buttonStatusIn;
data.buttonStatusOut = buttonStatusOut;
return data; return data;
} }
\ No newline at end of file
//求并集
export function getUnion(a, b) {
if (a.constructor === Array && b.constructor === Array) {
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1, ...set2]));
}
return null;
}
//求差集
export function getDifference(a, b) {
if (a.constructor === Array && b.constructor === Array) {
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1].filter(x => !set2.has(x))));
}
return null;
}
//求交集
export function getIntersect(a, b) {
if (a.constructor === Array && b.constructor === Array) {
let set1 = new Set(a);
let set2 = new Set(b);
return Array.from(new Set([...set1].filter(x => set2.has(x))));
}
return null;
}
//获取id的list
export function getIdList(data) {
let list = [];
if(typeof data === 'undefined') {
return list;
}
if (data.constructor === Array) {
for (let i = 0; i < data.length; i++) {
list.push(data[i].id);
}
}
return list;
}
//区域
export function getDivision(data) {
if (data === null || data == 'NaN') {
let empty = [];
return empty;
}
let list = data.split('|');
let num = [];
for (let i = 0; i < list.length; i++) {
num[i] = parseInt(list[i]);
}
//console.log(list);
return num;
}
export function getLevelList(data) {
let level = [];
level[0] = {
id: '-1',
label: '全部医院等级',
}
for (let i = 0; i < data.length; i++) {
let obj = {
id: data[i].no,
label: data[i].value,
}
level.push(obj);
}
//console.log(level);
return level;
}
function inTags(id, tags) {
let flag = false;
for (let i = 0; i < tags.length; i++) {
if (tags[i].key == id) {
flag = true;
}
}
return flag;
}
export function inOrganization(list, id) {
let flag = false;
if (list.length == 0) {
flag = true;
}
for (let i = 0; i < list.length; i++) {
if (list[i].id != id) {
flag = true;
}
}
return flag;
}
export function initTags(value) {
let tags = [];
for (let j = 0; j < value.length; j++) {
let tagsComponent = {};
tagsComponent.value = value.value;
tagsComponent[j].name = this.optionsComponent[j].label;
}
return tags;
}
//机构列表
export function getOrganizationList(data) {
let list = [];
list[0] = {
value: '0',
label: '全部机构',
};
for (let i = 0; i < data.length; i++) {
let obj = {
value: data[i].key,
label: data[i].name,
}
list.push(obj);
}
return list;
}
//机构列表
export function getHospitalList(data) {
let list = [];
list[0] = {
value: 0,
label: '全部医院',
};
for (let i = 0; i < data.length; i++) {
let obj = {
value: data[i].id,
label: data[i].name,
}
list.push(obj);
}
//console.log(list);
return list;
}
//拼树
export function changeTags(option) {
let list = [];
// for(let i=0;i<option.length;i++) {
// console.log(option[i].label);
// let obj = {
// name: option[i].name,
// key: option[i].key,
// }
// list.push(obj);
// }
console.log(option);
return option;
}
// 递归删除多余的节点
function handlerAction(treeData, selData) {
treeData.forEach((elem, index) => {
if (!isValuable(elem.value, selData)) {
treeData.splice(index, 1)
handlerAction(treeData, selData)
} else {
if (elem.children) {
handlerAction(elem.children, selData)
}
}
})
return treeData;
}
function isValuable(val, selData) {
for (let i = 0; i < selData.length; i++) {
if (selData[i]['value'].indexOf(val) >= 0) {
return true
}
}
return false
}
function changeTreeKey(oData, orgKey, targetKey) {
oData = [...oData]
oData.forEach(elem => {
elem[targetKey] = elem[orgKey]
delete elem[orgKey]
if (elem.children) {
changeTreeKey(elem.children, orgKey, targetKey)
}
})
return oData
}
function deleteTreeKey(oData, delKeys) {
oData = [...oData]
oData.forEach(elem => {
delKeys.forEach(key => {
delete elem[key]
})
if (elem.children) {
deleteTreeKey(elem.children, delKeys)
}
})
return oData
}
function deleteEmptyChild(oData) {
oData = [...oData]
oData.forEach(elem => {
if (elem.children && elem.children.length == 0) {
delete elem.children
} else if (elem.children) {
deleteEmptyChild(elem.children)
}
})
return oData
}
function addEmpty(data) {
let after = [];
after[0] = {
label: "全部地区",
value: "0",
}
for(let i=0;i<data.length;i++) {
after.push(data[i]);
}
return after;
}
export function treeHandler(treeData, selData) {
//console.log('treeData',treeData,'selData',selData);
treeData = deleteTreeKey(treeData, ['status', 'disabled'])
treeData = changeTreeKey(treeData, 'id', 'value')
selData = changeTreeKey(selData, 'name', 'label')
selData = changeTreeKey(selData, 'key', 'value')
let endData = deleteEmptyChild(handlerAction(treeData, selData));
// console.log(treeData, selData)
//return handlerAction(treeData, selData);
let returnData = addEmpty(endData);
return returnData;
}
\ No newline at end of file
import {isEmptyUtils, isNotEmptyUtils, subString} from "./utils"; import {isEmptyUtils, isNotEmptyUtils, subString} from "./utils";
import fetchQiniu from './fetchQiniu.js'; import fetchQiniu from './fetch-qiniu.js';
import { getQiniuToken1, uploadVideo, uploadImg } from './index' import { getQiniuToken1, uploadVideo, uploadImg } from './index'
let fileApiUrl = getQiniuToken1() let fileApiUrl = getQiniuToken1()
......
...@@ -4,6 +4,20 @@ export const containObject = function(...obj1) { ...@@ -4,6 +4,20 @@ export const containObject = function(...obj1) {
let obj = Object.assign(...obj1) let obj = Object.assign(...obj1)
return obj return obj
} }
// 获取页面自适应高度
export function resizeHeight(cMinusHeight = 152, iMinuxHeight = 210, refHeightId = 'slidebar-container',
containerHeightId = 'screenSet'){
let containerHeight = p_getElm(refHeightId).getBoundingClientRect().height - 15
p_getElm(containerHeightId).style.height = containerHeight - cMinusHeight + 'px'
window.onresize = function() {
containerHeight = p_getElm(refHeightId).getBoundingClientRect().height - 15
p_getElm(containerHeightId).style.height = containerHeight - cMinusHeight + 'px'
}
}
function p_getElm(elmId){
return document.getElementById(elmId)
}
//共通函数 //共通函数
Array.prototype.contains = function (obj) { Array.prototype.contains = function (obj) {
if (this.length > 0) { if (this.length > 0) {
......
<template> <template>
<div class="blank-wrap screenSet"> <div id="screenSet" class="blank-wrap screenSet">
<div class="blank-content"> <div class="blank-content">
<img src="../assets/image/no-content.png"/> <img src="../assets/image/no-content.png"/>
<p>很抱歉,您暂时还没开通工作站功能</p> <p>很抱歉,您暂时还没开通工作站功能</p>
...@@ -7,8 +7,17 @@ ...@@ -7,8 +7,17 @@
</div> </div>
</template> </template>
<script> <script>
import * as commonUtil from '../utils/utils'
export default { export default {
data() {
return {
}
},
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight(100)
}
} }
</script> </script>
<style lang="scss"> <style lang="scss">
......
此差异已折叠。
...@@ -4,18 +4,18 @@ ...@@ -4,18 +4,18 @@
:curmbFirst="curmbFirst" :curmbFirst="curmbFirst"
:curmbSecond="curmbSecond"> :curmbSecond="curmbSecond">
</bread-crumb> </bread-crumb>
<div class="component-content screenSet"> <div class="component-content screenSet" id="screenSet">
<div class="search-title">查询条件</div> <div class="search-title">查询条件</div>
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;"> <el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;">
<el-form ref="serchForm" :model="searchParam" label-width="75px" style="width:100%;"> <el-form ref="serchForm" :model="searchParam" label-width="75px" style="width:100%;">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="组件名称:"> <el-form-item label="组件名称:">
<el-input v-model="searchParam.name" size="mini" placeholder="请输入组件名称"></el-input> <el-input v-model="searchParam.name" size="small" placeholder="请输入组件名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="6">
<el-form-item label="发布状态:"> <el-form-item label="发布状态:">
<el-select v-model="searchParam.status" size="mini" placeholder="请选择发布状态"> <el-select v-model="searchParam.status" size="small" style="width: 100%;" placeholder="请选择发布状态">
<el-option <el-option
v-for="(item,index) in statuSelect" v-for="(item,index) in statuSelect"
:key="index" :key="index"
...@@ -25,16 +25,18 @@ ...@@ -25,16 +25,18 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="13" style="padding:0;text-align:right;padding-right:15px;"> <el-col :span="12" style="padding:0;text-align:right;padding-right:15px;">
<el-button type="primary" size="small" @click="search">查询</el-button> <el-button type="primary" size="small" @click="search(1)">查询</el-button>
<el-button type="default" size="small" @click="reseat" style="margin-left:0;">重置</el-button> <el-button type="default" size="small" @click="reseat" style="margin-left:0;">重置</el-button>
</el-col> </el-col>
</el-form> </el-form>
</el-row> </el-row>
<el-row :gutter="10" class="row create-button" style="margin-right:0;"> <el-row :gutter="10" class="row create-button" style="margin-right:0;">
<el-button type="primary" size="small" @click="createComponent">新建项目组件</el-button> <el-button type="primary" size="small" :disabled="idType == 2 && masterAdministratorFlag == 'false'" @click="createComponent">新建项目组件</el-button>
</el-row> </el-row>
<el-table :data="tableData" style="width: 100%"> <el-table
:data="tableData"
style="width: 100%">
<el-table-column prop="id" label="ID编号" min-width="100" align="center"></el-table-column> <el-table-column prop="id" label="ID编号" min-width="100" align="center"></el-table-column>
<el-table-column prop="name" label="组件名称" min-width="200" align="center"></el-table-column> <el-table-column prop="name" label="组件名称" min-width="200" align="center"></el-table-column>
<el-table-column prop="createdName" label="发起人" min-width="100" align="center"></el-table-column> <el-table-column prop="createdName" label="发起人" min-width="100" align="center"></el-table-column>
...@@ -46,11 +48,17 @@ ...@@ -46,11 +48,17 @@
<el-table-column label="操作" fixed="right" align="center" min-width="200"> <el-table-column label="操作" fixed="right" align="center" min-width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="small" @click="editComponentList(scope.row)">编辑</el-button> <el-button type="primary" size="small" @click="editComponentList(scope.row)">编辑</el-button>
<el-button type="primary" v-if="scope.row.status == 1 || scope.row.status == 2 || scope.row.status == 4" size="small" @click="enableAndDisable(scope.row,1)">启用</el-button> <el-button type="primary" v-if="scope.row.status == 2 || scope.row.status == 4" size="small" @click="enableAndDisable(scope.row,1)">启用</el-button>
<el-button type="primary" v-if="scope.row.status == 3" size="small" @click="enableAndDisable(scope.row,2)">禁用</el-button> <el-button type="primary" v-if="scope.row.status == 3" size="small" @click="enableAndDisable(scope.row,2)">禁用</el-button>
<el-button type="primary" v-if="scope.row.status == 1 || scope.row.status == 2" size="small" @click="deleteComponent(scope.row)">删除</el-button> <el-button type="primary" v-if="scope.row.status == 1 || scope.row.status == 2" size="small" @click="deleteComponent(scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
<div slot="empty">
<div class="table-empty">
<img src="../../assets/image/no-content1.png" />
<p>没有查询到相关结果</p>
</div>
</div>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<div class="pagination"> <div class="pagination">
...@@ -70,10 +78,11 @@ ...@@ -70,10 +78,11 @@
</template> </template>
<script> <script>
import BreadCrumb from '../../components/breadcrumb.vue' import BreadCrumb from '../../components/breadcrumb.vue'
import { doUpload, getFilePath } from "../../utils/qiniuUtil" import { doUpload, getFilePath } from "../../utils/qiniu-util"
import { validateWord } from "../../utils/validate.js" import { validateWord } from "../../utils/validate.js"
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { openLoading, closeLoading } from '../../utils/utils'; import { openLoading, closeLoading } from '../../utils/utils'
import * as commonUtil from '../../utils/utils'
let vm = null let vm = null
export default { export default {
components: { components: {
...@@ -83,7 +92,10 @@ export default { ...@@ -83,7 +92,10 @@ export default {
return { return {
curmbFirst: '教培项目', curmbFirst: '教培项目',
curmbSecond: '项目组件', curmbSecond: '项目组件',
idType:'',
masterAdministratorFlag: false,
searchParam: { searchParam: {
idType: '',
name: '', name: '',
status: '', status: '',
pageNo: 1, pageNo: 1,
...@@ -124,28 +136,41 @@ export default { ...@@ -124,28 +136,41 @@ export default {
}, },
computed: { computed: {
...mapGetters([ ...mapGetters([
'_token' '_token',
// 'idType',
// 'masterAdministratorFlag'
]) ])
}, },
created() { created() {
vm = this vm = this
vm.search() vm.search()
vm.idType = localStorage.getItem('storageIdType')
vm.masterAdministratorFlag = localStorage.getItem('storageMaster')
},
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight()
}, },
methods: { methods: {
// 列表查询 // 列表查询
search() { search(flag) {
if(flag) vm.searchParam.pageNo = 1
vm.searchParam.idType = vm.idType
openLoading(vm) openLoading(vm)
vm.GET('portalComponent/queryPortalComponent',vm.searchParam).then((res) => { vm.GET('portal/portalComponent/queryPortalComponent',vm.searchParam).then((res) => {
closeLoading(vm) closeLoading(vm)
if( res.code == '000000' ) { if( res.code == '000000' ) {
vm.tableData = res.data.queryList vm.tableData = res.data.queryList
vm.totalRows = res.data.total vm.totalRows = res.data.total
}else {
vm.$message.info(res.message)
} }
}) })
}, },
// 重置 // 重置
reseat() { reseat() {
vm.searchParam = Object.assign({},{ vm.searchParam = Object.assign({},{
idType: '',
name: '', name: '',
status: '', status: '',
pageNo: 1, pageNo: 1,
...@@ -163,9 +188,11 @@ export default { ...@@ -163,9 +188,11 @@ export default {
token: vm._token, token: vm._token,
componentId: row.id componentId: row.id
} }
vm.GET('portalComponent/componentEditRange',req).then((res) => { vm.GET('portal/portalComponent/componentEditRange',req).then((res) => {
if(res.code == "000000") { if(res.code == "000000") {
vm.$router.push({path: 'create-component',query: {id:row.id,status: row.status,resultFlag: res.data.resultFlag}}) vm.$router.push({path: 'create-component',query: {id:row.id,status: row.status,resultFlag: res.data.resultFlag}})
}else {
vm.$message.info(res.message)
} }
}) })
}, },
...@@ -191,18 +218,21 @@ export default { ...@@ -191,18 +218,21 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
vm.GET('portalComponent/disableOrStart',req).then((res) => { vm.GET('portal/portalComponent/disableOrStart',req).then((res) => {
if(res.code == "000000") { if(res.code == "000000") {
vm.$message({ vm.$message({
type: 'success', type: 'success',
message: '操作成功!' message: '操作成功!'
}); });
vm.search() vm.search()
} else { if(res.message != 'success') {
vm.$message({ vm.$message({
message: res.message, message: res.message,
type: 'warning' type: 'warning'
}); })
}
}else {
vm.$message.info(res.message)
} }
}).catch(function (error) { }).catch(function (error) {
vm.$message.error(error); vm.$message.error(error);
...@@ -221,13 +251,15 @@ export default { ...@@ -221,13 +251,15 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
vm.GET('portalComponent/deleteComponentById',{id: row.id}).then((res) => { vm.GET('portal/portalComponent/deleteComponentById',{id: row.id}).then((res) => {
if(res.code == "000000") { if(res.code == "000000") {
vm.$message({ vm.$message({
type: 'success', type: 'success',
message: '删除成功!' message: '删除成功!'
}); });
vm.search() vm.search()
} else {
vm.$message.info(res.message)
} }
}).catch(function (error) { }).catch(function (error) {
vm.$message.error(error); vm.$message.error(error);
...@@ -267,6 +299,14 @@ export default { ...@@ -267,6 +299,14 @@ export default {
margin-top: 0 !important; margin-top: 0 !important;
text-align: right; text-align: right;
} }
.table-empty {
img{
width: 100px;
}
p {
margin-top: -50px;
}
}
} }
} }
</style> </style>
......
let data = {
"projectModel":
{
"projectBegintime": 1551948983468,
"projectEndtime": 1551948983468,
"projectIntro": "测试用例",
"projectName": "testProjectName"
},
"attachmentModel": [
{
"attachmentType": 1,
"attachmentUrl": "www.baidu.com",
"kind": 1, "seqNo": 1
},
{
"attachmentType": 2,
"attachmentUrl": "www.qq.com",
"kind": 2, "seqNo": 1
}
],
"attachmentPDFModel": [
{
"attachmentType": 3,
"attachmentUrl": "www.pdf.com",
"kind": 3
}
]
};
let req = {
projectModel:
'{"id":6,"projectBegintime":1551853576789,"projectEndtime":1551853576789,"projectIntro":"测试用例","projectName":"testProjectName"}',
attachmentModel:
'[{"attachmentType":1,"attachmentUrl":"www.baidu.com","kind":1,"portalProjectId":6,"seqNo":1},{"attachmentType":2,"attachmentUrl":"www.qq.com","kind":2,"portalProjectId":6,"seqNo":1}]',
attachmentPDFModel:
'[{"attachmentType":3,"attachmentUrl":"www.pdf.com","kind":3,"portalProjectId":6},{"attachmentType":3,"attachmentUrl":"www.pdf.com","kind":3,"portalProjectId":6}]'
};
/**
projectModel
ProjectBegintime ProjectEndtime 开始结束时间
projectIntro 项目简介 test
ProjectName 项目名称
attachmentModel 附件信息
attachmentType 1:项目列表 2:封面信息(图片和视频) 3:PDF
attachmenturl 链接
kind 1:图片 2:视频 3:PDF
attachmentName 附件名称
attachment_ext 附件格式
attachment_size 附件大小
*/
\ No newline at end of file
<template>
<div>
<el-tree
:data="data2"
show-checkbox
default-expand-all
node-key="id"
ref="tree"
highlight-current
:props="defaultProps"
@check="onChecked"
></el-tree>
<!-- <base1
:data="data2"
show-checkbox
default-expand-all
node-key="id"
ref="tree"
highlight-current
:props="defaultProps"
></base1>-->
<span></span>
<div class="buttons">
<el-button @click="getCheckedNodes">通过 node 获取</el-button>
<el-button @click="getCheckedKeys">通过 key 获取</el-button>
<el-button @click="setCheckedNodes">通过 node 设置</el-button>
<el-button @click="setCheckedKeys">通过 key 设置</el-button>
<el-button @click="resetChecked">清空</el-button>
</div>
</div>
</template>
<script>
import { ELTree1 } from "element-ui/lib/checkbox";
// import Vue from 'vue'
// require("element-ui/lib/checkbox"
export default {
// components: {
// base1
// },
mounted() {
// const base1 = Vue.extend(ELTree)
// Vue.component('base1', base1)
},
data() {
return {
data2: [
{
id: 11,
label: "一级 1",
children: [
{
id: 1,
label: "一级 1",
children: [
{
id: 4,
label: "二级 1-1",
children: [
{
id: 9,
label: "三级 1-1-1"
},
{
id: 10,
label: "三级 1-1-2"
}
]
}
]
},
{
id: 2,
label: "一级 2",
children: [
{
id: 5,
label: "二级 2-1"
},
{
id: 6,
label: "二级 2-2"
}
]
},
{
id: 3,
label: "一级 3",
children: [
{
id: 7,
label: "二级 3-1"
},
{
id: 8,
label: "二级 3-2"
}
]
}
]
}
],
defaultProps: {
children: "children",
label: "label"
}
};
},
methods: {
getCheckedNodes() {
console.log(this.$refs.tree.getCheckedNodes());
},
getCheckedKeys() {
console.log(this.$refs.tree.getCheckedKeys());
},
setCheckedNodes() {
this.$refs.tree.setCheckedNodes([
{
id: 5,
label: "二级 2-1"
},
{
id: 9,
label: "三级 1-1-1"
}
]);
},
setCheckedKeys() {
this.$refs.tree.setCheckedKeys([3]);
},
resetChecked() {
this.$refs.tree.setCheckedKeys([]);
},
onChecked() {
let cData = [],
oldData = (this.data2.length && this.data2.slice()) || [],
checkedKeys = this.$refs.tree.getCheckedKeys(),
halfCheckedKeys = this.$refs.tree.getHalfCheckedKeys(),
savedCheckedKeys = this.handlerCheckedData(oldData, checkedKeys).map(
key => {
return { type: 2, key: key };
}
),
savedHalfCheckedKeys = halfCheckedKeys.map(key => {
return { type: 1, key: key };
}),
allSelectedKeys = savedCheckedKeys.concat(savedHalfCheckedKeys);
console.log("treeData", this.data2);
console.log(allSelectedKeys);
},
// 递归删除列表中所有子节点
delSubKeysByNode(node, checkedKeys) {
let idIndex;
if (node.children && node.children.length) {
if (node.children && node.children.length) {
node.children.forEach(elm => {
idIndex = checkedKeys.findIndex(id => {
return id === elm.id;
});
if (idIndex > -1) {
checkedKeys.splice(idIndex, 1);
}
if (elm.children && elm.children.length) {
this.delSubKeysByNode(elm, checkedKeys);
}
});
}
}
},
// 去除子节点
handlerCheckedData(oldData, checkedKeys) {
oldData.forEach(element => {
for (let i = 0; i < checkedKeys.length; i++) {
// 如果此节点被选中,则删除所有子节点
if (element.id === checkedKeys[i]) {
this.delSubKeysByNode(element, checkedKeys);
} else {
if (element.children && element.children.length) {
this.handlerCheckedData(element.children, checkedKeys);
}
}
}
});
return checkedKeys;
}
}
};
</script>
\ No newline at end of file
...@@ -51,14 +51,12 @@ ...@@ -51,14 +51,12 @@
</el-table> </el-table>
</div> </div>
</el-col> </el-col>
<el-col class="message screenSet" :span="24"> <el-col class="message screenSet" :span="24" id="screenSet">
<div class="message-title">系统消息 <span>今日消息:{{count}}条</span></div> <div class="message-title">系统消息 <span>今日消息:{{count}}条</span></div>
<div class="message-info" v-if="messageList.length > 0"> <div class="message-info" v-if="messageList.length > 0">
<div class="message-item" v-for="(item,index) in messageList" :key="index"> <div class="message-item" v-for="(item,index) in messageList" :key="index">
<div class="text-top"> <div class="text-top">
<i class="el-icon-error" v-if="item.type == 2" style="color:#FA5555"></i> <img :src="item.url"/>
<i class="el-icon-success" v-if="item.type == 3" style="color:#67C23A"></i>
<i class="el-icon-warning" v-if="item.type == 1" style="color:#FAAD14"></i>
<span>{{item.menuName}}</span> <span>{{item.menuName}}</span>
<span>{{item.portalTime}}</span> <span>{{item.portalTime}}</span>
</div> </div>
...@@ -83,7 +81,7 @@ import { setTimeout, setInterval } from 'timers' ...@@ -83,7 +81,7 @@ import { setTimeout, setInterval } from 'timers'
import ChangeFollowupStatus from "./followup/record-manage/dialog/change-followup-status"; import ChangeFollowupStatus from "./followup/record-manage/dialog/change-followup-status";
import { mapGetters, mapState, mapActions } from 'vuex' import { mapGetters, mapState, mapActions } from 'vuex'
import * as commonUtil from '../utils/utils'
let vm = null let vm = null
export default { export default {
components: { components: {
...@@ -127,6 +125,10 @@ export default { ...@@ -127,6 +125,10 @@ export default {
todayOverview: state => state.todayOverview, todayOverview: state => state.todayOverview,
}) })
}, },
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight()
},
methods: { methods: {
...mapActions('workbench', ['getTodayPlansList', 'getTodayAppointsList', 'getTodayOverview']), ...mapActions('workbench', ['getTodayPlansList', 'getTodayAppointsList', 'getTodayOverview']),
// 查看更多 // 查看更多
...@@ -139,10 +141,12 @@ export default { ...@@ -139,10 +141,12 @@ export default {
}, },
// 获取系统消息数据 // 获取系统消息数据
getSystemData() { getSystemData() {
vm.GET('portalMessage/queryPortalMessageInfo',{token: vm._token, pageNo: 1, pageSize: 15}).then((res) => { vm.GET('portal/portalMessage/queryPortalMessageInfo',{token: vm._token, pageNo: 1, pageSize: 15}).then((res) => {
if( res.code == '000000') { if( res.code == '000000') {
vm.messageList = res.data.portalMessageModels vm.messageList = res.data.portalMessageModels
vm.count = res.data.count vm.count = res.data.count
} else {
vm.$message.info(res.message)
} }
}) })
}, },
...@@ -265,6 +269,11 @@ export default { ...@@ -265,6 +269,11 @@ export default {
padding: 10px 10px 15px; padding: 10px 10px 15px;
border-bottom: 1px solid #EBEEF5; border-bottom: 1px solid #EBEEF5;
.text-top { .text-top {
img {
float: left;
width: 16px;
margin-top: 3px;
}
span:nth-child(2) { span:nth-child(2) {
padding: 10px; padding: 10px;
} }
......
...@@ -55,7 +55,7 @@ export default { ...@@ -55,7 +55,7 @@ export default {
if(vm.idType == 1) { // 内部 if(vm.idType == 1) { // 内部
window.location.href = getInnerLoginUrl() window.location.href = getInnerLoginUrl()
} else { } else {
window.location.href = getLoginUrl() window.location.href = getLoginUrl('?from=work&type=logout')
} }
} }
if(command === 'forward') { if(command === 'forward') {
......
<template> <template>
<div class="slidebar-container"> <div id="slidebar-container" class="slidebar-container">
<el-menu :default-active="onRoutes" class="el-menu-vertical-demo" theme="dark" unique-opened router> <el-menu :default-active="onRoutes" class="el-menu-vertical-demo" theme="dark" unique-opened router>
<template v-for="(item,_index) in items"> <template v-for="(item,_index) in items">
<template v-if="item.subs"> <template v-if="item.subs">
...@@ -150,9 +150,9 @@ export default { ...@@ -150,9 +150,9 @@ export default {
color: #fff; color: #fff;
background: #06232C; background: #06232C;
} }
.el-menu-item:focus, .el-menu-item:hover { // .el-menu-item:focus, .el-menu-item:hover {
background: #06232C !important; // background: #06232C !important;
} // }
} }
} }
</style> </style>
......
此差异已折叠。
<template> <template>
<div class="role-wrap"> <div class="role-wrap">
<bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb> <bread-crumb :curmbFirst="curmbFirst" :curmbSecond="curmbSecond"></bread-crumb>
<div class="component-content screenSet"> <div class="component-content screenSet" id="screenSet">
<div class="header-title">查询条件</div> <div class="header-title">查询条件</div>
<el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;"> <el-row :gutter="30" class="row" type="flex" style="margin-top: 10px;">
<el-form ref="formInline" :model="formInline" label-width="75px" style="width:100%;"> <el-form ref="formInline" :model="formInline" label-width="75px" style="width:100%;">
<el-col :span="6"> <el-col :span="6">
<el-form-item label="项目名称:"> <el-form-item label="项目名称:">
<el-input v-model="formInline.projectName" size="mini" placeholder="请输入项目名称"></el-input> <el-input v-model="formInline.projectName" size="small" placeholder="请输入项目名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="项目时间:"> <el-form-item label="项目时间:">
<el-date-picker <el-date-picker
v-model="formInline.projectBegintime" v-model="formInline.projectBegintime"
size="mini" size="small"
type="date" type="datetime"
placeholder="请选择开始时间" placeholder="请选择开始时间"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions0" :picker-options="pickerOptions0"
...@@ -26,32 +26,31 @@ ...@@ -26,32 +26,31 @@
<el-form-item label="~"> <el-form-item label="~">
<el-date-picker <el-date-picker
v-model="formInline.projectEndtime" v-model="formInline.projectEndtime"
size="mini" size="small"
type="date" type="datetime"
placeholder="请选择结束时间" placeholder="请选择结束时间"
value-format="yyyy-MM-dd 23:59:59" value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions1" :picker-options="pickerOptions1"
default-time="23:59:59"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" style="padding:0;text-align:right;padding-right:15px;"> <el-col :span="8" style="padding:0;text-align:right;padding-right:15px;">
<el-button type="primary" size="small" @click="search">查询</el-button> <el-button type="primary" size="small" @click="searchList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button> <el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
</el-col> </el-col>
</el-form> </el-form>
</el-row> </el-row>
<el-table <el-table :data="tableData" style="width: 100%">
:data="tableData" style="width: 100%"
>
<el-table-column prop="id" label="ID编号" min-width="100" align="center"></el-table-column> <el-table-column prop="id" label="ID编号" min-width="100" align="center"></el-table-column>
<el-table-column prop="projectName" label="项目名称" min-width="100" align="center"></el-table-column> <el-table-column prop="projectName" label="项目名称" min-width="100" align="center"></el-table-column>
<el-table-column prop="createdName" label="创建人" align="center"></el-table-column> <el-table-column prop="createdName" label="创建人" align="center"></el-table-column>
<el-table-column prop="projectIntro" label="项目简介" align="center"></el-table-column> <el-table-column prop="projectIntro" label="项目简介" align="center" min-width="100" show-overflow-tooltip></el-table-column>
<el-table-column prop="projectBegintime" label="项目开始时间" align="center"></el-table-column> <el-table-column prop="projectBegintime" label="项目开始时间" align="center"></el-table-column>
<el-table-column prop="projectEndtime" label="项目结束时间" align="center"></el-table-column> <el-table-column prop="projectEndtime" label="项目结束时间" align="center"></el-table-column>
<el-table-column prop="projectStatus" label="状态" align="center"> <el-table-column prop="projectStatus" label="状态" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.projectStatus | statusProject }}</span> <span>{{ [scope.row.projectStatus , idType] | statusProject }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column fixed="right" label="操作" width="200" align="center"> <el-table-column fixed="right" label="操作" width="200" align="center">
...@@ -59,6 +58,12 @@ ...@@ -59,6 +58,12 @@
<el-button type="primary" size="small" @click="toPage(scope.row)">查看项目人员</el-button> <el-button type="primary" size="small" @click="toPage(scope.row)">查看项目人员</el-button>
</template> </template>
</el-table-column> </el-table-column>
<div slot="empty">
<div class="table-empty">
<img src="../../assets/image/no-content1.png">
<p>没有查询到相关结果</p>
</div>
</div>
</el-table> </el-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination
...@@ -78,7 +83,9 @@ ...@@ -78,7 +83,9 @@
<script> <script>
import BreadCrumb from "../../components/breadcrumb.vue"; import BreadCrumb from "../../components/breadcrumb.vue";
import { create } from "domain"; import { create } from "domain";
import { mapGetters } from 'vuex'
import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import * as commonUtil from "../../utils/utils";
let vm = null; let vm = null;
export default { export default {
components: { components: {
...@@ -100,12 +107,15 @@ export default { ...@@ -100,12 +107,15 @@ export default {
projectEndtime: "", projectEndtime: "",
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
type: 2, type: 2
}, },
pickerOptions0: { pickerOptions0: {
disabledDate: time => { disabledDate: time => {
if (this.formInline.projectEndtime != "") { if (this.formInline.projectEndtime != "" && this.formInline.projectEndtime !=null) {
return time.getTime() > new Date(this.formInline.projectEndtime).getTime(); return (
time.getTime() >
new Date(this.formInline.projectEndtime).getTime()
);
} }
} }
}, },
...@@ -119,17 +129,30 @@ export default { ...@@ -119,17 +129,30 @@ export default {
} }
}; };
}, },
computed: {
...mapGetters(["_token"])
},
created() { created() {
vm = this; vm = this;
vm.idType = localStorage.getItem('storageIdType');
console.log('idType:',vm.idType);
this.search(); this.search();
}, },
// 挂载到Dom完成时
mounted: function() {
commonUtil.resizeHeight();
},
methods: { methods: {
searchList() {
this.formInline.pageNo = 1;
this.search();
},
search() { search() {
let req = {}; let req = {};
//console.log(this.formInline); //console.log(this.formInline);
req = this.formInline; req = this.formInline;
openLoading(vm); openLoading(vm);
vm.GET("portalInfo/getProjectList", req).then(res => { vm.GET("portal/portalInfo/getProjectList", req).then(res => {
closeLoading(vm); closeLoading(vm);
if (res.code == "000000") { if (res.code == "000000") {
vm.tableData = res.data.data; vm.tableData = res.data.data;
...@@ -155,9 +178,13 @@ export default { ...@@ -155,9 +178,13 @@ export default {
this.$router.push("item-role?portalProjectId=" + row.id); this.$router.push("item-role?portalProjectId=" + row.id);
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.formInline.pageSize = val;
this.search();
console.log(`每页 ${val} 条`); console.log(`每页 ${val} 条`);
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
this.formInline.pageNo = val;
this.search();
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
} }
} }
...@@ -180,13 +207,14 @@ export default { ...@@ -180,13 +207,14 @@ export default {
.add-button { .add-button {
float: right; float: right;
} }
// .el-table .cell { .table-empty {
// color: #929292; img {
// } width: 100px;
// .el-table th > .cell { }
// font-weight: bold; p {
// color: #000; margin-top: -50px;
// } }
}
} }
} }
</style> </style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册