widget.js 7.01 KB
var self = new Vue({
    el:'#app',
    data(){
        return {
            search:'',
            projectId:null,
            userId:null,
            flowid: 't1001_8a8610de737b99270173937337e00133',
            userName: '案件查处',
            pageNum:1,
            pageSize:2,
            total:0,
            params: {
                rwListIndex: 0
            },
            // 表格数据
            tabaledata:[],
            multipleSelection: []
        }
    },
    mounted(){
        this.getData();
    },
    //私有过滤器
    filters:{
        dataFormat:function (originVal) {
            const dt = new Date(originVal)
            const y = dt.getFullYear()
            const m = (dt.getMonth() + 1 + '').padStart(2, '0')
            const d = (dt.getDate() + '').padStart(2, '0')

            const hh = (dt.getHours() + '').padStart(2, '0')
            const mm = (dt.getMinutes() + '').padStart(2, '0')
            const ss = (dt.getSeconds() + '').padStart(2, '0')
            // yyyy-mm-dd hh:mm:ss
            return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
        }
    },
    methods:{
        handleSizeChange(){

        },
        handleCurrentChange(){},
        getData() {
            axios.post(CONF_NEWGHSC_SERVERURL + '/dblb/list/workings',null, {
                params: {
                    pageIndex:this.pageNum,
                    pageSize:this.pageSize,
                    flowId: this.flowid,
                    userName: this.userName,
                }
            }).then(res => {
                this.total=res.data.total;
                this.tabaledata =res.data.data.Data[0];
            }).catch();

        },
        clickData(row){
            this.jumpdetailPage(row)
        },
        handlclick(){
            if(this.multipleSelection.length!=1){
                this.$message.warning('请先选择需要删除的数据')
                return false
            }
        },
        handleSelectionChange(val){
            this.multipleSelection = val
        },
        openHandleJumpUrl (flowId, itemTypeId, _stats = 'create') {
            // debugger
            var unique = this.uuid();
            let url = CONF_FRONT_SERVERURL + 'view/projecttask/detailproject.jsp?';
            url += 'stats=' + _stats;
            url += '&flowid=' + flowId;
            url += '&create=' + (this.projectId ? 1 : 0);
            url += '&projectid=' + (this.projectId || "");
            url += '&flowItemTypeId=' + (itemTypeId || "");
            url += '&uniquePath=' + unique;
            window.open(this.handleJumpUrl(url));
            this.addFlowUserCount(flowId);
        },
        addFlowUserCount (flowId) {
            if (flowId === null || flowId === undefined) {
                return false;
            }

            this.ajaxPromise({
                data: JSON.stringify({"flowId": flowId,"userId": this.userId}),
                contentType: "application/json",
                url: CONF_BACK_SERVERURL + "/mvc/flow/saveFlowUserCount.do"
            }).catch((error)=> {
                console.error(error);
            });
        },
        handleJumpUrl(url){
            var myid = "guid" + this.guid();
            var tempArr = url.split("?");
            var returnStr = tempArr[0] + "?guid=" + myid;
            var urlValue = tempArr[1];
            var cacheUrlValue = null;
            var data = {
                paramUrl:urlValue,
                ftoken:$.cookie('ftoken')
            };
            if(window.globalLocalCache){
                cacheUrlValue = window.globalLocalCache.AddCache(myid,"","",data);
            }
            return returnStr;
        },
        S4() {
            return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
        },
        guid() {
            return (this.S4()+this.S4()+"-"+this.S4()+"-"+this.S4()+"-"+this.S4()+"-"+this.S4()+this.S4()+this.S4());
        },
        uuid(){
            var s = [];
            var hexDigits = "0123456789abcdef";
            for (var i = 0; i < 36; i++) {
                s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
            }
            s[14] = "4";
            s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
            s[8] = s[13] = s[18] = s[23] = "-";

            var uuid = s.join("");
            return uuid;
        },
        ajaxPromise(options) {
            return new Promise(function (resolve, reject) {
                if ( typeof options !== "object" ) {
                    return reject("参数错误!");
                }
                let _type = options.type || "POST";
                //'application/json'
                $.ajax({
                    type: _type,
                    url: options.url,
                    data: options.data,
                    dataType: options.dataType,
                    contentType: options.contentType,
                    headers: {"token":$.cookie('ftoken') },
                    success: function(result){
                        resolve(result);
                    },
                    error: function (error) {
                        reject(error);
                    }
                });
            })
        },
    //    详情
        jumpdetailPage(data) {
            var taskid = data.TASKID;
            var detailType = data.detailType;
            var projectid = data.PROJECTID;
            var flowInstanceId =data.INSTANCEID;
            var titleEncode = encodeURI(encodeURI(data.PROJECTNAME));
            var stats = 'projecting';
            var projecttype = data.FLOWNAME;
            var PROJECTSTATUS = encodeURI(encodeURI(data.PROJECTSTATUS));
            var FLOWREVISIONID = data.FLOWREVISIONID;
            var projectcode = data.PROJECTCODE;
            var flowItemTypeKvStr = data.FLOWITEMTYPE?"&flowItemTypeId=" + data.FLOWITEMTYPE:"";
            var version = data.FLOWVERSION;
            var layerid="";
            var coverage="";
            var url = CONF_FRONT_SERVERURL
                + 'view/projecttask/detailproject.jsp?projectid=' + projectid + "&referer=''&stats="
                + stats +"&projectcode="+projectcode+"&taskId=" + taskid + "&flowInstanceId=" + flowInstanceId+'&titleEncode='
                + titleEncode + "&projectStatus=" + PROJECTSTATUS+"&flowRevisionId="+FLOWREVISIONID+flowItemTypeKvStr+"&FLOWVERSION="+version+"&detailType="+detailType;

            detailPage = window.open(this.handleJumpUrl(url));
            parent.saveOpenNew?parent.saveOpenNew(detailPage):sreachparent(opener,"saveOpenNew",detailPage);
        },
        openApproveDetail(data) {
            var type = this.params.rwListIndex;
            if(type == "项目管理") data.stats = "Manage";
            else if(type == "项目查询") data.stats = "search" ;
            else if(type == "待办项目") data.stats = "projecting";
            else if(type == "已办项目") data.stats = "dealedproject";
            // create by zys start
            else if(type == 0) data.stats = "projecting"; // 待办
            else if(type == 1) data.stats = "dealedproject"; // 已办
            this.jumpdetailPage(data);
        }
    }
})