|
|
@ -34,6 +34,7 @@
|
|
|
|
node-key="id"
|
|
|
|
node-key="id"
|
|
|
|
clearable
|
|
|
|
clearable
|
|
|
|
placeholder="请选择提出部门"
|
|
|
|
placeholder="请选择提出部门"
|
|
|
|
|
|
|
|
:disabled="alterDisabled"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
@ -41,7 +42,9 @@
|
|
|
|
<el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-form-item label="所属业务线" prop="businessLine">
|
|
|
|
<el-form-item label="所属业务线" prop="businessLine">
|
|
|
|
<el-select v-model="formData.businessLine" placeholder="请选择所属业务线">
|
|
|
|
<el-select v-model="formData.businessLine" placeholder="请选择所属业务线"
|
|
|
|
|
|
|
|
:disabled="alterDisabled"
|
|
|
|
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
<el-option
|
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_BUSINESS_LINE)"
|
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_BUSINESS_LINE)"
|
|
|
|
:key="dict.value"
|
|
|
|
:key="dict.value"
|
|
|
@ -60,6 +63,7 @@
|
|
|
|
type="date"
|
|
|
|
type="date"
|
|
|
|
value-format="x"
|
|
|
|
value-format="x"
|
|
|
|
placeholder="选择项目开始日期"
|
|
|
|
placeholder="选择项目开始日期"
|
|
|
|
|
|
|
|
:disabled="alterDisabled"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
@ -99,6 +103,7 @@
|
|
|
|
reserve-keyword
|
|
|
|
reserve-keyword
|
|
|
|
filterable
|
|
|
|
filterable
|
|
|
|
:loading="userSelectLoading"
|
|
|
|
:loading="userSelectLoading"
|
|
|
|
|
|
|
|
:disabled="alterDisabled"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
<el-option
|
|
|
|
v-for="item in userSelectList"
|
|
|
|
v-for="item in userSelectList"
|
|
|
@ -113,7 +118,7 @@
|
|
|
|
<el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-form-item label="模具图号" prop="blueprintNo">
|
|
|
|
<el-form-item label="模具图号" prop="blueprintNo">
|
|
|
|
<el-input v-model="formData.blueprintNo" placeholder="请输入模具图号" />
|
|
|
|
<el-input :disabled="alterDisabled" v-model="formData.blueprintNo" placeholder="请输入模具图号" />
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
@ -150,6 +155,7 @@
|
|
|
|
reserve-keyword
|
|
|
|
reserve-keyword
|
|
|
|
filterable
|
|
|
|
filterable
|
|
|
|
:loading="customerSelectLoading"
|
|
|
|
:loading="customerSelectLoading"
|
|
|
|
|
|
|
|
:disabled="alterDisabled"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-option
|
|
|
|
<el-option
|
|
|
|
v-for="item in customerSelectList"
|
|
|
|
v-for="item in customerSelectList"
|
|
|
@ -194,7 +200,7 @@
|
|
|
|
<el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-form-item label="是否已变更" prop="hasAlter">
|
|
|
|
<el-form-item label="是否已变更" prop="hasAlter">
|
|
|
|
<el-radio-group v-model="formData.hasAlter">
|
|
|
|
<el-radio-group v-model="formData.hasAlter" disabled>
|
|
|
|
<el-radio
|
|
|
|
<el-radio
|
|
|
|
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
|
|
|
|
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
|
|
|
|
:key="dict.value"
|
|
|
|
:key="dict.value"
|
|
|
@ -226,14 +232,14 @@
|
|
|
|
<el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-form-item label="合同号" prop="contractNo">
|
|
|
|
<el-form-item label="合同号" prop="contractNo">
|
|
|
|
<el-input v-model="formData.contractNo" placeholder="请输入合同号" />
|
|
|
|
<el-input :disabled="alterDisabled" v-model="formData.contractNo" placeholder="请输入合同号" />
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-form-item label="模具名称" prop="mouldName">
|
|
|
|
<el-form-item label="模具名称" prop="mouldName">
|
|
|
|
<el-input v-model="formData.mouldName" placeholder="请输入模具名称" />
|
|
|
|
<el-input :disabled="alterDisabled" v-model="formData.mouldName" placeholder="请输入模具名称" />
|
|
|
|
</el-form-item>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
@ -327,7 +333,7 @@
|
|
|
|
<el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col>
|
|
|
|
<el-col>
|
|
|
|
<el-card class="hl-incard">
|
|
|
|
<el-card class="hl-incard">
|
|
|
|
<el-col>
|
|
|
|
<el-col v-if="('update,create'.indexOf(query.active) > -1)">
|
|
|
|
<el-button class="hl-addbutton" type="primary" size="large" @click="onAddItem">新增</el-button>
|
|
|
|
<el-button class="hl-addbutton" type="primary" size="large" @click="onAddItem">新增</el-button>
|
|
|
|
</el-col>
|
|
|
|
</el-col>
|
|
|
|
<el-form ref="projectOrderSubFormRef" :model="formData.projectOrderSubs"
|
|
|
|
<el-form ref="projectOrderSubFormRef" :model="formData.projectOrderSubs"
|
|
|
@ -407,6 +413,7 @@
|
|
|
|
<el-table-column label="操作" align="center" width="240">
|
|
|
|
<el-table-column label="操作" align="center" width="240">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<el-button
|
|
|
|
<el-button
|
|
|
|
|
|
|
|
v-if="('update,create'.indexOf(query.active) > -1) || !alterDisabled"
|
|
|
|
link
|
|
|
|
link
|
|
|
|
type="danger"
|
|
|
|
type="danger"
|
|
|
|
size="small"
|
|
|
|
size="small"
|
|
|
@ -429,7 +436,7 @@
|
|
|
|
<el-row>
|
|
|
|
<el-row>
|
|
|
|
<el-col>
|
|
|
|
<el-col>
|
|
|
|
<el-card class="hl-incard">
|
|
|
|
<el-card class="hl-incard">
|
|
|
|
<el-col>
|
|
|
|
<el-col v-if="('update,create'.indexOf(query.active) > -1)">
|
|
|
|
<el-upload
|
|
|
|
<el-upload
|
|
|
|
ref="contractUploadRef"
|
|
|
|
ref="contractUploadRef"
|
|
|
|
:file-list="contractUploadFiles"
|
|
|
|
:file-list="contractUploadFiles"
|
|
|
@ -472,7 +479,7 @@
|
|
|
|
<el-table-column prop="createTime" align="center" label="上传时间" :formatter="dateFormatter"/>
|
|
|
|
<el-table-column prop="createTime" align="center" label="上传时间" :formatter="dateFormatter"/>
|
|
|
|
<el-table-column label="操作" align="center">
|
|
|
|
<el-table-column label="操作" align="center">
|
|
|
|
<template #default="scope">
|
|
|
|
<template #default="scope">
|
|
|
|
<el-button link type="danger" size="small" @click="handleDeleteAttachment(scope.$index, scope.row.businessFileType)">
|
|
|
|
<el-button v-if="('update,create'.indexOf(query.active) > -1)" link type="danger" size="small" @click="handleDeleteAttachment(scope.$index, scope.row.businessFileType)">
|
|
|
|
删除
|
|
|
|
删除
|
|
|
|
</el-button>
|
|
|
|
</el-button>
|
|
|
|
<el-button v-if="!!scope.row.id" link type="primary" size="small" @click="downloadAttachment(scope.row.name, scope.row.url)"> 下载 </el-button>
|
|
|
|
<el-button v-if="!!scope.row.id" link type="primary" size="small" @click="downloadAttachment(scope.row.name, scope.row.url)"> 下载 </el-button>
|
|
|
@ -513,22 +520,25 @@
|
|
|
|
</el-form>
|
|
|
|
</el-form>
|
|
|
|
<div class="text-center hl-footer">
|
|
|
|
<div class="text-center hl-footer">
|
|
|
|
<el-button @click="() => router.back()" size="large">取 消</el-button>
|
|
|
|
<el-button @click="() => router.back()" size="large">取 消</el-button>
|
|
|
|
<el-button @click="submitForm('SAVE')" type="success" size="large"
|
|
|
|
<el-button v-if="('update,create'.indexOf(query.active) > -1) && formData.orderStatus <= 4" @click="submitForm('SAVE')" type="success" size="large"
|
|
|
|
>保 存</el-button
|
|
|
|
>保 存</el-button
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-button @click="submitForm('SUBMIT_AUDIT')" type="primary" size="large"
|
|
|
|
<el-button v-if="query.active == 'update' && formData.orderStatus < 8" @click="submitForm('SUBMIT_AUDIT')" type="primary" size="large"
|
|
|
|
>送 审</el-button
|
|
|
|
>送 审</el-button
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-button @click="submitForm('AUDIT')" type="primary" size="large"
|
|
|
|
<el-button v-if="query.active == 'update' && formData.orderStatus == 8" @click="submitForm('AUDIT')" type="primary" size="large"
|
|
|
|
>审 核</el-button
|
|
|
|
>审 核</el-button
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-button @click="submitForm('APPROVE')" type="primary" size="large"
|
|
|
|
<el-button v-if="query.active == 'update' && formData.orderStatus == 16" @click="submitForm('APPROVE')" type="primary" size="large"
|
|
|
|
>批 准</el-button
|
|
|
|
>批 准</el-button
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-button @click="submitForm('REPULSE')" type="danger" size="large"
|
|
|
|
<el-button v-if="query.active == 'update' && formData.orderStatus == 32" @click="submitForm('ALTER')" type="danger" size="large"
|
|
|
|
|
|
|
|
>确定变更</el-button
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<el-button v-if="query.active == 'update' && formData.orderStatus == 8 || formData.orderStatus == 16" @click="submitForm('REPULSE')" type="danger" size="large"
|
|
|
|
>打 回</el-button
|
|
|
|
>打 回</el-button
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<el-button @click="submitForm('TERMINATE')" type="danger" size="large"
|
|
|
|
<el-button v-if="query.active == 'update' && formData.orderStatus == 16" @click="submitForm('TERMINATE')" type="danger" size="large"
|
|
|
|
>直接终止</el-button
|
|
|
|
>直接终止</el-button
|
|
|
|
>
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -772,6 +782,40 @@ const submitForm = async (active) => {
|
|
|
|
formLoading.value = true
|
|
|
|
formLoading.value = true
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
const data = formData.value as unknown as ProjectOrderApi.ProjectOrderVO
|
|
|
|
const data = formData.value as unknown as ProjectOrderApi.ProjectOrderVO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(active == 'SAVE'){
|
|
|
|
|
|
|
|
// 不能提交存在数量为0的数据
|
|
|
|
|
|
|
|
if(data.projectOrderSubs && data.projectOrderSubs.length > 0){
|
|
|
|
|
|
|
|
if(data.projectOrderSubs.some((sub) => !sub.amount || sub.amount <= 0)){
|
|
|
|
|
|
|
|
message.error("子项目数量不能为0")
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(active == 'SUBMIT_AUDIT'){
|
|
|
|
|
|
|
|
// 子项目信息不能为空
|
|
|
|
|
|
|
|
if(!data.projectOrderSubs || data.projectOrderSubs.length == 0){
|
|
|
|
|
|
|
|
message.error("子项目信息不能为空")
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(active == 'ALTER'){
|
|
|
|
|
|
|
|
// 总数量不能为0
|
|
|
|
|
|
|
|
if(data.projectOrderSubs && data.projectOrderSubs.length > 0){
|
|
|
|
|
|
|
|
const total = data.projectOrderSubs.reduce((acc,cur) => {
|
|
|
|
|
|
|
|
return acc+cur;
|
|
|
|
|
|
|
|
}, 0);
|
|
|
|
|
|
|
|
if(total <= 0){
|
|
|
|
|
|
|
|
message.error("子项目数量和不能为0")
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const orderId = await ProjectOrderApi.operateProjectOrder(data)
|
|
|
|
const orderId = await ProjectOrderApi.operateProjectOrder(data)
|
|
|
|
message.success(t('common.operationSuccess'))
|
|
|
|
message.success(t('common.operationSuccess'))
|
|
|
|
// 上传附件
|
|
|
|
// 上传附件
|
|
|
@ -914,6 +958,10 @@ const resetForm = () => {
|
|
|
|
const openMe = (url) => {
|
|
|
|
const openMe = (url) => {
|
|
|
|
window.open(url)
|
|
|
|
window.open(url)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const alterDisabled = () => {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
onMounted(() => {
|
|
|
|
onMounted(() => {
|
|
|
|
queryData(query.active, query.id);
|
|
|
|
queryData(query.active, query.id);
|
|
|
|
})
|
|
|
|
})
|
|
|
|