fix 生产流程

main
chenshuichuan 2 years ago
parent 15ed1efaf8
commit 03ee877f9b

@ -62,7 +62,7 @@ export const OrgWorkerApi = {
return await request.get({ url: `/mes/org-worker/getPersonalUser` })
},
// 获得当前用户管理的用户列表
getOtherPersonalUser: async () => {
return await request.get({ url: `/mes/org-worker/getOtherPersonalUser` })
getOtherPersonalUser: async (params: any) => {
return await request.get({ url: `/mes/org-worker/getOtherPersonalUser`, params })
},
}

@ -225,6 +225,7 @@ const handleExport = async () => {
/** 初始化 **/
onMounted(async () => {
queryParams.categoryId = 2
await getList()
//
const categoryData = await ProductCategoryApi.getProductCategorySimpleList()

@ -281,6 +281,7 @@ const queryParams = reactive({
inTime: [],
status: undefined,
remark: undefined,
inType: undefined,
creator: undefined
})
const queryFormRef = ref() //
@ -370,6 +371,7 @@ const handleSelectionChange = (rows: StockInVO[]) => {
/** 初始化 **/
onMounted(async () => {
queryParams.inType = '产品入库'
await getList()
//
productList.value = await ProductApi.getProductSimpleList()
@ -381,7 +383,7 @@ onMounted(async () => {
// TODO
let activeName = '产品入库'
const handleTabClick = (tab: TabsPaneContext) => {
queryParams.outType = tab.paneName
queryParams.inType = tab.paneName
handleQuery()
}
</script>

@ -373,6 +373,7 @@ const handleSelectionChange = (rows: StockOutVO[]) => {
/** 初始化 **/
onMounted(async () => {
queryParams.outType ='产品出库'
await getList()
//
productList.value = await ProductApi.getProductSimpleList()

@ -195,6 +195,7 @@ onMounted(async () => {
productList.value = await ProductApi.getProductSimpleList()
warehouseList.value = await WarehouseApi.getWarehouseSimpleList()
categoryList.value = await ProductCategoryApi.getProductCategorySimpleList()
queryParams.categoryId = 2
})
/** tab 切换 */

@ -84,7 +84,7 @@ const formData = ref([])
const formRules = reactive({
itemId: [{ required: true, message: '原料不能为空', trigger: 'blur' }],
unitId: [{ required: true, message: '单位不能为空', trigger: 'blur' }],
weight: [{ required: true, message: '量不能为空', trigger: 'blur' }]
weight: [{ required: true, message: '量不能为空', trigger: 'blur' }]
})
const formRef = ref() // Ref

@ -108,7 +108,7 @@
</el-tabs>
</template>
</el-table-column>
<el-table-column label="单号" align="center" prop="feedingRecordCode" />
<el-table-column label="单号" align="center" prop="feedingRecordCode" width="150px"/>
<el-table-column label="制浆线" align="center" prop="feedingPipeline">
<template #default="scope">
<dict-tag :type="DICT_TYPE.MES_FEEDING_PIPELINE" :value="scope.row.feedingPipeline" />

@ -96,7 +96,8 @@ const formData = ref({
const formRules = reactive({
orgId: [{ required: true, message: '工位不能为空', trigger: 'blur' }],
groupType: [{ required: true, message: '班别不能为空', trigger: 'blur' }],
workerId: [{ required: true, message: '工人不能为空', trigger: 'blur' }]
workerId: [{ required: true, message: '工人不能为空', trigger: 'blur' }],
planDates: [{ required: true, message: '工作日期不能为空', trigger: 'blur' }]
})
const formRef = ref() // Ref

@ -50,7 +50,7 @@
</el-radio>
</el-radio-group>
</el-form-item>
<el-row>
<el-row v-if="formData.orgType && formData.groupType && formData.reportDate">
<el-col :span="12">
<el-form-item label="工人" prop="userId">
<el-select
@ -89,6 +89,7 @@
</el-form-item>
</el-col>
</el-row>
<el-text v-if="warningInfo" class="mx-1" type="warning">{{warningInfo}}</el-text>
<el-divider />
<el-form-item label="产品" prop="productId">
<el-select v-model="formData.productId" clearable filterable placeholder="请选择" >
@ -104,12 +105,12 @@
<el-row>
<el-col :span="12">
<el-form-item label="成品数量" prop="qualityNumber">
<el-input-number v-model="formData.qualityNumber" :min="0" placeholder="请输入数量"/>
<el-input-number v-model="formData.qualityNumber" :min="0" @change="numberChange" placeholder="请输入数量"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="废品数量" prop="wasteNumber">
<el-input-number v-model="formData.wasteNumber" :min="0" placeholder="请输入"/>
<el-input-number v-model="formData.wasteNumber" :min="0" @change="numberChange" placeholder="请输入"/>
</el-form-item>
</el-col>
</el-row>
@ -120,7 +121,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="成品率" prop="qualityRate">
<el-form-item label="成品率%" prop="qualityRate">
<el-input-number disabled v-model="formData.qualityRate" :min="0" :precision="2" placeholder="请输入数量"/>
</el-form-item>
</el-col>
@ -220,6 +221,7 @@ const open = async (type: string, id?: number) => {
formData.value.reportDate = getCurrentDate()
formData.value.groupType = 1
formData.value.orgType = 'zhijiang'
warningInfo.value = ''
//
if (id) {
formLoading.value = true
@ -239,16 +241,17 @@ const open = async (type: string, id?: number) => {
dialogTitle.value = "代报工"
isDisable.value = false
userList.value = await OrgWorkerApi.getOtherPersonalUser()
orgWorkerList.value = await OrgWorkerApi.getOrgWorkerList2()
}
else if(type === 'create'){
userList.value = await OrgWorkerApi.getPersonalUser()
orgWorkerList.value = await OrgWorkerApi.getOrgWorkerList1()
if(userList.value && userList.value.length>0){
formData.value.userId = userList.value[0].id
}
}
else if(type === 'update'){
userList.value = await UserApi.getSimpleUserList()
}
await changeDate()
}
defineExpose({ open }) // open
@ -318,23 +321,30 @@ const getOrganizationTree = async () => {
root.children = handleTree(data, 'id', 'parentId')
organizationTree.value.push(root)
}
const warningInfo = ref()
const orgWorkerList = ref<OrgWorkerVO[]>([]) //
//
const changeDate = async () =>{
if(formData.value.reportDate && formData.value.groupType && formData.value.orgType){
if(formType.value=='replace'){
orgWorkerList.value = await OrgWorkerApi.getOrgWorkerList2(formData.value)
userList.value = await OrgWorkerApi.getOtherPersonalUser(formData.value)
}else{
orgWorkerList.value = await OrgWorkerApi.getOrgWorkerList1(formData.value)
}
if(orgWorkerList.value && orgWorkerList.value.length>0){
//formData.value.orgType = orgWorkerList.value[0].orgType
formData.value.orgId = orgWorkerList.value[0].orgId
warningInfo.value=''
}
else{
formData.value.orgId = undefined
message.error('未查询到用户的工位安排信息!请联系组长或主管安排工位!')
warningInfo.value = '未查询到用户的工位安排信息!请联系组长或主管安排工位!'
message.error(warningInfo.value)
}
}
}
const numberChange = async () =>{
formData.value.totalNumber = formData.value.qualityNumber+formData.value.wasteNumber
formData.value.qualityRate = formData.value.qualityNumber/formData.value.totalNumber * 100
}
</script>

@ -134,7 +134,7 @@
:formatter="dateFormatter"
width="120px"
/>
<el-table-column label="操作" align="center" fixed="right" width="150">
<el-table-column label="操作" align="center" fixed="right" width="220px">
<template #default="scope">
<el-button
link

@ -60,13 +60,6 @@
</template>
</el-table-column>
<!-- <el-table-column label="生产主管" min-width="150">-->
<!-- <template #default="{ row, $index }">-->
<!-- <el-form-item :prop="`${$index}.productionManagerId`" :rules="formRules.productionManagerId" class="mb-0px!">-->
<!-- <el-input v-model="row.productionManagerId" placeholder="请输入生产主管" />-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="备注" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" :rules="formRules.remark" class="mb-0px!">
@ -74,21 +67,21 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="是否启用" min-width="140">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.isEnable`" :rules="formRules.isEnable" class="mb-0px!">
<el-radio-group v-model="row.isEnable">
<el-radio
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</template>
</el-table-column>
<!-- <el-table-column label="是否启用" min-width="140">-->
<!-- <template #default="{ row, $index }">-->
<!-- <el-form-item :prop="`${$index}.isEnable`" :rules="formRules.isEnable" class="mb-0px!">-->
<!-- <el-radio-group v-model="row.isEnable">-->
<!-- <el-radio-->
<!-- v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"-->
<!-- :key="dict.value"-->
<!-- :label="dict.value"-->
<!-- >-->
<!-- {{ dict.label }}-->
<!-- </el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" fixed="right" label="操作" width="100">
<template #default="{row, $index }">
<el-button type="success" @click="handleCopy(row)" link>
@ -101,9 +94,7 @@
</el-table-column>
</el-table>
</el-form>
<!-- <el-row justify="center" class="mt-3">-->
<!-- <el-button @click="handleAdd" round>+ 添加生产计划</el-button>-->
<!-- </el-row>-->
</template>
<script setup lang="ts">
import { getIntDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
@ -138,28 +129,6 @@ watch(
{ immediate: true }
)
/** 新增按钮操作 */
// const handleAdd = () => {
// const row = {
// id: undefined,
// code: undefined,
// productId: undefined,
// taskDetailId: undefined,
// taskId: undefined,
// planNumber: undefined,
// finishNumber: undefined,
// status: undefined,
// planStartTime: undefined,
// planEndTime: undefined,
// startTime: undefined,
// endTime: undefined,
// productionManagerId: undefined,
// remark: undefined,
// isEnable: undefined,
// }
// row.taskId = props.taskId
// formData.value.push(row)
// }
/** 删除按钮操作 */
const handleDelete = (index) => {

@ -140,11 +140,13 @@ const submitForm = async () => {
//
let planList = planFormRef.value.getData()
await PlanApi.saveBatchPlan(planList)
dialogVisible.value = false
//
emit('success')
if(planList!=undefined && planList.length > 0) {
await PlanApi.saveBatchPlan(planList)
dialogVisible.value = false
//
emit('success')
}
else message.alert("请勿提交空计划!")
} finally {
formLoading.value = false
}

Loading…
Cancel
Save