From 01cdf55d13b30406208eb24ae81a04a426c9522f Mon Sep 17 00:00:00 2001 From: fengchenchen Date: Wed, 6 Apr 2022 11:56:42 +0800 Subject: [PATCH] =?UTF-8?q?[update]=20-=20=E6=94=AF=E5=87=BA=E5=90=88?= =?UTF-8?q?=E5=90=8C=E3=80=81=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C-?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=A1=B5=E9=9D=A2-=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BB=8Eiop=E7=B3=BB=E7=BB=9F=E5=90=8C=E6=AD=A5=E5=90=88?= =?UTF-8?q?=E5=90=8C=E6=95=B0=E6=8D=AE=E7=9A=84=E5=8A=9F=E8=83=BD1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/contractOpenApi.js | 23 ++ src/components/company/SelectPrincipal.vue | 9 +- src/components/layouts/PageHeaderTitle.vue | 5 +- .../modules/ExpenditureContractModule.vue | 64 +++- .../revenueContract/modules/ContractData.js | 247 +++++++++++++ .../modules/OtherSystemContract.vue | 344 ++++++++++++++++++ .../modules/RevenueContractModule.vue | 82 ++++- 7 files changed, 756 insertions(+), 18 deletions(-) create mode 100644 src/api/contractOpenApi.js create mode 100644 src/views/contractManagement/revenueContract/modules/ContractData.js create mode 100644 src/views/contractManagement/revenueContract/modules/OtherSystemContract.vue 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 @@ {{ levelTwoTitle }} + @@ -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 @@ @@ -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 @@ + + + + + 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 @@ @@ -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; +} +