read.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  1. {extend name="common/base"/}
  2. <!-- 主体 -->
  3. {block name="style"}
  4. <style>
  5. .footer{
  6. width: 100%;
  7. height: 25px;
  8. text-align: center;
  9. margin-bottom: 0 !important;
  10. display: none;
  11. }
  12. .heading th {
  13. text-align: center;
  14. }
  15. .form td {
  16. text-align: center;
  17. }
  18. /* 日志 */
  19. .log_top {
  20. padding-left: 1vw;
  21. }
  22. .log_top span {
  23. margin: 0 0.5vw;
  24. }
  25. /* 1,1,1 */
  26. .log_commentary {
  27. color: rgb(0, 176, 80);
  28. }
  29. .log_company {
  30. color: rgb(255, 33, 0);
  31. }
  32. .log_content {
  33. width: fit-content;
  34. margin: 0.3vw 1.5vw 1vw 1.5vw;
  35. padding: 0.5vw 0vw;
  36. text-indent: 1.2em;
  37. line-height: 2.1vh;
  38. background-color: rgb(255, 255, 255);
  39. border-radius: 0.5vw;
  40. box-shadow: 0.19vw 0.16vw 0.4vw 0.03vw rgba(0, 0, 0, 0.13);
  41. }
  42. .log_content_img img {
  43. /* width: 10%; */
  44. border-radius: 0.5vw;
  45. margin: 0.3vw 0;
  46. padding-right: 18px;
  47. padding-bottom: 7px;
  48. padding-left: 2px;
  49. }
  50. .log_item_top {
  51. height: 70%;
  52. overflow: scroll;
  53. }
  54. .log_item_top {
  55. height: 60vh;
  56. /* background-color: rgb(255, 255, 255); */
  57. }
  58. .log_item_bottom {
  59. display: flex;
  60. margin: 0 1.5vw;
  61. }
  62. .log_input input {
  63. width: 55vw;
  64. height: 10vh;
  65. border: #eee 1px solid;
  66. }
  67. .log_bottom_img {
  68. /* height: 5vh; */
  69. }
  70. .log_bottom_img img {
  71. height: 4vw;
  72. width: 6vw;
  73. border-radius: 0.5vw;
  74. margin: 0.5vw 0vw 0.5vw 0.3vw;
  75. }
  76. .log_bottom_left {
  77. width: 100%;
  78. margin-top: 1.5vh;
  79. }
  80. .log_bottom_right {
  81. width: 5%;
  82. }
  83. /* 上传图片 */
  84. .layui-upload-drag-self {
  85. background-color: #fbfdff;
  86. border: 1px dashed #c0ccda;
  87. border-radius: 6px;
  88. box-sizing: border-box;
  89. line-height: 4vw;
  90. vertical-align: top;
  91. display: inline-block;
  92. text-align: center;
  93. cursor: pointer;
  94. outline: 0;
  95. margin-right: 13px;
  96. float: left;
  97. }
  98. .layui-input-inlines-self {
  99. position: relative;
  100. margin-left: 90px;
  101. min-height: 36px;
  102. text-align: left;
  103. }
  104. .layui-upload-drag-self .layui-icon {
  105. font-size: 28px;
  106. color: #8c939d
  107. }
  108. .layui-upload-drag-self .img {
  109. position: relative;
  110. height: 148px;
  111. width: 148px;
  112. }
  113. .layui-upload-img {
  114. width: 148px;
  115. height: 148px;
  116. border-radius: 6px;
  117. margin-top: -3px;
  118. margin-left: -2px;
  119. }
  120. .handle {
  121. position: absolute;
  122. width: 148px;
  123. height: 100%;
  124. z-index: 100;
  125. border-radius: 6px;
  126. top: 0;
  127. background: rgba(59, 60, 61, 0.6);
  128. text-align: center;
  129. }
  130. .handle .icon-myself {
  131. z-index: 999;
  132. transition: all .3s;
  133. cursor: pointer;
  134. font-size: 25px;
  135. width: 25px;
  136. color: rgba(255, 255, 255, 0.91);
  137. margin: 0 4px;
  138. }
  139. .log_textarea {
  140. width: 89vw;
  141. height: 8vh;
  142. padding: 0.5vw;
  143. /* margin-right: 2vw; */
  144. margin: 1vw;
  145. }
  146. .log_button_img {
  147. width: 2vw;
  148. }
  149. .log_card {
  150. border: none !important;
  151. }
  152. /* 点击图片放大 */
  153. .content_img img {
  154. max-width: 100%;
  155. cursor: pointer;
  156. }
  157. .overlay {
  158. display: none;
  159. position: fixed;
  160. top: 0;
  161. left: 0;
  162. width: 100%;
  163. height: 100%;
  164. background-color: rgba(0, 0, 0, 0.7);
  165. justify-content: center;
  166. z-index: 1;
  167. }
  168. .overlay img {
  169. margin-top: 4%;
  170. max-width: 90%;
  171. max-height: 90%;
  172. object-fit: contain;
  173. }
  174. .p-4 {
  175. background-color: rgb(255, 255, 255);
  176. }
  177. /*表格开始*/
  178. #tabniubi {
  179. width: 100%;
  180. margin: 10px 0;
  181. background-color: #fff;
  182. color: #5f5f5f;
  183. }
  184. #tabniubi th {
  185. padding: 9px 15px;
  186. min-height: 20px;
  187. height: 40px;
  188. line-height: 40px;
  189. text-align: center;
  190. /* font-size: 14px; */
  191. border-width: 1px;
  192. border-style: solid;
  193. border-color: #e2e2e2;
  194. font: 14px Helvetica Neue, Helvetica, PingFang SC, Tahoma, Arial, sans-serif;
  195. }
  196. #tabniubi tr:first-child {
  197. padding: 0;
  198. min-height: 0;
  199. line-height: 0;
  200. border-width: 0;
  201. border-style: none;
  202. border-color: #fff;
  203. font-size: 0;
  204. }
  205. #tabniubi tr:first-child th {
  206. padding: 0;
  207. min-height: 0;
  208. line-height: 0;
  209. border-width: 0;
  210. border-style: none;
  211. border-color: #fff;
  212. font-size: 0;
  213. }
  214. .form-title {
  215. background-color: rgb(241, 241, 241);
  216. color: rgb(95, 95, 95);
  217. border-color: rgb(241, 241, 241);
  218. font-weight: 600;
  219. }
  220. .fujianimg img {
  221. width: 5vw;
  222. height: 5vh;
  223. }
  224. .forleft {
  225. text-align: left !important;
  226. }
  227. .layui-form-select dl dd.layui-this {
  228. background-color: #f8f8f8;
  229. color: rgb(23, 145, 233);
  230. font-weight: 700;
  231. }
  232. .layui-input, .layui-textarea {
  233. /* padding-left: 3.75vw; */
  234. color: #5f5f5f;
  235. }
  236. .upimg {
  237. width: 250px;
  238. height: 250px;
  239. }
  240. .filelist{
  241. width: 100%;
  242. overflow: scroll;
  243. height: 8vw;
  244. justify-content:flex-start;
  245. align-content: space-between;
  246. /* flex-direction: column-reverse; */
  247. flex-wrap: wrap;
  248. display: flex;
  249. }
  250. .filelist li{
  251. padding: 0.5vw 0.7vw 0.5vw 0.7vw;
  252. white-space: nowrap;
  253. overflow: hidden;
  254. text-overflow: ellipsis;
  255. display: inline-block;
  256. border-right: 1px solid #e2e2e2;
  257. }
  258. .filelist p{
  259. margin: 3px 0 5px 0;
  260. width: 11vw;
  261. text-align: center;
  262. }
  263. /* 倒计时开始*/
  264. .countdown {
  265. height: 8.5vh;
  266. width: 6.5vw;
  267. font-size: 1vw;
  268. text-align: center;
  269. border: 1px solid #eee;
  270. }
  271. .countdown-top {
  272. height: 3.5vh;
  273. line-height: 3.5vh;
  274. border-bottom: 1px solid #eee;
  275. color: #fff;
  276. background-color: rgb(23, 145, 233);
  277. border-bottom: 1px solid rgb(23, 145, 233);
  278. font-size: 0.95vw;
  279. padding: 0;
  280. margin: 0;
  281. }
  282. .countdown-bottom {
  283. height: 5vh;
  284. line-height: 5vh;
  285. padding: 0;
  286. margin: 0;
  287. background-color: #fff;
  288. }
  289. /* 倒计时结束 */
  290. /* 项目名称下面的字体变大 */
  291. .ziti{
  292. font-size: 1vw;
  293. }
  294. </style>
  295. {/block}
  296. {block name="body"}
  297. <div class="layui-form p-4">
  298. <div class="layui-row layui-col-space12">
  299. <div class="layui-col-md10" style="padding: 0;">
  300. <div class="layui-col-md12" style="padding: 8px;">
  301. <h1>{$detail.project_name}</h1>
  302. </div>
  303. <div class="layui-col-md3 ziti" style="padding: 8px;font-size:1.1vw;">
  304. {$detail.project_num}
  305. </div>
  306. <div class="layui-col-md3 ziti" style="padding: 8px;font-size:1.1vw;">
  307. {if $detail.unit_type==0}
  308. {$detail.review_unit_name}
  309. {elseif $detail.unit_type==2}
  310. {$detail.entrust_unit_name}
  311. {/if}
  312. </div>
  313. <div class="layui-col-md3 ziti" style="padding: 8px;font-size:1.1vw;">
  314. {if $detail.maker_type==2}创建时间于:{$detail.create_time|date="Y-m-d"}
  315. {else}接收时间于:{if $detail.project_receive_time==0}未接收{else}{$detail.project_receive_time|date="Y-m-d"}{/if}
  316. {/if}
  317. </div>
  318. </div>
  319. <div class="layui-col-md1" style="padding: 0;">
  320. <div class="layui-card countdown">
  321. <div class="countdown-top" style="font-weight: 600;font-size:1.1vw;">
  322. {if $detail.project_end_time>time()}剩 余{else}逾 期{/if}
  323. </div>
  324. <div class="countdown-bottom" style="font-size:1.1vw;">
  325. {$advent_time}
  326. </div>
  327. </div>
  328. </div>
  329. </div>
  330. </div>
  331. <div class="layui-tab layui-tab-card" lay-filter="test-hash" style="margin: 0;">
  332. <ul class="layui-tab-title" id="ullist">
  333. <li class="layui-this" lay-id="11">项目概览</li>
  334. {if $project_five.project_user == 1}
  335. <li data-load="" data-id="4">
  336. 项目人员{if $red.user == 1} <span class="layui-badge-dot hongdian"></span>{/if}
  337. </li>
  338. {/if}
  339. {if $project_five.project_report == 1}
  340. <li data-load="" data-id="3">
  341. 项目报告{if $red.report == 1} <span class="layui-badge-dot hongdian"></span>{/if}
  342. </li>
  343. {/if}
  344. {if $project_five.project_contact == 1}
  345. <li data-load="" data-id="7">
  346. 联系函{if $red.contact == 1} <span class="layui-badge-dot hongdian"></span>{/if}
  347. </li>
  348. {/if}
  349. {if $project_five.project_comments == 1}
  350. <li lay-id="22" data-id="1">
  351. 作业日志{if $red.comment == 1} <span class="layui-badge-dot hongdian"></span>{/if}
  352. </li>
  353. {/if}
  354. {if $project_five.project_record == 1}
  355. <li data-load="" data-id="2">
  356. 工作记录
  357. </li>
  358. {/if}
  359. <li data-load="" data-id="8">预约看现场</li>
  360. {if $project_five.project_log == 1}
  361. <li data-load="" data-id="5">
  362. 项目动态
  363. </li>
  364. {/if}
  365. </ul>
  366. <div class="layui-tab-content" style="padding: 16px;">
  367. <div class="layui-tab-item layui-show">
  368. {include file="/project/cost/project_overview"/}
  369. </div>
  370. {if $project_five.project_user == 1}
  371. <div class="layui-tab-item">
  372. {include file="/project/cost/project_user" /}
  373. </div>
  374. {/if}
  375. {if $project_five.project_report == 1}
  376. <div class="layui-tab-item">
  377. {include file="/project/cost/project_report" /}
  378. </div>
  379. {/if}
  380. {if $project_five.project_contact == 1}
  381. <div class="layui-tab-item">
  382. {include file="/project/cost/project_contact" /}
  383. </div>
  384. {/if}
  385. {if $project_five.project_comments == 1}
  386. <div class="layui-tab-item" >
  387. {include file="/project/cost/project_comments"/}
  388. </div>
  389. {/if}
  390. {if $project_five.project_record == 1}
  391. <div class="layui-tab-item">
  392. {include file="/project/cost/project_record" /}
  393. </div>
  394. {/if}
  395. <div class="layui-tab-item">
  396. {include file="/project/cost/project_appointment" /}
  397. </div>
  398. {if $project_five.project_log == 1}
  399. <div class="layui-tab-item">
  400. {include file="/project/projectlog/index" /}
  401. </div>
  402. {/if}
  403. </div>
  404. </div>
  405. <!--zjl,懂的都懂-->
  406. <script>
  407. var project_id = '{$project_id}'
  408. const moduleInit = ['tool','employeepicker'];
  409. function gouguInit() {
  410. var innow = false;
  411. var form = layui.form,tool=layui.tool,upload = layui.upload;
  412. var element = layui.element;
  413. first()
  414. eliminate(1,$(this))
  415. element.on('tab(test-hash)', function (data) {
  416. let index = $(this).attr('data-id');
  417. if (index == 1) {
  418. eliminate(2,$(this))
  419. comment()
  420. } else if (index == 2) {
  421. eliminate(3,$(this))
  422. record(index);
  423. } else if (index == 3) {
  424. eliminate(4,$(this))
  425. report(index);
  426. } else if (index == 4) {
  427. eliminate(5,$(this))
  428. project_user(index)
  429. } else if (index == 5) {
  430. } else if (index == 6) {
  431. }else if (index == 7) {
  432. eliminate(6,$(this))
  433. contact(index)
  434. } else if (index == 8) {
  435. appointment();
  436. }
  437. });
  438. //清除小红点
  439. function eliminate(type,lidom){
  440. let call=function (e){
  441. //写清除红点的js
  442. $(lidom[0]).find('.hongdian').css('display','none')
  443. let diannum = $('.hongdian').length
  444. let forcount = 0;
  445. if(diannum !== 0){
  446. for (let i = 0; i < diannum ; i++){
  447. let display = $('.hongdian')[i];
  448. console.log($(display).css('display'))
  449. if($(display).css('display') !== 'none'){
  450. forcount++
  451. }
  452. }
  453. }
  454. if(diannum == 0 || forcount == 0){
  455. parent.layui.pageTable.reloadData({
  456. done: function () {
  457. parent.hongdianselect()
  458. }
  459. })
  460. }
  461. }
  462. tool.post("/admin/project.api/eliminate", {type: type,project_id:project_id},call)
  463. }
  464. //看报告
  465. $('[lay-data="readreport"]').click(function (){
  466. var id = $(this).attr('data-id');
  467. parent.layui.tool.side('/admin/project.report/view?id=' + id); // 项目id
  468. })
  469. $('[lay-data="readContract"]').click(function (){
  470. var id = $(this).attr('data-id');
  471. parent.layui.tool.side('/admin/contract.index/view?id=' + id + '&type=1'); // contract id
  472. })
  473. }
  474. </script>
  475. {/block}