document.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <template>
  2. <div class="document">
  3. <el-form
  4. label-width="77px"
  5. class="ele-form-search"
  6. @keyup.enter.native="search"
  7. @submit.native.prevent
  8. >
  9. <el-row type="flex" :gutter="15">
  10. <el-col :span="6">
  11. <el-form-item label="类型:" label-width="100px">
  12. <el-input clearable v-model="where.code" placeholder="请输入" />
  13. </el-form-item>
  14. </el-col>
  15. <el-col :span="6">
  16. <el-form-item label="编码:" label-width="100px">
  17. <el-input clearable v-model="where.name" placeholder="请输入" />
  18. </el-form-item>
  19. </el-col>
  20. <el-col :span="6">
  21. <el-form-item label="名称:" label-width="100px">
  22. <el-input clearable v-model="where.fixCode" placeholder="请输入" />
  23. </el-form-item>
  24. </el-col>
  25. <el-col :span="6">
  26. <el-form-item label="版本:" label-width="100px">
  27. <el-input clearable v-model="where.name" placeholder="请输入" />
  28. </el-form-item>
  29. </el-col>
  30. </el-row>
  31. <el-row type="flex" :gutter="15">
  32. <el-col :span="6">
  33. <el-form-item label="状态" label-width="100px">
  34. <el-input clearable v-model="where.name" placeholder="请输入" />
  35. </el-form-item>
  36. </el-col>
  37. <el-col :span="6">
  38. <el-form-item label="创建人" label-width="100px">
  39. <el-input clearable v-model="where.name" placeholder="请输入" />
  40. </el-form-item>
  41. </el-col>
  42. <el-col :span="6">
  43. <el-form-item label="创建时间" label-width="100px">
  44. <el-date-picker
  45. style="width: 100%"
  46. v-model="where.endTime"
  47. value-format="yyyy-MM"
  48. type="month"
  49. placeholder="选择有效期结束时间"
  50. >
  51. </el-date-picker>
  52. </el-form-item>
  53. </el-col>
  54. <el-col :span="6">
  55. <div class="ele-form-actions">
  56. <el-button
  57. type="primary"
  58. icon="el-icon-search"
  59. class="ele-btn-icon"
  60. size="small"
  61. @click="search"
  62. >
  63. 查询
  64. </el-button>
  65. <el-button
  66. icon="el-icon-refresh-left"
  67. size="small"
  68. type="primary"
  69. @click="reset"
  70. >重置</el-button
  71. >
  72. </div>
  73. </el-col>
  74. </el-row>
  75. </el-form>
  76. <ele-pro-table
  77. ref="table"
  78. :columns="columns"
  79. :datasource="datasource"
  80. height="calc(100vh - 635px)"
  81. full-height="calc(100vh - 115px)"
  82. tool-class="ele-toolbar-form"
  83. cache-key="systemOrgUserTable"
  84. >
  85. <!-- 操作列 -->
  86. <template v-slot:action="{ row }">
  87. <el-link
  88. type="primary"
  89. :underline="false"
  90. icon="el-icon-view"
  91. @click="search(row)"
  92. >
  93. 详情
  94. </el-link>
  95. <el-link
  96. type="primary"
  97. :underline="false"
  98. icon="el-icon-add"
  99. @click="search(row)"
  100. >
  101. 工步
  102. </el-link>
  103. <el-link
  104. type="primary"
  105. :underline="false"
  106. icon="el-icon-add"
  107. @click="search(row)"
  108. >
  109. 配置
  110. </el-link>
  111. <el-link
  112. type="primary"
  113. :underline="false"
  114. icon="el-icon-delete"
  115. @click="search(row)"
  116. >
  117. 删除
  118. </el-link>
  119. </template>
  120. </ele-pro-table>
  121. </div>
  122. </template>
  123. <script>
  124. import { getBomFilePageList } from '@/api/material/BOM';
  125. export default {
  126. data() {
  127. return {
  128. where: {},
  129. columns: [
  130. {
  131. width: 45,
  132. type: 'selection',
  133. columnKey: 'selection',
  134. align: 'center'
  135. },
  136. {
  137. columnKey: 'index',
  138. type: 'index',
  139. label: '序号',
  140. width: 55,
  141. align: 'center',
  142. showOverflowTooltip: true,
  143. fixed: 'left'
  144. },
  145. {
  146. columnKey: 'code',
  147. prop: 'code',
  148. slot: 'code',
  149. label: '类型',
  150. showOverflowTooltip: true,
  151. minWidth: 180
  152. },
  153. {
  154. prop: 'name',
  155. label: '编码',
  156. showOverflowTooltip: true,
  157. minWidth: 110
  158. },
  159. {
  160. prop: 'fixCode',
  161. label: '名称',
  162. showOverflowTooltip: true,
  163. minWidth: 110
  164. },
  165. {
  166. prop: 'postName',
  167. label: '版本',
  168. showOverflowTooltip: true,
  169. minWidth: 110
  170. },
  171. {
  172. prop: 'codeNumber',
  173. label: '状态',
  174. showOverflowTooltip: true,
  175. minWidth: 110
  176. },
  177. {
  178. prop: 'category.modelType',
  179. label: '创建人',
  180. showOverflowTooltip: true,
  181. minWidth: 110
  182. },
  183. {
  184. prop: 'category.specification',
  185. label: '创建时间',
  186. showOverflowTooltip: true,
  187. minWidth: 110
  188. },
  189. {
  190. columnKey: 'action',
  191. slot: 'action',
  192. label: '操作',
  193. minWidth: 300,
  194. fixed: 'right'
  195. }
  196. ]
  197. };
  198. },
  199. methods: {
  200. search() {
  201. console.log('search');
  202. },
  203. datasource({ where, page, limit }) {
  204. return getBomFilePageList({
  205. ...where,
  206. pageNum: page,
  207. size: limit
  208. });
  209. },
  210. search() {
  211. this.$refs.table.reload({ where: this.where });
  212. },
  213. reload(where) {
  214. this.$refs.table.reload({ where });
  215. },
  216. reset() {
  217. this.where = {};
  218. this.reload(this.where);
  219. }
  220. }
  221. };
  222. </script>