examine.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <template>
  2. <div>
  3. <el-form
  4. ref="formData"
  5. :model="formData"
  6. :rules="rules"
  7. label-width="100px"
  8. class="demo-ruleForm"
  9. >
  10. <el-form-item
  11. label="审核"
  12. prop="radio"
  13. >
  14. <el-radio-group
  15. v-model="formData.radio"
  16. @change="formDataRadio"
  17. >
  18. <el-radio :label="1">通过</el-radio>
  19. <el-radio :label="2">不通过</el-radio>
  20. </el-radio-group>
  21. </el-form-item>
  22. <div v-if="formData.radio == 1 ? true : false">
  23. <el-form-item
  24. label="计费面积"
  25. key="0"
  26. >
  27. <el-input
  28. class="aaaa"
  29. v-model="formData.measureArea"
  30. type="number"
  31. ></el-input>
  32. </el-form-item>
  33. <el-form-item
  34. label="计费规则"
  35. prop="Rule"
  36. key="1"
  37. >
  38. <el-select
  39. v-model="formData.Rule"
  40. placeholder="请选择计费规则"
  41. >
  42. <el-option
  43. v-for="(item,index) in billing"
  44. :key="index"
  45. :label="item.name"
  46. :value="item.label"
  47. ></el-option>
  48. </el-select>
  49. </el-form-item>
  50. </div>
  51. <div v-if="formData.radio == 2 ? true : false">
  52. <el-form-item
  53. label="不通过原因"
  54. prop="desc"
  55. key="3"
  56. >
  57. <el-input
  58. type="textarea"
  59. v-model="formData.desc"
  60. ></el-input>
  61. </el-form-item>
  62. </div>
  63. </el-form>
  64. </div>
  65. </template>
  66. <script>
  67. export default {
  68. props: ['params'],
  69. data () {
  70. return {
  71. formData: {
  72. radio: 1,
  73. measureArea: '',
  74. Rule: '',
  75. desc: ''
  76. },
  77. id: '',
  78. communityId: '',
  79. billing: [],
  80. rules: {
  81. radio: [
  82. { required: true, message: '请选择审核方式', trigger: 'change' }
  83. ],
  84. Rule: [
  85. { required: true, message: '请选择计费规则', trigger: 'change' }
  86. ],
  87. desc: [
  88. { required: true, message: '请填写不通过原因', trigger: 'blur' }
  89. ],
  90. },
  91. }
  92. },
  93. methods: {
  94. submit () {
  95. this.$refs.formData.validate((valid) => {
  96. if (valid) {
  97. let url = '/czc-community/landlordAudit/audit';
  98. if (this.formData.radio == 1) {
  99. var params = {
  100. auditStatus: this.formData.radio,
  101. area: this.formData.measureArea,
  102. id: this.id,
  103. strategyId: this.formData.Rule,
  104. }
  105. } else if (this.formData.radio == 2) {
  106. var params = {
  107. auditStatus: this.formData.radio,
  108. id: this.id,
  109. remark: this.formData.desc
  110. }
  111. }
  112. this.$http.post(url, params).then(({ data, status, msg }) => {
  113. if (status == 0) {
  114. this.$message.success(msg);
  115. this.$emit('close');
  116. } else {
  117. this.$message.error(msg);
  118. }
  119. })
  120. } else {
  121. this.$message.error(msg);
  122. }
  123. })
  124. },
  125. formDataRadio () {
  126. if (this.formData.radio == 1) {
  127. this.formData.desc = '';
  128. } else if (this.formData.radio == 2) {
  129. this.formData.measureArea = this.params.row.area;
  130. this.formData.Rule = '';
  131. }
  132. },
  133. communityRules () {
  134. this.$http.get('/czc-charge/scChargeStrategy/list', { communityId: this.communityId }).then(({ status, data, msg }) => {
  135. if (status == 0) {
  136. data.map((item, index) => {
  137. this.billing.push({
  138. name: item.chargeName,
  139. label: item.id
  140. })
  141. })
  142. }
  143. })
  144. }
  145. },
  146. created () {
  147. this.communityId = this.params.communityId;
  148. this.id = this.params.row.id;
  149. this.formData.measureArea = this.params.row.area;
  150. this.communityRules();
  151. }
  152. }
  153. </script>
  154. <style>
  155. .el-textarea__inner {
  156. height: 150px !important;
  157. }
  158. .aaaa input::-webkit-outer-spin-button,
  159. .aaaa input::-webkit-inner-spin-button {
  160. -webkit-appearance: none;
  161. }
  162. .aaaa input[type='number'] {
  163. -moz-appearance: textfield;
  164. }
  165. </style>