|
|
|
@ -14,38 +14,21 @@
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div v-else class="shipments">
|
|
|
|
|
<span
|
|
|
|
|
v-if="betweenDay(new Date(), new Date(formData.projectEndTime)) == -1"
|
|
|
|
|
class="shipmentsfont"
|
|
|
|
|
>距交货还有{{ betweenDay(new Date(), new Date(formData.projectEndTime)) + 1 }}天
|
|
|
|
|
<span v-if="betweenDay(new Date(), new Date(formData.projectEndTime)) == -1" class="shipmentsfont">距交货还有{{ betweenDay(new Date(), new Date(formData.projectEndTime)) + 1 }}天
|
|
|
|
|
</span>
|
|
|
|
|
<span
|
|
|
|
|
v-else-if="betweenDay(new Date(), new Date(formData.projectEndTime)) < -1"
|
|
|
|
|
class="shipmentsfont"
|
|
|
|
|
>距交货还有{{ betweenDay(new Date(), new Date(formData.projectEndTime)) + 1 }}天
|
|
|
|
|
<span v-else-if="betweenDay(new Date(), new Date(formData.projectEndTime)) < -1" class="shipmentsfont">距交货还有{{ betweenDay(new Date(), new Date(formData.projectEndTime)) + 1 }}天
|
|
|
|
|
</span>
|
|
|
|
|
<span v-else class="shipmentsfont"
|
|
|
|
|
>距交货还有{{ betweenDay(new Date(), new Date(formData.projectEndTime)) + 1 }}天
|
|
|
|
|
<span v-else class="shipmentsfont">距交货还有{{ betweenDay(new Date(), new Date(formData.projectEndTime)) + 1 }}天
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<img src="/src/assets/imgs/status/status32.png" alt="" />
|
|
|
|
|
<img src="/src/assets/imgs/status/status32.png" alt="" />
|
|
|
|
|
</div>
|
|
|
|
|
<img v-else src="/src/assets/imgs/status/status32.png" alt="" />
|
|
|
|
|
</div>
|
|
|
|
|
<img
|
|
|
|
|
src="/src/assets/imgs/status/status64.png"
|
|
|
|
|
v-else-if="formData.orderStatus == 64"
|
|
|
|
|
alt=""
|
|
|
|
|
/>
|
|
|
|
|
<img src="/src/assets/imgs/status/status64.png" v-else-if="formData.orderStatus == 64" alt="" />
|
|
|
|
|
</div>
|
|
|
|
|
<el-form
|
|
|
|
|
ref="formRef"
|
|
|
|
|
:model="formData"
|
|
|
|
|
:rules="formRules"
|
|
|
|
|
label-width="160px"
|
|
|
|
|
v-loading="formLoading"
|
|
|
|
|
>
|
|
|
|
|
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="160px" v-loading="formLoading">
|
|
|
|
|
<el-card class="hl-card-info">
|
|
|
|
|
<template #header>
|
|
|
|
|
<div class="hl-card-info-icona"></div><span class="hl-card-info-text">基础信息</span>
|
|
|
|
@ -57,63 +40,29 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="项目编号" prop="code">
|
|
|
|
|
<el-input
|
|
|
|
|
v-if="query.active != 'detailArchive'"
|
|
|
|
|
disabled
|
|
|
|
|
v-model="formData.code"
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
placeholder="系统自动生成"
|
|
|
|
|
/>
|
|
|
|
|
<el-input
|
|
|
|
|
v-else
|
|
|
|
|
disabled
|
|
|
|
|
v-model="formData.snapshotCode"
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
placeholder="系统自动生成"
|
|
|
|
|
/>
|
|
|
|
|
<el-input v-if="query.active != 'detailArchive'" disabled v-model="formData.code" class="!w-250px" placeholder="系统自动生成" />
|
|
|
|
|
<el-input v-else disabled v-model="formData.snapshotCode" class="!w-250px" placeholder="系统自动生成" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="提出部门" prop="businessDeptId">
|
|
|
|
|
<el-tree-select
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
v-model="formData.businessDeptId"
|
|
|
|
|
:data="deptList"
|
|
|
|
|
:props="defaultProps"
|
|
|
|
|
check-strictly
|
|
|
|
|
node-key="id"
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择提出部门"
|
|
|
|
|
:disabled="alterDisabled || detailDisabled"
|
|
|
|
|
/>
|
|
|
|
|
<el-tree-select class="!w-250px" v-model="formData.businessDeptId" :data="deptList" :props="defaultProps" check-strictly node-key="id" clearable placeholder="请选择提出部门" :disabled="alterDisabled || detailDisabled" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="项目名称" prop="projectName">
|
|
|
|
|
<el-input
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
:disabled="alterDisabled || detailDisabled"
|
|
|
|
|
v-model="formData.projectName"
|
|
|
|
|
placeholder="请输入项目名称"
|
|
|
|
|
/>
|
|
|
|
|
<el-input class="!w-250px" :disabled="alterDisabled || detailDisabled" v-model="formData.projectName" placeholder="请输入项目名称" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="项目开始日期" prop="projectStartTime">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
v-model="formData.projectStartTime"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="x"
|
|
|
|
|
placeholder="选择项目开始日期"
|
|
|
|
|
:disabled="alterDisabled || detailDisabled"
|
|
|
|
|
/>
|
|
|
|
|
<el-date-picker class="!w-250px" v-model="formData.projectStartTime" type="date" value-format="x" placeholder="选择项目开始日期" :disabled="alterDisabled || detailDisabled" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -133,25 +82,8 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="业务员" prop="businessMan">
|
|
|
|
|
<el-select
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
v-model="formData.businessMan"
|
|
|
|
|
placeholder="请输入负责人"
|
|
|
|
|
:remote-method="remoteUserSearch"
|
|
|
|
|
remote-show-suffix
|
|
|
|
|
remote
|
|
|
|
|
clearable
|
|
|
|
|
reserve-keyword
|
|
|
|
|
filterable
|
|
|
|
|
:loading="userSelectLoading"
|
|
|
|
|
:disabled="alterDisabled || detailDisabled"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in userSelectList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.username + ' ' + item.nickname"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
/>
|
|
|
|
|
<el-select class="!w-250px" v-model="formData.businessMan" placeholder="请输入负责人" :remote-method="remoteUserSearch" remote-show-suffix remote clearable reserve-keyword filterable :loading="userSelectLoading" :disabled="alterDisabled || detailDisabled">
|
|
|
|
|
<el-option v-for="item in userSelectList" :key="item.id" :label="item.username + ' ' + item.nickname" :value="item.id" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
@ -159,18 +91,8 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="所属业务线" prop="businessLine">
|
|
|
|
|
<el-select
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
v-model="formData.businessLine"
|
|
|
|
|
placeholder="请选择所属业务线"
|
|
|
|
|
:disabled="alterDisabled || detailDisabled"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_BUSINESS_LINE)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
<el-select class="!w-250px" v-model="formData.businessLine" placeholder="请选择所属业务线" :disabled="alterDisabled || detailDisabled">
|
|
|
|
|
<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-col>
|
|
|
|
@ -178,27 +100,15 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="项目结束日期" prop="projectEndTime">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('projectEndTime') }"
|
|
|
|
|
v-model="formData.projectEndTime"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="x"
|
|
|
|
|
placeholder="选择项目结束日期"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
/>
|
|
|
|
|
<span
|
|
|
|
|
style="position: absolute; left: 0; top: 30px"
|
|
|
|
|
v-if="formData.projectStartTime && formData.projectEndTime"
|
|
|
|
|
>{{
|
|
|
|
|
<el-date-picker class="!w-250px" :class="{ 'alter-class': fieldHasAlter('projectEndTime') }" v-model="formData.projectEndTime" type="date" value-format="x" placeholder="选择项目结束日期" :disabled="detailDisabled" />
|
|
|
|
|
<span style="position: absolute; left: 0; top: 30px" v-if="formData.projectStartTime && formData.projectEndTime">{{
|
|
|
|
|
' 共计' +
|
|
|
|
|
betweenDay(
|
|
|
|
|
new Date(formData.projectStartTime),
|
|
|
|
|
new Date(formData.projectEndTime)
|
|
|
|
|
) +
|
|
|
|
|
'天'
|
|
|
|
|
}}</span
|
|
|
|
|
>
|
|
|
|
|
}}</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -207,13 +117,7 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="可引用的原有技术" prop="referenceTechnology">
|
|
|
|
|
<el-input
|
|
|
|
|
class="!w-703px"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="formData.referenceTechnology"
|
|
|
|
|
placeholder="请输入可引用的原有技术"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('referenceTechnology') }"
|
|
|
|
|
/>
|
|
|
|
|
<el-input class="!w-703px" :disabled="detailDisabled" v-model="formData.referenceTechnology" placeholder="请输入可引用的原有技术" :class="{ 'alter-class': fieldHasAlter('referenceTechnology') }" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -230,25 +134,8 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="客户名称" prop="customerId">
|
|
|
|
|
<el-select
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
v-model="formData.customerId"
|
|
|
|
|
placeholder="请输入客户名称"
|
|
|
|
|
:remote-method="remoteCustomerSearch"
|
|
|
|
|
remote-show-suffix
|
|
|
|
|
remote
|
|
|
|
|
clearable
|
|
|
|
|
reserve-keyword
|
|
|
|
|
filterable
|
|
|
|
|
:loading="customerSelectLoading"
|
|
|
|
|
:disabled="alterDisabled || detailDisabled"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in customerSelectList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
/>
|
|
|
|
|
<el-select class="!w-250px" v-model="formData.customerId" placeholder="请输入客户名称" :remote-method="remoteCustomerSearch" remote-show-suffix remote clearable reserve-keyword filterable :loading="customerSelectLoading" :disabled="alterDisabled || detailDisabled">
|
|
|
|
|
<el-option v-for="item in customerSelectList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
@ -256,19 +143,8 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="性质" prop="property">
|
|
|
|
|
<el-select
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('property') }"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="formData.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 class="!w-250px" :class="{ 'alter-class': fieldHasAlter('property') }" :disabled="detailDisabled" v-model="formData.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-col>
|
|
|
|
@ -276,16 +152,8 @@
|
|
|
|
|
<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
|
|
|
|
|
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.value"
|
|
|
|
|
>
|
|
|
|
|
<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)" :key="dict.value" :label="dict.value">
|
|
|
|
|
{{ dict.label }}
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
@ -295,16 +163,8 @@
|
|
|
|
|
<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
|
|
|
|
|
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.value"
|
|
|
|
|
>
|
|
|
|
|
<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)" :key="dict.value" :label="dict.value">
|
|
|
|
|
{{ dict.label }}
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
@ -323,24 +183,14 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="合同号" prop="contractNo">
|
|
|
|
|
<el-input
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
:disabled="alterDisabled || detailDisabled"
|
|
|
|
|
v-model="formData.contractNo"
|
|
|
|
|
placeholder="请输入合同号"
|
|
|
|
|
/>
|
|
|
|
|
<el-input class="!w-250px" :disabled="alterDisabled || detailDisabled" v-model="formData.contractNo" placeholder="请输入合同号" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="模具图号" prop="blueprintNo">
|
|
|
|
|
<el-input
|
|
|
|
|
class="!w-250px"
|
|
|
|
|
:disabled="alterDisabled || detailDisabled"
|
|
|
|
|
v-model="formData.blueprintNo"
|
|
|
|
|
placeholder="请输入模具图号"
|
|
|
|
|
/>
|
|
|
|
|
<el-input class="!w-250px" :disabled="alterDisabled || detailDisabled" v-model="formData.blueprintNo" placeholder="请输入模具图号" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -348,29 +198,9 @@
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="价格(元)" prop="price">
|
|
|
|
|
<div style="display: flex; align-items: center">
|
|
|
|
|
<el-input-number
|
|
|
|
|
v-model="formData.price"
|
|
|
|
|
:disabled="detailDisabled || formData.hasPrice == 0"
|
|
|
|
|
placeholder="请输入价格"
|
|
|
|
|
:controls="false"
|
|
|
|
|
:min="0"
|
|
|
|
|
:precision="6"
|
|
|
|
|
style="width: 150px"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('price') }"
|
|
|
|
|
/>
|
|
|
|
|
<el-select
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="formData.currency"
|
|
|
|
|
placeholder="请选择币种"
|
|
|
|
|
style="width: 100px"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('currency') }"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_CURRENCY)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
<el-input-number v-model="formData.price" :disabled="detailDisabled || formData.hasPrice == 0" placeholder="请输入价格" :controls="false" :min="0" :precision="6" style="width: 150px" :class="{ 'alter-class': fieldHasAlter('price') }" />
|
|
|
|
|
<el-select :disabled="detailDisabled" v-model="formData.currency" placeholder="请选择币种" style="width: 100px" :class="{ 'alter-class': fieldHasAlter('currency') }">
|
|
|
|
|
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.HELI_CURRENCY)" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
@ -379,15 +209,9 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="24">
|
|
|
|
|
<el-form-item label="是否已变更" prop="hasAlter">
|
|
|
|
|
<el-radio-group v-model="formData.hasAlter" disabled>
|
|
|
|
|
<el-radio
|
|
|
|
|
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.value"
|
|
|
|
|
>
|
|
|
|
|
{{ dict.label }}
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
<el-select class="!w-250px" v-model="formData.hasAlter" placeholder="请选择" disabled>
|
|
|
|
|
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -396,51 +220,25 @@
|
|
|
|
|
<el-row>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="检验要求" prop="qualityRequirement">
|
|
|
|
|
<el-input
|
|
|
|
|
class="!w-703px"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
type="textarea"
|
|
|
|
|
v-model="formData.qualityRequirement"
|
|
|
|
|
placeholder="请输入检验要求"
|
|
|
|
|
show-word-limit
|
|
|
|
|
maxlength="200"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('referenceTechnology') }"
|
|
|
|
|
/>
|
|
|
|
|
<el-input class="!w-703px" :disabled="detailDisabled" type="textarea" v-model="formData.qualityRequirement" placeholder="请输入检验要求" show-word-limit maxlength="200" :class="{ 'alter-class': fieldHasAlter('referenceTechnology') }" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="12">
|
|
|
|
|
<el-form-item label="备注" prop="remark" :disabled="detailDisabled">
|
|
|
|
|
<el-input
|
|
|
|
|
class="!w-703px"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
type="textarea"
|
|
|
|
|
v-model="formData.remark"
|
|
|
|
|
show-word-limit
|
|
|
|
|
maxlength="200"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('remark') }"
|
|
|
|
|
/>
|
|
|
|
|
<el-input class="!w-703px" :disabled="detailDisabled" type="textarea" v-model="formData.remark" show-word-limit maxlength="200" :class="{ 'alter-class': fieldHasAlter('remark') }" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
</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 :span="6">
|
|
|
|
|
<el-form-item label="有无合同" prop="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)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.value"
|
|
|
|
|
>
|
|
|
|
|
<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)" :key="dict.value" :label="dict.value">
|
|
|
|
|
{{ dict.label }}
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
@ -448,16 +246,8 @@
|
|
|
|
|
</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
|
|
|
|
|
v-for="dict in getIntDictOptions(DICT_TYPE.HELI_COMMON_IS_OR_NOT)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.value"
|
|
|
|
|
>
|
|
|
|
|
<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)" :key="dict.value" :label="dict.value">
|
|
|
|
|
{{ dict.label }}
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
@ -465,16 +255,8 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="5">
|
|
|
|
|
<el-form-item label="有无图纸/数模" prop="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)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.value"
|
|
|
|
|
>
|
|
|
|
|
<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)" :key="dict.value" :label="dict.value">
|
|
|
|
|
{{ dict.label }}
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
@ -482,14 +264,9 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="6">
|
|
|
|
|
<el-form-item label="" label-width="0" prop="blueprintRemark">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="formData.blueprintRemark"
|
|
|
|
|
placeholder="请输入图纸/数模说明"
|
|
|
|
|
:disabled="
|
|
|
|
|
<el-input v-model="formData.blueprintRemark" placeholder="请输入图纸/数模说明" :disabled="
|
|
|
|
|
detailDisabled || (formData.hasBlueprint == 0 && (formData.blueprintRemark = ''))
|
|
|
|
|
"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlter('blueprintRemark') }"
|
|
|
|
|
/>
|
|
|
|
|
" :class="{ 'alter-class': fieldHasAlter('blueprintRemark') }" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -502,90 +279,40 @@
|
|
|
|
|
<el-col>
|
|
|
|
|
<el-card class="hl-incard">
|
|
|
|
|
<el-col v-if="'update,create,alter'.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-form
|
|
|
|
|
ref="projectOrderSubFormRef"
|
|
|
|
|
:model="formData.projectOrderSubs"
|
|
|
|
|
:rules="subFormRules"
|
|
|
|
|
v-loading="subFormLoading"
|
|
|
|
|
label-width="0"
|
|
|
|
|
>
|
|
|
|
|
<el-form ref="projectOrderSubFormRef" :model="formData.projectOrderSubs" :rules="subFormRules" v-loading="subFormLoading" label-width="0">
|
|
|
|
|
<el-table :data="formData.projectOrderSubs" class="hl-table">
|
|
|
|
|
<el-table-column label="序号" type="index" width="80" />
|
|
|
|
|
<el-table-column min-width="150" align="center">
|
|
|
|
|
<template #header> <span class="hl-table_header">*</span>子项目名称 </template>
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item
|
|
|
|
|
:prop="`${$index}.name`"
|
|
|
|
|
:rules="subFormRules.name"
|
|
|
|
|
class="mb-0px!"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
:disabled="detailDisabled || row.id"
|
|
|
|
|
v-model="row.name"
|
|
|
|
|
placeholder="请输入子项目名称"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item :prop="`${$index}.name`" :rules="subFormRules.name" class="mb-0px!">
|
|
|
|
|
<el-input :disabled="detailDisabled || row.id" v-model="row.name" placeholder="请输入子项目名称" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="设备型号" min-width="150" align="center">
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item
|
|
|
|
|
:prop="`${$index}.deviceModel`"
|
|
|
|
|
:rules="subFormRules.deviceModel"
|
|
|
|
|
class="mb-0px!"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
:disabled="detailDisabled || (alterDisabled && row.id)"
|
|
|
|
|
v-model="row.deviceModel"
|
|
|
|
|
placeholder="请输入设备型号"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item :prop="`${$index}.deviceModel`" :rules="subFormRules.deviceModel" class="mb-0px!">
|
|
|
|
|
<el-input :disabled="detailDisabled || (alterDisabled && row.id)" v-model="row.deviceModel" placeholder="请输入设备型号" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column min-width="150" align="center">
|
|
|
|
|
<template #header> <span class="hl-table_header">*</span>数量 </template>
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item
|
|
|
|
|
:prop="`${$index}.amount`"
|
|
|
|
|
:rules="subFormRules.amount"
|
|
|
|
|
class="mb-0px!"
|
|
|
|
|
>
|
|
|
|
|
<el-input-number
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="row.amount"
|
|
|
|
|
placeholder="请输入数量"
|
|
|
|
|
:min="0"
|
|
|
|
|
:precision="0"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlterInRow('amount', row) }"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item :prop="`${$index}.amount`" :rules="subFormRules.amount" class="mb-0px!">
|
|
|
|
|
<el-input-number style="width: 100%" :disabled="detailDisabled" v-model="row.amount" placeholder="请输入数量" :min="0" :precision="0" :class="{ 'alter-class': fieldHasAlterInRow('amount', row) }" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column min-width="150" align="center">
|
|
|
|
|
<template #header> <span class="hl-table_header">*</span>单位 </template>
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item
|
|
|
|
|
:prop="`${$index}.unit`"
|
|
|
|
|
:rules="subFormRules.unit"
|
|
|
|
|
class="mb-0px!"
|
|
|
|
|
>
|
|
|
|
|
<el-select
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="row.unit"
|
|
|
|
|
placeholder="请选择单位"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlterInRow('unit', row) }"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.HELI_MATERIAL_UNIT)"
|
|
|
|
|
:key="dict.value"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item :prop="`${$index}.unit`" :rules="subFormRules.unit" class="mb-0px!">
|
|
|
|
|
<el-select :disabled="detailDisabled" v-model="row.unit" placeholder="请选择单位" :class="{ 'alter-class': fieldHasAlterInRow('unit', row) }">
|
|
|
|
|
<el-option v-for="dict in getStrDictOptions(DICT_TYPE.HELI_MATERIAL_UNIT)" :key="dict.value" :label="dict.label" :value="dict.value" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
@ -593,59 +320,23 @@
|
|
|
|
|
<el-table-column min-width="150" align="center">
|
|
|
|
|
<template #header> <span class="hl-table_header">*</span>材质 </template>
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item
|
|
|
|
|
:prop="`${$index}.compositionId`"
|
|
|
|
|
:rules="subFormRules.compositionId"
|
|
|
|
|
class="mb-0px!"
|
|
|
|
|
>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="row.compositionId"
|
|
|
|
|
placeholder="请输入材质"
|
|
|
|
|
:remote-method="remoteCompositionSearch"
|
|
|
|
|
remote-show-suffix
|
|
|
|
|
remote
|
|
|
|
|
clearable
|
|
|
|
|
reserve-keyword
|
|
|
|
|
filterable
|
|
|
|
|
:loading="compositionSelectLoading"
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlterInRow('compositionId', row) }"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in compositionSelectList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item :prop="`${$index}.compositionId`" :rules="subFormRules.compositionId" class="mb-0px!">
|
|
|
|
|
<el-select v-model="row.compositionId" placeholder="请输入材质" :remote-method="remoteCompositionSearch" remote-show-suffix remote clearable reserve-keyword filterable :loading="compositionSelectLoading" :disabled="detailDisabled" :class="{ 'alter-class': fieldHasAlterInRow('compositionId', row) }">
|
|
|
|
|
<el-option v-for="item in compositionSelectList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="备注" min-width="180" align="center">
|
|
|
|
|
<template #default="{ row, $index }">
|
|
|
|
|
<el-form-item
|
|
|
|
|
:prop="`${$index}.remark`"
|
|
|
|
|
:rules="subFormRules.remark"
|
|
|
|
|
class="mb-0px!"
|
|
|
|
|
>
|
|
|
|
|
<el-input
|
|
|
|
|
:disabled="detailDisabled"
|
|
|
|
|
v-model="row.remark"
|
|
|
|
|
placeholder="请输入备注"
|
|
|
|
|
:class="{ 'alter-class': fieldHasAlterInRow('remark', row) }"
|
|
|
|
|
/>
|
|
|
|
|
<el-form-item :prop="`${$index}.remark`" :rules="subFormRules.remark" class="mb-0px!">
|
|
|
|
|
<el-input :disabled="detailDisabled" v-model="row.remark" placeholder="请输入备注" :class="{ 'alter-class': fieldHasAlterInRow('remark', row) }" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column label="操作" align="center" width="150">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="'update,create'.indexOf(query.active) > -1 && !formData.hasAlter"
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
size="small"
|
|
|
|
|
@click.prevent="onDeleteItem(scope.$index)"
|
|
|
|
|
>
|
|
|
|
|
<el-button v-if="'update,create'.indexOf(query.active) > -1 && !formData.hasAlter" link type="danger" size="small" @click.prevent="onDeleteItem(scope.$index)">
|
|
|
|
|
删除
|
|
|
|
|
</el-button>
|
|
|
|
|
</template>
|
|
|
|
@ -664,44 +355,21 @@
|
|
|
|
|
<el-col>
|
|
|
|
|
<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
|
|
|
|
|
:limit="10"
|
|
|
|
|
:action="uploadUrl"
|
|
|
|
|
:headers="{
|
|
|
|
|
<el-upload v-if="formData.hasContract == 1" ref="contractUploadRef" :file-list="contractUploadFiles" multiple :limit="10" :action="uploadUrl" :headers="{
|
|
|
|
|
Authorization: 'Bearer ' + getAccessToken(),
|
|
|
|
|
'tenant-id': getTenantId()
|
|
|
|
|
}"
|
|
|
|
|
name="files"
|
|
|
|
|
:show-file-list="false"
|
|
|
|
|
:auto-upload="false"
|
|
|
|
|
:data="contractUploadData"
|
|
|
|
|
:on-change="contractUploadChange"
|
|
|
|
|
class="upload-file-uploader"
|
|
|
|
|
>
|
|
|
|
|
<el-button type="primary"><Icon icon="ep:upload-filled" />上传合同</el-button>
|
|
|
|
|
}" name="files" :show-file-list="false" :auto-upload="false" :data="contractUploadData" :on-change="contractUploadChange" class="upload-file-uploader">
|
|
|
|
|
<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"
|
|
|
|
|
:action="uploadUrl"
|
|
|
|
|
:headers="{
|
|
|
|
|
<el-upload v-if="formData.hasTechnologyProtocol == 1" ref="protocolUploadRef" multiple :limit="10" :action="uploadUrl" :headers="{
|
|
|
|
|
Authorization: 'Bearer ' + getAccessToken(),
|
|
|
|
|
'tenant-id': getTenantId()
|
|
|
|
|
}"
|
|
|
|
|
name="files"
|
|
|
|
|
:show-file-list="false"
|
|
|
|
|
:auto-upload="false"
|
|
|
|
|
:data="protocolUploadData"
|
|
|
|
|
:on-change="protocolUploadChange"
|
|
|
|
|
class="upload-file-uploader"
|
|
|
|
|
>
|
|
|
|
|
<el-button type="primary"><Icon icon="ep:upload-filled" />上传技术协议</el-button>
|
|
|
|
|
}" name="files" :show-file-list="false" :auto-upload="false" :data="protocolUploadData" :on-change="protocolUploadChange" class="upload-file-uploader">
|
|
|
|
|
<el-button type="primary">
|
|
|
|
|
<Icon icon="ep:upload-filled" />上传技术协议
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-upload>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-table :data="formData.attachments" class="hl-table">
|
|
|
|
@ -713,30 +381,13 @@
|
|
|
|
|
}}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<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">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="'update,create,alter'.indexOf(query.active) > -1"
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
size="small"
|
|
|
|
|
@click="handleDeleteAttachment(scope.$index, scope.row.businessFileType)"
|
|
|
|
|
>
|
|
|
|
|
<el-button v-if="'update,create,alter'.indexOf(query.active) > -1" link type="danger" size="small" @click="handleDeleteAttachment(scope.$index, scope.row.businessFileType)">
|
|
|
|
|
删除
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="!!scope.row.id"
|
|
|
|
|
link
|
|
|
|
|
type="primary"
|
|
|
|
|
size="small"
|
|
|
|
|
@click="downloadAttachment(scope.row.name, scope.row.url)"
|
|
|
|
|
>
|
|
|
|
|
<el-button v-if="!!scope.row.id" link type="primary" size="small" @click="downloadAttachment(scope.row.name, scope.row.url)">
|
|
|
|
|
下载
|
|
|
|
|
</el-button>
|
|
|
|
|
</template>
|
|
|
|
@ -760,13 +411,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<el-table-column prop="userNickname" label="操作人" align="center" />
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="操作时间"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="startTime"
|
|
|
|
|
width="220"
|
|
|
|
|
:formatter="dateFormatter"
|
|
|
|
|
/>
|
|
|
|
|
<el-table-column label="操作时间" align="center" prop="startTime" width="220" :formatter="dateFormatter" />
|
|
|
|
|
<el-table-column prop="content" label="操作意见" align="center" />
|
|
|
|
|
</el-table>
|
|
|
|
|
</el-card>
|
|
|
|
@ -776,77 +421,25 @@
|
|
|
|
|
</el-form>
|
|
|
|
|
<div class="text-center hl-footer">
|
|
|
|
|
<el-button @click="() => router.back()" size="large">取 消</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="'update,create'.indexOf(query.active) > -1 && formData.orderStatus <= 4"
|
|
|
|
|
@click="submitForm('SAVE')"
|
|
|
|
|
type="success"
|
|
|
|
|
size="large"
|
|
|
|
|
>保 存</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="'update,create'.indexOf(query.active) > -1 && formData.orderStatus < 8"
|
|
|
|
|
@click="submitForm('SUBMIT_AUDIT')"
|
|
|
|
|
type="primary"
|
|
|
|
|
size="large"
|
|
|
|
|
>送 审</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="query.active == 'audit' && formData.orderStatus == 8"
|
|
|
|
|
@click="submitForm('AUDIT')"
|
|
|
|
|
type="primary"
|
|
|
|
|
size="large"
|
|
|
|
|
>审 核</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="query.active == 'approve' && formData.orderStatus == 16"
|
|
|
|
|
@click="submitForm('APPROVE')"
|
|
|
|
|
type="primary"
|
|
|
|
|
size="large"
|
|
|
|
|
>批 准</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="query.active == 'alter' && formData.orderStatus == 32"
|
|
|
|
|
@click="submitForm('ALTER')"
|
|
|
|
|
type="danger"
|
|
|
|
|
size="large"
|
|
|
|
|
>发起变更</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="
|
|
|
|
|
<el-button v-if="'update,create'.indexOf(query.active) > -1 && formData.orderStatus <= 4" @click="submitForm('SAVE')" type="success" size="large">保 存</el-button>
|
|
|
|
|
<el-button v-if="'update,create'.indexOf(query.active) > -1 && formData.orderStatus < 8" @click="submitForm('SUBMIT_AUDIT')" type="primary" size="large">送 审</el-button>
|
|
|
|
|
<el-button v-if="query.active == 'audit' && formData.orderStatus == 8" @click="submitForm('AUDIT')" type="primary" size="large">审 核</el-button>
|
|
|
|
|
<el-button v-if="query.active == 'approve' && formData.orderStatus == 16" @click="submitForm('APPROVE')" type="primary" size="large">批 准</el-button>
|
|
|
|
|
<el-button v-if="query.active == 'alter' && formData.orderStatus == 32" @click="submitForm('ALTER')" type="danger" size="large">发起变更</el-button>
|
|
|
|
|
<el-button v-if="
|
|
|
|
|
'audit,approve'.indexOf(query.active) > -1 &&
|
|
|
|
|
(formData.orderStatus == 8 || formData.orderStatus == 16)
|
|
|
|
|
"
|
|
|
|
|
@click="activeOpinionDialogVisible = true"
|
|
|
|
|
type="danger"
|
|
|
|
|
size="large"
|
|
|
|
|
>打 回</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button
|
|
|
|
|
v-if="query.active == 'terminate' && formData.orderStatus == 32"
|
|
|
|
|
@click="submitForm('TERMINATE')"
|
|
|
|
|
type="danger"
|
|
|
|
|
size="large"
|
|
|
|
|
>直接终止</el-button
|
|
|
|
|
>
|
|
|
|
|
" @click="activeOpinionDialogVisible = true" type="danger" size="large">打 回</el-button>
|
|
|
|
|
<el-button v-if="query.active == 'terminate' && formData.orderStatus == 32" @click="submitForm('TERMINATE')" type="danger" size="large">直接终止</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<el-dialog v-model="activeOpinionDialogVisible" title="打回原因" width="30%" center>
|
|
|
|
|
<el-input
|
|
|
|
|
type="textarea"
|
|
|
|
|
v-model="formData.activeOpinion"
|
|
|
|
|
placeholder="请输入打回原因"
|
|
|
|
|
show-word-limit
|
|
|
|
|
maxlength="200"
|
|
|
|
|
/>
|
|
|
|
|
<el-input type="textarea" v-model="formData.activeOpinion" placeholder="请输入打回原因" show-word-limit maxlength="200" />
|
|
|
|
|
<template #footer>
|
|
|
|
|
<span class="dialog-footer">
|
|
|
|
|
<el-button @click="activeOpinionDialogVisible = false">取消</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="submitForm('REPULSE') && (activeOpinionDialogVisible = false)"
|
|
|
|
|
>确认打回</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="primary" @click="submitForm('REPULSE') && (activeOpinionDialogVisible = false)">确认打回</el-button>
|
|
|
|
|
</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
@ -1090,7 +683,7 @@ const queryData = async (type: string, id?: number) => {
|
|
|
|
|
compositionSelectList.value = compositionData.list
|
|
|
|
|
|
|
|
|
|
// 绑定默认部门与业务员
|
|
|
|
|
if(!formData.value.businessMan){
|
|
|
|
|
if (!formData.value.businessMan) {
|
|
|
|
|
formData.value.businessMan = useUserStore().getUser.id // 当前登录的编码
|
|
|
|
|
}
|
|
|
|
|
const userProfile = await getUserProfile(formData.value.businessMan)
|
|
|
|
|