|
@@ -1,61 +1,323 @@
|
|
|
-$(document).ready(function() {
|
|
|
|
|
-
|
|
|
|
|
- // 使用data参数更新数据:
|
|
|
|
|
- $('.datatable').datatable( {
|
|
|
|
|
- checkable:false,
|
|
|
|
|
- sortable:false,
|
|
|
|
|
- data: {
|
|
|
|
|
- cols: [
|
|
|
|
|
- {width: 30, text: '序号', type: 'number', flex: false, colClass: 'text-center'},
|
|
|
|
|
- {width: 160, text: '考核办法', type: 'date', flex: false, sort: 'down'},
|
|
|
|
|
- {width: 80, text: '被考核部门', type: 'string', flex: true, colClass: ''},
|
|
|
|
|
- {width: 80, text: '被考核职位', type: 'date', flex: false, sort: 'down'},
|
|
|
|
|
- {width: 80, text: '被考核人员', type: 'string', flex: true, colClass: ''},
|
|
|
|
|
- {width: 80, text: '考核项', type: 'date', flex: false, sort: 'down'},
|
|
|
|
|
- {width: 80, text: '操作', type: 'string', flex: true, colClass: ''},
|
|
|
|
|
- ],
|
|
|
|
|
- rows: [
|
|
|
|
|
- {checked: false, data: [1, '收费站收费员视频考核管理办法','收费站','收费员','所有收费员','<a href="#">92项</a>','<a href="#"><i class="icon icon-remove-circle"></i> 删除</a>']},
|
|
|
|
|
- {checked: false, data: [2, '收费站收费员视频考核管理办法','收费站','收费员','所有收费员','<a href="#">82项</a>','<a href="#"><i class="icon icon-remove-circle"></i> 删除</a>']},
|
|
|
|
|
- {checked: false, data: [3, '收费站收费员视频考核管理办法','收费站','收费员','所有收费员','<a href="#">82项</a>','<a href="#"><i class="icon icon-remove-circle"></i> 删除</a>']},
|
|
|
|
|
- {checked: false, data: [4, '收费站收费员视频考核管理办法','收费站','收费员','所有收费员','<a href="#">82项</a>','<a href="#"><i class="icon icon-remove-circle"></i> 删除</a>']},
|
|
|
|
|
- {checked: false, data: [5, '收费站收费员视频考核管理办法','收费站','收费员','所有收费员','<a href="#">82项</a>','<a href="#"><i class="icon icon-remove-circle"></i> 删除</a>']},
|
|
|
|
|
- {checked: false, data: [6, '收费站收费员视频考核管理办法','收费站','收费员','所有收费员','<a href="#">82项</a>','<a href="#"><i class="icon icon-remove-circle"></i> 删除</a>']},
|
|
|
|
|
- {checked: false, data: [7, '收费站收费员视频考核管理办法','收费站','收费员','所有收费员','<a href="#">82项</a>','<a href="#"><i class="icon icon-remove-circle"></i> 删除</a>']},
|
|
|
|
|
- {checked: false, data: [8, '收费站收费员视频考核管理办法','收费站','收费员','所有收费员','<a href="#">82项</a>','<a href="#"><i class="icon icon-remove-circle"></i> 删除</a>']},
|
|
|
|
|
- ]
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ var zdata = [];
|
|
|
|
|
+ var z_cache ;
|
|
|
|
|
+ var check_item_tree = null;
|
|
|
|
|
+ var edittype = "add";
|
|
|
|
|
+ var cols = [{
|
|
|
|
|
+ width: 10,
|
|
|
|
|
+ text: '序号',
|
|
|
|
|
+ type: 'number',
|
|
|
|
|
+ flex: false,
|
|
|
|
|
+ colClass: 'text-center'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ text: '名称',
|
|
|
|
|
+ type: 'string',
|
|
|
|
|
+ flex: false,
|
|
|
|
|
+ sort: 'down',
|
|
|
|
|
+ colClass: 'text-center'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ width: 40,
|
|
|
|
|
+ text: '分数',
|
|
|
|
|
+ type: 'string',
|
|
|
|
|
+ flex: false,
|
|
|
|
|
+ colClass: 'text-center'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ width: 60,
|
|
|
|
|
+ text: '操作',
|
|
|
|
|
+ type: 'string',
|
|
|
|
|
+ flex: false,
|
|
|
|
|
+ colClass: 'text-center'
|
|
|
|
|
+ }];
|
|
|
|
|
+ $(document).ready(function() {
|
|
|
|
|
+
|
|
|
|
|
+ $("#main_content_title").html("考核项管理")
|
|
|
|
|
+
|
|
|
|
|
+ $('#dashboard').dashboard({ draggable: false });
|
|
|
|
|
+ var zTreeObj;
|
|
|
|
|
+ var zNodes = [];
|
|
|
|
|
+ check_item_tree = $.fn.zTree.init($("#department_tree"), {}, zNodes);
|
|
|
|
|
+
|
|
|
|
|
+ getCheckItems();
|
|
|
|
|
+
|
|
|
|
|
+ $("#dept_add").on("click", function() {
|
|
|
|
|
+ alert(1);
|
|
|
|
|
+ var nodedata = check_item_tree.getSelectedNodes();
|
|
|
|
|
+ edittype = "add"
|
|
|
|
|
+ loadData(nodedata)
|
|
|
|
|
+ $('#addModal').modal('show')
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ // $("#dept_edit").on("click", function() {
|
|
|
|
|
+ // //获取选中的节点
|
|
|
|
|
+ // var nodedata = check_item_tree.getSelectedNodes();
|
|
|
|
|
+ // if (nodedata.length < 1) {
|
|
|
|
|
+ // layer.msg('请先选择部门!', {
|
|
|
|
|
+ // time: 2000, //20s后自动关闭
|
|
|
|
|
+ // });
|
|
|
|
|
+ // return;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // edittype = "edit"
|
|
|
|
|
+ // loadData(nodedata)
|
|
|
|
|
+ // $('#addModal').modal('show');
|
|
|
|
|
+ // });
|
|
|
|
|
+
|
|
|
|
|
+ // $("#dept_delete").on("click", function() {
|
|
|
|
|
+ // //获取选中的节点
|
|
|
|
|
+ // var nodedata = check_item_tree.getSelectedNodes();
|
|
|
|
|
+ // if (nodedata.length < 1) {
|
|
|
|
|
+ // layer.msg('请先选择部门!', {
|
|
|
|
|
+ // time: 2000, //20s后自动关闭
|
|
|
|
|
+ // });
|
|
|
|
|
+ // return;
|
|
|
|
|
+ // }
|
|
|
|
|
+ // DeptDelete(nodedata[0].id, function(data) {
|
|
|
|
|
+ // layer.msg('删除成功!', {
|
|
|
|
|
+ // time: 2000, //20s后自动关闭
|
|
|
|
|
+ // });
|
|
|
|
|
+ // check_item_tree.removeNode(nodedata[0]);
|
|
|
|
|
+ // }, function(error) {
|
|
|
|
|
+
|
|
|
|
|
+ // });
|
|
|
|
|
+ // });
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ $('.datatable').datatable({
|
|
|
|
|
+ checkable: false,
|
|
|
|
|
+ sortable: false,
|
|
|
|
|
+ data: {
|
|
|
|
|
+ cols: cols,
|
|
|
|
|
+ rows: []
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ function getCheckItems() {
|
|
|
|
|
+ function zTreeOnRename(event, treeId, treeNode, isCancel) {
|
|
|
|
|
+ alert(treeNode.tId + ", " + treeNode.name);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function zTreeOnRemove(event, treeId, treeNode) {
|
|
|
|
|
+ alert(treeNode.tId + ", " + treeNode.name);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ function getTreeData(c_obj,id){
|
|
|
|
|
+ if(c_obj.id == id){
|
|
|
|
|
+ return c_obj ;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ if(c_obj.subCheckItem!=null){
|
|
|
|
|
+ for(var i=0;i<c_obj.subCheckItem.length;i++){
|
|
|
|
|
+ var tmp = getTreeData(c_obj.subCheckItem[i],id);
|
|
|
|
|
+ if(tmp != null){
|
|
|
|
|
+ return tmp ;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
}
|
|
}
|
|
|
- });
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // data tree
|
|
|
|
|
- var myTreeData = [{
|
|
|
|
|
- title: '<div>坚果</div>',
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- title: '水果',
|
|
|
|
|
- open: true,
|
|
|
|
|
- children: [
|
|
|
|
|
- {title: '橘子'},
|
|
|
|
|
- {
|
|
|
|
|
- title: '瓜',
|
|
|
|
|
- children: [
|
|
|
|
|
- {title: '西瓜'},
|
|
|
|
|
- {title: '黄瓜'}
|
|
|
|
|
- ]
|
|
|
|
|
|
|
+ var seq = 0 ;
|
|
|
|
|
+
|
|
|
|
|
+ function getTree(obj,rowObj){
|
|
|
|
|
+ var userdata = {};
|
|
|
|
|
+ userdata["checked"] = false;
|
|
|
|
|
+ userdata["data"] = [++seq, obj.name, (obj.score!=null?obj.score:""), '<a href="#" data-toggle="modal" data-target="#myModal"><i class="icon icon-edit"></i> 修改</a><a href="#"><i class="icon icon-remove-circle"></i> 删除</a>'];
|
|
|
|
|
+ rowObj.push(userdata);
|
|
|
|
|
+
|
|
|
|
|
+ if(obj.subCheckItem!=null){
|
|
|
|
|
+ for(var i=0; i<obj.subCheckItem.length;i++ ){
|
|
|
|
|
+ getTree(obj.subCheckItem[i],rowObj);
|
|
|
}
|
|
}
|
|
|
- ]
|
|
|
|
|
- }, {
|
|
|
|
|
- title: '坚果',
|
|
|
|
|
- open: true,
|
|
|
|
|
- children: [
|
|
|
|
|
- {title: '向日葵'},
|
|
|
|
|
- {title: '瓜子'}
|
|
|
|
|
- ]
|
|
|
|
|
- }, {
|
|
|
|
|
- title: '蔬菜',
|
|
|
|
|
- open: true,
|
|
|
|
|
- }];
|
|
|
|
|
-
|
|
|
|
|
- $('#myTree').tree({data: myTreeData});
|
|
|
|
|
-
|
|
|
|
|
-});
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ return rowObj;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ console.log(1);
|
|
|
|
|
+
|
|
|
|
|
+ function zTreeOnClick(event, treeId, treeNode) {
|
|
|
|
|
+
|
|
|
|
|
+ var rowdata = [];
|
|
|
|
|
+
|
|
|
|
|
+ seq = 0 ;
|
|
|
|
|
+
|
|
|
|
|
+ for(var i=0;i<z_cache.length;i++){
|
|
|
|
|
+ var treeObj = getTreeData(z_cache[i],treeNode.id) ;
|
|
|
|
|
+ console.log(treeObj)
|
|
|
|
|
+ if( treeObj != null){
|
|
|
|
|
+ rowdata = getTree(treeObj,rowdata);
|
|
|
|
|
+ break ;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 使用data参数更新数据:
|
|
|
|
|
+ $('.datatable').datatable('load', {
|
|
|
|
|
+ cols: cols,
|
|
|
|
|
+ rows: rowdata
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ var setting = {
|
|
|
|
|
+ data: {
|
|
|
|
|
+ simpleData: {
|
|
|
|
|
+ enable: true,
|
|
|
|
|
+ idKey: "id",
|
|
|
|
|
+ pIdKey: "pId",
|
|
|
|
|
+ rootPId: null
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ view: { //表示tree的显示状态
|
|
|
|
|
+ selectMulti: false //表示禁止多选
|
|
|
|
|
+ },
|
|
|
|
|
+ check: { //表示tree的节点在点击时的相关设置
|
|
|
|
|
+ enable: false, //是否显示radio/checkbox
|
|
|
|
|
+ chkStyle: "checkbox", //值为checkbox或者radio表示
|
|
|
|
|
+ checkboxType: { p: "", s: "" }, //表示父子节点的联动效果
|
|
|
|
|
+ radioType: "level" //设置tree的分组
|
|
|
|
|
+ },
|
|
|
|
|
+ callback: {
|
|
|
|
|
+ onRename: zTreeOnRename,
|
|
|
|
|
+ // beforeDrop: zTreeBeforeDrop,
|
|
|
|
|
+ onRemove: zTreeOnRemove,
|
|
|
|
|
+ onClick: zTreeOnClick
|
|
|
|
|
+ },
|
|
|
|
|
+ edit: {
|
|
|
|
|
+ enable: true,
|
|
|
|
|
+ drag: {
|
|
|
|
|
+ autoExpandTrigger: true,
|
|
|
|
|
+ isMove: true,
|
|
|
|
|
+ prev: false,
|
|
|
|
|
+ next: true,
|
|
|
|
|
+ inner: true,
|
|
|
|
|
+ autoOpenTime: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ showRenameBtn: false,
|
|
|
|
|
+ showRemoveBtn: false
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ post_common_service("/checkItem/getAll","",function(data){
|
|
|
|
|
+ zdata = [];
|
|
|
|
|
+ z_cache = data ;
|
|
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
|
|
+ var m = data[i];
|
|
|
|
|
+ var zdataItem = {};
|
|
|
|
|
+ zdataItem["id"] = m.id;
|
|
|
|
|
+ zdataItem["value"] = m.id;
|
|
|
|
|
+ zdataItem["pId"] = null;
|
|
|
|
|
+ zdataItem["name"] = m.name;
|
|
|
|
|
+ zdataItem["children"] = addobj(m);
|
|
|
|
|
+ zdata.push(zdataItem);
|
|
|
|
|
+ }
|
|
|
|
|
+ check_item_tree = $.fn.zTree.init($("#department_tree"), setting, zdata)
|
|
|
|
|
+ },function(error){})
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ function addobj(data) {
|
|
|
|
|
+ var zdata = [];
|
|
|
|
|
+ if (typeof(data.subCheckItem) != "undefinde" && data.subCheckItem != null &&
|
|
|
|
|
+ data.subCheckItem.length > 0) {
|
|
|
|
|
+ for (var i = 0; i < data.subCheckItem.length; i++) {
|
|
|
|
|
+ var m = data.subCheckItem[i];
|
|
|
|
|
+ var zdataItem = {};
|
|
|
|
|
+ zdataItem["id"] = m.id;
|
|
|
|
|
+ zdataItem["value"] = m.id;
|
|
|
|
|
+ zdataItem["pId"] = data.id;
|
|
|
|
|
+ zdataItem["icon"] = "";
|
|
|
|
|
+ zdataItem["name"] = m.name;
|
|
|
|
|
+ zdataItem["children"] = addobj(m);
|
|
|
|
|
+ zdata.push(zdataItem);
|
|
|
|
|
+ }
|
|
|
|
|
+ return zdata;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return [];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+// 增加和编辑框
|
|
|
|
|
+var dept_selectinput;
|
|
|
|
|
+var selectednodetemp;
|
|
|
|
|
+
|
|
|
|
|
+function loadData(nodedata) {
|
|
|
|
|
+ var pnode = nodedata;
|
|
|
|
|
+
|
|
|
|
|
+ if (edittype == "add") {
|
|
|
|
|
+ $("#dept_name").val("")
|
|
|
|
|
+ }
|
|
|
|
|
+ if (edittype == "edit") {
|
|
|
|
|
+ selectednodetemp = nodedata[0];
|
|
|
|
|
+ $("#dept_name").val(nodedata[0].name)
|
|
|
|
|
+ $("#dept_add_btn").html("保存")
|
|
|
|
|
+ if (pnode != null && pnode.length > 0) {
|
|
|
|
|
+ pnode = [dept_tree.getNodeByParam("id", pnode[0].pId, null)]
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ dept_selectinput = new TreeSelect({
|
|
|
|
|
+ element: '#dept_select',
|
|
|
|
|
+ data: zdata,
|
|
|
|
|
+ valueKey: "id",
|
|
|
|
|
+ placeholder: "选择部门",
|
|
|
|
|
+ selectvalue: pnode.length > 0 ? pnode[0].id : null
|
|
|
|
|
+ });
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+function addDept() {
|
|
|
|
|
+ //获取名称
|
|
|
|
|
+ var name = $("#dept_name").val();
|
|
|
|
|
+ var pid = dept_selectinput.value;
|
|
|
|
|
+ var data = {
|
|
|
|
|
+ "organname": name,
|
|
|
|
|
+ "parentid": pid
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (edittype == "add") {
|
|
|
|
|
+ DeptAdd(data, function(datare) {
|
|
|
|
|
+ layer.msg('添加成功!', {
|
|
|
|
|
+ time: 2000, //20s后自动关闭
|
|
|
|
|
+ }, function() {
|
|
|
|
|
+ $('#addModal').modal('hide')
|
|
|
|
|
+ getDept();
|
|
|
|
|
+ })
|
|
|
|
|
+ }, function(error) {
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (edittype == "edit") {
|
|
|
|
|
+ data["id"] = selectednodetemp.id;
|
|
|
|
|
+ if (isSelfOrChild(pid, selectednodetemp)) {
|
|
|
|
|
+ layer.msg('不能添加到自身及自身下的子部门!', {
|
|
|
|
|
+ time: 2000, //20s后自动关闭
|
|
|
|
|
+ })
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ DeptEdit(data, function(datare) {
|
|
|
|
|
+ layer.msg('修改成功!', {
|
|
|
|
|
+ time: 2000, //20s后自动关闭
|
|
|
|
|
+ }, function() {
|
|
|
|
|
+ $('#addModal').modal('hide')
|
|
|
|
|
+ getDept();
|
|
|
|
|
+ })
|
|
|
|
|
+ }, function(error) {
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function isSelfOrChild(id, node) {
|
|
|
|
|
+ if (id == node.id) return true;
|
|
|
|
|
+ if (typeof(node.children) == "undefinde" || node.children == null || node.children.length < 1) return false;
|
|
|
|
|
+ for (var i = 0; i < node.children.length; i++) {
|
|
|
|
|
+ if (isSelfOrChild(id, node.children[i])) {
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return false;
|
|
|
|
|
+}
|