Crazy 9 ヶ月 前
コミット
6b85694b90

+ 3 - 7
app/admin/controller/Department.php

@@ -114,16 +114,12 @@ class Department extends BaseController
             if ($id > 0) {  //编辑
                 $detail = Db::name('Department')->where(['id' => $id])->find();
                 $users = Db::name('Admin')->where(['did' => $id, 'status' => 1])->select();
-                // $d_type = Db::name('Department')->where('id', $id)->value('type');
-                
-                // View::assign('d_type', $d_type);
+                $entrust_unit =Db::name('Department')->where(['id' => $id])->value("entrust_unit");
+                $entrust_unit_name =Db::name('Department')->where(['unit_name' =>$entrust_unit])->value("title");
+                View::assign("entrust_unit_name","$entrust_unit_name");
                 View::assign('users', $users);
                 View::assign('detail', $detail);
             }
-            // else{
-            //     $admin = get_login_admin();
-            //     View::assign('admin', $admin);
-            // }
 
             if($permission == 1){
                 $d_type = Db::name('Department')->where('id', $id)->value('type');

+ 62 - 19
app/admin/controller/Index.php

@@ -11,6 +11,7 @@ namespace app\admin\controller;
 
 use app\admin\BaseController;
 use think\facade\Db;
+use think\facade\Session;
 use think\facade\View;
 
 
@@ -1214,26 +1215,58 @@ class Index extends BaseController
         return $rules_id;
     }
 
-    public function proprietor_caiping()//业主附属财评,在财评端显示
+    public function proprietor_list()
     {
-        $admin_unit_name =get_login_admin("unit_name");
-        $proprietor_department = Db::name("department")->where([
-            ["delete_time", "=", 0],
-            ["pid", "=", 0],
-            ["type", "=", 1], //1表示业主
-            ["entrust_unit", "=",  $admin_unit_name] // 确保只获取当前财评所属单位关联的业主单位
-        ])->field('id')->select();
-        $rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
-        $proprietor_list = Db::name("admin")->where("unit_name","$proprietor_department")->field('id,nickname,mobile,unit_name,')->order("id desc")->paginate($rows, false)
-        ->each(function ($item){
-
-        });
-        //$proprietor_list = Db::name("admin")->where("unit_name",$proprietor_department)->find();
-        //dump($proprietor_list);
-        View::assign("admin_unit_name","$admin_unit_name");
-        View::assign("proprietor_department","$proprietor_department");
-        View::assign("proprietor_list","$proprietor_list");
-        return View();
+        if (request()->isAjax()) {
+
+            // 获取单位名称
+            $session_admin = get_config('app.session_admin');
+            $id = Session::get($session_admin)['id'];
+            $unit_name = Db::name('admin')->where('id', $id)->value('unit_name');
+            $admin_permission = Db::name('admin')->where('id', $id)->value('permission');
+            // halt($unit_name);
+            $param = get_params();
+
+            if (!empty($param['keywords'])) {
+                $where[] = ['id|username|nickname|desc|mobile', 'like', '%' . $param['keywords'] . '%'];
+            }
+
+            $where = array();
+            $permission = array();
+
+            if($admin_permission == 0){
+                $permission[] = ['unit_name', '=',$unit_name];
+            }
+
+            $admin_unit_name = get_login_admin("unit_name");
+            $proprietor_department = Db::name("department")->where([
+                ["delete_time", "=", 0],
+                ["pid", "=", 0],
+                ["type", "=", 1], //1表示业主
+                ["entrust_unit", "=", $admin_unit_name] // 确保只获取当前财评所属单位关联的业主单位
+            ])->field('id')->select();
+            $where[] = ['status', '>=', 0];
+            $where[] = ["unit_name", $proprietor_department];
+
+            //找到业主部门
+            $rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
+            $proprietor_list = Db::name("admin")->where($where)->with('Department')
+                ->where($permission)
+                ->order('create_time asc')
+                ->paginate($rows, false, ['query' => $param])
+                ->each(function ($item, $key) {
+                    $groupId = Db::name('AdminGroupAccess')->where(['uid' => $item->id])->column('group_id');
+                    $groupName = Db::name('AdminGroup')->where('id', 'in', $groupId)->column('title');
+                    $item->groupName = implode(',', $groupName);
+                    $item->last_login_time = empty($item->last_login_time) ? '-' : date('Y-m-d H:i', $item->last_login_time);
+                })->toArray();
+             //dump( $proprietor_list);
+
+            return table_assign(0, '',  $proprietor_list);
+        } else {
+         //View::assign('user_type', get_login_admin('user_type'));
+            return view();
+        }
     }
 
     //财评添加业主部门
@@ -1241,6 +1274,16 @@ class Index extends BaseController
         if (request()->isAjax()) {
             $param = get_params();
             $admin = get_login_admin();
+
+            //            $admin_unit_name = get_login_admin("unit_name");
+//            $proprietor_department = Db::name("department")->where([
+//                ["delete_time", "=", 0],
+//                ["pid", "=", 0],
+//                ["type", "=", 1], //1表示业主
+//                ["entrust_unit", "=", $admin_unit_name] // 确保只获取当前财评所属单位关联的业主单位
+//            ])->field('id')->select();
+//            $where[] = ['status', '>=', 0];
+//            $where[] = ["unit_name", $proprietor_department];
             //找到业主部门
 
         }else{//添加页面需要的

+ 337 - 0
app/admin/controller/Proprietor.php

@@ -0,0 +1,337 @@
+<?php
+/**
+ * @copyright Copyright (c) 2021 勾股工作室
+ * @license https://opensource.org/licenses/Apache-2.0
+ * @link https://www.gougucms.com
+ */
+
+declare (strict_types = 1);
+
+namespace app\admin\controller;
+
+use app\admin\BaseController;
+use app\admin\model\Admin as AdminList;
+use app\admin\validate\AdminCheck;
+use avatars\MDAvatars;
+use think\exception\ValidateException;
+use think\facade\Db;
+use think\facade\View;
+use think\facade\Session;
+use think\App;
+use think\facade\Cache;
+
+use app\admin\controller\Role;
+use app\admin\model\Department as DepartmentModel;
+
+class Proprietor extends BaseController
+{
+
+    public function __construct(App $app)
+    {
+        parent::__construct($app);
+
+        $this->Role = new Role($this->app);
+        $this->Department = new DepartmentModel();
+    }
+
+    public function index()
+    {
+        if (request()->isAjax()) {
+
+            // 获取单位名称
+            $session_admin = get_config('app.session_admin');
+            $id = Session::get($session_admin)['id'];
+            $unit_name = Db::name('admin')->where('id', $id)->value('unit_name');
+
+            $param = get_params();
+
+            $proprietorDepartmentIds = Db::name("department")
+                ->where([
+                    ["delete_time", "=", 0],
+                    ["pid", "=", 0],
+                    ["type", "=", 1], //1表示业主
+                    ["entrust_unit", "=", $unit_name] // 确保只获取当前财评所属单位关联的业主单位
+                ])->column('id');//找到业主部门354
+            $where = [
+                ['status', '>=', 0],
+                ['unit_name', 'in', $proprietorDepartmentIds]
+            ];
+
+            if (!empty($param['keywords'])) {
+                $keywordWhere = ['id|username|nickname|desc|mobile', 'like', '%'. $param['keywords']. '%'];
+                $where = array_merge($where, [$keywordWhere]);
+            }
+
+            $rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
+            $proprietor = AdminList::where($where)->with('Department')
+                ->order('create_time asc')
+                ->paginate($rows, false, ['query' => $param])
+                ->each(function ($item, $key) {
+                    $groupId = Db::name('AdminGroupAccess')->where(['uid' => $item->id])->column('group_id');
+                    $groupName = Db::name('AdminGroup')->where('id', 'in', $groupId)->column('title');
+                    $item->groupName = implode(',', $groupName);
+                    $item->last_login_time = empty($item->last_login_time) ? '-' : date('Y-m-d H:i', $item->last_login_time);
+                })->toArray();
+
+            return table_assign(0, '', $proprietor);
+        } else {
+            return view();
+        }
+    }
+    
+
+    //添加/编辑
+    public function add()
+    {	
+		if (request()->isAjax()) {
+			$param = get_params();
+
+            if (!empty($param['id']) && $param['id'] > 0) { //对已存在账号的编辑
+
+                try {//验证编辑信息
+                    validate(AdminCheck::class)->scene('edit')->check($param);
+                } catch (ValidateException $e) {
+                    // 验证失败 输出错误信息
+                    return to_assign(1, $e->getError());
+                }
+                if (!empty($param['edit_pwd'])) {
+                    //修改密码
+                    if (empty($param['edit_pwd_confirm']) or $param['edit_pwd_confirm'] !== $param['edit_pwd']) {
+                        return to_assign(1, '两次密码不一致');
+                    }
+                    
+                    $param['salt'] = set_salt(20);
+                    $param['pwd'] = set_password($param['edit_pwd'], $param['salt']);
+                }
+                // 启动事务
+                Db::startTrans();
+                try {
+
+                    Db::name('Admin')->where(['id' => $param['id']])->strict(false)->field(true)->update($param);   //更新密码
+
+
+                    if (!isset($param['thumb']) || $param['thumb'] == '') {//头像更新
+                        $char = mb_substr($param['nickname'], 0, 1, 'utf-8');
+                        Db::name('Admin')->where('id', $param['id'])->update(['thumb' => $this->to_avatars($char)]);
+                    }
+
+                    // 获取单位名称
+                    $unit_name = self::get_unitName($param['id']);
+                    $data = [
+                        'unit_name' => $unit_name,//更新用户信息的所属部门
+                        'user_type' => Db::name('Department')->where('id', $unit_name)->value('type'),
+                        'admin_group_id' => $param['admin_group_id'],//更新用户角色
+                    ];
+                     Db::name('admin')->where('id', $param['id'])->data($data)->update();
+
+                    add_log('edit', $param['id'], $param);
+                    //清除菜单\权限缓存
+                    clear_cache('adminMenu');
+                    clear_cache('adminRules');
+                    // 提交事务
+                    Db::commit();
+                } catch (\Exception $e) {
+                    // 回滚事务
+                    Db::rollback();
+                    return to_assign(1, '提交失败:' . $e->getMessage());
+                }
+            } else {    //新增账号
+
+                try {//验证信息
+                    validate(AdminCheck::class)->scene('add')->check($param);
+                } catch (ValidateException $e) {
+                    // 验证失败 输出错误信息
+                    return to_assign(1, $e->getError());
+                }
+                //加密
+                $param['salt'] = set_salt(20);
+                $param['pwd'] = set_password($param['pwd'], $param['salt']);
+                // 启动事务
+                Db::startTrans();
+                try {
+                    
+                    foreach ($param['group_id'] as $k => $v) {//用户角色
+                        $param['admin_group_id'] = $v;
+                    }
+                    //插入用户并返回插入的id
+                    $uid = Db::name('Admin')->strict(false)->field(true)->insertGetId($param);
+
+                    unset($param['admin_group_id']);
+
+                    if($param['is_principal'] == 1){//是部门负责人
+                        Db::name('department')->where('id', $param['did'])->data(['leader_id' => $uid])->update();
+                    }
+
+                    if (!isset($param['thumb']) || $param['thumb'] == '') {//头像处理
+                        $char = mb_substr($param['nickname'], 0, 1, 'utf-8');
+                        Db::name('Admin')->where('id', $uid)->update(['thumb' => $this->to_avatars($char)]);
+                    }
+
+                    // 获取业主单位名称
+                    $unit_name = self::get_unitName($uid);
+
+                    $data = [
+                        'unit_name' => $unit_name,
+                        'user_type' => Db::name('Department')->where('id', $unit_name)->value('type'),
+                    ];
+
+                    Db::name('admin')->where('id', $uid)->data($data)->update();
+
+                    add_log('add', $uid, $param);
+                    // 提交事务
+                    Db::commit();
+                } catch (\Exception $e) {
+                    // 回滚事务,回到最初
+                    Db::rollback();
+                    return to_assign(1, '提交失败:' . $e->getMessage());
+                }
+            }
+            return to_assign(0,"操作成功");
+		}else{
+		    
+			$id = empty(get_params('id')) ? 0 : get_params('id');
+            // dump($id);
+            $permission = Db::name('admin')->where('id', get_login_admin('id'))->value('permission');
+
+            $unit_name = Db::name('admin')->where('id', get_login_admin('id'))->value('unit_name');
+
+            $where_d = array();
+            $where_g = array();
+
+            if($permission == 0){
+                //业主部门找在他委托下的
+                $where_d[] =["entrust_unit", "=", $unit_name];
+                $where_g[] = [
+                    ['title', '=', "业主"],
+                ];
+            }
+
+            $department = Db::name('Department')
+                    ->where('status', '>=', 0)//正常
+                    ->where($where_d)
+                    ->select()
+                    ->toArray();
+            $department = set_recursion($department);
+
+            $group = Db::name('AdminGroup')
+                    ->where($where_g)
+                    ->select()->toarray();
+
+			if ($id > 0) {//编辑时
+				$admin = get_admin(get_params('id'));
+
+                $leader_id = Db::name('Department')->where('id', $admin['did'])->value('leader_id');
+
+                if($leader_id == $id){
+                    $is_principal = 1;
+                }else{
+                    $is_principal = 0;
+                }
+                
+                View::assign('is_principal', $is_principal);
+				View::assign('admin', $admin);
+			}
+
+            View::assign('permission', $permission);
+			View::assign('department', $department);
+
+            View::assign('group', $group);
+			View::assign('id', $id);
+			return view();
+		}
+    }
+
+    public function to_avatars($char)
+    {
+        $defaultData = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
+            'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'S', 'Y', 'Z',
+            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+            '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '拾',
+            '一', '二', '三', '四', '五', '六', '七', '八', '九', '十');
+        if (isset($char)) {
+            $Char = $char;
+        } else {
+            $Char = $defaultData[mt_rand(0, count($defaultData) - 1)];
+        }
+        $OutputSize = min(512, empty($_GET['size']) ? 36 : intval($_GET['size']));
+
+        $Avatar = new MDAvatars($Char, 256, 1);
+        $avatar_name = '/avatars/avatar_256_' . set_salt(10) . time() . '.png';
+        $path = get_config('filesystem.disks.public.url') . $avatar_name;
+        $res = $Avatar->Save('.' . $path, 256);
+        $Avatar->Free();
+
+        return $path;
+    }
+
+    //查看
+    public function view()
+    {
+		$id = get_params('id');
+		$rule = get_admin_rule();
+
+		$user_groups = Db::name('AdminGroupAccess')
+                ->alias('a')
+                ->join("AdminGroup g", "a.group_id=g.id", 'LEFT')
+                ->where("a.uid='{$id}' and g.status='1'")
+                ->select()
+                ->toArray();
+		$groups = $user_groups ?: [];
+
+		$rules = [];
+		foreach ($groups as $g) {
+			$rules = array_merge($rules, explode(',', trim($g['rules'], ',')));
+		}
+		$rules = array_unique($rules);
+
+		$role_rule = create_tree_list(0, $rule, $rules);
+
+        $role_rule = $this->Role->remove_checked_false($role_rule);
+
+		$department = get_department();
+        // dump($department);
+        $position = Db::name('Position')->where('status', '>=', 0)->order('create_time asc')->select();
+		View::assign('department', $department);
+        View::assign('position', $position);
+        View::assign('role_rule', $role_rule);
+        View::assign('admin', get_admin($id));		
+		add_log('view', get_params('id'));
+        return view('', ['admin' => get_admin(get_params('id'))]);
+    }
+    //删除
+    public function delete()
+    {
+        $id = get_params("id");
+        if($id == 1){
+            return to_assign(0, "超级管理员,不能删除");
+        }
+        $data['status'] = '-1';//改为已被删除,但是不会在admin里消失
+        $data['id'] = $id;
+        $data['update_time'] = time();
+        if (Db::name('Admin')->update($data) !== false) {
+            add_log('delete', $id);
+            return to_assign(0, "删除业主成功");
+        } else {
+            return to_assign(1, "删除失败");
+        }
+    }
+
+    public function get_unitName($id){
+
+        $did = Db::name('Admin')->where('id', $id)->value('did');
+
+        $pid = $did;
+        
+        while($pid != 0){   
+
+            $value = Db::name('department')->where('id', $pid)->column('id,pid,title')[0];
+            $id = $value['id'];
+            $pid = $value['pid'];
+            $title = $value['title'];  
+        }
+
+        return $id;
+    }
+
+
+}

+ 39 - 3
app/admin/controller/project/Cost.php

@@ -13,6 +13,7 @@ use app\admin\model\ProjectFile;
 use app\admin\validate\project\CostProjectValidate;
 use app\wechat\controller\Officialaccount;
 
+use think\db\Where;
 use think\exception\ValidateException;
 use think\facade\Db;
 
@@ -356,13 +357,26 @@ class Cost extends BaseController
 
             //拿到自身的所属于单位和职位,查询和自身单位一样的账号,
             $unit_name = Db::name('admin')->where('id', $this->uid)->value('unit_name');
-            $person = Db::name("admin")->where("unit_name", $unit_name)->where("status",">",0)->field(["id", "nickname"])->select()->toArray();
 
+            $proprietorDepartmentIds = Db::name("department")
+                ->where([
+                    ["delete_time", "=", 0],
+                    ["pid", "=", 0],
+                    ["type", "=", 1], //1表示业主
+                    ["entrust_unit", "=", $unit_name]
+                ])->column('id');
+            $where = [
+                ['status', '>=', 0],
+                ['unit_name', 'in', $proprietorDepartmentIds]
+            ];
+            $proprietor =Db::name("admin")->where($where)->field(["id","nickname"])->select()->toArray();
+            $person = Db::name("admin")->where("unit_name", $unit_name)->where("status",">",0)->field(["id", "nickname"])->select()->toArray();
 
             $person = array_values($person);//返回数组所有值,索引从0
+            $proprietor = array_values($proprietor);
 
-            //return ($person);
             View::assign("person", $person);
+            View::assign("proprietor", $proprietor);
             return view();
         }
     }
@@ -480,8 +494,13 @@ class Cost extends BaseController
                 }else{
                     $handle['financial'] = array_merge($handle['financial'], $param['entrust_approver']);
                 }
+                if(empty($handle['proprietor'])){
+                    $handle['proprietor'] = (array)$param['sent_review_head'];
+                }else{
+                    $handle['proprietor'] = array_merge($handle['financial'], $param['sent_review_head']);
+                }
                 // 发送消息,/项目id/发给的财务人员/公司人员都是int整数
-                $this->Pushmessage->pushMessage($insertGetId, $handle['financial'], $handle['company']);
+                $this->Pushmessage->pushMessage($insertGetId, $handle['financial'], $handle['company'],$handle["proprietor"]);
 
                 if(!empty($param["entrust_second_approver"])){
 
@@ -741,7 +760,21 @@ class Cost extends BaseController
 
                 $review_unit_name = Db::name('department')->where(['id' => $detail["review_unit"]])->value('title');
                 $unit_name = Db::name('admin')->where('id', $this->uid)->value('unit_name');
+
                 $person = Db::name("admin")->where([["unit_name", "=", $unit_name], ["status", "=", 1]])->field(["id", "nickname"])->select()->toArray();
+                $proprietorDepartmentIds = Db::name("department")
+                    ->where([
+                        ["delete_time", "=", 0],
+                        ["pid", "=", 0],
+                        ["type", "=", 1], //1表示业主
+                        ["entrust_unit", "=", $unit_name]
+                    ])->column('id');
+                $where = [
+                    ['status', '>=', 0],
+                    ['unit_name', 'in', $proprietorDepartmentIds]
+                ];
+                $proprietor =Db::name("admin")->where($where)->field(["id","nickname"])->select()->toArray();
+
 
                 $review_person = Db::name("admin")->where([["unit_name", "=", $detail["review_unit"]], ["status", "=", 1]])->field(["id", "nickname"])->select();
                 $review_name = Db::name("admin")->where("id", $detail['review_head'])->field(["id", "nickname"])->find();
@@ -780,7 +813,10 @@ class Cost extends BaseController
                     View::assign("audit", $audit);
                     View::assign("review_name", $review_name);
                     View::assign("review_person", $review_person);
+
                     View::assign("person", $person);
+                    View::assign("proprietor", $proprietor);
+
                     View::assign('detail', $detail);
 
 

+ 26 - 9
app/admin/controller/project/CostProprietor.php

@@ -304,8 +304,18 @@ class CostProprietor extends BaseController
 
 
         } else {
-            $person = Db::name("admin")->where("unit_name", get_login_admin("unit_name"))->where("status",">",0)->field(["id", "nickname"])->select()->toArray();
+            $unit_name = Db::name('admin')->where('id', $this->uid)->value('unit_name');
+            $person = Db::name("admin")->where("unit_name",  $unit_name)->where("status",">",0)->field(["id", "nickname"])->select()->toArray();
+            $where=[
+                ["type","=","1"],
+                ["unit_name","=", $unit_name ],
+            ];
+            $entrust_unit= Db::name("department")->where($where)->value("entrust_unit");
+            $entrust_unit_name = Db::name("department")->where("unit_name", $entrust_unit)->value("title");
+
             View::assign("person", $person);
+            View::assign("entrust_unit",$entrust_unit);
+            View::assign("entrust_unit_name",$entrust_unit_name);
             return view();
         }
     }
@@ -317,12 +327,6 @@ class CostProprietor extends BaseController
         if (request()->isAjax()) {
             $param = get_params();
 
-//            if (isset($param["project_start_time"])) {
-//                $param["project_start_time"] = $param["project_start_time"] ? strtotime($param["project_start_time"]) : 0;
-//            }
-//            if (isset($param["project_end_time"])) {
-//                $param["project_end_time"] = $param["project_end_time"] ? strtotime($param["project_end_time"]) : 0;
-//            }
 
                 //送审单位,即创建项目当的人的信息
             $param["sent_review_unit"] = get_login_admin("unit_name");
@@ -528,7 +532,7 @@ class CostProprietor extends BaseController
             $param["sent_review_unit_name"] = Db::name("department")->where("id", get_login_admin("unit_name"))->value("title");
             $param["sent_review_head"] = $this->uid;
             $param["sent_review_head_name"] = get_login_admin("nickname");
-            $param["sent_review_head_phone"] = get_login_admin("mobile");
+            $param["sent_review_phone"] = get_login_admin("mobile");
 
 
             $param["project_status"] = 0;
@@ -537,6 +541,7 @@ class CostProprietor extends BaseController
 
             $file_ids = isset($param["file_ids"]) ? $param["file_ids"] : 0;
             unset($param["file_ids"]);
+            unset($param["file"]);
             $file_id = [];
 
             try {
@@ -593,7 +598,19 @@ class CostProprietor extends BaseController
 
             $field = $this->Field->get_field_rules_new(get_login_admin('id'));
             $field_edit = $this->Field->get_field_rules_edit_new($this->uid);
-            //dump($detail);
+
+            //委托单位
+            $unit_name = Db::name('admin')->where('id', $this->uid)->value('unit_name');
+            $where=[
+                ["type","=","1"],
+                ["unit_name","=", $unit_name ],
+            ];
+            $entrust_unit= Db::name("department")->where($where)->value("entrust_unit");
+            $entrust_unit_name = Db::name("department")->where("unit_name", $entrust_unit)->value("title");
+            View::assign("entrust_unit",$entrust_unit);
+            View::assign("entrust_unit_name",$entrust_unit_name);
+
+
             if (!empty($detail)) {
                 View::assign('comment', $comment);
                 View::assign('field', $field);

+ 237 - 0
app/admin/view/Proprietor/add.html

@@ -0,0 +1,237 @@
+{extend name="common/base"/}
+<!-- 主体 -->
+{block name="body"}
+<form class="layui-form p-4">
+	{if condition="$id eq 0"}
+	<div class="layui-form-bar">
+		<h3 class="pb-3">新增业主</h3>
+	</div>
+	<table class="layui-table layui-table-form">
+		<tr>
+			<td class="layui-td-gray">登录账号<font>*</font></td>
+			<td>
+				<input type="text" name="username" lay-verify="required" autocomplete="off" placeholder="请输入登录账号" lay-reqText="请输入登录账号" class="layui-input">
+			</td>
+			<td class="layui-td-gray">用户名<font>*</font></td>
+			<td>
+				<input type="text" name="nickname" lay-verify="required" placeholder="请输入用户名" lay-reqText="请输入用户名" autocomplete="off" class="layui-input">
+			</td>
+			<td rowspan="3" class="layui-td-gray-2">头像<br /><span style="font-size: 12px;">(如若不上传<br />系统将自动生成)</span></td>
+			<td rowspan="3" valign="top" style="width: 160px;">
+				<div class="layui-upload" style="width: 100px; margin:0 auto">
+					<div class="layui-upload-list" id="demo1" style="width: 100%; height:100px;">
+						<img src="/static/admin/images/nonepic600x600.jpg" height="100" style="max-width: 100%; width: 100%;" />
+						<input type="hidden" name="thumb" value="">
+					</div>
+					<button type="button" class="layui-btn layui-btn-normal" style="width: 100%;" id="uploadBtn">上传头像</button>
+				</div>
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">登录密码<font>*</font></td>
+			<td>
+				<input type="password" name="pwd" lay-verify="required" placeholder="请输入密码" lay-reqText="请输入密码" autocomplete="off" class="layui-input">
+			</td>
+			<td class="layui-td-gray">确认密码<font>*</font></td>
+			<td>
+				<input type="password" name="pwd_confirm" lay-verify="required" placeholder="请再次输入密码" lay-reqText="请再次输入密码" autocomplete="off" class="layui-input">
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">手机号码<font>*</font></td>
+			<td>
+				<input type="text" name="mobile" lay-verify="required" placeholder="请输入手机" lay-reqText="请输入手机" autocomplete="off" class="layui-input">
+			</td>
+			<td class="layui-td-gray">电子邮箱</td>
+			<td>
+				<input type="text" name="email" placeholder="电子邮箱" autocomplete="off" class="layui-input">
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">所在部门<font>*</font></td>
+			<td>
+				<select name="did" lay-verify="required" lay-reqText="请选择所属部门">
+					<option value="">请选择所属部门</option>
+					{volist name="department" id="v"}
+						<option value="{$v.id}">{$v.title}</option>
+					{/volist}
+				</select>
+			</td>
+
+			<td class="layui-td-gray">是否为该部门负责人<font>*</font></td>
+			<td>
+				<input type="radio" name="is_principal" value="1" title="是" >
+				<input type="radio" name="is_principal" value="0" title="否" checked>
+			</td>
+
+			<td class="layui-td-gray">用户状态<font>*</font></td>
+			<td>
+				<input type="radio" name="status" value="1" title="正常" checked>
+				<input type="radio" name="status" value="0" title="禁用">
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">用户角色<font>*</font>
+			</td>
+			<td colspan="5">
+				{volist name="group" id="v"}
+				<input type="radio" name="group_id[]" title="{$v.title}" value="{$v.id}" lay-skin="primary">
+				{/volist}
+			</td>
+		</tr>
+
+		
+		<tr>
+			<td class="layui-td-gray">备注</td>
+			<td colspan="5">
+				<textarea name="desc" placeholder="请输入备注" class="layui-textarea"></textarea>
+			</td>
+		</tr>
+	</table>
+	{else/}
+	<div class="layui-form-bar">
+		<h3 class="pb-3">编辑业主</h3>
+	</div>
+	<table class="layui-table layui-table-form">
+		<tr>
+			<td class="layui-td-gray">登录账号<font>*</font></td>
+			<td>
+				<input type="hidden" name="id" value="{$admin.id}">
+				<input type="text" name="username" lay-verify="required" autocomplete="off" placeholder="请输入登录账号" lay-reqText="请输入登录账号" class="layui-input" value="{$admin.username}">
+			</td>
+			<td class="layui-td-gray">用户名<font>*</font></td>
+			<td>
+				<input type="text" name="nickname" lay-verify="required" placeholder="请输入用户名" lay-reqText="请输入用户名" autocomplete="off" class="layui-input" value="{$admin.nickname}">
+			</td>
+			<td rowspan="3" class="layui-td-gray-2">头像<br /><span style="font-size: 12px;">(如若不上传<br />系统将自动生成)</span>
+			</td>
+			<td rowspan="3" valign="top" style="width: 160px;">
+				<div class="layui-upload" style="width: 100px; margin:0 auto">
+					<div class="layui-upload-list" id="demo1" style="width: 100%; height:100px; overflow: hidden;">
+						<img src="{$admin.thumb}" height="100" style="max-width: 100%; width: 100%;" />
+						<input type="hidden" name="thumb" value="{$admin.thumb}">
+					</div>
+					<button type="button" class="layui-btn layui-btn-normal" style="width: 100%;" id="uploadBtn">上传头像</button>
+				</div>
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">修改密码</td>
+			<td>
+				<input type="password" name="edit_pwd" placeholder="请输入密码" autocomplete="off" class="layui-input">
+			</td>
+			<td class="layui-td-gray">确认密码</td>
+			<td>
+				<input type="password" name="edit_pwd_confirm" placeholder="请再次输入密码" autocomplete="off" class="layui-input">
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">手机号码<font>*</font></td>
+			<td>
+				<input type="text" name="mobile" lay-verify="required" placeholder="请输入手机" lay-reqText="请输入手机"
+					autocomplete="off" class="layui-input" value="{$admin.mobile}">
+			</td>
+			<td class="layui-td-gray">电子邮箱</td>
+			<td>
+				<input type="text" name="email" placeholder="电子邮箱" autocomplete="off" class="layui-input" value="{$admin.email}">
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">所在部门<font>*</font></td>
+			<td>
+				<select name="did" lay-verify="" lay-reqText="请选择所属部门">
+					<option value="">请选择所属部门</option>
+					{volist name="department" id="v"}
+						<option value="{$v.id}" {eq name="$v.id" value="$admin.did"}selected{/eq}>{$v.title}</option>
+					{/volist}
+				</select>
+			</td>
+
+			<td class="layui-td-gray">是否为该部门的负责人<font>*</font></td>
+			<td>
+				<input type="radio" name="is_principal" value="1" title="是" {eq name="$is_principal" value="1" }checked{/eq}>
+				<input type="radio" name="is_principal" value="0" title="否" {eq name="$is_principal" value="0"}checked{/eq}>
+			</td>
+
+			<td class="layui-td-gray">用户状态<font>*</font></td>
+			<td>
+				<input type="radio" name="status" value="1" title="正常" {eq name="$admin.status" value="1" }checked{/eq}>
+				<input type="radio" name="status" value="0" title="禁用" {eq name="$admin.status" value="0"}checked{/eq}>
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">用户角色<font>*</font></td>
+			<td colspan="5">
+				{volist name="group" id="v"}
+				<input type="radio" name="group_id[]" title="{$v.title}" value="{$v.id}" {volist name="$admin.group_id" id="a" }{eq name="$a" value="$v.id" }checked{/eq}{/volist} lay-skin="primary">
+				{/volist}
+			</td>
+		</tr>
+
+		<tr>
+			<td class="layui-td-gray">备注</td>
+			<td colspan="5">
+				<textarea name="desc" placeholder="请输入备注" class="layui-textarea">{$admin.desc|default=""}</textarea>
+			</td>
+		</tr>
+	</table>
+	{/if}
+	<div class="py-3">
+		<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
+		<button type="reset" class="layui-btn layui-btn-primary">重置</button>
+	</div>
+</form>
+{/block}
+<!-- /主体 -->
+
+<!-- 脚本 -->
+{block name="script"}
+<script>
+	const moduleInit = ['tool'];
+	function gouguInit() {
+		var form = layui.form,tool=layui.tool,upload = layui.upload;
+		//头像上传
+		var uploadInst = upload.render({
+			elem: '#uploadBtn'
+			, url: '/admin/api/upload'
+			, done: function (e) {
+				//如果上传失败
+				if (e.code == 1) {
+					return layer.msg('上传失败');
+				}
+				//上传成功
+				$('#demo1 input').attr('value', e.data.filepath);
+				$('#demo1 img').attr('src', e.data.filepath);
+			}
+		});
+
+	 
+
+		//监听提交
+		form.on('submit(webform)', function (data) {
+		    var loadIndex = layer.msg('添加中', {
+                icon: 16,
+                shade: 0.01
+            });;
+		 
+			let callback = function (e) {
+			    var loadIndex2 = layer.msg(e.msg);
+				if (e.code == 0) {
+					parent.layui.tool.close(1000);
+				    
+				    setTimeout(function(){
+                        layer.close(loadIndex)
+                        layer.close(loadIndex2)
+                    }, 200);
+				}
+			}
+			tool.post("/admin/admin/add", data.field, callback);
+			 
+		 
+			return false;
+		});
+	}
+
+</script>
+{/block}
+<!-- /脚本 -->

+ 173 - 0
app/admin/view/Proprietor/index.html

@@ -0,0 +1,173 @@
+{extend name="common/base"/}
+<!-- 主体 -->
+{block name="body"}
+<div class="p-3">
+	<form class="layui-form gg-form-bar border-t border-x">
+		<div class="layui-input-inline" style="width: 320px;">
+			<input type="text" name="keywords" placeholder="登录账户/用户名/手机号码" class="layui-input" autocomplete="off"/>
+		</div>
+		<div class="layui-input-inline">
+			<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交搜索</button>
+		</div>
+	</form>
+	<table class="layui-hide" id="proprietor" lay-filter="proprietor"></table>
+</div>
+
+<script type="text/html" id="thumb">
+	<img src="{{d.thumb}}" width="30" height="30" />
+</script>
+<script type="text/html" id="status">
+	<i class="layui-icon {{#  if(d.status == 1){ }}layui-icon-ok{{#  } else { }}layui-icon-close{{#  } }}"></i>
+</script>
+<script type="text/html" id="toolbarDemo">
+	<div class="layui-btn-container">
+		<span class="layui-btn layui-btn-sm add-user">+ 添加业主</span>
+	</div>
+</script>
+<script type="text/html" id="barDemo">
+	<div class="layui-btn-group"><span class="layui-btn layui-btn-xs layui-btn-normal" lay-event="view">详情</span><span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span><span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span></div>
+</script>
+
+{/block}
+<!-- /主体 -->
+
+<!-- 脚本 -->
+{block name="script"}
+<script>
+	const moduleInit = ['tool'];
+	function gouguInit() {
+		var table = layui.table, tool = layui.tool, form = layui.form;
+		var allcount;
+		layui.pageTable = table.render({
+			elem: '#proprietor',
+			title: '业主列表',
+			toolbar: '#toolbarDemo',
+			url: '/admin/proprietor/index', //数据接口
+			page: true, //开启分页
+			limit: 20,
+			parseData: function(res) { // 数据解析回调函数
+				// 在这里可以获取数据总数
+				allcount =  res.count;
+				return {
+					code: res.code, // 数据状态码
+					msg: res.msg, // 状态信息
+					count: res.count, // 数据总数
+					data: res.data // 当前页数据
+				};
+			},
+			cols: [
+				[
+					{fixed: 'left', field: 'id', title: '编号', align: 'center', width: 80,
+						templet: function(d){
+							return allcount - (d.LAY_NUM-1);
+						}
+					}, {
+					field: 'username',
+					title: '登录账号',
+					width: 120
+				}, {
+					field: 'thumb',
+					title: '头像',
+					toolbar: '#thumb',
+					align: 'center',
+					width: 60
+				}, {
+					field: 'nickname',
+					title: '用户名',
+					width: 120
+				}, {
+					field: 'groupName',
+					title: '权限角色'
+				},
+
+					{
+						field: 'department_title',
+						title: '所属单位',
+						width: 200
+					},
+
+					{
+						field: 'login_num',
+						title: '累计登录',
+						align: 'center',
+						width: 80
+					}, {
+					field: 'last_login_time',
+					title: '最后登录时间',
+					align: 'center',
+					width: 142
+				}, {
+					field: 'last_login_ip',
+					title: '最后登录IP',
+					width: 130
+				}, {
+					field: 'status',
+					title: '状态',
+					toolbar: '#status',
+					align: 'center',
+					width: 60
+				}, {
+					field: 'right',
+					fixed: 'right',
+					title: '操作',
+					toolbar: '#barDemo',
+					width: 132,
+					align: 'center'
+				}
+				]
+			]
+		});
+		//表头工具栏事件
+		$('body').on('click','.add-user', function () {
+			tool.side("/admin/proprietor/add");
+			return;
+		});
+
+		//监听行工具事件
+		table.on('tool(proprietor)', function (obj) {
+			var data = obj.data;
+			if (obj.event === 'view') {
+				tool.side('/admin/admin/view?id='+data.id);
+				return;
+			}
+			else if (obj.event === 'edit') {
+				tool.side('/admin/proprietor/add?id='+data.id);
+				return;
+			}
+			else if (obj.event === 'del') {
+				if (data.id == 1) {
+					layer.msg('超级管理员不能删除');
+					return;
+				}
+				layer.confirm('您确定要删除该账户', {
+					icon: 3,
+					title: '提示'
+				}, function (index) {
+					let callback = function (e) {
+						layer.msg(e.msg);
+						if (e.code == 0) {
+							obj.del();
+						}
+					}
+					tool.delete("/admin/proprietor/delete", { id: data.id }, callback);
+					layer.close(index);
+				});
+			}
+		});
+
+		//监听搜索提交
+		form.on('submit(webform)', function (data) {
+			layui.pageTable.reload({
+				where: {
+					keywords: data.field.keywords
+				},
+				page: {
+					curr: 1
+				}
+			});
+			return false;
+		});
+	}
+</script>
+{/block}
+<!-- /脚本 -->

+ 121 - 0
app/admin/view/Proprietor/view.html

@@ -0,0 +1,121 @@
+{extend name="common/base"/}
+{block name="style"}
+<style>
+.left-note{vertical-align:top; padding-top:20px!important; text-align:center}
+.layui-form-checked.layui-checkbox-disabled[lay-skin=primary] i {background-color:#808080; border-color: #808080;}
+.layui-checkbox-disabled[lay-skin=primary] span {color: #808080!important;}
+</style>
+{/block}
+<!-- 主体 -->
+{block name="body"}
+<form class="layui-form p-4">
+	<h3 class="pb-3">管理员信息</h3>
+	<table class="layui-table layui-table-form">
+		<tr>
+			<td class="layui-td-gray">登录账号</td>
+			<td>
+				{$admin.username}
+			</td>
+			<td class="layui-td-gray">用户名</td>
+			<td>
+				{$admin.nickname}
+			</td>
+			<td rowspan="4" class="layui-td-gray">头像</td>
+			<td rowspan="4" valign="top" style="width: 150px;">
+				<div class="layui-upload">
+					<img src="{$admin.thumb}" width="150" height="150" style="max-width:150px;" />
+				</div>
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">手机号码</td>
+			<td>
+				{$admin.mobile}
+			</td>
+			<td class="layui-td-gray">电子邮箱</td>
+			<td>
+				{$admin.email}
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">所在部门</td>
+			<td>
+				{volist name="department" id="v"}
+					{eq name="$v.id" value="$admin.did"}{$v.title}{/eq}
+				{/volist}
+			</td>
+			<td class="layui-td-gray">岗位职称</td>
+			<td>
+				{volist name="position" id="v"}
+					{eq name="$v.id" value="$admin.position_id"}{$v.title}{/eq}
+				{/volist}			
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">用户角色
+			</td>
+			<td>
+				{volist name=":get_admin_group()" id="v"}
+				{volist name="$admin.group_id" id="a"}{eq name="$a" value="$v.id" }{$v.title},{/eq}{/volist}
+				{/volist}
+			</td>
+			<td class="layui-td-gray">状态</td>
+			<td>
+				{eq name="$admin.status" value="1" }正常{/eq}
+				{eq name="$admin.status" value="0" }禁止登录{/eq}
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray-2">最后登录时间</td>
+			<td>
+				{$admin.last_login_time | date='Y-m-d H:i:s'}
+			</td>
+			<td class="layui-td-gray-2">最后登录IP</td>
+			<td>
+				{$admin.last_login_ip}
+			</td>
+			<td class="layui-td-gray">累计登录</td>
+			<td>
+				{$admin.login_num}次
+			</td>
+		</tr>
+		<tr>
+			<td class="layui-td-gray">备注</td>
+			<td colspan="5">
+				{$admin.desc|default=""}
+			</td>
+		</tr>
+	</table>
+	<h3 class="py-3">用户权限</h3>
+	<table class="layui-table layui-table-form">
+		{volist name="role_rule" id="vo"}
+		<tr>
+			<td class="left-note">
+			  <input type="checkbox" disabled value="{$vo.id}" title="{$vo.title}" {eq name="$vo.checked" value="true" }checked{/eq}>
+			</td>
+			{notempty name="vo.children"}
+				<td class="right-note">
+					<div style="padding:0 0 0 10px;">
+					{volist name="vo.children" key="k" id="voo"}
+						<div class="checkbox16" style="padding:10px 0;">
+							<input type="checkbox" disabled lay-filter="rule" name="rule[]" value="{$voo.id}" lay-skin="primary" title="{$voo.title}" {eq name="$voo.checked" value="true" }checked{/eq}>
+						</div>
+						{notempty name="voo.children"}
+							<div style="padding:0 0 3px; {if condition='$k != count($vo.children)'}margin-bottom:3px; padding-bottom:16px; border-bottom:1px solid #eee;{/if}">
+							{volist name="voo.children" id="vooo"}
+								<div class="layui-input-inline" style="margin-right:10px;">
+									<input type="checkbox" disabled data-rule="{$voo.id}" name="rule[]" value="{$vooo.id}" lay-skin="primary" title="{$vooo.title}" {eq name="$vooo.checked" value="true" }checked{/eq}>
+								</div>
+							{/volist}
+							</div>
+						{/notempty}
+					{/volist}
+					</div>
+				</td>
+			{/notempty}
+		</tr>
+		{/volist}
+	</table>
+</form>
+{/block}
+<!-- /主体 -->

+ 58 - 7
app/admin/view/department/add.html

@@ -22,7 +22,7 @@
 				</select>
 			</td>
 		</tr>
-
+<!--		//如果是全局 超级管理员-->
 		{if $permission == 1}
 		<tr>
 			<td class="layui-td-gray">单位类型:<font>*</font></td>
@@ -35,10 +35,19 @@
 		</tr>
 		{/if}
 
+		<tr class ="entrust-unit-row">
+			<td class="layui-td-gray-2 get-entrust">委托单位</td>
+			<td colspan="3">
+				<input type="text" name="entrust_unit_name" placeholder="请选择委托单位(仅业主选择)" autocomplete="off" class="layui-input get-entrust">
+				<input type="hidden" name="entrust_unit" value="">
+			</td>
+		</tr>
+
+
 		<tr>
 			<td class="layui-td-gray-2">部门联系电话</td>
 			<td colspan="3">
-				<input type="text" name="phone" placeholder="请输入部门联系电话,可空" autocomplete="off" class="layui-input">
+				<input type="text" name="phone" placeholder="请输入部门联系电话,可空" autocomplete="off" class="layui-input ">
 			</td>
 		</tr>
 	</table>
@@ -72,6 +81,14 @@
 		</tr>
 		{/if}
 
+		<tr class ="entrust-unit-row">
+			<td class="layui-td-gray-2 get-entrust">委托单位</td>
+			<td colspan="3">
+				<input type="text" name="entrust_unit_name" placeholder="请选择委托单位(仅业主选择)" autocomplete="off" class="layui-input get-entrust" value="{$entrust_unit_name}">
+				<input type="hidden" name="entrust_unit" value="">
+			</td>
+		</tr>
+
 		<tr>
 			<td class="layui-td-gray-2">部门负责人</td>
 			<td>
@@ -86,6 +103,7 @@
 			<td>
 				<input type="text" name="phone" value="{$detail.phone}" placeholder="请输入部门联系电话,可空" autocomplete="off" class="layui-input">
 			</td>
+
 		</tr>
 	</table>
 	{/eq}
@@ -101,10 +119,10 @@
 <!-- 脚本 -->
 {block name="script"}
 <script>
-	const moduleInit = ['tool'];
+	const moduleInit = ['tool',"oaTool"];
 	function gouguInit() {
-		var form = layui.form,tool=layui.tool;		  
-		
+		var form = layui.form, tool = layui.tool, oaTool = layui.oaTool;
+
 		let a = 1;
 		//监听提交
 		form.on('submit(webform)', function(data){
@@ -115,15 +133,48 @@
 					setTimeout(function () {
 						parent.location.reload();
 						a = 1
-					}, 1000);					
+					}, 1000);
 				}
 			}
 			tool.post("/admin/department/add", data.field, callback);
 			}
-			
+
 			a = 0
 			return false;
 		});
+
+		$('.get-entrust').on('click', function () {
+			let that = $(this);
+			let callback = function(data){
+				console.log(data);
+				$('[name="entrust_unit"]').val(data.id);
+				$('[name="entrust_unit_name"]').val(data.title);
+			}
+			oaTool.getEntrust(callback);
+		});
+		//
+		$(document).on('change', 'input[name="type"]', function () {
+			console.log("执行变化");
+			if ($(this).val() === '1') {
+				$('.entrust-unit-row').show();
+			} else {
+				$('.entrust-unit-row').hide();
+			}
+		});
+
+		//页面加载时根据初始选中的单选按钮值设置委托单位行的显示状态
+		// $(document).ready(function () {
+		// 	console.log("执行了");
+		// 	$('input[name="type"]').each(function() {
+		// 		if ($(this).is(':checked')) {
+		// 			if ($(this).val() === '1') {
+		// 				$('.entrust-unit-row').show();
+		// 			} else {
+		// 				$('.entrust-unit-row').hide();
+		// 			}
+		// 		}
+		// 	});
+		// });
 	}
 </script>
 {/block}

+ 3 - 3
app/admin/view/department/index.html

@@ -18,7 +18,7 @@
 <script>
 	const moduleInit = ['tool', 'treeGrid'];
 	function gouguInit() {
-		var treeGrid = layui.treeGrid,table = layui.table, tool = layui.tool;
+		var treeGrid = layui.treeGrid,table = layui.table, tool = layui.tool, oaTool = layui.oaTool;
 		var allcount;
 		var pageTable = treeGrid.render({
 			id: 'treeTable'
@@ -34,7 +34,7 @@
 			,parseData: function(res) { // 数据解析回调函数
               // 在这里可以获取数据总数
               allcount =  res.data.length;
-              console.log(res.data.length)
+              //console.log(res.data.length)
               return {
                 code: res.code, // 数据状态码
                 msg: res.msg, // 状态信息
@@ -45,7 +45,7 @@
 			cols: [[
 				 {fixed: 'left', field: 'id', title: '编号', align: 'center', width: 80,
                         templet: function(d){
-                            console.log(d)
+                            //console.log(d)
                             return allcount - (d.LAY_INDEX-1);
                         }
                     }, { field: 'pid', title: '上级部门ID',width: 120, align: 'center'}

+ 2 - 2
app/admin/view/project/cost/add.html

@@ -191,8 +191,8 @@
             <th colspan="2">
 <!--                送审单位负责人-->
                 <select name="sent_review_head" lay-reqText="请选择送审业主">
-                    <option value="">请选择送审业主(暂时选)</option>
-                    {volist name="person" id="v"}
+                    <option value="">请选择送审业主(暂时没设置成必选)</option>
+                    {volist name="$proprietor" id="v"}
                     <option value="{$v.id}">{$v.nickname}</option>
                     {/volist}
                 </select>

+ 1 - 1
app/admin/view/project/cost/edit_first.html

@@ -1064,7 +1064,7 @@
 
     let a = 1;
 
-    //监听提交
+    //监听保存
     form.on('submit(webform)', function (data) {
       if(a){
         let callback = function (e) {

+ 12 - 29
app/admin/view/project/cost_proprietor/add.html

@@ -381,18 +381,6 @@
                     <option value="其他" >其他</option>
                 </select>
             </th>
-<!--            <th class="form-title">项目周期 <font style="color: red !important;">*</font></th>-->
-<!--            <th id="date" colspan="2">-->
-<!--                <div class="layui-input-inline" style="width: 47%;display: inline-flex;">-->
-<!--                    <input type="text" id="start_time" name="project_start_time" readonly lay-verify="required"-->
-<!--                           lay-reqText="请选择开始时间" placeholder="请选择" class="layui-input" value="">-->
-<!--                </div>-->
-<!--                - -->
-<!--                <div class="layui-input-inline" style="width: 47%;display: inline-flex;">-->
-<!--                    <input type="text" id="end_time" name="project_end_time" readonly lay-verify="required"-->
-<!--                           lay-reqText="请选择结束时间" placeholder="请选择" class="layui-input" value="">-->
-<!--                </div>-->
-<!--            </th>-->
         </tr>
 
         <tr>
@@ -457,20 +445,13 @@
             </th>
 
 
-            <th class="form-title entrust_unit">委托单位 <font style="color: red !important;">*</font></th>
+            <th class="form-title entrust_unit">委托单位 <font style="color: red!important;">*</font></th>
             <th colspan="2" class="entrust_unit">
-                <input type="text" name="entrust_unit_name" autocomplete="off" readonly value=""  lay-reqText="当地的财评" placeholder="当地的财评委托单位" class="layui-input get-entrust">
-                <input type="hidden" name="entrust_unit" value="">
+                <input type="text" name="entrust_unit_name" value="{$entrust_unit_name}" autocomplete="off" class="layui-input" disabled>
+                <input type="hidden" name="entrust_unit" value="{$entrust_unit}" autocomplete="off" class="layui-input" disabled>
             </th>
 
 
-
-<!--            <th class="form-title review_unit">评审单位 <font style="color: red !important;">*</font></th>-->
-<!--            <th colspan="2" class="review_unit">-->
-<!--                <input type="text" name="review_unit_name" autocomplete="off" readonly value=""  lay-reqText="请输入评审单位" placeholder="请输入评审单位" class="layui-input customer-picker">-->
-<!--                <input type="hidden" name="review_unit" value="">-->
-<!--            </th>-->
-
         </tr>
         <tr>
             <th class="form-title">审批人 <font style="color: red !important;">*</font></th>
@@ -588,7 +569,6 @@
             }
         });
 
-
         $('.customer-picker').on('click', function () {
             let that = $(this);
             let callback = function(data){
@@ -598,7 +578,8 @@
             }
             oaTool.customerPicker(callback);
         });
-        $('.get-entrust').on('click', function () {
+
+          $('.get-entrust').on('click', function () {
             let that = $(this);
             let callback = function(data){
                 console.log(data);
@@ -609,6 +590,7 @@
             oaTool.getEntrust(callback);
         });
 
+
         let c = 1;
 
         //监听提交
@@ -618,11 +600,6 @@
                     layer.msg("请选择委托单位")
                     return false;
                 }
-            }else {
-                if(data.field.review_unit==""&&data.field.review_unit_name==""){
-                    layer.msg("请选择评审单位")
-                    return false;
-                }
             }
             if (c) {
                 let callback = function (e) {
@@ -637,6 +614,12 @@
                     engineering_type1 = '预算';
                 } else if (data.field.engineering_type1 == 2) {
                     engineering_type1 = '结算';
+                }else if (data.field.engineering_type1 == 3) {
+                    engineering_type1 = '概算';
+                }else if (data.field.engineering_type1 == 4) {
+                    engineering_type1 = '决算';
+                }else if (data.field.engineering_type1 == 5) {
+                    engineering_type1 = '工程总承包(EPC)';
                 }
                 var engineering_type2 = '';
                 if (data.field.engineering_type2 == 1) {

+ 17 - 17
app/admin/view/project/cost_proprietor/edit_first.html

@@ -424,15 +424,16 @@
       </th>
       <th class="form-title">工程类别</th>
       <th colspan="2">
-        <select name="engineering_category" lay-verify="engineering_category" >
-          <option value="">请选择工程类型</option>
+        <select name="engineering_category" lay-verify="engineering_category" value="{$detail.engineering_category}" >
+          <option value="{$detail.engineering_category}">{$detail.engineering_category}</option>
           <option value="建筑物" >建筑物</option>
           <option value="交通" >交通</option>
           <option value="水利" >水利</option>
-          <option value="土地整治" >土地整治</option>
-          <option value="市政园林" >市政园林</option>
+          <option value="土地整治">土地整治</option>
+          <option value="市政园林">市政园林</option>
           <option value="信息网络" >信息网络</option>
           <option value="其他" >其他</option>
+
         </select>
       </th>
 
@@ -502,10 +503,10 @@
       </th>
 
 
-      <th class="form-title entrust_unit">委托单位 <font style="color: red !important;">*</font></th>
+      <th class="form-title entrust_unit">委托单位 <font style="color: red!important;">*</font></th>
       <th colspan="2" class="entrust_unit">
-        <input type="text" name="entrust_unit_name" autocomplete="off" readonly value="{$detail.entrust_unit_name}"  lay-reqText="当地财评委托单位" placeholder="当地财评委托单位" class="layui-input get-entrust">
-        <input type="hidden" name="entrust_unit" value="{$detail.entrust_unit}">
+        <input type="text" name="entrust_unit_name" value="{$entrust_unit_name}" autocomplete="off" class="layui-input" disabled>
+        <input type="hidden" name="entrust_unit" value="{$entrust_unit}" autocomplete="off" class="layui-input" disabled>
       </th>
 
 
@@ -1023,16 +1024,7 @@
       }
       oaTool.customerPicker(callback);
     });
-    $('.get-entrust').on('click', function () {
-      let that = $(this);
-      let callback = function(data){
-        console.log(data);
-        $('[name="entrust_unit"]').val(data.id);
-        $('[name="entrust_unit_name"]').val(data.title);
 
-      }
-      oaTool.getEntrust(callback);
-    });
 
 
     form.on('submit(add)', function (data) {
@@ -1052,6 +1044,7 @@
           return false;
         }
       }
+      let c = 1;
       if (c) {
         let callback = function (e) {
           c = 1
@@ -1065,7 +1058,14 @@
           engineering_type1 = '预算';
         } else if (data.field.engineering_type1 == 2) {
           engineering_type1 = '结算';
+        }else if(data.field.engineering_type1==3){
+          engineering_type1 ='概算';
+        }else if(data.field.engineering_type1==4){
+          engineering_type1 ='决算';
+        }else if(data.field.engineering_type1==5){
+          engineering_type1 ='工程总承包(EPC)';
         }
+
         var engineering_type2 = '';
         if (data.field.engineering_type2 == 1) {
           engineering_type2 = '审核';
@@ -1075,7 +1075,7 @@
         if(engineering_type1!==""&&engineering_type2!==""){
           data.field.engineering_type = engineering_type1 + "-" + engineering_type2;
         }
-        tool.post("/admin/project.cost_proprietor/edit", data.field, callback);
+        tool.post("/admin/project.cost_proprietor/edit_main", data.field, callback);
       }
 
       c = 0

ファイルの差分が大きいため隠しています
+ 744 - 0
mxdb9.12.sql


この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません