Browse Source

单据编号位置调整

zhuth 7 years ago
parent
commit
551fb46e34

+ 52 - 11
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -1,9 +1,12 @@
 Ext.define('saas.view.core.form.FormPanel', {
     extend: 'Ext.form.Panel',
     xtype: 'core-form-formpanel',
+
     controller: 'core-form-formpanel',
     viewModel: 'core-form-formpanel',
 
+    cls: 'x-core-form',
+
     //工具类
     FormUtil: Ext.create('saas.util.FormUtil'),
     BaseUtil: Ext.create('saas.util.BaseUtil'),
@@ -46,7 +49,43 @@ Ext.define('saas.view.core.form.FormPanel', {
                 style: {
                     'border-bottom': '1px solid #35baf6 !important'
                 },
-                items: ['->'].concat(me.toolBtns.map(function(btn){
+                items: [{
+                    xtype: 'tbtext',
+                    bind: {
+                        html: '<span class="x-tb x-no">NO. </span>' +
+                        '<span class="x-tb x-code">{base.codeEditable ? "" : form.' + me._codeField + '}</span>'
+                    }
+                }, {
+                    xtype: 'textfield',
+                    minHeight: 24,
+                    maxHeight: 24,
+                    cls: 'x-codeeditor',
+                    bind: {
+                        value: '{form.' + me._codeField + '}',
+                        hidden: '{!base.codeEditable}'
+                    },
+                    listeners: {
+                        blur: 'codeEditorBlur',
+                        show: function(field, eOpts) {
+                            field.focus();
+                        }
+                    }
+                }, {
+                    xtype: 'tbtext',
+                    html: '已审核',
+                    cls: 'x-audited',
+                    bind: {
+                        hidden: '{!(form.' + me._statusCodeField + ' == "AUDITED")}'
+                    }
+                }, {
+                    xtype: 'button',
+                    cls: 'x-codeeditor-btn',
+                    iconCls: 'fa fa-edit',
+                    bind: {
+                        hidden: '{!base.editable}'
+                    },
+                    handler: 'codeEditorClick'
+                },'->'].concat(me.toolBtns.map(function(btn){
                     btn.cls = btn.cls ? btn.cls + ' x-formpanel-btn-blue':'x-formpanel-btn-blue';
                     return btn;
                 }).concat([{
@@ -84,23 +123,25 @@ Ext.define('saas.view.core.form.FormPanel', {
      */
     initViewModel: function() {
         var me = this,
+        codeField = me._codeField,
         statusField = me._statusField,
         statusCodeField = me._statusCodeField,
         viewModel = me.getViewModel();
         
-        var o = {};
-        o['auditBtnText'] = {
-            bind: '{form.' + statusCodeField + '}',
-            get: function(value) {
-                viewModel.set('form.' + statusField, value == 'AUDITED' ? '审核' : '反审核');
-                return value == 'AUDITED' ? '反审核' : '审核'
-            }
-        };
-        viewModel.setFormulas(o);
-
+        viewModel.set('form.' + codeField, '--------------');
         viewModel.set('form.createTime', new Date());
         viewModel.set('form.updateTime', new Date());
+
         if(statusCodeField) {
+            var o = {};
+            o['auditBtnText'] = {
+                bind: '{form.' + statusCodeField + '}',
+                get: function(value) {
+                    viewModel.set('form.' + statusField, value == 'AUDITED' ? '审核' : '反审核');
+                    return value == 'AUDITED' ? '反审核' : '审核'
+                }
+            };
+            viewModel.setFormulas(o);
             viewModel.set('form.' + statusCodeField, "UNAUDITED");
         }else {
             viewModel.set('auditBtnText', "审核");

+ 45 - 0
frontend/saas-web/app/view/core/form/FormPanel.scss

@@ -0,0 +1,45 @@
+.x-core-form {
+
+    .x-tb {
+        color: #AEB1B5;
+    }
+    .x-no {
+        font-size: 18px;
+    }
+    .x-code {
+        font-size: 16px;
+    }
+    .x-codeeditor {
+        top: 0px !important;
+        left: 43px !important;
+
+        .x-form-trigger-wrap {
+            border-top: none;
+            border-right: none;
+            border-bottom: 1px solid #aeb1b5;
+            border-left: none;
+
+            input {
+                padding-left: 0;
+                font-size: 16px;
+                min-height: inherit;
+            }
+        }
+    }
+    .x-codeeditor-btn {
+        background-color: transparent !important;
+        border: none;
+        font-size: 18px;
+        box-shadow: none !important;
+
+        &:hover {
+            .x-btn-icon-el-default-toolbar-small {
+                color: black;
+            }
+        }
+    }
+    .x-audited {
+        border: 1px solid #FF0000;
+        color: #FF0000;
+    }
+}

+ 17 - 1
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -187,6 +187,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 Ext.Msg.alert('提示','审核成功');
                 form.initId = localJson.data.id;
                 form.FormUtil.loadData(form);
+                viewModel.set('base.editable', false);
             }
         })
         .catch(function() {
@@ -194,7 +195,22 @@ Ext.define('saas.view.core.form.FormPanelController', {
         });
     },
     unAudit: function() {
+        var me = this,
+        viewModel = me.getViewModel();
+
+        viewModel.set('base.editable', true);
         console.log('反审核');
-        return;
+    },
+    codeEditorBlur: function() {
+        var me = this,
+        viewModel = me.getViewModel();
+
+        viewModel.set('base.codeEditable', false);
+    },
+    codeEditorClick: function() {
+        var me = this,
+        viewModel = me.getViewModel();
+
+        viewModel.set('base.codeEditable', true);
     }
 });

+ 4 - 0
frontend/saas-web/app/view/core/form/FormPanelModel.js

@@ -6,6 +6,10 @@ Ext.define('saas.view.core.form.FormPanelModel', {
         form: {
             id: 0
         },
+        base: {
+            editable: true, // 单据是否可编辑
+            codeEditable: false, // 单据编号是否可编辑
+        },
         detailBindeFields: [], // 从表绑定列
         detailStore: null, // 从表store
     },