dispatch-type.blade.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. @extends('layouts.base')
  2. @section('content')
  3. @section('title', trans('配送方式'))
  4. <style>
  5. .el-icon-edit{font-size:16px;padding:0 15px;color:#409EFF;cursor: pointer;}
  6. .edit-i{display:none;}
  7. .el-table_1_column_2:hover .edit-i{font-weight:900;padding:0;margin:0;display:inline-block;}
  8. .con{
  9. padding-bottom:40px;
  10. border-radius: 8px;
  11. }
  12. .con .block{
  13. padding:10px;
  14. background-color:#fff;
  15. border-radius: 8px;
  16. height:30vh;
  17. }
  18. </style>
  19. <div id="app" class="w1200 ">
  20. <div class=" rightlist ">
  21. <div class="right-titpos">
  22. <ul class="add-snav">
  23. <li class="active"><a href="#">配送方式列表</a></li>
  24. <a class='btn btn-primary' href="#" style="margin-bottom:5px;" @click="showBulkUpdateGoods()"><i class='fa fa-hand-o-up'></i> 批量更新商品</a>
  25. </ul>
  26. </div>
  27. <div class="right-addbox">
  28. <div>
  29. <div class="panel panel-info">
  30. <div class="panel-body">
  31. </div>
  32. </div>
  33. <div class="panel panel-default">
  34. <div class="panel-body table-responsive">
  35. <div v-loading="loading">
  36. <!-- 表格start -->
  37. {{--<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange">--}}
  38. <el-table :data="list" style="width: 100%" max-height="600" v-loading="table_loading">
  39. <el-table-column prop="id" label="ID" width="80" align="center"></el-table-column>
  40. <el-table-column prop="sort" label="排序" max-width="80" align="center">
  41. <template slot-scope="scope">
  42. <el-popover class="item" placement="top" effect="light">
  43. <div style="text-align:center;">
  44. <el-input v-model="change_sort" size="small"
  45. style="width:100px;"></el-input>
  46. <el-button size="small"
  47. @click="confirmChangeSort(scope.row.id)">确定
  48. </el-button>
  49. </div>
  50. <a slot="reference">
  51. <i class="el-icon-edit edit-i" title="点击编辑排序"
  52. @click="editSort(scope.row.sort)"></i>
  53. </a>
  54. </el-popover>
  55. [[scope.row.sort]]
  56. </template>
  57. </el-table-column>
  58. <el-table-column prop="name" label="配送名称" max-width="100" align="center"></el-table-column>
  59. <el-table-column label="是否开启" max-width="100" align="center">
  60. <template slot-scope="scope">
  61. <el-switch v-model="scope.row.enable" :active-value="1" :inactive-value="0" @change="editEnable(scope.row.id, scope.row.enable)"></el-switch>
  62. {{--<el-switch v-model="scope.row.enable" @change="editEnable(scope.row.id)" active-color="#13ce66" inactive-color="#ff4949"></el-switch>--}}
  63. </template>
  64. </el-table-column>
  65. </el-table>
  66. <!-- 表格end -->
  67. </div>
  68. </div>
  69. </div>
  70. <el-dialog :visible.sync="dispatchTypeShow" width="60%" center title="批量更新">
  71. <div class="con">
  72. <div class="block">
  73. <div style="text-align: center">
  74. <span>更新商品的配送方式,只更新配送方式为空的商品</span>
  75. </div>
  76. <div style="width:100%;height:30px;"></div>
  77. <div style="text-align: center">
  78. <el-checkbox-group v-model="dispatch_type_ids">
  79. <el-checkbox v-for="dispatchType in list" v-if="dispatchType.enable == 1" :label="dispatchType.id">[[ dispatchType.name]]</el-checkbox>
  80. </el-checkbox-group>
  81. </div>
  82. </div>
  83. <div style="text-align: center">
  84. <el-button class="btn btn-success" type="button" size="small" @click="bulkUpdateGoods()">提交更新</el-button>
  85. </div>
  86. </div>
  87. </el-dialog>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. <script>
  93. var app = new Vue({
  94. el:"#app",
  95. delimiters: ['[[', ']]'],
  96. data() {
  97. return{
  98. loading:false,
  99. table_loading:false,
  100. dispatchTypeShow: false,
  101. list: [],
  102. change_sort: "",//修改排序弹框赋值
  103. dispatch_type_ids: [],
  104. }
  105. },
  106. created() {
  107. this.getList();
  108. },
  109. methods: {
  110. setData(data) {
  111. this.list = data;
  112. console.log(this.list);
  113. },
  114. getList() {
  115. var that = this;
  116. that.table_loading = true;
  117. that.$http.post("{!! yzWebFullUrl('dispatch.dispatch-type.get-data') !!}").then(response => {
  118. console.log(response);
  119. if (response.data.result == 1) {
  120. this.setData(response.data.data);
  121. } else {
  122. that.$message.error(response.data.msg);
  123. }
  124. that.table_loading = false;
  125. }), function (res) {
  126. console.log(res);
  127. that.table_loading = false;
  128. };
  129. },
  130. //开启关闭
  131. editEnable(id, enable) {
  132. var that = this;
  133. that.table_loading = true;
  134. let json = {id: id, enable:enable};
  135. that.$http.post("{!! yzWebFullUrl('dispatch.dispatch-type.edit-enable') !!}", json).then(response => {
  136. console.log(response);
  137. if (response.data.result == 1) {
  138. that.$message.success('操作成功!');
  139. } else {
  140. that.$message.error(response.data.msg);
  141. }
  142. that.table_loading = false;
  143. }), function (res) {
  144. console.log(res);
  145. that.table_loading = false;
  146. };
  147. },
  148. //编辑排序
  149. editSort(sort) {
  150. let that = this;
  151. that.change_sort = sort;
  152. },
  153. // 确认修改排序
  154. confirmChangeSort(id) {
  155. let that = this;
  156. if (!(/^\d+$/.test(that.change_sort))) {
  157. that.$message.error('请输入正确数字');
  158. return false;
  159. }
  160. that.table_loading = true;
  161. let json = {id: id, value: that.change_sort};
  162. that.$http.post("{!! yzWebFullUrl('dispatch.dispatch-type.edit-sort') !!}", json).then(response => {
  163. console.log(response);
  164. if (response.data.result == 1) {
  165. that.$message.success('操作成功!');
  166. that.getList();
  167. } else {
  168. that.$message.error(response.data.msg);
  169. }
  170. that.table_loading = false;
  171. }), function (res) {
  172. console.log(res);
  173. that.table_loading = false;
  174. };
  175. },
  176. showBulkUpdateGoods() {
  177. this.dispatchTypeShow = true;
  178. },
  179. bulkUpdateGoods() {
  180. var that = this;
  181. if (this.dispatch_type_ids.length < 1) {
  182. this.$message.error('请至少选择一种配送方式');
  183. return false;
  184. }
  185. that.$http.post("{!! yzWebFullUrl('dispatch.dispatch-type.bulk-update-goods') !!}", {dispatch_type_ids:this.dispatch_type_ids}).then(response => {
  186. console.log(response.data);
  187. if (response.data.result == 1) {
  188. that.$message.success('批量操作更新成功!');
  189. //location.reload();
  190. } else {
  191. that.$message.error(response.data.msg);
  192. }
  193. }), function (res) {
  194. console.log(res);
  195. };
  196. },
  197. },
  198. })
  199. </script>
  200. @endsection('content')