formStore.js
4.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
import Vue from 'vue'
import form from '@/api/form.js'
import {toCamel} from '@/utils/index.js'
const state = {
// 自定义对话框数据
customDialogData: {},
// 关联查询数据
customQueryData: {},
// 表单列表配置页面 下拉显示字段存储
formListCommonVar: [],
// 表单设计页面 当前选中的控件
selectWidget: {options: {validateType: ''}}
}
const getters = {
hasCustomQueryDataWithAlias: state => alias => {
return state.customQueryData.hasOwnProperty(alias)
},
hasCustomDialogDataWithAlias: state => alias => {
return state.customDialogData.hasOwnProperty(alias)
},
displayFormListCommonVar: state => {
let data = JSON.parse(JSON.stringify(state.formListCommonVar))
const disableUpdateFiled = ['form_data_rev_','id_','ref_id_']
data.forEach((item, index) => {
item.fields.forEach(subItem => {
if((subItem.name && disableUpdateFiled.indexOf(subItem.name.toLowerCase()) > -1) ||
(subItem.oldTableField && disableUpdateFiled.indexOf(subItem.oldTableField.toLowerCase().replace('f_','')) > -1) ){
subItem.disableUpdate = true
}
// 主表非流程字段拼接参数
if (index === 0) {
subItem.boName = subItem.name
if (!subItem.flowField) {
let subItemName =
subItem.tableName + (subItem.oldTableField || subItem.name)
subItem.name = subItemName.replace(/_/g, '').toLowerCase()
}
} else {
// 关联表参数修改
subItem.boName = subItem.name
subItem.name = (item.name + subItem.name)
.replace(/_/g, '')
.toLowerCase()
}
})
})
return data
},
conditionFormListCommonVar: state => {
let data = JSON.parse(JSON.stringify(state.formListCommonVar))
data.forEach((item, index) => {
// 主表需要加t前缀,而且主表非id_、ref_id时,主表字段再加前缀F_ 去区分
if (item.fields && item.fields.length) {
item.fields.forEach(subItem => {
if (index === 0) {
subItem.queryPre =
item.name.toLowerCase().startsWith('w_') &&
subItem.name.toLowerCase() != 'id_' &&
subItem.name.toLowerCase() != 'ref_id_'
? 't.F_'
: 't.'
} else {
subItem.queryPre = item.name + '.'
}
})
}
})
return data
}
}
const actions = {
getCustomQuery({commit, state, getters}, alias) {
if (getters.hasCustomQueryDataWithAlias(alias)) {
return
}
form.getByAliasCq(alias, res => {
commit('addCustomQueryData', res)
})
},
clearCustomQuery({commit, state, getters}, alias) {
if (!getters.hasCustomQueryDataWithAlias(alias)) {
return
}
if (alias) {
commit('clearCustomQueryData', alias)
}
},
getCustomDialog({commit, state, getters}, alias) {
if (getters.hasCustomDialogDataWithAlias(alias)) {
return
}
form.getDialogByAlias(alias, res => {
commit('addCustomDialogData', res)
})
},
clearCustomDialog({commit, state, getters}, alias) {
if (!getters.hasCustomDialogDataWithAlias(alias)) {
return
}
if (alias) {
commit('clearCustomDialogData', alias)
}
},
setFormListCommonVar({commit}, params) {
form.joinCheckSql(params).then(({data}) => {
if (data && data.value) {
commit('setFormListCommonVar', data.value)
}
})
}
}
const mutations = {
addCustomQueryData(state, data) {
if (data && data.alias) {
Vue.set(state.customQueryData, data.alias, data)
}
},
clearCustomQueryData(state, alias) {
Vue.delete(state.customQueryData, alias)
},
addCustomDialogData(state, data) {
if (data && data.alias) {
Vue.set(state.customDialogData, data.alias, data)
}
},
clearCustomDialogData(state, alias) {
Vue.delete(state.customDialogData, alias)
},
setFormListCommonVar(state, data) {
data.forEach(item => {
if (item.fields && item.fields.length) {
item.fields.forEach(subItem => {
subItem.tableName = subItem.tableName || item.name
subItem.oldTableField = subItem.oldTableField
subItem.format = subItem.format
})
}
})
state.formListCommonVar = data
},
setSelectWidget(state, data) {
state.selectWidget = data
}
}
export default {
namespaced: true,
state,
getters,
actions,
mutations
}