a9055a954cfe137fc6d276aeb6ddba45ea1f4622.svn-base 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <div>
  3. <el-select v-model="currentIrri" filterable allow-create default-first-option placeholder="请选择" @change="irriChange">
  4. <el-option
  5. v-for="item in irriAreaList"
  6. :key="item.id"
  7. :label="item.irrName"
  8. :value="item.id">
  9. </el-option>
  10. </el-select>
  11. <!-- <span @click="toAddCustomIrri()" style="color: #409eff; cursor: pointer;"><i class="el-icon-circle-plus"></i> 新增</span>
  12. <addIrriFormCom v-if="showIrriForm" :rootAdCode="rootAdCode" @addSuccess="addSuccess"></addIrriFormCom> -->
  13. </div>
  14. </template>
  15. <script>
  16. /*****组件注释说明
  17. * name:灌区选择组件
  18. * func: 查询当前行政区划下的灌区列表,并可新增列表中没有的灌区
  19. * props:{
  20. * rootAdCode: 行政区划代码,从父组件传进来
  21. * irriId:已选择灌区的id,父组件传进来用于回显信息
  22. * }
  23. * author: wby
  24. * date: 2020/5/11
  25. ****/
  26. import request from '@util/gw_ajax_request.js'
  27. import addIrriFormCom from './addIrriFormCom'
  28. export default {
  29. props: ['rootAdCode','irriId'],
  30. data(){
  31. return{
  32. currentIrri: null,
  33. irriAreaList:[],
  34. showIrriForm: false
  35. }
  36. },
  37. components:{
  38. addIrriFormCom
  39. },
  40. mounted(){
  41. this.getIrriAreaList()
  42. },
  43. methods:{
  44. // 获取灌区列表
  45. getIrriAreaList(){
  46. let data = {
  47. adCode: this.rootAdCode
  48. }
  49. request.post('/att/irr/base/list',data).then(res=>{
  50. if(res.success){
  51. this.irriAreaList = res.data
  52. // 先获取列表,再延时回显当前灌区信息
  53. setTimeout(()=>{
  54. this.currentIrri = this.irriId
  55. },200)
  56. }
  57. })
  58. },
  59. // 所选灌区改变时触发
  60. irriChange(id){
  61. let item
  62. this.irriAreaList.forEach(ele=>{
  63. if(ele.id == id){
  64. item = ele
  65. }
  66. })
  67. if(!item) item = {id: id, irrName: id}
  68. this.$emit('irriChange',item)
  69. },
  70. // 添加自定义灌区
  71. toAddCustomIrri(){
  72. this.showIrriForm = true
  73. },
  74. // 添加成功时触发该方法,更新灌区列表
  75. addSuccess(){
  76. this.getIrriAreaList()
  77. this.showIrriForm = false
  78. }
  79. },
  80. watch:{
  81. irriId(){
  82. this.currentIrri = this.irriId
  83. console.log(this.currentIrri)
  84. }
  85. }
  86. }
  87. </script>
  88. <style lang="scss">
  89. </style>