Browse Source

代码提交

hy 7 years ago
parent
commit
79e7cc3a73

+ 1 - 0
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -288,6 +288,7 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
     },
     onExport: function (me) {
         var grid = me.ownerCt.ownerCmp.ownerCt.ownerCt;
+
         grid.store.exportPageSize = 5000;
         grid.store.exportNumber = 1;
         grid.store.load(function(records, operation, success) {

+ 5 - 2
frontend/saas-web/app/view/document/kind/ChildForm.js

@@ -115,15 +115,17 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
             },{
                 xtype:'numberfield',
                 name:'bk_thisamount',
-                allowBlank:false,
-                fieldLabel:'当前额',
+                allowBlank:true,
+                fieldLabel:'当前额',
                 hideTrigger: true,
                 mouseWheelEnabled: false,
+                beforeLabelTextTpl:'',
                 minValue: 0
             },{
                 xtype:'combo',
                 name:'bk_type',
                 allowBlank:false,
+                editable:false,
                 fieldLabel:'账户类别',
                 store: [
                     '现金',
@@ -144,6 +146,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 name:'bk_remark',
                 allowBlank:true,
                 fieldLabel:'备注',
+                beforeLabelTextTpl:''
             }]
         },
         productbrand:{

+ 5 - 0
frontend/saas-web/app/view/main/Main.scss

@@ -153,3 +153,8 @@ $treelist-nav-ui: (
     height: 21px;
     background: url(../../../../resources/images/grid/check.png) 0 0 no-repeat;
 }
+
+body > .x-mask {
+    background-image: none;
+    background-color: rgba(142, 141, 141, 0.75);
+}

+ 0 - 1
frontend/saas-web/app/view/purchase/purchase/FormPanel.js

@@ -139,7 +139,6 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                 dataIndex : "pr_detail",
                 ignore:true,
                 renderer: function (v, m, r) {
-                    debugger
                     if(!v){
                         return r.data["productDTO"]?r.data["productDTO"][m.column.dataIndex]:null; 
                     }                     

+ 83 - 0
frontend/saas-web/app/view/sys/guide/FormPanel.js

@@ -0,0 +1,83 @@
+Ext.define('saas.view.sys.guide.FormPanel', {
+    extend: 'Ext.panel.Panel',
+    xtype: 'sys-guide-formpanel',
+
+    layout:'fit',
+
+    cls:'x-guide-background',
+
+    // bodyStyle: {
+    //     background: 'url(resources/images/guide/background.png)'
+    // },
+
+    initComponent: function () {
+        var me = this;
+		var view = new Ext.DataView({
+            style:"margin:7% 0 7% 0;",
+			tpl : new Ext.XTemplate(
+				'<div class="x-guide-panel" align ="center">',
+                    '<div class="x-guide-item" align ="center" >',
+                        '<img cls="afterLine" src="resources/images/guide/baseSet.png" style="margin:0 185px 0 0;" align ="center" width="135" height="90" data-qtip="基础设置" alt="基础设置" onClick="" >',
+                        '<img src="resources/images/guide/warehouse.png" style="margin:0 185px 0 0;" align ="center" width="135" height="90" data-qtip="仓库资料" alt="仓库资料" onClick="" >',
+                        '<img src="resources/images/guide/product.png" align ="center" width="135" height="90" data-qtip="物料资料" alt="物料资料" onClick="" >',
+                    '</div>',
+                    '<div class="x-guide-item" align ="center">',
+                        '<img src="resources/images/guide/1.png" style="margin: -20px 290px 0 0;" align ="center" width="32" height="32" >',
+                        '<img src="resources/images/guide/2.png" style="margin: -20px 290px 0 0;" align ="center" width="32" height="32" >',
+                        '<img src="resources/images/guide/3.png" style="margin: -20px 0px 0 0;" align ="center" width="32" height="32" >',
+                    '</div>',
+                    '<div class="x-guide-item" align ="center">',
+                        '<span  style="margin:0 270px 0px 0;" align ="center"  >基础设置</span>',
+                        '<span  style="margin:0 270px 0px 0;" align ="center" >仓库资料</span>',
+                        '<span  style="margin:0 0px 0px 0;" align ="center"  >物料资料</span>',
+                    '</div>',
+                    '<div class="x-guide-item" align ="center">',
+                        '<img src="resources/images/guide/point.png" style="margin: 2px 306px 0 0;" align ="center" width="16" height="16" >',
+                        '<img src="resources/images/guide/point.png" style="margin: 2px 306px 0 0;" align ="center" width="16" height="16" >',
+                        '<img src="resources/images/guide/point.png" style="margin: 2px 0px 0 0;" align ="center" width="16" height="16" >',
+                        "<br>",
+                        '<div class="x-guide-line"  height="1"  style="border:1px solid #E4F7FF;margin: -9px 0 0 0;width: 654px !important;" align ="center"></div>',
+                    '</div>',
+                    '<div class="x-guide-item" align ="center">',
+                        '<img src="resources/images/guide/customer.png" style="margin:50px 185px 0 0;" align ="center" width="135" height="90" data-qtip="客户资料" alt="客户资料" onClick="" >',
+                        '<img src="resources/images/guide/vendor.png" style="margin:50px 185px 0 0;" align ="center" width="135" height="90" data-qtip="供应商资料" alt="供应商资料" onClick="" >',
+                        '<img src="resources/images/guide/begin.png" style="margin:50px 0 0 0;" align ="center" width="135" height="90" data-qtip="开始使用" alt="开始使用" onClick="" >',
+                    '</div>',
+                    '<div class="x-guide-item" align ="center">',
+                        '<img src="resources/images/guide/4.png" style="margin: -20px 290px 0 0;" align ="center" width="32" height="32" >',
+                        '<img src="resources/images/guide/5.png" style="margin: -20px 290px 0 0;" align ="center" width="32" height="32" >',
+                        '<img src="resources/images/guide/6.png" style="margin: -20px 0px 0 0;" align ="center" width="32" height="32" >',
+                    '</div>',
+                    '<div class="x-guide-item" align ="center">',
+                        '<span  style="margin:0 265px 100px 0;" align ="center"  >客户资料</span>',
+                        '<span  style="margin:0 265px 100px 0;" align ="center" >供应商资料</span>',
+                        '<span  style="margin:0 0px 100px 0;" align ="center"  >开始使用</span>',
+                    '</div>',
+                    '<div class="x-guide-item" align ="center">',
+                        '<img src="resources/images/guide/point.png" style="margin: 2px 306px 0 0;" align ="center" width="16" height="16" >',
+                        '<img src="resources/images/guide/point.png" style="margin: 2px 306px 0 0;" align ="center" width="16" height="16" >',
+                        '<img src="resources/images/guide/point.png" style="margin: 2px 0px 0 0;" align ="center" width="16" height="16" >',
+                        "<br>",
+                        '<div class="x-guide-line"  height="1"  style="border:1px solid #E4F7FF;margin: -9px 0 0 0;width: 654px !important;" align ="center"></div>',
+                    '</div>',
+				'</div>'
+			),
+			trackOver: true,
+			overItemCls : 'x-module-over',
+			selectedClass : 'selected',
+			singleSelect : true,
+			itemSelector : '.x-module-item'
+		});
+		
+		Ext.apply(me,{
+			items:[view]
+		});
+		me.view = view;
+        me.callParent(arguments);
+    },
+
+    refresh:function(){
+        this.ownerCt.setTitle('新手指引')
+    }
+
+});

+ 1 - 0
frontend/saas-web/app/view/sys/power/FormPanel.js

@@ -15,6 +15,7 @@ Ext.define('saas.view.sys.power.FormPanel', {
     frame:true,
     layout: 'border',
     autoScroll: true,
+    saveUrl:'/api/account/role/save/bind/resource',
 
     items: [{
         title:'角色列表',

+ 115 - 43
frontend/saas-web/app/view/sys/power/FormPanelController.js

@@ -8,59 +8,131 @@ Ext.define('saas.view.sys.power.FormPanelController', {
     init: function (form) {
         var me = this;
         this.control({
-            'button[name=save]':{
-                click:function(){
-                    me.onSave();
+            'button[name=savepower]':{
+                click:function(b){
+                    me.onSave(b);
                 }
             }
         });
     },
 
-    onSave: function() {
+    onSave: function(b) {
         var me = this,
-        form = this.getView();
+        form = me.getView(),
+        viewModel = me.getViewModel(),
+        updateRecs = viewModel.data.powergrid.getUpdatedRecords();
 
-        var valid = form.isValid();
-        if(!valid) {
-            showToast('表单校验有误,请检查');
-            return false;
+        if(updateRecs.length>0){
+            var params = {};
+            var roleId = b.ownerCt.ownerCt.initId;//角色ID
+            params.roleId = roleId;
+            var datas = [];
+            Ext.Array.each(updateRecs,function(rec){
+                var modified = rec.modified;
+                if(modified){
+                    var modifyDatas = me.getBaseField(modified,rec.get('groupId'),rec.data);
+                    datas = datas.concat(modifyDatas);
+                }
+                //收集other
+                var other = rec.get('other');
+                if(other&&other!=null){
+                    Ext.Array.each(other,function(o){
+                        datas.push({
+                            classify:'other',
+                            checked:o.checked,
+                            resourceId:o.resourceId
+                        });
+                    });
+                }
+            })
+            params.powerSetList = datas;
+
+            me.BaseUtil.request({
+                url: form.saveUrl,
+                params: JSON.stringify(params),
+                method: 'POST',
+            })
+            .then(function(localJson) {
+                if(localJson.success){
+                    showToast('保存成功');
+                    viewModel.data.powergrid.load();
+                }
+            })
+            .catch(function(res) {
+                console.error(res);
+                showToast('保存失败: ' + res.message);
+            });
+        }else{
+            showToast('没有修改数据,请修改后保存');
         }
+    },
 
-        if(form.getForm().wasDirty==false){
-            showToast('未修改数据,请修改后保存');
-            return false;
+    getBaseField:function(modified,groupId,data){
+        var powerSetList = [];
+        if((typeof modified.add) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'add',
+                checked:data['add']
+            })
         }
-        
-        viewModel = me.getViewModel();
-        var formData = viewModel.data;
-        formData.en_name = null;
-        formData.updateTime = null;
-        me.BaseUtil.request({
-            url: form._saveUrl,
-            params: JSON.stringify(formData),
-            method: 'POST',
-        })
-        .then(function(localJson) {
-            if(localJson.success){
-                showToast('保存成功');
-                viewModel = form.getViewModel();
-                var url = form._readUrl;
-                form.BaseUtil.request({url })
-                .then(function(res) {
-                    if(res.success) {
-                        var d = res.data;
-                        viewModel.setData(d)
-                    }
-                })
-                .catch(function(response) {
-                    console.error(response);
-                });
-            }
-        })
-        .catch(function(res) {
-            console.error(res);
-            showToast('保存失败: ' + res.message);
-        });
+        if((typeof modified.query) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'query',
+                checked:data['query']
+            })
+        }
+        if((typeof modified.delete) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'delete',
+                checked:data['delete']
+            })
+        }
+        if((typeof modified.audit) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'audit',
+                checked:data['audit']
+            })
+        }
+        if((typeof modified.update) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'update',
+                checked:data['update']
+            })
+        }
+        if((typeof modified.unAudit) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'unAudit',
+                checked:data['unAudit']
+            })
+        }
+        if((typeof modified.fileExport) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'fileExport',
+                checked:data['fileExport']
+            })
+        }
+        if((typeof modified.fileImport) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'fileImport',
+                checked:data['fileImport']
+            })
+        }
+        if((typeof modified.print) == 'boolean'){
+            powerSetList.push({
+                groupId:groupId,
+                classify:'print',
+                checked:data['print']
+            })
+        }
+        return powerSetList;
     }
 
 });

+ 16 - 1
frontend/saas-web/app/view/sys/power/GroupGrid.js

@@ -15,7 +15,17 @@ Ext.define('saas.view.sys.power.GroupGrid', {
     bind:{
         store: '{powergrid}'
     },
+    tools:[{
+        xtype:'button',				
+        text:'保存',
+        name:'savepower',
+        margin:'0 0 0 2',
+        style:'background:#da8282;border-color:#cccccc'
+    }],
     features : [Ext.create('Ext.grid.feature.Grouping',{
+        collapseTip:null,
+        collapsible:false,
+        expandTip:null,
 		showSummaryRow: true,
         startCollapsed: false,
         groupHeaderTpl: '{name}'+'模块'
@@ -24,6 +34,7 @@ Ext.define('saas.view.sys.power.GroupGrid', {
     dataUrl:'http://192.168.253.31:8560/api/account/role/power/resource',
     selModel:Ext.create('Ext.selection.CheckboxModel', {
         checkOnly: true,
+        showHeaderCheckbox:false,
         listeners: {
             'select': function (selModel, record) {
                 selModel.view.ownerCt.selectAllPower(record);
@@ -148,7 +159,11 @@ Ext.define('saas.view.sys.power.GroupGrid', {
                 {name: 'fileImport', type: 'bool'},
                 {name: 'print', type: 'bool'},
                 {name: 'other', calculate: function(data) {
+                    var groupId = data['groupId'];
                     var other = data['other'];
+                    Ext.Array.each(other,function(o){
+                        o.groupId=groupId;
+                    })
                     return other;
                 }}
             ],
@@ -210,7 +225,7 @@ Ext.define('saas.view.sys.power.GroupGrid', {
         var other=record.get('other');
         Ext.Array.each(other,function(o){
             o.checked=bool;
-        })
+        });
         data.other = other;
         data.id = record.get('id');
         data.groupId = record.get('groupId');

+ 21 - 1
frontend/saas-web/app/view/sys/power/OtherField.js

@@ -24,7 +24,27 @@ Ext.define('saas.view.sys.power.OtherField', {
             for (i = 0; i < len; i++) {
                 items.push({
                    boxLabel:v[i].name,
-                   checked:v[i].checked
+                   checked:v[i].checked,
+                   groupId:v[i].groupId,
+                   listeners:{
+                       change:function(f,v){
+                           var id = f.groupId;
+                           var boxLabel = f.boxLabel;
+                           var viewModel = f.ownerCt.ownerCmp.ownerCt.ownerCt.getViewModel();
+                           var records = viewModel.data.powergrid.getData().items;
+                           for (i = 0; i < records.length; i++) {
+                                if(records[i].get('groupId')==id){
+                                    var other = records[i].get('other');
+                                    Ext.Array.each(other,function(o){
+                                        if(boxLabel==o.name){
+                                            o.checked = v
+                                        }
+                                    });
+                                    records[i].dirty = true
+                                }
+                           }
+                       }
+                   }
                 });
             }
             this.add(items);

BIN
frontend/saas-web/resources/images/guide/1.png


BIN
frontend/saas-web/resources/images/guide/2.png


BIN
frontend/saas-web/resources/images/guide/3.png


BIN
frontend/saas-web/resources/images/guide/4.png


BIN
frontend/saas-web/resources/images/guide/5.png


BIN
frontend/saas-web/resources/images/guide/6.png


BIN
frontend/saas-web/resources/images/guide/background.png


BIN
frontend/saas-web/resources/images/guide/baseSet.png


BIN
frontend/saas-web/resources/images/guide/begin.png


BIN
frontend/saas-web/resources/images/guide/customer.png


BIN
frontend/saas-web/resources/images/guide/point.png


BIN
frontend/saas-web/resources/images/guide/product.png


BIN
frontend/saas-web/resources/images/guide/vendor.png


BIN
frontend/saas-web/resources/images/guide/warehouse.png


+ 5 - 0
frontend/saas-web/resources/json/navigation.json

@@ -278,6 +278,11 @@
     "items": [{
         "text": "系统设置",
         "items": [{
+            "id":"sys-guide-formpanel",
+            "text": "新手导航",
+            "viewType": "sys-guide-formpanel",
+            "leaf": true
+        }, {
             "id":"sys-config-formpanel",
             "text": "系统参数",
             "viewType": "sys-config-formpanel",