detail.blade.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. @extends('layouts.base')
  2. @section('title', '分时预约')
  3. @section('content')
  4. <link rel="stylesheet" href="{{resource_get('plugins/reserve-simple/src/static/index.css')}}">
  5. <div class="all">
  6. <div id="app" v-cloak>
  7. <div class="vue-crumbs">
  8. <a @click="goBack()">{{$lang_set['service']}}管理</a> > 编辑{{$lang_set['service']}}
  9. </div>
  10. <el-form ref="form" :model="form" :rules="rules" label-width="15%">
  11. <div class="vue-main">
  12. <div class="vue-main-title">
  13. <div class="vue-main-title-left"></div>
  14. <div class="vue-main-title-content">编辑{{$lang_set['service']}}</div>
  15. </div>
  16. <div class="vue-main-form">
  17. <el-form-item label="{{$lang_set['service']}}名称" prop="title">
  18. <el-input v-model="form.title" style="width:70%;"></el-input>
  19. </el-form-item>
  20. <el-form-item label="{{$lang_set['service']}}时长" prop="service_time">
  21. <el-input v-model="form.service_time" type="number" style="width:70%;">
  22. <template slot="append">分钟</template>
  23. </el-input>
  24. </el-form-item>
  25. <el-form-item label="预约间隔时间" prop="service_time_interval">
  26. <el-input v-model="form.service_time_interval" type="number" style="width:70%;">
  27. <template slot="append">分钟</template>
  28. </el-input>
  29. <div class="tip">前端显示预约间隔时间={{$lang_set['service']}}时长+预约间隔时间</div>
  30. </el-form-item>
  31. <el-form-item label="可同时被预约人数" prop="max_reserve">
  32. <el-input v-model="form.max_reserve" type="number" style="width:70%;"></el-input>
  33. <div class="tip">默认1人</div>
  34. </el-form-item>
  35. </div>
  36. </div>
  37. </el-form>
  38. <div class="vue-page">
  39. <div class="vue-center">
  40. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  41. <el-button @click="goBack">返回</el-button>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <script>
  47. var app = new Vue({
  48. el:"#app",
  49. delimiters: ['[[', ']]'],
  50. name: 'test',
  51. data() {
  52. return{
  53. id:0,
  54. form:{
  55. title:'',
  56. service_time:'',
  57. service_time_interval:'',
  58. max_reserve:1
  59. },
  60. submit_url:'',
  61. is_edit:false,
  62. rules:{
  63. title:{ required: true, message: '请输入{{$lang_set['service']}}名称'},
  64. service_time:{ required: true, message: '请输入{{$lang_set['service']}}时长'}
  65. },
  66. }
  67. },
  68. created() {
  69. },
  70. mounted() {
  71. this.id = this.getParam("id");
  72. if(this.id) {
  73. this.is_edit = true;
  74. this.submit_url = `{!! yzWebFullUrl('plugin.reserve-simple.admin.service.update') !!}`;
  75. this.getData();
  76. }
  77. else {
  78. this.submit_url = `{!! yzWebFullUrl('plugin.reserve-simple.admin.service.create') !!}`;
  79. }
  80. },
  81. methods: {
  82. getParam(name) {
  83. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  84. var r = window.location.search.substr(1).match(reg);
  85. if (r != null) return unescape(r[2]);
  86. return null;
  87. },
  88. getData() {
  89. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  90. this.$http.post('{!! yzWebFullUrl('plugin.reserve-simple.admin.service.getDetail') !!}',{id:this.id}).then(function (response) {
  91. if (response.data.result){
  92. this.form = {
  93. ...response.data.data,
  94. };
  95. }
  96. else {
  97. this.$message({message: response.data.msg,type: 'error'});
  98. }
  99. loading.close();
  100. },function (response) {
  101. this.$message({message: response.data.msg,type: 'error'});
  102. loading.close();
  103. }
  104. );
  105. },
  106. submitForm(formName) {
  107. let json = {
  108. title:this.form.title,
  109. service_time:this.form.service_time,
  110. service_time_interval:this.form.service_time_interval,
  111. max_reserve:this.form.max_reserve
  112. };
  113. if(this.id) {
  114. json.id = this.id
  115. }
  116. this.$refs[formName].validate((valid) => {
  117. if (valid) {
  118. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  119. this.$http.post(this.submit_url,{service:json}).then(response => {
  120. if (response.data.result) {
  121. this.$message({type: 'success',message: '操作成功!'});
  122. this.goBack();
  123. } else {
  124. this.$message({message: response.data.msg,type: 'error'});
  125. }
  126. loading.close();
  127. },response => {
  128. loading.close();
  129. });
  130. }
  131. else {
  132. console.log('error submit!!');
  133. return false;
  134. }
  135. });
  136. },
  137. goBack() {
  138. history.go(-1)
  139. },
  140. },
  141. })
  142. </script>
  143. @endsection