autoimport.html.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <style>
  2. #importTable thead tr th {min-width: 120px;}
  3. </style>
  4. <table class='table table-bordered' id='importTable'>
  5. <thead>
  6. <tr class='text-center'>
  7. <?php
  8. $rowspan = empty($titles['sub_tables']) ? '' : "rowspan='2'";
  9. foreach($titles as $key => $field)
  10. {
  11. if($key == 'sub_tables')
  12. {
  13. foreach($field as $subTable)
  14. {
  15. $colspan = empty($subTable['fields']) ? '' : 'colspan=' . count($subTable['fields']);
  16. echo "<th {$colspan}'>{$subTable['name']}</th>";
  17. }
  18. }
  19. else
  20. {
  21. $required = strpos(",{$fields[$flow->module][$key]->rules},", ",$notEmptyRule->id,") !== false ? 'required' : '';
  22. echo "<th class='$required' {$rowspan}>{$field}</th>";
  23. }
  24. }
  25. ?>
  26. </tr>
  27. <?php if(!empty($titles['sub_tables'])):?>
  28. <tr>
  29. <?php
  30. foreach($titles['sub_tables'] as $subTable)
  31. {
  32. if(empty($subTable['fields'])) continue;
  33. foreach($subTable['fields'] as $field) echo "<th>{$field}</th>";
  34. }
  35. ?>
  36. </tr>
  37. <?php endif;?>
  38. </thead>
  39. <tbody>
  40. <?php
  41. $row = 1;
  42. foreach($dataList as $key => $data)
  43. {
  44. $keys = array($key => $key);
  45. $subDataCount = 0;
  46. if(isset($data['sub_tables']))
  47. {
  48. foreach($data['sub_tables'] as $subModule => $subDatas)
  49. {
  50. foreach($subDatas as $subKey => $subData) $keys[$subKey] = $subKey;
  51. if(count($subDatas) > $subDataCount) $subDataCount = count($subDatas);
  52. }
  53. }
  54. $subRow = 1;
  55. $rowspan = $subDataCount ? "rowspan='{$subDataCount}'" : '';
  56. foreach($keys as $key)
  57. {
  58. echo "<tr data-key='{$row}'>";
  59. $index = 1;
  60. foreach($data as $field => $value)
  61. {
  62. if($field == 'sub_tables')
  63. {
  64. foreach($value as $subModule => $subDatas)
  65. {
  66. if(isset($subDatas[$key]))
  67. {
  68. foreach($subDatas[$key] as $subField => $subValue)
  69. {
  70. echo '<td>';
  71. $element = "dataList[{$row}][{$field}][{$subModule}][{$subRow}][{$subField}]";
  72. echo $this->flow->buildControl($fields[$subModule][$subField], $subValue, $element);
  73. if($index == 1) echo "<div id='error{$subRow}'></div>";
  74. echo '</td>';
  75. $index++;
  76. }
  77. $subRow++;
  78. }
  79. }
  80. }
  81. else
  82. {
  83. if(isset($dataList[$key]))
  84. {
  85. echo "<td {$rowspan}>";
  86. $element = "dataList[{$row}][{$field}]";
  87. echo $this->flow->buildControl($fields[$flow->module][$field], $value, $element);
  88. if($index == 1) echo "<div id='error{$row}'></div>";
  89. echo '</td>';
  90. $index++;
  91. }
  92. }
  93. }
  94. echo '</tr>';
  95. }
  96. $row++;
  97. }
  98. ?>
  99. </tbody>
  100. </table>