华为云ASTRO轻应用-创建“查询设备列表”脚本:操作步骤

时间:2025-03-03 11:34:58

操作步骤

  1. 进入创建“设备维修管理系统”应用中创建的应用。
  2. 在“Equipment”目录中,将鼠标放在“Script”上,单击界面上出现的“+”,在弹出菜单中选择“脚本”。
  3. 选中“创建一个新脚本”,在“名称”文本框中输入“equipmentSelectListQuery”,单击“添加”。
  4. 在代码编辑器中插入如下脚本代码。

    脚本代码中,“HW__”前缀由租户命名空间namespace决定,请根据实际情况进行替换。
    import * as context from 'context';
    import * as decimal from 'decimal';
    import * as db from 'db';
    //使用数据库对象HW__Equipment__ CS T
    @useObject(['HW__Equipment__CST'])
    @action.object({ type: "param" })
    export class ActionInput {
        @action.param({ type: 'String' })
        id: string;
    }
    @action.object({ type: "param" })
    export class ActionOutput {
        @action.param({ type: 'Any', label: 'object', isCollection: true })
        equipList: object[];
        @action.param({ type: 'Any', label: 'object' })
        equipment: object;
    }
    @action.object({ type: "method" })
    export class EquipmentSelectListQuery {
        @action.method({ input: 'ActionInput', output: 'ActionOutput' })
        public equipmentSelectListQuery(input: ActionInput): ActionOutput {
            let out = new ActionOutput();
            let error = new Error;
            try {
                let objAct = db.object('HW__Equipment__CST');
                if (input.id) {
                    out.equipment = objAct.query(input.id);
                    return out;
                }
                let option = {
                    "options": {
                        "orderby": [
                            {
                                "field": "lastModifiedDate",
                                "order": "desc"
                            }
                        ],
                        "skip": 0,
                        "limit": 1000
                    }
                };
                let equipList = objAct.queryByCondition(null, option);
                let selectValue = equipList.map(function (v, i, a) {
                    return {
                        'value': v['id'],
                        'display': v['name']
                    }
                });
                out.equipList = selectValue;
            } catch (error) {
                console.error(error.name, error.message);
                context.setError(error.name, error.message);
            }
            return out;
        }
    }

  5. 单击脚本编辑器上方的,保存脚本。
support.huaweicloud.com/bestpractice-astrozero/astrozero_07_1035.html