whj 4 年 前
コミット
c65aa5752f

+ 12 - 10
app/Http/Controllers/Admin/ProjectUserRoleController.php

xqd xqd
@@ -81,6 +81,9 @@ class ProjectUserRoleController extends BaseController
         }
         $data = $request->input('data');
         //判断是否一个项目里有同样的用户,如果有的话就替换掉原来的职位
+        $data['project_id'] = intval(request('project_id'));
+        $data['project_role_id'] = intval(request('project_role_id'));
+        $data['user_id'] = intval($data['user_id']);
 
         $project_users = ProjectUser::where('project_id',$data['project_id'])->where('user_id',$data['user_id'])->get()->toArray();
         if (count($project_users)!=0)
@@ -130,16 +133,15 @@ class ProjectUserRoleController extends BaseController
 
     public function update(Request $request)
     {
-        if(empty($request->input('id')) || empty($item = $this->model->find($request->input('id')))) return back()->withErrors(['sg_error_info' => '找不到要编辑的数据']);
-        if(empty($request->input('data')) || !is_array($request->input('data'))) return back()->withErrors(['sg_error_info' => '数据错误']);
-        $validator = $this->model->getValidator($request, 'update');
-        if($validator->fails()) {
-            return back()->withErrors($validator)->withInput();
-        }
-        $data = $request->input('data');
-        $user_id = $request->input('user_id');
-        $project_id = $data['project_id'];
-        $project_role_id = $data['project_role_id'];
+        $id = intval(request('id'));
+        $user_id = intval(request('user_id'));
+        $project_id = intval(request('project_id'));
+        $project_role_id =intval(request('project_role_id'));
+        if(empty($id) || empty($item = $this->model->find($id))) return back()->withErrors(['sg_error_info' => '找不到要编辑的数据']);
+
+        $data['user_id'] = $user_id;
+        $data['project_id'] = $project_id;
+        $data['project_role_id'] = $project_role_id;
 
         $project_users = ProjectUser::where('project_id',$project_id)->where('user_id',$user_id)->get()->toArray();
 

+ 42 - 17
resources/views/admin/project-user-roles/create.blade.php

xqd xqd
@@ -13,8 +13,26 @@
 
                 {{ csrf_field() }}
                 <input type="hidden" name="data[user_id]" value="{{ request('user_id') }}">
-                @include('share.layui-form-item', ['type' => 'select', 'name' => 'project_id', 'label' => '项目', 'selected_id' => (old('data') ? old('data')['project_id'] : ''), 'options' => $project_options])
-                @include('share.layui-form-item', ['type' => 'select', 'name' => 'project_role_id', 'label' => '角色', 'selected_id' => (old('data') ? old('data')['project_role_id'] : ''), 'options' => $role_options])
+{{--                @include('share.layui-form-item', ['type' => 'select', 'name' => 'project_id', 'label' => '项目', 'selected_id' => (old('data') ? old('data')['project_id'] : ''), 'options' => $project_options])--}}
+                {{--                @include('share.layui-form-item', ['type' => 'select', 'name' => 'project_role_id', 'label' => '角色', 'selected_id' => (old('data') ? old('data')['project_role_id'] : ''), 'options' => $role_options])--}}
+                <div class="layui-form-item">
+                    <label class="layui-form-label" style="padding: 0px;">项目</label>
+                    <div class="layui-input-block">
+                        <select name="project_id" required lay-verify="required"  lay-filter="project_id" utocomplete="off"  >
+                        @foreach($project_options as $option)
+                                <option value="{{ $option['id'] }}" {{ $option['id'] =  old('data')['project_id'] ? 'selected' : ''}}>{{ $option['name'] }}</option>
+                            @endforeach
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label" style="padding: 0px;">角色</label>
+                    <div class="layui-input-block">
+                        <select name="project_role_id" required lay-verify="required"  autocomplete="off"  >
+                                <option value="6" >领导账号</option>
+                        </select>
+                    </div>
+                </div>
                 <div class="layui-form-item">
                     <div class="layui-input-block">
                         <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button>
@@ -30,24 +48,31 @@
 
 @section('footer')
     <script>
+
         $(function () {
-            layui.use(['form', 'laydate'], function(){
+            layui.use(['form'], function(){
                 var form = layui.form;
-                var laydate = layui.laydate;
-
-                // form.verify({
-                //     integer: function (value) {
-                //         var pattern = /^[1-9]\d*$/;
-                //         if(!(pattern.test(value) || value === '0')) {
-                //             return '组员人数必须为大于等于0的整数';
-                //         }
-                //     }
-                // });
-
-                laydate.render({
-                    elem: '.sg-select-date'
+
+                var roleList = {!! json_encode($role_options) !!}
+                console.log(roleList)
+                form.on('select(project_id)', function(data) {
+                    project_id = data.value;
+                    console.log(project_id)
+                    let options = '';
+                    if(project_id == 1){
+                        options = '<option value="6" selected>' +  roleList[5].name + '</option>'
+                    } else {
+                        for(let i = 0; i < roleList.length; ++i) {
+                            options += '<option value=' + parseInt(roleList[i].id) + (parseInt(roleList[i].id) === parseInt(project_id) ? ' selected' : '') + '>' + roleList[i].name + '</option>'
+                        }
+                    }
+                    $("select[name='project_role_id']").html(options);
+                    form.render('select');
                 });
+
+
             });
         })
     </script>
-@endsection
+@endsection
+

+ 48 - 16
resources/views/admin/project-user-roles/edit.blade.php

xqd xqd
@@ -15,8 +15,35 @@
                 {{--@php(dd($item->user_id))--}}
                 <input type="hidden" name="id" value="{{ $item->id }}">
                 <input type="hidden" name="user_id" value="{{ $item->user_id }}">
-                @include('share.layui-form-item', ['type' => 'select', 'name' => 'project_id', 'label' => '项目', 'selected_id' => $item->user_id, 'options' => $project_options])
-                @include('share.layui-form-item', ['type' => 'select', 'name' => 'project_role_id', 'label' => '角色', 'selected_id' => $item->project_role_id, 'options' => $role_options])
+{{--                @include('share.layui-form-item', ['type' => 'select', 'name' => 'project_id', 'label' => '项目', 'selected_id' => $item->project_id, 'options' => $project_options])--}}
+{{--                @include('share.layui-form-item', ['type' => 'select', 'name' => 'project_role_id', 'label' => '角色', 'selected_id' => $item->project_role_id, 'options' => $role_options])--}}
+
+                <div class="layui-form-item">
+                    <label class="layui-form-label" style="padding: 0px;">项目</label>
+                    <div class="layui-input-block">
+                        <select name="project_id" required lay-verify="required"  disabled lay-filter="project_id" utocomplete="off"  >
+                            @foreach($project_options as $option)
+                                <option value="{{ $option['id'] }}" {{ $option['id'] == $item->project_id ? 'selected' : ''}} >{{ $option['name'] }}</option>
+                            @endforeach
+                        </select>
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label" style="padding: 0px;">角色</label>
+                    <div class="layui-input-block">
+                        <select name="project_role_id" required lay-verify="required"  autocomplete="off"  >
+                            @if($item->project_id == 1)
+                                <option value="6" >领导账号</option>
+                            @else
+                                @foreach($role_options as $option)
+                                    <option value="{{ $option['id'] }}" {{ $option['id'] ==  intval($item->project_role_id) ? 'selected' : ''}}>{{ $option['name'] }}</option>
+                                @endforeach
+                            @endif
+
+                            $item->project_role_id
+                        </select>
+                    </div>
+                </div>
                 <div class="layui-form-item">
                     <div class="layui-input-block">
                         <button class="layui-btn" lay-submit lay-filter="formDemo">提交</button>
@@ -33,22 +60,27 @@
 @section('footer')
     <script>
         $(function () {
-            layui.use(['form', 'laydate'], function(){
+            layui.use(['form'], function(){
                 var form = layui.form;
-                var laydate = layui.laydate;
-
-                // form.verify({
-                //     integer: function (value) {
-                //         var pattern = /^[1-9]\d*$/;
-                //         if(!(pattern.test(value) || value === '0')) {
-                //             return '组员人数必须为大于等于0的整数';
-                //         }
-                //     }
-                // });
-
-                laydate.render({
-                    elem: '.sg-select-date'
+
+                var roleList = {!! json_encode($role_options) !!}
+                console.log(roleList)
+                form.on('select(project_id)', function(data) {
+                    project_id = data.value;
+                    console.log(project_id)
+                    let options = '';
+                    if(project_id == 1){
+                        options = '<option value="6" selected>' +  roleList[5].name + '</option>'
+                    } else {
+                        for(let i = 0; i < roleList.length; ++i) {
+                            options += '<option value=' + parseInt(roleList[i]).id + (parseInt(roleList[i].id) === parseInt(project_id) ? ' selected' : '') + '>' + roleList[i].name + '</option>'
+                        }
+                    }
+                    $("select[name='project_role_id']").html(options);
+                    form.render('select');
                 });
+
+
             });
         })
     </script>