three-trees-ui 1.0.78 → 1.0.80
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 +15451 -16211
- package/lib/three-trees-ui.css +1 -1
- package/lib/three-trees-ui.umd.js +15451 -16211
- package/lib/three-trees-ui.umd.min.js +1 -1
- package/package.json +1 -1
- package/packages/CustomDialog/src/customDialog.vue +17 -78
- package/packages/DataLists/src/main.vue +3 -2
- package/packages/QuerySqlPreview/src/QuerySqlPreview.vue +1 -43
- package/packages/Subtable/src/SubImportDialog.vue +3 -3
- package/packages/Subtable/src/SubPagination.vue +3 -3
- package/packages/Table/src/Table.vue +1 -15
- package/packages/TableSearchField/src/main.vue +0 -5
- package/packages/TemplatePreview/src/TemplatePreview.vue +0 -43
- package/src/mixins/querySqlPreview.js +32 -354
- package/src/mixins/templatePreview.js +41 -525
- package/src/services/CustomQuery.js +44 -13
|
@@ -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,
|
|
@@ -53,7 +51,6 @@ export default {
|
|
|
53
51
|
selectRows: [],
|
|
54
52
|
querys: '',
|
|
55
53
|
},
|
|
56
|
-
exportBtnDisabled: false,
|
|
57
54
|
dialogExportVisible: false,
|
|
58
55
|
exportData: {
|
|
59
56
|
getType: 'all',
|
|
@@ -62,8 +59,6 @@ export default {
|
|
|
62
59
|
displayFields: [],
|
|
63
60
|
exportSellection: [],
|
|
64
61
|
searchForm: {},
|
|
65
|
-
bindKey: {},
|
|
66
|
-
bindValue: {},
|
|
67
62
|
queryForm: {
|
|
68
63
|
queryData: '',
|
|
69
64
|
},
|
|
@@ -117,9 +112,7 @@ export default {
|
|
|
117
112
|
pageSize: 10,
|
|
118
113
|
total: 1,
|
|
119
114
|
},
|
|
120
|
-
lastPage: 1, //上一次输入的分页数、默认为1
|
|
121
115
|
paginationLayout: 'total, sizes, prev, pager, next, jumper',
|
|
122
|
-
paginationLayoutWithoutTotal: 'sizes, prev, pager, next, jumper',
|
|
123
116
|
total: 0,
|
|
124
117
|
permission: {
|
|
125
118
|
print: true,
|
|
@@ -229,45 +222,6 @@ export default {
|
|
|
229
222
|
: 0.85 * window.innerHeight,
|
|
230
223
|
needRequestTotal: false, // 需不需要后端统计列表全部数据
|
|
231
224
|
tableDataTotal: {},
|
|
232
|
-
loadingTotal: false, // 统计按钮加载中
|
|
233
|
-
pageSizeArray: [
|
|
234
|
-
{
|
|
235
|
-
label: '10条/页',
|
|
236
|
-
value: 10,
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
label: '20条/页',
|
|
240
|
-
value: 20,
|
|
241
|
-
},
|
|
242
|
-
{
|
|
243
|
-
label: '30条/页',
|
|
244
|
-
value: 30,
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
label: '40条/页',
|
|
248
|
-
value: 40,
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
label: '50条/页',
|
|
252
|
-
value: 50,
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
label: '100条/页',
|
|
256
|
-
value: 100,
|
|
257
|
-
},
|
|
258
|
-
{
|
|
259
|
-
label: '200条/页',
|
|
260
|
-
value: 200,
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
label: '300条/页',
|
|
264
|
-
value: 300,
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
label: '500条/页',
|
|
268
|
-
value: 500,
|
|
269
|
-
},
|
|
270
|
-
],
|
|
271
225
|
}
|
|
272
226
|
},
|
|
273
227
|
watch: {
|
|
@@ -308,7 +262,7 @@ export default {
|
|
|
308
262
|
immediate: true,
|
|
309
263
|
},
|
|
310
264
|
templateInfo: {
|
|
311
|
-
handler:
|
|
265
|
+
handler: function (newVal) {
|
|
312
266
|
if (newVal && newVal.id) {
|
|
313
267
|
let _me = this
|
|
314
268
|
_me.templateInfo = newVal
|
|
@@ -381,7 +335,7 @@ export default {
|
|
|
381
335
|
)
|
|
382
336
|
params.pagination.querys = querys
|
|
383
337
|
}
|
|
384
|
-
let defaultQuery =
|
|
338
|
+
let defaultQuery = this.buildDefaultQuerys()
|
|
385
339
|
if (defaultQuery.length > 0) {
|
|
386
340
|
if (params.pagination.querys) {
|
|
387
341
|
params.pagination.querys.concat(defaultQuery)
|
|
@@ -531,31 +485,11 @@ export default {
|
|
|
531
485
|
this_.calcScriptBtnPermission()
|
|
532
486
|
})
|
|
533
487
|
this.$emit('afterMounted')
|
|
534
|
-
if (this.templateInfo.jsScript) {
|
|
535
|
-
// 执行js脚本
|
|
536
|
-
this.handleDiyScript(this.templateInfo.jsScript)
|
|
537
|
-
}
|
|
538
488
|
// setTimeout(() => {
|
|
539
489
|
// this.$refs.multipleTemplateTable.handleFilterChange(this.filterMap)
|
|
540
490
|
// }, 100)
|
|
541
491
|
},
|
|
542
492
|
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
493
|
//因为row.id_ 或row.id可能会有重复,所以加随机值使其唯一
|
|
560
494
|
getRowKey(row) {
|
|
561
495
|
/** 检查row.id是否有重复的缓存对象 */
|
|
@@ -1407,10 +1341,8 @@ export default {
|
|
|
1407
1341
|
}
|
|
1408
1342
|
for (let x = 0; x < display.length; x++) {
|
|
1409
1343
|
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}`)
|
|
1344
|
+
if (this.rows[index][item.name]) {
|
|
1345
|
+
this.QRCodeDesc.push(item.desc + ':' + this.rows[index][item.name])
|
|
1414
1346
|
}
|
|
1415
1347
|
}
|
|
1416
1348
|
this.mobileFormAlias = mobileFormAlias
|
|
@@ -1426,8 +1358,8 @@ export default {
|
|
|
1426
1358
|
this.$refs.multipleTemplateTable.handleFilterChange()
|
|
1427
1359
|
},
|
|
1428
1360
|
handleCurrentChange: function (currentPage) {
|
|
1429
|
-
|
|
1430
|
-
this.pagination.page = currentPage
|
|
1361
|
+
//点击第几页
|
|
1362
|
+
this.pagination.page = currentPage
|
|
1431
1363
|
this.$refs.multipleTemplateTable.handleFilterChange()
|
|
1432
1364
|
},
|
|
1433
1365
|
getParam(str) {
|
|
@@ -1475,190 +1407,7 @@ export default {
|
|
|
1475
1407
|
return params
|
|
1476
1408
|
},
|
|
1477
1409
|
//列表数据查询入口
|
|
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) {
|
|
1410
|
+
search(param, cb, isSearchBtn, needRequestTotal = false) {
|
|
1662
1411
|
// 不需要请求后端接口统计列表数据
|
|
1663
1412
|
this.needRequestTotal = needRequestTotal
|
|
1664
1413
|
// 如果是高级查询,页码重置为首页
|
|
@@ -1790,9 +1539,9 @@ export default {
|
|
|
1790
1539
|
params.defKey = this_.defKey
|
|
1791
1540
|
}
|
|
1792
1541
|
if ($.isEmptyObject(this.searchForm)) {
|
|
1793
|
-
this.
|
|
1542
|
+
this.getBpmTemplateByPagination(params, cb)
|
|
1794
1543
|
} else {
|
|
1795
|
-
this.
|
|
1544
|
+
this.getBpmTemplateByPagination(params, cb)
|
|
1796
1545
|
}
|
|
1797
1546
|
},
|
|
1798
1547
|
// 处理快速查询参数
|
|
@@ -1813,24 +1562,20 @@ export default {
|
|
|
1813
1562
|
}
|
|
1814
1563
|
return param
|
|
1815
1564
|
},
|
|
1816
|
-
|
|
1565
|
+
handleInitQuery(params) {
|
|
1817
1566
|
const conditionFields = JSON.parse(this.templateInfo.conditionField) || []
|
|
1818
1567
|
const querys = []
|
|
1819
|
-
|
|
1820
|
-
let item = conditionFields[i]
|
|
1568
|
+
conditionFields.forEach((item) => {
|
|
1821
1569
|
if (item.defaultValue) {
|
|
1822
|
-
let defaultValue = item.isScriptDefault
|
|
1823
|
-
? await this.getScriptDefaultValue(item.defaultValue)
|
|
1824
|
-
: item.defaultValue
|
|
1825
1570
|
querys.push({
|
|
1826
1571
|
property: `${item.queryPre || ''}${item.colPrefix}${item.name}`,
|
|
1827
|
-
value: defaultValue,
|
|
1572
|
+
value: item.defaultValue,
|
|
1828
1573
|
operation: item.qt.toUpperCase(),
|
|
1829
1574
|
relation: 'AND',
|
|
1830
1575
|
group: 'defaultQuery',
|
|
1831
1576
|
})
|
|
1832
1577
|
}
|
|
1833
|
-
}
|
|
1578
|
+
})
|
|
1834
1579
|
const filteringFields = JSON.parse(this.templateInfo.filteringField) || []
|
|
1835
1580
|
filteringFields.forEach((item) => {
|
|
1836
1581
|
if (item.defaultValue && item.defaultValue.length) {
|
|
@@ -1883,15 +1628,13 @@ export default {
|
|
|
1883
1628
|
})
|
|
1884
1629
|
}
|
|
1885
1630
|
this.$requestConfig
|
|
1886
|
-
.
|
|
1631
|
+
.getDataTemplateDataList(dataTemplateQueryVo)
|
|
1887
1632
|
.then((response) => {
|
|
1888
1633
|
this.rows = response.rows
|
|
1634
|
+
this.total = response.total
|
|
1889
1635
|
this.$set(this.pagination, 'page', response.page)
|
|
1890
1636
|
this.$set(this.pagination, 'pageSize', response.pageSize)
|
|
1891
|
-
|
|
1892
|
-
if (this.total) {
|
|
1893
|
-
this.$set(this.pagination, 'total', this.total)
|
|
1894
|
-
}
|
|
1637
|
+
this.$set(this.pagination, 'total', response.total)
|
|
1895
1638
|
this.$set(this, 'flowBtnPermission', {})
|
|
1896
1639
|
this.$emit('data-reload-success')
|
|
1897
1640
|
if (response.summary && response.summary.length) {
|
|
@@ -1915,46 +1658,6 @@ export default {
|
|
|
1915
1658
|
cb2 && cb2()
|
|
1916
1659
|
})
|
|
1917
1660
|
},
|
|
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
1661
|
getQueryFilter() {
|
|
1959
1662
|
let operationMap = this.getSearchItems()
|
|
1960
1663
|
let fieldTypeMap = this.getFieldType()
|
|
@@ -1971,12 +1674,6 @@ export default {
|
|
|
1971
1674
|
params.pagination = pageBean
|
|
1972
1675
|
if (!$.isEmptyObject(this.searchForm)) {
|
|
1973
1676
|
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
1677
|
for (let key in this.searchForm) {
|
|
1981
1678
|
if (
|
|
1982
1679
|
typeof this.searchForm[key] != 'undefined' &&
|
|
@@ -2014,16 +1711,6 @@ export default {
|
|
|
2014
1711
|
if (fieldTypeMap[key] && fieldTypeMap[key] == 'number') {
|
|
2015
1712
|
value = parseFloat(this.searchForm[key])
|
|
2016
1713
|
}
|
|
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
1714
|
let queryPre = this.getQueryPre(conditionField, key)
|
|
2028
1715
|
querys.push({
|
|
2029
1716
|
property: queryPre + key,
|
|
@@ -2036,14 +1723,7 @@ export default {
|
|
|
2036
1723
|
}
|
|
2037
1724
|
}
|
|
2038
1725
|
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
|
-
}
|
|
1726
|
+
// 将过滤条件添加查询参数数组中
|
|
2047
1727
|
this.buildFilterParams(querys)
|
|
2048
1728
|
}
|
|
2049
1729
|
// 判断table中是否含有filter查询
|
|
@@ -2629,9 +2309,7 @@ export default {
|
|
|
2629
2309
|
handledUrlParams(url, row, fieldName) {
|
|
2630
2310
|
if (this.templateInfo.displayField) {
|
|
2631
2311
|
let displayFields = JSON.parse(this.templateInfo.displayField)
|
|
2632
|
-
let params =
|
|
2633
|
-
this.getParentId(displayFields, fieldName, 'name') ||
|
|
2634
|
-
this.getParentId(displayFields, fieldName, 'fieldsAlias')
|
|
2312
|
+
let params = this.getParentId(displayFields, fieldName, 'name')
|
|
2635
2313
|
if (params && params.urlParams && params.urlParams.length > 0) {
|
|
2636
2314
|
let urlParams = params.urlParams
|
|
2637
2315
|
let suffix = ''
|
|
@@ -2786,19 +2464,10 @@ export default {
|
|
|
2786
2464
|
selectedQuery,
|
|
2787
2465
|
]
|
|
2788
2466
|
}
|
|
2789
|
-
// 校验
|
|
2790
|
-
let errorMsg = this.validateSearchRequired(
|
|
2791
|
-
this.curSelectParams.queryFilter.querys
|
|
2792
|
-
)
|
|
2793
|
-
if (errorMsg) {
|
|
2794
|
-
this.$message.warning(errorMsg)
|
|
2795
|
-
return
|
|
2796
|
-
}
|
|
2797
2467
|
//导出全部数据按钮
|
|
2798
2468
|
if (type == 'all') {
|
|
2799
2469
|
this.curSelectParams.queryFilter.querys = []
|
|
2800
2470
|
}
|
|
2801
|
-
this.exportBtnDisabled = true
|
|
2802
2471
|
let loadingInstance = Loading.service({
|
|
2803
2472
|
fullscreen: true,
|
|
2804
2473
|
}) //开始
|
|
@@ -2807,30 +2476,24 @@ export default {
|
|
|
2807
2476
|
id: this.templateInfo.id,
|
|
2808
2477
|
params: this.curSelectParams,
|
|
2809
2478
|
})
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
.then(() => {
|
|
2829
|
-
this.$message.success('正在导出,请稍后前往报表附件管理查看')
|
|
2830
|
-
})
|
|
2831
|
-
.finally(() => {
|
|
2832
|
-
loadingInstance.close()
|
|
2833
|
-
})
|
|
2479
|
+
.then(
|
|
2480
|
+
({ data, headers }) => {
|
|
2481
|
+
const fileName = decodeURIComponent(
|
|
2482
|
+
headers['content-disposition'].split(';')[1].split('filename=')[1]
|
|
2483
|
+
)
|
|
2484
|
+
const blob = new Blob([data])
|
|
2485
|
+
saveAs(blob, fileName)
|
|
2486
|
+
loadingInstance.close() // 结束
|
|
2487
|
+
},
|
|
2488
|
+
(e) => {
|
|
2489
|
+
loadingInstance.close() // 结束
|
|
2490
|
+
let enc = new TextDecoder('utf-8')
|
|
2491
|
+
let uint8_msg = JSON.parse(
|
|
2492
|
+
enc.decode(new Uint8Array(e.response.data))
|
|
2493
|
+
)
|
|
2494
|
+
this.$message.error(uint8_msg.message)
|
|
2495
|
+
}
|
|
2496
|
+
)
|
|
2834
2497
|
},
|
|
2835
2498
|
importCommand(params) {
|
|
2836
2499
|
switch (params.command) {
|
|
@@ -3437,7 +3100,7 @@ export default {
|
|
|
3437
3100
|
}
|
|
3438
3101
|
this.dialogSubVisible = true
|
|
3439
3102
|
},
|
|
3440
|
-
|
|
3103
|
+
nodeClick(node) {
|
|
3441
3104
|
this.pagination.page = 1
|
|
3442
3105
|
//每次点击过滤树,应该把右边的table 与分页全部重置为初始
|
|
3443
3106
|
|
|
@@ -3472,9 +3135,7 @@ export default {
|
|
|
3472
3135
|
pageBean.querys.push({
|
|
3473
3136
|
property: item.isMain
|
|
3474
3137
|
? `t.${item.key_.oldTableField}`
|
|
3475
|
-
: `${item.key_.
|
|
3476
|
-
item.key_.oldTableField
|
|
3477
|
-
}`,
|
|
3138
|
+
: `${item.key_.tableName}.${item.key_.oldTableField}`,
|
|
3478
3139
|
value,
|
|
3479
3140
|
group: 'main',
|
|
3480
3141
|
operation,
|
|
@@ -3503,13 +3164,7 @@ export default {
|
|
|
3503
3164
|
params.taskType = this_.taskType
|
|
3504
3165
|
params.defKey = this_.defKey
|
|
3505
3166
|
}
|
|
3506
|
-
|
|
3507
|
-
// 查询字段 校验是否必填,如果是必填没数据,需返回提示
|
|
3508
|
-
let errorMsg = this.validateSearchRequired(params.pagination.querys)
|
|
3509
|
-
if (errorMsg) {
|
|
3510
|
-
this.$message.warning(errorMsg)
|
|
3511
|
-
return
|
|
3512
|
-
}
|
|
3167
|
+
this.handleInitQuery(params)
|
|
3513
3168
|
this.getBpmTemplateByPagination(params)
|
|
3514
3169
|
},
|
|
3515
3170
|
filterChange(filters) {
|
|
@@ -4165,7 +3820,7 @@ export default {
|
|
|
4165
3820
|
}
|
|
4166
3821
|
this.$requestConfig
|
|
4167
3822
|
.batchUpdateTemplateData(data)
|
|
4168
|
-
.then(
|
|
3823
|
+
.then((data) => {
|
|
4169
3824
|
if (data.state) {
|
|
4170
3825
|
this.$message({
|
|
4171
3826
|
type: 'success',
|
|
@@ -4175,9 +3830,8 @@ export default {
|
|
|
4175
3830
|
// 以服务的方式调用的 Loading 需要异步关闭
|
|
4176
3831
|
loadingInstance.close()
|
|
4177
3832
|
})
|
|
4178
|
-
let defaultValue = await this.newBuildDefaultQuerys()
|
|
4179
3833
|
this.search({
|
|
4180
|
-
querys:
|
|
3834
|
+
querys: this.buildDefaultQuerys() || [],
|
|
4181
3835
|
})
|
|
4182
3836
|
// 更新成功后需执行后置js
|
|
4183
3837
|
if (afterScriptValue) {
|
|
@@ -4291,120 +3945,6 @@ export default {
|
|
|
4291
3945
|
})
|
|
4292
3946
|
return querys
|
|
4293
3947
|
},
|
|
4294
|
-
async newBuildDefaultQuerys(isSetSearchForm = true) {
|
|
4295
|
-
let this_ = this
|
|
4296
|
-
let querys = []
|
|
4297
|
-
let conditions = JSON.parse(this_.templateInfo.conditionField)
|
|
4298
|
-
//条件字段默认值判断
|
|
4299
|
-
for (let i = 0; i < conditions.length; i++) {
|
|
4300
|
-
let condition = conditions[i]
|
|
4301
|
-
if (condition.defaultValue) {
|
|
4302
|
-
let field = condition.colPrefix + condition.na
|
|
4303
|
-
let defaultValue = condition.isScriptDefault
|
|
4304
|
-
? await this.getScriptDefaultValue(condition.defaultValue)
|
|
4305
|
-
: condition.defaultValue
|
|
4306
|
-
if (isSetSearchForm) {
|
|
4307
|
-
this_.$set(this_.searchForm, field, defaultValue)
|
|
4308
|
-
}
|
|
4309
|
-
let value = defaultValue
|
|
4310
|
-
if (condition.ty == 'number') {
|
|
4311
|
-
value = parseFloat(value)
|
|
4312
|
-
}
|
|
4313
|
-
querys.push({
|
|
4314
|
-
property: condition.queryPre ? condition.queryPre + field : field,
|
|
4315
|
-
value: value,
|
|
4316
|
-
group: 'main',
|
|
4317
|
-
operation: condition.qt.toUpperCase(),
|
|
4318
|
-
relation: 'AND',
|
|
4319
|
-
})
|
|
4320
|
-
}
|
|
4321
|
-
}
|
|
4322
|
-
//筛选字段默认值判断
|
|
4323
|
-
|
|
4324
|
-
if (this.parameterqQuerys) {
|
|
4325
|
-
let parameterQuerys = JSON.parse(Base64.decode(this.parameterqQuerys))
|
|
4326
|
-
if (parameterQuerys && parameterQuerys.length > 0) {
|
|
4327
|
-
parameterQuerys.forEach((query) => {
|
|
4328
|
-
let prefix = this.templateInfo.isExternal === 1 ? '' : 'F_'
|
|
4329
|
-
query.property = prefix + query.property
|
|
4330
|
-
if (isSetSearchForm) {
|
|
4331
|
-
this_.$set(this_.searchForm, query.property, query.value)
|
|
4332
|
-
}
|
|
4333
|
-
querys.push(query)
|
|
4334
|
-
})
|
|
4335
|
-
}
|
|
4336
|
-
}
|
|
4337
|
-
let filters = JSON.parse(this_.templateInfo.filteringField)
|
|
4338
|
-
filters.forEach((filter) => {
|
|
4339
|
-
if (filter.defaultValue && filter.defaultValue.length > 0) {
|
|
4340
|
-
this_.filterMap[filter.name] = filter.defaultValue
|
|
4341
|
-
filter.defaultValue.forEach((val) => {
|
|
4342
|
-
querys.push({
|
|
4343
|
-
property: `${filter.queryPre || ''}${filter.colPrefix}${
|
|
4344
|
-
filter.name
|
|
4345
|
-
}`,
|
|
4346
|
-
value: val,
|
|
4347
|
-
group: 'defVal_' + filter.name,
|
|
4348
|
-
operation: 'EQUAL',
|
|
4349
|
-
relation: 'OR',
|
|
4350
|
-
})
|
|
4351
|
-
})
|
|
4352
|
-
}
|
|
4353
|
-
})
|
|
4354
|
-
this_.$on('afterMounted', () => {
|
|
4355
|
-
const tab = document.getElementById(this_.templateInfo.alias)
|
|
4356
|
-
if (tab && tab.__vue__) {
|
|
4357
|
-
let headerColumns = tab.__vue__.$refs.tableHeader
|
|
4358
|
-
? tab.__vue__.$refs.tableHeader.columns
|
|
4359
|
-
: []
|
|
4360
|
-
headerColumns.forEach((column) => {
|
|
4361
|
-
if (this_.filterMap.hasOwnProperty(column.property)) {
|
|
4362
|
-
this_.filterMap[column.property].forEach((val) => {
|
|
4363
|
-
column.filteredValue.push(val)
|
|
4364
|
-
})
|
|
4365
|
-
}
|
|
4366
|
-
})
|
|
4367
|
-
}
|
|
4368
|
-
})
|
|
4369
|
-
this.defaultQuerys = querys
|
|
4370
|
-
return querys
|
|
4371
|
-
},
|
|
4372
|
-
getScriptDefaultValue(scriptValue) {
|
|
4373
|
-
return new Promise((resolve) => {
|
|
4374
|
-
//执行前置脚本内容
|
|
4375
|
-
const _this = this
|
|
4376
|
-
// 用户信息
|
|
4377
|
-
const account = this.$requestConfig.getAccount()
|
|
4378
|
-
const userId = this.$requestConfig.getUserId()
|
|
4379
|
-
const userName = this.$requestConfig.getUsername()
|
|
4380
|
-
const _moment = moment
|
|
4381
|
-
const preScript = `const scriptFunction = function(_this, account, userId, userName, _moment){
|
|
4382
|
-
${scriptValue}
|
|
4383
|
-
};`
|
|
4384
|
-
let result = ''
|
|
4385
|
-
try {
|
|
4386
|
-
result = eval(
|
|
4387
|
-
`${preScript}scriptFunction(_this, account, userId, userName, _moment);`
|
|
4388
|
-
)
|
|
4389
|
-
if (result && result.then && typeof result.then === 'function') {
|
|
4390
|
-
result.then(
|
|
4391
|
-
(t) => {
|
|
4392
|
-
resolve(t)
|
|
4393
|
-
},
|
|
4394
|
-
(fail) => {
|
|
4395
|
-
//接口返回失败则终止按钮操作,并输出错误信息
|
|
4396
|
-
resolve('')
|
|
4397
|
-
}
|
|
4398
|
-
)
|
|
4399
|
-
} else {
|
|
4400
|
-
resolve(result)
|
|
4401
|
-
}
|
|
4402
|
-
} catch (err) {
|
|
4403
|
-
resolve('')
|
|
4404
|
-
this.$message.error(`查询值默认脚本事件执行错误:${err}`)
|
|
4405
|
-
}
|
|
4406
|
-
})
|
|
4407
|
-
},
|
|
4408
3948
|
handleClose() {
|
|
4409
3949
|
this.dataViewDialogVisible = false
|
|
4410
3950
|
},
|
|
@@ -5092,30 +4632,6 @@ export default {
|
|
|
5092
4632
|
)
|
|
5093
4633
|
: customColumns
|
|
5094
4634
|
},
|
|
5095
|
-
countPageTotal() {
|
|
5096
|
-
this.searchCountTotal(this.getParam())
|
|
5097
|
-
},
|
|
5098
|
-
switchPage(type) {
|
|
5099
|
-
if (type == 'prev') this.pagination.page--
|
|
5100
|
-
if (type == 'next') this.pagination.page++
|
|
5101
|
-
this.handleCurrentChange(this.pagination.page)
|
|
5102
|
-
},
|
|
5103
|
-
handleInput(value) {
|
|
5104
|
-
if (!value) {
|
|
5105
|
-
return
|
|
5106
|
-
}
|
|
5107
|
-
// 使用正则表达式匹配正整数
|
|
5108
|
-
const regex = /^[1-9]\d*$/
|
|
5109
|
-
|
|
5110
|
-
// 如果输入的值不符合正整数的模式,则将其重置为1
|
|
5111
|
-
if (!regex.test(value)) {
|
|
5112
|
-
//如果上一次输入的页数有值,则用上一次输入的页数,否则默认为1
|
|
5113
|
-
this.pagination.page = this.lastPage ? this.lastPage : 1
|
|
5114
|
-
} else {
|
|
5115
|
-
//本次分页数,赋值给上一次分页数
|
|
5116
|
-
this.lastPage = this.pagination.page
|
|
5117
|
-
}
|
|
5118
|
-
},
|
|
5119
4635
|
},
|
|
5120
4636
|
// asyncComputed: {
|
|
5121
4637
|
// showDraftList() {
|