dec-level.vue 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <template>
  2. <div v-loading="loading">
  3. <div class="white-box">
  4. <el-table :data="tableData" stripe style="width: 100%;" @selection-change="handleSelectionChange">
  5. <el-table-column type="selection" width="55"></el-table-column>
  6. <el-table-column prop="LEVEL_NAME" label="级别名称">
  7. <template slot-scope="scope">
  8. <el-tag type="warning" size="small" class="no-border">{{scope.row.LEVEL_NAME}}</el-tag>
  9. </template>
  10. </el-table-column>
  11. <el-table-column prop="PERF" label="所需业绩(BV)">
  12. <template slot-scope="scope">
  13. <el-tag type="danger" size="small" class="no-border">{{scope.row.PERF}}</el-tag>
  14. </template>
  15. </el-table-column>
  16. <!--<el-table-column fixed="right" label="是否可以调整礼包">-->
  17. <!--<template slot-scope="scope">-->
  18. <!--<el-tag :type="(scope.row.IS_ADJUST_GIFT==1?'success':'danger')">{{(scope.row.IS_ADJUST_GIFT==1?'是':'否')}}</el-tag>-->
  19. <!--</template>-->
  20. <!--</el-table-column>-->
  21. <!--<el-table-column fixed="right" label="是否可以报单">-->
  22. <!--<template slot-scope="scope">-->
  23. <!--<el-tag :type="(scope.row.IS_DEC==1?'success':'danger')">{{(scope.row.IS_DEC==1?'是':'否')}}</el-tag>-->
  24. <!--</template>-->
  25. <!--</el-table-column>-->
  26. <el-table-column label="创建人">
  27. <template slot-scope="scope">
  28. {{scope.row.CREATE_ADMIN}}
  29. </template>
  30. </el-table-column>
  31. <el-table-column label="创建时间">
  32. <template slot-scope="scope">
  33. {{tool.formatDate(scope.row.CREATED_AT)}}
  34. </template>
  35. </el-table-column>
  36. <el-table-column label="更新人">
  37. <template slot-scope="scope">
  38. {{scope.row.UPDATE_ADMIN}}
  39. </template>
  40. </el-table-column>
  41. <el-table-column label="更新时间">
  42. <template slot-scope="scope">
  43. {{tool.formatDate(scope.row.UPDATED_AT)}}
  44. </template>
  45. </el-table-column>
  46. <el-table-column fixed="right" label="操作" width="150">
  47. <template slot-scope="scope">
  48. <el-button type="primary" plain size="small" @click="editHandle(scope.row)">编辑</el-button>
  49. <el-button type="danger" plain size="small" @click="delHandle(scope)" v-if="false">删除</el-button>
  50. </template>
  51. </el-table-column>
  52. </el-table>
  53. <div class="white-box-footer">
  54. <el-dropdown size="small" trigger="click" @command="muliDelHandle" v-if="false">
  55. <el-button type="primary" size="small">
  56. 所选数据<i class="el-icon-arrow-down el-icon--right"></i>
  57. </el-button>
  58. <el-dropdown-menu slot="dropdown">
  59. <el-dropdown-item command="delete">删除</el-dropdown-item>
  60. </el-dropdown-menu>
  61. </el-dropdown>
  62. <el-button type="primary" size="small" @click="onAdd" v-if="false">添加级别</el-button>
  63. </div>
  64. <el-form ref="form" :model="form" label-width="150px">
  65. <el-form-item :label="form.monthLimitTITLE">
  66. <el-input v-model="form.monthLimitVALUE" placeholder="请输入内容">
  67. </el-input>
  68. <div class="white-box-footer" style="line-height: 1.2;color: #999;">
  69. <p>注:</p>
  70. <p>(1) 请输入正整数数字;</p>
  71. <p>(2) 输入0代表无观察期,即全站升级单为全额升级;</p>
  72. </div>
  73. <div class="white-box-footer">
  74. <el-button type="primary" @click="onSubmit" :loading="submitButtonStat">更新观察期</el-button>
  75. </div></el-form-item>
  76. </el-form>
  77. <el-switch
  78. v-model="value1"
  79. :active-text="value1Text"
  80. @change="switchUpgrade"
  81. >
  82. </el-switch>
  83. </div>
  84. </div>
  85. </template>
  86. <script>
  87. import Vue from 'vue'
  88. import network from './../../utils/network'
  89. import tool from './../../utils/tool'
  90. export default {
  91. name: 'dec-level',
  92. created () {
  93. },
  94. mounted () {
  95. network.getData('config/dec-level').then(response => {
  96. this.tableData = response.list
  97. this.loading = false
  98. })
  99. network.getData('config/month-limit').then(response => {
  100. this.form.monthLimitTITLE = response.observe.TITLE
  101. this.form.monthLimitVALUE = response.observe.VALUE
  102. // 是否开启会员升级功能
  103. this.value1 = response.isOpenUpgrade.VALUE == 0 ? false : true
  104. this.value1Text = response.isOpenUpgrade.TITLE
  105. })
  106. },
  107. data () {
  108. return {
  109. value1:true,
  110. value1Text: '',
  111. submitButtonStat: false,
  112. form:{
  113. monthLimitTITLE:'',
  114. monthLimitVALUE:''
  115. },
  116. tableData: null,
  117. loading: true,
  118. tool: tool,
  119. multipleSelection: []
  120. }
  121. },
  122. methods: {
  123. // 切换开关
  124. switchUpgrade() {
  125. network.postData('config/open-upgrade', {
  126. isOpen: this.value1 === true ? 1 : 0, // 0关闭 1开启
  127. }).then(response => {
  128. this.$message({
  129. message: response,
  130. type: 'success'
  131. })
  132. this.submitButtonStat = false
  133. }).catch(response => {
  134. this.submitButtonStat = false
  135. })
  136. console.log('sss',this.value1)
  137. },
  138. onSubmit() {
  139. this.submitButtonStat = true
  140. network.postData('config/month-limit', {
  141. month: this.form.monthLimitVALUE,
  142. }).then(response => {
  143. this.$message({
  144. message: response,
  145. type: 'success'
  146. })
  147. this.submitButtonStat = false
  148. }).catch(response => {
  149. this.submitButtonStat = false
  150. })
  151. },
  152. editHandle (row) {
  153. this.$router.push({path: `/config/dec-level-edit/${row.ID}`})
  154. },
  155. onAdd () {
  156. this.$router.push({path: `/config/dec-level-add`})
  157. },
  158. delHandle (scope) {
  159. network.getData(`config/dec-level-delete/${scope.row.ID}`).then(response => {
  160. this.$message({
  161. message: response,
  162. type: 'success'
  163. })
  164. Vue.delete(this.tableData, scope.$index)
  165. })
  166. },
  167. muliDelHandle (command) {
  168. if (command === 'delete') {
  169. let selectedIds = []
  170. for (let val of this.multipleSelection) {
  171. selectedIds.push(val.ID)
  172. }
  173. network.postData(`config/dec-level-delete`, {
  174. selected: selectedIds
  175. }).then(response => {
  176. this.$message({
  177. message: response,
  178. type: 'success'
  179. })
  180. let tempNewTableData = []
  181. for (let i in this.tableData) {
  182. if (!tool.isInArray(selectedIds, this.tableData[i].ID)) {
  183. tempNewTableData.push(this.tableData[i])
  184. }
  185. }
  186. this.tableData = tempNewTableData
  187. })
  188. }
  189. },
  190. handleSelectionChange (val) {
  191. this.multipleSelection = val
  192. }
  193. }
  194. }
  195. </script>
  196. <style scoped>
  197. /deep/ .el-form-item__label {
  198. text-align: left !important;
  199. }
  200. </style>