294 lines
11 KiB
JavaScript
294 lines
11 KiB
JavaScript
var example = null;
|
||
var pers = null;
|
||
var id = localStorage.getItem("id");
|
||
var type = localStorage.getItem("type");
|
||
var data = [];
|
||
$(function () {
|
||
layui.use(['layer', 'laydate', 'form'], function () {
|
||
var layer = layui.layer;
|
||
var laydate = layui.laydate;
|
||
var form = layui.form;
|
||
pers = checkPermission();
|
||
if(id != ''){
|
||
var bidData = localStorage.getItem("bidData").split(',');
|
||
for(i in bidData){
|
||
data.push(bidData[i]);
|
||
}
|
||
// data = localStorage.getItem("bidData");
|
||
$("#proName").val(localStorage.getItem("proName"));
|
||
}
|
||
init();
|
||
$("#searchBt").click(function () {
|
||
example.ajax.reload();
|
||
});
|
||
});
|
||
})
|
||
|
||
function init() {
|
||
example =
|
||
$('#dt-table').DataTable({
|
||
"sort": false,
|
||
"searching": false,
|
||
"processing": true, //加载数据时显示进度状态
|
||
"serverSide": true,
|
||
"language": {
|
||
"url": contentPath + "/js/plugin/datatables/Chinese.lang"
|
||
},
|
||
"ajax": {
|
||
"url": ctxPath + "/proBidRelation/selectProBidList",
|
||
"type": "post",
|
||
"data": function (d) {
|
||
d.bidProId = data.toString();
|
||
},
|
||
"error": function (xhr, textStatus, errorThrown) {
|
||
var msg = xhr.responseText;
|
||
var response = JSON.parse(msg);
|
||
var code = response.code;
|
||
var message = response.message;
|
||
if (code == 400) {
|
||
layer.msg(message);
|
||
} else if (code == 401) {
|
||
localStorage.removeItem("token");
|
||
layer.msg("token过期,请先登录", {shift: -1, time: 1000}, function () {
|
||
location.href = ctxPath + '/login.html';
|
||
});
|
||
} else if (code == 403) {
|
||
console.log("未授权:" + message);
|
||
layer.msg('未授权');
|
||
} else if (code == 500) {
|
||
console.log('系统错误:' + message);
|
||
}
|
||
}
|
||
},
|
||
"drawCallback": function() {
|
||
var thisDataTable = $('#dt-table').DataTable();
|
||
$(".pagination").append("<li>" +
|
||
"<a class='paginate_button' style='padding:4px;' href='#' tabindex='0'>到 <input style='margin:0px;width:40px;' id='changePage'> 页</a>" +
|
||
"<a class='paginate_button' style='margin-bottom:1px' href='#' tabindex='0' id='dataTable-btn'>确认</a></li>");
|
||
//点击按钮跳转指定页数
|
||
$('#dataTable-btn').click(function (e) {
|
||
if ($("#changePage").val() && $("#changePage").val() > 0) {
|
||
var redirectpage = $("#changePage").val() - 1;
|
||
} else {
|
||
var redirectpage = 0;
|
||
}
|
||
thisDataTable.page(redirectpage).draw( 'page' );
|
||
});
|
||
//敲击回车键跳转指定页数
|
||
$("#changePage").keypress(function (e) {
|
||
if(event.keyCode==13){
|
||
if ($("#changePage").val() && $("#changePage").val() > 0) {
|
||
var redirectpage = $("#changePage").val() - 1;
|
||
} else {
|
||
var redirectpage = 0;
|
||
}
|
||
thisDataTable.page(redirectpage).draw( 'page' );
|
||
}
|
||
});
|
||
},
|
||
"dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>>",
|
||
"columns": [
|
||
// {
|
||
// "width":"3%",
|
||
// "data": null,
|
||
// "bSortable": false,
|
||
// render: function (data, type, full, meta) {
|
||
// var node = '';
|
||
// var checkedStatus = data['checkedStatus'];
|
||
// node = '<input class="checkall" name="checked" value=\"' + full.idNumber + ',' + full.proId + '\" type="checkbox"/>';
|
||
// if (checkedStatus == 1) {
|
||
// node = '<input class="checkall" name="checked" checked="checked" value=\"' + full.idNumber + ',' + full.proId + '\" type="checkbox"/>';
|
||
// }
|
||
// return node;
|
||
// }
|
||
// },
|
||
{
|
||
width: '3%',
|
||
data: function (row, type, set, meta) {
|
||
var c = meta.settings._iDisplayStart + meta.row + 1;
|
||
return c;
|
||
}
|
||
},
|
||
{"data": "proName",width: '10%'},
|
||
{"data": "abbreviation",width: '10%'},
|
||
{
|
||
"data": "",
|
||
"defaultContent": "",width: '5%',
|
||
"orderable": false,
|
||
"render": function (data, type, row) {
|
||
var isMultiple = row['isMultiple'];
|
||
var html = '';
|
||
html += buttonRadio(isMultiple, "", pers);
|
||
return html;
|
||
}
|
||
},
|
||
{
|
||
"data": "",
|
||
"defaultContent": "",width: '5%',
|
||
"orderable": false,
|
||
"render": function (data, type, row) {
|
||
var html = '';
|
||
html += buttonDelete(row['id'], "", pers);
|
||
return html;
|
||
}
|
||
},
|
||
|
||
],
|
||
"order": [[0, "desc"], [1, "asc"]] //在栏目列上显示排序功能
|
||
});
|
||
}
|
||
|
||
function showAddBidForm() {
|
||
if(type == 'add'){
|
||
var index = layer.open({
|
||
title: true,
|
||
title:["选择标段"],
|
||
type: 2,
|
||
content: 'proBidRelationCheckPush.html',
|
||
area: ['80%', '96%'],
|
||
maxmin: false
|
||
});
|
||
}
|
||
}
|
||
|
||
function showBidData(select) {
|
||
// data = [];
|
||
for(var i = 0;i < select.length;i++){
|
||
var arr = select[i].split(',');
|
||
data.push(arr[0]);
|
||
}
|
||
example.ajax.reload();
|
||
}
|
||
|
||
function buttonDelete(id, permission, pers) {
|
||
if (permission != "") {
|
||
if ($.inArray(permission, pers) < 0) {
|
||
return "";
|
||
}
|
||
}
|
||
var btn = $("<button class='layui-btn layui-btn-xs' title='删除' onclick='deleteBid(\"" + id + "\")'>删除</button>");
|
||
return btn.prop("outerHTML");
|
||
}
|
||
|
||
function buttonRadio(isMultiple, permission, pers) {
|
||
if (permission != "") {
|
||
if ($.inArray(permission, pers) < 0) {
|
||
return "";
|
||
}
|
||
}
|
||
var btn;
|
||
if(isMultiple == '1'){
|
||
btn = $("<input id='checkInput' name='checkInput' checked = 'checked' type='checkbox' onclick='chkBox(this)'/>");
|
||
}else{
|
||
btn = $("<input id='checkInput' name='checkInput' type='checkbox' onclick='chkBox(this)'/>");
|
||
}
|
||
return btn.prop("outerHTML");
|
||
}
|
||
|
||
function chkBox(elm) {
|
||
if(type == 'add'){
|
||
var obj = document.getElementsByName("checkInput");
|
||
var num = 0;
|
||
for (var i = 0;i < obj.length;i++){
|
||
if (obj[i].checked){
|
||
num++;
|
||
}
|
||
}
|
||
if (num > 1){
|
||
layer.alert("只能选择一个工程!");
|
||
for (var i = 0;i < obj.length;i++){
|
||
elm.checked =false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function deleteBid(id) {
|
||
if(type == 'add'){
|
||
var arr = [];
|
||
for(var i = 0;i < data.length;i++){
|
||
if(data[i] != id){
|
||
arr.push(data[i]);
|
||
}
|
||
}
|
||
data = arr;
|
||
example.ajax.reload();
|
||
}
|
||
}
|
||
|
||
function upload() {
|
||
if(type == 'add') {
|
||
var proName = $("#proName").val();
|
||
var check = isCheck();
|
||
if (proName == '') {
|
||
parent.layer.msg("请填写分包合同工程名称全称", {icon: 2, time: 2000});
|
||
} else if (check.indexOf("1") == -1) {
|
||
parent.layer.msg("请选择复用工程", {icon: 2, time: 2000});
|
||
} else {
|
||
var loadingMsg = parent.layer.msg('数据上传中,请稍候...', {
|
||
icon: 16,
|
||
scrollbar: false,
|
||
time: 0,
|
||
shade: [0.8, '#393D49']
|
||
});
|
||
var form = {bidProId: data.toString(), isMultiple: check.toString(), proName: proName, id: id};
|
||
$.ajax({
|
||
type: 'POST',
|
||
async: false, // 默认异步true,false表示同步
|
||
url: ctxPath + "/proBidRelation/addProBidData", // 请求地址
|
||
contentType: "application/json; charset=utf-8",
|
||
dataType: 'json', // 服务器返回数据类型
|
||
data: JSON.stringify(form), //获取提交的表单字段
|
||
success: function (data) {
|
||
var resMsg = data.resMsg;
|
||
if (resMsg == 'success') {
|
||
parent.layer.msg("保存成功", {icon: 1, time: 2000});
|
||
setTimeout("relading()", 2100)
|
||
} else {
|
||
parent.layer.msg("保存失败", {icon: 2, time: 2000});
|
||
}
|
||
parent.layer.close(loadingMsg); //再执行关闭
|
||
},
|
||
error: function (XMLHttpRequest, textStatus, e) {
|
||
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false});
|
||
parent.layer.close(loadingMsg); //再执行关闭
|
||
}
|
||
});
|
||
}
|
||
}
|
||
}
|
||
|
||
function relading() {
|
||
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
|
||
parent.layer.close(index);
|
||
window.parent.location.reload();
|
||
}
|
||
|
||
function isCheck() {
|
||
var obj = document.getElementsByName('checkInput');
|
||
var check = [];
|
||
for(var i = 0;i < obj.length;i++){
|
||
if(obj[i].checked){
|
||
check.push("1");
|
||
}else{
|
||
check.push('0');
|
||
}
|
||
}
|
||
return check;
|
||
}
|
||
|
||
/**
|
||
* 获取当日时间
|
||
*/
|
||
function getNowTime() {
|
||
var nowDate = new Date();
|
||
var year = nowDate.getFullYear();
|
||
var month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1) :
|
||
nowDate.getMonth() + 1;
|
||
var day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();
|
||
var h =nowDate.getHours();
|
||
var m=nowDate.getMinutes();
|
||
var s=nowDate.getSeconds();
|
||
var dateStr = year + "-" + month + "-" + day;
|
||
return dateStr;
|
||
} |