Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/user/companyEdit.jsp

627 lines
27 KiB
Plaintext
Raw Normal View History

2026-01-16 14:13:44 +08:00
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%request.setAttribute("UNIT_TYPE_BIZ",com.sipai.tools.CommString.UNIT_TYPE_BIZ);%>
<%request.setAttribute("UNIT_TYPE_DEPT",com.sipai.tools.CommString.UNIT_TYPE_DEPT);%>
<%request.setAttribute("Flag_Active",com.sipai.tools.CommString.Flag_Active);%>
<%request.setAttribute("Flag_Unactive",com.sipai.tools.CommString.Flag_Unactive);%>
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security"%>
<script type="text/javascript">
/*** 上半部分 */
var showCompany4SelectFun = function () {
$.post(ext.contextPath + '/user/showCompany4Select.do', { formId: "companyForm", hiddenId: "pid", textId: "_pname" }, function (data) {
$("#company4SelectDiv").html(data);
openModal("company4SelectModal");
});
};
var showCompany4Library = function () {
$.post(ext.contextPath + '/user/showCompany4Select.do', { formId: "companyForm", hiddenId: "libraryBizid", textId: "_bizid" }, function (data) {
$("#company4SelectDiv").html(data);
openModal("company4SelectModal");
});
};
var floorTbName = "TB_TimeEfficiency_PatrolArea_Floor_file";
var showUnit4SelectCopyFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', { formId: "companyForm", hiddenId: "copyId", textId: "copyName" }, function (data) {
$("#unit4SelectCopyDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
$("#companyForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
name: {
validators: {
notEmpty: {
message: '名称不能为空'
}
}
},
longitude: {
validators: {
/*notEmpty: {
message: '经度不能为空'
},*/
regexp: {
regexp: /^(([^0][0-9]+|0)\.([0-9]{1,10})$)|^([^0][0-9]+|0)$/,
message: '请输入正确的经度'
}
}
},
latitude: {
validators: {
/*notEmpty: {
message: '纬度不能为空'
},*/
regexp: {
regexp: /^(([^0][0-9]+|0)\.([0-9]{1,10})$)|^([^0][0-9]+|0)$/,
message: '请输入正确的纬度'
}
}
},
ename: {
validators: {
notEmpty: {
message: '英文编码不能为空'
}
}
},
morder: {
validators: {
notEmpty: {
message: '顺序不能为空'
},
regexp: {
regexp: /^[0-9]*$/,
message: '顺序必须为数字'
}
}
}
}
});
function doSaveCompany() {
$("#companyForm").data('bootstrapValidator').resetForm();
$("#companyForm").bootstrapValidator('validate');//提交验证
if ($("#companyForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/user/updateCompany.do", $("#companyForm").serialize(), function (data) {
if (data.res == "1") {
initTreeView();
} else {
showAlert('d', '保存失败');
}
}, 'json');
}
}
function delCompany() {
swal({
text: "您确定要删除此记录?",
dangerMode: true,
buttons: {
cancel: {
text: "取消",
value: null,
visible: true,
classname: "btn btn-default btn-sm",
closeModal: true,
},
confirm: {
text: "确定",
value: true,
visible: true,
classname: "btn btn-danger btn-sm",
closeModal: true
}
}
})
.then(willDelete => {
if (willDelete) {
$.post(ext.contextPath + '/user/deleteCompany.do', $("#companyForm").serialize(), function (data) {
if (data.res > 0) {
showAlert('s', '删除成功');
initTreeView();
} else {
showAlert('d', '删除失败');
}
}, 'json');
}
});
}
//文件导入
var fileinput = function () {
//var url='/maintenance/updateProblemFile.do';//保存数据表方法
$.post(ext.contextPath + '/base/fileinput.do', { masterId: masterId, tbName: tbName, nameSpace: nameSpace }, function (data) {
$("#fileInputDiv").html(data);
openModal('fileInputModal');
});
};
var masterId = $('#id').val();
var tbName = 'tb_company_file'; //数据表
var nameSpace = 'CompanyFile';//保存文件夹
var previews = new Array();
var previewConfigs = new Array();
/* var student = {
"caption":"lilei",
}
previewConfigs[0]=student; */
//初始化fileinput控件第一次初始化
function showFileInput(ctrlName) {
var control = $('#' + ctrlName);
control.fileinput('destroy');
control.fileinput({
language: 'zh', //设置语言
showUpload: false, //是否显示上传按钮
showRemove: false,
showCaption: false,//是否显示标题
showBrowse: false,//选择按钮
showClose: false,//右上角关闭按钮
dropZoneEnabled: false,//是否显示拖拽区域
fileActionSettings: {
showDrag: false
},
browseClass: "btn btn-primary", //按钮样式
maxFileCount: 10, //表示允许同时上传的最大文件个数
enctype: 'multipart/form-data',
validateInitialCount: true,
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
initialPreviewAsData: true,
initialPreview: previews,
initialPreviewConfig: previewConfigs,
layoutTemplates: {
actionUpload: ''
},
deleteUrl: ext.contextPath + "/base/deleteInputFile.do",
deleteExtraData: function () { //传参
var data = {
"tbName": tbName
};
return data;
}
});
$('#kvFileinputModal').on("hidden.bs.modal", function () {
$(this).removeData("bs.modal");
//modal重复打开会导致前面的滚动条失去作用
$('.modal').css("overflow", "auto");
});
}
//名称定义不可修改
var getFileList = function () {
$.post(ext.contextPath + '/base/getInputFileList.do', { masterId: masterId, tbName: tbName }, function (data) {
//console.info(data)
previews = new Array();
for (var i = 0; i < data.length; i++) {
var path = data[i].abspath;
path = path.substring(path.indexOf('webapps') + 7, path.length);
path = ext.basePath.replace(ext.contextPath, '') + path.replace(/\\/g, "\/");;
if (data[i].type.indexOf("audio") != -1) {
var id = data[i].id;
var blob = path;
//console.info(blob)
if ($("#" + id).length > 0) {
continue;
}
recblob[id] = { blob: blob, rec: rec };
reclog('<div class="form-group" id=' + id + '> ' + data[i].insdt.substring(0, 16) + '录制 ' +
'<div class="btn-group">' +
'<button class="btn btn-primary btn-sm" onclick="recplay(\'' + id + '\')" type="button"><i class="fa fa-play " ></i></button>' +
'<button class="btn btn-danger btn-sm" onclick="deleteFIleInput(\'' + id + '\')" type="button"><i class="fa fa-remove "></i></button>' +
'</div>' +
'</div>');
} else {
var previewConfig = new Object();
previews.push(path);
previewConfig['width'] = '50px';
previewConfig['caption'] = data[i].filename;
previewConfig['key'] = data[i].id;
previewConfigs.push(previewConfig);
}
}
if (previews.length > 0) {
$('#companyfile').show();
showFileInput("companyfile");
} else {
$('#companyfile').hide();
}
}, 'json');
};
/*** 下半部分 */
var addUserFun = function () {
$.post(ext.contextPath + '/user/addUser.do', {}, function (data) {
$("#userDiv").html(data + "<div id='unit4SelectDiv'></div> ");
openModal('subModal');
});
};
var delUserFun = function () {
var checkedItems = $("#table").bootstrapTable('getSelections');
var datas = "";
$.each(checkedItems, function (index, item) {
datas += item.id + ",";
});
if (datas == "") {
showAlert('d', '请先选择记录', 'mainAlertdiv');
} else {
swal({
text: "您确定要禁用这些用户吗?",
dangerMode: true,
buttons: {
cancel: {
text: "取消",
value: null,
visible: true,
classname: "btn btn-default btn-sm",
closeModal: true,
},
confirm: {
text: "确定",
value: true,
visible: true,
classname: "btn btn-danger btn-sm",
closeModal: true
}
}
})
.then(willDelete => {
if (willDelete) {
$.post(ext.contextPath + '/user/deleteUsers.do', { ids: datas }, function (data) {
if (data > 0) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '禁用失败', 'mainAlertdiv');
}
});
}
});
}
};
var editUserFun = function (id) {
$.post(ext.contextPath + '/user/editUser.do', { id: id }, function (data) {
$("#userDiv").html(data);
openModal('subModal');
});
};
//重置密码
var pwdFun = function (id) {
swal({
text: "您确定要重置密码吗?",
dangerMode: true,
buttons: {
cancel: {
text: "取消",
value: null,
visible: true,
classname: "btn btn-default btn-sm",
closeModal: true,
},
confirm: {
text: "确定",
value: true,
visible: true,
classname: "btn btn-danger btn-sm",
closeModal: true
}
}
})
.then(willDelete => {
if (willDelete) {
$.post(ext.contextPath + '/user/resetPassword.do', { id: id }, function (data) {
if (data == 1) {
showAlert('s', '重置成功', 'mainAlertdiv');
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '重置失败', 'mainAlertdiv');
}
});
}
});
};
$("#copyPatrolForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
copyName: {
validators: {
notEmpty: {
message: '复制模板不能为空'
}
}
}
}
});
$(function () {
$('#saveBtn').on('click', function () {
$("#copyPatrolForm").data('bootstrapValidator').resetForm();
$("#copyPatrolForm").bootstrapValidator('validate');//提交验证
if ($("#copyPatrolForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var $btn = $(this).button('loading');
$.post(ext.contextPath + '/timeEfficiency/patrolModel/setDefaultPatrol.do', { oldCompanyId: $('#copyId').val(), newCompanyId: "${company.id}", tbName: floorTbName }, function (data) {
if (data.res == 1) {
$btn.button('reset');
showAlert('s', '模板巡检复制成功');
} else {
$btn.button('reset');
showAlert('d', '模板巡检复制失败');
}
}, 'json');
}
})
$("#active").select2({ minimumResultsForSearch: 10 }).val("${company.active}").trigger("change");
fixSelect2ToForm("active");
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/user/getUsersById.do?id=${company.id}', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
pageSize: 50, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order // 排序规则
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [/*{
checkbox: true, // 显示一个勾选框
},*/
{
field: 'name', // 返回json数据中的name
title: '登录名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'caption', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'sex', // 返回json数据中的name
title: '性别', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
formatter: function (value, row, index) {
if (value == '0') {
return '女';
} else {
return '男';
}
}
}, {
field: '_pname', // 返回json数据中的name
title: '公司/部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'active', // 返回json数据中的name
title: '状态', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
formatter: function (value, row, index) {
switch (value) {
case '0':
return '禁用';
case '1':
return '启用';
case '2':
return '退休';
case '3':
return '离职';
default:
return '';
}
}
}/*,{
title: "操作",
align: 'center',
valign: 'middle',
// width: 60, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var str = '';
str+='<button class="btn btn-default btn-sm" title="编辑" onclick="editUserFun(\'' + row.id + '\')"><i class="fa fa-edit"></i></button>';
str+='<button class="btn btn-default btn-sm" title="重置密码" onclick="pwdFun(\'' + row.id + '\')"><i class="fa fa-repeat"></i></button>';
str='<div class="btn-group" >'+str+'</div>';
return str;
/* return '<i class="fa fa-edit" onclick="editFun()(\'' + row.id + '\')></i>';
}
}*/
],
onLoadSuccess: function () { //加载成功时执行
$(".bs-checkbox").css({ 'text-align': 'center', 'vertical-align': 'middle' })
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
getFileList();
});
</script>
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">详情</h3>
<div class="box-tools pull-right">
<a onclick="doSaveCompany()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i
class="glyphicon glyphicon-floppy-disk"></i></a>
<security:authorize buttonUrl="user/deleteCompany.do">
<a onclick="delCompany()" class="btn btn-box-tool" data-toggle="tooltip" title="删除"><i
class="glyphicon glyphicon-trash"></i></a>
</security:authorize>
</div>
</div>
<!-- /.box-header -->
<div class="box-body ">
<form class="form-horizontal " id="companyForm">
<input id="id" name="id" type="hidden" value="${company.id}" />
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<div id="company4SelectDiv"></div>
<div id="unit4SelectCopyDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label">*名称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="name" name="name" placeholder="名称"
style="border-radius:4px" value="${company.name }">
</div>
<label class="col-sm-2 control-label">*上级</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="_pname" name="_pname" placeholder="上级"
style="border-radius:4px;background-color: white;" onclick="showCompany4SelectFun();"
value="${pname}" readonly>
<input id="pid" name="pid" type="hidden" value="${company.pid}" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">简称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="sname" name="sname" placeholder="简称"
style="border-radius:4px" value="${company.sname}">
</div>
<label class="col-sm-2 control-label">*所属标准库层级</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="_bizid" name="_bizid" placeholder="所属标准库层级"
style="border-radius:4px;background-color: white;" onclick="showCompany4Library();"
value="${_bizid}" readonly>
<input id="libraryBizid" name="libraryBizid" type="hidden" value="${company.libraryBizid}" />
</div>
<!-- <div id="biz_id" style="display:none;">
<label class="col-sm-2 control-label">水厂编号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="id" name ="id" placeholder="编号" value="" />
</div>
</div> -->
</div>
<div class="form-group">
<label class="col-sm-2 control-label">经度</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="longitude" name="longitude" placeholder="经度"
style="border-radius:4px" value="${company.longitude}">
</div>
<label class="col-sm-2 control-label">纬度</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="latitude" name="latitude" placeholder="纬度"
style="border-radius:4px;" value="${company.latitude}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">地址</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="address" name="address" placeholder="地址"
style="border-radius:4px" value="${company.address}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*英文编码</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="ename" name="ename" placeholder="规则编码"
style="border-radius:4px" value="${company.ename}">
</div>
<label class="col-sm-2 control-label">*城市</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="city" name="city" placeholder="城市"
style="border-radius:4px" value="${company.city}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*顺序</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="morder" name="morder" placeholder="顺序"
style="border-radius:4px" value="${company.morder}">
</div>
<security:authorize buttonUrl="user/deleteCompany.do">
<label class="col-sm-2 control-label">启用</label>
<div class="col-sm-4">
<select id="active" name="active" class="form-control select2">
<!-- <option value="${Flag_Issued}" <c:if test="${prodtask.runstatus==Flag_Issued}">selected</c:if>>下达</option> -->
<option value="${Flag_Active}">启用</option>
<option value="${Flag_Unactive}">禁用</option>
</select>
</div>
</security:authorize>
</div>
<%--<div class="form-group">
<security:authorize buttonUrl="timeEfficiency/patrolModel/setDefaultPatrol.do">
<label class="col-sm-2 control-label">巡检配置复制</label>
<div class="col-sm-4">
<div class="input-group">
<input type="text" class="form-control" id="copyName" name="copyName" placeholder="复制对象公司"
style="border-radius:4px;background-color:white;width:100%"
onclick="showUnit4SelectCopyFun();" value="" readonly />
<span class="input-group-btn">
<button type="button" id="saveBtn" data-loading-text="加载中..." class="btn btn-primary"
autocomplete="off">保存</button></span>
</div>
<input id="copyId" name="copyId" type="hidden" value="" />
</div>
</security:authorize>
</div>--%>
</form>
<form class="form-horizontal " id="copyPatrolForm">
<div class="form-group" style="margin:8px">
<label class="col-sm-2 control-label"></label>
<button type="button" class="btn btn-default btn-file btn-sm" onclick="fileinput()" id="btn_save"><i
class="fa fa-paperclip"></i> 上传图片</button>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="companyfile" id="companyfile" multiple class="file-loading" />
</div>
</form>
</div>
</div>
<div class="box box-solid">
<div class="box-header with-border">
<h3 class="box-title">人员</h3>
<div class="box-tools pull-right">
</div>
</div>
<!-- /.box-header -->
<div class="box-body ">
<div>
<div id="alertDiv_user"></div>
<!--
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
<button type="button" class="btn btn-default" onclick="addUserFun();"><i class="fa fa-plus"></i> 新增</button>
<button type="button" class="btn btn-default" onclick="delUserFun();"><i class="fa fa-plus-square"></i> 删除</button>
</div>-->
<div id="userDiv"></div>
<div id="user4SelectDiv_func"></div>
<br>
<table id="table"></table>
</div>
</div>
</div>