Plat Admin

agencySort.vue 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <template>
  2. <el-dialog title="合作机构排序" :visible.sync="dialogFormVisible" width="600px">
  3. <div class="box">
  4. <div class="t-left">
  5. <div class="headPhoto"></div>
  6. </div>
  7. <el-form :model="form" class="form-el" ref="form" :rules="rules2">
  8. <el-form-item :label-width="formLabelWidth">
  9. {{form.name}}
  10. </el-form-item>
  11. <el-form-item :label-width="formLabelWidth">
  12. {{form.type}}
  13. </el-form-item>
  14. <el-form-item :label-width="formLabelWidth">
  15. {{form.name}}
  16. </el-form-item>
  17. <el-form-item :label-width="formLabelWidth" prop="level">
  18. <div class='labelBox'>合作机构平台序号</div></span>
  19. <el-input type="level" v-model="form.level" placeholder="最多三位数字" class="conBox" maxlength="3"></el-input>
  20. </el-form-item>
  21. <el-form-item class="modiaB">
  22. <el-button type="primary" @click="submitForm('form')">确定</el-button>
  23. </el-form-item>
  24. </el-form>
  25. </div>
  26. </el-dialog>
  27. </template>
  28. <script>
  29. import { sortUrl } from '@/api/cooperationAgency'
  30. export default {
  31. data() {
  32. // 校验排序字段
  33. const checkAge = (rule, value, callback) => {
  34. const par = /^\d{0,3}$/
  35. if (!value) {
  36. return callback()
  37. } else {
  38. if (par.test(value)) {
  39. return callback()
  40. } else {
  41. callback('请填写数字')
  42. }
  43. }
  44. }
  45. return {
  46. dialogFormVisible: false,
  47. form: {
  48. level: ''
  49. },
  50. rules2: {
  51. level: [
  52. { validator: checkAge, trigger: 'blur' }
  53. ]
  54. },
  55. formLabelWidth: '20px'
  56. }
  57. },
  58. methods: {
  59. submitForm(formName) {
  60. this.$refs[formName].validate((valid) => {
  61. if (valid) {
  62. this.$http.post(sortUrl, { id: this.form.id, level: this.form.level }, (response) => {
  63. if (response.success) {
  64. this.$emit('rearrange')
  65. this.dialogFormVisible = false
  66. }
  67. })
  68. } else {
  69. return false
  70. }
  71. })
  72. }
  73. }
  74. }
  75. </script>
  76. <style scoped>
  77. .modiaB {
  78. text-align: center;
  79. margin: 30px 0;
  80. }
  81. .box {
  82. overflow: hidden;
  83. }
  84. .t-left {
  85. float: left
  86. }
  87. .headPhoto {
  88. width: 100px;
  89. height: 100px;
  90. border: 1px solid red;
  91. }
  92. .form-el {
  93. float: left
  94. }
  95. .form-el .el-form-item {
  96. margin-bottom: 5px;
  97. }
  98. .labelBox {
  99. float: left;
  100. margin-right: 10px;
  101. }
  102. .conBox {
  103. float: left;
  104. width: 200px;
  105. }
  106. .dialog-footer {
  107. text-align: center;
  108. }
  109. </style>