App.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
components/oi-form/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
libs/mobox.api.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
manifest.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/modal/3018_2.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/modal/3037_2.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/modal/5601.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/modal/form/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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, 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; 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 || "" 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" : { 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> @@ -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; if (!head_styledef.hiddenIds) { head_styledef.hiddenIds = [] } } else if (ele.name == 'Layout') { ele.setting.colList.forEach((col) => { if (col) { if (col.fieldId == attr.attr) { col.show = attr.show; } 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 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> <!-- 从数据 --> @@ -557,6 +557,10 @@ } } else if (data.action[i].action_type == 'set_dlg_attr_show') { var result = action.value; if (type == 'head') { $this.setFormItemVisible(result) // console.log($this.head_styledef); } else { result.forEach(async (attr, key) => { styledef.form.items.forEach(async (ele, index) => { //判断是否是栅格表单 @@ -579,11 +583,8 @@ }); }); var style_def = JSON.parse(JSON.stringify(styledef)); if (type == 'head') { $this.head_styledef = []; $this.head_styledef = style_def; // console.log($this.head_styledef); } else { $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 = {}; 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; } } } }); } }) //判断表单里是否有返回字段,没有就装载到model里,点击确定提交的时候带上这些数据 }) 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 { 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> @@ -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 {