|
@@ -81,6 +81,10 @@ export function calcExpress(data, express) {
|
|
export function calcObjectFlat(data, paramObject) {
|
|
export function calcObjectFlat(data, paramObject) {
|
|
const result = _.cloneDeep(paramObject)
|
|
const result = _.cloneDeep(paramObject)
|
|
|
|
|
|
|
|
+ if (typeof paramObject === 'string') {
|
|
|
|
+ return calcExpress(data, paramObject)
|
|
|
|
+ }
|
|
|
|
+
|
|
const trav = (param) => {
|
|
const trav = (param) => {
|
|
_.forOwn(param, (value, key) => {
|
|
_.forOwn(param, (value, key) => {
|
|
if (_.isPlainObject(value)) {
|
|
if (_.isPlainObject(value)) {
|
|
@@ -105,6 +109,15 @@ export function calcObjectFlat(data, paramObject) {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
+ * 合併 data 到當前的 ViewModel 對象
|
|
|
|
+ */
|
|
|
|
+export function mergeViewModel(viewModel, propertyName, data) {
|
|
|
|
+ _.forOwn(data, (value, key) => {
|
|
|
|
+ viewModel.set(propertyName + "." + key, value)
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+/**
|
|
* 根据表达式进入写值
|
|
* 根据表达式进入写值
|
|
* express="{query.a}" 写值就是 viewModel.set('query.a', value)
|
|
* express="{query.a}" 写值就是 viewModel.set('query.a', value)
|
|
* express="test-{query.a}" 写值就会失败
|
|
* express="test-{query.a}" 写值就会失败
|
|
@@ -765,10 +778,26 @@ class SystemEventFu {
|
|
updateAt: '2021-07-02',
|
|
updateAt: '2021-07-02',
|
|
type: 'system',
|
|
type: 'system',
|
|
category: '对话框',
|
|
category: '对话框',
|
|
- args: []
|
|
|
|
|
|
+ args: [
|
|
|
|
+ {
|
|
|
|
+ type: 'object',
|
|
|
|
+ title: '傳回成功數據的 lookup 表達式',
|
|
|
|
+ name: 'lookupObject',
|
|
|
|
+ allowEmpty: true,
|
|
|
|
+ }
|
|
|
|
+ ]
|
|
})
|
|
})
|
|
- dialogSuccess() {
|
|
|
|
- debugger
|
|
|
|
|
|
+ dialogSuccess(lookupObject) {
|
|
|
|
+ return function (sender) {
|
|
|
|
+ const scope = lookupScope(sender)
|
|
|
|
+ if (lookupObject) {
|
|
|
|
+ scope.dialogSuccess(
|
|
|
|
+ calcObjectFlat(scope.viewModel.data, lookupObject)
|
|
|
|
+ )
|
|
|
|
+ } else {
|
|
|
|
+ scope.dialogSuccess()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Lib({
|
|
@Lib({
|