index.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <template>
  2. <div class="flex">
  3. <!-- 营销区域列表 -->
  4. <areaTree ref="arealist" style="width:250px;flex:0 1 auto" @onClick="onClick">
  5. <template v-slot:operation="data">
  6. <!-- 新增区域 -->
  7. <addArea v-if="tool.checkAuth($route.name,'addArea')" class="inline-16" :data="data.data" @onSuccess="onSuccess"></addArea>
  8. <el-dropdown>
  9. <span class="el-dropdown-link"><i class="el-icon-more"></i>
  10. </span>
  11. <el-dropdown-menu slot="dropdown">
  12. <el-dropdown-item>
  13. <editArea v-if="tool.checkAuth($route.name,'updateArea')" class="inline-16" :data="data.data" @editSuccess="editSuccess"></editArea>
  14. </el-dropdown-item>
  15. <el-dropdown-item>
  16. <delArea v-if="tool.checkAuth($route.name,'deleteArea')" class="inline-16" :data="data.data" @onSuccess="onSuccess"></delArea>
  17. </el-dropdown-item>
  18. <el-dropdown-item >
  19. <startArea v-if="tool.checkAuth($route.name,'startArea')" class="inline-16" :data="areaInfo" @onStartArea="onStartArea"></startArea>
  20. </el-dropdown-item>
  21. </el-dropdown-menu>
  22. </el-dropdown>
  23. </template>
  24. </areaTree>
  25. <div class="hm-info-panel">
  26. <basicLayout
  27. ref="basicLayout"
  28. formPath="marketing2/salerScope"
  29. tableName="saleScopeTable"
  30. idName="sa_salearea_salescopeid"
  31. :apiId="{query:20221011144503,del:20221011144403}"
  32. :autoQuery="false"
  33. :options="options">
  34. <div slot="custom"></div>
  35. <template v-slot:tbList="scope">
  36. <!-- {{scope.data.column.columnname}}-->
  37. <div v-if="scope.data.column.columnname === 'isused' ">
  38. <p v-if="scope.data.column.columnname.data === 1">启用</p>
  39. <p v-else-if="scope.data.column.columnname.data === 0">停用</p>
  40. <p v-else>--</p>
  41. </div>
  42. <div v-else>
  43. {{scope.data.column.data[[scope.data.column.columnname]]?scope.data.column.data[[scope.data.column.columnname]]:'--'}}
  44. </div>
  45. </template>
  46. <template v-slot:tbOpreation="scope">
  47. </template>
  48. </basicLayout>
  49. </div>
  50. </div>
  51. </template>
  52. <script>
  53. import areaTree from './area/list'
  54. import addArea from './area/modules/add_area'
  55. import editArea from './area/modules/edit_area'
  56. import startArea from './area/modules/start_area'
  57. import delArea from './area/modules/del_area'
  58. export default {
  59. components:{
  60. areaTree,
  61. addArea,
  62. editArea,
  63. delArea,
  64. startArea,
  65. },
  66. data () {
  67. return {
  68. options:[],
  69. areaInfo:{}
  70. }
  71. },
  72. methods:{
  73. onClick (data) {
  74. this.areaInfo = data
  75. this.$refs['basicLayout'].param.content.sa_saleareaid = data.sa_saleareaid
  76. this.$refs['basicLayout'].listData()
  77. this.$store.dispatch('sendDataToForm',data)
  78. },
  79. onSuccess () {
  80. this.$refs.arealist.query_arealist()
  81. },
  82. onScopeSuccess () {
  83. this.$refs.salescope.query_areascope(this.areaInfo.sa_saleareaid)
  84. },
  85. editSuccess (form) {
  86. this.$refs.arealist.query_arealist(()=>{
  87. this.areaInfo = form
  88. this.$emit('onClick',this.areaInfo)
  89. this.$refs['arealist'].setCurrentKey(this.areaInfo.sa_saleareaid)
  90. })
  91. },
  92. onStartArea (status) {
  93. status === 1?this.areaInfo.isused = 0:this.areaInfo.isused = 1
  94. }
  95. }
  96. }
  97. </script>
  98. <style>
  99. </style>
  100. <style scoped>
  101. .flex{
  102. display: flex;
  103. }
  104. .hm-info-panel{
  105. flex:1;
  106. width:500px;
  107. height:calc(100vh - 100px);
  108. overflow-y:scroll
  109. }
  110. </style>