|
|
// 业务类型管理
|
|
|
layui.define(['table', 'form', 'admin', 'layer', 'laytpl', 'common', 'view', 'sessions', 'commonDetail', 'treeTable', 'xmSelect', 'userlist', 'reslist'], function (exports) {
|
|
|
var $ = layui.$;
|
|
|
var form = layui.form;
|
|
|
var layer = layui.layer;
|
|
|
var admin = layui.admin;
|
|
|
var table = layui.table;
|
|
|
var treeTable = layui.treeTable;
|
|
|
var xmSelect = layui.xmSelect;
|
|
|
var laytpl = layui.laytpl;
|
|
|
var view = layui.view;
|
|
|
var common = layui.common;
|
|
|
var commonDetail = layui.commonDetail;
|
|
|
var domainName = common.domainName;
|
|
|
|
|
|
// 对外暴露的接口
|
|
|
exports('bustypeAdd', function (data) {
|
|
|
var sessions = layui.sessions;
|
|
|
var accessToken = sessions.getToken()['access_token'];
|
|
|
var userSelect = {}
|
|
|
var opsSelect={}
|
|
|
initUserSelect();
|
|
|
//渲染运维负责人
|
|
|
initUserSelectOps();
|
|
|
// 加载遮罩
|
|
|
var loading;
|
|
|
|
|
|
|
|
|
var oldBusTypeCode = data && data.busTypeCode ? data.busTypeCode : '';
|
|
|
|
|
|
var busType;
|
|
|
|
|
|
// 父业务下拉框
|
|
|
admin.req({
|
|
|
url: domainName + '/api-web/manage/bustype/page',
|
|
|
data: {
|
|
|
page: -1,
|
|
|
limit: -1,
|
|
|
parentId: '0'
|
|
|
}
|
|
|
}).done(function (response) {
|
|
|
var options = '';
|
|
|
$.each(response.data, function (i, v) {
|
|
|
options += ' <option value="' + v.busId + '">' + v.busTypeName + '</option> '
|
|
|
});
|
|
|
$('select[name="parentId"]').append(options);
|
|
|
|
|
|
// 如果是新增,就对busType进行初始化
|
|
|
if (!oldBusTypeCode) {
|
|
|
busType = {
|
|
|
busTypeCode: '',
|
|
|
busTypeName: '',
|
|
|
busTypeDesc: '',
|
|
|
admin: '',
|
|
|
isUse: '',
|
|
|
important: '',
|
|
|
sort: '',
|
|
|
isLeaf: '1'
|
|
|
}
|
|
|
form.render();
|
|
|
} else {
|
|
|
// 如果是编辑模式,回写数据
|
|
|
admin.req({
|
|
|
url: domainName + '/api-web/manage/bustype/page',
|
|
|
data: {
|
|
|
page: 1,
|
|
|
limit: 10,
|
|
|
busTypeCode: oldBusTypeCode
|
|
|
}
|
|
|
}).done(function (response) {
|
|
|
busType = response.data[0];
|
|
|
form.val('form-bustype-edit', busType);
|
|
|
$('form[lay-filter="form-bustype-edit"] input[name="busTypeCode"]').attr('readonly', true);
|
|
|
userSelect.setValue([busType.admin]);
|
|
|
opsSelect.setValue(busType.principal.split(","));
|
|
|
form.render();
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
// 业务类型编号改变判断是否已经存在
|
|
|
$('#txt-bustype-code').change(function () {
|
|
|
if (checkBusTypeCodeExist($(this).val())) {
|
|
|
$(this).val(oldBusTypeCode);
|
|
|
layer.msg('该编码已存在,请重新输入!', {icon: 2, time: 3000});
|
|
|
}
|
|
|
});
|
|
|
//设置乙方运维项目
|
|
|
form.on('switch(system_type)', function (obj) {
|
|
|
//sign=fale 不是乙方运维项目 sign=true 是乙方运维项目
|
|
|
var sign = obj.elem.checked;
|
|
|
if(!sign){//不是乙方运维
|
|
|
$('#select_principalName').addClass("hide");
|
|
|
opsSelect.setValue([]);
|
|
|
layui.jquery('input[name="isvirtual"]').removeAttr('checked'); //改变开关为 关
|
|
|
//重新渲染
|
|
|
form.render();
|
|
|
}else{//是乙方运维
|
|
|
$('#select_principalName').removeClass('hide');
|
|
|
//渲染下拉框
|
|
|
initUserSelectOps();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
|
|
|
// 绑定表单提交事件
|
|
|
form.on('submit(bus-type-submit)', function (data) {
|
|
|
loading = layer.load(2);
|
|
|
busType = Object.assign(busType, data.field);
|
|
|
//是否启用
|
|
|
if (!data.field.isUse) {
|
|
|
busType.isUse = '0'
|
|
|
}
|
|
|
//是否是乙方运维
|
|
|
if (!data.field.system_type) {
|
|
|
busType.system_type = '0'
|
|
|
}
|
|
|
//是否是虚拟业务
|
|
|
if (!data.field.isvirtual) {
|
|
|
busType.isvirtual = '1'
|
|
|
}
|
|
|
if (busType.parentId == busType.busId) {
|
|
|
// 防止循环引用
|
|
|
busType.parentId = '0';
|
|
|
}
|
|
|
//获取业务负责人信息
|
|
|
userSelect.getValue("")
|
|
|
busType.nickname = userSelect.getValue("name")[0];
|
|
|
busType.admin = userSelect.getValue("value")[0];
|
|
|
//获取业务运维负责人
|
|
|
busType.principalName = opsSelect.getValue("nameStr");
|
|
|
busType.principal = opsSelect.getValue("valueStr");
|
|
|
delete busType.select
|
|
|
admin.req({
|
|
|
url: domainName + '/api-web/manage/bustype/save?access_token=' + accessToken,
|
|
|
type: 'POST',
|
|
|
contentType: 'application/json',
|
|
|
data: JSON.stringify(busType),
|
|
|
error: function () {
|
|
|
layer.close(loading);
|
|
|
}
|
|
|
}).done(function (response) {
|
|
|
layer.close(loading);
|
|
|
if (response.success) {
|
|
|
layer.msg('保存成功!', {icon: 1, time: 3000});
|
|
|
layer.closeAll('page');
|
|
|
$('#btn-bustype-reload-table').click();
|
|
|
} else {
|
|
|
layer.msg('保存失败!', {icon: 2, time: 3000});
|
|
|
}
|
|
|
});
|
|
|
return false;
|
|
|
});
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 判断该业务类型编号是否已经存在
|
|
|
*
|
|
|
* @param busTypeCode 业务类型编号
|
|
|
* @returns {boolean} 存在: true,不存在: false
|
|
|
*/
|
|
|
function checkBusTypeCodeExist(busTypeCode) {
|
|
|
var result = true;
|
|
|
admin.req({
|
|
|
url: domainName + '/api-web/manage/bustype/page',
|
|
|
async: false,
|
|
|
data: {
|
|
|
page: 1,
|
|
|
limit: 10,
|
|
|
busTypeCode: busTypeCode
|
|
|
}
|
|
|
}).done(function (response) {
|
|
|
if (response.data.length === 0) {
|
|
|
result = false;
|
|
|
}
|
|
|
});
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
//初始化用户下拉列表框
|
|
|
function initUserSelect() {
|
|
|
$.ajax({
|
|
|
url: domainName + '/api-user/users/getAll?access_token=' + accessToken,
|
|
|
success: function (res) {
|
|
|
userSelect = xmSelect.render({
|
|
|
el: '.adminUser',
|
|
|
radio: true,
|
|
|
clickClose: true,
|
|
|
prop: {
|
|
|
name: 'nickname',
|
|
|
value: 'username'
|
|
|
},
|
|
|
filterable: true,
|
|
|
layVerify: 'required',
|
|
|
layVerType: 'msg',
|
|
|
data: res,
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
//初始化用户下拉列表框
|
|
|
function initUserSelectOps() {
|
|
|
$.ajax({
|
|
|
url: domainName + '/api-user/users/getAll?access_token=' + accessToken,
|
|
|
success: function (res) {
|
|
|
opsSelect = xmSelect.render({
|
|
|
el: '#opsProject-username-select',
|
|
|
prop: {
|
|
|
name: 'nickname',
|
|
|
value: 'username'
|
|
|
},
|
|
|
data: res,
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
});
|
|
|
}); |
|
|
\ No newline at end of file |
...
|
...
|
|