From 8b47a6acff1683df5764c5df1b2460110255f544 Mon Sep 17 00:00:00 2001
From: jt <jt@activesoft.com.cn>
Date: 星期一, 29 四月 2024 17:16:33 +0800
Subject: [PATCH] 登录时将获取的mac地址例如:78b8d67511ca 作为client_info传进api/user/ace/VerifyPassword接口里
---
pages/modal/3200.vue | 1080 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 710 insertions(+), 370 deletions(-)
diff --git a/pages/modal/3200.vue b/pages/modal/3200.vue
index ea87b37..3b0a5a3 100644
--- a/pages/modal/3200.vue
+++ b/pages/modal/3200.vue
@@ -59,8 +59,8 @@
}
.v-content{
height: 945rpx;
- overflow: auto;
- /* border:1px solid red; */
+ overflow: hide;
+ /* border:0.1px solid red; */
}
.view-content{
margin-top: 10rpx;
@@ -70,11 +70,12 @@
}
.dv-panel{
background-color:#efefef;
- padding: 20rpx 20rpx 4rpx 0px;
+ 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%;
@@ -82,23 +83,23 @@
text-align: left;
}
.dv-panel-buticon{
- line-height: 50rpx;
+ line-height: 0rpx;
text-align: left;
/* font-size: 17px; */
padding: 0 30rpx;
}
.dv-panel-buticon .btn-padding{
- padding: 20rpx;
+ padding: 0rpx 20rpx;
display: inline-block;
vertical-align: middle;
}
.dv-panel-buticon a i {
- font-size: 44rpx;
+ font-size: 38rpx;
}
.dv-panel-buticon button{
min-width: 120rpx;
font-size: 32rpx;
- padding: 20rpx 20rpx;
+ padding: 20rpx 20rpx 0rpx 20rpx;
line-height: 1;
background: #4D6AF4;
border: none;
@@ -144,6 +145,10 @@
}
.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;
@@ -227,6 +232,88 @@
.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;
+}
+.scroll-Y {
+ 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;
+}
</style>
<style lang="scss">
.demo-uni-row {
@@ -246,7 +333,6 @@
.demo-uni-row .uni-input{
width: calc(100% - 120px);
}
-
</style>
<template>
@@ -288,191 +374,218 @@
</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>
+ <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"
+ @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>
+ <!-- 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 class="dv_panel_content">
+ <div class="dv_panel_attr">
+ <label>No锛�/label>
+ <span>TA240129-00001</span>
+ </div>
+ <div class="dv_panel_attr">
+ <div class="dv_box_node">
+ <p><span>姣涙枡绾胯竟</span></p>
+ <label>L002-1</label>
+ </div>
+ <i class="mobox-normal-right"></i>
+ <div class="dv_box_node">
+ <p><span>姣涙枡绾胯竟</span></p>
+ <label>L003-3</label>
+ </div>
+ </div>
+ </div> -->
+ </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%;'">
+ <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>
+ </scroll-view>
</view>
<view class="view-floor">
@@ -504,6 +617,16 @@
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 {
title:'鏂板',
@@ -523,8 +646,27 @@
items: [],
active_id:'',
activelist:[],
+ 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: ""
+ }
+ },
};
},
async onLoad(options) {
@@ -532,24 +674,104 @@
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.initial();
+ // 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.$data.param);
//椤甸潰鍒濆鍖栬幏鍙栫劍鐐� // this.focusMateria=true;
},
methods: {
+ //鍒濆鍖�+ async initial(){
+ this.styledef={};
+ this.head_styledef={
+ form:{
+ items:[]
+ }
+ };
+ this.detail1_styledef={};
+ this.detail1StyleDefList=[];
+ this.detail2_styledef={};
+ this.detail2StyleDefList=[];
+ this.items=[];
+ this.active_id='';
+ this.activelist=[];
+ this.ListHtml_Panel="";
+ this.ListPageHtml_Show= {
+ name: "",
+ event: {
+ id: "",
+ name: ""
+ }
+ };
+
+ 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();
+ }
+ },
+ //婊氬姩鍒板簳閮ㄥ悗鎳掑姞杞芥暟鎹�+ 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){ //鑾峰彇鑷畾涔夎〃鍗曟牱寮� var $this = this;
var dataInfo={
@@ -619,6 +841,44 @@
});
},
+ async Html_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.ListPageHtml_Show = ret.result.style_def ? JSON.parse(styledef) : {};
+ // console.log($this.ListPageHtml_Show);
+ } else {
+ uni.showModal({
+ title: "閿欒10",
+ content: ret.err_msg,
+ showCancel: false,
+ confirmText: "鍙栨秷"
+ });
+ }
+ }).catch(ex => {
+ // console.log(ex);
+ uni.showModal({
+ title: "閿欒10.1",
+ content: ex.errMsg,
+ showCancel: false,
+ confirmText: "鍙栨秷"
+ });
+ });
+
+ },
async DictGetInfo(dict,index,type){ //Mobox3寰楀埌寰楀埌瀛楀吀淇℃伅瀛楀吀椤瑰垪琛� this.data=[];
var $this = this;
@@ -668,7 +928,7 @@
// 鎵ц鏌ヨ浜嬩欢
async onSearChange(clsid,eventid) {
try {
- if (event.id) {
+ if (eventid) {
var $this = this;
var dataInfo={
ed_type: 0,
@@ -695,6 +955,9 @@
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();
}
@@ -722,13 +985,17 @@
}
},
//鏌ヨ鏁版嵁绫绘暟鎹俊鎭�- async loadDataGetList(where){
+ async loadDataGetList(){
try{
+ uni.showLoading({
+ title:"鍔犺浇涓�..",
+ mask:true
+ });
//鏉′欢鏌ヨ
var condition = this.wheres;
- if(where){
+ if(this.where){
if(condition) condition +=' and ';
- condition+=where;
+ condition+=this.where;
}
// console.log(condition);
// console.log(this.orderby);
@@ -739,45 +1006,101 @@
condition: this.toWhereBase64String(""+ condition +""),
prj_rel_type: "",
order_by: this.orderby,
- page_size: 99999,
- page: 1,
- query_id: '',
+ page_size: this.page_size,
+ page: this.pageindex,
+ query_id: this.query_id,
};
this.$store.dispatch('dataObjQuery',dataInfo).then(ret=>{
- // console.log(ret);
+ console.log(ret);
+ uni.hideLoading();
if (ret.err_code == 0) {
// var list=[];
+ $this.query_id = '';
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);
+ $this.page_count = ret.result.page_count;
+ if(ret.result.page_count>1) $this.query_id = ret.result.query_id;
+ if($this.ListPageHtml_Show.event.id){
+ ret.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;
+ $this.detail1StyleDefList.push(detailStyle);
+ $this.activelist.push({active:false});
+ });
+ // console.log(this.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=[];
+ 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);
+ });
+ }
+
+ // 瑙e喅view灞備笉鍚屾鐨勯棶棰�+ // $this.scrollTop = $this.old.scrollTop;
+ $this.isScroll=false;
+ setTimeout(function(){
+ $this.isScroll=true;
+ },1000);
+ // console.log($this.detail1StyleDefList);
}
@@ -798,10 +1121,10 @@
//鍒锋柊
Refresh(value){
//鍒锋柊褰撳墠椤甸潰
- // location.reload();
- uni.redirectTo({
- url:'../modal/3200?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title
- });
+ this.initial();
+ // uni.redirectTo({
+ // url:'../modal/3200?param='+JSON.stringify(this.$data.param)+"&titlename="+this.$data.title,
+ // });
},
//鐐瑰嚮鏄剧ず娴忚瀵硅薄鏄剧ず椤甸潰
async onViewPageClick(style){
@@ -830,6 +1153,7 @@
start_transaction: true,
class_id: $this.param.DataCls.id,
event_id: eventid,
+ data_obj_id:$this.styledef.form.objId,
obj_attr,
input_param,
});
@@ -1023,10 +1347,13 @@
if(onChangeEvent.id){ //鍐呭鍙樺寲鍚庝簨浠� $this.onChange(onChangeEvent);
} else{
- var where ='';
+ $this.where ='';
if(item.value)
- where =item.fieldId+" like '%"+item.value+"%'";
- $this.loadDataGetList(where);
+ $this.where =item.fieldId+" like '%"+item.value+"%'";
+ $this.query_id='';
+ $this.pageindex = 1;
+ $this.detail1StyleDefList=[];
+ $this.loadDataGetList();
}
if(item.value){ //绗竴涓緭鍏ユ涓嶄负绌� $this.focusMateria = true; //鍒濆鍖栵紝绗簩涓緭鍏ユfocus灞炴�
@@ -1034,7 +1361,7 @@
// $this.focusMateria=true; //绗簩涓緭鍏ユ鑾峰彇鐒︾偣
setTimeout(function(){
uni.hideKeyboard();
- },100);
+ },1000);
// },500);
}
// if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠�@@ -1060,10 +1387,13 @@
if(onChangeEvent.id){ //鍐呭鍙樺寲鍚庝簨浠� this.onChange(onChangeEvent);
} else{
- var where ='';
+ this.where ='';
if(item.value)
- where =item.fieldId+" like '%"+item.value+"%'";
- this.loadDataGetList(where);
+ this.where =item.fieldId+" like '%"+item.value+"%'";
+ this.query_id='';
+ this.pageindex = 1;
+ this.detail1StyleDefList=[];
+ this.loadDataGetList();
}
// if(onSuffixClickCallbackEvent.id){ //鍚庡浘鏍囩偣鍑讳簨浠� // this.onSuffixClick(onSuffixClickCallbackEvent);
@@ -1198,6 +1528,12 @@
})
// } 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{
uni.showModal({title:"鎻愮ず",content:"褰撳墠action_type锛�+item.action_type+"鏈鐞�,showCancel:false,confirmText:"鍙栨秷"});
@@ -1226,8 +1562,11 @@
},
cancel(e){ //鍙栨秷
+ // var eventChannel = this.$scope.eventChannel;
+ // // const eventChannel = this.getOpenerEventChannel();
+ // eventChannel.emit('view_3201',"");
uni.navigateBack({
- delta:1 //杩斿洖灞傛暟锛�鍒欎笂涓婇〉
+ delta:1 ,//杩斿洖灞傛暟锛�鍒欎笂涓婇〉
});
},
/**
@@ -1250,127 +1589,128 @@
* ]
* }
*/
+
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 (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].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(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.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(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].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(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.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(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].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(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 (['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 ''
- }
-
+ if (sql.length > 0)
+ return Base64.encode(JSON.stringify({
+ model: 1,
+ condition: sql
+ }))
+ else
+ return ''
+ },
+
},
};
</script>
--
Gitblit v1.9.1