orderRemark.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <template>
  2. <Modal
  3. v-model="modals"
  4. scrollable
  5. title="备注"
  6. class="order_box"
  7. :closable="false"
  8. >
  9. <Form
  10. ref="formValidate"
  11. :model="formValidate"
  12. :rules="ruleValidate"
  13. :label-width="80"
  14. @submit.native.prevent
  15. >
  16. <FormItem label="备注:" prop="remark">
  17. <Input
  18. v-model="formValidate.remark"
  19. maxlength="200"
  20. show-word-limit
  21. type="textarea"
  22. placeholder="订单备注"
  23. style="width: 100%"
  24. />
  25. </FormItem>
  26. </Form>
  27. <div slot="footer">
  28. <Button type="primary" @click="putRemark('formValidate')">提交</Button>
  29. <Button @click="cancel('formValidate')">取消</Button>
  30. </div>
  31. </Modal>
  32. </template>
  33. <script>
  34. import { putRemarkData, putRefundRemarkData } from "@/api/order";
  35. export default {
  36. name: "orderMark",
  37. props: {
  38. orderId: Number,
  39. remarkType: {
  40. default: "",
  41. type: String,
  42. }
  43. },
  44. data() {
  45. return {
  46. formValidate: {
  47. remark: '',
  48. },
  49. modals: false,
  50. ruleValidate: {
  51. remark: [
  52. { required: true, message: "请输入备注信息", trigger: "blur" },
  53. // { type: 'string', min: 20, message: 'Introduce no less than 20 words', trigger: 'blur' }
  54. ],
  55. },
  56. };
  57. },
  58. methods: {
  59. cancel(name) {
  60. this.modals = false;
  61. this.$refs[name].resetFields();
  62. },
  63. putRemark(name) {
  64. let data = {
  65. id: this.orderId,
  66. remark: this.formValidate,
  67. };
  68. this.$refs[name].validate((valid) => {
  69. if (valid) {
  70. (this.remarkType ? putRefundRemarkData : putRemarkData)(data)
  71. .then(async (res) => {
  72. this.$Message.success(res.msg);
  73. this.modals = false;
  74. this.$refs[name].resetFields();
  75. this.$emit("submitFail");
  76. })
  77. .catch((res) => {
  78. this.$Message.error(res.msg);
  79. });
  80. } else {
  81. this.$Message.warning("请填写备注信息");
  82. }
  83. });
  84. },
  85. },
  86. };
  87. </script>
  88. <style scoped>
  89. </style>