订单信息新增页

pull/1/head
qiuhongwu 9 months ago
parent 608203295e
commit 9fc030fcd1

@ -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"
@ -126,7 +132,7 @@
:disabled="detailDisabled"
v-model="formData.referenceTechnology"
placeholder="请输入可引用的原有技术"
:class="{'alter-class': fieldHasAlter('referenceTechnology')}"
:class="{ 'alter-class': fieldHasAlter('referenceTechnology') }"
/>
</el-form-item>
</el-col>
@ -142,7 +148,7 @@
placeholder="请输入检验要求"
show-word-limit
maxlength="200"
:class="{'alter-class': fieldHasAlter('referenceTechnology')}"
:class="{ 'alter-class': fieldHasAlter('referenceTechnology') }"
/>
</el-form-item>
</el-col>
@ -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>
@ -199,7 +209,7 @@
<el-form-item label="项目结束日期" prop="projectEndTime">
<el-date-picker
class="!w-250px"
:class="{'alter-class': fieldHasAlter('projectEndTime')}"
:class="{ 'alter-class': fieldHasAlter('projectEndTime') }"
v-model="formData.projectEndTime"
type="date"
value-format="x"
@ -259,8 +269,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="是否有价格" prop="hasPrice">
<el-radio-group v-model="formData.hasPrice" :disabled="detailDisabled"
:class="{'alter-class': fieldHasAlter('hasPrice')}"
<el-radio-group
v-model="formData.hasPrice"
:disabled="detailDisabled"
:class="{ 'alter-class': fieldHasAlter('hasPrice') }"
>
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
@ -276,8 +288,10 @@
<el-row>
<el-col :span="24">
<el-form-item label="是否紧急" prop="isUrgency">
<el-radio-group v-model="formData.isUrgency" :disabled="detailDisabled"
:class="{'alter-class': fieldHasAlter('isUrgency')}"
<el-radio-group
v-model="formData.isUrgency"
:disabled="detailDisabled"
:class="{ 'alter-class': fieldHasAlter('isUrgency') }"
>
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
@ -315,7 +329,7 @@
v-model="formData.remark"
show-word-limit
maxlength="200"
:class="{'alter-class': fieldHasAlter('remark')}"
:class="{ 'alter-class': fieldHasAlter('remark') }"
/>
</el-form-item>
</el-col>
@ -365,14 +379,14 @@
:min="0"
:precision="6"
style="width: 150px"
:class="{'alter-class': fieldHasAlter('price')}"
:class="{ 'alter-class': fieldHasAlter('price') }"
/>
<el-select
:disabled="detailDisabled"
v-model="formData.currency"
placeholder="请选择币种"
style="width: 100px"
:class="{'alter-class': fieldHasAlter('currency')}"
:class="{ 'alter-class': fieldHasAlter('currency') }"
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_CURRENCY)"
@ -390,7 +404,7 @@
<el-form-item label="性质" prop="property">
<el-select
class="!w-250px"
:class="{'alter-class': fieldHasAlter('property')}"
:class="{ 'alter-class': fieldHasAlter('property') }"
:disabled="detailDisabled"
v-model="formData.property"
placeholder="请选择性质"
@ -416,8 +430,10 @@
<el-row>
<el-col :span="6">
<el-form-item label="有无合同" prop="hasContract">
<el-radio-group :disabled="detailDisabled" v-model="formData.hasContract"
:class="{'alter-class': fieldHasAlter('hasContract')}"
<el-radio-group
:disabled="detailDisabled"
v-model="formData.hasContract"
:class="{ 'alter-class': fieldHasAlter('hasContract') }"
>
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
@ -431,8 +447,10 @@
</el-col>
<el-col :span="6">
<el-form-item label="有无技术协议" prop="hasTechnologyProtocol">
<el-radio-group :disabled="detailDisabled" v-model="formData.hasTechnologyProtocol"
:class="{'alter-class': fieldHasAlter('hasTechnologyProtocol')}"
<el-radio-group
:disabled="detailDisabled"
v-model="formData.hasTechnologyProtocol"
:class="{ 'alter-class': fieldHasAlter('hasTechnologyProtocol') }"
>
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
@ -446,8 +464,10 @@
</el-col>
<el-col :span="6">
<el-form-item label="有无图纸/数模" prop="hasBlueprint">
<el-radio-group :disabled="detailDisabled" v-model="formData.hasBlueprint"
:class="{'alter-class': fieldHasAlter('hasBlueprint')}"
<el-radio-group
:disabled="detailDisabled"
v-model="formData.hasBlueprint"
:class="{ 'alter-class': fieldHasAlter('hasBlueprint') }"
>
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
@ -467,7 +487,7 @@
:disabled="
detailDisabled || (formData.hasBlueprint == 0 && (formData.blueprintRemark = ''))
"
:class="{'alter-class': fieldHasAlter('blueprintRemark')}"
:class="{ 'alter-class': fieldHasAlter('blueprintRemark') }"
/>
</el-form-item>
</el-col>
@ -537,7 +557,7 @@
placeholder="请输入数量"
:min="0"
:precision="0"
:class="{'alter-class': fieldHasAlterInRow('amount', row)}"
:class="{ 'alter-class': fieldHasAlterInRow('amount', row) }"
/>
</el-form-item>
</template>
@ -553,7 +573,7 @@
:disabled="detailDisabled"
v-model="row.unit"
placeholder="请选择单位"
:class="{'alter-class': fieldHasAlterInRow('unit', row)}"
:class="{ 'alter-class': fieldHasAlterInRow('unit', row) }"
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_PROJECT_ORDER_SUB_UNIT)"
@ -583,7 +603,7 @@
filterable
:loading="compositionSelectLoading"
:disabled="detailDisabled"
:class="{'alter-class': fieldHasAlterInRow('compositionId', row)}"
:class="{ 'alter-class': fieldHasAlterInRow('compositionId', row) }"
>
<el-option
v-for="item in compositionSelectList"
@ -606,7 +626,7 @@
:disabled="detailDisabled"
v-model="row.remark"
placeholder="请输入备注"
:class="{'alter-class': fieldHasAlterInRow('remark', row)}"
:class="{ 'alter-class': fieldHasAlterInRow('remark', row) }"
/>
</el-form-item>
</template>
@ -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,13 +1023,14 @@ 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';
if(type == 'detailArchive'){
let businessType = 'PROJECT_ORDER'
if (type == 'detailArchive') {
businessType = 'PROJECT_ORDER_SNAPSHOT'
}else{
} else {
//
let logParams = {
pageNo: 1,
@ -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
@ -1131,22 +1150,22 @@ const submitForm = async (active) => {
}
//
if('SUBMIT_AUDIT,ALTER'.indexOf(active) > -1){
if(formData.value.hasContract){
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("请上传合同");
if (!hasContractFile) {
message.error('请上传合同')
return
}
}
if(formData.value.hasTechnologyProtocol){
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("请上传技术协议");
if (!hasProtocolFile) {
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
})
}
@ -1323,7 +1342,7 @@ onMounted(() => {
if (query.active == 'alter') {
alterDisabled.value = true
}
if('detail,audit,approve,terminate,detailArchive'.indexOf(query.active) > -1){
if ('detail,audit,approve,terminate,detailArchive'.indexOf(query.active) > -1) {
detailDisabled.value = true
}
queryData(query.active, query.id)

Loading…
Cancel
Save