index.html 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  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.deviceCode" placeholder="按设备号搜索" clearable></el-input>
  30. </el-form-item>
  31. <el-form-item>
  32. <el-input v-model="tables.search.deviceType" placeholder="按设备型号搜索" clearable></el-input>
  33. </el-form-item>
  34. <el-form-item>
  35. <el-input v-model="tables.search.watchName" placeholder="按设备名称搜索" clearable></el-input>
  36. </el-form-item>
  37. <el-form-item>
  38. <el-select v-model="tables.search.activationStatus" placeholder="-- 按状态搜索 --" clearable>
  39. <el-option label="状态(全部)" value=""></el-option>
  40. <el-option key="0" label="未激活" value="0"></el-option>
  41. <el-option key="1" label="已激活" value="1"></el-option>
  42. </el-select>
  43. </el-form-item>
  44. <el-form-item>
  45. <el-button type="primary" size="small" @click="tablesSearchEvent"><i class="fa fa-search"></i> 搜 索
  46. </el-button>
  47. <el-button size="small" @click="tablesResetsEvent"><i class="fa fa-refresh"></i> 重 置</el-button>
  48. </el-form-item>
  49. </el-form>
  50. </div>
  51. <div class="form-container-main inline-tables no-pic" v-loading="tables.options.loading">
  52. <el-table
  53. :data="tables.data"
  54. border
  55. :stripe="true"
  56. @selection-change="tablesSelectChange"
  57. @sort-change="tablesPaginationSortChange"
  58. @cell-click="tablesCellMoveEvent"
  59. tooltip-effect="dark"
  60. ref="formContainerTables"
  61. row-key="id">
  62. <el-table-column prop="id" label="#ID" align="center" width="60"></el-table-column>
  63. <el-table-column prop="avatar" label="头像" align="center" width="80">
  64. <template slot-scope="scope">
  65. <va-image :src="scope.row.avatar" :key="scope.row.avatar" class="tables-image"></va-image>
  66. </template>
  67. </el-table-column>
  68. <el-table-column prop="nickname" label="昵称" align="center" width="100"></el-table-column>
  69. <el-table-column prop="mobile" label="手机号" align="center" width="100"></el-table-column>
  70. <el-table-column prop="gender" label="性别" align="center" width="60">
  71. <template slot-scope="scope">
  72. <el-tag v-if="scope.row.gender == 0" size="mini" type="danger" effect="plain">女</el-tag>
  73. <el-tag v-if="scope.row.gender == 1" size="mini" type="success" effect="plain">男</el-tag>
  74. </template>
  75. </el-table-column>
  76. <el-table-column prop="birthday_type" label="生日类型" align="center" width="80">
  77. <template slot-scope="scope">
  78. <el-tag v-if="scope.row.birthday_type == 1" size="mini" type="danger" effect="plain">阴历</el-tag>
  79. <el-tag v-if="scope.row.birthday_type == 2" size="mini" type="success" effect="plain">阳历</el-tag>
  80. </template>
  81. </el-table-column>
  82. <el-table-column prop="birthday" label="生日" align="center"></el-table-column>
  83. <el-table-column prop="watch_id" label="手表用户ID" align="center"></el-table-column>
  84. <el-table-column prop="watch_no" label="手表编号" align="center"></el-table-column>
  85. <el-table-column prop="watch_activation_no" label="手表激活码" align="center"></el-table-column>
  86. <el-table-column prop="watch_bind_time" label="手表绑定时间" align="center" :formatter="formatTableDate" width="160" sortable></el-table-column>
  87. <el-table-column prop="watch_end_time" label="手表到期时间" align="center" :formatter="formatTableDate" width="160" sortable></el-table-column>
  88. <el-table-column prop="urgent" label="紧急联系人姓名" align="center"></el-table-column>
  89. <el-table-column prop="urgent_phone" label="紧急联系人手机号" align="center"></el-table-column>
  90. <el-table-column prop="urgent_relation" label="紧急联系人关系" align="center"></el-table-column>
  91. <el-table-column prop="province" label="省" align="center"></el-table-column>
  92. <el-table-column prop="city" label="市" align="center"></el-table-column>
  93. <el-table-column prop="district" label="区" align="center"></el-table-column>
  94. <el-table-column prop="area" label="地址详情" align="center"></el-table-column>
  95. <el-table-column prop="options" label="操作" align="left" fixed="right" width="160">
  96. <template slot-scope="scope">
  97. <el-button size="mini" warning type="text" @click="tablesRowsUpdate(scope.row)" v-if="permissions.update">
  98. <i :class="permissions.update.icon"></i> {{permissions.update.name}}
  99. </el-button>
  100. <!-- 更多操作 -->
  101. <el-dropdown size="small" style="margin-left: 10px">
  102. <el-button size="mini" primary type="text"><i class="fa fa-reorder "></i> 更多操作<i
  103. class="el-icon-arrow-down el-icon--right"></i></el-button>
  104. <el-dropdown-menu slot="dropdown">
  105. <el-dropdown-item v-if="permissions.status">
  106. <el-button size="mini" warning type="text"
  107. @click="tablesRowsStatus(scope.row,{id:scope.row.id})"
  108. v-if="permissions.status" :disabled="scope.row.is_system==1">
  109. <i :class="permissions.status.icon"></i>
  110. {{tables.status.maps[scope.row.status]}}
  111. </el-button>
  112. </el-dropdown-item>
  113. <el-dropdown-item v-if="permissions.remove">
  114. <el-button size="mini" danger type="text" @click="tablesRowsRemove(scope.row)"
  115. v-if="permissions.remove" :disabled="scope.row.is_system==1">
  116. <i :class="permissions.remove.icon"></i> {{permissions.remove.name}}
  117. </el-button>
  118. </el-dropdown-item>
  119. </el-dropdown-menu>
  120. </el-dropdown>
  121. <!-- 更多操作 End. -->
  122. </template>
  123. </el-table-column>
  124. </el-table>
  125. <div class="Va-container-tables-pagination-box"><el-pagination
  126. class="Va-container-tables-pagination"
  127. @size-change="tablesPaginationSizeChange"
  128. @current-change="tablesPaginationCurrentChange"
  129. :current-page.sync="tables.pagination.page"
  130. :page-sizes="tables.pagination.sizes"
  131. :page-size="tables.pagination.size"
  132. :layout="tables.pagination.layouts"
  133. :total="tables.pagination.total"
  134. data-7512a93d>
  135. </el-pagination></div>
  136. </div>
  137. </div>
  138. {/block}
  139. <!-- vue -->
  140. {block name="scripts"}
  141. <script>
  142. var $App = new Vue({
  143. el: '#app',
  144. mixins: [$Config, $Layouts, $Tables, $DialogForms],
  145. data: {
  146. menuRule:'vue_demo',
  147. component: {status: false},
  148. config: {permissions: true},
  149. tables: {
  150. remove: {
  151. url: 'remove', msg: '确认删除当前数据吗?', field: 'id'
  152. },
  153. status: {
  154. url: 'status', field: 'status'
  155. },
  156. sort: {
  157. url: 'rank', item: 'sort', field: 'id'
  158. },
  159. url: 'vue_demo',
  160. search: {},
  161. pagination: {
  162. layout: ''
  163. },
  164. prop: 'id', orderBy: 'desc'
  165. },
  166. },
  167. methods: {
  168. tablesRowsInsert() {
  169. var that = this;
  170. that.create.action = 'insert';
  171. that.create.model = {name: '', sort: 255};
  172. that.dialogFormsOpens('create');
  173. },
  174. tablesRowsUpdate(rows) {
  175. var that = this;
  176. that.create.action = 'update';
  177. that.create.model = {
  178. id: rows.id,
  179. name: rows.name,
  180. sort: rows.sort,
  181. };
  182. that.dialogFormsOpens('create');
  183. },
  184. tablesResetsEvent() {
  185. var that = this;
  186. that.tables.search = {keyword: '', status: ''};
  187. that.tablesGetTableList();
  188. },
  189. },
  190. created() {
  191. },
  192. mounted() {
  193. }
  194. })
  195. </script>
  196. {/block}