Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/setDepartOrgUnitForm.js
===================================================================
diff -u -r26717 -r33591
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/setDepartOrgUnitForm.js (.../setDepartOrgUnitForm.js) (revision 26717)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/setDepartOrgUnitForm.js (.../setDepartOrgUnitForm.js) (revision 33591)
@@ -13,7 +13,7 @@
* @param extComboElementId 控件id,即下拉框的id
* @param departsCodes 页面上传回来的科室编码,多个情况用","
*/
-function setDepartOrgUnit(extHiddenElementId, extComboElementId, departsCodes,belongOrgUnit) {
+function setDepartOrgUnit(extHiddenElementId, extComboElementId, departsCodes, belongOrgUnit) {
//科室的窗口
var formWindowDeparts;
//确定保存
@@ -27,7 +27,7 @@
// obj['departName'] = record.get('departName');
valueArr.push(record.get('departCode'));
showArr.push(record.get('departName'));
- belongOrgUnit[record.get('departCode')] = {'departCode':record.get('departCode'),'departName':record.get('departName')};
+ belongOrgUnit[record.get('departCode')] = { 'departCode': record.get('departCode'), 'departName': record.get('departName') };
}
if (valueArr.length != 0) {
// top.Ext.getCmp(extHiddenElementId).setValue(JSON.stringify(valueArr));
@@ -43,11 +43,11 @@
//科室record
var departAndTaskGroupRecord = Ext.data.Record.create([{
- name: 'departCode'
- },
- {
- name: 'departName'
- }
+ name: 'departCode'
+ },
+ {
+ name: 'departName'
+ }
]);
/**
@@ -110,13 +110,13 @@
reader: new Ext.data.JsonReader({
root: 'data'
}, [{
- name: 'departCode',
- mapping: 'id'
- },
- {
- name: 'name',
- mapping: 'name'
- }
+ name: 'departCode',
+ mapping: 'id'
+ },
+ {
+ name: 'name',
+ mapping: 'name'
+ }
])
});
@@ -248,4 +248,49 @@
}
})
};
+}
+
+function setDepartOrgUnit2(extHiddenElementId, extComboElementId, hiddenDataElementId) {
+ var win = new top.Ext.Window({
+ id: 'setDepartWindow',
+ layout: 'fit',
+ title: '所属科室',
+ width: 1000,
+ height: 520,
+ modal: true,
+ border: false,
+ plain: true,
+ buttonAlign: 'center',
+ html: '',
+ buttons: [{
+ text: '保存',
+ handler: function () {
+ var hiddenTableDataStr = top.document.getElementById('setDepartWindow').getElementsByTagName('iframe')[0].contentWindow.document.getElementById('hiddenTableData').value;
+ if (hiddenTableDataStr !== '') {
+ var hiddenTableData = JSON.parse(hiddenTableDataStr);
+ var valueArr = [];
+ var showArr = [];
+ for (var i = 0; i < hiddenTableData.length; i++) {
+ var name = hiddenTableData[i].context;
+ var code = hiddenTableData[i].basicData.departCode;
+ valueArr.push(code);
+ showArr.push(name);
+ }
+ top.Ext.getCmp(extHiddenElementId).setValue(valueArr.join(","));
+ top.Ext.getCmp(extComboElementId).setValue(showArr.join(";"));
+ } else {
+ top.Ext.getCmp(extHiddenElementId).setValue("");
+ top.Ext.getCmp(extComboElementId).setValue("");
+ }
+ top.Ext.getCmp(hiddenDataElementId).setValue(hiddenTableDataStr);
+ win.close();
+ }
+ }, {
+ text: '取消',
+ handler: function () {
+ win.close();
+ }
+ }]
+ });
+ win.show();
}
\ No newline at end of file
Index: ssts-web/src/main/webapp/common/changeDepartment.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/common/changeDepartment.jsp (revision 0)
+++ ssts-web/src/main/webapp/common/changeDepartment.jsp (revision 33591)
@@ -0,0 +1,99 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%@ include file="/common/taglibs.jsp"%>
+
+
+
+
+
+
+
+ 选择科室
+
+
+
+
+
+
+ <%@ include file="/common/include_Ext425JsAndCss.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: ssts-web/src/main/webapp/common/changeDepartment.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/common/changeDepartment.js (revision 0)
+++ ssts-web/src/main/webapp/common/changeDepartment.js (revision 33591)
@@ -0,0 +1,232 @@
+var treeData = [];
+var tableData = [];
+var isFirst = false;
+function getTreeData(value) {
+ Ext4.Ajax.request({
+ url: WWWROOT + '/systemmanage/loadAllOrgUnit.do',
+ params: { spell: value },
+ async: false,
+ success: function (response, options) {
+ var result = Ext4.decode(response.responseText);
+ treeData = result.data;
+ }
+ });
+}
+
+layui.extend({
+ dtree: WWWROOT + '/disinfectsystem/customizedreports/layui/dtree/dtree'
+}).use(['dtree', 'table', 'form', 'jquery'], function () {
+ var table = layui.table;
+ var dtree = layui.dtree;
+ var $ = layui.jquery;
+ getTreeData('');
+ var treeLeft = dtree.render({
+ elem: "#treeLeft",
+ dataStyle: "layuiStyle", //使用layui风格的数据格式
+ dataFormat: "list", //配置data的风格为list
+ checkbar: true, //开启复选框
+ data: treeData,
+ icon: "-1",
+ ficon: "7",
+ type: "all",
+ skin: "zdy",
+ checkbarType: "p-casc",
+ width: 450,
+ menubar: true,
+ menubarTips: {
+ group: []
+ },
+ formatter: {
+ title: function (data) {
+ var title = data.title;
+ return title;
+ }
+ },
+ done: function (res, $ul, first) {
+ if (!isFirst) {
+ var hiddenTableDataStr = top.document.getElementById('hiddenTableDataStr').value;
+ if (hiddenTableDataStr !== '') {
+ tableData = JSON.parse(hiddenTableDataStr);
+ var ids = [];
+ for (var i = 0; i < tableData.length; i++) {
+ if (tableData[i].nodeId) {
+ ids[i] = tableData[i].nodeId;
+ }
+ }
+ dtree.chooseDataInit("treeLeft", ids.join(','));
+ table.reload('tableRight', {
+ data: tableData
+ });
+ $('#hiddenTableData').val(hiddenTableDataStr)
+ }
+ isFirst = true;
+ }
+ },
+ checkbarFun: {
+ chooseBefore: function ($i, node) {
+ if (node.checked == '1') {
+ if (node.leaf == false) {
+ top.Ext4.Msg.confirm("请确认", "是否同时移除子节点?", function (btn) {
+ if (btn == 'yes') {
+ reloadTableAndTree(node, 'del');
+ } else {
+ treeLeft.checkStatus($i).noCheck();
+ for (var i = 0; i < tableData.length; i++) {
+ var id = tableData[i].nodeId;
+ if (id == node.nodeId) {
+ tableData.splice(i, 1);
+ }
+ }
+ }
+ })
+ } else {
+ reloadTableAndTree(node, 'del');
+ }
+ } else {
+ reloadTableAndTree(node, 'add');
+ }
+ }
+ }
+ });
+ //渲染表格和树
+ var reloadTableAndTree = function (obj, type) {
+ var nodeId = obj.nodeId;
+ var self = dtree.getParam("treeLeft", nodeId);
+ if (type == 'add') {
+ treeLeft.clickNodeCheckbar(nodeId);// 点击节点选中复选框
+ var checkbarNodes = dtree.getChildParam('treeLeft', nodeId);
+ checkbarNodes.unshift(self);
+ var newArr = [];
+ for (var i = 0; i < checkbarNodes.length; i++) {
+ var isFirst = true;
+ var nodeId = checkbarNodes[i].nodeId;
+ for (var j = 0; j < tableData.length; j++) {
+ if (parseInt(tableData[j].nodeId) == parseInt(nodeId)) {
+ isFirst = false;
+ break;
+ }
+ }
+ if (isFirst) {
+ newArr.push(checkbarNodes[i]);
+ }
+ }
+ tableData = newArr.concat(tableData);
+ if (tableData.length > 0 && tableData[0].nodeId == '0') {
+ tableData.splice(0, 1);
+ }
+ } else {
+ var param = dtree.getChildParam('treeLeft', nodeId);
+ for (var i = 0; i < tableData.length; i++) {
+ var id = tableData[i].nodeId;
+ if (nodeId == id) {
+ tableData.splice(i, 1);
+ }
+ for (var j = 0; j < param.length; j++) {
+ if (tableData[i].nodeId == param[j].nodeId) {
+ tableData.splice(i, 1);
+ }
+ }
+ }
+ treeLeft.clickNodeCheckbar(nodeId);// 点击节点选中复选框
+ }
+ table.reload('tableRight', {
+ data: tableData
+ });
+ $('#hiddenTableData').val(JSON.stringify(tableData))
+ }
+
+ // 绑定节点点击事件
+ dtree.on("node(treeLeft)", function (obj) {
+ if (obj.param.checked == '1') {
+ reloadTableAndTree(obj.param, 'del');
+ } else {
+ reloadTableAndTree(obj.param, 'add');
+ }
+ });
+
+ $('#search').on('click', function () {
+ var title = $('#title').val();
+ getTreeData(title);
+ if (treeData.length <= 1) {
+ showResult('该名称节点不存在!');
+ } else {
+ dtree.reload("treeLeft", {
+ data: treeData
+ });
+ setTimeout(function () {
+ if (tableData.length > 0) {
+ var ids = [];
+ for (var i = 0; i < tableData.length; i++) {
+ if (tableData[i].nodeId) {
+ ids[i] = tableData[i].nodeId;
+ }
+ }
+ dtree.chooseDataInit("treeLeft", ids.join(','));
+ }
+ }, 200);
+ }
+ });
+
+ $('#removeAll').on('click', function () {
+ if (tableData.length > 0) {
+ top.Ext4.Msg.confirm("删除确认", "是否删除所有选择的科室?", function (btn) {
+ if (btn == 'yes') {
+ tableData = [];
+ table.reload('tableRight', {
+ data: tableData
+ });
+ getTreeData('');
+ dtree.reload("treeLeft", {
+ data: treeData
+ });
+ $('#hiddenTableData').val('');
+ }
+ })
+ }
+ });
+
+ $('#title').keydown(function () {
+ if (event.keyCode == 13) {
+ var title = this.value;
+ getTreeData(title);
+ if (treeData.length <= 1) {
+ showResult('该名称节点不存在!');
+ } else {
+ dtree.reload("treeLeft", {
+ data: treeData
+ });
+ setTimeout(function () {
+ if (tableData.length > 0) {
+ var ids = [];
+ for (var i = 0; i < tableData.length; i++) {
+ if (tableData[i].nodeId) {
+ ids[i] = tableData[i].nodeId;
+ }
+ }
+ dtree.chooseDataInit("treeLeft", ids.join(','));
+ }
+ }, 200);
+ }
+ }
+ });
+
+ table.render({
+ elem: '#tableRight',
+ size: 'sm',
+ limit: 99,
+ height: 380,
+ text: {
+ none: '当前未设置科室' //默认:无数据。
+ },
+ cols: [[
+ { field: 'context', title: '科室编码', templet: '#departCodeTpl' },
+ { field: 'context', title: '科室名称', templet: '#departNameTpl' },
+ { title: '操作', toolbar: '#barHandle' }
+ ]],
+ data: tableData
+ })
+
+ table.on('tool(tableRight)', function (obj) {
+ reloadTableAndTree(obj.data, 'del');
+ })
+});
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js
===================================================================
diff -u -r33535 -r33591
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js (.../tousseForm.js) (revision 33535)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/tousseForm.js (.../tousseForm.js) (revision 33591)
@@ -2472,6 +2472,11 @@
id : 'belongDepartCodes',
name : 'belongDepartCodes'
},{
+ //传递所属科室属性
+ xtype : 'hidden',
+ id : 'hiddenTableDataStr',
+ name : 'hiddenTableDataStr'
+ },{
xtype : 'trigger',
fieldLabel : "所属科室",
allowBlank : true,
@@ -2480,7 +2485,7 @@
msgTarget:'side',
readOnly:true,
onTriggerClick : function(){
- setDepartOrgUnit('belongDepartCodes' , 'belongDepartNames' , top.Ext.getCmp('belongDepartCodes').getValue(),belongOrgUnit);
+ setDepartOrgUnit2('belongDepartCodes' , 'belongDepartNames' ,'hiddenTableDataStr');
},
triggerClass : 'x-form-search-trigger',
anchor : '100%'
@@ -3307,16 +3312,27 @@
if(!isUndefinedOrNullOrEmpty(data)){
var belongDepartCodes = [];
var belongDepartNames = [];
+ var hiddenTableData = [];
for(var i = 0; i < data.length ; i++){
var orgUnit = data[i];
belongDepartCodes.push(orgUnit.departCode);
belongDepartNames.push(orgUnit.departName);
belongOrgUnit[orgUnit.departCode] = orgUnit;
+ hiddenTableData[i] = {
+ context: orgUnit.departName,
+ nodeId: orgUnit.id,
+ parentId: orgUnit.parentId,
+ basicData:{
+ departCode:orgUnit.departCode
+ }
+ }
}
//所属科室编码
top.Ext.getCmp("belongDepartCodes").setValue(belongDepartCodes.join(","));
//所属科室名称
top.Ext.getCmp('belongDepartNames').setValue(belongDepartNames.join(","));
+ //所属科室属性
+ top.Ext.getCmp('hiddenTableDataStr').setValue(JSON.stringify(hiddenTableData));
}
}else{
showResult("加载器械包定义所属科室报错"+result.message)