起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1476|回复: 2

[结贴] .w文件互相调用问题?

[复制链接]

9

主题

18

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
发表于 2015-3-26 14:20:10 | 显示全部楼层 |阅读模式
例:index.w 的model和里在的事件方法,可以让其它*.w的文件使用吗,怎样来做?求个小例子代码。还有能否建全局变量在JS里,怎么样创建。

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2015-3-27 13:58:51 | 显示全部楼层
1、写公共js方法,以备调用
例如 \model\UI2\OA\common\js\pub.js

define(function(require) {
        var $ = require("jquery");
        var DocUtils = require("$UI/system/components/justep/docCommon/docUtil");
       
        var OA = {
            
                //计算请假时长显示信息
                calcLeaveDayHour: function(days, hours){
                        var sLeaveDayHour = "";
                        if(days != 0)
                                sLeaveDayHour = days + " 天";
                        if(hours != 0)
                                sLeaveDayHour = sLeaveDayHour + " " + hours + " 小时";
                        if(sLeaveDayHour == "")
                                sLeaveDayHour = "0 小时";
                        return sLeaveDayHour;
            },
            
            //设置请假时长显示信息
            setLeaveDayHour: function(data){
                    if(data.getCount() > 0)
                            data.setValue('fLeaveDayHour', this.calcLeaveDayHour(data.getValue('fLeaveDays'),data.getValue('fLeaveHours') ));
            },
           
            //转换日期的显示,其中今天会显示时间
            transformDate: function(datetime){
                    if(datetime == undefined)
                            return '';
                        var showTime = justep.Date.toString(datetime,'hh:mm');
                    var now = new Date();
                    now.setHours(0);
                    now.setMinutes(0);
                    now.setSeconds(0);
                    now.setMilliseconds(0);
                    datetime.setHours(0);
                    datetime.setMinutes(0);
                    datetime.setSeconds(0);
                    datetime.setMilliseconds(0);

                    var deltaDay = justep.Date.diff(datetime,now,'d');
                    var showDate = '';
                    switch(deltaDay){
                            case -1: showDate = '明天'; break;
                            case 0: showDate = showTime; break;
                            case 1: showDate = '昨天'; break;
                            case 2: showDate = '前天'; break;
                            default:
                                var deltaYear = justep.Date.diff(datetime,now,'y');
                                    if(deltaYear == 0)//今年
                                            showDate = justep.Date.toString(datetime,'MM-dd');
                                    else
                                            showDate = justep.Date.toString(datetime,'yyyy-MM-dd');
                                    break;
                                   
                    }
                    return showDate;
            },

            //转换日期时间的显示,今天已经显示时间,不用再加时间
            transformDateTime: function(datetime){
                    if(datetime == undefined)
                            return '';
                        var showTime = justep.Date.toString(datetime,'hh:mm');
                    var showDate = this.transformDate(datetime);
                    if(showDate != showTime)
                            showDate = showDate + ' ' + showTime;
                    return showDate;
            },
           
            //从拜访记录中获取地图的显示信息
            getMapInfo : function(row, context){
                    var mapInfo = {};
                    mapInfo.title = row.val('fCustomer');
                    mapInfo.point = row.val('flongitude').toString() + ',' + row.val('fLatitude');
                    mapInfo.person = row.val('fCreator');
                    mapInfo.summary = row.val('fContent');
                    mapInfo.num = row.val('fVisitNum');
                    mapInfo.date = justep.Date.toString(row.val('fVisitTime'), justep.Date.STANDART_FORMAT_SHOT);

                    var attJson = row.val('fAttachment');
                    var url = "";
                    if (attJson != null) {
                            var jsonList = eval("(" + attJson + ")");
                            for(var i=0; i<jsonList.length; i++){
                                    var docName = jsonList[i]["docName"];
                                    docName = docName.substr(docName.length-3,3).toUpperCase();
                                    if(docName == "PNG" || docName == "JPG" || docName == "GIF"){
                                            var docPath = jsonList[i]["docPath"];
                                            var fileID = jsonList[i]["fileID"];

                                            var url1 = DocUtils.InnerUtils.getdocServerAction({
                                                    "docPath" : docPath,
                                                    urlPattern:"/repository/file/view/" + fileID + "/last/content",
                                                    isFormAction : false,
                                                    context : context
                                            });
                                            url = require.toUrl(url1);
                                            break;
                                    }
                            }
                    }
                    mapInfo.image = url;
                    return mapInfo;
            },
           
            //从客户记录中获取地图的显示信息
            getMapInfoFromCustomer : function(row, context){
                    var mapInfo = {};
                    mapInfo.title = row.val('fName');
                    mapInfo.point = row.val('flongitude').toString() + ',' + row.val('fLatitude');
                    //mapInfo.person = row.val('fCreator');
                    //mapInfo.summary = row.val('fContent');
                    mapInfo.num = row.val('fVisitNum');
                    //mapInfo.date = justep.Date.toString(row.val('fVisitTime'), justep.Date.STANDART_FORMAT_SHOT);

                    var attJson = row.val('fAttachment');
                    var url = "";
                    if (attJson != null) {
                            var jsonList = eval("(" + attJson + ")");
                            for(var i=0; i<jsonList.length; i++){
                                    var docName = jsonList[i]["docName"];
                                    docName = docName.substr(docName.length-3,3).toUpperCase();
                                    if(docName == "PNG" || docName == "JPG" || docName == "GIF"){
                                            var docPath = jsonList[i]["docPath"];
                                            var fileID = jsonList[i]["fileID"];

                                            var url1 = DocUtils.InnerUtils.getdocServerAction({
                                                    "docPath" : docPath,
                                                    urlPattern:"/repository/file/view/" + fileID + "/last/content",
                                                    isFormAction : false,
                                                    context : context
                                            });
                                            url = require.toUrl(url1);
                                            break;
                                    }
                            }
                    }
                    mapInfo.image = url;
                    return mapInfo;
            }
        }

        return OA;
});
在js文件中这样引用 var OA = require("$UI/OA/common/js/pub");
这样调用
        Model.prototype.showTime = function(event){
                return OA.transformDate(event.val('fLastModifyTime'));
        };


2、在js中定义全局变量
例如定义this.openTaskStatus;为全局变量
        var Model = function() {
                this.callParent();

                this.openTaskStatus;
        };
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

9

主题

18

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2015-3-30 10:20:34 | 显示全部楼层
和我想的还有点不一样,不过谢谢了,我多试试在回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-23 22:26 , Processed in 0.109928 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表