moldDownload.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <template slot-scope="scope">
  2. <section>
  3. <!--工具条-->
  4. <el-col :span="24" class="toolbar" style="padding-bottom: 0px;">
  5. <el-form :inline="true" :model="filters">
  6. <el-col :span="2">
  7. <el-form-item>
  8. <el-select v-model="filters.value" clearable placeholder="文档类型">
  9. <el-option label="模具3D图档" value="0"></el-option>
  10. <el-option label="模具2D图档" value="1"></el-option>
  11. <el-option label="零件3D图档" value="2"></el-option>
  12. <el-option label="零件2D图档" value="3"></el-option>
  13. <el-option label="模具保养方案" value="4"></el-option>
  14. </el-select>
  15. </el-form-item>
  16. </el-col>
  17. <el-form-item>
  18. <el-input v-model="filters.name" placeholder="请输入名称进行搜索"></el-input>
  19. </el-form-item>
  20. <el-form-item>
  21. <el-button type="primary">查询</el-button>
  22. </el-form-item>
  23. <el-form-item style="float: right;">
  24. <el-dropdown>
  25. <el-button type="primary">
  26. 下载
  27. <i class="el-icon-arrow-down el-icon--right"></i>
  28. </el-button>
  29. <el-dropdown-menu slot="dropdown">
  30. <el-dropdown-item @click.native="download(0)">全部下载</el-dropdown-item>
  31. <el-dropdown-item @click.native="download(1)" divided>模具3D图档</el-dropdown-item>
  32. <el-dropdown-item @click.native="download(2)">模具2D图档</el-dropdown-item>
  33. <el-dropdown-item @click.native="download(3)">零件3D图档</el-dropdown-item>
  34. <el-dropdown-item @click.native="download(4)">零件2D图档</el-dropdown-item>
  35. <el-dropdown-item @click.native="download(5)">保养方案</el-dropdown-item>
  36. </el-dropdown-menu>
  37. </el-dropdown>
  38. </el-form-item>
  39. </el-form>
  40. </el-col>
  41. <!--列表-->
  42. <el-table
  43. :data="moulds"
  44. :height="tableHeight"
  45. highlight-current-row
  46. v-loading="listLoading"
  47. style="width: 100%;"
  48. @selection-change="selectionChanged"
  49. >
  50. <el-table-column type="selection" width="40"></el-table-column>
  51. <el-table-column type="index" width="60"></el-table-column>
  52. <el-table-column width="200" label="模具名称" prop="name"></el-table-column>
  53. <el-table-column width="200" label="模具3D图档">
  54. <template slot-scope="scope">
  55. <span v-if="scope.row.states[0] == 0">未上传</span>
  56. <span v-else-if="scope.row.states[0] == 1">审批中</span>
  57. <span v-else>已通过</span>
  58. </template>
  59. </el-table-column>
  60. <el-table-column width="200" label="模具2D图档">
  61. <template slot-scope="scope">
  62. <span v-if="scope.row.states[1] == 0">未上传</span>
  63. <span v-else-if="scope.row.states[1] == 1">审批中</span>
  64. <span v-else>已通过</span>
  65. </template>
  66. </el-table-column>
  67. <el-table-column width="200" label="零件3D图档">
  68. <template slot-scope="scope">
  69. <span v-if="scope.row.states[2] == 0">未上传</span>
  70. <span v-else-if="scope.row.states[2] == 1">审批中</span>
  71. <span v-else>已通过</span>
  72. </template>
  73. </el-table-column>
  74. <el-table-column width="200" label="零件2D图档">
  75. <template slot-scope="scope">
  76. <span v-if="scope.row.states[3] == 0">未上传</span>
  77. <span v-else-if="scope.row.states[3] == 1">审批中</span>
  78. <span v-else>已通过</span>
  79. </template>
  80. </el-table-column>
  81. <el-table-column width="200" label="保养方案">
  82. <template slot-scope="scope">
  83. <span v-if="scope.row.states[4] == 0">未上传</span>
  84. <span v-else-if="scope.row.states[4] == 1">审批中</span>
  85. <span v-else>已通过</span>
  86. </template>
  87. </el-table-column>
  88. </el-table>
  89. <!--工具条-->
  90. <el-col :span="24" class="toolbar">
  91. <el-pagination
  92. @size-change="handleSizeChange"
  93. @current-change="handleCurrentChange"
  94. :page-sizes="[20 , 50 , 80 , 100 , 200]"
  95. :page-size="20"
  96. layout="total, sizes, prev, pager, next"
  97. :total="total"
  98. style="float:right;"
  99. ></el-pagination>
  100. </el-col>
  101. </section>
  102. </template>
  103. <script>
  104. import util from "../../common/js/util";
  105. export default {
  106. data() {
  107. return {
  108. moulds: [
  109. //临时数据
  110. { id: 1, name: "墨盒类型1", states: [0, 1, 2, 0, 1] },
  111. { id: 2, name: "墨盒类型2", states: [2, 0, 1, 2, 0] },
  112. { id: 3, name: "墨盒类型3", states: [1, 2, 0, 1, 2] },
  113. { id: 4, name: "墨盒类型4", states: [0, 1, 2, 0, 1] },
  114. { id: 5, name: "墨盒类型5", states: [2, 0, 1, 2, 0] },
  115. { id: 6, name: "墨盒类型6", states: [2, 2, 2, 2, 2] }
  116. ],
  117. filters: {
  118. name: "",
  119. value: ""
  120. },
  121. listLoading: false,
  122. total: 0,
  123. tableHeight: 0,
  124. selectedArray: []
  125. };
  126. },
  127. methods: {
  128. //分页
  129. handleCurrentChange(val) {
  130. this.page = val;
  131. // this.getUsers();
  132. },
  133. handleSizeChange(val) {
  134. this.size = val;
  135. // this.getUsers();
  136. },
  137. selectionChanged(row) {
  138. this.selectedArray = [];
  139. row.forEach(item => {
  140. this.selectedArray.push(item.id);
  141. });
  142. console.log(this.selectedArray);
  143. },
  144. //下载
  145. download(type) {
  146. if (this.selectedArray == []) {
  147. this.$message("请选择要下载的文档");
  148. } else {
  149. switch (type) {
  150. case 0:
  151. console.log("点击了下载全部");
  152. break;
  153. case 1:
  154. console.log("点击了下载模具3D图档");
  155. break;
  156. case 2:
  157. console.log("点击了下载模具2D图档");
  158. break;
  159. case 3:
  160. console.log("点击了下载零件3D图档");
  161. break;
  162. case 4:
  163. console.log("点击了下载零件2D图档");
  164. break;
  165. case 5:
  166. console.log("点击了下载保养方案");
  167. break;
  168. }
  169. }
  170. }
  171. },
  172. created() {
  173. let height = window.innerHeight;
  174. this.tableHeight = height - 210;
  175. },
  176. mounted() {}
  177. };
  178. </script>
  179. <style scoped>
  180. </style>