|
我尝试写了一个php的自定义action
如下:
- public static function getBYList($params, $context){
- $pdo = $context->Connection(self::$DATASOURCE_EMOLDWXTAR);
- $sql = "select SC_Sb_FK, SC_SbMaintainOID, StartTime, SC_TypeDict_FK, Devicename, Deviceno,SC_SbCateogry_FK,SC_SBStandard_FK,EnpriseNo,Type from SC_SbMaintain a left join SC_Sb b on a.SC_Sb_FK = b.SC_SbOID left join SC_TypeDict c on c.SC_TypeDictOID = a.SC_TypeDict_FK where FinishTime is null and (a.SYS_Deleted <> '1' or a.SYS_Deleted is null)";
- $columnJson = '[{"name":"SC_Sb_FK","type":"String"},{"name":"SC_SbMaintainOID","type":"String"},{"name":"StartTime","type":"DateTime"},{"name":"SC_TypeDict_FK","type":"String"},{"name":"Devicename","type":"String"},{"name":"Deviceno","type":"String"},{"name":"SC_SbCateogry_FK","type":"String"},{"name":"SC_SBStandard_FK","type":"String"},{"name":"EnpriseNo","type":"String"},{"name":"Type","type":"String"}]';
- $columns = json_decode($columnJson, true);
- try{
- $table = \baas\data\Util::queryDataBySQL($pdo, $sql, array(), $columns);
- echo json_encode(\baas\data\Transform::tableToJson($table));
- }
- catch (Exception $e)
- {
- var_dump($e);
- }
- }
复制代码 我在页面端调用该方法:
- var bylistdata = this.comp("byListData");
- var bylist = this.comp("bylist");
- justep.Baas.sendRequest({
- "url" : "/emold_wx/user",
- "action" : "getBYList",
- "async" : false,
- "params" : {},
- "success" : function(data) {
- bylistdata.loadData(data);
- console.log(JSON.stringify(data));
- bylist.refresh();
- },
- "fail": function(data){
- // consol.log(data);
- }
- });
复制代码 console.log(JSON.stringify(data));这句输出结果如下:
{"@type":"table","userdata":{"relationAlias":"SC_Sb_FK,SC_SbMaintainOID,StartTime,SC_TypeDict_FK,Devicename,Deviceno,SC_SbCateogry_FK,SC_SBStandard_FK,EnpriseNo,Type","relationTypes":"String,String,DateTime,String,String,String,String,String,String,String"},"rows":[{"userdata":{"recordState":"none"},"SC_Sb_FK":{"value":"00046192-0000-0000-0000-00000C2DD3B3"},"SC_SbMaintainOID":{"value":"00031E3E-0000-0000-0000-0000629DCB78"},"StartTime":{"value":"1970-01-01T08:00:00.000Z"},"SC_TypeDict_FK":{"value":"000CA6CD-0000-0001-0000-00000C323930"},"Devicename":{"value":"%E7%89%A7%E9%87%8E%E5%8A%A0%E5%B7%A5%E4%B8%AD%E5%BF%83"},"Deviceno":{"value":"MY001"},"SC_SbCateogry_FK":{"value":"00040F22-0000-0000-0000-000028F2F4FA"},"SC_SBStandard_FK":{"value":"000E0C98-0000-0000-0000-00000C2DEFF4"},"EnpriseNo":{"value":""},"Type":{"value":"%E4%BF%9D%E5%85%BB"}}]}
无法赋给数据模型bylistdata
bylistdata的源码如下:
- <div component="$UI/system/components/justep/data/baasData" autoLoad="false" xid="byListData" idColumn="SC_SbMaintainOID" directDelete="false">
- <column label="设备保养列表主键" name="SC_SbMaintainOID" type="String" xid="SC_SbMaintainOID"></column>
- <column label="设备外键" name="SC_Sb_FK" type="String" xid="SC_Sb_FK"></column>
- <column label="开始时间" name="StartTime" type="Date" xid="SC_SbMaintainOID"></column>
- <column label="项目类型外键" name="SC_TypeDict_FK" type="String" xid="SC_TypeDict_FK"></column>
- <column label="设备名称" name="Devicename" type="String" xid="Devicename"></column>
- <column label="设备编号" name="Deviceno" type="String" xid="Deviceno"></column>
- <column label="设备类别外键" name="SC_SbCateogry_FK" type="String" xid="SC_SbCateogry_FK"></column>
- <column label="设备规格外键" name="SC_SBStandard_FK" type="String" xid="SC_SBStandard_FK"></column>
- <column label="企业编号" name="EnpriseNo" type="String" xid="EnpriseNo"></column>
- <column label="保养类别" name="Type" type="Stringg" xid="Type"></column>
- </div>
复制代码 由于没有明确定义主键,所以这一部分是手写的。
应该怎么改才能让bylistdata.loadData(data);生效呢?
|
|