页面设计器的api

64 阅读1分钟
  • 页面对象:$page()

demo示例如下:

// 'data-table_r0y045sb':表格标识
this.$page('data-table_r0y045sb').reload({
      pageNumber: 1,
      querySetting:JSON.stringify(params[0])
    })
  • 获取页面的值:$pageValues(key)

key(string):组件key

demo示例如下:

this.$page().pageValues["data-form_hc80573c"]
  • 获取页面公共参数:globalVars

demo示例如下:

this.$page().globalVars
this.$page().globalVars.title
  • ajax模式数据请求方法:$request({methode: '', url: '', headers: {}, data: params})

demo示例如下:

ev_submit_2yyxx2mc: function (el, evname, args) {
      var that = this;
      var val = that.$page().pageValues["data-form_hc80573c"];
      var formProp = that.$page().$getComConfig("data-form_hc80573c");
      var globalVars = that.$page().globalVars;
      that
        .$page()
        .$request({
          method: "post",
          url:'xxxx',
          headers: { Authorization: sessionStorage.getItem("token") },
          data: params
        })
        .then(function (res) {
          if (res && res.code === "0") {
            that.$page().$message.success("创建成功");
          } else {
            that.$page().$message.error("创建失败");
          }
        });
    },
  • 弹框模式数据请求方法:$request(key, params)
    key(string):api名称 | params(obejct):参数

新建demo示例如下:

ev_click_3dk5i3i2:function(target){
            let _this = this
            // 'xyn':应用code, 'xyndevAdd':页面code
            _this.$page().PageDialog.show('xyn','xyndevAdd',{
              title:"新建",
              btns:[{
                type:'primary',
                label:'确定',
                func:function(next,values,obj){
                // 'data-form_ey2antpj':表单标识
                  obj.$page('data-form_ey2antpj').validate(function(bool){
                    if(bool){
                    // 'addApi':数据源名称
                    _this.$page().$request('addApi',obj.$page('data-form_ey2antpj').value
                      ).then(item=>{
                        if(item.data.code == '0'){
                           _this.$page().$message.success('新增成功')
                          // 刷新 'data-table_r0y045sb':表格标识, 'adv-search_mp1gjdtd':高级搜索标识
                          _this.$page('data-table_r0y045sb').reload({
                            pageNumber: 1,
                            querySetting:JSON.stringify(_this.$page('adv-search_mp1gjdtd').getValue())
                          })
                          next()
                        }else {
                          _this.$page().$message.error(item.data.msg)
                        }
                      })
                      .catch(err=>{
                        console.log('校验失败',err)
                        _this.$page().$message.error(err.response.data.msg||'校验失败')
                      })
                    }else{
                      _this.$page().$message.error('校验失败')
                    }
                  })
                }
              }]
            },{ isEdit:false }, this.$page()) 
          },

编辑demo示例如下:

act_action_8kx75ig8:function(){
            // console.log('当前正在编辑:', arguments[0])
            let _this = this
            // 'xyn':应用code, 'xyndevAdd':页面code
            this.$page().PageDialog.show('xyn','xyndevAdd',{
              title:"编辑",
              btns:[
              {
                type:'primary',
                label:'确定',
                func:function(next,values,obj){
                  // 'data-form_ey2antpj': 表单标识
                  obj.$page('data-form_ey2antpj').validate(function(bool){
                    if(bool){
                        // 'updateApi':数据源名称
                      _this.$page().$request('updateApi',{
                        params: obj.$page('data-form_ey2antpj').value
                      }).then(item=>{
                         if(item.data.code == '0'){
                            _this.$page().$message.success('编辑成功')
                             // 刷新
                            _this.$page('data-table_r0y045sb').reload({
                              pageNumber: 1,
                              querySetting:JSON.stringify(_this.$page('adv-search_mp1gjdtd').getValue())
                            })
                            next()
                         }else {
                            _this.$page().$message.error(item.data.msg)
                         }
                      })
                      .catch(err=>{
                        console.log('校验失败',err)
                        _this.$page().$message.error(err.response.data.msg||'校验失败')

                      })
                    }
                  })
                }
              }]
            },{ isEdit:true, id:arguments[0].id },this.$page()) // id:查询数据
          },

删除demo示例如下:

act_action_kybctqb6:function(){
            let row = arguments[0]
            let _this = this
            let params = {
              params: {
                id: row.id,
              },
            }
            this.$page().$confirm('是否删除该数据?', '提示', {
              type: 'warning',
            })
            .then((res) => {
              // 'deleteApi':数据源名称
              _this.$page().$request('deleteApi',params).then(item=>{
                console.log(item)
              })
            })
            .then((res) => {
              this.$page().$message.success('删除成功')
              // 刷新 'data-table_r0y045sb':表格标识
              this.$page('data-table_r0y045sb').reload({
                pageNumber: 1,
                querySetting:JSON.stringify(this.$page('adv-search_mp1gjdtd').getValue())
              })
            })
            .catch((e) => {
            })
          },
  • 获取组件值:$getVal(key)

    key(string): 组件Key

    demo示例如下:

// 'input_a4t7wdyh':input标识
this.$getVal('input_a4t7wdyh')
  • 设置组件值:$setVal(key,value)

key(string): 组件key | value(string): 组件值

demo示例如下:

// 'input_a4t7wdyh':input标识
this.$setVal('input_a4t7wdyh','张山')
  • 设置组件属性:$setComProps(key, prop)

key(string): 组件key | prop(object): 修改的属性

demo示例如下:

// 'data-form_ey2antpj':表单标识
this.$page().$setComProps('data-form_ey2antpj',{'autoFetch':true})
  • 获取组件属性:$getComConfig(key)

key(string): 组件key

demo示例如下:

// 'data-form_ey2antpj':表单标识
var formProp = this.$page().$getComConfig("data-form_hc80573c");
var model = formProp.dataOptions.remoteModel.id
  • 获取组件列表:_getComList()
  • 获取处理事件:_eventHandle(name,args={})

name(string): 事件名 | args(object): 事件参数

demo示例如下:

  • 修改value值改变:_valueChangeHandle(params)

val(object): 传递值 {key:'',value:''}

demo示例如下: