|
|
|
@ -7,7 +7,10 @@
|
|
|
|
|
<img src="/src/assets/imgs/status/status16.png" v-if="formData.orderStatus == 16" alt="" />
|
|
|
|
|
<img src="/src/assets/imgs/status/status3.png" v-else-if="formData.orderStatus == 3" alt="" />
|
|
|
|
|
<img src="/src/assets/imgs/status/status8.png" v-else-if="formData.orderStatus == 8" alt="" />
|
|
|
|
|
<div v-else-if="query.active != 'detailArchive' && formData.orderStatus == 32" class="shipments">
|
|
|
|
|
<div
|
|
|
|
|
v-else-if="query.active != 'detailArchive' && formData.orderStatus == 32"
|
|
|
|
|
class="shipments"
|
|
|
|
|
>
|
|
|
|
|
<div v-if="formData.deliveryStatus == 3">
|
|
|
|
|
<span class="shipmentsfont">已发货</span>
|
|
|
|
|
</div>
|
|
|
|
@ -27,9 +30,12 @@
|
|
|
|
|
>距交货还有{{ betweenDay(new Date(), new Date(formData.projectEndTime)) + 1 }}天
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<img v-else-if="formData.orderStatus == 32" src="/src/assets/imgs/status/status32.png" alt="" />
|
|
|
|
|
<img
|
|
|
|
|
v-else-if="formData.orderStatus == 32"
|
|
|
|
|
src="/src/assets/imgs/status/status32.png"
|
|
|
|
|
alt=""
|
|
|
|
|
/>
|
|
|
|
|
<img
|
|
|
|
|
src="/src/assets/imgs/status/status64.png"
|
|
|
|
|
v-else-if="formData.orderStatus == 64"
|
|
|
|
@ -152,7 +158,11 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="单据日期" prop="orderTime">
|
|
|
|
|
{{ query.active != 'detailArchive' ? formatDate(formData.orderTime, 'YYYY-MM-DD') : formatDate(formData.snapshotOrderTime, 'YYYY-MM-DD')}}
|
|
|
|
|
{{
|
|
|
|
|
query.active != 'detailArchive'
|
|
|
|
|
? formatDate(formData.orderTime, 'YYYY-MM-DD')
|
|
|
|
|
: formatDate(formData.snapshotOrderTime, 'YYYY-MM-DD')
|
|
|
|
|
}}
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -259,7 +269,9 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="是否有价格" prop="hasPrice">
|
|
|
|
|
<el-radio-group v-model="formData.hasPrice" :disabled="detailDisabled"
|
|
|
|
|
<el-radio-group
|
|
|
|
|
v-model="formData.hasPrice"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('hasPrice') }"
|
|
|
|
|
>
|
|
|
|
|
<el-radio
|
|
|
|
@ -276,7 +288,9 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="是否紧急" prop="isUrgency">
|
|
|
|
|
<el-radio-group v-model="formData.isUrgency" :disabled="detailDisabled"
|
|
|
|
|
<el-radio-group
|
|
|
|
|
v-model="formData.isUrgency"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('isUrgency') }"
|
|
|
|
|
>
|
|
|
|
|
<el-radio
|
|
|
|
@ -416,7 +430,9 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item label="有无合同" prop="hasContract">
|
|
|
|
|
<el-radio-group :disabled="detailDisabled" v-model="formData.hasContract"
|
|
|
|
|
<el-radio-group
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="formData.hasContract"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('hasContract') }"
|
|
|
|
|
>
|
|
|
|
|
<el-radio
|
|
|
|
@ -431,7 +447,9 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item label="有无技术协议" prop="hasTechnologyProtocol">
|
|
|
|
|
<el-radio-group :disabled="detailDisabled" v-model="formData.hasTechnologyProtocol"
|
|
|
|
|
<el-radio-group
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="formData.hasTechnologyProtocol"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('hasTechnologyProtocol') }"
|
|
|
|
|
>
|
|
|
|
|
<el-radio
|
|
|
|
@ -446,7 +464,9 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item label="有无图纸/数模" prop="hasBlueprint">
|
|
|
|
|
<el-radio-group :disabled="detailDisabled" v-model="formData.hasBlueprint"
|
|
|
|
|
<el-radio-group
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="formData.hasBlueprint"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('hasBlueprint') }"
|
|
|
|
|
>
|
|
|
|
|
<el-radio
|
|
|
|
@ -632,17 +652,14 @@
|
|
|
|
|
</el-card>
|
|
|
|
|
<el-card class="hl-card-info">
|
|
|
|
|
<template #header>
|
|
|
|
|
<div class="hl-card-info-icona"></div><span class="hl-card-info-text"
|
|
|
|
|
|
|
|
|
|
>附件信息</span>
|
|
|
|
|
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">附件信息</span>
|
|
|
|
|
</template>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col>
|
|
|
|
|
<el-card class="hl-incard"
|
|
|
|
|
:class="{'alter-class': fieldHasAlter('attachments')}"
|
|
|
|
|
>
|
|
|
|
|
<el-card class="hl-incard" :class="{ 'alter-class': fieldHasAlter('attachments') }">
|
|
|
|
|
<el-col v-if="'update,create,alter'.indexOf(query.active) > -1">
|
|
|
|
|
<el-upload
|
|
|
|
|
v-if="formData.hasContract == 1"
|
|
|
|
|
ref="contractUploadRef"
|
|
|
|
|
:file-list="contractUploadFiles"
|
|
|
|
|
multiple
|
|
|
|
@ -662,6 +679,7 @@
|
|
|
|
|
<el-button type="primary"><Icon icon="ep:upload-filled" />上传合同</el-button>
|
|
|
|
|
</el-upload>
|
|
|
|
|
<el-upload
|
|
|
|
|
v-if="formData.hasTechnologyProtocol == 1"
|
|
|
|
|
ref="protocolUploadRef"
|
|
|
|
|
multiple
|
|
|
|
|
:limit="10"
|
|
|
|
@ -1005,10 +1023,11 @@ const queryData = async (type: string, id?: number) => {
|
|
|
|
|
if (id) {
|
|
|
|
|
formData.value = await ProjectOrderApi.getProjectOrder(id)
|
|
|
|
|
// 子项列表
|
|
|
|
|
formData.value.projectOrderSubs = await ProjectOrderApi.getProjectOrderSubListByProjectOrderId(id)
|
|
|
|
|
formData.value.projectOrderSubs =
|
|
|
|
|
await ProjectOrderApi.getProjectOrderSubListByProjectOrderId(id)
|
|
|
|
|
|
|
|
|
|
// 如为归档
|
|
|
|
|
let businessType = 'PROJECT_ORDER';
|
|
|
|
|
let businessType = 'PROJECT_ORDER'
|
|
|
|
|
if (type == 'detailArchive') {
|
|
|
|
|
businessType = 'PROJECT_ORDER_SNAPSHOT'
|
|
|
|
|
} else {
|
|
|
|
@ -1094,7 +1113,7 @@ const submitForm = async (active) => {
|
|
|
|
|
}
|
|
|
|
|
// 如变更 置为已变更
|
|
|
|
|
if (active == 'ALTER') {
|
|
|
|
|
formData.value.hasAlter = 1;
|
|
|
|
|
formData.value.hasAlter = 1
|
|
|
|
|
}
|
|
|
|
|
const data = formData.value as unknown as ProjectOrderApi.ProjectOrderVO
|
|
|
|
|
|
|
|
|
@ -1134,19 +1153,19 @@ const submitForm = async (active) => {
|
|
|
|
|
if ('SUBMIT_AUDIT,ALTER'.indexOf(active) > -1) {
|
|
|
|
|
if (formData.value.hasContract) {
|
|
|
|
|
const hasContractFile = formData.value.attachments.some((file) => {
|
|
|
|
|
return file.businessFileType == 'CONTRACT';
|
|
|
|
|
return file.businessFileType == 'CONTRACT'
|
|
|
|
|
})
|
|
|
|
|
if (!hasContractFile) {
|
|
|
|
|
message.error("请上传合同");
|
|
|
|
|
message.error('请上传合同')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (formData.value.hasTechnologyProtocol) {
|
|
|
|
|
const hasProtocolFile = formData.value.attachments.some((file) => {
|
|
|
|
|
return file.businessFileType == 'TECHNOLOGY_PROTOCOL';
|
|
|
|
|
return file.businessFileType == 'TECHNOLOGY_PROTOCOL'
|
|
|
|
|
})
|
|
|
|
|
if (!hasProtocolFile) {
|
|
|
|
|
message.error("请上传技术协议");
|
|
|
|
|
message.error('请上传技术协议')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -1236,7 +1255,7 @@ const refreshAttachments = (files, type) => {
|
|
|
|
|
}
|
|
|
|
|
// 排序
|
|
|
|
|
formData.value.attachments.sort((v1, v2) => {
|
|
|
|
|
return (v1.createTime - v2.createTime) > 0
|
|
|
|
|
return v1.createTime - v2.createTime > 0
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|