diff --git a/app/admin/controller/config/GameConfig.php b/app/admin/controller/config/GameConfig.php new file mode 100644 index 0000000..8d34425 --- /dev/null +++ b/app/admin/controller/config/GameConfig.php @@ -0,0 +1,64 @@ + 'asc']; + + protected string|array $orderGuarantee = ['id' => 'asc']; + + protected bool $modelValidate = false; + + protected function initController(WebmanRequest $request): ?Response + { + $this->model = new \app\common\model\GameConfig(); + return null; + } + + /** + * 列表:排除独立表单维护的 36 字花字典 + */ + protected function _index(): Response + { + if ($this->request && $this->request->get('select')) { + return $this->select($this->request); + } + + list($where, $alias, $limit, $order) = $this->queryBuilder(); + $table = strtolower($this->model->getTable()); + $mainShort = $alias[$table] ?? ''; + if ($mainShort !== '') { + $where[] = [$mainShort . '.config_key', '<>', ZiHuaDictionaryLib::CONFIG_KEY]; + } + + $res = $this->model + ->field($this->indexField) + ->withJoin($this->withJoinTable, $this->withJoinType) + ->with($this->withJoinTable) + ->alias($alias) + ->where($where) + ->order($order) + ->paginate($limit); + + return $this->success('', [ + 'list' => $res->items(), + 'total' => $res->total(), + 'remark' => get_route_remark(), + ]); + } +} diff --git a/web/src/lang/backend/en/config/gameConfig.ts b/web/src/lang/backend/en/config/gameConfig.ts new file mode 100644 index 0000000..d595eae --- /dev/null +++ b/web/src/lang/backend/en/config/gameConfig.ts @@ -0,0 +1,3 @@ +import gameConfig from '../game/config' +export default gameConfig + diff --git a/web/src/lang/backend/zh-cn/config/gameConfig.ts b/web/src/lang/backend/zh-cn/config/gameConfig.ts new file mode 100644 index 0000000..d595eae --- /dev/null +++ b/web/src/lang/backend/zh-cn/config/gameConfig.ts @@ -0,0 +1,3 @@ +import gameConfig from '../game/config' +export default gameConfig + diff --git a/web/src/views/backend/config/gameConfig/index.vue b/web/src/views/backend/config/gameConfig/index.vue new file mode 100644 index 0000000..571bb7d --- /dev/null +++ b/web/src/views/backend/config/gameConfig/index.vue @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + diff --git a/web/src/views/backend/config/gameConfig/popupForm.vue b/web/src/views/backend/config/gameConfig/popupForm.vue new file mode 100644 index 0000000..5054971 --- /dev/null +++ b/web/src/views/backend/config/gameConfig/popupForm.vue @@ -0,0 +1,107 @@ + + + + + {{ baTable.form.operate ? t(baTable.form.operate) : '' }} + + + + + + + + + + + + + + + {{ t('Cancel') }} + + {{ baTable.form.operateIds && baTable.form.operateIds.length > 1 ? t('Save and edit next item') : t('Save') }} + + + + + + + + + +