[update] - 支出合同、收入合同-新增页面-增加从iop系统同步合同数据的功能1

This commit is contained in:
fengchenchen
2022-04-06 11:56:42 +08:00
parent 8def8862c4
commit 01cdf55d13
7 changed files with 756 additions and 18 deletions
+23
View File
@@ -0,0 +1,23 @@
/* 合同管理 对接其他IOP系统的api */
import {getAction, postAction} from './manage'
// let apiBaseUrl = '/openApi'
// 获得 access_token
const getAccessToken = (params) => postAction(`payResearchProject/payResearchProject/getToken`,params)
// const getAccessToken = (params) => postAction(`https://openapi.catarc.ac.cn/login`,params)
// 刷新 access_token
const refreshToken = (params) => postAction('/payResearchProject/payResearchProject/refreshToken',params)
//合同台账分页查询接口
const getContractPage = (params) => postAction('/payResearchProject/payResearchProject/pageForThreeContractPage',params)
//合同台账列表查询接口
const getContractList = (params) => postAction('/payResearchProject/payResearchProject/listForThreeContract',params)
//合同台账详情接口
const getContractById = (params) => getAction(`/payResearchProject/payResearchProject/oneForThreeContract`,params)
export {
getAccessToken,
refreshToken,
getContractPage,
getContractList,
getContractById
}
+8 -1
View File
@@ -56,6 +56,13 @@ export default {
return (
option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
)
},
// 通过其他的信息 赋值,如 姓名、部门、员工号
setValueByOtherInfo(otherInfo) {
let ele = this.userList.find(tt => tt.realname === otherInfo.realname && tt.orgCodeTxt === otherInfo.orgCodeTxt)
if( ele) {
this.$emit('change', ele.id)
}
}
},
model: {
@@ -67,4 +74,4 @@ export default {
<style scoped>
</style>
</style>
+4 -1
View File
@@ -11,6 +11,9 @@
<img :src="imgForIcon" class="page-header-icon">
<span class="page-header-title">{{ levelTwoTitle }}</span>
</template>
<template>
<slot name="default"></slot>
</template>
</div>
</template>
@@ -74,4 +77,4 @@ export default {
color: #666666;
}
}
</style>
</style>
@@ -1,6 +1,11 @@
<template>
<div>
<page-header-title :is-level-one="false" :level-two-title="title"></page-header-title>
<page-header-title :is-level-one="false" :level-two-title="title">
<template v-slot:default>
<!--只有新增的时候 可以查看iop系统合同的数据-->
<a-button v-if="!model.id" class="top-btn" type="link" @click="lookOtherSystemData">查看合同数据</a-button>
</template>
</page-header-title>
<a-card :bordered="false">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
@@ -81,10 +86,13 @@
</a-col>
<a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择负责人"
:disabled="canEdit"
v-decorator="['principalId',validatorRules.principalId]"
@change="principalChange"></select-principal>
<select-principal
ref="selectPrincipal"
placeholder="请选择负责人"
:disabled="canEdit"
v-decorator="['principalId',validatorRules.principalId]"
@change="principalChange"
></select-principal>
</a-form-item>
</a-col>
<a-col :xxl="6" :xl="8" :sm="12">
@@ -276,6 +284,9 @@
</a-form>
</a-spin>
</a-card>
<!-- 其他系统合同的数据 IOP系统-->
<other-system-contract ref="otherSystemContract" :amount-type="1" @update-info="updateInfoFunc"></other-system-contract>
</div>
</template>
@@ -284,20 +295,23 @@ import PageHeaderTitle from '../../../../components/layouts/PageHeaderTitle'
import { getExpenditureContractById } from '../../../../api/incomePaymentsApi'
import pick from 'lodash.pick'
import InstallmentForm from '../../../../components/form/InstallmentForm'
// eslint-disable-next-line no-unused-vars
import CompanySelect from '../../../../components/company/CompanySelect'
// eslint-disable-next-line no-unused-vars
import SelectContacts from '../../../../components/company/SelectContacts'
import SelectPrincipal from '../../../../components/company/SelectPrincipal'
import { duplicateCheck, getAllUserList } from '../../../../api/api'
import { postAction } from '../../../../api/manage'
import JDate from '../../../../components/tools/JDate'
import JYearDate from '../../../../components/jero/JYearDate'
import { money } from '../../../../utils/validate'
import { addZero } from '../../../../utils/util'
import { phoneReg, postcode } from '../../../../utils/validate'
import OtherSystemContract from '../../revenueContract/modules/OtherSystemContract'
import {ConnectionKey} from '../../revenueContract/modules/ContractData'
export default {
name: 'ExpenditureContractModule',
components: { PageHeaderTitle, InstallmentForm, CompanySelect, SelectContacts, SelectPrincipal, JDate, JYearDate },
components: { PageHeaderTitle, InstallmentForm, SelectPrincipal, JDate, OtherSystemContract},
data() {
return {
title: '',
@@ -772,6 +786,32 @@ export default {
callback('请输入已付金额')
break
}
},
// 查询其他系统的数据,2022-3-31 需要变更对接其他的系统
lookOtherSystemData() {
this.$refs.otherSystemContract.open()
},
// 从iop系统中获取合同的信息
updateInfoFunc(info) {
let obj = {}
// 提前写好 能对应上的字段
Object.keys(ConnectionKey).forEach(key => {
obj[key] = info[ConnectionKey[key]]
})
// 通过员工号或者姓名 查询相关的负责人数据
// 负责人信息的处理 todo 需要增加员工号的判断
let userInfo = {
realname: obj.realname, // 申请人
orgCodeTxt: obj.orgCodeTxt // 申请部门
}
this.$refs.selectPrincipal.setValueByOtherInfo(userInfo)
// 签订单位信息的处理
obj.signedCompanyTemporaryName = info.contSignPartnerAName
//iop系统没有签订联系人字段
this.$nextTick(() => {
this.form.setFieldsValue(obj)
})
}
}
}
@@ -783,4 +823,12 @@ export default {
.ant-divider-horizontal {
margin: 20px 0;
}
</style>
.page-header-title {
position: relative;
}
.top-btn{
position: absolute;
right: 10px;
}
</style>
@@ -0,0 +1,247 @@
let ContractResponse = {
'success': true,
'code': 200,
'msg': '成功',
'data': {
'pageNo': 1,
'pageSize': 10,
'count': 550,
'pageCount': 55,
'list': [
{
'id': 'b8578a1d-ea9b-4e53-8108-a641aaf05177',
'bindid': 'e0fda33e-343c-41ec-8ec8-59245f339b12',
'bigContNmbr': 'CATARC-S-2021-00496',
'contName': '订单',
'applycomp': '汽车标准化研究所',
'applycomno': '11001',
'contSignPartnerAName': '亮锐(上海)管理有限公司',
'contSignOurcompName': '中国汽车技术研究中心有限公司',
'contAmountLc': 40000.00,
'contAmountFc': 40000.00,
'contUntaxAmountLc': 37735.85,
'contUntaxAmountFc': 37735.85,
'bigContType': '5N3WEYLF4A',
'applyuser': '轩轶',
'userno': '01140',
'applydept': '整车部',
'applydeptno': '11003',
'contStatus': 'ST_SCCS',
'midContNmbr': '',
'invoiceType': '专票',
'taxRate': '0.06',
'isOpen': 0
},
{
'id': 'e2dd5e56-f123-46ad-b7e1-e57b0e8bd9a4',
'bindid': 'a1ab5a5f-2c2a-42e7-8f7a-f9cec663883d',
'bigContNmbr': 'CATARC-S-2020-00233',
'contName': '共同开展《汽车脚踏板位置尺寸测量方法》标准研究工作',
'applycomp': '汽车标准化研究所',
'applycomno': '11001',
'contSignPartnerAName': '一汽丰田技术开发有限公司',
'contSignOurcompName': '中国汽车技术研究中心有限公司',
'contAmountLc': 300000.00,
'contAmountFc': 0.00,
'contUntaxAmountLc': 283018.87,
'contUntaxAmountFc': 0.00,
'bigContType': '5N3WEYLF4A',
'applyuser': '曹丽娟',
'userno': '04770',
'applydept': '整车部',
'applydeptno': '11003',
'contStatus': 'ST_SCCS',
'midContNmbr': '',
'invoiceType': '专票',
'taxRate': '0.06',
'isOpen': 0
},
{
'id': 'a7557ccb-31bf-4734-ae90-c0808a6d701d',
'bindid': '42e0f0bc-6835-4bb2-8bf4-fd2b4d20ee52',
'bigContNmbr': 'CATARC-S-2020-00047',
'contName': '技术服务合同',
'applycomp': '汽车标准化研究所',
'applycomno': '11001',
'contSignPartnerAName': '中航电测仪器(西安)有限公司',
'contSignOurcompName': '中国汽车技术研究中心有限公司',
'contAmountLc': 100000.00,
'contAmountFc': 0.00,
'contUntaxAmountLc': 94339.62,
'contUntaxAmountFc': 0.00,
'bigContType': '5N3WEYLF4A',
'applyuser': '田富刚',
'userno': '04235',
'applydept': '整车部',
'applydeptno': '11003',
'contStatus': 'ST_SCCS',
'midContNmbr': '',
'invoiceType': '专票',
'taxRate': '0.06',
'isOpen': 0
},
{
'id': '7955d654-6527-4dc8-bf24-aa3c1d87f259',
'bindid': 'b94aa273-1d4e-4287-965e-b117c8a93e14',
'bigContNmbr': 'CATARC-S-2021-00151',
'contName': '车用动力电池回收利用标准共同研究合作',
'applycomp': '汽车标准化研究所',
'applycomno': '11001',
'contSignPartnerAName': '浙江天能电源材料有限公司',
'contSignOurcompName': '中国汽车技术研究中心有限公司',
'contAmountLc': 150000.00,
'contAmountFc': 0.00,
'contUntaxAmountLc': 141509.43,
'contUntaxAmountFc': 0.00,
'bigContType': '5N3WEYLF4A',
'applyuser': '张铜柱',
'userno': '01877',
'applydept': '整车部',
'applydeptno': '11003',
'contStatus': 'ST_SCCS',
'midContNmbr': '',
'invoiceType': '专票',
'taxRate': '0.06',
'isOpen': 0
},
{
'id': '8c45943c-96c6-4752-96ad-e9a686d407ee',
'bindid': 'f29c0358-ea5c-4807-8915-033a3341bad6',
'bigContNmbr': 'CATARC-S-2021-00955',
'contName': '关于CATARC-S-2021-0010合同的补充协议',
'applycomp': '汽车标准化研究所',
'applycomno': '11001',
'contSignPartnerAName': '大陆马牌轮胎(中国)有限公司',
'contSignOurcompName': '中国汽车技术研究中心有限公司',
'contAmountLc': 125751.00,
'contAmountFc': 0.00,
'contUntaxAmountLc': 118633.02,
'contUntaxAmountFc': 0.00,
'bigContType': 'DJT7MXLDEF',
'applyuser': '许天楚',
'userno': '05530',
'applydept': '整车部',
'applydeptno': '11003',
'contStatus': 'ST_SCCS',
'midContNmbr': '',
'invoiceType': '专票',
'taxRate': '0.06',
'isOpen': 0
}
],
'title': [],
'ext': {},
'orderBy': ''
}
}
export {
ContractResponse,
QueryById,
ConnectionKey
}
let QueryById = {
'success': true,
'code': 200,
'msg': '成功',
'data': {
'id': 'b8578a1d-ea9b-4e53-8108-a641aaf05177',
'bindid': 'e0fda33e-343c-41ec-8ec8-59245f339b12',
'bigContNmbr': 'CATARC-S-2021-00496',
'contName': '订单',
'applycomp': '汽车标准化研究所',
'applycomno': '11001',
'contSignPartnerAName': '亮锐(上海)管理有限公司',
'contSignOurcompName': '中国汽车技术研究中心有限公司',
'contAmountLc': 40000.00,
'contAmountFc': 40000.00,
'contUntaxAmountLc': 37735.85,
'contUntaxAmountFc': 37735.85,
'applydept': '整车部',
'applydeptno': '11003',
'applyuser': '轩轶',
'userno': '01140',
'contStartDate': '2021-07-21 16:00:00',
'contStatus': 'ST_SCCS',
'bigContType': '5N3WEYLF4A',
'costType': '',
'invoiceType': '专票',
'taxRate': '0.06',
'currencyUnit': '人民币',
'exchRate': '1',
'isOpen': 0,
'isStandard': 0,
'midContNmbr': '',
'contReve': 0.00,
'contAr': 40000.00,
'incomeConfirmedAmount': 0.00,
'contUnconfirmedAmount': 40000.00,
'purchFormNmbr': '',
'contPay': 0.00,
'contUnpd': 40000.00,
'contPaid': 0.00,
'contReveInvoc': 40000.00
}
}
/* {
'code': 0,
'data': {
'applycomno': 'string',//所属单位编码
'applycomp': 'string',//所属单位
'applydept': 'string',//申请部门
'applydeptno': 'string',//申请部门编码
'applyuser': 'string',//申请人
'bigContNmbr': '中心合同号',//中心合同号
'bigContType': 'string', //中心合同类别
'bindid': 'string',//
'contAmountFc': 0,//合同金额(外币)
'contAmountLc': 10000,//合同金额(人民币)
'contAr': 0,//待开票金额
'contName': '合同名称',//合同名称
'contPaid': 0,//已收票金额
'contPay': 0,//已付款金额
'contReve': 0,//已开票金额
'contReveInvoc': 0,//待收票金额
'contSignOurcompName': 'string',//法人公司名称
'contSignPartnerAName': 'string',//供应商名称
'contStartDate': '2022-04-02T02:41:09.460Z',//合同存档日期
'contStatus': 'string',//合同状态
'contUnconfirmedAmount': 0,//未确认金额
'contUnpd': 0,// 待付款金额
'contUntaxAmountFc': 0,//未税金额(外币)
'contUntaxAmountLc': 0,//未税金额(人民币)
'costType': 'string',//成本类别
'currencyUnit': 'string',//合同币种
'exchRate': 'string',//汇率
'id': 'string',
'incomeConfirmedAmount': 0,//已确认金额
'invoiceType': 'string',//发票类型
'isOpen': 0,//是否开口合同
'isStandard': 0,//是否标准合同
'midContNmbr': 'string',//院所合同号
'purchFormNmbr': 'string',//采购单编号
'taxRate': '6%',//税率
'userno': 'string'//申请人工号
},
'msg': 'string',
'success': true
}*/
//contAmountType ---支出合同、收入合同的标识
// 对应关系的字段, key-来款系统的字段 value-iop系统的字段 收支类型 0–收入 1–支出
let ConnectionKey = {
'contractNum': 'bigContNmbr', //合同编号--中心合同号
'contractName': 'contName', //合同名称 --合同名称
// 'signedCompanyName': 'contSignPartnerAName', //签订单位 在来款系统是一个对象{id'', companyName: ''}
// 'signedContactsId': '', //签订联系人
'opening': 'isOpen', // 是否开口 -- 是否开口合同
'realname': 'applyuser', //负责人 --- 可以通过员工号,在系统查询对应的负责人
'orgCodeTxt': 'applydept', // 申请部门 --- 可以通过员工号,在系统查询对应的负责人
'contractAmount': 'contAmountLc', //签订合同总金额 --合同金额(人民币)
'rate': 'taxRate', //税率--税率
'noTaxAmount': 'contUntaxAmountLc', //未税金额--未税金额(人民币)
}
@@ -0,0 +1,344 @@
<template>
<j-modal
:title="title"
:width="width"
:visible="visible"
:confirmLoading="confirmLoading"
@ok="handleOk"
@cancel="handleCancel"
cancelText="关闭">
<div :spinning="confirmLoading">
<!-- 查询区域-start -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row>
<!-- 暂时不支持查询 合同编号合同名称-->
<!-- <a-col :xl="8" :lg="9" :md="10" :sm="24">-->
<!-- <a-form-item label="合同编号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-input placeholder="请输入合同编号" v-model="queryParam.contractNum" :maxLength='50'></a-input>-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<!-- <a-col :xl="8" :lg="9" :md="10" :sm="24">-->
<!-- <a-form-item label="合同名称" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<!-- <a-input placeholder="请输入合同名称" v-model="queryParam.contName" :maxLength='50'></a-input>-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col :xl="8" :lg="9" :md="10" :sm="24">
<a-form-item label="签订单位" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入签订单位" v-model="queryParam.contSignPartnerAName" :maxLength='50'></a-input>
</a-form-item>
</a-col>
<a-col :xl="10" :lg="12" :md="12" :sm="24">
<a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date
placeholder="请选择开始日期"
date-format="YYYY-MM-DD 00:00:00"
class="query-group-cust"
v-model="queryParam.startDate"
:disabled-date="disabledStartDate">
</j-date>
<span class="query-group-split-cust"></span>
<j-date
placeholder="请选择结束日期"
date-format="YYYY-MM-DD 23:59:59"
class="query-group-cust"
v-model="queryParam.endDate"
:disabled-date="disabledEndDate">
</j-date>
</a-form-item>
</a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
<span class="table-page-search-submitButtons">
<a-button type="primary" icon="search" @click="searchQuery" >查询</a-button>
<a-button icon="reload" @click="searchReset" class="reset-button">重置</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<!-- /查询区域-end-->
<a-table
class="j-table-force-nowrap"
rowKey="id"
bordered
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:scroll="{x: 1000}"
@change="handleTableChange"
>
<template slot="text" slot-scope="text">
<a-tooltip>
<template slot="title">{{ text }}</template>
<div class="table-text">{{ text }}</div>
</a-tooltip>
</template>
<span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleGetInfo(record)">获取合同基础信息</a>
</span>
</a-table>
</div>
<template slot="footer">
<a-button @click="handleCancel">关闭</a-button>
<a-button @click="handleOk" type="primary" v-preventclick>确定</a-button>
</template>
</j-modal>
</template>
<script>
import {filterObj} from '@/utils/util'
// import { JeroListMixin } from '@/mixins/JeroListMixin'
import { RangeDateMixin } from '../../../../mixins/RangeDateMixin'
import { getContractPage, getContractById } from '../../../../api/contractOpenApi'
import JDate from '@/components/tools/JDate'
export default {
name: 'OtherSystemContract',
mixins: [RangeDateMixin],
props: {
// 收支类型 0–收入 1–支出
amountType: {
type: Number,
default: 0
}
},
watch: {
amountType() {
this.filter.contAmountType = this.amountType
}
},
created() {
this.filter.contAmountType = this.amountType
},
data() {
return {
title: 'IOP系统合同数据',
width: 1200,
visible: false,
confirmLoading: false,
columns: [
{
title: '序号',
dataIndex: '',
key: 'rowIndex',
width: 60,
align: 'center',
customRender: function (t, r, index) {
return parseInt(index) + 1
}
}, {
title: '合同编号',
align: 'center',
dataIndex: 'bigContNmbr',
width: 240,
scopedSlots: { customRender: 'text' }
}, {
title: '合同名称',
align: 'center',
dataIndex: 'contName',
width: 240,
scopedSlots: { customRender: 'text' }
},
{
title: '负责人/申请人',
align: 'center',
dataIndex: 'applyuser',
width: 120,
scopedSlots: { customRender: 'text' }
},
{
title: '申请部门',
align: 'center',
dataIndex: 'applydept',
width: 120,
scopedSlots: { customRender: 'text' }
},
{
title: '签订单位',
align: 'center',
dataIndex: 'contSignPartnerAName',
width: 160,
scopedSlots: { customRender: 'text' }
},
{
title: '合同总金额',
align: 'center',
dataIndex: 'contAmountLc',
width: 150
}, {
title: '合同状态',
align: 'center',
dataIndex: 'contStatus',
width: 100,
scopedSlots: { customRender: 'text' }
}, {
title: '申请员工号',
align: 'center',
dataIndex: 'applydeptno',
width: 200
}, {
title: '操作',
dataIndex: 'action',
align: 'center',
fixed: 'right',
width: 170,
scopedSlots: { customRender: 'action' }
}
],
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 10 }
},
dateKeyObj: {
beginKey: 'startDate',
endKey: 'endDate'
},
// disableMixinCreated: true,
//查询条件
queryParam: {},
// 记录上一次查询的条件,防止查询处输入框的数据发生变化,未点击查询按钮,再点击分页的时候数据发生变化
lastQueryParam: {},
/* 数据源 */
dataSource: [],
/* 分页参数 */
ipagination: {
current: 1,
pageSize: 10,
pageSizeOptions: ['10', '20', '30', '50', '100'],
showTotal: (total, range) => {
return range[0] + '-' + range[1] + ' 共' + total + '条'
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
},
filter: {
contAmountType: 0 // 收支类型 0–收入 1–支出
},
/* 排序参数 */
isorter: {
column: 'createTime',
order: 'desc',
},
loading: false,
}
},
components: {
JDate
},
methods: {
open() {
this.visible = true
this.loadData(1)
},
close() {
this.visible = false
},
handleOk() {
},
handleCancel() {
this.close()
},
getQueryParams() {
//获取查询条件
let sqp = {}
let param = Object.assign(sqp, this.lastQueryParam, this.isorter, this.filter)
// param.field = this.getQueryField()
param.pageNo = this.ipagination.current
param.pageSize = this.ipagination.pageSize
return filterObj(param)
},
getQueryField() {
let str = 'id,'
if (this.columns && this.columns.length){
this.columns.forEach(function (value) {
str += ',' + value.dataIndex
})
}
return str
},
// 加载列表页中的数据
loadData(arg) {
//加载数据 若传入参数1则加载第一页的内容
if (arg === 1) {
this.ipagination.current = 1
}
let params = this.getQueryParams()//查询条件
this.loading = true
getContractPage(params).then(result => {
if(result.success) {
let res = result.result
this.dataSource = res.data.list
if (res.data.count) {
this.ipagination.total = res.data.count
//清空列表选中
this.onClearSelected()
} else {
this.ipagination.total = 0
}
}
}).finally(() => {
this.loading = false
})
},
handleTableChange(pagination, filters, sorter) {
//分页、排序、筛选变化时触发
if (Object.keys(sorter).length > 0) {
this.isorter.column = sorter.field
this.isorter.order = 'ascend' == sorter.order ? 'asc' : 'desc'
}
this.ipagination = pagination
this.loadData()
},
onSelectChange(selectedRowKeys, selectionRows) {
this.selectedRowKeys = selectedRowKeys
this.selectionRows = selectionRows
},
onClearSelected() {
this.selectedRowKeys = []
this.selectionRows = []
},
searchQuery() {
this.lastQueryParam = {...this.queryParam}
this.loadData(1)
},
searchReset() {
this.lastQueryParam = {}
this.queryParam = {}
this.loadData(1)
},
// 点击获取合同信息,同步到新增合同的页面
handleGetInfo(record) {
let id = record.id
getContractById({id}).then(res => {
if(res.success) {
this.$emit('update-info', res.result.data)
this.close()
}
}).finally(() => {
})
}
}
}
</script>
<style scoped lang="less">
.table-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
@@ -1,6 +1,11 @@
<template>
<div>
<page-header-title :is-level-one="false" :img-for-icon="IconImg" :level-two-title="title"></page-header-title>
<page-header-title class="page-header-title" :is-level-one="false" :img-for-icon="IconImg" :level-two-title="title">
<template v-slot:default>
<!--只有新增的时候 可以查看iop系统合同的数据-->
<a-button v-if="!model.id" class="top-btn" type="link" @click="lookOtherSystemData">查看合同数据</a-button>
</template>
</page-header-title>
<a-card :bordered="false">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
@@ -30,10 +35,13 @@
</a-col>
<a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="签订单位" :labelCol="labelCol" :wrapperCol="wrapperCol">
<company-select placeholder="请选择签订单位"
:disabled="isSaved || canEdit"
v-decorator="['signedCompany',validatorRules.signedCompany]"
@change="handleSignedCompanyChange"></company-select>
<company-select
ref="companySelect"
placeholder="请选择签订单位"
:disabled="isSaved || canEdit"
v-decorator="['signedCompany',validatorRules.signedCompany]"
@change="handleSignedCompanyChange"
></company-select>
</a-form-item>
</a-col>
<a-col :xxl="6" :xl="8" :sm="12" style="margin-bottom: 0px">
@@ -60,6 +68,7 @@
<select-principal placeholder="请选择负责人"
:disabled="canEdit"
v-decorator="['principalId',validatorRules.principalId]"
ref="selectPrincipal"
@change="principalChange"></select-principal>
</a-form-item>
</a-col>
@@ -302,6 +311,8 @@
<!-- 会员项目选择-->
<select-member-project-module ref="selectMemberProjectModule"
@ok="selectProjectOk"></select-member-project-module>
<!-- 其他系统合同的数据 IOP系统-->
<other-system-contract ref="otherSystemContract" @update-info="updateInfoFunc"></other-system-contract>
</div>
</template>
@@ -328,7 +339,10 @@ import { money } from '../../../../utils/validate'
import SelectWorkingGroupProjectModule from './SelectWorkingGroupProjectModule'
import { addZero } from '../../../../utils/util'
import moment from 'moment'
import { getAccessToken } from '../../../../api/contractOpenApi'
import OtherSystemContract from './OtherSystemContract'
import { ConnectionKey } from './ContractData'
import Vue from 'vue'
export default {
name: 'RevenueContractModule',
components: {
@@ -344,7 +358,8 @@ export default {
AssociatedProject,
SelectMeetingProjectModule,
SelectMemberProjectModule,
SelectWorkingGroupProjectModule
SelectWorkingGroupProjectModule,
OtherSystemContract
},
data() {
return {
@@ -468,6 +483,8 @@ export default {
} else {
this.add()
}
// 获取IOP系统的token --不需要了 后端做相关操作即可
// this.getOtherSystemAccessToken()
},
methods: {
addZero,
@@ -909,6 +926,48 @@ export default {
*/
disabledPackDate(current) {
return current < moment().subtract(15, 'year') || current > moment().add(1, 'year')
},
// 获取iop系统的token-用于合同的对接
getOtherSystemAccessToken() {
let params = {
'appid': 'asri',
'secret': 'QyYjBQ5LyJkxktvMoKqdUOUtYgkk2VW4DgaKjgVIjCoVz7R5bgNoS'
}
getAccessToken(params).then(res => {
if(res.success) {
}
})
},
// 查询其他系统的数据,2022-3-31 需要变更对接其他的系统
lookOtherSystemData() {
this.$refs.otherSystemContract.open()
},
// 从iop系统中获取合同的信息
updateInfoFunc(info) {
let obj = {}
// 提前写好 能对应上的字段
Object.keys(ConnectionKey).forEach(key => {
obj[key] = info[ConnectionKey[key]]
})
// 通过员工号或者姓名 查询相关的负责人数据
// 负责人信息的处理 todo 需要增加员工号的判断
let userInfo = {
realname: obj.realname, // 申请人
orgCodeTxt: obj.orgCodeTxt // 申请部门
}
this.$refs.selectPrincipal.setValueByOtherInfo(userInfo)
// 签订单位信息的处理
// let signedCompanyInit = {
// signedCompanyName: info.contSignPartnerAName
// }
//todo 需要调接口 通过 企业名称查询 当前的企业信息,然后赋值到主体信息中
// this.$refs.companySelect.setValueByCompanyName(signedCompanyInit)
//iop系统没有签订联系人字段
// 操作数据,将数据赋值
this.$nextTick(() => {
this.form.setFieldsValue(obj)
})
}
}
}
@@ -928,4 +987,11 @@ export default {
.ant-btn > .anticon + span, .ant-btn > span + .anticon {
margin-left: 0;
}
</style>
.page-header-title {
position: relative;
}
.top-btn{
position: absolute;
right: 10px;
}
</style>