UNPKG

jdc_dkh_jxicustomer

Version:

JDC_dkh_jxicustomer ==== 产品经理:田宇,弥磊 设计:罗婷 交互:张钊

601 lines (570 loc) 19.5 kB
define(function(require, exports, module) { require('//misc.360buyimg.com/virtuals/popui/2.1.6/js/dialog/dialog'); var utils = require('./core/utils.js'); var TPL = require('./dialogTpl.js'); // 组织机构渲染 var setting = { view: { addDiyDom: addDiyDom, selectedMulti: false, showIcon: true, showLine: false }, edit: { enable: false }, data: { simpleData: { enable: true } } }; var depName, depId ,treeType, labelId,labelName, judge; //选中的部门/标签名称/id/类型 /*----------------------------弹窗内操作 start ----------------------------------------------------------*/ //节点处理 function addDiyDom(treeId, treeNode) { var sObj = $("#" + treeNode.tId + "_span"); if ($("#addBtn_" + treeNode.tId).length > 0) return; var aTitle = $('#'+ treeNode.tId +'_span'); getDep(aTitle, treeNode.id, treeNode.name); }; //选择部门树形组织架构操作 function treeOperate(dom) { $('.bp-input').focus(function() { var pid = $('.bp-input').data('id'); //展开树内指定节点 var zTree_Menu = $.fn.zTree.getZTreeObj("dep-tree"); var node = zTree_Menu.getNodeByParam("id", pid); zTree_Menu.selectNode(node,true);//指定选中ID的节点 zTree_Menu.expandNode(node, true, false);//指定选中ID节点展开 //隐藏的组织架构显示 dom.show(); $('.dep-list i').addClass('open'); }); } //获取部门信息 function getDep(dom,id,name) { if (dom) dom.bind("click", function() { depName = name; depId = id; $('.bp-input').val(name); $('.bp-input').data('id', id); $('.dep-info').hide(); $('.dep-list i').removeClass('open'); //deleteSelectedDep(); }); } //修改部门时组织架构的操作,添加选中的部门 function modifyDepTreeOp() { $('.mc .r-arrow').on('click',function() { var judge = judgeChoose(depId); if(depId && depName && !judge) { var li = `<li data-id="${depId}" title="${depName}"><i></i><span>${depName}</span><b class="del-icon"></b></li>`; $('.dialog .mc .right ul.dep-ul').append(li); deleteSelectedDep(); } else { if(judge) { alert('不可以重复选择部门!'); } else { alert('请先选择部门!'); } } }); } //修改标签时组织架构的操作,添加选中的标签 function modifyLabelTreeOp() { $('.label-tree li').on('click', function() { $(this).parent().find('.sel').removeClass('sel'); $(this).addClass('sel'); labelId = $(this).data('id'); labelName = $(this).prop('title'); }); $('.mc .r-arrow').on('click',function() { var judge = judgeChoose(labelId); if(labelId && labelName && !judge) { var li = `<li data-id="${labelId}" title="${labelName}"><i></i><span>${labelName}</span><b class="del-icon"></b></li>`; $('.dialog .mc .right ul.lb-ul').append(li); deleteSelectedDep(); } else { if(judge) { alert('不可以重复选择标签!'); } else { alert('请先选择标签!'); } } }); } //删除已选中的部门 function deleteSelectedDep() { $('.del-icon').hover(function() { $(this).parent().parent().find('.hover').removeClass('hover'); $(this).parent().addClass('hover'); }); $('.del-icon').on('click', function() { $(this).parent().remove(); }); } //获取已选中的部门/标签信息 function getSelected() { var arr = []; $('.dialog .mc .right ul li').each(function(index,value) { var name = $(this).prop('title'); var id = $(this).data('id'); var obj = { id: id, name: name } arr.push(obj); }); return arr; } //判断所选的部门、标签是否在已选范围内 function judgeChoose(id) { var selArr = getSelected(); $.each(selArr,function(index,value) { if(id === value.id) { judge = true; } }); return judge; } //搜索部门信息 function searchDep() { var value = $('.dialog .s-input').val(); } //初始化标签树 function initLabel(data) { var li = ''; $.each(data, function(index,value) { li += `<li title="${value.name}" data-id="${value.id}"><i class="lb-icon"></i><span>${value.name}</span></li>`; }); $('.label-tree').append(li); modifyLabelTreeOp(); } /*----------------------------弹窗内操作 end ----------------------------------------------------------*/ function isEmpty(input, con) { if(input.val() === "") { con.addClass('error'); return false; }else { con.removeClass('error'); return true; } } // 带图标的确认框 function comfirmWithIcon(opts) { $.dialog({ hasTitle: false, source: TPL.comfirmWithIconTPL(opts), width: 420, height: 260, containerCls: 'dialog comfirm', onSubmit: function(close) { // console.log(opts.onSubmit) close.click(); opts.sure() || null; // opts.onSubmit(); }, onCancel: opts.onCancel || null }) }; // 设置密码 function setPwd(opts) { $.dialog({ hasTitle: false, source: TPL.setPwdTpl(opts), width: 420, height: 418, containerCls: 'dialog comfirm', onSubmit: function(close) { // console.log(opts.onSubmit) opts.sure() || null; // opts.onSubmit(); close.click(); }, onCancel: opts.onCancel || null }) }; // 输入密码 function inPwd(opts) { $.dialog({ hasTitle: false, source: TPL.inPwdTpl(opts), width: 420, height: 244, containerCls: 'dialog comfirm', onSubmit: function(close) { // console.log(opts.onSubmit) opts.sure() || null; // opts.onSubmit(); close.click(); }, // onCancel: opts.onCancel || null }) } // 积分分配 function deposit(opts) { $.dialog({ hasTitle: false, source: TPL.depositTpl(opts).content, width: 544, height: 604, containerCls: 'dialog comfirm', onSubmit: function(close) { // console.log(opts.onSubmit) opts.sure() || null; // opts.onSubmit(); close.click(); }, // onCancel: opts.onCancel || null }) } function addText(opts) { $.dialog({ title: opts.title, source: TPL.addTextTpl(opts), width: 544, height: 294, containerCls: 'dialog comfirm', onSubmit: function(close) { // console.log(opts.onSubmit) opts.sure() || null; // opts.onSubmit(); close.click(); }, // onCancel: opts.onCancel || null }) } function comfirm(opts) { $.dialog({ hasTitle: false, source: TPL.comfirmTPL(opts), width: 420, height: 260, containerCls: 'dialog comfirm', onSubmit: function(close) { opts.onSubmit || null; close.click(); }, onCancel: opts.onCancel || null }) }; function addTypeDialog(opts) { var dialog = $.dialog({ title: opts.title || '添加分类', source: TPL.addTypeTPL(opts), width: 540, height: 432, containerCls: 'dialog', onSubmit: function(close) { close.click(); }, onReady: function(dialog) { dialog.find('.radio').on('click', function() { dialog.find('.radio').removeClass('selected'); $(this).addClass('selected'); }) dialog.find('.surecls').on('click', function() { }) dialog.find('.cancelcls').on('click', function() { }) } }) }; function addType1Dialog(opts) { var dialog = $.dialog({ title: opts.title || '添加分类', source: TPL.addType1TPL(opts), width: 540, height: 342, containerCls: 'dialog', onSubmit: function(close) { close.click(); }, onReady: function(dialog) { dialog.find('.radio').on('click', function() { dialog.find('.radio').removeClass('selected'); $(this).addClass('selected'); }) dialog.find('.surecls').on('click', function() { }) dialog.find('.cancelcls').on('click', function() { }) } }) }; function createSuiteDialog(opts) { var dialog = $.dialog({ title: opts.title || '创建套餐', source: TPL.createSuiteTPL(opts), width: 540, height: 350, containerCls: 'dialog suite', onReady: function(dialog) { var close = dialog.find('.thickclose'); dialog.find('.radio').on('click', function() { dialog.find('.radio').removeClass('selected'); $(this).addClass('selected'); }) dialog.find('.surecls').on('click', function() { var n = dialog.find('.suite-name'); var j = dialog.find('.jf'); var result = true; if(n.val() === "") { n.closest('.input-txt').addClass('error'); result = false; }else { n.closest('.input-txt').removeClass('error'); } if(j.val() === "") { j.closest('.input-txt').addClass('error'); result = false; }else { n.closest('.input-txt').removeClass('error'); } if(result) { opts.onSubmit({ name: n.val(), jf: j.val() }) } }) } }) } function downDialog(opts) { var dialog = $.dialog({ title: opts.title || '批量录入', source: TPL.downTPL(opts), width: 540, height: 288, containerCls: 'dialog download', onSubmit: function(close) { close.click(); }, onReady: function(dialog) { } }) } function alertSuccessDialog(opts) { var dialog = $.dialog({ title: opts.title || '成功', hasTitle: false, source: TPL.alertSuccessDialog(opts), width: 470, countdown: opts.count || false // height: 342, // containerCls: 'dialog', // onSubmit: function(close) { // close.click(); // }, // onReady: function(dialog) { // } }) }; function alertConfirmDialog(opts) { var dialog = $.dialog({ title: opts.title || '成功', hasTitle: false, source: TPL.alertConfirmDialog(opts), width: 470, // height: 342, // containerCls: 'dialog', onSubmit: function(close) { close.click(); }, onReady: function(dialog) { } }) }; function approve(opts) { var dialog = $.dialog({ title: opts.title || '通过审批', source: TPL.approve(opts), width: 540, height: 330, onSubmit: function(close) { close.click(); }, onReady: function(dialog) { } }) } function viewFile(opts) { var dialog = $.dialog({ title: opts.title || '查看审批文件', source: TPL.viewFile(opts), width: 540, height: 330, onSubmit: function(close) { close.click(); }, onReady: function(dialog) { } }) } /** 员工管理弹窗 **/ // 添加、部门、修改部门名称 function addSubDep(obj) { var $dialog = $.dialog({ hasTitle: true, title: obj.title || '标题', source: TPL.addSubDep(obj), subTitle: obj.subTitle || '部门名称', width: 540, height: obj.height || 260, placeholder: obj.placeholder || '请输入', onReady: function() { if(obj.type == 'add') { //treeType = 'add'; //组织架构渲染 var opts = { data: obj.data, dom: $('#dep-tree'), setting: setting, leafIcon: './../../css/i/icon_section.png' } utils.renderTree(opts); treeOperate($('.dep-info')); } } }); var close = $dialog.data('close'); var required = obj.require || false; $dialog.find('.surecls').bind('click', function(ev) { //input内容 var input = $('.c-input').val(),dep; if($('.bp-input')) { dep = $('.bp-input').val() } if (required && !utils.verifyDep(input)) { $('.c-input').focus().addClass('warn'); //return; } else { $('.c-input').removeClass('warn'); if(required && dep === '') { $('.bp-input').focus(); return; } obj && obj.surecall(input,dep); close(); } }); $dialog.find('.cancel').bind('click', function(ev) { obj && obj.cancelcall(); close(); }); } //删除确认弹窗 function delInfoDialog(obj) { var $dialog = $.dialog({ hasTitle: false, source: TPL.delInfoDialog(obj), width: obj.width || 540, height: obj.height || 260 }); var close = $dialog.data('close'); $dialog.find('.surecls').bind('click', function(ev) { obj && obj.surecall(); close(); }); $dialog.find('.cancel').bind('click', function(ev) { obj && obj.cancelcall(); close(); }); } //修改部门 function modifyDep(obj) { var $dialog = $.dialog({ hasTitle: true, title: obj.title || '标题', source: TPL.modifyDep(obj), width: 540, height: obj.height || 260, placeholder: obj.placeholder || '请输入', onReady: function() { //treeType = 'modify'; //组织架构渲染 depId = ''; depName = ''; judge = false; var opts = { data: obj.data, dom: $('#m-tree'), setting: setting } utils.renderTree(opts); //if(treeType == 'modify') { modifyDepTreeOp(); deleteSelectedDep(); //} //监听搜索事件 searchDep(); } }); var close = $dialog.data('close'); $dialog.find('.surecls').bind('click', function(ev) { //获取已选中的部门信息 var arr = getSelected(); obj && obj.surecall(arr); close(); }); $dialog.find('.cancel').bind('click', function(ev) { obj && obj.cancelcall(); close(); }); } //修改标签 function modifyLabel(obj) { var $dialog = $.dialog({ hasTitle: true, title: obj.title || '标题', source: TPL.modifyDep(obj), width: 540, height: obj.height || 260, placeholder: obj.placeholder || '请输入', onReady: function() { labelId = ''; labelName = ''; judge = false; //初始化标签树 initLabel(obj.data); deleteSelectedDep(); //监听搜索事件 searchDep(); } }); var close = $dialog.data('close'); $dialog.find('.surecls').bind('click', function(ev) { //获取已选中的部门信息 var arr = getSelected(); obj && obj.surecall(arr); close(); }); $dialog.find('.cancel').bind('click', function(ev) { obj && obj.cancelcall(); close(); }); } module.exports = { comfirm: comfirm, addTypeDialog: addTypeDialog, addType1Dialog: addType1Dialog, createSuiteDialog: createSuiteDialog, downDialog: downDialog, alertSuccessDialog: alertSuccessDialog, alertConfirmDialog: alertConfirmDialog, approve: approve, viewFile: viewFile, addSubDep: addSubDep, delInfoDialog: delInfoDialog, modifyDep: modifyDep, comfirmWithIcon:comfirmWithIcon, setPwd: setPwd, inPwd: inPwd, deposit: deposit, addText: addText, modifyLabel: modifyLabel } })