index.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <template>
  2. <div>
  3. <div class="container normal-panel normal-margin flex-between">
  4. <el-button class="inline-24" type="primary" icon="el-icon-edit" size="small" v-if="!isSave && tool.checkAuth($route.name,'update')" @click="onEdit" >编 辑</el-button>
  5. <el-button class="inline-24" type="warning" icon="el-icon-edit" size="small" v-else-if="isSave && tool.checkAuth($route.name,'update')" @click="onSave">保 存</el-button>
  6. <versionDefinition class="inline-24" v-if="tool.checkAuth($route.name,'versionDefinition')"></versionDefinition>
  7. <payOrders class="inline-24" v-if="tool.checkAuth($route.name,'payOrders')"></payOrders>
  8. </div>
  9. <div class="container normal-panel">
  10. <el-row :gutter="20">
  11. <el-form :model="form" :rules="rules" ref="form" label-width="120px" label-position="right" size="mini" >
  12. <el-col :span="18">
  13. <el-form-item label="是否开启付费:" prop="sys_payswitch" >
  14. <el-radio v-model="form.sys_payswitch" label='1' @input="isSave = true" :disabled="!isOpen">开启</el-radio>
  15. <el-radio v-model="form.sys_payswitch" label='0' @input="isSave = false" :disabled="!isOpen">关闭</el-radio>
  16. </el-form-item>
  17. </el-col>
  18. <el-col :span="18">
  19. <el-form-item label="到期提醒天数:" prop="sys_payremind" >
  20. <el-input v-model="form.sys_payremind" placeholder="请填写到期提醒天数" :disabled="!isSave"></el-input>
  21. </el-form-item>
  22. </el-col>
  23. <el-col :span="18">
  24. <el-form-item label="试用时间(月份):" prop="sys_trialperiod" >
  25. <el-input v-model="form.sys_trialperiod" type="number" placeholder="请填写试用时间" :disabled="!isSave"></el-input>
  26. <span style="font-size: 12px;color: #a8a9af">若为0,则无试用时间;</span>
  27. </el-form-item>
  28. </el-col>
  29. <el-col :span="18">
  30. <el-form-item label="付费说明:" prop="brandname" >
  31. <el-input v-model="form.sys_payinstructions" placeholder="请填写付费说明" :disabled="!isSave"></el-input>
  32. </el-form-item>
  33. </el-col>
  34. <el-col :span="18">
  35. <el-form-item label="付费类型:" prop="sys_payincidence" >
  36. <el-radio v-model="form.sys_payincidence" label='1' :disabled="!isSave">按账号付费</el-radio>
  37. <el-radio v-model="form.sys_payincidence" label='2' :disabled="!isSave">按主体付费</el-radio>
  38. </el-form-item>
  39. </el-col>
  40. <el-col :span="18">
  41. <el-form-item >
  42. <accountRule ref="accountRule" v-if="form.sys_payincidence == '1'" :disabled="isSave"></accountRule>
  43. <mainBodyRule ref="mainBodyRule" v-else :disabled="isSave"></mainBodyRule>
  44. </el-form-item>
  45. </el-col>
  46. </el-form>
  47. </el-row>
  48. </div>
  49. </div>
  50. </template>
  51. <script>
  52. import edit from './modules/edit.vue'
  53. import versionDefinition from './modules/versionDefinition.vue'
  54. import accountRule from './modules/accountRule.vue'
  55. import mainBodyRule from './modules/mainBodyRule.vue'
  56. import payOrders from './modules/payOrders.vue'
  57. export default {
  58. name: "index",
  59. components:{edit,versionDefinition,accountRule,mainBodyRule,payOrders},
  60. data(){
  61. return {
  62. form:{
  63. "sys_payincidence": 1, //付费影响范围(付费类型)1,按账号,2按主体
  64. "sys_payswitch": 1, //系统付费开关
  65. "sys_trialperiod": '', //系统试用时间(月份)
  66. "sys_payinstructions": "",
  67. "sys_payremind":''
  68. },
  69. rules:{
  70. sys_payswitch: [
  71. { required: true, message: '请选择是否开启付费', trigger: 'change' },
  72. ],
  73. sys_trialperiod: [
  74. { required: true, message: '请填写试用时间', trigger: 'blur' },
  75. ],
  76. sys_payincidence: [
  77. { required: true, message: '请选择付费范围', trigger: 'change' },
  78. ],
  79. },
  80. isSave:false,
  81. isOpen:false
  82. }
  83. },
  84. methods:{
  85. async queryData(){
  86. const res = await this.$api.requested({
  87. "classname": "webmanage.site.site",
  88. "method": "querySite_Parameter",
  89. "content": {},
  90. })
  91. console.log(res,'站点信息数据')
  92. this.form.sys_payswitch = res.data.sys_payswitch == '1'?'1':'0'
  93. this.form.sys_payinstructions = res.data.sys_payinstructions
  94. this.form.sys_trialperiod = res.data.sys_trialperiod
  95. this.form.sys_payincidence = res.data.sys_payincidence == '1'?'1':'2'
  96. this.form.sys_payremind = res.data.sys_payremind
  97. console.log(this.form,'表单数据')
  98. if (this.form.sys_payswitch == '0'){
  99. this.isSave = false
  100. this.isOpen = false
  101. }else {
  102. this.isSave = false
  103. this.isOpen = false
  104. }
  105. },
  106. save(){
  107. console.log(this.form)
  108. },
  109. onEdit(){
  110. this.isOpen = true
  111. this.isSave = true
  112. },
  113. onSave(){
  114. this.$refs.form.validate(async (valid)=>{
  115. if (!valid) return false
  116. this.form.sys_payswitch = this.form.sys_payswitch == '1'?1:0
  117. this.form.sys_payincidence = this.form.sys_payincidence == '1'?1:2
  118. const res = await this.$api.requested({
  119. "classname": "webmanage.site.site",
  120. "method": "updateSitePayInfo",
  121. "content": this.form,
  122. })
  123. this.tool.showMessage(res,()=>{
  124. this.isOpen = false
  125. this.isSave = false
  126. this.form.sys_payswitch = res.data.sys_payswitch == '1'?'1':'0'
  127. this.form.sys_payincidence = res.data.sys_payincidence == '1'?'1':'2'
  128. this.queryData()
  129. this.$refs.accountRule.listData()
  130. this.$refs.mainBodyRule.queryData()
  131. })
  132. })
  133. }
  134. },
  135. mounted() {
  136. this.queryData()
  137. }
  138. }
  139. </script>
  140. <style scoped>
  141. </style>