refactor(生产工单): 优化工单管理界面和功能
- 移除出货按钮和注释掉的代码 - 调整表单布局,将车间改为产线和班组 - 修改领料批次为原材料批次 - 增加优先级显示列 - 优化操作按钮布局和功能 - 调整表格列显示和排序 - 更新相关字段名称和逻辑
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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']">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user