完善表单功能

This commit is contained in:
2020-04-16 17:49:22 +08:00
parent c005714ea8
commit 5439ccd8fb
4 changed files with 123 additions and 3 deletions

View File

@@ -8,6 +8,7 @@
// +----------------------------------------------------------------------
namespace app\controller\front;
use think\facade\Db;
use \app\model\Form as FormModel;
use \app\model\FormAttr;
@@ -19,7 +20,18 @@ class Form extends Base {
*/
public function index(){
if($this->request->isAjax()){
$data = $this->request->post();
$id = $this->request->param('id');
$info = FormModel::where('id', $id)->find();
$result = Db::name(ucfirst($info['name']))->save($data);
if (false !== $result) {
$url = (isset($info['redirect_url']) && $info['redirect_url']) ? $info['redirect_url'] : '';
return $this->success("提交成功!", $url);
}else{
return $this->error("提交失败!");
}
}else{
$id = $this->request->param('id');
$name = $this->request->param('name');
@@ -28,10 +40,23 @@ class Form extends Base {
$map[] = ['id', '=', $id];
$info = Form::where($map)->find();
$info = FormModel::where($map)->find();
$attr = FormAttr::where('form_id', $info['id'])->select();
if ($info['relation'] && strpos($info['relation'], ":")) {
list($model, $relation) = explode(":", $info['relation']);
$relation = explode(",", $relation);
if (is_array($relation)) {
$rmap['id'] = ['IN', $relation];
}elseif (is_string($relation)) {
$rmap['id'] = $relation;
}
$info['relation_list'] = Db::name(ucfirst($model))->where($rmap)->order('sort desc, id asc')->select();
}
$this->data = [
'info' => $info
'info' => $info,
'attr' => $attr
];
return $this->fetch();
}