read.html 12 KB

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