From 381357c9d11045ff6c0e73cf2d64b735b13c7b99 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期一, 18 八月 2025 09:59:18 +0800
Subject: [PATCH] uni-segmented-control text
---
pages/modal/5601.vue | 1490 +++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 1,025 insertions(+), 465 deletions(-)
diff --git a/pages/modal/5601.vue b/pages/modal/5601.vue
index bc16b22..d4cc776 100644
--- a/pages/modal/5601.vue
+++ b/pages/modal/5601.vue
@@ -1,7 +1,8 @@
<template>
- <view class="uni-page-modal-5601">
+ <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>
@@ -11,13 +12,13 @@
<!-- 椤电 -->
<view class="dv-tab">
<uni-segmented-control :current="current" :values="tabs" @clickItem="onClickItem"
- styleType="button">
+ styleType="text">
</uni-segmented-control>
</view>
<swiper class="view-tabpage" :current="current" @change="changeSwiper">
<!-- 瀛愮晫闈�-->
<swiper-item v-for="(pageData, pageIndex) in pageDetail" :key="pageIndex">
- <view class="uni-panel-content">
+ <view class="tab-content">
<view class="view-tab-content" :id="'tabpanel' + pageData.Name">
<image class="logo" v-if="pageData.DefList.length==0"
src="../../images/mobox_log_200x40.png">
@@ -27,45 +28,10 @@
@tap="onPanelClick(ii,style.form.htmlobjId)"
:id="'dvpanel'+style.form.htmlobjId"
:class="style.form.htmlobjId==active_id?'bk-active':''">
- <uni-forms class="dv-panel-form" label-align="right">
- <view v-for="(item,index) in style.form.items" :key="index">
- <!-- 鏍呮牸甯冨眬 -->
- <uni-row v-if="item.name == 'Layout'" :gutter="item.setting.gutter">
- <uni-col
- :span="item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col"
- v-for="(col,key) in item.setting.colList" :key="key">
- <uni-forms-item v-if="col != null"
- :label="col.labelWidth === 0 ? '' : col.label? col.label+'锛�:''"
- :label-width="col.labelWidth || col.labelWidth === 0 ? col.labelWidth : 100+'px'">
- <view v-if="col.disabled">{{col.value}}</view>
- <input class="uni-input"
- v-else-if="col.name=='Input' || col.name=='InputNumber'"
- :type="col.name=='InputNumber'?'number':'text'"
- v-model="col.value" :placeholder="col.placeholder"
- :maxlength="-1" />
- <view v-else>{{col.value}}</view>
-
- </uni-forms-item>
- <uni-forms-item v-else label=""></uni-forms-item>
- </uni-col>
- </uni-row>
- <uni-forms-item v-else
- :label="item.labelWidth === 0 ? '' : item.label? item.label+'锛�:''"
- :label-width="item.labelWidth || item.labelWidth === 0 ? item.labelWidth : 100+'px'"
- :style="{ textAlign: item.setting.align }">
- <view v-if="item.disabled">{{item.value}}</view>
- <input v-else-if="item.name=='Input' || item.name=='InputNumber' "
- class="uni-input"
- :type="item.name=='InputNumber'?'number':'text'"
- v-model="item.value" :disabled="item.disabled"
- :placeholder="item.placeholder" :maxlength="-1" />
- <view v-else>{{item.value}}</view>
-
- </uni-forms-item>
- </view>
- </uni-forms>
- <!-- <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">
@@ -77,9 +43,9 @@
:key="btnIndex" type="default"
:class="btn.FunCode == 'Delete' ? 'btn-warn' : 'btn-primary'"
@click="onRowBtnClick(btn, pageData,ii)">
- <Icon v-if="btn.Style == 'img' || btn.Style == 'img_text'"
- class="Img" />
- {{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}}
+ <text v-if="btn.Style == 'img' || btn.Style == 'img_text'"
+ class="img"></text>
+ {{btn.ShowName ||"" }}
</button>
</div>
@@ -88,21 +54,18 @@
</view>
<view class="view-bottom" v-if="pageData.Button.length >0 ">
<button v-for="(btn,btnIndex) in pageData.Button" :key="btnIndex" type="default"
- :class="{'btn-disabled':(btn.FunCode != 'Cancel' && pageData.okLoading),
- 'btn-primary':(btn.FunCode != 'Cancel'),
+ :class="{'btn-primary':(btn.FunCode != 'Cancel'),
'btn-cancel':(btn.FunCode == 'Cancel'),
'btn-one':pageData.Button.length == 1,
'btn-left':(btnIndex < pageData.Button.length - 1),
'btn-right': btnIndex > 0 && btnIndex == pageData.Button.length - 1 ,
- 'width-50':(pageData.Button.length == 2),'width-32':(pageData.Button.length == 3),'width-30':(pageData.DropDownButton.length> 0)}"
- :disabled="(btn.FunCode != 'Cancel' && pageData.okLoading)? true:false"
- @click="onBtnClick(btn, pageData)">
- <Icon v-if="btn.Style == 'img' || btn.Style == 'img_text'" class="Img" />
- {{(btn.Style == 'text'|| btn.Style == 'img_text') ? btn.ShowName :""}}
+ 'width-50':(pageData.Button.length == 2),'width-32':(pageData.Button.length == 3),'width-30':(pageData.DropDownButton.length> 0)}" @click="onBtnClick(btn, pageData)">
+ <text v-if="btn.Style == 'img' || btn.Style == 'img_text'" class="img"></text>
+ {{btn.ShowName ||""}}
</button>
<view class="btn-right" v-if="pageData.DropDownButton.length >0 ">
<a @click="clickDropdownBtns(pageData)">
- <Icon class="mobox-normal-more" />
+ <text class="mobox-normal-more"></text>
</a>
</view>
</view>
@@ -150,9 +113,12 @@
</template>
<script>
- import Base64 from '../../components/js-base64/base64.js'
import {
- dictGetInfo
+ Base64
+ } from '@/js/Base64.js';
+ import {
+ dictGetInfo,
+ appGetInfo,
} from "@/api/mobox.js"
import {
getUIStyleInfo,
@@ -163,12 +129,11 @@
import OIFormItem from '@/components/oi-form/list/index.vue'
import OIFormInput from '@/components/oi-form/list/input/index.vue'
import OIFormInputNumber from '@/components/oi-form/list/input-number/index.vue'
+ import buttonClickMixin from '@/mixins/button-click.js';
export default {
name: "PageModal5601",
- modules: {
- Base64,
- },
+ mixins: [buttonClickMixin],
components: {
OIForm,
OIFormItem,
@@ -176,8 +141,10 @@
OIFormInputNumber
},
+
data() {
return {
+ largeMode: getApp().globalData.largeMode || false,
title: this.translateSys("inventory"),
ClsID: '',
param: {},
@@ -219,7 +186,8 @@
//鑾峰彇涓绘暟鎹被ID
this.ClsID = this.param.master_cls?.id;
if (this.ClsID) {
- this.loadData(options.paramValue)
+ const paramValue = options.paramValue ? JSON.parse(options.paramValue) : undefined
+ this.loadData(paramValue)
} else {
uni.showModal({
title: this.translateSys("error"),
@@ -258,34 +226,15 @@
//鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁� await this.Head_UIStyleGetInfo(this.ClsID, this.param.Input_UI_Style.ID);
//浼犲叆鍙傛暟鍊�+ console.log(paramValue)
if (paramValue) {
- const attrs = paramValue.attrs || [];
- (this.$data.head_styledef?.form?.items || []).forEach(async (ele, index) => {
- if (ele.name != "Layout") {
- attrs.forEach(async (ele2, index2) => {
- if (ele.fieldId == ele2.name) {
- ele.value = ele2.value;
- }
- });
- } else {
- ele.setting.colList.forEach(async (col) => {
- if (col) {
- attrs.forEach(async (ele2,
- index2) => {
- if (col.fieldId == ele2.name) {
- col.value = ele2.value;
- }
- });
- }
- });
- }
- })
+ this.setFormValues(paramValue)
}
//鍔犺浇鍒濆鐣岄潰
- if (this.$data.param.Show_Welcom_Page) {
- this.$data.param.Welcome_Page.Img = this.$data.param.Welcome_Page.Img.replace(/ /g, '+');
- this.$data.param.Welcome_Page.Width = parseInt(this.$data.param.Welcome_Page.Width);
- this.$data.param.Welcome_Page.Height = parseInt(this.$data.param.Welcome_Page.Height);
+ if (this.param.Show_Welcom_Page) {
+ this.param.Welcome_Page.Img = this.param.Welcome_Page.Img.replace(/ /g, '+');
+ this.param.Welcome_Page.Width = parseInt(this.param.Welcome_Page.Width);
+ this.param.Welcome_Page.Height = parseInt(this.param.Welcome_Page.Height);
};
//鍔犺浇Tab椤电
const pageList = this.param.Sub_Page || []
@@ -404,21 +353,18 @@
Name: page.After_Delete?.Name
};
}
-
- if (evt.ID) {
- return [{
- Cls_Name: this.param?.master_cls?.name || "",
- Cls_ID: this.param?.master_cls?.id || "",
- FunCode: "Delete",
- ShowName: this.$t("sys.delete"),
- Style: "text",
- Prompt: false,
- NotTriggerSYSEvent: false,
- DataStateVerify: false,
- AttrVerify: false,
- AfterProcess_Event: evt,
- }];
- }
+ return [{
+ Cls_Name: this.param?.master_cls?.name || "",
+ Cls_ID: this.param?.master_cls?.id || "",
+ FunCode: "Delete",
+ ShowName: this.$t("sys.delete"),
+ Style: "text",
+ Prompt: false,
+ NotTriggerSYSEvent: false,
+ DataStateVerify: false,
+ AttrVerify: false,
+ AfterProcess_Event: evt,
+ }];
}
return [];
}
@@ -532,7 +478,25 @@
}
}
}
-
+ const app = getApp()
+ if (app.globalData.bindClasses) {
+ styledefHead.form.items.push({
+ name: "Input",
+ label: this.translate("classes"),
+ labelWidth: 100,
+ disabled: true,
+ value: app.globalData.classes,
+ setting: {
+ width: 100,
+ height: 50,
+ },
+ bind: {
+ attr: "",
+ },
+ fieldId: "S_CLASSES",
+ })
+ styledefHead.form.model["S_CLASSES"] = app.globalData.classes
+ }
}
this.setData({
head_styledef: styledefHead
@@ -541,9 +505,13 @@
} catch (ex) {
// console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys("error") + "1",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('close')
});
@@ -609,10 +577,14 @@
console.log("Detail_UIstyleGetInfo", detailstyledef);
return detailstyledef
} catch (ex) {
- // console.log(ex);
+ console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys("error") + "2",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('close')
});
@@ -648,10 +620,14 @@
}
formItem.dict = list;
} catch (ex) {
- // console.log(ex);
+ console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys("error") + "3",
- content: ex.errMsg,
+ content: tip,
showCancel: false,
confirmText: this.translateSys('close')
});
@@ -659,15 +635,16 @@
},
onClick(item) {
+ console.log("onClick", item)
this.focusFieldId = item.fieldId
},
ontap(item) { //鎵爜鍔熻兘
// var $ele = e;
//console.log(e.target)
this.focusOldFieldId = item.fieldId
- getApp().onScan((result) => {
- console.log(result.decodedata);
- item.value = result.decodedata;
+ getApp().onScan(async (result) => {
+ console.log(result);
+ item.value = result;
var $this = this;
let newVal = item.value.trim()
if (newVal) {
@@ -675,16 +652,14 @@
var attr = item.fieldId;
this.head_styledef.form.model[attr] = newVal;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind
- .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind
- .onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋� var isflag = false;
-
+ if (item.changeEventRunding)
+ return
+ item.changeEventRunding = true
if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�- $this.onChange(onChangeEvent);
+ await this.onChange(onChangeEvent);
}
-
+ item.changeEventRunding = false
//鍒濆鍖栵紝涓嬩釜杈撳叆妗唂ocus灞炴�
var findd = false
for (let i in $this.head_styledef.form.items) {
@@ -754,26 +729,31 @@
})
},
- onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
+ async onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
console.log(item);
let newVal = item.value
if (typeof item.value == "string") {
newVal = item.value.trim()
- if (!newVal)
+ if (!newVal) {
+ item.oldvalue = newVal;
+ var attr = item.fieldId;
+ this.head_styledef.form.model[attr] = newVal;
return
+ }
+
}
if (item.oldvalue != newVal) {
item.oldvalue = newVal;
var attr = item.fieldId;
this.head_styledef.form.model[attr] = newVal;
var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�-
if (onChangeEvent?.id) { //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
+ await this.onChange(onChangeEvent);
}
}
},
+
classAttr_extButton(item) {
var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�@@ -797,14 +777,180 @@
});
return;
}
- this.$data.popupType = 'right'
+ this.popupType = 'right'
// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦�uni-popup 缁勪欢涓婄粦瀹�type灞炴�
this.$refs.popup.open(this.popupType);
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 && result.ret != 1) {
+ 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/>') : '';
+ tip = tip || result.err_info
+ if (tip) uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
+
+ } else if (typeof result.result == 'string') {
+ if (result.result) {
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: result.result,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ }
+ }
+ try {
+ var actionList = result.action || []
+ actionList.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)
+ }
+ });
+ } catch (ex) {
+ let actionList = (result.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ console.log(ex)
+ return
+ }
+ }
+
+ }
+
+ } catch (ex) {
+ console.log(ex)
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ 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)
@@ -909,7 +1055,7 @@
var dataInfo = {
ed_type: 0,
start_transaction: true,
- class_id: this.$data.head_styledef.form.clsId,
+ class_id: this.head_styledef.form.clsId,
class_name: '',
event_id: event.id,
event_name: '',
@@ -925,59 +1071,73 @@
global_attr: '',
input_param: input_param,
};
- runCustomEvent(dataInfo).then(result => {
- 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'),
+ const result = await runCustomEvent(dataInfo)
+ console.log(result);
+ if (result.ret != 0 && result.ret != 1) {
+ 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/>') : '';
+ tip = tip || result.err_info
+ if (tip) uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys(
+ 'close')
+ });
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
- if (result.result_type == 0 && result.action) {
- result.action.forEach(item => {
+ } else if (typeof result.result == 'string') {
+ if (result.result) {
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: result.result,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ }
+ }
+ try {
+ let actionList = result.action || []
+ actionList.forEach(item => {
if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓�- $this.$data.param.Show_Welcom_Page = false;
+ $this.param.Show_Welcom_Page = false;
var value = item.value;
$this.viewAceionRow(value);
} else if (item.action_type ==
"set_subtable_page_content") { //宸茬爜鐩�- $this.$data.param.Show_Welcom_Page = false;
+ $this.param.Show_Welcom_Page = false;
var value = item.value;
const pageData = $this.pageDetail.find((page) => {
return value.page_name == page.Name;
@@ -1014,6 +1174,16 @@
if (pageData)
pageData.DefList = [];
$this.viewAceionContent(value);
+ }
+ } else if (item.action_type == "select_subtable_page") {
+ var value = item.value;
+ const pageIndex = $this.pageDetail.findIndex((page) => {
+ return value.page_name == page.Name;
+ });
+ if (pageIndex > -1) {
+ $this.setData({
+ current: pageIndex
+ })
}
} else if (item.action_type == "select_subtable_page_row") {
// value = {"page_name":"鐮佺洏涓�, "row":{"id":"xx"}}
@@ -1067,37 +1237,36 @@
// 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 {
- if (result.info) {
- uni.showModal({
- title: this.translateSys(
- "error") + "4.3",
- content: result.info,
- showCancel: false,
- confirmText: this
- .translateSys('close')
- });
- }
+ } catch (ex) {
+ let actionList = (result.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ console.log(ex)
+ return
}
-
}
- }).catch(ex => {
- // console.log(ex);
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
- uni.showModal({
- title: this.translateSys("error") + "4.1",
- content: tip,
- showCancel: false,
- confirmText: this.translateSys('close')
- });
- });
+ }
+
}
} catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
+ console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys("error") + "4.2",
content: this.translate(
@@ -1146,8 +1315,59 @@
return value.page_name == page.Name;
});
if (pageData?.DefList) {
- pageData.DefList.forEach(ele => {
- if (ele.form.objId == value.row.id) {
+ const detailStyleDefList = pageData.DefList || []
+ let bFindRow = false;
+ for (let index = 0; index < detailStyleDefList.length; index++) {
+ const ele = detailStyleDefList[index]
+
+ if (value.row.id) {
+ if (ele.form.objId == value.row.id) {
+ bFindRow = true;
+ }
+ } else {
+ const conditions = row.condition || [];
+ if (conditions.length > 0) {
+ for (let index = 0; index < detailStyleDefList.length; index++) {
+ const ele = detailStyleDefList[index]
+ let bFindCondition = true;
+ for (let i in conditions) {
+ const condition = conditions[i];
+ let bFind = false;
+ for (let i2 in ele.form.items) {
+ const ele2 = ele.form.items[i2];
+ if (ele2.name != "Layout") {
+ if (ele2.fieldId == condition.attr) {
+ if (condition.value == ele2.value) {
+ bFind = true;
+ }
+ break;
+ }
+ } else {
+ const colList = ele2.setting.colList || [];
+ for (let i3 in colList) {
+ const col = colList[i3];
+ if (col.fieldId == condition.attr) {
+ if (condition.value == col.value) {
+ bFind = true;
+ }
+ break;
+ }
+ }
+ if (bFind) break;
+ }
+ }
+ if (!bFind) {
+ bFindCondition = false;
+ break;
+ }
+ }
+ if (bFindCondition) {
+ bFindRow = true;
+ }
+ }
+ }
+ }
+ if (bFindRow) {
ele.SelBut_Checked = true;
this.active_id = ele.form.htmlobjId;
//鑷姩婊氬姩鍒版寚瀹氬厓绱�@@ -1163,7 +1383,8 @@
}).exec();
}).exec();
}
- });
+ break
+ }
}
},
@@ -1172,23 +1393,73 @@
if (JSON.stringify(value.row) == '{}') {
return;
}
- const pageIndex = $this.pageDetail.findIndex((page, index2, arr) => {
+ const pageIndex = this.pageDetail.findIndex((page, index2, arr) => {
return value.page_name == page.Name;
})
if (pageIndex < 0)
return
- const pageData = $this.pageDetail[pageIndex]
+ const pageData = this.pageDetail[pageIndex]
if (pageData?.DefList) //鍒ゆ柇杩斿洖鐨刟ction鐨刾age_name鏄惁鏄緟鍒嗘嫞//娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹� {
+ const detailStyleDefList = pageData.DefList || []
value.row.forEach((row) => {
- pageData.DefList.forEach((ele, index) => {
- if (ele.form.objId == row.id) {
- pageData.DefList.splice(index, 1);
+ if (row.id) {
+ for (let index = 0; index < detailStyleDefList.length; index++) {
+ const ele = detailStyleDefList[index]
+ if (ele.form.objId == row.id) {
+ detailStyleDefList.splice(index, 1);
+ index--;
+ }
}
- });
+
+ } else {
+ const conditions = row.condition || [];
+ if (conditions.length > 0) {
+ for (let index = 0; index < detailStyleDefList.length; index++) {
+ const ele = detailStyleDefList[index]
+ let bFindCondition = true;
+ for (let i in conditions) {
+ const condition = conditions[i];
+ let bFind = false;
+ for (let i2 in ele.form.items) {
+ const ele2 = ele.form.items[i2];
+ if (ele2.name != "Layout") {
+ if (ele2.fieldId == condition.attr) {
+ if (condition.value == ele2.value) {
+ bFind = true;
+ }
+ break;
+ }
+ } else {
+ const colList = ele2.setting.colList || [];
+ for (let i3 in colList) {
+ const col = colList[i3];
+ if (col.fieldId == condition.attr) {
+ if (condition.value == col.value) {
+ bFind = true;
+ }
+ break;
+ }
+ }
+ if (bFind) break;
+ }
+ }
+ if (!bFind) {
+ bFindCondition = false;
+ break;
+ }
+ }
+ if (bFindCondition) {
+ detailStyleDefList.splice(index, 1);
+
+ }
+ }
+ }
+
+ }
});
}
- $this.$set(this.pageDetail, pageIndex, pageData)
+ this.$set(this.pageDetail, pageIndex, pageData)
},
//鏇存柊鍒嗛〉绛句腑鐨勫垪琛ㄩ」鍐呭
viewActionSetRow(value) {
@@ -1199,7 +1470,7 @@
if (pageIndex < 0)
return
const pageData = $this.pageDetail[pageIndex]
- var detailStyleDefList = pageData.DefList || []
+ const detailStyleDefList = pageData.DefList || []
detailStyleDefList.forEach(ele => {
value.row.forEach((rowData) => {
if (rowData.id) {
@@ -1232,7 +1503,7 @@
});
}
} else if (rowData.condition) {
- const conditions = rowData.condition;
+ const conditions = rowData.condition
let bFindCondition = true;
for (let i in conditions) {
const condition = conditions[i];
@@ -1294,12 +1565,12 @@
});
}
+
}
})
});
pageData.DefList = detailStyleDefList
$this.$set(this.pageDetail, pageIndex, pageData)
-
},
//鍔犺浇姝e湪鐮佺洏鍐呭
viewAceionRow(data) {
@@ -1321,8 +1592,9 @@
data.row.forEach(row => {
detailStyle = JSON.parse(styleStr);
detailStyle.form.objId = row.id;
- detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '').replace(
- '}', '') : 'null';
+ detailStyle.form.htmlobjId = row.id ? row.id.replace(/-/g, '').replace('{', '')
+ .replace(
+ '}', '') : 'null';
detailStyle.form.attrs = row.attrs;
row.attrs.forEach(attr => {
detailStyle.form.items.forEach(ele => {
@@ -1363,11 +1635,11 @@
return;
}
var styleStr = JSON.stringify(pageData.StyleDef);
- var detailStyle = JSON.parse(styleStr);
- if (detailStyle.form) {
- data.content.forEach(cont => {
- detailStyle = JSON.parse(styleStr);
- detailStyle.SelBut_Checked = data.checkbox ?? true;
+
+ data.content.forEach(cont => {
+ var detailStyle = JSON.parse(styleStr);
+ if (detailStyle.form) {
+ // detailStyle.SelBut_Checked = data.checkbox ?? true;
detailStyle.form.objId = cont.id;
detailStyle.form.htmlobjId = cont.id ? cont.id.replace(/-/g,
@@ -1403,13 +1675,16 @@
if (ele.fieldId == attr.attr)
ele.value = attr.value;
} else if (ele.name == 'Layout') {
- ele.setting.colList.forEach(col => {
- if (col) {
- if (col.fieldId == attr
- .attr)
- col.value = attr.value;
- }
- });
+ ele.setting.colList.forEach(
+ col => {
+ if (col) {
+ if (col.fieldId ==
+ attr
+ .attr)
+ col.value =
+ attr.value;
+ }
+ });
}
});
});
@@ -1422,15 +1697,36 @@
}
// $this.setData({pageDetail:pageD})
$this.$set(this.pageDetail, pageIndex, pageData)
+ }
+ });
- });
- }
$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) => {
@@ -1475,6 +1771,13 @@
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) => {
@@ -1482,6 +1785,13 @@
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;
+ }
}
}
});
@@ -1495,17 +1805,117 @@
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 = {};
- this.$data.head_styledef.form.items.forEach(item => {
+ this.head_styledef.form.items.forEach(item => {
if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(col => {
if (col != null) head_attr[col.fieldId] =
@@ -1598,15 +2008,15 @@
// console.log(e.target.dataset);
var index = e.target.dataset.index;
var ischeck = e.target.dataset.ischeck;
- var data = this.$data.check_list.items;
- // this.$data.check_list.items=[];
- if (this.$data.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫�+ var data = this.check_list.items;
+ // this.check_list.items=[];
+ if (this.check_list.multiple_choice == "0") { //鍒ゆ柇鏃跺崟閫夎繕鏄閫� for (var i in data) {
data[i].check = false;
}
}
data[index].check = ischeck ? false : true;
- this.$data.check_list.items = data;
+ this.check_list.items = data;
},
popup_cancel(e) { //寮规鍙栨秷
@@ -1614,7 +2024,7 @@
},
popup_sava(e) { //寮规纭畾
var $this = this;
- var items = $this.$data.check_list.items;
+ var items = $this.check_list.items;
var data = [];
var name = "";
for (var i = 0; i < items.length; i++) {
@@ -1628,7 +2038,7 @@
});
}
}
- if (!$this.$data.popupParam) {
+ if (!$this.popupParam) {
uni.showModal({
title: this.translateSys("tip"),
content: "popupParam涓虹┖锛�,
@@ -1646,7 +2056,7 @@
});
return;
}
- var callback_eventid = $this.$data.popupParam.button_callback.trim();
+ var callback_eventid = $this.popupParam.button_callback.trim();
var info = {
eventid: callback_eventid,
edtype: "0",
@@ -1654,12 +2064,12 @@
rclsid: '',
robjid: '',
userlogin: '',
- clsid: $this.$data.ClsID,
+ clsid: $this.ClsID,
objid: "",
- attr: $this.$data.popupParam.req,
+ attr: $this.popupParam.req,
dataJson: data
}
- $this.DataObjRunCustomEvent(info, $this.$data.popupParam.data_attr);
+ $this.DataObjRunCustomEvent(info, $this.popupParam.data_attr);
this.$refs.popup.close();
},
@@ -1667,18 +2077,18 @@
var $this = this;
var enviroment = {
'function': '3000', // 鍔熻兘鐐圭紪鍙�- cls_id: this.$data.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇�+ cls_id: this.ClsID, // 鍔熻兘鐐逛富鏁版嵁绫绘爣璇� 'button': 'top', // top/bottom
button_name: this.translateSys('add2'),
master: {
- cls_id: this.$data.ClsID, // button=bottom鏃�master鐨刢ls_id
+ cls_id: this.ClsID, // button=bottom鏃�master鐨刢ls_id
//obj_id: '' // button=bottom鏃�master鐨刼bj_id
}
};
if (data_attr) {
enviroment.edit_dlg = {
type: 'small', //灏忕獥鍙�- class_id: this.$data.ClsID, //褰撳墠鏁版嵁绫籭d
+ class_id: this.ClsID, //褰撳墠鏁版嵁绫籭d
}
if (data_attr) {
enviroment.edit_dlg.form_control = { //鎵�睘鐨勮〃鍗曟帶浠�@@ -1694,7 +2104,7 @@
}
enviroment = Base64.encode(JSON.stringify(enviroment)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
var input_param = Base64.encode(JSON.stringify(info.attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
- var global_attr = Base64.encode(JSON.stringify(this.$data.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
+ var global_attr = Base64.encode(JSON.stringify(this.global_attr)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
if (info.dataJson)
info.dataJson = Base64.encode(JSON.stringify(info.dataJson)); //灏嗗瓧绗︿覆杞崲涓篵ase64缂栫爜
var obj_attr = {};
@@ -1724,7 +2134,7 @@
console.log(dataInfo);
// return;
runCustomEvent(dataInfo).then(data => {
- if (data.ret != 0) {
+ if (data.ret != 0 && data.ret != 1) {
var tip = data.err_info ? typeof data.err_info == 'string' ? data
.err_info :
data
@@ -1753,72 +2163,71 @@
.info
.join(
'<br/>') : '';
+ tip = tip || data.err_info
if (tip) uni.showModal({
title: this.translateSys("tip"),
content: tip,
showCancel: false,
confirmText: this.translateSys('close')
});
-
- var actionlist = data.action;
- if (actionlist) {
- console.log(actionlist);
- for (var i = 0; i < actionlist.length; i++) {
- var action = actionlist[i];
- if (action.action_type == 'set_dlg_attr') {
- var result = action.value;
- $this.setFormValues(result)
- } else if (action.action_type == 'set_dlg_attr_show') {
- var result = action.value;
- result.forEach(async (attr, key) => {
- $this.$data.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.$data.head_styledef = [];
- $this.$data.head_styledef = head_styledef;
- // console.log($this.$data.head_styledef);
- } else if (action.action_type == 'set_global_attr') {
- $this.$data.global_attr = action.value || [];
- } else {
+ if ([0, 2, 3, 4, -1].includes(data.result_type)) {
+ if (data.result_type == 2) {
+ $this.setFormValues(data.result || [])
+ } else if (typeof data.result == 'string') {
+ if (data.result) {
uni.showModal({
- title: this.translateSys("tip"),
- content: this.translateSys(
- "quotation_mark_left") +
- action
- .action_type + this.translateSys(
- "quotation_mark_right") + this
- .translate(
- "tip_action_unprocessed"),
+ title: this.translateSys('tip'),
+ content: data.result,
showCancel: false,
confirmText: this.translateSys('close')
});
}
}
- }
- console.log($this.head_styledef);
- if (data.result) {
- var result = data.result;
- $this.setFormValues(result)
+ try {
+ var actionlist = data.action || []
+ for (var i = 0; i < actionlist.length; i++) {
+ var action = actionlist[i];
+ if (action.action_type == 'set_dlg_attr') {
+ var result = action.value;
+ $this.setFormValues(result)
+ } else if (action.action_type == 'set_dlg_attr_show') {
+ var result = action.value;
+ $this.setFormItemVisible(result)
+
+ // console.log($this.head_styledef);
+ } else if (action.action_type == 'set_global_attr') {
+ $this.global_attr = action.value || [];
+ } else {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translateSys(
+ "quotation_mark_left") +
+ action
+ .action_type + this.translateSys(
+ "quotation_mark_right") + this
+ .translate(
+ "tip_action_unprocessed"),
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ }
+ }
+
+
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ console.log(ex)
+ return
}
+ }
}
}).catch(ex => {
@@ -1898,7 +2307,7 @@
console.log(dataInfo);
// return;
runCustomEvent(dataInfo).then(data => {
- if (data.ret != 0) {
+ if (data.ret != 0 && data.ret != 1) {
var tip = data.err_info ? typeof data.err_info == 'string' ? data
.err_info :
data
@@ -1927,16 +2336,28 @@
.info
.join(
'<br/>') : '';
+ tip = tip || data.err_info
if (tip) uni.showModal({
title: $this.translateSys("tip"),
content: tip,
showCancel: false,
confirmText: $this.translateSys('close')
});
+ if ([0, 2, 3, 4, -1].includes(data.result_type)) {
+ if (data.result_type == 2) {
- if (data != "") {
- var actions = data.action;
- if (actions) {
+ } else if (typeof data.result == 'string') {
+ if (data.result) {
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: data.result,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ }
+ }
+ try {
+ var actions = data.action || []
for (var i = 0; i < actions.length; i++) {
var action = actions[i];
console.log(action)
@@ -1984,7 +2405,7 @@
rclsid: '',
robjid: '',
userlogin: '',
- clsid: $this.$data.param
+ clsid: $this.param
.DataCls
.id,
objid: "",
@@ -2073,8 +2494,8 @@
data[0].ID +
';' + data[0].Name;
- // $this.$data.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
- // $this.$data.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
+ // $this.classAttrList[param.index].Attr[param.iindex].Value=data[0].Name;
+ // $this.classAttrList[param.index].Attr[param.iindex].ValID=data[0].ID+';'+data[0].Name;
var callback_eventid = param
.button_callback
.trim();
@@ -2114,18 +2535,22 @@
});
}
}
+
+ } catch (ex) {
+ let actionList = (data.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ console.log(ex)
+ return
}
- } else {
- uni.showModal({
- title: $this.translateSys('tip') + "5.2",
- content: $this.translateSys("quotation_mark_left") +
- "before_click_button" + $this.translateSys(
- "quotation_mark_right") + $this.translateSys(
- "comma") + 'event_id' + eventid,
- showCancel: false,
- confirmText: $this.translateSys('close')
- });
}
+
}
}).catch(ex => {
@@ -2186,7 +2611,13 @@
})
} else {
- this.onButtonClicked(btn, pageData, -1);
+ this.handleButtonClick((done) => {
+ this.onButtonClicked(btn, pageData, -1);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+
}
},
onRowBtnClick(btn, pageData, index) {
@@ -2207,7 +2638,13 @@
})
} else {
- this.onButtonClicked(btn, pageData, index);
+ this.handleButtonClick((done) => {
+ this.onButtonClicked(btn, pageData, index);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+
}
},
onButtonClicked(btn, pageData, index) {
@@ -2233,7 +2670,8 @@
const style = pageData.DefList[index];
//鍒犻櫎鐮佺洏涓牱寮忛潰鏉� pageData.DefList.splice(index, 1);
- this.del(pageData, style, btn.AfterProcess_Event);
+ if (btn.AfterProcess_Event.ID)
+ this.del(pageData, style, btn.AfterProcess_Event);
this.$set(this.pageDetail, pageIndex, pageData)
}
} else if (btn.FunCode == "Modify") {
@@ -2253,10 +2691,121 @@
}
}
+ } else if (btn.FunCode == "RelatedFunction") {
+ if (index > -1) {
+ const style = pageData.DefList[index];
+ this.relatedFunction(btn, style, enviroment, pageData);
+ }
} else {
this.$Message.warning(this.$t("sys.unrealized"));
}
},
+ async relatedFunction(btn, style, enviroment, pageData) {
+ //璺宠浆鍔熻兘鐐�+ try {
+ const defCode = btn.Related_Function?.Def_Code
+ var $this = this;
+ if (
+ defCode == "3018" ||
+ defCode == "3037" ||
+ defCode == "3200" ||
+ defCode == "3201" ||
+ defCode == "3202" ||
+ defCode == "5600" ||
+ defCode == "5601" ||
+ defCode == "5602"
+ ) {
+
+ let name = defCode
+ if (defCode == "3018" || defCode == "3037")
+ name = defCode + "_2"
+ var json = {
+ app_id: [btn.Related_Function.ID],
+ };
+ const result = await appGetInfo(json)
+ if ((result || []).length > 0) {
+ var app = result[0];
+ var param = "";
+ var appName = app.list_name || app.name
+ .Name;
+ var paramStr = app.param
+ if (paramStr) {
+ //mobox2鐨刾aram鏄痡son瀛楃涓�+ param = paramStr.replace(/\\/g, "");
+ //mobox3鐨刾aram鏄痓ase64瀛楃涓�+ if (!paramStr.includes('"')) param = Base64.decode(
+ paramStr);
+ }
+ if (!param) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate(
+ 'tip_no_app_param'),
+ showCancel: false,
+ confirmText: this.translateSys(
+ 'close')
+ });
+ return;
+ }
+ const attrValues = []
+
+ style.form.items.forEach(item => {
+ if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮�+ item.setting.colList.forEach(col => {
+ if (col != null) {
+ attrValues.push({
+ attr: col.fieldId,
+ value: col.value || ""
+ })
+ }
+
+ });
+ } else
+ attrValues.push({
+ attr: item.fieldId,
+ value: item.value || ""
+ })
+ });
+ uni.navigateTo({
+ url: '../modal/' + name + '?param=' +
+ param + "&titlename=" + appName +
+ "&type=relatedFunction¶mValue=" + JSON.stringify(attrValues),
+ });
+ } else {
+ uni.showModal({
+ title: this.translateSys("error"),
+ content: this.translate(
+ "function_not_exist"),
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ }
+
+ } else {
+ uni.showModal({
+ title: this.translateSys("error"),
+ content: this.translate("cannot_related_function"),
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+
+ }
+ } catch (ex) {
+ console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
+ uni.showModal({
+ title: this.translateSys("error"),
+ content: tip,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ return undefined
+ }
+ },
+
//淇敼灏忕獥鍙f暟鎹� showSmallDialog(btn, row, enviroment, pageData) {
var data = {
@@ -2302,7 +2851,8 @@
} else {
ele.setting.colList.forEach(async (col) => {
if (col) {
- let value = formData[col.fieldId]
+ let value = formData[col
+ .fieldId]
if (value)
col.value = value
}
@@ -2310,7 +2860,6 @@
}
})
$this.$set($this.pageDetail, pageIndex, pageData)
-
},
}
@@ -2353,7 +2902,8 @@
} else {
ele.setting.colList.forEach(async (col) => {
if (col) {
- let value = formData[col.fieldId]
+ let value = formData[col
+ .fieldId]
if (value)
col.value = value
}
@@ -2373,33 +2923,34 @@
this.After_OK_Event = pageData.After_ok;
// console.log(this.Before_OK_Event);
// console.log(this.After_OK_Event);
- if (this.$data.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢
- this.sava(pageData, this.$data.Before_OK_Event);
- else if (this.$data.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢
- this.sava(pageData, this.$data.After_OK_Event);
+ console.log("ok");
+ if (this.Before_OK_Event.ID) //鏄惁鏈夌‘瀹氬墠浜嬩欢
+ this.sava(pageData, this.Before_OK_Event);
+ else if (this.After_OK_Event.ID) //鏄惁鏈夌‘瀹氬悗浜嬩欢
+ this.sava(pageData, this.After_OK_Event);
},
sava(pageData, event) {
+
var $this = this;
- if (pageData.DefList.length == 0) {
- uni.showModal({
- title: this.translateSys("tip"),
- content: this.translate(
- "tip_no_data_first") +
- this.translateSys(
- "quotation_mark_left") + pageData.Name + this
- .translateSys(
- "quotation_mark_right") +
- this.translate(
- "tip_no_data_last"),
- showCancel: false,
- confirmText: this.translateSys('close')
- });
- return false;
- }
+ // if (pageData.DefList.length == 0) {
+ // uni.showModal({
+ // title: this.translateSys("tip"),
+ // content: this.translate(
+ // "tip_no_data_first") +
+ // this.translateSys(
+ // "quotation_mark_left") + pageData.Name + this
+ // .translateSys(
+ // "quotation_mark_right") +
+ // this.translate(
+ // "tip_no_data_last"),
+ // showCancel: false,
+ // confirmText: this.translateSys('close')
+ // });
+ // return false;
+ // }
//鑾峰彇琛ㄥご灞炴�
- pageData.okLoading = true
var head_attr = {};
- this.$data.head_styledef.form.items.forEach(item => {
+ this.head_styledef.form.items.forEach(item => {
if (item.name == "Layout") { //鍒ゆ柇鏄惁鏄爡鏍忔牸寮� item.setting.colList.forEach(col => {
if (col != null) head_attr[col.fieldId] =
@@ -2477,7 +3028,6 @@
});
});
if (jsonlist.length == 0) {
- pageData.okLoading = false
uni.showModal({
title: this.translateSys("tip"),
content: this.translate("tip_no_select_data"),
@@ -2492,7 +3042,7 @@
item_list: jsonlist,
ext_data: pageData.ExtData
})
- // console.log(jsonlist);
+
$this.runCustomEvent(pageData, event, input_param, list);
// jsonlist.forEach(async (json,key)=>{
// await $this.runCustomEvent(event,input_param,json,'1');
@@ -2507,7 +3057,7 @@
var dataInfo = {
ed_type: 0,
start_transaction: true,
- class_id: this.$data.ClsID,
+ class_id: this.ClsID,
class_name: '',
event_id: event.ID,
event_name: '',
@@ -2523,11 +3073,10 @@
global_attr: '',
input_param: input_param,
};
-
- // console.log(dataInfo);
+ console.log(dataInfo);
runCustomEvent(dataInfo).then(result => {
console.log(result);
- if (result.ret != 0) {
+ if (result.ret != 0 && result.ret != 1) {
var tip = result.err_info ? typeof result
.err_info == 'string' ? result.err_info :
result.err_info.join('<br/>') : '';
@@ -2559,6 +3108,7 @@
var tip = result.info ? typeof result.info ==
'string' ? result.info : result.info
.join('<br/>') : '';
+ tip = tip || result.err_info
if (tip) uni.showModal({
title: this.translateSys('tip'),
content: tip,
@@ -2566,62 +3116,98 @@
confirmText: this.translateSys(
'close')
});
- if (result.result_type == 0) {
- if (result.action) {
- // uni.showModal({title:this.translateSys("tip"),content:JSON.stringify(result.action),showCancel:false,confirmText:this.translateSys("cancel")});
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
- result.action.forEach(item => {
- if (item.action_type == "insert_subtable_page_row") { //鐮佺洏涓�+ } else if (typeof result.result == 'string') {
+ if (result.result) {
+ uni.showModal({
+ title: this.translateSys('tip'),
+ content: result.result,
+ showCancel: false,
+ confirmText: this.translateSys('close')
+ });
+ }
+ }
+ try {
+ let actionList = result.action || []
+ actionList.forEach(item => {
+ if (item.action_type ==
+ "insert_subtable_page_row") { //鐮佺洏涓� var value = item.value;
//鍔犺浇宸茬粡鐮佺洏鏁版嵁
$this.viewAceionRow(value);
//娓呯┖鏉$爜鍐呭
- $this.$data.head_styledef.form.items.forEach((item, index) => {
- if (item.fieldId != "S_CNTR_CODE") {
+ $this.head_styledef.form.items.forEach((item,
+ index) => {
+ if (item.fieldId !=
+ "S_CNTR_CODE") {
item.value = '';
item.oldvalue = '';
- $this.$data.head_styledef.form.model[item
+ $this.head_styledef.form.model[
+ item
.fieldId] = '';
}
});
uni.showModal({
title: $this.translateSys("tip"),
- content: $this.translate('execute_event_success'),
+ content: $this.translate(
+ 'execute_event_success'),
showCancel: false,
- confirmText: $this.translateSys('close')
+ confirmText: $this.translateSys(
+ 'close')
});
} else if (item.action_type ==
"set_subtable_page_content"
) { //宸茬爜鐩�- $this.$data.param.Show_Welcom_Page = false;
+ $this.param.Show_Welcom_Page = false;
var value = item.value;
- const pageData = $this.pageDetail.find((page) => {
- return value.page_name == page.Name;
+ const pageData = $this.pageDetail.find((
+ page) => {
+ return value.page_name == page
+ .Name;
});
- if (value.clear_confirm != false && value.clear == true &&
+ if (value.clear_confirm != false && value
+ .clear == true &&
pageData && pageData.DefList.length > 0
) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹� uni.showModal({
- title: $this.translateSys('tip'),
+ title: $this.translateSys(
+ 'tip'),
content: $this.translate(
- "are_you_sure_clear_first") +
- $this.translateSys("quotation_mark_left") +
+ "are_you_sure_clear_first"
+ ) +
+ $this.translateSys(
+ "quotation_mark_left"
+ ) +
value.page_name +
$this.translateSys(
- "quotation_mark_right") +
- $this.translate("are_you_sure_clear_last"),
- cancelText: $this.translateSys('ok'),
- confirmText: $this.translateSys('cancel'),
+ "quotation_mark_right"
+ ) +
+ $this.translate(
+ "are_you_sure_clear_last"
+ ),
+ cancelText: $this.translateSys(
+ 'ok'),
+ confirmText: $this
+ .translateSys('cancel'),
success: function(res) {
if (res.cancel) {
if (pageData)
- pageData.DefList = [];
- $this.viewAceionContent(value);
- } else if (res.confirm) {
+ pageData
+ .DefList = [];
+ $this
+ .viewAceionContent(
+ value);
+ } else if (res
+ .confirm) {
if (pageData)
- pageData.DefList = [];
- $this.viewAceionContent(value);
+ pageData
+ .DefList = [];
+ $this
+ .viewAceionContent(
+ value);
}
}
});
@@ -2631,45 +3217,70 @@
$this.viewAceionContent(value);
}
} else if (item.action_type ==
+ "select_subtable_page") {
+ var value = item.value;
+ const pageIndex = $this.pageDetail.findIndex((
+ page) => {
+ return value.page_name == page
+ .Name;
+ });
+ if (pageIndex > -1) {
+ $this.setData({
+ current: pageIndex
+ })
+ }
+ } else if (item.action_type ==
"remove_subtable_page_row") { //娓呴櫎闈㈡澘涓寚瀹歩d鐨勬暟鎹� let value = item.value;
$this.viewActionRemoveRow(value)
- } else if (item.action_type == "set_subtable_page_row") {
+ } else if (item.action_type ==
+ "set_subtable_page_row") {
$this.viewActionSetRow(item.value)
- } else if (item.action_type == "set_subtable_page_ext_data") {
+ } else if (item.action_type ==
+ "set_subtable_page_ext_data") {
let value = item.value;
- const pageData = $this.pageDetail.find((page) => {
- return value.page_name == page.Name;
+ const pageData = $this.pageDetail.find((
+ page) => {
+ return value.page_name == page
+ .Name;
});
if (pageData) {
pageData.ExtData = value.ext_data
}
- } else if (item.action_type == "clear_subpage_rows") {
+ } else if (item.action_type ==
+ "clear_subpage_rows") {
var value = item.value;
- const pageIndex = $this.pageDetail.findIndex((page) => {
- return value.page_name == page.Name;
+ const pageIndex = $this.pageDetail.findIndex((
+ page) => {
+ return value.page_name == page
+ .Name;
});
if (pageIndex > -1) {
- const pageData = $this.pageDetail[pageIndex]
+ const pageData = $this.pageDetail[
+ pageIndex]
pageData.DefList = []
pageData.ExtData = {}
- $this.$set(this.pageDetail, pageIndex, pageData)
+ $this.$set(this.pageDetail, pageIndex,
+ pageData)
}
- } else if (item.action_type == "set_dlg_current_edit_attr") {
+ } else if (item.action_type ==
+ "set_dlg_current_edit_attr") {
if ($this.focusOldFieldId == item.value)
$this.setData({
focusFieldId: ""
})
else {
$this.setData({
- focusFieldId: $this.focusOldFieldId
+ focusFieldId: $this
+ .focusOldFieldId
})
}
$this.$nextTick(() => {
$this.setData({
- focusFieldId: item.value
+ focusFieldId: item
+ .value
})
});
} else if (item.action_type ==
@@ -2677,32 +3288,40 @@
// 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 {
- if ($this.$data.After_OK_Event.ID != event.ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢
- $this.sava(pageParam, $this.$data.After_OK_Event); //鎵ц纭畾鍚庝簨浠�+
+ if ($this.After_OK_Event?.ID && $this.After_OK_Event.ID != event
+ .ID) { //鍒ゆ柇褰撳墠浜嬩欢鏄惁鏄‘瀹氬悗浜嬩欢
+ $this.sava(pageParam, $this.After_OK_Event); //鎵ц纭畾鍚庝簨浠�
}
- }
- } else {
-
- if (result.info) {
+ } catch (ex) {
+ let actionList = (result.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
uni.showModal({
- title: this.translateSys("tip"),
- content: result.info,
+ title: this.translateSys('tip'),
+ content: tip,
showCancel: false,
confirmText: this.translateSys('close')
});
+ console.log(ex)
+ return
}
}
}
- pageParam.okLoading = false
}).catch(ex => {
- pageParam.okLoading = false
- let tip = typeof ex.errMsg == "string" ? ex.errMsg : ex
+ console.log(ex);
+ let exStr = JSON.stringify(ex)
+ if (exStr == "{}")
+ exStr = ex
+ let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
uni.showModal({
title: this.translateSys("error") + "8.1",
content: this.translate("execute_after_ok_event_failed") +
@@ -2755,38 +3374,6 @@
flex-direction: column;
}
- .v-head-style {
- width: 98%;
-
- .uni-forms-item {
- margin-bottom: 11rpx;
- }
-
- .input-wrapper {
- border: 1px solid #d5d5d5;
- width: 100%;
- display: flex;
- flex-direction: row;
-
- .uni-input {
- flex: 1;
- padding: 12rpx 8rpx;
- color: #2d8cf0;
- // height: 40rpx;
- // line-height: 40rpx;
- }
-
- .uni-icon {
- padding: 10rpx 5rpx;
- font-size: 32rpx;
- color: rgb(192, 196, 204);
- }
- }
-
- .input-wrapper:hover {
- border: 1px solid rgb(41, 121, 255);
- }
- }
.view-content {
display: flex;
@@ -2823,6 +3410,12 @@
flex-direction: column !important;
}
+ .tab-content {
+ display: flex;
+ width: 100%;
+ height: 100%;
+ flex-direction: column !important;
+ }
.view-bottom {
display: flex;
@@ -2838,7 +3431,6 @@
.btn-left {
padding: 20rpx;
line-height: 1.5;
- font-size: 38rpx;
font-weight: bold;
float: left;
display: inline-block;
@@ -2848,7 +3440,6 @@
.btn-one {
padding: 20rpx;
line-height: 1.5;
- font-size: 38rpx;
font-weight: bold;
float: left;
display: inline-block;
@@ -2859,7 +3450,6 @@
.btn-right {
padding: 20rpx;
line-height: 1.5;
- font-size: 38rpx;
font-weight: bold;
float: right;
display: inline-block;
@@ -2929,7 +3519,6 @@
padding: 0px;
margin: 0;
-
.uni-forms-item {
padding-bottom: 5rpx;
margin-bottom: 0;
@@ -2938,35 +3527,14 @@
height: 20px !important;
padding: 0 10rpx 0 0 !important;
}
-
- .uni-input {
- width: calc(100% - 12rpx);
- padding: 5rpx;
- border: 1px solid #d5d5d5;
- color: #2d8cf0;
- height: 20px;
- background: #FFF;
- line-height: 20px;
- border-radius: 6px !important;
- font-size: 14px;
- font-family: inherit;
- box-shadow: none !important;
- transition-duration: 0.1s;
- vertical-align: middle;
- }
-
- .uni-input:hover {
- border: 1px solid rgb(41, 121, 255);
- }
}
-
}
.dv-panel-button {
width: 100%;
text-align: left;
- min-height: 30rpx;
+ min-height: 16px;
padding-bottom: 10rpx;
checkbox {
@@ -2976,9 +3544,9 @@
button {
text-align: left;
- line-height: 1.5;
+ line-height: 1.6;
border: none;
- font-size: 30rpx;
+
margin-right: 10rpx;
display: inline-block;
float: right;
@@ -3038,7 +3606,6 @@
background: #94D5EF;
display: block;
width: 100%;
- font-size: 36rpx;
line-height: 80rpx;
font-weight: 500;
}
@@ -3057,8 +3624,6 @@
background: #FFF;
border-radius: 0 !important;
color: #2d8cf0;
- /* padding: 10rpx 8rpx 12rpx; */
- font-size: 34rpx;
font-family: inherit;
box-shadow: none !important;
transition-duration: 0.1s;
@@ -3081,14 +3646,6 @@
.input-disabled {
background-color: #f3f3f3 !important;
}
-
- // ::v-deep .uni-row {
- // margin-bottom: 0px;
- // }
-
- // .view-tabpage ::v-deep .uni-row {
- // margin-bottom: 5px;
- // }
.demo-uni-col {
height: 36px;
@@ -3120,7 +3677,6 @@
}
.popup-header {
- font-size: 42rpx;
font-weight: bold;
margin: 20rpx 20rpx 0px 20rpx;
}
@@ -3145,7 +3701,6 @@
background: #27A6E1;
border: none;
color: #fff;
- font-size: 38rpx;
font-weight: bold;
/* float: left; */
display: inline-block;
@@ -3161,7 +3716,6 @@
// color: #fff;
background: #fff;
color: #000;
- font-size: 38rpx;
font-weight: bold;
/* float: right; */
display: inline-block;
@@ -3169,4 +3723,10 @@
}
+
+ .uni-page-modal-5601.large-mode {
+ .dv-panel-button {
+ min-height: 32px !important;
+ }
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.1