listData = FlowBonus::lists($this->condition, $this->params, [ 'select' => 'FB.*,U.USER_NAME,U.REAL_NAME,U.IS_DEC', 'orderBy' => 'FB.CREATED_AT DESC,FB.SORT DESC,FB.AUTO_SORT DESC,FB.ID DESC', 'from' => FlowBonus::tableName() . ' AS FB', 'join' => [ ['LEFT JOIN', \common\models\User::tableName() . ' AS U', 'FB.USER_ID=U.ID'], ], 'page' => $this->page, 'pageSize' => $this->pageSize, ]); foreach ($this->listData['list'] as $key => $value) { //$userInfo = Info::baseInfoZh($value['USER_ID']); //$this->listData['list'][$key] = array_merge($userInfo, $value); $this->listData['list'][$key]['DEAL_TYPE_NAME'] = DealType::getAllTypesForShow()[$value['DEAL_TYPE_ID']]['TYPE_NAME'] ?? ''; $this->listData['list'][$key]['LAST_DEC_LV_NAME'] = Cache::getDecLevelConfig()[$value['LAST_DEC_LV']]['LEVEL_NAME'] ?? ''; $this->listData['list'][$key]['LAST_EMP_LV_NAME'] = Cache::getEmpLevelConfig()[$value['LAST_EMP_LV']]['LEVEL_NAME'] ?? ''; $this->listData['list'][$key]['LAST_STATUS_NAME'] = \Yii::$app->params['userStatus'][$value['LAST_STATUS']]['label'] ?? ''; } } /** * 要展示和导出的所有字段 * @return array */ public function getColumn() { if (!$this->columns) { $this->columns = [ 'ID' => null, 'CREATED_AT' => [ 'header' => 'Creation time',//创建时间 'value' => function ($row) { return (new DateTime([ 'value' => $row['CREATED_AT'], ]))->result(); }, 'headerOther' => ['width' => '170'], ], 'PERIOD_NUM' => 'Period Number', // 期数 'CALC_MONTH' => 'Bonus Month', // 结算月 'DEAL_TYPE_NAME' => [ 'header' => 'Transaction type',//交易类型 'headerOther' => [ 'width' => '150', ], ], 'USER_NAME' => [ 'header' => 'Member code',//会员编号 'headerOther' => [ 'width' => '150', ], 'valueOther' => [ 'tag' => ['type' => 'info', 'size' => 'small', 'class' => 'no-border'] ], ], 'REAL_NAME' => [ 'header' => 'Member name',//会员姓名 'headerOther' => [ 'width' => '120', ], 'valueOther' => [ 'tag' => ['type' => 'success', 'size' => 'small', 'class' => 'no-border'] ], ], 'LAST_DEC_LV_NAME' => [ 'header' => 'Member level',//会员级别 'headerOther' => [ 'width' => '110', ], 'valueOther' => [ 'tag' => ['type' => 'warning', 'size' => 'small', 'class' => 'no-border'] ], ], 'LAST_EMP_LV_NAME' => [ 'header' => 'Rank',//聘级 'headerOther' => [ 'width' => '130', ], 'valueOther' => [ 'tag' => ['type' => 'warning', 'size' => 'small', 'class' => 'no-border'] ], ], // 'LAST_STATUS_NAME' => [ // 'header' => '会员状态', // 'headerOther' => ['width' => '110'], // ], // 'SYSTEM_NAME' => [ // 'header' => '体系', // 'headerOther' => ['width' => '200'], // ], 'IS_DEC' => [ 'header' => 'Declaration center or not',//是否报单中心 'value' => function ($row) { return (new YesNo([ 'value' => $row['IS_DEC'], ]))->result(); }, 'headerOther' => function ($row) { return [ 'width' => '120', ]; }, 'valueOther' => function ($row) { return [ 'tag' => ['type' => (isset($row['IS_DEC']) && $row['IS_DEC']) ? 'success' : 'info', 'size' => 'small'] ]; }, ], // 'DEC_ROLE_NAME' => [ // 'header' => '报单中心级别', // 'headerOther' => ['width' => '110'], // ], // 'IS_DIRECT_SELLER' => [ // 'header' => '是否直销员', // 'value' => function ($row) { // return (new YesNo([ // 'value' => $row['IS_DIRECT_SELLER'], // ]))->result(); // }, // 'headerOther' => function ($row) { // return [ // 'width' => '120', // ]; // }, // 'valueOther' => function ($row) { // return [ // 'tag' => ['type' => (isset($row['IS_DIRECT_SELLER']) && $row['IS_DIRECT_SELLER']) ? 'success' : 'info', 'size' => 'small'] // ]; // }, // ], 'BEFORE_BALANCE' => [ 'header' => 'Balance before transaction',//交易前余额 'value' => function ($row) { return (new Price([ 'value' => $row['TOTAL'] - $row['AMOUNT'], ]))->result(); }, 'headerOther' => [ 'width' => '150', ], ], 'AMOUNT' => [ 'header' => 'Debit/Credit', // 交易额 'value' => function ($row) { $result = (new Price([ 'value' => $row['AMOUNT'], ]))->result(); return $row['IS_INCR'] > 0 ? '+' . $result : $result; }, 'headerOther' => [ 'width' => '150', 'prop' => 'BONUS', ], 'valueOther' => function ($row) { if ($row['IS_INCR'] > 0) { $type = 'success'; } elseif ($row['IS_INCR'] == 0) { $type = 'danger'; } else { $type = 'info'; } return [ 'tag' => ['type' => $type, 'size' => 'small'] ]; }, ], 'TOTAL' => [ 'header' => 'New Balance', // 交易后余额 'value' => function ($row) { return (new Price([ 'value' => $row['TOTAL'], ]))->result(); }, 'headerOther' => [ 'width' => '150', ], ], 'ADMIN_NAME' => [ 'header' => 'Operator',//操作人 'headerOther' => ['width' => '110'], ], 'REMARK' => [ 'header' => 'Remark',//备注 'headerOther' => ['width' => '250'], ], 'TRANSFER_SN' => [ 'header' => 'Serial number',//流水号 'headerOther' => ['width' => '250'], ], ]; } return $this->columns; } /** * 前台用于筛选的类型集合 * @return mixed */ public function getFilterTypes() { if (!$this->filterTypes) { $this->filterTypes = [ 'CREATED_AT' => ['isUserTable' => false, 'name' => 'Creation time', 'other' => 'date'],//创建时间 'PERIOD_NUM' => ['isUserTable' => false, 'name' => 'Period Number'],//期数 'CALC_MONTH' => ['isUserTable' => false, 'name' => 'Bonus Month', 'other' => 'month'],//结算月 'DEAL_TYPE_NAME' => ['isUserTable' => false, 'name' => 'Transaction Type', 'other' => 'dealTypes'],//交易类型 'USER_NAME' => ['isUserTable' => false, 'name' => 'Member Code'],//会员编号 'REAL_NAME' => ['isUserTable' => false, 'name' => 'Member Name'],//会员姓名 'LAST_DEC_LV_NAME' => ['isUserTable' => false, 'name' => 'Member Level', 'other' => 'decLevel'],//会员等级 'LAST_EMP_LV_NAME' => ['isUserTable' => false, 'name' => 'Rank', 'other' => 'empLevel'],//聘级 // 'LAST_STATUS_NAME' => ['isUserTable' => false, 'name' => '会员状态', 'other' => 'status'], // 'SYSTEM_NAME' => ['isUserTable' => true, 'name' => '体系', 'other' => 'systems'], 'IS_DEC' => ['isUserTable' => false, 'name' => 'Declaration center or not', 'other' => 'yesOrNo'],//是否报单中心 // 'DEC_ROLE_NAME' => ['isUserTable' => true, 'name' => '报单中心级别', 'other' => 'decRole'], // 'IS_DIRECT_SELLER' => ['isUserTable' => true, 'name' => '是否直销员', 'other' => 'yesOrNo'], 'AMOUNT' => ['isUserTable' => false, 'name' => 'Debit/Credit'],//交易额 'TOTAL' => ['isUserTable' => false, 'name' => 'New Balance'], // 交易后余额 'ADMIN_NAME' => ['isUserTable' => false, 'name' => 'Operator'],//操作人 'REMARK' => ['isUserTable' => false, 'name' => 'Remark'],//备注 'TRANSFER_SN' => ['isUserTable' => false, 'name' => 'Serial number'],//流水号 ]; } return $this->filterTypes; } }