select-industry.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. (function() {
  2. Vue.component('select-industry', {
  3. template: `<div class="modal fade" id="selindustry" tabindex="-1" role="dialog" aria-labelledby="selindustryLabel">
  4. <div class="modal-dialog" role="document">
  5. <div class="modal-content">
  6. <div class="modal-header bgc-f9f9f9">
  7. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  8. <h4 class="modal-title" id="selindustryLabel">请选择行业</h4>
  9. </div>
  10. <div class="modal-body">
  11. <div class="p15 bgc-fff">
  12. <ul class="nav nav-tabs" role="tablist" id="industrylist">
  13. <li role="presentation" class="active">
  14. <a href="#home" aria-controls="home" role="tab" data-toggle="tab" id="_home">{{industryname}}</a>
  15. </li>
  16. <li role="presentation">
  17. <a href="#direction" aria-controls="direction" role="tab" data-toggle="tab" id="_direction">{{directionname}}</a>
  18. </li>
  19. </ul>
  20. <div class="tab-content industrybox">
  21. <div role="tabpanel" class="tab-pane active w3-row-padding industry" id="home">
  22. <div :id="'industry_'+industry.code" class="w3-quarter mb20" v-for="industry in industrys" @click="selectindustry(industry.code,industry.value)">
  23. <div class="industryname">{{industry.value}}</div>
  24. </div>
  25. </div>
  26. <div role="tabpanel" class="tab-pane w3-row-padding industry" id="direction">
  27. <div :id="'direction_'+direction.code" class="w3-quarter mb20" v-for="direction in directions" @click="selectdirection(direction.code,direction.value)">
  28. <div class="industryname">{{direction.value}}</div>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="c-t-center">
  33. <button type="button" class="btn btn-default c-f16 mt20" style="width:144px;" @click="back">取 消</button>
  34. </div>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </div>`,
  40. props: ["industryid", "directionid","directionname","industryname"],
  41. data: function() {
  42. return {
  43. industrys: [],
  44. directions: [],
  45. industryname: "请选择行业",
  46. directionname: "请选择方向",
  47. }
  48. },
  49. mounted: function() {
  50. this.getindustry(this.industryid,true)
  51. },
  52. methods: {
  53. getindustry: function() {
  54. var vm = this
  55. if(vm.industryid == -1) {
  56. $('#_direction').parent("li").addClass("hidden")
  57. } else {
  58. vm.selectindustry(vm.industryid,vm.industryname)
  59. vm.getindustry(vm.industryid,false)
  60. vm.selectdirection(vm.directionid,vm.directionname)
  61. }
  62. },
  63. getindustry: function(id, isindustry) {
  64. var params = {
  65. size: 100,
  66. page: 1,
  67. filters: 'dictId=160;catalog=' + id
  68. } //此页面不需要上拉加载
  69. mineAPI.workListGet(params).then(function(res) {
  70. if(isindustry) {
  71. vm.industrys = res;
  72. vm.getindustry()
  73. }else{
  74. vm.directions = res;
  75. } // getAllIndustry() //获取所有行业
  76. }).catch(function(err) {
  77. alert("获取行业列表失败");
  78. })
  79. },
  80. selectindustry: function(id, name) {
  81. var vm = this
  82. if(vm.industryid != -1) {
  83. $("#industry_" + vm.industryid).removeClass("selected")
  84. }
  85. $("#industry_" + id).addClass("selected")
  86. vm.industryid = id
  87. vm.industryname = name
  88. if($('#_direction').parent("li").hasClass("hidden")) {
  89. $('#_direction').parent("li").removeClass("hidden")
  90. }
  91. $('#industrylist a[href="#direction"]').tab('show') //转到方向页面
  92. vm.getindustry(id,false) //通过id获取方向
  93. },
  94. selectdirection: function(id, name) {
  95. var vm = this
  96. if(vm.directionid != -1) {
  97. $("#direction_" + vm.directionid).removeClass("selected")
  98. }
  99. $("#direction_" + id).addClass("selected")
  100. vm.directionid = id
  101. vm.directionname = name
  102. },
  103. back: function() {
  104. // var index = top.layer.getFrameIndex(window.name);
  105. // top.layer.close(index);
  106. $('#selindustry').modal('hide')
  107. },
  108. },
  109. })
  110. })()