корректного выполнения задачи. Однако, исходя из контекста, можно предположить, что это китайский язык. Таким образом, предоставленный выше перевод является версией на русском языке.
$content .= $column['column_name'] . ': formData.' . $column['column_name'] . '.join(",")' . ','.PHP_EOL;
<el-option label="Состояние смены" value="statustoggle" />
=================================================================
server/app/common/service/generator/core/VueIndexGenerator.php
строка 160
добавлено
if ($column['view_type'] == 'statustoggle') {
$templatePath = $this->getTemplatePath('vue/table_item/statustoggle');
}
=================================================================
server/app/common/service/generator/stub/php/controller.stub
строка 103
добавлено
/**
* @notes Изменение состояния {NOTES}
* @return \think\response\Json
* @author {AUTHOR}
* @date {DATE}
*/
public function updateStatus()
{
$params = (new {UPPER_CAMEL_NAME}Validate())->post()->goCheck('status');
$result = {UPPER_CAMEL_NAME}Logic::updateStatus($params);
if (true === $result) {
return $this->success('Изменение успешно', [], 1, 1);
}
return $this->fail({UPPER_CAMEL_NAME}Logic::getError());
}
=================================================================
server/app/common/service/generator/stub/php/validate.stub
строка 93
добавлено
/**
* @notes Сцены изменения состояния
* @return {UPPER_CAMEL_NAME}Validate
* @author {AUTHOR}
* @date {DATE}
*/
public function sceneStatus()
{
return $this->only(['{PK}']);
}
=================================================================
server/app/common/service/generator/stub/vue/api.stub
строка 27
добавлено
// Состояние {COMMENT}
export function updateStatus(params: any) {
return request.post({ url: '/{ROUTE}/updateStatus', params });
}
=================================================================
Добавлен новый файл
server/app/common/service/generator/stub/vue/form_item/statustoggle.stub
<el-form-item label="{COLUMN_COMMENT}" prop="{COLUMN_NAME}">
<el-switch v-model="formData.{COLUMN_NAME}" :active-value="1" :inactive-value="0" />
</el-form-item>
=================================================================
server/app/common/service/generator/stub/vue/index.stub
строка 67
изменено
import { api{UPPER_CAMEL_NAME}Lists, api{UPPER_CAMEL_NAME}Delete, updateStatus } from '@/api/{API_DIR}';
строка 120
добавлено
// Смена состояния
const changeStatus = async (status: any, {PK}: number, keyname: string) => {
var data = {};
data.{PK} = {PK};
data[keyname] = status;
try {
await updateStatus(data);
getLists();
} catch (error) {
getLists();
}
};
=================================================================
Добавлен новый файл
server/app/common/service/generator/stub/vue/search_item/statustoggle.stub
<el-form-item label="{COLUMN_COMMENT}" class="w-[280px]" prop="{COLUMN_NAME}">
<el-select v-model="queryParams.{COLUMN_NAME}">
<el-option label="Все" value="" />
<el-option label="Открыто" :value="1" />
<el-option label="Закрыто" :value="0" />
</el-select>
</el-form-item>
=================================================================
Добавлен новый файл
server/app/common/service/generator/stub/vue/table_item/statustoggle.stub
<el-table-column label="{COLUMN_COMMENT}" min-width="120">
<template #default="{ row }">
<el-switch
v-perms="['{PERMS_EDIT}']"
v-model="row.{COLUMN_NAME}"
:active-value="1"
:inactive-value="0"
@change="changeStatus($event, row.{PK},'{COLUMN_NAME}')"
/>
</template>
</el-table-column>
=================================================================
Еще один небольшой баг, проблема отображения выпадающего списка в части поиска
server/app/common/service/generator/stub/vue/search_item/select.stub
переместите class="w-[280px]"
со строки 2 на строку 1