index.blade.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  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>
  65. <el-button type="primary" icon="el-icon-search" @click="search(1)">搜索
  66. </el-button>
  67. </el-form-item>
  68. </el-col>
  69. </el-row>
  70. </el-form>
  71. </div>
  72. </div>
  73. <div class="vue-main">
  74. <div class="vue-main-form">
  75. <div class="vue-main-title" style="margin-bottom:20px">
  76. <div class="vue-main-title-left"></div>
  77. <div class="vue-main-title-content" style="flex:0 0 120px">商品列表</div>
  78. <div class="vue-main-title-button">
  79. </div>
  80. </div>
  81. <el-table :data="list" style="width: 100%">
  82. <el-table-column label="ID" align="center" prop="id" width="100"></el-table-column>
  83. <el-table-column label="商品" align="center" prop="thumb" width="60">
  84. <template slot-scope="scope">
  85. <div>
  86. <el-image :src="scope.row.thumb" alt="" style="width:50px;height:50px;"></el-image>
  87. </div>
  88. </template>
  89. </el-table-column>
  90. <el-table-column label="" prop="title" align="left">
  91. </el-table-column>
  92. <el-table-column label="价格" align="center" prop="day">
  93. <template slot-scope="scope">
  94. <div>
  95. <div>¥[[scope.row.price]]</div>
  96. </div>
  97. </template>
  98. </el-table-column>
  99. <el-table-column label="库存" align="center" prop="stock_sum"></el-table-column>
  100. <el-table-column label="出货" align="center" prop="used_sum"></el-table-column>
  101. <el-table-column label="状态" align="center" prop="status_name"></el-table-column>
  102. </el-table>
  103. </div>
  104. </div>
  105. <!-- 分页 -->
  106. <div class="vue-page" v-if="total>0">
  107. <el-row>
  108. <el-col align="right">
  109. <el-pagination layout="prev, pager, next,jumper" @current-change="search" :total="total"
  110. :page-size="per_page" :current-page="current_page" background
  111. ></el-pagination>
  112. </el-col>
  113. </el-row>
  114. </div>
  115. </div>
  116. </div>
  117. <script>
  118. let data = {!! $data?:'{}' !!};
  119. console.log(data);
  120. var app = new Vue({
  121. el: "#app",
  122. delimiters: ['[[', ']]'],
  123. name: 'test',
  124. data() {
  125. return {
  126. list:data.list.data,
  127. brands_list:data.brands,
  128. times:[],
  129. category_list : data.catetory_menus.ids,
  130. catlevel : data.catetory_menus.catlevel,
  131. province_list:[],
  132. city_list : [],
  133. status_list: [
  134. {id: '', name: '全部状态'},
  135. {id: 0, name: '下架'},
  136. {id: 1, name: '上架'},
  137. ],
  138. sell_stock_list: [
  139. {id: '', name: '全部'},
  140. {id: 0, name: '售罄'},
  141. {id: 1, name: '出售中'},
  142. ],
  143. category_list_v2: [],
  144. category_list_v3: [],
  145. search_form: {
  146. id_v1: '',
  147. id_v2: '',
  148. id_v3: ''
  149. },
  150. rules: {},
  151. current_page:data.list.current_page,
  152. total:data.list.total,
  153. per_page:data.list.per_page,
  154. }
  155. },
  156. created() {
  157. },
  158. mounted() {
  159. // this.getData(1);
  160. },
  161. methods: {
  162. getData(page) {
  163. let that = this;
  164. console.log(this.times)
  165. let json = {
  166. page:page,
  167. search: {
  168. goods_id: that.search_form.goods_id,
  169. title: that.search_form.keyword,
  170. status: that.search_form.status,
  171. sell_stock: that.search_form.sell_stock,
  172. brand_id: that.search_form.brand_id,
  173. },
  174. category: {
  175. parentid: that.search_form.id_v1,
  176. childid: that.search_form.id_v2,
  177. thirdid: that.search_form.id_v3,
  178. }
  179. };
  180. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  181. this.$http.post('{!! yzWebFullUrl('plugin.package-deliver.independent.goods-assign-stock.goods-search') !!}',json).then(function(response) {
  182. if (response.data.result) {
  183. this.list = response.data.data.data;
  184. this.current_page=response.data.data.current_page;
  185. this.total=response.data.data.total;
  186. this.per_page=response.data.data.per_page;
  187. loading.close();
  188. } else {
  189. this.$message({
  190. message: response.data.msg,
  191. type: 'error'
  192. });
  193. }
  194. loading.close();
  195. }, function(response) {
  196. this.$message({
  197. message: response.data.msg,
  198. type: 'error'
  199. });
  200. loading.close();
  201. });
  202. },
  203. // 一级分类改变
  204. changeV1() {
  205. this.search_form.id_v2 = "";
  206. this.search_form.id_v3 = "";
  207. this.category_list_v2 = [];
  208. this.category_list_v3 = [];
  209. this.category_list.find(item => {
  210. if (item.id == this.search_form.id_v1) {
  211. this.category_list_v2 = item.childrens;
  212. }
  213. });
  214. },
  215. // 二级分类改变
  216. changeV2() {
  217. this.search_form.id_v3 = "";
  218. this.category_list_v3 = [];
  219. if (this.catlevel == 3) {
  220. this.category_list_v2.find(item => {
  221. if (item.id == this.search_form.id_v2) {
  222. this.category_list_v3 = item.childrens;
  223. }
  224. })
  225. }
  226. },
  227. search(val) {
  228. this.getData(val);
  229. },
  230. },
  231. })
  232. </script>
  233. @endsection