index.blade.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. @extends('layouts.base')
  2. @section('title', "商品列表")
  3. @section('content')
  4. <link rel="stylesheet" href="{{resource_get('plugins/package-deliver/views/index.css')}}">
  5. <style>
  6. </style>
  7. <div class="all">
  8. <div id="app" v-cloak>
  9. <div class="vue-head">
  10. <div class="vue-main-title" style="margin-bottom:20px">
  11. <div class="vue-main-title-left"></div>
  12. <div class="vue-main-title-content">商品列表</div>
  13. <div class="vue-main-title-button">
  14. </div>
  15. </div>
  16. <div class="vue-search">
  17. <el-form :inline="true" :model="search_form" ref="search_form" style="margin-left:10px;">
  18. <el-row>
  19. <el-form-item label="" prop="">
  20. <el-select v-model="search_form.status" placeholder="请选择商品状态" clearable>
  21. <el-option v-for="item in status_list" :key="item.id" :label="item.name"
  22. :value="item.id"></el-option>
  23. </el-select>
  24. </el-form-item>
  25. <el-form-item label="" prop="">
  26. <el-select v-model="search_form.sell_stock" placeholder="请选择售中库存" clearable>
  27. <el-option v-for="item in sell_stock_list" :key="item.id" :label="item.name"
  28. :value="item.id"></el-option>
  29. </el-select>
  30. </el-form-item>
  31. <el-form-item>
  32. <el-select v-model="search_form.id_v1" placeholder="请选择一级分类" clearable
  33. @change="changeV1()">
  34. <el-option v-for="item in category_list" :key="item.id" :label="item.name"
  35. :value="item.id"></el-option>
  36. </el-select>
  37. </el-form-item>
  38. <el-form-item>
  39. <el-select v-model="search_form.id_v2" placeholder="请选择二级分类" clearable
  40. @change="changeV2()">
  41. <el-option v-for="item in category_list_v2" :key="item.id"
  42. :label="item.name" :value="item.id"></el-option>
  43. </el-select>
  44. </el-form-item>
  45. <el-form-item>
  46. <el-select v-model="search_form.id_v3" placeholder="请选择三级分类" clearable
  47. v-if="catlevel==3">
  48. <el-option v-for="item in category_list_v3" :key="item.id"
  49. :label="item.name" :value="item.id"></el-option>
  50. </el-select>
  51. </el-form-item>
  52. <el-form-item label="" prop="">
  53. <el-select v-model="search_form.brand_id" placeholder="请选择品牌" clearable>
  54. <el-option v-for="item in brands_list" :key="item.id" :label="item.name"
  55. :value="item.id"></el-option>
  56. </el-select>
  57. </el-form-item>
  58. <el-form-item label="" prop="keyword">
  59. <el-input v-model="search_form.keyword" placeholder="请输入商品名称关键字"></el-input>
  60. </el-form-item>
  61. <el-form-item label="" prop="goods_id">
  62. <el-input v-model="search_form.goods_id" placeholder="请输入商品ID"></el-input>
  63. </el-form-item>
  64. <el-form-item label="" prop="">
  65. <el-select v-model="search_form.package_deliver_id" placeholder="请选择自提点" clearable>
  66. <el-option v-for="item in package_deliver_list" :key="item.id" :label="item.deliver_name"
  67. :value="item.id"></el-option>
  68. </el-select>
  69. </el-form-item>
  70. <el-form-item>
  71. <el-button type="primary" icon="el-icon-search" @click="search(1)">搜索
  72. </el-button>
  73. </el-form-item>
  74. </el-col>
  75. </el-row>
  76. </el-form>
  77. </div>
  78. </div>
  79. <div class="vue-main">
  80. <div class="vue-main-form">
  81. <div class="vue-main-title" style="margin-bottom:20px">
  82. <div class="vue-main-title-left"></div>
  83. <div class="vue-main-title-content" style="flex:0 0 120px">商品列表</div>
  84. <div class="vue-main-title-button">
  85. </div>
  86. </div>
  87. <el-table :data="list" style="width: 100%">
  88. <el-table-column label="ID" align="center" prop="id" width="100"></el-table-column>
  89. <el-table-column label="商品" align="center" prop="thumb" width="60">
  90. <template slot-scope="scope">
  91. <div>
  92. <el-image :src="scope.row.thumb" alt="" style="width:50px;height:50px;"></el-image>
  93. </div>
  94. </template>
  95. </el-table-column>
  96. <el-table-column label="" prop="title" align="left"></el-table-column>
  97. <el-table-column label="自提点" align="center" prop="deliver_name"></el-table-column>
  98. <el-table-column label="价格" align="center" prop="day">
  99. <template slot-scope="scope">
  100. <div>
  101. <div>¥[[scope.row.price]]</div>
  102. </div>
  103. </template>
  104. </el-table-column>
  105. <el-table-column label="库存" align="center" prop="stock_sum"></el-table-column>
  106. <el-table-column label="出货" align="center" prop="used_sum"></el-table-column>
  107. <el-table-column label="状态" align="center" prop="status_name"></el-table-column>
  108. </el-table>
  109. </div>
  110. </div>
  111. <!-- 分页 -->
  112. <div class="vue-page" v-if="total>0">
  113. <el-row>
  114. <el-col align="right">
  115. <el-pagination layout="prev, pager, next,jumper" @current-change="search" :total="total"
  116. :page-size="per_page" :current-page="current_page" background
  117. ></el-pagination>
  118. </el-col>
  119. </el-row>
  120. </div>
  121. </div>
  122. </div>
  123. <script>
  124. let data = {!! $data?:'{}' !!};
  125. console.log(data);
  126. var app = new Vue({
  127. el: "#app",
  128. delimiters: ['[[', ']]'],
  129. name: 'test',
  130. data() {
  131. return {
  132. list:data.list.data,
  133. brands_list:data.brands,
  134. times:[],
  135. category_list : data.catetory_menus.ids,
  136. catlevel : data.catetory_menus.catlevel,
  137. package_deliver_list: data.package_deliver_list,
  138. province_list:[],
  139. city_list : [],
  140. status_list: [
  141. {id: '', name: '全部状态'},
  142. {id: 0, name: '下架'},
  143. {id: 1, name: '上架'},
  144. ],
  145. sell_stock_list: [
  146. {id: '', name: '全部'},
  147. {id: 0, name: '售罄'},
  148. {id: 1, name: '出售中'},
  149. ],
  150. category_list_v2: [],
  151. category_list_v3: [],
  152. search_form: {
  153. id_v1: '',
  154. id_v2: '',
  155. id_v3: ''
  156. },
  157. rules: {},
  158. current_page:data.list.current_page,
  159. total:data.list.total,
  160. per_page:data.list.per_page,
  161. }
  162. },
  163. created() {
  164. },
  165. mounted() {
  166. // this.getData(1);
  167. },
  168. methods: {
  169. getData(page) {
  170. let that = this;
  171. let json = {
  172. page:page,
  173. search: {
  174. package_deliver_id: that.search_form.package_deliver_id,
  175. goods_id: that.search_form.goods_id,
  176. title: that.search_form.keyword,
  177. status: that.search_form.status,
  178. sell_stock: that.search_form.sell_stock,
  179. brand_id: that.search_form.brand_id,
  180. },
  181. category: {
  182. parentid: that.search_form.id_v1,
  183. childid: that.search_form.id_v2,
  184. thirdid: that.search_form.id_v3,
  185. }
  186. };
  187. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  188. this.$http.post('{!! yzWebFullUrl('plugin.package-deliver.admin.deliver-goods-stock.goods-search') !!}',json).then(function(response) {
  189. if (response.data.result) {
  190. this.list = response.data.data.data;
  191. this.current_page=response.data.data.current_page;
  192. this.total=response.data.data.total;
  193. this.per_page=response.data.data.per_page;
  194. loading.close();
  195. } else {
  196. this.$message({
  197. message: response.data.msg,
  198. type: 'error'
  199. });
  200. }
  201. loading.close();
  202. }, function(response) {
  203. this.$message({
  204. message: response.data.msg,
  205. type: 'error'
  206. });
  207. loading.close();
  208. });
  209. },
  210. // 一级分类改变
  211. changeV1() {
  212. this.search_form.id_v2 = "";
  213. this.search_form.id_v3 = "";
  214. this.category_list_v2 = [];
  215. this.category_list_v3 = [];
  216. this.category_list.find(item => {
  217. if (item.id == this.search_form.id_v1) {
  218. this.category_list_v2 = item.childrens;
  219. }
  220. });
  221. },
  222. // 二级分类改变
  223. changeV2() {
  224. this.search_form.id_v3 = "";
  225. this.category_list_v3 = [];
  226. if (this.catlevel == 3) {
  227. this.category_list_v2.find(item => {
  228. if (item.id == this.search_form.id_v2) {
  229. this.category_list_v3 = item.childrens;
  230. }
  231. })
  232. }
  233. },
  234. search(val) {
  235. this.getData(val);
  236. },
  237. },
  238. })
  239. </script>
  240. @endsection