提交 450c51f8 编写于 作者: doc_wei's avatar doc_wei

【PM】删除项目成本费用支出分类管理功能

上级 824d7bcf
......@@ -18,11 +18,7 @@ layui.config({
var usetableTemplate = $("#usetableTemplate").html();
var selOption = getFileContent('tpl/template/select-option.tpl');
var start = laydate.render({
elem: '#reimbursementTime',
range: false,
btns: ['now', 'confirm']
});
laydate.render({elem: '#reimbursementTime', range: false, btns: ['now', 'confirm']});
// 获取当前登录员工信息
systemCommonUtil.getSysCurrentLoginUserMation(function (data){
......@@ -30,25 +26,23 @@ layui.config({
$("#writePeople").html(data.bean.userName);
});
matchingLanguage();
//支出分类
AjaxPostUtil.request({url: flowableBasePath + "procostexpensetype008", params: {}, type: 'json', callback: function(data) {
// 项目成本费用支出分类
sysDictDataUtil.queryDictDataListByDictTypeCode(sysDictData["pmCostExpenseType"]["key"], function (data) {
costTypeList = getDataUseHandlebars(selOption, data);
addRow();
proUtil.queryMyProjectsList(function (data){
$("#proId").html(getDataUseHandlebars(selOption, data));
form.render('select');
});
departmentsSelect();
}});
function departmentsSelect(){
// 获取当前登录用户所属企业的所有部门信息
systemCommonUtil.queryDepartmentListByCurrentUserBelong(function(data){
$("#departments").html(getDataUseHandlebars(selOption, data));
form.render('select');
});
}
});
// 获取我参与的项目列表
proUtil.queryMyProjectsList(function (data){
$("#proId").html(getDataUseHandlebars(selOption, data));
form.render('select');
});
// 获取当前登录用户所属企业的所有部门信息
systemCommonUtil.queryDepartmentListByCurrentUserBelong(function(data){
$("#departments").html(getDataUseHandlebars(selOption, data));
form.render('select');
});
//价格变化
$("body").on("input", ".priceInput", function() {
......@@ -71,6 +65,8 @@ layui.config({
}
skyeyeEnclosure.init('enclosureUpload');
matchingLanguage();
form.render();
// 保存为草稿
form.on('submit(formAddBean)', function(data) {
if(winui.verifyForm(data.elem)) {
......
......@@ -14,7 +14,6 @@ layui.config({
var rowNum = 1; //表格的序号
var costTypeList = "";//支出分类集合展示html
var start;
var usetableTemplate = $("#usetableTemplate").html();
var showTemplate = $("#showTemplate").html();
......@@ -32,11 +31,7 @@ layui.config({
$(".typeOne").removeClass("layui-hide");
}
start = laydate.render({
elem: '#reimbursementTime', //指定元素
range: false,
btns: ['now', 'confirm']
});
laydate.render({elem: '#reimbursementTime', range: false, btns: ['now', 'confirm']});
// 附件回显
skyeyeEnclosure.initTypeISData({'enclosureUpload': json.bean.enclosureInfo});
......@@ -46,26 +41,24 @@ layui.config({
$("#proId").val(json.bean.proId);
});
form.render('select');
// 支出分类
AjaxPostUtil.request({url: flowableBasePath + "procostexpensetype008", params: {}, type: 'json', method: "POST", callback: function(data) {
departmentsSelect(json);
// 项目成本费用支出分类
sysDictDataUtil.queryDictDataListByDictTypeCode(sysDictData["pmCostExpenseType"]["key"], function (data) {
costTypeList = getDataUseHandlebars(selOption, data);
$.each(json.bean.purposes, function(i, item){
showRow(item);
});
}});
matchingLanguage();
form.render();
}});
});
$.each(json.bean.purposes, function(i, item){
showRow(item);
});
function departmentsSelect(j){
// 获取当前登录用户所属企业的所有部门信息
systemCommonUtil.queryDepartmentListByCurrentUserBelong(function(data){
$("#departments").html(getDataUseHandlebars(selOption, data));
$("#departments").val(j.bean.departmentId);
$("#departments").val(json.bean.departmentId);
form.render('select');
});
}
matchingLanguage();
form.render();
}});
// 价格变化
$("body").on("input", ".priceInput", function() {
......
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
matchingLanguage();
form.render();
form.on('submit(formAddBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
typeName: $("#typeName").val()
};
AjaxPostUtil.request({url: flowableBasePath + "procostexpensetype002", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'jquery', 'winui'], function (exports) {
winui.renderColor();
layui.use(['form'], function (form) {
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$;
showGrid({
id: "showForm",
url: flowableBasePath + "procostexpensetype003",
params: {rowId: parent.rowId},
pagination: false,
template: getFileContent('tpl/procostexpensetype/procostexpensetypeeditTemplate.tpl'),
ajaxSendLoadBefore: function(hdb){
},
ajaxSendAfter: function (json) {
matchingLanguage();
form.render();
form.on('submit(formEditBean)', function (data) {
if (winui.verifyForm(data.elem)) {
var params = {
rowId: parent.rowId,
typeName: $("#typeName").val()
};
AjaxPostUtil.request({url: flowableBasePath + "procostexpensetype004", params: params, type: 'json', callback: function (json) {
parent.layer.close(index);
parent.refreshCode = '0';
}});
}
return false;
});
}
});
$("body").on("click", "#cancle", function() {
parent.layer.close(index);
});
});
});
\ No newline at end of file
var rowId = "";
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var $ = layui.$,
form = layui.form,
table = layui.table;
authBtn('1574126981912');
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: flowableBasePath + 'procostexpensetype001',
where: {typeName: $("#typeName").val(), state: $("#state").val()},
even: true,
page: true,
limits: [8, 16, 24, 32, 40, 48, 56],
limit: 8,
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers'},
{ field: 'typeName', title: '类型名称', align: 'center', width: 120 },
{ field: 'state', title: '状态', width: 100, align: 'center', templet: function (d) {
if(d.state == '1'){
return "<span class='state-new'>新建</span>";
}else if(d.state == '2'){
return "<span class='state-up'>上线</span>";
}else if(d.state == '3'){
return "<span class='state-down'>下线</span>";
} else {
return "参数错误";
}
}},
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 200},
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 250, toolbar: '#tableBar'}
]],
done: function(){
matchingLanguage();
}
});
table.on('tool(messageTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') { //编辑
edit(data);
}else if (layEvent === 'delete'){ //删除
del(data);
}else if (layEvent === 'up') { //上线
up(data);
}else if (layEvent === 'down') { //下线
down(data);
}
});
form.render();
$("body").on("click", "#formSearch", function() {
refreshTable();
});
$("body").on("click", "#reloadTable", function() {
loadTable();
});
function loadTable(){
table.reload("messageTable", {where: {typeName: $("#typeName").val(), state: $("#state").val()}});
}
function refreshTable(){
table.reload("messageTable", {page: {curr: 1}, where: {typeName: $("#typeName").val(), state: $("#state").val()}});
}
//新增
$("body").on("click", "#addBean", function() {
_openNewWindows({
url: "../../tpl/procostexpensetype/procostexpensetypeadd.html",
title: systemLanguage["com.skyeye.addPageTitle"][languageType],
pageId: "procostexpensetypeadd",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
//编辑
function edit(data){
rowId = data.id;
_openNewWindows({
url: "../../tpl/procostexpensetype/procostexpensetypeedit.html",
title: systemLanguage["com.skyeye.editPageTitle"][languageType],
pageId: "procostexpensetypeedit",
area: ['90vw', '90vh'],
callBack: function(refreshCode){
winui.window.msg(systemLanguage["com.skyeye.successfulOperation"][languageType], {icon: 1, time: 2000});
loadTable();
}});
}
//删除
function del(data, obj){
layer.confirm(systemLanguage["com.skyeye.deleteOperationMsg"][languageType], {icon: 3, title: systemLanguage["com.skyeye.deleteOperation"][languageType]}, function(index){
layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "procostexpensetype005", params: {rowId: data.id}, type: 'json', callback: function (json) {
winui.window.msg(systemLanguage["com.skyeye.deleteOperationSuccessMsg"][languageType], {icon: 1, time: 2000});
loadTable();
}});
});
}
//上线
function up(data, obj){
var msg = obj ? '确认将【' + obj.data.typeName + '】上线吗?' : '确认将选中数据上线吗?';
layer.confirm(msg, {icon: 3, title: '上线操作'}, function (index) {
layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "procostexpensetype006", params: {rowId: data.id}, type: 'json', callback: function (json) {
winui.window.msg("上线成功", {icon: 1, time: 2000});
loadTable();
}});
});
}
//下线
function down(data, obj){
var msg = obj ? '确认将【' + obj.data.typeName + '】下线吗?' : '确认将选中数据下线吗?';
layer.confirm(msg, {icon: 3, title: '下线操作'}, function (index) {
layer.close(index);
AjaxPostUtil.request({url: flowableBasePath + "procostexpensetype007", params: {rowId: data.id}, type: 'json', callback: function (json) {
winui.window.msg("下线成功", {icon: 1, time: 2000});
loadTable();
}});
});
}
exports('procostexpensetypelist', {});
});
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
<div class="layui-form-item layui-col-xs12">
<label class="layui-form-label">类型名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="typeName" name="typeName" win-verify="required" placeholder="请输入类型名称" class="layui-input" maxlength="10"/>
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formAddBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/procostexpensetype/'}).use('procostexpensetypeadd');
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div style="padding:20px; margin:0 auto;">
<form class="layui-form" action="" id="showForm">
</form>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/procostexpensetype/'}).use('procostexpensetypeedit');
</script>
</body>
</html>
\ No newline at end of file
{{#bean}}
<div class="layui-form-item">
<label class="layui-form-label">类型名称<i class="red">*</i></label>
<div class="layui-input-block">
<input type="text" id="typeName" name="typeName" win-verify="required" placeholder="请输入类型名称" class="layui-input" maxlength="10" value="{{typeName}}" />
</div>
</div>
<div class="layui-form-item layui-col-xs12">
<div class="layui-input-block">
<button class="winui-btn" id="cancle"><language showName="com.skyeye.cancel"></language></button>
<button class="winui-btn" lay-submit lay-filter="formEditBean"><language showName="com.skyeye.save"></language></button>
</div>
</div>
{{/bean}}
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="txtcenter" style="margin:0 auto;padding-top:10px;">
<form class="layui-form layui-form-pane" action="" autocomplete="off">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">名称</label>
<div class="layui-input-inline">
<input type="text" id="typeName" name="typeName" placeholder="请输入名称" class="layui-input" />
</div>
<label class="layui-form-label">状态</label>
<div class="layui-input-inline">
<select id="state" name="state">
<option value="">全部</option>
<option value="1">新建</option>
<option value="2">上线</option>
<option value="3">下线</option>
</select>
</div>
<button type="reset" class="layui-btn layui-btn-primary list-form-search"><language showName="com.skyeye.reset"></language></button>
<button class="layui-btn list-form-search" type="button" id="formSearch"><language showName="com.skyeye.search2"></language></button>
</div>
</div>
</form>
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
<button id="addBean" class="winui-toolbtn" auth="1574126981912"><i class="fa fa-plus" aria-hidden="true"></i><language showName="com.skyeye.addBtn"></language></button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
<script type="text/html" id="tableBar">
{{# if(d.state == 1 || d.state == 3){ }}
{{# if(auth('1574127003361')){ }}
<a class="layui-btn layui-btn-xs" lay-event="edit"><language showName="com.skyeye.editBtn"></language></a>
{{# } }}
{{# } }}
{{# if((d.state == 1 || d.state == 3) && (d.useNum == 0)){ }}
{{# if(auth('1574127011557')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="delete"><language showName="com.skyeye.deleteBtn"></language></a>
{{# } }}
{{# } }}
{{# if(d.state == 1 || d.state == 3){ }}
{{# if(auth('1574127020969')){ }}
<a class="layui-btn layui-btn-xs" lay-event="up">上线</a>
{{# } }}
{{# } }}
{{# if(d.state == 2){ }}
{{# if(auth('1574127030014')){ }}
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="down">下线</a>
{{# } }}
{{# } }}
</script>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/procostexpensetype/'}).use('procostexpensetypelist');
</script>
</body>
</html>
\ No newline at end of file
......@@ -43,4 +43,21 @@ var sysDictDataUtil = {
}, async: false});
},
/**
* 获取指定分类下的的数据字典
*
* @param dictTypeCode 数据字典所属分类的Code
* @param callback 回执函数
*/
queryDictDataListByDictTypeCode: function (dictTypeCode, callback) {
var params = {
dictTypeCode: dictTypeCode
};
AjaxPostUtil.request({url: reqBasePath + "queryDictDataListByDictTypeCode", params: params, type: 'json', method: "GET", callback: function(json) {
if (typeof(callback) == "function") {
callback(json);
}
}, async: false});
},
};
......@@ -27,6 +27,7 @@
"amsServiceFeedbBackType": {"name": "AMS-售后服务反馈类型", "key": "AMS_SERVICE_FEEDB_BACK_TYPE"},
"pmFileType": {"name": "PM-项目文档分类", "key": "PM_FILE_TYPE"},
"pmProjectType": {"name": "PM-项目分类", "key": "PM_PROJECT_TYPE"}
"pmProjectType": {"name": "PM-项目分类", "key": "PM_PROJECT_TYPE"},
"pmCostExpenseType": {"name": "PM-项目成本费用支出分类", "key": "PM_COST_EXPENSE_TYPE"}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册