cuiqian2004
2025-06-19 619b47962e41f506baf7ce2b535b2de1fecc719e
pages/modal/3201.vue
@@ -1,5 +1,5 @@
<template>
   <view class="uni-page-modal-3201">
   <view class="uni-page-modal-3201" :class="largeMode?'large-mode':''">
      <view class="dv_head">
         <uni-section :title="title">
            <view class="example"
@@ -31,14 +31,27 @@
</template>
<script>
   import Base64 from '../../components/js-base64/base64.js'
   import {
      Base64
   } from  '@/js/Base64.js';
   import classUtils from "@/js/utils.js"
   import {
      appGetInfo,
      dictGetInfo
   } from "@/api/mobox.js"
   import {
      getUIStyleInfo,
      runCustomEvent,
      dataObjQuery,
   } from "@/api/data.js"
   import buttonClickMixin from '@/mixins/button-click.js';
   export default {
      modules: {
         Base64,
      },
      mixins: [buttonClickMixin],
      data() {
         return {
               largeMode: getApp().globalData.largeMode || false,
            title: '3201首页',
            param: {},
            show: true,
@@ -84,19 +97,19 @@
         uni.setNavigationBarTitle({
            title: options.titlename
         }); //设置顶部标题 
         this.$data.title = options.titlename;
         this.$data.param = JSON.parse(options.param);
         console.log(this.$data.param);
         this.title = options.titlename;
         this.param = JSON.parse(options.param);
         console.log(this.param);
         //加载初始界面
         if (this.$data.param.welcome_page) {
            this.$data.styles.width = this.$data.param.welcome_page.width + 'px';
            this.$data.styles.height = this.$data.param.welcome_page.height + 'px';
            this.$data.styles.backgroundColor = this.$data.param.welcome_page.bkground_color;
         if (this.param.welcome_page) {
            this.styles.width = this.param.welcome_page.width + 'px';
            this.styles.height = this.param.welcome_page.height + 'px';
            this.styles.backgroundColor = this.param.welcome_page.bkground_color;
            this.$data.param.welcome_page.img = this.$data.param.welcome_page.img.replace(/ /g, '+');
            this.$data.param.welcome_page.width = parseInt(this.$data.param.welcome_page.width);
            this.$data.param.welcome_page.height = parseInt(this.$data.param.welcome_page.height);
            this.$data.param.catalog.forEach(async (ele, index) => {
            this.param.welcome_page.img = this.param.welcome_page.img.replace(/ /g, '+');
            this.param.welcome_page.width = parseInt(this.param.welcome_page.width);
            this.param.welcome_page.height = parseInt(this.param.welcome_page.height);
            this.param.catalog.forEach(async (ele, index) => {
               ele.img = ele.img.replace(/ /g, '+');
               ele.taskQty = 0;
               await this.appGetInfo(ele.function_def_id, index);
@@ -105,16 +118,39 @@
      },
      methods: {
         setData(obj) {
            let that = this;
            let keys = [];
            let val, data;
            Object.keys(obj).forEach(function(key) {
               keys = key.split(".");
               val = obj[key];
               data = that.$data;
               keys.forEach(function(key2, index) {
                  if (index + 1 == keys.length) {
                     that.$set(data, key2, val);
                  } else {
                     if (!data[key2]) {
                        that.$set(data, key2, {});
                     }
                  }
                  data = data[key2];
               });
            });
         },
         //获取功能点信息
         appGetInfo(appid, index) {
            var $this = this;
            var json = {
               app_id: [appid]
            };
            this.$store.dispatch('appGetInfo', json).then(async success => {
               // console.log(success);
               if (success.err_code == 0) {
                  var app = success.result[0];
         async appGetInfo(appid, index) {
            try {
               var $this = this;
               var json = {
                  app_id: [appid]
               };
               const result = await appGetInfo(json)
               if ((result || []).length > 0) {
                  var app = result[0];
                  var paramStr = app.param;
                  var appName = app.name;
                  var defCode = app.def_code;
@@ -132,12 +168,12 @@
                           .translateSys("quotation_mark_right") + this.translate(
                              "tip_no_app_param"),
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                        confirmText: this.translateSys('close')
                     });
                     return;
                  }
                  this.$data.param.catalog[index].param = param;
                  this.$data.param.catalog[index].appName = appName;
                  this.param.catalog[index].param = param;
                  this.param.catalog[index].appName = appName;
                  param = JSON.parse(param);
                  $this.orderby = param.Order ? param.Order : 'T_CREATE Desc';
@@ -150,20 +186,26 @@
               } else {
                  uni.showModal({
                     title: this.translateSys("tip"),
                     content: success.msg,
                     content: this.translate("function_not_exist"),
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                     confirmText: this.translateSys('close')
                  });
               }
            }).catch(ex => {
               // console.log(ex);
            } catch (ex) {
               console.log(ex);
               let exStr = JSON.stringify(ex)
               if (exStr == "{}")
                  exStr = ex
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
               uni.showModal({
                  title: this.translateSys("error"),
                  content: ex.errMsg,
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
                  confirmText: this.translateSys('close')
               });
            });
               return undefined
            }
         },
         // 执行查询事件
         async onSearChange(clsid, eventid, index) {
@@ -176,76 +218,68 @@
                     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: this.translateSys("tip"),
                              content: tip,
                              showCancel: false,
                              confirmText: this.translateSys("cancel")
                           });
                           else uni.showModal({
                              title: this.translateSys("tip"),
                              content: tip + ',' + this.translateSys('tip') + ':' + result
                                 .ret,
                              showCancel: false,
                              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: this.translateSys("tip"),
                              content: tip,
                              showCancel: false,
                              confirmText: this.translateSys("cancel")
                           });
                  runCustomEvent(dataInfo).then(result => {
                     console.log(result);
                           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(clsid, index);
                                 }
                     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: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('close')
                        });
                        else uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip + ',' + this.translateSys('tip') + ':' + result
                              .ret,
                           showCancel: false,
                           confirmText: this.translateSys('close')
                        });
                        return false;
                     } else {
                        var tip = result.info ? typeof result.info == 'string' ? result.info :
                           result.info.join('<br/>') : '';
                        if (tip) uni.showModal({
                           title: this.translateSys("tip"),
                           content: tip,
                           showCancel: false,
                           confirmText: this.translateSys('close')
                        });
                              });
                           } else {
                              // this.detail2StyleDefList=[];
                              if (result.info) {
                                 uni.showModal({
                                    title: this.translateSys("tip"),
                                    content: result.info,
                                    showCancel: false,
                                    confirmText: this.translateSys("cancel")
                                 });
                        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(clsid, index);
                              }
                           });
                        } else {
                           // this.detail2StyleDefList=[];
                           if (result.info) {
                              uni.showModal({
                                 title: this.translateSys("tip"),
                                 content: result.info,
                                 showCancel: false,
                                 confirmText: this.translateSys('close')
                              });
                           }
                        }
                     } else {
                        uni.showModal({
                           title: this.translateSys("error") + "1",
                           content: ret.err_msg,
                           showCancel: false,
                           confirmText: this.translateSys("cancel")
                        });
                     }
                  }).catch(ex => {
                     // console.log(ex);
                     uni.showModal({
                        title: this.translateSys("error") + "1.1",
                        content: ex.errMsg,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                        confirmText: this.translateSys('close')
                     });
                  });
               }
@@ -256,7 +290,7 @@
                  content: this.translate("execute_query_event_failed") + this.translateSys("comma") +
                     tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
                  confirmText: this.translateSys('close')
               });
            }
@@ -279,31 +313,23 @@
                  page: 1,
                  query_id: '',
               };
               this.$store.dispatch('dataObjQuery', dataInfo).then(ret => {
                  // console.log(ret);
                  if (ret.err_code == 0) {
                     if (ret.result) {
                        $this.$data.param.catalog[index].taskQty = ret.result.obj_list.length;
                        // console.log($this.$data.param.catalog[index]);
                        var catalog = JSON.parse(JSON.stringify($this.$data.param.catalog));
                        $this.$data.param.catalog = [];
                        $this.$data.param.catalog = catalog;
                     }
                  } else {
                     uni.showModal({
                        title: this.translateSys("error") + "2",
                        content: ret.err_msg,
                        showCancel: false,
                        confirmText: this.translateSys("cancel")
                     });
               dataObjQuery(dataInfo).then(result => {
                  // console.log(result);
                  if (result) {
                     $this.param.catalog[index].taskQty = result.obj_list.length;
                     // console.log($this.param.catalog[index]);
                     var catalog = JSON.parse(JSON.stringify($this.param.catalog));
                     $this.param.catalog = [];
                     $this.param.catalog = catalog;
                  }
               }).catch(ex => {
                  // console.log(ex);
                  uni.showModal({
                     title: this.translateSys("error") + "2.1",
                     content: ex.errMsg,
                     showCancel: false,
                     confirmText: this.translateSys("cancel")
                     confirmText: this.translateSys('close')
                  });
               });
            } catch (ex) {
@@ -312,7 +338,7 @@
                  title: this.translateSys("error") + "2.2",
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
                  confirmText: this.translateSys('close')
               });
            }
         },
@@ -322,9 +348,9 @@
            if (!data.function_def_id) {
               uni.showModal({
                  title: this.translateSys("tip"),
                  content:this.translate("not_associated_function_point"),
                  content: this.translate("not_associated_function_point"),
                  showCancel: false,
                  confirmText: this.translateSys("cancel")
                  confirmText: this.translateSys('close')
               });
               return;
            }
@@ -338,9 +364,9 @@
                     //刷新当前页面
                     // location.reload();
                     // uni.redirectTo({
                     //    url:'../modal/3201?param='+JSON.stringify($this.$data.param)+"&titlename="+$this.$data.title
                     //    url:'../modal/3201?param='+JSON.stringify($this.param)+"&titlename="+$this.title
                     // });
                     $this.$data.param.catalog.forEach(async (ele, index) => {
                     $this.param.catalog.forEach(async (ele, index) => {
                        ele.taskQty = 0;
                        await $this.appGetInfo(ele.function_def_id, index);
                     });
@@ -527,7 +553,7 @@
   };
</script>
<style lang="scss">
   .uni-page-modal-3200 {
   .uni-page-modal-3201 {
      .example {