edit.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <template>
  2. <div>
  3. <el-button size="mini" type="primary" @click="editBtn">编 辑</el-button>
  4. <el-dialog title="编辑收款条件" append-to-body :visible.sync="dialogFormVisible" width="40%">
  5. <el-row :gutter="20">
  6. <el-form :model="form" :rules="rules" ref="form" label-width="110px" label-position="right" size="mini">
  7. <el-col :span="24">
  8. <el-form-item label="账期依据" prop="point">
  9. <el-select class="width-240" v-model="form.point" placeholder="请选择账期依据">
  10. <el-option label="订单" value="订单审核"></el-option>
  11. <el-option label="销售出库" value="销售出库审核"></el-option>
  12. <el-option label="发票" value="发票审核"></el-option>
  13. </el-select>
  14. </el-form-item>
  15. </el-col>
  16. <el-col :span="24" v-if="form.point == '订单审核'">
  17. <el-form-item label="立账额度比例" prop="amountrate">
  18. <el-input v-model="form.amountrate" placeholder="请输入立账额度比例"></el-input>
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="24">
  22. <el-form-item label="后置天数" prop="days">
  23. <el-input v-model="form.days" placeholder="请输入后置天数"></el-input>
  24. </el-form-item>
  25. </el-col>
  26. <el-col :span="24">
  27. <el-form-item label="描述" prop="remarks">
  28. <el-input type="textarea" v-model="form.remarks" placeholder="请输入备注"></el-input>
  29. </el-form-item>
  30. </el-col>
  31. <el-col :span="24">
  32. <el-form-item label="是否默认条件" prop="isdefault">
  33. <el-checkbox :true-label="1" :false-label="0" v-model="form.isdefault"></el-checkbox>
  34. </el-form-item>
  35. </el-col>
  36. </el-form>
  37. </el-row>
  38. <div class="dialog-footer">
  39. <el-button size="small" @click="dialogFormVisible = false;$refs.form.resetFields()" class="normal-btn-width">取 消</el-button>
  40. <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
  41. </div>
  42. </el-dialog>
  43. </div>
  44. </template>
  45. <script>
  46. export default {
  47. name: "add",
  48. props:['data'],
  49. data(){
  50. var NumberSize = (rule, value, callback) => {
  51. if (+value >= 0.1 && +value <= 1) {
  52. callback()
  53. } else {
  54. return callback(new Error('额度比率范围(0.1-1)'));
  55. }
  56. }
  57. return {
  58. dialogFormVisible:false,
  59. form:{
  60. "sa_receivableruleid":0,
  61. "days":"10",
  62. "amountrate":'',
  63. "point":"",
  64. "remarks":"",
  65. "isdefault":1
  66. },
  67. rules:{
  68. point:[
  69. { required: true, message: '请选择账期依据', trigger: 'change'},
  70. ],
  71. amountrate:[
  72. { required: true, message: '请输入立账额度比率', trigger: 'blur'},
  73. { validator: NumberSize , trigger:'blur'}
  74. ],
  75. days:[
  76. { required: true, message: '请输入后置天数', trigger: 'blur'}
  77. ],
  78. isdefault:[
  79. { required: true, message: '请选择是否默认条件', trigger: 'blur'}
  80. ],
  81. remarks:[
  82. { required: true, message: '请输入描述', trigger: 'blur'}
  83. ],
  84. }
  85. }
  86. },
  87. methods:{
  88. editBtn () {
  89. this.dialogFormVisible = true
  90. this.form = Object.assign({},this.form,this.data)
  91. },
  92. onSubmit(){
  93. console.log(this.form)
  94. this.$refs['form'].validate(async (valid) => {
  95. if (!valid) return false
  96. const res = await this.$api.requested({
  97. "id": "20230110095903",
  98. "version":1,
  99. "content": this.form
  100. })
  101. this.tool.showMessage(res,()=>{
  102. this.$emit('onSuccess')
  103. this.$refs['form'].resetFields();
  104. this.dialogFormVisible = false
  105. })
  106. })
  107. }
  108. }
  109. }
  110. </script>
  111. <style scoped>
  112. .dialog-footer {
  113. margin-top: 0;
  114. }
  115. .el-select {
  116. width: 100% !important;
  117. }
  118. </style>