Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄庭坚
jinfa-platform
Commits
cf0a5a0e
Commit
cf0a5a0e
authored
May 05, 2022
by
wuting
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 合同相关
parent
5e828000
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
455 additions
and
111 deletions
+455
-111
api.config.js
api.config.js
+21
-57
contracRoute.ts
config/routes/contracRoute.ts
+14
-0
index.ts
config/routes/index.ts
+2
-3
common.ts
src/locales/zh-CN/afterService/common.ts
+2
-0
contract.ts
src/locales/zh-CN/contract.ts
+2
-1
index.tsx
src/pages/contract/contractexecution/details/index.tsx
+44
-8
PurchaseList.tsx
...contract/coordination/details/components/PurchaseList.tsx
+3
-3
index.tsx
src/pages/contract/coordination/details/index.tsx
+46
-12
addList.tsx
src/pages/contract/manage/add/addList.tsx
+0
-5
FormList.tsx
src/pages/contract/manage/add/components/FormList.tsx
+37
-4
Information.tsx
src/pages/contract/manage/add/components/Information.tsx
+2
-2
schema.tsx
src/pages/contract/manage/add/components/schema.tsx
+144
-0
contracAdd.tsx
src/pages/contract/manage/add/contracAdd.tsx
+9
-2
index.tsx
src/pages/contract/manage/creatExamine/index.tsx
+1
-1
Table.tsx
src/pages/contract/manage/details/Table.tsx
+69
-0
index.tsx
src/pages/contract/manage/details/index.tsx
+54
-8
index.tsx
src/pages/contract/manage/purchaseRequisition/index.tsx
+5
-5
No files found.
api.config.js
View file @
cf0a5a0e
// module.exports = [
// { name: 'LogisticsV2', token: '732fb8e33970ff5dee830423a630e8e85c3ef3293abba7581b16749dfce8608b', categoryIds: [0], }, // 物流能力v2
// { name: 'ProductV2', token: 'df37f2a0e3829c4288708ae211920bdbdee55e5e2f48b1e8cf7d1925ac618d9a', categoryIds: [0], }, // 商品服务V2
// { name: 'TemplateV2', token: '7bb5578bc50e4e7935cbc146a2192e978053d5380cc96fcfdc0a754cfe885ec5', categoryIds: [0], }, // 页面模板服务V2
// { name: 'PayV2', token: '4b5f2f2d42f0774b61074d69d5d756c725ba067d9dafe2c3785f592ae85d1696', categoryIds: [0], }, // 支付服务
// { name: 'SearchV2', token: 'f3e6ec26764f54d06ba33f487ff42d7debeaef397e51dc395040447737eb2e66', categoryIds: [0], }, // 搜索服务V2
// { name: 'PurchaseV2', token: '84c81ef877863ad4e2c0ebb2c3b3e80f9539420f2fc0828ef33f5159e8423b2c', categoryIds: [0] }, // 采购服务V2
// { name: 'SettleV2', token: 'fed8d45aa92e7f0e382a3dcc5e0ef63f13f0badeabab76d6a6e2db49aa403346', categoryIds: [0] },
// { name: 'TransactionV2', token: '3ad04435494d01c359b9f07948338e019133a3e6c0fccdbe1bc3adc19cf1e0b1', categoryIds: [0] }, // 交易服务V2
// { name: 'ContractV2', token: 'bbf1f327cfe7c59d1e7fd9c5d25119829dd79d238b1f1c79ed97331e220721a4', categoryIds: [0] }, // 合同能力V2
// { name: 'OrderNewV2', token: '89202a7986a86e7306925203d7eea0d999af8bb98d70a210d217a470d44b2dba', categoryIds: [0], }, //订单服务V2 New
// { name: 'MemberV2', token: 'be87c2732cb1253f82fe6c27d6cca9982c7dca9b384e46cc2e797b5835846834', categoryIds: [0]}, //会员服务 V2
// { name: 'ReportV2', token: 'dab50c384c27f1c981a03f2c44ad76d1e7e1f60b4520bd279cea67f5cf146cee', categoryIds: [0]}, // 报表服务v2 首页
// { name: 'EnhanceV2', token: '71b97616a81866ade2731437ca121e288b1dd8331dce4b5c1ccaacb176c16580', categoryIds: [0], }, // 加工服务v2
// { name: 'MessageV2', token: '69a667ec9861e8bdc25b89238d0b908a2123d9fce26e72fec3cdf6cd0b1f2681', categoryIds: [0], }, // 消息中心v2
// { name: 'MarketingV2', token: 'f6d5cee2383ca203dfa2882b84dfa02a1d79de3c3ad892b42f030437fdc5ea21', categoryIds: [0], }, // 营销能力
// { name: 'AfterServiceV2', token: '58748fc89dcdb33ec5cac520c00293ba92abca362a8ddb979df589effd0db9bd', categoryIds: [0], }, // 售后能力V2
// { name: 'ManageV2', token: '9ee3a1cb5a73ca02935e70debeda5bde0464f2fe1eb32c25855fd8acff9f68f2', categoryIds: [0] }, // 平台后台v2
// ]
// 0418-1 token
module
.
exports
=
[
// { name: 'LogisticsV2', token: 'ff10daec7b157ce947bef7176aa0147552661ea8f97738a41ec96069be6a3481', categoryIds: [0], }, // 物流能力v2
// { name: 'ProductV2', token: '1faeefe3cc912d5432d93de557cbf8be17c6447bf24fb3fa688173141ce00d4f', categoryIds: [0], }, // 商品服务V2
// { name: 'TemplateV2', token: '4eecf68f9059e8cd27fa1352a5c7cf6b156eefc59d52a888f7fab01126da8994', categoryIds: [0], }, // 页面模板服务V2
// { name: 'PayV2', token: 'a14dfa0fffd384a24843954a917fb27b78e23e53b7d28d42248a254b202eaa90', categoryIds: [0], }, // 支付服务
// { name: 'SearchV2', token: 'b4e916defa54255660f68bb335df3f94bf0e7260028dbb69fd6738207cbaba5b', categoryIds: [0], }, // 搜索服务V2
// { name: 'PurchaseV2', token: 'cef36f11dfac17a8f4cb3a4ec946deb54a65edda1ad76f8587f242d98e5e3f2c', categoryIds: [0] }, // 采购服务V2
// { name: 'SettleV2', token: '1c554ec3e971485a370e653076b3ac2c999aed5cfcfbb008b02a0991dd0ef95d', categoryIds: [0] }, // 结算服务v2-220518
// { name: 'TransactionV2', token: '168e07e024e308bea401f3d4f2d18bfa15e00954990e4176df08cd49c0bfa0e0', categoryIds: [0] }, // 交易服务V2
// { name: 'ContractV2', token: '57e1ae524a6e1686a177aa395e0cddb580523b24adbe83a0ca5ba80b1f0d8777', categoryIds: [0] }, // 合同能力V2
// { name: 'OrderNewV2', token: '12e8d61e6c2a55ef892404a96e98c344d65696c34f9f364bc97812e30411c0f4', categoryIds: [0], }, // 订单服务V2 New
// { name: 'MemberV2', token: 'c0b8c4e8c7bbe3e1c5b060cc45336c3b04ac0701d1186edf6436b225fa7dbd2f', categoryIds: [0]}, // 会员服务 V2
// { name: 'ReportV2', token: '1762def61d411ac1ff497a831b06b926dc5802311bac8e940f9acabe4f8bf385', categoryIds: [0]}, // 报表服务v2 首页
// { name: 'EnhanceV2', token: '8efd00b2b9cef434b60f38755ddbbd826cd46c56fe14472cade467f5cb5a84bb', categoryIds: [0], }, // 加工服务v2
// { name: 'MessageV2', token: '7fc4a903c8ce9318fe925b1d95a39a42d7df4ba8d88df2b1260b714e24ab0db8', categoryIds: [0], }, // 消息中心v2
// { name: 'MarketingV2', token: '0b705237f97ac68774bfcbbcbeaaf2a8f2c9381c42f6d5d0eaee219ef041701b', categoryIds: [0], }, // 营销能力
// { name: 'AfterServiceV2', token: '906dfe7bb2cb64b40c45cd9ccc8e7bab09003779e8103be2c7bd11a1ba9dcbb9', categoryIds: [0], }, // 售后能力V2
// { name: 'ManageV2', token: '9ed658e616fbc3d317fdbbbaeb16c2f21613903f13787745c460358c41a438ae', categoryIds: [0] }, // 平台后台v2
{
name
:
'LogisticsV2'
,
token
:
'5b6895dc979cdfab94633c2e4560a93447433a9d6fd21a104cc7172de4a4ca37'
,
categoryIds
:
[
0
],
},
// 物流能力v2
{
name
:
'ProductV2'
,
token
:
'f29e9838081cc781c714c9097e1c2d97710f089d1d63a165558f21d2061a2404'
,
categoryIds
:
[
0
],
},
// 商品服务V2
{
name
:
'TemplateV2'
,
token
:
'3ec622ca65837d19c73a0ccca73da613b9aa1895f4f9143bf3eb98c8f605e66e'
,
categoryIds
:
[
0
],
},
// 页面模板服务V2
{
name
:
'PayV2'
,
token
:
'ed541f0943fbc761e47c5d413a7776186bf67c43f99d1e91214ae122cee465c0'
,
categoryIds
:
[
0
],
},
// 支付服务
{
name
:
'SearchV2'
,
token
:
'b0423596740a30283a6b70343800e2e174a6560a127232194771573848f67163'
,
categoryIds
:
[
0
],
},
// 搜索服务V2
{
name
:
'PurchaseV2'
,
token
:
'c8b34b7cf918b96f849df658601f3d845b0c6a265de64337d8a908bbc633470d'
,
categoryIds
:
[
0
]
},
// 采购服务V2
{
name
:
'SettleV2'
,
token
:
'47a1140c81879627e572bc52110ee0adcdc78c643a64f71c372effb35a026188'
,
categoryIds
:
[
0
]
},
// 结算服务v2
{
name
:
'TransactionV2'
,
token
:
'd2c967e2d0ee89056d3ff01ba9e95c0444e53a3080ca6c4f0115e0cebc9dc76b'
,
categoryIds
:
[
0
]
},
// 交易服务V2
{
name
:
'ContractV2'
,
token
:
'1b05e9f374449268bcba29d4334cd76ff8791ce8b1ae9fb8d685164aeee7486d'
,
categoryIds
:
[
0
]
},
// 合同能力V2
{
name
:
'OrderNewV2'
,
token
:
'8bdfa25f6af5ded9d4dbdbcbf46b4ab152171330a47b32eee3743a192192a165'
,
categoryIds
:
[
0
],
},
//订单服务V2 New
{
name
:
'MemberV2'
,
token
:
'7f9275059dca64485b5a21e0eb6f5cd0dddc9e30c5b03059471403fc5de82413'
,
categoryIds
:
[
0
]},
//会员服务 V2
{
name
:
'ReportV2'
,
token
:
'e8cbde5466eed9b42f6cf96970ca7fbf8c7c426b428ac1afe73e7e43ae90e445'
,
categoryIds
:
[
0
]},
// 报表服务v2 首页
{
name
:
'EnhanceV2'
,
token
:
'7522ffe44cc00a0f3a1223a80113e7913293c00121f9106bcc22dcd3fc0ab380'
,
categoryIds
:
[
0
],
},
// 加工服务v2
{
name
:
'MessageV2'
,
token
:
'6dd48310418fa369d74b9d197e01b210703301060ae0fe11837e4f70a1278bd3'
,
categoryIds
:
[
0
],
},
// 消息中心v2
{
name
:
'MarketingV2'
,
token
:
'da33eca17ea2afd5dd5416f5ea5a5e45b481d1484518cd8fcad20c4289d0109b'
,
categoryIds
:
[
0
],
},
// 营销能力
{
name
:
'AfterServiceV2'
,
token
:
'7d8ead30acaa11c08921837d2bb5b507c9f8b8cdf795b15b47239ed1d8f79892'
,
categoryIds
:
[
0
],
},
// 售后能力V2
{
name
:
'ManageV2'
,
token
:
'b4a98fa71fa56ff34161166e714621810455c790e64f407f8788ef69cdafe234'
,
categoryIds
:
[
0
]
},
// 平台后台v2
]
// 0518
module
.
exports
=
[
{
name
:
'LogisticsV2'
,
token
:
'ff10daec7b157ce947bef7176aa0147552661ea8f97738a41ec96069be6a3481'
,
categoryIds
:
[
0
],
},
// 物流能力v2
{
name
:
'ProductV2'
,
token
:
'0d4f57ab9692292c46cd3bc5a5d266cf2eac53aa0c0eb5887dfbf70540c16282'
,
categoryIds
:
[
0
],
},
// 商品服务V2
{
name
:
'TemplateV2'
,
token
:
'4eecf68f9059e8cd27fa1352a5c7cf6b156eefc59d52a888f7fab01126da8994'
,
categoryIds
:
[
0
],
},
// 页面模板服务V2
{
name
:
'PayV2'
,
token
:
'a14dfa0fffd384a24843954a917fb27b78e23e53b7d28d42248a254b202eaa90'
,
categoryIds
:
[
0
],
},
// 支付服务
{
name
:
'SearchV2'
,
token
:
'b4e916defa54255660f68bb335df3f94bf0e7260028dbb69fd6738207cbaba5b'
,
categoryIds
:
[
0
],
},
// 搜索服务V2
{
name
:
'PurchaseV2'
,
token
:
'cef36f11dfac17a8f4cb3a4ec946deb54a65edda1ad76f8587f242d98e5e3f2c'
,
categoryIds
:
[
0
]
},
// 采购服务V2
{
name
:
'SettleV2'
,
token
:
'1c554ec3e971485a370e653076b3ac2c999aed5cfcfbb008b02a0991dd0ef95d'
,
categoryIds
:
[
0
]
},
// 结算服务v2-220518
{
name
:
'TransactionV2'
,
token
:
'168e07e024e308bea401f3d4f2d18bfa15e00954990e4176df08cd49c0bfa0e0'
,
categoryIds
:
[
0
]
},
// 交易服务V2
{
name
:
'ContractV2'
,
token
:
'1b05e9f374449268bcba29d4334cd76ff8791ce8b1ae9fb8d685164aeee7486d'
,
categoryIds
:
[
0
]
},
// 合同能力V2
{
name
:
'OrderNewV2'
,
token
:
'12e8d61e6c2a55ef892404a96e98c344d65696c34f9f364bc97812e30411c0f4'
,
categoryIds
:
[
0
],
},
// 订单服务V2 New
{
name
:
'MemberV2'
,
token
:
'c0b8c4e8c7bbe3e1c5b060cc45336c3b04ac0701d1186edf6436b225fa7dbd2f'
,
categoryIds
:
[
0
]},
// 会员服务 V2
{
name
:
'ReportV2'
,
token
:
'1762def61d411ac1ff497a831b06b926dc5802311bac8e940f9acabe4f8bf385'
,
categoryIds
:
[
0
]},
// 报表服务v2 首页
{
name
:
'EnhanceV2'
,
token
:
'8efd00b2b9cef434b60f38755ddbbd826cd46c56fe14472cade467f5cb5a84bb'
,
categoryIds
:
[
0
],
},
// 加工服务v2
{
name
:
'MessageV2'
,
token
:
'7fc4a903c8ce9318fe925b1d95a39a42d7df4ba8d88df2b1260b714e24ab0db8'
,
categoryIds
:
[
0
],
},
// 消息中心v2
{
name
:
'MarketingV2'
,
token
:
'0b705237f97ac68774bfcbbcbeaaf2a8f2c9381c42f6d5d0eaee219ef041701b'
,
categoryIds
:
[
0
],
},
// 营销能力
{
name
:
'AfterServiceV2'
,
token
:
'906dfe7bb2cb64b40c45cd9ccc8e7bab09003779e8103be2c7bd11a1ba9dcbb9'
,
categoryIds
:
[
0
],
},
// 售后能力V2
{
name
:
'ManageV2'
,
token
:
'b4a98fa71fa56ff34161166e714621810455c790e64f407f8788ef69cdafe234'
,
categoryIds
:
[
0
]
},
// 平台后台v2 // 平台后台v2
]
\ No newline at end of file
config/routes/contracRoute.ts
View file @
cf0a5a0e
...
...
@@ -140,12 +140,14 @@ const contracRoute = {
path
:
'/memberCenter/contract/manage/creatExamine'
,
name
:
'待审核合同创建(一级)'
,
component
:
'@/pages/contract/manage/creatExamine'
,
// creatExamineOne.see 查看详情
},
{
path
:
'/memberCenter/contract/manage/creatExamine/details'
,
name
:
'待提交审核合同创建-详情'
,
hideInMenu
:
true
,
noMargin
:
true
,
component
:
'@/pages/contract/manage/details'
,
},
{
...
...
@@ -303,6 +305,7 @@ const contracRoute = {
path
:
'/memberCenter/contract/coordination/coordinationList/details'
,
name
:
'合同查询详情'
,
hideInMenu
:
true
,
noMargin
:
true
,
component
:
'@/pages/contract/coordination/details'
,
},
{
...
...
@@ -314,6 +317,7 @@ const contracRoute = {
path
:
'/memberCenter/contract/coordination/pageToBeSubmitExamine/details'
,
name
:
'合同查询详情'
,
hideInMenu
:
true
,
noMargin
:
true
,
component
:
'@/pages/contract/coordination/details'
,
},
{
...
...
@@ -325,6 +329,7 @@ const contracRoute = {
path
:
'/memberCenter/contract/coordination/pageToBeExamineOne/details'
,
name
:
'合同查询详情'
,
hideInMenu
:
true
,
noMargin
:
true
,
component
:
'@/pages/contract/coordination/details'
,
},
{
...
...
@@ -336,6 +341,7 @@ const contracRoute = {
path
:
'/memberCenter/contract/coordination/pageToBeExamineTwo/details'
,
name
:
'合同查询详情'
,
hideInMenu
:
true
,
noMargin
:
true
,
component
:
'@/pages/contract/coordination/details'
,
},
{
...
...
@@ -344,6 +350,13 @@ const contracRoute = {
component
:
'@/pages/contract/coordination/Sign'
,
},
{
path
:
'/memberCenter/contract/coordination/Sign/details'
,
name
:
'待签订合同详情'
,
hideInMenu
:
true
,
noMargin
:
true
,
component
:
'@/pages/contract/coordination/details'
,
},
{
path
:
'/memberCenter/contract/coordination/implement'
,
name
:
'合同执行查询'
,
component
:
'@/pages/contract/coordination/implement'
,
...
...
@@ -352,6 +365,7 @@ const contracRoute = {
path
:
'/memberCenter/contract/coordination/implement/details'
,
name
:
'合同查询详情'
,
hideInMenu
:
true
,
noMargin
:
true
,
component
:
'@/pages/contract/coordination/details'
,
},
],
...
...
config/routes/index.ts
View file @
cf0a5a0e
...
...
@@ -25,12 +25,11 @@ import ProcurementRoute from './procurementRoute';
// import { purchaseInquiryRoute } from './procurementRoute/purchaseInquiry';
import
contracRoute
from
'./contracRoute'
;
import
MaterialRoute
from
'./materialRoute'
;
import
{
truncate
}
from
'lodash'
;
// export const routes = [CommodityRoute, MemberRoute, ShopRoute, ChannelRoute, TranactionRoute, AfterService, PayandSettleRoute, LogisticsRoute, AuthConfigRoute, HandlingRoute, BalaceRoute]
// const isDev = process.env.NODE_ENV === 'development'
const
isDev
=
tru
e
const
isDev
=
fals
e
const
homeRoute
=
{
path
:
`/memberCenter/home`
,
name
:
'home'
,
...
...
@@ -49,7 +48,7 @@ const srmPurchaserHomeRoute = {
// isDev ? [ homeRoute, OrderRoute ] :
// const routes = asyncRoutes;
const
routes
=
isDev
?
[
homeRoute
,
contracRoute
,
AuthConfigRoute
,
Material
Route
]
:
asyncRoutes
;
const
routes
=
isDev
?
[
homeRoute
,
contracRoute
,
Commodity
Route
]
:
asyncRoutes
;
const
memberCenterRoute
=
{
path
:
'/memberCenter'
,
...
...
src/locales/zh-CN/afterService/common.ts
View file @
cf0a5a0e
...
...
@@ -219,4 +219,6 @@ export default {
'afterService.apply.repairReason.required'
:
'请填写维修原因'
,
'afterService.apply.shippingAddress.repair'
:
'维修地址'
,
'afterService.apply.shippingAddress.repair.required'
:
'请选择维修地址'
,
'afterService.common.query.requisitionNo.tip'
:
'输入 申请单号 进行搜索'
,
}
src/locales/zh-CN/contract.ts
View file @
cf0a5a0e
...
...
@@ -188,7 +188,7 @@ export default {
'contract.qingkuantongji'
:
'请款统计'
,
'contract.hetongbianhao'
:
'合同编号'
,
'contract.hetongzhaiyao'
:
'合同摘要'
,
'contract.xunyuanleixing'
:
'
寻
源类型'
,
'contract.xunyuanleixing'
:
'
来
源类型'
,
'contract.duiyingdanju'
:
'对应单据'
,
'contract.hetongjine'
:
'合同金额'
,
'contract.hetongyouxiaoqi'
:
'合同有效期'
,
...
...
@@ -451,6 +451,7 @@ export default {
'contract.purchase.add.tip.continue'
:
'是否继续?'
,
'contract.supplier'
:
'供应商'
,
'contract.buyer'
:
'采购商'
,
'contract.currency'
:
'币别'
,
'contract.currency.tip'
:
'请选择币别'
,
'contract.contractAmount'
:
'合同金额'
,
...
...
src/pages/contract/contractexecution/details/index.tsx
View file @
cf0a5a0e
...
...
@@ -15,6 +15,7 @@ import DetailedList from './components/DetailedList';
import
DrawerModal
from
'./components/DrawerModal'
;
import
PopModal
from
'./components/PopModal'
;
import
{
getContractExecuteGetDetail
,
getContractExecutePageExecuteInfoList
,
getContractManageGetContractInfoByApplyAmountOrder
}
from
'@/services/ContractV2Api'
import
Associated
from
'../../components/detailCard/associated'
;
const
intl
=
getIntl
();
const
PAGE_SIZE
=
8
;
const
{
RangePicker
}
=
DatePicker
...
...
@@ -40,6 +41,14 @@ const Details = (props: any) => {
col2
:
[],
col3
:
[],
})
/** 关联信息 */
const
[
associatedInfo
,
setAssociatedInfo
]
=
useState
<
any
>
({
col1
:
[],
col2
:
[],
})
const
[
payPlanList
,
setpayPlanList
]
=
useState
<
any
>
([])
const
[
page
,
setPage
]
=
useState
(
1
);
const
[
size
,
setSize
]
=
useState
(
PAGE_SIZE
);
...
...
@@ -52,6 +61,7 @@ const Details = (props: any) => {
const
[
contractAbstract
,
setcontractAbstract
]
=
useState
();
const
[
tabPane
]
=
useState
([
{
id
:
'process'
,
title
:
intl
.
formatMessage
({
id
:
'contract.jibenliucheng'
})
},
{
id
:
'associated'
,
title
:
intl
.
formatMessage
({
id
:
'contract.associateInformation'
})
},
{
id
:
'conditions'
,
title
:
intl
.
formatMessage
({
id
:
'contract.fukuanjihua'
})
},
{
id
:
'docking'
,
title
:
intl
.
formatMessage
({
id
:
'contract.zhixingqingkuang'
})
},
{
id
:
'record'
,
title
:
intl
.
formatMessage
({
id
:
'contract.qingkuantongji'
})
},
...
...
@@ -145,23 +155,37 @@ const Details = (props: any) => {
setcontractNo
(
basics
.
contractNo
)
setcontractAbstract
(
basics
.
contractAbstract
)
setbasics
(
basics
)
const
basicInfo
=
{
const
basicInfo
=
{
col1
:
[
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongbianhao'
}),
extra
:
basics
.
contractNo
?
basics
.
contractNo
:
''
,
url
:
`/memberCenter/contract/manage/QueryList/QueryListdetails?contractId=
${
basics
.
id
}
`
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongbianhao'
}),
extra
:
basics
.
contractNo
?
basics
.
contractNo
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongzhaiyao'
}),
extra
:
basics
.
contractAbstract
?
basics
.
contractAbstract
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.waibuzhuangtai'
}),
extra
:
basics
.
outerStatusName
?
basics
.
outerStatusName
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.waibuzhuangtai'
}),
extra
:
basics
.
outerStatusName
?
basics
.
outerStatusName
:
''
,
type
:
"StatusTag"
},
],
col2
:
[
{
label
:
intl
.
formatMessage
({
id
:
'contract.xunyuanleixing'
}),
extra
:
basics
.
sourceTypeName
?
basics
.
sourceTypeName
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.duiyingdanju'
}),
extra
:
basics
.
sourceNo
?
basics
.
sourceNo
:
''
,
url
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongyifang'
}),
extra
:
basics
.
partyBName
?
basics
.
partyBName
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongyouxiaoqi'
}),
extra
:
`
${
basics
.
startTime
}${
intl
.
formatMessage
({
id
:
'common.text.to'
})}${
basics
.
endTime
}
`
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.neibuzhuangtai'
}),
extra
:
basics
.
innerStatusName
?
basics
.
innerStatusName
:
''
},
// { label: intl.formatMessage({ id: 'contract.duiyingdanju' }), extra: basics.sourceNo ? basics.sourceNo : '', },
// { label: intl.formatMessage({ id: 'contract.shoubiaohuiyuan' }), extra: basics.partyBName ? basics.partyBName : '' },
// { label: intl.formatMessage({ id: 'contract.shoubiaojine' }), extra: basics.totalAmount ? `${intl.formatMessage({ id: 'common.money' })}${basics.totalAmount}` : '' },
],
col3
:
[
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongjine'
}),
extra
:
basics
.
totalAmount
?
`
${
intl
.
formatMessage
({
id
:
'common.money'
})}${
basics
.
totalAmount
}
`
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongyouxiaoqi'
}),
extra
:
`
${
basics
.
startTime
}${
intl
.
formatMessage
({
id
:
'common.text.to'
})}${
basics
.
endTime
}
`
},
],
}
let
associatedInfo
:
any
=
{
col1
:[
{
label
:
intl
.
formatMessage
({
id
:
'contract.duiyingdanju'
}),
extra
:
basics
.
sourceNo
?
basics
.
sourceNo
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.supplier'
}),
extra
:
basics
.
partyBName
?
basics
.
partyBName
:
''
},
],
col2
:[
{
label
:
intl
.
formatMessage
({
id
:
'contract.currency'
}),
extra
:
basics
.
currencyTypeName
?
basics
.
currencyTypeName
:
''
,
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.contractAmount'
}),
extra
:
basics
.
totalAmount
?
`
${
intl
.
formatMessage
({
id
:
'common.money'
})}${
basics
.
totalAmount
}
`
:
''
},
]
}
if
(
basics
.
sourceId
)
{
switch
(
basics
.
sourceType
)
{
case
1
:
{
...
...
@@ -178,8 +202,14 @@ const Details = (props: any) => {
basicInfo
.
col2
[
1
].
url
=
`/memberCenter/procurementAbility/purchaseBid/search/detail?id=
${
basics
.
sourceId
}
&number=
${
basics
.
sourceNo
}
`
break
;
};
case
4
:
{
const
urlData
=
`/memberCenter/procurementAbility/purchaseRequisition/purchaseRequisitionList/preview?id=
${
basics
.
sourceId
}
`
associatedInfo
.
col2
[
1
].
url
=
urlData
break
;
};
}
}
setAssociatedInfo
(
associatedInfo
)
setpayPlanList
(
payPlanList
)
setbasicInfo
(
basicInfo
)
}
...
...
@@ -370,6 +400,7 @@ const Details = (props: any) => {
targetOffset=
{
targetOffset
}
onChange=
{
handleAnchorChange
}
onClick=
{
handleAnchorClick
}
getContainer=
{
()
=>
document
.
querySelector
(
'main.ant-pro-basicLayout-content'
)
as
HTMLElement
}
>
<
div
style=
{
{
flex
:
1
}
}
>
<
div
className=
{
style
.
titleBox
}
>
...
...
@@ -408,8 +439,13 @@ const Details = (props: any) => {
</
div
>
</
Anchor
>
<
div
id=
'content'
className=
{
style
.
card
}
>
{
/* 基本信息 */
}
<
BasicInfo
basicInfo=
{
basicInfo
}
/>
{
/* 关联信息 */
}
<
Associated
associatedInfo=
{
associatedInfo
}
/>
{
/* 付款计划 */
}
<
PaymentCard
IsShow=
{
false
}
...
...
src/pages/contract/coordination/details/components/PurchaseList.tsx
View file @
cf0a5a0e
...
...
@@ -56,7 +56,7 @@ const purchaseList: React.FC<Iprops> = ({
{
title
:
intl
.
formatMessage
({
id
:
'contract.pinlei'
}),
dataIndex
:
'category'
,
align
:
'center'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.pinpai'
}),
dataIndex
:
'brand'
,
align
:
'center'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.danwei'
}),
dataIndex
:
'unit'
,
align
:
'center'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.
caigoushuliang
'
}),
dataIndex
:
'purchaseCount'
,
align
:
'center'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.
inquiry.number
'
}),
dataIndex
:
'purchaseCount'
,
align
:
'center'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.hanshui'
}),
dataIndex
:
'isHasTaxName'
,
align
:
'center'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.shuil'
}),
dataIndex
:
'taxRate'
,
align
:
'center'
,
...
...
@@ -82,7 +82,7 @@ const purchaseList: React.FC<Iprops> = ({
dataIndex
:
'bidCount'
,
align
:
'center'
,
title
:
(
<
Space
direction=
'vertical'
>
<
Text
>
{
intl
.
formatMessage
({
id
:
'contract.
shoubiaoshuliang
'
})
}
</
Text
>
<
Text
>
{
intl
.
formatMessage
({
id
:
'contract.
quantity
'
})
}
</
Text
>
<
Text
>
{
intl
.
formatMessage
({
id
:
'contract.heji'
})
}
:
{
Totalamount
}
</
Text
>
</
Space
>
),
...
...
@@ -91,7 +91,7 @@ const purchaseList: React.FC<Iprops> = ({
dataIndex
:
'bidAmount'
,
align
:
'center'
,
title
:
(
<
Space
direction=
'vertical'
>
<
Text
>
{
intl
.
formatMessage
({
id
:
'contract.
jinebu
hanshui'
})
}
</
Text
>
<
Text
>
{
intl
.
formatMessage
({
id
:
'contract.
hetongjine
hanshui'
})
}
</
Text
>
<
Text
>
{
intl
.
formatMessage
({
id
:
'contract.heji'
})
}
:
{
intl
.
formatMessage
({
id
:
'common.money'
})
}{
Numberamount
}
</
Text
>
</
Space
>
),
...
...
src/pages/contract/coordination/details/index.tsx
View file @
cf0a5a0e
...
...
@@ -19,6 +19,7 @@ import {
}
from
'@ant-design/icons'
import
{
getContractCoordinationGetDetail
,
getContractExecuteExecuteInfoPayDetailInfo
,
getContractSignatureGetHandSignatureUrl
,
postContractCoordinationExamineStepOne
,
postContractCoordinationExamineStepTwo
,
postContractCoordinationSign
,
postContractCoordinationSubmitExamine
}
from
'@/services/ContractV2Api'
import
{
getSettleAccountsBusinessApplyAmountDetailApplyAmount
}
from
'@/services/SettleV2Api'
;
import
Associated
from
'../../components/detailCard/associated'
;
const
{
Link
}
=
Anchor
;
const
activeAnchorClassName
=
'ant-anchor-link-active'
const
Details
=
(
props
:
any
)
=>
{
...
...
@@ -41,6 +42,12 @@ const Details = (props: any) => {
col2
:
[],
col3
:
[]
})
/** 关联信息 */
const
[
associatedInfo
,
setAssociatedInfo
]
=
useState
<
any
>
({
col1
:
[],
col2
:
[],
})
/**
* @param StepList 流转进度
* @param outerTaskStepList 外部
...
...
@@ -80,30 +87,44 @@ const Details = (props: any) => {
{
label
:
intl
.
formatMessage
({
id
:
'contract.waibuzhuangtai'
}),
extra
:
basics
.
outerStatusName
?
basics
.
outerStatusName
:
''
,
type
:
'StatusTag'
},
],
col2
:
[
{
label
:
intl
.
formatMessage
({
id
:
'contract.xunyuanleixing'
}),
extra
:
basics
.
sourceTypeName
?
basics
.
sourceTypeName
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.duiyingdanju'
}),
extra
:
basics
.
sourceNo
?
basics
.
sourceNo
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.xunyuanleixing'
}),
extra
:
basics
.
sourceType
==
4
?
intl
.
formatMessage
({
id
:
'contract.xinjian'
})
:
(
basics
.
sourceTypeName
||
''
)
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongyouxiaoqi'
}),
extra
:
`
${
basics
.
startTime
}${
intl
.
formatMessage
({
id
:
'common.text.to'
})}${
basics
.
endTime
}
`
},
// { label: intl.formatMessage({ id: 'contract.duiyingdanju' }), extra: basics.sourceNo ? basics.sourceNo : '' },
],
col3
:
[
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongyouxiaoqi'
}),
extra
:
`
${
basics
.
startTime
}${
intl
.
formatMessage
({
id
:
'common.text.to'
})}${
basics
.
endTime
}
`
},
],
],
}
if
(
type
)
{
basicInfo
.
col1
[
0
].
url
=
`/memberCenter/contract/coordination/coordinationList/details?contractId=
${
contractId
}
`
}
let
associatedInfo
:
any
=
{
col1
:[
{
label
:
intl
.
formatMessage
({
id
:
'contract.duiyingdanju'
}),
extra
:
basics
.
sourceNo
?
basics
.
sourceNo
:
''
},
// { label: intl.formatMessage({ id: 'contract.buyer' }), extra: basics.partyBName ? basics.partyBName : '' },
],
col2
:[
{
label
:
intl
.
formatMessage
({
id
:
'contract.currency'
}),
extra
:
basics
.
currencyTypeName
?
basics
.
currencyTypeName
:
''
,
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.contractAmount'
}),
extra
:
basics
.
totalAmount
?
`
${
intl
.
formatMessage
({
id
:
'common.money'
})}${
basics
.
totalAmount
}
`
:
''
},
]
}
if
(
type
!=
'implement'
)
{
basicInfo
.
col
1
.
push
({
label
:
intl
.
formatMessage
({
id
:
'contract.neibuzhuangtai'
}),
extra
:
basics
.
innerStatusName
?
basics
.
innerStatusName
:
''
})
basicInfo
.
col2
.
push
(
{
label
:
intl
.
formatMessage
({
id
:
'contract.
shoubiaohuiyuan
'
}),
extra
:
basics
.
partyAName
?
basics
.
partyAName
:
''
},
{
label
:
intl
.
formatMessage
({
id
:
'contract.shoubiaojine'
}),
extra
:
basics
.
totalAmount
?
`
${
intl
.
formatMessage
({
id
:
'common.money'
})}${
basics
.
totalAmount
}
`
:
''
},
basicInfo
.
col
2
.
push
({
label
:
intl
.
formatMessage
({
id
:
'contract.neibuzhuangtai'
}),
extra
:
basics
.
innerStatusName
?
basics
.
innerStatusName
:
''
})
associatedInfo
.
col1
.
push
(
{
label
:
intl
.
formatMessage
({
id
:
'contract.
buyer
'
}),
extra
:
basics
.
partyAName
?
basics
.
partyAName
:
''
},
//
{ label: intl.formatMessage({ id: 'contract.shoubiaojine' }), extra: basics.totalAmount ? `${intl.formatMessage({ id: 'common.money' })}${basics.totalAmount}` : '' },
)
}
else
{
basicInfo
.
col2
.
push
(
associatedInfo
.
col1
.
push
(
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongjiafang'
}),
extra
:
basics
.
partyAName
?
basics
.
partyAName
:
''
},
)
basicInfo
.
col3
.
unshift
(
{
label
:
intl
.
formatMessage
({
id
:
'contract.hetongjine'
}),
extra
:
basics
.
totalAmount
?
`
${
intl
.
formatMessage
({
id
:
'common.money'
})}${
basics
.
totalAmount
}
`
:
''
},
)
//
basicInfo.col3.unshift(
//
{ label: intl.formatMessage({ id: 'contract.hetongjine' }), extra: basics.totalAmount ? `${intl.formatMessage({ id: 'common.money' })}${basics.totalAmount}` : '' },
//
)
}
if
(
basics
.
sourceId
)
{
switch
(
basics
.
sourceType
)
{
...
...
@@ -123,8 +144,14 @@ const Details = (props: any) => {
basicInfo
.
col2
[
1
].
url
=
`/memberCenter/procurementAbility/purchaseBid/search/detail?id=
${
basics
.
sourceId
}
&number=
${
basics
.
sourceNo
}
`
break
;
};
case
4
:
{
const
urlData
=
`/memberCenter/procurementAbility/purchaseRequisition/purchaseRequisitionList/preview?id=
${
basics
.
sourceId
}
`
associatedInfo
.
col2
[
1
].
url
=
urlData
break
;
};
}
}
setAssociatedInfo
(
associatedInfo
)
setbasicInfo
(
basicInfo
)
setouterTaskStepList
(
outerTaskStepList
)
setinnerTaskStepList
(
innerTaskStepList
)
...
...
@@ -142,12 +169,14 @@ const Details = (props: any) => {
if
(
type
==
'implement'
)
{
tab
.
push
(
{
id
:
'process'
,
title
:
intl
.
formatMessage
({
id
:
'contract.jibenliucheng'
})
},
{
id
:
'associated'
,
title
:
intl
.
formatMessage
({
id
:
'contract.associateInformation'
})
},
{
id
:
'docking'
,
title
:
intl
.
formatMessage
({
id
:
'contract.zhixingqingkuang'
})
},
{
id
:
'conditions'
,
title
:
intl
.
formatMessage
({
id
:
'contract.fukuantongji'
})
},
)
}
else
{
tab
.
push
(
{
id
:
'progress'
,
title
:
intl
.
formatMessage
({
id
:
'contract.liuzhuanjindu'
})
},
{
id
:
'associated'
,
title
:
intl
.
formatMessage
({
id
:
'contract.associateInformation'
})
},
{
id
:
'process'
,
title
:
intl
.
formatMessage
({
id
:
'contract.jibenliucheng'
})
},
{
id
:
'materials'
,
title
:
intl
.
formatMessage
({
id
:
'contract.caigoucailiao'
})
},
{
id
:
'docking'
,
title
:
intl
.
formatMessage
({
id
:
'contract.dianzihetong'
})
},
...
...
@@ -339,6 +368,7 @@ const Details = (props: any) => {
targetOffset=
{
targetOffset
}
onChange=
{
handleAnchorChange
}
onClick=
{
handleAnchorClick
}
getContainer=
{
()
=>
document
.
querySelector
(
'main.ant-pro-basicLayout-content'
)
as
HTMLElement
}
>
<
div
style=
{
{
flex
:
1
}
}
>
<
div
className=
{
style
.
titleBox
}
>
...
...
@@ -390,6 +420,10 @@ const Details = (props: any) => {
}
{
/* 基本信息 */
}
<
Basic
basicInfo=
{
basicInfo
}
/>
{
/* 关联信息 */
}
<
Associated
associatedInfo=
{
associatedInfo
}
/>
{
/* 执行情况 */
}
{
type
==
'implement'
?
...
...
src/pages/contract/manage/add/addList.tsx
View file @
cf0a5a0e
...
...
@@ -156,11 +156,6 @@ const addList = () => {
<
AuthButton
btnCode=
'addList.Submit'
>
<
span
style=
{
{
color
:
'#00B37A'
,
cursor
:
'pointer'
,
marginRight
:
10
}
}
onClick=
{
()
=>
submit
(
record
.
id
)
}
>
{
intl
.
formatMessage
({
id
:
'contract.tijiao'
})
}
</
span
>
</
AuthButton
>
<
AuthButton
btnCode=
'addList.update'
>
<
span
style=
{
{
color
:
'#00B37A'
,
cursor
:
'pointer'
,
marginRight
:
10
}
}
onClick=
{
()
=>
edit
(
record
)
}
>
{
intl
.
formatMessage
({
id
:
'contract.xiugai'
})
}
</
span
>
</
AuthButton
>
{
record
.
innerStatus
==
'1'
||
record
.
outerStatus
==
'1'
||
record
.
outerStatus
==
'3'
||
record
.
outerStatus
==
'5'
&&
(
<
AuthButton
btnCode=
'addList.update'
>
...
...
src/pages/contract/manage/add/components/FormList.tsx
View file @
cf0a5a0e
...
...
@@ -14,11 +14,20 @@ import { getProductGoodsGetGoodsList } from '@/services/ProductV2Api';
import
{
getPurchaseBiddingPrizeMaterielPage
,
getPurchaseQuotedPriceProductlistListContract
,
getPurchaseSubmitTenderMaterielGetSubmitTenderMaterielList
}
from
'@/services/PurchaseV2Api'
;
import
{
getIntl
}
from
'umi'
;
import
{
getContractPurchaseRequisitionPageToBeCreate
}
from
'@/services/ContractV2Api'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
purchaseSchema
}
from
'./schema'
;
import
{
PurchaseContractListSchema
}
from
'./schema'
;
import
DateRangePickerUnix
from
'@/components/NiceForm/components/DateRangePickerUnix'
;
import
Submit
from
'@/components/NiceForm/components/Submit'
const
intl
=
getIntl
();
const
FormList
=
(
props
:
any
)
=>
{
const
{
currentRef
,
Row
,
sourceType
}
=
props
;
const
{
currentRef
,
Row
,
sourceType
,
sourceWay
}
=
props
;
console
.
log
(
'sourceWaysourceWaysourceWay'
,
sourceWay
)
const
refs
=
useRef
<
any
>
({});
const
purchaseRefs
=
useRef
<
any
>
({});
/* 显示模态框 */
...
...
@@ -36,8 +45,11 @@ const FormList = (props: any) => {
const
[
lookAssociatedproductNo
,
setLookAssociatedproductNo
]
=
useState
<
string
>
(
''
)
const
formActions
=
createFormActions
();
//相同物料组合成同一条
const
handlePurchaseData
=
(
selectRow
)
=>
{
let
data
=
[...
selectRow
]
let
newArray
=
data
.
reduce
((
total
,
cur
,
index
)
=>
{
let
hasValue
=
total
.
findIndex
(
current
=>
{
...
...
@@ -351,7 +363,7 @@ const FormList = (props: any) => {
style=
{
{
width
:
80
}
}
defaultValue=
{
text
===
0
||
text
===
1
?
text
.
toString
()
:
''
}
onChange=
{
(
e
)
=>
setInput
(
e
,
'isHasTax'
,
index
)
}
disabled=
{
Object
.
keys
(
Row
).
length
!=
0
?
true
:
false
}
disabled=
{
(
Object
.
keys
(
Row
).
length
!=
0
&&
sourceWay
!=
'purchase'
)
?
true
:
false
}
>
<
Option
value=
"0"
key=
{
0
}
>
{
intl
.
formatMessage
({
id
:
'contract.fou'
})
}
</
Option
>
<
Option
value=
"1"
key=
{
1
}
>
{
intl
.
formatMessage
({
id
:
'contract.shi'
})
}
</
Option
>
...
...
@@ -373,7 +385,7 @@ const FormList = (props: any) => {
defaultValue=
{
text
}
onChange=
{
(
e
)
=>
setInput
(
e
,
'taxRate'
,
index
)
}
addonAfter=
"%"
disabled=
{
Object
.
keys
(
Row
).
length
!=
0
?
true
:
false
}
disabled=
{
(
Object
.
keys
(
Row
).
length
!=
0
&&
sourceWay
!=
'purchase'
)
?
true
:
false
}
/>
</
Form
.
Item
>
},
...
...
@@ -393,7 +405,7 @@ const FormList = (props: any) => {
onChange=
{
(
e
)
=>
setInput
(
e
,
'price'
,
index
)
}
// addonBefore={intl.formatMessage({ id: 'common.money' })}
defaultValue=
{
text
!=
''
?
Number
(
text
).
toFixed
(
2
)
:
''
}
disabled=
{
Object
.
keys
(
Row
).
length
!=
0
?
true
:
false
}
disabled=
{
(
Object
.
keys
(
Row
).
length
!=
0
&&
sourceWay
!=
'purchase'
)
?
true
:
false
}
/>
</
Form
.
Item
>
},
...
...
@@ -614,6 +626,27 @@ const FormList = (props: any) => {
currentRef=
{
purchaseRefs
}
rowSelection=
{
rowSelection
}
fetchTableData=
{
(
params
:
any
)
=>
getPurchaseList
(
params
)
}
formilyProps=
{
{
ctx
:
{
inline
:
false
,
schema
:
PurchaseContractListSchema
,
effects
:
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'requisitionNo'
,
FORM_FILTER_PATH
,
);
},
components
:
{
DateRangePickerUnix
,
Submit
},
},
layouts
:
{
order
:
3
},
}
}
/>
</
Modal
>
...
...
src/pages/contract/manage/add/components/Information.tsx
View file @
cf0a5a0e
...
...
@@ -288,7 +288,7 @@ const Information = (props: any) => {
rules
:
[{
type
:
'array'
as
const
,
required
:
true
,
message
:
intl
.
formatMessage
({
id
:
'contract.qingxuanzekaishihuozhejie'
})
}],
};
console
.
log
(
'渲染前: change:'
,
Change
,
'basicsVO.sourceType:'
,
basicsVO
.
sourceType
)
console
.
log
(
'渲染前
1
: change:'
,
Change
,
'basicsVO.sourceType:'
,
basicsVO
.
sourceType
)
return
(
<
div
className=
{
style
.
revise_info
}
>
...
...
@@ -390,7 +390,7 @@ const Information = (props: any) => {
]
}
>
{
manual
&&
basicsVO
.
sourceType
!=
4
?
manual
&&
basicsVO
.
sourceType
<
4
?
<
Input
placeholder=
{
intl
.
formatMessage
({
id
:
'contract.zuichang60gezifu30ge'
})
}
disabled
/>
:
<
Search
placeholder=
{
intl
.
formatMessage
({
id
:
'contract.zuichang60gezifu30ge'
})
}
readOnly
enterButton=
{
<
div
onClick=
{
()
=>
Choose
(
'5'
)
}
><
LinkOutlined
/>
{
intl
.
formatMessage
({
id
:
'contract.xuanze'
})
}
</
div
>
}
/>
...
...
src/pages/contract/manage/add/components/schema.tsx
0 → 100644
View file @
cf0a5a0e
import
{
ISchema
}
from
'@formily/antd'
;
import
{
getIntl
}
from
'umi'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
const
intl
=
getIntl
();
export
const
purchaseSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
requisitionNo
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'afterService.common.query.applyNo.placeholder'
},
{
default
:
'搜索'
}),
align
:
'flex-left'
,
tip
:
intl
.
formatMessage
({
id
:
'afterService.common.query.requisitionNo.tip'
},
{
default
:
'输入 请购单号 进行搜索'
}),
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
applyAbstract
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'afterService.common.query.applyAbstract.placeholder'
},
{
default
:
'申请单摘要'
}),
allowClear
:
true
,
},
},
consumerName
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'afterService.common.query.consumerName.placeholder'
},
{
default
:
'采购会员'
}),
allowClear
:
true
,
},
},
'[startTime, endTime]'
:
{
type
:
'string'
,
default
:
''
,
'x-component'
:
'dateSelect'
,
'x-component-props'
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'afterService.common.query.date.placeholder'
},
{
default
:
'单据时间(全部)'
}),
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
intl
.
formatMessage
({
id
:
'afterService.common.query.submit'
},
{
default
:
'查询'
}),
},
},
},
},
},
},
},
};
export
const
PurchaseContractListSchema
:
any
=
{
type
:
'object'
,
properties
:
{
requisitionNo
:
{
type
:
'string'
,
"x-component"
:
'SearchFilter'
,
'x-component-props'
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'contract.qingshuru'
})
+
intl
.
formatMessage
({
id
:
'contract.purchase.number'
}),
align
:
'flex-left'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
// inline: true,
colStyle
:
{
marginRight
:
20
},
rowStyle
:
{
flexWrap
:
'nowrap'
,
style
:
{
marginRight
:
10
}
},
},
properties
:
{
"digest"
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'contract.qingshuru'
})
+
intl
.
formatMessage
({
id
:
'contract.purchase.digest'
})
}
},
"vendorMemberName"
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'contract.qingshuru'
})
+
intl
.
formatMessage
({
id
:
'contract.purchase.member'
})
}
},
"[startTime,endTime]"
:
{
type
:
'array'
,
"x-component"
:
'DateRangePickerUnix'
,
'x-component-props'
:
{
placeholder
:
[
intl
.
formatMessage
({
id
:
'contract.qingshuru'
}),
intl
.
formatMessage
({
id
:
'contract.jieshushijian'
})],
},
},
"department"
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'contract.qingshuru'
})
+
intl
.
formatMessage
({
id
:
'contract.purchase.department'
})
}
},
"requisitioner"
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
intl
.
formatMessage
({
id
:
'contract.qingshuru'
})
+
intl
.
formatMessage
({
id
:
'contract.purchase.people'
})
}
},
submit
:
{
'x-component'
:
'Submit'
,
'x-component-props'
:
{
children
:
intl
.
formatMessage
({
id
:
'contract.chaxun'
}),
},
},
},
},
}
}
src/pages/contract/manage/add/contracAdd.tsx
View file @
cf0a5a0e
...
...
@@ -19,6 +19,7 @@ const Add: React.FC<{}> = (props: any) => {
location
:
{
query
:
{
sourceType
,
// 寻源类型
sourceWay
}
}
}
=
props
;
const
currentBasic
=
useRef
<
any
>
({});
const
purchaseMate
=
useRef
<
any
>
([])
...
...
@@ -77,6 +78,7 @@ const Add: React.FC<{}> = (props: any) => {
fetchdata=
{
purchaseMaterielList
}
currentRef=
{
purchaseMate
}
Row=
{
Row
}
sourceWay=
{
sourceWay
}
sourceType=
{
type
}
/>
},
...
...
@@ -120,7 +122,12 @@ const Add: React.FC<{}> = (props: any) => {
totalAmount
+=
Number
(
item
.
bidAmount
)
})
console
.
log
(
purchaseMaterielList
,
totalAmount
)
basicsVO
.
data
.
totalAmount
=
basicsVO
.
data
.
totalAmount
?
basicsVO
.
data
.
totalAmount
:
totalAmount
;
if
(
basicsVO
.
sourceType
==
4
){
basicsVO
.
data
.
totalAmount
=
totalAmount
;
}
else
{
basicsVO
.
data
.
totalAmount
=
basicsVO
.
data
.
totalAmount
?
basicsVO
.
data
.
totalAmount
:
totalAmount
;
}
}
/* 付款方式 */
const
payPlanList
=
await
payPlan
.
current
.
length
!=
0
?
await
payPlan
.
current
.
get
()
:
[];
...
...
@@ -131,7 +138,7 @@ const Add: React.FC<{}> = (props: any) => {
}
else
{
let
param
:
any
=
{
basicsVO
:
basicsVO
.
data
,
purchaseMaterielList
:
purchaseMaterielList
.
data
.
list
,
purchaseMaterielList
:
purchaseMaterielList
?.
data
?
.
list
,
payPlanList
:
payPlanList
,
contractText
:
contract
,
operateType
:
1
...
...
src/pages/contract/manage/creatExamine/index.tsx
View file @
cf0a5a0e
...
...
@@ -38,7 +38,7 @@ const Levelexamine = () => {
render
:
(
text
,
record
)
=>
<
div
>
<
EyePreview
type=
{
AuthUrl
(
'creatExamineTwo.see'
)
||
AuthUrl
(
'creatExamineOne.see'
)
?
'link'
:
'button'
}
// type={(AuthUrl('creatExamineTwo.see') || AuthUrl('creatExamineOne.see')
) ? 'link' : 'button'}
url=
{
`${isCreatExamine ? '/memberCenter/contract/manage/creatExamine/details' : '/memberCenter/contract/manage/secondaryCreatExamine/details'}?contractId=${record.id}&type=${isCreatExamine ? 'CreatExamineStepOne' : 'CreatExamineStepTwo'}`
}
>
{
text
}
...
...
src/pages/contract/manage/details/Table.tsx
0 → 100644
View file @
cf0a5a0e
import
{
getIntl
}
from
"umi"
;
const
intl
=
getIntl
();
/**
* 请购单对应的采购物料
*/
export
const
purchasecolumns
:
any
=
[
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.number'
}),
dataIndex
:
'requisitionNo'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.digest'
}),
dataIndex
:
'digest'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.member'
}),
dataIndex
:
'vendorMemberName'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.department'
}),
dataIndex
:
'department'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.people'
}),
dataIndex
:
'requisitioner'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.time'
}),
dataIndex
:
'advanceDeliveryDate'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.type'
}),
dataIndex
:
'deliveryMethodName'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.address'
}),
dataIndex
:
'deliveryAddress'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.materialNumber'
}),
dataIndex
:
'productNo'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.materialName'
}),
dataIndex
:
'name'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.quantity'
}),
dataIndex
:
'quantity'
,
align
:
'left'
,
},
{
title
:
intl
.
formatMessage
({
id
:
'contract.purchase.internalState'
}),
dataIndex
:
'buyerInnerStatusName'
,
align
:
'left'
,
},
]
\ No newline at end of file
src/pages/contract/manage/details/index.tsx
View file @
cf0a5a0e
import
React
,
{
useEffect
,
useState
,
useRef
}
from
'react'
;
import
StandardTable
from
'@/components/StandardTable'
;
import
{
Anchor
,
Radio
,
Steps
,
Table
,
Space
,
Typography
,
Button
,
message
}
from
'antd'
;
import
{
Anchor
,
Radio
,
Table
,
Steps
,
Space
,
Typography
,
Button
,
message
,
Modal
}
from
'antd'
;
import
style
from
'./index.less'
;
import
{
ArrowLeftOutlined
}
from
'@ant-design/icons'
;
import
{
getIntl
,
history
}
from
'umi'
;
...
...
@@ -11,8 +11,13 @@ import TableList from './components/TableList'
import
{
FileWordFilled
}
from
'@ant-design/icons'
import
{
getContractManageGetDetail
,
getContractManagePagePurchaseMaterielList
,
getContractSignatureGetHandSignatureUrl
}
from
'@/services/ContractV2Api'
import
{
getContractManageGetDetail
,
getContractManagePagePurchaseMaterielList
,
getContract
PurchaseRequisitionPageByProductIds
,
getContract
SignatureGetHandSignatureUrl
}
from
'@/services/ContractV2Api'
import
Associated
from
'../../components/detailCard/associated'
;
import
{
purchasecolumns
}
from
'./Table'
;
import
ComTable
from
'./components/ComTable'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
ModalTable
from
'@/components/ModalTable'
;
const
{
Link
}
=
Anchor
;
const
{
Step
}
=
Steps
;
...
...
@@ -35,7 +40,7 @@ const Details = (props: any) => {
col2
:
[],
col3
:
[]
})
/**
基本
信息 */
/**
关联
信息 */
const
[
associatedInfo
,
setAssociatedInfo
]
=
useState
<
any
>
({
col1
:
[],
col2
:
[],
...
...
@@ -78,6 +83,10 @@ const Details = (props: any) => {
{
id
:
'record'
,
title
:
intl
.
formatMessage
({
id
:
'contract.liuzhuanjilu'
})
},
])
const
formActions
=
createFormActions
();
const
[
associatedDocumentsVisible
,
setAssociatedDocumentsVisible
]
=
useState
<
boolean
>
(
false
)
const
[
lookAssociatedproductNo
,
setLookAssociatedproductNo
]
=
useState
<
string
>
()
/* 获取详情的数据 */
const
getDetail
=
()
=>
{
getContractManageGetDetail
({
contractId
}).
then
(
res
=>
{
...
...
@@ -245,18 +254,23 @@ const Details = (props: any) => {
)
}
},
{
{
dataIndex
:
'guanlianqinggoudan'
,
align
:
'center'
,
title
:
intl
.
formatMessage
({
id
:
'contract.guanliandanju'
}),
render
:
(
text
)
=>
{
render
:
(
text
,
record
)
=>
{
return
(
<
Button
type=
'link'
>
record
.
requisitionList
?.
length
?
<
Button
type=
'link'
onClick=
{
()
=>
{
let
prpIds
=
record
.
requisitionList
.
map
(
item
=>
item
.
detailId
)
console
.
log
(
'prpIds'
,
prpIds
.
toString
())
setLookAssociatedproductNo
(
prpIds
.
toString
())
setAssociatedDocumentsVisible
(
true
)
}
}
>
{
intl
.
formatMessage
({
id
:
'contract.guanlianqinggoudan'
})
}
</
Button
>
:
null
)
}
},
];
...
...
@@ -357,6 +371,26 @@ const Details = (props: any) => {
}
}
const
getTable
=
(
params
)
=>
{
const
{...
rest
}
=
params
;
return
new
Promise
((
resolve
,
reject
)
=>
{
getContractPurchaseRequisitionPageByProductIds
({
...
rest
,
prpIdsStr
:
lookAssociatedproductNo
||
''
})
.
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
reject
();
})
.
catch
(()
=>
{
reject
();
});
});
}
return
(
<
div
className=
{
style
.
anchorWrap
}
>
<
Anchor
...
...
@@ -524,6 +558,18 @@ const Details = (props: any) => {
agreeText=
{
type
==
'Signacontract'
?
intl
.
formatMessage
({
id
:
'contract.tongyiqianding'
})
:
intl
.
formatMessage
({
id
:
'contract.tongguo'
})
}
disagree=
{
type
==
'Signacontract'
?
intl
.
formatMessage
({
id
:
'contract.butongyiqianding'
})
:
intl
.
formatMessage
({
id
:
'contract.butongguo'
})
}
/>
<
ModalTable
cancel=
{
()
=>
setAssociatedDocumentsVisible
(
false
)
}
visible=
{
associatedDocumentsVisible
}
width=
{
1200
}
columns=
{
purchasecolumns
}
modalTitle=
{
intl
.
formatMessage
({
id
:
'contract.guanlianqinggoudan'
})
}
fetchTableData=
{
params
=>
getTable
(
params
)
}
rowKey=
{
'rowId'
}
resetModal=
{
{
destroyOnClose
:
true
,
forceRender
:
false
,
footer
:
null
}
}
/>
</
div
>
)
}
...
...
src/pages/contract/manage/purchaseRequisition/index.tsx
View file @
cf0a5a0e
...
...
@@ -17,7 +17,6 @@ import moment from 'moment';
import
{
getContractPurchaseInviteBidPageToBeCreate
,
getContractPurchaseRequisitionPageToBeCreate
}
from
'@/services/ContractV2Api'
import
AuthButton
from
'@/components/AuthButton'
import
{
InfoCircleFilled
,
PlusCircleOutlined
}
from
'@ant-design/icons'
;
import
{
ModalCancelText
}
from
'@/pages/order/components/tranquantityate'
;
const
intl
=
getIntl
();
const
BiddingList
=
()
=>
{
...
...
@@ -128,11 +127,12 @@ const BiddingList = () => {
}
const
Like
=
(
record
)
=>
{
console
.
log
(
'record'
,
record
)
sessionStorage
.
setItem
(
'recordList'
,
JSON
.
stringify
([
record
]));
record
.
sourceId
=
record
.
sourceId
;
record
.
sourceNo
=
record
.
sourceNo
;
record
.
requisitionNo
=
record
.
requisitionNo
;
record
.
totalAmount
=
record
.
amount
;
record
.
totalAmount
=
''
;
record
.
partyBMemberId
=
record
.
vendorMemberId
;
record
.
partyBRoleId
=
record
.
vendorRoleId
;
record
.
partyBName
=
record
.
vendorMemberName
;
...
...
@@ -140,7 +140,7 @@ const BiddingList = () => {
console
.
log
(
'更改后的record:'
,
record
)
sessionStorage
.
setItem
(
'record'
,
JSON
.
stringify
(
record
));
// return
history
.
push
(
`/memberCenter/contract/manage/add/addList/contracAdd?contractId=
${
record
.
prpId
}
&sourceType=4`
)
history
.
push
(
`/memberCenter/contract/manage/add/addList/contracAdd?contractId=
${
record
.
prpId
}
&source
Way=purchase&source
Type=4`
)
}
// 列表数据
const
fetchData
=
(
params
?:
any
)
=>
{
...
...
@@ -187,7 +187,7 @@ const BiddingList = () => {
// record.sourceNo = record.sourceNo;
// record.requisitionNo = record.requisitionNo;
record
.
totalAmount
=
record
.
amount
;
record
.
totalAmount
=
''
;
record
.
partyBMemberId
=
isAllEqual
(
selectRow
)
?
record
.
vendorMemberId
:
null
;
record
.
partyBRoleId
=
isAllEqual
(
selectRow
)
?
record
.
vendorRoleId
:
null
;
record
.
partyBName
=
isAllEqual
(
selectRow
)
?
record
.
vendorMemberName
:
null
;
...
...
@@ -197,7 +197,7 @@ const BiddingList = () => {
console
.
log
(
'储藏值为:'
,
data
)
sessionStorage
.
setItem
(
'recordList'
,
JSON
.
stringify
(
data
));
history
.
push
(
`/memberCenter/contract/manage/add/addList/contracAdd?
contractId=
${
''
}
&sourceType=4`
)
history
.
push
(
`/memberCenter/contract/manage/add/addList/contracAdd?
sourceWay=purchase
&sourceType=4`
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment