three-trees-ui 1.0.58 → 1.0.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/three-trees-ui.common.js +232 -3
- package/lib/three-trees-ui.umd.js +232 -3
- package/lib/three-trees-ui.umd.min.js +1 -1
- package/package.json +1 -1
- package/src/mixins/onlineSubtable.js +283 -0
- package/src/mixins/templatePreview.js +31 -54
- package/src/utils.js +32 -1
|
@@ -1249,7 +1249,7 @@ var utils = {
|
|
|
1249
1249
|
}
|
|
1250
1250
|
const keyPath = config[key];
|
|
1251
1251
|
// 获取当前组件所在的表单
|
|
1252
|
-
const formInst = utils.getOnlineFormInstance(inst
|
|
1252
|
+
const formInst = utils.getOnlineFormInstance(inst);
|
|
1253
1253
|
// 获取当前组件是否在子表中的某一行
|
|
1254
1254
|
const {
|
|
1255
1255
|
subScopeEl,
|
|
@@ -1527,6 +1527,37 @@ Date.prototype.format = function (format) {
|
|
|
1527
1527
|
}
|
|
1528
1528
|
return format;
|
|
1529
1529
|
};
|
|
1530
|
+
|
|
1531
|
+
//精确四舍五入
|
|
1532
|
+
Number.prototype.toFixedRound = function (d) {
|
|
1533
|
+
d = Number(d);
|
|
1534
|
+
var s = this + '';
|
|
1535
|
+
if (!d) d = 0;
|
|
1536
|
+
if (s.indexOf('.') == -1) s += '.';
|
|
1537
|
+
s += new Array(d + 1).join('0');
|
|
1538
|
+
if (new RegExp('^(-|\\+)?(\\d+(\\.\\d{0,' + (d + 1) + '})?)\\d*$').test(s)) {
|
|
1539
|
+
var s = '0' + RegExp.$2,
|
|
1540
|
+
pm = RegExp.$1,
|
|
1541
|
+
a = RegExp.$3.length,
|
|
1542
|
+
b = true;
|
|
1543
|
+
if (a == d + 2) {
|
|
1544
|
+
a = s.match(/\d/g);
|
|
1545
|
+
if (parseInt(a[a.length - 1]) > 4) {
|
|
1546
|
+
for (var i = a.length - 2; i >= 0; i--) {
|
|
1547
|
+
a[i] = parseInt(a[i]) + 1;
|
|
1548
|
+
if (a[i] == 10) {
|
|
1549
|
+
a[i] = 0;
|
|
1550
|
+
b = i != 1;
|
|
1551
|
+
} else break;
|
|
1552
|
+
}
|
|
1553
|
+
}
|
|
1554
|
+
s = a.join('').replace(new RegExp('(\\d+)(\\d{' + d + '})\\d$'), '$1.$2');
|
|
1555
|
+
}
|
|
1556
|
+
if (b) s = s.substr(1);
|
|
1557
|
+
return (pm + s).replace(/\.$/, '');
|
|
1558
|
+
}
|
|
1559
|
+
return this + '';
|
|
1560
|
+
};
|
|
1530
1561
|
/* harmony default export */ __webpack_exports__["a"] = (utils);
|
|
1531
1562
|
|
|
1532
1563
|
/***/ }),
|
|
@@ -12529,9 +12560,12 @@ var SubPagination = __webpack_require__("1639");
|
|
|
12529
12560
|
|
|
12530
12561
|
// CONCATENATED MODULE: ./src/mixins/onlineSubtable.js
|
|
12531
12562
|
|
|
12563
|
+
|
|
12532
12564
|
/* harmony default export */ var onlineSubtable = ({
|
|
12533
12565
|
data() {
|
|
12534
12566
|
return {
|
|
12567
|
+
searchVal: '',
|
|
12568
|
+
//搜索关键字
|
|
12535
12569
|
fillOrg: {},
|
|
12536
12570
|
fillOrgConfMap: {},
|
|
12537
12571
|
transitionIndex: -1,
|
|
@@ -12581,6 +12615,200 @@ var SubPagination = __webpack_require__("1639");
|
|
|
12581
12615
|
}
|
|
12582
12616
|
},
|
|
12583
12617
|
methods: {
|
|
12618
|
+
//合计计算
|
|
12619
|
+
getSummaries(param, list) {
|
|
12620
|
+
let CancelTheCalculation = sessionStorage.getItem('Cancel_The_Calculation') ? JSON.parse(sessionStorage.getItem('Cancel_The_Calculation')) : {};
|
|
12621
|
+
//
|
|
12622
|
+
let listChange = JSON.parse(Base64.decode(list, 'utf-8'));
|
|
12623
|
+
|
|
12624
|
+
//
|
|
12625
|
+
|
|
12626
|
+
if (listChange.length < 1) {
|
|
12627
|
+
return;
|
|
12628
|
+
}
|
|
12629
|
+
const {
|
|
12630
|
+
columns,
|
|
12631
|
+
data
|
|
12632
|
+
} = param;
|
|
12633
|
+
this.tableData = data;
|
|
12634
|
+
const sums = [];
|
|
12635
|
+
let calcProp = [];
|
|
12636
|
+
let columnsDep = _.cloneDeep(columns);
|
|
12637
|
+
listChange.forEach((item, idex) => {
|
|
12638
|
+
if (item.addFunc == 'calcFunc') {
|
|
12639
|
+
columnsDep.forEach((column, index) => {
|
|
12640
|
+
if (item.mathExp && item.mathExp.indexOf('.' + column.property) > -1) {
|
|
12641
|
+
calcProp.push(column.property);
|
|
12642
|
+
}
|
|
12643
|
+
});
|
|
12644
|
+
}
|
|
12645
|
+
columnsDep.forEach((column, index) => {
|
|
12646
|
+
if (item.columnField == column.property) {
|
|
12647
|
+
column.combinedOption = item;
|
|
12648
|
+
}
|
|
12649
|
+
});
|
|
12650
|
+
});
|
|
12651
|
+
columnsDep.forEach((column, index) => {
|
|
12652
|
+
if (index === 0 && columnsDep[0].type == 'index') {
|
|
12653
|
+
sums[index] = '';
|
|
12654
|
+
return;
|
|
12655
|
+
}
|
|
12656
|
+
//当有需要才合计
|
|
12657
|
+
if (column.combinedOption) {
|
|
12658
|
+
let {
|
|
12659
|
+
addFunc,
|
|
12660
|
+
columnField,
|
|
12661
|
+
name,
|
|
12662
|
+
unit,
|
|
12663
|
+
showType,
|
|
12664
|
+
num,
|
|
12665
|
+
tag,
|
|
12666
|
+
mainTarget
|
|
12667
|
+
} = column.combinedOption;
|
|
12668
|
+
let Bol = tag && CancelTheCalculation && CancelTheCalculation[tag] && CancelTheCalculation[tag].length > 0;
|
|
12669
|
+
const values = data.map(item => Number(item[column.property]));
|
|
12670
|
+
let depValues = _.cloneDeep(values);
|
|
12671
|
+
if (Bol) {
|
|
12672
|
+
let delMin = [];
|
|
12673
|
+
depValues.forEach((item, i) => {
|
|
12674
|
+
if (!CancelTheCalculation[tag].includes(i)) {
|
|
12675
|
+
delMin.push(item);
|
|
12676
|
+
}
|
|
12677
|
+
});
|
|
12678
|
+
depValues = delMin;
|
|
12679
|
+
}
|
|
12680
|
+
let units = unit ? unit : '';
|
|
12681
|
+
//求和
|
|
12682
|
+
if (addFunc === 'add') {
|
|
12683
|
+
if (!depValues.every(value => isNaN(value))) {
|
|
12684
|
+
sums[index] = depValues.reduce((prev, curr) => {
|
|
12685
|
+
const value = Number(curr);
|
|
12686
|
+
if (!isNaN(value)) {
|
|
12687
|
+
return prev + curr;
|
|
12688
|
+
} else {
|
|
12689
|
+
return prev;
|
|
12690
|
+
}
|
|
12691
|
+
}, 0);
|
|
12692
|
+
sums[index] = this.dealWithDataHtml(name, sums[index], showType, num, units, mainTarget);
|
|
12693
|
+
} else {
|
|
12694
|
+
sums[index] = this.dealWithDataHtml(name, 0, showType, num, units, mainTarget);
|
|
12695
|
+
}
|
|
12696
|
+
}
|
|
12697
|
+
//计数
|
|
12698
|
+
if (addFunc === 'count') {
|
|
12699
|
+
let numCount = values.length;
|
|
12700
|
+
if (Bol) {
|
|
12701
|
+
numCount = values.length - CancelTheCalculation[tag].length;
|
|
12702
|
+
}
|
|
12703
|
+
sums[index] = this.dealWithDataHtml(name, numCount, showType, num, units, mainTarget);
|
|
12704
|
+
}
|
|
12705
|
+
//平均值
|
|
12706
|
+
if (addFunc === 'average') {
|
|
12707
|
+
let sum = 0;
|
|
12708
|
+
var average = 0;
|
|
12709
|
+
for (var i = 0; i < depValues.length; i++) {
|
|
12710
|
+
sum += depValues[i];
|
|
12711
|
+
}
|
|
12712
|
+
depValues.length > 0 ? average = sum / depValues.length : average = 0;
|
|
12713
|
+
sums[index] = this.dealWithDataHtml(name, average, showType, num, units, mainTarget);
|
|
12714
|
+
}
|
|
12715
|
+
//最大值
|
|
12716
|
+
if (addFunc === 'max') {
|
|
12717
|
+
let maxNum = Math.max.apply(null, depValues.length > 0 ? depValues : [0]);
|
|
12718
|
+
sums[index] = this.dealWithDataHtml(name, maxNum, showType, num, units, mainTarget);
|
|
12719
|
+
}
|
|
12720
|
+
//最小值
|
|
12721
|
+
if (addFunc === 'min') {
|
|
12722
|
+
let minNum = Math.min.apply(null, depValues.length > 0 ? depValues : [0]);
|
|
12723
|
+
sums[index] = this.dealWithDataHtml(name, minNum, showType, num, units, mainTarget);
|
|
12724
|
+
}
|
|
12725
|
+
|
|
12726
|
+
//公式计算
|
|
12727
|
+
if (addFunc === 'calcFunc') {
|
|
12728
|
+
const calcVal = this.dealCustomCalc(data, column.combinedOption);
|
|
12729
|
+
sums[index] = this.dealWithDataHtml(name, calcVal, showType, num, units, mainTarget);
|
|
12730
|
+
}
|
|
12731
|
+
} else if (calcProp.indexOf(column.property) > -1) {
|
|
12732
|
+
const values = data.map(item => Number(item[column.property]));
|
|
12733
|
+
}
|
|
12734
|
+
});
|
|
12735
|
+
return sums;
|
|
12736
|
+
},
|
|
12737
|
+
//合计行
|
|
12738
|
+
handleSummary(summary) {
|
|
12739
|
+
return summary && !this.searchVal ? true : false;
|
|
12740
|
+
},
|
|
12741
|
+
dealWithDataHtml(name, type, showType, num, units, mainTarget) {
|
|
12742
|
+
let {
|
|
12743
|
+
data,
|
|
12744
|
+
monCap
|
|
12745
|
+
} = this.dealWithData(type, showType, num, mainTarget);
|
|
12746
|
+
if (monCap) {
|
|
12747
|
+
return name + ':' + data + units + '\n' + monCap;
|
|
12748
|
+
}
|
|
12749
|
+
return name + ':' + data + units;
|
|
12750
|
+
},
|
|
12751
|
+
//处理数据
|
|
12752
|
+
dealWithData(data, showType, numfix = 0, mainTarget) {
|
|
12753
|
+
data = Number(data);
|
|
12754
|
+
let list = showType;
|
|
12755
|
+
let num = {
|
|
12756
|
+
data: 0,
|
|
12757
|
+
monCap: ''
|
|
12758
|
+
};
|
|
12759
|
+
// 保留小数位
|
|
12760
|
+
if (list.includes('keepSmall')) {
|
|
12761
|
+
const fixData = data.toFixedRound(numfix);
|
|
12762
|
+
num.data = fixData;
|
|
12763
|
+
if (mainTarget) {
|
|
12764
|
+
mainTarget = !mainTarget.startsWith('data.') ? 'data.' + mainTarget : mainTarget;
|
|
12765
|
+
utils["a" /* default */].setValueByConfigKey(this, {
|
|
12766
|
+
trget: mainTarget
|
|
12767
|
+
}, 'trget', data);
|
|
12768
|
+
}
|
|
12769
|
+
} else {
|
|
12770
|
+
if (mainTarget && data != null) {
|
|
12771
|
+
mainTarget = !mainTarget.startsWith('data.') ? 'data.' + mainTarget : mainTarget;
|
|
12772
|
+
utils["a" /* default */].setValueByConfigKey(this, {
|
|
12773
|
+
trget: mainTarget
|
|
12774
|
+
}, 'trget', data.toFixedRound(4));
|
|
12775
|
+
}
|
|
12776
|
+
}
|
|
12777
|
+
|
|
12778
|
+
//百分比
|
|
12779
|
+
if (list.includes('percentage')) {
|
|
12780
|
+
num.data = Number(data * 100) + '%';
|
|
12781
|
+
}
|
|
12782
|
+
// 千分位
|
|
12783
|
+
if (list.includes('Micrometer')) {
|
|
12784
|
+
num.data = utils["a" /* default */].thousandBit(data);
|
|
12785
|
+
}
|
|
12786
|
+
if (list.includes('keepSmall') && list.includes('percentage') && list.includes('Micrometer')) {
|
|
12787
|
+
num.data = utils["a" /* default */].thousandBit(Number(data * 100).toFixedRound(numfix)) + '%';
|
|
12788
|
+
return num;
|
|
12789
|
+
}
|
|
12790
|
+
if (list.includes('keepSmall') && list.includes('percentage')) {
|
|
12791
|
+
num.data = Number(data * 100).toFixedRound(numfix) + '%';
|
|
12792
|
+
return num;
|
|
12793
|
+
}
|
|
12794
|
+
if (list.includes('Micrometer') && list.includes('percentage')) {
|
|
12795
|
+
num.data = utils["a" /* default */].thousandBit(Number(data * 100)) + '%';
|
|
12796
|
+
return num;
|
|
12797
|
+
}
|
|
12798
|
+
if (list.includes('keepSmall') && list.includes('Micrometer')) {
|
|
12799
|
+
num.data = utils["a" /* default */].thousandBit(data.toFixedRound(numfix));
|
|
12800
|
+
}
|
|
12801
|
+
|
|
12802
|
+
// 货币大写
|
|
12803
|
+
if (list.includes('monCap')) {
|
|
12804
|
+
num = {
|
|
12805
|
+
data: data,
|
|
12806
|
+
monCap: utils["a" /* default */].convertCurrency(data)
|
|
12807
|
+
};
|
|
12808
|
+
return num;
|
|
12809
|
+
}
|
|
12810
|
+
return num;
|
|
12811
|
+
},
|
|
12584
12812
|
getExpandArr(data, type) {
|
|
12585
12813
|
if (type === 'expand' && data) {
|
|
12586
12814
|
let arr = [];
|
|
@@ -33461,7 +33689,7 @@ _main_vue__WEBPACK_IMPORTED_MODULE_0__["default"].register({
|
|
|
33461
33689
|
/***/ "9224":
|
|
33462
33690
|
/***/ (function(module) {
|
|
33463
33691
|
|
|
33464
|
-
module.exports = JSON.parse("{\"a\":\"1.0.
|
|
33692
|
+
module.exports = JSON.parse("{\"a\":\"1.0.59\"}");
|
|
33465
33693
|
|
|
33466
33694
|
/***/ }),
|
|
33467
33695
|
|
|
@@ -54694,7 +54922,8 @@ const req = function (url, data = {}, option = {}) {
|
|
|
54694
54922
|
this.printDetail(parameter.templateId, parameter.id, parameter.action);
|
|
54695
54923
|
} else if (btnAlias == 'sub' && this.checkSelect()) {
|
|
54696
54924
|
this.showSubList(this.tableData.selectRows[0].id_, parameter);
|
|
54697
|
-
} else if (btnAlias == 'js'
|
|
54925
|
+
} else if (btnAlias == 'js') {
|
|
54926
|
+
if (parameter.needValidateSelect && !this.checkSelect()) return;
|
|
54698
54927
|
this.customEvilJS(this.tableData.selectRows[0], parameter.jsValue);
|
|
54699
54928
|
} else if (btnAlias == 'startFlow' && parameter.defId && !parameter.isStartFlow) {
|
|
54700
54929
|
this.operating(parameter.templateId, parameter.id, parameter.action, parameter.defId, parameter.isStartFlow, parameter.openType, parameter.quitAfterSaving);
|
|
@@ -1258,7 +1258,7 @@ var utils = {
|
|
|
1258
1258
|
}
|
|
1259
1259
|
const keyPath = config[key];
|
|
1260
1260
|
// 获取当前组件所在的表单
|
|
1261
|
-
const formInst = utils.getOnlineFormInstance(inst
|
|
1261
|
+
const formInst = utils.getOnlineFormInstance(inst);
|
|
1262
1262
|
// 获取当前组件是否在子表中的某一行
|
|
1263
1263
|
const {
|
|
1264
1264
|
subScopeEl,
|
|
@@ -1536,6 +1536,37 @@ Date.prototype.format = function (format) {
|
|
|
1536
1536
|
}
|
|
1537
1537
|
return format;
|
|
1538
1538
|
};
|
|
1539
|
+
|
|
1540
|
+
//精确四舍五入
|
|
1541
|
+
Number.prototype.toFixedRound = function (d) {
|
|
1542
|
+
d = Number(d);
|
|
1543
|
+
var s = this + '';
|
|
1544
|
+
if (!d) d = 0;
|
|
1545
|
+
if (s.indexOf('.') == -1) s += '.';
|
|
1546
|
+
s += new Array(d + 1).join('0');
|
|
1547
|
+
if (new RegExp('^(-|\\+)?(\\d+(\\.\\d{0,' + (d + 1) + '})?)\\d*$').test(s)) {
|
|
1548
|
+
var s = '0' + RegExp.$2,
|
|
1549
|
+
pm = RegExp.$1,
|
|
1550
|
+
a = RegExp.$3.length,
|
|
1551
|
+
b = true;
|
|
1552
|
+
if (a == d + 2) {
|
|
1553
|
+
a = s.match(/\d/g);
|
|
1554
|
+
if (parseInt(a[a.length - 1]) > 4) {
|
|
1555
|
+
for (var i = a.length - 2; i >= 0; i--) {
|
|
1556
|
+
a[i] = parseInt(a[i]) + 1;
|
|
1557
|
+
if (a[i] == 10) {
|
|
1558
|
+
a[i] = 0;
|
|
1559
|
+
b = i != 1;
|
|
1560
|
+
} else break;
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
s = a.join('').replace(new RegExp('(\\d+)(\\d{' + d + '})\\d$'), '$1.$2');
|
|
1564
|
+
}
|
|
1565
|
+
if (b) s = s.substr(1);
|
|
1566
|
+
return (pm + s).replace(/\.$/, '');
|
|
1567
|
+
}
|
|
1568
|
+
return this + '';
|
|
1569
|
+
};
|
|
1539
1570
|
/* harmony default export */ __webpack_exports__["a"] = (utils);
|
|
1540
1571
|
|
|
1541
1572
|
/***/ }),
|
|
@@ -12538,9 +12569,12 @@ var SubPagination = __webpack_require__("1639");
|
|
|
12538
12569
|
|
|
12539
12570
|
// CONCATENATED MODULE: ./src/mixins/onlineSubtable.js
|
|
12540
12571
|
|
|
12572
|
+
|
|
12541
12573
|
/* harmony default export */ var onlineSubtable = ({
|
|
12542
12574
|
data() {
|
|
12543
12575
|
return {
|
|
12576
|
+
searchVal: '',
|
|
12577
|
+
//搜索关键字
|
|
12544
12578
|
fillOrg: {},
|
|
12545
12579
|
fillOrgConfMap: {},
|
|
12546
12580
|
transitionIndex: -1,
|
|
@@ -12590,6 +12624,200 @@ var SubPagination = __webpack_require__("1639");
|
|
|
12590
12624
|
}
|
|
12591
12625
|
},
|
|
12592
12626
|
methods: {
|
|
12627
|
+
//合计计算
|
|
12628
|
+
getSummaries(param, list) {
|
|
12629
|
+
let CancelTheCalculation = sessionStorage.getItem('Cancel_The_Calculation') ? JSON.parse(sessionStorage.getItem('Cancel_The_Calculation')) : {};
|
|
12630
|
+
//
|
|
12631
|
+
let listChange = JSON.parse(Base64.decode(list, 'utf-8'));
|
|
12632
|
+
|
|
12633
|
+
//
|
|
12634
|
+
|
|
12635
|
+
if (listChange.length < 1) {
|
|
12636
|
+
return;
|
|
12637
|
+
}
|
|
12638
|
+
const {
|
|
12639
|
+
columns,
|
|
12640
|
+
data
|
|
12641
|
+
} = param;
|
|
12642
|
+
this.tableData = data;
|
|
12643
|
+
const sums = [];
|
|
12644
|
+
let calcProp = [];
|
|
12645
|
+
let columnsDep = _.cloneDeep(columns);
|
|
12646
|
+
listChange.forEach((item, idex) => {
|
|
12647
|
+
if (item.addFunc == 'calcFunc') {
|
|
12648
|
+
columnsDep.forEach((column, index) => {
|
|
12649
|
+
if (item.mathExp && item.mathExp.indexOf('.' + column.property) > -1) {
|
|
12650
|
+
calcProp.push(column.property);
|
|
12651
|
+
}
|
|
12652
|
+
});
|
|
12653
|
+
}
|
|
12654
|
+
columnsDep.forEach((column, index) => {
|
|
12655
|
+
if (item.columnField == column.property) {
|
|
12656
|
+
column.combinedOption = item;
|
|
12657
|
+
}
|
|
12658
|
+
});
|
|
12659
|
+
});
|
|
12660
|
+
columnsDep.forEach((column, index) => {
|
|
12661
|
+
if (index === 0 && columnsDep[0].type == 'index') {
|
|
12662
|
+
sums[index] = '';
|
|
12663
|
+
return;
|
|
12664
|
+
}
|
|
12665
|
+
//当有需要才合计
|
|
12666
|
+
if (column.combinedOption) {
|
|
12667
|
+
let {
|
|
12668
|
+
addFunc,
|
|
12669
|
+
columnField,
|
|
12670
|
+
name,
|
|
12671
|
+
unit,
|
|
12672
|
+
showType,
|
|
12673
|
+
num,
|
|
12674
|
+
tag,
|
|
12675
|
+
mainTarget
|
|
12676
|
+
} = column.combinedOption;
|
|
12677
|
+
let Bol = tag && CancelTheCalculation && CancelTheCalculation[tag] && CancelTheCalculation[tag].length > 0;
|
|
12678
|
+
const values = data.map(item => Number(item[column.property]));
|
|
12679
|
+
let depValues = _.cloneDeep(values);
|
|
12680
|
+
if (Bol) {
|
|
12681
|
+
let delMin = [];
|
|
12682
|
+
depValues.forEach((item, i) => {
|
|
12683
|
+
if (!CancelTheCalculation[tag].includes(i)) {
|
|
12684
|
+
delMin.push(item);
|
|
12685
|
+
}
|
|
12686
|
+
});
|
|
12687
|
+
depValues = delMin;
|
|
12688
|
+
}
|
|
12689
|
+
let units = unit ? unit : '';
|
|
12690
|
+
//求和
|
|
12691
|
+
if (addFunc === 'add') {
|
|
12692
|
+
if (!depValues.every(value => isNaN(value))) {
|
|
12693
|
+
sums[index] = depValues.reduce((prev, curr) => {
|
|
12694
|
+
const value = Number(curr);
|
|
12695
|
+
if (!isNaN(value)) {
|
|
12696
|
+
return prev + curr;
|
|
12697
|
+
} else {
|
|
12698
|
+
return prev;
|
|
12699
|
+
}
|
|
12700
|
+
}, 0);
|
|
12701
|
+
sums[index] = this.dealWithDataHtml(name, sums[index], showType, num, units, mainTarget);
|
|
12702
|
+
} else {
|
|
12703
|
+
sums[index] = this.dealWithDataHtml(name, 0, showType, num, units, mainTarget);
|
|
12704
|
+
}
|
|
12705
|
+
}
|
|
12706
|
+
//计数
|
|
12707
|
+
if (addFunc === 'count') {
|
|
12708
|
+
let numCount = values.length;
|
|
12709
|
+
if (Bol) {
|
|
12710
|
+
numCount = values.length - CancelTheCalculation[tag].length;
|
|
12711
|
+
}
|
|
12712
|
+
sums[index] = this.dealWithDataHtml(name, numCount, showType, num, units, mainTarget);
|
|
12713
|
+
}
|
|
12714
|
+
//平均值
|
|
12715
|
+
if (addFunc === 'average') {
|
|
12716
|
+
let sum = 0;
|
|
12717
|
+
var average = 0;
|
|
12718
|
+
for (var i = 0; i < depValues.length; i++) {
|
|
12719
|
+
sum += depValues[i];
|
|
12720
|
+
}
|
|
12721
|
+
depValues.length > 0 ? average = sum / depValues.length : average = 0;
|
|
12722
|
+
sums[index] = this.dealWithDataHtml(name, average, showType, num, units, mainTarget);
|
|
12723
|
+
}
|
|
12724
|
+
//最大值
|
|
12725
|
+
if (addFunc === 'max') {
|
|
12726
|
+
let maxNum = Math.max.apply(null, depValues.length > 0 ? depValues : [0]);
|
|
12727
|
+
sums[index] = this.dealWithDataHtml(name, maxNum, showType, num, units, mainTarget);
|
|
12728
|
+
}
|
|
12729
|
+
//最小值
|
|
12730
|
+
if (addFunc === 'min') {
|
|
12731
|
+
let minNum = Math.min.apply(null, depValues.length > 0 ? depValues : [0]);
|
|
12732
|
+
sums[index] = this.dealWithDataHtml(name, minNum, showType, num, units, mainTarget);
|
|
12733
|
+
}
|
|
12734
|
+
|
|
12735
|
+
//公式计算
|
|
12736
|
+
if (addFunc === 'calcFunc') {
|
|
12737
|
+
const calcVal = this.dealCustomCalc(data, column.combinedOption);
|
|
12738
|
+
sums[index] = this.dealWithDataHtml(name, calcVal, showType, num, units, mainTarget);
|
|
12739
|
+
}
|
|
12740
|
+
} else if (calcProp.indexOf(column.property) > -1) {
|
|
12741
|
+
const values = data.map(item => Number(item[column.property]));
|
|
12742
|
+
}
|
|
12743
|
+
});
|
|
12744
|
+
return sums;
|
|
12745
|
+
},
|
|
12746
|
+
//合计行
|
|
12747
|
+
handleSummary(summary) {
|
|
12748
|
+
return summary && !this.searchVal ? true : false;
|
|
12749
|
+
},
|
|
12750
|
+
dealWithDataHtml(name, type, showType, num, units, mainTarget) {
|
|
12751
|
+
let {
|
|
12752
|
+
data,
|
|
12753
|
+
monCap
|
|
12754
|
+
} = this.dealWithData(type, showType, num, mainTarget);
|
|
12755
|
+
if (monCap) {
|
|
12756
|
+
return name + ':' + data + units + '\n' + monCap;
|
|
12757
|
+
}
|
|
12758
|
+
return name + ':' + data + units;
|
|
12759
|
+
},
|
|
12760
|
+
//处理数据
|
|
12761
|
+
dealWithData(data, showType, numfix = 0, mainTarget) {
|
|
12762
|
+
data = Number(data);
|
|
12763
|
+
let list = showType;
|
|
12764
|
+
let num = {
|
|
12765
|
+
data: 0,
|
|
12766
|
+
monCap: ''
|
|
12767
|
+
};
|
|
12768
|
+
// 保留小数位
|
|
12769
|
+
if (list.includes('keepSmall')) {
|
|
12770
|
+
const fixData = data.toFixedRound(numfix);
|
|
12771
|
+
num.data = fixData;
|
|
12772
|
+
if (mainTarget) {
|
|
12773
|
+
mainTarget = !mainTarget.startsWith('data.') ? 'data.' + mainTarget : mainTarget;
|
|
12774
|
+
utils["a" /* default */].setValueByConfigKey(this, {
|
|
12775
|
+
trget: mainTarget
|
|
12776
|
+
}, 'trget', data);
|
|
12777
|
+
}
|
|
12778
|
+
} else {
|
|
12779
|
+
if (mainTarget && data != null) {
|
|
12780
|
+
mainTarget = !mainTarget.startsWith('data.') ? 'data.' + mainTarget : mainTarget;
|
|
12781
|
+
utils["a" /* default */].setValueByConfigKey(this, {
|
|
12782
|
+
trget: mainTarget
|
|
12783
|
+
}, 'trget', data.toFixedRound(4));
|
|
12784
|
+
}
|
|
12785
|
+
}
|
|
12786
|
+
|
|
12787
|
+
//百分比
|
|
12788
|
+
if (list.includes('percentage')) {
|
|
12789
|
+
num.data = Number(data * 100) + '%';
|
|
12790
|
+
}
|
|
12791
|
+
// 千分位
|
|
12792
|
+
if (list.includes('Micrometer')) {
|
|
12793
|
+
num.data = utils["a" /* default */].thousandBit(data);
|
|
12794
|
+
}
|
|
12795
|
+
if (list.includes('keepSmall') && list.includes('percentage') && list.includes('Micrometer')) {
|
|
12796
|
+
num.data = utils["a" /* default */].thousandBit(Number(data * 100).toFixedRound(numfix)) + '%';
|
|
12797
|
+
return num;
|
|
12798
|
+
}
|
|
12799
|
+
if (list.includes('keepSmall') && list.includes('percentage')) {
|
|
12800
|
+
num.data = Number(data * 100).toFixedRound(numfix) + '%';
|
|
12801
|
+
return num;
|
|
12802
|
+
}
|
|
12803
|
+
if (list.includes('Micrometer') && list.includes('percentage')) {
|
|
12804
|
+
num.data = utils["a" /* default */].thousandBit(Number(data * 100)) + '%';
|
|
12805
|
+
return num;
|
|
12806
|
+
}
|
|
12807
|
+
if (list.includes('keepSmall') && list.includes('Micrometer')) {
|
|
12808
|
+
num.data = utils["a" /* default */].thousandBit(data.toFixedRound(numfix));
|
|
12809
|
+
}
|
|
12810
|
+
|
|
12811
|
+
// 货币大写
|
|
12812
|
+
if (list.includes('monCap')) {
|
|
12813
|
+
num = {
|
|
12814
|
+
data: data,
|
|
12815
|
+
monCap: utils["a" /* default */].convertCurrency(data)
|
|
12816
|
+
};
|
|
12817
|
+
return num;
|
|
12818
|
+
}
|
|
12819
|
+
return num;
|
|
12820
|
+
},
|
|
12593
12821
|
getExpandArr(data, type) {
|
|
12594
12822
|
if (type === 'expand' && data) {
|
|
12595
12823
|
let arr = [];
|
|
@@ -33470,7 +33698,7 @@ _main_vue__WEBPACK_IMPORTED_MODULE_0__["default"].register({
|
|
|
33470
33698
|
/***/ "9224":
|
|
33471
33699
|
/***/ (function(module) {
|
|
33472
33700
|
|
|
33473
|
-
module.exports = JSON.parse("{\"a\":\"1.0.
|
|
33701
|
+
module.exports = JSON.parse("{\"a\":\"1.0.59\"}");
|
|
33474
33702
|
|
|
33475
33703
|
/***/ }),
|
|
33476
33704
|
|
|
@@ -54703,7 +54931,8 @@ const req = function (url, data = {}, option = {}) {
|
|
|
54703
54931
|
this.printDetail(parameter.templateId, parameter.id, parameter.action);
|
|
54704
54932
|
} else if (btnAlias == 'sub' && this.checkSelect()) {
|
|
54705
54933
|
this.showSubList(this.tableData.selectRows[0].id_, parameter);
|
|
54706
|
-
} else if (btnAlias == 'js'
|
|
54934
|
+
} else if (btnAlias == 'js') {
|
|
54935
|
+
if (parameter.needValidateSelect && !this.checkSelect()) return;
|
|
54707
54936
|
this.customEvilJS(this.tableData.selectRows[0], parameter.jsValue);
|
|
54708
54937
|
} else if (btnAlias == 'startFlow' && parameter.defId && !parameter.isStartFlow) {
|
|
54709
54938
|
this.operating(parameter.templateId, parameter.id, parameter.action, parameter.defId, parameter.isStartFlow, parameter.openType, parameter.quitAfterSaving);
|