抛光仓库相关功能-未完成(但已部署)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<template>
|
||||
<div>质量检验</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
452
src/views/wmsManagement/WmPolishInventory/PolishReport.vue
Normal file
452
src/views/wmsManagement/WmPolishInventory/PolishReport.vue
Normal file
@@ -0,0 +1,452 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="container">
|
||||
<el-container>
|
||||
<el-header class="header-box">
|
||||
<el-page-header @back="goBack" :content="content"> </el-page-header>
|
||||
<span style="font-size: 18px">{{ dateTime }}</span>
|
||||
</el-header>
|
||||
<el-main class="main-box"
|
||||
><div class="left">
|
||||
<div class="container">
|
||||
<el-button type="info" @click="getList">刷新工单</el-button>
|
||||
<el-scrollbar v-loading="loading1" class="middle">
|
||||
<el-card
|
||||
v-for="(item, index) in workOrderFinishList"
|
||||
:key="index"
|
||||
style="margin: 5px"
|
||||
@click="handlerWorkOrder(item.workorder)"
|
||||
>
|
||||
<div class="order-box">
|
||||
<span style="margin-right: 10px; font-weight: 700; font-size: 24px">{{ item.workorder }}</span>
|
||||
<span>{{ item.productionName }}</span>
|
||||
<span>
|
||||
<el-tag v-if="item.status === 1" type="info" size="large" effect="dark" round> 未开始 </el-tag>
|
||||
<el-tag v-if="item.status === 2" type="primary" size="large" effect="dark" round> 进行中 </el-tag>
|
||||
<el-tag v-if="item.status === 3" type="success" size="large" effect="dark" round> 已完成 </el-tag>
|
||||
</span>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-scrollbar>
|
||||
<el-button type="primary" class="bottom" @click="handlerReport">今日报工</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="container">
|
||||
<div class="top" v-loading="loading2">
|
||||
<el-descriptions v-if="workOrderInfo.workorder" border :column="4" class="m10">
|
||||
<template #title>
|
||||
<div class="descriptions-title-box">
|
||||
<h2 style="margin-right: 10px">{{ `工单:${workOrderInfo.workorder}` }}</h2>
|
||||
<el-tag v-if="workOrderInfo.status === 1" type="info" size="large" effect="dark" round> 未开始 </el-tag>
|
||||
<el-tag v-if="workOrderInfo.status === 2" type="primary" size="large" effect="dark" round>
|
||||
进行中
|
||||
</el-tag>
|
||||
<el-tag v-if="workOrderInfo.status === 3" type="success" size="large" effect="dark" round>
|
||||
已完成
|
||||
</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
<el-descriptions-item :span="4" label="产品名称">{{ workOrderInfo.productionName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="存货编码">{{ workOrderInfo.productionCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="客户编码">{{ workOrderInfo.customCode }}</el-descriptions-item>
|
||||
<el-descriptions-item label="工单日期">{{ workOrderInfo.workorderDate }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="单位">{{ workOrderInfo.unit }}</el-descriptions-item>
|
||||
<el-descriptions-item label="纸箱数量">{{ workOrderInfo.packageNum }}</el-descriptions-item>
|
||||
<el-descriptions-item label="组别">{{ workOrderInfo.groupId }}</el-descriptions-item>
|
||||
<el-descriptions-item label="线别">{{ workOrderInfo.routeId }}</el-descriptions-item>
|
||||
<el-descriptions-item label="优先级">{{ workOrderInfo.priority }}</el-descriptions-item>
|
||||
<el-descriptions-item :span="2" label="交货数量"
|
||||
><h3>{{ workOrderInfo.deliveryNum }}</h3></el-descriptions-item
|
||||
>
|
||||
<el-descriptions-item :span="2" label="已完成数量"
|
||||
><h3>{{ workOrderInfo.finishNum }}</h3></el-descriptions-item
|
||||
>
|
||||
<el-descriptions-item :span="4" label="备注">{{ workOrderInfo.productionName }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
<div class="middle">
|
||||
<!-- <el-button :disabled="!workOrderInfo.workorder" type="success" size="large">确认到料</el-button>
|
||||
<el-button :disabled="!workOrderInfo.workorder" type="warning" size="large">到料异常</el-button>
|
||||
<el-button :disabled="!workOrderInfo.workorder" type="danger" size="large">加急催料</el-button> -->
|
||||
<el-button
|
||||
:disabled="!workOrderInfo.workorder"
|
||||
class="action-button"
|
||||
type="primary"
|
||||
size="large"
|
||||
@click="handlerStartOrder"
|
||||
>开始工单</el-button
|
||||
>
|
||||
<el-button
|
||||
:disabled="!workOrderInfo.workorder"
|
||||
class="action-button"
|
||||
type="success"
|
||||
size="large"
|
||||
@click="handlerFinishOrder"
|
||||
>完成工单</el-button
|
||||
>
|
||||
</div>
|
||||
<div class="bottom" v-loading="loading3"></div>
|
||||
</div>
|
||||
</div>
|
||||
</el-main>
|
||||
</el-container>
|
||||
</div>
|
||||
<el-dialog v-model.sync="dialogVisible" title="今日工单完成情况" width="800px">
|
||||
<!-- <div style="margin-bottom: 10px; display: flex; justify-content: space-around">
|
||||
<span style="font-size: 18px; font-weight: 600; margin-right: 20px">今日总工单数:{{ store.workOrderTotalTaskNum.value }}</span>
|
||||
<span style="font-size: 18px; font-weight: 600">已完成工单数:{{ store.workOrderRemainTaskNum.value }}</span>
|
||||
</div> -->
|
||||
<el-table size="large" header-cell-class-name="table-header" stripe border :data="workOrderList" style="width: 100%">
|
||||
<el-table-column align="center" prop="workorder" label="工单号" />
|
||||
<el-table-column align="center" prop="deliveryNum" label="交货数量" />
|
||||
<el-table-column align="center" prop="finishNum" label="已完成数量" />
|
||||
</el-table>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="dialogVisible = false">取消</el-button>
|
||||
<el-button type="primary" @click="dialogVisible = false"> 确认报工 </el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// 抛光计划
|
||||
import {
|
||||
listWmPolishWorkorder,
|
||||
addWmPolishWorkorder,
|
||||
delWmPolishWorkorder,
|
||||
updateWmPolishWorkorder,
|
||||
getWmPolishWorkorder,
|
||||
} from '@/api/wmsManagement/wmPolishWorkorder.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
labelWidth: '60px',
|
||||
formLabelWidth: '60px',
|
||||
timer1: null,
|
||||
dateTime: this.$dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
content: '抛光报工看板',
|
||||
loading1: false,
|
||||
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
orderTime: 1,
|
||||
sort: 'updatedTime',
|
||||
sortType: 'desc',
|
||||
},
|
||||
form: {},
|
||||
total: 0,
|
||||
// 数据列表
|
||||
dataList: [],
|
||||
workOrderFinishList: [],
|
||||
loading2: false,
|
||||
dialogVisible: false,
|
||||
workOrderInfo: {},
|
||||
|
||||
open: false,
|
||||
// 弹出层标题
|
||||
title: '',
|
||||
// 操作类型 1、add 2、edit
|
||||
opertype: 0,
|
||||
// 工单类别 1-手动 2-自动选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
typeOptions: [
|
||||
{ dictLabel: '手动', dictValue: 1 },
|
||||
{ dictLabel: '自动', dictValue: 2 },
|
||||
],
|
||||
// 仓库数据是否同步 0-未发送同步数据 1-发送同步数据选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
isSendOptions: [
|
||||
{ dictLabel: '未同步', dictValue: 0 },
|
||||
{ dictLabel: '已同步', dictValue: 1 },
|
||||
],
|
||||
// 0-未执行 1-执行中 2-已完成选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
statusOptions: [
|
||||
{ dictLabel: '未执行', dictValue: 0 },
|
||||
{ dictLabel: '执行中', dictValue: 1 },
|
||||
{ dictLabel: '已完成', dictValue: 2 },
|
||||
],
|
||||
// 表单校验
|
||||
rules: {
|
||||
partnumber: [{ required: true, message: '零件号不能为空', trigger: 'blur' }],
|
||||
quantity: [{ required: true, message: '总零件数不能为空', trigger: 'blur' }],
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
created() {
|
||||
// 列表数据查询
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$router.push({ path: '/' })
|
||||
},
|
||||
getList() {
|
||||
this.loading = true
|
||||
listWmPolishWorkorder(this.queryParams).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.dataList = res.data.result
|
||||
this.total = res.data.totalNum
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 重置数据表单
|
||||
reset() {
|
||||
this.form = {
|
||||
id: '',
|
||||
workorderNo: '',
|
||||
partnumber: '',
|
||||
blankNum: '',
|
||||
quantity: 0,
|
||||
passNum: 0,
|
||||
sandingNum: 0,
|
||||
discardNum: 0,
|
||||
startTime: undefined,
|
||||
endTime: undefined,
|
||||
type: 1,
|
||||
remark: '',
|
||||
isSend: 0,
|
||||
status: 0,
|
||||
updatedBy: undefined,
|
||||
updatedTime: undefined,
|
||||
createdBy: undefined,
|
||||
createdTime: undefined,
|
||||
}
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
// 重置查询操作
|
||||
resetQuery() {
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset()
|
||||
this.open = true
|
||||
this.title = '添加'
|
||||
this.opertype = 1
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const Ids = row.id || this.ids
|
||||
|
||||
this.$confirm('是否确认删除参数编号为"' + Ids + '"的数据项?')
|
||||
.then(function () {
|
||||
return delWmPolishWorkorder(Ids)
|
||||
})
|
||||
.then(() => {
|
||||
this.handleQuery()
|
||||
this.msgSuccess('删除成功')
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset()
|
||||
const id = row.id || this.ids
|
||||
getWmPolishWorkorder(id).then((res) => {
|
||||
const { code, data } = res
|
||||
if (code == 200) {
|
||||
this.open = true
|
||||
this.title = '修改数据'
|
||||
this.opertype = 2
|
||||
|
||||
this.form = {
|
||||
...data,
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
handlerReport() {},
|
||||
/** 提交按钮 */
|
||||
submitForm: function () {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(JSON.stringify(this.form))
|
||||
|
||||
if (this.form.id != undefined && this.opertype === 2) {
|
||||
updateWmPolishWorkorder(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
.catch((err) => {
|
||||
//TODO 错误逻辑
|
||||
})
|
||||
} else {
|
||||
addWmPolishWorkorder(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
.catch((err) => {
|
||||
//TODO 错误逻辑
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
let timer1 = setInterval(() => {
|
||||
this.dateTime = this.$dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||
}, 1000)
|
||||
this.timer1 = timer1 // 保存定时器以便后续清除
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.timer1) {
|
||||
clearInterval(this.timer1)
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 10px;
|
||||
/* background-color: #000000; */
|
||||
}
|
||||
.border {
|
||||
border: 1px solid #000000;
|
||||
}
|
||||
.header-box {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.main-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
/* height: 100vh; */
|
||||
/* height: 90vh; */
|
||||
}
|
||||
.main-top-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.table-header {
|
||||
background-color: aliceblue;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.left {
|
||||
margin-right: 10px;
|
||||
background-color: lightblue;
|
||||
width: 25%; /* 左边元素占据30% */
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 550px; /* 确保容器占满整个视口高度 */
|
||||
}
|
||||
|
||||
.middle {
|
||||
// border: 1px solid #000000;
|
||||
height: 80vh; /* 占用视口高度的40% */
|
||||
}
|
||||
|
||||
.bottom {
|
||||
// border: 1px solid #000000;
|
||||
height: 20vh; /* 占用视口高度的40% */
|
||||
background-color: #409eff;
|
||||
font-size: 3rem;
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.right {
|
||||
width: 75%; /* 右边元素占据70% */
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 550px; /* 确保容器占满整个视口高度 */
|
||||
}
|
||||
.top {
|
||||
background-color: #d9ecff;
|
||||
padding: 10px;
|
||||
// display: flex;
|
||||
// flex-direction: row;
|
||||
// align-items: center;
|
||||
// justify-content: center;
|
||||
height: 60vh; /* 占用视口高度的20% */
|
||||
}
|
||||
|
||||
.middle {
|
||||
background-color: #ecf5ff;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 20vh; /* 占用视口高度的40% */
|
||||
}
|
||||
|
||||
.bottom {
|
||||
background-color: #faecd8;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 2px solid #909399;
|
||||
height: 20vh; /* 占用视口高度的40% */
|
||||
// background-color: lightgreen;
|
||||
}
|
||||
}
|
||||
|
||||
.scrollbar-demo-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 50px;
|
||||
margin: 10px;
|
||||
text-align: center;
|
||||
border-radius: 4px;
|
||||
background: var(--el-color-primary-light-9);
|
||||
color: var(--el-color-primary);
|
||||
}
|
||||
.order-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.descriptions-title-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.action-button {
|
||||
width: 200px;
|
||||
height: 60px;
|
||||
font-size: 24px;
|
||||
font-weight: 700;
|
||||
}
|
||||
// .descriptions-box{
|
||||
// width: 100%;
|
||||
// }
|
||||
</style>
|
||||
410
src/views/wmsManagement/WmPolishInventory/WmPolishWorkOrder.vue
Normal file
410
src/views/wmsManagement/WmPolishInventory/WmPolishWorkOrder.vue
Normal file
@@ -0,0 +1,410 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<el-container>
|
||||
<el-header class="header-box">
|
||||
<el-page-header @back="goBack" :content="content"> </el-page-header>
|
||||
<span style="font-size: 18px">{{ dateTime }}</span>
|
||||
</el-header>
|
||||
<el-main class="main-box">
|
||||
<div class="main-top-box">
|
||||
<div>
|
||||
<pagination
|
||||
background
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<el-form
|
||||
:model="queryParams"
|
||||
size="small"
|
||||
label-position="right"
|
||||
inline
|
||||
ref="queryForm"
|
||||
:label-width="labelWidth"
|
||||
@submit.native.prevent
|
||||
>
|
||||
<el-form-item label="工单号" prop="workorderNo">
|
||||
<el-input v-model.trim="queryParams.workorderNo" placeholder="请输入工单号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="零件号" prop="partnumber">
|
||||
<el-input v-model.trim="queryParams.partnumber" placeholder="请输入零件号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="时间" prop="orderTime">
|
||||
<el-date-picker v-model="queryParams.orderTime" type="date" placeholder="选择日期时间"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||
<!-- <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> -->
|
||||
<el-button icon="el-icon-plus" type="success">新增</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid-box" v-loading="loading">
|
||||
<div class="grid-item" v-for="(item,index) in 15">
|
||||
<el-card class="box-card order-not-start">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>PG-2024073100{{index + 1}}</span>
|
||||
<el-button style="float: right; padding: 3px 0" type="text">详情</el-button>
|
||||
</div>
|
||||
<div>
|
||||
<div>8129482GXP</div>
|
||||
<div>D2UC鲨鱼鳍</div>
|
||||
<div>数量:3000 个</div>
|
||||
<div>2024/07/31 ~ 2024/07/31</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</div>
|
||||
</el-main>
|
||||
</el-container>
|
||||
<!-- 添加或修改对话框 -->
|
||||
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open">
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="工单号" prop="workorderNo">
|
||||
<el-input v-model="form.workorderNo" placeholder="请输入工单号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="零件号" prop="partnumber">
|
||||
<el-input v-model="form.partnumber" placeholder="请输入零件号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="毛坯号" prop="blankNum">
|
||||
<el-input v-model="form.blankNum" placeholder="请输入毛坯号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="总零件数" prop="quantity">
|
||||
<el-input v-model="form.quantity" placeholder="请输入总零件数" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="合格" prop="passNum">
|
||||
<el-input v-model="form.passNum" placeholder="请输入合格" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="打磨" prop="sandingNum">
|
||||
<el-input v-model="form.sandingNum" placeholder="请输入打磨" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="报废" prop="discardNum">
|
||||
<el-input v-model="form.discardNum" placeholder="请输入报废" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<el-date-picker v-model="form.startTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<el-date-picker v-model="form.endTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="工单类别" prop="type">
|
||||
<el-select v-model="form.type" placeholder="请选择工单类别">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:key="item.dictValue"
|
||||
:label="item.dictLabel"
|
||||
:value="parseInt(item.dictValue)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="仓库数据是否同步" prop="isSend">
|
||||
<el-radio-group v-model="form.isSend">
|
||||
<el-radio v-for="item in isSendOptions" :key="item.dictValue" :label="parseInt(item.dictValue)">{{
|
||||
item.dictLabel
|
||||
}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio v-for="item in statusOptions" :key="item.dictValue" :label="parseInt(item.dictValue)">{{
|
||||
item.dictLabel
|
||||
}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// 抛光计划
|
||||
import {
|
||||
listWmPolishWorkorder,
|
||||
addWmPolishWorkorder,
|
||||
delWmPolishWorkorder,
|
||||
updateWmPolishWorkorder,
|
||||
getWmPolishWorkorder,
|
||||
} from '@/api/wmsManagement/wmPolishWorkorder.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
labelWidth: '60px',
|
||||
formLabelWidth: '60px',
|
||||
timer1: null,
|
||||
dateTime: this.$dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
content: '抛光工单排程',
|
||||
loading: false,
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
orderTime: 1,
|
||||
sort: 'updatedTime',
|
||||
sortType: 'desc',
|
||||
},
|
||||
form: {},
|
||||
total: 0,
|
||||
// 数据列表
|
||||
dataList: [],
|
||||
open: false,
|
||||
// 弹出层标题
|
||||
title: '',
|
||||
// 操作类型 1、add 2、edit
|
||||
opertype: 0,
|
||||
// 工单类别 1-手动 2-自动选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
typeOptions: [
|
||||
{ dictLabel: '手动', dictValue: 1 },
|
||||
{ dictLabel: '自动', dictValue: 2 },
|
||||
],
|
||||
// 仓库数据是否同步 0-未发送同步数据 1-发送同步数据选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
isSendOptions: [
|
||||
{ dictLabel: '未同步', dictValue: 0 },
|
||||
{ dictLabel: '已同步', dictValue: 1 },
|
||||
],
|
||||
// 0-未执行 1-执行中 2-已完成选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
statusOptions: [
|
||||
{ dictLabel: '未执行', dictValue: 0 },
|
||||
{ dictLabel: '执行中', dictValue: 1 },
|
||||
{ dictLabel: '已完成', dictValue: 2 },
|
||||
],
|
||||
// 表单校验
|
||||
rules: {
|
||||
partnumber: [{ required: true, message: '零件号不能为空', trigger: 'blur' }],
|
||||
quantity: [{ required: true, message: '总零件数不能为空', trigger: 'blur' }],
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
created() {
|
||||
// 列表数据查询
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
goBack() {
|
||||
this.$router.push({ path: '/' })
|
||||
},
|
||||
getList() {
|
||||
this.loading = true
|
||||
listWmPolishWorkorder(this.queryParams).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.dataList = res.data.result
|
||||
this.total = res.data.totalNum
|
||||
this.loading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 重置数据表单
|
||||
reset() {
|
||||
this.form = {
|
||||
id: '',
|
||||
workorderNo: '',
|
||||
partnumber: '',
|
||||
blankNum: '',
|
||||
quantity: 0,
|
||||
passNum: 0,
|
||||
sandingNum: 0,
|
||||
discardNum: 0,
|
||||
startTime: undefined,
|
||||
endTime: undefined,
|
||||
type: 1,
|
||||
remark: '',
|
||||
isSend: 0,
|
||||
status: 0,
|
||||
updatedBy: undefined,
|
||||
updatedTime: undefined,
|
||||
createdBy: undefined,
|
||||
createdTime: undefined,
|
||||
}
|
||||
this.resetForm('form')
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1
|
||||
this.getList()
|
||||
},
|
||||
// 重置查询操作
|
||||
resetQuery() {
|
||||
this.resetForm('queryForm')
|
||||
this.handleQuery()
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false
|
||||
this.reset()
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset()
|
||||
this.open = true
|
||||
this.title = '添加'
|
||||
this.opertype = 1
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const Ids = row.id || this.ids
|
||||
|
||||
this.$confirm('是否确认删除参数编号为"' + Ids + '"的数据项?')
|
||||
.then(function () {
|
||||
return delWmPolishWorkorder(Ids)
|
||||
})
|
||||
.then(() => {
|
||||
this.handleQuery()
|
||||
this.msgSuccess('删除成功')
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset()
|
||||
const id = row.id || this.ids
|
||||
getWmPolishWorkorder(id).then((res) => {
|
||||
const { code, data } = res
|
||||
if (code == 200) {
|
||||
this.open = true
|
||||
this.title = '修改数据'
|
||||
this.opertype = 2
|
||||
|
||||
this.form = {
|
||||
...data,
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function () {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(JSON.stringify(this.form))
|
||||
|
||||
if (this.form.id != undefined && this.opertype === 2) {
|
||||
updateWmPolishWorkorder(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess('修改成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
.catch((err) => {
|
||||
//TODO 错误逻辑
|
||||
})
|
||||
} else {
|
||||
addWmPolishWorkorder(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess('新增成功')
|
||||
this.open = false
|
||||
this.getList()
|
||||
})
|
||||
.catch((err) => {
|
||||
//TODO 错误逻辑
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
let timer1 = setInterval(() => {
|
||||
this.dateTime = this.$dayjs().format('YYYY-MM-DD HH:mm:ss')
|
||||
}, 1000)
|
||||
this.timer1 = timer1 // 保存定时器以便后续清除
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.timer1) {
|
||||
clearInterval(this.timer1)
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 10px;
|
||||
/* background-color: #000000; */
|
||||
}
|
||||
.border {
|
||||
border: 1px solid #000000;
|
||||
}
|
||||
.header-box {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.main-box {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* height: 100vh; */
|
||||
/* height: 90vh; */
|
||||
}
|
||||
.main-top-box {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.grid-box {
|
||||
display: inline-grid;
|
||||
/* grid-gap:10px; */
|
||||
grid-template-columns: repeat(5, 20%);
|
||||
}
|
||||
.grid-item {
|
||||
padding: 5px;
|
||||
/* height: 200px; */
|
||||
/* width: 20%; */
|
||||
}
|
||||
.box-card {
|
||||
/* height: 100px; */
|
||||
}
|
||||
.order-not-start {
|
||||
border: 4px solid #909399;
|
||||
}
|
||||
.order-start {
|
||||
border: 4px solid #e6a23c;
|
||||
}
|
||||
.order-end {
|
||||
border: 4px solid #67c23a;
|
||||
}
|
||||
</style>
|
||||
447
src/views/wmsManagement/WmPolishInventory/WorkOrderRecord.vue
Normal file
447
src/views/wmsManagement/WmPolishInventory/WorkOrderRecord.vue
Normal file
@@ -0,0 +1,447 @@
|
||||
<!--
|
||||
* @Descripttion: (/wm_polish_workorder)
|
||||
* @version: (1.0)
|
||||
* @Author: (admin)
|
||||
* @Date: (2024-07-30)
|
||||
* @LastEditors: (admin)
|
||||
* @LastEditTime: (2024-07-30)
|
||||
-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- :model属性用于表单验证使用 比如下面的el-form-item 的 prop属性用于对表单值进行验证操作 -->
|
||||
<el-form :model="queryParams" size="small" label-position="right" inline ref="queryForm" :label-width="labelWidth" v-show="showSearch"
|
||||
@submit.native.prevent>
|
||||
|
||||
<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" v-hasPermi="['business:wmpolishworkorder:add']" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="success" :disabled="single" v-hasPermi="['business:wmpolishworkorder:edit']" plain icon="el-icon-edit" size="mini" @click="handleUpdate">修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" :disabled="multiple" v-hasPermi="['business:wmpolishworkorder:delete']" plain icon="el-icon-delete" size="mini" @click="handleDelete">删除</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<!-- 数据区域 -->
|
||||
<el-table :data="dataList" v-loading="loading" ref="table" border highlight-current-row @sort-change="sortChange" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="50" align="center"/>
|
||||
<el-table-column prop="id" label="工单主键" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="workorderNo" label="工单号" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="partnumber" label="零件号" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="blankNum" label="毛坯号" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="quantity" label="总零件数" align="center" />
|
||||
<el-table-column prop="passNum" label="合格" align="center" />
|
||||
<el-table-column prop="sandingNum" label="打磨" align="center" />
|
||||
<el-table-column prop="discardNum" label="报废" align="center" />
|
||||
<el-table-column prop="startTime" label="开始时间" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="endTime" label="结束时间" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="type" label="工单类别 1-手动 2-自动" align="center">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="typeOptions" :value="scope.row.type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="isSend" label="仓库数据是否同步 0-未发送同步数据 1-发送同步数据" align="center">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="isSendOptions" :value="scope.row.isSend" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="0-未执行 1-执行中 2-已完成" align="center">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="statusOptions" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="updatedBy" label="更新人" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="updatedTime" label="更新时间" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="createdBy" label="创建人" align="center" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="createdTime" label="创建时间" align="center" :show-overflow-tooltip="true" />
|
||||
|
||||
<el-table-column label="操作" align="center" width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" v-hasPermi="['business:wmpolishworkorder:edit']" type="success" icon="el-icon-edit" title="编辑"
|
||||
@click="handleUpdate(scope.row)"></el-button>
|
||||
<el-button size="mini" v-hasPermi="['business:wmpolishworkorder:delete']" type="danger" icon="el-icon-delete" title="删除"
|
||||
@click="handleDelete(scope.row)"></el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination class="mt10" background :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
|
||||
|
||||
<!-- 添加或修改对话框 -->
|
||||
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open" >
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
|
||||
<el-row :gutter="20">
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="工单主键" prop="id">
|
||||
<el-input-number v-model.number="form.id" controls-position="right" placeholder="请输入工单主键" :disabled="title=='修改数据'"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="工单号" prop="workorderNo">
|
||||
<el-input v-model="form.workorderNo" placeholder="请输入工单号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="零件号" prop="partnumber">
|
||||
<el-input v-model="form.partnumber" placeholder="请输入零件号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="毛坯号" prop="blankNum">
|
||||
<el-input v-model="form.blankNum" placeholder="请输入毛坯号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="总零件数" prop="quantity">
|
||||
<el-input v-model="form.quantity" placeholder="请输入总零件数" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="合格" prop="passNum">
|
||||
<el-input v-model="form.passNum" placeholder="请输入合格" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="打磨" prop="sandingNum">
|
||||
<el-input v-model="form.sandingNum" placeholder="请输入打磨" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="报废" prop="discardNum">
|
||||
<el-input v-model="form.discardNum" placeholder="请输入报废" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<el-date-picker v-model="form.startTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<el-date-picker v-model="form.endTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="工单类别 1-手动 2-自动" prop="type">
|
||||
<el-select v-model="form.type" placeholder="请选择工单类别 1-手动 2-自动">
|
||||
<el-option v-for="item in typeOptions" :key="item.dictValue" :label="item.dictLabel" :value="parseInt(item.dictValue)"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="仓库数据是否同步 0-未发送同步数据 1-发送同步数据" prop="isSend">
|
||||
<el-radio-group v-model="form.isSend">
|
||||
<el-radio v-for="item in isSendOptions" :key="item.dictValue" :label="parseInt(item.dictValue)">{{item.dictLabel}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="0-未执行 1-执行中 2-已完成" prop="status">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio v-for="item in statusOptions" :key="item.dictValue" :label="parseInt(item.dictValue)">{{item.dictLabel}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="更新人" prop="updatedBy">
|
||||
<el-input v-model="form.updatedBy" placeholder="请输入更新人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="更新时间" prop="updatedTime">
|
||||
<el-date-picker v-model="form.updatedTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="创建人" prop="createdBy">
|
||||
<el-input v-model="form.createdBy" placeholder="请输入创建人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="创建时间" prop="createdTime">
|
||||
<el-date-picker v-model="form.createdTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
listWmPolishWorkorder,
|
||||
addWmPolishWorkorder,
|
||||
delWmPolishWorkorder,
|
||||
updateWmPolishWorkorder,
|
||||
getWmPolishWorkorder,
|
||||
} from '@/api/wmsManagement/wmPolishWorkorder.js';
|
||||
|
||||
export default {
|
||||
name: "polishworkorderrecord",
|
||||
data() {
|
||||
return {
|
||||
labelWidth: "100px",
|
||||
formLabelWidth:"100px",
|
||||
// 选中id数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
sort: undefined,
|
||||
sortType: undefined,
|
||||
},
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 操作类型 1、add 2、edit
|
||||
opertype: 0,
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 表单参数
|
||||
form: {},
|
||||
columns: [
|
||||
{ index: 0, key: 'id', label: `工单主键`, checked: true },
|
||||
{ index: 1, key: 'workorderNo', label: `工单号`, checked: true },
|
||||
{ index: 2, key: 'partnumber', label: `零件号`, checked: true },
|
||||
{ index: 3, key: 'blankNum', label: `毛坯号`, checked: true },
|
||||
{ index: 4, key: 'quantity', label: `总零件数`, checked: true },
|
||||
{ index: 5, key: 'passNum', label: `合格`, checked: true },
|
||||
{ index: 6, key: 'sandingNum', label: `打磨`, checked: true },
|
||||
{ index: 7, key: 'discardNum', label: `报废`, checked: true },
|
||||
{ index: 8, key: 'startTime', label: `开始时间`, checked: true },
|
||||
{ index: 9, key: 'endTime', label: `结束时间`, checked: false },
|
||||
{ index: 10, key: 'type', label: `工单类别 1-手动 2-自动`, checked: false },
|
||||
{ index: 11, key: 'remark', label: `备注`, checked: false },
|
||||
{ index: 12, key: 'isSend', label: `仓库数据是否同步 0-未发送同步数据 1-发送同步数据`, checked: false },
|
||||
{ index: 13, key: 'status', label: `0-未执行 1-执行中 2-已完成`, checked: false },
|
||||
{ index: 14, key: 'updatedBy', label: `更新人`, checked: false },
|
||||
{ index: 15, key: 'updatedTime', label: `更新时间`, checked: false },
|
||||
{ index: 16, key: 'createdBy', label: `创建人`, checked: false },
|
||||
{ index: 17, key: 'createdTime', label: `创建时间`, checked: false },
|
||||
],
|
||||
// 工单类别 1-手动 2-自动选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
typeOptions: [],
|
||||
// 仓库数据是否同步 0-未发送同步数据 1-发送同步数据选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
isSendOptions: [],
|
||||
// 0-未执行 1-执行中 2-已完成选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
|
||||
statusOptions: [],
|
||||
// 数据列表
|
||||
dataList: [],
|
||||
// 总记录数
|
||||
total: 0,
|
||||
// 提交按钮是否显示
|
||||
btnSubmitVisible: true,
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "工单主键不能为空", trigger: "blur" }
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// 列表数据查询
|
||||
this.getList();
|
||||
|
||||
var dictParams = [
|
||||
];
|
||||
},
|
||||
methods: {
|
||||
// 查询数据
|
||||
getList() {
|
||||
this.loading = true;
|
||||
listWmPolishWorkorder(this.queryParams).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.dataList = res.data.result;
|
||||
this.total = res.data.totalNum;
|
||||
this.loading = false;
|
||||
}
|
||||
})
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 重置数据表单
|
||||
reset() {
|
||||
this.form = {
|
||||
id: undefined,
|
||||
workorderNo: undefined,
|
||||
partnumber: undefined,
|
||||
blankNum: undefined,
|
||||
quantity: undefined,
|
||||
passNum: undefined,
|
||||
sandingNum: undefined,
|
||||
discardNum: undefined,
|
||||
startTime: undefined,
|
||||
endTime: undefined,
|
||||
type: undefined,
|
||||
remark: undefined,
|
||||
isSend: undefined,
|
||||
status: undefined,
|
||||
updatedBy: undefined,
|
||||
updatedTime: undefined,
|
||||
createdBy: undefined,
|
||||
createdTime: undefined,
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
// 重置查询操作
|
||||
resetQuery() {
|
||||
this.timeRange = [];
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map((item) => item.id);
|
||||
this.single = selection.length != 1
|
||||
this.multiple = !selection.length;
|
||||
},
|
||||
// 自定义排序
|
||||
sortChange(column) {
|
||||
if (column.prop == null || column.order == null) {
|
||||
this.queryParams.sort = undefined;
|
||||
this.queryParams.sortType = undefined;
|
||||
} else {
|
||||
this.queryParams.sort = column.prop;
|
||||
this.queryParams.sortType = column.order;
|
||||
}
|
||||
|
||||
this.handleQuery();
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd() {
|
||||
this.reset();
|
||||
this.open = true;
|
||||
this.title = "添加";
|
||||
this.opertype = 1;
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const Ids = row.id || this.ids;
|
||||
|
||||
this.$confirm('是否确认删除参数编号为"' + Ids + '"的数据项?')
|
||||
.then(function () {
|
||||
return delWmPolishWorkorder(Ids);
|
||||
})
|
||||
.then(() => {
|
||||
this.handleQuery();
|
||||
this.msgSuccess("删除成功");
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const id = row.id || this.ids;
|
||||
getWmPolishWorkorder(id).then((res) => {
|
||||
const { code, data } = res;
|
||||
if (code == 200) {
|
||||
this.open = true;
|
||||
this.title = "修改数据";
|
||||
this.opertype = 2;
|
||||
|
||||
this.form = {
|
||||
...data,
|
||||
};
|
||||
}
|
||||
});
|
||||
},
|
||||
// 工单类别 1-手动 2-自动字典翻译
|
||||
typeFormat(row, column) {
|
||||
return this.selectDictLabel(this.typeOptions, row.type);
|
||||
},
|
||||
// 仓库数据是否同步 0-未发送同步数据 1-发送同步数据字典翻译
|
||||
isSendFormat(row, column) {
|
||||
return this.selectDictLabel(this.isSendOptions, row.isSend);
|
||||
},
|
||||
// 0-未执行 1-执行中 2-已完成字典翻译
|
||||
statusFormat(row, column) {
|
||||
return this.selectDictLabel(this.statusOptions, row.status);
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function () {
|
||||
this.$refs["form"].validate((valid) => {
|
||||
if (valid) {
|
||||
console.log(JSON.stringify(this.form));
|
||||
|
||||
if (this.form.id != undefined && this.opertype === 2) {
|
||||
updateWmPolishWorkorder(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess("修改成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
})
|
||||
.catch((err) => {
|
||||
//TODO 错误逻辑
|
||||
});
|
||||
} else {
|
||||
addWmPolishWorkorder(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess("新增成功");
|
||||
this.open = false;
|
||||
this.getList();
|
||||
})
|
||||
.catch((err) => {
|
||||
//TODO 错误逻辑
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -176,10 +176,17 @@
|
||||
/>
|
||||
|
||||
<!-- 入库,出库,盘点 -->
|
||||
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open" @opened="dialogOpened">
|
||||
<el-dialog :close-on-click-modal="false" :title="title" :lock-scroll="false" :visible.sync="open" @opened="dialogOpened">
|
||||
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
|
||||
<el-row :gutter="20">
|
||||
<el-col :lg="24">
|
||||
<el-form-item label="操作类别">
|
||||
<el-tag effect="dark" style="font-size: 18px" v-if="opertype === 1" type="success">入库</el-tag>
|
||||
<el-tag effect="dark" style="font-size: 18px" v-if="opertype === 2" type="primary">出库</el-tag>
|
||||
<el-tag effect="dark" style="font-size: 18px" v-if="opertype === 3" type="warning">盘点</el-tag>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="24" v-if="opertype != 3">
|
||||
<el-form-item label="零件搜索">
|
||||
<ThePartNumberSelect ref="ThePartNumberSelectRef" @selected="PartNumberSelect"></ThePartNumberSelect>
|
||||
</el-form-item>
|
||||
@@ -191,8 +198,14 @@
|
||||
</el-col>
|
||||
|
||||
<el-col :lg="12">
|
||||
<el-form-item label="库存数量" prop="quantity">
|
||||
<el-input-number v-model="form.quantity" :min="0" label="请输入库存数量"></el-input-number>
|
||||
<el-form-item v-if="opertype === 1" label="入库数" prop="quantity">
|
||||
<el-input-number v-model="form.quantity" :min="0" label="入库数量"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="opertype === 2" label="出库数" prop="quantity">
|
||||
<el-input-number v-model="form.quantity" :min="0" label="出库数量"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="opertype === 3" label="盘点数" prop="quantity">
|
||||
<el-input-number v-model="form.quantity" :min="0" label="请输入盘点结果"></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="12">
|
||||
@@ -230,13 +243,24 @@
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 操作记录 -->
|
||||
<el-dialog :title="RecordTitle" :lock-scroll="false" :visible.sync="RecordOpen" @opened="RecordOpened" width="80%">
|
||||
<el-dialog
|
||||
:close-on-click-modal="false"
|
||||
:title="RecordTitle"
|
||||
:lock-scroll="false"
|
||||
:visible.sync="RecordOpen"
|
||||
@opened="RecordOpened"
|
||||
width="80%"
|
||||
destroy-on-close
|
||||
>
|
||||
<el-form :model="RecordQueryParams" size="small" label-position="right" inline ref="RecordQueryForm" @submit.native.prevent>
|
||||
<el-form-item label="开始时间" prop="startTime">
|
||||
<el-date-picker v-model="RecordQueryParams.startTime" type="datetime" :clearable="true" placeholder="开始时间"></el-date-picker>
|
||||
<el-form-item label="操作时间" prop="startActionTime">
|
||||
<el-date-picker v-model="RecordQueryParams.startActionTime" type="datetime" :clearable="true" placeholder="开始时间"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="截止时间" prop="endTime">
|
||||
<el-date-picker v-model="RecordQueryParams.endTime" type="datetime" :clearable="true" placeholder="截止时间"></el-date-picker>
|
||||
<el-form-item label="至" prop="endActionTime">
|
||||
<el-date-picker v-model="RecordQueryParams.endActionTime" type="datetime" :clearable="true" placeholder="结束时间" default-time="23:59:59"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="工单号" prop="remark">
|
||||
<el-input v-model.trim="RecordQueryParams.remark" placeholder="请输入工单号" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="类别" prop="changeType">
|
||||
<el-select v-model="RecordQueryParams.changeType" placeholder="请选择类别" @change="getRecordList">
|
||||
@@ -333,6 +357,7 @@ export default {
|
||||
type: 1,
|
||||
status: 1,
|
||||
partnumber: '',
|
||||
remark: '',
|
||||
actionTime: new Date(),
|
||||
},
|
||||
columns: [
|
||||
@@ -433,7 +458,7 @@ export default {
|
||||
type: 1,
|
||||
status: 1,
|
||||
actionTime: new Date(),
|
||||
remark: undefined,
|
||||
remark: '',
|
||||
createdBy: undefined,
|
||||
createdTime: undefined,
|
||||
updatedBy: undefined,
|
||||
@@ -551,8 +576,8 @@ export default {
|
||||
resetRecordQuery() {
|
||||
this.RecordQueryParams.pageNum = 1
|
||||
this.RecordQueryParams.changeType = -1
|
||||
this.RecordQueryParams.startTime = null
|
||||
this.RecordQueryParams.endTime = null
|
||||
// this.RecordQueryParams.startTime = ''
|
||||
// this.RecordQueryParams.endTime = ''
|
||||
this.getRecordList()
|
||||
},
|
||||
getRecordList() {
|
||||
@@ -581,7 +606,7 @@ export default {
|
||||
if (valid) {
|
||||
const _opertype = this.opertype
|
||||
if (_opertype === 1) {
|
||||
this.form.remark = '手动入库 ' + this.form.remark;
|
||||
this.form.remark = '手动入库 ' + this.form.remark
|
||||
doWmPolishWarehousing(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess('入库成功')
|
||||
@@ -592,7 +617,7 @@ export default {
|
||||
//TODO 错误逻辑
|
||||
})
|
||||
} else if (_opertype === 2) {
|
||||
this.form.remark = '手动出库 ' + this.form.remark;
|
||||
this.form.remark = '手动出库 ' + this.form.remark
|
||||
doWmPolishRetrieval(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess('出库成功')
|
||||
@@ -603,7 +628,7 @@ export default {
|
||||
//TODO 错误逻辑
|
||||
})
|
||||
} else if (_opertype === 3) {
|
||||
this.form.remark = '手动盘点 ' + this.form.remark;
|
||||
this.form.remark = '手动盘点 ' + this.form.remark
|
||||
doWmPolishStocktaking(this.form)
|
||||
.then((res) => {
|
||||
this.msgSuccess('盘点成功')
|
||||
@@ -619,4 +644,4 @@ export default {
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
Reference in New Issue
Block a user