main
chenshuichuan 2 years ago
parent 639fe0887a
commit c8b3f089f3

@ -22,6 +22,9 @@ export const OrganizationApi = {
getOrganizationList: async (params) => { getOrganizationList: async (params) => {
return await request.get({ url: `/mes/organization/list`, params }) return await request.get({ url: `/mes/organization/list`, params })
}, },
getListOrgWorker: async (params) => {
return await request.get({ url: `/mes/organization/listOrgWorker`, params })
},
// 查询产线工位详情 // 查询产线工位详情
getOrganization: async (id: number) => { getOrganization: async (id: number) => {

@ -9,42 +9,40 @@
> >
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="上次抄表时间" prop="lastCheckTime"> <el-form-item label="抄表时间" prop="checkTime">
<el-date-picker <el-date-picker
disabled v-model="formData.checkTime"
v-model="formData.lastCheckTime"
type="date" type="date"
value-format="x" value-format="x"
placeholder="选择上次抄表时间" placeholder="选择抄表时间"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="上次抄表值" prop="lastCheckValue"> <el-form-item label="抄表值" prop="checkValue">
<el-input-number disabled v-model="formData.lastCheckValue" :min="0" :precision="2" placeholder="" /> <el-input-number v-model="formData.checkValue" @change="changeValue" :min="0" :precision="2" placeholder=""/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="抄表时间" prop="checkTime"> <el-form-item label="上次抄表时间" prop="lastCheckTime">
<el-date-picker <el-date-picker
v-model="formData.checkTime" disabled
v-model="formData.lastCheckTime"
type="date" type="date"
value-format="x" value-format="x"
placeholder="选择抄表时间" placeholder="选择上次抄表时间"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="抄表值" prop="checkValue"> <el-form-item label="上次抄表值" prop="lastCheckValue">
<el-input-number v-model="formData.checkValue" @change="changeValue" :min="0" :precision="2" placeholder=""/> <el-input-number disabled v-model="formData.lastCheckValue" :min="0" :precision="2" placeholder="" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="差值" prop="diffValue">
<el-input-number disabled v-model="formData.diffValue" :min="0" :precision="2" placeholder="" />
</el-form-item>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="单价" prop="unitPrice"> <el-form-item label="单价" prop="unitPrice">
@ -52,11 +50,14 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="备注" prop="remark"> <el-form-item label="差值" prop="diffValue">
<el-input v-model="formData.remark" placeholder="请输入备注" /> <el-input-number disabled v-model="formData.diffValue" :min="0" :precision="2" placeholder="" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" />
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>

@ -66,7 +66,9 @@
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
<el-text>本页总差值{{erpNumberFormatter(totalDiffValue,3)}}</el-text>
</el-form> </el-form>
</ContentWrap> </ContentWrap>
<!-- 列表 --> <!-- 列表 -->
@ -130,6 +132,7 @@ import download from '@/utils/download'
import { EnergyDeviceCheckRecordApi, EnergyDeviceCheckRecordVO } from '@/api/mes/energydevicecheck' import { EnergyDeviceCheckRecordApi, EnergyDeviceCheckRecordVO } from '@/api/mes/energydevicecheck'
import EnergyDeviceCheckRecordForm from './EnergyDeviceCheckRecordForm.vue' import EnergyDeviceCheckRecordForm from './EnergyDeviceCheckRecordForm.vue'
import {EnergyDeviceVO, EnergyDeviceApi} from "@/api/mes/energydevice"; import {EnergyDeviceVO, EnergyDeviceApi} from "@/api/mes/energydevice";
import {erpNumberFormatter} from "../../../utils";
/** 抄表记录 列表 */ /** 抄表记录 列表 */
defineOptions({ name: 'EnergyDeviceCheckRecord' }) defineOptions({ name: 'EnergyDeviceCheckRecord' })
@ -140,7 +143,7 @@ const { t } = useI18n() // 国际化
const loading = ref(true) // const loading = ref(true) //
const list = ref<EnergyDeviceCheckRecordVO[]>([]) // const list = ref<EnergyDeviceCheckRecordVO[]>([]) //
const deviceList = ref<EnergyDeviceVO[]>([]) // const deviceList = ref<EnergyDeviceVO[]>([]) //
const totalDiffValue = ref(0) //
const total = ref(0) // const total = ref(0) //
const queryParams = reactive({ const queryParams = reactive({
pageNo: 1, pageNo: 1,
@ -161,6 +164,13 @@ const getList = async () => {
const data = await EnergyDeviceCheckRecordApi.getEnergyDeviceCheckRecordPage(queryParams) const data = await EnergyDeviceCheckRecordApi.getEnergyDeviceCheckRecordPage(queryParams)
list.value = data.list list.value = data.list
total.value = data.total total.value = data.total
// 0
let sum = 0;
// value
for (let entity of list.value) {
sum += entity.diffValue;
}
totalDiffValue.value = sum
} finally { } finally {
loading.value = false loading.value = false
} }
@ -215,6 +225,13 @@ const handleExport = async () => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
await getList() await getList()
deviceList.value = await EnergyDeviceApi.getTaskList() deviceList.value = await EnergyDeviceApi.getList()
}) })
/** tab 切换 */
let activeName = 'first'
const handleTabClick = (tab: TabsPaneContext) => {
// queryParams.status = tab.paneName
// handleQuery()
}
</script> </script>

@ -72,7 +72,7 @@
<!-- 列表 --> <!-- 列表 -->
<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="zhijiang" /> <el-tab-pane label="制浆" name="zhijiang" />
<el-tab-pane label="成型" name="chengxing" /> <el-tab-pane label="成型" name="chengxing" />
<el-tab-pane label="烘干" name="honggan" /> <el-tab-pane label="烘干" name="honggan" />
@ -85,6 +85,7 @@
<el-tab-pane label="贴标" name="tiebiao" /> <el-tab-pane label="贴标" name="tiebiao" />
<el-tab-pane label="品印" name="pinyin" /> <el-tab-pane label="品印" name="pinyin" />
<el-tab-pane label="塑封" name="sufeng" /> <el-tab-pane label="塑封" name="sufeng" />
<el-tab-pane label="所有" name="" />
</el-tabs> </el-tabs>
<el-row> <el-row>
@ -101,8 +102,8 @@
highlight-current-row highlight-current-row
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
> >
<el-table-column align="center" label="组织名称" prop="name" width="180px"/> <el-table-column align="center" label="组织名称" prop="name" width="200px"/>
<!-- <el-table-column align="center" label="关联机台" prop="machineName" />-->
<el-table-column align="center" label="组织等级" prop="orgClass"> <el-table-column align="center" label="组织等级" prop="orgClass">
<template #default="scope"> <template #default="scope">
<dict-tag v-if="notEmpty(scope.row.orgClass)" :type="DICT_TYPE.MES_ORG_CLASS" :value="scope.row.orgClass" /> <dict-tag v-if="notEmpty(scope.row.orgClass)" :type="DICT_TYPE.MES_ORG_CLASS" :value="scope.row.orgClass" />
@ -113,7 +114,7 @@
<dict-tag v-if="notEmpty(scope.row.orgType)" :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.orgType" /> <dict-tag v-if="notEmpty(scope.row.orgType)" :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.orgType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="今日工人" prop="workerUserName" />
<el-table-column align="center" fixed="right" label="操作" width="80"> <el-table-column align="center" fixed="right" label="操作" width="80">
<template #default="scope"> <template #default="scope">
<el-button <el-button
@ -121,7 +122,7 @@
v-hasPermi="['mes:organization:update']" v-hasPermi="['mes:organization:update']"
link link
type="warning" type="warning"
@click="openForm(scope.row.orgType, scope.row.id)" @click="openForm(scope.row.orgType, scope.row.id,scope.row.name, scope.row.workerUserName)"
> >
派工 派工
</el-button> </el-button>
@ -182,7 +183,7 @@ const exportLoading = ref(false) // 导出的加载中
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {
const data = await OrganizationApi.getOrganizationList(queryParams) const data = await OrganizationApi.getListOrgWorker(queryParams)
list.value = handleTree(data, 'id', 'parentId') list.value = handleTree(data, 'id', 'parentId')
} finally { } finally {
loading.value = false loading.value = false
@ -229,10 +230,11 @@ const toggleExpandAll = async () => {
/** 初始化 **/ /** 初始化 **/
onMounted(async () => { onMounted(async () => {
queryParams.orgType = 'chengxing'
await getList() await getList()
}) })
/** tab 切换 */ /** tab 切换 */
let activeName = '' let activeName = 'chengxing'
const handleTabClick = (tab: TabsPaneContext) => { const handleTabClick = (tab: TabsPaneContext) => {
queryParams.orgType = tab.paneName queryParams.orgType = tab.paneName
handleQuery() handleQuery()
@ -252,7 +254,10 @@ const notEmpty = (str:string) => {
/** 派工操作 */ /** 派工操作 */
const formRef = ref() const formRef = ref()
const openForm = (type: string, id?: number) => { const openForm =async (type: string, id?: number,orgName?:string,workerName?:string) => {
if(workerName != null && workerName.length > 0){
await message.confirm("工位:"+orgName+",今天已经派工,确定要重新派工吗?").then()
}
formRef.value.open(type, id) formRef.value.open(type, id)
} }
</script> </script>

@ -38,7 +38,6 @@
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
type="dates" type="dates"
placeholder="请选择工作日期" placeholder="请选择工作日期"
/> />
</el-form-item> </el-form-item>
<el-form-item v-if="formData.groupType && formData.orgId " label="工人" prop="workerId"> <el-form-item v-if="formData.groupType && formData.orgId " label="工人" prop="workerId">
@ -47,7 +46,6 @@
clearable clearable
filterable filterable
placeholder="请选择工人" placeholder="请选择工人"
> >
<el-option <el-option
v-for="item in userList" v-for="item in userList"
@ -71,6 +69,7 @@ import {defaultProps, handleTree} from "@/utils/tree";
import {OrganizationApi} from "@/api/mes/organization"; import {OrganizationApi} from "@/api/mes/organization";
import {WorkTeamApi} from "@/api/mes/workteam"; import {WorkTeamApi} from "@/api/mes/workteam";
import * as UserApi from "@/api/system/user"; import * as UserApi from "@/api/system/user";
import {formatDate} from "@/utils/formatTime";
/** 工位安排 表单 */ /** 工位安排 表单 */
defineOptions({ name: 'OrgWorkerForm' }) defineOptions({ name: 'OrgWorkerForm' })
@ -108,6 +107,7 @@ const open = async (type: string, orgId?: number) => {
dialogTitle.value = '新增派工' dialogTitle.value = '新增派工'
formType.value = type formType.value = type
resetForm() resetForm()
formData.value.planDates = [formatDate(new Date(),"YYYY-MM-DD HH:mm:ss")]
// //
if (orgId) { if (orgId) {
formData.value.orgId = orgId formData.value.orgId = orgId

@ -101,6 +101,8 @@
<!-- 列表 --> <!-- 列表 -->
<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="zhijiang" />
<el-tab-pane label="成型" name="chengxing" /> <el-tab-pane label="成型" name="chengxing" />
<el-tab-pane label="烘干" name="honggan" /> <el-tab-pane label="烘干" name="honggan" />
<el-tab-pane label="转移" name="zhuanyi" /> <el-tab-pane label="转移" name="zhuanyi" />

@ -78,6 +78,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="zhijiang" /> <el-tab-pane label="制浆" name="zhijiang" />
<el-tab-pane label="成型" name="chengxing" /> <el-tab-pane label="成型" name="chengxing" />
<el-tab-pane label="烘干" name="honggan" /> <el-tab-pane label="烘干" name="honggan" />
@ -300,6 +301,7 @@ const getOrganizationTree = async () => {
} }
/** 初始化 **/ /** 初始化 **/
onMounted(async() => { onMounted(async() => {
queryParams.orgType = 'chengxing'
await getList() await getList()
await getOrganizationTree() await getOrganizationTree()
// //

@ -127,7 +127,7 @@
<el-button v-if="scope.row.status==0" link type="primary" @click="changeStatus('送审',1, scope.row.id)" v-hasPermi="['mes:task:update']"> <el-button v-if="scope.row.status==0" link type="primary" @click="changeStatus('送审',1, scope.row.id)" v-hasPermi="['mes:task:update']">
送审 送审
</el-button> </el-button>
<el-button v-if="scope.row.status==1" link type="primary" @click="changeStatus('审核',2, scope.row.id)" v-hasPermi="['mes:task:update']"> <el-button v-if="scope.row.status==1" link type="primary" @click="changeStatus('审核',2, scope.row.id)" v-hasPermi="['mes:task:approve']">
审核 审核
</el-button> </el-button>
<el-button link type="info" @click="openItemNeed(scope.row.code, scope.row.id)" v-hasPermi="['mes:task:update']"> <el-button link type="info" @click="openItemNeed(scope.row.code, scope.row.id)" v-hasPermi="['mes:task:update']">

Loading…
Cancel
Save