diff --git a/src/api/contractOpenApi.js b/src/api/contractOpenApi.js
new file mode 100644
index 0000000..666e580
--- /dev/null
+++ b/src/api/contractOpenApi.js
@@ -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
+}
diff --git a/src/components/company/SelectPrincipal.vue b/src/components/company/SelectPrincipal.vue
index 4948b8d..9f5f12c 100644
--- a/src/components/company/SelectPrincipal.vue
+++ b/src/components/company/SelectPrincipal.vue
@@ -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 {
\ No newline at end of file
+
diff --git a/src/components/layouts/PageHeaderTitle.vue b/src/components/layouts/PageHeaderTitle.vue
index 125ce38..17e5660 100644
--- a/src/components/layouts/PageHeaderTitle.vue
+++ b/src/components/layouts/PageHeaderTitle.vue
@@ -11,6 +11,9 @@
+
+
+
@@ -74,4 +77,4 @@ export default {
color: #666666;
}
}
-
\ No newline at end of file
+
diff --git a/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue b/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue
index 1a4ecde..4a77f61 100644
--- a/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue
+++ b/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue
@@ -1,6 +1,11 @@
-
+
+
+
+ 查看合同数据
+
+
@@ -81,10 +86,13 @@
-
+
@@ -276,6 +284,9 @@
+
+
+
@@ -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;
}
-
\ No newline at end of file
+
+.page-header-title {
+ position: relative;
+}
+.top-btn{
+ position: absolute;
+ right: 10px;
+}
+
diff --git a/src/views/contractManagement/revenueContract/modules/ContractData.js b/src/views/contractManagement/revenueContract/modules/ContractData.js
new file mode 100644
index 0000000..079a3c1
--- /dev/null
+++ b/src/views/contractManagement/revenueContract/modules/ContractData.js
@@ -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', //未税金额--未税金额(人民币)
+}
diff --git a/src/views/contractManagement/revenueContract/modules/OtherSystemContract.vue b/src/views/contractManagement/revenueContract/modules/OtherSystemContract.vue
new file mode 100644
index 0000000..72c1d9b
--- /dev/null
+++ b/src/views/contractManagement/revenueContract/modules/OtherSystemContract.vue
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+ {{ text }}
+ {{ text }}
+
+
+
+ 获取合同基础信息
+
+
+
+
+ 关闭
+ 确定
+
+
+
+
+
+
+
+
diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
index b988d34..638e19a 100644
--- a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
+++ b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue
@@ -1,6 +1,11 @@
-
+
@@ -30,10 +35,13 @@
-
+
@@ -60,6 +68,7 @@
@@ -302,6 +311,8 @@
+
+
@@ -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;
}
-
\ No newline at end of file
+.page-header-title {
+ position: relative;
+}
+.top-btn{
+ position: absolute;
+ right: 10px;
+}
+