15d88b3a93a85b3f13db2f08cd53ae8d1cb6c44c.svn-base 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <template>
  2. <el-container>
  3. <el-main style="padding: 10px 10px;" class="problem_view">
  4. <el-row :gutter="10">
  5. <el-col :span="10">
  6. <el-input
  7. clearable
  8. placeholder="输入关键字搜索"
  9. v-model="filterText">
  10. </el-input>
  11. <el-tree
  12. v-loading="showTree"
  13. :highlight-current="true"
  14. class="filter_tree"
  15. icon-class="el-icon-document"
  16. :data="treeDataLists"
  17. :props="defaultProps"
  18. :default-expand-all="true"
  19. :filter-node-method="filterNode"
  20. @node-click = 'treeNodeClickHandler'
  21. ref="tree">
  22. </el-tree>
  23. </el-col>
  24. <el-col :span="14">
  25. <div class="read_wrapper">
  26. <p><span>问题描述:</span>{{pblmsDesc}}</p>
  27. <p><span>问题分类:</span>{{cateObjList}}</p>
  28. <p><span>责任主体:</span>{{objSubjectList}}</p>
  29. <p><span>相关法规:</span>{{relativeLaw}}</p>
  30. <p><span>法规内容:</span></br>&#x3000;&#x3000;{{lawContent}}</p>
  31. </div>
  32. </el-col>
  33. </el-row>
  34. </el-main>
  35. </el-container>
  36. </template>
  37. <script>
  38. import request from '@util/gw_ajax_request.js'
  39. export default {
  40. data(){
  41. return{
  42. showTree: true,
  43. treeDataLists: [
  44. {
  45. label: '前期与设计',
  46. value: 1,
  47. children: [
  48. {
  49. label: '审批及设计过程程序符合性',
  50. value: '1',
  51. children: [
  52. {
  53. label: '审批工作程序符合性',
  54. value: '1.1',
  55. children: [
  56. {
  57. label: '初步设计投资超过可研批复投资10%以上未履行相关手续',
  58. value: '1.1.1',
  59. },
  60. {
  61. label: '初步设计或实施方案未批复,主体工程已开工',
  62. value: '1.1.2',
  63. }
  64. ]
  65. },
  66. {
  67. label: '设计过程程序符合性',
  68. value: '1.2'
  69. }
  70. ]
  71. },
  72. {
  73. label: '设计过程技术规范规程符合性',
  74. value: '2',
  75. children: [
  76. {
  77. label: '基本资料收集',
  78. value: '2.1'
  79. },
  80. {
  81. label: '文件编制',
  82. value: '2.2'
  83. },
  84. {
  85. label: '设计变更',
  86. value: '2.3'
  87. }
  88. ]
  89. }
  90. ]
  91. },
  92. {
  93. label: '建设管理',
  94. value: 2,
  95. children: [
  96. {
  97. label: '项目法人责任制',
  98. value: 1,
  99. children: [
  100. {
  101. label: '项目法人组件',
  102. value: 1.1,
  103. },
  104. {
  105. label: '组织机构和职责',
  106. value: 1.2,
  107. }
  108. ]
  109. }
  110. ]
  111. }
  112. ],
  113. defaultProps: {
  114. children: 'children',
  115. label: 'class1Name'
  116. },
  117. filterText: '',
  118. pblmsDesc: '',
  119. objSubjectList: '',
  120. cateObjList: '',
  121. relativeLaw: '',
  122. lawContent: '',
  123. firstNode: null
  124. }
  125. },
  126. mounted(){
  127. this.getTreeData()
  128. setTimeout(()=>{
  129. this.showTree = false
  130. },5000)
  131. },
  132. methods:{
  133. getTreeData(){
  134. request.post('/tac/obj/pblmstb/tree',{}).then(res=>{
  135. if(res.success){
  136. this.treeDataLists = res.data
  137. this.firstNode = this.treeDataLists[0].children[0].children[0].children[0]
  138. this.treeNodeClickHandler(this.firstNode)
  139. }else{
  140. this.$message.error(res.message)
  141. }
  142. })
  143. },
  144. filterNode(value, data) {
  145. if (!value) return true;
  146. // console.log(data.class1Name.indexOf(value))
  147. if(data.class1Name){
  148. return data.class1Name.indexOf(value) !== -1;
  149. }
  150. },
  151. treeNodeClickHandler(data){
  152. request.get(`/tac/obj/pblmstb/${data.id}`).then(res=>{
  153. if(res.success){
  154. this.pblmsDesc = res.data.pblmsDesc
  155. this.relativeLaw = res.data.relativeLaw
  156. this.lawContent = res.data.lawContent
  157. let objSubjectList = res.data.objSubjectList
  158. let subjectList = []
  159. objSubjectList.forEach(ele=>{
  160. subjectList.push(ele.subName)
  161. })
  162. this.objSubjectList = subjectList.join(',')
  163. let cateObjList = res.data.cateObjList
  164. let cateList = []
  165. cateObjList.forEach(ele=>{
  166. cateList.push(ele.desc)
  167. })
  168. this.cateObjList = cateList.join(',')
  169. }else{
  170. this.$message.error(res.message)
  171. }
  172. })
  173. }
  174. },
  175. watch: {
  176. filterText(val) {
  177. this.$refs.tree.filter(val);
  178. },
  179. },
  180. }
  181. </script>
  182. <style lang="scss">
  183. .filter_tree{
  184. height: calc(100vh - 140px);
  185. overflow: auto;
  186. }
  187. .read_wrapper{
  188. height: calc(100vh - 140px);
  189. overflow: auto;
  190. padding: 10px;
  191. margin-top: 30px;
  192. line-height: 40px;
  193. color: #333;
  194. span{
  195. font-weight: bold;
  196. color: #444;
  197. }
  198. }
  199. .problem_view .el-tree-node__expand-icon.expanded{
  200. -webkit-transform: rotate(0deg);
  201. transform: rotate(0deg);
  202. }
  203. </style>