fix: 添加报名流程模块

This commit is contained in:
lwh 2023-04-19 19:33:31 +08:00
parent 4e9f893f09
commit 3e546b2798
5 changed files with 251 additions and 4 deletions

View File

@ -0,0 +1,123 @@
<?php
namespace app\admin\controller\Enrol;
use app\BaseController;
use app\common\model\Enrol\SignUpProcess as ModelSignUpProcess;
use app\Request;
use think\Validate;
use think\exception\ValidateException;
use think\facade\Filesystem;
use app\common\arw\adjfut\src\Excel;
use app\common\arw\adjfut\src\UploadFile;
use app\common\exception\Tool;
use think\facade\Db;
use think\facade\Env;
class SignUpProcess extends BaseController
{
/**
* 获取报名流程列表
*/
public function getSignUpProcessList(Request $request): array
{
$params = $request->param();
$con = [];
$con = Tool::getOptionalQuery(['sign_up_process_title', 'LIKE'],);
$query = ModelSignUpProcess::where($con)
->field([
'sign_up_process_id',
'sign_up_process_guid',
'sign_up_process_title',
'sign_up_process_icon',
'sign_up_process_intro',
'sign_up_process_sort'
])
->order('sign_up_process_sort', 'desc');
return msg("获取报名流程列表成功!", $query);
}
/**
* 编辑报名流程
*/
public function editSignUpProcess(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'sign_up_process_title|标题' => 'require',
'sign_up_process_icon|图标' => 'require',
'sign_up_process_intro|介绍' => 'require',
'sign_up_process_sort|排序' => 'require'
]);
$model = ModelSignUpProcess::where('sign_up_process_guid', $params['sign_up_process_guid'])->find();
if (!$model) throwErrorMsg("该报名流程不存在", 1);
$model->allowField([
'sign_up_process_update_user_guid',
'sign_up_process_title',
'sign_up_process_icon',
'sign_up_process_intro',
'sign_up_process_sort'
])->save($params);
return msg('编辑成功!');
}
/**
* 添加报名流程
*/
public function addSignUpProcess(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'sign_up_process_title|标题' => 'require',
'sign_up_process_icon|图标' => 'require',
'sign_up_process_intro|介绍' => 'require',
'sign_up_process_sort|排序' => 'require'
]);
$model = ModelSignUpProcess::create($params, [
'sign_up_process_guid',
'sign_up_process_create_user_guid',
'sign_up_process_update_user_guid',
'sign_up_process_title',
'sign_up_process_icon',
'sign_up_process_intro',
'sign_up_process_sort'
]);
return msg('添加成功!');
}
/**
* 删除报名流程
*/
public function deleteSignUpProcess(Request $request): array
{
$params = $request->param();
$this->validate($params, [
'sign_up_process_guid' => 'require',
]);
$sign_up_process = ModelSignUpProcess::where([
'sign_up_process_guid' => explode(',', $params['sign_up_process_guid'])
])->select();
$sign_up_process->delete();
return msg('删除成功!');
}
/**
* 导出Excel
*/
public function exportExcel(Request $request)
{
$params = $request->param();
$select = ModelSignUpProcess::field([
'sign_up_process_title',
'sign_up_process_intro',
'sign_up_process_sort'
])
->order('sign_up_process_sort', 'asc')
->select();
return ModelSignUpProcess::exportExcel($select);
}
}

View File

@ -1674,7 +1674,7 @@ class Gen extends BaseController
}
if ($value['htmlType'] == "textarea") {
$col .= '
<el-col :span="12">
<el-col :span="24">
<el-form-item :label-width="labelWidth" label="' . $value['columnComment'] . '" prop="' . $value['columnName'] . '">' . '
' . " <el-input v-model='formData." . $value['columnName'] . "' " . 'type="textarea" :rows="5" ' . "placeholder=" . "'请输入" . $value['columnComment'] . "'></el-input>
</el-form-item>
@ -1734,7 +1734,7 @@ class Gen extends BaseController
}
if ($value['htmlType'] == "editor") {
$col .= '
<el-col :span="12">
<el-col :span="24">
<el-form-item :label-width="labelWidth" label="' . $value['columnComment'] . '" prop="' . $value['columnName'] . '">' . '
' . " <RichText v-model='formData." . $value['columnName'] . "' :min-height='196'></RichText>
</el-form-item>

View File

@ -32,7 +32,7 @@ class Classes extends BaseModel
"classes_content" => "string",
"classes_sort" => "string",
"classes_sort" => "int",
"classes_create_time" => "datetime",

View File

@ -0,0 +1,124 @@
<?php
namespace app\common\model\Enrol;
use app\common\arw\adjfut\src\Validate;
use app\BaseModel;
use think\model\concern\SoftDelete;
use app\common\arw\adjfut\src\Excel;
use app\Request;
use app\common\exception\Tool;
use think\facade\Db;
class SignUpProcess extends BaseModel
{
use SoftDelete;
// 删除字段
protected $deleteTime = 'sign_up_process_delete_time';
// 设置主键名
protected $pk = 'sign_up_process_guid';
// 设置废弃字段
protected $disuse = [];
// 设置字段信息
protected $schema = [
"sign_up_process_id" => "int",
"sign_up_process_guid" => "string",
"sign_up_process_title" => "string",
"sign_up_process_icon" => "string",
"sign_up_process_intro" => "string",
"sign_up_process_sort" => "int",
"sign_up_process_create_time" => "datetime",
"sign_up_process_create_user_guid" => "string",
"sign_up_process_update_time" => "datetime",
"sign_up_process_update_user_guid" => "string",
"sign_up_process_delete_time" => "datetime",
"sign_up_process_delete_user_guid" => "string",
];
// 设置json类型字段
protected $json = [''];
// 开启自动写入时间戳字段
protected $autoWriteTimestamp = 'datetime';
// 创建时间
protected $createTime = 'sign_up_process_create_time';
// 修改时间
protected $updateTime = 'sign_up_process_update_time';
/**
* 新增前
*/
public static function onBeforeInsert(self $model): void
{
Validate::unique(self::class, $model->sign_up_process_guid, $model->getData(), [
'sign_up_process_title' => '报名流程标题',
]);
Tool::sortInsertProc(
self::class,
$model->sign_up_process_sort,
);
$model->completeCreateField();
}
/**
* 更新前
*/
public static function onBeforeUpdate(self $model): void
{
Validate::unique(self::class, $model->sign_up_process_guid, $model->getData(), [
'sign_up_process_title' => '报名流程标题',
]);
Tool::sortEditProc(
self::class,
$model->sign_up_process_guid,
$model->sign_up_process_sort,
);
$model->completeUpdateField();
}
/**
* 删除前
*/
public static function onBeforeDelete(self $model): void
{
Tool::sortDeleteProc(self::class, $model->sign_up_process_guid);
$model->completeDeleteField();
}
/**
* 导出Excel
*/
public static function exportExcel($select)
{
$data = [[
'报名流程标题',
'报名流程标题介绍',
]];
foreach ($select as $key => $val) {
$data[] = [
$val['sign_up_process_title'],
$val['sign_up_process_intro'],
];
}
$excel = (new Excel())->exporTsheet($data);
$excel->save('报名流程.xlsx');
}
}

View File

@ -81,7 +81,7 @@
</template>
<script setup>
import { ArrowDown } from '@element-plus/icons-vue';
import { ref, reactive } from 'vue';
import { ref, reactive,watch } from 'vue';
import { useLoginStore } from "~/store";
import { get${className}List, delete${className} ${dictFun} ${btnFunName} } from '~/service/${businessName}';
import Add${className}Dialog from './components/Add${className}Dialog.vue';