detection.vue 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <template>
  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" :placeholder="$t('base.choose')">
  9. <el-option :label="$t('base.num')" value="0"></el-option>
  10. <el-option :label="$t('base.name')" value="1"></el-option>
  11. </el-select>
  12. </el-form-item>
  13. </el-col>
  14. <el-form-item>
  15. <el-input v-model="filters.name" :placeholder="$t('msg.keySearch')" style="width: 300px;" clearable></el-input>
  16. </el-form-item>
  17. <el-form-item>
  18. <el-button type="primary" @click="getMoulds(filters.name)">{{$t('base.query')}}</el-button>
  19. </el-form-item>
  20. </el-form>
  21. </el-col>
  22. <!--列表-->
  23. <el-table :data="moulds" :height="tableHeight" highlight-current-row v-loading="listLoading" style="width: 100%;">
  24. <el-table-column type="index" width="60"></el-table-column>
  25. <el-table-column prop="modelNo" :label="$t('mold.moldNo')" width="150" sortable></el-table-column>
  26. <el-table-column :label="$t('mold.modelName')" width="230" sortable>
  27. <template slot-scope="scope">
  28. <a style="color: #409EFF; cursor: pointer" @click="toMould(scope.row.id)">{{scope.row.modelName}} {{scope.row.rfid}}</a>
  29. </template>
  30. </el-table-column>
  31. <!-- <el-table-column prop="equipmentNo" :label="$t('basic.equipmentNo')" width="180" sortable></el-table-column> -->
  32. <el-table-column prop="equipmentNo" label="CCID" width="180" sortable></el-table-column>
  33. <el-table-column prop="equipmentName" :label="$t('basic.proNum')" width="180" sortable></el-table-column>
  34. <el-table-column prop="projectName" :label="$t('mold.projectName')" width="200" sortable></el-table-column>
  35. <el-table-column prop="produceCompany" :label="$t('mold.factoryName')" width="300" sortable></el-table-column>
  36. <el-table-column prop="area" :label="$t('mold.area')" width="300" sortable></el-table-column>
  37. <el-table-column prop="runTimes" :label="$t('mold.runTimes')" align="center" width="100" sortable>
  38. <template slot-scope="scope">
  39. {{scope.row.runTimes.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')}}
  40. </template>
  41. </el-table-column>
  42. <el-table-column prop="ocCycle" :label="$t('mold.ocCycle')" align="center" width="140" sortable></el-table-column>
  43. <el-table-column prop="hillNumber" :label="$t('mold.hillNumber')" align="center" width="80" sortable>
  44. <template slot-scope="scope">{{scope.row.hillNumber}}<span v-if="scope.row.hillNumber">%</span></template>
  45. </el-table-column>
  46. <el-table-column prop="temperature" :label="$t('runTest.temperature')" align="center" width="80" sortable>
  47. <template slot-scope="scope">{{scope.row.temperature}}<span v-if="scope.row.temperature">℃</span></template>
  48. </el-table-column>
  49. <el-table-column prop="lastOpenTime" :label="$t('runTest.lastOpenTime')" align="center" width="180" sortable></el-table-column>
  50. <el-table-column prop="initialModulus" :label="$t('runTest.initialModulus')" align="center" width="180" sortable>
  51. <template slot-scope="scope">{{(parseInt(scope.row.initialModulus) + parseInt(scope.row.runTimes)).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')}}次</template>
  52. </el-table-column>
  53. <el-table-column :label="$t('runTest.moldState')" align="center" width="100" sortable>
  54. <template slot-scope="scope">
  55. <span v-if="scope.row.state == 0">{{$t('base.static')}}</span>
  56. <span v-else-if="scope.row.state == 1">{{$t('base.run')}}</span>
  57. <span v-else-if="scope.row.state == 2">{{$t('base.warning')}}</span>
  58. <span v-else-if="scope.row.state == 3">{{$t('mold.beScrapped')}}</span>
  59. <span v-else-if="scope.row.state == 4">{{$t('mold.scraped')}}</span>
  60. </template>
  61. </el-table-column>
  62. <el-table-column :label="$t('runTest.stage')" align="center" width="160">
  63. <template slot-scope="scope">
  64. <span v-if="scope.row.stage == 0">{{$t('runTest.stage0')}}</span>
  65. <span v-else-if="scope.row.stage == 1">{{$t('runTest.stage1')}}</span>
  66. <span v-else-if="scope.row.stage == 2">{{$t('runTest.stage2')}}</span>
  67. <span v-else-if="scope.row.stage == 3">{{$t('runTest.remove')}}</span>
  68. <span v-else>{{$t('runTest.stage4')}}</span>
  69. </template>
  70. </el-table-column>
  71. <el-table-column :label="$t('runTest.isMaintain')" align="center" width="100">
  72. <template slot-scope="scope">
  73. <span v-if="scope.row.isMaintain == 1">{{$t('runTest.isMaintain0')}}</span>
  74. <span v-else>{{$t('runTest.isMaintain1')}}</span>
  75. </template>
  76. </el-table-column>
  77. <el-table-column :label="$t('runTest.process')" align="center" width="85">
  78. <template slot-scope="scope">
  79. <el-button size="small" type="primary" @click="toMaintenance(scope.row.id)">{{$t('base.detail')}}</el-button>
  80. </template>
  81. </el-table-column>
  82. </el-table>
  83. <!--工具条-->
  84. <el-col :span="24" class="toolbar">
  85. <el-pagination
  86. @size-change="handleSizeChange"
  87. @current-change="handleCurrentChange"
  88. :page-sizes="[20 , 50 , 80 , 100 , 200]"
  89. :page-size="20"
  90. layout="total, sizes, prev, pager, next"
  91. :total="total"
  92. style="float:right;"
  93. ></el-pagination>
  94. </el-col>
  95. </section>
  96. </template>
  97. <script>
  98. import util from "../../common/js/util";
  99. export default {
  100. data() {
  101. return {
  102. moulds: [],
  103. filters: {
  104. name: "",
  105. value: "0"
  106. },
  107. listLoading: false,
  108. total: 0,
  109. tableHeight: 0,
  110. page: 1,
  111. size: 20
  112. };
  113. },
  114. methods: {
  115. //分页
  116. handleCurrentChange(val) {
  117. this.page = val;
  118. this.getMoulds();
  119. },
  120. handleSizeChange(val) {
  121. this.size = val;
  122. this.getMoulds();
  123. },
  124. //跳转到运行监测详情
  125. toMaintenance(id) {
  126. this.$router.push("/detection/" + id);
  127. },
  128. //跳转到模具详情
  129. toMould(id) {
  130. this.$router.push("/moldList/" + id + "/0");
  131. },
  132. //获取模具信息
  133. getMoulds(keyWord) {
  134. this.listLoading = true;
  135. if (keyWord == null) {
  136. var type = 0;
  137. } else {
  138. var type = this.filters.value;
  139. }
  140. var params = {
  141. pageNum: this.page,
  142. pageSize: this.size,
  143. projectId: -1,
  144. searchType: type,
  145. keyName: keyWord,
  146. type: 0
  147. };
  148. this.http.post( this.port.mold.molds , params,
  149. res => {
  150. this.listLoading = false;
  151. if (res.code == "ok") {
  152. this.moulds = res.data.list;
  153. this.total = res.data.total;
  154. } else {
  155. this.$message({
  156. message: res.msg,
  157. type: "error"
  158. });
  159. }
  160. },
  161. error => {
  162. this.listLoading = false;
  163. this.$message({
  164. message: error,
  165. type: "error"
  166. });
  167. });
  168. }
  169. },
  170. created() {
  171. let height = window.innerHeight;
  172. this.tableHeight = height - 210;
  173. },
  174. mounted() {
  175. this.getMoulds();
  176. }
  177. };
  178. </script>
  179. <style scoped>
  180. </style>