|
- // 注册事件类
- window.$swEvent.setup("defaultEvent", {
- /**
- *
- * @param page 当前页面对象
- * 1)page.$params 参数对象
- * 示例:给参数p1赋值: page.$params.p1 = “xxxx”;
- *
- * 2)page.$refs 控件的ref引用,ref引用指向控件的实例,可访问控件实例的属性和函数
- * 示例:调用页面的<el-form ref="form1" /> 标签的validate方法: page.$refs.form1.validate()
- *
- * 3)page.$model 数据集,内含data(数据对象)和dataset(数据集定义)
- * 示例: 获取数据集ds1的表单数据 page.$model.ds1.data.form
- * 获取数据集ds1的列表数据 page.$model.ds1.data.list
- * 获取数据集ds1表单中a1的值 page.$model.ds1.getFormVal("a1")
- * 给数据集ds1的表中的a1赋值 page.$model.ds1.setFormVal("a1","xxxx");
- *
- * 4)page.$widgets 控件的属性,控制控件的响应属性
- * 示例 : 获取控件名为w1的required属性的值 page.$widgets.w1.required
- *
- * 5)page.$utils 工具包
- * $$message 消息提示
- * $$cookie, cookie
- * $$driver, 用户操作引导引擎
- * $$http, http请求
- * $$validate, 校验
- * $$date, 日期处理工具
- * $$UtilPub, 其他
- * 示例:
- * 弹出成功消息框:page.$utils.$$message.notify.success("xxx")
- * post请求:page.$utils.$$http.post("/api/bpm/save",{id:"xxx"})
- *
- * 6)page.$tabRouter 页面路由,控制页面切换
- * 示例:跳转到登录页:page.$tabRouter.push("login");
- * 返回: page.$tabRouter.back();
- *
- * 7) page.$api 页面提供的公用api
- * add: () => void 页面新增初始化(所有可编辑的数据集)
- * addOne: (dataset: string) => void 指定数据集新增初始
- * load: (force?: boolean, params?: any) => void // 页面加载
- * loadOne: (dataset: string, params?: any) => void // 指定数据集加载
- * total: (dataset: string, params?: any) => void // 指定数据集求合计栏信息
- * save: (params?: any) => void // 页面保存 (所有可编辑的数据集)
- * saveOne: (dataset: string, params?: any) => void // 指定数据集保存
- * del: () => void 页面删除
- * delOne: (dataset: string, row?: any) => void // 指定数据集删除
- * closeDialog: (dialogKey?: string) => void // 关闭弹出框
- * 示例:
- * 加载数据集ds1:page.$api.loadOne("ds1");
- *
- * @returns 返回给页面可配置的api方法
- * 如 : return {
- * demoFunc(){
- * XXXX
- * },
- * }
- */
- setup(page){
- const { $params,$refs, $widgets, $model, $utils, $tabRouter, $api } = page;
- const { $$message, $$http } = $utils || {};
- // 示例
- const demoFunc = () => {
- // 1.从参数中获取p1
- const p1 = $params.p1;
- // 2.从控件w1获取color属性
- const color = $widgets.w1.props.color;
- // 3.调用控件w1的calc函数
- const calcVal = $refs.w1.calc(p1,color);
- // 4.数据集ds1加载数据
- $api.loadOne("ds1");
- // 5.给数据集ds1的表单中的f1字段赋值calcVal
- $model.ds1.setFormVal("f1",calcVal);
- // 6.获取数据集ds1的表单数据
- const data = $model.ds1.data.form || {};
- // 7.调用http交互
- $$http.post("ap1/demo/doOpt",data).then((rt) => {
- // 8.弹出成功消息
- $$message.notify.success("操作成功");
- // 9.返回上一个页面
- $tabRouter.back();
- });
- };
- return {
- demoFunc,
- }
- }
- });
|