|
@@ -90,7 +90,7 @@
|
|
<el-input v-model="ruleForm.approvalSettleCycle.settleCycle" style="width: 100px;" class="two-form-item" :disabled="isView" />
|
|
<el-input v-model="ruleForm.approvalSettleCycle.settleCycle" style="width: 100px;" class="two-form-item" :disabled="isView" />
|
|
{{ ruleForm.approvalSettleCycle.settleCycleMethod == 'salesContractSettleCycleMethod_fixed' ? '天' : '个自然月' }}
|
|
{{ ruleForm.approvalSettleCycle.settleCycleMethod == 'salesContractSettleCycleMethod_fixed' ? '天' : '个自然月' }}
|
|
</el-form-item>
|
|
</el-form-item>
|
|
-
|
|
|
|
|
|
+
|
|
<cy-info-title style="margin-top: 10px;">需方收货人
|
|
<cy-info-title style="margin-top: 10px;">需方收货人
|
|
<span v-if="!isView" style="position: absolute; right: 10px; top: 0; font-weight: 400; color: #5ac4fc; cursor: pointer;" @click="ruleForm.userList.push({ name: '', idCard: '', mobile: '', id: '' })">新增</span>
|
|
<span v-if="!isView" style="position: absolute; right: 10px; top: 0; font-weight: 400; color: #5ac4fc; cursor: pointer;" @click="ruleForm.userList.push({ name: '', idCard: '', mobile: '', id: '' })">新增</span>
|
|
</cy-info-title>
|
|
</cy-info-title>
|
|
@@ -134,7 +134,7 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
|
|
+
|
|
<cy-info-title style="margin-top: 10px;">增值税要求</cy-info-title>
|
|
<cy-info-title style="margin-top: 10px;">增值税要求</cy-info-title>
|
|
<el-form-item label="发票类型" prop="approvalVatInfo.receiptType">
|
|
<el-form-item label="发票类型" prop="approvalVatInfo.receiptType">
|
|
<el-select v-model="ruleForm.approvalVatInfo.receiptType" placeholder="请选择发票类型" clearable style="width: 100%" :disabled="isView">
|
|
<el-select v-model="ruleForm.approvalVatInfo.receiptType" placeholder="请选择发票类型" clearable style="width: 100%" :disabled="isView">
|
|
@@ -182,7 +182,7 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
|
|
+
|
|
<cy-info-title style="margin-top: 10px;">电子签信息</cy-info-title>
|
|
<cy-info-title style="margin-top: 10px;">电子签信息</cy-info-title>
|
|
<el-form-item label="审批结论" prop="purchContractApproval.approvalConclusion">
|
|
<el-form-item label="审批结论" prop="purchContractApproval.approvalConclusion">
|
|
<el-radio-group v-model="ruleForm.purchContractApproval.approvalConclusion" @change="setOtherInfo">
|
|
<el-radio-group v-model="ruleForm.purchContractApproval.approvalConclusion" @change="setOtherInfo">
|
|
@@ -193,39 +193,63 @@
|
|
<template v-if="ruleForm.purchContractApproval.approvalConclusion == 'pass'">
|
|
<template v-if="ruleForm.purchContractApproval.approvalConclusion == 'pass'">
|
|
<el-form-item label="合同签署方式" prop="purchContractApproval.signMode" style="width: 60%;"
|
|
<el-form-item label="合同签署方式" prop="purchContractApproval.signMode" style="width: 60%;"
|
|
:rules="[
|
|
:rules="[
|
|
- { required: ruleForm.purchContractApproval.approvalConclusion == 'pass', message: '请选择合同签署方式', trigger: 'change' }
|
|
|
|
|
|
+ { required: ruleForm.approvalConclusion === 'pass' && (ruleForm.purchContractApproval.signMode !== null || ruleForm.purchContractApproval.signMode !== ''), message: '请选择合同签署方式', trigger: 'change' }
|
|
]">
|
|
]">
|
|
<!-- <el-checkbox v-model="ruleForm.purchContractApproval.signMode" @change="createFile" :true-label="1" :false-label="0" :disabled="isView">线上电子签</el-checkbox> -->
|
|
<!-- <el-checkbox v-model="ruleForm.purchContractApproval.signMode" @change="createFile" :true-label="1" :false-label="0" :disabled="isView">线上电子签</el-checkbox> -->
|
|
- <el-checkbox v-model="ruleForm.purchContractApproval.signMode" @change="createFile" :true-label="1" :false-label="''" :disabled="isView">线上电子签</el-checkbox>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="贸易平台">
|
|
|
|
- <el-input v-model="ruleForm.purchContractApproval.platform.platformName" style="width: 100%;" disabled></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="认证状态" prop="purchContractApproval.platform.authStatus">
|
|
|
|
- <el-input :value="ruleForm.purchContractApproval.platform.authStatus == 1 ? '已认证' : '未认证'" style="width: 100%;" disabled></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="自动签署状态" prop="purchContractApproval.platform.autoSignStatus">
|
|
|
|
- <el-input :value="ruleForm.purchContractApproval.platform.autoSignStatus == 1 ? '已签署' : '未签署'" style="width: 100%;" disabled></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="采购合同文件" prop="purchContractApproval.fileStorage" style="width: calc(66% - 15px);">
|
|
|
|
- <cy-upload
|
|
|
|
- ref="fileStorage"
|
|
|
|
- :upload-params="{ mouldName: 'reconsiderAdjustFile' }"
|
|
|
|
- :file-data="ruleForm.purchContractApproval.fileStorage"
|
|
|
|
- :upload-from-orange-status="true"
|
|
|
|
- placeholder="请上传附件"
|
|
|
|
- disabled
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="上传合同文件" prop="purchContractApproval.upload"
|
|
|
|
- :rules="[
|
|
|
|
- { required: ruleForm.purchContractApproval.approvalConclusion === 'pass', message: '请选择上传合同文件', trigger: 'change' }
|
|
|
|
- ]">
|
|
|
|
- <el-radio-group v-model="ruleForm.purchContractApproval.upload" @change="changeUpload" :disabled="isView">
|
|
|
|
- <el-radio :label="1">是</el-radio>
|
|
|
|
- <el-radio :label="0">否</el-radio>
|
|
|
|
|
|
+ <el-radio-group :disabled="isView" v-model="ruleForm.purchContractApproval.signMode" @change="esignRadioChange">
|
|
|
|
+ <el-radio :label="1">线上电子签</el-radio>
|
|
|
|
+ <el-radio :label="0">线下电子签</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
|
+ <!-- <el-checkbox-group :min="1" :max="1" :disabled="isView" v-model="ruleForm.purchContractApproval.signMode" @change="esignCheckBoxChange">
|
|
|
|
+ <el-checkbox @change="createFile" :label="1">线上电子签</el-checkbox>
|
|
|
|
+ <el-checkbox @change="downEsignChange" :label="0">线下电子签</el-checkbox>
|
|
|
|
+ </el-checkbox-group> -->
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <template v-if="ruleForm.purchContractApproval.signMode === 0">
|
|
|
|
+ <el-form-item label="采购合同文件" prop="purchContractApproval.fileStorages" style="width: 100%;" class="form-required">
|
|
|
|
+ <cy-upload
|
|
|
|
+ ref="purchContractOfflineRef"
|
|
|
|
+ :upload-params="{ mouldName: 'purchaseContractOfflineSignFile' }"
|
|
|
|
+ :file-data="ruleForm.purchContractApproval.fileStorages"
|
|
|
|
+ :file-type="'pdf'"
|
|
|
|
+ :upload-from-orange-status="true"
|
|
|
|
+ :is-call-back="true"
|
|
|
|
+ @call-back="offlineSignFileCallBack"
|
|
|
|
+ :disabled="isView"
|
|
|
|
+ placeholder="请上传附件"
|
|
|
|
+ />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-if="ruleForm.purchContractApproval.signMode === 1">
|
|
|
|
+ <el-form-item label="贸易平台">
|
|
|
|
+ <el-input v-model="ruleForm.purchContractApproval.platform.platformName" style="width: 100%;" disabled></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="认证状态" prop="purchContractApproval.platform.authStatus">
|
|
|
|
+ <el-input :value="ruleForm.purchContractApproval.platform.authStatus == 1 ? '已认证' : '未认证'" style="width: 100%;" disabled></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="自动签署状态" prop="purchContractApproval.platform.autoSignStatus">
|
|
|
|
+ <el-input :value="ruleForm.purchContractApproval.platform.autoSignStatus == 1 ? '已签署' : '未签署'" style="width: 100%;" disabled></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="采购合同文件" prop="purchContractApproval.fileStorage" style="width: calc(66% - 15px);">
|
|
|
|
+ <cy-upload
|
|
|
|
+ ref="fileStorage"
|
|
|
|
+ :upload-params="{ mouldName: 'reconsiderAdjustFile' }"
|
|
|
|
+ :file-data="ruleForm.purchContractApproval.fileStorage"
|
|
|
|
+ :upload-from-orange-status="true"
|
|
|
|
+ placeholder="请上传附件"
|
|
|
|
+ disabled
|
|
|
|
+ />
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="上传合同文件" prop="purchContractApproval.upload"
|
|
|
|
+ :rules="[
|
|
|
|
+ { required: ruleForm.purchContractApproval.approvalConclusion === 'pass', message: '请选择上传合同文件', trigger: 'change' }
|
|
|
|
+ ]">
|
|
|
|
+ <el-radio-group v-model="ruleForm.purchContractApproval.upload" @change="changeUpload" :disabled="isView">
|
|
|
|
+ <el-radio :label="1">是</el-radio>
|
|
|
|
+ <el-radio :label="0">否</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </template>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<el-form-item
|
|
<el-form-item
|
|
@@ -297,6 +321,8 @@
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import request from '@/utils/request'
|
|
import request from '@/utils/request'
|
|
|
|
+import { deepClone } from '@/utils'
|
|
|
|
+
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
SignConfirmationContent: () => import('./SignConfirmationContent.vue')
|
|
SignConfirmationContent: () => import('./SignConfirmationContent.vue')
|
|
@@ -321,6 +347,7 @@ export default {
|
|
}
|
|
}
|
|
return {
|
|
return {
|
|
key: 0,
|
|
key: 0,
|
|
|
|
+ tempPurchContractApproval: {}, // 临时变量存储电子签信息
|
|
ruleForm: {
|
|
ruleForm: {
|
|
purchContractBasicInfo: {},
|
|
purchContractBasicInfo: {},
|
|
purchContractReplenishInfo: {},
|
|
purchContractReplenishInfo: {},
|
|
@@ -332,7 +359,8 @@ export default {
|
|
approvalVatInfo: {},
|
|
approvalVatInfo: {},
|
|
purchContractOtherClause: [],
|
|
purchContractOtherClause: [],
|
|
purchContractApproval: {
|
|
purchContractApproval: {
|
|
- platform: {}
|
|
|
|
|
|
+ platform: {},
|
|
|
|
+ fileStorages: []
|
|
},
|
|
},
|
|
visible: '',
|
|
visible: '',
|
|
supplier: {}
|
|
supplier: {}
|
|
@@ -459,6 +487,9 @@ export default {
|
|
Object.keys(this.ruleForm).forEach(key => {
|
|
Object.keys(this.ruleForm).forEach(key => {
|
|
if(data[key]) {
|
|
if(data[key]) {
|
|
this.ruleForm[key] = data[key]
|
|
this.ruleForm[key] = data[key]
|
|
|
|
+ if (key === 'purchContractApproval') {
|
|
|
|
+ this.tempPurchContractApproval = deepClone(data.purchContractApproval)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
})
|
|
})
|
|
this.$emit('changeResult', this.ruleForm.purchContractApproval?.approvalConclusion)
|
|
this.$emit('changeResult', this.ruleForm.purchContractApproval?.approvalConclusion)
|
|
@@ -505,6 +536,21 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
} else if(this.ruleForm.purchContractApproval.approvalConclusion == 'pass' || !this.ruleForm.purchContractApproval.approvalConclusion) {
|
|
} else if(this.ruleForm.purchContractApproval.approvalConclusion == 'pass' || !this.ruleForm.purchContractApproval.approvalConclusion) {
|
|
|
|
+
|
|
|
|
+ // add by lx at 2024-11-20 合同签署增加线下电子签模式
|
|
|
|
+ if (this.ruleForm.purchContractApproval.signMode !== '' && this.ruleForm.purchContractApproval.signMode === 0) {
|
|
|
|
+ const purchContractOfflineFiles = this.$refs.purchContractOfflineRef.getFileLists
|
|
|
|
+
|
|
|
|
+ if (purchContractOfflineFiles && purchContractOfflineFiles.length === 0) {
|
|
|
|
+ this.$message.warning('请上传采购合同文件')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (purchContractOfflineFiles && purchContractOfflineFiles.length) {
|
|
|
|
+ this.ruleForm.purchContractApproval.fileIds = purchContractOfflineFiles.map(item => item.id)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
this.$refs.ruleForm.validate(flag => {
|
|
this.$refs.ruleForm.validate(flag => {
|
|
if(flag) {
|
|
if(flag) {
|
|
resolve()
|
|
resolve()
|
|
@@ -525,7 +571,7 @@ export default {
|
|
createFile(val) {
|
|
createFile(val) {
|
|
if(this.ruleForm.purchContractApproval.approvalConclusion == 'pass' && val == 1) {
|
|
if(this.ruleForm.purchContractApproval.approvalConclusion == 'pass' && val == 1) {
|
|
let data = { taskId: this.$route.params.taskId, businessKey: this.$route.params.infoId, ...this.ruleForm }
|
|
let data = { taskId: this.$route.params.taskId, businessKey: this.$route.params.infoId, ...this.ruleForm }
|
|
- data.visible = 0
|
|
|
|
|
|
+ data.visible = 0
|
|
data.purchContractApproval = {
|
|
data.purchContractApproval = {
|
|
...this.ruleForm.purchContractApproval
|
|
...this.ruleForm.purchContractApproval
|
|
}
|
|
}
|
|
@@ -553,6 +599,25 @@ export default {
|
|
this.ruleForm.purchContractApproval.fileStorage = []
|
|
this.ruleForm.purchContractApproval.fileStorage = []
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ // 合同签署方式-radio-change
|
|
|
|
+ esignRadioChange(val) {
|
|
|
|
+ if (val === 0) {
|
|
|
|
+ this.ruleForm.purchContractApproval.fileStorage = []
|
|
|
|
+ this.ruleForm.purchContractApproval.platform = {}
|
|
|
|
+ }
|
|
|
|
+ if (val === 1) {
|
|
|
|
+ this.ruleForm.purchContractApproval = this.tempPurchContractApproval
|
|
|
|
+ this.createFile(val)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 线下签署-采购合同文件上传成功回调
|
|
|
|
+ offlineSignFileCallBack() {
|
|
|
|
+ const purchContractOfflineFiles = this.$refs.purchContractOfflineRef.getFileLists
|
|
|
|
+
|
|
|
|
+ if (purchContractOfflineFiles && purchContractOfflineFiles.length) {
|
|
|
|
+ this.ruleForm.purchContractApproval.fileIds = purchContractOfflineFiles.map(item => item.id)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
setOtherInfo(val) {
|
|
setOtherInfo(val) {
|
|
this.$emit('changeResult', this.ruleForm.purchContractApproval.approvalConclusion)
|
|
this.$emit('changeResult', this.ruleForm.purchContractApproval.approvalConclusion)
|
|
if(val == 'back') {
|
|
if(val == 'back') {
|