add.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <div class="inline-16">
  3. <el-button type="primary" size="small" @click="show" class="el-icon-plus" :disabled="disabled"> 新增分类明细</el-button>
  4. <el-dialog append-to-body :visible.sync="drawer" width="500px" >
  5. <div slot="title" style="font-size: 15px">
  6. 自定义分类/
  7. <el-tag size="mini" >{{data.remarks}}</el-tag>
  8. </div>
  9. <div>
  10. <el-row :gutter="20">
  11. <el-form :model="form" ref="form" :rules="rules" size="mini" label-position="right" label-width="90px">
  12. <el-col :span="20">
  13. <el-form-item label="分类名称:" prop="value">
  14. <el-input type="textarea" autosize v-model="form.value" placeholder="输入分类名称"></el-input>
  15. </el-form-item>
  16. </el-col>
  17. <el-col :span="20">
  18. <el-form-item label="描述:">
  19. <el-input type="text" autosize v-model="form.remarks" placeholder="输入描述"></el-input>
  20. </el-form-item>
  21. </el-col>
  22. </el-form>
  23. </el-row>
  24. </div>
  25. <div class="dialog-footer">
  26. <el-button size="small" @click="close" class="normal-btn-width">取 消</el-button>
  27. <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width btn-primary">确 定</el-button>
  28. </div>
  29. </el-dialog>
  30. </div>
  31. </template>
  32. <script>
  33. export default {
  34. props:["data","disabled"],
  35. data () {
  36. return {
  37. drawer:false,
  38. form:{
  39. "optiontypeid": '',
  40. "optiontypemxid":0,
  41. "isused": "1",
  42. "value":"",
  43. "remarks":"",
  44. "sequence":2
  45. },
  46. rules:{
  47. value:[
  48. { required: true, message: '请输入标签名', trigger: 'blur'},
  49. ],
  50. }
  51. }
  52. },
  53. watch: {
  54. drawer (val) {
  55. !val && this.$refs.form.resetFields()
  56. }
  57. },
  58. methods:{
  59. show(){
  60. this.drawer = true
  61. console.log("参数")
  62. console.log(this.data)
  63. },
  64. async onSubmit () {
  65. this.$refs['form'].validate(async (valid) => {
  66. if (!valid) return false
  67. this.form.optiontypeid = this.data.optiontypeid
  68. const res = await this.$api.requested({ "id": 20220901092601,content:this.form})
  69. this.tool.showMessage(res,()=>{
  70. this.drawer = false
  71. this.$emit('addSuccess')
  72. })
  73. });
  74. },
  75. close() {
  76. this.drawer = false
  77. this.form.remarks = ''
  78. }
  79. },
  80. }
  81. </script>
  82. <style scoped>
  83. /deep/.el-dialog {
  84. transform: translateY(50%);
  85. }
  86. </style>