From 90e4076a8adf5dac4384f10d9ce22398580eaf34 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期三, 09 七月 2025 17:27:06 +0800
Subject: [PATCH] 5601列表页面中的内容变化处理,自定义表单的set_dlg_attr_show
---
pages/modal/3018_2.vue | 44 ++--
libs/mobox.api.js | 1
components/oi-form/index.vue | 2
pages/modal/5601.vue | 330 +++++++++++++++++++++++++++++----
pages/modal/3037_2.vue | 111 +++++-----
manifest.json | 4
App.vue | 2
pages/modal/form/index.vue | 74 +++---
8 files changed, 407 insertions(+), 161 deletions(-)
diff --git a/App.vue b/App.vue
index c4feda8..ce1885c 100644
--- a/App.vue
+++ b/App.vue
@@ -4,7 +4,7 @@
showToast,
} from "@/js/Page.js"
const rfidModule = uni.requireNativePlugin('RFIDModule');
- var main
+ var main;
export default {
globalData: {
largeMode: false,
diff --git a/components/oi-form/index.vue b/components/oi-form/index.vue
index 3d23cc7..a288a41 100644
--- a/components/oi-form/index.vue
+++ b/components/oi-form/index.vue
@@ -53,6 +53,7 @@
},
methods: {
setFormItemVisible(attrs) {
+ console.log(attrs)
attrs.forEach((attr) => {
let index = this.hiddenIds.findIndex((id) => id == attr.attr);
if (attr.show) {
@@ -61,6 +62,7 @@
if (index == -1) this.hiddenIds.push(attr.attr);
}
});
+ console.log(this.hiddenIds)
},
clearFormValues() {
if (!this.form.model) return;
diff --git a/libs/mobox.api.js b/libs/mobox.api.js
index 3ef2617..17f05a9 100644
--- a/libs/mobox.api.js
+++ b/libs/mobox.api.js
@@ -12,7 +12,6 @@
options.method = options.method || this.common.method;
options.dataType = options.dataType || this.common.dataType;
return new Promise((resolve, reject) => {
- console.log("request:", options);
const app = getApp()
let url = options.url
let sessionID = app.globalData.sessionId || ""
diff --git a/manifest.json b/manifest.json
index d53110a..76e8bc6 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
"name" : "MoboxPDA",
"appid" : "__UNI__56D451E",
"description" : "",
- "versionName" : "1.1.61",
- "versionCode" : 1161,
+ "versionName" : "1.1.62",
+ "versionCode" : 1162,
"transformPx" : false,
/* 5+App鐗规湁鐩稿叧 */
"app-plus" : {
diff --git a/pages/modal/3018_2.vue b/pages/modal/3018_2.vue
index 7431959..3538e49 100644
--- a/pages/modal/3018_2.vue
+++ b/pages/modal/3018_2.vue
@@ -2,7 +2,7 @@
<view class="uni-page-modal-3018-2" :class="largeMode?'large-mode':''">
<view class="view-content">
<!-- 琛ㄥご鏍峰紡 -->
- <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId"
+ <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId"
@on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton"
@on-click-suffix="classAttr_extButton"></OIForm>
@@ -75,7 +75,7 @@
},
data() {
return {
- largeMode: getApp().globalData.largeMode || false,
+ largeMode: getApp().globalData.largeMode || false,
title: this.translateSys('add2'),
btnName: "",
param: {},
@@ -544,7 +544,7 @@
ontap(item) { //鎵爜鍔熻兘
-
+
this.focusOldFieldId = item.fieldId
getApp().onScan((result) => {
console.log(result);
@@ -1568,28 +1568,28 @@
}
},
- hideFormItems(data) {
- const $this = this
+ hideFormItems(attrs) {
+ if (!Array.isArray(attrs)) {
+ return
+ }
const head_styledef = this.head_styledef
- data.forEach(async (attr, key) => {
- head_styledef.form.items.forEach(async (ele, index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr.attr) {
- ele.show = attr.show;
- }
- } else if (ele.name == 'Layout') {
- ele.setting.colList.forEach((col) => {
- if (col) {
- if (col.fieldId == attr.attr) {
- col.show = attr.show;
- }
- }
- });
- }
- });
+ if (!head_styledef.hiddenIds) {
+ head_styledef.hiddenIds = []
+ }
+ attrs.forEach((attr) => {
+ let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr);
+ if (attr.show) {
+ if (index > -1) head_styledef.hiddenIds.splice(index, 1);
+ } else {
+ if (index == -1) head_styledef.hiddenIds.push(attr.attr);
+ }
});
+
+ this.setData({
+ head_styledef: head_styledef
+ })
},
+
afterOK() {
this.saving = true
const $this = this
diff --git a/pages/modal/3037_2.vue b/pages/modal/3037_2.vue
index 69b6392..e0896b0 100644
--- a/pages/modal/3037_2.vue
+++ b/pages/modal/3037_2.vue
@@ -1,7 +1,7 @@
<template>
<view class="uni-page-modal-3017-2" :class="largeMode?'large-mode':''">
<!-- 琛ㄥご鏍峰紡 -->
- <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap"
+ <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " @on-focus="ontap"
@on-change="onEnterChange" @on-click-prefix="classAttr_extButton" @on-click-suffix="classAttr_extButton">
</OIForm>
<!-- 浠庢暟鎹�-->
@@ -137,7 +137,7 @@
},
data() {
return {
- largeMode: getApp().globalData.largeMode || false,
+ largeMode: getApp().globalData.largeMode || false,
title: this.translateSys('add2'),
param: {},
edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D
@@ -266,11 +266,11 @@
}
$this.head_styledef.form.items[index].selections = selections.map((
a) => {
- return {
- value: a.value,
- text: a.label
- }
- })
+ return {
+ value: a.value,
+ text: a.label
+ }
+ })
}
}
@@ -557,33 +557,34 @@
}
} else if (data.action[i].action_type == 'set_dlg_attr_show') {
var result = action.value;
- result.forEach(async (attr, key) => {
- styledef.form.items.forEach(async (ele, index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr.attr) {
- ele.show = attr.show;
- }
- } else if (ele.name == 'Layout') {
- ele.setting.colList.forEach(
- col => {
- if (col) {
- if (col.fieldId ==
- attr.attr) {
- col.show = attr
- .show;
- }
- }
- });
- }
- });
- });
- var style_def = JSON.parse(JSON.stringify(styledef));
if (type == 'head') {
- $this.head_styledef = [];
- $this.head_styledef = style_def;
+ $this.setFormItemVisible(result)
// console.log($this.head_styledef);
} else {
+ result.forEach(async (attr, key) => {
+ styledef.form.items.forEach(async (ele, index) => {
+ //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�+ if (ele.name != 'Layout') {
+ if (ele.fieldId == attr.attr) {
+ ele.show = attr.show;
+ }
+ } else if (ele.name == 'Layout') {
+ ele.setting.colList.forEach(
+ col => {
+ if (col) {
+ if (col.fieldId ==
+ attr.attr) {
+ col.show = attr
+ .show;
+ }
+ }
+ });
+ }
+ });
+ });
+ var style_def = JSON.parse(JSON.stringify(styledef));
+
+
$this.detail1_styledef = [];
$this.detail1_styledef = style_def;
// console.log($this.detail1_styledef);
@@ -1612,31 +1613,8 @@
}
} else if (action.action_type == 'set_dlg_attr_show') {
- var result = action.value;
- result.forEach(async (attr, key) => {
- $this.head_styledef.form.items.forEach(async (ele,
- index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr.attr) {
- ele.show = attr.show;
- }
- } else if (ele.name == 'Layout') {
- ele.setting.colList.forEach(col => {
- if (col) {
- if (col.fieldId == attr
- .attr) {
- col.show = attr
- .show;
- }
- }
- });
- }
- });
- });
- var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
- $this.head_styledef = [];
- $this.head_styledef = head_styledef;
+ var data = action.value;
+ $this.setFormItemVisible(data)
// console.log($this.head_styledef);
} else if (action.action_type == 'set_global_attr') {
$this.global_attr = action.value || [];
@@ -1703,6 +1681,27 @@
});
});
},
+ setFormItemVisible(attrs) {
+ if (!Array.isArray(attrs)) {
+ return
+ }
+ const head_styledef = this.head_styledef
+ if (!head_styledef.hiddenIds) {
+ head_styledef.hiddenIds = []
+ }
+ attrs.forEach((attr) => {
+ let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr);
+ if (attr.show) {
+ if (index > -1) head_styledef.hiddenIds.splice(index, 1);
+ } else {
+ if (index == -1) head_styledef.hiddenIds.push(attr.attr);
+ }
+ });
+
+ this.setData({
+ head_styledef: head_styledef
+ })
+ },
scan_DataObjRunCustomEvent(info, data_attr) {
var $this = this;
var obj_attr = {};
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index 9545276..38bfe7e 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -1,7 +1,7 @@
<template>
<view class="uni-page-modal-5601" :class="largeMode?'large-mode':''">
<!-- 琛ㄥご鏍峰紡 -->
- <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :focusId="focusFieldId"
+ <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId"
@on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton"
@on-click-suffix="classAttr_extButton"></OIForm>
@@ -27,7 +27,10 @@
@tap="onPanelClick(ii,style.form.htmlobjId)"
:id="'dvpanel'+style.form.htmlobjId"
:class="style.form.htmlobjId==active_id?'bk-active':''">
- <OIForm class="dv-panel-form" :form="style.form" viewMode></OIForm>
+ <OIForm class="dv-panel-form" :form="style.form"
+ :hiddenIds="style.hiddenIds ?style.hiddenIds :[] " viewMode @on-change="(item2)=>{
+ onDetailEnterChange(item2,style,pageIndex)
+ }"></OIForm>
<div class="dv-panel-button"
v-if="pageData.Select_Button==true || pageData.Row_Button.length > 0">
@@ -755,6 +758,7 @@
}
},
+
classAttr_extButton(item) {
var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠� var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�@@ -784,7 +788,155 @@
this.dataObjRunCustomEvent_Return(onSuffixClickEvent.id, '', onSuffixClickCallbackEvent.id,
item);
},
+ onDetailEnterChange(item, style, pageIndex) {
+ let newVal = item.value
+ if (typeof item.value == "string") {
+ newVal = item.value.trim()
+ if (!newVal) {
+ item.oldvalue = newVal;
+ var attr = item.fieldId;
+ style.form.model[attr] = newVal;
+ return
+ }
+ }
+ if (item.oldvalue != newVal) {
+ item.oldvalue = newVal;
+ var attr = item.fieldId;
+ style.form.model[attr] = newVal;
+ var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�+ if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.runDetailChangeEvent(onChangeEvent, style, pageIndex)
+ }
+ }
+ },
+ async runDetailChangeEvent(event, style, pageIndex) {
+ try {
+ const detail_attr = {}
+ style.form.items.forEach(item2 => {
+ if (item2.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item2.setting.colList.forEach(col => {
+ if (col != null) detail_attr[col
+ .fieldId] = col.value;
+ });
+ } else
+ detail_attr[item2.fieldId] = item2.value;
+ });
+ var obj_attr = detail_attr
+ var input_param = Base64.encode(
+ JSON.stringify(
+ Object.keys(detail_attr).map((a) => ({
+ attr: a,
+ value: detail_attr[a] || "",
+ }))
+ )
+ );
+ var dataInfo = {
+ ed_type: 0,
+ start_transaction: true,
+ class_id: style.form.clsId,
+ class_name: '',
+ event_id: event.id,
+ event_name: '',
+ data_obj_id: '',
+ obj_attr: obj_attr,
+ prj_id: '',
+ ref_cls_id: '',
+ rel_obj_id: '',
+ user_login: '',
+ data_json: '',
+ compose_info: '',
+ ext_info: '',
+ global_attr: '',
+ input_param: input_param,
+ };
+ const result = await runCustomEvent(dataInfo)
+ console.log(result)
+ if (result.ret != 0) {
+ var tip = result.err_info ? typeof result
+ .err_info == 'string' ? result
+ .err_info : result.err_info.join('<br/>') :
+ '';
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos +
+ 1);
+ }
+ uni.showModal({
+ title: this.translateSys(
+ "tip"),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys(
+ 'close')
+ });
+ } else uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip + ',' + this
+ .translateSys('tip') + ':' +
+ result
+ .ret,
+ showCancel: false,
+ confirmText: this.translateSys(
+ 'close')
+ });
+ return false;
+ } else {
+ var tip = result.info ? typeof result.info ==
+ 'string' ? result.info :
+ result.info.join('<br/>') : '';
+ if (tip) uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+
+ if (result.result_type == 0 && result.action) {
+ result.action.forEach(item => {
+ if (item.action_type == "set_dlg_attr") {
+ // value = {"attr":"xxx", "value":"xxx"}
+ var data = item.value;
+ this.setDetailFormValues(data, style, pageIndex)
+ } else if (item.action_type == 'set_dlg_attr_show') {
+ var data = item.value;
+ this.setDetailFormItemVisible(data, style, pageIndex)
+ }
+ });
+ } else {
+
+ if (result.info) {
+ uni.showModal({
+ title: this.translateSys(
+ "error") + "6.3",
+ content: result.info,
+ showCancel: false,
+ confirmText: this
+ .translateSys('close')
+ });
+ }
+ }
+
+ }
+
+ } catch (ex) {
+ console.log(ex)
+ var tip = typeof ex == "string" ? ex : ex.message;
+ uni.showModal({
+ title: this.translateSys("error") + "6.1",
+ content: this.translate(
+ 'execute_after_change_event_failed') + this
+ .translateSys(
+ "comma") +
+ this.translate('reason') + this.translateSys("colon") +
+ tip,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ }
+
+ },
getDetailAttrList(pageData) {
const detailAttrList = [];
console.log(pageData)
@@ -1057,6 +1209,10 @@
// value = {"attr":"xxx", "value":"xxx"}
var data = item.value;
$this.setFormValues(data)
+ }
+ else if (item.action_type == 'set_dlg_attr_show') {
+ var data = item.value;
+ $this.setFormItemVisible(data)
}
});
} else {
@@ -1513,10 +1669,31 @@
$this.$set(this.pageDetail, pageIndex, pageData)
},
+ setFormItemVisible(attrs) {
+ if (!Array.isArray(attrs)) {
+ return
+ }
+ const head_styledef = this.head_styledef
+ if (!head_styledef.hiddenIds) {
+ head_styledef.hiddenIds = []
+ }
+ attrs.forEach((attr) => {
+ let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr);
+ if (attr.show) {
+ if (index > -1) head_styledef.hiddenIds.splice(index, 1);
+ } else {
+ if (index == -1) head_styledef.hiddenIds.push(attr.attr);
+ }
+ });
+
+ this.setData({
+ head_styledef: head_styledef
+ })
+ },
setFormValues(attrs) {
const head_styledef = this.head_styledef
- if (JSON.stringify(attrs) == '{}') {
- return;
+ if (!Array.isArray(attrs)) {
+ return
}
console.log(attrs)
attrs.forEach(async (attr, key) => {
@@ -1595,13 +1772,113 @@
head_styledef: head_styledef
})
},
+ setDetailFormItemVisible(attrs, style, pageIndex) {
+ if (pageIndex < 0)
+ return
+ if (!Array.isArray(attrs)) {
+ return
+ }
+ const pageData = this.pageDetail[pageIndex]
+ if (!style.hiddenIds) {
+ style.hiddenIds = []
+ }
+ attrs.forEach((attr) => {
+ let index = style.hiddenIds.findIndex((id) => id == attr.attr);
+ if (attr.show) {
+ if (index > -1) style.hiddenIds.splice(index, 1);
+ } else {
+ if (index == -1) style.hiddenIds.push(attr.attr);
+ }
+ });
+ this.$set(this.pageDetail, pageIndex, pageData)
+ },
+ setDetailFormValues(attrs, style, pageIndex) {
+ if (pageIndex < 0)
+ return
+ if (!Array.isArray(attrs)) {
+ return
+ }
+
+ const pageData = this.pageDetail[pageIndex]
+ attrs.forEach(async (attr, key) => {
+ if (attr.choice_list) {
+ var dictItemList = [];
+ attr.choice_list.forEach(async (val, index) => {
+ dictItemList.push({
+ text: val,
+ value: val
+ });
+ });
+
+ style.form.items.forEach(async (attr_item, index) => {
+ if (attr_item.name != "Layout") {
+ if (attr_item.fieldId == attr.attr) {
+ if (attr_item.useDict) {
+ attr_item.dict = dictItemList;
+ } else {
+ attr_item.selections = dictItemList;
+ }
+ }
+ } else if (attr_item.name == "Layout") {
+ attr_item.setting.colList.forEach((col) => {
+ if (col) {
+ if (col.fieldId == attr.attr) {
+ if (col.useDict) {
+ col.dict = dictItemList;
+ } else {
+ col.selections = dictItemList;
+ }
+ }
+ }
+ });
+ }
+ });
+ }
+ if (!style.form.model[attr.attr]) {
+ style.form.model[attr.attr] = attr.value;
+ }
+ style.form.items.forEach(async (ele) => {
+ if (ele.name != "Layout") {
+ if (ele.fieldId == attr.attr) {
+ ele.value = attr.value;
+ ele.oldvalue = attr.value;
+ if (ele.name == "Input") {
+ if (attr.prompt) ele.placeholder = attr.prompt;
+ }
+ if (attr.enable !== undefined) {
+ if (attr.enable) ele.disabled = false;
+ else ele.disabled = true;
+ }
+ }
+ } else if (ele.name == "Layout") {
+ ele.setting.colList.forEach((col) => {
+ if (col) {
+ if (col.fieldId == attr.attr) {
+ col.value = attr.value;
+ col.oldvalue = attr.value;
+ if (col.name == "Input") {
+ if (attr.prompt) col.placeholder = attr.prompt;
+ }
+ if (attr.enable !== undefined) {
+ if (attr.enable) col.disabled = false;
+ else col.disabled = true;
+ }
+ }
+ }
+ });
+ }
+
+ })
+ //鍒ゆ柇琛ㄥ崟閲屾槸鍚︽湁杩斿洖瀛楁锛屾病鏈夊氨瑁呰浇鍒癿odel閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ })
+ this.$set(this.pageDetail, pageIndex, pageData)
+ },
+
onClickItem(e) { //閫夋嫨椤电
// console.log(e);
this.current = e.currentIndex
},
- onDetail1EnterChange(item) { //鐮佺洏涓牱寮忓洖杞︿簨浠�- console.log(item);
- },
+
async del(pageData, style, event) {
//鑾峰彇琛ㄥご灞炴�
var head_attr = {};
@@ -1870,39 +2147,8 @@
$this.setFormValues(result)
} else if (action.action_type == 'set_dlg_attr_show') {
var result = action.value;
- result.forEach(async (attr, key) => {
- $this.head_styledef.form.items.forEach(async (
- ele,
- index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr
- .attr) {
- ele.show = attr.show;
- }
- } else if (ele.name ==
- 'Layout') {
- ele.setting.colList
- .forEach((col) => {
- if (col) {
- if (col
- .fieldId ==
- attr
- .attr
- ) {
- col.show =
- attr
- .show;
- }
- }
- });
- }
- });
- });
- var head_styledef = JSON.parse(JSON.stringify($this.$data
- .head_styledef));
- $this.head_styledef = [];
- $this.head_styledef = head_styledef;
+ $this.setFormItemVisible(result)
+
// console.log($this.head_styledef);
} else if (action.action_type == 'set_global_attr') {
$this.global_attr = action.value || [];
@@ -2846,6 +3092,10 @@
var data = item.value;
$this.setFormValues(data)
}
+ else if (item.action_type == 'set_dlg_attr_show') {
+ var data = item.value;
+ $this.setFormItemVisible(data)
+ }
});
} else {
diff --git a/pages/modal/form/index.vue b/pages/modal/form/index.vue
index bb650e4..876b3b5 100644
--- a/pages/modal/form/index.vue
+++ b/pages/modal/form/index.vue
@@ -2,7 +2,7 @@
<view class="uni-page-modal-form" :class="largeMode?'large-mode':''">
<view class="view-content">
<!-- 琛ㄥご鏍峰紡 -->
- <OIForm ref="refBaseForm" class="v-head-style" :form="head_styledef.form" :focusId="focusFieldId"
+ <OIForm ref="refBaseForm" class="v-head-style" :form="head_styledef.form" :hiddenIds="head_styledef.hiddenIds ?head_styledef.hiddenIds :[] " :focusId="focusFieldId"
@on-click="onClick" @on-focus="ontap" @on-change="onEnterChange" @on-click-prefix="classAttr_extButton"
@on-click-suffix="classAttr_extButton"></OIForm>
</view>
@@ -64,7 +64,7 @@
},
data() {
return {
- largeMode: getApp().globalData.largeMode || false,
+ largeMode: getApp().globalData.largeMode || false,
okLoading: false,
title: this.translateSys('add2'),
type: '',
@@ -509,6 +509,10 @@
// value = {"attr":"xxx", "value":"xxx"}
var data = item.value;
$this.setFormValues(data)
+ } else if (action.action_type == 'set_dlg_attr_show') {
+ var data = action.value;
+
+ $this.setFormItemVisible(data)
}
});
} else {
@@ -815,6 +819,11 @@
var data = item.value;
$this.setFormValues(data)
}
+ else if (action.action_type == 'set_dlg_attr_show') {
+ var data = action.value;
+
+ $this.setFormItemVisible(data)
+ }
});
} else {
@@ -924,6 +933,28 @@
head_styledef: head_styledef
})
},
+ setFormItemVisible(attrs) {
+ if (!Array.isArray(attrs)) {
+ return
+ }
+ const head_styledef = this.head_styledef
+ if (!head_styledef.hiddenIds) {
+ head_styledef.hiddenIds = []
+ }
+ attrs.forEach((attr) => {
+ let index = head_styledef.hiddenIds.findIndex((id) => id == attr.attr);
+ if (attr.show) {
+ if (index > -1) head_styledef.hiddenIds.splice(index, 1);
+ } else {
+ if (index == -1) head_styledef.hiddenIds.push(attr.attr);
+ }
+ });
+ this.setData({
+ head_styledef: head_styledef
+ })
+
+ },
+
popupChange(e) {
console.log('褰撳墠妯″紡锛� + e.type + ',鐘舵�锛� + e.show);
},
@@ -1106,43 +1137,8 @@
$this.setFormValues(result)
} else if (action.action_type == 'set_dlg_attr_show') {
var result = action.value;
- result.forEach(async (attr, key) => {
- $this.head_styledef.form.items
- .forEach(
- async (ele,
- index) => {
- //鍒ゆ柇鏄惁鏄爡鏍艰〃鍗�- if (ele.name != 'Layout') {
- if (ele.fieldId == attr
- .attr) {
- ele.show = attr
- .show;
- }
- } else if (ele.name ==
- 'Layout') {
- ele.setting.colList
- .forEach(
- col => {
- if (col) {
- if (col
- .fieldId ==
- attr
- .attr
- ) {
- col.show =
- attr
- .show;
- }
- }
- });
- }
- });
- });
- var head_styledef = JSON.parse(JSON.stringify($this.$data
- .head_styledef));
- $this.head_styledef = [];
- $this.head_styledef = head_styledef;
- // console.log($this.head_styledef);
+
+ $this.setFormItemVisible(result)
} else if (action.action_type == 'set_global_attr') {
$this.global_attr = action.value || [];
} else {
--
Gitblit v1.9.1