<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>
|
</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的style_def是json字符串
|
styledef = ret.result.style_def.replace(/\\/g,"");
|
//mobox3的style_def是base64字符串
|
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的style_def是json字符串
|
styledef = ret.result.style_def.replace(/\\/g,"");
|
//mobox3的style_def是base64字符串
|
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;
|
}
|
$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:"取消"});
|
}
|
},
|
//新增修改小窗口数据
|
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: '提示',
|
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
|
};
|
// 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:"取消"});
|
});
|
} 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:"取消"});
|
}
|
}
|
}
|
|
}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 ,//返回层数,2则上上页
|
});
|
} 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{
|
uni.showModal({title:"提示",content:"当前action_type:"+item.action_type+"未处理",showCancel:false,confirmText:"取消"});
|
}
|
});
|
}else{
|
// this.detail2StyleDefList=[];
|
if(result.info){
|
uni.showModal({title:"提示",content:result.info,showCancel:false,confirmText:"取消"});
|
}
|
}
|
}
|
|
}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 //返回层数,2则上上页
|
});
|
},
|
/**
|
* 只支持["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 ''
|
}
|
|
},
|
};
|
</script>
|