Merge remote-tracking branch 'origin/master'

This commit is contained in:
sgjj 2020-06-30 14:07:00 +08:00
commit 231ca1ca13
10 changed files with 1220 additions and 202 deletions

830
doc/mcms-5.1.sql Normal file

File diff suppressed because one or more lines are too long

View File

@ -101,7 +101,11 @@
<artifactId>ms-upgrader</artifactId>
<version>1.0.17</version>
</dependency>
<dependency>
<groupId>com.github.stuxuhai</groupId>
<artifactId>jpinyin</artifactId>
<version>1.1.8</version>
</dependency>
</dependencies>
<build>

View File

@ -1,7 +1,7 @@
spring:
datasource:
url: jdbc:mysql://localhost:3306/msopen?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai
username: root
password: 123456
url: jdbc:mysql://192.168.0.8:3316/mcms-5.1-3000?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai
username: mcms
password: mcms
filters: wall,mergeStat
type: com.alibaba.druid.pool.DruidDataSource

View File

@ -2,7 +2,7 @@
<!DOCTYPE html>
<html>
<head>
<title>造价管理系统</title>
<title>MCMS-OPEN</title>
<#include '/include/head-file.ftl'/>
<script src="${base}/static/plugins/sockjs/1.4.0/sockjs.min.js"></script>
<script src="${base}/static/plugins/stomp/2.3.3/stomp.min.js"></script>
@ -28,7 +28,7 @@
<img :src="ms.base+'/static/ms-admin/5.0.0/images/logo.png'"/>
<div class="class-1" v-show="!collapseMenu">
<div class="class-2">v</div>
2.0
5.1
</div>
</div>
<el-submenu :popper-class="['ms-admin-menu-aside-submenu',theme]" :index="menu.modelId+''"
@ -192,12 +192,12 @@
collapseMenu: false, //菜单折叠false不折叠
currentTab: '工作台', //当前激活tab的name
tabIndex: 1,
// markList: ['项目管理', '组织管理', '客户管理', '合同管理', '印章管理', '绩效管理', '权限管理', '系统设置'],
// markList:
// ['项目管理', '组织管理', '客户管理', '合同管理', '印章管理', '绩效管理', '权限管理', '系统设置'],
markList: [
{title: "权限管理", icon: "icon-wode", hide: true},
{title: "系统设置", icon: "icon-xitongguanli", hide: true},
{title: "内容管理", icon: "icon-neirongguanli", hide: true},
{title: "印章管理", icon: "icon-huizhang", hide: true},
{title: "会员中心", icon: "icon-huiyuanzhongxin", hide: true},
{title: "自定义管理", icon: "icon-zidingyiguanli", hide: true},
],
@ -310,18 +310,18 @@
})
},
connect: function () {
var that = this
var sockjs = new SockJS("/websocket");
var stompClient = Stomp.over(sockjs);
stompClient.connect({}, function (frame) {
stompClient.subscribe('/topic/message/' +${Session.manager_session.managerId}, function (greeting) {
if (greeting.body == "list") {
that.getMessage()
}
});
});
},
<#--connect: function () {-->
<#-- var that = this-->
<#-- var sockjs = new SockJS("/websocket");-->
<#-- var stompClient = Stomp.over(sockjs);-->
<#-- stompClient.connect({}, function (frame) {-->
<#-- stompClient.subscribe('/topic/message/' +${Session.manager_session.managerId}, function (greeting) {-->
<#-- if (greeting.body == "list") {-->
<#-- that.getMessage()-->
<#-- }-->
<#-- });-->
<#-- });-->
<#--},-->
markMenu: function (title, icon) {
var menu = {
title: title,
@ -571,7 +571,7 @@
//setInterval(this.getMessage,3000)
// 菜单列表
this.list();
this.connect();
// this.connect();
//获取登录用户信息
this.managerGet();
var that = this;

View File

@ -45,7 +45,7 @@
</div>
<div class="class-7" >
<div class="panel">
<div class="panel-title">
<div v-if="alwaysList.length>0" class="panel-title">
常用功能
</div>
<div class="v-space"></div>

View File

@ -130,3 +130,15 @@ a:link,a:visited,a:active{text-decoration: none; color:#409EFF;}
.ms-scrollbar .el-scrollbar__view{
padding-right: 17px;
}
/**后台管理界面的el-menu通用样式**/
.ms-index .el-menu {
border-right: none;
background-color: unset;
height: calc(100vh - 141px);
}
.ms-index .el-menu-item {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
word-break: break-all;
}

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,3 @@
//ie的兼容
//Object.assign 对ie对支持
if (typeof Object.assign != 'function') {
Object.assign = function(target) {
'use strict';

View File

@ -21,127 +21,6 @@
}
}
/**
*
*
* @param dom dom 数据对象
* @param fileName 文件名
* @param data 数据
* @param format
* var tableNead = {
column:[
{filed: "projectName",label:"项目名称",width:50},
{filed: "managerNickName",label:"成员名称",width:50},
{filed: "pdmType",label:"种类",width:50,dictDataOptions: []},
{filed: "pdmMoney",label:"收入金额",width:50},
],
countFiled:["pdmMoney"],
};
* @returns {*}
*/
function exportTable(dom, fileName, data,format) {
/* 从表生成工作簿对象 */
var wb = XLSX.utils.table_to_book(dom);
var columnWidth = [];
var table = [];
var tableHead = [];
//初始化头部字段
format.column.forEach(function (value) {
tableHead.push(value.label);
columnWidth.push({
"wpx": value.width
});
});
table.push(tableHead);
var tableFoot = new Array(format.column.length);
//遍历,将数据整理重新返回
data.map(function (x) {
var a = [];
//遍历中设定需要的那些字段数据
format.column.forEach(function (value) {
if (x.hasOwnProperty(value.filed)){
//替换字典数据
if (value.dictDataOptions != undefined && value.dictDataOptions.length > 0){
//遍历字典数据,有就替换
var dict = value.dictDataOptions.find(function (val) {
return x[value.filed] == val.dictValue;
})
a.push(dict?dict.dictLabel:"");
}else {
a.push(x[value.filed]);
if (format.countFiled != undefined && format.countFiled.indexOf(value.filed) >= 0) {
tableFoot[0] = '总计';
format.column.findIndex(function (value1, index) {
if (value1.filed == value.filed){
tableFoot[index] = tableFoot[index] == undefined ? x[value.filed] : tableFoot[index] + x[value.filed];
}
});
}
}
}else {
a.push("");
}
});
return a
}).forEach(function (v, i) {
// 遍历整理后的数据加入table
table.push(v)
});
table.push(tableFoot);
var sheet = XLSX2.utils.aoa_to_sheet(table);
wb.Sheets.Sheet1 = sheet;
wb.Sheets.Sheet1['!cols'] = columnWidth;
/* 获取二进制字符串作为输出 */
var wbout = XLSX.write(wb, {
bookType: 'xlsx',
bookSST: true,
type: "array"
});
try {
//保存文件
saveAs(
//Blob 对象表示一个不可变、原始数据的类文件对象。
//Blob 表示的不一定是JavaScript原生格式的数据。
//File 接口基于Blob继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
//返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
new Blob([wbout], {type: "application/octet-stream"}),
//设置导出文件名称
fileName + '.xlsx'
);
} catch (e) {
if (typeof console !== "undefined") console.log(e, wbout);
}
return wbout;
};
/**
* 打印方法
* @param name 模板的名字
* @param data 需要绑定的数据
*/
function printFile(name,data){
if (name != "" && name != null && name != undefined){
ms.http.get(ms.manager+ "/mprint/printTemplate/get.do", {
name: name
}).then(function (res) {
if(data != null && data != undefined && res.data != null){
printVue.open(res.data,data);
}else {
console.error("未定义数据,或没有模板数据");
}
}).catch(function (err) {
console.log(err);
});
}else {
console.error("未定义模板名称");
}
};
/**
* 列表数据转化为树形结构的列表
* @param source 数据源list
@ -162,9 +41,8 @@
branchArr.length > 0 ? father[children] = branchArr : '';
return !father[parentId] || father[parentId] == '0' || father[parentId] == null ;
});
} //验证是否为子集
}
//验证是否为子集
function childValidate(sourceList, id, parentId, key, parentKey) {
var data = sourceList.find(function (x) {
return x[key] == parentId;
@ -178,26 +56,6 @@
return true;
}
/**
* 科学计数改成普通计数
* @param num
* @returns {string|*}
*/
function getFullNum(num){
//处理非数字
if(isNaN(num)){return num};
//处理不需要转换的数字
var str = ''+num;
if(!/e/i.test(str)){return num;};
return (num).toFixed(18).replace(/\.?0+$/, "");
}
/**
* 数字转金额
* */
function moneyFormatter(cellValue) {
return accounting.formatMoney(cellValue, '¥',2)
}
//日期处理
var date = {
//格式化时间
@ -367,14 +225,10 @@
getParameter: getParameter,
treeData:treeData,
childValidate:childValidate,
moneyFormatter:moneyFormatter,
exportTable:exportTable,
printFile:printFile,
date: date,
array: array,
log: log,
convert: convert,
getFullNum: getFullNum,
store: store,
}