index.html 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. {extend name="vue_layout/main" /}
  2. {block name="styles"}
  3. <style>
  4. .Va-container-content {
  5. height: 72vw;
  6. }
  7. .icons-type-list {
  8. width: 350px;
  9. overflow: hidden;
  10. padding: 0;
  11. }
  12. .icons-type-one {
  13. border-radius: unset !important;
  14. border: 1px solid #ccc;
  15. padding: 10px 10px;
  16. margin: 2px;
  17. }
  18. .icons-type-list .icons-type-one.is-checked {
  19. border: 1px solid var(--buttonHoverColors);
  20. }
  21. </style>
  22. {/block}
  23. <!-- 主体 -->
  24. {block name="content"}
  25. <div class="form-container" style="overflow: hidden">
  26. <div class="form-container-header">
  27. <el-form :inline="true" :model="tables.search" size="small">
  28. <el-form-item>
  29. <el-input v-model="tables.search.keyword" placeholder="按昵称|手机号关键词搜索" clearable></el-input>
  30. </el-form-item>
  31. <el-form-item>
  32. <el-select v-model="tables.search.gender" placeholder="-- 按性别搜索 --" clearable>
  33. <el-option label="状态(全部)" value=""></el-option>
  34. <el-option key="0" label="女" value="0"></el-option>
  35. <el-option key="1" label="男" value="1"></el-option>
  36. </el-select>
  37. </el-form-item>
  38. <el-form-item>
  39. <el-button type="primary" size="small" @click="tablesSearchEvent"><i class="fa fa-search"></i> 搜 索
  40. </el-button>
  41. <el-button size="small" @click="tablesResetsEvent"><i class="fa fa-refresh"></i> 重 置</el-button>
  42. </el-form-item>
  43. </el-form>
  44. </div>
  45. <div class="form-container-main inline-tables no-pic" v-loading="tables.options.loading">
  46. <el-table
  47. :data="tables.data"
  48. border
  49. :stripe="true"
  50. @selection-change="tablesSelectChange"
  51. @sort-change="tablesPaginationSortChange"
  52. @cell-click="tablesCellMoveEvent"
  53. tooltip-effect="dark"
  54. ref="formContainerTables"
  55. row-key="id">
  56. <el-table-column prop="id" label="#ID" align="center" min-width="50"></el-table-column>
  57. <el-table-column prop="room" label="直播间logo" align="center" min-width="70">
  58. <template slot-scope="scope">
  59. <va-image :src="scope.row.room.logo" :key="scope.row.room.logo" class="tables-image"></va-image>
  60. </template>
  61. </el-table-column>
  62. <el-table-column prop="room" label="直播间名称" align="center" min-width="100">
  63. <template slot-scope="scope">
  64. <span>{{scope.row.room.name}}</span>
  65. </template>
  66. </el-table-column>
  67. <el-table-column prop="goods_no" label="商品序号" align="center"></el-table-column>
  68. <el-table-column prop="goods" label="商品名称" align="center" min-width="100">
  69. <template slot-scope="scope">
  70. <span>{{scope.row.goods.title}}</span>
  71. </template>
  72. </el-table-column>
  73. <el-table-column prop="goods" label="商品单价" align="center" min-width="100">
  74. <template slot-scope="scope">
  75. <el-tag size="mini" effect="plain">¥{{scope.row.goods.price[0]}}</el-tag>
  76. </template>
  77. </el-table-column>
  78. <el-table-column prop="status" label="状态" align="center">
  79. <template slot-scope="scope">
  80. <el-tag v-if="scope.row.status == 'down'" size="mini" type="danger" effect="plain">已下架</el-tag>
  81. <el-tag v-else size="mini" type="success" effect="plain">已上架</el-tag>
  82. </template>
  83. </el-table-column>
  84. <el-table-column prop="is_top" label="讲解" align="center">
  85. <template slot-scope="scope">
  86. <el-tag v-if="scope.row.is_top == 1" size="mini" type="success" effect="plain">讲解中</el-tag>
  87. <el-tag v-else size="mini" type="info" effect="plain">默认</el-tag>
  88. </template>
  89. </el-table-column>
  90. <el-table-column prop="create_time" label="创建时间" align="center" :formatter="formatTableDate" min-width="160" sortable></el-table-column>
  91. <el-table-column prop="options" label="操作" align="left" fixed="right" width="160">
  92. <template slot-scope="scope">
  93. <el-button size="mini" warning type="text" @click="tablesRowsUpdate(scope.row)" v-if="permissions.edit">
  94. <i :class="permissions.edit.icon"></i> {{permissions.edit.name}}
  95. </el-button>
  96. <!-- 更多操作 -->
  97. <!-- <el-dropdown size="small" style="margin-left: 10px">-->
  98. <!-- <el-button size="mini" primary type="text"><i class="fa fa-reorder "></i> 更多操作<i-->
  99. <!-- class="el-icon-arrow-down el-icon&#45;&#45;right"></i></el-button>-->
  100. <!-- <el-dropdown-menu slot="dropdown">-->
  101. <!-- <el-dropdown-item v-if="permissions.status">-->
  102. <!-- <el-button size="mini" warning type="text"-->
  103. <!-- @click="tablesRowsStatus(scope.row,{id:scope.row.id})"-->
  104. <!-- v-if="permissions.status" :disabled="scope.row.is_system==1">-->
  105. <!-- <i :class="permissions.status.icon"></i>-->
  106. <!-- {{tables.status.maps[scope.row.status]}}-->
  107. <!-- </el-button>-->
  108. <!-- </el-dropdown-item>-->
  109. <!-- <el-dropdown-item v-if="permissions.remove">-->
  110. <!-- <el-button size="mini" danger type="text" @click="tablesRowsRemove(scope.row)"-->
  111. <!-- v-if="permissions.remove" :disabled="scope.row.is_system==1">-->
  112. <!-- <i :class="permissions.remove.icon"></i> {{permissions.remove.name}}-->
  113. <!-- </el-button>-->
  114. <!-- </el-dropdown-item>-->
  115. <!-- </el-dropdown-menu>-->
  116. <!-- </el-dropdown>-->
  117. <!-- 更多操作 End. -->
  118. </template>
  119. </el-table-column>
  120. </el-table>
  121. <div class="Va-container-tables-pagination-box">
  122. <el-pagination
  123. class="Va-container-tables-pagination"
  124. @size-change="tablesPaginationSizeChange"
  125. @current-change="tablesPaginationCurrentChange"
  126. :current-page.sync="tables.pagination.page"
  127. :page-sizes="tables.pagination.sizes"
  128. :page-size="tables.pagination.size"
  129. :layout="tables.pagination.layouts"
  130. :total="tables.pagination.total"
  131. data-7512a93d>
  132. </el-pagination>
  133. </div>
  134. </div>
  135. </div>
  136. {include file="live_room_goods/forms" /}
  137. {/block}
  138. <!-- vue -->
  139. {block name="scripts"}
  140. <script>
  141. var $App = new Vue({
  142. el: '#app',
  143. mixins: [$Config, $Layouts, $Tables, $DialogForms],
  144. data: {
  145. menuRule:'live_room_goods',
  146. component: {status: false},
  147. config: {permissions: true},
  148. tables: {
  149. remove: {
  150. url: 'remove', msg: '确认删除当前数据吗?', field: 'id'
  151. },
  152. status: {
  153. url: 'status', field: 'status'
  154. },
  155. sort: {
  156. url: 'rank', item: 'sort', field: 'id'
  157. },
  158. url: 'live_room_goods',
  159. search: {},
  160. pagination: {
  161. layout: ''
  162. },
  163. prop: 'id', orderBy: 'desc'
  164. },
  165. create: {
  166. dialog: false, loading: false, action: '#',
  167. model: {name: '', sort: 255},
  168. rules: {
  169. title: [
  170. {required: true, message: '请填写标题', trigger: 'blur'}
  171. ]
  172. }
  173. },
  174. },
  175. methods: {
  176. tablesRowsInsert() {
  177. var that = this;
  178. that.create.action = 'insert';
  179. that.create.model = {name: '', sort: 255};
  180. that.dialogFormsOpens('create');
  181. },
  182. tablesRowsUpdate(rows) {
  183. var that = this;
  184. that.create.action = 'update';
  185. that.create.model = {
  186. id: rows.id,
  187. name: rows.name,
  188. sort: rows.sort,
  189. };
  190. that.dialogFormsOpens('create');
  191. },
  192. tablesResetsEvent() {
  193. var that = this;
  194. that.tables.search = {};
  195. that.tablesGetTableList();
  196. },
  197. },
  198. created() {
  199. },
  200. mounted() {
  201. }
  202. })
  203. </script>
  204. {/block}