From 7662665a4f88da0f8afa804bd4a34dfbefc1fb56 Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期五, 29 八月 2025 15:17:59 +0800
Subject: [PATCH] get_pre_page_subtable_next_row
---
pages/modal/3200.vue | 3601 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 2,249 insertions(+), 1,352 deletions(-)
diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index e1f48cf..e01994e 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -1,1374 +1,2271 @@
-<style>
-.v-headStyle:first-child{
- margin-top: 15rpx;
-}
-.v-headStyle .txt_title{
- font-size: 34rpx;
- text-align: right;
- display: inline-block;
- vertical-align: 24rpx;
-}
-.v-headStyle input{
- display: inline-block;
- /* border: 1px solid #d5d5d5; */
- /* width: 65%; */
- width: 85%;
- height: 52rpx;
- line-height: 34rpx;
- 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;
- margin-top: 4rpx;
-}
-.v-headStyle input::-webkit-input-placeholder {
- font-size: 12rpx;
-}
-.input-wrapper{
- border: 1px solid #d5d5d5;
- display: inline-block;
- width: 65%;
- line-height: 22rpx;
-}
-[nvue] uni-view {
- position: relative;
- border: 0 solid #000;
- box-sizing: border-box;
-}
-.uni-input {
- /* border: none; */
-}
-.uni-icon{
- /* border: 1px solid red; */
- width: 8%;
- font-family: uniicons;
- font-size: 40rpx;
- font-weight: 400;
- font-style: normal;
- /* width: 48rpx; */
- height: 48rpx;
- line-height: 48rpx;
- color: #2d8cf0;
- cursor: pointer;
- display: inline-block;
- vertical-align: 18rpx;
-}
-.v-content{
- height: 945rpx;
- overflow: auto;
- /* border:1px solid red; */
-}
-.view-content{
- margin-top: 10rpx;
-}
-.dv-panel-bkcolor{
- background-color:#efefef;
-}
-.dv-panel{
- background-color:#efefef;
- padding: 20rpx 20rpx 4rpx 0px;
- border-radius: 12rpx;
- margin-bottom: 20rpx;
- text-align: right;
-}
-.dv-panel-input{
- vertical-align: middle;
- width: 91%;
- display: inline-block;
- text-align: left;
-}
-.dv-panel-buticon{
- line-height: 50rpx;
- text-align: left;
- /* font-size: 17px; */
- padding: 0 30rpx;
-}
-.dv-panel-buticon .btn-padding{
- padding: 20rpx;
- display: inline-block;
- vertical-align: middle;
-}
-.dv-panel-buticon a i {
- font-size: 44rpx;
-}
-.dv-panel-buticon button{
- min-width: 120rpx;
- font-size: 32rpx;
- padding: 20rpx 20rpx;
- line-height: 1;
- background: #4D6AF4;
- border: none;
- color: #fff;
- font-weight: bold;
- border-radius: 8rpx;
-}
-.dv-panel .txt_title{
- font-size: 34rpx;
- text-align: right;
- display: inline-block;
-}
-.dv-panel input{
- vertical-align: middle;
- display: inline-block;
- border: 2rpx solid #d5d5d5;
- width: 68%;
- height: 52rpx;
- line-height: 34rpx;
- background: #FFF;
- border-radius: 14rpx !important;
- color: #2d8cf0;
- padding: 6rpx 8rpx 8rpx;
- font-size: 32rpx;
- font-family: inherit;
- box-shadow: none !important;
- transition-duration: 0.1s;
- margin-top: 0rpx;
-}
-.dv-panel input::-webkit-input-placeholder {
- font-size: 10rpx;
-}
-.dv-panel .form-item-span{
- vertical-align: text-top;
- color: #2d8cf0;
- white-space: normal;
- word-break: break-all;
- display: inline-block;
- width: calc(100% - 100px);
-}
-.dv-panel-button{
- display: inline-block;
-}
-.dv-panel-button checkbox-group {
- display: inline-block;
-}
-.dv-panel-button a i {
- font-size: 36rpx;
-}
-.dv-panel-button button {
- height: 50rpx;
- font-size: 26rpx;
- padding: 0 24rpx;
-}
-.view-floor{
- padding: 0 20rpx;
- /* border:1px solid red; */
-}
-button.btn_refresh {
- width:49.5%;
- margin-top: 25rpx;
- padding: 20rpx;
- line-height: 1.5;
- background: #4D6AF4;
- border: none;
- color: #fff;
- font-size: 38rpx;
- font-weight: bold;
- float: left;
- display: inline-block;
-}
-button.btn_cancel {
- width:49.5%;
- margin-top: 25rpx;
- padding: 20rpx;
- line-height: 1.5;
- background: #fff;
- border: none;
- color: #000;
- font-size: 38rpx;
- font-weight: bold;
- float: left;
- display: inline-block;
- margin-right: 20rpx;
-}
-
-.bk-active{
- background-color: #D6FCB2;
-}
-.uni-padding-wrap{
- margin-top: 14rpx;
- background-color: #98DAEA;
- width: 104rpx;
- height: 80rpx;
- text-align: center;
- border-radius: 54rpx;
- padding: 24rpx 0 0 0;
- float: right;
- display: inline-block;
-}
-.uni-padding-wrap a{
- font-size: 40rpx;
-}
-#dv_select{
- display: inline-block;
- width: 66%;
- 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;
- margin-top: 0rpx;
- vertical-align: 20rpx;
-}
-#dv_select .uni-select{
- border: 2rpx solid #ccc;
- border-radius: 0 !important;
- color: #2d8cf0;
-}
-#dv_select .uni-select__input-text{
- color: #2d8cf0;
-}
-.input-disabled{
- background-color: #f3f3f3 !important;
-}
-</style>
-<style lang="scss">
- .demo-uni-row {
- margin-bottom: 0px;
- display: block;
- }
- ::v-deep .uni-row {
- margin-bottom: 0px;
- }
- .view-tabpage ::v-deep .uni-row {
- margin-bottom: 5px;
- }
- .demo-uni-col {
- height: 36px;
- border-radius: 5px;
- }
- .demo-uni-row .uni-input{
- width: calc(100% - 120px);
- }
-
-</style>
-
<template>
- <view class="content">
- <view class="v-content">
- <!-- 琛ㄥご鏍峰紡 -->
- <view class="v-headStyle" v-for="(item,index) in head_styledef.form.items" v-if="isFilter==true">
- <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
- <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections-->
- <uni-data-select id="dv_select" v-if="item.name=='Select'"
- :class="item.disabled?'input-disabled':''"
- v-model="item.value"
- :localdata="item.dict"
- @change="onchange(item)"
- :disabled="item.disabled"
- :clear="false"
- ></uni-data-select>
- <view class="input-wrapper" v-if="item.name=='Input' || item.name=='InputNumber'">
- <text v-if="item.setting.prefix"
- class="uni-icon"
- :class="[item.setting.prefix]"
- @click="onEnterChange(item)"></text>
- <input class="uni-input"
- :class="item.disabled?'input-disabled':''"
- :type="item.name=='Input'?'text':'number'"
- v-model="item.value"
- :disabled="item.disabled"
- :placeholder="item.placeholder"
- :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
- :focus="focusMateria"
- @focus="ontap(item)"
- @keyup.enter="onEnterChange(item)"
- @blur="onEnterChange(item)"
- />
- <text v-if="item.setting.suffix"
- class="uni-icon"
- :class="[item.setting.suffix]"
- @click="onEnterChange(item)"></text>
- </view>
- </view>
-
- <view class="view-content" id="tabpanel">
- <view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList"
- @click="onPanelClick(ii)"
- :id="'panel'+style.form.htmlobjId"
- :class="activelist[ii].active==true?'bk-active':''">
- <div class="dv-panel-button" v-if="param.ListPage.CheckBox==true">
- <checkbox-group>
- <label>
- <checkbox :value="style.SelBut_Checked" :checked="style.SelBut_Checked" />
- </label>
- </checkbox-group>
- </div>
- <div class="dv-panel-input"
- :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':
- param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':
- param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
- <div v-for="(item,index) in style.form.items">
- <!-- 鏅�甯冨眬 -->
- <view v-if="item.name!='Layout'">
- <text class="txt_title" :style="{'width':item.labelWidth+'px'}">{{item.label}}锛�/text>
- <span class="form-item-span" v-if="item.disabled">{{item.value}}</span>
- <!-- 鏂囨湰妗�鏁板瓧妗�-->
- <view class="dv_input" v-if="(item.name=='Input' || item.name=='InputNumber') && !item.disabled">
- <text v-if="item.setting.prefix"
- class="uni-icon"
- :class="[item.setting.prefix]"
- @change="onchange(item)"></text>
- <input class="uni-input" :class="item.disabled?'input-disabled':''"
- :type="item.name=='Input'?'text':item.name=='InputNumber'?'number':'text'"
- v-model="item.value"
- :disabled="item.disabled"
- :placeholder="item.placeholder"
- :style="{'width':item.setting.prefix && item.setting.suffix?'78%':item.setting.prefix || item.setting.suffix?'87%':'96%'}"
- :focus="focusMateria"
- @focus="ontap(item)"
- @blur="onevent(item)"
- />
- <text v-if="item.setting.suffix"
- class="uni-icon"
- :class="[item.setting.suffix]"
- @click="onchange(item)"></text>
- </view>
- <!-- 涓嬫媺妗�鍗曢� item.useDict?item.dict:item.selections-->
- <uni-data-select id="dv_select" v-if="item.name=='Select' && !item.disabled"
- :class="item.disabled?'input-disabled':''"
- v-model="item.value"
- :localdata="item.dict"
- @change="onchange(item)"
- :disabled="item.disabled"
- :clear="false"
- ></uni-data-select>
- <!-- 澶氳鏂囨湰 -->
- <view class="input-wrapper" v-if="item.name=='Textarea' && !item.disabled">
- <textarea class="uni-input" :value="item.value"
- :class="item.disabled?'input-disabled':''"
- :placeholder="item.placeholder"
- @blur="onModelValue(item)"
- style="height:60px;"
- :style="{'width':'96%'}"
- :disabled="item.disabled"
- ></textarea>
- </view>
- <!-- 澶嶉�妗�-->
- <checkbox-group class="check_rememberPwd" v-if="item.name=='Checkbox'"
- :class="item.disabled?'input-disabled':''"
- @change="onModelValue(item)"
- :data-ischeck="item.value"
- :disabled="item.disabled"
- :style="{'margin-left':'10rpx'}">
- <label>
- <checkbox :value="item.value" :checked="item.value"/>
- <text>{{item.label}}</text>
- </label>
- </checkbox-group>
- <!-- Switch寮�叧 -->
- <switch v-if="item.name=='Switch'" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled"
- v-model="item.value"
- @change="onModelValue(item)"
- :style="{'margin-left':'10rpx'}"/>
- <!-- 鏃ユ湡鏃堕棿 -->
- <view class="input-wrapper" v-if="(item.name=='TimePicker' || item.name=='DatePicker') && !item.disabled">
- <picker mode="date" class="date_iput" :class="item.disabled?'input-disabled':''"
- :disabled="item.disabled"
- :value="item.value"
- @change="onModelValue(item)"
- >
- <view class="picker">{{item.value}}</view>
- </picker>
- </view>
- </view>
- <!-- 鏍呮牸甯冨眬 -->
- <uni-row class="demo-uni-row" v-if="item.name=='Layout'">
- <uni-col v-for="(cols,key) in item.setting.colList"
- :span="item.setting.spanList?item.setting.spanList[key]:24 / item.setting.col">
- <view v-if="cols!=null" >
- <text class="txt_title" :style="{'width':cols.labelWidth+'px'}">{{cols.label}}锛�/text>
- <span class="form-item-span" v-if="cols.disabled">{{cols.value}}</span>
- <view class="dv_input" v-if="(cols.name=='Input' || cols.name=='InputNumber') && !cols.disabled">
- <text v-if="cols.setting.prefix"
- class="uni-icon"
- :class="[cols.setting.prefix]"
- @change="onchange(cols)"></text>
- <input class="uni-input" :class="cols.disabled?'input-disabled':''"
- :type="cols.name=='Input'?'text':cols.name=='InputNumber'?'number':'text'"
- v-model="cols.value"
- :disabled="cols.disabled"
- :placeholder="cols.placeholder"
- :style="{'width':cols.setting.prefix && cols.setting.suffix?'78%':cols.setting.prefix || cols.setting.suffix?'87%':'96%'}"
- :focus="focusMateria"
- @focus="ontap(cols)"
- @blur="onevent(cols)"
- />
- <text v-if="cols.setting.suffix"
- class="uni-icon"
- :class="[cols.setting.suffix]"
- @click="onchange(cols)"></text>
- </view>
- <!-- 涓嬫媺妗�鍗曢� cols.useDict?cols.dict:cols.selections-->
- <uni-data-select id="dv_select" v-if="cols.name=='Select' && !cols.disabled"
- :class="cols.disabled?'input-disabled':''"
- v-model="cols.value"
- :localdata="cols.dict"
- @change="onchange(cols)"
- :disabled="cols.disabled"
- :clear="false"
- ></uni-data-select>
- <!-- 澶氳鏂囨湰 -->
- <view class="input-wrapper" v-if="cols.name=='Textarea' && !cols.disabled">
- <textarea class="uni-input" :value="cols.value"
- :class="cols.disabled?'input-disabled':''"
- :placeholder="cols.placeholder"
- @blur="onModelValue(cols)"
- style="height:60px;"
- :style="{'width':'96%'}"
- :disabled="cols.disabled"
- ></textarea>
- </view>
- <!-- 澶嶉�妗�-->
- <checkbox-group class="check_rememberPwd" v-if="cols.name=='Checkbox'"
- :class="cols.disabled?'input-disabled':''"
- :disabled="item.disabled"
- @change="onModelValue(cols)"
- :data-ischeck="cols.value"
- :style="{'margin-left':'10rpx'}">
- <label>
- <checkbox :value="cols.value" :checked="cols.value"/>
- <text>{{cols.label}}</text>
- </label>
- </checkbox-group>
- <!-- Switch寮�叧 -->
- <switch v-if="cols.name=='Switch'" :class="cols.disabled?'input-disabled':''"
- :disabled="item.disabled"
- v-model="cols.value"
- @change="onModelValue(cols)"
- :style="{'margin-left':'10rpx'}"/>
- <!-- 鏃ユ湡鏃堕棿 -->
- <view class="input-wrapper" v-if="(cols.name=='TimePicker' || cols.name=='DatePicker') && !cols.disabled">
- <picker mode="date" class="date_iput" :class="cols.disabled?'input-disabled':''"
- :disabled="item.disabled"
- :value="cols.value"
- @change="onModelValue(cols)"
- >
- <view class="picker">{{cols.value}}</view>
- </picker>
- </view>
-
- </view>
- </uni-col>
- </uni-row>
- </div>
- </div>
- <div class="dv-panel-button" v-if="param.ListPage.Click_View==true" >
- <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a>
- </div>
- <div class="dv-panel-buticon" v-if="param.ListPage.ListItem_Button" >
- <view class="btn-padding" v-for="(btn,key) in param.ListPage.ListItem_Button">
- <a @click="onBtnClick(btn,style)" :title="btn.ShowName" v-if="btn.Style=='img'">
- <i :class="btn.Img" />
- </a>
- <button type="default" @click="onBtnClick(btn,style)" class="btn-padding" v-else-if="btn.Style=='text'">{{btn.ShowName}}</button>
- </view>
- </div>
- </view>
- </view>
- </view>
-
- <view class="view-floor">
- <button type="default" @click="cancel" class="btn_cancel"
- :style="{'width':param.ListPage.Page_Button.length>0?'39.5%':'48.5%'}">鍏抽棴</button>
- <button type="default" @click="Refresh" class="btn_refresh"
- :style="{'width':param.ListPage.Page_Button.length>0?'39.5%':'48.5%'}">鍒锋柊</button>
- <view class="uni-padding-wrap" v-if="param.ListPage.Page_Button.length>0">
- <view class="uni-btn-v">
- <a @tap="actionSheetTap"><Icon class="mobox-normal-more"/></a>
+ <view class="uni-page-modal-3200" :class="largeMode?'large-mode':''">
+ <view class="v-content">
+ <!-- 琛ㄥご鏍峰紡 -->
+ <OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap"
+ @on-change="onEnterChange" @on-click-prefix="onEnterChange" @on-click-suffix="onEnterChange"></OIForm>
+ <view class="v-scroll-view">
+ <scroll-view :scroll-top="scrollTop" :scroll-y="true" class="scroll-y" @scrolltolower="scrolltolower"
+ @scroll="scroll">
+ <view class="view-content" id="tabpanel">
+ <view class="dv-panel dv-panel-bkcolor" v-for="(style,ii) in detail1StyleDefList" :key="ii"
+ @click="onPanelClick(ii)" :id="'panel'+style.form.htmlobjId"
+ :class="activeItem == style?'bk-active':''">
+ <div class="dv-panel-button" v-if="param.ListPage.CheckBox==true">
+ <checkbox-group>
+ <label>
+ <checkbox :value="style.SelBut_Checked" :checked="style.SelBut_Checked" />
+ </label>
+ </checkbox-group>
+ </div>
+ <!-- HTML椤甸潰绫诲瀷鏄剧ず -->
+ <div class="dv-listHtml-Panel" v-if="ListHtml_Panel" v-html="ListHtml_Panel[ii]"
+ :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;': param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
+
+ </div>
+ <div class="dv-panel-input" v-if="!ListHtml_Panel"
+ :style="param.ListPage.CheckBox==true && param.ListPage.Click_View==true?'width:85%;':param.ListPage.CheckBox==false && param.ListPage.Click_View==true?'width:91%;':param.ListPage.CheckBox==true && param.ListPage.Click_View==false?'width:88%;':'width:100%;'">
+ <OIForm class="v-area dv-panel" :form="style.form.items" viewMode></OIForm>
+
+ </div>
+ <div class="dv-panel-button" v-if="param.ListPage.Click_View==true">
+ <a @click="onViewPageClick(style)"><i class="mobox-normal-right-arrow" /></a>
+ </div>
+ <div class="dv-panel-buticon" v-if="param.ListPage.ListItem_Button">
+ <view class="btn-padding" v-for="(btn,key) in param.ListPage.ListItem_Button">
+ <a @click="onBtnClick(btn,style)" :title="btn.ShowName" v-if="btn.Style=='img'">
+ <i :class="btn.Img" />
+ </a>
+ <button type="default" @click="onBtnClick(btn,style)" class="btn-padding"
+ v-else-if="btn.Style=='text'">{{btn.ShowName}}</button>
+ </view>
+ </div>
+ </view>
+ </view>
+ </scroll-view>
</view>
</view>
- </view>
- </view>
+
+ <view class="view-floor">
+ <button type="default" @click="cancel" class="btn_cancel"
+ :style="{'width':param.ListPage.Page_Button.length>0?'39.5%':'48.5%'}">{{translateSys("close")}}</button>
+ <button type="default" @click="Refresh" class="btn_refresh" :class="refreshing?'btn_disabled':''"
+ :disabled="refreshing"
+ :style="{'width':param.ListPage.Page_Button.length>0?'39.5%':'48.5%'}">{{translateSys("refresh")}}</button>
+ <view class="uni-padding-wrap" v-if="param.ListPage.Page_Button.length>0">
+ <view class="uni-btn-v">
+ <a @tap="actionSheetTap">
+ <text class="mobox-normal-more" />
+ </a>
+ </view>
+ </view>
+ </view>
+ </view>
</template>
<script>
-import Base64 from '../../components/js-base64/base64.js'
-export default {
- modules:{
- Base64,
- },
- onNavigationBarButtonTap(e) {
- // console.log(e);
- // e.text="\ue924";
- // console.log(e.fontSize);
- if(this.isFilter)
- this.isFilter=false;
- else
- this.isFilter=true;
- },
- data() {
- return {
- title:'鏂板',
- isFilter:true,
- param: {},
- focusMateria:false,
- styledef:{},
- head_styledef:{
- form:{
- items:[]
- }
- },
- detail1_styledef:{},
- detail1StyleDefList:[],
- detail2_styledef:{},
- detail2StyleDefList:[],
- items: [],
- active_id:'',
- activelist:[],
- wheres:'',
- orderby:'',
- };
- },
- async onLoad(options) {
- // console.log(options);
- uni.setNavigationBarTitle({ title: options.titlename}); //璁剧疆椤堕儴鏍囬
- this.$data.title = options.titlename;
- this.$data.param = JSON.parse(options.param);
- this.isFilter=true;
- if(this.param.ShowFilter)
- this.isFilter=false;
- //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�- this.Head_UIStyleGetInfo(this.param.DataCls.id,this.param.Query_Panel.id);
- await this.Detail1_UIstyleGetInfo(this.param.DataCls.id,this.param.ListPage.ListItem_UIDef.id);
- this.orderby = this.param.Order?this.param.Order:'T_CREATE Desc';
- if(this.param.Query_Event){
- await this.onSearChange(this.param.DataCls.id,this.param.Query_Event.id);
- } else{
- this.wheres = this.param.Condition;
- await this.loadDataGetList();
- }
- console.log(this.$data.param);
- //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�- // this.focusMateria=true;
- },
- methods: {
- async Head_UIStyleGetInfo(class_id,style_id){ //鑾峰彇鑷畾涔夎〃鍗曟牱寮�- var $this = this;
- var dataInfo={
- class_id:class_id,
- ui_style_id:style_id,
- };
- // console.log(dataInfo);
- this.$store.dispatch('UIStyleGetInfo',dataInfo).then(ret=>{
- // console.log(ret);
- if (ret.err_code == 0) {
- var styledef="";
- if(ret.result.style_def){
- //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g,"");
- //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def);
- }
- $this.$data.head_styledef = ret.result.style_def? JSON.parse(styledef): {};
- // this.form = this.head_styledef.form.model;
- // console.log($this.$data.head_styledef);
- $this.head_styledef.form.items.forEach(async (ele,index) => {
- console.log(ele.useDict);
- if(ele.useDict==true){ //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
- await this.DictGetInfo(ele.bind.dict,index,'mast');
- }
- });
-
- }else{
- uni.showModal({title:"閿欒1",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒1.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
-
- },
- async Detail1_UIstyleGetInfo(class_id,style_id){ //鑾峰彇鑷畾涔夎〃鍗曟牱寮�- var $this = this;
- var dataInfo={
- class_id:class_id,
- ui_style_id:style_id,
- };
- this.$store.dispatch('UIStyleGetInfo',dataInfo).then(ret=>{
- console.log(ret);
- if (ret.err_code == 0) {
- var styledef="";
- if(ret.result.style_def){
- //mobox2鐨剆tyle_def鏄痡son瀛楃涓�- styledef = ret.result.style_def.replace(/\\/g,"");
- //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�- if(!ret.result.style_def.includes('"')) styledef = Base64.decode(ret.result.style_def);
- }
- $this.$data.detail1_styledef = ret.result.style_def? JSON.parse(styledef): {};
- $this.$data.detail1_styledef.SelBut_Checked = false;
- // console.log($this.$data.detail1_styledef);
- // $this.$data.detail1StyleDefList.push($this.$data.detail1_styledef);
- // var aa = JSON.stringify(this.detail1_styledef);
- // $this.$data.detail1StyleDefList.push(JSON.parse(aa));
- // console.log($this.$data.detail1StyleDefList);
-
- }else{
- uni.showModal({title:"閿欒2",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒2.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
-
- },
- async DictGetInfo(dict,index,type){ //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�- this.data=[];
- var $this = this;
- var dataInfo ={
- dict_id: dict.id,
- dict_name: dict.name
- };
- // console.log(dataInfo);
- this.$store.dispatch('DictGetInfo',dataInfo).then(async (success)=>{
- console.log(success);
- if (success.err_code == 0) {
- if(type=='mast'){
- var list=[];
- var itemName='';
- success.result.dict_item_list.forEach((item) => {
- if(item.is_default=='1')
- itemName = item.name;
- list.push({
- text:item.value,
- value:item.name,
- });
- });
- //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
- if(itemName){
- $this.head_styledef.form.items[index].value=itemName;
- var attr = $this.head_styledef.form.items[index].fieldId;
- $this.head_styledef.form.model[attr] = itemName;
+ import {
+ Base64
+ } from '@/js/Base64.js';
+ import classUtils from "@/js/utils.js"
+ import {
+ showInfo,
+ showError
+ } from "@/js/Page.js"
+ import {
+ appGetInfo,
+ dictGetInfo
+ } from "@/api/mobox.js"
+ import {
+ getUIStyleInfo,
+ runCustomEvent,
+ dataObjQuery,
+ dataObjDel
+ } from "@/api/data.js"
+ import dayjs from "dayjs";
+ import OIForm from '@/components/oi-form/index.vue'
+ import buttonClickMixin from '@/mixins/button-click.js';
+
+ export default {
+ mixins: [buttonClickMixin],
+ components: {
+ OIForm
+ },
+ onNavigationBarButtonTap(e) {
+ // console.log(e);
+ // e.text="\ue924";
+ // console.log(e.fontSize);
+ if (this.isFilter)
+ this.isFilter = false;
+ else
+ this.isFilter = true;
+ },
+ onBackPress(e) {
+ // console.log("鐩戝惉杩斿洖鎸夐挳浜嬩欢",e);
+ var eventChannel = this.$scope.eventChannel;
+ // const eventChannel = this.getOpenerEventChannel();
+ eventChannel.emit('view_3201', "");
+ // uni.navigateBack({
+ // delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ // });
+ // return true;
+ },
+ data() {
+ return {
+ largeMode: getApp().globalData.largeMode || false,
+ title: this.translateSys('add2'),
+ isFilter: true,
+ param: {},
+ focusMateria: false,
+ styledef: {},
+ head_styledef: {
+ form: {
+ items: []
}
- $this.head_styledef.form.items[index].dict=list;
- // $this.head_styledef.form.items[index].dictitem=success.result;
- // this.$store.commit("classAttrList", $this.$data.classAttrList);
- }else{
- // $this.$data.subClassAttrList[index].attr_list[key].dictitem=success.result;
- // this.$store.commit("subClassAttrList", $this.$data.subClassAttrList);
- }
-
- }else{
- uni.showModal({title:"閿欒3.1",content:success.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒3",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- },
- // 鎵ц鏌ヨ浜嬩欢
- async onSearChange(clsid,eventid) {
- try {
- if (event.id) {
- var $this = this;
- var dataInfo={
- ed_type: 0,
- start_transaction: true,
- class_id: clsid,
- event_id: eventid,
- };
- this.$store.dispatch('runCustomEvent',dataInfo).then(ret=>{
- // console.log(ret);
- if (ret.err_code == 0) {
- var result = ret.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) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
- else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+result.ret,showCancel:false,confirmText:"鍙栨秷"});
- return false;
- }else{
- var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
- if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
-
- if(result.result_type == 0 && result.action){
- result.action.forEach(item=>{
- if(item.action_type == "set_query_condition"){
- var value = item.value;
- $this.wheres = value.condition;
- $this.orderby = value.order?value.order:$this.orderby;
- $this.loadDataGetList();
- }
-
- });
- }else{
- // this.detail2StyleDefList=[];
- if(result.info){
- uni.showModal({title:"鎻愮ず",content:result.info,showCancel:false,confirmText:"鍙栨秷"});
- }
- }
- }
-
- }else{
- uni.showModal({title:"閿欒4",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒4.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- }
- } catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({title:"閿欒4.2",content:"鎵ц鈥滄煡璇簨浠垛�浜嬩欢澶辫触锛� + tip,showCancel:false,confirmText:"鍙栨秷"});
-
- }
- },
- //鏌ヨ鏁版嵁绫绘暟鎹俊鎭�- async loadDataGetList(where){
- try{
- //鏉′欢鏌ヨ
- var condition = this.wheres;
- if(where){
- if(condition) condition +=' and ';
- condition+=where;
- }
- // console.log(condition);
- // console.log(this.orderby);
- var $this = this;
- var dataInfo={
- class_id: this.param.DataCls.id,
- attrs: [],
- condition: this.toWhereBase64String(""+ condition +""),
- prj_rel_type: "",
- order_by: this.orderby,
- page_size: 99999,
- page: 1,
- query_id: '',
- };
- this.$store.dispatch('dataObjQuery',dataInfo).then(ret=>{
- // console.log(ret);
- if (ret.err_code == 0) {
- // var list=[];
- if(ret.result){
- $this.detail1StyleDefList=[];
- ret.result.obj_list.forEach((obj) => {
- var styleStr = JSON.stringify($this.detail1_styledef);
- var detailStyle = JSON.parse(styleStr);
- // var info ={
- // S_ID:obj.id,
- // };
- obj.attr_list.forEach((attr) => {
- // info[attr.name]=attr.value;
- detailStyle.form.items.forEach(ele=>{
- if(ele.name!='Layout'){
- if(ele.fieldId == attr.name) ele.value = attr.value;
- } else if(ele.name=='Layout'){
- ele.setting.colList.forEach(col=>{
- if(col){
- if(col.fieldId == attr.name) col.value = attr.value;
- }
- });
- }
- });
- });
-
- detailStyle.form.htmlobjId = obj.id?obj.id.replace(/-/g,'').replace('{','').replace('}',''):'null';
- detailStyle.form.objId = obj.id;
- detailStyle.form.attrs = obj.attr_list;
- $this.detail1StyleDefList.push(detailStyle);
- $this.activelist.push({active:false});
- //list.push(info);
- });
- // console.log($this.detail1StyleDefList);
- }
-
-
-
- }else{
- uni.showModal({title:"閿欒5",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒5.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- } catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({title:"閿欒5.2",content:tip,showCancel:false,confirmText:"鍙栨秷"});
- }
- },
-
- //鍒锋柊
- Refresh(value){
- //鍒锋柊褰撳墠椤甸潰
- // location.reload();
- uni.redirectTo({
- url:'../modal/3200?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title
- });
- },
- //鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
- async onViewPageClick(style){
- if(this.param.ViewPage){
- if(this.param.ViewPage.View_UIDef){
- this.styledef = style;
- var $this = this;
- uni.navigateTo({
- url:'../modal/3200_view?param='+JSON.stringify(this.param)+"&titlename="+this.title+"&style="+JSON.stringify(style),
- events: {
- // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
- ExitViewEvent: function(data) {
- console.log(data);
- //閫�嚭椤甸潰鍚庝簨浠�- var eventid = $this.param.ViewPage.Exit_View_Event?.id;
- if(eventid){
- try {
- var obj_attr = {'S_ID':$this.styledef.form.objId};
- $this.styledef.form.attrs.forEach((attr) => {
- obj_attr[attr.name]=attr.value;
- });
- // console.log(obj_attr);
- var input_param = Base64.encode(JSON.stringify(obj_attr));
- this.runCustomEvent({
- ed_type: 0,
- start_transaction: true,
- class_id: this.param.DataCls.id,
- event_id: eventid,
- obj_attr,
- input_param,
- });
- } catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({title:"閿欒",content:tip,showCancel:false,confirmText:"鍙栨秷"});
- }
- }
- }
},
- });
- }
- }
- },
- //鐐瑰嚮鎸夐挳
- onBtnClick(btn,style){
- var that = this
- if (btn.Prompt) {
- uni.showModal({
- title: '鎻愮ず',
- content: btn.PromptContent || "鏄惁纭畾锛�,
- success: function (res) {
- if (res.confirm) {
- that.onButtonClicked(btn,style);
- // } else if (res.cancel) {
- // console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
- }
- }
- });
- } else that.onButtonClicked(btn,style);
- },
- //鐐瑰嚮鎸夐挳鍒楄〃
- actionSheetTap() {
- var that = this
- var itemlist=[];
- this.param.ListPage.Page_Button.forEach((btn) => {
- itemlist.push(btn.ShowName);
- });
- uni.showActionSheet({
- // title: '鎸夐挳鍒楄〃',
- itemList: itemlist,
- success: (e) => {
- console.log(e.tapIndex);
- var btn = that.param.ListPage.Page_Button[e.tapIndex];
- if (btn.Prompt) {
- uni.showModal({
- title: '鎻愮ず',
- content: btn.PromptContent || "鏄惁纭畾锛�,
- success: function (res) {
- if (res.confirm) {
- that.onButtonClicked(btn);
- // } else if (res.cancel) {
- // console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
- }
- }
- });
- } else that.onButtonClicked(btn);
- }
- })
- },
- //澶勭悊鐩稿叧鎸夐挳
- async onButtonClicked(btn,style) {
- style = style || '';
- try {
- var enviroment = {
- button: "top",
- button_name: btn.ShowName,
- cls_id: btn.Cls_ID,
- function: "3200",
- master: {},
- };
- if (btn.FunCode == "Add" || btn.FunCode == "Modify") {
- if (btn.Edit_dlg.Model == "small"){
- this.showAddSmallDialog(btn, style, enviroment);
- }
- } else if (btn.FunCode == "Delete") {
- this.DeleteObj(btn, style, enviroment);
- // } else if (btn.FunCode == "TriggerEvent") {
- // this.triggerEvent(btn, style, enviroment);
- } else {
- uni.showModal({title:"鎻愮ず",content:"鏈疄鐜�,showCancel:false,confirmText:"鍙栨秷"});
- }
- } catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({title:"閿欒",content:tip,showCancel:false,confirmText:"鍙栨秷"});
- }
- },
- //鏂板淇敼灏忕獥鍙f暟鎹�- showAddSmallDialog(btn, style, enviroment){
- var data={
- Add_BtnName: btn.ShowName,
- EditDlgMode: btn.Edit_dlg.Model,
- clsid: this.param.DataCls.id,
- cls_name: this.param.DataCls.name,
- Edit_dlg: btn.Edit_dlg
- };
- var $this = this;
- uni.navigateTo({
- url:'../modal/3018?param='+JSON.stringify(data)+"&titlename="+btn.Edit_dlg.Name+"&type=addDataObj",
- events: {
- // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
- addDataObj: function(data) {
- console.log(data);
- $this.Refresh();
+ detail1_styledef: {},
+ detail1StyleDefList: [],
+ items: [],
+ active_id: '',
+ //activelist: [],
+ activeItem: {},
+ where: '',
+ wheres: '',
+ orderby: '',
+ query_id: '',
+ pageindex: 1,
+ page_size: 10,
+ page_count: 0,
+ scrollTop: 0,
+ old: {
+ scrollTop: 0
},
+ isScroll: true,
+ //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+ ListHtml_Panel: "",
+ ListPageHtml_Show: {
+ name: "",
+ event: {
+ id: "",
+ name: ""
+ }
+ },
+ refreshing: false
+ };
+ },
+ async onLoad(options) {
+ // console.log(options);
+ uni.setNavigationBarTitle({
+ title: options.titlename
+ }); //璁剧疆椤堕儴鏍囬
+ this.title = options.titlename;
+ this.param = JSON.parse(options.param);
+
+
+ this.styledef = {};
+ this.head_styledef = {
+ form: {
+ items: []
+ }
+ };
+ this.detail1_styledef = {};
+ this.detail1StyleDefList = [];
+ this.ListHtml_Panel = "";
+ this.ListPageHtml_Show = {
+ name: "",
+ event: {
+ id: "",
+ name: ""
+ }
+ };
+ this.items = [];
+ this.active_id = '';
+ this.activeItem = {};
+ //this.activelist = [];
+ const paramValue = options.paramValue ? JSON.parse(options.paramValue) : undefined
+
+ if (this.param.ListPage.ListItem_UIDef?.ui_type == "HTML椤甸潰") {
+ // HTML椤甸潰
+ //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+ await this.Html_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id,
+ paramValue);
+ } else {
+ await this.Detail1_UIstyleGetInfo(this.param.DataCls.id, this.param.ListPage.ListItem_UIDef.id);
+
+ await this.initial(paramValue);
+ await this.loadInitialEvent();
+
}
- });
- },
- //鍒犻櫎鏁版嵁瀵硅薄
- DeleteObj(btn, style, enviroment){
- // console.log(style);
- var $this = this;
- uni.showModal({
- title: '鎻愮ず',
- content: '纭畾鍒犻櫎璇ユ暟鎹紒',
- success: function (res) {
- if (res.confirm) {
- var objID=style.form.objId;
- if(!style.form.objId.includes('{')) objID = '{'+style.form.objId+'}';
-
- var dataInfo={
- class_id: btn.Cls_ID,
- class_name: '',
- obj_id: objID
+
+ // this.isFilter=true;
+ // if(this.param.ShowFilter)
+ // this.isFilter=false;
+ // //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ // if(this.param.Query_Panel){
+ // this.Head_UIStyleGetInfo(this.param.DataCls.id,this.param.Query_Panel.id);
+ // }
+ // if(this.param.ListPage.ListItem_UIDef?.ui_type=="HTML椤甸潰"){
+ // // HTML椤甸潰
+ // //鑾峰彇鏁版嵁绫荤殑HTML椤甸潰
+ // await this.Html_UIstyleGetInfo(this.param.DataCls.id,this.param.ListPage.ListItem_UIDef.id);
+ // }else{
+ // await this.Detail1_UIstyleGetInfo(this.param.DataCls.id,this.param.ListPage.ListItem_UIDef.id);
+ // }
+ // this.orderby = this.param.Order?this.param.Order:'T_CREATE Desc';
+ // if(this.param.Query_Event){
+ // await this.onSearChange(this.param.DataCls.id,this.param.Query_Event.id);
+ // } else{
+ // this.wheres = this.param.Condition;
+ // this.pageindex = 1;
+ // this.page_size = 3;
+ // this.query_id = "";
+ // await this.loadDataGetList();
+ // }
+ // console.log(this.param);
+ //椤甸潰鍒濆鍖栬幏鍙栫劍鐐�+ // this.focusMateria=true;
+ },
+ computed: {
+
+ initialEvent() {
+ let event = (this.head_styledef.event || []).find((e) => e.event_id == "initial");
+ return {
+ id: event?.scrip_id || "",
+ name: event?.scrip_name || "",
};
- // console.log(dataInfo);
- $this.$store.dispatch('dataObjDel',dataInfo).then(ret=>{
- // console.log(ret);
- if (ret.err_code == 0) {
- //鎵ц鍚庡鐞嗕簨浠�- $this.AfterProcess_Event(btn.clsId, btm.AfterProcess_Event, enviroment);
- //娓呴櫎褰撳墠鍒楄〃鏁版嵁
- $this.detail1StyleDefList.forEach((ele,index)=>{
- if(ele.form.objId == objID){
- $this.detail1StyleDefList.splice(index,1);
- }
- });
- uni.showModal({title:"鎻愮ず",content:"鍒犻櫎鎴愬姛锛�,showCancel:false,confirmText:"鍙栨秷"});
-
- }else{
- uni.showModal({title:"閿欒6.1",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒6",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
+ },
+ },
+ methods: {
+ //
+ setData: function(obj) {
+ let that = this;
+ let keys = [];
+ let val, data;
+
+ Object.keys(obj).forEach(function(key) {
+ keys = key.split(".");
+ val = obj[key];
+ data = that.$data;
+ keys.forEach(function(key2, index) {
+ if (index + 1 == keys.length) {
+ that.$set(data, key2, val);
+ } else {
+ if (!data[key2]) {
+ that.$set(data, key2, {});
+ }
+ }
+ data = data[key2];
+ });
});
- } else if (res.cancel) {
-
- }
- }
- });
-
- },
- //鎵ц鍚庡鐞嗕簨浠�- async AfterProcess_Event(clsId, afterProcess_Event, enviroment){
- try {
- if (afterProcess_Event.ID) {
- //鎵ц鍚庡鐞嗕簨浠�- await this.runCustomEvent({
- ed_type: 0,
- start_transaction: true,
- class_id: clsId,
- event_id: afterProcess_Event.ID,
- });
- }
- } catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({title:"閿欒7",content:tip,showCancel:false,confirmText:"鍙栨秷"});
- }
- },
+ },
- ontap(item){ //鎵爜鍔熻兘
- // var $ele = e;
- //console.log(e.target)
- getApp().onScan((result)=>{
- console.log(result.decodedata);
- item.value = result.decodedata;
- uni.hideKeyboard();
- var $this = this;
-
- console.log(item);
- if(item.oldvalue != item.value){
- item.oldvalue = item.value;
- var attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
- var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�- var isflag = false;
-
- if(onChangeEvent.id){ //鍐呭鍙樺寲鍚庝簨浠�- $this.onChange(onChangeEvent);
- } else{
- var where ='';
- if(item.value)
- where =item.fieldId+" like '%"+item.value+"%'";
- $this.loadDataGetList(where);
- }
- if(item.value){ //绗竴涓緭鍏ユ涓嶄负绌�- $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
- // setTimeout(function(){
- // $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
- setTimeout(function(){
- uni.hideKeyboard();
- },100);
- // },500);
- }
- // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠�- // this.onSuffixClick(onSuffixClickCallbackEvent);
- // }
- // if(onSuffixClickEvent.id){ //鍚庡浘鏍囩偣鍑诲洖璋�- // this.onSuffixClickCallback(onSuffixClickEvent);
- // }
- }
- })
- },
- onEnterChange(item){ //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
- // console.log(item);
- if(item.oldvalue != item.value){
- item.oldvalue = item.value;
- var attr = item.fieldId;
- this.head_styledef.form.model[attr] = item.value;
- var onChangeEvent = item.bind.onChangeEvent; //鍐呭鍙樺寲鍚庝簨浠�- var onSuffixClickCallbackEvent = item.bind.onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�- var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�- var isflag = false;
-
- if(onChangeEvent.id){ //鍐呭鍙樺寲鍚庝簨浠�- this.onChange(onChangeEvent);
- } else{
- var where ='';
- if(item.value)
- where =item.fieldId+" like '%"+item.value+"%'";
- this.loadDataGetList(where);
- }
- // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠�- // this.onSuffixClick(onSuffixClickCallbackEvent);
- // }
- // if(onSuffixClickEvent.id){ //鍚庡浘鏍囩偣鍑诲洖璋�- // this.onSuffixClickCallback(onSuffixClickEvent);
- // }
- }
- },
- // 鍐呭鍙樺寲鍚庝簨浠�- async onChange(event) {
- try {
- if (event.id) {
- var obj_attr = this.head_styledef.form.model;
- // console.log(obj_attr);
- var input_param = Base64.encode(
- JSON.stringify(
- Object.keys(obj_attr).map((a) => ({
- attr: a,
- value: obj_attr[a] || "",
- }))
- )
- );
- var $this = this;
- var dataInfo={
- ed_type: 0,
- start_transaction: true,
- class_id: this.$data.head_styledef.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,
- };
- this.$store.dispatch('runCustomEvent',dataInfo).then(ret=>{
- // console.log(ret);
- if (ret.err_code == 0) {
- var result = ret.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) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
- else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+result.ret,showCancel:false,confirmText:"鍙栨秷"});
- return false;
- }else{
- var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
- if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
-
- 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.$data.head_styledef.form.items.forEach(async (ele,index) => {
- data.forEach(async (ele2,index) => {
- if(ele.fieldId == ele2.attr){
- ele.value = ele2.value;
- }
- });
- });
- }
- });
- }else{
- // this.detail2StyleDefList=[];
- if(result.info){
- uni.showModal({title:"鎻愮ず",content:result.info,showCancel:false,confirmText:"鍙栨秷"});
- }
- }
+ //鍒濆鍖�+ async initial(paramValue) {
+ this.refreshing = true
+ this.isFilter = true;
+ if (this.param.ShowFilter)
+ this.isFilter = false;
+ //鑾峰彇鏁版嵁绫荤殑鑷畾涔夎〃鍗曞弬鏁�+ if (this.param.Query_Panel) {
+ await this.Head_UIStyleGetInfo(this.param.DataCls.id, this.param.Query_Panel.id);
+ //浼犲叆鍙傛暟鍊�+ if (paramValue) {
+ this.setFormValues(paramValue)
}
-
- }else{
- uni.showModal({title:"閿欒8",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒8.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- }
- } catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({title:"閿欒8.2",content:"鎵ц鈥滃唴瀹瑰彉鍖栧悗鈥濅簨浠跺け璐ワ細" + tip,showCancel:false,confirmText:"鍙栨秷"});
-
- }
- },
- //鐐逛腑琛ㄥ崟
- onPanelClick(value){ //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
- // console.log(value);
- this.activelist.forEach(ele=>{
- ele.active = false;
- });
- this.activelist[value].active = true;
- },
-
- //浜嬩欢澶勭悊
- async runCustomEvent(dataInfo) {
- try {
- var $this = this;
- this.$store.dispatch('runCustomEvent',dataInfo).then(ret=>{
- console.log(ret);
- if (ret.err_code == 0) {
- var result = ret.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) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
- else uni.showModal({title:'鎻愮ず',content:tip+',鎻愮ず:'+result.ret,showCancel:false,confirmText:"鍙栨秷"});
- return false;
- }else{
- var tip = result.info ? typeof result.info == 'string' ? result.info : result.info.join('<br/>') : '';
- if (tip) uni.showModal({title:'鎻愮ず',content:tip,showCancel:false,confirmText:"鍙栨秷"});
-
- if(result.result_type == 0 && result.action){
- result.action.forEach(item=>{
- if(item.action_type == "goback_to_pre_page"){ //杩斿洖涓婁竴椤�- var value = item.value;
- uni.navigateBack({
- delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
- });
- } else if(item.action_type == "hidden_button"){ //闅愯棌鎸夐挳
- var value = item.value;
- value.forEach(btn => {
- var index = $this.param.ListPage.Page_Button.findIndex(button => button.ShowName == btn)
- if (index > -1)
- $this.param.ListPage.Page_Button.splice(index, 1)
+ }
+ this.orderby = this.param.Order ? this.param.Order : 'T_CREATE Desc';
+ if (this.param.Query_Event) {
+ await this.onSearChange(this.param.DataCls.id, this.param.Query_Event.id);
+ } else {
+ this.wheres = this.param.Condition;
+ this.pageindex = 1;
+ this.page_size = 3;
+ this.query_id = "";
+ this.detail1StyleDefList = [];
+ await this.loadDataGetList();
+ }
+ this.refreshing = false
+
+ },
+ async loadInitialEvent() {
+ try {
+ if (this.initialEvent.id) {
+ this.onChange(this.initialEvent)
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys('error'))
+
+ }
+ },
+ //婊氬姩鍒板簳閮ㄥ悗鎳掑姞杞芥暟鎹�+ async scrolltolower(e) {
+ // console.log(e)
+ if (this.isScroll) { //鍒ゆ柇鍒锋柊涓�鍚庝笉浼氭寔缁埛鏂�+ if (this.page_count == this.pageindex) {
+ return;
+ }
+ this.pageindex += 1;
+ if (this.where || this.page_count == 1) {
+ this.query_id = "";
+ this.detail1StyleDefList = [];
+ }
+ await this.loadDataGetList();
+ }
+ },
+ scroll: function(e) {
+ // console.log(e.detail.scrollTop)
+ this.old.scrollTop = e.detail.scrollTop
+ },
+ async Head_UIStyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+ try {
+ var $this = this;
+ var dataInfo = {
+ class_id: class_id,
+ ui_style_id: style_id,
+ };
+ // console.log(dataInfo);
+ const result = await getUIStyleInfo(dataInfo)
+ var styledef = "";
+ if (result.style_def) {
+ //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = result.style_def.replace(/\\/g, "");
+ //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!result.style_def.includes('"')) styledef = Base64.decode(result
+ .style_def);
+ }
+ $this.head_styledef = result.style_def ? JSON.parse(styledef) : {};
+ // this.form = this.head_styledef.form.model;
+ // console.log($this.head_styledef);
+ if ($this.head_styledef.form?.items) {
+ $this.head_styledef.form.items.forEach(async (ele, index) => {
+ console.log(ele.useDict);
+ if (ele.useDict == true) { //鍒ゆ柇useDict鏄惁浣跨敤瀛楀吀
+ await this.DictGetInfo(ele.bind.dict, index, 'mast');
+ } else {
+ if (ele?.name === "Select") {
+ const selections = ele?.selections || []
+ //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+ let itemName = ele.value || "";
+ if (itemName) {
+ $this.head_styledef.form
+ .model[ele.fieldId] = itemName;
+ }
+ $this.head_styledef.form.items[index].selections = selections.map((
+ a) => {
+ return {
+ value: a.value,
+ text: a.label
+ }
})
- // } else if(item.action_type == "refresh_cur_row"){ //
- // var value = item.value;
-
- } else{
- uni.showModal({title:"鎻愮ず",content:"褰撳墠action_type锛�+item.action_type+"鏈鐞�,showCancel:false,confirmText:"鍙栨秷"});
}
+
+ }
+
+ });
+ const app = getApp()
+ if (app.globalData.bindClasses) {
+ $this.head_styledef.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",
+ })
+ $this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes
+ }
+
+ }
+ } catch (ex) {
+ // console.log(ex);
+ showError(ex, this.translateSys('error') + " 1.1")
+ }
+
+ },
+ async Detail1_UIstyleGetInfo(class_id, style_id) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+ try {
+ var $this = this;
+ var dataInfo = {
+ class_id: class_id,
+ ui_style_id: style_id,
+ };
+ // console.log(dataInfo);
+ const result = await getUIStyleInfo(dataInfo)
+ var styledef = "";
+ if (result.style_def) {
+ //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = result.style_def.replace(/\\/g, "");
+ //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!result.style_def.includes('"')) styledef = Base64.decode(result
+ .style_def);
+ }
+ $this.detail1_styledef = result.style_def ? JSON.parse(styledef) : {};
+ $this.detail1_styledef.SelBut_Checked = false;
+ } catch (ex) {
+ // console.log(ex);
+ showError(ex, this.translateSys('error') + " 2.1")
+ }
+
+
+ },
+ async Html_UIstyleGetInfo(class_id, style_id, paramValue) { //鑾峰彇鑷畾涔夎〃鍗曟牱寮�+ try {
+ var $this = this;
+ var dataInfo = {
+ class_id: class_id,
+ ui_style_id: style_id,
+ };
+ // console.log(dataInfo);
+ const result = await getUIStyleInfo(dataInfo)
+ var styledef = "";
+ if (result.style_def) {
+ //mobox2鐨剆tyle_def鏄痡son瀛楃涓�+ styledef = result.style_def.replace(/\\/g, "");
+ //mobox3鐨剆tyle_def鏄痓ase64瀛楃涓�+ if (!result.style_def.includes('"')) styledef = Base64.decode(result
+ .style_def);
+ }
+ // console.log(styledef);
+ $this.ListPageHtml_Show = result.style_def ? JSON.parse(styledef) : {};
+ // console.log($this.ListPageHtml_Show);
+
+ $this.initial(paramValue);
+ } catch (ex) {
+ // console.log(ex);
+ showError(ex, this.translateSys('error') + " 2.1")
+ }
+ },
+ async DictGetInfo(dict, index, type) { //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛�+ this.data = [];
+ var $this = this;
+ var dataInfo = {
+ dict_id: dict.id,
+ dict_name: dict.name
+ };
+ try {
+ const result = await dictGetInfo(dataInfo)
+ if (type == 'mast') {
+ var list = [];
+ var itemName = '';
+ (result.dict_item_list || []).forEach((item) => {
+ if (item.is_default == '1')
+ itemName = item.name
+ list.push({
+ text: item.value ? item.value : item.name,
+ value: item.name,
});
- }else{
- // this.detail2StyleDefList=[];
- if(result.info){
- uni.showModal({title:"鎻愮ず",content:result.info,showCancel:false,confirmText:"鍙栨秷"});
+ });
+ //鏈夐粯璁ゅ�锛屾樉绀洪粯璁ゅ�
+ if (itemName) {
+ $this.head_styledef.form.items[index].value = itemName;
+ var attr = $this.head_styledef.form.items[index].fieldId;
+ $this.head_styledef.form.model[attr] = itemName;
+ }
+ $this.head_styledef.form.items[index].dict = list;
+ var head_styledef = JSON.parse(JSON.stringify($this.head_styledef));
+ $this.head_styledef = [];
+ $this.head_styledef = head_styledef;
+ }
+ } catch (ex) {
+ // console.log(ex);
+ showError(ex, this.translateSys('error') + " 3")
+ }
+ },
+
+ // 鎵ц鏌ヨ浜嬩欢
+ async onSearChange(clsid, eventid) {
+ try {
+ if (eventid) {
+ var $this = this;
+ var dataInfo = {
+ ed_type: 0,
+ start_transaction: true,
+ class_id: clsid,
+ event_id: eventid,
+ };
+ var result = await runCustomEvent(dataInfo)
+ // console.log(result);
+
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
+ .err_info
+ .join('\n') : ''
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = result.info ? typeof result.info == 'string' ? result.info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
+
+ } else if (typeof result.result == 'string') {
+ showInfo(result.result)
+
+ }
+ try {
+ var actionList = result.action || []
+ actionList.forEach(item => {
+ if (item.action_type == "set_query_condition") {
+ var value = item.value;
+ $this.wheres = value.condition;
+ $this.orderby = value.order ? value.order : $this
+ .orderby;
+ $this.pageindex = 1;
+ $this.query_id = "";
+ $this.detail1StyleDefList = [];
+ $this.loadDataGetList();
+ }
+
+ });
+ } catch (ex) {
+ let actionList = (result.action || []).map(a => a.action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip = `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
}
}
}
-
- }else{
- uni.showModal({title:"閿欒9",content:ret.err_msg,showCancel:false,confirmText:"鍙栨秷"});
- }
- }).catch(ex=>{
- // console.log(ex);
- uni.showModal({title:"閿欒9.1",content:ex.errMsg,showCancel:false,confirmText:"鍙栨秷"});
- });
- } catch (ex) {
- var tip = typeof ex == "string" ? ex : ex.message;
- uni.showModal({title:"閿欒9.2",content:"鎵ц浜嬩欢澶辫触锛� + tip,showCancel:false,confirmText:"鍙栨秷"});
-
- }
- },
-
- cancel(e){ //鍙栨秷
- uni.navigateBack({
- delta:1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
- });
- },
- /**
- * 鍙敮鎸乕"column1='A' or column2='B'", "column3='C' and column4='D'", "column5='E'"]杩欑鏍煎紡
- * {
- * "model": 0 / 1,
- * "condition":
- * [
- * [
- * { },
- * { },
- * { }
- * ],
- * [
- * { }
- * ],
- * [
- * { }
- * ]
- * ]
- * }
- */
- toWhereBase64String(list) {
- if (typeof list == 'string') list = [list]
- var sql = []
- var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', '>', ' like']
- list.forEach(ls => {
- var where = ls.trim().toLowerCase()
- if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace(/\)$/, '')
- if (where.includes(' and ')) {
- // 浜岀骇and鏀惧湪绗竴绾ф暟缁勪腑
- where.split(' and ').forEach(li => {
- var l = li.trim()
- if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '')
- var sep = ''
- for (var i = 0; i < seps.length; i++) {
- if (l.includes(seps[i])) {
- sep = seps[i]
- break
- }
- }
- if (sep) {
- var values = l.split(sep)
- var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
- var value = ''
- var op = sep.trim()
-
- if ([' in', ' not in'].includes(sep) && values[1].includes('select ') && values[1].includes(' from ')) {
- value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim()
- if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim()
- }
- else {
- value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
-
- if (['in', 'not in'].includes(op)) {
- value = value.replace(/^\(/, '').replace(/\)$/, '')
- value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, ''))
- }
- }
- sql.push([{ field, value, op }])
- }
- })
- }
- else if (where.includes(' or ')) {
- // 浜岀骇or鏀惧湪绗簩绾у悓涓�粍鏁扮粍涓�- var s = []
- where.split(' or ').forEach(li => {
- var l = li.trim()
- if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '')
- var sep = ''
- for (var i = 0; i < seps.length; i++) {
- if (l.includes(seps[i])) {
- sep = seps[i]
- break
- }
- }
- if (sep) {
- var values = l.split(sep)
- var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
- var value = ''
- var op = sep.trim()
-
- if ([' in', ' not in'].includes(sep) && values[1].includes('select ') && values[1].includes(' from ')) {
- value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim()
- if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim()
- }
- else {
- value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
-
- if (['in', 'not in'].includes(op)) {
- value = value.replace(/^\(/, '').replace(/\)$/, '')
- value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, ''))
- }
- }
- sql.push([{ field, value, op }])
- }
- })
- sql.push(s)
- }
- else {
- var li = where
- // 鍗曚竴鏌ヨ鏉′欢鐩存帴鏀惧湪绗竴绾ф暟缁勪腑
- var l = li.trim()
- if (l.startsWith('(') && l.endsWith(')')) l = l.replace(/^\(/, '').replace(/\)$/, '')
- var sep = ''
- for (var i = 0; i < seps.length; i++) {
- if (l.includes(seps[i])) {
- sep = seps[i]
- break
- }
- }
- if (sep) {
- var values = l.split(sep)
- var field = values[0]?.trim().replace(/^\[/, '').replace(/\]$/, '')
- var value = ''
- var op = sep.trim()
-
- if ([' in', ' not in'].includes(sep) && values[1].includes('select ') && values[1].includes(' from ')) {
- value = l.replace(field, '').replace(/^\s*(in|not in)\s*/, '').trim()
- if (value.startsWith('(') && value.endsWith(')')) value = value.replace(/^\(/, '').replace(/\)$/, '').trim()
- }
- else {
- value = values[1]?.trim().replace(/^\'/, '').replace(/\'$/, '')
-
- if (['in', 'not in'].includes(op)) {
- value = value.replace(/^\(/, '').replace(/\)$/, '')
- value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/, ''))
- }
- }
- sql.push([{ field, value, op }])
- }
- }
- })
-
- if (sql.length > 0)
- return Base64.encode(JSON.stringify({
- model: 1,
- condition: sql
- }))
- else
- return ''
- }
+ } catch (ex) {
+ showError(ex, this.translateSys('error') + " 4.1")
- },
-};
+ }
+ },
+ //鏌ヨ鏁版嵁绫绘暟鎹俊鎭�+ async loadDataGetList() {
+ try {
+ uni.showLoading({
+ title: this.translateSys("loading"),
+ mask: true
+ });
+ //鏉′欢鏌ヨ
+ var condition = this.wheres;
+ if (this.where) {
+ if (condition) condition += ' and ';
+ condition += this.where;
+ }
+ // console.log(condition);
+ // console.log(this.orderby);
+ var $this = this;
+ var dataInfo = {
+ class_id: this.param.DataCls.id,
+ attrs: [],
+ condition: this.toWhereBase64String("" + condition + ""),
+ prj_rel_type: "",
+ order_by: this.orderby,
+ page_size: this.page_size,
+ page: this.pageindex,
+ query_id: this.query_id,
+ };
+ dataObjQuery(dataInfo).then(result => {
+ console.log(result);
+ uni.hideLoading();
+
+ // var list=[];
+ $this.query_id = '';
+ if (result) {
+ $this.page_count = result.page_count;
+ if (result.page_count > 1) $this.query_id = result.query_id;
+ // console.log($this.ListPageHtml_Show.event);
+ if ($this.ListPageHtml_Show.event.id) {
+ const detail1StyleDefList = $this.detail1StyleDefList
+ result.obj_list.forEach((obj) => {
+ var info = {
+ id: obj.id,
+ };
+ obj.attr_list.forEach((attr) => {
+ info[attr.name] = attr.value;
+ });
+ var detailStyle = {
+ SelBut_Checked: false,
+ form: {},
+ info: info
+ };
+ detailStyle.form.htmlobjId = obj.id ? obj.id.replace(
+ /-/g, '')
+ .replace('{', '').replace('}', '') : 'null';
+ detailStyle.form.objId = obj.id;
+ detailStyle.form.attrs = obj.attr_list;
+ detail1StyleDefList.push(detailStyle);
+ // $this.activelist.push({
+ // active: false
+ // });
+ });
+ // console.log(this.detail1StyleDefList);
+
+ $this.setData({
+ detail1StyleDefList: detail1StyleDefList
+ })
+
+ var jsonlist = [];
+ $this.detail1StyleDefList.forEach(attr => {
+ jsonlist.push({
+ id: attr.info.id,
+ attrs: Object.keys(attr.info).map((a) => ({
+ attr: a,
+ value: attr.info[a] || "",
+ }))
+ });
+ });
+ // console.log(jsonlist);
+ var data_json = Base64.encode(JSON.stringify(jsonlist));
+ var eventid = $this.ListPageHtml_Show.event.id;
+ if (!$this.ListPageHtml_Show.event.id.includes('{'))
+ eventid = '{' + $this.ListPageHtml_Show.event.id + '}';
+ //HTML椤甸潰浜嬩欢
+ $this.runCustomEvent({
+ ed_type: 0,
+ start_transaction: true,
+ class_id: $this.param.DataCls.id,
+ event_id: eventid,
+ data_json,
+ });
+ } else {
+ // $this.detail1StyleDefList=[];
+ const detail1StyleDefList = []
+ result.obj_list.forEach((obj) => {
+ var styleStr = JSON.stringify($this.detail1_styledef);
+ var detailStyle = JSON.parse(styleStr);
+ // var info ={
+ // S_ID:obj.id,
+ // };
+ obj.attr_list.forEach((attr) => {
+ // info[attr.name]=attr.value;
+ detailStyle.form.items.forEach(ele => {
+ if (ele.name != 'Layout') {
+ if (ele.fieldId == attr
+ .name) ele
+ .value = attr.value;
+ } else if (ele.name ==
+ 'Layout') {
+ ele.setting.colList
+ .forEach(
+ col => {
+ if (col) {
+ if (col
+ .fieldId ==
+ attr
+ .name)
+ col
+ .value =
+ attr
+ .value;
+ }
+ });
+ }
+ });
+ });
+
+ detailStyle.form.htmlobjId = obj.id ? obj.id.replace(
+ /-/g, '')
+ .replace('{', '').replace('}', '') : 'null';
+ detailStyle.form.objId = obj.id;
+ detailStyle.form.attrs = obj.attr_list;
+ detail1StyleDefList.push(detailStyle);
+ // $this.activelist.push({
+ // active: false
+ // });
+ //list.push(info);
+ });
+ $this.setData({
+ detail1StyleDefList: detail1StyleDefList
+ })
+ }
+
+ // 瑙e喅view灞備笉鍚屾鐨勯棶棰�+ // $this.scrollTop = $this.old.scrollTop;
+ $this.isScroll = false;
+ setTimeout(function() {
+ $this.isScroll = true;
+ }, 1000);
+ // console.log($this.detail1StyleDefList);
+ }
+
+
+
+
+ }).catch(ex => {
+ // console.log(ex);
+ showError(ex, this.translateSys("error") + "5.1")
+ });
+ } catch (ex) {
+ showError(ex, this.translateSys("error") + "5.2")
+ }
+ },
+
+ //鍒锋柊
+ Refresh(value) {
+ //鍒锋柊褰撳墠椤甸潰
+ this.initial();
+ // uni.redirectTo({
+ // url:'../modal/3200?param='+JSON.stringify(this.param)+"&titlename="+this.title,
+ // });
+ },
+ //鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
+ async onViewPageClick(style) {
+ if (this.param.ViewPage) {
+ if (this.param.ViewPage.View_UIDef) {
+ this.styledef = style;
+ var $this = this;
+ uni.navigateTo({
+ url: '../modal/3200_view?param=' + JSON.stringify(this.param) +
+ "&titlename=" +
+ this.title + "&style=" + JSON.stringify(style),
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
+ ExitViewEvent: function(data) {
+ console.log(data);
+ //閫�嚭椤甸潰鍚庝簨浠�+ var eventid = $this.param.ViewPage.Exit_View_Event?.id;
+ if (eventid) {
+ try {
+ var obj_attr = {
+ 'S_ID': $this.styledef.form.objId
+ };
+ $this.styledef.form.attrs.forEach((attr) => {
+ obj_attr[attr.name] = attr.value;
+ });
+ // console.log(obj_attr);
+ var input_param = Base64.encode(JSON.stringify(
+ obj_attr));
+ $this.runCustomEvent({
+ ed_type: 0,
+ start_transaction: true,
+ class_id: $this.param.DataCls.id,
+ event_id: eventid,
+ data_obj_id: $this.styledef.form.objId,
+ obj_attr,
+ input_param,
+ });
+ } catch (ex) {
+ showError(ex, this.translateSys('error'))
+
+ }
+ }
+ }
+ },
+ });
+ }
+ }
+ },
+ //鐐瑰嚮鎸夐挳
+ onBtnClick(btn, style) {
+ var that = this
+ if (btn.Prompt) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: btn.PromptContent || this.translate("are_you_sure"),
+ cancelText: this.translateSys('ok'),
+ confirmText: this.translateSys('cancel'),
+ success: function(res) {
+ if (res.cancel) {
+ that.onButtonClicked(btn, style);
+ // } else if (res.cancel) {
+ // console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+ }
+ }
+ });
+ } else {
+ this.handleButtonClick((done) => {
+ that.onButtonClicked(btn, style);
+ setTimeout(() => {
+ done(); // 閲嶇疆鐘舵�
+ }, 1000);
+ });
+ }
+ },
+ //鐐瑰嚮鎸夐挳鍒楄〃
+ actionSheetTap() {
+ var that = this
+ var itemlist = [];
+ this.param.ListPage.Page_Button.forEach((btn) => {
+ itemlist.push(btn.ShowName);
+ });
+ uni.showActionSheet({
+ // title: '鎸夐挳鍒楄〃',
+ itemList: itemlist,
+ success: (e) => {
+ console.log(e.tapIndex);
+ var btn = that.param.ListPage.Page_Button[e.tapIndex];
+ if (btn.Prompt) {
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: btn.PromptContent || this.translate("are_you_sure"),
+ cancelText: this.translateSys('ok'),
+ confirmText: this.translateSys('cancel'),
+ success: function(res) {
+ if (res.cancel) {
+ that.onButtonClicked(btn);
+ // } else if (res.cancel) {
+ // console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+ }
+ }
+ });
+ } else that.onButtonClicked(btn);
+ }
+ })
+ },
+ //澶勭悊鐩稿叧鎸夐挳
+ async onButtonClicked(btn, style) {
+ style = style || '';
+ try {
+ var enviroment = {
+ button: "top",
+ button_name: btn.ShowName,
+ cls_id: btn.Cls_ID,
+ function: "3200",
+ master: {},
+ };
+ if (btn.FunCode == "Add" || btn.FunCode == "Modify") {
+ if (btn.Edit_dlg.Model == "small") {
+ this.showAddSmallDialog(btn, style, enviroment);
+ } else {
+ showInfo(this.translateSys("unrealized"))
+ }
+ } else if (btn.FunCode == "Delete") {
+ this.DeleteObj(btn, style, enviroment);
+ // } else if (btn.FunCode == "TriggerEvent") {
+ // this.triggerEvent(btn, style, enviroment);
+ } else if (btn.FunCode == "TriggerEvent") {
+ this.TriggerEvent(btn, style, enviroment);
+ // } else if (btn.FunCode == "TriggerEvent") {
+ // this.triggerEvent(btn, style, enviroment);
+ } else if (btn.FunCode == "RelatedFunction") {
+ this.RelatedFunction(btn, style, enviroment);
+ // } else if (btn.FunCode == "TriggerEvent") {
+ // this.triggerEvent(btn, style, enviroment);
+ } else {
+ showInfo(this.translateSys("unrealized"))
+
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys('error'))
+ }
+ },
+ //鏂板淇敼灏忕獥鍙f暟鎹�+ showAddSmallDialog(btn, style, enviroment) {
+ var data = {
+ Add_BtnName: btn.ShowName,
+ EditDlgMode: btn.Edit_dlg.Model,
+ clsid: this.param.DataCls.id,
+ cls_name: this.param.DataCls.name,
+ Edit_dlg: btn.Edit_dlg
+ };
+ var $this = this;
+ uni.navigateTo({
+ url: '../modal/3018?param=' + JSON.stringify(data) + "&titlename=" + btn
+ .Edit_dlg.Name +
+ "&type=addDataObj",
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�鍒板綋鍓嶉〉闈㈢殑鏁版嵁
+ addDataObj: function(data) {
+ console.log(data);
+ $this.Refresh();
+ },
+ }
+ });
+ },
+ //鍒犻櫎鏁版嵁瀵硅薄
+ DeleteObj(btn, style, enviroment) {
+ // console.log(style);
+ var $this = this;
+ uni.showModal({
+ title: this.translateSys("tip"),
+ content: this.translate("confirm_delete_data"),
+ cancelText: this.translateSys('ok'),
+ confirmText: this.translateSys('cancel'),
+ success: function(res) {
+ if (res.cancel) {
+ var objID = style.form.objId;
+ if (!style.form.objId.includes('{')) objID = '{' + style.form
+ .objId + '}';
+
+ var dataInfo = {
+ class_id: btn.Cls_ID,
+ class_name: '',
+ obj_id: objID
+ };
+ // console.log(dataInfo);
+
+ dataObjDel(dataInfo).then(ret => {
+ //鎵ц鍚庡鐞嗕簨浠�+ $this.AfterProcess_Event(btn.clsId, btm
+ .AfterProcess_Event,
+ enviroment);
+ //娓呴櫎褰撳墠鍒楄〃鏁版嵁
+ $this.detail1StyleDefList.forEach((ele,
+ index) => {
+ if (ele.form.objId == objID) {
+ $this.detail1StyleDefList
+ .splice(index, 1);
+ }
+ });
+ showInfo(this.translate(
+ "delete_success"))
+
+ }).catch(ex => {
+ // console.log(ex);
+ showError(ex, this.translateSys("error") + "6.1")
+ });
+ } else if (res.cancel) {
+
+ }
+ }
+ });
+
+ },
+ //鎵ц浜嬩欢
+ async TriggerEvent(btn, style, enviroment) { //鎵ц瑙﹀彂浜嬩欢
+ try {
+ let obj_attr = {
+ S_ID: this.styledef.form.objId
+ };
+ style.form.attrs.forEach((attr) => {
+ obj_attr[attr.name] = attr.value;
+ });
+
+ if (!this.ListPageHtml_Show.event.id) {
+ //鍒ゆ柇娌℃湁HTML椤甸潰浜嬩欢
+ this.head_styledef.form.items.forEach(async (ele, index) => {
+ if (ele.name != "Layout") {
+ if (!obj_attr[ele.fieldId]) {
+ obj_attr[ele.fieldId] = ele.value;
+ }
+ } else if (ele.name == "Layout") {
+ ele.setting.colList.forEach(async (col, key) => {
+ if (col) {
+ if (!obj_attr[col.fieldId]) {
+ obj_attr[col.fieldId] = col
+ .value;
+ }
+ }
+ });
+ }
+ });
+ }
+
+ const dataInfo = {
+ ed_type: 0,
+ start_transaction: true,
+ class_id: btn.clsId,
+ event_id: btn.event.id,
+ data_obj_id: this.styledef.form.objId,
+ obj_attr: obj_attr,
+ }
+ var result = await runCustomEvent(dataInfo)
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ? result.err_info : result
+ .err_info
+ .join('\n') : ''
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip = `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys('tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = result.info ? typeof result.info == 'string' ? result.info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
+
+ } else if (typeof result.result == 'string') {
+ showInfo(result.result)
+
+ }
+ var actionList = result.action || []
+ actionList.forEach(item => {
+ if (item.action_type == "goback_to_pre_page") {
+ //杩斿洖涓婁竴椤�+ uni.navigateBack({
+ delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ }
+ })
+
+ }
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys('error'))
+ }
+ },
+ //璺宠浆
+ async RelatedFunction(btn, style, enviroment) {
+
+ 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) {
+ showInfo(this.translate("tip_no_app_param"))
+
+ 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),
+ events: {
+ relatedFunction: function(data) {
+ console.log(data);
+ $this.Refresh();
+ },
+ }
+ });
+ } else {
+ showInfo(this.translate("function_not_exist"))
+
+ }
+
+ } else {
+ showInfo(this.translate("cannot_related_function"))
+
+
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys('error'))
+ return undefined
+ }
+ },
+ //鎵ц鍚庡鐞嗕簨浠�+ async AfterProcess_Event(clsId, afterProcess_Event, enviroment) {
+ try {
+ if (afterProcess_Event.ID) {
+ //鎵ц鍚庡鐞嗕簨浠�+ await this.runCustomEvent({
+ ed_type: 0,
+ start_transaction: true,
+ class_id: clsId,
+ event_id: afterProcess_Event.ID,
+ });
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys('error') + "7")
+ }
+ },
+
+ ontap(item) { //鎵爜鍔熻兘
+ // var $ele = e;
+ //console.log(e.target)
+ getApp().onScan((result) => {
+ console.log(result);
+ item.value = result;
+ uni.hideKeyboard();
+ var $this = this;
+ console.log(item);
+ let newVal = item.value.trim()
+ if (newVal) {
+ item.oldvalue = newVal;
+
+ 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 (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ $this.onChange(onChangeEvent);
+ } else {
+ $this.where = item.fieldId + " like '%" + newVal + "%'";
+ $this.query_id = '';
+ $this.pageindex = 1;
+ $this.detail1StyleDefList = [];
+ $this.loadDataGetList();
+ }
+ $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
+ // setTimeout(function(){
+ // $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
+ setTimeout(function() {
+ uni.hideKeyboard();
+ }, 1000);
+ // },500);
+ // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠�+ // this.onSuffixClick(onSuffixClickCallbackEvent);
+ // }
+ // if(onSuffixClickEvent.id){ //鍚庡浘鏍囩偣鍑诲洖璋�+ // this.onSuffixClickCallback(onSuffixClickEvent);
+ // }
+ }
+ })
+ },
+
+ onEnterChange(item) { //鍥炶溅锛岀偣鍑绘寜閽紝鍙栨秷鑺傜偣浜嬩欢
+ // console.log(item);
+ let newVal = item.value
+ if (typeof item.value == "string") {
+ newVal = item.value.trim()
+ if (!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; //鍐呭鍙樺寲鍚庝簨浠�+ var onSuffixClickCallbackEvent = item.bind
+ .onSuffixClickCallbackEvent; //鍚庡浘鏍囩偣鍑讳簨浠�+ var onSuffixClickEvent = item.bind.onSuffixClickEvent; //鍚庡浘鏍囩偣鍑诲洖璋�+ var isflag = false;
+
+ if (onChangeEvent.id) { //鍐呭鍙樺寲鍚庝簨浠�+ this.onChange(onChangeEvent);
+ } else {
+ this.where = item.fieldId + " like '%" + item.value + "%'";
+ this.query_id = '';
+ this.pageindex = 1;
+ this.detail1StyleDefList = [];
+ this.loadDataGetList();
+ }
+ // if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠�+ // this.onSuffixClick(onSuffixClickCallbackEvent);
+ // }
+ // if(onSuffixClickEvent.id){ //鍚庡浘鏍囩偣鍑诲洖璋�+ // this.onSuffixClickCallback(onSuffixClickEvent);
+ // }
+ }
+ },
+ // 鍐呭鍙樺寲鍚庝簨浠�+ async onChange(event) {
+ try {
+ if (event.id) {
+ var obj_attr = this.head_styledef.form.model;
+ // console.log(obj_attr);
+ var input_param = Base64.encode(
+ JSON.stringify(
+ Object.keys(obj_attr).map((a) => ({
+ attr: a,
+ value: obj_attr[a] || "",
+ }))
+ )
+ );
+ var $this = this;
+ var dataInfo = {
+ ed_type: 0,
+ start_transaction: true,
+ class_id: this.head_styledef.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,
+ };
+ runCustomEvent(dataInfo).then(result => {
+ // console.log(result);
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ?
+ result.err_info :
+ result
+ .err_info
+ .join('\n') : ''
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip =
+ `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys(
+ 'tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = result.info ? typeof result.info == 'string' ? result
+ .info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
+
+ } else if (typeof result.result == 'string') {
+ showInfo(result.result)
+
+ }
+ try {
+ var actionlist = result.action || []
+ for (var j = 0; j < actionlist.length; j++) {
+ var action = actionlist[j];
+ var action_type = action.action_type;
+ var value = action.value;
+ if (action_type == "set_dlg_attr") {
+ if (value) {
+ this.setFormValues(value)
+ }
+ } else if (action_type ==
+ "set_subtable_page_content") {
+ if (value.clear_confirm != false && value
+ .clear == true &&
+ $this.detail1StyleDefList.length > 0
+ ) { //鍒ゆ柇鏄惁娓呯┖椤电鍐呭,姝e湪鐮佺洏鏄惁鏈夋暟鎹�+ uni.showModal({
+ title: this.translateSys(
+ 'tip'),
+ content: this.translate(
+ "are_you_sure_clear_data"
+ ),
+ cancelText: $this.translateSys(
+ 'ok'),
+ confirmText: $this
+ .translateSys('cancel'),
+ success: function(res) {
+ if (res.cancel) {
+ $this
+ .detail1StyleDefList = [];
+ $this
+ .viewAceionContent(
+ value);
+ } else if (res
+ .confirm) {
+ $this
+ .detail1StyleDefList = [];
+ $this
+ .viewAceionContent(
+ value);
+ }
+ }
+ });
+ } else {
+ $this.detail1StyleDefList = [];
+ $this.viewAceionContent(value);
+ }
+ }
+ }
+
+ } catch (ex) {
+ let actionList = (result.action || []).map(a => a
+ .action_type).join(
+ ';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip =
+ `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+ }
+
+
+ }).catch(ex => {
+ // console.log(ex);
+ showError(ex, this.translateSys("error") + "8.1")
+ });
+ }
+ } catch (ex) {
+ showError(ex, this.translateSys('error') + "8.2")
+
+ }
+ },
+ setFormValues(attrs) {
+ const head_styledef = this.head_styledef
+ if (!Array.isArray(attrs)) {
+ return
+ }
+ attrs.forEach(async (attr, key) => {
+ if (attr.choice_list) {
+ var dictItemList = [];
+ attr.choice_list.forEach(async (val, index) => {
+ dictItemList.push({
+ text: val,
+ value: val
+ });
+ });
+ head_styledef.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 (!head_styledef.form.model[attr.attr]) {
+ head_styledef.form.model[attr.attr] = attr.value;
+ }
+ head_styledef.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閲岋紝鐐瑰嚮纭畾鎻愪氦鐨勬椂鍊欏甫涓婅繖浜涙暟鎹�+ })
+ console.log(head_styledef)
+ this.setData({
+ head_styledef: head_styledef
+ })
+ },
+ //鍔犺浇宸茬爜鐩樺唴瀹�+ viewAceionContent(data) {
+ var $this = this;
+ if (JSON.stringify(data.content) == '{}') {
+ return;
+ }
+ var styleStr = JSON.stringify($this.detail1_styledef);
+ data.content.forEach(cont => {
+ let 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,
+ '')
+ .replace('{', '').replace('}',
+ '') : 'null';
+ detailStyle.form.attrs = cont.attrs;
+ cont.attrs.forEach(attr => {
+ detailStyle.form.items.forEach(ele => {
+ if (ele.name != 'Layout') {
+ 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;
+ }
+ });
+ }
+ });
+ });
+ //濡傛灉 clear = false 鍒欎笉闇�娓呴櫎锛屾牴鎹甶d鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鎻掑叆鍒伴〉闈紝濡傛灉瀛樺湪鐢ㄦ柊鐨勫睘鎬ц鐩�+ if (data.clear == false) {
+ var isflag = true;
+ $this.detail1StyleDefList.forEach((style, index) => {
+ if (style.form.objId == detailStyle.form.objId) {
+ cont.attrs.forEach(attr => {
+ style.form.items.forEach(ele => {
+ if (ele.name != 'Layout') {
+ 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;
+ }
+ });
+ }
+ });
+ });
+ isflag = false;
+ }
+ });
+ if (isflag) $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+ } else {
+ $this.detail1StyleDefList.push(detailStyle); //寰呭垎鎷�+ }
+ }
+ });
+
+ },
+
+ onDetail1EnterChange() {},
+ //鐐逛腑琛ㄥ崟
+ onPanelClick(value) { //鐐瑰嚮闈㈡澘楂樹寒鏄剧ず
+ // console.log(value);
+ this.setData({
+ activeItem: this.detail1StyleDefList[value]
+ })
+ // this.activelist.forEach(ele => {
+ // ele.active = false;
+ // });
+ // this.activelist[value].active = true;
+ },
+
+ //浜嬩欢澶勭悊
+ async runCustomEvent(dataInfo) {
+ try {
+ var $this = this;
+ runCustomEvent(dataInfo).then(result => {
+ console.log(result);
+ if (result.ret != 0 && result.ret != 1) {
+ let cls_name = result.event_info?.cls_name
+ let event_name = result.event_info?.event_name
+ tip = result.err_info ? typeof result.err_info == 'string' ?
+ result.err_info :
+ result
+ .err_info
+ .join('\n') : ''
+ if (result.ret == 801) {
+ if (this.param.Only_Script_Error) {
+ let pos = tip.indexOf("锛�);
+ if (pos > -1) tip = tip.substring(pos + 1);
+ }
+ }
+ if (cls_name && event_name) tip =
+ `鎵ц鈥�{cls_name}鈥濇暟鎹被鐨勨�${event_name}鈥濊剼鏈椂杩斿洖閿欒锛�{tip}`
+ if (result.ret == 801) showInfo(tip)
+ else showError(`${tip}锛屾彁绀猴細${result.ret}`, this.translateSys(
+ 'tip'))
+ this.saving = false
+ return false
+ } else {
+ var tip = result.info ? typeof result.info == 'string' ? result
+ .info :
+ result.info.join('\n') : '';
+ tip = tip || result.err_info
+ let time = result.info_time || 0
+ if (time)
+ showError(tip, this.translateSys('tip'))
+ else
+ showInfo(tip)
+ if ([0, 2, 3, 4, -1].includes(result.result_type)) {
+ if (result.result_type == 2) {
+
+ } else if (typeof result.result == 'string') {
+ showInfo(result.result)
+
+ }
+ try {
+ var actionList = result.action || []
+ actionList.forEach(item => {
+ if (item.action_type ==
+ "goback_to_pre_page"
+ ) { //杩斿洖涓婁竴椤�+
+ uni.navigateBack({
+ delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ } else if (item
+ .action_type ==
+ "hidden_button"
+ ) { //闅愯棌鎸夐挳
+ var value = item.value;
+ value.forEach(btn => {
+ var index =
+ $this
+ .param
+ .ListPage
+ .Page_Button
+ .findIndex(
+ button =>
+ button
+ .ShowName ==
+ btn
+ )
+ if (index >
+ -1)
+ $this
+ .param
+ .ListPage
+ .Page_Button
+ .splice(
+ index,
+ 1)
+ })
+ // } else if(item.action_type == "refresh_cur_row"){ //
+ // var value = item.value;
+ } else if (item
+ .action_type ==
+ "set_panel_html"
+ ) { //鏄剧ずHtml椤甸潰
+ // var value = item.value;
+ $this.ListHtml_Panel =
+ item.value;
+ // $this.detail1StyleDefList.forEach((ele,index)=>{
+ // ele.ListHtml_Panel = item.value[index];
+ // });
+
+ } else {
+ showInfo(this
+ .translateSys(
+ "quotation_mark_left"
+ ) +
+ item
+ .action_type +
+ this
+ .translateSys(
+ "quotation_mark_right"
+ ) +
+ this
+ .translate(
+ "tip_action_unprocessed"
+ ))
+
+ }
+ });
+
+ } catch (ex) {
+ let actionList = (result.action || []).map(a => a
+ .action_type).join(';')
+ let tip = typeof ex == 'string' ? ex : ex.message
+ tip =
+ `鎵ц鑴氭湰杩斿洖鐨�{actionList}鏃跺嚭鐜板紓甯革紝璇锋鏌ヨ剼鏈繑鍥炵殑鏁版嵁鏍煎紡鏄惁姝g‘銆�{tip}`
+ showError(tip, this.translateSys('tip'))
+ return
+ }
+ }
+
+ }
+
+
+ }).catch(ex => {
+ // console.log(ex);
+ showError(ex, this.translateSys("error") + "9.1")
+ });
+ } catch (ex) {
+ showError(ex, this.translateSys('error') + "9.2")
+
+ }
+ },
+
+ cancel(e) { //鍙栨秷
+ // var eventChannel = this.$scope.eventChannel;
+ // // const eventChannel = this.getOpenerEventChannel();
+ // eventChannel.emit('view_3201',"");
+ uni.navigateBack({
+ delta: 1, //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ });
+ },
+ /**
+ * 鍙敮鎸乕"column1='A' or column2='B'", "column3='C' and column4='D'", "column5='E'"]杩欑鏍煎紡
+ * {
+ * "model": 0 / 1,
+ * "condition":
+ * [
+ * [
+ * { },
+ * { },
+ * { }
+ * ],
+ * [
+ * { }
+ * ],
+ * [
+ * { }
+ * ]
+ * ]
+ * }
+ */
+
+ toWhereBase64String(list) {
+ if (typeof list == 'string') list = [list]
+ var sql = []
+ var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=',
+ '>', ' like'
+ ]
+ list.forEach(ls => {
+ var where = ls.trim()
+ if (where.startsWith('(') && where.endsWith(')'))
+ where = where.replace(
+ /^\(/,
+ '').replace(
+ /\)$/, '')
+ if (where.toLowerCase().includes(' and ')) {
+ // 浜岀骇and鏀惧湪绗竴绾ф暟缁勪腑
+ where.split(/ and /i).forEach(li => {
+ var l = li.trim()
+ if (l.startsWith('(') && l.endsWith(
+ ')')) l = l.replace(
+ /^\(/,
+ '').replace(
+ /\)$/, '')
+ var sep = ''
+ for (var i = 0; i < seps.length; i++) {
+ if (l.toLowerCase().includes(seps[
+ i])) {
+ sep = seps[i]
+ break
+ }
+ }
+ if (sep) {
+ var values = l.split(new RegExp(
+ sep, 'i'))
+ var field = values[0]?.trim()
+ .replace(/^\[/, '')
+ .replace(
+ /\]$/, '')
+ var value = ''
+ var op = sep.trim()
+
+ if ([' in', ' not in'].includes(
+ sep) && values[1]
+ ?.toLowerCase().includes(
+ 'select ') && values[1]
+ ?.toLowerCase()
+ .includes(
+ ' from ')) {
+ value = l.replace(field, '')
+ .replace(
+ /^\s*(in|not in)\s*/i,
+ '').trim()
+ if (value.startsWith('(') &&
+ value.endsWith(')'))
+ value = value
+ .replace(/^\(/, '')
+ .replace(/\)$/, '').trim()
+ } else {
+ value = values[1]?.trim()
+ .replace(/^\'/, '')
+ .replace(
+ /\'$/, '')
+
+ if (['in', 'not in'].includes(
+ op)) {
+ value = value.replace(
+ /^\(/, '').replace(
+ /\)$/,
+ '')
+ value = value.split(',')
+ .map(v => v.trim()
+ .replace(
+ /^\'/, '')
+ .replace(/\'$/, '')
+ )
+ }
+ }
+ sql.push([{
+ field,
+ value,
+ op
+ }])
+ }
+ })
+ } else if (where.toLowerCase().includes(' or ')) {
+ // 浜岀骇or鏀惧湪绗簩绾у悓涓�粍鏁扮粍涓�+ var s = []
+ where.split(/ or /i).forEach(li => {
+ var l = li.trim()
+ if (l.startsWith('(') && l.endsWith(
+ ')')) l = l.replace(
+ /^\(/,
+ '').replace(
+ /\)$/, '')
+ var sep = ''
+ for (var i = 0; i < seps.length; i++) {
+ if (l.toLowerCase().includes(seps[
+ i])) {
+ sep = seps[i]
+ break
+ }
+ }
+ if (sep) {
+ var values = l.split(new RegExp(
+ sep, 'i'))
+ var field = values[0]?.trim()
+ .replace(/^\[/, '')
+ .replace(
+ /\]$/, '')
+ var value = ''
+ var op = sep.trim()
+
+ if ([' in', ' not in'].includes(
+ sep) && values[1]
+ ?.toLowerCase().includes(
+ 'select ') && values[1]
+ ?.toLowerCase()
+ .includes(
+ ' from ')) {
+ value = l.replace(field, '')
+ .replace(
+ /^\s*(in|not in)\s*/i,
+ '').trim()
+ if (value.startsWith('(') &&
+ value.endsWith(')'))
+ value = value
+ .replace(/^\(/, '')
+ .replace(/\)$/, '').trim()
+ } else {
+ value = values[1]?.trim()
+ .replace(/^\'/, '')
+ .replace(
+ /\'$/, '')
+
+ if (['in', 'not in'].includes(
+ op)) {
+ value = value.replace(
+ /^\(/, '').replace(
+ /\)$/,
+ '')
+ value = value.split(',')
+ .map(v => v.trim()
+ .replace(
+ /^\'/, '')
+ .replace(/\'$/, '')
+ )
+ }
+ }
+ sql.push([{
+ field,
+ value,
+ op
+ }])
+ }
+ })
+ sql.push(s)
+ } else {
+ var li = where
+ // 鍗曚竴鏌ヨ鏉′欢鐩存帴鏀惧湪绗竴绾ф暟缁勪腑
+ var l = li.trim()
+ if (l.startsWith('(') && l.endsWith(')')) l = l
+ .replace(/^\(/, '')
+ .replace(
+ /\)$/, '')
+ var sep = ''
+ for (var i = 0; i < seps.length; i++) {
+ if (l.toLowerCase().includes(seps[i])) {
+ sep = seps[i]
+ break
+ }
+ }
+ if (sep) {
+ var values = l.split(new RegExp(sep, 'i'))
+ var field = values[0]?.trim().replace(/^\[/,
+ '').replace(/\]$/, '')
+ var value = ''
+ var op = sep.trim()
+
+ if ([' in', ' not in'].includes(sep) && values[
+ 1]?.toLowerCase()
+ .includes('select ') &&
+ values[1]?.toLowerCase().includes(' from ')
+ ) {
+ value = l.replace(field, '').replace(
+ /^\s*(in|not in)\s*/i, '')
+ .trim()
+ if (value.startsWith('(') && value
+ .endsWith(')')) value = value
+ .replace(/^\(/, '')
+ .replace(/\)$/, '').trim()
+ } else {
+ value = values[1]?.trim().replace(/^\'/,
+ '').replace(/\'$/, '')
+
+ if (['in', 'not in'].includes(op)) {
+ value = value.replace(/^\(/, '')
+ .replace(/\)$/, '')
+ value = value.split(',').map(v => v
+ .trim().replace(/^\'/,
+ '')
+ .replace(/\'$/,
+ ''))
+ }
+ }
+ sql.push([{
+ field,
+ value,
+ op
+ }])
+ }
+ }
+ })
+
+ if (sql.length > 0)
+ return Base64.encode(JSON.stringify({
+ model: 1,
+ condition: sql
+ }))
+ else
+ return ''
+ },
+ translate(t) {
+ if (typeof this.$t == "function") return this.$t(`page.${t}`)
+ else return t;
+ },
+ translateSys(t) {
+ if (typeof this.$t == "function") return this.$t(`sys.${t}`)
+ else return t;
+ },
+
+ },
+ };
</script>
+<style lang="scss">
+ .uni-page-modal-3200 {
+ display: flex;
+ flex-direction: column;
+ height: calc(100vh - 30rpx);
+ padding: 15rpx 0;
+
+ .v-headStyle {
+ width: 98%;
+ }
+
+ .v-content {
+ flex: 1;
+ display: flex;
+ width: 100%;
+ flex-direction: column;
+ min-height: 100px;
+ overflow: hidden;
+ /* border:0.1px solid red; */
+ }
+
+ .view-content {
+ width: 100%;
+ display: flex;
+ margin-top: 10rpx;
+ flex-direction: column;
+
+ }
+
+ .dv-panel-bkcolor {
+ background-color: #efefef;
+ }
+
+ .dv-panel {
+ background-color: #efefef;
+ padding: 20rpx 20rpx 20rpx 0px;
+ border-radius: 12rpx;
+ margin-bottom: 20rpx;
+ text-align: right;
+ }
+
+ .dv-listHtml-Panel,
+ .dv-panel-input {
+ vertical-align: middle;
+ width: 91%;
+ display: inline-block;
+ text-align: left;
+
+ .uni-forms-item {
+ padding-bottom: 5rpx;
+ margin-bottom: 0;
+
+ .uni-forms-item__label {
+ height: 20px !important;
+ padding: 0 10rpx 0 0 !important;
+ }
+ }
+ }
+
+ .dv-panel-buticon {
+ line-height: 0rpx;
+ text-align: left;
+ /* font-size: 17px; */
+ padding: 0 30rpx;
+ }
+
+ .dv-panel-buticon .btn-padding {
+ padding: 10rpx 20rpx;
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+
+ .dv-panel-buticon a i {
+ font-size: 38rpx;
+ }
+
+ .dv-panel-buticon button {
+ min-width: 120rpx;
+ font-size: 32rpx;
+ padding: 20rpx 20rpx 0rpx 20rpx;
+ line-height: 1;
+ background: #4D6AF4;
+ border: none;
+ color: #fff;
+ font-weight: bold;
+ border-radius: 8rpx;
+ }
+
+
+ .dv-panel-button {
+ display: inline-block;
+ }
+
+ .dv-panel-button checkbox-group {
+ display: inline-block;
+ }
+
+ .dv-panel-button uni-checkbox .uni-checkbox-input {
+ width: 34rpx;
+ height: 34rpx;
+ }
+
+ .dv-panel-button a i {
+ font-size: 36rpx;
+ }
+
+ .dv-panel-button button {
+ height: 50rpx;
+ font-size: 26rpx;
+ padding: 0 24rpx;
+ }
+
+ .view-floor {
+ width: calc(100% - 20rpx);
+ padding: 10rpx;
+ /* border:1px solid red; */
+ }
+
+ button.btn_refresh {
+ width: 49.5%;
+ margin-top: 25rpx;
+ padding: 20rpx;
+ line-height: 1.5;
+ background: #27A6E1;
+ border: none;
+ color: #fff;
+ font-size: 38rpx;
+ font-weight: bold;
+ float: left;
+ display: inline-block;
+ }
+
+ button.btn_cancel {
+ width: 49.5%;
+ margin-top: 25rpx;
+ padding: 20rpx;
+ line-height: 1.5;
+ background: #fff;
+ // border: none;
+ color: #000;
+ font-size: 38rpx;
+ font-weight: bold;
+ float: left;
+ display: inline-block;
+ margin-right: 20rpx;
+ }
+
+ button.btn_disabled {
+ background-color: #ddd;
+ color: #888;
+ }
+
+ .bk-active {
+ background-color: #D6FCB2;
+ }
+
+ .uni-padding-wrap {
+ margin-top: 20rpx;
+ background-color: #98DAEA;
+ width: 104rpx;
+ height: 80rpx;
+ text-align: center;
+ border-radius: 54rpx;
+ padding: 24rpx 0 0 0;
+ float: right;
+ display: inline-block;
+ }
+
+ .uni-padding-wrap a {
+ font-size: 40rpx;
+ }
+
+ #dv_select {
+ display: inline-block;
+ width: 66%;
+ 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;
+ margin-top: 0rpx;
+ vertical-align: 20rpx;
+ }
+
+ #dv_select .uni-select {
+ border: 2rpx solid #ccc;
+ border-radius: 0 !important;
+ color: #2d8cf0;
+ }
+
+ #dv_select .uni-select__input-text {
+ color: #2d8cf0;
+ }
+
+ .input-disabled {
+ background-color: #f3f3f3 !important;
+ }
+
+ .dv_panel_condent {
+ background-color: #D6FCB2;
+ padding: 20rpx;
+ border-radius: 12rpx;
+ }
+
+ .dv_panel_attr {
+ margin-bottom: 10rpx;
+ }
+
+ .dv_panel_attr .dv_inline {
+ display: inline-block;
+ text-align: center;
+ }
+
+ .dv_panel_attr i {
+ vertical-align: 25px;
+ margin: 0 10px;
+ }
+
+ .dv_panel_attr .dv_inline p {
+ background: #4D6AF4;
+ color: #fff;
+ padding: 10rpx 15rpx;
+ line-height: 1.5;
+ border-radius: 10rpx;
+ }
+
+ .v-scroll-view {
+ flex: 1;
+ overflow: hidden;
+ width: 98%;
+ }
+
+ .scroll-y {
+ width: 100%;
+ height: 100%;
+ }
+
+ .scroll-view_H {
+ white-space: nowrap;
+ width: 100%;
+ }
+
+ .dv_panel_content {
+ margin: 0 10px;
+ }
+
+ .dv_panel_content .dv_panel_attr {
+ margin-bottom: 5px;
+ }
+
+ .dv_panel_content .dv_panel_attr i {
+ vertical-align: super;
+ margin: 0 10px;
+ }
+
+ .dv_panel_content .dv_panel_attr .circel_node {}
+
+ /* 鏄彵褰㈢殑 */
+ .dv_panel_content .dv_panel_attr .dv_diamond_node p {
+ width: 50px;
+ height: 50px;
+ background-color: #4D6AF4;
+ transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -webkit-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ margin: 15px auto;
+ padding: 9px;
+ // line-height: 28px;
+ text-align: center;
+ }
+
+ .dv_panel_content .dv_panel_attr .dv_diamond_node p span {
+ color: #fff;
+ transform: rotate(-45deg);
+ display: inline-block;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ // white-space: nowrap;
+ }
+
+ /* 榛樿褰�*/
+ .dv_panel_content .dv_panel_attr .dv_box_node,
+ .dv_panel_content .dv_panel_attr .dv_diamond_node {
+ vertical-align: middle;
+ display: inline-block;
+ text-align: center;
+ width: 100px;
+ }
+
+ .dv_panel_content .dv_panel_attr .dv_box_node p {
+ background: #4D6AF4;
+ color: #fff;
+ padding: 3px 7px;
+ line-height: 1.5;
+ border-radius: 5px;
+ }
+
+ .demo-uni-row {
+ margin-bottom: 0px;
+ display: block;
+ }
+
+ ::v-deep .uni-row {
+ margin-bottom: 0px;
+ }
+
+ .view-tabpage ::v-deep .uni-row {
+ margin-bottom: 5px;
+ }
+
+ .demo-uni-col {
+ height: 36px;
+ border-radius: 5px;
+ }
+
+ .demo-uni-row .uni-input {
+ width: calc(100% - 120px);
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.1