更新采购申请流程结束时,自动更新状态
This commit is contained in:
@@ -27,7 +27,8 @@
|
||||
<el-input
|
||||
v-model="dataForm.projectName"
|
||||
placeholder="请输入采购项目名称"
|
||||
clearable />
|
||||
clearable
|
||||
:disabled="flowFieldDisabled('projectName')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16">
|
||||
@@ -38,7 +39,8 @@
|
||||
placeholder="请选择填报日期"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%" />
|
||||
style="width: 100%"
|
||||
:disabled="flowFieldDisabled('applyDate')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -49,7 +51,8 @@
|
||||
v-model="dataForm.fundSource"
|
||||
placeholder="请选择资金来源"
|
||||
clearable
|
||||
style="width: 100%">
|
||||
style="width: 100%"
|
||||
:disabled="flowFieldDisabled('fundSource')">
|
||||
<el-option
|
||||
v-for="item in fundSourceList"
|
||||
:key="item.value"
|
||||
@@ -67,7 +70,8 @@
|
||||
:precision="2"
|
||||
placeholder="请输入金额"
|
||||
:controls="false"
|
||||
style="width: 100%" />
|
||||
style="width: 100%"
|
||||
:disabled="flowFieldDisabled('budget')" />
|
||||
<span class="budget-unit">元</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
@@ -80,7 +84,8 @@
|
||||
v-model="dataForm.isCentralized"
|
||||
placeholder="请选择是否集采"
|
||||
clearable
|
||||
style="width: 100%">
|
||||
style="width: 100%"
|
||||
:disabled="flowFieldDisabled('isCentralized')">
|
||||
<el-option
|
||||
v-for="item in isCentralizedList"
|
||||
:key="item.value"
|
||||
@@ -95,7 +100,8 @@
|
||||
v-model="dataForm.isSpecial"
|
||||
placeholder="请选择是否特殊情况"
|
||||
clearable
|
||||
style="width: 100%">
|
||||
style="width: 100%"
|
||||
:disabled="flowFieldDisabled('isSpecial')">
|
||||
<el-option
|
||||
v-for="item in isSpecialList"
|
||||
:key="item.value"
|
||||
@@ -117,6 +123,7 @@
|
||||
filterable
|
||||
:show-all-levels="true"
|
||||
style="width: 100%"
|
||||
:disabled="flowFieldDisabled('categoryCode')"
|
||||
@change="handleCategoryChange" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -138,7 +145,8 @@
|
||||
:maxlength="1000"
|
||||
show-word-limit
|
||||
placeholder="请输入采购内容(限制1000字)"
|
||||
clearable />
|
||||
clearable
|
||||
:disabled="flowFieldDisabled('projectContent')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16">
|
||||
@@ -147,7 +155,7 @@
|
||||
v-model="dataForm.purchaseType"
|
||||
placeholder="请选择采购方式"
|
||||
clearable
|
||||
:disabled="isAutoSelectPurchaseType"
|
||||
:disabled="(isFlowEmbed && isPurchaseCenter) ? false : isAutoSelectPurchaseType"
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in purchaseTypeDeptList"
|
||||
@@ -159,24 +167,24 @@
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isPurchaseType(DEPT_PURCHASE_TYPE.BUSINESS_NEGOTIATION)">
|
||||
<el-form-item label="商务洽谈表" prop="businessNegotiationTable" required class="mb16">
|
||||
<upload-file v-model="dataForm.businessNegotiationTable" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.businessNegotiationTable }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.businessNegotiationTable" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.businessNegotiationTable }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('businessNegotiationTable')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('business_negotiation')" style="margin-top: 8px; display: inline-block">下载商务洽谈表模版</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isPurchaseType(DEPT_PURCHASE_TYPE.MARKET_PURCHASE)">
|
||||
<el-form-item label="市场采购纪要" prop="marketPurchaseMinutes" required class="mb16">
|
||||
<upload-file v-model="dataForm.marketPurchaseMinutes" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.marketPurchaseMinutes }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.marketPurchaseMinutes" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.marketPurchaseMinutes }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('marketPurchaseMinutes')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('market_purchase_minutes')" style="margin-top: 8px; display: inline-block">下载市场采购纪要模版</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isPurchaseType(DEPT_PURCHASE_TYPE.ONLINE_MALL)">
|
||||
<el-form-item label="网上商城采购相关材料" prop="onlineMallMaterials" required class="mb16">
|
||||
<upload-file v-model="dataForm.onlineMallMaterials" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.onlineMallMaterials }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.onlineMallMaterials" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.onlineMallMaterials }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('onlineMallMaterials')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isInquiryPurchaseType">
|
||||
<el-form-item label="询价模板" prop="inquiryTemplate" required class="mb16">
|
||||
<upload-file v-model="dataForm.inquiryTemplate" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.inquiryTemplate }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.inquiryTemplate" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.inquiryTemplate }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('inquiryTemplate')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('inquiry')" style="margin-top: 8px; display: inline-block">下载《部门采购询价模版》模版</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -199,7 +207,7 @@
|
||||
"
|
||||
>
|
||||
<el-form-item label="是否有供应商" prop="hasSupplier" class="mb16">
|
||||
<el-radio-group v-model="dataForm.hasSupplier">
|
||||
<el-radio-group v-model="dataForm.hasSupplier" :disabled="flowFieldDisabled('hasSupplier')">
|
||||
<el-radio label="1">有</el-radio>
|
||||
<el-radio label="0">无</el-radio>
|
||||
</el-radio-group>
|
||||
@@ -207,25 +215,25 @@
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isPurchaseType(DEPT_PURCHASE_TYPE.ENTRUST_CENTER) && dataForm.entrustCenterType === 'service_online' && categoryCodePath && categoryCodePath[0] === 'C' && dataForm.hasSupplier === '1'">
|
||||
<el-form-item label="需求文件" prop="serviceDirectSelect" required class="mb16">
|
||||
<upload-file v-model="dataForm.serviceDirectSelect" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.serviceDirectSelect }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.serviceDirectSelect" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.serviceDirectSelect }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('serviceDirectSelect')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('direct_select')" style="margin-top: 8px; display: inline-block">下载《服务商城项目需求模板(直选)》模版</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isPurchaseType(DEPT_PURCHASE_TYPE.ENTRUST_CENTER) && dataForm.entrustCenterType === 'service_online' && categoryCodePath && categoryCodePath[0] === 'C' && dataForm.hasSupplier === '0'">
|
||||
<el-form-item label="需求文件" prop="serviceInviteSelect" required class="mb16">
|
||||
<upload-file v-model="dataForm.serviceInviteSelect" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.serviceInviteSelect }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.serviceInviteSelect" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.serviceInviteSelect }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('serviceInviteSelect')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('public_select')" style="margin-top: 8px; display: inline-block">下载《服务商城项目需求模板(公开比选)》模版</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isPurchaseType(DEPT_PURCHASE_TYPE.ENTRUST_CENTER) && dataForm.entrustCenterType === 'other' && categoryCodePath && categoryCodePath[0] === 'A'">
|
||||
<el-form-item label="需求模板" prop="purchaseRequirementTemplate" required class="mb16">
|
||||
<upload-file v-model="dataForm.purchaseRequirementTemplate" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.purchaseRequirementTemplate }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.purchaseRequirementTemplate" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.purchaseRequirementTemplate }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('purchaseRequirementTemplate')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('purchase_requirement')" style="margin-top: 8px; display: inline-block">下载《表1:需求模板》模版</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="showAutoInviteSelect">
|
||||
<el-form-item label="是否有推荐供应商" prop="hasSupplier" class="mb16">
|
||||
<el-radio-group v-model="dataForm.hasSupplier">
|
||||
<el-radio-group v-model="dataForm.hasSupplier" :disabled="flowFieldDisabled('hasSupplier')">
|
||||
<el-radio label="1">有</el-radio>
|
||||
<el-radio label="0">无</el-radio>
|
||||
</el-radio-group>
|
||||
@@ -239,98 +247,99 @@
|
||||
</el-col> -->
|
||||
<el-col :span="12" class="mb16" v-if="showAutoInviteSelect && dataForm.hasSupplier === '1'">
|
||||
<el-form-item label="服务商城项目需求模板(邀请比选)" prop="serviceInviteSelect" required class="mb16">
|
||||
<upload-file v-model="dataForm.serviceInviteSelect" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.serviceInviteSelect }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.serviceInviteSelect" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.serviceInviteSelect }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('serviceInviteSelect')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('invite_select')" style="margin-top: 8px; display: inline-block">下载《服务商城项目需求模板(邀请比选)》模版</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="showAutoInviteSelect && dataForm.hasSupplier === '0'">
|
||||
<el-form-item label="服务商城项目需求模板(公开比选)" prop="servicePublicSelectAuto" required class="mb16">
|
||||
<upload-file v-model="dataForm.servicePublicSelectAuto" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.servicePublicSelectAuto }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.servicePublicSelectAuto" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.servicePublicSelectAuto }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('servicePublicSelectAuto')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('public_select')" style="margin-top: 8px; display: inline-block">下载《服务商城项目需求模板(公开比选)》模版</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16">
|
||||
<el-form-item label="其他材料" prop="otherMaterials" class="mb16">
|
||||
<upload-file v-model="dataForm.otherMaterials" :limit="1" :file-type="['zip']" :data="{ fileType: FILE_TYPE_MAP.otherMaterials }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.otherMaterials" :limit="1" :file-type="['zip']" :data="{ fileType: FILE_TYPE_MAP.otherMaterials }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('otherMaterials')" />
|
||||
<div class="template-note">支持上传zip格式的压缩包文件</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<!-- 分支二:学校统一采购(单行两列流式布局,条件显示的项自动填满两列) -->
|
||||
<!-- 分支二:学校统一采购(单行两列流式布局);申请时隐藏采购方式,由审批环节采购中心补充 -->
|
||||
<div class="mb20" v-else>
|
||||
<div class="step-title mb16">学校统一采购</div>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12" class="mb16">
|
||||
<el-form-item label="采购形式" prop="purchaseMode">
|
||||
<el-radio-group v-model="dataForm.purchaseMode">
|
||||
<el-radio-group v-model="dataForm.purchaseMode" :disabled="flowFieldDisabled('purchaseMode')">
|
||||
<el-radio v-for="item in purchaseModeSchoolList" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16">
|
||||
<!-- 学校统一采购时申请阶段不显示采购方式;审批环节(流程嵌入)时显示,由采购中心补充选择、其他节点只读 -->
|
||||
<el-col :span="12" class="mb16" v-if="isDeptPurchase || isFlowEmbed">
|
||||
<el-form-item label="采购方式" prop="purchaseType" :required="!isDeptPurchase">
|
||||
<el-select v-model="dataForm.purchaseType" placeholder="请选择采购方式" clearable :disabled="isAutoSelectPurchaseTypeUnion" style="width: 100%">
|
||||
<el-select v-model="dataForm.purchaseType" placeholder="请选择采购方式" clearable :disabled="(isFlowEmbed && isPurchaseCenter) ? false : (isAutoSelectPurchaseTypeUnion || flowFieldDisabled('purchaseType'))" style="width: 100%">
|
||||
<el-option v-for="item in purchaseTypeUnionList" :key="item.value" :label="item.label" :value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16">
|
||||
<el-form-item label="业务分管处室" prop="deptClassifyUserId" :required="!isDeptPurchase">
|
||||
<el-select v-model="dataForm.deptClassifyUserId" placeholder="请选择业务分管处室" clearable filterable @change="handleBusinessDeptChange" style="width: 100%">
|
||||
<el-select v-model="dataForm.deptClassifyUserId" placeholder="请选择业务分管处室" clearable filterable @change="handleBusinessDeptChange" style="width: 100%" :disabled="flowFieldDisabled('deptClassifyUserId')">
|
||||
<el-option v-for="item in businessDeptList" :key="item.id" :label="item.deptName" :value="item.userId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16">
|
||||
<el-form-item label="分管校领导" prop="schoolLeaderUserId" :required="!isDeptPurchase">
|
||||
<el-select v-model="dataForm.schoolLeaderUserId" placeholder="请选择分管校领导" clearable filterable @change="handleSchoolLeaderChange" style="width: 100%">
|
||||
<el-select v-model="dataForm.schoolLeaderUserId" placeholder="请选择分管校领导" clearable filterable @change="handleSchoolLeaderChange" style="width: 100%" :disabled="flowFieldDisabled('schoolLeaderUserId')">
|
||||
<el-option v-for="item in schoolLeaderList" :key="item.id" :label="item.name" :value="item.userId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="dataForm.budget && dataForm.budget >= 300000">
|
||||
<el-form-item label="项目可行性论证报告" prop="feasibilityReport" required>
|
||||
<upload-file v-model="dataForm.feasibilityReport" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.feasibilityReport }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.feasibilityReport" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.feasibilityReport }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('feasibilityReport')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('feasibility_report')" style="margin-top: 8px; display: inline-block">下载《项目可行性论证报告模板.doc》</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="dataForm.budget && dataForm.budget >= 300000 && !isUrgentSpecial && !isSpecialType('2') && !isSpecialType('3')">
|
||||
<el-form-item label="会议纪要" prop="meetingMinutes" required>
|
||||
<upload-file v-model="dataForm.meetingMinutes" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.meetingMinutes }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.meetingMinutes" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.meetingMinutes }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('meetingMinutes')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isUrgentSpecial">
|
||||
<el-form-item label="会议纪要" prop="meetingMinutesUrgent" required>
|
||||
<upload-file v-model="dataForm.meetingMinutesUrgent" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.meetingMinutesUrgent }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.meetingMinutesUrgent" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.meetingMinutesUrgent }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('meetingMinutesUrgent')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isSpecialType('2')">
|
||||
<el-form-item label="单一来源论专家证附件" prop="singleSourceProof" required>
|
||||
<upload-file v-model="dataForm.singleSourceProof" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.singleSourceProof }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.singleSourceProof" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.singleSourceProof }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('singleSourceProof')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('single_source')" style="margin-top: 8px; display: inline-block">下载《单一来源论专家证附件.docx》</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isSpecialType('2')">
|
||||
<el-form-item label="会议纪要" prop="meetingMinutesSingle" required>
|
||||
<upload-file v-model="dataForm.meetingMinutesSingle" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.meetingMinutesSingle }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.meetingMinutesSingle" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.meetingMinutesSingle }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('meetingMinutesSingle')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isSpecialType('3')">
|
||||
<el-form-item label="进口产品申请及专家论证意见表" prop="importApplication" required>
|
||||
<upload-file v-model="dataForm.importApplication" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.importApplication }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.importApplication" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.importApplication }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('importApplication')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('import_application')" style="margin-top: 8px; display: inline-block">下载《进口产品申请及专家论证意见表.doc》</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="isSpecialType('3')">
|
||||
<el-form-item label="会议纪要" prop="meetingMinutesImport" required>
|
||||
<upload-file v-model="dataForm.meetingMinutesImport" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.meetingMinutesImport }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.meetingMinutesImport" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.meetingMinutesImport }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('meetingMinutesImport')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="showAutoInviteSelectSchool">
|
||||
<el-form-item label="是否有推荐供应商" prop="hasSupplier">
|
||||
<el-radio-group v-model="dataForm.hasSupplier">
|
||||
<el-radio-group v-model="dataForm.hasSupplier" :disabled="flowFieldDisabled('hasSupplier')">
|
||||
<el-radio label="1">有</el-radio>
|
||||
<el-radio label="0">无</el-radio>
|
||||
</el-radio-group>
|
||||
@@ -338,7 +347,7 @@
|
||||
</el-col>
|
||||
<!-- <el-col :span="12" class="mb16" v-if="showAutoInviteSelectSchool && dataForm.hasSupplier === '1'">
|
||||
<el-form-item label="推荐供应商" prop="suppliers">
|
||||
<el-input v-model="dataForm.suppliers" type="textarea" :rows="2" placeholder="请输入至少三家供应商名称,用逗号或分号分隔" clearable />
|
||||
<el-input v-model="dataForm.suppliers" type="textarea" :rows="2" placeholder="请输入至少三家供应商名称,用逗号或分号分隔" clearable :disabled="flowFieldDisabled('suppliers')" />
|
||||
<div class="template-note mt5"><el-text type="info" size="small">请输入至少三家供应商名称,用逗号或分号分隔</el-text></div>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
@@ -346,32 +355,32 @@
|
||||
<el-form-item label="需求文件" :prop="getRequirementFileProp()" required class="mb16">
|
||||
<template v-if="showAutoInviteSelectSchool">
|
||||
<template v-if="dataForm.hasSupplier === '1'">
|
||||
<upload-file v-model="dataForm.serviceInviteSelectSchool" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.serviceInviteSelectSchool }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.serviceInviteSelectSchool" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.serviceInviteSelectSchool }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('serviceInviteSelectSchool')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('invite_select')" style="margin-top: 8px; display: inline-block">下载《服务商城项目需求模板(邀请比选)》模版</el-button>
|
||||
</template>
|
||||
<template v-else-if="dataForm.hasSupplier === '0'">
|
||||
<upload-file v-model="dataForm.servicePublicSelectSchoolAuto" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.servicePublicSelectSchoolAuto }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.servicePublicSelectSchoolAuto" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.servicePublicSelectSchoolAuto }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('servicePublicSelectSchoolAuto')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('public_select')" style="margin-top: 8px; display: inline-block">下载《服务商城项目需求模板(公开比选)》模版</el-button>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else-if="showAutoPublicSelect">
|
||||
<upload-file v-model="dataForm.servicePublicSelectSchool" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.servicePublicSelectSchool }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.servicePublicSelectSchool" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.servicePublicSelectSchool }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('servicePublicSelectSchool')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('public_select')" style="margin-top: 8px; display: inline-block">下载《服务商城项目需求模板(公开比选)》模版</el-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<upload-file v-model="dataForm.purchaseRequirement" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.purchaseRequirement }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.purchaseRequirement" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.purchaseRequirement }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('purchaseRequirement')" />
|
||||
<el-button type="primary" link icon="Download" size="small" @click="downloadTemplate('purchase_requirement')" style="margin-top: 8px; display: inline-block">下载《需求模板》模版</el-button>
|
||||
</template>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16" v-if="dataForm.budget && dataForm.budget >= 1000000">
|
||||
<el-form-item label="政府采购意向申请表" prop="governmentPurchaseIntent" required>
|
||||
<upload-file v-model="dataForm.governmentPurchaseIntent" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.governmentPurchaseIntent }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.governmentPurchaseIntent" :limit="1" :file-type="['doc', 'docx', 'pdf']" :data="{ fileType: FILE_TYPE_MAP.governmentPurchaseIntent }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('governmentPurchaseIntent')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb16">
|
||||
<el-form-item label="其他材料" prop="otherMaterials">
|
||||
<upload-file v-model="dataForm.otherMaterials" :limit="1" :file-type="['zip']" :data="{ fileType: FILE_TYPE_MAP.otherMaterials }" upload-file-url="/purchase/purchasingfiles/upload" />
|
||||
<upload-file v-model="dataForm.otherMaterials" :limit="1" :file-type="['zip']" :data="{ fileType: FILE_TYPE_MAP.otherMaterials }" upload-file-url="/purchase/purchasingfiles/upload" :disabled="flowFieldDisabled('otherMaterials')" />
|
||||
<div class="template-note">支持上传zip格式的压缩包文件</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -387,7 +396,8 @@
|
||||
type="textarea"
|
||||
:rows="2"
|
||||
placeholder="请输入备注"
|
||||
clearable />
|
||||
clearable
|
||||
:disabled="flowFieldDisabled('remark')" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -484,8 +494,12 @@ import other from '/@/utils/other';
|
||||
import { Document, Download } from '@element-plus/icons-vue';
|
||||
import { fetchList as getBusinessDeptList } from '/@/api/purchase/purchasingBusinessDept';
|
||||
import { getPage as getSchoolLeaderPage } from '/@/api/finance/purchasingschoolleader';
|
||||
import { Session } from '/@/utils/storage';
|
||||
import * as orderVue from '/@/api/order/order-key-vue';
|
||||
|
||||
/** 采购中心角色编码:审批时仅该角色可编辑采购方式/采购形式 */
|
||||
const PURCHASE_CENTER_ROLE_CODE = 'PURCHASE_CENTER';
|
||||
|
||||
// 兼容流程 dynamic-link 引用:接收 currJob / currElTab,并支持 handleJob 事件
|
||||
const props = defineProps({
|
||||
currJob: { type: Object, default: null },
|
||||
@@ -534,6 +548,14 @@ const pageTitle = computed(() => {
|
||||
const flowFormDisabled = ref(false);
|
||||
const flowSubmitDisabled = ref(false);
|
||||
|
||||
/** 流程嵌入时当前节点是否为采购中心(仅采购中心可编辑采购方式/采购形式) */
|
||||
const isPurchaseCenter = ref(false);
|
||||
|
||||
/** 流程嵌入且为采购中心时,除采购方式/采购形式外其余字段均只读 */
|
||||
function flowFieldDisabled(key: string) {
|
||||
return isFlowEmbed.value && isPurchaseCenter.value && !['purchaseType', 'purchaseMode'].includes(key);
|
||||
}
|
||||
|
||||
// 定义变量内容
|
||||
const formRef = ref();
|
||||
const currentStep = ref(0);
|
||||
@@ -866,8 +888,14 @@ const isAutoSelectPurchaseTypeUnion = computed(() => {
|
||||
return budget >= 50000 && budget < 400000 && isSpecialServiceCategory.value;
|
||||
});
|
||||
|
||||
// 监听品目编码和预算金额变化,自动设置采购方式
|
||||
watch([() => dataForm.categoryCode, () => dataForm.budget], () => {
|
||||
// 监听品目编码、预算金额及采购类型变化,自动设置/清空采购方式
|
||||
watch([() => dataForm.categoryCode, () => dataForm.budget, () => isDeptPurchase.value, () => isFlowEmbed.value], () => {
|
||||
// 学校统一采购申请阶段:采购方式隐藏,由审批环节采购中心补充,此处不自动写入且清空已有值
|
||||
if (!isDeptPurchase.value && !isFlowEmbed.value) {
|
||||
dataForm.purchaseType = '';
|
||||
return;
|
||||
}
|
||||
|
||||
// 部门自行采购:自动设置网上商城
|
||||
if (isAutoSelectPurchaseType.value && isDeptPurchase.value) {
|
||||
const onlineMallOption = purchaseTypeDeptList.value.find(item => item.value === DEPT_PURCHASE_TYPE.ONLINE_MALL);
|
||||
@@ -876,8 +904,8 @@ watch([() => dataForm.categoryCode, () => dataForm.budget], () => {
|
||||
}
|
||||
}
|
||||
|
||||
// 学校统一采购:自动设置网上商城采购方式
|
||||
if (isAutoSelectPurchaseTypeUnion.value && !isDeptPurchase.value) {
|
||||
// 学校统一采购审批阶段:自动设置网上商城采购方式
|
||||
if (isAutoSelectPurchaseTypeUnion.value && !isDeptPurchase.value && isFlowEmbed.value) {
|
||||
const onlineMallOption = purchaseTypeUnionList.value.find(item => item.value === UNION_PURCHASE_TYPE.ONLINE_MALL);
|
||||
if (onlineMallOption && dataForm.purchaseType !== onlineMallOption.value) {
|
||||
dataForm.purchaseType = onlineMallOption.value;
|
||||
@@ -1168,6 +1196,14 @@ const flowMethods = {
|
||||
},
|
||||
};
|
||||
|
||||
/** 流程嵌入时采购申请权限:根据前端缓存的角色(cloud-ui:roleCode)判断,非采购中心整表只读,采购中心仅采购方式/采购形式可编辑 */
|
||||
function applyPurchaseApplyFormPerm() {
|
||||
if (!isFlowEmbed.value) return;
|
||||
const roleCode = Session.getRoleCode() || '';
|
||||
isPurchaseCenter.value = roleCode === PURCHASE_CENTER_ROLE_CODE;
|
||||
flowFormDisabled.value = !isPurchaseCenter.value;
|
||||
}
|
||||
|
||||
/** 流程嵌入时的“保存”回调:校验后调用 editObj,并通知流程已保存 */
|
||||
async function flowSubmitForm() {
|
||||
if (loading.value) return;
|
||||
@@ -1484,6 +1520,11 @@ const handleSubmit = async () => {
|
||||
...dataForm,
|
||||
};
|
||||
|
||||
// 学校统一采购申请阶段:采购方式由审批环节补充,提交时不写入
|
||||
if (!isFlowEmbed.value && !isDeptPurchase.value) {
|
||||
submitData.purchaseType = '';
|
||||
}
|
||||
|
||||
// 处理所有文件字段 - 收集所有文件ID到fileIds数组中
|
||||
const fileFields = [
|
||||
'businessNegotiationTable', 'marketPurchaseMinutes', 'onlineMallMaterials', 'inquiryTemplate',
|
||||
@@ -1560,6 +1601,11 @@ const handleTempStore = async () => {
|
||||
...dataForm,
|
||||
};
|
||||
|
||||
// 学校统一采购申请阶段:采购方式由审批环节补充,暂存时不写入
|
||||
if (!isFlowEmbed.value && !isDeptPurchase.value) {
|
||||
submitData.purchaseType = '';
|
||||
}
|
||||
|
||||
// 处理所有文件字段 - 收集所有文件ID到fileIds数组中
|
||||
const fileFields = [
|
||||
'businessNegotiationTable', 'marketPurchaseMinutes', 'onlineMallMaterials', 'inquiryTemplate',
|
||||
@@ -1691,6 +1737,7 @@ onMounted(async () => {
|
||||
if (isFlowEmbed.value && props.currJob && props.currElTab?.id) {
|
||||
orderVue.currElTabIsExist(props.currJob, props.currElTab.id);
|
||||
await orderVue.currElTabIsView(flowMethods, props.currJob, props.currElTab.id, flowSubmitForm);
|
||||
applyPurchaseApplyFormPerm();
|
||||
}
|
||||
|
||||
// 新增模式下设置默认值(只有在没有 id 的情况下才设置)
|
||||
|
||||
@@ -1,225 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form
|
||||
ref="dataFormRef"
|
||||
:model="form"
|
||||
:rules="dataRules"
|
||||
label-width="120px"
|
||||
v-loading="loading"
|
||||
:disabled="operType === 'view'"
|
||||
>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.projectName">
|
||||
<el-form-item label="采购项目名称" prop="projectName">
|
||||
<el-input v-model="form.projectName" placeholder="请输入采购项目名称" :disabled="disabledFields.projectName" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.projectType">
|
||||
<el-form-item label="项目类别" prop="projectType">
|
||||
<el-select v-model="form.projectType" placeholder="请选择" :disabled="disabledFields.projectType" clearable style="width: 100%">
|
||||
<el-option label="货物" value="A" />
|
||||
<el-option label="工程" value="B" />
|
||||
<el-option label="服务" value="C" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20" v-if="!hiddenFields.projectContent">
|
||||
<el-form-item label="采购内容" prop="projectContent">
|
||||
<el-input v-model="form.projectContent" type="textarea" :rows="3" placeholder="请输入采购内容" :disabled="disabledFields.projectContent" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.applyDate">
|
||||
<el-form-item label="填报日期" prop="applyDate">
|
||||
<el-date-picker
|
||||
v-model="form.applyDate"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="选择日期"
|
||||
:disabled="disabledFields.applyDate"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.fundSource">
|
||||
<el-form-item label="资金来源" prop="fundSource">
|
||||
<el-input v-model="form.fundSource" placeholder="资金来源" :disabled="disabledFields.fundSource" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.budget">
|
||||
<el-form-item label="预算金额(元)" prop="budget">
|
||||
<el-input-number v-model="form.budget" :min="0" :precision="2" :disabled="disabledFields.budget" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.isCentralized">
|
||||
<el-form-item label="是否集采" prop="isCentralized">
|
||||
<el-select v-model="form.isCentralized" placeholder="请选择" :disabled="disabledFields.isCentralized" clearable style="width: 100%">
|
||||
<el-option label="否" value="0" />
|
||||
<el-option label="是" value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.isSpecial">
|
||||
<el-form-item label="是否特殊情况" prop="isSpecial">
|
||||
<el-select v-model="form.isSpecial" placeholder="请选择" :disabled="disabledFields.isSpecial" clearable style="width: 100%">
|
||||
<el-option label="否" value="0" />
|
||||
<el-option label="紧急" value="1" />
|
||||
<el-option label="单一" value="2" />
|
||||
<el-option label="进口" value="3" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.purchaseMode">
|
||||
<el-form-item label="采购形式" prop="purchaseMode">
|
||||
<el-input v-model="form.purchaseMode" placeholder="采购形式" :disabled="disabledFields.purchaseMode" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="mb20" v-if="!hiddenFields.purchaseType">
|
||||
<el-form-item label="采购方式" prop="purchaseType">
|
||||
<el-input v-model="form.purchaseType" placeholder="采购方式" :disabled="disabledFields.purchaseType" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20" v-if="!hiddenFields.remark">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" type="textarea" :rows="2" placeholder="备注" :disabled="disabledFields.remark" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template v-if="data.submitBtn">
|
||||
<footer class="el-dialog__footer">
|
||||
<span class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm" :disabled="loading">提交</el-button>
|
||||
</span>
|
||||
</footer>
|
||||
</template>
|
||||
<template v-else>
|
||||
<footer class="el-dialog__footer">
|
||||
<span class="dialog-footer" />
|
||||
</footer>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="PurchaseApplyFlow">
|
||||
import { useMessage } from '/@/hooks/message'
|
||||
import * as purchaseApply from '/@/api/order/purchase-apply'
|
||||
import * as orderVue from '/@/api/order/order-key-vue'
|
||||
import { handleCustomFormPerm, handleFormPrint } from '/@/flow/utils/form-perm'
|
||||
import { deepClone } from '/@/utils/other'
|
||||
import { initCustomFormMethods } from '/@/views/order/index'
|
||||
|
||||
const emits = defineEmits(['handleJob'])
|
||||
|
||||
const dataFormRef = ref()
|
||||
const loading = ref(false)
|
||||
const operType = ref<'view' | 'flow'>('flow')
|
||||
|
||||
const props = defineProps({
|
||||
currJob: { type: Object, default: null },
|
||||
currElTab: { type: Object, default: () => ({}) }
|
||||
})
|
||||
|
||||
const form = reactive<Record<string, any>>({
|
||||
id: null,
|
||||
code: '',
|
||||
flowKey: 'PURCHASE_APPLY',
|
||||
flowInstId: null,
|
||||
purchaseNo: '',
|
||||
projectName: '',
|
||||
projectType: '',
|
||||
projectContent: '',
|
||||
applyDate: '',
|
||||
fundSource: '',
|
||||
budget: null,
|
||||
isCentralized: '',
|
||||
isSpecial: '',
|
||||
purchaseMode: '',
|
||||
purchaseSchool: '',
|
||||
purchaseType: '',
|
||||
categoryCode: '',
|
||||
fileIds: [],
|
||||
remark: '',
|
||||
runJobId: '',
|
||||
flowVarUser: null
|
||||
})
|
||||
|
||||
const dataRules = ref({
|
||||
projectContent: [{ required: true, message: '请输入采购内容', trigger: 'blur' }],
|
||||
budget: [{ required: true, message: '请输入预算金额', trigger: 'blur' }]
|
||||
})
|
||||
|
||||
const fieldsPerm = {
|
||||
projectName: false,
|
||||
projectType: false,
|
||||
projectContent: false,
|
||||
applyDate: false,
|
||||
fundSource: false,
|
||||
budget: false,
|
||||
isCentralized: false,
|
||||
isSpecial: false,
|
||||
purchaseMode: false,
|
||||
purchaseType: false,
|
||||
remark: false
|
||||
}
|
||||
const hiddenFields = reactive({ ...fieldsPerm })
|
||||
const disabledFields = reactive(deepClone(fieldsPerm))
|
||||
|
||||
const data = reactive({
|
||||
submitBtn: true,
|
||||
elTab: null as any
|
||||
})
|
||||
|
||||
const methods = initCustomFormMethods(data, disabledFields, operType)
|
||||
|
||||
function initJobData() {
|
||||
if (props.currJob?.orderId) handleGetObj(props.currJob.orderId)
|
||||
}
|
||||
|
||||
function handleGetObj(id: string | number) {
|
||||
purchaseApply.getObj(id).then(async (resp: any) => {
|
||||
const formData = resp?.data ?? {}
|
||||
Object.assign(form, formData)
|
||||
form.runJobId = props.currJob?.id ?? ''
|
||||
await initFormPermPrint()
|
||||
})
|
||||
}
|
||||
|
||||
async function initFormPermPrint() {
|
||||
const elTab = orderVue.currElTabIsExist(props.currJob, props.currElTab?.id)
|
||||
const res = await handleCustomFormPerm(props, hiddenFields, disabledFields, elTab)
|
||||
await orderVue.currElTabIsView(methods, props.currJob, props.currElTab?.id, submitForm, res?.callback)
|
||||
await handleFormPrint(form, elTab?.type, elTab?.id, '1')
|
||||
data.elTab = elTab
|
||||
}
|
||||
|
||||
async function submitForm() {
|
||||
try {
|
||||
loading.value = true
|
||||
await purchaseApply.putObj(form)
|
||||
orderVue.currElTabIsSave(props.currJob, props.currElTab?.id, true, emits)
|
||||
useMessage().success(form.id ? '修改成功' : '保存成功')
|
||||
} catch (err: any) {
|
||||
useMessage().error(err?.msg ?? '操作失败')
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
watch(
|
||||
() => props.currJob?.id,
|
||||
() => { initJobData() }
|
||||
)
|
||||
|
||||
onMounted(() => {
|
||||
initJobData()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.el-dialog__footer {
|
||||
text-align: center;
|
||||
.dialog-footer {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user