advanced-project-table-mobile.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. var advanceProjectTable = {
  2. conf: {
  3. // 大于n个字段为空则不展示
  4. maxNullCount: 6
  5. },
  6. platform: goTemplateData.platform,
  7. params: goTemplateData.params,
  8. content: goTemplateData.params.obj,
  9. tableInfo: {
  10. projectname: '', // 项目名称
  11. area: '', // 省份
  12. owner: '', // 业主单位
  13. buyerclass: '', // 业主类型
  14. total_investment: '', // 总投资
  15. projectperiod: '', // 建设年限
  16. projectaddr: '', // 建设地点
  17. approvedept: '', // 审批机关
  18. approvecontent: '', // 审批事项
  19. approvecode: '', // 审批代码
  20. approvenumber: '', // 批准文号
  21. approvetime: '', // 审批时间
  22. approvestatus: '', // 审批结果
  23. project_scale: '', // 建设内容
  24. },
  25. init: function () {
  26. this.initTableListInfo()
  27. },
  28. initTableListInfo: function () {
  29. var content = this.content
  30. if (!content) return
  31. this.tableInfo.projectname = content.projectname || ''
  32. this.tableInfo.area = content.area || ''
  33. this.tableInfo.owner = content.owner || ''
  34. // buyerclass为其他,则展示为空
  35. this.tableInfo.buyerclass = content.buyerclass || ''
  36. this.tableInfo.buyerclass = this.tableInfo.buyerclass === '其它' ? '' : this.tableInfo.buyerclass
  37. this.tableInfo.total_investment = content.total_investment || ''
  38. this.tableInfo.projectperiod = content.projectperiod || ''
  39. this.tableInfo.projectaddr = content.projectaddr || ''
  40. this.tableInfo.approvedept = content.approvedept || ''
  41. this.tableInfo.approvecontent = content.approvecontent || ''
  42. this.tableInfo.approvecode = content.approvecode || ''
  43. this.tableInfo.approvenumber = content.approvenumber || ''
  44. this.tableInfo.approvetime = content.approvetime || ''
  45. this.tableInfo.approvestatus = content.approvestatus || ''
  46. this.tableInfo.project_scale = content.project_scale || ''
  47. },
  48. getTableHTML: function () {
  49. var html = ''
  50. html += `<li><p class="name">项目名称</p><p class="textcontent">${this.tableInfo.projectname}</p></li>`
  51. html += `<li><p class="name">省份</p><p class="textcontent">${this.tableInfo.area}</p></li>`
  52. // <业主类型>跳转画像
  53. // 判断不同平台代码(wx/app)
  54. var hasOwnerAnchor = this.tableInfo.owner ? '' : 'hidden'
  55. if (this.platform === 'wx') {
  56. html += `<li>
  57. <p class="name">业主单位</p>
  58. <div class="unitcenter caigouunit"
  59. <p class="textcontent ${hasOwnerAnchor}" data-cl-event="c_wx_unitportrait_buttonclick">${this.tableInfo.owner}</p>
  60. <span class="go-look go-buyer ${hasOwnerAnchor}" data-cl-event="c_wx_unitportrait_buttonclick">立即查看</span>
  61. </div>
  62. </li>`
  63. } else {
  64. html += `<li class="caigouunit commonUser">
  65. <p class="name">业主单位</p>
  66. <div class="unitcenter">
  67. <p class="textcontent ${hasOwnerAnchor}">${this.tableInfo.owner}</p>
  68. <div class="unitbtn ${hasOwnerAnchor}">
  69. 立即查看
  70. <span class="iconunit" style="display:none;"></span>
  71. </div>
  72. </div>
  73. </li>`
  74. }
  75. html += `<li><p class="name">业主类型</p><p class="textcontent">${this.tableInfo.buyerclass}</p></li>`
  76. html += `<li><p class="name">总投资</p><p class="textcontent">${this.tableInfo.total_investment}</p></li>`
  77. html += `<li><p class="name">建设年限</p><p class="textcontent">${this.tableInfo.projectperiod}</p></li>`
  78. html += `<li><p class="name">建设地点</p><p class="textcontent">${this.tableInfo.projectaddr}</p></li>`
  79. html += `<li><p class="name">审批机关</p><p class="textcontent">${this.tableInfo.approvedept}</p></li>`
  80. html += `<li><p class="name">审批事项</p><p class="textcontent">${this.tableInfo.approvecontent}</p></li>`
  81. html += `<li><p class="name">审批代码</p><p class="textcontent">${this.tableInfo.approvecode}</p></li>`
  82. html += `<li><p class="name">批准文号</p><p class="textcontent">${this.tableInfo.approvenumber}</p></li>`
  83. html += `<li><p class="name">审批时间</p><p class="textcontent">${this.tableInfo.approvetime}</p></li>`
  84. html += `<li><p class="name">审批结果</p><p class="textcontent">${this.tableInfo.approvestatus}</p></li>`
  85. html += `<li><p class="name">建设内容</p><p class="textcontent">${this.tableInfo.project_scale}</p></li>`
  86. return html
  87. },
  88. // 返回true则表示需要显示,返回false则表示需要隐藏
  89. checkTableShow: function () {
  90. var t = this.tableInfo
  91. // 0. buyerclass为其他,则展示为空
  92. // 1. 项目名称、业主单位、总投资同时存在且不为空,需展示
  93. if (t.projectname && t.owner && t.total_investment) {
  94. return true
  95. } else {
  96. var nullCount = 0
  97. for (var key in t) {
  98. if (!t[key]) {
  99. nullCount++
  100. }
  101. }
  102. return this.conf.maxNullCount > nullCount
  103. }
  104. },
  105. render: function () {
  106. var html = this.getTableHTML()
  107. $("#baseInfo ul").html(html)
  108. },
  109. initClickEvents: function () {}
  110. }
  111. advanceProjectTable.init()