|
|
|
|
@ -102,24 +102,35 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 是否有 -->
|
|
|
|
|
<div class="payment-registration-row" style="align-items: center;margin-bottom:5px">
|
|
|
|
|
<div class="payment-registration-row-title">资金上会流程</div>
|
|
|
|
|
<div class="payment-registration-row-content">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="paymentRegistrationForm.meeting_flow_id"
|
|
|
|
|
placeholder="请选择资金上会流程"
|
|
|
|
|
clearable
|
|
|
|
|
style="width: 320px"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in shList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
:label="item.title"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="payment-registration-row" style="align-items: center;margin-bottom:5px">
|
|
|
|
|
<div class="payment-registration-row-title">
|
|
|
|
|
资金上会流程
|
|
|
|
|
<span v-if="isMeetingFlowRequired" style="color: red; font-weight: 600; padding-right: 4px">*</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="payment-registration-row-content">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="paymentRegistrationForm.meeting_flow_id"
|
|
|
|
|
placeholder="请选择资金上会流程"
|
|
|
|
|
clearable
|
|
|
|
|
:disabled="isMeetingFlowDisabled"
|
|
|
|
|
style="width: 320px"
|
|
|
|
|
filterable
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in shList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
:label="item.data.yiti+'-'+item.title"
|
|
|
|
|
>
|
|
|
|
|
<span style="float: left">{{ item.data.yiti }}-{{ item.title }}</span>
|
|
|
|
|
<span
|
|
|
|
|
style="float: right; color: #8492a6; font-size: 13px; cursor: pointer;"
|
|
|
|
|
@click.stop="viewOaFlow(item.id)"
|
|
|
|
|
>查看</span>
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:applyMoney>
|
|
|
|
|
@ -381,6 +392,21 @@
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
</xy-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- OA流程Modal -->
|
|
|
|
|
<Modal
|
|
|
|
|
v-model="isShowOaModal"
|
|
|
|
|
:width="86"
|
|
|
|
|
class-name="oa-modal"
|
|
|
|
|
title="流程办理"
|
|
|
|
|
fullscreen
|
|
|
|
|
:mask-closable="false"
|
|
|
|
|
footer-hide
|
|
|
|
|
>
|
|
|
|
|
<div style="width: 100%;height: 100%;">
|
|
|
|
|
<iframe style="width: 100%;height: 100%;border-radius: 0 0 6px 6px;" :src="oaUrl" frameborder="0" />
|
|
|
|
|
</div>
|
|
|
|
|
</Modal>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
@ -408,6 +434,7 @@ import {
|
|
|
|
|
parseTime
|
|
|
|
|
} from '@/utils'
|
|
|
|
|
import { getShList } from '@/api/oatoken'
|
|
|
|
|
import { getToken } from '@/utils/auth'
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
data() {
|
|
|
|
|
@ -506,6 +533,20 @@ export default {
|
|
|
|
|
type: [{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '必选'
|
|
|
|
|
}],
|
|
|
|
|
meeting_flow_id: [{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '资金上会流程为必选项',
|
|
|
|
|
validator: (rule, value, callback) => {
|
|
|
|
|
// 如果申请付款金额大于等于5万,则必选
|
|
|
|
|
if (this.paymentRegistrationForm.applyMoney && Number(this.paymentRegistrationForm.applyMoney) >= 50000) {
|
|
|
|
|
if (!value) {
|
|
|
|
|
callback(new Error('资金上会流程为必选项'))
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
callback()
|
|
|
|
|
}
|
|
|
|
|
}]
|
|
|
|
|
},
|
|
|
|
|
departments: [],
|
|
|
|
|
@ -626,7 +667,10 @@ export default {
|
|
|
|
|
align: 'right',
|
|
|
|
|
formatter: (v1, v2, value) =>
|
|
|
|
|
value ? `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',') : ''
|
|
|
|
|
}]
|
|
|
|
|
}],
|
|
|
|
|
// OA流程相关
|
|
|
|
|
oaUrl: '',
|
|
|
|
|
isShowOaModal: false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
@ -648,6 +692,16 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
return '合同'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 资金上会流程是否必选
|
|
|
|
|
isMeetingFlowRequired() {
|
|
|
|
|
return this.paymentRegistrationForm.applyMoney && Number(this.paymentRegistrationForm.applyMoney) >= 50000
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 资金上会流程是否禁用
|
|
|
|
|
isMeetingFlowDisabled() {
|
|
|
|
|
return this.paymentRegistrationForm.applyMoney && Number(this.paymentRegistrationForm.applyMoney) < 50000
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
|
@ -669,6 +723,13 @@ export default {
|
|
|
|
|
this.getDepartment()
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// 查看OA流程
|
|
|
|
|
viewOaFlow(flowId) {
|
|
|
|
|
const url = `${process.env.VUE_APP_OUT_URL}/#/flow/detail?auth_token=${window.encodeURIComponent(getToken())}&isSinglePage=1&flow_id=${flowId}`
|
|
|
|
|
|
|
|
|
|
this.oaUrl = url
|
|
|
|
|
this.isShowOaModal = true
|
|
|
|
|
},
|
|
|
|
|
// 获取上会列表
|
|
|
|
|
async getSh(){
|
|
|
|
|
try {
|
|
|
|
|
@ -676,9 +737,8 @@ export default {
|
|
|
|
|
page: 1,
|
|
|
|
|
page_size: 999,
|
|
|
|
|
custom_model_id: 103,
|
|
|
|
|
field_id: 1225,
|
|
|
|
|
operator: 'eq',
|
|
|
|
|
field_keyword: '采购事项'
|
|
|
|
|
sort_name: 'created_at',
|
|
|
|
|
sort_type: 'DESC'
|
|
|
|
|
})
|
|
|
|
|
this.shList = res?.data?.data || []
|
|
|
|
|
} catch (e) {
|
|
|
|
|
@ -852,6 +912,15 @@ export default {
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
submit() {
|
|
|
|
|
// 验证资金上会流程
|
|
|
|
|
if (this.isMeetingFlowRequired && !this.paymentRegistrationForm.meeting_flow_id) {
|
|
|
|
|
Message({
|
|
|
|
|
type: 'warning',
|
|
|
|
|
message: '资金上会流程为必选项'
|
|
|
|
|
})
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const data = {
|
|
|
|
|
contract_id: this.contract.id,
|
|
|
|
|
apply_money: this.paymentRegistrationForm.applyMoney,
|
|
|
|
|
|