diff --git a/src/components/BelongPeople/BelongPeople.tsx b/src/components/BelongPeople/BelongPeople.tsx index f27b68a..cc2d047 100644 --- a/src/components/BelongPeople/BelongPeople.tsx +++ b/src/components/BelongPeople/BelongPeople.tsx @@ -94,7 +94,7 @@ export default function BelongPeople(props: propsInfo) { const [authorId, setAuthorId] = useState('') //所属人id // 设置所属者more你选中的行 // const [selectedRowKeys, setSelectedRowKeys] = useState([]); - + const [selectedRowKeys, setSelectedRowKeys] = useState([]); // 所属者搜索关键字 const [keywords, setKeyWords] = useState('') const [type, setType] = useState('') @@ -111,37 +111,38 @@ export default function BelongPeople(props: propsInfo) { // 表格相关 // rowSelection object indicates the need for row selection // 所属者表格选择触发 + // const belongRowSelection = { + // onChange: (_selectedRowKeys: React.Key[], selectedRows: BelongDataType[]) => { + // setauthorName(selectedRows[0].name) + // setauthorIdCardType(selectedRows[0].idCardType) + // setauthorIdCard(selectedRows[0].idCardNo) + // setauthorType(selectedRows[0].type) + // setauthorProvinceCity(selectedRows[0].provinceCity) + // setauthorCrcAccount(selectedRows[0].isCrcAccount) + // setAuthorId(selectedRows[0].projOwnerId) + // }, + + // }; const belongRowSelection = { - // selectedRowKeys: React.Key[] - onChange: (_selectedRowKeys: React.Key[], selectedRows: BelongDataType[]) => { - // console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows); - setauthorName(selectedRows[0].name) - setauthorIdCardType(selectedRows[0].idCardType) - setauthorIdCard(selectedRows[0].idCardNo) - setauthorType(selectedRows[0].type) - setauthorProvinceCity(selectedRows[0].provinceCity) - setauthorCrcAccount(selectedRows[0].isCrcAccount) - // setauthorCrcAccountPassword(selectedRows[0].crcAccountPassword) - // setauthorCrcAccountUsername(selectedRows[0].crcAccountUsername) - setAuthorId(selectedRows[0].projOwnerId) - // setClom(String(selectedRowKeys)) - // setbelongselectedKeys(selectedRowKeys) - // props.setBelongPeopleName(selectedRows[0].name) - // props.setBelongPeopleInfo({ - // authorName: selectedRows[0].name, - // authorType: selectedRows[0].type, - // authorIdCardType: selectedRows[0].idCardType, - // authorIdCard: selectedRows[0].idCardNo, - - // authorCrcAccount: selectedRows[0].isCrcAccount, - // authorId: selectedRows[0].projOwnerId, - // authorProvinceCity: selectedRows[0].provinceCity - // }) - // props.setValue(selectedRows[0].name) + selectedRowKeys, + onChange: (selectedRowKeys: React.Key[], selectedRows: typeof tableBelongData[0][]) => { + setSelectedRowKeys(selectedRowKeys); + if (selectedRows.length > 0) { + setauthorName(selectedRows[0].name); + setauthorIdCardType(selectedRows[0].idCardType); + setauthorIdCard(selectedRows[0].idCardNo); + setauthorType(selectedRows[0].type); + setauthorProvinceCity(selectedRows[0].provinceCity); + setauthorCrcAccount(selectedRows[0].isCrcAccount); + setAuthorId(selectedRows[0].projOwnerId); + } }, - }; - + // 单行选择触发单选 + const handleRowClick = (record: typeof tableBelongData[0]) => { + setSelectedRowKeys([record.projOwnerId]); + belongRowSelection.onChange([record.projOwnerId], [record]); + }; // 所属人表格数据 const [tableBelongData, setTableBelongData] = useState([]) @@ -519,13 +520,28 @@ export default function BelongPeople(props: propsInfo) { > + title="所属者名称" dataIndex="name" + render={(text, record: any) => ( +
{ + handleRowClick(record) + }}> + {text} +
+ )} + + + + /> ( - record.type === 'PERSONAL' ? '自然人' : '企业/组织' +
{ + handleRowClick(record) + }}> + {record.type === 'PERSONAL' ? '自然人' : '企业/组织'} +
)} /> ( - record.idCardType === 'ID_CARD' ? '身份证' : '营业执照' +
{ + handleRowClick(record) + }}> + {record.idCardType === 'ID_CARD' ? '身份证' : '营业执照'} +
+ )} + /> + ( +
{ + handleRowClick(record) + }}> + {text} +
)} /> - {/* */} - +
(注:如有多个著作人请用逗号分割)
- + diff --git a/src/components/ContactPeople/ContactPeople.tsx b/src/components/ContactPeople/ContactPeople.tsx index 5be04c5..4019a12 100644 --- a/src/components/ContactPeople/ContactPeople.tsx +++ b/src/components/ContactPeople/ContactPeople.tsx @@ -79,20 +79,31 @@ export default function ContactPeople(props: any) { } }) } + const [selectedRowKeys, setSelectedRowKeys] = useState([]); // 联系人表格选择触发 const ContantRowSelection = { // selectedRowKeys: React.Key[] - onChange: (_selectedRowKeys: React.Key[], selectedRows: ContactDataType[]) => { + selectedRowKeys, + onChange: (selectedRowKeys: React.Key[], selectedRows: typeof tableContactData[0][]) => { + setSelectedRowKeys(selectedRowKeys); // console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows); - setApplyConcatId(selectedRows[0].projContactId) - setapplyContactCsaNo(selectedRows[0].csaNo) - setapplyContactEmail(selectedRows[0].email) - setapplyContactName(selectedRows[0].name) - setapplyContactPhone(selectedRows[0].phone) - setapplyContactCompany(selectedRows[0].company) + if (selectedRows.length > 0) { + setApplyConcatId(selectedRows[0].projContactId) + setapplyContactCsaNo(selectedRows[0].csaNo) + setapplyContactEmail(selectedRows[0].email) + setapplyContactName(selectedRows[0].name) + setapplyContactPhone(selectedRows[0].phone) + setapplyContactCompany(selectedRows[0].company) + } + }, }; + // 单行选择触发单选 + const handleRowClick = (record: typeof tableContactData[0]) => { + setSelectedRowKeys([record.projContactId]); + ContantRowSelection.onChange([record.projContactId], [record]); + }; // 点击创建联系热人获取随机客服 const getCas = () => { get({ @@ -253,11 +264,42 @@ export default function ContactPeople(props: any) { style={{ textAlign: 'center', height: 390 }} // 设置表格内容居中显示 rowKey="projContactId" // 指定数据项的唯一标识符 > - - - + ( +
{ + handleRowClick(record) + }}> + {text} +
+ )} + /> + ( +
{ + handleRowClick(record) + }}> + {text} +
+ )} + /> + ( +
{ + handleRowClick(record) + }}> + {text} +
+ )} + /> (text !== '' ? text : '一')} + // render={(text) => (text !== '' ? text : '一')} + render={(text, record: any) => ( +
{ + handleRowClick(record) + }}> + {text !== '' ? text : '一'} +
+ )} /> {/* */} diff --git a/src/components/card/CardProj.tsx b/src/components/card/CardProj.tsx index 27edb8f..950357f 100644 --- a/src/components/card/CardProj.tsx +++ b/src/components/card/CardProj.tsx @@ -597,7 +597,7 @@ export default function CardProj(props: any) { ) : <> } */} -
+
产权所属者:{data.apply.authorName}
diff --git a/src/route/index/index.css b/src/route/index/index.css index bff83e2..adfd91c 100644 --- a/src/route/index/index.css +++ b/src/route/index/index.css @@ -13,6 +13,7 @@ top: 0; left: 0; z-index: 999; + } diff --git a/src/route/proj/ProjNew.tsx b/src/route/proj/ProjNew.tsx index 95a63bd..b0a9aef 100644 --- a/src/route/proj/ProjNew.tsx +++ b/src/route/proj/ProjNew.tsx @@ -37,6 +37,9 @@ export default function ProjNew() { const [messageApi, contextHolder] = message.useMessage(); const [loading, setLoading] = useState(false); const height = window.innerHeight - 180; + // 提示结尾是否带关键字弹窗 + // const [hasKeywords, setHasKeywords] = useState(false); + // 创建项目弹窗 const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); const [isEditModalOpen, setIsEditModalOpen] = useState(false); const [chargePrice, setChargePrice] = useState(0); @@ -124,6 +127,15 @@ export default function ProjNew() { }, }) } + //判断是否以“软件”、“系统”、“平台”或“APP”结尾 + function isEndsWithKeywords(str: string) { + const keywords = ["软件", "系统", "平台", "APP"]; + return keywords.some(keyword => str.endsWith(keyword)); + } + // 提示信息是否显示 + const [showTip, setShowTip] = useState(false) + + useEffect(() => { get({ messageApi: messageApi, @@ -138,7 +150,7 @@ export default function ProjNew() { switch (pathParams.projChargeType) { case ProjChargeType.ALL: // price = charge.proj.all; - price = charge.projTypes[0].price ; + price = charge.projTypes[0].price; break; // case ProjChargeType.MATERIAL_AGENT: // price = charge.proj.materialAgent; @@ -147,7 +159,7 @@ export default function ProjNew() { // price = charge.proj.materialAgentUrgent; // break; case ProjChargeType.MATERIAL: - price = charge.projTypes[1].price ; + price = charge.projTypes[1].price; break; case ProjChargeType.FREE: price = charge.projTypes[2].price; @@ -214,6 +226,12 @@ export default function ProjNew() { wrapperCol={{ span: 24 }} style={{ width: '100%' }} onFinish={(formData) => { + // if(isEndsWithKeywords(formData.projName)){ + // setIsCreateModalOpen(true); + + // }else{ + // setHasKeywords(true); + // } setIsCreateModalOpen(true); setProjInfo({ projName: formData.projName, @@ -225,14 +243,39 @@ export default function ProjNew() { }} autoComplete="off" > -
-
系统全称*
- - name="projName" - rules={[{ required: true, message: '请输入系统全称' }]} - > - - +
+
+
系统全称*
+ + name="projName" + rules={[ + { required: true, message: '请输入系统全称' }, + ]} + > + { + // 打印值 + // console.log(e.target.value); + if (e.target.value) { + if (isEndsWithKeywords(e.target.value)) { + setShowTip(false) + } else { + setShowTip(true) + } + }else{ + setShowTip(false) + } + + + }} style={{ background: '#eeeeee', width: '800px', height: '50px', fontSize: '16px' }} placeholder="请输入系统全称 (注:系统全称建议以“软件”、“系统”、“平台”或“APP”结尾)" /> + + + +
+
系统全称建议以“软件”、“系统”、“平台”或“APP”结尾
@@ -398,7 +441,7 @@ export default function ProjNew() { applyContactPhone: concatPeopleInfo.applyContactPhone, projVersion: 'v1.0', - couponId:couponId?couponId:'', + couponId: couponId ? couponId : '', }, onBefore() { setLoading(true); @@ -421,10 +464,10 @@ export default function ProjNew() { }} onCancel={() => { setIsCreateModalOpen(false); - - + + }}> -
该操作会扣除 {(chargePrice / 100 - couponNum)<0?0:chargePrice / 100 - couponNum} 元,确定操作码?
+
该操作会扣除 {(chargePrice / 100 - couponNum) < 0 ? 0 : chargePrice / 100 - couponNum} 元,确定操作码?
项目创建成功,开始编辑项目?
+ {/* { + //Form表单的projName变为空 + form.resetFields(['projName']); + setHasKeywords(false); + + }} + centered + onCancel={() => { + setHasKeywords(false); + setIsCreateModalOpen(true); + }}> +
系统全称建议以“软件”、“系统”、“平台”或“APP”结尾,是否更改
+
*/} { setCouponId(value) }} - couponNum = {couponNum} + couponNum={couponNum} setCouponNum={(value: number) => { setCouponNum(value) }} diff --git a/src/route/proj/edit/ProjEditStep2.tsx b/src/route/proj/edit/ProjEditStep2.tsx index 3a504c9..7bc0c25 100644 --- a/src/route/proj/edit/ProjEditStep2.tsx +++ b/src/route/proj/edit/ProjEditStep2.tsx @@ -122,40 +122,64 @@ export default function ProjEditStep2(props: any) { // 表格相关 // rowSelection object indicates the need for row selection + const [selectedRowKeys, setSelectedRowKeys] = useState([]); // 所属者表格选择触发 const belongRowSelection = { + selectedRowKeys, // selectedRowKeys: React.Key[] - onChange: (_selectedRowKeys: React.Key[], selectedRows: BelongDataType[]) => { + onChange: (selectedRowKeys: React.Key[], selectedRows: BelongDataType[]) => { // console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows); - setauthorName(selectedRows[0].name) - setauthorIdCardType(selectedRows[0].idCardType) - setauthorIdCard(selectedRows[0].idCardNo) - setauthorType(selectedRows[0].type) - setauthorNameEn(selectedRows[0].nameEn) - setauthorProvinceCity(selectedRows[0].provinceCity) - setauthorCrcAccount(selectedRows[0].isCrcAccount) - setauthorCrcAccountPassword(selectedRows[0].crcAccountPassword) - setauthorCrcAccountUsername(selectedRows[0].crcAccountUsername) - setAuthorId(selectedRows[0].projOwnerId) + setSelectedRowKeys(selectedRowKeys); + if (selectedRows.length > 0) { + setauthorName(selectedRows[0].name) + setauthorIdCardType(selectedRows[0].idCardType) + setauthorIdCard(selectedRows[0].idCardNo) + setauthorType(selectedRows[0].type) + setauthorNameEn(selectedRows[0].nameEn) + setauthorProvinceCity(selectedRows[0].provinceCity) + setauthorCrcAccount(selectedRows[0].isCrcAccount) + setauthorCrcAccountPassword(selectedRows[0].crcAccountPassword) + setauthorCrcAccountUsername(selectedRows[0].crcAccountUsername) + setAuthorId(selectedRows[0].projOwnerId) + } + // setClom(String(selectedRowKeys)) // setbelongselectedKeys(selectedRowKeys) }, }; + // 所属者表格单行选择触发单选 + const handleRowClick = (record: typeof tableBelongData[0]) => { + setSelectedRowKeys([record.projOwnerId]); + belongRowSelection.onChange([record.projOwnerId], [record]); + }; + const [selectedContantRowKeys, setSelectedContantRowKeys] = useState([]); // 联系人表格选择触发 const ContantRowSelection = { + selectedRowKeys:selectedContantRowKeys, // selectedRowKeys: React.Key[] - onChange: (_selectedRowKeys: React.Key[], selectedRows: ContactDataType[]) => { + onChange: (selectedRowKeys: React.Key[], selectedRows: ContactDataType[]) => { + setSelectedContantRowKeys(selectedRowKeys); + // console.log(selectedRowKeys); + // console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows); - setApplyConcatId(selectedRows[0].projContactId) - setapplyContactCsaNo(selectedRows[0].csaNo) - setapplyContactEmail(selectedRows[0].email) - setapplyContactName(selectedRows[0].name) - setapplyContactPhone(selectedRows[0].phone) - setapplyContactCompany(selectedRows[0].company) + if (selectedRows.length > 0) { + setApplyConcatId(selectedRows[0].projContactId) + setapplyContactCsaNo(selectedRows[0].csaNo) + setapplyContactEmail(selectedRows[0].email) + setapplyContactName(selectedRows[0].name) + setapplyContactPhone(selectedRows[0].phone) + setapplyContactCompany(selectedRows[0].company) + } + }, }; + // 单行选择触发单选 + const handleContantRowClick = (record: typeof tableContactData[0]) => { + setSelectedContantRowKeys([record.projContactId]); + ContantRowSelection.onChange([record.projContactId], [record]); + }; // 所属人表格数据 const [tableBelongData, setTableBelongData] = useState([]) // 联系人表格数据 @@ -741,13 +765,27 @@ export default function ProjEditStep2(props: any) { style={{ textAlign: 'center' }} // 设置表格内容居中显示 rowKey="projOwnerId" // 指定数据项的唯一标识符 > - + ( +
{ + handleRowClick(record) + }}> + {text} +
+ )} + + /> ( - record.type === 'PERSONAL' ? '自然人' : '企业/组织' +
{ + handleRowClick(record) + }}> + {record.type === 'PERSONAL' ? '自然人' : '企业/组织'} +
)} /> ( - record.idCardType === 'ID_CARD' ? '身份证' : '营业执照' +
{ + handleRowClick(record) + }}> + {record.idCardType === 'ID_CARD' ? '身份证' : '营业执照'} +
+ )} + /> + ( +
{ + handleRowClick(record) + }}> + {text} +
)} /> - {/* */} - - - + ( +
{ + handleContantRowClick(record) + }}> + {text} +
+ )} + /> + ( +
{ + handleContantRowClick(record) + }}> + {text} +
+ )} + /> + ( +
{ + handleContantRowClick(record) + }}> + {text} +
+ )} + /> (text !== '' ? text : '一')} + render={(text, record: any) => ( +
{ + handleContantRowClick(record) + }}> + {text !== '' ? text : '一'} +
+ )} /> {/* */} @@ -1200,7 +1280,7 @@ export default function ProjEditStep2(props: any) { disabled={belongTitle == '查看所属者' ? true : false} /> - +
(注:如有多个著作人请用逗号分割)
@@ -1216,12 +1296,12 @@ export default function ProjEditStep2(props: any) { // rules={[{ required: true, message: belongShow == 'PERSONAL' ? '请输入英文名' : '请输入公司英文名称' }]} rules={ [ - // { required: true, message: belongShow == 'PERSONAL' ? '请输入英文名' : '请输入公司英文名称' }, - // { - // pattern: /^[A-Za-z]+$/, - // message: '请输入正确的英文名' - // } - ]} + // { required: true, message: belongShow == 'PERSONAL' ? '请输入英文名' : '请输入公司英文名称' }, + // { + // pattern: /^[A-Za-z]+$/, + // message: '请输入正确的英文名' + // } + ]} >