|
@@ -44,6 +44,7 @@ class FormService implements FormServiceInterface
|
|
|
'is_check' => 1,
|
|
|
'admin_display' => 1,
|
|
|
'home_display' => 1,
|
|
|
+ 'disable_del' => 1,
|
|
|
]);
|
|
|
|
|
|
return Result::success('添加成功');
|
|
@@ -150,4 +151,101 @@ class FormService implements FormServiceInterface
|
|
|
GlobalTable::where('id', $data['id'])->delete();
|
|
|
return Result::success('删除成功');
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 获取表单字段列表
|
|
|
+ * @param array $data
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function getGlobalTableFieldList(array $data): array
|
|
|
+ {
|
|
|
+ $globalTableField = GlobalTableField::where('table_id',$data['table_id'])->orderBy("sort","asc")->get();
|
|
|
+ return Result::success($globalTableField);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取表单字段
|
|
|
+ * @param array $data
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function getGlobalTableField(array $data): array
|
|
|
+ {
|
|
|
+ $globalTableField = GlobalTableField::where('id',$data['id'])->first();
|
|
|
+ return Result::success($globalTableField);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 添加表单字段
|
|
|
+ * @param array $data
|
|
|
+ * @return array
|
|
|
+ * @throws \Throwable
|
|
|
+ */
|
|
|
+ public function addGlobalTableField(array $data): array
|
|
|
+ {
|
|
|
+ $globalTable = GlobalTable::where('id',$data['table_id'])->first();
|
|
|
+ if(empty($globalTable)){
|
|
|
+ return Result::error('表单不存在');
|
|
|
+ }
|
|
|
+ //检查是否已存在相同名称的记录
|
|
|
+ $globalTableField = GlobalTableField::where(['table_id'=>$data['table_id'],'field_name'=>$data['field_name']])->first();
|
|
|
+ if(!empty($globalTableField)){
|
|
|
+ return Result::error('字段已存在');
|
|
|
+ }
|
|
|
+ //给global库的表添加字段
|
|
|
+ Db::connection('global')->statement("ALTER TABLE `{$globalTable->table}` ADD COLUMN `{$data['field_name']}` {$data['field_type']}({$data['length']})");
|
|
|
+ //给GlobalTableField表添加数据
|
|
|
+ GlobalTableField::create($data);
|
|
|
+ return Result::success('添加成功');
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 修改表单字段
|
|
|
+ * @param array $data
|
|
|
+ * @return array
|
|
|
+ * @throws \Throwable
|
|
|
+ */
|
|
|
+ public function upGlobalTableField(array $data): array
|
|
|
+ {
|
|
|
+ $globalTable = GlobalTable::where('id',$data['table_id'])->first();
|
|
|
+ if(empty($globalTable)){
|
|
|
+ return Result::error('表单不存在');
|
|
|
+ }
|
|
|
+ //检查是否已存在相同名称的记录
|
|
|
+ $globalTableField = GlobalTableField::where(['table_id'=>$data['table_id'],'field_name'=>$data['field_name']])->first();
|
|
|
+ if(!empty($globalTableField) && $globalTableField->id != $data['id']){
|
|
|
+ return Result::error('字段已存在');
|
|
|
+ }
|
|
|
+ //给global库的表修改字段
|
|
|
+ Db::connection('global')->statement("ALTER TABLE `{$globalTable->table}` CHANGE COLUMN `{$data['field_name']}` {$data['field_type']}({$data['length']})");
|
|
|
+ //给GlobalTableField表修改数据
|
|
|
+ GlobalTableField::where('id',$data['id'])->update($data);
|
|
|
+ return Result::success('修改成功');
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 删除表单字段
|
|
|
+ * @param array $data
|
|
|
+ * @return array
|
|
|
+ * @throws \Throwable
|
|
|
+ */
|
|
|
+ public function delGlobalTableField(array $data): array
|
|
|
+ {
|
|
|
+ $globalTable = GlobalTable::where('id',$data['table_id'])->first();
|
|
|
+ if(empty($globalTable)){
|
|
|
+ return Result::error('表单不存在');
|
|
|
+ }
|
|
|
+ //给global库的表删除字段
|
|
|
+ Db::connection('global')->statement("ALTER TABLE `{$globalTable->table}` DROP COLUMN `{$data['field_name']}`");
|
|
|
+ //给GlobalTableField表删除数据
|
|
|
+ GlobalTableField::where('id',$data['id'])->delete();
|
|
|
+ return Result::success('删除成功');
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 获取自定义生成表里面的数据
|
|
|
+ */
|
|
|
+ public function getCustomTableData(array $data): array
|
|
|
+ {
|
|
|
+ $globalTable = GlobalTable::where('id',$data['table_id'])->first();
|
|
|
+ if(empty($globalTable)){
|
|
|
+ return Result::error('表单不存在');
|
|
|
+ }
|
|
|
+ //根据返回的table名称,查询这个表的数据
|
|
|
+ $data = Db::connection('global')->table($globalTable->table)->get();
|
|
|
+ return Result::success($data);
|
|
|
+ }
|
|
|
}
|