赫艾前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

286 lines
7.8 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. <template>
  2. <div class="mod-config">
  3. <el-form :inline="true" label-position="top" label-width="100px" >
  4. <el-form-item :label="'混炼任务单号:'">
  5. <el-input v-model="searchData.taskNo" style="width: 120px"></el-input>
  6. </el-form-item >
  7. <el-form-item >
  8. <span slot="label" style="" @click="getBaseList(5)"><a herf="#">物料编码</a></span>
  9. <el-input v-model="searchData.partNo" style="width: 120px"></el-input>
  10. </el-form-item>
  11. <el-form-item :label="'合并日期:'">
  12. <el-date-picker
  13. style="width: 130px"
  14. v-model="searchData.startDate"
  15. type="date"
  16. value-format="yyyy-MM-dd"
  17. placeholder="选择日期">
  18. </el-date-picker>
  19. </el-form-item>
  20. <el-form-item style="margin-top: 23px;">
  21. <laber style="margin-left: -9px;font-size: 19px">&#10142</laber>
  22. </el-form-item>
  23. <el-form-item :label="' '">
  24. <el-date-picker
  25. style="width: 130px"
  26. v-model="searchData.endDate"
  27. type="date"
  28. value-format="yyyy-MM-dd"
  29. placeholder="选择日期">
  30. </el-date-picker>
  31. </el-form-item>
  32. <el-form-item :label="'是否报工:'">
  33. <el-select filterable v-model="searchData.reportFlag" style="width: 120px">
  34. <el-option label="全部" value=""></el-option>
  35. <el-option label="否" value="N"></el-option>
  36. <el-option label="是" value="Y"></el-option>
  37. </el-select>
  38. </el-form-item>
  39. <el-form-item :label="' '">
  40. <el-button @click="search()" style="margin-left: 0px;margin-top: 0px" type="primary">查询</el-button>
  41. </el-form-item>
  42. </el-form>
  43. <el-table
  44. :height="height"
  45. :data="tableData"
  46. border
  47. style="width: 100%">
  48. <el-table-column
  49. prop=""
  50. header-align="center"
  51. align="center"
  52. min-width="100"
  53. label="操作">
  54. <template slot-scope="scope" class="foo_container">
  55. <a type="text" size="small" @click="printPartCard(scope.row)">物料标识卡</a>
  56. <a type="text" size="small" @click="detailModal(scope.row)">查看周计划明细</a>
  57. </template>
  58. </el-table-column>
  59. <el-table-column
  60. prop="taskNo"
  61. header-align="center"
  62. align="left"
  63. min-width="80"
  64. label="混炼任务单号">
  65. </el-table-column>
  66. <el-table-column
  67. prop="partNo"
  68. header-align="center"
  69. align="left"
  70. min-width="70"
  71. label="混炼物料编码">
  72. </el-table-column>
  73. <el-table-column
  74. prop="partDesc"
  75. header-align="center"
  76. align="left"
  77. min-width="100"
  78. label="混炼胶名称">
  79. </el-table-column>
  80. <el-table-column
  81. prop="taskQty"
  82. header-align="center"
  83. align="right"
  84. min-width="100"
  85. label="混炼胶数量">
  86. </el-table-column>
  87. <el-table-column
  88. prop="createDate"
  89. header-align="center"
  90. align="left"
  91. min-width="70"
  92. label="合并日期">
  93. </el-table-column>
  94. <el-table-column
  95. prop="createBy"
  96. header-align="center"
  97. align="left"
  98. min-width="70"
  99. label="创建人">
  100. </el-table-column>
  101. <el-table-column
  102. prop="reportFlag"
  103. header-align="center"
  104. align="left"
  105. min-width="70"
  106. label="是否报工">
  107. </el-table-column>
  108. <el-table-column
  109. prop="reportQty"
  110. header-align="center"
  111. align="right"
  112. min-width="70"
  113. label="报工数量">
  114. </el-table-column>
  115. <el-table-column
  116. prop="wareHouseFlag"
  117. header-align="center"
  118. align="left"
  119. min-width="70"
  120. label="是否入库">
  121. </el-table-column>
  122. <el-table-column
  123. prop="orderRef1"
  124. header-align="center"
  125. align="left"
  126. min-width="100"
  127. label="合并生产订单号">
  128. </el-table-column>
  129. </el-table>
  130. <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag title="周计划清单" :visible.sync="detailFlag" width="600px">
  131. <el-table
  132. height="300"
  133. :data="detailList"
  134. border
  135. style="width: 100%">
  136. <el-table-column
  137. prop="taskNo"
  138. header-align="center"
  139. align="left"
  140. min-width="80"
  141. label="混炼任务单号">
  142. </el-table-column>
  143. <el-table-column
  144. prop="orderNo"
  145. header-align="center"
  146. align="left"
  147. min-width="70"
  148. label="周计划号">
  149. </el-table-column>
  150. <el-table-column
  151. prop="partDesc"
  152. header-align="center"
  153. align="left"
  154. min-width="100"
  155. label="混炼胶名称">
  156. </el-table-column>
  157. <el-table-column
  158. prop="orderQty"
  159. header-align="center"
  160. align="right"
  161. min-width="70"
  162. label="周计划数量">
  163. </el-table-column>
  164. <el-table-column
  165. prop="hunlianQty"
  166. header-align="center"
  167. align="right"
  168. min-width="70"
  169. label="混炼胶数量">
  170. </el-table-column>
  171. <el-table-column
  172. prop="orderDate"
  173. header-align="center"
  174. align="left"
  175. min-width="100"
  176. label="周计划日期">
  177. </el-table-column>
  178. </el-table>
  179. <span slot="footer" class="dialog-footer">
  180. <el-button @click="detailFlag = false" type="primary">取消</el-button>
  181. </span>
  182. </el-dialog>
  183. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  184. </div>
  185. </template>
  186. <script>
  187. import {
  188. getHunlianTaskData,getHunlianTaskDetailData
  189. } from "@/api/production.js"
  190. import {
  191. printPartLabel,
  192. } from "@/views/modules/print/print_part_label.js"
  193. import decimalUtil from '../../../utils/decimalUtil'
  194. import Chooselist from '@/views/modules/common/Chooselist'
  195. export default {
  196. components: {
  197. Chooselist
  198. },
  199. data () {
  200. return {
  201. searchData:{
  202. taskNo:'',
  203. partNo:'',
  204. startDate:'',
  205. endDate:'',
  206. reportFlag:'N',
  207. },
  208. height:200,
  209. tagNo:'',
  210. tableData:[],
  211. detailList:[],
  212. detailFlag:false,
  213. }
  214. },
  215. mounted() {
  216. this.$nextTick(()=>{
  217. this.height = window.innerHeight - 180;
  218. })
  219. },
  220. methods: {
  221. getBaseList (val,type) {
  222. this.tagNo = val
  223. this.$nextTick(() => {
  224. let strVal = ''
  225. if (val === 5) {
  226. strVal = this.searchData.partNo
  227. }
  228. this.$refs.baseList.init(val, strVal)
  229. })
  230. },
  231. /* 列表方法的回调 */
  232. getBaseData (val) {
  233. if (this.tagNo === 5) {
  234. this.searchData.partNo = val.PartNo
  235. }
  236. },
  237. search(){
  238. getHunlianTaskData(this.searchData).then(({data}) => {
  239. this.tableData = data.rows;
  240. })
  241. },
  242. detailModal(row){
  243. let inData={
  244. site:row.site,
  245. taskNo:row.taskNo,
  246. }
  247. getHunlianTaskDetailData(inData).then(({data}) => {
  248. this.detailList = data.rows;
  249. })
  250. this.detailFlag=true;
  251. },
  252. printPartCard(row){
  253. let array=[];
  254. let data={
  255. // printerName:'大标签打印机',
  256. orderNo:'*',
  257. userId:this.$store.state.user.name,
  258. partNo:row.partNo,
  259. sScheduledDate:row.createDate,
  260. operatorName:this.$store.state.user.name,
  261. partDesc:row.partDesc,
  262. qtyRequired:row.taskQty,
  263. toExpireDays:row.toExpireDays,
  264. }
  265. array.push(data)
  266. printPartLabel(array)
  267. },
  268. },
  269. created() {
  270. }
  271. }
  272. </script>
  273. <style >
  274. .el-table .cell {
  275. padding: 0px;
  276. }
  277. </style>