| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- @extends('layouts.app')
- @section('title')新建用户@endsection
- @section('content')
- <div id="nav2">
- @component('maintenance.menu')@endcomponent
- @component('maintenance.user.menu')@endcomponent
- </div>
- <div class="container mt-3" id="editPanel">
- <div class="row justify-content-center">
- @if(Session::has('successTip'))
- <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
- @endif
- <div class="col-md-8">
- <div class="card">
- <div class="card-header">录入用户</div>
- <div class="card-body">
- <form method="POST" action="{{ route('register') }}">
- @csrf
- <div class="form-group row">
- <label for="name" class="col-md-3 col-form-label text-md-right">姓名</label>
- <div class="col-md-7">
- <input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus>
- @error('name')
- <span class="invalid-feedback" role="alert">
- <strong>{{ $message }}</strong>
- </span>
- @enderror
- </div>
- </div>
- <div class="form-group row">
- <label for="email" class="col-md-3 col-form-label text-md-right">Email地址</label>
- <div class="col-md-7">
- <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email">
- @error('email')
- <span class="invalid-feedback" role="alert">
- <strong>{{ $message }}</strong>
- </span>
- @enderror
- </div>
- </div>
- <div class="form-group row">
- <label for="password" class="col-md-3 col-form-label text-md-right">密码</label>
- <div class="col-md-7">
- <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
- @error('password')
- <span class="invalid-feedback" role="alert">
- <strong>{{ $message }}</strong>
- </span>
- @enderror
- </div>
- </div>
- <div class="form-group row">
- <label for="password-confirm" class="col-md-3 col-form-label text-md-right">重输密码</label>
- <div class="col-md-7">
- <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
- </div>
- </div>
- <div class="form-group row">
- <label for="role" class="col-md-3 col-form-label text-md-right">角色</label>
- <div class="col-md-7">
- <input name="role" type="hidden" v-model="rolesStr" required>
- <div class="input-group">
- <select id="roleAddingItem" class="form-control">
- <option :value="role.id" v-for="role in rolesAll">@{{ role.name }}</option>
- </select>
- <span class="input-group-append">
- <span class="input-group-text btn-outline-info" style="cursor: pointer;" @click="addRole">
- 添加左边的角色
- </span>
- </span>
- </div>
- <select size="8" class="form-control @error('role') is-invalid @enderror "
- :class="rolesStr?'tooltipTarget':''" title="两次点击移除目标">
- <option :value="role.id" v-for="role in roles" @click="clickingRoleOption">@{{ role.name }}</option>
- </select>
- @error('role')
- <span class="invalid-feedback" role="alert">
- <strong>{{ $message }}</strong>
- </span>
- @enderror
- </div>
- </div>
- <div class="form-group row">
- <label for="role" class="col-md-3 col-form-label text-md-right">承运商</label>
- <div class="col-md-7">
- <div class="input-group">
- <select id="carrierAddingItem" class="form-control">
- <option :value="carrier.id" v-for="carrier in carrierAll">@{{ carrier.name }}</option>
- </select>
- <span class="input-group-append">
- <span class="input-group-text btn-outline-info" style="cursor: pointer;" @click="addCarrier">
- 添加左边的承运商
- </span>
- </span>
- </div>
- <select size="8" class="form-control "
- title="两次点击移除目标">
- <option :value="carrier.id" v-for="carrier in carriers" @dblclick="clickingCarrierOption">
- @{{ carrier.name }}
- </option>
- </select>
- <div hidden v-for="carrier in carriers">
- <input hidden name="carrier_id[]" :value="carrier.id">
- </div>
- </div>
- </div>
- <input type="hidden" name="headTo" value="{{url('maintenance/user/create')}}">
- <div class="form-group row mb-0">
- <div class="col-md-7 offset-md-4">
- <button type="submit" class="btn btn-primary">
- 录入
- </button>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- </div>
- @endsection
- @section('lastScript')
- <script>
- let vueList=new Vue({
- el:"#editPanel",
- data:{
- rolesAll:[
- @foreach( $rolesAll as $role )
- {id:'{{$role->id}}',name:'{{$role->name}}',},
- @endforeach
- ],
- roles:[],
- rolesStr:'{{ old('role') }}',
- carrierAll:[
- @foreach($carriers as $carrier)
- {id:'{{$carrier->id}}',name:'{{$carrier->name}}'},
- @endforeach
- ],
- carriers:[],
- },
- mounted:function(){
- $(".tooltipTarget").tooltip({'trigger':'hover'});
- },
- methods:{
- addRole:function () {
- let $roleAddingItem = $('#roleAddingItem');
- let val=$roleAddingItem.val();
- let roleName = $roleAddingItem.find("option:selected").text();
- let isLackOf=this.roles.every(function(role){
- return role.id !== val;
- });
- if(isLackOf){
- this.roles.push({id:val,name: roleName})
- this.rolesCompileToStr()
- }else{
- tempTip.setDuration(1500);
- tempTip.show('已添加'+roleName)
- }
- },
- clickingRoleOption:function(e){
- let target = $(e.target);
- if(typeof target.attr('data-clicked')=='undefined'||target.attr('data-clicked')==='0'){
- target.attr('data-clicked',1);
- setTimeout(function(){target.attr('data-clicked','0');},1500)
- }
- else{
- target.attr('data-clicked',parseInt(target.attr('data-clicked'))+1);
- this.removeRole(target.val(),target.find("option:selected").text())
- }
- },
- removeRole:function(id,name){
- let _this=this;
- tempTip.confirm('确定要删除角色' + name + '吗?',function () {
- for(let i=0;i<_this.roles.length;i++){
- if(_this.roles[i].id===id){
- _this.roles.splice(i, 1);
- _this.rolesCompileToStr();
- break;
- }
- }
- });
- },
- rolesCompileToStr:function(){
- let ids=this.roles.map(function(role){
- return role.id;
- });
- this.rolesStr=ids.join(',');
- setTimeout(function(){
- $(".tooltipTarget").tooltip({'trigger':'hover'});
- },20);
- },
- addCarrier:function () {
- let $carrierAddingItem = $('#carrierAddingItem');
- let val=$carrierAddingItem.val();
- let carrierName = $carrierAddingItem.find("option:selected").text();
- let isLackOf=this.carriers.every(function(carrier){
- return carrier.id !== val;
- });
- if(isLackOf){
- this.carriers.push({id:val,name: carrierName})
- }else{
- tempTip.setDuration(1500);
- tempTip.show('已添加'+carrierName)
- }
- },
- clickingCarrierOption:function(e){
- let target = $(e.target);
- for (let i=0;i<this.carriers.length;i++){
- if(this.carriers[i].id===target.val()){
- this.carriers.splice(i,1);
- break;
- }
- }
- },
- },
- });
- </script>
- @endsection
|