index.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
  4. <el-form-item label="起始点位" prop="locationFrom">
  5. <el-input
  6. v-model="queryParams.locationFrom"
  7. placeholder="请输入起始点位"
  8. clearable
  9. size="small"
  10. @keyup.enter.native="handleQuery"
  11. />
  12. </el-form-item>
  13. <el-form-item label="起始区域" prop="areaFrom">
  14. <el-input
  15. v-model="queryParams.areaFrom"
  16. placeholder="请输入起始区域"
  17. clearable
  18. size="small"
  19. @keyup.enter.native="handleQuery"
  20. />
  21. </el-form-item>
  22. <el-form-item label="终点点位" prop="locationTo">
  23. <el-input
  24. v-model="queryParams.locationTo"
  25. placeholder="请输入终点点位"
  26. clearable
  27. size="small"
  28. @keyup.enter.native="handleQuery"
  29. />
  30. </el-form-item>
  31. <el-form-item label="终点区域" prop="areaTo">
  32. <el-input
  33. v-model="queryParams.areaTo"
  34. placeholder="请输入终点区域"
  35. clearable
  36. size="small"
  37. @keyup.enter.native="handleQuery"
  38. />
  39. </el-form-item>
  40. <el-form-item label="ִ状态" prop="state">
  41. <el-input
  42. v-model="queryParams.state"
  43. placeholder="请输入ִ状态"
  44. clearable
  45. size="small"
  46. @keyup.enter.native="handleQuery"
  47. />
  48. </el-form-item>
  49. <el-form-item label="创建人" prop="createUser">
  50. <el-input
  51. v-model="queryParams.createUser"
  52. placeholder="请输入创建人"
  53. clearable
  54. size="small"
  55. @keyup.enter.native="handleQuery"
  56. />
  57. </el-form-item>
  58. <el-form-item label="创建时间" prop="createDate">
  59. <el-date-picker clearable size="small"
  60. v-model="queryParams.createDate"
  61. type="date"
  62. value-format="yyyy-MM-dd"
  63. placeholder="选择创建时间">
  64. </el-date-picker>
  65. </el-form-item>
  66. <el-form-item label="仓库" prop="shopId">
  67. <el-input
  68. v-model="queryParams.shopId"
  69. placeholder="请输入仓库"
  70. clearable
  71. size="small"
  72. @keyup.enter.native="handleQuery"
  73. />
  74. </el-form-item>
  75. <!--<el-form-item label="任务开始时间" prop="startTime">-->
  76. <!--<el-date-picker clearable size="small"-->
  77. <!--v-model="queryParams.startTime"-->
  78. <!--type="date"-->
  79. <!--value-format="yyyy-MM-dd"-->
  80. <!--placeholder="选择任务开始时间">-->
  81. <!--</el-date-picker>-->
  82. <!--</el-form-item>-->
  83. <!--<el-form-item label="任务结束时间" prop="endTime">-->
  84. <!--<el-date-picker clearable size="small"-->
  85. <!--v-model="queryParams.endTime"-->
  86. <!--type="date"-->
  87. <!--value-format="yyyy-MM-dd"-->
  88. <!--placeholder="选择任务结束时间">-->
  89. <!--</el-date-picker>-->
  90. <!--</el-form-item>-->
  91. <el-form-item>
  92. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  93. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  94. </el-form-item>
  95. </el-form>
  96. <el-row :gutter="10" class="mb8">
  97. <el-col :span="1.5">
  98. <el-button
  99. type="primary"
  100. plain
  101. icon="el-icon-plus"
  102. size="mini"
  103. @click="handleAdd"
  104. v-hasPermi="['ams:wcsTask:add']"
  105. >新增</el-button>
  106. </el-col>
  107. <el-col :span="1.5">
  108. <el-button
  109. type="primary"
  110. plain
  111. icon="el-icon-plus"
  112. size="mini"
  113. @click="handleCharge"
  114. >充电任务</el-button>
  115. </el-col>
  116. <!--<el-col :span="1.5">
  117. <el-button
  118. type="success"
  119. plain
  120. icon="el-icon-edit"
  121. size="mini"
  122. :disabled="single"
  123. @click="handleUpdate"
  124. v-hasPermi="['ams:wcsTask:edit']"
  125. >修改</el-button>
  126. </el-col>-->
  127. <!-- <el-col :span="1.5">-->
  128. <!-- <el-button-->
  129. <!-- type="danger"-->
  130. <!-- plain-->
  131. <!-- icon="el-icon-delete"-->
  132. <!-- size="mini"-->
  133. <!-- :disabled="multiple"-->
  134. <!-- @click="handleCancel()"-->
  135. <!-- v-hasPermi="['ams:wcsTask:remove']"-->
  136. <!-- >取消任务</el-button>-->
  137. <!-- </el-col>-->
  138. <!--<el-col :span="1.5">
  139. <el-button
  140. type="warning"
  141. plain
  142. icon="el-icon-download"
  143. size="mini"
  144. @click="handleExport"
  145. v-hasPermi="['ams:wcsTask:export']"
  146. >导出</el-button>
  147. </el-col>-->
  148. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  149. </el-row>
  150. <el-table v-loading="loading" :data="wcsTaskList" @selection-change="handleSelectionChange">
  151. <el-table-column type="selection" width="55" align="center" />
  152. <el-table-column label="任务编号" align="center" prop="taskNo" width="180"/>
  153. <!--<el-table-column label="仓库" align="center" prop="shopId" />-->
  154. <!--<el-table-column label="调用系统名称" align="center" prop="sysName" />-->
  155. <!--<el-table-column label="调用设备名称" align="center" prop="deviceName" />-->
  156. <el-table-column label="起始点位" align="center" prop="locationFrom" />
  157. <el-table-column label="起始区域" align="center" prop="areaFrom" />
  158. <el-table-column label="终点点位" align="center" prop="locationTo" />
  159. <el-table-column label="终点区域" align="center" prop="areaTo" />
  160. <el-table-column label="优先级" align="center" prop="priority" />
  161. <el-table-column label="ִ状态" align="center" prop="state" >
  162. <template slot-scope="scope">
  163. <div v-if="scope.row.state === 1">开始</div>
  164. <div v-if="scope.row.state === 2">完成</div>
  165. <div v-if="scope.row.state === 3">开始取货</div>
  166. <div v-if="scope.row.state === 4">取货完成</div>
  167. <div v-if="scope.row.state === 5">开始卸货</div>
  168. <div v-if="scope.row.state === 6">卸货完成</div>
  169. <div v-if="scope.row.state === 7">取消</div>
  170. <div v-if="scope.row.state === 8">异常</div>
  171. <div v-if="scope.row.state === 9">待下发</div>
  172. <div v-if="scope.row.state === 10">已下发</div>
  173. <div v-if="scope.row.state === 11">取消并归于起点</div>
  174. <div v-if="scope.row.state === 12">取消并归于终点</div>
  175. <div v-if="scope.row.state === 13">取货待确认</div>
  176. <div v-if="scope.row.state === 14">卸货待确认</div>
  177. </template>
  178. </el-table-column>
  179. <el-table-column label="备注" align="center" prop="remark" />
  180. <!--<el-table-column label="创建人" align="center" prop="createUser" />-->
  181. <el-table-column label="创建时间" align="center" prop="createDate" width="200"/>
  182. <!--<el-table-column label="任务类型" align="center" prop="taskType" />-->
  183. <el-table-column label="任务开始时间" align="center" prop="startTime"/>
  184. <el-table-column label="任务结束时间" align="center" prop="endTime"/>
  185. <!--<el-table-column label="父任务单号" align="center" prop="parentTask" />-->
  186. <!--<el-table-column label="AGV接收车号" align="center" prop="agvNo" />-->
  187. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  188. <template slot-scope="scope">
  189. <el-button
  190. v-if="scope.row.state !== 7 && scope.row.state !== 2 && scope.row.state !== 11 && scope.row.state !== 12"
  191. size="mini"
  192. type="text"
  193. icon="el-icon-edit"
  194. @click="handleComplete(scope.row)">完成</el-button>
  195. <el-button
  196. v-if="scope.row.state !== 7 && scope.row.state !== 2 && scope.row.state !== 11 && scope.row.state !== 12"
  197. size="mini"
  198. type="text"
  199. icon="el-icon-delete"
  200. @click="handleCancel(scope.row)"
  201. v-hasPermi="['ams:wcsTask:remove']"
  202. >取消</el-button>
  203. <!-- <el-button size="mini" type="text" v-if="scope.row.state === 7" @click="handleDisposition(scope.row, 'disFrom')">归于起点</el-button>-->
  204. <!-- <el-button size="mini" type="text" v-if="scope.row.state === 7" @click="handleDisposition(scope.row, 'disTo')">归于终点</el-button>-->
  205. </template>
  206. </el-table-column>
  207. </el-table>
  208. <pagination
  209. v-show="total>0"
  210. :total="total"
  211. :page.sync="queryParams.pageNum"
  212. :limit.sync="queryParams.pageSize"
  213. @pagination="getList"
  214. />
  215. <!-- 添加或修改AGV任务对话框 -->
  216. <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  217. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  218. <el-form-item label="任务类型" prop="businessType">
  219. <el-select v-model="form.businessType" placeholder="请选择任务类型" clearable size="small" style="width: 100%">
  220. <el-option
  221. v-for="dict in businessTypeCombo"
  222. :key="dict.value"
  223. :label="dict.label"
  224. :value="dict.value"
  225. ></el-option>
  226. </el-select>
  227. </el-form-item>
  228. <el-form-item label="是否转发" prop="businessType">
  229. <el-select v-model="form.taskType" placeholder="请选择" clearable size="small" style="width: 100%">
  230. <el-option
  231. v-for="dict in taskTypeCombo"
  232. :key="dict.value"
  233. :label="dict.label"
  234. :value="dict.value"
  235. ></el-option>
  236. </el-select>
  237. </el-form-item>
  238. <el-form-item label="起始区域" prop="areaFrom">
  239. <el-select v-model="form.areaFrom" @change="locationZoneFromChange" placeholder="请选择库区" clearable
  240. size="small" style="width: 100%">
  241. <el-option
  242. v-for="dict in this.locationZoneCombo"
  243. :key="dict.zoneId"
  244. :label="dict.zoneName"
  245. :value="dict.zoneId"
  246. />
  247. </el-select>
  248. </el-form-item>
  249. <el-form-item label="起始点位" prop="locationFrom">
  250. <el-select v-model="form.locationFrom" placeholder="请选择库位" clearable size="small" style="width: 100%">
  251. <el-option
  252. v-for="dict in locationFromCombo"
  253. :key="dict.id"
  254. :label="dict.locationNo"
  255. :value="dict.id"
  256. ></el-option>
  257. </el-select>
  258. </el-form-item>
  259. <el-form-item label="目标区域" prop="areaTo">
  260. <el-select v-model="form.areaTo" @change="locationZoneToChange" placeholder="请选择库区" clearable
  261. size="small" style="width: 100%">
  262. <el-option
  263. v-for="dict in this.locationZoneCombo"
  264. :key="dict.zoneId"
  265. :label="dict.zoneName"
  266. :value="dict.zoneId"
  267. />
  268. </el-select>
  269. </el-form-item>
  270. <el-form-item label="终点点位" prop="locationTo">
  271. <el-select v-model="form.locationTo" placeholder="请选择库位" clearable size="small" style="width: 100%">
  272. <el-option
  273. v-for="dict in locationToCombo"
  274. :key="dict.id"
  275. :label="dict.locationNo"
  276. :value="dict.id"
  277. ></el-option>
  278. </el-select>
  279. </el-form-item>
  280. <!--
  281. <el-form-item label="优先级" prop="priority">
  282. <el-input v-model="form.priority" placeholder="请输入优先级" />
  283. </el-form-item>
  284. <el-form-item label="起始区域" prop="areaFrom">
  285. <el-input v-model="form.areaFrom" placeholder="请输入起始区域" />
  286. </el-form-item>
  287. <el-form-item label="终点区域" prop="areaTo">
  288. <el-input v-model="form.areaTo" placeholder="请输入终点区域" />
  289. </el-form-item>
  290. <el-form-item label="任务关联单号类型1" prop="whTypeFrom">
  291. <el-input v-model="form.whTypeFrom" placeholder="请输入任务关联单号类型1" />
  292. </el-form-item>
  293. <el-form-item label="任务关联单号1" prop="whNoFrom">
  294. <el-input v-model="form.whNoFrom" placeholder="请输入任务关联单号1" />
  295. </el-form-item>
  296. <el-form-item label="任务关联单号类型2" prop="whTypeTo">
  297. <el-input v-model="form.whTypeTo" placeholder="请输入任务关联单号类型2" />
  298. </el-form-item>
  299. <el-form-item label="任务关联单号2" prop="whNoTo">
  300. <el-input v-model="form.whNoTo" placeholder="请输入任务关联单号2" />
  301. </el-form-item>
  302. <el-form-item label="调用系统名称" prop="sysName">
  303. <el-input v-model="form.sysName" placeholder="请输入调用系统名称" />
  304. </el-form-item>
  305. <el-form-item label="调用设备名称" prop="deviceName">
  306. <el-input v-model="form.deviceName" placeholder="请输入调用设备名称" />
  307. </el-form-item>
  308. <el-form-item label="批号" prop="batchNo">
  309. <el-input v-model="form.batchNo" placeholder="请输入批号" />
  310. </el-form-item>
  311. <el-form-item label="批号2" prop="batchOrderNo">
  312. <el-input v-model="form.batchOrderNo" placeholder="请输入批号2" />
  313. </el-form-item>
  314. <el-form-item label="ִ状态9:(队列等待) 0:(下达AMS成功)" prop="state">
  315. <el-input v-model="form.state" placeholder="请输入ִ状态9:(队列等待) 0:(下达AMS成功)" />
  316. </el-form-item>
  317. <el-form-item label="备注" prop="remark">
  318. <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
  319. </el-form-item>
  320. <el-form-item label="创建人" prop="createUser">
  321. <el-input v-model="form.createUser" placeholder="请输入创建人" />
  322. </el-form-item>
  323. <el-form-item label="创建时间" prop="createDate">
  324. <el-date-picker clearable size="small"
  325. v-model="form.createDate"
  326. type="date"
  327. value-format="yyyy-MM-dd"
  328. placeholder="选择创建时间">
  329. </el-date-picker>
  330. </el-form-item>
  331. <el-form-item label="编辑人" prop="updateUser">
  332. <el-input v-model="form.updateUser" placeholder="请输入编辑人" />
  333. </el-form-item>
  334. <el-form-item label="编辑时间" prop="updateDate">
  335. <el-date-picker clearable size="small"
  336. v-model="form.updateDate"
  337. type="date"
  338. value-format="yyyy-MM-dd"
  339. placeholder="选择编辑时间">
  340. </el-date-picker>
  341. </el-form-item>
  342. <el-form-item label="仓库" prop="shopId">
  343. <el-input v-model="form.shopId" placeholder="请输入仓库" />
  344. </el-form-item>
  345. <el-form-item label="任务开始时间" prop="startTime">
  346. <el-date-picker clearable size="small"
  347. v-model="form.startTime"
  348. type="date"
  349. value-format="yyyy-MM-dd"
  350. placeholder="选择任务开始时间">
  351. </el-date-picker>
  352. </el-form-item>
  353. <el-form-item label="任务结束时间" prop="endTime">
  354. <el-date-picker clearable size="small"
  355. v-model="form.endTime"
  356. type="date"
  357. value-format="yyyy-MM-dd"
  358. placeholder="选择任务结束时间">
  359. </el-date-picker>
  360. </el-form-item>
  361. <el-form-item label="父任务单号" prop="parentTask">
  362. <el-input v-model="form.parentTask" placeholder="请输入父任务单号" />
  363. </el-form-item>
  364. <el-form-item label="AGV接收车号" prop="agvNo">
  365. <el-input v-model="form.agvNo" placeholder="请输入AGV接收车号" />
  366. </el-form-item>
  367. <el-form-item label="是否有前置任务,有必须等待前置任务完成" prop="beforeTask">
  368. <el-input v-model="form.beforeTask" placeholder="请输入是否有前置任务,有必须等待前置任务完成" />
  369. </el-form-item>-->
  370. </el-form>
  371. <div slot="footer" class="dialog-footer">
  372. <el-button type="primary" @click="submitForm">确 定</el-button>
  373. <el-button @click="cancel">取 消</el-button>
  374. </div>
  375. </el-dialog>
  376. <!--充电-->
  377. <el-dialog :title="title" :visible.sync="chaegeOpen" width="500px" append-to-body>
  378. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  379. <el-form-item label="车号" prop="businessType">
  380. <el-select v-model="form.agvNo" placeholder="请选择车辆" clearable size="small" style="width: 100%">
  381. <el-option
  382. v-for="dict in chargeCombo"
  383. :key="dict.value"
  384. :label="dict.label"
  385. :value="dict.value"
  386. ></el-option>
  387. </el-select>
  388. </el-form-item>
  389. </el-form>
  390. <div slot="footer" class="dialog-footer">
  391. <el-button type="primary" @click="submitChargeForm">确 定</el-button>
  392. </div>
  393. </el-dialog>
  394. </div>
  395. </template>
  396. <script>
  397. import {
  398. listWcsTask,
  399. getWcsTask,
  400. delWcsTask,
  401. addWcsTask,
  402. updateWcsTask,
  403. addTestTask,
  404. completeWcsTask,
  405. taskCancel,
  406. invDisposition,
  407. addChargeTask
  408. } from "@/api/ams/wcsTask";
  409. import { queryLocationDict } from "@/api/base/locationInfo";
  410. import { queryLocationZoneDict } from "@/api/base/locationZone"
  411. export default {
  412. name: "WcsTask",
  413. data() {
  414. return {
  415. // 遮罩层
  416. loading: true,
  417. // 选中数组
  418. ids: [],
  419. // 非单个禁用
  420. single: true,
  421. // 非多个禁用
  422. multiple: true,
  423. // 显示搜索条件
  424. showSearch: true,
  425. // 总条数
  426. total: 0,
  427. // AGV任务表格数据
  428. wcsTaskList: [],
  429. // 弹出层标题
  430. title: "",
  431. // 是否显示弹出层
  432. open: false,
  433. // 充电弹窗
  434. chaegeOpen:false,
  435. // 查询参数
  436. queryParams: {
  437. pageNum: 1,
  438. pageSize: 10,
  439. locationFrom: null,
  440. areaFrom: null,
  441. locationTo: null,
  442. areaTo: null,
  443. priority: null,
  444. state: null,
  445. createUser: null,
  446. createDate: null,
  447. taskType: null,
  448. shopId: null,
  449. startTime: null,
  450. endTime: null,
  451. parentTask: null,
  452. agvNo: null,
  453. },
  454. // 表单参数
  455. form: {},
  456. // 表单校验
  457. rules: {
  458. },
  459. businessTypeCombo: [
  460. {'label':'普通任务','value':'01'}
  461. ],
  462. chargeCombo: [
  463. {'label':'迷你堆垛A','value':'1'},
  464. {'label':'迷你堆垛B','value':'2'},
  465. {'label':'三向车','value':'3'}
  466. ],
  467. taskTypeCombo: [
  468. {'label':'是','value':'Y'},
  469. {'label':'否','value':'N'}
  470. ],
  471. locationFromCombo: [],
  472. locationToCombo: [],
  473. locationZoneCombo: []
  474. };
  475. },
  476. created() {
  477. this.initData();
  478. this.getList();
  479. },
  480. methods: {
  481. initData() {
  482. queryLocationZoneDict().then(response => {
  483. this.locationZoneCombo = response.data
  484. })
  485. },
  486. /** 查询AGV任务列表 */
  487. getList() {
  488. this.loading = true;
  489. listWcsTask(this.queryParams).then(response => {
  490. this.wcsTaskList = response.rows;
  491. this.total = response.total;
  492. this.loading = false;
  493. });
  494. },
  495. // 取消按钮
  496. cancel() {
  497. this.open = false;
  498. this.reset();
  499. },
  500. // 表单重置
  501. reset() {
  502. this.form = {
  503. taskNo: null,
  504. businessType: null,
  505. whTypeFrom: null,
  506. whNoFrom: null,
  507. whTypeTo: null,
  508. whNoTo: null,
  509. sysName: null,
  510. deviceName: null,
  511. batchNo: null,
  512. batchOrderNo: null,
  513. locationFrom: null,
  514. areaFrom: null,
  515. locationTo: null,
  516. areaTo: null,
  517. priority: null,
  518. state: null,
  519. remark: null,
  520. createUser: null,
  521. createDate: null,
  522. updateUser: null,
  523. updateDate: null,
  524. taskType: null,
  525. shopId: null,
  526. startTime: null,
  527. endTime: null,
  528. parentTask: null,
  529. extParam: null,
  530. ext1: null,
  531. ext2: null,
  532. ext3: null,
  533. ext4: null,
  534. ext5: null,
  535. ext6: null,
  536. ext7: null,
  537. ext8: null,
  538. agvNo: null,
  539. beforeTask: null
  540. };
  541. this.resetForm("form");
  542. },
  543. /** 搜索按钮操作 */
  544. handleQuery() {
  545. this.queryParams.pageNum = 1;
  546. this.getList();
  547. },
  548. /** 重置按钮操作 */
  549. resetQuery() {
  550. this.resetForm("queryForm");
  551. this.handleQuery();
  552. },
  553. // 多选框选中数据
  554. handleSelectionChange(selection) {
  555. this.ids = selection.map(item => item.taskNo)
  556. this.single = selection.length!==1
  557. this.multiple = !selection.length
  558. },
  559. /** 新增按钮操作 */
  560. handleAdd() {
  561. this.reset();
  562. this.open = true;
  563. this.title = "添加AGV任务";
  564. },
  565. /** 新增充电任务 */
  566. handleCharge() {
  567. this.reset();
  568. this.chaegeOpen = true;
  569. this.title = "添加充电任务";
  570. },
  571. /** 修改按钮操作 */
  572. handleUpdate(row) {
  573. this.reset();
  574. const taskNo = row.taskNo || this.ids
  575. getWcsTask(taskNo).then(response => {
  576. this.form = response.data;
  577. this.open = true;
  578. this.title = "修改AGV任务";
  579. });
  580. },
  581. /** 提交按钮 */
  582. submitForm() {
  583. this.$refs["form"].validate(valid => {
  584. if (valid) {
  585. addTestTask(this.form).then(
  586. response => {
  587. this.getList();
  588. this.$modal.msgSuccess("添加成功");
  589. this.open = false;
  590. }
  591. );
  592. }
  593. });
  594. },
  595. /** 提交按钮 */
  596. submitChargeForm() {
  597. this.$refs["form"].validate(valid => {
  598. if (valid) {
  599. addChargeTask(this.form).then(
  600. response => {
  601. this.getList();
  602. this.$modal.msgSuccess("添加成功");
  603. this.open = false;
  604. }
  605. );
  606. }
  607. });
  608. },
  609. /** 删除按钮操作 */
  610. handleDelete(row) {
  611. const taskNos = row.taskNo || this.ids;
  612. this.$modal.confirm('是否确认删除AGV任务编号为"' + taskNos + '"的数据项?').then(function() {
  613. return delWcsTask(taskNos);
  614. }).then(() => {
  615. this.getList();
  616. this.$modal.msgSuccess("删除成功");
  617. }).catch(() => {});
  618. },
  619. /** 导出按钮操作 */
  620. handleExport() {
  621. this.download('ams/wcsTask/export', {
  622. ...this.queryParams
  623. }, `wcsTask_${new Date().getTime()}.xlsx`)
  624. },
  625. handleComplete (row) {
  626. const taskNos = row.taskNo
  627. this.$modal.confirm('是否确认要完成"' + taskNos + '"的任务?').then(function() {
  628. return completeWcsTask(taskNos);
  629. }).then(() => {
  630. this.getList();
  631. this.$modal.msgSuccess("执行成功");
  632. }).catch(() => {});
  633. },
  634. handleCancel (row) {
  635. const taskNos = row.taskNo
  636. this.$modal.confirm('是否确认要取消"' + taskNos + '"的任务?').then(function() {
  637. return taskCancel(taskNos);
  638. }).then(() => {
  639. this.getList();
  640. this.$modal.msgSuccess("执行成功");
  641. }).catch(() => {});
  642. },
  643. handleDisposition (row, result) {
  644. const taskNos = row.taskNo
  645. let resultMsg = ''
  646. if (result === 'disFrom') {
  647. resultMsg = '归于起点'
  648. } else if (result === 'disTo') {
  649. resultMsg = '归于终点'
  650. } else {
  651. resultMsg = '清空库存'
  652. }
  653. this.$modal.confirm('确认要进行"' + resultMsg + '"的操作?').then(function() {
  654. return invDisposition(taskNos, result);
  655. }).then(() => {
  656. this.getList();
  657. this.$modal.msgSuccess("执行成功");
  658. }).catch(() => {});
  659. },
  660. locationZoneFromChange: function (value) {
  661. let param = 0
  662. if (value != '') {
  663. param = value
  664. }
  665. queryLocationDict(param).then(response => {
  666. this.locationFromCombo = response.data
  667. })
  668. },
  669. locationZoneToChange: function (value) {
  670. let param = 0
  671. if (value != '') {
  672. param = value
  673. }
  674. queryLocationDict(param).then(response => {
  675. this.locationToCombo = response.data
  676. })
  677. }
  678. }
  679. };
  680. </script>