cuiqian2004
2024-07-05 37ff5e49c0e7c5b63e7e8e137058366244f826c1
pages/modal/3200_view.vue
@@ -1,6 +1,5 @@
<template>
   <view class="content">
   <view class="uni-page-modal-3200-view">
      <view class="v-content">
         <view class="dv-panel dv-panel-bkcolor">
            <div class="dv-panel-input">
@@ -172,7 +171,7 @@
      },
      data() {
         return {
            title: '新增',
            title: this.translateSys('add2'),
            param: {},
            styleDef: {
               form: {
@@ -239,10 +238,10 @@
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: "错误",
                  title: this.translateSys("error"),
                  content: tip,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys('cancel')
               });
            }
         }
@@ -293,19 +292,19 @@
                  }, 100);
               } else {
                  uni.showModal({
                     title: "错误1",
                     title: this.translateSys("error") + "1",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: "错误1.1",
                  title: this.translateSys("error") + "1.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys('cancel')
               });
            });
@@ -349,19 +348,19 @@
                  });
               } else {
                  uni.showModal({
                     title: "错误6",
                     title: this.translateSys("error") + "6",
                     content: ret.err_msg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys('cancel')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
               uni.showModal({
                  title: "错误6.1",
                  title: this.translateSys("error") + "6.1",
                  content: ex.errMsg,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys('cancel')
               });
            });
@@ -402,28 +401,28 @@
                     }
                  } else {
                     uni.showModal({
                        title: "错误5",
                        title: this.translateSys("error") + "5",
                        content: ret.err_msg,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys('cancel')
                     });
                  }
               }).catch(ex => {
                  // console.log(ex);
                  uni.showModal({
                     title: "错误5.1",
                     title: this.translateSys("error") + "5.1",
                     content: ex.errMsg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys('cancel')
                  });
               });
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: "错误5.2",
                  title: this.translateSys("error") + "5.2",
                  content: tip,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys('cancel')
               });
            }
         },
@@ -470,26 +469,27 @@
                           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: '提示',
                              title: this.translateSys("tip"),
                              content: tip,
                              showCancel: false,
                              confirmText: "取消"
                              confirmText: this.translateSys('cancel')
                           });
                           else uni.showModal({
                              title: '提示',
                              content: tip + ',提示:' + result.ret,
                              title: this.translateSys("tip"),
                              content: tip + ',' + this.translateSys('tip') + ':' + result
                                 .ret,
                              showCancel: false,
                              confirmText: "取消"
                              confirmText: this.translateSys('cancel')
                           });
                           return false;
                        } else {
                           var tip = result.info ? typeof result.info == 'string' ? result.info :
                              result.info.join('<br/>') : '';
                           if (tip) uni.showModal({
                              title: '提示',
                              title: this.translateSys("tip"),
                              content: tip,
                              showCancel: false,
                              confirmText: "取消"
                              confirmText: this.translateSys('cancel')
                           });
                           if (result.result_type == 0 && result.action) {
@@ -513,10 +513,10 @@
                              // this.detail2StyleDefList=[];
                              if (result.info) {
                                 uni.showModal({
                                    title: "提示",
                                    title: this.translateSys("tip"),
                                    content: result.info,
                                    showCancel: false,
                                    confirmText: "取消"
                                    confirmText: this.translateSys('cancel')
                                 });
                              }
                           }
@@ -524,29 +524,31 @@
                     } else {
                        uni.showModal({
                           title: "错误8",
                           title: this.translateSys("error") + "8",
                           content: ret.err_msg,
                           showCancel: false,
                           confirmText: "取消"
                           confirmText: this.translateSys('cancel')
                        });
                     }
                  }).catch(ex => {
                     // console.log(ex);
                     uni.showModal({
                        title: "错误8.1",
                        title: this.translateSys("error") + "8.1",
                        content: ex.errMsg,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys('cancel')
                     });
                  });
               }
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: "错误8.2",
                  content: "执行“内容变化后”事件失败:" + tip,
                  title: this.translateSys("error") + "8.2",
                  content: this.translate('execute_after_change_event_failed') + this.translateSys(
                        "comma") +
                     this.translate('reason') + this.translateSys("colon") + tip,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys('cancel')
               });
            }
@@ -556,8 +558,8 @@
            var that = this
            if (btn.Prompt) {
               uni.showModal({
                  title: '提示',
                  content: btn.PromptContent || "是否确定?",
                  title: this.translateSys("tip"),
                  content: btn.PromptContent || this.translate("are_you_sure"),
                  success: function(res) {
                     if (res.confirm) {
                        that.onButtonClicked(btn);
@@ -584,8 +586,8 @@
                  var btn = that.param.ListPage.Page_Button[e.tapIndex];
                  if (btn.Prompt) {
                     uni.showModal({
                        title: '提示',
                        content: btn.PromptContent || "是否确定?",
                        title: this.translateSys("tip"),
                        content: btn.PromptContent || this.translate("are_you_sure"),
                        success: function(res) {
                           if (res.confirm) {
                              that.onButtonClicked(btn);
@@ -613,19 +615,19 @@
                  this.triggerEvent(btn, style, enviroment);
               } else {
                  uni.showModal({
                     title: "提示",
                     content: "未实现",
                     title: this.translateSys("tip"),
                     content: this.translateSys("unrealized"),
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys('cancel')
                  });
               }
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: "错误2",
                  title: this.translateSys("error") + "2",
                  content: tip,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys('cancel')
               });
            }
         },
@@ -652,10 +654,10 @@
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: "错误3",
                  title: this.translateSys("error") + "3",
                  content: tip,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys('cancel')
               });
            }
         },
@@ -671,26 +673,26 @@
                        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: '提示',
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: "取消"
                           confirmText: this.translateSys('cancel')
                        });
                        else uni.showModal({
                           title: '提示',
                           content: tip + ',提示:' + result.ret,
                           title: this.translateSys("tip"),
                           content: tip + ',' + this.translateSys('tip') + ':' + result.ret,
                           showCancel: false,
                           confirmText: "取消"
                           confirmText: this.translateSys('cancel')
                        });
                        return false;
                     } else {
                        var tip = result.info ? typeof result.info == 'string' ? result.info : result
                           .info.join('<br/>') : '';
                        if (tip) uni.showModal({
                           title: '提示',
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: "取消"
                           confirmText: this.translateSys('cancel')
                        });
                        if (result.result_type == 0 && result.action) {
@@ -724,38 +726,40 @@
                           var tip = result.info ? typeof result.info == 'string' ? result.info :
                              result.info.join('<br/>') : '';
                           if (tip) uni.showModal({
                              title: '提示',
                              title: this.translateSys("tip"),
                              content: tip,
                              showCancel: false,
                              confirmText: "取消"
                              confirmText: this.translateSys('cancel')
                           });
                        }
                     }
                  } else {
                     uni.showModal({
                        title: "错误4",
                        title: this.translateSys("error") + "4",
                        content: ret.err_msg,
                        showCancel: false,
                        confirmText: "取消"
                        confirmText: this.translateSys('cancel')
                     });
                  }
               }).catch(ex => {
                  // console.log(ex);
                  uni.showModal({
                     title: "错误4.1",
                     title: this.translateSys("error") + "4.1",
                     content: ex.errMsg,
                     showCancel: false,
                     confirmText: "取消"
                     confirmText: this.translateSys('cancel')
                  });
               });
            } catch (ex) {
               var tip = typeof ex == "string" ? ex : ex.message;
               uni.showModal({
                  title: "错误4.2",
                  content: "执行“内容变化后”事件失败:" + tip,
                  title: this.translateSys("error") + "4.2",
                  content: this.translate('execute_after_change_event_failed') + this.translateSys(
                        "comma") +
                     this.translate('reason') + this.translateSys("colon") + tip,
                  showCancel: false,
                  confirmText: "取消"
                  confirmText: this.translateSys('cancel')
               });
            }
@@ -787,12 +791,14 @@
            var seps = [' not in', ' in', '<>', '!=', '<=', '>=', '<', '=', '>', ' like']
            list.forEach(ls => {
               var where = ls.trim()
               if (where.startsWith('(') && where.endsWith(')')) where = where.replace(/^\(/, '').replace(/\)$/, '')
               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(/\)$/, '')
                     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])) {
@@ -806,28 +812,34 @@
                        var value = ''
                        var op = sep.trim()
         
                        if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) {
                        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 {
                           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(/\'$/, ''))
                              value = value.split(',').map(v => v.trim().replace(/^\'/, '')
                                 .replace(/\'$/, ''))
                           }
                        }
                        sql.push([{ field, value, op }])
                        sql.push([{
                           field,
                           value,
                           op
                        }])
                     }
                  })
               }
               else if (where.toLowerCase().includes(' or ')) {
               } 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(/\)$/, '')
                     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])) {
@@ -841,24 +853,29 @@
                        var value = ''
                        var op = sep.trim()
         
                        if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) {
                        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 {
                           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(/\'$/, ''))
                              value = value.split(',').map(v => v.trim().replace(/^\'/, '')
                                 .replace(/\'$/, ''))
                           }
                        }
                        sql.push([{ field, value, op }])
                        sql.push([{
                           field,
                           value,
                           op
                        }])
                     }
                  })
                  sql.push(s)
               }
               else {
               } else {
                  var li = where
                  // 单一查询条件直接放在第一级数组中
                  var l = li.trim()
@@ -876,19 +893,25 @@
                     var value = ''
                     var op = sep.trim()
         
                     if ([' in', ' not in'].includes(sep) && values[1]?.toLowerCase().includes('select ') && values[1]?.toLowerCase().includes(' from ')) {
                     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 {
                        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(/\'$/, ''))
                           value = value.split(',').map(v => v.trim().replace(/^\'/, '').replace(/\'$/,
                              ''))
                        }
                     }
                     sql.push([{ field, value, op }])
                     sql.push([{
                        field,
                        value,
                        op
                     }])
                  }
               }
            })
@@ -910,13 +933,21 @@
               delta: 1, //返回层数,2则上上页
            });
         },
         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>
<style lang="scss">
   .uni-page-modal-3200-view {
   .v-headStyle .txt_title {
      font-size: 34rpx;
      text-align: right;
@@ -1151,12 +1182,12 @@
     display: inline-block;
     text-align: right;
   }
   .dv-viewHtml-Panel .item-span{
     // line-height: 30px;
     color: #2d8cf0;
   }
</style>
<style lang="scss">
   .demo-uni-row {
      margin-bottom: 0px;
      display: block;
@@ -1178,4 +1209,5 @@
   .demo-uni-row .uni-input {
      width: calc(100% - 120px);
   }
   }
</style>