深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 808|回复: 4
打印 上一主题 下一主题

beacon框架下xml中columns的设计与应用

[复制链接]

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
跳转到指定楼层
楼主
发表于 2020-12-6 16:22:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zhgc 于 2021-6-14 14:55 编辑

beacon框架下xml中columns的设计与应用

属性:

  1.         var $no="";                        //no属性必须要有,一般是查询结果的栏位名称,统一大写
  2.         var $color="";                //标记栏位的字体颜色
  3.         var $align="";                //标记字体的对齐方式
  4.         var $visible=true;        //是否可见,有用
  5.         var $title="";                //列的标题栏
  6.         var $link="";                //内容的链接方式
  7.         var $linktarget="_blank";        //Link的目标,默认是打开新的
  8.         var $html="";                //格的html模板格式,内格式;<td><html></td>
  9.         var $td="";                        //格的html模板格式,外格式;<td><html></td>
  10.         var $width="";                //宽度定义
  11.         var $class="";                //更高级的处理,后台分析并返回,注意html < td < class, html改格内的内容,td改格,class则改的更多
复制代码
逻辑:        function inputdata($node){
                global $config;        
                    switch ($node->nodeName) {
                    case "no":
                        $this->no = $node->nodeValue ;
                        break;
                    case "color":
                        $this->color = $node->nodeValue ;
                        break;        
                    case "td":
                        $this->td = $node->nodeValue ;
                        break;               
                        case "align":
                        $this->align = $node->nodeValue ;
                        break;        
                        case "width":
                        $this->width = $node->nodeValue ;
                        break;                                
                        case "visible":
                                if($node->nodeValue=="false"){
                                        $this->visible = false ;
                                }
                        break;                                       
                    case "title":
                        $this->title = $node->nodeValue ;
                        break;
                    case "link":
                            //$site_path = "/sfc/";
                            $tmp= str_replace("#", "&", $node->nodeValue);
                            $tmp= str_replace("@", $config->site_path, $tmp);
                                $this->link = $tmp;
                        break;
                    case "html":
                        $this->html = $node->nodeValue ;
                        break;        
                    case "class":
                            $this->class= $node->nodeValue ;
                            break;        
                    }
        }




回复

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
沙发
 楼主| 发表于 2020-12-6 17:10:36 | 只看该作者
关于link的查询:


  1. <column no="STD_QTY" link="@R.php/l1/l1_01a/1?layerSTATION=[STATION]" />
  2. <column no="TEST_TIME" title="测试时间" />
复制代码


看report.inc.php中class column

  1. case "link":
  2.         //$site_path = "/sfc/";
  3.         $tmp= str_replace("#", "&", $node->nodeValue);
  4.         $tmp= str_replace("@", $config->site_path, $tmp);
  5.         $this->link = $tmp;
  6.         break;
复制代码



可见,对于LINK内容:
1. #会替换成&, 做为参数连接符;
2. @会替换为主路径

那[PARAM]的结构如果实现效果呢?

看block.nagoreport01.php

                                        if($link==""){
                                                 //$vv="<a href=11>{$vv}</a>";    //没有link的url
                                        }else{
                                                $tmp=array_merge(array(), $item);
                                                foreach($tmp as $k=>$v){
                                                        $link=str_replace("[".$k."]", $v, $link);
                                                }       
                                                $vv="<a href={$link}>{$vv}</a>";                                               
                                        }





回复 支持 反对

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
板凳
 楼主| 发表于 2020-12-6 17:27:25 | 只看该作者

  1. <column no="ERROR_FLAG" title="状态" class="app" />
复制代码


class的实现方式:

                                                //td的处理
                                                $ttdd=$report->Columns[$k]->td;
                                                //fix by syant ,对class的支持
                                                if(strlen($report->Columns[$k]->class)>0){
                                                        if(method_exists($activity,'column_format')){
                                                                $ttdd=$activity->column_format($k,$item,$report->Columns[$k]); //交给app来定义式样
                                                        }
                                                        if(method_exists($activity,'column_format_ex')){
                                                                $ttdd=$activity->column_format_ex($k,$item,$report->Columns[$k],$vv,$nago_tr_class);
                                                        }
                                                }
                                                //最后结果
                                                if(strlen($ttdd)>0){
                                                        /* 所以TD属性中,一定要有td/td标记对 */
                                                        $vv=str_replace("[DATA]", $vv, $ttdd);
                                                        $line.=$vv;
                                                } else {
                                                        $line.="<td nowrap=\"nowrap\" {$align}{$bgcolor}>{$vv}</td>";
                                                }

回复 支持 反对

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
地板
 楼主| 发表于 2021-6-14 15:27:59 | 只看该作者



  1.                 <columns>
  2.                         <column no="SimiInput" title="半成品总量">
  3.                         <![CDATA[
  4.                                 <td  bgcolor="#FF0000">[DATA]</td>
  5.       ]]></column>
  6.                         <column no="SimiPass" title="半成品良品" />
  7.                         <column no="SimiFail" title="半成品不良" />
  8.                         <column no="Simi_Fail_Rate" title="半成品良率" />
  9.                         <column no="FGInput" title="成品总量" />
  10.                         <column no="FGPass" title="成品良品" />
  11.                         <column no="FGFail" title="成品不良"  />
  12.                         <column no="FG_Fail_Rate" title="成品良率"  />
  13.                         <column no="DTBEGIN" visible="false" />
  14.                         <column no="DTEND" visible="false"  />
  15.                 </columns>
复制代码


回复 支持 反对

使用道具 举报

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
5#
 楼主| 发表于 2021-10-12 15:35:21 | 只看该作者
摘自repair.xml

  1.                 <columns>
  2.                         <column no="SimiInput" title="半成品总量">
  3.                         <![CDATA[
  4.                                 <td  bgcolor="#E5EDF2">[DATA]</td>
  5.       ]]></column>
  6.                         <column no="SimiPass" title="半成品良品">
  7.                         <![CDATA[
  8.                                 <td  bgcolor="#E5EDF2">[DATA]</td>
  9.       ]]></column>
  10.                         <column no="SimiFail" title="半成品不良">
  11.                         <![CDATA[
  12.                                 <td  bgcolor="#E5EDF2">[DATA]</td>
  13.       ]]></column>
  14.                         <column no="Simi_Fail_Rate" title="半成品不良率">
  15.                         <![CDATA[
  16.                                 <td  bgcolor="#FFEDF2">[DATA]%</td>
  17.       ]]>
  18.                         </column>
  19.                         <column no="FGInput" title="成品总量">
  20.                         <![CDATA[
  21.                                 <td  bgcolor="#E5EDF2">[DATA]</td>
  22.       ]]></column>
  23.                         <column no="FGPass" title="成品良品">
  24.                         <![CDATA[
  25.                                 <td  bgcolor="#E5EDF2">[DATA]</td>
  26.       ]]></column>
  27.                         <column no="FGFail" title="成品不良">
  28.                         <![CDATA[
  29.                                 <td  bgcolor="#E5EDF2">[DATA]</td>
  30.       ]]></column>
  31.                         <column no="FG_Fail_Rate" title="成品不良率">
  32.                         <![CDATA[
  33.                                 <td  bgcolor="#FFEDF2">[DATA]%</td>
  34.       ]]>
  35.                         </column>
  36.                                 
  37.                         <column no="FQC_Fail_Rate" title="FQC总不良率">
  38.                         <![CDATA[
  39.                                 <td>[DATA]%</td>
  40.       ]]>
  41.                         </column>
  42.                         <column no="FQC_PASS_Rate" title="FQC总良率">
  43.                         <![CDATA[
  44.                                 <td>[DATA]%</td>
  45.       ]]>
  46.                         </column>
  47.                         <column no="DTBEGIN" visible="false" />
  48.                         <column no="DTEND" visible="false"  />
  49.                 </columns>
复制代码


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-4 21:20 , Processed in 0.036855 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表