人事考勤系统之Sencha Touch 2登录界面

本文介绍了一个使用Sencha Touch 2开发的人事考勤系统的登录界面,并分享了当前的设计与代码实现。文章探讨了界面设计的问题,并邀请读者参与改进。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天想了一想,想把自己空闲的时间利用起来开发一套Sencha Touch 2的人事考勤系统。和大家一起分享, 也希望大家能参于进来,一起开发。

今天我打算把登录界面发布出来,不过有几个问题我还在思考当中.

1: 字体不是太好, 界面看的也不是太舒服.

2:  当单击登录按钮的时候还没有实现验证用户名和密码:


代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" type="text/css" href="touch/resources/css/sencha-touch.css">
    <script id="microloader" type="text/javascript" src="touch/sencha-touch-debug.js"></script>
</head>
    <style type="text/css">
        a {
            text-decoration: none;
        }
    </style>
    <script>
        Ext.require("Ext.MessageBox");
        Ext.application({
            name: "PersonnelAttendanceSystem",
            launch: function() {
                var dockedItems = [{
                    xtype: 'toolbar',
                    dock: 'top',
                    items: [
                        {
                            text: '退出',
                            ui: 'back',
                            handler: function() {

                            }
                        },
                        { xtype: 'spacer' },
                        {
                            text: '注册',
                            ui: 'action',
                            handler: function() {

                            }
                        }
                    ]
                }];
                var mainPanel = Ext.create('Ext.Container', {
                    fullscreen: true,
                    layout: 'vbox',
                    items: [
                        {
                            dockedItems: dockedItems
                        },
                        { xtype: 'spacer' },
                        {
                            xtype: 'panel',
                            style: 'text-align:center;font-size: 24pt;',
                            html: '人事考勤系统',
                            id: 'form',
                            flex: 2
                        },
                        {
                            xtype: 'panel',
                            flex: 4,
                            items: [
                                {
                                    xtype: 'fieldset',
                                    items: [
                                        {
                                            xtype: 'emailfield',
                                            labelAlign: 'left',
                                            name: 'username',
                                            id: 'username',
                                            label: '用户名:',
                                            placeHolder:'输入用户名'
                                        },
                                        {
                                            xtype: 'passwordfield',
                                            labelAlign: 'left',
                                            name: 'password',
                                            id: 'password',
                                            label: '密码:',
                                            placeHolder: '输入密码'
                                        }
                                    ]
                                }
                            ]
                        },
                        {
                            layout:'hbox',
                            items:[
                                {
                                    xtype: 'button',
                                    name: 'login',
                                    id: 'login',
                                    text: '登录',
                                    style: 'margin-left:10px;',
                                    ui:'action',
                                    width: 150,
                                    handler:function() {
                                        var usernameProxy = Ext.getCmp('username').getValue();
                                        var passwordProxy = Ext.getCmp('password').getValue();
                                        if(usernameProxy == '') {
                                            Ext.Msg.alert("错误信息", "用户名不能为空.");
                                        } else if(passwordProxy == '') {
                                            Ext.Msg.alert("错误信息", "密码不能为空.");
                                        }

                                    }
                                },
                                {
                                    xtype: 'panel',
                                    style: 'margin-left:10px;padding-top:10px;',
                                    html: "<a href='#'>忘记密码?</a>"
                                }
                            ]
                        },
                        { xtype: 'spacer' }
                    ]
                });
                Ext.Viewport.add(mainPanel);
            }
        });

    </script>
<body>

</body>
</html>

布局方面用到了vbox and hbox两种.

界面如下:



希望大家能多提些建议.


内容概要:本文详细介绍了水中有限长加肋圆柱壳体振动和声辐射的近似解析解,并提供了完整的Python实现。文中首先阐述了问题背景,即加肋圆柱壳体作为水下航行器的主要结构形式,肋骨的作用被简化为只有法向力。接着,通过一系列关键方程(如模态振动速度方程、壳体机械阻抗、特征矩阵元素等),推导出加肋圆柱壳体的振动和声辐射特性。Python代码部分实现了这些理论,包括定义`CylindricalShell`类来封装所有计算功能,如初始化参数、机械阻抗、辐射阻抗、肋骨阻抗、模态速度、辐射功率和辐射效率的计算。此外,还扩展了带刚性圆柱障板的圆柱壳体类`CylindricalShellWithBaffle`,并引入了集中力激励、简支边界条件和低频段计算的内容。最后,通过具体示例展示了如何创建壳体对象、设置参数、计算频率响应以及绘制结果图表,验证了加肋对辐射声功率和声辐射效率的影响。 适合人群:具备一定编程基础和声学基础知识的研究人员、工程师,特别是从事水下声学、船舶工程和振动分析领域的专业人员。 使用场景及目标:①通过代码实现和理论推导,深入理解加肋圆柱壳体的振动和声辐射特性;②分析肋骨对壳体声学性能的影响,优化结构设计;③利用Python代码进行数值模拟,评估不同参数配置下的声辐射效率和功率;④为实际工程项目提供理论支持和技术参考。 其他说明:本文不仅提供了详细的数学推导和Python代码实现,还讨论了实际应用中的注意事项,如参数调整、高频模态考虑、肋骨模型细化和数值稳定性处理。建议读者结合实际需求,灵活运用文中提供的理论和代码,进行更深入的研究和实践。
内容概要:本文详细介绍了使用Python实现灰狼优化算法(GWO)求解CEC2017测试函数的方法。首先,文章解释了GWO的基本概念,即通过模拟狼群的社会行为进行优化。接着,展示了如何安装必要的库并构建GWO的核心类,包括初始化参数、计算适应度以及优化过程中的关键步骤。文中还深入探讨了三个重要的细节:包围机制、随机扰动和位置融合,它们分别对应于算法的探索能力、防止陷入局部最优以及保持种群多样性。此外,作者提供了具体的代码实例,演示了GWO在不同测试函数上的应用,并讨论了针对特定问题的参数调整策略,如改变种群大小、迭代次数和衰减方式等。最后,给出了实用建议,帮助读者更好地理解和应用这一算法。 适合人群:对优化算法感兴趣的科研人员、研究生以及有一定编程基础的数据科学家。 使用场景及目标:适用于解决复杂的连续优化问题,特别是那些具有多个局部极值点的情况。通过学习本文,读者能够掌握GWO的工作原理及其Python实现方法,从而将其应用于各种工程和技术领域的优化任务中。 其他说明:文中提到的一些技巧,如非线性的a衰减策略、改进的位置更新公式和特殊的边界处理方法,对于提高算法性能至关重要。同时,作者强调了在面对不同类型的问题时灵活调整参数的重要性。
内容概要:本文提出了一种基于校准信息传输的实时跨平台神经视频编解码器。针对现有神经视频编解码器在跨平台应用时因浮点运算误差导致解码错误的问题,作者设计了一套校准传输系统,确保编码和解码端的一致性。具体方法包括:1) 通过传输少量校准信息来修正跨平台计算不一致;2) 利用分段高斯约束减少校准信息传输量;3) 引入模型剪枝、运动降采样和算术编码跳过等加速技术,使模型能够在消费级GPU上实现实时解码(约25FPS)。实验结果表明,该方法不仅解决了跨平台解码问题,而且在性能上优于传统H.265编解码器。 适合人群:对视频编解码技术有一定了解的研究人员和技术开发者,特别是关注神经网络编解码器在实际应用中遇到的挑战和解决方案的人群。 使用场景及目标:1) 解决跨平台编解码器因浮点运算误差导致的解码失败问题;2) 实现高效、实时的视频编解码,适用于消费级硬件设备;3) 提供一种无需额外训练即可实现跨平台一致性的新方法,适用于各类视频压缩算法。 其他说明:本文的方法理论上适用于所有使用熵模型和算术编码进行实际传输的编解码方法,有助于加速现有压缩方法的实施。然而,当跨平台计算误差较大时,校准信息的传输量也会显著增加,从而影响率失真性能。未来的工作将进一步优化和推广该方法的实际应用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值