editTable.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <template>
  2. <view class="container">
  3. <view class="page-block">
  4. <view class="page-title-block">
  5. <view class="title">{{table_manager}}信息</view>
  6. </view>
  7. <view class="content">
  8. <view class="cell flex flex-y-center">
  9. <view class="title-block required">
  10. <text>{{table_manager}}名称</text>
  11. </view>
  12. <view class="desc">
  13. <input type="text" v-model="name" class="input-box" placeholder="请输入" placeholder-class="desc-placeholder">
  14. </view>
  15. </view>
  16. <view class="cell flex flex-y-center arr-r">
  17. <view class="title-block required">
  18. <text>{{table_manager}}类型</text>
  19. </view>
  20. <view class="desc">
  21. <picker mode="selector" :range="tableTypeList" range-key="name" @change="onTableTypeChange">
  22. <view :class="[tableTypeActive == -1?'':'desc-placeholder','input-box']">
  23. <!-- {{tableTypeList[tableTypeActive].name || '请选择'}} -->
  24. <block v-if="tableTypeActive>-1">
  25. {{tableTypeList[tableTypeActive].name}}
  26. </block>
  27. <block v-else>
  28. 请选择
  29. </block>
  30. </view>
  31. </picker>
  32. </view>
  33. </view>
  34. <view class="cell flex flex-y-center">
  35. <view class="title-block required">
  36. <text>可使用人数</text>
  37. </view>
  38. <view class="desc">
  39. <input type="text" v-model="number" class="input-box" placeholder="请输入" placeholder-class="desc-placeholder">
  40. </view>
  41. </view>
  42. <view class="cell flex flex-y-center">
  43. <view class="title-block required">
  44. <text>排序</text>
  45. </view>
  46. <view class="desc">
  47. <input type="text" v-model="num" class="input-box" placeholder="请输入" placeholder-class="desc-placeholder">
  48. </view>
  49. </view>
  50. </view>
  51. </view>
  52. <view class="footer-bar">
  53. <view class="content flex flex-center" style="background: none;">
  54. <view class="btn" @click="onSubmit">{{table_id?'保存':'立即添加'}}</view>
  55. </view>
  56. </view>
  57. </view>
  58. </template>
  59. <script>
  60. export default {
  61. data() {
  62. return {
  63. store_id:"",
  64. admin_id:"",
  65. table_id: "",
  66. tableTypeList: [],
  67. tableTypeActive: -1,
  68. table_type_id:"",
  69. name: "",
  70. number: "",
  71. num: 1,
  72. store_id:'',
  73. table_manager:""
  74. }
  75. },
  76. onLoad(options) {
  77. this.store_id=uni.getStorageSync('store_id')
  78. this.table_manager = options.table_manager
  79. uni.setNavigationBarTitle({
  80. title:`${options.table_id?'编辑':'新增'}`
  81. })
  82. if (options.table_id) {
  83. this.table_id = options.table_id
  84. let info = {}
  85. wx.getStorage({
  86. key: 'tabDetail',
  87. success:(res)=> {
  88. info =res.data;
  89. this.name = info.name
  90. this.number = info.number
  91. this.num = info.num
  92. this.table_type_id = info.type_id
  93. this.store_id = info.store_id
  94. this.admin_id = info.admin_id
  95. }
  96. })
  97. }else{
  98. // this.store_id = options.store_id
  99. this.admin_id = uni.getStorageSync('admin_id')
  100. }
  101. this.getTableTypeList()
  102. },
  103. methods: {
  104. onTableTypeChange(e) {
  105. console.log(e)
  106. this.tableTypeActive = e.detail.value
  107. },
  108. //获取桌台分类
  109. getTableTypeList() {
  110. this.request({
  111. url: 'Smdcshop/table_type_list',
  112. data: {
  113. store_id: this.store_id
  114. }
  115. }).then(res => {
  116. if (res.code == '200'||res.code == 200) {
  117. this.tableTypeList = res.data
  118. if(this.table_id){
  119. for(let i in res.data){
  120. if(res.data[i].id == this.table_type_id){
  121. this.tableTypeActive = i
  122. break;
  123. }
  124. }
  125. }
  126. }
  127. })
  128. },
  129. onSubmit() {
  130. let params = {
  131. name: this.name,
  132. num: this.num,
  133. number: this.number,
  134. }
  135. if (params.name == "") {
  136. uni.showToast({
  137. title: `请输入${this.table_manager}名称`,
  138. icon: 'none'
  139. })
  140. return false
  141. } else if (this.tableTypeActive == -1) {
  142. uni.showToast({
  143. title: `请选择${this.table_manager}类型`,
  144. icon: 'none'
  145. })
  146. return false
  147. } else if (params.number == "") {
  148. uni.showToast({
  149. title: "请输入就餐人数",
  150. icon: 'none'
  151. })
  152. return false
  153. } else if (params.num == "") {
  154. uni.showToast({
  155. title: "请输入排序",
  156. icon: 'none'
  157. })
  158. return false
  159. }
  160. params.type_id = this.tableTypeList[this.tableTypeActive].id
  161. if(this.table_id){
  162. //修改
  163. params.id = this.table_id
  164. }else{
  165. //新增
  166. params.admin_id = this.admin_id
  167. params.store_id = this.store_id
  168. }
  169. this.request({
  170. url: this.table_id ? 'Smdcshop/table_update':'Smdcshop/table_add',
  171. data: params
  172. }).then(res => {
  173. if (res.code == 200) {
  174. uni.showModal({
  175. content: this.table_id ? '编辑成功' : '添加成功',
  176. showCancel: false,
  177. success: (r) => {
  178. // let pages = getCurrentPages();
  179. // let prevPage = pages[pages.length - 2];
  180. //
  181. // // #ifdef H5
  182. // prevPage.getData(1)
  183. // // #endif
  184. // // #ifndef H5
  185. // prevPage.$vm.getData(1)
  186. // // #endif
  187. uni.navigateBack();
  188. }
  189. })
  190. }
  191. })
  192. },
  193. }
  194. }
  195. </script>
  196. <style>
  197. @import url("../static/css/common.css");
  198. page {
  199. background-color: #F4F5F7;
  200. }
  201. </style>