detail.html 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573
  1. <link href="__CDN__/assets/addons/qingdongams/css/common.css?v={$Think.config.site.version}" rel="stylesheet">
  2. <style type="text/css">
  3. .btn-list {
  4. position: fixed;
  5. right: 40px;
  6. }
  7. .div-flex {
  8. display: flex
  9. }
  10. .div-flex .form-group {
  11. margin-right: 50px;
  12. text-align: center;
  13. line-height: 25px;
  14. margin-bottom: 0;
  15. }
  16. .tab-pane {
  17. border: 1px solid #F6F6F6;
  18. }
  19. .i-color {
  20. font-size: 34px;margin-right: 10px;color: #86C3FF;
  21. }
  22. .thumbnail {
  23. display: flow-root;
  24. width: max-content;
  25. }
  26. .thumbnail img {
  27. width: 50px;
  28. float: left;
  29. padding: 5px;
  30. }
  31. .text-color{
  32. color:#777;
  33. }
  34. </style>
  35. <style type="text/css">
  36. .examine_title{
  37. font-size: 14px;
  38. color: #333;
  39. -webkit-box-flex: 1;
  40. -ms-flex: 1;
  41. flex: 1;
  42. display: block;
  43. height: 30px;
  44. }
  45. .examine_box{
  46. padding-left:20px;
  47. position: relative;
  48. }
  49. .examine_box .newicon{
  50. position: absolute;
  51. left:0;
  52. top:0;
  53. z-index: 2;
  54. }
  55. .examine_box .xian{
  56. width:1px;
  57. height:100%;
  58. background:#e6e6e6;
  59. position: absolute;
  60. left:4px;
  61. top:10px;
  62. z-index: 1;
  63. }
  64. .examine_box .examine_bg{
  65. position: relative;
  66. margin-top: 15px;
  67. border-radius: 4px;
  68. background-color: #f7f8fa;
  69. font-size: 12px;
  70. color: #929293;
  71. padding: 8px;
  72. line-height: 18px;
  73. }
  74. .rowbox{
  75. display: flex;
  76. justify-content: flex-start;
  77. align-items: center;
  78. }
  79. .stafflist{
  80. width: 70px;text-align: center;float: left;
  81. }
  82. .stafflist-right{
  83. width: 30px;text-align: center;float: left;margin: 0 20px;
  84. }
  85. .stafflist-right:last-child{
  86. display: none;
  87. }
  88. .stafflist img{
  89. width: 40px;
  90. height: 40px;
  91. margin: 10px;
  92. border-radius:50%;
  93. }
  94. </style>
  95. <div class="panel panel-default panel-intro">
  96. <input type="hidden" name="ids" id="ids" value="{$ids}"/>
  97. <div class="div-flex">
  98. <i class="fa fa-address-card i-color"></i>
  99. <div style="line-height: 35px"><b>{$row.name}</b> {switch name="row.check_status"}
  100. {case value="0"}<b class="text-success">(审核中)</b>{/case}
  101. {case value="1"}<b class="text-success">(审核中)</b>{/case}
  102. {case value="2"}<b class="text-warning">(审核通过)</b>{/case}
  103. {case value="3"}<b class="text-danger">(审核拒绝)</b>{/case}
  104. {case value="4"}<b class="text-danger">(撤销审批)</b>{/case}
  105. {default /}
  106. {/switch}</div>
  107. <div class="btn-list">
  108. {if condition="isset($flow) && $flow"}
  109. {eq name="flow.is_check" value="1"}
  110. <a class="btn btn-success btn-dialog" data-area="" data-shade="0.3"
  111. data-url="qingdongams/examine/examine_record/examine?relation_type=contract&relation_id={$ids}&status=1"
  112. data-title="审核通过" >审核通过</a>
  113. <a class="btn btn-danger btn-dialog" data-area="" data-shade="0.3"
  114. data-url="qingdongams/examine/examine_record/examine?relation_type=contract&relation_id={$ids}&status=2"
  115. data-title="审核拒绝" >审核拒绝</a>
  116. {/eq}
  117. {/if}
  118. {if condition="($row['check_status'] == 3) OR ($row['check_status'] == 4) "}
  119. <a class="btn btn-success" data-toggle="dropdown" id="edits">编辑</a>
  120. {/if}
  121. {if condition="$row.check_status eq 2"}
  122. <a class="btn btn-success btn-address" data-id="{$ids}"
  123. data-types="contract" data-title="收货地址">填写收货地址</a>
  124. <a class="btn btn-success btn-logistics" data-id="{$ids}"
  125. data-types="contract" data-title="发票物流">填写发票物流</a>
  126. <a class="btn btn-success btn-receipt" data-id="{$ids}"
  127. data-types="contract" data-title="发票回执单">填写发票回执单</a>
  128. {/if}
  129. <a href="javascript:void(0)"
  130. class="btn btn-success btn-word" data-id="{$ids}"
  131. data-types="contract" data-title="下载合同">下载合同</a>
  132. {if condition="$row.contract_status neq 2"}
  133. <a class="btn btn-info btn-danger btn-stop" data-toggle="dropdown">终止合同</a>
  134. {/if}
  135. </div>
  136. <input type="hidden" value="{$row.id}" id="contractId">
  137. </div>
  138. <div style="margin-top: 10px">
  139. </div>
  140. {if condition="isset($flow) && $flow"}
  141. {if condition="$flow.status == 1"}
  142. <div class="div-flex">
  143. <div class="form-group col-sm-10">
  144. <blockquote style="padding: 2px 10px;text-align: left">
  145. <p>审核信息 <span class="label label-danger">固定审批流</span></p>
  146. </blockquote>
  147. <div style="text-align: left">
  148. <a href="javascript:void(0)" data-toggle="popover"
  149. data-content="
  150. <p class='examine_title'>审批流程</p>
  151. {foreach name='$examine_record' item='examine_r'}
  152. {if condition='$examine_r.status == 0'}
  153. {elseif condition='$examine_r.status == 1'}
  154. <div class='examine_box'>
  155. <i class='fa fa-check-circle text-success newicon'></i>
  156. <div class='xian'></div>
  157. <p><span class='text-muted'>{$examine_r.check_time}</span></p>
  158. <p> {$examine_r.check_staff.name} <span class='text-muted'>通过了此申请</span></p>
  159. {if condition='$examine_r.content'}<p class='examine_bg'> {$examine_r.content}</p>{/if}
  160. </div>
  161. {elseif condition='$examine_r.status == 2'}
  162. <div class='examine_box'>
  163. <i class='fa fa-window-close text-red newicon'></i>
  164. <div class='xian'></div>
  165. <p><span class='text-muted'>{$examine_r.check_time}</span></p>
  166. <p> {$examine_r.check_staff.name} <span class='text-muted'>拒绝了此申请</span></p>
  167. {if condition='$examine_r.content'}<p class='examine_bg'> {$examine_r.content}</p>{/if}
  168. </div>
  169. {else/}
  170. <div class='examine_box'>
  171. <i class='fa fa-window-close text-red newicon'></i>
  172. <div class='xian'></div>
  173. <p><span class='text-muted'>{$examine_r.check_time}</span></p>
  174. <p> {$examine_r.check_staff.name} <span class='text-muted'>撤回了此申请</span></p>
  175. {if condition='$examine_r.content'}<p class='examine_bg'> {$examine_r.content}</p>{/if}
  176. </div>
  177. {/if}
  178. {/foreach}" data-html="true">查看审批历史</a>
  179. </div>
  180. <div class="row rowbox" style="margin-left: 20px">
  181. {foreach name="$flow.stepList" item="val"}
  182. <div class="stafflist" data-container="body" data-toggle="popover" data-placement="bottom" data-content="{foreach name='$val.stafflist' item='sf'}
  183. {if condition='$sf.examine_reord.status == 0'}
  184. <p><i class='fa fa-clock-o text-red'></i> {$sf.name} 待审核此申请</p>
  185. {elseif condition='$sf.examine_reord.status == 1'}
  186. <p><i class='fa fa-check-circle text-success'></i> {$sf.examine_reord.check_time}</p>
  187. <p>{$sf.name} 通过此申请</p>
  188. {elseif condition='$sf.examine_reord.status == 2'}
  189. <p><i class='fa fa-window-close text-red'></i> {$sf.examine_reord.check_time}</p>
  190. <p>{$sf.name} 拒绝此申请</p>
  191. {else/}
  192. <p><i class='fa fa-mail-reply text-red'></i> {$sf.name} 已撤销</p>
  193. {/if}
  194. {/foreach}" data-html="true">
  195. <img src="/assets/addons/qingdongams/img/avatar.png" class="img-circle">
  196. {if condition="$val.status == 3"}
  197. <span class="text-muted">发起人主管</span>
  198. {elseif condition="$val.status == 2"/}
  199. <span class="text-muted">{:count($val.stafflist)}人并签</span>
  200. {else/}
  201. <span class="text-muted">{:count($val.stafflist)}人或签</span>
  202. {/if}
  203. {if condition="$val.order_id < $flow.order_id"}
  204. <p><span><i class="fa fa-check-circle text-success"></i> 审核通过</span></p>
  205. {else/}
  206. {if condition="$row.check_status == 3"}
  207. <p> <span><i class="fa fa-window-close text-red"></i> 审核拒绝</span></p>
  208. {else/}
  209. <p><span><i class="fa fa-clock-o text-red"></i> 待审核</span></p>
  210. {/if}
  211. {/if}
  212. </div>
  213. <div class="stafflist-right">
  214. <i class="fa fa-angle-right" style="color: #ccc;margin: 0 16px;font-size: 20px;font-weight: 600;"></i>
  215. </div>
  216. {/foreach}
  217. </div>
  218. </div>
  219. </div>
  220. {else/}
  221. <div class="div-flex">
  222. <div class="form-group col-sm-10">
  223. <blockquote style="padding: 2px 10px;text-align: left">
  224. <p>审核信息 <span class="label label-danger">发起人自选</span></p>
  225. </blockquote>
  226. <div style="text-align: left">
  227. <a href="javascript:void(0)" data-toggle="popover"
  228. data-content="
  229. <p class='examine_title'>审批流程</p>
  230. {foreach name='$examine_record' item='examine_r'}
  231. {if condition='$examine_r.status == 0'}
  232. {elseif condition='$examine_r.status == 1'}
  233. <div class='examine_box'>
  234. <i class='fa fa-check-circle text-success newicon'></i>
  235. <div class='xian'></div>
  236. <p><span class='text-muted'>{$examine_r.check_time}</span></p>
  237. <p> {$examine_r.check_staff.name} <span class='text-muted'>通过了此申请</span></p>
  238. {if condition='$examine_r.content'}<p class='examine_bg'> {$examine_r.content}</p>{/if}
  239. </div>
  240. {elseif condition='$examine_r.status == 2'}
  241. <div class='examine_box'>
  242. <i class='fa fa-window-close text-red newicon'></i>
  243. <div class='xian'></div>
  244. <p><span class='text-muted'>{$examine_r.check_time}</span></p>
  245. <p> {$examine_r.check_staff.name} <span class='text-muted'>拒绝了此申请</span></p>
  246. {if condition='$examine_r.content'}<p class='examine_bg'> {$examine_r.content}</p>{/if}
  247. </div>
  248. {else/}
  249. <div class='examine_box'>
  250. <i class='fa fa-window-close text-red newicon'></i>
  251. <div class='xian'></div>
  252. <p><span class='text-muted'>{$examine_r.check_time}</span></p>
  253. <p> {$examine_r.check_staff.name} <span class='text-muted'>撤回了此申请</span></p>
  254. {if condition='$examine_r.content'}<p class='examine_bg'> {$examine_r.content}</p>{/if}
  255. </div>
  256. {/if}
  257. {/foreach}" data-html="true">查看审批历史</a>
  258. </div>
  259. <div class="row rowbox" style="margin-left: 20px">
  260. {foreach name="$flow.stepList.0.stafflist" item="val"}
  261. <div class="stafflist">
  262. <img src="{$val.img}" class="img-circle">
  263. <span class="text-muted">{$val.name}</span>
  264. {if condition="$val.examine_reord.status == 0"}
  265. <p><span><i class="fa fa-clock-o text-red"></i> 待审核</span></p>
  266. {elseif condition="$val.examine_reord.status == 1"}
  267. <p><span><i class="fa fa-check-circle text-success"></i> 审核通过</span></p>
  268. {else/}
  269. <p> <span><i class="fa fa-window-close text-red"></i> 审核拒绝</span></p>
  270. {/if}
  271. </div>
  272. <div class="stafflist-right">
  273. <i class="fa fa-angle-right" style="color: #ccc;margin: 0 16px;font-size: 20px;font-weight: 600;"></i>
  274. </div>
  275. {/foreach}
  276. </div>
  277. </div>
  278. </div>
  279. {/if}
  280. {/if}
  281. <div class="div-flex" style="margin-top: 20px">
  282. <div class="form-group">
  283. <span class="text-muted">合同编号</span>
  284. <p>{$row.num}</p>
  285. </div>
  286. <div class="form-group">
  287. <span class="text-muted">客户名称</span>
  288. <p>{if condition="isset($row.customer.name)"}{$row.customer.name}{/if}</p>
  289. </div>
  290. <div class="form-group">
  291. <span class="text-muted">商机名称</span>
  292. <p>{if condition="isset($row.business.name)"}{$row.business.name}{/if}</p>
  293. </div>
  294. <div class="form-group">
  295. <span class="text-muted">合同金额(元)</span>
  296. <p>{$row.money}</p>
  297. </div>
  298. <div class="form-group">
  299. <span class="text-muted">回款金额</span>
  300. <p>{$row.repayment_money}</p>
  301. </div>
  302. <div class="form-group">
  303. <span class="text-muted">未回款金额</span>
  304. <p>{$row.no_money}</p>
  305. </div>
  306. <div class="form-group">
  307. <span class="text-muted">签约时间</span>
  308. <p>{$row.order_date}</p>
  309. </div>
  310. <div class="form-group">
  311. <span class="text-muted">负责人</span>
  312. <p>{if condition="isset($row.owner_staff.name)"}{$row.owner_staff.name}{/if}</p>
  313. </div>
  314. </div>
  315. <div>
  316. <ul class="nav nav-tabs" role="tablist">
  317. <li role="presentation" class="active"><a href="#record" aria-controls="home" role="tab" data-toggle="tab">跟进记录</a></li>
  318. <li role="presentation"><a href="#basic" aria-controls="profile" role="tab" data-toggle="tab">基本信息</a></li>
  319. <li role="presentation"><a href="#other" aria-controls="profile" role="tab" data-toggle="tab">其他信息</a></li>
  320. <li role="presentation"><a href="#product" aria-controls="profile" role="tab" data-toggle="tab">产品明细</a></li>
  321. <li role="presentation"><a href="#settings2" aria-controls="profile" role="tab" data-toggle="tab">回款信息</a></li>
  322. <li role="presentation"><a href="#settings4" aria-controls="settings" role="tab" data-toggle="tab">操作记录</a></li>
  323. </ul>
  324. <div class="tab-content" style="overflow-y: scroll;height:565px">
  325. <div role="tabpanel" class="tab-pane fade active in panel-body" id="record">
  326. <div id="toolbar_records" class="toolbar">
  327. {:build_toolbar('refresh')}
  328. <a class="btn btn-success btn-dialog {:$auth->check('qingdongams/contract/record/add')?'':'hide'}"
  329. data-url="qingdongams/contract/record/add?ids={$row.id}" data-title="新建跟进" data-refresh="true" data-area=["90%","90%"]>新建跟进</a>
  330. </div>
  331. <table id="records" class="table table-striped table-bordered table-hover table-nowrap"
  332. width="100%">
  333. </table>
  334. </div>
  335. <div role="tabpanel" class="tab-pane fade panel-body" id="product">
  336. <div id="toolbar_product" class="toolbar">
  337. {:build_toolbar('refresh')}
  338. </div>
  339. <table id="operation_product" class="table table-striped table-bordered table-hover table-nowrap"
  340. width="100%">
  341. </table>
  342. </div>
  343. <div role="tabpanel" class="tab-pane fade panel-body form-horizontal" id="basic">
  344. <div class="form-group">
  345. {include file="qingdongams/common/form_detail" /}
  346. <div class="col-xs-6 col-sm-5">
  347. <div class="form-group col-sm-10">
  348. <span class="text-muted">客户签约人:</span>
  349. <span class="text-black">{$row.contacts.name}</span>
  350. </div>
  351. </div>
  352. <div class="col-xs-6 col-sm-5">
  353. <div class="form-group col-sm-10">
  354. <span class="text-muted">公司签约人:</span>
  355. <span class="text-black">{$row.order_staff.name}</span>
  356. </div>
  357. </div>
  358. {if condition="$row.ratios neq null"}
  359. <div class="col-xs-12 col-sm-10">
  360. <div class="form-group col-sm-10">
  361. <blockquote style="padding: 2px 10px;">
  362. <div class="form-inline">
  363. <label>业绩分成:{empty name='$row.ratios'}(无){/empty}</label>
  364. </div>
  365. </blockquote>
  366. <table class="table " style="width: 300px;{empty name='$row.ratios'}display: none{/empty}">
  367. <thead>
  368. <tr>
  369. <th width="80">比例</th>
  370. <th>团队成员</th>
  371. <th>业绩</th>
  372. </tr>
  373. </thead>
  374. <tbody>
  375. {foreach name="$row.ratios" item="val"}
  376. <tr>
  377. <td>{$val.ratio}%</td>
  378. <td>{$val.staff.name}</td>
  379. <td>¥{$val.money}</td>
  380. </tr>
  381. {/foreach}
  382. </tbody>
  383. </table>
  384. </div>
  385. </div>
  386. {/if}
  387. </div>
  388. </div>
  389. <div role="tabpanel" class="tab-pane fade panel-body form-horizontal" id="other">
  390. <div class="form-group">
  391. <div class="alert alert-warning-light no-margin">
  392. 客户收货人信息
  393. </div>
  394. </div>
  395. <div class="form-group">
  396. <div class="col-xs-12 col-sm-12">
  397. <div class="form-group col-sm-10">
  398. <span class="text-muted">收货人:</span>
  399. <span class="text-black">{$row.consignee}</span>
  400. </div>
  401. </div>
  402. <div class="col-xs-12 col-sm-12">
  403. <div class="form-group col-sm-10">
  404. <span class="text-muted">联系方式:</span>
  405. <span class="text-black">{$row.consignee_mobile}</span>
  406. </div>
  407. </div>
  408. <div class="col-xs-12 col-sm-12">
  409. <div class="form-group col-sm-10">
  410. <span class="text-muted">详细地址:</span>
  411. <span class="text-black">{$row.delivery_address}{$row.delivery_address_detail}</span>
  412. </div>
  413. </div>
  414. </div>
  415. <div class="form-group">
  416. <div class="alert alert-warning-light no-margin">
  417. 发票物流信息
  418. </div>
  419. </div>
  420. <div class="form-group">
  421. <div class="col-xs-12 col-sm-12">
  422. <div class="form-group col-sm-10">
  423. <span class="text-muted">物流单号:</span>
  424. <span class="text-black">{$row.invoice_logistics_number}</span>
  425. </div>
  426. </div>
  427. <div class="col-xs-12 col-sm-12">
  428. <div class="form-group col-sm-10">
  429. <span class="text-muted">发货时间:</span>
  430. <span class="text-black">{$row.invoice_date}</span>
  431. </div>
  432. </div>
  433. <div class="col-xs-12 col-sm-12">
  434. <div class="form-group col-sm-10">
  435. <span class="text-muted">发货凭证:</span>
  436. <div class="well">
  437. {if condition="$row.invoice_file_ids"}
  438. <div class="thumbnail">
  439. {foreach name="row.invoice_file_ids" item="val"}
  440. <img data-tips-image src="{$val}" alt="">
  441. {/foreach}
  442. </div>
  443. {/if}
  444. </div>
  445. </div>
  446. </div>
  447. </div>
  448. <div class="form-group">
  449. <div class="alert alert-warning-light no-margin">
  450. 回执单信息
  451. </div>
  452. </div>
  453. <div class="form-group">
  454. <div class="col-xs-12 col-sm-12">
  455. <div class="form-group col-sm-10">
  456. <span class="text-muted">回执信息:</span>
  457. <span class="text-black">{$row.receipt_date}</span>
  458. </div>
  459. </div>
  460. <div class="col-xs-12 col-sm-12">
  461. <div class="form-group col-sm-10">
  462. <span class="text-muted">回执凭证:</span>
  463. <div class="well">
  464. {if condition="$row.receipt_file_ids"}
  465. <div class="thumbnail">
  466. {foreach name="row.receipt_file_ids" item="val"}
  467. <img data-tips-image src="{$val}" alt="">
  468. {/foreach}
  469. </div>
  470. {/if}
  471. </div>
  472. </div>
  473. </div>
  474. </div>
  475. </div>
  476. <div role="tabpanel" class="tab-pane fade panel-body" id="settings2">
  477. <div class="panel panel-warning">
  478. <div class="panel-heading">回款计划</div>
  479. <div class="panel-body">
  480. <div id="toolbar_receivablesplan" class="toolbar">
  481. {:build_toolbar('refresh')}
  482. <a class="btn btn-success btn-dialog {:$auth->check('qingdongams/customer/receivablesplan/add')?'':'hide'}" data-url="qingdongams/customer/receivablesplan/add?customer_id={$row.customer_id}&contract_id={$row.id}" data-title="新建回款计划" data-refresh="true" >新建回款计划</a>
  483. </div>
  484. <table id="plan" class="table table-striped table-bordered table-hover table-nowrap"
  485. width="100%">
  486. </table>
  487. </div>
  488. </div>
  489. <div class="panel panel-info">
  490. <div class="panel-heading">回款记录</div>
  491. <div class="panel-body">
  492. <div id="toolbar_receivables" class="toolbar">
  493. {:build_toolbar('refresh')}
  494. <a class="btn btn-success btn-dialog {:$auth->check('qingdongams/customer/receivables/add')?'':'hide'}" data-refresh="true" data-url="qingdongams/customer/receivables/add?customer_id={$row.customer_id}&contract_id={$row.id}" data-area=["90%","90%"] data-title="新建回款">新建回款</a>
  495. </div>
  496. <table id="receivables" class="table table-striped table-bordered table-hover table-nowrap"
  497. width="100%">
  498. </table>
  499. </div>
  500. </div>
  501. </div>
  502. <div role="tabpanel" class="tab-pane fade panel-body" id="settings3">
  503. <div id="toolbar_files" class="toolbar">
  504. {:build_toolbar('refresh')}
  505. </div>
  506. <table id="files" class="table table-striped table-bordered table-hover table-nowrap"
  507. width="100%">
  508. </table>
  509. </div>
  510. <div role="tabpanel" class="tab-pane fade panel-body" id="settings4">
  511. <div id="toolbar_log" class="toolbar">
  512. {:build_toolbar('refresh')}
  513. </div>
  514. <table id="operation_log" class="table table-striped table-bordered table-hover table-nowrap"
  515. width="100%">
  516. </table>
  517. </div>
  518. </div>
  519. </div>
  520. </div>