zoukankan      html  css  js  c++  java
  • ext图片预览功能实现,前端代码

    效果图:

    extjs代码:

    // 模型
    Ext.define('ParkingAttachment', {extend: "Ext.data.Model",
        idProperty: 'id',
        fields:[
            {name:'id'},
            {name:'parkingId'},
            {name:'attachment'},
            {name:'attachmentName'},
            {name:'attachmentUrl'}
        ]
    });
    
    // 存储
    var parkingAttachmentStore = Ext.create('Ext.data.Store', {
        model: 'ParkingAttachment',
        autoLoad: true,
        proxy: {
            type: 'ajax',
            actionMethods: {
                read: "POST"
            },
            url: securedroot + 'squadron/getParkingAttachment',
            reader: {
                type: 'json'
            }
        }
    });
    
    // 面板
    var attachmentPanel = Ext.create('Ext.Panel', {
            id: 'images-view',
            iconCls: 'silk-attach',
            autoScroll: true,
            frame: true,
            margin: '-5 20 5 10',
            height: 300,
            title: '图片预览',
            items: Ext.create('Ext.view.View', {
                store: parkingAttachmentStore,
                margin: '5 20 5 20',
                tpl: [
                    '<tpl for=".">',
                    '<div class="thumb-wrap x-view-item-focused" id="{attachmentName}" style="height: 230px; margin:10px 35px 10px 35px;cursor:pointer;>',
                    '<div class="thumb"><img style="max-height: 220px;max- 275px;vertical-align:middle;" src="' + ORCH_SYSCONTANT.FILE_VIEW_URI + '{attachmentUrl}" title="{attachmentName}"></div>',
                    '</div>',
                    '</tpl>',
                    '<div class="x-clear"></div>'
                ],
                multiSelect: false,
                trackOver: true,
                itemSelector: 'div.thumb-wrap',
                emptyText: '没有图片显示',
                plugins: [
                    Ext.create('Ext.ux.DataView.DragSelector', {})
                ],
                prepareData: function (data) {
                    Ext.apply(data, {
                        shortName: Ext.util.Format.ellipsis(data.attachmentName, 15),
                    });
                    return data;
                },
                listeners: {
                    itemclick: function (dv, nodes) {
                        var url = nodes.data.attachmentUrl;
                        window.open(ORCH_SYSCONTANT.FILE_VIEW_URI + url);
                    }
                }
            })
        });

    以下是上述代码中用到的变量:

    // 国际化:
    FILE_VIEW_URI:  'http://10.10.1.212:5980/sitefiles/lhzhzfpro/zf/file/'
    
    // CSS样式 .thumb
    { background-color: #ffffff; border-radius: 3px; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); margin-top: 30px; padding-bottom: 10px; padding-left: 10px; padding-right: 10px; padding-top: 10px; width: 100%; } #images-view .thumb-wrap { border: 2px solid #EAEAEE; float: left; margin-right: 0; padding: 5px; height: 120px; } .x-view-item-focused { outline: 1px dashed #c0d4ed!important; outline-offset: -1px; }
  • 相关阅读:
    鸟哥的linux私房菜学习-(八)Linux 文件与目录管理
    我的作品
    聊聊软件测试面试的一些事
    如何做一名专业的软件测试工程师
    测试Leader应该做哪些事
    软件测试工程师的岗位职责
    一个完整的性能测试流程
    做接口测试需要哪些技能
    软件质量保障体系建设
    性能测试常见瓶颈分析及调优方法
  • 原文地址:https://www.cnblogs.com/daihu/p/10166928.html
Copyright © 2011-2022 走看看