ecinc-cloud-wappaio 9.7.107 → 9.7.109
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/ecwappaio.common.js +661 -206
- package/lib/ecwappaio.umd.js +661 -206
- package/lib/ecwappaio.umd.min.js +1 -1
- package/package.json +1 -1
package/lib/ecwappaio.common.js
CHANGED
|
@@ -55948,7 +55948,7 @@ var install = function install(Vue) {
|
|
|
55948
55948
|
|
|
55949
55949
|
/***/ }),
|
|
55950
55950
|
|
|
55951
|
-
/***/
|
|
55951
|
+
/***/ 71634:
|
|
55952
55952
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
55953
55953
|
|
|
55954
55954
|
"use strict";
|
|
@@ -55960,13 +55960,13 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
55960
55960
|
DataDictForm: function() { return /* binding */ DataDictForm; }
|
|
55961
55961
|
});
|
|
55962
55962
|
|
|
55963
|
-
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwplat/DataDict/src/form.vue?vue&type=template&id=
|
|
55963
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwplat/DataDict/src/form.vue?vue&type=template&id=6c8198bc&scoped=true
|
|
55964
55964
|
var render = function render() {
|
|
55965
55965
|
var _vm = this,
|
|
55966
55966
|
_c = _vm._self._c;
|
|
55967
55967
|
return _c('div', {
|
|
55968
55968
|
attrs: {
|
|
55969
|
-
"id": "
|
|
55969
|
+
"id": "dcontent_09339ee4749f44b092e460b48462046b"
|
|
55970
55970
|
}
|
|
55971
55971
|
}, [_c('el-form', {
|
|
55972
55972
|
attrs: {
|
|
@@ -56016,16 +56016,16 @@ var render = function render() {
|
|
|
56016
56016
|
ref: 'field-paramDesc',
|
|
56017
56017
|
attrs: {
|
|
56018
56018
|
"field": {
|
|
56019
|
-
|
|
56020
|
-
|
|
56021
|
-
|
|
56022
|
-
|
|
56023
|
-
|
|
56024
|
-
|
|
56025
|
-
|
|
56026
|
-
|
|
56027
|
-
|
|
56028
|
-
|
|
56019
|
+
textFormatter: 'textfield',
|
|
56020
|
+
elementType: 'input',
|
|
56021
|
+
propName: 'paramDesc',
|
|
56022
|
+
model: 'vo.paramDesc',
|
|
56023
|
+
emptyMessage: '请输入字典说明',
|
|
56024
|
+
isRequired: 1,
|
|
56025
|
+
elementCanEdit: '{${canEdit}}',
|
|
56026
|
+
elementReadonly: 0,
|
|
56027
|
+
valueMaxLength: '500',
|
|
56028
|
+
propComment: '字典说明'
|
|
56029
56029
|
},
|
|
56030
56030
|
"vo": _vm.vo,
|
|
56031
56031
|
"can-edit": _vm.canEdit
|
|
@@ -56055,16 +56055,16 @@ var render = function render() {
|
|
|
56055
56055
|
ref: 'field-paramName',
|
|
56056
56056
|
attrs: {
|
|
56057
56057
|
"field": {
|
|
56058
|
-
|
|
56059
|
-
|
|
56060
|
-
|
|
56061
|
-
|
|
56062
|
-
|
|
56063
|
-
|
|
56064
|
-
|
|
56065
|
-
|
|
56066
|
-
|
|
56067
|
-
|
|
56058
|
+
textFormatter: 'textfield',
|
|
56059
|
+
elementType: 'input',
|
|
56060
|
+
propName: 'paramName',
|
|
56061
|
+
model: 'vo.paramNameInput',
|
|
56062
|
+
emptyMessage: '请输入字典编码',
|
|
56063
|
+
isRequired: 1,
|
|
56064
|
+
elementCanEdit: '{${canEdit}}',
|
|
56065
|
+
elementReadonly: 0,
|
|
56066
|
+
valueMaxLength: '500',
|
|
56067
|
+
propComment: '字典编码'
|
|
56068
56068
|
},
|
|
56069
56069
|
"vo": _vm.vo,
|
|
56070
56070
|
"can-edit": _vm.canEdit
|
|
@@ -56075,7 +56075,7 @@ var render = function render() {
|
|
|
56075
56075
|
staticStyle: {
|
|
56076
56076
|
"text-align": "right"
|
|
56077
56077
|
}
|
|
56078
|
-
}, [_vm._v("
|
|
56078
|
+
}, [_vm._v("列表选项配置")]), _c('td', {
|
|
56079
56079
|
staticClass: "el-table__cell tdcont tdw83",
|
|
56080
56080
|
staticStyle: {
|
|
56081
56081
|
"padding": "0 !important"
|
|
@@ -56098,41 +56098,69 @@ var render = function render() {
|
|
|
56098
56098
|
staticClass: "el-table__cell tdlbl",
|
|
56099
56099
|
staticStyle: {
|
|
56100
56100
|
"text-align": "center",
|
|
56101
|
-
"width": "
|
|
56101
|
+
"width": "40%",
|
|
56102
56102
|
"color": "black",
|
|
56103
56103
|
"font-weight": "600",
|
|
56104
56104
|
"background-color": "#f5f7fa"
|
|
56105
56105
|
}
|
|
56106
|
-
}, [_vm._v("
|
|
56106
|
+
}, [_vm._v("选项值")]), _c('td', {
|
|
56107
56107
|
staticClass: "el-table__cell tdlbl",
|
|
56108
56108
|
staticStyle: {
|
|
56109
56109
|
"text-align": "center",
|
|
56110
|
-
"width": "
|
|
56110
|
+
"width": "40%",
|
|
56111
56111
|
"color": "black",
|
|
56112
56112
|
"font-weight": "600",
|
|
56113
56113
|
"background-color": "#f5f7fa"
|
|
56114
56114
|
}
|
|
56115
|
-
}, [_vm._v("
|
|
56115
|
+
}, [_vm._v("显示文本")]), _c('td', {
|
|
56116
56116
|
staticClass: "el-table__cell tdlbl",
|
|
56117
56117
|
staticStyle: {
|
|
56118
56118
|
"text-align": "center",
|
|
56119
|
-
"width": "
|
|
56119
|
+
"width": "20%",
|
|
56120
56120
|
"color": "black",
|
|
56121
56121
|
"font-weight": "600",
|
|
56122
56122
|
"border-right": "none",
|
|
56123
56123
|
"background-color": "#f5f7fa"
|
|
56124
56124
|
}
|
|
56125
|
-
}, [_vm._v("
|
|
56125
|
+
}, [_vm._v("操作")])])]), _c('tbody', {
|
|
56126
56126
|
ref: "optionTbody"
|
|
56127
|
-
}, _vm._l(_vm.
|
|
56127
|
+
}, _vm._l(_vm.displayRows, function (row) {
|
|
56128
56128
|
return _c('tr', {
|
|
56129
|
-
key: opt._dragKey
|
|
56129
|
+
key: row.opt._dragKey
|
|
56130
56130
|
}, [_c('td', {
|
|
56131
56131
|
staticStyle: {
|
|
56132
|
-
"text-align": "
|
|
56132
|
+
"text-align": "left",
|
|
56133
56133
|
"padding": "4px 8px"
|
|
56134
56134
|
}
|
|
56135
|
-
}, [_c('
|
|
56135
|
+
}, [_c('div', {
|
|
56136
|
+
staticStyle: {
|
|
56137
|
+
"display": "flex",
|
|
56138
|
+
"align-items": "center"
|
|
56139
|
+
},
|
|
56140
|
+
style: {
|
|
56141
|
+
paddingLeft: row.depth * 20 + 'px'
|
|
56142
|
+
}
|
|
56143
|
+
}, [_c('span', {
|
|
56144
|
+
staticStyle: {
|
|
56145
|
+
"flex": "0 0 18px",
|
|
56146
|
+
"display": "inline-flex",
|
|
56147
|
+
"align-items": "center",
|
|
56148
|
+
"justify-content": "center"
|
|
56149
|
+
}
|
|
56150
|
+
}, [_vm.hasChildren(row.opt) ? _c('i', {
|
|
56151
|
+
staticClass: "el-icon-caret-right expand-toggle",
|
|
56152
|
+
class: {
|
|
56153
|
+
'is-expanded': row.opt._expanded !== false
|
|
56154
|
+
},
|
|
56155
|
+
attrs: {
|
|
56156
|
+
"title": "展开/收起"
|
|
56157
|
+
},
|
|
56158
|
+
on: {
|
|
56159
|
+
"click": function click($event) {
|
|
56160
|
+
return _vm.toggleExpand(row.opt);
|
|
56161
|
+
}
|
|
56162
|
+
}
|
|
56163
|
+
}) : _vm._e()]), _c('el-input', {
|
|
56136
56164
|
attrs: {
|
|
56137
56165
|
"placeholder": "选项值",
|
|
56138
56166
|
"disabled": !_vm.canEdit
|
|
@@ -56141,13 +56169,13 @@ var render = function render() {
|
|
|
56141
56169
|
"input": _vm.syncOptionsToParamValue
|
|
56142
56170
|
},
|
|
56143
56171
|
model: {
|
|
56144
|
-
value: opt.value,
|
|
56172
|
+
value: row.opt.value,
|
|
56145
56173
|
callback: function callback($$v) {
|
|
56146
|
-
_vm.$set(opt, "value", $$v);
|
|
56174
|
+
_vm.$set(row.opt, "value", $$v);
|
|
56147
56175
|
},
|
|
56148
|
-
expression: "opt.value"
|
|
56176
|
+
expression: "row.opt.value"
|
|
56149
56177
|
}
|
|
56150
|
-
})], 1), _c('td', {
|
|
56178
|
+
})], 1)]), _c('td', {
|
|
56151
56179
|
staticStyle: {
|
|
56152
56180
|
"text-align": "center",
|
|
56153
56181
|
"padding": "4px 8px"
|
|
@@ -56161,11 +56189,11 @@ var render = function render() {
|
|
|
56161
56189
|
"input": _vm.syncOptionsToParamValue
|
|
56162
56190
|
},
|
|
56163
56191
|
model: {
|
|
56164
|
-
value: opt.text,
|
|
56192
|
+
value: row.opt.text,
|
|
56165
56193
|
callback: function callback($$v) {
|
|
56166
|
-
_vm.$set(opt, "text", $$v);
|
|
56194
|
+
_vm.$set(row.opt, "text", $$v);
|
|
56167
56195
|
},
|
|
56168
|
-
expression: "opt.text"
|
|
56196
|
+
expression: "row.opt.text"
|
|
56169
56197
|
}
|
|
56170
56198
|
})], 1), _c('td', {
|
|
56171
56199
|
staticStyle: {
|
|
@@ -56173,54 +56201,99 @@ var render = function render() {
|
|
|
56173
56201
|
"padding": "4px 8px",
|
|
56174
56202
|
"white-space": "nowrap"
|
|
56175
56203
|
}
|
|
56176
|
-
}, [_vm.canEdit ? _c('
|
|
56177
|
-
staticClass: "option-drag-handle
|
|
56178
|
-
staticStyle: {
|
|
56179
|
-
"cursor": "move",
|
|
56180
|
-
"color": "#909399",
|
|
56181
|
-
"margin-right": "8px",
|
|
56182
|
-
"font-size": "16px",
|
|
56183
|
-
"vertical-align": "middle"
|
|
56184
|
-
},
|
|
56204
|
+
}, [_vm.canEdit ? _c('el-button', {
|
|
56205
|
+
staticClass: "option-drag-handle",
|
|
56185
56206
|
attrs: {
|
|
56186
|
-
"
|
|
56207
|
+
"size": "mini",
|
|
56208
|
+
"type": "text",
|
|
56209
|
+
"icon": "el-icon-rank",
|
|
56210
|
+
"title": "拖动排序(仅限同级)"
|
|
56187
56211
|
}
|
|
56188
|
-
}) : _vm._e(), _c('el-button', {
|
|
56212
|
+
}, [_vm._v("排序")]) : _vm._e(), _c('el-button', {
|
|
56189
56213
|
attrs: {
|
|
56190
|
-
"
|
|
56191
|
-
"
|
|
56192
|
-
"
|
|
56214
|
+
"size": "mini",
|
|
56215
|
+
"type": "text",
|
|
56216
|
+
"icon": "el-icon-plus",
|
|
56217
|
+
"disabled": !_vm.canEdit,
|
|
56218
|
+
"title": "在该选项下新增一个下级选项"
|
|
56219
|
+
},
|
|
56220
|
+
on: {
|
|
56221
|
+
"click": function click($event) {
|
|
56222
|
+
return _vm.addChild(row.opt);
|
|
56223
|
+
}
|
|
56224
|
+
}
|
|
56225
|
+
}, [_vm._v("新增下级")]), _c('el-button', {
|
|
56226
|
+
attrs: {
|
|
56227
|
+
"size": "mini",
|
|
56228
|
+
"type": "text",
|
|
56193
56229
|
"icon": "el-icon-delete",
|
|
56194
56230
|
"disabled": !_vm.canEdit
|
|
56195
56231
|
},
|
|
56196
56232
|
on: {
|
|
56197
56233
|
"click": function click($event) {
|
|
56198
|
-
return _vm.removeOption(
|
|
56234
|
+
return _vm.removeOption(row.opt);
|
|
56199
56235
|
}
|
|
56200
56236
|
}
|
|
56201
56237
|
}, [_vm._v("删除")])], 1)]);
|
|
56202
56238
|
}), 0)]), _c('div', {
|
|
56203
56239
|
staticStyle: {
|
|
56204
|
-
"padding": "8px"
|
|
56240
|
+
"padding": "8px",
|
|
56241
|
+
"text-align": "center"
|
|
56205
56242
|
}
|
|
56206
56243
|
}, [_c('el-button', {
|
|
56207
56244
|
attrs: {
|
|
56208
|
-
"type": "primary",
|
|
56209
|
-
"plain": "",
|
|
56210
56245
|
"size": "small",
|
|
56246
|
+
"plain": "",
|
|
56211
56247
|
"icon": "el-icon-plus",
|
|
56212
56248
|
"disabled": !_vm.canEdit
|
|
56213
56249
|
},
|
|
56214
56250
|
on: {
|
|
56215
56251
|
"click": _vm.addOption
|
|
56216
56252
|
}
|
|
56217
|
-
}, [_vm._v("添加选项")])], 1)])]),
|
|
56253
|
+
}, [_vm._v("添加选项")])], 1)])]), _c('tr', [_c('td', {
|
|
56254
|
+
staticClass: "el-table__cell tdlbl tdw17",
|
|
56255
|
+
staticStyle: {
|
|
56256
|
+
"text-align": "right"
|
|
56257
|
+
}
|
|
56258
|
+
}, [_vm._v("级联配置")]), _c('td', {
|
|
56259
|
+
staticClass: "el-table__cell tdcont tdw83",
|
|
56260
|
+
staticStyle: {
|
|
56261
|
+
"padding": "8px 8px 8px 12px"
|
|
56262
|
+
},
|
|
56263
|
+
attrs: {
|
|
56264
|
+
"colspan": "5"
|
|
56265
|
+
}
|
|
56266
|
+
}, [_c('el-input', {
|
|
56267
|
+
staticStyle: {
|
|
56268
|
+
"width": "100%"
|
|
56269
|
+
},
|
|
56270
|
+
attrs: {
|
|
56271
|
+
"placeholder": "如 city,district,逗号分隔,从第二级开始填(第一级为字典编码对应字段),留空不启用",
|
|
56272
|
+
"disabled": !_vm.canEdit,
|
|
56273
|
+
"clearable": ""
|
|
56274
|
+
},
|
|
56275
|
+
on: {
|
|
56276
|
+
"input": _vm.syncOptionsToParamValue
|
|
56277
|
+
},
|
|
56278
|
+
model: {
|
|
56279
|
+
value: _vm.chainFieldsInput,
|
|
56280
|
+
callback: function callback($$v) {
|
|
56281
|
+
_vm.chainFieldsInput = $$v;
|
|
56282
|
+
},
|
|
56283
|
+
expression: "chainFieldsInput"
|
|
56284
|
+
}
|
|
56285
|
+
}), _c('div', {
|
|
56286
|
+
staticStyle: {
|
|
56287
|
+
"color": "#909399",
|
|
56288
|
+
"font-size": "12px",
|
|
56289
|
+
"margin-top": "4px"
|
|
56290
|
+
}
|
|
56291
|
+
}, [_vm._v("通过\"新增下级\"逐级构建层级树;填写后按字段名逐级注入选项(链式级联),留空则子级按 children 存储")])], 1)]), false ? 0 : _vm._e()])])])])])], 1);
|
|
56218
56292
|
};
|
|
56219
56293
|
var staticRenderFns = [];
|
|
56220
56294
|
|
|
56221
56295
|
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwplat/DataDict/src/form.vue?vue&type=script&lang=js
|
|
56222
56296
|
/* harmony default export */ var formvue_type_script_lang_js = ({
|
|
56223
|
-
name: 'DataDictForm',
|
|
56224
56297
|
props: {
|
|
56225
56298
|
vo: {
|
|
56226
56299
|
type: Object,
|
|
@@ -56242,26 +56315,30 @@ var staticRenderFns = [];
|
|
|
56242
56315
|
data: function data() {
|
|
56243
56316
|
return {
|
|
56244
56317
|
loginUser: this.$store.getters.loginUser,
|
|
56245
|
-
// 每行带稳定 _dragKey,供 v-for :key
|
|
56318
|
+
// 每行带稳定 _dragKey,供 v-for :key 使用;_expanded 为树形展开状态(默认收起,回显时仅显示顶级)
|
|
56246
56319
|
optionList: [{
|
|
56247
56320
|
value: '',
|
|
56248
56321
|
text: '',
|
|
56249
|
-
|
|
56322
|
+
parent: '',
|
|
56323
|
+
_dragKey: 'opt_init_0',
|
|
56324
|
+
_expanded: false
|
|
56250
56325
|
}],
|
|
56251
56326
|
syncing: false,
|
|
56252
56327
|
// Sortable 实例,销毁时释放
|
|
56253
56328
|
sortableInst: null,
|
|
56254
|
-
//
|
|
56329
|
+
// 生成唯一 key 的序号
|
|
56255
56330
|
dragKeySeq: 1,
|
|
56256
56331
|
// 字典编码前缀(来自路由 meta.params 的 paramType=xxx),用于 paramName 前缀拼接
|
|
56257
|
-
paramPrefix: ''
|
|
56332
|
+
paramPrefix: '',
|
|
56333
|
+
// 链式级联:字段列表输入值(逗号分隔,如 province,city,district)
|
|
56334
|
+
chainFieldsInput: ''
|
|
56258
56335
|
};
|
|
56259
56336
|
},
|
|
56260
56337
|
created: function created() {
|
|
56261
56338
|
if (this.$parent.$vnode.context.activeTabIndex) {
|
|
56262
56339
|
this.activeTabName = this.$parent.$vnode.context.activeTabIndex;
|
|
56263
56340
|
}
|
|
56264
|
-
this.$set(this.$vnode.context,
|
|
56341
|
+
this.$set(this.$vnode.context, 'wfAttach', false);
|
|
56265
56342
|
// 提取路由 meta.params 中 paramType= 后面的前缀(如 rsgl.options),供 paramName 前缀拼接使用
|
|
56266
56343
|
this.paramPrefix = this.extractParamPrefix();
|
|
56267
56344
|
},
|
|
@@ -56284,7 +56361,7 @@ var staticRenderFns = [];
|
|
|
56284
56361
|
}
|
|
56285
56362
|
// 解析选项配置到选项列表(兜底,防止 watch immediate 时序遗漏)
|
|
56286
56363
|
this.parseParamValueToOptions();
|
|
56287
|
-
// 等 DOM 按最新
|
|
56364
|
+
// 等 DOM 按最新 displayRows 渲染完成后再挂载 Sortable
|
|
56288
56365
|
var self = this;
|
|
56289
56366
|
this.$nextTick(function () {
|
|
56290
56367
|
self.initSortable();
|
|
@@ -56306,12 +56383,80 @@ var staticRenderFns = [];
|
|
|
56306
56383
|
this.parseParamValueToOptions();
|
|
56307
56384
|
},
|
|
56308
56385
|
immediate: true
|
|
56309
|
-
}
|
|
56310
|
-
|
|
56311
|
-
|
|
56312
|
-
|
|
56313
|
-
|
|
56386
|
+
}
|
|
56387
|
+
},
|
|
56388
|
+
computed: {
|
|
56389
|
+
/**
|
|
56390
|
+
* 树形展示行:按父子关系深度优先展开,子级缩进(depth 为层级深度)
|
|
56391
|
+
* 父子挂接优先用行对象引用 _parentRef(新增下级时建立,父行选项值未填写/后续修改均不断链),
|
|
56392
|
+
* 回显数据按 parent 值匹配后固化为引用;父行被删后引用失联的子级归入顶级(与后端层级切分容错一致)
|
|
56393
|
+
* 行收起(_expanded === false)时不渲染其后代;无法入树(环等)的行追加到末尾,避免丢失
|
|
56394
|
+
* @returns {Array} 展示行数组 [{opt: 选项行对象, depth: 层级深度}]
|
|
56395
|
+
*/
|
|
56396
|
+
displayRows: function displayRows() {
|
|
56397
|
+
var rows = [];
|
|
56398
|
+
var list = this.optionList;
|
|
56399
|
+
// value → 行对象 索引;_children 每次重算重建(非响应辅助字段,不参与依赖收集)
|
|
56400
|
+
var valueIndex = {};
|
|
56401
|
+
list.forEach(function (opt) {
|
|
56402
|
+
opt._children = [];
|
|
56403
|
+
var v = opt.value != null ? String(opt.value).trim() : '';
|
|
56404
|
+
if (v) {
|
|
56405
|
+
valueIndex[v] = opt;
|
|
56406
|
+
}
|
|
56407
|
+
});
|
|
56408
|
+
// 确定每行父行对象并挂接子级:_parentRef 优先(引用失联时回退按 parent 值匹配并重新固化)
|
|
56409
|
+
var topLevels = [];
|
|
56410
|
+
list.forEach(function (opt) {
|
|
56411
|
+
var parentObj = null;
|
|
56412
|
+
if (opt._parentRef && list.indexOf(opt._parentRef) !== -1) {
|
|
56413
|
+
parentObj = opt._parentRef;
|
|
56414
|
+
} else {
|
|
56415
|
+
var p = opt.parent != null ? String(opt.parent).trim() : '';
|
|
56416
|
+
parentObj = p && valueIndex[p] && valueIndex[p] !== opt ? valueIndex[p] : null;
|
|
56417
|
+
opt._parentRef = parentObj;
|
|
56418
|
+
}
|
|
56419
|
+
if (parentObj) {
|
|
56420
|
+
parentObj._children.push(opt);
|
|
56421
|
+
} else {
|
|
56422
|
+
topLevels.push(opt);
|
|
56423
|
+
}
|
|
56424
|
+
});
|
|
56425
|
+
// 深度优先展开;已访问集合防环;hidden 表示该行因祖先收起而不渲染(仍标记已访问,
|
|
56426
|
+
// 避免被末尾兜底逻辑当作未入树行强制追加显示)
|
|
56427
|
+
var visited = {};
|
|
56428
|
+
function walk(opt, depth, hidden) {
|
|
56429
|
+
if (visited[opt._dragKey]) {
|
|
56430
|
+
return;
|
|
56431
|
+
}
|
|
56432
|
+
visited[opt._dragKey] = true;
|
|
56433
|
+
if (!hidden) {
|
|
56434
|
+
rows.push({
|
|
56435
|
+
opt: opt,
|
|
56436
|
+
depth: depth
|
|
56437
|
+
});
|
|
56438
|
+
}
|
|
56439
|
+
var childrenHidden = hidden || opt._expanded === false;
|
|
56440
|
+
for (var i = 0; i < opt._children.length; i++) {
|
|
56441
|
+
walk(opt._children[i], depth + 1, childrenHidden);
|
|
56442
|
+
}
|
|
56443
|
+
}
|
|
56444
|
+
topLevels.forEach(function (opt) {
|
|
56445
|
+
walk(opt, 0, false);
|
|
56446
|
+
});
|
|
56447
|
+
// 兜底:环状引用等原因未入树的行按顶级追加,避免丢失(收起隐藏的行已 visited,不会重复追加)
|
|
56448
|
+
if (rows.length < list.length) {
|
|
56449
|
+
list.forEach(function (opt) {
|
|
56450
|
+
if (!visited[opt._dragKey]) {
|
|
56451
|
+
visited[opt._dragKey] = true;
|
|
56452
|
+
rows.push({
|
|
56453
|
+
opt: opt,
|
|
56454
|
+
depth: 0
|
|
56455
|
+
});
|
|
56456
|
+
}
|
|
56457
|
+
});
|
|
56314
56458
|
}
|
|
56459
|
+
return rows;
|
|
56315
56460
|
}
|
|
56316
56461
|
},
|
|
56317
56462
|
methods: {
|
|
@@ -56345,7 +56490,7 @@ var staticRenderFns = [];
|
|
|
56345
56490
|
this.vo.paramName = inputVal;
|
|
56346
56491
|
return;
|
|
56347
56492
|
}
|
|
56348
|
-
if (inputVal.indexOf(prefix) === 0) {
|
|
56493
|
+
if (inputVal.indexOf(prefix) === 0 || inputVal.indexOf('.options') !== -1) {
|
|
56349
56494
|
this.vo.paramName = inputVal;
|
|
56350
56495
|
} else {
|
|
56351
56496
|
this.vo.paramName = prefix + '.' + inputVal;
|
|
@@ -56353,7 +56498,7 @@ var staticRenderFns = [];
|
|
|
56353
56498
|
},
|
|
56354
56499
|
/**
|
|
56355
56500
|
* 生成选项行稳定唯一 key
|
|
56356
|
-
* @returns {string}
|
|
56501
|
+
* @returns {string} 行唯一 key
|
|
56357
56502
|
*/
|
|
56358
56503
|
nextDragKey: function nextDragKey() {
|
|
56359
56504
|
this.dragKeySeq += 1;
|
|
@@ -56373,9 +56518,8 @@ var staticRenderFns = [];
|
|
|
56373
56518
|
}
|
|
56374
56519
|
},
|
|
56375
56520
|
/**
|
|
56376
|
-
*
|
|
56521
|
+
* 初始化拖拽排序(仅限同级内排序,校验见 handleDragEnd)
|
|
56377
56522
|
* 使用 window.Sortable(vue.config.js 已 external 为全局,public 已引入 Sortable.min.js)
|
|
56378
|
-
* onEnd 里同步 optionList,保证 Vue 数据与 DOM 顺序一致
|
|
56379
56523
|
*/
|
|
56380
56524
|
initSortable: function initSortable() {
|
|
56381
56525
|
var self = this;
|
|
@@ -56399,88 +56543,357 @@ var staticRenderFns = [];
|
|
|
56399
56543
|
// canEdit 为数字型权限,0 禁用,非 0 可拖
|
|
56400
56544
|
disabled: !this.canEdit,
|
|
56401
56545
|
onEnd: function onEnd(evt) {
|
|
56402
|
-
|
|
56403
|
-
// Sortable 已移动 DOM,同步到数据数组,Vue 按 _dragKey 复用节点
|
|
56404
|
-
var moved = self.optionList.splice(evt.oldIndex, 1)[0];
|
|
56405
|
-
self.optionList.splice(evt.newIndex, 0, moved);
|
|
56406
|
-
self.syncOptionsToParamValue();
|
|
56546
|
+
self.handleDragEnd(evt);
|
|
56407
56547
|
}
|
|
56408
56548
|
});
|
|
56409
56549
|
},
|
|
56410
|
-
|
|
56550
|
+
/**
|
|
56551
|
+
* 拖拽落点处理:仅允许同一父级下的同级排序(下级不允许拖到上级或其它层级),违规回滚 DOM 并提示
|
|
56552
|
+
* <p>
|
|
56553
|
+
* 落点判定:取落点行(拖到最后时取尾行),沿其父链向上找与拖动行同父级的行 S——
|
|
56554
|
+
* 找不到(跨级)或遇到拖动行自身(拖进自己子树)则回滚;
|
|
56555
|
+
* 找到后按 S 在同级中的位置计算新顺序(落点在同级行上按拖动方向取其前/后,落点在某同级后代上取该同级之后),
|
|
56556
|
+
* 重排同级顺序后按树形深度优先重建 optionList。
|
|
56557
|
+
* </p>
|
|
56558
|
+
* @param {Object} evt Sortable onEnd 事件(含 oldIndex/newIndex/item/from)
|
|
56559
|
+
*/
|
|
56560
|
+
handleDragEnd: function handleDragEnd(evt) {
|
|
56561
|
+
var oldIndex = evt.oldIndex;
|
|
56562
|
+
var newIndex = evt.newIndex;
|
|
56563
|
+
// 原地拖动(含被阻止的拖动)无变化
|
|
56564
|
+
if (oldIndex === newIndex) {
|
|
56565
|
+
return;
|
|
56566
|
+
}
|
|
56567
|
+
var rows = this.displayRows;
|
|
56568
|
+
var dragRow = rows[oldIndex];
|
|
56569
|
+
if (!dragRow) {
|
|
56570
|
+
this.rollbackDragDom(evt);
|
|
56571
|
+
return;
|
|
56572
|
+
}
|
|
56573
|
+
var dragOpt = dragRow.opt;
|
|
56574
|
+
var dragParent = dragOpt._parentRef || null;
|
|
56575
|
+
// 参照行:落点行(拖到列表末尾时取尾行)
|
|
56576
|
+
var refRow = newIndex < rows.length ? rows[newIndex] : rows[rows.length - 1];
|
|
56577
|
+
if (!refRow) {
|
|
56578
|
+
this.rollbackDragDom(evt);
|
|
56579
|
+
return;
|
|
56580
|
+
}
|
|
56581
|
+
// 沿参照行父链向上找同级行 S;insertAfter 标记参照行是某同级 S 的后代(落点应取 S 之后)
|
|
56582
|
+
var s = refRow.opt;
|
|
56583
|
+
var insertAfter = false;
|
|
56584
|
+
var found = false;
|
|
56585
|
+
var guard = 0;
|
|
56586
|
+
while (s && guard < 10000) {
|
|
56587
|
+
guard++;
|
|
56588
|
+
if (s === dragOpt) {
|
|
56589
|
+
// 落点在拖动行自己的子树内,视为无效
|
|
56590
|
+
break;
|
|
56591
|
+
}
|
|
56592
|
+
if ((s._parentRef || null) === dragParent) {
|
|
56593
|
+
found = true;
|
|
56594
|
+
break;
|
|
56595
|
+
}
|
|
56596
|
+
s = s._parentRef;
|
|
56597
|
+
insertAfter = true;
|
|
56598
|
+
}
|
|
56599
|
+
if (!found) {
|
|
56600
|
+
this.rollbackDragDom(evt);
|
|
56601
|
+
this.$message.warning('仅允许同级内拖动排序,不能拖到上级或其它层级');
|
|
56602
|
+
return;
|
|
56603
|
+
}
|
|
56604
|
+
// 同级顺序列表:父级的 _children(displayRows 构建的同级顺序)或顶级行列表
|
|
56605
|
+
var siblings;
|
|
56606
|
+
if (dragParent) {
|
|
56607
|
+
siblings = dragParent._children || [];
|
|
56608
|
+
} else {
|
|
56609
|
+
siblings = [];
|
|
56610
|
+
rows.forEach(function (r) {
|
|
56611
|
+
if (r.depth === 0) {
|
|
56612
|
+
siblings.push(r.opt);
|
|
56613
|
+
}
|
|
56614
|
+
});
|
|
56615
|
+
}
|
|
56616
|
+
var sibIdx = siblings.indexOf(s);
|
|
56617
|
+
var oldPos = siblings.indexOf(dragOpt);
|
|
56618
|
+
if (sibIdx === -1 || oldPos === -1) {
|
|
56619
|
+
this.rollbackDragDom(evt);
|
|
56620
|
+
return;
|
|
56621
|
+
}
|
|
56622
|
+
// 计算新位置:参照行是同级时按拖动方向取其前/后(向下拖=其后),是某同级的后代时取该同级之后
|
|
56623
|
+
var newPos;
|
|
56624
|
+
if (insertAfter) {
|
|
56625
|
+
newPos = sibIdx + 1;
|
|
56626
|
+
} else {
|
|
56627
|
+
newPos = oldIndex < newIndex ? sibIdx + 1 : sibIdx;
|
|
56628
|
+
}
|
|
56629
|
+
// 同级重排(newPos 为含拖动行语义的位置,移除后需校正)
|
|
56630
|
+
siblings.splice(oldPos, 1);
|
|
56631
|
+
if (oldPos < newPos) {
|
|
56632
|
+
newPos -= 1;
|
|
56633
|
+
}
|
|
56634
|
+
siblings.splice(newPos, 0, dragOpt);
|
|
56635
|
+
// 按树形深度优先重建 optionList(平铺顺序=树形顺序,收起的子树顺序同步更新)
|
|
56636
|
+
var newList = [];
|
|
56637
|
+
var inTree = {};
|
|
56638
|
+
function collect(opt) {
|
|
56639
|
+
if (inTree[opt._dragKey]) {
|
|
56640
|
+
return;
|
|
56641
|
+
}
|
|
56642
|
+
inTree[opt._dragKey] = true;
|
|
56643
|
+
newList.push(opt);
|
|
56644
|
+
var children = opt._children || [];
|
|
56645
|
+
for (var i = 0; i < children.length; i++) {
|
|
56646
|
+
collect(children[i]);
|
|
56647
|
+
}
|
|
56648
|
+
}
|
|
56649
|
+
if (dragParent) {
|
|
56650
|
+
// 从根级开始收集:按顶级行列表深度优先(拖动行的父级所在树的根)
|
|
56651
|
+
var topLevelOpts = [];
|
|
56652
|
+
rows.forEach(function (r) {
|
|
56653
|
+
if (r.depth === 0) {
|
|
56654
|
+
topLevelOpts.push(r.opt);
|
|
56655
|
+
}
|
|
56656
|
+
});
|
|
56657
|
+
topLevelOpts.forEach(collect);
|
|
56658
|
+
} else {
|
|
56659
|
+
siblings.forEach(collect);
|
|
56660
|
+
}
|
|
56661
|
+
// 兜底:未入树(环等)的行按原顺序追加,避免丢失
|
|
56662
|
+
if (newList.length < this.optionList.length) {
|
|
56663
|
+
this.optionList.forEach(function (opt) {
|
|
56664
|
+
if (!inTree[opt._dragKey]) {
|
|
56665
|
+
newList.push(opt);
|
|
56666
|
+
}
|
|
56667
|
+
});
|
|
56668
|
+
}
|
|
56669
|
+
this.optionList = newList;
|
|
56670
|
+
this.syncOptionsToParamValue();
|
|
56671
|
+
},
|
|
56672
|
+
/**
|
|
56673
|
+
* 回滚拖动产生的 DOM 位移(校验失败时数据未变,需手动把行放回原位置)
|
|
56674
|
+
* @param {Object} evt Sortable onEnd 事件
|
|
56675
|
+
*/
|
|
56676
|
+
rollbackDragDom: function rollbackDragDom(evt) {
|
|
56677
|
+
var tbody = evt.from;
|
|
56678
|
+
if (!tbody || !evt.item) {
|
|
56679
|
+
return;
|
|
56680
|
+
}
|
|
56681
|
+
var children = tbody.children;
|
|
56682
|
+
if (children[evt.oldIndex]) {
|
|
56683
|
+
// 行已从原位置移走,原位置现为原下一个兄弟,插到它前面即回原位
|
|
56684
|
+
tbody.insertBefore(evt.item, children[evt.oldIndex]);
|
|
56685
|
+
} else {
|
|
56686
|
+
tbody.appendChild(evt.item);
|
|
56687
|
+
}
|
|
56688
|
+
},
|
|
56689
|
+
// 解析 vo.paramValue 为 optionList(平铺行);为空/解析失败/空数组时默认一条空选项
|
|
56690
|
+
// 支持嵌套存储格式:子级统一嵌在父选项的 children 键内;
|
|
56691
|
+
// 父选项带 subFiled(下一级字段名)为链式级联,无 subFiled 为单字段级联;
|
|
56692
|
+
// 解析时展平为平铺行并挂接父子引用;链式字段名(第二级起)从各级 subFiled 收集
|
|
56411
56693
|
parseParamValueToOptions: function parseParamValueToOptions() {
|
|
56412
56694
|
var val = this.vo.paramValue;
|
|
56413
56695
|
var list = [];
|
|
56414
56696
|
var self = this;
|
|
56697
|
+
var parsed = null;
|
|
56698
|
+
// 各级 subFiled 收集的链式字段名(第二级起,深度优先顺序)
|
|
56699
|
+
var chainFieldKeys = [];
|
|
56700
|
+
function isArray(obj) {
|
|
56701
|
+
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
56702
|
+
}
|
|
56415
56703
|
if (val && typeof val === 'string' && val.trim().charAt(0) === '[') {
|
|
56416
56704
|
try {
|
|
56417
|
-
// 兼容单引号JS
|
|
56418
|
-
|
|
56419
|
-
if (parsed && Array.isArray(parsed)) {
|
|
56420
|
-
list = parsed.map(function (item) {
|
|
56421
|
-
return {
|
|
56422
|
-
value: item && item.value != null ? String(item.value) : '',
|
|
56423
|
-
text: item && item.text != null ? String(item.text) : '',
|
|
56424
|
-
// 解析时补上稳定 key,避免 v-for 用 index 导致拖拽回弹
|
|
56425
|
-
_dragKey: self.nextDragKey()
|
|
56426
|
-
};
|
|
56427
|
-
});
|
|
56428
|
-
}
|
|
56705
|
+
// 兼容单引号JS对象字面量与标准JSON双引号格式
|
|
56706
|
+
parsed = new Function('return ' + val)();
|
|
56429
56707
|
} catch (e) {
|
|
56430
56708
|
// 解析失败(用户手动编辑未完成或格式错误),保留原状不覆盖 optionList
|
|
56431
56709
|
}
|
|
56432
56710
|
}
|
|
56711
|
+
if (parsed && isArray(parsed)) {
|
|
56712
|
+
// 递归展平:子级集合取 children 键;父选项的 subFiled 声明子级对应字段(链式级联)
|
|
56713
|
+
;
|
|
56714
|
+
(function flatten(arr, parentRow) {
|
|
56715
|
+
arr.forEach(function (item) {
|
|
56716
|
+
var row = {
|
|
56717
|
+
value: item && item.value != null ? String(item.value) : '',
|
|
56718
|
+
text: item && item.text != null ? String(item.text) : '',
|
|
56719
|
+
parent: parentRow && parentRow.value != null ? String(parentRow.value) : '',
|
|
56720
|
+
_dragKey: self.nextDragKey(),
|
|
56721
|
+
_expanded: false
|
|
56722
|
+
};
|
|
56723
|
+
// 行对象入 optionList 前挂接父行引用(父行选项值未填写/后续修改均不断链)
|
|
56724
|
+
row._parentRef = parentRow || null;
|
|
56725
|
+
list.push(row);
|
|
56726
|
+
if (item && isArray(item.children)) {
|
|
56727
|
+
var subFiled = item.subFiled != null ? String(item.subFiled).trim() : '';
|
|
56728
|
+
if (subFiled && chainFieldKeys.indexOf(subFiled) === -1) {
|
|
56729
|
+
chainFieldKeys.push(subFiled);
|
|
56730
|
+
}
|
|
56731
|
+
flatten(item.children, row);
|
|
56732
|
+
}
|
|
56733
|
+
});
|
|
56734
|
+
})(parsed, null);
|
|
56735
|
+
}
|
|
56736
|
+
// 链式字段列表回显:从各级 subFiled 收集的第二级起字段名(第一级为字典编码对应字段,无需填写)
|
|
56737
|
+
this.chainFieldsInput = chainFieldKeys.join(',');
|
|
56433
56738
|
if (list.length === 0) {
|
|
56434
56739
|
list = [{
|
|
56435
56740
|
value: '',
|
|
56436
56741
|
text: '',
|
|
56437
|
-
|
|
56742
|
+
parent: '',
|
|
56743
|
+
_dragKey: this.nextDragKey(),
|
|
56744
|
+
_expanded: false
|
|
56438
56745
|
}];
|
|
56439
56746
|
}
|
|
56440
56747
|
this.optionList = list;
|
|
56441
56748
|
},
|
|
56442
|
-
// 将 optionList
|
|
56749
|
+
// 将 optionList 构树序列化为 JSON 字符串写入 vo.paramValue
|
|
56750
|
+
// 序列化规则(子级统一嵌在父选项的 children 键,便于解析直接用):
|
|
56751
|
+
// 级联字段列表有值(链式级联)→ 带子级的选项同时写 subFiled=下一级字段名(级联字段列表第 depth 项);
|
|
56752
|
+
// 无级联字段(单字段级联)→ 仅 children;
|
|
56753
|
+
// 空行(选项值与显示文本均空)及其子树不落库
|
|
56443
56754
|
syncOptionsToParamValue: function syncOptionsToParamValue() {
|
|
56444
56755
|
this.syncing = true;
|
|
56445
|
-
|
|
56446
|
-
|
|
56756
|
+
var list = this.optionList;
|
|
56757
|
+
// 构树(与 displayRows 相同的父子判定):_parentRef 优先,parent 值匹配兜底并重新固化引用
|
|
56758
|
+
var valueIndex = {};
|
|
56759
|
+
list.forEach(function (opt) {
|
|
56760
|
+
opt._children = [];
|
|
56761
|
+
var v = opt.value != null ? String(opt.value).trim() : '';
|
|
56762
|
+
if (v) {
|
|
56763
|
+
valueIndex[v] = opt;
|
|
56764
|
+
}
|
|
56765
|
+
});
|
|
56766
|
+
var topLevels = [];
|
|
56767
|
+
list.forEach(function (opt) {
|
|
56768
|
+
var parentObj = null;
|
|
56769
|
+
if (opt._parentRef && list.indexOf(opt._parentRef) !== -1) {
|
|
56770
|
+
parentObj = opt._parentRef;
|
|
56771
|
+
} else {
|
|
56772
|
+
var p = opt.parent != null ? String(opt.parent).trim() : '';
|
|
56773
|
+
parentObj = p && valueIndex[p] && valueIndex[p] !== opt ? valueIndex[p] : null;
|
|
56774
|
+
opt._parentRef = parentObj;
|
|
56775
|
+
}
|
|
56776
|
+
if (parentObj) {
|
|
56777
|
+
parentObj._children.push(opt);
|
|
56778
|
+
} else {
|
|
56779
|
+
topLevels.push(opt);
|
|
56780
|
+
}
|
|
56781
|
+
// 回写 parent(取父行最新选项值,保持数据一致)
|
|
56782
|
+
opt.parent = parentObj ? parentObj.value != null ? String(parentObj.value).trim() : '' : '';
|
|
56783
|
+
});
|
|
56784
|
+
// 级联字段列表:逗号分隔,过滤空段(从第二级开始的字段名;第一级默认为字典编码对应字段,无需填写)
|
|
56785
|
+
var chainFields = (this.chainFieldsInput || '').split(',').map(function (s) {
|
|
56786
|
+
return s.trim();
|
|
56787
|
+
}).filter(function (s) {
|
|
56788
|
+
return s !== '';
|
|
56789
|
+
});
|
|
56790
|
+
// 递归构建嵌套 JSON:depth 行的子级集合键取级联字段列表中第 depth 项(第二级起),
|
|
56791
|
+
// 超出列表长度或未配置时用 children
|
|
56792
|
+
function buildOpt(opt, depth) {
|
|
56447
56793
|
var v = opt.value != null ? String(opt.value).trim() : '';
|
|
56448
56794
|
var t = opt.text != null ? String(opt.text).trim() : '';
|
|
56449
|
-
|
|
56450
|
-
|
|
56451
|
-
|
|
56795
|
+
// 空行及其子树不落库
|
|
56796
|
+
if (v === '' && t === '') {
|
|
56797
|
+
return null;
|
|
56798
|
+
}
|
|
56799
|
+
var json = {
|
|
56452
56800
|
value: opt.value != null ? String(opt.value) : '',
|
|
56453
56801
|
text: opt.text != null ? String(opt.text) : ''
|
|
56454
56802
|
};
|
|
56455
|
-
|
|
56456
|
-
|
|
56803
|
+
var childJson = [];
|
|
56804
|
+
if (opt._children) {
|
|
56805
|
+
for (var i = 0; i < opt._children.length; i++) {
|
|
56806
|
+
var child = buildOpt(opt._children[i], depth + 1);
|
|
56807
|
+
if (child) {
|
|
56808
|
+
childJson.push(child);
|
|
56809
|
+
}
|
|
56810
|
+
}
|
|
56811
|
+
}
|
|
56812
|
+
if (childJson.length > 0) {
|
|
56813
|
+
json.children = childJson;
|
|
56814
|
+
// 链式级联:声明下一级字段名(级联字段列表第 depth 项,第二级起)
|
|
56815
|
+
if (depth < chainFields.length) {
|
|
56816
|
+
json.subFiled = chainFields[depth];
|
|
56817
|
+
}
|
|
56818
|
+
}
|
|
56819
|
+
return json;
|
|
56820
|
+
}
|
|
56821
|
+
var result = [];
|
|
56822
|
+
for (var i = 0; i < topLevels.length; i++) {
|
|
56823
|
+
var json = buildOpt(topLevels[i], 0);
|
|
56824
|
+
if (json) {
|
|
56825
|
+
result.push(json);
|
|
56826
|
+
}
|
|
56827
|
+
}
|
|
56828
|
+
this.vo.paramValue = JSON.stringify(result);
|
|
56457
56829
|
var self = this;
|
|
56458
56830
|
this.$nextTick(function () {
|
|
56459
56831
|
self.syncing = false;
|
|
56460
56832
|
});
|
|
56461
56833
|
},
|
|
56462
56834
|
/**
|
|
56463
|
-
*
|
|
56835
|
+
* 新增一行顶级选项
|
|
56464
56836
|
*/
|
|
56465
56837
|
addOption: function addOption() {
|
|
56466
56838
|
this.optionList.push({
|
|
56467
56839
|
value: '',
|
|
56468
56840
|
text: '',
|
|
56469
|
-
|
|
56841
|
+
parent: '',
|
|
56842
|
+
_dragKey: this.nextDragKey(),
|
|
56843
|
+
_expanded: false
|
|
56470
56844
|
});
|
|
56471
56845
|
},
|
|
56472
56846
|
/**
|
|
56473
|
-
*
|
|
56474
|
-
*
|
|
56847
|
+
* 在指定选项下新增一个下级选项
|
|
56848
|
+
* 通过行对象引用 _parentRef 挂接父子(父行选项值未填写也可先建结构),
|
|
56849
|
+
* 序列化时动态取父行最新选项值写入 parent;新增后自动展开父行以便看到新子行
|
|
56850
|
+
* @param {Object} parentOpt 父选项行对象
|
|
56851
|
+
*/
|
|
56852
|
+
addChild: function addChild(parentOpt) {
|
|
56853
|
+
var child = {
|
|
56854
|
+
value: '',
|
|
56855
|
+
text: '',
|
|
56856
|
+
parent: '',
|
|
56857
|
+
_dragKey: this.nextDragKey(),
|
|
56858
|
+
_expanded: false
|
|
56859
|
+
};
|
|
56860
|
+
child._parentRef = parentOpt;
|
|
56861
|
+
this.optionList.push(child);
|
|
56862
|
+
// 展开父行(父行处于收起状态时新子行不可见)
|
|
56863
|
+
this.$set(parentOpt, '_expanded', true);
|
|
56864
|
+
this.syncOptionsToParamValue();
|
|
56865
|
+
},
|
|
56866
|
+
/**
|
|
56867
|
+
* 判断选项行是否有下级(依据 displayRows 挂接的 _children)
|
|
56868
|
+
* @param {Object} opt 选项行对象
|
|
56869
|
+
* @returns {boolean} 有下级返回 true
|
|
56475
56870
|
*/
|
|
56476
|
-
|
|
56871
|
+
hasChildren: function hasChildren(opt) {
|
|
56872
|
+
return !!(opt._children && opt._children.length > 0);
|
|
56873
|
+
},
|
|
56874
|
+
/**
|
|
56875
|
+
* 切换选项行的展开/收起状态(收起时不渲染其后代)
|
|
56876
|
+
* @param {Object} opt 选项行对象
|
|
56877
|
+
*/
|
|
56878
|
+
toggleExpand: function toggleExpand(opt) {
|
|
56879
|
+
this.$set(opt, '_expanded', opt._expanded === false);
|
|
56880
|
+
},
|
|
56881
|
+
/**
|
|
56882
|
+
* 删除指定选项行(按对象定位;其后代因引用失联自动归入顶级展示)
|
|
56883
|
+
* @param {Object} opt 选项行对象
|
|
56884
|
+
*/
|
|
56885
|
+
removeOption: function removeOption(opt) {
|
|
56886
|
+
var idx = this.optionList.indexOf(opt);
|
|
56887
|
+
if (idx === -1) return;
|
|
56477
56888
|
this.optionList.splice(idx, 1);
|
|
56478
56889
|
// 删光后保留一行空选项,便于继续录入
|
|
56479
56890
|
if (this.optionList.length === 0) {
|
|
56480
56891
|
this.optionList.push({
|
|
56481
56892
|
value: '',
|
|
56482
56893
|
text: '',
|
|
56483
|
-
|
|
56894
|
+
parent: '',
|
|
56895
|
+
_dragKey: this.nextDragKey(),
|
|
56896
|
+
_expanded: false
|
|
56484
56897
|
});
|
|
56485
56898
|
}
|
|
56486
56899
|
this.syncOptionsToParamValue();
|
|
@@ -56489,9 +56902,9 @@ var staticRenderFns = [];
|
|
|
56489
56902
|
});
|
|
56490
56903
|
;// CONCATENATED MODULE: ./packages/ecwplat/DataDict/src/form.vue?vue&type=script&lang=js
|
|
56491
56904
|
/* harmony default export */ var src_formvue_type_script_lang_js = (formvue_type_script_lang_js);
|
|
56492
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-
|
|
56493
|
-
var
|
|
56494
|
-
;// CONCATENATED MODULE: ./packages/ecwplat/DataDict/src/form.vue?vue&type=style&index=0&id=
|
|
56905
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwplat/DataDict/src/form.vue?vue&type=style&index=0&id=6c8198bc&prod&scoped=true&lang=scss
|
|
56906
|
+
var formvue_type_style_index_0_id_6c8198bc_prod_scoped_true_lang_scss = __webpack_require__(69291);
|
|
56907
|
+
;// CONCATENATED MODULE: ./packages/ecwplat/DataDict/src/form.vue?vue&type=style&index=0&id=6c8198bc&prod&scoped=true&lang=scss
|
|
56495
56908
|
|
|
56496
56909
|
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
56497
56910
|
var componentNormalizer = __webpack_require__(81656);
|
|
@@ -56510,7 +56923,7 @@ var component = (0,componentNormalizer/* default */.A)(
|
|
|
56510
56923
|
staticRenderFns,
|
|
56511
56924
|
false,
|
|
56512
56925
|
null,
|
|
56513
|
-
|
|
56926
|
+
"6c8198bc",
|
|
56514
56927
|
null
|
|
56515
56928
|
|
|
56516
56929
|
)
|
|
@@ -171169,27 +171582,6 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".svg-icon[data-v-5d08e6e2]{width:1em;h
|
|
|
171169
171582
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
171170
171583
|
|
|
171171
171584
|
|
|
171172
|
-
/***/ }),
|
|
171173
|
-
|
|
171174
|
-
/***/ 55119:
|
|
171175
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
171176
|
-
|
|
171177
|
-
"use strict";
|
|
171178
|
-
__webpack_require__.r(__webpack_exports__);
|
|
171179
|
-
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31601);
|
|
171180
|
-
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
171181
|
-
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76314);
|
|
171182
|
-
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
171183
|
-
// Imports
|
|
171184
|
-
|
|
171185
|
-
|
|
171186
|
-
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
171187
|
-
// Module
|
|
171188
|
-
___CSS_LOADER_EXPORT___.push([module.id, ".option-config-table{border-collapse:collapse}.option-config-table td{border:1px solid #ebeef5}.option-config-table .option-header td{background-color:#f5f7fa!important}.option-config-table .sortable-ghost{opacity:.5;background:#f0f9ff}.option-config-table .sortable-fallback{opacity:.9;background:#fff;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.12);box-shadow:0 2px 8px rgba(0,0,0,.12)}", ""]);
|
|
171189
|
-
// Exports
|
|
171190
|
-
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
171191
|
-
|
|
171192
|
-
|
|
171193
171585
|
/***/ }),
|
|
171194
171586
|
|
|
171195
171587
|
/***/ 8943:
|
|
@@ -171318,7 +171710,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".CodeMirror-hints,.CodeMirror-lint-too
|
|
|
171318
171710
|
|
|
171319
171711
|
/***/ }),
|
|
171320
171712
|
|
|
171321
|
-
/***/
|
|
171713
|
+
/***/ 50138:
|
|
171322
171714
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
171323
171715
|
|
|
171324
171716
|
"use strict";
|
|
@@ -171339,7 +171731,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, ".form_item .el-date-editor .el-input__
|
|
|
171339
171731
|
|
|
171340
171732
|
/***/ }),
|
|
171341
171733
|
|
|
171342
|
-
/***/
|
|
171734
|
+
/***/ 12570:
|
|
171343
171735
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
171344
171736
|
|
|
171345
171737
|
"use strict";
|
|
@@ -171353,7 +171745,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
171353
171745
|
|
|
171354
171746
|
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
171355
171747
|
// Module
|
|
171356
|
-
___CSS_LOADER_EXPORT___.push([module.id, "span[data-v-
|
|
171748
|
+
___CSS_LOADER_EXPORT___.push([module.id, "span[data-v-324e710e]{white-space:pre-wrap}[data-v-324e710e] .el-upload--text{width:100%}[data-v-324e710e] .el-divider--horizontal{margin:10px 0}.form_item .el-link[data-v-324e710e]{margin-left:6px}.form_item[data-v-324e710e] .el-radio__label{display:inline-block;padding:3px 5px}", ""]);
|
|
171357
171749
|
// Exports
|
|
171358
171750
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
171359
171751
|
|
|
@@ -172492,6 +172884,27 @@ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-9cb5d68a] .el-dialog__body{min
|
|
|
172492
172884
|
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
172493
172885
|
|
|
172494
172886
|
|
|
172887
|
+
/***/ }),
|
|
172888
|
+
|
|
172889
|
+
/***/ 87817:
|
|
172890
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
172891
|
+
|
|
172892
|
+
"use strict";
|
|
172893
|
+
__webpack_require__.r(__webpack_exports__);
|
|
172894
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31601);
|
|
172895
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
172896
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76314);
|
|
172897
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
172898
|
+
// Imports
|
|
172899
|
+
|
|
172900
|
+
|
|
172901
|
+
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
|
|
172902
|
+
// Module
|
|
172903
|
+
___CSS_LOADER_EXPORT___.push([module.id, ".option-config-table[data-v-6c8198bc]{border-collapse:collapse}.option-config-table td[data-v-6c8198bc]{border:1px solid #ebeef5}.option-config-table .option-header td[data-v-6c8198bc]{background-color:#f5f7fa!important}.option-config-table .expand-toggle[data-v-6c8198bc]{cursor:pointer;color:#909399;font-size:14px;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.option-config-table .expand-toggle.is-expanded[data-v-6c8198bc]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.option-config-table .sortable-ghost[data-v-6c8198bc]{opacity:.5;background:#f0f9ff}.option-config-table .sortable-fallback[data-v-6c8198bc]{opacity:.9;background:#fff;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.12);box-shadow:0 2px 8px rgba(0,0,0,.12)}[data-v-6c8198bc] .el-button--mini{margin-right:0!important}[data-v-6c8198bc] .el-button+.el-button{margin-left:2px!important}", ""]);
|
|
172904
|
+
// Exports
|
|
172905
|
+
/* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
|
|
172906
|
+
|
|
172907
|
+
|
|
172495
172908
|
/***/ }),
|
|
172496
172909
|
|
|
172497
172910
|
/***/ 317:
|
|
@@ -257936,22 +258349,6 @@ var update = add("2de18074", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
257936
258349
|
|
|
257937
258350
|
/***/ }),
|
|
257938
258351
|
|
|
257939
|
-
/***/ 58936:
|
|
257940
|
-
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
257941
|
-
|
|
257942
|
-
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
257943
|
-
|
|
257944
|
-
// load the styles
|
|
257945
|
-
var content = __webpack_require__(55119);
|
|
257946
|
-
if(content.__esModule) content = content.default;
|
|
257947
|
-
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
257948
|
-
if(content.locals) module.exports = content.locals;
|
|
257949
|
-
// add the styles to the DOM
|
|
257950
|
-
var add = (__webpack_require__(99548)/* ["default"] */ .A)
|
|
257951
|
-
var update = add("24175b53", content, true, {"sourceMap":false,"shadowMode":false});
|
|
257952
|
-
|
|
257953
|
-
/***/ }),
|
|
257954
|
-
|
|
257955
258352
|
/***/ 98760:
|
|
257956
258353
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
257957
258354
|
|
|
@@ -258048,35 +258445,35 @@ var update = add("f9ee0d56", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
258048
258445
|
|
|
258049
258446
|
/***/ }),
|
|
258050
258447
|
|
|
258051
|
-
/***/
|
|
258448
|
+
/***/ 10392:
|
|
258052
258449
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
258053
258450
|
|
|
258054
258451
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
258055
258452
|
|
|
258056
258453
|
// load the styles
|
|
258057
|
-
var content = __webpack_require__(
|
|
258454
|
+
var content = __webpack_require__(50138);
|
|
258058
258455
|
if(content.__esModule) content = content.default;
|
|
258059
258456
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
258060
258457
|
if(content.locals) module.exports = content.locals;
|
|
258061
258458
|
// add the styles to the DOM
|
|
258062
258459
|
var add = (__webpack_require__(99548)/* ["default"] */ .A)
|
|
258063
|
-
var update = add("
|
|
258460
|
+
var update = add("1ca98e10", content, true, {"sourceMap":false,"shadowMode":false});
|
|
258064
258461
|
|
|
258065
258462
|
/***/ }),
|
|
258066
258463
|
|
|
258067
|
-
/***/
|
|
258464
|
+
/***/ 28452:
|
|
258068
258465
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
258069
258466
|
|
|
258070
258467
|
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
258071
258468
|
|
|
258072
258469
|
// load the styles
|
|
258073
|
-
var content = __webpack_require__(
|
|
258470
|
+
var content = __webpack_require__(12570);
|
|
258074
258471
|
if(content.__esModule) content = content.default;
|
|
258075
258472
|
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
258076
258473
|
if(content.locals) module.exports = content.locals;
|
|
258077
258474
|
// add the styles to the DOM
|
|
258078
258475
|
var add = (__webpack_require__(99548)/* ["default"] */ .A)
|
|
258079
|
-
var update = add("
|
|
258476
|
+
var update = add("6b62c6c4", content, true, {"sourceMap":false,"shadowMode":false});
|
|
258080
258477
|
|
|
258081
258478
|
/***/ }),
|
|
258082
258479
|
|
|
@@ -258944,6 +259341,22 @@ var update = add("843ecf6e", content, true, {"sourceMap":false,"shadowMode":fals
|
|
|
258944
259341
|
|
|
258945
259342
|
/***/ }),
|
|
258946
259343
|
|
|
259344
|
+
/***/ 69291:
|
|
259345
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
259346
|
+
|
|
259347
|
+
// style-loader: Adds some css to the DOM by adding a <style> tag
|
|
259348
|
+
|
|
259349
|
+
// load the styles
|
|
259350
|
+
var content = __webpack_require__(87817);
|
|
259351
|
+
if(content.__esModule) content = content.default;
|
|
259352
|
+
if(typeof content === 'string') content = [[module.id, content, '']];
|
|
259353
|
+
if(content.locals) module.exports = content.locals;
|
|
259354
|
+
// add the styles to the DOM
|
|
259355
|
+
var add = (__webpack_require__(99548)/* ["default"] */ .A)
|
|
259356
|
+
var update = add("3a04fba4", content, true, {"sourceMap":false,"shadowMode":false});
|
|
259357
|
+
|
|
259358
|
+
/***/ }),
|
|
259359
|
+
|
|
258947
259360
|
/***/ 97071:
|
|
258948
259361
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
258949
259362
|
|
|
@@ -269231,8 +269644,8 @@ var DynamicFormvue_type_template_id_2bb3f766_render = function render() {
|
|
|
269231
269644
|
};
|
|
269232
269645
|
var DynamicFormvue_type_template_id_2bb3f766_staticRenderFns = [];
|
|
269233
269646
|
|
|
269234
|
-
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=template&id=
|
|
269235
|
-
var
|
|
269647
|
+
;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=template&id=324e710e&scoped=true
|
|
269648
|
+
var FormItemvue_type_template_id_324e710e_scoped_true_render = function render() {
|
|
269236
269649
|
var _vm = this,
|
|
269237
269650
|
_c = _vm._self._c;
|
|
269238
269651
|
return _vm.formItem.propName ? _c('div', {
|
|
@@ -269878,7 +270291,7 @@ var FormItemvue_type_template_id_4e8271fe_scoped_true_render = function render()
|
|
|
269878
270291
|
}], null, false, 2443300086)
|
|
269879
270292
|
})], 1) : _vm._e();
|
|
269880
270293
|
};
|
|
269881
|
-
var
|
|
270294
|
+
var FormItemvue_type_template_id_324e710e_scoped_true_staticRenderFns = [];
|
|
269882
270295
|
|
|
269883
270296
|
;// CONCATENATED MODULE: ./src/global/filters/index.js
|
|
269884
270297
|
|
|
@@ -270271,11 +270684,25 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
270271
270684
|
this.initFormItem();
|
|
270272
270685
|
}
|
|
270273
270686
|
this.$bus.on('autoSetFieldValue', this.autoSetFieldValue);
|
|
270687
|
+
this.$bus.on('setSubFiledOptions', this.setSubFiledOptions);
|
|
270274
270688
|
},
|
|
270275
270689
|
beforeDestroy: function beforeDestroy() {
|
|
270276
270690
|
this.$bus.off('autoSetFieldValue', this.autoSetFieldValue);
|
|
270691
|
+
this.$bus.off('setSubFiledOptions', this.setSubFiledOptions);
|
|
270277
270692
|
},
|
|
270278
270693
|
methods: {
|
|
270694
|
+
setSubFiledOptions: function setSubFiledOptions(subFiled, options) {
|
|
270695
|
+
if (subFiled === this.formItem.propName) {
|
|
270696
|
+
this.formItem.value = '';
|
|
270697
|
+
this.valueChange('');
|
|
270698
|
+
this.field.formatterMap = options;
|
|
270699
|
+
this.formItem.formatterMap = options;
|
|
270700
|
+
// 级联字段禁用 remote 模式,确保 options 为空时 el-select 显示“无数据”
|
|
270701
|
+
// 同时清 field 和 formItem,防止 vo watcher 触发 formatElementValue(field) 后从 field 恢复原值
|
|
270702
|
+
this.field.remoteMethod = null;
|
|
270703
|
+
this.formItem.remoteMethod = null;
|
|
270704
|
+
}
|
|
270705
|
+
},
|
|
270279
270706
|
// 阿拉伯数字转换成大写汉字
|
|
270280
270707
|
numberParseChina: function numberParseChina(money) {
|
|
270281
270708
|
// 汉字的数字
|
|
@@ -270389,6 +270816,20 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
270389
270816
|
this.formItem.remoteMethod = null;
|
|
270390
270817
|
}
|
|
270391
270818
|
}
|
|
270819
|
+
if (this.formItem.formatterMap) {
|
|
270820
|
+
setTimeout(function () {
|
|
270821
|
+
_this5.formItem.formatterMap.forEach(function (item) {
|
|
270822
|
+
if (item.subFiled && item.children) {
|
|
270823
|
+
_this5.$bus.emit('setSubFiledOptions', item.subFiled, []);
|
|
270824
|
+
}
|
|
270825
|
+
});
|
|
270826
|
+
_this5.formItem.formatterMap.forEach(function (item) {
|
|
270827
|
+
if (item.subFiled && item.children && item.value == _this5.formItem.value) {
|
|
270828
|
+
_this5.$bus.emit('setSubFiledOptions', item.subFiled, item.children);
|
|
270829
|
+
}
|
|
270830
|
+
});
|
|
270831
|
+
}, 100);
|
|
270832
|
+
}
|
|
270392
270833
|
}
|
|
270393
270834
|
if (this.formItem.elementType === 'file' && this.vo[this.formItem.nameField]) {
|
|
270394
270835
|
var attachHtml = '';
|
|
@@ -270970,6 +271411,7 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
270970
271411
|
}
|
|
270971
271412
|
},
|
|
270972
271413
|
valueChange: function valueChange(val) {
|
|
271414
|
+
var _this8 = this;
|
|
270973
271415
|
if (this.formItem.isNumber) {
|
|
270974
271416
|
val = val.trim();
|
|
270975
271417
|
}
|
|
@@ -270978,6 +271420,19 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
270978
271420
|
val = parseInt(val);
|
|
270979
271421
|
}
|
|
270980
271422
|
}
|
|
271423
|
+
if (this.formItem.formatterMap && (this.formItem.elementType === 'select' || this.formItem.elementType === 'selectMulti')) {
|
|
271424
|
+
this.formItem.formatterMap.forEach(function (item) {
|
|
271425
|
+
if (item.subFiled && item.children) {
|
|
271426
|
+
if (item.value == val) {
|
|
271427
|
+
_this8.$bus.emit('setSubFiledOptions', item.subFiled, item.children);
|
|
271428
|
+
_this8.$vnode.context.$set(_this8.$vnode.context.vo.passenger, item.subFiled, item.children);
|
|
271429
|
+
} else {
|
|
271430
|
+
_this8.$bus.emit('setSubFiledOptions', item.subFiled, []);
|
|
271431
|
+
_this8.$vnode.context.$set(_this8.$vnode.context.vo.passenger, item.subFiled, []);
|
|
271432
|
+
}
|
|
271433
|
+
}
|
|
271434
|
+
});
|
|
271435
|
+
}
|
|
270981
271436
|
if (this.formItem.elementType === 'checkbox') {
|
|
270982
271437
|
for (var i = 0; i < val.length; i++) {
|
|
270983
271438
|
if (val[i] === '') val.splice(i--, 1);
|
|
@@ -271162,7 +271617,7 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
271162
271617
|
});
|
|
271163
271618
|
},
|
|
271164
271619
|
removeFormfile: function removeFormfile(id) {
|
|
271165
|
-
var
|
|
271620
|
+
var _this9 = this;
|
|
271166
271621
|
this.$confirm(this.$tx('ecwapp.Basicform.deleteUploadedFile', '您是否确认删除已上传的文件?'), this.$tx('common.confirmOperate', '确认操作'), {
|
|
271167
271622
|
type: 'warning'
|
|
271168
271623
|
}).then( /*#__PURE__*/FormItemvue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/FormItemvue_type_script_lang_js_regeneratorRuntime().mark(function _callee() {
|
|
@@ -271170,12 +271625,12 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
271170
271625
|
return FormItemvue_type_script_lang_js_regeneratorRuntime().wrap(function _callee$(_context) {
|
|
271171
271626
|
while (1) switch (_context.prev = _context.next) {
|
|
271172
271627
|
case 0:
|
|
271173
|
-
document.querySelector('.removeBodyfileIcon_' + id).innerHTML =
|
|
271174
|
-
wfAttachUrl =
|
|
271175
|
-
if (
|
|
271176
|
-
wfAttachUrl =
|
|
271628
|
+
document.querySelector('.removeBodyfileIcon_' + id).innerHTML = _this9.$tx('ecwapp.Common.deleting', ' 正在删除...');
|
|
271629
|
+
wfAttachUrl = _this9.formItem.downloadUrl.replace('/downloadById', '').replace('/download', '') + '/deleteAttach';
|
|
271630
|
+
if (_this9.$vnode.context.$vnode.context.wfAttachUrl) {
|
|
271631
|
+
wfAttachUrl = _this9.$vnode.context.$vnode.context.wfAttachUrl + '/delete';
|
|
271177
271632
|
}
|
|
271178
|
-
|
|
271633
|
+
_this9.$http({
|
|
271179
271634
|
method: 'DELETE',
|
|
271180
271635
|
contentType: 'application/x-www-form-urlencoded',
|
|
271181
271636
|
params: {
|
|
@@ -271184,17 +271639,17 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
271184
271639
|
url: wfAttachUrl
|
|
271185
271640
|
}).then(function (res) {
|
|
271186
271641
|
if (res.code === 'success') {
|
|
271187
|
-
if (
|
|
271188
|
-
for (var i = 0; i <
|
|
271189
|
-
if (
|
|
271190
|
-
|
|
271642
|
+
if (_this9.$vnode.context.$vnode.context.attachments) {
|
|
271643
|
+
for (var i = 0; i < _this9.$vnode.context.$vnode.context.attachments.length; i++) {
|
|
271644
|
+
if (_this9.$vnode.context.$vnode.context.attachments[i].id === id) {
|
|
271645
|
+
_this9.$vnode.context.$vnode.context.attachments.splice(i--, 1);
|
|
271191
271646
|
}
|
|
271192
271647
|
}
|
|
271193
271648
|
}
|
|
271194
|
-
delete
|
|
271195
|
-
|
|
271649
|
+
delete _this9.formItem.attachHtml;
|
|
271650
|
+
_this9.$forceUpdate();
|
|
271196
271651
|
} else {
|
|
271197
|
-
|
|
271652
|
+
_this9.$alert(res.message, _this9.$tx('common.operationTip', '操作提示'), {
|
|
271198
271653
|
type: 'error'
|
|
271199
271654
|
});
|
|
271200
271655
|
}
|
|
@@ -271211,7 +271666,7 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
271211
271666
|
window.open(downloadUrl, '_blank');
|
|
271212
271667
|
},
|
|
271213
271668
|
openListitemDialog: function openListitemDialog() {
|
|
271214
|
-
var
|
|
271669
|
+
var _this10 = this;
|
|
271215
271670
|
var reqParam = {
|
|
271216
271671
|
method: this.formItem.optionGenerateMethod,
|
|
271217
271672
|
params: {
|
|
@@ -271230,43 +271685,43 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
271230
271685
|
if (res.code === 'success') {
|
|
271231
271686
|
var options = null;
|
|
271232
271687
|
var _func2 = 'onOptionsGenerateCompleted';
|
|
271233
|
-
if (
|
|
271234
|
-
options =
|
|
271235
|
-
name:
|
|
271688
|
+
if (_this10.$vnode.context[_func2] !== undefined) {
|
|
271689
|
+
options = _this10.$vnode.context[_func2](res.body.listdata, {
|
|
271690
|
+
name: _this10.formItem.propName
|
|
271236
271691
|
});
|
|
271237
271692
|
}
|
|
271238
|
-
|
|
271693
|
+
_this10.$bus.emit('openListitemDialog', _this10.formItem.dialogTitle || _this10.formItem.propComment, options || res.body.listdata, function (rst) {
|
|
271239
271694
|
if (rst.code === 'success') {
|
|
271240
271695
|
var _func3 = 'onSelectListitemCompleted';
|
|
271241
|
-
if (
|
|
271242
|
-
|
|
271243
|
-
name:
|
|
271696
|
+
if (_this10.$vnode.context[_func3] !== undefined) {
|
|
271697
|
+
_this10.$vnode.context[_func3](rst.value, {
|
|
271698
|
+
name: _this10.formItem.propName
|
|
271244
271699
|
});
|
|
271245
271700
|
} else {
|
|
271246
|
-
if (FormItemvue_type_script_lang_js_typeof(
|
|
271247
|
-
|
|
271701
|
+
if (FormItemvue_type_script_lang_js_typeof(_this10.selected) === 'object') {
|
|
271702
|
+
_this10.formItem.value = rst.value.join(',');
|
|
271248
271703
|
} else {
|
|
271249
|
-
|
|
271704
|
+
_this10.formItem.value = rst.value;
|
|
271250
271705
|
}
|
|
271251
|
-
|
|
271706
|
+
_this10.$set(_this10.vo, _this10.formItem.propName, _this10.formItem.value);
|
|
271252
271707
|
}
|
|
271253
271708
|
}
|
|
271254
|
-
},
|
|
271709
|
+
}, _this10.formItem.value, _this10.formItem.propComment, null, _this10.formItem.dialogMultiple);
|
|
271255
271710
|
} else {
|
|
271256
|
-
|
|
271711
|
+
_this10.$alert(res.message, _this10.$tx('common.operationTip', '操作提示'), {
|
|
271257
271712
|
type: 'error'
|
|
271258
271713
|
});
|
|
271259
271714
|
}
|
|
271260
271715
|
});
|
|
271261
271716
|
},
|
|
271262
271717
|
decryptData: function decryptData(model) {
|
|
271263
|
-
var
|
|
271718
|
+
var _this11 = this;
|
|
271264
271719
|
this.$app.decryptData(this.vo[model]).then(function (res) {
|
|
271265
271720
|
if (res.code === 'success') {
|
|
271266
|
-
|
|
271267
|
-
|
|
271721
|
+
_this11.$set(_this11.vo, model, res.body.data);
|
|
271722
|
+
_this11.encrypted = false;
|
|
271268
271723
|
} else {
|
|
271269
|
-
|
|
271724
|
+
_this11.$alert(res.message, {
|
|
271270
271725
|
type: 'error'
|
|
271271
271726
|
});
|
|
271272
271727
|
}
|
|
@@ -271277,15 +271732,15 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
271277
271732
|
this.onFileItemClick(this.formItem);
|
|
271278
271733
|
},
|
|
271279
271734
|
autoSetFieldValue: function autoSetFieldValue() {
|
|
271280
|
-
var
|
|
271735
|
+
var _this12 = this;
|
|
271281
271736
|
this.vo.passenger.saveNoValidation = true;
|
|
271282
271737
|
if (this.formItem.isRequired === 1 && this.vo[this.formItem.propName] === null) {
|
|
271283
271738
|
if (this.formItem.propType === 'String') {
|
|
271284
271739
|
this.vo[this.formItem.propName] = '';
|
|
271285
271740
|
} else if (this.formItem.elementType === 'radio' || this.formItem.elementType === 'select' || this.formItem.elementType === 'checkbox') {
|
|
271286
271741
|
this.formItem.formatterMap.forEach(function (item) {
|
|
271287
|
-
if (
|
|
271288
|
-
|
|
271742
|
+
if (_this12.vo[_this12.formItem.propName] === null) {
|
|
271743
|
+
_this12.vo[_this12.formItem.propName] = item.value;
|
|
271289
271744
|
}
|
|
271290
271745
|
});
|
|
271291
271746
|
}
|
|
@@ -271295,13 +271750,13 @@ var FormItemvue_type_script_lang_js_moment = __webpack_require__(95093);
|
|
|
271295
271750
|
});
|
|
271296
271751
|
;// CONCATENATED MODULE: ./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=script&lang=js
|
|
271297
271752
|
/* harmony default export */ var src_FormItemvue_type_script_lang_js = (FormItemvue_type_script_lang_js);
|
|
271298
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=style&index=0&id=
|
|
271299
|
-
var
|
|
271300
|
-
;// CONCATENATED MODULE: ./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=style&index=0&id=
|
|
271753
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=style&index=0&id=324e710e&prod&lang=scss
|
|
271754
|
+
var FormItemvue_type_style_index_0_id_324e710e_prod_lang_scss = __webpack_require__(10392);
|
|
271755
|
+
;// CONCATENATED MODULE: ./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=style&index=0&id=324e710e&prod&lang=scss
|
|
271301
271756
|
|
|
271302
|
-
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=style&index=1&id=
|
|
271303
|
-
var
|
|
271304
|
-
;// CONCATENATED MODULE: ./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=style&index=1&id=
|
|
271757
|
+
// EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=style&index=1&id=324e710e&prod&lang=scss&scoped=true
|
|
271758
|
+
var FormItemvue_type_style_index_1_id_324e710e_prod_lang_scss_scoped_true = __webpack_require__(28452);
|
|
271759
|
+
;// CONCATENATED MODULE: ./packages/ecwapp/Basicform/src/FormItem.vue?vue&type=style&index=1&id=324e710e&prod&lang=scss&scoped=true
|
|
271305
271760
|
|
|
271306
271761
|
;// CONCATENATED MODULE: ./packages/ecwapp/Basicform/src/FormItem.vue
|
|
271307
271762
|
|
|
@@ -271315,11 +271770,11 @@ var FormItemvue_type_style_index_1_id_4e8271fe_prod_lang_scss_scoped_true = __we
|
|
|
271315
271770
|
|
|
271316
271771
|
var FormItem_component = (0,componentNormalizer/* default */.A)(
|
|
271317
271772
|
src_FormItemvue_type_script_lang_js,
|
|
271318
|
-
|
|
271319
|
-
|
|
271773
|
+
FormItemvue_type_template_id_324e710e_scoped_true_render,
|
|
271774
|
+
FormItemvue_type_template_id_324e710e_scoped_true_staticRenderFns,
|
|
271320
271775
|
false,
|
|
271321
271776
|
null,
|
|
271322
|
-
"
|
|
271777
|
+
"324e710e",
|
|
271323
271778
|
null
|
|
271324
271779
|
|
|
271325
271780
|
)
|
|
@@ -283226,7 +283681,7 @@ var asyncComponents = [
|
|
|
283226
283681
|
return m.EditorConfig;
|
|
283227
283682
|
});
|
|
283228
283683
|
}], ['DataDictForm', function () {
|
|
283229
|
-
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
283684
|
+
return Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 71634)).then(function (m) {
|
|
283230
283685
|
return m.DataDictForm;
|
|
283231
283686
|
});
|
|
283232
283687
|
}],
|