index.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <!-- import CSS -->
  6. <link rel="stylesheet" href="../../css/index.css">
  7. <!-- import Vue before Element -->
  8. <script src="../../js/vue.js"></script>
  9. <!-- import JavaScript -->
  10. <script src="../../js/index.js"></script>
  11. <script src="../../js/axios.js"></script>
  12. </head>
  13. <body>
  14. <div id="app" v-cloak>
  15. <div style="padding: 20px;">
  16. <div>
  17. <div class="commonCss">
  18. <el-form :inline="true" :model="formInline" class="demo-form-inline">
  19. <el-form-item label="出入库单编号">
  20. <el-input v-model="formInline.orderCode" placeholder="入库单编号"></el-input>
  21. </el-form-item>
  22. <el-form-item label="出入库类型">
  23. <el-select v-model="formInline.taskType" placeholder="请选择" :clearable="true">
  24. <el-option
  25. v-for="item in taskTypeOptions"
  26. :key="item.value"
  27. :label="item.label"
  28. :value="item.value">
  29. </el-option>
  30. </el-select>
  31. </el-form-item>
  32. <el-form-item>
  33. <el-button type="primary" @click="queryClick()">查询</el-button>
  34. </el-form-item>
  35. </el-form>
  36. </div>
  37. <el-table ref="singleTable" :data="migrationResultList" v-loading="loading" :border=true
  38. tooltip-effect="dark"
  39. highlight-current-row max-height="500" style="width: 100%;"
  40. :default-sort="{prop: 'createDate', order: 'descending'}">
  41. <el-table-column prop="inOutCode" label="出入库单编号" :show-overflow-tooltip="true"></el-table-column>
  42. <el-table-column prop="taskCode" label="出入库任务编号" :show-overflow-tooltip="true"></el-table-column>
  43. <el-table-column prop="taskType" label="任务类型" :show-overflow-tooltip="true">
  44. <template slot-scope="{ row }">
  45. <el-tag >
  46. {{ getTaskTypeText(row.taskType) }}
  47. </el-tag>
  48. </template>
  49. </el-table-column>
  50. <el-table-column prop="status" label="状态" :show-overflow-tooltip="true">
  51. <template slot-scope="{ row }">
  52. <el-tag >
  53. {{ getTypeText(row.status) }}
  54. </el-tag>
  55. </template>
  56. </el-table-column>
  57. <el-table-column prop="startPosition" label="开始位置" :show-overflow-tooltip="true"></el-table-column>
  58. <el-table-column prop="endPosition" label="结束位置" :show-overflow-tooltip="true"></el-table-column>
  59. <el-table-column prop="vectorCode" label="托盘" :show-overflow-tooltip="true"></el-table-column>
  60. <el-table-column prop="errorInfo" label="异常原因" :show-overflow-tooltip="true"></el-table-column>
  61. <el-table-column prop="startTime" label="开始时间" :show-overflow-tooltip="true"></el-table-column>
  62. <el-table-column prop="endTime" label="结束时间" :show-overflow-tooltip="true"></el-table-column>
  63. <el-table-column prop="remarks" label="备注" :show-overflow-tooltip="true"></el-table-column>
  64. <el-table-column label="操作" :show-overflow-tooltip="true" width="200px">
  65. <template #default="scope">
  66. <!-- 这里放置操作按钮 -->
  67. <div class="button-group">
  68. <el-button type="primary" @click="getList(scope.row)" icon="el-icon-edit">子任务</el-button>
  69. </div>
  70. </template>
  71. </el-table-column>
  72. </el-table>
  73. <el-dialog
  74. title="子任务列表"
  75. :visible.sync="dialogVisible"
  76. :before-close="handleClose" width="80%">
  77. <el-table ref="singleTable" :data="subList" v-loading="loading" :border=true
  78. tooltip-effect="dark"
  79. highlight-current-row max-height="500" style="width: 100%;"
  80. :default-sort="{prop: 'createDate', order: 'descending'}"
  81. >
  82. <el-table-column prop="childTaskCode" label="子任务编号" :show-overflow-tooltip="true"></el-table-column>
  83. <el-table-column prop="childTaskType" label="任务类型" :show-overflow-tooltip="true">
  84. <template slot-scope="{ row }">
  85. <el-tag >
  86. {{ getTaskTypeText(row.childTaskType) }}
  87. </el-tag>
  88. </template>
  89. </el-table-column>
  90. <el-table-column prop="status" label="状态" :show-overflow-tooltip="true">
  91. <template slot-scope="{ row }">
  92. <el-tag >
  93. {{ getTypeText(row.status) }}
  94. </el-tag>
  95. </template>
  96. </el-table-column>
  97. <el-table-column prop="startPosition" label="开始位置" :show-overflow-tooltip="true"></el-table-column>
  98. <el-table-column prop="endPosition" label="结束位置" :show-overflow-tooltip="true"></el-table-column>
  99. <el-table-column prop="vectorCode" label="托盘" :show-overflow-tooltip="true"></el-table-column>
  100. <el-table-column prop="errorInfo" label="异常原因" :show-overflow-tooltip="true"></el-table-column>
  101. <el-table-column prop="startTime" label="开始时间" :show-overflow-tooltip="true"></el-table-column>
  102. <el-table-column prop="endTime" label="结束时间" :show-overflow-tooltip="true"></el-table-column>
  103. </el-table>
  104. <span slot="footer" class="dialog-footer">
  105. <el-button @click="dialogVisible = false">取 消</el-button>
  106. <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  107. </span>
  108. </el-dialog>
  109. <div class="pagination-block">
  110. <el-pagination :current-page="currentPage" :page-sizes="pageSizes" :total="total"
  111. :page-size="currentPageSize"
  112. layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
  113. @current-change="handleCurrentChange"/>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. </body>
  119. <script type="module">
  120. new Vue({
  121. el: '#app',
  122. data: function () {
  123. return {
  124. migrationResultList: [],
  125. taskTypeOptions: [],
  126. subList: [],
  127. name: '',
  128. createDate: '',
  129. currentPage: 1,
  130. total: 0,
  131. currentPageSize: 10,
  132. pageSizes: [10, 50, 100, 200, 300],
  133. loading: false,
  134. formInline: {
  135. inOutCode: '',
  136. taskType:''
  137. },
  138. dialogVisible:false,
  139. }
  140. },
  141. created() {
  142. console.log("初始化")
  143. this.queryClick();
  144. this.getDic();
  145. },
  146. methods: {
  147. handleSizeChange(pageSize, total) {
  148. this.currentPage = 1;
  149. this.currentPageSize = pageSize;
  150. this.queryClick();
  151. },
  152. handleCurrentChange(page) {
  153. this.currentPage = page;
  154. this.queryClick();
  155. },
  156. clear() {
  157. this.ylCard = '';
  158. this.master = '';
  159. },
  160. queryClick() {
  161. this.loading = true;
  162. axios.get('/wInventoryTransactionTask', {
  163. params: {
  164. inOutCode: this.formInline.inOutCode,
  165. taskType: this.formInline.taskType,
  166. page: this.currentPage, // 分页参数
  167. size: this.currentPageSize, // 分页参数
  168. }
  169. })
  170. .then(response => {
  171. console.log(response)
  172. this.migrationResultList = response.data.list;
  173. this.total = response.data.total;
  174. // 处理响应
  175. this.loading = false;
  176. })
  177. .catch(error => {
  178. // 处理错误
  179. });
  180. }, getTypeText(status) {
  181. switch (status) {
  182. case -1:
  183. return "已取消"; // 第二种类型的文本
  184. case 0:
  185. return "待执行"; // 第二种类型的文本
  186. case 1:
  187. return '执行中'; // 第三种类型的文本
  188. case 2:
  189. return '完成'; // 第四种类型的文本
  190. case 4:
  191. return '入库异常'; // 第四种类型的文本
  192. default:
  193. return ""
  194. }
  195. }, getTaskTypeText(status) {
  196. switch (status) {
  197. case 1:
  198. return "出库";
  199. case 2:
  200. return "入库";
  201. case 3:
  202. return "移库";
  203. default:
  204. return "";
  205. }
  206. },add(){
  207. window.location.href = "add.html";
  208. },edit(row){
  209. window.location.href = "edit.html?id="+row.id;
  210. },getList(row){
  211. axios.get('/wInventoryTransactionChildTask/list/'+row.id, {
  212. })
  213. .then(response => {
  214. if(response.data.success){
  215. this.dialogVisible=true;
  216. this.subList=response.data.data;
  217. }
  218. })
  219. .catch(error => {
  220. // 处理错误
  221. });
  222. },handleClose(done) {
  223. done();
  224. /* this.$confirm('确认关闭?')
  225. .then(_ => {
  226. })
  227. .catch(_ => {});*/
  228. }, getDic() {
  229. axios.post('/Dic/list', {
  230. 'dicCode': 'taskType'
  231. })
  232. .then(response => {
  233. console.log(response)
  234. this.taskTypeOptions = response.data;
  235. })
  236. .catch(error => {
  237. // 处理错误
  238. });
  239. }
  240. }
  241. })
  242. </script>
  243. </html>