出入库bug

main
kkk-ops 2 days ago
parent bceb6d7379
commit a7efb1eaaf

@ -13,7 +13,9 @@ export const CriticalComponentApi = {
getCriticalComponentPage: async (params: any) => { getCriticalComponentPage: async (params: any) => {
return await request.get({ url: `/mes/critical-component/page`, params }) return await request.get({ url: `/mes/critical-component/page`, params })
}, },
getCriticalComponentList: async () => {
return await request.get({ url: `/mes/critical-component/list`, })
},
createCriticalComponent: async (data: Partial<CriticalComponentVO>) => { createCriticalComponent: async (data: Partial<CriticalComponentVO>) => {
return await request.post({ url: `/mes/critical-component/create`, data }) return await request.post({ url: `/mes/critical-component/create`, data })
}, },

@ -14,6 +14,8 @@ export interface DvSubjectVO {
judgmentCriteria: string // 判定基准 judgmentCriteria: string // 判定基准
creator?: string // 创建人 creator?: string // 创建人
createTime?: string | number | Date // 创建时间 createTime?: string | number | Date // 创建时间
upperVal?: number
lowerVal?: number
} }
// 维保项目 API // 维保项目 API
@ -22,6 +24,10 @@ export const DvSubjectApi = {
getDvSubjectPage: async (params: any) => { getDvSubjectPage: async (params: any) => {
return await request.get({ url: `/mes/dv-subject/page`, params }) return await request.get({ url: `/mes/dv-subject/page`, params })
}, },
// 查询维保项目列表
getDvSubjectList: async () => {
return await request.get({ url: `/mes/dv-subject/list` })
},
// 查询维保项目详情 // 查询维保项目详情
getDvSubject: async (id: number) => { getDvSubject: async (id: number) => {

@ -81,7 +81,7 @@ const setMenuTheme = (color: string) => {
// //
leftMenuTextActiveColor: isDarkColor ? '#fff' : 'var(--el-color-primary)', leftMenuTextActiveColor: isDarkColor ? '#fff' : 'var(--el-color-primary)',
// logo // logo
logoTitleTextColor: isDarkColor ? '#fff' : 'inherit', logoTitleTextColor: isDarkColor ? '#fff' : '#409EFF',
// logo // logo
logoBorderColor: isDarkColor ? color : '#eee' logoBorderColor: isDarkColor ? color : '#eee'
} }

@ -55,7 +55,8 @@ export default {
operate: 'Operation', operate: 'Operation',
copy: 'Copy', copy: 'Copy',
copySuccess: 'Copy Success', copySuccess: 'Copy Success',
copyError: 'Copy Error' copyError: 'Copy Error',
code:'Auto-generate on Save'
}, },
lock: { lock: {
lockScreen: 'Lock screen', lockScreen: 'Lock screen',
@ -808,6 +809,8 @@ export default {
inspectionMethod: 'Inspection Method', inspectionMethod: 'Inspection Method',
valueType: 'Value Type', valueType: 'Value Type',
judgmentCriteria: 'Judgment Criteria', judgmentCriteria: 'Judgment Criteria',
upperVal: 'Upper Value',
lowerVal: 'Lower Value',
creatorName: 'Creator', creatorName: 'Creator',
createTime: 'Create Time', createTime: 'Create Time',
operate: 'Operate', operate: 'Operate',
@ -823,7 +826,9 @@ export default {
placeholderProjectCode: 'Please input project code', placeholderProjectCode: 'Please input project code',
placeholderProjectName: 'Please input project name', placeholderProjectName: 'Please input project name',
placeholderInspectionMethod: 'Please select inspection method', placeholderInspectionMethod: 'Please select inspection method',
placeholderValueType: 'Please select value type' placeholderValueType: 'Please select value type',
placeholderUpperVal: 'Please input upper value',
placeholderLowerVal: 'Please input lower value',
}, },
// Plan Maintenance // Plan Maintenance
PlanMaintenance: { PlanMaintenance: {

@ -801,6 +801,8 @@ export default {
inspectionMethod: '检验方式', inspectionMethod: '检验方式',
valueType: '值类型', valueType: '值类型',
judgmentCriteria: '判定基准', judgmentCriteria: '判定基准',
upperVal: '上限值',
lowerVal: '下限值',
creatorName: '创建人', creatorName: '创建人',
createTime: '创建时间', createTime: '创建时间',
operate: '操作', operate: '操作',
@ -816,7 +818,9 @@ export default {
placeholderProjectCode: '请输入项目编码', placeholderProjectCode: '请输入项目编码',
placeholderProjectName: '请输入项目名称', placeholderProjectName: '请输入项目名称',
placeholderInspectionMethod: '请选择检验方式', placeholderInspectionMethod: '请选择检验方式',
placeholderValueType: '请选择值类型' placeholderValueType: '请选择值类型',
placeholderUpperVal: '请输入上限值',
placeholderLowerVal: '请输入下限值',
}, },
// 方案维护 // 方案维护

@ -66,7 +66,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <!-- <el-col :span="8">
<el-form-item label="供应商" prop="supplierId"> <el-form-item label="供应商" prop="supplierId">
<el-select <el-select
v-model="formData.supplierId" v-model="formData.supplierId"
@ -83,7 +83,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input <el-input
@ -160,19 +160,19 @@ const options = [
label: '备件入库', label: '备件入库',
}, },
{ // {
value: '原料入库', // value: '',
label: '原料入库', // label: '',
}, // },
{ {
value: '产品入库', value: '产品入库',
label: '产品入库', label: '产品入库',
}, },
{ // {
value: '生产入库', // value: '',
label: '生产入库', // label: '',
disabled: true, // disabled: true,
}, // },
] ]
/** 子表的表单 */ /** 子表的表单 */

@ -1,5 +1,4 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form
@ -149,7 +148,7 @@
<ContentWrap> <ContentWrap>
<el-tabs v-model="activeName" @tab-click="handleTabClick"> <el-tabs v-model="activeName" @tab-click="handleTabClick">
<el-tab-pane label="产品入库" name="产品入库" /> <el-tab-pane label="产品入库" name="产品入库" />
<el-tab-pane label="原料入库" name="原料入库" /> <!-- <el-tab-pane label="原料入库" name="原料入库" /> -->
<el-tab-pane label="备件入库" name="备件入库" /> <el-tab-pane label="备件入库" name="备件入库" />
<el-tab-pane label="其他入库" name="其他入库" /> <el-tab-pane label="其他入库" name="其他入库" />
</el-tabs> </el-tabs>

@ -102,7 +102,6 @@
import { StockOutApi, StockOutVO } from '@/api/erp/stock/out' import { StockOutApi, StockOutVO } from '@/api/erp/stock/out'
import StockOutItemForm from './components/StockOutItemForm.vue' import StockOutItemForm from './components/StockOutItemForm.vue'
import { CustomerApi, CustomerVO } from '@/api/erp/sale/customer' import { CustomerApi, CustomerVO } from '@/api/erp/sale/customer'
import {DICT_TYPE, getBoolDictOptions, getStrDictOptions} from "@/utils/dict";
/** ERP 其它出库单表单 */ /** ERP 其它出库单表单 */
defineOptions({ name: 'StockOutForm' }) defineOptions({ name: 'StockOutForm' })
@ -140,14 +139,14 @@ const options = [
label: '备件出库', label: '备件出库',
}, },
{ // {
value: '原料出库', // value: '',
label: '原料出库', // label: '',
}, // },
{ // {
value: '产品出库', // value: '',
label: '产品出库', // label: '',
}, // },
{ {
value: '领料出库', value: '领料出库',
label: '领料出库', label: '领料出库',

@ -63,7 +63,7 @@
row-key="id" row-key="id"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" reserve-selection /> <!-- <el-table-column type="selection" width="55" reserve-selection /> -->
<el-table-column <el-table-column
:label="t('RecipeManagement.RecipeType.tableNameColumn')" :label="t('RecipeManagement.RecipeType.tableNameColumn')"
align="center" align="center"
@ -106,7 +106,6 @@
@pagination="handlePagination" @pagination="handlePagination"
/> />
</ContentWrap> </ContentWrap>
<Dialog :title="dialogTitle" v-model="dialogVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form <el-form
ref="dialogFormRef" ref="dialogFormRef"

@ -299,12 +299,12 @@ const ensureOptionsLoaded = async () => {
const [deviceTypeRes, userRes, criticalRes, beijianRes] = await Promise.all([ const [deviceTypeRes, userRes, criticalRes, beijianRes] = await Promise.all([
DeviceTypeApi.getDeviceTypeTree({ pageNo: 1, pageSize: 10 }), DeviceTypeApi.getDeviceTypeTree({ pageNo: 1, pageSize: 10 }),
getSimpleUserList(), getSimpleUserList(),
CriticalComponentApi.getCriticalComponentPage({}), CriticalComponentApi.getCriticalComponentList(),
ProductApi.getComponentSimpleList() ProductApi.getComponentSimpleList()
]) ])
deviceTypeTree.value = deviceTypeRes deviceTypeTree.value = deviceTypeRes
users.value = userRes ?? [] users.value = userRes ?? []
criticalComponentOptions.value = (criticalRes?.list ?? []).map((item: any) => { criticalComponentOptions.value = (criticalRes ?? []).map((item: any) => {
const code = item.code ? String(item.code) : '' const code = item.code ? String(item.code) : ''
const name = item.name ? String(item.name) : '' const name = item.name ? String(item.name) : ''
const label = code && name ? `${code}-${name}` : name || code || String(item.id) const label = code && name ? `${code}-${name}` : name || code || String(item.id)

@ -42,6 +42,24 @@
<el-option v-for="dict in valueTypeOptions" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-option v-for="dict in valueTypeOptions" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="t('EquipmentManagement.DvSubject.upperVal')" prop="upperVal" v-if="formData.valueType == 0">
<el-input-number
v-model="formData.upperVal"
:placeholder="t('EquipmentManagement.DvSubject.placeholderUpperVal')"
class="!w-full"
:precision="2"
:step="0.01"
/>
</el-form-item>
<el-form-item :label="t('EquipmentManagement.DvSubject.lowerVal')" prop="lowerVal" v-if="formData.valueType == 0">
<el-input-number
v-model="formData.lowerVal"
:placeholder="t('EquipmentManagement.DvSubject.placeholderLowerVal')"
class="!w-full"
:precision="2"
:step="0.01"
/>
</el-form-item>
<el-form-item :label="t('EquipmentManagement.DvSubject.judgmentCriteria')" prop="judgmentCriteria"> <el-form-item :label="t('EquipmentManagement.DvSubject.judgmentCriteria')" prop="judgmentCriteria">
<el-input <el-input
v-model="formData.judgmentCriteria" v-model="formData.judgmentCriteria"
@ -92,13 +110,15 @@ const formData = ref({
inspectionMethod: undefined, inspectionMethod: undefined,
valueType: undefined, valueType: undefined,
judgmentCriteria: undefined, judgmentCriteria: undefined,
upperVal: undefined,
lowerVal: undefined
}) })
const formRules = reactive({ const formRules = reactive({
subjectCode: [{ required: true, message: '项目编码不能为空', trigger: 'blur' }], subjectCode: [{ required: true, message: '项目编码不能为空', trigger: 'blur' }],
subjectName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }], subjectName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }],
inspectionMethod: [{ required: true, message: '检验方式不能为空', trigger: 'change' }], inspectionMethod: [{ required: true, message: '检验方式不能为空', trigger: 'change' }],
valueType: [{ required: true, message: '值类型不能为空', trigger: 'change' }], valueType: [{ required: true, message: '值类型不能为空', trigger: 'change' }],
judgmentCriteria: [{ required: true, message: '判定基准不能为空', trigger: 'blur' }], // judgmentCriteria: [{ required: true, message: '', trigger: 'blur' }],
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'change' }], isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'change' }],
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
@ -140,7 +160,9 @@ const submitForm = async () => {
isEnable: formData.value.isEnable, isEnable: formData.value.isEnable,
inspectionMethod: formData.value.inspectionMethod, inspectionMethod: formData.value.inspectionMethod,
valueType: formData.value.valueType, valueType: formData.value.valueType,
judgmentCriteria: formData.value.judgmentCriteria judgmentCriteria: formData.value.judgmentCriteria,
upperVal: formData.value.upperVal,
lowerVal: formData.value.lowerVal
} as unknown as DvSubjectVO } as unknown as DvSubjectVO
if (formType.value === 'create') { if (formType.value === 'create') {
await DvSubjectApi.createDvSubject(data) await DvSubjectApi.createDvSubject(data)
@ -167,6 +189,8 @@ const resetForm = () => {
inspectionMethod: undefined, inspectionMethod: undefined,
valueType: undefined, valueType: undefined,
judgmentCriteria: undefined, judgmentCriteria: undefined,
upperVal: undefined,
lowerVal: undefined
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }

@ -66,9 +66,9 @@ const formType = ref<'create' | 'update'>('create')
const subjectOptions = ref<DvSubjectVO[]>([]) const subjectOptions = ref<DvSubjectVO[]>([])
const ensureSubjectOptionsLoaded = async () => { const ensureSubjectOptionsLoaded = async () => {
if (subjectOptions.value.length) return if (subjectOptions.value.length) return
const res = await DvSubjectApi.getDvSubjectPage({}) const res = await DvSubjectApi.getDvSubjectList()
const list = Array.isArray(res) ? res : res?.list console.log(res)
subjectOptions.value = (list ?? []) as DvSubjectVO[] subjectOptions.value = (res ?? []) as DvSubjectVO[]
} }
const parseIds = (value: any): Array<number | string> => { const parseIds = (value: any): Array<number | string> => {

@ -1,6 +1,6 @@
<template> <template>
<ContentWrap> <ContentWrap>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="60px"> <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item :label="t('EquipmentManagement.PlanMaintenance.planName')" prop="planName"> <el-form-item :label="t('EquipmentManagement.PlanMaintenance.planName')" prop="planName">
<el-input <el-input
v-model="queryParams.planName" v-model="queryParams.planName"
@ -59,7 +59,8 @@
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ContentWrap>
<ContentWrap>
<el-table <el-table
ref="tableRef" ref="tableRef"
v-loading="loading" v-loading="loading"

@ -1,6 +1,6 @@
<template> <template>
<ContentWrap> <ContentWrap>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="120px"> <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item :label="t('QualityManagement.ZjTask.code')" prop="code"> <el-form-item :label="t('QualityManagement.ZjTask.code')" prop="code">
<el-input <el-input
v-model="queryParams.code" v-model="queryParams.code"
@ -98,8 +98,8 @@ type="success" plain @click="handleExport" :loading="exportLoading"
row-key="id" row-key="id"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" fixed="left" reserve-selection /> <!-- <el-table-column type="selection" width="55" fixed="left" reserve-selection /> -->
<el-table-column :label="t('QualityManagement.ZjTask.index')" type="index" width="80" /> <el-table-column :label="t('QualityManagement.ZjTask.index')" type="index" width="80"/>
<el-table-column :label="t('QualityManagement.ZjTask.code')" align="center" prop="code" /> <el-table-column :label="t('QualityManagement.ZjTask.code')" align="center" prop="code" />
<el-table-column :label="t('QualityManagement.ZjTask.type')" align="center"> <el-table-column :label="t('QualityManagement.ZjTask.type')" align="center">
<template #default="scope"> <template #default="scope">
@ -142,6 +142,7 @@ type="success" plain @click="handleExport" :loading="exportLoading"
<el-table-column :label="t('QualityManagement.ZjTask.operate')" align="center" min-width="160px"> <el-table-column :label="t('QualityManagement.ZjTask.operate')" align="center" min-width="160px">
<template #default="scope"> <template #default="scope">
<el-button <el-button
v-if="scope.row.status === 0"
link link
type="warning" type="warning"
@click.stop="handleRowClick(scope.row)" @click.stop="handleRowClick(scope.row)"

@ -67,7 +67,7 @@ type="success" plain @click="handleExport" :loading="exportLoading"
row-key="id" row-key="id"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" fixed="left" reserve-selection /> <!-- <el-table-column type="selection" width="55" fixed="left" reserve-selection /> -->
<!-- <el-table-column label="ID" align="center" prop="id" /> --> <!-- <el-table-column label="ID" align="center" prop="id" /> -->
<el-table-column :label="t('QualityManagement.ZjItem.name')" align="center" prop="name" /> <el-table-column :label="t('QualityManagement.ZjItem.name')" align="center" prop="name" />
<el-table-column :label="t('QualityManagement.ZjItem.tool')" align="center" prop="tool" /> <el-table-column :label="t('QualityManagement.ZjItem.tool')" align="center" prop="tool" />

@ -1,7 +1,7 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="120px"> <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item :label="t('QualityManagement.ZjSchema.name')" prop="name"> <el-form-item :label="t('QualityManagement.ZjSchema.name')" prop="name">
<el-input <el-input
v-model="queryParams.name" v-model="queryParams.name"
@ -35,7 +35,7 @@ v-for="dict in getDictOptions('mes_zj_schema_sample_method')" :key="dict.value"
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="t('QualityManagement.ZjSchema.val')" prop="val"> <!-- <el-form-item :label="t('QualityManagement.ZjSchema.val')" prop="val">
<el-input <el-input
v-model="queryParams.val" v-model="queryParams.val"
:placeholder="t('QualityManagement.ZjSchema.placeholderVal')" :placeholder="t('QualityManagement.ZjSchema.placeholderVal')"
@ -43,7 +43,7 @@ v-for="dict in getDictOptions('mes_zj_schema_sample_method')" :key="dict.value"
@keyup.enter="handleQuery" @keyup.enter="handleQuery"
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item> -->
<el-form-item :label="t('QualityManagement.ZjSchema.remark')" prop="remark"> <el-form-item :label="t('QualityManagement.ZjSchema.remark')" prop="remark">
<el-input <el-input
v-model="queryParams.remark" v-model="queryParams.remark"
@ -102,7 +102,7 @@ type="success" plain @click="handleExport" :loading="exportLoading"
@expand-change="handleExpandChange" @expand-change="handleExpandChange"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" fixed="left" reserve-selection /> <!-- <el-table-column type="selection" width="55" fixed="left" reserve-selection /> -->
<el-table-column type="expand"> <el-table-column type="expand">
<template #default="scope"> <template #default="scope">
<el-table <el-table

@ -6,7 +6,7 @@
:model="queryParams" :model="queryParams"
ref="queryFormRef" ref="queryFormRef"
:inline="true" :inline="true"
label-width="110px" label-width="68px"
> >
<el-form-item :label="t('QualityManagement.ZjType.code')" prop="code"> <el-form-item :label="t('QualityManagement.ZjType.code')" prop="code">
<el-input <el-input
@ -80,7 +80,7 @@
row-key="id" row-key="id"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" fixed="left" reserve-selection /> <!-- <el-table-column type="selection" width="55" fixed="left" reserve-selection /> -->
<!-- <el-table-column label="ID" align="center" prop="id" /> --> <!-- <el-table-column label="ID" align="center" prop="id" /> -->
<el-table-column :label="t('QualityManagement.ZjType.code')" align="center" prop="code" /> <el-table-column :label="t('QualityManagement.ZjType.code')" align="center" prop="code" />
<el-table-column :label="t('QualityManagement.ZjType.name')" align="center" prop="name" /> <el-table-column :label="t('QualityManagement.ZjType.name')" align="center" prop="name" />

Loading…
Cancel
Save