ExportForm.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace common\forms;
  3. use yii\base\Model;
  4. /**
  5. * Class ExportForm
  6. * @package common\forms
  7. */
  8. abstract class ExportForm extends Model
  9. {
  10. /**
  11. * 默认选中字段
  12. *
  13. * @var array
  14. */
  15. public $info = [];
  16. /**
  17. * @return array
  18. */
  19. public function rules()
  20. {
  21. return [
  22. ['info', 'safe'],
  23. ];
  24. }
  25. public function attributeLabels()
  26. {
  27. return [
  28. 'info' => '',
  29. ];
  30. }
  31. /**
  32. * @return array
  33. */
  34. public function getInfo()
  35. {
  36. $data = [];
  37. $header = $this->defaultHeader();
  38. foreach ($header as $item) {
  39. $data[$item[1]] = $item[0];
  40. }
  41. return $data;
  42. }
  43. /**
  44. * @return array
  45. */
  46. public function header()
  47. {
  48. $header = $this->defaultHeader();
  49. foreach ($header as $key => $item) {
  50. if (!in_array($item[1], $this->info)) {
  51. unset($header[$key]);
  52. }
  53. }
  54. return $header;
  55. }
  56. /**
  57. * @return array
  58. */
  59. abstract public function defaultHeader(): array;
  60. }
粤ICP备19079148号