Number.prototype.toFixed=function(p){
var a = Math.pow(10, p);
// 如果是正数+0.5|负数-0.5
const b = this >= 0 ? 0.5 : -0.5;
var c = this * a + b;
c = parseInt(c, 10) / a;
return c;
}
function xlog(p){
console.log('---------Myxlog---------')
console.log(typeof(p) + '->:' + p);
}
function IsRepeat(arr) {
var hash = {};
for (var i in arr) {
if (hash[arr[i]]) return true;
hash[arr[i]] = true;
}
return false;
}
function FindRepeat(arr) {
var sortarr = arr.slice().sort();
var ret = [];
for (var i = 0; i < sortarr.length - 1; i++) {
if (sortarr[i + 1] == sortarr[i]) {
ret.push(sortarr[i]);
}
}
return ret;
}
// 数组去重
function Unique(arr) {
for(var i = 0; i < arr.length-1; i++){
for(var j = i+1; j < arr.length; j++){
if(arr[i]===arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr;
}
function GetFieldInfo(p){
var finfo = WfForm.getFieldInfo(p.replace('field',''));
return finfo;
}
/*
*获取节点名称(上)
*/
function GetNodeName(){
var gs = WfForm.getGlobalStore();
if(!Object.is(gs.commonParam, null)){
return gs.commonParam.nodename;
}else{
return null;
}
}
/*
*获取节点Id
*/
function GetNodeId(){
var gs = WfForm.getGlobalStore();
if(!Object.is(gs.commonParam, null)){
return gs.commonParam.nodeid;
}else{
return 0;
}
}
/*
*设置浏览对象值
*/
function SetObjVal(field, idval, nameval){
// console.log('修改:'+field+'\nid:'+id+'\nname:'+name);
WfForm.changeFieldValue(field, {
value: idval,
specialobj:[
{id:idval,name:nameval}
]
});
}
/*
*控制台打印浏览对象值
*/
function ShowObjVal(field){
let fv1 = mobx.toJS(WfForm.getFieldValueObj(field).specialobj);
if(null!=fv1){
if(fv1.length>0){
for(let i = 0; i < fv1.length; i++){
console.log('id:'+fv1[i]['id']+'\nname:'+fv1[i]['name']);
}
}else{
console.log(field+'对象长度异常');
}
}
}
/*
*设置字段值
*/
function SetVal(field, val){
WfForm.changeFieldValue(field, {value:val});
}
/*
*获取字段值
*/
function GetVal(field){
return WfForm.getFieldValue(field);
}
/*
*获取枚举显示值
*/
function GetEnumVal(field){
return WfForm.getSelectShowName(field);
}
/*
*获取对象显示值
*/
function GetObjVal(field){
return WfForm.getBrowserShowName(field);
}
/*
*SetAttr(改变字段显示属性1:只读、2:可编辑、3:必填、4:隐藏字段标签及内容、5:隐藏字段所在行)
*/
function SetAttr(field, attr){
WfForm.changeFieldAttr(field, attr);
}
/*
*SetValAndAttr(修改字段值和字段显示属性1:只读、2:可编辑、3:必填、4:隐藏字段标签及内容、5:隐藏字段所在行)
*/
function SetValAndAttr(field, val, attr){
WfForm.changeSingleField(field, {value:val}, {viewAttr:attr});
}
/*
*GetEtyIdx 获取明细表所有行标
*/
function GetEtyIdx(ety){
return WfForm.getDetailAllRowIndexStr('detail_'+ety).split(',').filter(x=>x);
}
/*
*DelEtyIdx 删除明细表指定行
*/
function DelEtyIdx(ety,rowIdx){
WfForm.delDetailRow('detail_'+ety, rowIdx);
}
/*
*DelEtyAll 删除明细表所有行(清空明细表)
*/
function DelEtyAll(ety){
WfForm.delDetailRow('detail_'+ety, "all");
}
/*
*获取登录人
*/
function GetLastName(){
var gs = WfForm.getGlobalStore();
if(!Object.is(gs.commonParam, null)){
return gs.commonParam.lastname;
}else{
return null;
}
}
/*
*获取登录人Id
*/
function GetLoginId(){
let binfo = WfForm.getBaseInfo();
if(!Object.is(binfo, null)){
return binfo.f_weaver_belongto_userid;
}else{
return null;
}
}
/*
* 获取Url参数
*/
function GetUrlPar(key) {
let url = decodeURI(window.location.href);
let paramMap = {};
let paramStr = url.split("?")[2];
if (paramStr != undefined && paramStr != "") {
let paramStrArr = paramStr.split("&");
for (let i = 0; i < paramStrArr.length; i++) {
let temp = paramStrArr[i];
let indexE = temp.indexOf("=");
let pKey = temp.substring(0, indexE);
let pVal = temp.substring(indexE + 1);
paramMap[pKey] = pVal;
}
}
return paramMap[key];
}
/*
*分组合并kev=>val |【arr.push({key:xx,val:xx})】
*/
function GroupMerge(arr) {
var rst = {};
arr.forEach((obj) => {
var k = obj['key'];
if (!rst[k]) {
rst[k] = 0;
}
rst[k] += obj.val;
});
return rst;
}
泛微E9前端常用代码(2次包装)