feature: 批量添加任务

This commit is contained in:
zhuyu 2025-06-05 15:23:05 +08:00
parent 69ebde0732
commit 186fbca2d1
2 changed files with 17 additions and 24 deletions

View File

@ -164,31 +164,24 @@ class Task extends Backend
if ($this->dataLimit && $this->dataLimitFieldAutoFill) {
$params[$this->dataLimitField] = $this->auth->id;
}
$result = false;
Db::startTrans();
try {
//是否采用模型验证
if ($this->modelValidate) {
$name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
$validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate;
$this->model->validateFailException()->validate($validate);
$execAdminIds = explode(',', $params['exec_admin_id']);
$insertData = [];
foreach ($execAdminIds as $execAdminId) {
$insertData[] = [
'type' => $params['type'],
'title' => $params['title'],
'desc' => $params['desc'],
'exec_admin_id' => $execAdminId,
'expire_start_time' => $params['expire_start_time'],
'expire_end_time' => $params['expire_end_time'],
'create_time' => date('Y-m-d H:i:s'),
'update_time' => date('Y-m-d H:i:s'),
'admin_id' => $this->auth->id,
];
}
$this->model->insertAll($insertData);
$params['create_time'] = date('Y-m-d H:i:s');
$params['update_time'] = date('Y-m-d H:i:s');
$params['admin_id'] = $this->auth->id;
$result = $this->model->allowField(true)->save($params);
Db::commit();
} catch (ValidateException|PDOException|Exception $e) {
Db::rollback();
$this->error($e->getMessage());
}
if ($result === false) {
$this->error(__('No rows were inserted'));
}
$this->success();
}

View File

@ -26,7 +26,7 @@
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Exec_admin_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-exec_admin_id" data-rule="required" data-source="auth/admin/selectpage" data-field="nickname" class="form-control selectpage" name="row[exec_admin_id]" type="text" value="">
<input id="c-exec_admin_id" data-rule="required" data-multiple="true" data-source="auth/admin/selectpage" data-field="nickname" class="form-control selectpage" name="row[exec_admin_id]" type="text" value="">
</div>
</div>
<div class="form-group">