three-trees-ui 1.0.72 → 1.0.73
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 +15770 -17046
- package/lib/three-trees-ui.css +1 -1
- package/lib/three-trees-ui.umd.js +15770 -17046
- package/lib/three-trees-ui.umd.min.js +1 -1
- package/package.json +1 -1
- package/packages/CustomDialog/src/customDialog.vue +12 -74
- package/packages/DataLists/src/main.vue +3 -2
- package/packages/Global/src/GlobalQuery.vue +5 -5
- package/packages/QuerySqlPreview/src/QuerySqlPreview.vue +1 -43
- package/packages/Subtable/src/SubExportDialog.vue +1 -92
- package/packages/Subtable/src/SubImportDialog.vue +8 -171
- package/packages/TableSearchField/src/main.vue +0 -5
- package/packages/TemplatePreview/src/TemplatePreview.vue +0 -43
- package/src/directive/formulas.js +1 -1
- package/src/mixins/onlineSubtable.js +0 -301
- package/src/mixins/querySqlPreview.js +32 -354
- package/src/mixins/templatePreview.js +42 -525
- package/src/services/SubPagination.js +1 -40
- package/src/utils.js +1 -32
|
@@ -10,7 +10,6 @@ const axios = require('axios')
|
|
|
10
10
|
const { saveAs } = require('file-saver')
|
|
11
11
|
import _ from 'lodash'
|
|
12
12
|
import { decode } from '@/util/base64'
|
|
13
|
-
import moment from 'moment'
|
|
14
13
|
|
|
15
14
|
const req = function(url, data = {}, option = {}) {
|
|
16
15
|
const requestData = {
|
|
@@ -42,7 +41,6 @@ export default {
|
|
|
42
41
|
},
|
|
43
42
|
data() {
|
|
44
43
|
return {
|
|
45
|
-
defaultQuerys: [],
|
|
46
44
|
treeQuerys: [],
|
|
47
45
|
alias_new: 'statement',
|
|
48
46
|
loading: false,
|
|
@@ -61,8 +59,6 @@ export default {
|
|
|
61
59
|
displayFields: [],
|
|
62
60
|
exportSellection: [],
|
|
63
61
|
searchForm: {},
|
|
64
|
-
bindKey: {},
|
|
65
|
-
bindValue: {},
|
|
66
62
|
queryForm: {
|
|
67
63
|
queryData: '',
|
|
68
64
|
},
|
|
@@ -116,9 +112,7 @@ export default {
|
|
|
116
112
|
pageSize: 10,
|
|
117
113
|
total: 1,
|
|
118
114
|
},
|
|
119
|
-
lastPage: 1, //上一次输入的分页数、默认为1
|
|
120
115
|
paginationLayout: 'total, sizes, prev, pager, next, jumper',
|
|
121
|
-
paginationLayoutWithoutTotal: 'sizes, prev, pager, next, jumper',
|
|
122
116
|
total: 0,
|
|
123
117
|
permission: {
|
|
124
118
|
print: true,
|
|
@@ -228,45 +222,6 @@ export default {
|
|
|
228
222
|
: 0.85 * window.innerHeight,
|
|
229
223
|
needRequestTotal: false, // 需不需要后端统计列表全部数据
|
|
230
224
|
tableDataTotal: {},
|
|
231
|
-
loadingTotal: false, // 统计按钮加载中
|
|
232
|
-
pageSizeArray: [
|
|
233
|
-
{
|
|
234
|
-
label: '10条/页',
|
|
235
|
-
value: 10,
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
label: '20条/页',
|
|
239
|
-
value: 20,
|
|
240
|
-
},
|
|
241
|
-
{
|
|
242
|
-
label: '30条/页',
|
|
243
|
-
value: 30,
|
|
244
|
-
},
|
|
245
|
-
{
|
|
246
|
-
label: '40条/页',
|
|
247
|
-
value: 40,
|
|
248
|
-
},
|
|
249
|
-
{
|
|
250
|
-
label: '50条/页',
|
|
251
|
-
value: 50,
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
label: '100条/页',
|
|
255
|
-
value: 100,
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
label: '200条/页',
|
|
259
|
-
value: 200,
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
label: '300条/页',
|
|
263
|
-
value: 300,
|
|
264
|
-
},
|
|
265
|
-
{
|
|
266
|
-
label: '500条/页',
|
|
267
|
-
value: 500,
|
|
268
|
-
},
|
|
269
|
-
],
|
|
270
225
|
}
|
|
271
226
|
},
|
|
272
227
|
watch: {
|
|
@@ -307,7 +262,7 @@ export default {
|
|
|
307
262
|
immediate: true,
|
|
308
263
|
},
|
|
309
264
|
templateInfo: {
|
|
310
|
-
handler:
|
|
265
|
+
handler: function(newVal) {
|
|
311
266
|
if (newVal && newVal.id) {
|
|
312
267
|
let _me = this
|
|
313
268
|
_me.templateInfo = newVal
|
|
@@ -380,7 +335,7 @@ export default {
|
|
|
380
335
|
)
|
|
381
336
|
params.pagination.querys = querys
|
|
382
337
|
}
|
|
383
|
-
let defaultQuery =
|
|
338
|
+
let defaultQuery = this.buildDefaultQuerys()
|
|
384
339
|
if (defaultQuery.length > 0) {
|
|
385
340
|
if (params.pagination.querys) {
|
|
386
341
|
params.pagination.querys.concat(defaultQuery)
|
|
@@ -531,31 +486,11 @@ export default {
|
|
|
531
486
|
this_.calcScriptBtnPermission()
|
|
532
487
|
})
|
|
533
488
|
this.$emit('afterMounted')
|
|
534
|
-
if (this.templateInfo.jsScript) {
|
|
535
|
-
// 执行js脚本
|
|
536
|
-
this.handleDiyScript(this.templateInfo.jsScript)
|
|
537
|
-
}
|
|
538
489
|
// setTimeout(() => {
|
|
539
490
|
// this.$refs.multipleTemplateTable.handleFilterChange(this.filterMap)
|
|
540
491
|
// }, 100)
|
|
541
492
|
},
|
|
542
493
|
methods: {
|
|
543
|
-
handleDiyScript(scriptValue) {
|
|
544
|
-
//执行前置脚本内容
|
|
545
|
-
const _this = this
|
|
546
|
-
// 用户信息
|
|
547
|
-
const account = this.$requestConfig.getAccount()
|
|
548
|
-
const userId = this.$requestConfig.getUserId()
|
|
549
|
-
const userName = this.$requestConfig.getUsername()
|
|
550
|
-
const preScript = `const scriptFunction = function(_this, account, userId, userName){
|
|
551
|
-
${scriptValue}
|
|
552
|
-
};`
|
|
553
|
-
try {
|
|
554
|
-
eval(`${preScript}scriptFunction(_this, account, userId, userName);`)
|
|
555
|
-
} catch (err) {
|
|
556
|
-
this.$message.error(`脚本事件执行错误:${err}`)
|
|
557
|
-
}
|
|
558
|
-
},
|
|
559
494
|
//因为row.id_ 或row.id可能会有重复,所以加随机值使其唯一
|
|
560
495
|
getRowKey(row) {
|
|
561
496
|
/** 检查row.id是否有重复的缓存对象 */
|
|
@@ -1407,10 +1342,8 @@ export default {
|
|
|
1407
1342
|
}
|
|
1408
1343
|
for (let x = 0; x < display.length; x++) {
|
|
1409
1344
|
let item = JSON.parse(display[x])
|
|
1410
|
-
if (this.rows[index][item.name]
|
|
1411
|
-
|
|
1412
|
-
this.rows[index][item.name] || this.rows[index][item.fieldsAlias]
|
|
1413
|
-
this.QRCodeDesc.push(`${item.desc}:${qrCode}`)
|
|
1345
|
+
if (this.rows[index][item.name]) {
|
|
1346
|
+
this.QRCodeDesc.push(item.desc + ':' + this.rows[index][item.name])
|
|
1414
1347
|
}
|
|
1415
1348
|
}
|
|
1416
1349
|
this.mobileFormAlias = mobileFormAlias
|
|
@@ -1426,8 +1359,8 @@ export default {
|
|
|
1426
1359
|
this.$refs.multipleTemplateTable.handleFilterChange()
|
|
1427
1360
|
},
|
|
1428
1361
|
handleCurrentChange: function(currentPage) {
|
|
1429
|
-
|
|
1430
|
-
this.pagination.page = currentPage
|
|
1362
|
+
//点击第几页
|
|
1363
|
+
this.pagination.page = currentPage
|
|
1431
1364
|
this.$refs.multipleTemplateTable.handleFilterChange()
|
|
1432
1365
|
},
|
|
1433
1366
|
getParam(str) {
|
|
@@ -1475,190 +1408,7 @@ export default {
|
|
|
1475
1408
|
return params
|
|
1476
1409
|
},
|
|
1477
1410
|
//列表数据查询入口
|
|
1478
|
-
|
|
1479
|
-
// 不需要请求后端接口统计列表数据
|
|
1480
|
-
this.needRequestTotal = needRequestTotal
|
|
1481
|
-
// 如果是高级查询,页码重置为首页
|
|
1482
|
-
if (isSearchBtn) {
|
|
1483
|
-
this.pagination.page = 1
|
|
1484
|
-
}
|
|
1485
|
-
let params = {}
|
|
1486
|
-
//判断为合并查询还是高级查询
|
|
1487
|
-
let showAdvancedSearch = this.$refs.multipleTemplateTable
|
|
1488
|
-
? this.$refs.multipleTemplateTable.showAdvancedSearch
|
|
1489
|
-
: false
|
|
1490
|
-
//高级查询
|
|
1491
|
-
if (showAdvancedSearch) {
|
|
1492
|
-
params = this.getQueryFilter()
|
|
1493
|
-
} else {
|
|
1494
|
-
//合并查询
|
|
1495
|
-
// 快速查询时,需处理添加快速查询字段前缀
|
|
1496
|
-
param = this.handleQuickParams(param)
|
|
1497
|
-
params = this.getConditionQuery(param)
|
|
1498
|
-
}
|
|
1499
|
-
this.templateSearchQuery =
|
|
1500
|
-
(params.pagination && params.pagination.querys) || []
|
|
1501
|
-
if (!params.pagination) {
|
|
1502
|
-
params.pagination = {}
|
|
1503
|
-
}
|
|
1504
|
-
if (!params.pagination.querys) {
|
|
1505
|
-
params.pagination.querys = []
|
|
1506
|
-
}
|
|
1507
|
-
//处理排序字段
|
|
1508
|
-
if (param && param.sorter && param.sorter.length > 0) {
|
|
1509
|
-
let sortField = JSON.parse(this.templateInfo.sortField)
|
|
1510
|
-
params.pagination = params.pagination || {}
|
|
1511
|
-
params.pagination.sorter = []
|
|
1512
|
-
param.sorter.forEach((s) => {
|
|
1513
|
-
let prefix = this.getColPreFix(sortField, s.property)
|
|
1514
|
-
let queryPre = this.getQueryPre(sortField, s.property)
|
|
1515
|
-
// 关联表时需特殊处理
|
|
1516
|
-
let relevancyProperty = this.getRelevancyProperty(
|
|
1517
|
-
sortField,
|
|
1518
|
-
s.property
|
|
1519
|
-
)
|
|
1520
|
-
if (relevancyProperty) {
|
|
1521
|
-
s.property = relevancyProperty
|
|
1522
|
-
}
|
|
1523
|
-
params.pagination.sorter.push({
|
|
1524
|
-
property: queryPre + prefix + s.property,
|
|
1525
|
-
direction: s.direction,
|
|
1526
|
-
})
|
|
1527
|
-
})
|
|
1528
|
-
} else if (this.templateInfo.sortField) {
|
|
1529
|
-
let sortField = JSON.parse(this.templateInfo.sortField)
|
|
1530
|
-
let sorter = []
|
|
1531
|
-
for (let x = 0; x < sortField.length; x++) {
|
|
1532
|
-
const s = sortField[x]
|
|
1533
|
-
// 默认排序字段的排序方向为空或者不为指定值时放弃
|
|
1534
|
-
if (!s.sort || (s.sort != 'ASC' && s.sort != 'DESC')) {
|
|
1535
|
-
continue
|
|
1536
|
-
}
|
|
1537
|
-
let prefix = this.getColPreFix(sortField, s.name)
|
|
1538
|
-
let queryPre = this.getQueryPre(sortField, s.name)
|
|
1539
|
-
if (!queryPre) {
|
|
1540
|
-
if (s.joinTableField && s.tableName) {
|
|
1541
|
-
prefix = `${s.tableName}.${prefix}`
|
|
1542
|
-
} else {
|
|
1543
|
-
prefix = `t.${prefix}`
|
|
1544
|
-
}
|
|
1545
|
-
}
|
|
1546
|
-
sorter.push({
|
|
1547
|
-
property: queryPre + prefix + s.name,
|
|
1548
|
-
direction: s.sort,
|
|
1549
|
-
})
|
|
1550
|
-
}
|
|
1551
|
-
params.pagination.sorter = sorter
|
|
1552
|
-
} else if (param.querys && param.querys.length > 0) {
|
|
1553
|
-
params.pagination.querys.concat(param.querys)
|
|
1554
|
-
}
|
|
1555
|
-
|
|
1556
|
-
if (params.pagination && params.pagination.querys) {
|
|
1557
|
-
let tempQueryS = []
|
|
1558
|
-
let betweenConditions = {}
|
|
1559
|
-
params.pagination.querys.forEach((q) => {
|
|
1560
|
-
if (
|
|
1561
|
-
q.value != undefined &&
|
|
1562
|
-
(q.operation != 'BETWEEN' || q.value.constructor == Array)
|
|
1563
|
-
) {
|
|
1564
|
-
tempQueryS.push(q)
|
|
1565
|
-
} else if (q.value) {
|
|
1566
|
-
let conditions = q
|
|
1567
|
-
if (betweenConditions[q.property]) {
|
|
1568
|
-
conditions = betweenConditions[q.property]
|
|
1569
|
-
conditions.value = [conditions.value]
|
|
1570
|
-
conditions.value.push(q.value)
|
|
1571
|
-
}
|
|
1572
|
-
betweenConditions[q.property] = conditions
|
|
1573
|
-
}
|
|
1574
|
-
})
|
|
1575
|
-
for (const key in betweenConditions) {
|
|
1576
|
-
tempQueryS.push(betweenConditions[key])
|
|
1577
|
-
}
|
|
1578
|
-
params.pagination.querys = tempQueryS
|
|
1579
|
-
params.pagination.querys = params.pagination.querys
|
|
1580
|
-
? params.pagination.querys.concat(this.treeQuerys)
|
|
1581
|
-
: this.treeQuerys
|
|
1582
|
-
}
|
|
1583
|
-
//把过滤树的条件也拼接进去
|
|
1584
|
-
if (this.treeQuerys && this.treeQuerys.length > 0) {
|
|
1585
|
-
params.pagination.querys = params.pagination.querys
|
|
1586
|
-
? params.pagination.querys.concat(this.treeQuerys)
|
|
1587
|
-
: this.treeQuerys
|
|
1588
|
-
}
|
|
1589
|
-
//初始化时,把查询字段和筛选字段的默认值也加进去
|
|
1590
|
-
if (this.isInit) {
|
|
1591
|
-
await this.handleInitQuery(params)
|
|
1592
|
-
}
|
|
1593
|
-
//数据视图控件
|
|
1594
|
-
if (this.dataView) {
|
|
1595
|
-
this.handelBindFiledValua()
|
|
1596
|
-
params.refIdValue = this.dataView.refIdValue
|
|
1597
|
-
//关联查询字段
|
|
1598
|
-
if (this.dataView.selectList && this.dataView.selectList.length > 0) {
|
|
1599
|
-
params.selectList = this.dataView.selectList
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1602
|
-
const this_ = this
|
|
1603
|
-
if (this_.isJoinFlow) {
|
|
1604
|
-
params.isJoinFlow = true
|
|
1605
|
-
params.taskType = this_.taskType
|
|
1606
|
-
params.defKey = this_.defKey
|
|
1607
|
-
}
|
|
1608
|
-
// 检查是否有必填字段
|
|
1609
|
-
if (this.checkHaveRequired() && this.isInit) {
|
|
1610
|
-
this.$refs.multipleTemplateTable.showAdvancedSearch = true
|
|
1611
|
-
}
|
|
1612
|
-
// 查询字段 校验是否必填,如果是必填没数据,需返回提示
|
|
1613
|
-
let errorMsg = this.validateSearchRequired(params.pagination.querys)
|
|
1614
|
-
if (errorMsg) {
|
|
1615
|
-
!this.isInit && this.$message.warning(errorMsg)
|
|
1616
|
-
cb && cb()
|
|
1617
|
-
this.isInit = false
|
|
1618
|
-
this.$emit('data-reload-success')
|
|
1619
|
-
return
|
|
1620
|
-
}
|
|
1621
|
-
this.isInit = false
|
|
1622
|
-
if ($.isEmptyObject(this.searchForm)) {
|
|
1623
|
-
this.getBpmTemplateByPagination(params, cb)
|
|
1624
|
-
} else {
|
|
1625
|
-
this.getBpmTemplateByPagination(params, cb)
|
|
1626
|
-
}
|
|
1627
|
-
},
|
|
1628
|
-
// 校验查询字段必填
|
|
1629
|
-
validateSearchRequired(querys = []) {
|
|
1630
|
-
let errorMsg = ''
|
|
1631
|
-
let conditions = JSON.parse(this.templateInfo.conditionField)
|
|
1632
|
-
if (conditions) {
|
|
1633
|
-
conditions.forEach((item) => {
|
|
1634
|
-
if (item.isRequired) {
|
|
1635
|
-
let queryPre = this.getQueryPre(conditions, item.name)
|
|
1636
|
-
let index = querys.findIndex((k) => {
|
|
1637
|
-
return k.property == queryPre + item.name
|
|
1638
|
-
})
|
|
1639
|
-
if (index == -1) {
|
|
1640
|
-
errorMsg = `字段【${item.cm}】为必填查询字段,不能为空!`
|
|
1641
|
-
}
|
|
1642
|
-
}
|
|
1643
|
-
})
|
|
1644
|
-
}
|
|
1645
|
-
return errorMsg
|
|
1646
|
-
},
|
|
1647
|
-
checkHaveRequired() {
|
|
1648
|
-
let haveRequired = false
|
|
1649
|
-
try {
|
|
1650
|
-
let conditions = JSON.parse(this.templateInfo.conditionField)
|
|
1651
|
-
if (conditions) {
|
|
1652
|
-
haveRequired = conditions.some((item) => {
|
|
1653
|
-
return item.isRequired
|
|
1654
|
-
})
|
|
1655
|
-
}
|
|
1656
|
-
} catch (e) {
|
|
1657
|
-
console.log(e)
|
|
1658
|
-
}
|
|
1659
|
-
return haveRequired
|
|
1660
|
-
},
|
|
1661
|
-
searchCountTotal(param, cb, isSearchBtn, needRequestTotal = false) {
|
|
1411
|
+
search(param, cb, isSearchBtn, needRequestTotal = false) {
|
|
1662
1412
|
// 不需要请求后端接口统计列表数据
|
|
1663
1413
|
this.needRequestTotal = needRequestTotal
|
|
1664
1414
|
// 如果是高级查询,页码重置为首页
|
|
@@ -1790,9 +1540,9 @@ export default {
|
|
|
1790
1540
|
params.defKey = this_.defKey
|
|
1791
1541
|
}
|
|
1792
1542
|
if ($.isEmptyObject(this.searchForm)) {
|
|
1793
|
-
this.
|
|
1543
|
+
this.getBpmTemplateByPagination(params, cb)
|
|
1794
1544
|
} else {
|
|
1795
|
-
this.
|
|
1545
|
+
this.getBpmTemplateByPagination(params, cb)
|
|
1796
1546
|
}
|
|
1797
1547
|
},
|
|
1798
1548
|
// 处理快速查询参数
|
|
@@ -1813,24 +1563,20 @@ export default {
|
|
|
1813
1563
|
}
|
|
1814
1564
|
return param
|
|
1815
1565
|
},
|
|
1816
|
-
|
|
1566
|
+
handleInitQuery(params) {
|
|
1817
1567
|
const conditionFields = JSON.parse(this.templateInfo.conditionField) || []
|
|
1818
1568
|
const querys = []
|
|
1819
|
-
|
|
1820
|
-
let item = conditionFields[i]
|
|
1569
|
+
conditionFields.forEach((item) => {
|
|
1821
1570
|
if (item.defaultValue) {
|
|
1822
|
-
let defaultValue = item.isScriptDefault
|
|
1823
|
-
? await this.getScriptDefaultValue(item.defaultValue)
|
|
1824
|
-
: item.defaultValue
|
|
1825
1571
|
querys.push({
|
|
1826
1572
|
property: `${item.queryPre || ''}${item.colPrefix}${item.name}`,
|
|
1827
|
-
value: defaultValue,
|
|
1573
|
+
value: item.defaultValue,
|
|
1828
1574
|
operation: item.qt.toUpperCase(),
|
|
1829
1575
|
relation: 'AND',
|
|
1830
1576
|
group: 'defaultQuery',
|
|
1831
1577
|
})
|
|
1832
1578
|
}
|
|
1833
|
-
}
|
|
1579
|
+
})
|
|
1834
1580
|
const filteringFields = JSON.parse(this.templateInfo.filteringField) || []
|
|
1835
1581
|
filteringFields.forEach((item) => {
|
|
1836
1582
|
if (item.defaultValue && item.defaultValue.length) {
|
|
@@ -1883,15 +1629,13 @@ export default {
|
|
|
1883
1629
|
})
|
|
1884
1630
|
}
|
|
1885
1631
|
this.$requestConfig
|
|
1886
|
-
.
|
|
1632
|
+
.getDataTemplateDataList(dataTemplateQueryVo)
|
|
1887
1633
|
.then((response) => {
|
|
1888
1634
|
this.rows = response.rows
|
|
1635
|
+
this.total = response.total
|
|
1889
1636
|
this.$set(this.pagination, 'page', response.page)
|
|
1890
1637
|
this.$set(this.pagination, 'pageSize', response.pageSize)
|
|
1891
|
-
|
|
1892
|
-
if (this.total) {
|
|
1893
|
-
this.$set(this.pagination, 'total', this.total)
|
|
1894
|
-
}
|
|
1638
|
+
this.$set(this.pagination, 'total', response.total)
|
|
1895
1639
|
this.$set(this, 'flowBtnPermission', {})
|
|
1896
1640
|
this.$emit('data-reload-success')
|
|
1897
1641
|
if (response.summary && response.summary.length) {
|
|
@@ -1915,46 +1659,6 @@ export default {
|
|
|
1915
1659
|
cb2 && cb2()
|
|
1916
1660
|
})
|
|
1917
1661
|
},
|
|
1918
|
-
getBpmTemplateByPaginationTotal(params, cb1, cb2) {
|
|
1919
|
-
const dataTemplateQueryVo = {
|
|
1920
|
-
templateId: params.templateId,
|
|
1921
|
-
queryFilter: params.pagination,
|
|
1922
|
-
}
|
|
1923
|
-
if (params.isJoinFlow && params.taskType && params.defKey) {
|
|
1924
|
-
dataTemplateQueryVo.isJoinFlow = params.isJoinFlow
|
|
1925
|
-
dataTemplateQueryVo.taskType = params.taskType
|
|
1926
|
-
dataTemplateQueryVo.defKey = params.defKey
|
|
1927
|
-
}
|
|
1928
|
-
if (params.selectField) {
|
|
1929
|
-
dataTemplateQueryVo.selectField = params.selectField
|
|
1930
|
-
dataTemplateQueryVo.selectValue = params.selectValue
|
|
1931
|
-
}
|
|
1932
|
-
if (params.selectList) {
|
|
1933
|
-
dataTemplateQueryVo.selectList = params.selectList
|
|
1934
|
-
}
|
|
1935
|
-
dataTemplateQueryVo.refIdValue = params.refIdValue
|
|
1936
|
-
this.curSelectParams = dataTemplateQueryVo
|
|
1937
|
-
//加载按钮
|
|
1938
|
-
this.loadingTotal = true
|
|
1939
|
-
this.$requestConfig
|
|
1940
|
-
.getDataTemplateDataListWithTotal(dataTemplateQueryVo)
|
|
1941
|
-
.then((response) => {
|
|
1942
|
-
//设置总数
|
|
1943
|
-
this.total = response.value
|
|
1944
|
-
this.$set(this.pagination, 'total', response.value)
|
|
1945
|
-
this.loadingTotal = false
|
|
1946
|
-
this.$emit('data-reload-success')
|
|
1947
|
-
this.$nextTick(() => {
|
|
1948
|
-
this.$refs.multipleTemplateTable &&
|
|
1949
|
-
this.$refs.multipleTemplateTable.doLayout()
|
|
1950
|
-
})
|
|
1951
|
-
})
|
|
1952
|
-
.finally(() => {
|
|
1953
|
-
this.loadingTotal = false
|
|
1954
|
-
cb1 && cb1()
|
|
1955
|
-
cb2 && cb2()
|
|
1956
|
-
})
|
|
1957
|
-
},
|
|
1958
1662
|
getQueryFilter() {
|
|
1959
1663
|
let operationMap = this.getSearchItems()
|
|
1960
1664
|
let fieldTypeMap = this.getFieldType()
|
|
@@ -1971,12 +1675,6 @@ export default {
|
|
|
1971
1675
|
params.pagination = pageBean
|
|
1972
1676
|
if (!$.isEmptyObject(this.searchForm)) {
|
|
1973
1677
|
let conditionField = utils.parseToJson(this.templateInfo.conditionField)
|
|
1974
|
-
//处理绑定字段
|
|
1975
|
-
this.bindValue = this.searchForm.bindValue || this.bindValue
|
|
1976
|
-
this.bindKey = this.searchForm.bindKey || this.bindKey
|
|
1977
|
-
//记录后再删除
|
|
1978
|
-
delete this.searchForm.bindValue
|
|
1979
|
-
delete this.searchForm.bindKey
|
|
1980
1678
|
for (let key in this.searchForm) {
|
|
1981
1679
|
if (
|
|
1982
1680
|
typeof this.searchForm[key] != 'undefined' &&
|
|
@@ -2014,16 +1712,6 @@ export default {
|
|
|
2014
1712
|
if (fieldTypeMap[key] && fieldTypeMap[key] == 'number') {
|
|
2015
1713
|
value = parseFloat(this.searchForm[key])
|
|
2016
1714
|
}
|
|
2017
|
-
//在表单列表的查询字段中添加的对话框控件 此处逻辑对应 packages/CustomDialog/src/customDialog.vue:1920行
|
|
2018
|
-
if (
|
|
2019
|
-
this.bindValue &&
|
|
2020
|
-
Object.keys(this.bindValue).length &&
|
|
2021
|
-
this.bindValue[key] &&
|
|
2022
|
-
Object.keys(this.bindKey).length
|
|
2023
|
-
) {
|
|
2024
|
-
//获得绑定字段的值
|
|
2025
|
-
value = this.bindValue[key][this.bindKey[key]]
|
|
2026
|
-
}
|
|
2027
1715
|
let queryPre = this.getQueryPre(conditionField, key)
|
|
2028
1716
|
querys.push({
|
|
2029
1717
|
property: queryPre + key,
|
|
@@ -2036,14 +1724,7 @@ export default {
|
|
|
2036
1724
|
}
|
|
2037
1725
|
}
|
|
2038
1726
|
this.clearQueryByGroupName(querys, 'filter')
|
|
2039
|
-
//
|
|
2040
|
-
if (
|
|
2041
|
-
this.$refs.multipleTemplateTable &&
|
|
2042
|
-
this.$refs.multipleTemplateTable.querys &&
|
|
2043
|
-
!this.$refs.multipleTemplateTable.showAdvancedSearch
|
|
2044
|
-
) {
|
|
2045
|
-
querys.push(...this.$refs.multipleTemplateTable.querys)
|
|
2046
|
-
}
|
|
1727
|
+
// 将过滤条件添加查询参数数组中
|
|
2047
1728
|
this.buildFilterParams(querys)
|
|
2048
1729
|
}
|
|
2049
1730
|
// 判断table中是否含有filter查询
|
|
@@ -2652,9 +2333,7 @@ export default {
|
|
|
2652
2333
|
handledUrlParams(url, row, fieldName) {
|
|
2653
2334
|
if (this.templateInfo.displayField) {
|
|
2654
2335
|
let displayFields = JSON.parse(this.templateInfo.displayField)
|
|
2655
|
-
let params =
|
|
2656
|
-
this.getParentId(displayFields, fieldName, 'name') ||
|
|
2657
|
-
this.getParentId(displayFields, fieldName, 'fieldsAlias')
|
|
2336
|
+
let params = this.getParentId(displayFields, fieldName, 'name')
|
|
2658
2337
|
if (params && params.urlParams && params.urlParams.length > 0) {
|
|
2659
2338
|
let urlParams = params.urlParams
|
|
2660
2339
|
let suffix = ''
|
|
@@ -2809,14 +2488,6 @@ export default {
|
|
|
2809
2488
|
selectedQuery,
|
|
2810
2489
|
]
|
|
2811
2490
|
}
|
|
2812
|
-
// 校验
|
|
2813
|
-
let errorMsg = this.validateSearchRequired(
|
|
2814
|
-
this.curSelectParams.queryFilter.querys
|
|
2815
|
-
)
|
|
2816
|
-
if (errorMsg) {
|
|
2817
|
-
this.$message.warning(errorMsg)
|
|
2818
|
-
return
|
|
2819
|
-
}
|
|
2820
2491
|
//导出全部数据按钮
|
|
2821
2492
|
if (type == 'all') {
|
|
2822
2493
|
this.curSelectParams.queryFilter.querys = []
|
|
@@ -2829,30 +2500,24 @@ export default {
|
|
|
2829
2500
|
id: this.templateInfo.id,
|
|
2830
2501
|
params: this.curSelectParams,
|
|
2831
2502
|
})
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
.then(() => {
|
|
2851
|
-
this.$message.success('正在导出,请稍后前往报表附件管理查看')
|
|
2852
|
-
})
|
|
2853
|
-
.finally(() => {
|
|
2854
|
-
loadingInstance.close()
|
|
2855
|
-
})
|
|
2503
|
+
.then(
|
|
2504
|
+
({ data, headers }) => {
|
|
2505
|
+
const fileName = decodeURIComponent(
|
|
2506
|
+
headers['content-disposition'].split(';')[1].split('filename=')[1]
|
|
2507
|
+
)
|
|
2508
|
+
const blob = new Blob([data])
|
|
2509
|
+
saveAs(blob, fileName)
|
|
2510
|
+
loadingInstance.close() // 结束
|
|
2511
|
+
},
|
|
2512
|
+
(e) => {
|
|
2513
|
+
loadingInstance.close() // 结束
|
|
2514
|
+
let enc = new TextDecoder('utf-8')
|
|
2515
|
+
let uint8_msg = JSON.parse(
|
|
2516
|
+
enc.decode(new Uint8Array(e.response.data))
|
|
2517
|
+
)
|
|
2518
|
+
this.$message.error(uint8_msg.message)
|
|
2519
|
+
}
|
|
2520
|
+
)
|
|
2856
2521
|
},
|
|
2857
2522
|
importCommand(params) {
|
|
2858
2523
|
switch (params.command) {
|
|
@@ -3459,7 +3124,7 @@ export default {
|
|
|
3459
3124
|
}
|
|
3460
3125
|
this.dialogSubVisible = true
|
|
3461
3126
|
},
|
|
3462
|
-
|
|
3127
|
+
nodeClick(node) {
|
|
3463
3128
|
this.pagination.page = 1
|
|
3464
3129
|
//每次点击过滤树,应该把右边的table 与分页全部重置为初始
|
|
3465
3130
|
|
|
@@ -3494,9 +3159,7 @@ export default {
|
|
|
3494
3159
|
pageBean.querys.push({
|
|
3495
3160
|
property: item.isMain
|
|
3496
3161
|
? `t.${item.key_.oldTableField}`
|
|
3497
|
-
: `${item.key_.
|
|
3498
|
-
item.key_.oldTableField
|
|
3499
|
-
}`,
|
|
3162
|
+
: `${item.key_.tableName}.${item.key_.oldTableField}`,
|
|
3500
3163
|
value,
|
|
3501
3164
|
group: 'main',
|
|
3502
3165
|
operation,
|
|
@@ -3525,13 +3188,7 @@ export default {
|
|
|
3525
3188
|
params.taskType = this_.taskType
|
|
3526
3189
|
params.defKey = this_.defKey
|
|
3527
3190
|
}
|
|
3528
|
-
|
|
3529
|
-
// 查询字段 校验是否必填,如果是必填没数据,需返回提示
|
|
3530
|
-
let errorMsg = this.validateSearchRequired(params.pagination.querys)
|
|
3531
|
-
if (errorMsg) {
|
|
3532
|
-
this.$message.warning(errorMsg)
|
|
3533
|
-
return
|
|
3534
|
-
}
|
|
3191
|
+
this.handleInitQuery(params)
|
|
3535
3192
|
this.getBpmTemplateByPagination(params)
|
|
3536
3193
|
},
|
|
3537
3194
|
filterChange(filters) {
|
|
@@ -4187,7 +3844,7 @@ export default {
|
|
|
4187
3844
|
}
|
|
4188
3845
|
this.$requestConfig
|
|
4189
3846
|
.batchUpdateTemplateData(data)
|
|
4190
|
-
.then(
|
|
3847
|
+
.then((data) => {
|
|
4191
3848
|
if (data.state) {
|
|
4192
3849
|
this.$message({
|
|
4193
3850
|
type: 'success',
|
|
@@ -4197,9 +3854,8 @@ export default {
|
|
|
4197
3854
|
// 以服务的方式调用的 Loading 需要异步关闭
|
|
4198
3855
|
loadingInstance.close()
|
|
4199
3856
|
})
|
|
4200
|
-
let defaultValue = await this.newBuildDefaultQuerys()
|
|
4201
3857
|
this.search({
|
|
4202
|
-
querys:
|
|
3858
|
+
querys: this.buildDefaultQuerys() || [],
|
|
4203
3859
|
})
|
|
4204
3860
|
// 更新成功后需执行后置js
|
|
4205
3861
|
if (afterScriptValue) {
|
|
@@ -4313,120 +3969,6 @@ export default {
|
|
|
4313
3969
|
})
|
|
4314
3970
|
return querys
|
|
4315
3971
|
},
|
|
4316
|
-
async newBuildDefaultQuerys(isSetSearchForm = true) {
|
|
4317
|
-
let this_ = this
|
|
4318
|
-
let querys = []
|
|
4319
|
-
let conditions = JSON.parse(this_.templateInfo.conditionField)
|
|
4320
|
-
//条件字段默认值判断
|
|
4321
|
-
for (let i = 0; i < conditions.length; i++) {
|
|
4322
|
-
let condition = conditions[i]
|
|
4323
|
-
if (condition.defaultValue) {
|
|
4324
|
-
let field = condition.colPrefix + condition.na
|
|
4325
|
-
let defaultValue = condition.isScriptDefault
|
|
4326
|
-
? await this.getScriptDefaultValue(condition.defaultValue)
|
|
4327
|
-
: condition.defaultValue
|
|
4328
|
-
if (isSetSearchForm) {
|
|
4329
|
-
this_.$set(this_.searchForm, field, defaultValue)
|
|
4330
|
-
}
|
|
4331
|
-
let value = defaultValue
|
|
4332
|
-
if (condition.ty == 'number') {
|
|
4333
|
-
value = parseFloat(value)
|
|
4334
|
-
}
|
|
4335
|
-
querys.push({
|
|
4336
|
-
property: condition.queryPre ? condition.queryPre + field : field,
|
|
4337
|
-
value: value,
|
|
4338
|
-
group: 'main',
|
|
4339
|
-
operation: condition.qt.toUpperCase(),
|
|
4340
|
-
relation: 'AND',
|
|
4341
|
-
})
|
|
4342
|
-
}
|
|
4343
|
-
}
|
|
4344
|
-
//筛选字段默认值判断
|
|
4345
|
-
|
|
4346
|
-
if (this.parameterqQuerys) {
|
|
4347
|
-
let parameterQuerys = JSON.parse(Base64.decode(this.parameterqQuerys))
|
|
4348
|
-
if (parameterQuerys && parameterQuerys.length > 0) {
|
|
4349
|
-
parameterQuerys.forEach((query) => {
|
|
4350
|
-
let prefix = this.templateInfo.isExternal === 1 ? '' : 'F_'
|
|
4351
|
-
query.property = prefix + query.property
|
|
4352
|
-
if (isSetSearchForm) {
|
|
4353
|
-
this_.$set(this_.searchForm, query.property, query.value)
|
|
4354
|
-
}
|
|
4355
|
-
querys.push(query)
|
|
4356
|
-
})
|
|
4357
|
-
}
|
|
4358
|
-
}
|
|
4359
|
-
let filters = JSON.parse(this_.templateInfo.filteringField)
|
|
4360
|
-
filters.forEach((filter) => {
|
|
4361
|
-
if (filter.defaultValue && filter.defaultValue.length > 0) {
|
|
4362
|
-
this_.filterMap[filter.name] = filter.defaultValue
|
|
4363
|
-
filter.defaultValue.forEach((val) => {
|
|
4364
|
-
querys.push({
|
|
4365
|
-
property: `${filter.queryPre || ''}${filter.colPrefix}${
|
|
4366
|
-
filter.name
|
|
4367
|
-
}`,
|
|
4368
|
-
value: val,
|
|
4369
|
-
group: 'defVal_' + filter.name,
|
|
4370
|
-
operation: 'EQUAL',
|
|
4371
|
-
relation: 'OR',
|
|
4372
|
-
})
|
|
4373
|
-
})
|
|
4374
|
-
}
|
|
4375
|
-
})
|
|
4376
|
-
this_.$on('afterMounted', () => {
|
|
4377
|
-
const tab = document.getElementById(this_.templateInfo.alias)
|
|
4378
|
-
if (tab && tab.__vue__) {
|
|
4379
|
-
let headerColumns = tab.__vue__.$refs.tableHeader
|
|
4380
|
-
? tab.__vue__.$refs.tableHeader.columns
|
|
4381
|
-
: []
|
|
4382
|
-
headerColumns.forEach((column) => {
|
|
4383
|
-
if (this_.filterMap.hasOwnProperty(column.property)) {
|
|
4384
|
-
this_.filterMap[column.property].forEach((val) => {
|
|
4385
|
-
column.filteredValue.push(val)
|
|
4386
|
-
})
|
|
4387
|
-
}
|
|
4388
|
-
})
|
|
4389
|
-
}
|
|
4390
|
-
})
|
|
4391
|
-
this.defaultQuerys = querys
|
|
4392
|
-
return querys
|
|
4393
|
-
},
|
|
4394
|
-
getScriptDefaultValue(scriptValue) {
|
|
4395
|
-
return new Promise((resolve) => {
|
|
4396
|
-
//执行前置脚本内容
|
|
4397
|
-
const _this = this
|
|
4398
|
-
// 用户信息
|
|
4399
|
-
const account = this.$requestConfig.getAccount()
|
|
4400
|
-
const userId = this.$requestConfig.getUserId()
|
|
4401
|
-
const userName = this.$requestConfig.getUsername()
|
|
4402
|
-
const _moment = moment
|
|
4403
|
-
const preScript = `const scriptFunction = function(_this, account, userId, userName, _moment){
|
|
4404
|
-
${scriptValue}
|
|
4405
|
-
};`
|
|
4406
|
-
let result = ''
|
|
4407
|
-
try {
|
|
4408
|
-
result = eval(
|
|
4409
|
-
`${preScript}scriptFunction(_this, account, userId, userName, _moment);`
|
|
4410
|
-
)
|
|
4411
|
-
if (result && result.then && typeof result.then === 'function') {
|
|
4412
|
-
result.then(
|
|
4413
|
-
(t) => {
|
|
4414
|
-
resolve(t)
|
|
4415
|
-
},
|
|
4416
|
-
(fail) => {
|
|
4417
|
-
//接口返回失败则终止按钮操作,并输出错误信息
|
|
4418
|
-
resolve('')
|
|
4419
|
-
}
|
|
4420
|
-
)
|
|
4421
|
-
} else {
|
|
4422
|
-
resolve(result)
|
|
4423
|
-
}
|
|
4424
|
-
} catch (err) {
|
|
4425
|
-
resolve('')
|
|
4426
|
-
this.$message.error(`查询值默认脚本事件执行错误:${err}`)
|
|
4427
|
-
}
|
|
4428
|
-
})
|
|
4429
|
-
},
|
|
4430
3972
|
handleClose() {
|
|
4431
3973
|
this.dataViewDialogVisible = false
|
|
4432
3974
|
},
|
|
@@ -4561,8 +4103,7 @@ export default {
|
|
|
4561
4103
|
this.printDetail(parameter.templateId, parameter.id, parameter.action)
|
|
4562
4104
|
} else if (btnAlias == 'sub' && this.checkSelect()) {
|
|
4563
4105
|
this.showSubList(this.tableData.selectRows[0].id_, parameter)
|
|
4564
|
-
} else if (btnAlias == 'js') {
|
|
4565
|
-
if (parameter.needValidateSelect && !this.checkSelect()) return
|
|
4106
|
+
} else if (btnAlias == 'js' && this.checkSelect()) {
|
|
4566
4107
|
this.customEvilJS(this.tableData.selectRows[0], parameter.jsValue)
|
|
4567
4108
|
} else if (
|
|
4568
4109
|
btnAlias == 'startFlow' &&
|
|
@@ -5114,30 +4655,6 @@ export default {
|
|
|
5114
4655
|
)
|
|
5115
4656
|
: customColumns
|
|
5116
4657
|
},
|
|
5117
|
-
countPageTotal() {
|
|
5118
|
-
this.searchCountTotal(this.getParam())
|
|
5119
|
-
},
|
|
5120
|
-
switchPage(type) {
|
|
5121
|
-
if (type == 'prev') this.pagination.page--
|
|
5122
|
-
if (type == 'next') this.pagination.page++
|
|
5123
|
-
this.handleCurrentChange(this.pagination.page)
|
|
5124
|
-
},
|
|
5125
|
-
handleInput(value) {
|
|
5126
|
-
if (!value) {
|
|
5127
|
-
return
|
|
5128
|
-
}
|
|
5129
|
-
// 使用正则表达式匹配正整数
|
|
5130
|
-
const regex = /^[1-9]\d*$/
|
|
5131
|
-
|
|
5132
|
-
// 如果输入的值不符合正整数的模式,则将其重置为1
|
|
5133
|
-
if (!regex.test(value)) {
|
|
5134
|
-
//如果上一次输入的页数有值,则用上一次输入的页数,否则默认为1
|
|
5135
|
-
this.pagination.page = this.lastPage ? this.lastPage : 1
|
|
5136
|
-
} else {
|
|
5137
|
-
//本次分页数,赋值给上一次分页数
|
|
5138
|
-
this.lastPage = this.pagination.page
|
|
5139
|
-
}
|
|
5140
|
-
},
|
|
5141
4658
|
},
|
|
5142
4659
|
// asyncComputed: {
|
|
5143
4660
|
// showDraftList() {
|