wms_web_xugongteji/src/views/system/taskBak/index.vue
2025-01-19 16:47:47 +08:00

417 lines
14 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="任务优先级默认为1" prop="taskPriority">
<el-input
v-model="queryParams.taskPriority"
placeholder="请输入任务优先级默认为1"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="载具号" prop="vehicleId">
<el-input
v-model="queryParams.vehicleId"
placeholder="请输入载具号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="起点" prop="origin">
<el-input
v-model="queryParams.origin"
placeholder="请输入起点"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="终点" prop="destination">
<el-input
v-model="queryParams.destination"
placeholder="请输入终点"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="发送给wcs的任务号" prop="wcsTaskId">
<el-input
v-model="queryParams.wcsTaskId"
placeholder="请输入发送给wcs的任务号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="完成时间" prop="finishTime">
<el-date-picker clearable
v-model="queryParams.finishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="物料编号" prop="goodsId">
<el-input
v-model="queryParams.goodsId"
placeholder="请输入物料编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="操作数量" prop="opNum">
<el-input
v-model="queryParams.opNum"
placeholder="请输入操作数量"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="库存数量" prop="stockNum">
<el-input
v-model="queryParams.stockNum"
placeholder="请输入库存数量"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="操作用户" prop="opUser">
<el-input
v-model="queryParams.opUser"
placeholder="请输入操作用户"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="前置任务" prop="preTask">
<el-input
v-model="queryParams.preTask"
placeholder="请输入前置任务"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['app:taskbak:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['app:taskbak:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['app:taskbak:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['app:taskbak:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="bakList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务号" align="center" prop="taskId" />
<el-table-column label="任务类型" align="center" prop="taskType" />
<el-table-column label="任务状态" align="center" prop="taskStatus" />
<el-table-column label="任务优先级默认为1" align="center" prop="taskPriority" />
<el-table-column label="载具号" align="center" prop="vehicleId" />
<el-table-column label="起点" align="center" prop="origin" />
<el-table-column label="终点" align="center" prop="destination" />
<el-table-column label="发送给wcs的任务号" align="center" prop="wcsTaskId" />
<el-table-column label="完成时间" align="center" prop="finishTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.finishTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="物料编号" align="center" prop="goodsId" />
<el-table-column label="操作数量" align="center" prop="opNum" />
<el-table-column label="库存数量" align="center" prop="stockNum" />
<el-table-column label="操作用户" align="center" prop="opUser" />
<el-table-column label="前置任务" align="center" prop="preTask" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['app:taskbak:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['app:taskbak:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改【请填写功能名称】对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="任务优先级默认为1" prop="taskPriority">
<el-input v-model="form.taskPriority" placeholder="请输入任务优先级默认为1" />
</el-form-item>
<el-form-item label="载具号" prop="vehicleId">
<el-input v-model="form.vehicleId" placeholder="请输入载具号" />
</el-form-item>
<el-form-item label="起点" prop="origin">
<el-input v-model="form.origin" placeholder="请输入起点" />
</el-form-item>
<el-form-item label="终点" prop="destination">
<el-input v-model="form.destination" placeholder="请输入终点" />
</el-form-item>
<el-form-item label="发送给wcs的任务号" prop="wcsTaskId">
<el-input v-model="form.wcsTaskId" placeholder="请输入发送给wcs的任务号" />
</el-form-item>
<el-form-item label="完成时间" prop="finishTime">
<el-date-picker clearable
v-model="form.finishTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择完成时间">
</el-date-picker>
</el-form-item>
<el-form-item label="物料编号" prop="goodsId">
<el-input v-model="form.goodsId" placeholder="请输入物料编号" />
</el-form-item>
<el-form-item label="操作数量" prop="opNum">
<el-input v-model="form.opNum" placeholder="请输入操作数量" />
</el-form-item>
<el-form-item label="库存数量" prop="stockNum">
<el-input v-model="form.stockNum" placeholder="请输入库存数量" />
</el-form-item>
<el-form-item label="操作用户" prop="opUser">
<el-input v-model="form.opUser" placeholder="请输入操作用户" />
</el-form-item>
<el-form-item label="前置任务" prop="preTask">
<el-input v-model="form.preTask" placeholder="请输入前置任务" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBak, getBak, delBak, addBak, updateBak } from "@/api/system/taskBak";
export default {
name: "Bak",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 【请填写功能名称】表格数据
bakList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
taskType: null,
taskStatus: null,
taskPriority: null,
vehicleId: null,
origin: null,
destination: null,
wcsTaskId: null,
finishTime: null,
goodsId: null,
opNum: null,
stockNum: null,
opUser: null,
preTask: null
},
// 表单参数
form: {},
// 表单校验
rules: {
taskType: [
{ required: true, message: "任务类型不能为空", trigger: "change" }
],
taskStatus: [
{ required: true, message: "任务状态不能为空", trigger: "change" }
],
taskPriority: [
{ required: true, message: "任务优先级默认为1不能为空", trigger: "blur" }
],
vehicleId: [
{ required: true, message: "载具号不能为空", trigger: "blur" }
],
createTime: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询【请填写功能名称】列表 */
getList() {
this.loading = true;
listBak(this.queryParams).then(response => {
this.bakList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
taskId: null,
taskType: null,
taskStatus: null,
taskPriority: null,
vehicleId: null,
origin: null,
destination: null,
wcsTaskId: null,
createTime: null,
finishTime: null,
goodsId: null,
opNum: null,
stockNum: null,
opUser: null,
preTask: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.taskId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加【请填写功能名称】";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const taskId = row.taskId || this.ids
getBak(taskId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改【请填写功能名称】";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.taskId != null) {
updateBak(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addBak(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const taskIds = row.taskId || this.ids;
this.$modal.confirm('是否确认删除【请填写功能名称】编号为"' + taskIds + '"的数据项?').then(function() {
return delBak(taskIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('app/taskbak/export', {
...this.queryParams
}, `taskbak_${new Date().getTime()}.xlsx`)
}
}
};
</script>