site_construction_process.blade.php 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724
  1. <!DOCTYPE html>
  2. <html>
  3. <!-- Mirrored from www.zi-han.net/theme/hplus/login.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:18:23 GMT -->
  4. <head>
  5. <meta charset="utf-8">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>引擎力-培养走向世界的企业</title>
  8. <meta name="keywords" content="引擎力后台">
  9. <meta name="description"
  10. content="引擎力定位于海外数字营销专家,用数据说话,引领外贸企业迈向全球化!拥有多项核心自主知识产权,一直在不断的发展和拓展我们的网络营销范围。拥有120余人海外推广团队,80%以上执创人员,5年以上专业外贸推广经验,为您的外贸网站量身定制打造高质量的流量及询盘。">
  11. <meta name="robots" content="noodp"/>
  12. <link rel="shortcut icon" href="{{asset('favicon.ico')}}">
  13. <link href="{{asset('css/bootstrap.min14ed.css?v=3.3.6')}}" rel="stylesheet">
  14. <link href="{{asset('css/font-awesome.min93e3.css?v=4.4.0')}}" rel="stylesheet">
  15. <link rel="stylesheet" type="text/css" href="{{asset('css/admin/flow/style.css')}}"/>
  16. <link href="{{asset('css/animate.min.css')}}" rel="stylesheet">
  17. </head>
  18. <body>
  19. <div class="sep-yql-header">
  20. <a href="/" class="sep-logo">
  21. <img src="/img/y-top-logo.png" alt=""/>
  22. </a>
  23. <div class="logo-texts" style="font-size: 30px">
  24. {{$siteInfo->cn_title??''}} 建站流程表(内部)@if($type==1)
  25. <a href="{{url('/admin/flow/siteConstructionProcess/'.$siteId.'/type/0')}}" style="color: #ffffff">[全部任务
  26. 切换]</a>@else
  27. <a href="{{url('/admin/flow/siteConstructionProcess/'.$siteId.'/type/1')}}" style="color: #ffffff">[个人任务
  28. 切换]</a> @endif <br>
  29. 进度{{$count-$toBeCompletedCount}}/{{$count}}
  30. @if(!empty($newNodeDate)) 原定{{$nodeDate}}上线,更新至{{$newNodeDate}}上线!@else {{$nodeDate}}上线! @endif [ctrl+s 保存]
  31. <button type="button" class="btn2" style="width: 100px; margin:0 auto;" onclick="deploy({{$siteId}})">部署测试站</button>
  32. @if(!empty($roles->is_super))
  33. <button type="button" class="btn2"
  34. onclick="resetting({{$siteId}})">
  35. 全部重置
  36. </button>
  37. @endif
  38. <br>
  39. <a href="http://{{$domain}}" target="_blank" style="color: #ffffff">{{$domain}}</a>
  40. </div>
  41. </div>
  42. <div class="sep-yql-body">
  43. <div class="sep-xmzl-boxs fix">
  44. <form action="{{url('/admin/flow/siteConstructionProcess/'.$siteId.'/type/'.$type)}}"
  45. method="post" id="form1">
  46. <div class="sep-container fix">
  47. <div class="sep-xwcgss-ul-boxs fix">
  48. @foreach($list as $stageInx=>$stage)
  49. @php
  50. static $num=0;
  51. $result=explode(':',$stageInx);
  52. if($result[2]=='进行中' || $result[2]=='未完成'){
  53. $num++;
  54. }
  55. @endphp
  56. <div class="xwcgss-lists @if($num==1 && $result[2]!='完成') active @endif fix">
  57. <div class="xwcgss-lists-titles fix">
  58. <div class="titles-left">
  59. @php
  60. echo $result[0].' ';
  61. if($result[2]=='完成'){
  62. echo "<span style='color:green;'>{$result[2]}</span>";
  63. }elseif ($result[2]=='未完成'){
  64. echo "<span style='color:red;'>{$result[2]}</span>";
  65. }else{
  66. echo "<span style='color:orange;'>{$result[2]}</span>";
  67. }
  68. @endphp
  69. </div>
  70. <div class="titles-right" style="font-size:16px">
  71. @php
  72. echo '阶段时间:'.$taskLastDateStart[$result[1]]??'';
  73. echo ' - '.$taskLastDateEnd[$result[1]]??'';
  74. @endphp
  75. </div>
  76. <div class="titles-right">
  77. </div>
  78. <div class="i-boxs" style="padding-left: -200px">
  79. </div>
  80. <div class="number-boxs">
  81. STEP
  82. <div class="nw">
  83. @php
  84. echo $result[1];
  85. @endphp
  86. </div>
  87. <div class="lines"></div>
  88. </div>
  89. </div>
  90. <div class="xwcgss-table-boxs fix">
  91. <table border="" cellspacing="" cellpadding="">
  92. <tr>
  93. <td colspan="14">
  94. @php
  95. echo $result[0];
  96. @endphp
  97. </td>
  98. </tr>
  99. <tr>
  100. <td style="width: 7%;text-align: center">状态/时间</td>
  101. <td style="width: 6%;text-align: center">具体事项</td>
  102. <td style="width: 7%;text-align: center">事项备注</td>
  103. <td style="width: 5%;text-align: center">负责人/工时<br>(单位:天)</td>
  104. <td style="width: 7%;text-align: center">验收标准</td>
  105. <td style="width: 5%;text-align: center">节点时间</td>
  106. <td style="width: 7%;text-align: center">逾期天数/原因</td>
  107. <td style="width: 7%;text-align: center">质检人员/质检打分</td>
  108. <td style="width: 7%;text-align: center">打分节点<br>(客户)</td>
  109. <td style="width: 10%;text-align: center">参考文档</td>
  110. <td style="width: 10%;text-align: center">备注</td>
  111. <td style="width: 3%;text-align: center">操作</td>
  112. </tr>
  113. @foreach($stage as $key=>$item)
  114. <tr>
  115. <td style="text-align: center">
  116. @if(empty($item['status']))
  117. <button type="button" style="margin:0 auto;" class="btn2"
  118. name="btnReset"
  119. onclick="taskByStatus(this,'#{{$item['id'].'-status'}}')">
  120. 未完成
  121. </button>
  122. @else
  123. <div style="text-align: center">{{$item['status']}}</div>
  124. <button type="button"
  125. style="margin:0 auto"
  126. class="btn"
  127. name="btnReset"
  128. onclick="taskByStatus(this,'#{{$item['id'].'-status'}}')">
  129. 完成
  130. </button>
  131. @endif
  132. <input type="hidden" name="{{$item['id'].'-status'}}"
  133. id="{{$item['id'].'-status'}}"
  134. value="{{$item['status']?? ''}}">
  135. </td>
  136. <td>
  137. <input type="hidden" name="{{$item['id'].'-id'}}"
  138. id="{{$item['id'].'-id'}}"
  139. value="{{$item['id']?? 0}}">
  140. <span style="font-weight:bold">{{$item['title']??''}}</span><br>
  141. </td>
  142. <td>
  143. <textarea name="{{$item['id'].'-memo'}}"
  144. id="{{$item['id'].'-memo'}}"
  145. style="border: none;width: 100%;height: 60px">{{$item['memo']??''}}
  146. </textarea>
  147. </td>
  148. <td>
  149. @foreach($item['roles'] as $key=>$value)
  150. @if($key==\App\Http\Models\Role::TYPE_CUSTOMER)
  151. {{--客户--}}
  152. <div class="person">
  153. <span class="workingHours">
  154. @if($roles->role_id ==\App\Http\Models\Role::TYPE_CUSTOMER)
  155. <span
  156. style="color:#893448 ">{{$siteName}}</span> @else {{$siteName}}
  157. @endif
  158. </span>
  159. </div>
  160. @endif
  161. @if($key==\App\Http\Models\Role::TYPE_SELLER)
  162. {{--销售--}}
  163. <div class="person">
  164. <span class="workingHours">
  165. <input type="hidden"
  166. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_SELLER}}"
  167. name="{{$item['id'].'-user_id-1'}}"
  168. value="{{$value->user_id??''}}">@if(!empty($value->user_id) && $roles->id == $value->user_id)
  169. <span
  170. style="color:#893448 ">{{$value->user_id??''}}</span> @else {{$value->nickname??''}} @endif
  171. </span>
  172. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  173. <input type="text" class="form-control"
  174. style="width:50%;"
  175. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_SELLER}}"
  176. id="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_SELLER}}"
  177. value="{{$value->working_hours??''}}">
  178. @endif
  179. </div>
  180. @endif
  181. @if($key==\App\Http\Models\Role::TYPE_SERVER)
  182. {{--项目管家--}}
  183. <div class="person">
  184. <span class="workingHours">
  185. <input type="hidden"
  186. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_SERVER}}"
  187. name="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_SERVER}}"
  188. value="{{$value->user_id??''}}">
  189. @if(!empty($value->user_id) && $roles->id == $value->user_id)
  190. <span
  191. style="color:#893448 ">{{$value->nickname??'未分配项目管家'}}</span>
  192. @else {{$value->nickname??''}} @endif
  193. </span>
  194. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  195. <input type="text" class="form-control"
  196. style="width:50%;"
  197. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_SERVER}}"
  198. id="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_SERVER}}"
  199. value="{{$value->working_hours??''}}">
  200. @endif
  201. </div>
  202. @endif
  203. @if($key==\App\Http\Models\Role::TYPE_MANAGE_HELPER)
  204. {{--项目经理--}}
  205. <div class="person">
  206. <span class="workingHours">
  207. <input type="hidden"
  208. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_MANAGE_HELPER}}"
  209. name="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_MANAGE_HELPER}}"
  210. value="{{$value->user_id??''}}">@if(!empty($value->user_id) && $roles->id == $value->user_id)
  211. <span
  212. style="color:#893448 ">{{$value->nickname??'未分配项目经理'}}</span> @else {{$value->nickname??'未分配项目经理'}} @endif
  213. </span>
  214. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  215. <input type="text" class="form-control"
  216. style="width:50%;"
  217. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_MANAGE_HELPER}}"
  218. id="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_MANAGE_HELPER}}"
  219. value="{{$value->working_hours??''}}">
  220. @endif
  221. </div>
  222. @endif
  223. @if($key==\App\Http\Models\Role::TYPE_PLANNER)
  224. {{--策划--}}
  225. <div class="person">
  226. <span class="workingHours">
  227. <input type="hidden"
  228. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_PLANNER}}"
  229. name="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_PLANNER}}"
  230. value="{{$value->user_id??''}}">@if(!empty($value->user_id) && $roles->id == $value->user_id)
  231. <span
  232. style="color:#893448 ">{{$value->nickname??'未分配策划'}}</span> @else {{$value->nickname??'策划'}} @endif
  233. </span>
  234. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  235. <input type="text" class="form-control"
  236. style="width:50%;"
  237. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_PLANNER}}"
  238. id="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_PLANNER}}"
  239. value="{{$value->working_hours??''}}">
  240. @endif
  241. </div>
  242. @endif
  243. @if($key==\App\Http\Models\Role::TYPE_AE)
  244. {{--采编--}}
  245. <div class="person">
  246. <span class="workingHours">
  247. <input type="hidden"
  248. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_AE}}"
  249. name="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_AE}}"
  250. value="{{$value->user_id??''}}">@if(!empty($value->user_id) && $roles->id == $value->user_id)
  251. <span
  252. style="color:#893448 ">{{$value->nickname??'未分配采编'}}</span> @else {{$value->nickname??'未分配采编'}} @endif
  253. </span>
  254. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  255. <input type="text" class="form-control"
  256. style="width:50%;"
  257. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_AE}}"
  258. id="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_AE}}"
  259. value="{{$value->working_hours??''}}">
  260. @endif
  261. </div>
  262. @endif
  263. @if($key==\App\Http\Models\Role::TYPE_WEB)
  264. {{--前端--}}
  265. <div class="person">
  266. <span class="workingHours">
  267. <input type="hidden"
  268. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_WEB}}"
  269. name="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_WEB}}"
  270. value="{{$value->user_id??''}}">@if(!empty($value->user_id) && $roles->id == $value->user_id)
  271. <span
  272. style="color:#893448 ">{{$value->nickname??'未分配前端'}}</span> @else {{$value->nickname??'未分配前端'}} @endif
  273. </span>
  274. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  275. <input type="text" class="form-control"
  276. style="width:50%;"
  277. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_WEB}}"
  278. id="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_WEB}}"
  279. value="{{$value->working_hours??''}}">
  280. @endif
  281. </div>
  282. @endif
  283. @if($key==\App\Http\Models\Role::TYPE_DESIGNER)
  284. {{--设计--}}
  285. <div class="person">
  286. <span class="workingHours">
  287. <input type="hidden"
  288. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_DESIGNER}}"
  289. name="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_DESIGNER}}"
  290. value="{{$value->user_id??''}}">@if(!empty($value->user_id) && $roles->id == $value->user_id)
  291. <span
  292. style="color:#893448 ">{{$value->nickname??'未分配设计'}}</span> @else {{$value->nickname??'未分配设计'}} @endif
  293. </span>
  294. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  295. <input type="text" class="form-control"
  296. style="width:50%;"
  297. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_DESIGNER}}"
  298. id="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_DESIGNER}}"
  299. value="{{$value->working_hours??''}}">
  300. @endif
  301. </div>
  302. @endif
  303. @if($key==\App\Http\Models\Role::TYPE_QUALITY)
  304. {{--质检--}}
  305. <div class="person">
  306. <span class="workingHours">
  307. <input type="hidden"
  308. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_QUALITY}}"
  309. name="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_QUALITY}}"
  310. value="{{$value->user_id??''}}">@if(!empty($value->user_id) && $roles->id == $value->user_id)
  311. <span
  312. style="color:#893448 ">{{$value->nickname??'未分配质检'}}</span> @else {{$value->nickname??'未分配质检'}} @endif
  313. </span>
  314. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  315. <input type="text" class="form-control"
  316. style="width:50%;"
  317. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_QUALITY}}"
  318. id="{{$item['id'].'-working_hours-&'.\App\Http\Models\Role::TYPE_QUALITY}}"
  319. value="{{$value->working_hours??''}}">
  320. @endif
  321. </div>
  322. @endif
  323. @if($key==\App\Http\Models\Role::TYPE_OPTIMIZER)
  324. {{--优化--}}
  325. <div class="person">
  326. <span class="workingHours">
  327. <input type="hidden"
  328. id="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_OPTIMIZER}}"
  329. name="{{$item['id'].'-user_id-'.\App\Http\Models\Role::TYPE_OPTIMIZER}}"
  330. value="{{$value->user_id??''}}">@if(!empty($value->user_id) && $roles->id == $value->user_id)
  331. <span
  332. style="color:#893448 ">{{$value->nickname??'未分配优化师'}}</span> @else {{$value->nickname??'未分配优化师'}} @endif
  333. </span>
  334. @if($roles->role_id !=\App\Http\Models\Role::TYPE_CUSTOMER)
  335. <input type="text" class="form-control"
  336. style="width:50%;"
  337. name="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_OPTIMIZER}}"
  338. id="{{$item['id'].'-working_hours-'.\App\Http\Models\Role::TYPE_OPTIMIZER}}"
  339. value="{{$value->working_hours??''}}">
  340. @endif
  341. </div>
  342. @endif
  343. @endforeach
  344. </td>
  345. <td>
  346. {{$item['acceptance']??''}}
  347. </td>
  348. <td>
  349. {{$item['node']??''}}
  350. <br>
  351. @if(strtotime($item['node_date'])<strtotime($date))
  352. <span
  353. style="color:#893448;font-size: 14px;font-weight:bold;">{{$item['node_date']??''}}</span>
  354. @else
  355. <span
  356. style="color:#4ea397;font-size: 14px;font-weight:bold;">{{$item['node_date']??''}}</span>
  357. @endif
  358. </td>
  359. <td style="padding-left: 10px">
  360. @php
  361. //完成时间>节点时间、未完成时间小于当天时间时为逾期
  362. if(!empty($item['status'])){
  363. if(strtotime(date('Y-m-d',strtotime($item['status'])))>strtotime($item['node_date'])){
  364. $beOverdueDay=(strtotime(date('Y-m-d',strtotime($item['status'])))-strtotime($item['node_date']))/3600/24;
  365. echo '逾期'.round($beOverdueDay).'天';
  366. }
  367. }else{
  368. if(strtotime($item['node_date'])< strtotime(date('Y-m-d'))){
  369. $beOverdueDay=(strtotime(date('Y-m-d'))-strtotime($item['node_date']))/3600/24;
  370. echo '逾期'.round($beOverdueDay).'天';
  371. }
  372. }
  373. @endphp
  374. @if(!empty($item['status']))
  375. @if(strtotime(date('Y-m-d',strtotime($item['status'])))>strtotime($item['node_date']))
  376. <select class="form-control" style="width:100%;"
  377. name="{{$item['id'].'-reasons_for_overdue'}}"
  378. id="{{$item['id'].'-reasons_for_overdue'}}">
  379. @foreach($reasonsForOverdueList as $k=>$v)
  380. <option value="{{$k}}"
  381. @if(!empty($item['reasons_for_overdue']) && $item['reasons_for_overdue']==$k) selected @endif>{{$v}}</option>
  382. @endforeach
  383. </select>
  384. @endif
  385. @else
  386. @if(strtotime($item['node_date'])< strtotime(date('Y-m-d')))
  387. <select class="form-control" style="width:100%;"
  388. name="{{$item['id'].'-reasons_for_overdue'}}"
  389. id="{{$item['id'].'-reasons_for_overdue'}}">
  390. @foreach($reasonsForOverdueList as $k=>$v)
  391. <option value="{{$k}}"
  392. @if(!empty($item['reasons_for_overdue']) && $item['reasons_for_overdue']==$k) selected @endif>{{$v}}</option>
  393. @endforeach
  394. </select>
  395. @endif
  396. @endif
  397. </td>
  398. <td>
  399. @if(!empty($item['is_inspection_score']))
  400. 媛媛、笑笑
  401. <select class="form-control" style="width:100%;"
  402. name="{{$item['id'].'-inspection_score'}}"
  403. id="{{$item['id'].'-inspection_score'}}">
  404. <option value="0">未评分</option>
  405. @foreach($scoreList as $k=>$v)
  406. <option value="{{$k}}"
  407. @if(!empty($item['inspection_score']) &&!empty($item['inspection_score']) && $item['inspection_score']==$k) selected @endif>{{$v}}</option>
  408. @endforeach
  409. </select>
  410. @endif
  411. </td>
  412. <td>
  413. @if(!empty($item['client_score']))
  414. {{$item['client_score']}}
  415. @endif
  416. </td>
  417. <td>
  418. <ul>
  419. @if(isset($item['file_list']))
  420. @foreach(\GuzzleHttp\json_decode($item['file_list'],true) as $value)
  421. <li>
  422. <a href="https://yqlguestdata.oss-cn-hangzhou.aliyuncs.com/{{$value}}"
  423. download="https://yqlguestdata.oss-cn-hangzhou.aliyuncs.com/{{$value}}">{{$value}}</a>
  424. </li>
  425. @endforeach
  426. @endif
  427. </ul>
  428. </td>
  429. <td>
  430. <textarea name="{{$item['id'].'-overdue_memo'}}"
  431. id="{{$item['id'].'-overdue_memo'}}"
  432. style="border: none;width: 100%;height: 60px">{{$item['overdue_memo']}}
  433. </textarea>
  434. </td>
  435. <td>
  436. <button type="button" class="btn2"
  437. onclick="taskResetting({{$item['id']}})"
  438. style="width: 70px; margin:0 auto;">重置
  439. </button>
  440. </td>
  441. </tr>
  442. @endforeach
  443. </table>
  444. </div>
  445. <div class="number-boxs">
  446. STEP
  447. <div class="nw">
  448. @php
  449. echo $result[1];
  450. @endphp
  451. </div>
  452. <div class="lines"></div>
  453. </div>
  454. </div>
  455. @endforeach
  456. </div>
  457. </div>
  458. <div class="sep-gzgh-boxs fix">
  459. <div class="sep-container fix">
  460. <div class="gzgh-boxs fix">
  461. <div class="sep-gzgh-titles-boxs fix">
  462. 工作规划与记录
  463. </div>
  464. <div class="fix">
  465. <table border="" cellspacing="" cellpadding="">
  466. <tr>
  467. <td colspan="6">当周工作安排</td>
  468. </tr>
  469. <tr>
  470. <td class="gtj-centers" style="width: 15%">阶段</td>
  471. <td class="gtj-centers" style="width: 15%">具体事项</td>
  472. <td class="gtj-centers" style="width: 15%">事项备注</td>
  473. <td class="gtj-centers" style="width: 15%">人员</td>
  474. <td class="gtj-centers" style="width: 15%">节点时间</td>
  475. <td class="gtj-centers" style="width: 15%">备注</td>
  476. </tr>
  477. @foreach($thisWeekTaskList as $item)
  478. <tr>
  479. <td class="gtj-centers">{{$item->rank??''}}</td>
  480. <td class="gtj-centers">{{$item->title??''}}</td>
  481. <td class="gtj-centers">{{$item->memo??''}}</td>
  482. <td class="gtj-centers">{{$item->userNames??''}}</td>
  483. <td class="gtj-centers">{{$item->node_date??''}}</td>
  484. <td class="gtj-centers">
  485. <textarea name="{{$item->id.'-planning_week'}}"
  486. id="{{$item->id.'-planning_week'}}"
  487. style="border: none;width: 100%;height: 60px">{{$item->planning_week??''}}
  488. </textarea>
  489. </td>
  490. </tr>
  491. @endforeach
  492. </table>
  493. </div>
  494. <div class="fix">
  495. <table border="" cellspacing="" cellpadding="">
  496. <tr>
  497. <td colspan="6">下周工作安排</td>
  498. </tr>
  499. <tr>
  500. <td class="gtj-centers" style="width: 15%">阶段</td>
  501. <td class="gtj-centers" style="width: 15%">具体事项</td>
  502. <td class="gtj-centers" style="width: 15%">事项备注</td>
  503. <td class="gtj-centers" style="width: 15%">人员</td>
  504. <td class="gtj-centers" style="width: 15%">节点时间</td>
  505. <td class="gtj-centers" style="width: 15%">备注</td>
  506. </tr>
  507. @foreach($nextWeekTaskList as $item)
  508. <tr>
  509. <td class="gtj-centers">{{$item->rank??''}}</td>
  510. <td class="gtj-centers">{{$item->title??''}}</td>
  511. <td class="gtj-centers">{{$item->memo??''}}</td>
  512. <td class="gtj-centers">{{$item->userNames??''}}</td>
  513. <td class="gtj-centers">{{$item->node_date??''}}</td>
  514. <td class="gtj-centers">
  515. <textarea name="{{$item->id.'-planning_next_week'}}"
  516. id="{{$item->id.'-planning_next_week'}}"
  517. style="border: none;width: 100%;height: 60px">{{$item->planning_next_week??''}}
  518. </textarea>
  519. </td>
  520. </tr>
  521. @endforeach
  522. </table>
  523. </div>
  524. </div>
  525. </div>
  526. </div>
  527. </form>
  528. </div>
  529. </div>
  530. <div class="sep-yql-footer">
  531. <div class="sep-container fix">
  532. <div class="footer-texts">
  533. 浙江引擎力营销策划有限公司
  534. </div>
  535. </div>
  536. </div>
  537. <script src="{{asset('js/jquery.min.js?v=2.1.4')}}"></script>
  538. <script src="{{asset('js/bootstrap.min.js')}}"></script>
  539. <script src="{{asset('js/plugins/layer-v3.1.1/layer/layer.js')}}"></script>
  540. <script src="{{asset('js/tools/tips.js')}}"></script>
  541. <script>
  542. $(".sep-gzgh-ul-boxs .gzgh-lists").each(function () {
  543. $(this).find(".lasts").click(function () {
  544. var _this = $(this);
  545. if (!_this.hasClass("ons")) {
  546. _this.addClass("ons");
  547. _this.siblings(".tr-lists").removeClass("active");
  548. } else {
  549. _this.removeClass("ons");
  550. _this.siblings(".tr-lists").addClass("active");
  551. }
  552. });
  553. });
  554. $(".sep-xwcgss-ul-boxs .xwcgss-lists").each(function () {
  555. var _this1 = $(this);
  556. $(this).find(".i-boxs").click(function () {
  557. var _this = $(this);
  558. if (!_this.parent().parent(".xwcgss-lists").hasClass("active")) {
  559. _this.parent().parent(".xwcgss-lists").addClass("active");
  560. _this.parent().parent(".xwcgss-lists").siblings().removeClass("active");
  561. } else {
  562. _this.parent().parent(".xwcgss-lists").removeClass("active");
  563. }
  564. });
  565. });
  566. function taskByStatus(tis, input) {
  567. if ($(tis).hasClass('btn2')) {
  568. $(tis).removeClass('btn2');
  569. $(tis).addClass('btn');
  570. $(tis).text('完成');
  571. $(input).attr('value', '{{$date}}');
  572. } else {
  573. $(tis).removeClass('btn');
  574. $(tis).addClass('btn2');
  575. $(tis).text('未完成');
  576. $(input).attr('value', 0);
  577. }
  578. }
  579. function taskResetting(taskId) {
  580. layer.confirm('确定重置此条任务吗?', {icon: 3, title: '重置此条任务'}, function (index, layero) {
  581. var ajaxConfig = {
  582. url: '/admin/flow/taskResetting',
  583. type: 'put',
  584. data: {taskId: taskId},
  585. success: function () {
  586. layer.msg('操作成功', {
  587. icon: 1,
  588. time: 1500 //2秒关闭(如果不配置,默认是3秒)
  589. }, function () {
  590. window.location.href = "{{url('/admin/flow/siteConstructionProcess/'.$siteId.'/type/0')}}";
  591. });
  592. }
  593. };
  594. tips.ajax(ajaxConfig);
  595. });
  596. }
  597. $(document).on('click', '[name=file_upload]', function () {
  598. $(this).next().trigger('click');
  599. });
  600. $(document).on('change', '[name=uploadFile]', function () {
  601. var _this = this;
  602. if (!$(this)[0].files[0]) {
  603. return;
  604. }
  605. var formData = new FormData();
  606. formData.append('file', $(this)[0].files[0]);
  607. var size = $(this)[0].files[0].size;
  608. if (size > (8 * 1024 * 1024)) {
  609. layer.alert("文件不能大于8MB", {icon: 5});
  610. return;
  611. }
  612. var ln;
  613. $.ajax({
  614. url: '/admin/flow/uploadSiteFile',
  615. type: 'POST',
  616. cache: false,
  617. data: formData,
  618. processData: false,
  619. contentType: false,
  620. beforeSend: function () {
  621. ln = layer.load();
  622. },
  623. complete: function () {
  624. layer.close(ln);
  625. },
  626. success: function (result) {
  627. var data = result.data;
  628. $(_this).next().val(data.file_url);
  629. $(_this).prev().addClass('file');
  630. layer.alert('上传成功');
  631. },
  632. error: function (XMLHttpRequest) {
  633. if (XMLHttpRequest.status === 500) {
  634. layer.alert("异步请求失败", {icon: 5});
  635. return;
  636. }
  637. layer.alert(JSON.parse(XMLHttpRequest.responseText).message, {icon: 0});
  638. }
  639. });
  640. });
  641. function resetting(siteId) {
  642. layer.confirm('确定全部重置吗?', {icon: 3, title: '全部重置'}, function (index, layero) {
  643. var ajaxConfig = {
  644. url: '/admin/flow/resetting',
  645. type: 'put',
  646. data: {siteId: siteId},
  647. success: function () {
  648. layer.msg('操作成功', {
  649. icon: 1,
  650. time: 1500 //2秒关闭(如果不配置,默认是3秒)
  651. }, function () {
  652. window.location.href = "{{url('/admin/flow/siteConstructionProcess/'.$siteId.'/type/0')}}";
  653. });
  654. }
  655. };
  656. tips.ajax(ajaxConfig);
  657. });
  658. }
  659. function deploy(siteId) {
  660. layer.confirm('是否确认部署?', {icon: 3, title: '是否确认部署'}, function () {
  661. var config = {
  662. type: 'GET',
  663. url: '/admin/process/deploy/' + siteId
  664. };
  665. config.success = function (result) {
  666. layer.msg(result.message, {icon: 6, time: 1500}, function () {
  667. window.location.reload();
  668. });
  669. };
  670. tips.ajax(config);
  671. });
  672. }
  673. function open() {
  674. window.open("http://{{$domain}}");
  675. }
  676. window.addEventListener("keydown", function (e) {
  677. //可以判断是不是mac,如果是mac,ctrl变为花键
  678. //event.preventDefault() 方法阻止元素发生默认的行为。
  679. if (e.keyCode === 83 && (navigator.platform.match("Mac") ? e.metaKey : e.ctrlKey)) {
  680. e.preventDefault();
  681. // Process event...
  682. $('#form1').submit();
  683. //window.location.reload();
  684. }
  685. }, false);
  686. </script>
  687. </body>
  688. </html>