|
|
@@ -191,10 +191,196 @@ const projTreeObj = {
|
|
|
this.setOptions(newWorkBook, setting.options);
|
|
|
this.buildHeader(newWorkBook.getActiveSheet(), setting.header);
|
|
|
this.bindEvent(newWorkBook);
|
|
|
- this.loadContextMenu()
|
|
|
+ this.loadContextMenu();
|
|
|
+ this.loadStartMenu();
|
|
|
}
|
|
|
return newWorkBook;
|
|
|
},
|
|
|
+ //右键菜单项
|
|
|
+ contextMenuItems: {
|
|
|
+ addFolder: {
|
|
|
+ name: "新建文件夹",
|
|
|
+ icon: 'fa-folder-o',
|
|
|
+ disabled: function () {
|
|
|
+ return false;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ $("#add-folder-dialog").modal("show");
|
|
|
+ setTimeout(function () {
|
|
|
+ $('#folder-name')[0].focus();
|
|
|
+ }, 300);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ addProject: {
|
|
|
+ name: "新建建设项目",
|
|
|
+ icon: 'fa-cubes',
|
|
|
+ disabled: function () {
|
|
|
+ return false;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ $('#add-project-dialog').modal('show');
|
|
|
+ setTimeout(function () {
|
|
|
+ $('#project-name')[0].focus();
|
|
|
+ }, 300);
|
|
|
+ },
|
|
|
+ },
|
|
|
+ addEngineering: {
|
|
|
+ name: "新建单项工程",
|
|
|
+ icon: 'fa-cube',
|
|
|
+ disabled: function () {
|
|
|
+ let node = projTreeObj.tree.selected;
|
|
|
+ if(node && node.data.projType !== projectType.folder){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ let selectedItem = projTreeObj.tree.selected;
|
|
|
+ try {
|
|
|
+ if(selectedItem !== null && selectedItem.data.projType !== projectType.folder){
|
|
|
+ $("#add-engineering-dialog").modal("show");
|
|
|
+ setTimeout(function () {
|
|
|
+ $('#engineering-name')[0].focus();
|
|
|
+ }, 300);
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (error) {
|
|
|
+ alert(error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ addTender: {
|
|
|
+ name: "新建单位工程",
|
|
|
+ icon: 'fa-sticky-note-o',
|
|
|
+ disabled: function () {
|
|
|
+ return false;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ //弹出新建单位工程之前,判断当前使用版本,且当前使用单位工程数是否已到最大值
|
|
|
+ let selectedItem = projTreeObj.tree.selected;
|
|
|
+ $("#add-tender-dialog").modal("show");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ rename: {
|
|
|
+ name: "重命名",
|
|
|
+ icon: 'fa-edit',
|
|
|
+ disabled: function () {
|
|
|
+ return !projTreeObj.tree.selected;
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ $('#rename-name').val(projTreeObj.tree.selected.data.name ? projTreeObj.tree.selected.data.name : '');
|
|
|
+ $('#rename-dialog').modal('show');
|
|
|
+ setTimeout(function () {
|
|
|
+ $('#rename-name')[0].focus();
|
|
|
+ }, 300);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ delete: {
|
|
|
+ name: "删除",
|
|
|
+ icon: 'fa-remove',
|
|
|
+ disabled: function () {
|
|
|
+ let node = projTreeObj.tree.selected;
|
|
|
+ return !node || (node.data.projType === projectType.folder && node.children.length > 0);
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ if (projTreeObj.tree && projTreeObj.tree.selected) {
|
|
|
+ $('#del').modal('show');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ copyTo: {
|
|
|
+ name: "复制到",
|
|
|
+ icon: 'fa-copy',
|
|
|
+ disabled: function () {
|
|
|
+ let node = projTreeObj.tree.selected;
|
|
|
+ return !(node && node.data.projType === projectType.tender);
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ let selectedItem = projTreeObj.tree.selected;
|
|
|
+ try {
|
|
|
+ let selectedType = selectedItem !== null && selectedItem.data !== undefined ?
|
|
|
+ selectedItem.data.projType : '';
|
|
|
+ if (selectedType !== projectType.tender) {
|
|
|
+ throw '请选择单位工程进行复制';
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ alert(error);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //更新选中项目缓存
|
|
|
+ $('#copy-to-dialog').modal('show');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ share: {
|
|
|
+ name: "分享",
|
|
|
+ icon: 'fa-share',
|
|
|
+ disabled: function () {
|
|
|
+ let selectedItem = projTreeObj.tree.selected;
|
|
|
+ return !selectedItem;
|
|
|
+ //return !(selectedItem && selectedItem.data.projType === projectType.tender);
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ let selected = projTreeObj.tree.selected;
|
|
|
+ $('#sharePhone').val('');
|
|
|
+ $('#share-info').hide();
|
|
|
+ $('#shareFindDiv').hide();
|
|
|
+ setShareToModal(selected);
|
|
|
+ $('#share').modal('show');
|
|
|
+ setTimeout(function () {
|
|
|
+ $('#sharePhone').focus();
|
|
|
+ }, 200);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ manageFiles: {
|
|
|
+ name: "管理相关文件",
|
|
|
+ icon: 'fa-list',
|
|
|
+ disabled: function () {
|
|
|
+ let selectedItem = projTreeObj.tree.selected;
|
|
|
+ return !(selectedItem && selectedItem.data.projType !== projectType.folder);
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ setDataToSideBar();
|
|
|
+ $(".slide-sidebar").animate({width:"440"}).addClass("open");
|
|
|
+ setTimeout(function () {
|
|
|
+ $("body").bind('click', function (event) {
|
|
|
+ var e = event || window.event; //浏览器兼容性
|
|
|
+ if (!$(event.target).is('a')) {
|
|
|
+ var elem = event.target || e.srcElement;
|
|
|
+ while (elem) { //循环判断至跟节点,防止点击的是div子元素
|
|
|
+ if (elem.className == "open-sidebar" || elem.className == 'slide-sidebar open') {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if($(elem).attr('id') && $(elem).attr('id') === 'del-wj'){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ elem = elem.parentNode;
|
|
|
+ }
|
|
|
+ $(".slide-sidebar").animate({width: "0"}).removeClass("open")// 关闭处理
|
|
|
+ $('body').unbind('click');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }, 500);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ refreshSummary: {
|
|
|
+ name: "刷新当前项目造价",
|
|
|
+ icon: 'fa-refresh',
|
|
|
+ disabled: function () {
|
|
|
+ let selectedItem = projTreeObj.tree.selected;
|
|
|
+ return !(selectedItem && selectedItem.data.projType !== projectType.folder);
|
|
|
+ },
|
|
|
+ callback: function (key, opt) {
|
|
|
+ //获取当前节点的建设项目ID
|
|
|
+ projTreeObj.refreshProjectData();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //全部-开始(新建)按钮弹出菜单(新建单位工程)
|
|
|
+ loadStartMenu: function () {
|
|
|
+ let me = this;
|
|
|
+ $('#startA').click(me.contextMenuItems.addTender.callback);
|
|
|
+ },
|
|
|
+ //spread中鼠标右键弹出菜单
|
|
|
loadContextMenu: function () {
|
|
|
let me = this;
|
|
|
$.contextMenu({
|
|
|
@@ -205,211 +391,19 @@ const projTreeObj = {
|
|
|
return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
|
|
|
},
|
|
|
items: {
|
|
|
- "addFolder": {
|
|
|
- name: "新建文件夹",
|
|
|
- icon: 'fa-folder-o',
|
|
|
- disabled: function () {
|
|
|
- return false;
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- $("#add-folder-dialog").modal("show");
|
|
|
- setTimeout(function () {
|
|
|
- $('#folder-name')[0].focus();
|
|
|
- }, 300);
|
|
|
- }
|
|
|
- },
|
|
|
- "addProject": {
|
|
|
- name: "新建建设项目",
|
|
|
- icon: 'fa-cubes',
|
|
|
- disabled: function () {
|
|
|
- return false;
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- $('#add-project-dialog').modal('show');
|
|
|
- setTimeout(function () {
|
|
|
- $('#project-name')[0].focus();
|
|
|
- }, 300);
|
|
|
- }
|
|
|
- },
|
|
|
- "addEngineering": {
|
|
|
- name: "新建单项工程",
|
|
|
- icon: 'fa-cube',
|
|
|
- disabled: function () {
|
|
|
- let node = me.tree.selected;
|
|
|
- if(node && node.data.projType !== projectType.folder){
|
|
|
- return false;
|
|
|
- }
|
|
|
- return true;
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- let selectedItem = me.tree.selected;
|
|
|
- try {
|
|
|
- if(selectedItem !== null && selectedItem.data.projType !== projectType.folder){
|
|
|
- $("#add-engineering-dialog").modal("show");
|
|
|
- setTimeout(function () {
|
|
|
- $('#engineering-name')[0].focus();
|
|
|
- }, 300);
|
|
|
- }
|
|
|
-
|
|
|
- } catch (error) {
|
|
|
- alert(error);
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "addTender": {
|
|
|
- name: "新建单位工程",
|
|
|
- icon: 'fa-sticky-note-o',
|
|
|
- disabled: function () {
|
|
|
- return false;
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- //弹出新建单位工程之前,判断当前使用版本,且当前使用单位工程数是否已到最大值
|
|
|
- let selectedItem = me.tree.selected;
|
|
|
- $("#add-tender-dialog").modal("show");
|
|
|
- }
|
|
|
- },
|
|
|
+ "addFolder": me.contextMenuItems.addFolder,
|
|
|
+ "addProject": me.contextMenuItems.addProject,
|
|
|
+ "addEngineering": me.contextMenuItems.addEngineering,
|
|
|
+ "addTender": me.contextMenuItems.addTender,
|
|
|
"spr1": '--------',
|
|
|
- "rename": {
|
|
|
- name: "重命名",
|
|
|
- icon: 'fa-edit',
|
|
|
- disabled: function () {
|
|
|
- return !me.tree.selected;
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- $('#rename-name').val(projTreeObj.tree.selected.data.name ? projTreeObj.tree.selected.data.name : '');
|
|
|
- $('#rename-dialog').modal('show');
|
|
|
- setTimeout(function () {
|
|
|
- $('#rename-name')[0].focus();
|
|
|
- }, 300);
|
|
|
- }
|
|
|
- },
|
|
|
- "delete": {
|
|
|
- name: "删除",
|
|
|
- icon: 'fa-remove',
|
|
|
- disabled: function () {
|
|
|
- let node = me.tree.selected;
|
|
|
- return !node || (node.data.projType === projectType.folder && node.children.length > 0);
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- if (projTreeObj.tree && projTreeObj.tree.selected) {
|
|
|
- $('#del').modal('show');
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- "copyTo": {
|
|
|
- name: "复制到",
|
|
|
- icon: 'fa-copy',
|
|
|
- disabled: function () {
|
|
|
- let node = me.tree.selected;
|
|
|
- return !(node && node.data.projType === projectType.tender);
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- let selectedItem = projTreeObj.tree.selected;
|
|
|
- try {
|
|
|
- let selectedType = selectedItem !== null && selectedItem.data !== undefined ?
|
|
|
- selectedItem.data.projType : '';
|
|
|
- if (selectedType !== projectType.tender) {
|
|
|
- throw '请选择单位工程进行复制';
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- alert(error);
|
|
|
- return false;
|
|
|
- }
|
|
|
- //更新选中项目缓存
|
|
|
- $('#copy-to-dialog').modal('show');
|
|
|
- }
|
|
|
- },
|
|
|
+ "rename": me.contextMenuItems.rename,
|
|
|
+ "delete": me.contextMenuItems.delete,
|
|
|
+ "copyTo": me.contextMenuItems.copyTo,
|
|
|
"spr2": '--------',
|
|
|
- "share": {
|
|
|
- name: "分享",
|
|
|
- icon: 'fa-share',
|
|
|
- disabled: function () {
|
|
|
- let selectedItem = projTreeObj.tree.selected;
|
|
|
- return !selectedItem;
|
|
|
- //return !(selectedItem && selectedItem.data.projType === projectType.tender);
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- let selected = projTreeObj.tree.selected;
|
|
|
- $('#sharePhone').val('');
|
|
|
- $('#share-info').hide();
|
|
|
- $('#shareFindDiv').hide();
|
|
|
- setShareToModal(selected);
|
|
|
- $('#share').modal('show');
|
|
|
- setTimeout(function () {
|
|
|
- $('#sharePhone').focus();
|
|
|
- }, 200);
|
|
|
- }
|
|
|
- },
|
|
|
- /* 'cancelShare': {
|
|
|
- name: '取消分享',
|
|
|
- icon: 'fa-ban',
|
|
|
- disabled: function () {
|
|
|
- let selected = projTreeObj.tree.selected;
|
|
|
- return !(selected && selected.data.shareInfo && selected.data.shareInfo.length > 0);
|
|
|
- },
|
|
|
- callback: function () {
|
|
|
- let selected = projTreeObj.tree.selected;
|
|
|
- setShareToModal(selected);
|
|
|
- $('#shareTo').modal('show');
|
|
|
- }
|
|
|
- },*/
|
|
|
+ "share": me.contextMenuItems.share,
|
|
|
"spr3": '--------',
|
|
|
- "manageFiles": {
|
|
|
- name: "管理相关文件",
|
|
|
- icon: 'fa-list',
|
|
|
- disabled: function () {
|
|
|
- let selectedItem = projTreeObj.tree.selected;
|
|
|
- return !(selectedItem && selectedItem.data.projType !== projectType.folder);
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- setDataToSideBar();
|
|
|
- $(".slide-sidebar").animate({width:"440"}).addClass("open");
|
|
|
- setTimeout(function () {
|
|
|
- $("body").bind('click', function (event) {
|
|
|
- var e = event || window.event; //浏览器兼容性
|
|
|
- if (!$(event.target).is('a')) {
|
|
|
- var elem = event.target || e.srcElement;
|
|
|
- while (elem) { //循环判断至跟节点,防止点击的是div子元素
|
|
|
- if (elem.className == "open-sidebar" || elem.className == 'slide-sidebar open') {
|
|
|
- return false;
|
|
|
- }
|
|
|
- if($(elem).attr('id') && $(elem).attr('id') === 'del-wj'){
|
|
|
- return false;
|
|
|
- }
|
|
|
- elem = elem.parentNode;
|
|
|
- }
|
|
|
- $(".slide-sidebar").animate({width: "0"}).removeClass("open")// 关闭处理
|
|
|
- $('body').unbind('click');
|
|
|
- }
|
|
|
- });
|
|
|
- }, 500);
|
|
|
- }
|
|
|
- },
|
|
|
- "refreshSummary": {
|
|
|
- name: "刷新当前项目造价",
|
|
|
- icon: 'fa-refresh',
|
|
|
- disabled: function () {
|
|
|
- let selectedItem = projTreeObj.tree.selected;
|
|
|
- return !(selectedItem && selectedItem.data.projType !== projectType.folder);
|
|
|
- },
|
|
|
- callback: function (key, opt) {
|
|
|
- //获取当前节点的建设项目ID
|
|
|
- projTreeObj.refreshProjectData();
|
|
|
- /* let project = projTreeObj.tree.selected;
|
|
|
- while (project.data.projType !== projectType.project && project.parent){
|
|
|
- project = project.parent;
|
|
|
- }
|
|
|
- if(project && project.data.ID){
|
|
|
- $.bootstrapLoading.start();
|
|
|
- CommonAjax.post('/pm/api/getSummaryInfo', {user_id: userID, projectIDs: [project.data.ID]}, function (summaryInfo) {
|
|
|
- refreshProjSummary(project, summaryInfo);
|
|
|
- $.bootstrapLoading.end();
|
|
|
- }, function () {
|
|
|
- $.bootstrapLoading.start();
|
|
|
- });
|
|
|
- }*/
|
|
|
- }
|
|
|
- }
|
|
|
+ "manageFiles": me.contextMenuItems.manageFiles,
|
|
|
+ "refreshSummary": me.contextMenuItems.refreshSummary
|
|
|
}
|
|
|
});
|
|
|
},
|