refactor(生产工单): 优化工单管理界面和功能

- 移除出货按钮和注释掉的代码
- 调整表单布局,将车间改为产线和班组
- 修改领料批次为原材料批次
- 增加优先级显示列
- 优化操作按钮布局和功能
- 调整表格列显示和排序
- 更新相关字段名称和逻辑
This commit is contained in:
2026-01-28 17:54:32 +08:00
parent a955cf1285
commit 2d31373dc4
5 changed files with 300 additions and 319 deletions

View File

@@ -4,218 +4,208 @@
* @Date: (2024-07-09)
-->
<template>
<div>
<el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch" @submit.prevent>
<el-form-item label="流程编码" prop="code">
<el-input v-model.trim="queryParams.code" clearable placeholder="请输入流程编码" />
</el-form-item>
<el-form-item label="流程名称" prop="name">
<el-input v-model.trim="queryParams.name" clearable placeholder="请输入流程名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="queryParams.status" @change="handleQuery">
<el-radio-button :value="-1">
全部
</el-radio-button>
<el-radio-button v-for="item in options.statusOptions" :key="item.dictValue"
:value="parseInt(item.dictValue)">
{{ item.dictLabel }}
</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
<el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
</el-form-item>
</el-form>
<!-- 工具区域 -->
<el-row :gutter="15" class="mb10">
<el-col :span="1.5">
<el-button type="primary" v-hasPermi="['baseManagement:baseworkroute:add']" plain icon="plus"
@click="handleAdd">
{{ $t('btn.add') }}
</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<div>
<el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch" @submit.prevent>
<el-form-item label="流程编码" prop="code">
<el-input v-model.trim="queryParams.code" clearable placeholder="请输入流程编码" />
</el-form-item>
<el-form-item label="流程名称" prop="name">
<el-input v-model.trim="queryParams.name" clearable placeholder="请输入流程名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="queryParams.status" @change="handleQuery">
<el-radio-button :value="-1"> 全部 </el-radio-button>
<el-radio-button v-for="item in options.statusOptions" :key="item.dictValue" :value="parseInt(item.dictValue)">
{{ item.dictLabel }}
</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button icon="search" type="primary" @click="handleQuery">{{ $t('btn.search') }}</el-button>
<el-button icon="refresh" @click="resetQuery">{{ $t('btn.reset') }}</el-button>
</el-form-item>
</el-form>
<!-- 工具区域 -->
<el-row :gutter="15" class="mb10">
<el-col :span="1.5">
<el-button type="primary" v-hasPermi="['baseManagement:baseworkroute:add']" plain icon="plus" @click="handleAdd">
{{ $t('btn.add') }}
</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table :data="dataList" v-loading="loading" ref="table" border header-cell-class-name="el-table-header-cell"
highlight-current-row @sort-change="sortChange">
<el-table-column prop="id" label="主键" align="center" v-if="columns.showColumn('id')" />
<el-table-column prop="code" label="流程编码" align="center" :show-overflow-tooltip="true"
v-if="columns.showColumn('code')" />
<el-table-column prop="name" label="流程名称" align="center" :show-overflow-tooltip="true"
v-if="columns.showColumn('name')" />
<el-table-column prop="productionCode" label="产成品编号" align="center" />
<el-table-column prop="baseWorkProcessesList" label="绑定工序" min-width="260" align="left"
v-if="columns.showColumn('baseWorkProcessesList')">
<template #default="scope">
<el-tag style="margin-right: 5px;" v-for="(item, index) in scope.row.baseWorkProcessesList"
type="primary">{{ `${index}-${item.name}` }}</el-tag>
</template>
</el-table-column>
<el-table-column prop="status" label="状态" align="center" v-if="columns.showColumn('status')">
<template #default="scope">
<dict-tag :options="options.statusOptions" :value="scope.row.status + ''" />
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" align="center" :show-overflow-tooltip="true"
v-if="columns.showColumn('remark')" />
<el-table-column prop="createdBy" label="创建人" align="center" :show-overflow-tooltip="true"
v-if="columns.showColumn('createdBy')" />
<el-table-column prop="createdTime" label="创建时间" :show-overflow-tooltip="true"
v-if="columns.showColumn('createdTime')" />
<el-table-column prop="updatedBy" label="更新人" align="center" :show-overflow-tooltip="true"
v-if="columns.showColumn('updatedBy')" />
<el-table-column prop="updatedTime" label="更新时间" :show-overflow-tooltip="true"
v-if="columns.showColumn('updatedTime')" />
<el-table-column label="操作" width="240">
<template #default="scope">
<el-button type="warning" size="small" title="工艺流程"
v-hasPermi="['baseManagement:baseworkroute:edit']"
@click="handleRouteDialogShow(scope.row)">工艺流程</el-button>
<el-button type="success" size="small" icon="edit" title="编辑信息"
v-hasPermi="['baseManagement:baseworkroute:edit']" @click="handleUpdate(scope.row)"></el-button>
<el-button type="danger" size="small" icon="delete" title="删除"
v-hasPermi="['baseManagement:baseworkroute:delete']"
@click="handleDelete(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
@pagination="getList" />
<el-table
:data="dataList"
v-loading="loading"
ref="table"
border
header-cell-class-name="el-table-header-cell"
highlight-current-row
@sort-change="sortChange">
<el-table-column prop="id" label="主键" align="center" v-if="columns.showColumn('id')" />
<el-table-column prop="code" label="流程编码" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('code')" />
<el-table-column prop="name" label="流程名称" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('name')" />
<!-- <el-table-column prop="productionCode" label="产成品编号" align="center" /> -->
<el-table-column prop="baseWorkProcessesList" label="绑定工序" min-width="260" align="left" v-if="columns.showColumn('baseWorkProcessesList')">
<template #default="scope">
<el-tag style="margin-right: 5px" v-for="(item, index) in scope.row.baseWorkProcessesList" type="primary">{{
`${index}-${item.name}`
}}</el-tag>
</template>
</el-table-column>
<el-table-column prop="status" label="状态" align="center" v-if="columns.showColumn('status')">
<template #default="scope">
<dict-tag :options="options.statusOptions" :value="scope.row.status + ''" />
</template>
</el-table-column>
<el-table-column prop="remark" label="备注" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('remark')" />
<el-table-column prop="createdBy" label="创建人" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('createdBy')" />
<el-table-column prop="createdTime" label="创建时间" :show-overflow-tooltip="true" v-if="columns.showColumn('createdTime')" />
<el-table-column prop="updatedBy" label="更新人" align="center" :show-overflow-tooltip="true" v-if="columns.showColumn('updatedBy')" />
<el-table-column prop="updatedTime" label="更新时间" :show-overflow-tooltip="true" v-if="columns.showColumn('updatedTime')" />
<el-table-column label="操作" width="240">
<template #default="scope">
<el-button
type="warning"
size="small"
title="工艺流程"
v-hasPermi="['baseManagement:baseworkroute:edit']"
@click="handleRouteDialogShow(scope.row)"
>工艺流程</el-button
>
<el-button
type="success"
size="small"
icon="edit"
title="编辑信息"
v-hasPermi="['baseManagement:baseworkroute:edit']"
@click="handleUpdate(scope.row)"></el-button>
<el-button
type="danger"
size="small"
icon="delete"
title="删除"
v-hasPermi="['baseManagement:baseworkroute:delete']"
@click="handleDelete(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
<pagination :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
<!-- 添加或修改工艺路线对话框 -->
<el-dialog :title="title" :lock-scroll="false" v-model="open">
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="20">
<el-col :lg="12">
<el-form-item label="流程编码" prop="code">
<el-input v-model="form.code" placeholder="请输入流程编码" />
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="流程名称" prop="name">
<el-input v-model="form.name" placeholder="请输入流程名称" />
</el-form-item>
</el-col>
<!-- <el-col :lg="12">
<el-form-item label="产成品编号" prop="productionCode">
<el-input v-model="form.productionCode" placeholder="请输入产成品编号" />
</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 options.statusOptions" :key="item.dictValue" :value="parseInt(item.dictValue)">
{{ item.dictLabel }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<!-- 添加或修改工艺路线对话框 -->
<el-dialog :title="title" :lock-scroll="false" v-model="open">
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="20">
<el-col :lg="12">
<el-form-item label="流程编码" prop="code">
<el-input v-model="form.code" placeholder="请输入流程编码" />
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="流程名称" prop="name">
<el-input v-model="form.name" placeholder="请输入流程名称" />
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="产成品编号" prop="productionCode">
<el-input v-model="form.productionCode" placeholder="请输入产成品编号" />
</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 options.statusOptions" :key="item.dictValue"
:value="parseInt(item.dictValue)">
{{ item.dictLabel }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :lg="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer v-if="opertype != 3">
<el-button text @click="cancel">{{ $t('btn.cancel') }}</el-button>
<el-button type="primary" @click="submitForm">{{ $t('btn.submit') }}</el-button>
</template>
</el-dialog>
<TheRouteDialog v-model="TheRouteDialogShow" title="工艺流程" :routeId="TheRouteDialogId" fullScreen
@refresh="getList">
</TheRouteDialog>
</div>
<el-col :lg="24">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer v-if="opertype != 3">
<el-button text @click="cancel">{{ $t('btn.cancel') }}</el-button>
<el-button type="primary" @click="submitForm">{{ $t('btn.submit') }}</el-button>
</template>
</el-dialog>
<TheRouteDialog v-model="TheRouteDialogShow" title="工艺流程" :routeId="TheRouteDialogId" fullScreen @refresh="getList"> </TheRouteDialog>
</div>
</template>
<script setup name="baseworkroute">
import {
listBaseWorkRoute,
addBaseWorkRoute,
delBaseWorkRoute,
updateBaseWorkRoute,
getBaseWorkRoute,
}
from '@/api/baseManagement/baseworkroute.js'
import {
getOneDict
}
from '@/utils/dict.js'
import { listBaseWorkRoute, addBaseWorkRoute, delBaseWorkRoute, updateBaseWorkRoute, getBaseWorkRoute } from '@/api/baseManagement/baseworkroute.js'
import { getOneDict } from '@/utils/dict.js'
import { default as TheRouteDialog } from './TheRouteDialog'
const { proxy } = getCurrentInstance()
const ids = ref([])
const loading = ref(false)
const showSearch = ref(true)
const queryParams = reactive({
pageNum: 1,
pageSize: 10,
status: -1,
sort: 'createdTime',
sortType: 'desc',
pageNum: 1,
pageSize: 10,
status: -1,
sort: 'createdTime',
sortType: 'desc'
})
const columns = ref([
{ visible: false, prop: 'id', label: '主键' },
{ visible: true, prop: 'name', label: '名称' },
{ visible: true, prop: 'code', label: '编号' },
{ visible: true, prop: 'status', label: '状态' },
{ visible: true, prop: 'remark', label: '备注' },
{ visible: false, prop: 'createdBy', label: '创建人' },
{ visible: false, prop: 'createdTime', label: '创建时间' },
{ visible: false, prop: 'updatedBy', label: '更新人' },
{ visible: false, prop: 'updatedTime', label: '更新时间' },
{ visible: false, prop: 'id', label: '主键' },
{ visible: true, prop: 'name', label: '名称' },
{ visible: true, prop: 'code', label: '编号' },
{ visible: true, prop: 'status', label: '状态' },
{ visible: true, prop: 'remark', label: '备注' },
{ visible: false, prop: 'createdBy', label: '创建人' },
{ visible: false, prop: 'createdTime', label: '创建时间' },
{ visible: false, prop: 'updatedBy', label: '更新人' },
{ visible: false, prop: 'updatedTime', label: '更新时间' }
])
const total = ref(0)
const dataList = ref([])
const queryRef = ref()
const defaultTime = ref([new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)])
var dictParams = []
function getList() {
loading.value = true
listBaseWorkRoute(queryParams).then(res => {
const { code, data } = res
if (code == 200) {
dataList.value = data.result
total.value = data.totalNum
loading.value = false
}
})
loading.value = true
listBaseWorkRoute(queryParams).then((res) => {
const { code, data } = res
if (code == 200) {
dataList.value = data.result
total.value = data.totalNum
loading.value = false
}
})
}
// 查询
function handleQuery() {
queryParams.pageNum = 1
getList()
queryParams.pageNum = 1
getList()
}
// 重置查询操作
function resetQuery() {
proxy.resetForm("queryRef")
handleQuery()
proxy.resetForm('queryRef')
handleQuery()
}
// 自定义排序
function sortChange(column) {
var sort = undefined
var sortType = undefined
var sort = undefined
var sortType = undefined
if (column.prop != null && column.order != null) {
sort = column.prop
sortType = column.order
}
queryParams.sort = sort
queryParams.sortType = sortType
handleQuery()
if (column.prop != null && column.order != null) {
sort = column.prop
sortType = column.order
}
queryParams.sort = sort
queryParams.sortType = sortType
handleQuery()
}
/*************** form操作 ***************/
@@ -225,122 +215,123 @@ const title = ref('')
const opertype = ref(0)
const open = ref(false)
const state = reactive({
single: true,
multiple: true,
form: {},
rules: {
id: [{ required: true, message: "主键不能为空", trigger: "blur", type: "number" }],
},
options: {
// 状态 选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
statusOptions: [{ dictLabel: '停用', dictValue: 0 }, { dictLabel: '启用', dictValue: 1 }],
}
single: true,
multiple: true,
form: {},
rules: {
id: [{ required: true, message: '主键不能为空', trigger: 'blur', type: 'number' }]
},
options: {
// 状态 选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
statusOptions: [
{ dictLabel: '停用', dictValue: 0 },
{ dictLabel: '启用', dictValue: 1 }
]
}
})
const { form, rules, options, single, multiple } = toRefs(state)
async function initDict() {
const dictSelectList = ['common_status'];
const statusRes = await getOneDict(dictSelectList[0]);
if (statusRes.code === 200) {
state.options.statusOptions = statusRes.data[0].list;
}
const dictSelectList = ['common_status']
const statusRes = await getOneDict(dictSelectList[0])
if (statusRes.code === 200) {
state.options.statusOptions = statusRes.data[0].list
}
}
// 关闭dialog
function cancel() {
open.value = false
reset()
open.value = false
reset()
}
// 重置表单
function reset() {
form.value = {
id: null,
name: null,
code: null,
logicFlowData: null,
productionCode: '',
status: 1,
remark: null,
createdBy: null,
createdTime: null,
updatedBy: null,
updatedTime: null,
};
proxy.resetForm("formRef")
form.value = {
id: null,
name: null,
code: null,
logicFlowData: null,
productionCode: '',
status: 1,
remark: null,
createdBy: null,
createdTime: null,
updatedBy: null,
updatedTime: null
}
proxy.resetForm('formRef')
}
// 添加按钮操作
function handleAdd() {
reset();
open.value = true
title.value = '添加工艺路线'
opertype.value = 1
reset()
open.value = true
title.value = '添加工艺路线'
opertype.value = 1
}
// 修改按钮操作
function handleUpdate(row) {
reset()
const id = row.id || ids.value
getBaseWorkRoute(id).then((res) => {
const { code, data } = res
if (code == 200) {
open.value = true
title.value = '修改工艺路线'
opertype.value = 2
reset()
const id = row.id || ids.value
getBaseWorkRoute(id).then((res) => {
const { code, data } = res
if (code == 200) {
open.value = true
title.value = '修改工艺路线'
opertype.value = 2
form.value = {
...data,
}
}
})
form.value = {
...data
}
}
})
}
// 添加&修改 表单提交
function submitForm() {
proxy.$refs["formRef"].validate((valid) => {
if (valid) {
if (form.value.id != undefined && opertype.value === 2) {
updateBaseWorkRoute(form.value).then((res) => {
proxy.$modal.msgSuccess("修改成功")
open.value = false
getList()
})
} else {
addBaseWorkRoute(form.value).then((res) => {
proxy.$modal.msgSuccess("新增成功")
open.value = false
getList()
})
}
}
})
proxy.$refs['formRef'].validate((valid) => {
if (valid) {
if (form.value.id != undefined && opertype.value === 2) {
updateBaseWorkRoute(form.value).then((res) => {
proxy.$modal.msgSuccess('修改成功')
open.value = false
getList()
})
} else {
addBaseWorkRoute(form.value).then((res) => {
proxy.$modal.msgSuccess('新增成功')
open.value = false
getList()
})
}
}
})
}
// 删除按钮操作
function handleDelete(row) {
const Ids = row.id || ids.value
const Ids = row.id || ids.value
proxy
.$confirm('是否确认删除主键为"' + Ids + '"的数据项?')
.then(function () {
return delBaseWorkRoute(Ids)
})
.then(() => {
getList()
proxy.$modal.msgSuccess("删除成功")
})
proxy
.$confirm('是否确认删除主键为"' + Ids + '"的数据项?')
.then(function () {
return delBaseWorkRoute(Ids)
})
.then(() => {
getList()
proxy.$modal.msgSuccess('删除成功')
})
}
// dialog
const TheRouteDialogId = ref()
const TheRouteDialogShow = ref(false)
// 流程图按钮操作按钮操作
function handleRouteDialogShow(row) {
reset();
TheRouteDialogId.value = row.id
TheRouteDialogShow.value = true;
reset()
TheRouteDialogId.value = row.id
TheRouteDialogShow.value = true
}
initDict()
handleQuery()
</script>
</script>

View File

@@ -50,7 +50,6 @@
<el-button type="primary" v-hasPermi="['mminventory:outStorage']" plain icon="plus" @click="handleOutStorage">
{{ $t('btn.outStorage') }}
</el-button>
<el-button type="primary" v-hasPermi="['mminventory:outStorage']" plain icon="plus" @click="handleShipment"> 出货 </el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" plain icon="Upload" @click="handleImport" v-hasPermi="['system:user:import']">

View File

@@ -52,21 +52,6 @@
</el-form>
<!-- 工具区域 -->
<el-row :gutter="15" class="mb10">
<!-- <el-col :span="1.5">
<el-button type="primary" v-hasPermi="['mmrecordinbound:add']" plain icon="plus" @click="handleAdd">
{{ $t('btn.add') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="info" plain icon="Upload" @click="handleImport" v-hasPermi="['system:user:import']">
{{ $t('btn.import') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['system:user:export']">
{{ $t('btn.export') }}
</el-button>
</el-col> -->
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
@@ -121,7 +106,7 @@
title="领料"
v-hasPermi="['mmrecordinbound:lingliao']"
@click="handleTakeMaterial(scope.row)"
>领料</el-button
>10线领料</el-button
>
</template>
</template>

View File

@@ -8,7 +8,11 @@
</el-select>
</el-form-item>
<el-form-item label="出入库类别" prop="transactionType">
<el-select @change="queryRecord" v-model="internalQueryParams.transactionType" filterable placeholder="请选择出入库类别">
<el-select
@change="queryRecord"
v-model="internalQueryParams.transactionType"
filterable
placeholder="请选择出入库类别">
<el-option label="全部" value=""> </el-option>
<el-option v-for="item in transactionOptions" :key="item.id" :label="item.typeCode" :value="item.typeName"> </el-option>
</el-select>

View File

@@ -7,11 +7,23 @@
<div>
<el-form :model="queryParams" label-position="right" inline ref="queryRef" v-show="showSearch" @submit.prevent>
<div>
<el-form-item label="车间" prop="workshopCode">
<!-- <el-form-item label="车间" prop="workshopCode">
<el-select v-model="queryParams.workshopCode" placeholder="全部">
<el-option label="全部" value="" />
<el-option label="半导体阀门车间" value="1" />
</el-select>
</el-form-item> -->
<el-form-item label="产线" prop="routeCode">
<el-select v-model="queryParams.routeCode" placeholder="全部">
<el-option label="全部" value="" />
<el-option v-for="(item, index) in allRouteOptions" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="班组" prop="groupCode">
<el-select v-model="queryParams.groupCode" placeholder="全部">
<el-option label="全部" value="" />
<el-option v-for="(item, index) in allGroupOptions" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="工单日期" prop="workorderDate">
<el-date-picker
@@ -24,26 +36,14 @@
</el-form-item>
</div>
<div>
<el-form-item label="线" prop="lineCode">
<el-select v-model="queryParams.lineCode" placeholder="全部">
<el-option label="全部" value="" />
<el-option v-for="(item, index) in allRouteOptions" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="组" prop="groupCode">
<el-select v-model="queryParams.groupCode" placeholder="全部">
<el-option label="全部" value="" />
<el-option v-for="(item, index) in allGroupOptions" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="工单号" prop="workorder">
<el-input v-model.trim="queryParams.workorder" clearable placeholder="请输入工单号" />
</el-form-item>
<el-form-item label="订单号" prop="customerOrder">
<el-input v-model.trim="queryParams.customerOrder" clearable placeholder="请输入订单号" />
</el-form-item>
<el-form-item label="料批次" prop="feedOrder">
<el-input v-model.trim="queryParams.feedOrder" clearable placeholder="请输入料批次" />
<el-form-item label="原材料批次" prop="feedOrder">
<el-input v-model.trim="queryParams.feedOrder" clearable placeholder="请输入原材料批次" />
</el-form-item>
</div>
@@ -83,9 +83,9 @@
<el-col :span="1.5">
<el-button class="tool-box" color="#00aa00" icon="Upload" @click="handleExport"> 工单导出 </el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button class="tool-box" color="#E65100" icon="Printer" @click="handlePrint"> 打印所勾选标签 </el-button>
</el-col>
</el-col> -->
<!-- <el-col :span="1.5">
<el-button class="tool-box" color="#55557f" v-hasPermi="['productManagement:proworkorder:list']" icon="Printer" @click="handlePrint"> 打印 </el-button>
</el-col> -->
@@ -125,7 +125,11 @@
@sort-change="sortChange">
<el-table-column type="selection" align="center" width="55" />
<el-table-column type="index" width="50" align="center" />
<el-table-column prop="priority" label="优先级" align="center">
<template #default="scope">
<dict-tag :options="options.priorityOptions" :value="scope.row.priority" />
</template>
</el-table-column>
<!-- <el-table-column prop="sort" label="编号" align="center" /> -->
<el-table-column prop="workorder" label="工单号" align="center" width="160">
<template #default="scope">
@@ -136,7 +140,7 @@
<el-table-column prop="productionCode" label="主体型号" />
<el-table-column prop="stoveCode" label="炉号" />
<el-table-column prop="planNum" align="center" label="计划数量" />
<el-table-column prop="feedOrder" label="料批次" />
<el-table-column prop="feedOrder" label="原材料批次" />
<el-table-column prop="customerOrder" label="订单号" />
<el-table-column prop="workorderDate" label="工单日期">
<template #default="scope">
@@ -145,18 +149,14 @@
}}</span>
</template>
</el-table-column>
<el-table-column prop="instructionDate" label="指示日期">
<!-- <el-table-column prop="instructionDate" label="指示日期">
<template #default="scope">
<span v-if="scope.row.instructionDate != '' && scope.row.instructionDate != null">{{
proxy.dayjs(scope.row.instructionDate).format('YYYY-MM-DD')
}}</span>
</template>
</el-table-column>
<el-table-column prop="priority" label="优先级" align="center">
<template #default="scope">
<dict-tag :options="options.priorityOptions" :value="scope.row.priority" />
</template>
</el-table-column>
</el-table-column> -->
<el-table-column prop="materialName" label="材料型号" />
<el-table-column prop="materialCode" label="材料编码" />
<el-table-column prop="materialtextureCode" label="材质" />
@@ -168,19 +168,21 @@
</template>
</el-table-column> -->
<!-- <el-table-column prop="sort" label="序号" /> -->
<el-table-column prop="workshopCode" label="车间" />
<el-table-column prop="routeCode" label="线" />
<el-table-column prop="groupCode" label="组" />
<!-- <el-table-column prop="workshopCode" label="车间" /> -->
<el-table-column prop="routeCode" label="线" />
<el-table-column prop="groupCode" label="组" />
<el-table-column prop="beat" label="节拍" />
<el-table-column prop="unit" align="center" label="单位" />
<el-table-column label="操作" align="center" fixed="right" width="80">
<el-table-column label="操作" align="center" fixed="right" width="120">
<template #default="scope">
<el-dropdown>
<el-button type="primary" size="small" icon="More" title="更多" v-hasPermi="['productManagement:proworkorder:edit']"></el-button>
<el-button type="primary" size="small" title="更多" v-hasPermi="['productManagement:proworkorder:edit']">工单操作</el-button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="handleAdd(scope.row.id)"><el-text type="warning">插入工单</el-text></el-dropdown-item>
<el-dropdown-item><el-text type="primary">领料</el-text></el-dropdown-item>
<el-dropdown-item><el-text type="primary">成品入库</el-text></el-dropdown-item>
<el-dropdown-item><el-text type="primary">出货</el-text></el-dropdown-item>
<el-dropdown-item @click="handleAdd(scope.row.id)"><el-text type="warning">插单</el-text></el-dropdown-item>
<el-dropdown-item @click="handleMove(scope.row, 1)"><el-text type="info">上移</el-text></el-dropdown-item>
<el-dropdown-item @click="handleMove(scope.row, 2)"><el-text type="info">下移</el-text></el-dropdown-item>
<el-dropdown-item @click="handleUpdate(scope.row)"><el-text type="success">编辑</el-text></el-dropdown-item>
@@ -257,8 +259,8 @@
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item label="线别" prop="lineCode">
<el-select v-model="form.lineCode" placeholder="请选择线别" class="select">
<el-form-item label="线别" prop="routeCode">
<el-select v-model="form.routeCode" placeholder="请选择线别" class="select">
<el-option v-for="(item, index) in allRouteOptions" :key="index" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@@ -454,7 +456,7 @@
<td>{{ item.unit }}</td>
<td>{{ item.deliveryNum }}</td>
<td>{{ '' }}</td>
<td>{{ item.lineCode }}</td>
<td>{{ item.routeCode }}</td>
<td>
<QrcodeVue class="qrCode" v-if="index % 2 !== 0"
:value="`${item.workorder}^${item.specification}`" :size="64"></QrcodeVue>
@@ -513,7 +515,7 @@ const showSearch = ref(true)
const queryParams = reactive({
pageNum: 1,
pageSize: 50,
lineCode: '',
routeCode: '',
groupCode: '',
workorderDate: [proxy.dayjs(), proxy.dayjs()],
status: -1,
@@ -617,7 +619,7 @@ function getList() {
loading.value = false
}
})
let allData = JSON.parse(JSON.stringify(queryParams))
/* let allData = JSON.parse(JSON.stringify(queryParams))
allData.pageNum = 1
allData.pageSize = 10000
listProWorkorderNoCheck(allData).then((res) => {
@@ -625,7 +627,7 @@ function getList() {
if (code == 200) {
allList.value = data.result
}
})
}) */
}
// 查询
@@ -686,7 +688,7 @@ const state = reactive({
productionCode: [{ required: true, message: '物料编号不能为空', trigger: 'blur' }],
deliveryNum: [{ required: true, message: '交互数量不能为空', trigger: 'blur' }],
groupCode: [{ required: true, message: '组别不能为空', trigger: 'blur' }],
lineCode: [{ required: true, message: '线别不能为空', trigger: 'blur' }]
routeCode: [{ required: true, message: '线别不能为空', trigger: 'blur' }]
},
options: {
// 工单状态 选项列表 格式 eg:{ dictLabel: '标签', dictValue: '0'}
@@ -766,7 +768,7 @@ const lineOptions = ref([])
function getFormLineOptions(clear = false) {
lineOptions.value = []
if (clear) {
form.value.lineCode = ''
form.value.routeCode = ''
form.value.groupCode = ''
}
const params = {
@@ -791,7 +793,7 @@ function getGroupOptions(routeCode = null) {
dateTime: form.value.workorderDate
}
if (routeCode === null) {
params.routeCode = form.value.lineCode
params.routeCode = form.value.routeCode
}
GetGroupListByRouteCode(params).then((res) => {
if (res.code === 200) {
@@ -841,7 +843,7 @@ function reset() {
isCarton: 0,
packageCapacity: 1,
groupCode: null,
lineCode: null,
routeCode: null,
sort: 1,
workorderDate: proxy.dayjs().format('YYYY-MM-DD'),
year: null,