pull/4/head
siontion 8 months ago
commit 8beed27c5c

@ -1,170 +1,171 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="105px">
<el-form-item label="项目编号" prop="projectCode">
<el-input v-model="queryParams.projectCode" placeholder="项目编号" clearable @keyup.enter="handleQuery"
class="!w-250px" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="客户名称" clearable @keyup.enter="handleQuery"
class="!w-250px" />
</el-form-item>
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="queryParams.projectName" placeholder="项目名称" clearable @keyup.enter="handleQuery"
class="!w-250px" />
</el-form-item>
<el-form-item label="业务员" prop="businessManName">
<el-input v-model="queryParams.businessManName" placeholder="业务员" clearable @keyup.enter="handleQuery"
class="!w-250px" />
</el-form-item>
<el-form-item label="所属业务线" prop="businessLine">
<el-select class="!w-250px" v-model="queryParams.businessLine" placeholder="下拉选择">
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.HELI_BUSINESS_LINE)" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="性质" prop="property">
<el-select class="!w-250px" v-model="queryParams.property" placeholder="下拉选择">
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PROPERTY)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="生产状态" prop="status">
<el-select v-model="queryParams.status" placeholder="生产状态" clearable class="!w-250px">
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PLAN_STATUS)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="项目负责人" prop="projectOwner">
<el-input v-model="queryParams.projectOwner" placeholder="项目负责人" clearable @keyup.enter="handleQuery"
class="!w-250px" />
</el-form-item>
<el-form-item>
<el-button @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
</el-button>
<el-button type="primary" plain @click="openAdd()">
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
<el-card class="hl-card">
<template #header>
<span>生产计划</span>
</template>
<ContentWrap class="borderxx">
<!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="105px">
<el-form-item label="项目编号" prop="projectCode">
<el-input v-model="queryParams.projectCode" placeholder="项目编号" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="客户名称" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item>
<el-form-item label="项目名称" prop="projectName">
<el-input v-model="queryParams.projectName" placeholder="项目名称" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item>
<el-form-item label="业务员" prop="businessManName">
<el-input v-model="queryParams.businessManName" placeholder="业务员" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item>
<el-form-item label="所属业务线" prop="businessLine">
<el-select class="!w-250px" v-model="queryParams.businessLine" placeholder="下拉选择">
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.HELI_BUSINESS_LINE)" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="性质" prop="property">
<el-select class="!w-250px" v-model="queryParams.property" placeholder="下拉选择">
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PROPERTY)" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="生产状态" prop="status">
<el-select v-model="queryParams.status" placeholder="生产状态" clearable class="!w-250px">
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PROJECT_PLAN_STATUS)" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="项目负责人" prop="projectOwner">
<el-input v-model="queryParams.projectOwner" placeholder="项目负责人" clearable @keyup.enter="handleQuery" class="!w-250px" />
</el-form-item>
<el-form-item>
<el-button @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
</el-button>
<el-button type="primary" plain @click="openAdd()">
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column fixed label="计划单号" align="center" prop="planNo" width="150" >
<template #default="scope">
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" class="hl-table">
<el-table-column fixed label="计划单号" align="center" prop="planNo" width="150">
<template #default="scope">
<el-button text type="primary" @click="handleCommand('detail',scope.row.id)">
{{scope.row.planNo}}
</el-button>
</template>
</el-table-column>
<el-table-column fixed label="项目编号" align="center" prop="projectCode" width="220" />
<el-table-column fixed label="项目变更次数" align="center" prop="changeNum" width="150" />
<el-table-column label="客户名称" align="center" prop="customerName" width="150"/>
<el-table-column label="项目名称" align="center" prop="projectName" width="150"/>
<el-table-column label="业务员" align="center" prop="businessManName" width="150"/>
<el-table-column label="起止时间" align="center" prop="projectStartTime" width="260">
<template #default="scope">
</el-table-column>
<el-table-column fixed label="项目编号" align="center" prop="projectCode" width="220" />
<el-table-column fixed label="项目变更次数" align="center" prop="changeNum" width="150" />
<el-table-column label="客户名称" align="center" prop="customerName" width="150" />
<el-table-column label="项目名称" align="center" prop="projectName" width="150" />
<el-table-column label="业务员" align="center" prop="businessManName" width="150" />
<el-table-column label="起止时间" align="center" prop="projectStartTime" width="260">
<template #default="scope">
{{
formatDate(scope.row.projectStartTime, 'YYYY-MM-DD') +
'~' +
formatDate(scope.row.projectEndTime, 'YYYY-MM-DD')
}}
</template>
</el-table-column>
<el-table-column label="所属业务线" align="center" prop="businessLine" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_BUSINESS_LINE" :value="scope.row.businessLine" />
</template>
</el-table-column>
<el-table-column label="性质" align="center" prop="property" width="120">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_PROJECT_PROPERTY" :value="scope.row.property" />
</template>
</el-table-column>
<el-table-column label="是否紧急" align="center" prop="isUrgency" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_COMMON_IS_OR_NOT" :value="scope.row.isUrgency" />
</template>
</el-table-column>
<el-table-column label="是否已变更" align="center" prop="hasAlter" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_COMMON_IS_OR_NOT" :value="scope.row.hasAlter" />
</template>
</el-table-column>
<el-table-column label="是否要工艺" align="center" prop="hasCraft" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_COMMON_IS_OR_NOT" :value="scope.row.hasCraft" />
</template>
</el-table-column>
<el-table-column label="工艺起止时间" align="center" prop="craftStartDate" width="260">
<template #default="scope">
</el-table-column>
<el-table-column label="所属业务线" align="center" prop="businessLine" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_BUSINESS_LINE" :value="scope.row.businessLine" />
</template>
</el-table-column>
<el-table-column label="性质" align="center" prop="property" width="120">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_PROJECT_PROPERTY" :value="scope.row.property" />
</template>
</el-table-column>
<el-table-column label="是否紧急" align="center" prop="isUrgency" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_COMMON_IS_OR_NOT" :value="scope.row.isUrgency" />
</template>
</el-table-column>
<el-table-column label="是否已变更" align="center" prop="hasAlter" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_COMMON_IS_OR_NOT" :value="scope.row.hasAlter" />
</template>
</el-table-column>
<el-table-column label="是否要工艺" align="center" prop="hasCraft" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_COMMON_IS_OR_NOT" :value="scope.row.hasCraft" />
</template>
</el-table-column>
<el-table-column label="工艺起止时间" align="center" prop="craftStartDate" width="260">
<template #default="scope">
{{
formatDate(scope.row.craftStartDate, 'YYYY-MM-DD') +
'~' +
formatDate(scope.row.craftEndDate, 'YYYY-MM-DD')
}}
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="220px" />
<el-table-column label="备注" align="center" prop="description" width="150"/>
<el-table-column fixed="right" label="项目负责人" align="center" prop="projectOwner" width="150" >
<template #default="scope">
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="220px" />
<el-table-column label="备注" align="center" prop="description" width="150" />
<el-table-column fixed="right" label="项目负责人" align="center" prop="projectOwner" width="150">
<template #default="scope">
{{ userInit.find((user) => user.id == scope.row.projectOwner)?.nickname }}
</template>
</el-table-column>
<el-table-column fixed="right" label="工艺负责人" align="center" prop="craftOwner" width="150" >
<template #default="scope">
</el-table-column>
<el-table-column fixed="right" label="工艺负责人" align="center" prop="craftOwner" width="150">
<template #default="scope">
{{ userInit.find((user) => user.id == scope.row.craftOwner)?.nickname }}
</template>
</el-table-column>
<el-table-column fixed="right" label="生产状态" align="center" prop="status" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_PROJECT_PLAN_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
</el-table-column>
<el-table-column fixed="right" label="生产状态" align="center" prop="status" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.HELI_PROJECT_PLAN_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="150">
<template #default="scope">
<el-button link type="primary" @click="openForm(scope.row.id)" >
编辑
</el-button>
<el-dropdown @command="(command) => handleCommand(command, scope.row.id, scope.row.code)">
<span class="el-dropdown-link">更多
<el-icon class="el-icon--right">
<arrow-down />
</el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item command="detail">查看详情</el-dropdown-item>
<el-dropdown-item command="printProjectPlan">
打印生产计划单
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</ContentWrap>
<el-table-column fixed="right" label="操作" align="center" width="150">
<template #default="scope">
<el-row>
<el-col>
<el-button link type="primary" @click="openForm(scope.row.id)">
编辑
</el-button>
<el-dropdown @command="(command) => handleCommand(command, scope.row.id, scope.row.code)">
<span class="el-dropdown-link">更多
<el-icon class="el-icon--right">
<arrow-down />
</el-icon>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item command="detail">查看详情</el-dropdown-item>
<el-dropdown-item command="printProjectPlan">
打印生产计划单
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</el-col>
</el-row>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" />
</ContentWrap>
</el-card>
<!-- 打印启动单 - 弹框-->
<Print ref="printRef" />
</template>
<script setup lang="ts">
import { getIntDictOptions, getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { dateFormatter,formatDate } from '@/utils/formatTime'
import { dateFormatter, formatDate } from '@/utils/formatTime'
import download from '@/utils/download'
import * as PlanApi from '@/api/heli/plan'
import Print from './planprint.vue' //
@ -184,12 +185,12 @@ const queryParams = reactive({
pageSize: 10,
projectCode: undefined,
customerName: undefined,
projectName:undefined,
businessManName:undefined,
businessLine:undefined,
property:undefined,
projectName: undefined,
businessManName: undefined,
businessLine: undefined,
property: undefined,
projectOwner: undefined,
status: undefined,
status: undefined
})
const queryFormRef = ref() //
const exportLoading = ref(false) //
@ -208,7 +209,7 @@ const getList = async () => {
const handleCommand = async (command, id, code) => {
switch (command) {
case 'detail':
openDetail( id)
openDetail(id)
break
case 'printProjectPlan':
printHandle(id)
@ -235,16 +236,16 @@ const resetQuery = () => {
}
/** 添加/修改操作 */
const openForm = (id:number) => {
router.push({ path: '/plan/edit',query:{id:id}})
const openForm = (id: number) => {
router.push({ path: '/plan/edit', query: { id: id } })
}
const openAdd = (id:number) => {
router.push({ path: '/plan/add'})
const openAdd = (id: number) => {
router.push({ path: '/plan/add' })
}
/** 添加/修改操作 */
const openDetail = (id: number) => {
router.push({ path: '/plan/detail',query:{id:id}})
router.push({ path: '/plan/detail', query: { id: id } })
}
/** 导出按钮操作 */
@ -264,9 +265,18 @@ const handleExport = async () => {
const userInit = ref()
/** 初始化 **/
onMounted( async() => {
onMounted(async () => {
//
userInit.value = await UserApi.getSimpleUserList()
await getList()
})
</script>
</script>
<style scoped>
.el-dropdown-link {
cursor: pointer;
margin: 5px;
color: var(--el-color-primary);
display: flex;
align-items: center;
}
</style>

@ -134,7 +134,6 @@
</el-table-column>
<el-table-column prop="matSub" label="盈亏差异" min-width="120" align="center">
<template #default="scope">
<div v-if="scope.row.matSub<0" style="color:#EC808D;">
{{scope.row.matSub}}
</div>
@ -593,10 +592,12 @@ const handlePn = async (pnid, scope) => {
}
const handleSub = async (pNum, scope) => {
//-------------------
scope.row.matSub = Number(pNum) - Number(scope.row.matRest)
console.log(typeof scope.row.matSub)
// scope.row.matSub = Number(pNum) - Number(scope.row.matRest)
// console.log(typeof scope.row.matSub)
//-----------------
const matSubValue = Number(pNum) - Number(scope.row.matRest)
scope.row.matSub = matSubValue.toFixed(2) //
console.log(typeof scope.row.matSub)
}
//
@ -699,11 +700,10 @@ onMounted(async () => {
item.pnlist = pnList.value.filter((pn) => pn.rg_id == item.rgId)
})
formData.value.matItemDOList.sort((a,b)=>a.matCode-b.matCode)
formData.value.matItemDOList.forEach(item=>{
formData.value.matItemDOList.sort((a, b) => a.matCode - b.matCode)
formData.value.matItemDOList.forEach((item) => {
item.cid = matCount
matCount= matCount+1
matCount = matCount + 1
})
//
let attParams = {

Loading…
Cancel
Save