amis 自定义使用记录

1,194 阅读2分钟

API

采用对象模式,以下是api请求对象的基础数据

{
   url: '',
   data: {
   	key: "${key}",
       key1: "key1",
       key2: 'data.key'
   },
   method: 'post | get',
   isAddUserInfo: '是否添加用户信息,默认为是, false  为否'
}

Select Option Api

Static Source 静态数据

{
 "type": "form",
 "title": "",
 "className": "form-label-4",
 "data": {
   "isTrue": [
     {
       "label": "是",
       "value": "1"
     },
     {
       "label": "否",
       "value": "0"
     }
   ]
 },
 "controls": [
   {
     "type": "select",
     "label": "静态数据",
     "name": "page",
     "mode": "inline",
     "source": "${isTrue}"
   },
   {
     "type": "select",
     "label": "合并静态数据",
     "name": "page",
     "mode": "inline",
     "source": {
       "url": "assignOptions",
       "method": "post",
       "api": "staticFetch",
       "addOptions": [
         {
           "label": "不限",
           "value": ""
         }
       ],
       "data": {
         "options": "${isTrue}"
       }
     }
   }
 ]
}

Remote Source 远程数据

{
  "type":"form",
  "title":"",
  "className":"form-label-6",
  "controls":[
    {
      "type":"select",
      "label":"合并远程数据",
      "name":"page",
      "mode":"inline",
      "source":{
        "url":"/rest/queryDataBySql/0550000/02",
        "method":"post",
        "type":"option",
        "keys":{
          "label":"mc",
          "value":"id"
        },
        "data":{
        }
      }
    },
    {
      "type":"select",
      "label":"远程数据",
      "name":"page",
      "mode":"inline",
      "source":{
        "url":"/rest/queryDataBySql/0550000/02",
        "method":"post",
        "type":"option",
        "keys":{
          "label":"mc",
          "value":"id"
        },
        "addOptions":[
          {
            "label":"不限",
            "value":""
          }],
        "data":{
        }
      }
    }]
}

Date Range API 日期范围查询

使用amis自带日期范围插件的数据需要对日期范围数据进行处理,如下示例中的数据:

data = {
  "rqRange": {
    "cyrq": "${cyrq}",
    "jhrq": "${jhrq}"
  }
}

将被转换为:

data = {
  cyrq1: "startDate",
  cyrq2: "endDate",
  jhrq1: "startDate",
  jhrq2: "endDate"
}

示例:

{
  "type": "page",
  "body": [
    {
      "type": "form",
      "title": "",
      "className": "form-label-4",
      "target": "table",
      "controls": [
        {
          "type": "group",
          "controls": [
            {
              "type": "date-range",
              "label": "出院日期",
              "name": "cyrq",
              "format": "YYYY-MM-DD",
              "mode": "inline",
              "value": "-1months,today",
              "ranges": [
                "7daysago",
                "prevweek",
                "thismonth",
                "prevmonth"
              ]
            },
            {
              "type": "date-range",
              "label": "计划日期",
              "name": "jhrq",
              "format": "YYYY-MM-DD",
              "mode": "inline",
              "ranges": [
                "7daysago",
                "prevweek",
                "thismonth",
                "prevmonth"
              ]
            }
          ]
        }
      ]
    },
    {
      "type": "crud",
      "name": "table",
      "syncLocation": false,
      "api": {
        "url": "/rest/queryDataBySql/0550002/04",
        "method": "post",
        "data": {
          "rqRange": {
            "cyrq": "${cyrq}",
            "jhrq": "${jhrq}"
          }
        }
      },
      "headerToolbar": [],
      "footerToolbar": [
        "switch-per-page",
        "pagination"
      ],
      "columns": [
        {
          "name": "xm",
          "label": "姓名"
        }
      ]
    }
  ]
}

Init Form API 初始化form表单数据

// 多行form表单数据转标准form表单初始化数据
{
  "type":"page",
  "body":[
    {
      "type":"grid",
      "className":"justify-center",
      "columns":[
        {
          "type":"form",
          "title":"",
          "xs":12,
          "sm":10,
          "md":8,
          "lg":6,
          "mdOffset":3,
          "initApi":{
            "method":"post",
            "url":"/rest/queryDataBySql/0550000/01",
            "data":{
              "jb":"0",
              "xtdm":"055"
            },
            "isAddUserInfo":true,
            "type":"form",
            "formFormat":{
              "name":"jc",
              "value":"csz"
            }
          },
          "api":{
            "url":"/rest/commitData/0550000/01",
            "method":"post",
            "data":{
              "jb":"0",
              "xtdm":"055",
              "arr":[
                {
                  "jc":"sfts",
                  "mc":"随访天数",
                  "csz":"${sfts|json}"
                }]
            }
          },
          "actions":[
            {
              "type":"submit",
              "label":"提交"
            }],
          "mode":"horizontal",
          "horizontal":{
            "left":2
          },
          "controls":[
            {
              "name":"sfts",
              "type":"number",
              "label":"随访天数",
              "precision":0,
              "value":5
            }]
        }]
    }]
}

静态资源抓取API

常用于页面嵌套

{
  "type":"page",
  "initApi":{
    "url":"",
    "method":"post",
    "data":{
    }
  },
  "body":[
    {
      "type":"service",
      "schemaApi":{
        "url":"/web/sfxt/jcsjgl/sfbd/hfjcxx.json",
        "method":"post",
        "api":"getLocal",
        "type":"schemaApi"
      }
    },
    {
      "type":"form",
      "title":"",
      "className":"form-label-4",
      "controls":[
        {
          "type":"textarea",
          "label":"回访内容",
          "name":"hfnr",
          "mode":"inline"
        }]
    }]
}

Form 表单赋值

value 赋值(静态赋值,只能赋值固定的数据)

{
  "type":"page",
  "body":[
    {
      "type":"form",
      "title":"",
      "className":"form-label-4",
      "controls":[
        {
          "type":"text",
          "label":"姓名",
          "mode":"inline",
          "name":"cs",
          "disabled":true,
          "value": "测试"
        }]
    }]
}

name 赋值(动态赋值,可以是固定的数据,也可以是可变的数据)

{
  "type":"page",
  "data": {
  	"cs": "测试"
  },
  "body":[
    {
      "type":"form",
      "title":"",
      "className":"form-label-4",
      "controls":[
        {
          "type":"text",
          "label":"姓名",
          "mode":"inline",
          "name":"cs",
          "disabled":true
        }]
    }]
}

date 赋值官方自定义变量使用value赋值,name赋值将出错

{
  "type":"page",
  "body":[
    {
      "type":"form",
      "title":"",
      "className":"form-label-4",
      "controls":[
        {
          "type":"date",
          "label":"姓名",
          "mode":"inline",
          "name":"cs",
          "value": "today"
        }]
    }]
}

无效的赋值

{
  "type":"page",
  "data":{
    "cs":"today"
  },
  "body":[
    {
      "type":"form",
      "title":"",
      "className":"form-label-4",
      "controls":[
        {
          "type":"date",
          "label":"姓名",
          "mode":"inline",
          "name":"cs"
        }]
    }]
}

select 特殊动态赋值

{
  "type":"page",
  "body":{
    "type":"form",
    "title":"",
    "className":"form-label-4",
    "reload":"table",
    "api":{
      "url":"/rest/commitData/0550002/01",
      "method":"post",
      "data":{
        "jhid":"${id}",
        "pageid":"${page.value}",
        "pageurl":"${page.url}",
        "pagemc":"${page.label}"
      }
    },
    "controls":[
      {
        "type":"group",
        "className":"over",
        "controls":[
          {
            "type":"select",
            "label":"名称",
            "name":"page",
            "mode":"inline",
            "require":true,
            "joinValues":false,
            "source":{
              "url":"/rest/queryDataBySql/0550002/03",
              "method":"post",
              "type":"option",
              "keys":{
                "label":"mc",
                "value":"id",
                "url":"url"
              },
              "data":{
                "xtdm":"055",
                "ks":"${ryksid}",
                "value":{
                  "label":"${pagemc}",
                  "value":"${pageid}",
                  "url":"${pageurl}"
                }
              }
            }
          },
          {
            "type":"text",
            "label":"",
            "mode":"inline",
            "name":"page.url",
            "className":"m-l-2",
            "addOn":{
              "type":"button",
              "label":"预览",
              "actionType":"dialog",
              "dialog":{
                "title":"",
                "size":"lgg",
                "body":{
                  "type":"iframe",
                  "src":"./web/${page.url|url_decode}"
                }
              }
            }
          }]
      }]
  }
}

Form 竖向表单

{
  "type":"form",
  "title":"",
  "className": "form-label-5",
  "initApi":{
    "method":"post",
    "url":"/rest/queryDataBySql/0550000/01",
    "data":{
      "jb":"0",
      "xtdm":"055"
    },
    "isAddUserInfo":true,
    "type":"form",
    "formFormat":{
      "name":"jc",
      "value":"csz"
    }
  },
  "api":{
    "url":"/rest/commitData/0550000/01",
    "method":"post",
    "data":{
      "jb":"0",
      "xtdm":"055",
      "arr":[
        {
          "jc":"sfts",
          "mc":"随访天数",
          "csz":"${sfts|json}"
        }]
    }
  },
  "actions":[
    {
      "type":"submit",
      "label":"提交"
    }],
  "mode":"horizontal",
  "horizontal":{
    "left":2
  },
  "controls":[
    {
      "name":"sfts1",
      "type":"number",
      "label":"随访天数1",
      "precision":0,
      "value":5
    },
    {
      "name":"sfts2",
      "type":"number",
      "label":"随访天数2",
      "precision":0,
      "value":5
    }]
}

Form 横向表单

{
  "type":"form",
  "title":"",
  "className":"form-label-5",
  "submitText":"",
  "controls":[
    {
      "type":"group",
      "controls":[
        {
          "type":"text",
          "label":"姓名",
          "mode":"inline",
          "name":"xm",
          "disabled":true
        },
        {
          "type":"text",
          "label":"性别",
          "mode":"inline",
          "name":"xb",
          "disabled":true
        },
        {
          "type":"text",
          "label":"年龄",
          "mode":"inline",
          "name":"age",
          "disabled":true
        },
        {
          "type":"text",
          "label":"联系方式",
          "mode":"inline",
          "name":"lxfs",
          "disabled":true
        },
        {
          "type":"text",
          "label":"治疗方式",
          "mode":"inline",
          "name":"zlfs",
          "disabled":true
        },
        {
          "type":"text",
          "label":"治疗结果",
          "mode":"inline",
          "name":"zljg",
          "disabled":true
        },
        {
          "type":"text",
          "label":"主治医生",
          "mode":"inline",
          "name":"zzys",
          "disabled":true
        },
        {
          "type":"text",
          "label":"出院诊断",
          "mode":"inline",
          "name":"cyzd",
          "disabled":true
        },
        {
          "type":"text",
          "label":"出院时间",
          "mode":"inline",
          "name":"cysj",
          "disabled":true
        },
        {
          "type":"select",
          "label":"回访人",
          "name":"hfr",
          "mode":"inline",
          "source":{
            "url":"/rest/queryDataBySql/021102/3",
            "method":"post",
            "data":{
            },
            "keys":{
              "label":"xm",
              "value":"ryid"
            },
            "type": "option"
          }
        },
        {
          "type":"date",
          "label":"回访日期",
          "name":"hfrq",
          "mode":"inline",
          "format":"YYYY-MM-DD"
        },
        {
          "type":"select",
          "label":"联系人关系",
          "name":"lxrgx",
          "mode":"inline",
          "source":"${lxrgxArr}"
        }]
    }]
}

select 附加按钮

{
  "type":"page",
  "body":{
    "type":"form",
    "title":"",
    "className":"form-label-4",
    "submitText":"",
    "reload":"table",
    "api":{
      "url":"/rest/commitData/0550002/01",
      "method":"post",
      "data":{
        "jhid":"${id}",
        "id":"",
        "pageid":"${page.value}",
        "pageurl":"${page.url}",
        "pagemc":"${page.label}",
        "sfjh":"${sfjhdm}"
      }
    },
    "controls":[
      {
        "type":"group",
        "className":"over",
        "controls":[
          {
            "type":"select",
            "label":"名称",
            "name":"page",
            "mode":"inline",
            "require":true,
            "joinValues":false,
            "source":{
              "url":"/rest/queryDataBySql/0550002/03",
              "method":"post",
              "type":"option",
              "keys":{
                "label":"mc",
                "value":"id",
                "url":"url"
              },
              "data":{
                "xtdm":"055",
                "ks":"${ryksid}",
                "value":{
                  "label":"${pagemc}",
                  "value":"${pageid}",
                  "url":"${pageurl}"
                }
              }
            }
          },
          {
            "type":"text",
            "label":"",
            "mode":"inline",
            "name":"page.url",
            "className":"m-l-2",
            "addOn":{
              "type":"button",
              "label":"预览",
              "actionType":"dialog",
              "dialog":{
                "title":"",
                "size":"lgg",
                "body":{
                  "type":"iframe",
                  "src":"./web/${page.url|url_decode}"
                }
              }
            }
          }]
      }]
  }
}