show.blade.php 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. @extends('layouts.app')
  2. @section('title', '详情')
  3. @section('content')
  4. @include('shared._messages')
  5. @include('shared._error')
  6. <div class="row" id="list">
  7. <div class="col-12">
  8. <div class="card ">
  9. <div class="card-body">
  10. <div class="text-center">
  11. 发布人:{{ $requirement->creator->name }}
  12. </div>
  13. <div class="text-center">
  14. 分数:{{ $requirement->score }}
  15. </div>
  16. </div>
  17. </div>
  18. </div>
  19. <div class="col-12">
  20. <div class="card">
  21. <div class="card-body">
  22. <h1 class="text-center mt-3 mb-3">
  23. {{ $requirement->title }}
  24. </h1>
  25. <div class="text-center mt-4 mb-4">
  26. {{ $requirement->content }}
  27. </div>
  28. </div>
  29. </div>
  30. </div>
  31. @if($requirement->status==='待接收')
  32. <div class="col-12 text-center mt-4">
  33. <form action="{{ route('requirements.edit',$requirement->id) }}" method="get"
  34. style="display: inline-block;"
  35. onsubmit="return">
  36. <button type="submit" class="btn btn-warning btn-sm">
  37. <i class="far fa-trash-alt"></i> 编辑
  38. </button>
  39. </form>
  40. </div>
  41. <div class="col-12">
  42. <div class="text-center m-4">
  43. <form action="{{ route('requirements.begin', $requirement->id) }}" method="post"
  44. style="display: inline-block;"
  45. onsubmit="return confirm('您确定要开始吗?');">
  46. {{ csrf_field() }}
  47. <div class="form-group">
  48. <template v-for="(item,i) in items">
  49. <div class="row">
  50. <div class="col-auto mb-4">
  51. <select class="form-control" :name="'users['+i+'][name]'"
  52. required {{ $requirement->workers->count()>0 ? 'disabled' :''}}>
  53. <option value="" hidden disabled selected>请选择用户
  54. </option>
  55. @foreach ($workers as $value)
  56. <option
  57. value="{{ $value->id }}">
  58. {{ $value->name }}
  59. </option>
  60. @endforeach
  61. </select>
  62. </div>
  63. <div v-if="i!==0" class="col-1 mb-4 mt-1">
  64. <button class="btn btn-sm btn-primary float-right" type="button"
  65. @click="items.splice(i,1)">-
  66. </button>
  67. </div>
  68. </div>
  69. </template>
  70. <button class="btn btn-sm btn-primary float-right" type="button"
  71. @click="addItem">添加
  72. </button>
  73. </div>
  74. <button type="submit" class="btn btn-success btn-sm">
  75. <i class="far fa-trash-alt"></i> 开始开发
  76. </button>
  77. </form>
  78. </div>
  79. </div>
  80. @elseif($requirement->status==='开发中')
  81. <div class="col-12">
  82. <div class="text-center m-4">
  83. <form action="{{ route('requirements.finish',$requirement->id) }}" method="post"
  84. style="display: inline-block;"
  85. onsubmit="return confirm('您确定要完成开发吗?');">
  86. {{ csrf_field() }}
  87. <div class="form-group">
  88. @foreach($requirement->workers as $worker)
  89. <div class="row">
  90. <div class="col-5 mb-4">
  91. <input class="form-control" disabled value="{{ $worker->name }}"></input>
  92. <input class="form-control" hidden
  93. :name="'users['+ {{ $loop->index }} +'][name]'"
  94. value="{{ $worker->id }}"></input>
  95. </div>
  96. <div class="col-5 mb-4">
  97. <input class="form-control" type="number"
  98. :name="'users['+ {{ $loop->index }} +'][score]'"
  99. placeholder="请填写分数"
  100. required></input>
  101. </div>
  102. </div>
  103. @endforeach
  104. </div>
  105. <div class="well well-sm">
  106. <button type="submit" class="btn btn-primary"> 完成开发</button>
  107. </div>
  108. </form>
  109. </div>
  110. </div>
  111. @elseif($requirement->status==='待验收')
  112. <div class="col-12 text-center">
  113. @foreach($requirement->workers as $worker)
  114. <div class="row">
  115. <div class="col-5 m-4">姓名: {{ $worker->name }}</div>
  116. <div class="col-5 m-4">分数:{{ $worker->pivot->score }}</div>
  117. </div>
  118. @endforeach
  119. </div>
  120. <div class="m-4">
  121. <form action="{{ route('requirements.review',$requirement->id) }}" method="post"
  122. style="display: inline-block;"
  123. onsubmit="return confirm('您确定要完成验收吗?');">
  124. {{ csrf_field() }}
  125. <input type="number" name="flag" hidden :value="reviewFlag">
  126. <button @click="reviewFlag=1" type="submit" class="btn btn-primary"> 验收通过</button>
  127. <button @click="reviewFlag=0" type="submit" class="btn btn-danger"> 验收未通过</button>
  128. </form>
  129. </div>
  130. @elseif($requirement->status==='验收通过')
  131. <div class="col-12 text-center">
  132. @foreach($requirement->workers as $worker)
  133. <div class="row">
  134. <div class="col-5 m-4">姓名: {{ $worker->name }}</div>
  135. <div class="col-5 m-4">分数:{{ $worker->pivot->score }}</div>
  136. </div>
  137. @endforeach
  138. </div>
  139. @elseif($requirement->status==='验收未通过')
  140. <div class="col-12 text-center">
  141. @foreach($requirement->workers as $worker)
  142. <div class="row">
  143. <div class="col-5 m-4">姓名: {{ $worker->name }}</div>
  144. <div class="col-5 m-4">分数:{{ $worker->pivot->score }}</div>
  145. </div>
  146. @endforeach
  147. </div>
  148. <div class="m-4">
  149. <form action="{{ route('requirements.againReview',$requirement->id) }}" method="post"
  150. style="display: inline-block;"
  151. onsubmit="return confirm('您确定要再次申请验收流程吗?');">
  152. {{ csrf_field() }}
  153. <button type="submit" class="btn btn-primary"> 再次申请验收流程</button>
  154. </form>
  155. </div>
  156. @endif
  157. @endsection
  158. @section('lastScript')
  159. <script>
  160. let vue = new Vue({
  161. el: "#list",
  162. data: {
  163. items: [{}],
  164. reviewFlag: 0,
  165. @if($requirement->id)
  166. workers: {!! $workers !!},
  167. @endif
  168. },
  169. methods: {
  170. addItem() {
  171. this.items.push({});
  172. }
  173. }
  174. })
  175. </script>
  176. @endsection