fix 生产流程

liutao_branch
chenshuichuan 2 years ago
parent 15ed1efaf8
commit 03ee877f9b

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

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

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

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

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

@ -84,7 +84,7 @@ const formData = ref([])
const formRules = reactive({ const formRules = reactive({
itemId: [{ required: true, message: '原料不能为空', trigger: 'blur' }], itemId: [{ required: true, message: '原料不能为空', trigger: 'blur' }],
unitId: [{ 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 const formRef = ref() // Ref

@ -108,7 +108,7 @@
</el-tabs> </el-tabs>
</template> </template>
</el-table-column> </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"> <el-table-column label="制浆线" align="center" prop="feedingPipeline">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.MES_FEEDING_PIPELINE" :value="scope.row.feedingPipeline" /> <dict-tag :type="DICT_TYPE.MES_FEEDING_PIPELINE" :value="scope.row.feedingPipeline" />

@ -96,7 +96,8 @@ const formData = ref({
const formRules = reactive({ const formRules = reactive({
orgId: [{ required: true, message: '工位不能为空', trigger: 'blur' }], orgId: [{ required: true, message: '工位不能为空', trigger: 'blur' }],
groupType: [{ 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 const formRef = ref() // Ref

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

@ -134,7 +134,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="120px" 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"> <template #default="scope">
<el-button <el-button
link link

@ -60,13 +60,6 @@
</template> </template>
</el-table-column> </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"> <el-table-column label="备注" min-width="150">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" :rules="formRules.remark" class="mb-0px!"> <el-form-item :prop="`${$index}.remark`" :rules="formRules.remark" class="mb-0px!">
@ -74,21 +67,21 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否启用" min-width="140"> <!-- <el-table-column label="是否启用" min-width="140">-->
<template #default="{ row, $index }"> <!-- <template #default="{ row, $index }">-->
<el-form-item :prop="`${$index}.isEnable`" :rules="formRules.isEnable" class="mb-0px!"> <!-- <el-form-item :prop="`${$index}.isEnable`" :rules="formRules.isEnable" class="mb-0px!">-->
<el-radio-group v-model="row.isEnable"> <!-- <el-radio-group v-model="row.isEnable">-->
<el-radio <!-- <el-radio-->
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)" <!-- v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"-->
:key="dict.value" <!-- :key="dict.value"-->
:label="dict.value" <!-- :label="dict.value"-->
> <!-- >-->
{{ dict.label }} <!-- {{ dict.label }}-->
</el-radio> <!-- </el-radio>-->
</el-radio-group> <!-- </el-radio-group>-->
</el-form-item> <!-- </el-form-item>-->
</template> <!-- </template>-->
</el-table-column> <!-- </el-table-column>-->
<el-table-column align="center" fixed="right" label="操作" width="100"> <el-table-column align="center" fixed="right" label="操作" width="100">
<template #default="{row, $index }"> <template #default="{row, $index }">
<el-button type="success" @click="handleCopy(row)" link> <el-button type="success" @click="handleCopy(row)" link>
@ -101,9 +94,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
<!-- <el-row justify="center" class="mt-3">-->
<!-- <el-button @click="handleAdd" round>+ 添加生产计划</el-button>-->
<!-- </el-row>-->
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getIntDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict' import { getIntDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
@ -138,28 +129,6 @@ watch(
{ immediate: true } { 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) => { const handleDelete = (index) => {

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

Loading…
Cancel
Save