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' => [ 'header' => 'Period Number', // 期数 'headerOther' => [ 'width' => '120', ], ], 'CALC_MONTH' => [ 'header' => 'Bonus Month', // 结算月 'headerOther' => [ 'width' => '120', ], ], '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'] ], ], 'IS_DEC' => [ 'header' => 'Whether Stockist', // 是否报单中心 'value' => function ($row) { return (new YesNo([ 'value' => $row['IS_DEC'], ]))->result(); }, 'headerOther' => function ($row) { return [ 'width' => '200', ]; }, 'valueOther' => function ($row) { return [ 'tag' => ['type' => (isset($row['IS_DEC']) && $row['IS_DEC']) ? 'success' : 'info', 'size' => 'small'] ]; }, ], 'BEFORE_BALANCE' => [ 'header' => 'Balance Before Transaction', // 交易前余额 'value' => function ($row) { return (new Price([ 'value' => $row['TOTAL'] - $row['AMOUNT'], ]))->result(); }, 'headerOther' => [ 'width' => '200', ], ], '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'], // 聘级 'IS_DEC' => ['isUserTable' => false, 'name' => 'Whether Stockist', '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; } }