EditKWReplyForm.vue 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <template>
  2. <div id="edit-kw-reply-form-box">
  3. <el-dialog title="编辑关键词回复" :visible.sync="editKWReplyFormVisible" width="700px" >
  4. <el-form ref="replyForm" :rules="replyRules" :model="form" label-width="90px">
  5. <el-form-item label="规则名称:" required prop="message_regular_name">
  6. <el-input v-model="form.message_regular_name"></el-input>
  7. </el-form-item>
  8. <el-form-item label="模式:" required prop="message_key_type">
  9. <el-radio-group v-model="form.message_key_type">
  10. <el-radio :label="item.id" :value="item.id" v-for="(item, index) in keyTypeOptions" :key="index" >{{item.name}}</el-radio>
  11. </el-radio-group>
  12. </el-form-item>
  13. <el-form-item label="关键字:" required prop="message_key_name">
  14. <el-input v-model="form.message_key_name"></el-input>
  15. </el-form-item>
  16. <el-form-item label="回复内容:" required prop="message_content">
  17. <el-input v-model="form.message_content" type="textarea" rows="4"></el-input>
  18. </el-form-item>
  19. </el-form>
  20. <div slot="footer" class="dialog-footer">
  21. <el-button @click="editKWReplyFormVisible = false">取消</el-button>
  22. <el-button
  23. type="primary"
  24. @click="submitForm('replyForm')"
  25. >保 存
  26. </el-button>
  27. </div>
  28. </el-dialog>
  29. </div>
  30. </template>
  31. <script>
  32. import {EditKeyWordReply} from "@/api/mpwechat/mpreply";
  33. export default {
  34. name:'EditReplyForm',
  35. props:{
  36. replysData:{
  37. type: Array,
  38. default: function () {
  39. return [];
  40. }
  41. },
  42. replyIndex:{
  43. type:Number,
  44. default:-1,
  45. },
  46. form:{
  47. id:0,
  48. message_regular_name:'',
  49. message_key_type:1,
  50. message_key_name:'',
  51. message_content:'',
  52. },
  53. },
  54. data(){
  55. return {
  56. editKWReplyFormVisible:false,
  57. keyTypeOptions:[
  58. {id:1, name:'半匹配'},
  59. {id:2, name:'全匹配'},
  60. ],
  61. replyRules: {
  62. message_regular_name: [{required: true, message: "请填写规则名称",},],
  63. message_key_type: [{required: true, message: "请选择模式",},],
  64. message_key_name: [{required: true, message: "请填写关键字",},],
  65. message_content: [{required: true, message: "请填写回复内容",},],
  66. },
  67. }
  68. },
  69. methods:{
  70. open:function(){
  71. this.editKWReplyFormVisible = true;
  72. },
  73. resetForm(formName) {
  74. if (typeof(this.$refs[formName]) !='undefined') {
  75. this.$refs[formName].resetFields();
  76. }
  77. },
  78. submitForm(formName){
  79. this.$refs[formName].validate((valid) => {
  80. if (valid) {
  81. EditKeyWordReply(this.form.id, this.form).then(response=>{
  82. var res = response.data;
  83. if(res.state === 1) {
  84. var message = res.data.message;
  85. this.replysData.splice(this.replyIndex, 1, message);
  86. this.resetForm("replyForm");
  87. this.editKWReplyFormVisible = false;
  88. this.$message.success("编辑成功");
  89. }else {
  90. this.$message.error(res.msg);
  91. }
  92. }).catch(e=>{});
  93. } else {
  94. return false;
  95. }
  96. });
  97. },
  98. }
  99. }
  100. </script>