diff --git a/src/components/ContractText/ContractText.tsx b/src/components/ContractText/ContractText.tsx index 0c29c9e..757437f 100644 --- a/src/components/ContractText/ContractText.tsx +++ b/src/components/ContractText/ContractText.tsx @@ -12,7 +12,7 @@ export default function ContractText(props: any) {
-
乙方名称:山西腾狮科技有限公司(以下简称“AI秒著引擎平台”)
+
乙方名称:山西腾狮科技股份有限公司(以下简称“AI秒著引擎平台”)
联系地址:山西省晋中市山西综改示范区晋中开发区大学城产业园区龙田路909号创新创业孵化转化中心B6号楼9层0910室
联系电话:400-086-1633
@@ -176,7 +176,7 @@ export default function ContractText(props: any) {
日         期:
-
乙         方:山西腾狮科技有限公司
+
乙         方:山西腾狮科技股份有限公司
乙方授权代表签字:
diff --git a/src/components/RefunModal/RefunModal.tsx b/src/components/RefunModal/RefunModal.tsx index ba8b2c7..dd48371 100644 --- a/src/components/RefunModal/RefunModal.tsx +++ b/src/components/RefunModal/RefunModal.tsx @@ -3,7 +3,7 @@ import './RefunModal.css' import { Form, Button, Upload, message, Input, Modal, Table, Empty } from 'antd'; import type { TableColumnsType } from 'antd'; import { UploadOutlined } from '@ant-design/icons'; -import { DevUserId, get, post,uploadFileUrl } from "../../util/AjaxUtils.ts"; +import { DevUserId, get, post, uploadFileUrl } from "../../util/AjaxUtils.ts"; // import { getMenuActive } from '../../util/cache.ts' import { useDispatch } from 'react-redux' const { Search } = Input; @@ -254,7 +254,7 @@ export default function RefunModal(props: any) { refunArray.push(e.file.response.data.fileId); setRefunArray(refunArray); - + } if (e.file.status === 'removed') { const idArray = refunArray.filter(item => item != e.file.response.data.fileId); @@ -269,9 +269,9 @@ export default function RefunModal(props: any) { action={uploadFileUrl()} headers={{ 'X-USER-ID': DevUserId }} beforeUpload={(file) => { - const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png' ||file.type === 'application/pdf'; + const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'application/pdf'; // const isPng = file.type == 'application/pdf' - if (!isJpgOrPng ) { + if (!isJpgOrPng) { message.error('只能上传 JPG/PNG/PDF 格式文件!'); return Upload.LIST_IGNORE; // 不允许上传非 } @@ -285,7 +285,12 @@ export default function RefunModal(props: any) {
- +
*上传完整的补正通知书或者完整的补正通知书的截图,要求右上方的流水号和右下方的补正通知书的日期都得完整显示
- // { - // // props.handleEdit(index, record.projModId, record); - // setId(record.projModId) - // setEditModal(true) - // } - // }, { - // key: 'remove', - // label: '删除', - // onClick: () => { - // props.handleRemove(index, record.projModId, record); - // } - // }, - // ] - // }} placement="bottom" arrow> - // - // + ) } // if (record.aiFieldStatus == 'GENERATING') { @@ -571,7 +551,12 @@ export default function AiHelperMod(props: PropsType) { }} disabled={status == 'SUCCESS' || status == 'GENERATING' || props.isFast ? true : false} onClick={() => { - props.handleGenerate() + if(props.projIntroduction){ + props.handleGenerate() + }else{ + props.xixi() + } + // props.handleGenerate() }} >AI生成 diff --git a/src/components/ai/text/AiHelperText.tsx b/src/components/ai/text/AiHelperText.tsx index fc3cf79..b3de8fd 100644 --- a/src/components/ai/text/AiHelperText.tsx +++ b/src/components/ai/text/AiHelperText.tsx @@ -360,7 +360,17 @@ export default function AiHelperText(props: PropsType) { -
+
+
+ *若手动修改系统简介后,为了使系统详情和功能列表更合理,建议重新使用AI生成系统详情和功能列表 +
+
{newText ? <> diff --git a/src/components/card/CardProj.tsx b/src/components/card/CardProj.tsx index 4069f85..1879031 100644 --- a/src/components/card/CardProj.tsx +++ b/src/components/card/CardProj.tsx @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import './card-proj.css'; -import { useDispatch } from 'react-redux' +// import { useDispatch } from 'react-redux' import { CheckOutlined, ClockCircleOutlined, @@ -238,39 +238,49 @@ export default function CardProj(props: any) { } return 错误 } - const dispath = useDispatch() + // const dispath = useDispatch() const goEdit = () => { if (data.projStatus == 'NORMAL' || data.projStatus == 'EXPIRED' || data.pay.payStatus == 'CORRECTION2_REFUND' || data.pay.payStatus == 'CORRECTION1_REFUND') { if (data.pay.chargeType == 'ALL') { nav(`/proj-eall/${data.projId}`); - dispath({ - type: 'upProjName', - val: data.projName - }) - dispath({ - type: 'upProjStatus', - val: data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑' - }) + // dispath({ + // type: 'upProjName', + // val: data.projName + // }) + // dispath({ + // type: 'upProjStatus', + // val: data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑' + // }) + sessionStorage.setItem('projName', data.projName); + sessionStorage.setItem('projStatus', data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑'); + // sessionStorage.setItem('projStatus', '查看' ); } else if (data.pay.chargeType == 'FREE') { nav(`/proj-efree/${data.projId}`); - dispath({ - type: 'upProjName', - val: data.projName - }) - dispath({ - type: 'upProjStatus', - val: data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑' - }) + // dispath({ + // type: 'upProjName', + // val: data.projName + // }) + // dispath({ + // type: 'upProjStatus', + // val: data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑' + // }) + sessionStorage.setItem('projName', data.projName); + sessionStorage.setItem('projStatus', data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑'); } else { nav(`/proj-edit/${data.projId}`); - dispath({ - type: 'upProjName', - val: data.projName - }) - dispath({ - type: 'upProjStatus', - val: data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑' - }) + // dispath({ + // type: 'upProjName', + // val: data.projName + // }) + // dispath({ + // type: 'upProjStatus', + // val: data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑' + // }) + //将data.projName储存到缓sessionStorage存里面 key为projName + sessionStorage.setItem('projName', data.projName); + sessionStorage.setItem('projStatus', data.generate.generateStatus == GenerateStatus.SUCCESS ? '查看' : '编辑'); + + } } diff --git a/src/components/card/CardProjType.tsx b/src/components/card/CardProjType.tsx index c3eaf9f..dac0c89 100644 --- a/src/components/card/CardProjType.tsx +++ b/src/components/card/CardProjType.tsx @@ -246,6 +246,7 @@ export default function CardProjType(props: ICardProj) { return (
+ {/*
*/}
{/*
*/}
diff --git a/src/layout/head/Head.tsx b/src/layout/head/Head.tsx index 7b506eb..b02dd71 100644 --- a/src/layout/head/Head.tsx +++ b/src/layout/head/Head.tsx @@ -4,7 +4,7 @@ import { useDispatch } from 'react-redux' import BalanceHead from '../../components/balance/BalanceHead.tsx'; import RechargeHead from '../../components/recharge/RechargeHead.tsx'; import { Dropdown, MenuProps, message, Modal, Space, Spin, Input } from "antd"; -import { DownOutlined, UserOutlined, QuestionCircleOutlined, BellOutlined, KeyOutlined, LogoutOutlined, GiftOutlined, AccountBookOutlined, ContainerOutlined, MenuFoldOutlined, UsergroupAddOutlined } from "@ant-design/icons"; +import { DownOutlined, UserOutlined, QuestionCircleOutlined, BellOutlined, KeyOutlined, LogoutOutlined, GiftOutlined, AccountBookOutlined, ContainerOutlined, MenuFoldOutlined, UsergroupAddOutlined, } from "@ant-design/icons"; import { useContext, useEffect, useState } from "react"; import { put, get, post, getUseUrl } from "../../util/AjaxUtils.ts"; import { GlobalContext, GlobalDispatchContext, reloadUser } from "../../context/GlobalContext.ts"; @@ -14,6 +14,8 @@ import PasswordChange from "../../components/password/PasswordChange.tsx"; import InvoiceList from "../../components/invoice/InvoiceList.tsx"; import logoImg from '../../static/head/logo.png' import userImg from '../../static/homeimg/userimg.png' +import kf from '../../static/head/kf.png' +import kfImg from '../../static/head/kfImg.png' import { reMenuActive } from '../../util/cache'; // import BelongPeople from '../../components/BelongPeople/BelongPeople.tsx' import BelongPeople from '../../components/BelongPeople/BelongPeople.tsx' @@ -27,6 +29,8 @@ export default function Head() { // const couponModal = redxuState.couponModal // 消息通知弹窗 const [noticeModal, setNoticeModal] = useState(false) + // 客服弹窗 + const [kfModal, setkfModal] = useState(false) // 未读消息数 const [unRead, setUnRead] = useState(0) // 获取未读消息总数 @@ -292,7 +296,7 @@ export default function Head() { // }) // } - + useEffect(() => { @@ -435,7 +439,18 @@ export default function Head() { {/*
*/}
+
{ + setkfModal(true) + }}> +
+ +
+
+ 在线客服 +
+
+
{/*
{ window.open('https://www.aimzhu.com/operator/route/agreementportal/view?agreementId=c0c5683a-bef3-40c3-8395-900a362ea234&title=系统操作流程') }}> @@ -771,6 +786,31 @@ export default function Head() { }}> + { + setkfModal(false) + + }}> +
+
微信扫码咨询客服
+
+ +
+
+ 若已登录电脑端, { + window.open('https://work.weixin.qq.com/kfid/kfc599f9d40b65ac392') + } + }>点击联系客服 +
+
+
{/* { get({ diff --git a/src/route/proj/ProjCreate.tsx b/src/route/proj/ProjCreate.tsx index 1070028..4b52cfe 100644 --- a/src/route/proj/ProjCreate.tsx +++ b/src/route/proj/ProjCreate.tsx @@ -63,9 +63,16 @@ export default function ProjCreate() { setCharge(data.additional); // console.log("创建数据", data); // console.log(charge.projTypes[0].price); - setAllInfo(data.projTypes[0]) - setMaterialInfo(data.projTypes[1]) - setFreeInfo(data.projTypes[2]) + // setAllInfo(data.projTypes[0]) + // setMaterialInfo(data.projTypes[1]) + // setFreeInfo(data.projTypes[2]) + // 找到ata.projTypes数组种type == all的对象付给 info + + setAllInfo(data.projTypes.find((item: any) => item.type == 'ALL')) + setMaterialInfo(data.projTypes.find((item: any) => item.type == 'MATERIAL')) + setFreeInfo(data.projTypes.find((item: any) => item.type == 'FREE')) + // MATERIAL FREE + // console.log('后面的price',data.proj.materialAgent); setFreeCount(data.freeCount) } diff --git a/src/static/head/kf.png b/src/static/head/kf.png new file mode 100644 index 0000000..2782f48 Binary files /dev/null and b/src/static/head/kf.png differ diff --git a/src/static/head/kfImg.png b/src/static/head/kfImg.png new file mode 100644 index 0000000..b7b7eac Binary files /dev/null and b/src/static/head/kfImg.png differ