This commit is contained in:
PC-202306242200\Administrator
2024-09-28 09:44:02 +08:00
parent df17a3cfb7
commit 13ded7520a
43 changed files with 184 additions and 81 deletions

2
dist/index.html vendored
View File

@@ -8,6 +8,6 @@
</head>
<body>
<div id="root"></div>
<script src="/umi.25430c89.js"></script>
<script src="/umi.9edf4104.js"></script>
</body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(self.webpackChunkant_design_pro=self.webpackChunkant_design_pro||[]).push([[3964],{63123:function(B,M,e){e.d(M,{Z:function(){return d}});var o=e(35361),u=e(56929),t=e(50959),l=e(71252),p=e(20734),P=e(11527),h=["proFieldProps","fieldProps"],C="date",x=t.forwardRef(function(r,i){var _=r.proFieldProps,a=r.fieldProps,v=(0,u.Z)(r,h),F=(0,t.useContext)(l.Z);return(0,P.jsx)(p.Z,(0,o.Z)({ref:i,valueType:C,fieldProps:(0,o.Z)({getPopupContainer:F.getPopupContainer},a),proFieldProps:_,filedConfig:{valueType:C,customLightMode:!0}},v))}),m=x,O=["proFieldProps","fieldProps"],c="dateMonth",g=t.forwardRef(function(r,i){var _=r.proFieldProps,a=r.fieldProps,v=(0,u.Z)(r,O),F=(0,t.useContext)(l.Z);return(0,P.jsx)(p.Z,(0,o.Z)({ref:i,valueType:c,fieldProps:(0,o.Z)({getPopupContainer:F.getPopupContainer},a),proFieldProps:_,filedConfig:{valueType:c,customLightMode:!0}},v))}),s=g,f=["fieldProps"],E="dateQuarter",Z=t.forwardRef(function(r,i){var _=r.fieldProps,a=(0,u.Z)(r,f),v=(0,t.useContext)(l.Z);return(0,P.jsx)(p.Z,(0,o.Z)({ref:i,valueType:E,fieldProps:(0,o.Z)({getPopupContainer:v.getPopupContainer},_),filedConfig:{valueType:E,customLightMode:!0}},a))}),R=Z,j=["proFieldProps","fieldProps"],D="dateWeek",A=t.forwardRef(function(r,i){var _=r.proFieldProps,a=r.fieldProps,v=(0,u.Z)(r,j),F=(0,t.useContext)(l.Z);return(0,P.jsx)(p.Z,(0,o.Z)({ref:i,valueType:D,fieldProps:(0,o.Z)({getPopupContainer:F.getPopupContainer},a),proFieldProps:_,filedConfig:{valueType:D,customLightMode:!0}},v))}),T=A,L=["proFieldProps","fieldProps"],y="dateYear",b=t.forwardRef(function(r,i){var _=r.proFieldProps,a=r.fieldProps,v=(0,u.Z)(r,L),F=(0,t.useContext)(l.Z);return(0,P.jsx)(p.Z,(0,o.Z)({ref:i,valueType:y,fieldProps:(0,o.Z)({getPopupContainer:F.getPopupContainer},a),proFieldProps:_,filedConfig:{valueType:y,customLightMode:!0}},v))}),W=b,n=m;n.Week=T,n.Month=s,n.Quarter=R,n.Year=W,n.displayName="ProFormComponent";var d=n},35748:function(B,M,e){var o=e(35361),u=e(56929),t=e(50959),l=e(20734),p=e(11527),P=["fieldProps","min","proFieldProps","max"],h=function(m,O){var c=m.fieldProps,g=m.min,s=m.proFieldProps,f=m.max,E=(0,u.Z)(m,P);return(0,p.jsx)(l.Z,(0,o.Z)({valueType:"digit",fieldProps:(0,o.Z)({min:g,max:f},c),ref:O,filedConfig:{defaultProps:{width:"100%"}},proFieldProps:s},E))},C=t.forwardRef(h);M.Z=C},57949:function(B,M,e){e.r(M);var o=e(90228),u=e.n(o),t=e(87999),l=e.n(t),p=e(48305),P=e.n(p),h=e(5e4),C=e(49547),x=e(19014),m=e(63123),O=e(35748),c=e(50959),g=e(2733),s=e(11527);M.default=function(f){var E=f.values,Z=f.modalOpenState,R=f.onModalOpenState,j=f.onSubmit,D=(0,c.useRef)(),A=(0,c.useState)([]),T=P()(A,2),L=T[0],y=T[1],b=function(d){console.log(d)};(0,c.useEffect)(function(){var n;(n=D.current)===null||n===void 0||n.setFieldsValue(E)},[E]);var W=function(){var n=l()(u()().mark(function d(r){var i;return u()().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,j(r);case 2:(i=D.current)===null||i===void 0||i.resetFields();case 3:case"end":return a.stop()}},d)}));return function(r){return n.apply(this,arguments)}}();return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(h.Y,{title:"\u4E70\u5341\u8D60\u4E00\u6D3B\u52A8",formRef:D,submitter:{searchConfig:{resetText:"\u91CD\u7F6E"},resetButtonProps:{onClick:function(){var d;(d=D.current)===null||d===void 0||d.resetFields()}}},initialValues:E,onFinish:W,open:Z,onOpenChange:R,children:(0,s.jsxs)(C.A.Group,{children:[(0,s.jsx)(x.Z,{width:"md",name:"userName",label:"\u7528\u6237\u540D",placeholder:"\u8BF7\u8F93\u5165\u7528\u6237\u540D",rules:[{required:!0,message:"\u8BF7\u8F93\u5165"}]}),(0,s.jsx)(x.Z,{width:"md",name:"phone",label:"\u624B\u673A\u53F7",placeholder:"\u8BF7\u8F93\u5165\u624B\u673A\u53F7",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u624B\u673A\u53F7"},{pattern:/^1[3-9]\d{9}$/,message:"\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7"}]}),(0,s.jsx)(m.Z,{rules:[{required:!0,message:"\u8BF7\u9009\u62E9"}],name:"confirmDate",label:"\u8BA4\u9886\u65E5\u671F"}),(0,s.jsx)(O.Z,{name:"count",label:"\u8D60\u9001\u6570\u91CF"})]})})})}}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -64,10 +64,6 @@ export default () => {
const handleCreate = async (fields) => {
setRow(fields);
// let data = JSON.parse(JSON.stringify(fields))
// const { m, mobile, username, ...rest } = data;
// const extracted = { m, mobile, username };
// const remainingData = { ...rest };
const { success } = await activity10CarUserAdd(fields);
if (success) {

View File

@@ -0,0 +1,85 @@
/*
* @Note:
* @Author: 2058827620@qq.com
* @Date: 2022-04-03 17:02:15
*/
import { ProForm, ModalForm, ProFormSelect, ProFormText, ProFormDatePicker, ProFormRadio,ProFormDigit } from '@ant-design/pro-components';
import { Tree } from 'antd';
import { useEffect, useRef, useState } from 'react';
import FilesManager from '@/components/FilesManage/index';
// import services from '@/services/admin';
// const { shopLevelItems } = services.ShopLevelController;
// const { shopItems } = services.ShopController;
export default ({ values, modalOpenState, onModalOpenState, onSubmit }) => {
const restFormRef = useRef();
const [shopOption, setShopOption] = useState([]);
const searchShop = (e) => {
console.log(e);
}
useEffect(() => {
restFormRef.current?.setFieldsValue(values);
}, [values]);
const handleFinish = async (formValues) => {
await onSubmit(formValues);
restFormRef.current?.resetFields();
};
return (
<>
<ModalForm
title="买十赠一活动"
formRef={restFormRef}
submitter={{
searchConfig: {
resetText: '重置',
},
resetButtonProps: {
onClick: () => {
restFormRef.current?.resetFields();
},
},
}}
initialValues={values}
onFinish={handleFinish}
open={modalOpenState}
onOpenChange={onModalOpenState}
>
<ProForm.Group>
<ProFormText
width="md"
name="userName"
label="用户名"
placeholder="请输入用户名"
rules={[{ required: true, message: '请输入' }]}
/>
<ProFormText
width="md"
name="phone"
label="手机号"
placeholder="请输入手机号"
rules={[{ required: true, message: '请输入手机号' }, { pattern: /^1[3-9]\d{9}$/, message: '请输入有效的手机号' }]}
/>
< ProFormDatePicker
rules={[{ required: true, message: '请选择' }]}
name="confirmDate"
label="认领日期"
/>
<ProFormDigit
name="count"
label="赠送数量"
/>
</ProForm.Group>
</ModalForm >
</>
);
};

View File

@@ -3,11 +3,18 @@ import { Select, Space, Image, Button } from 'antd';
import {
PageContainer,
ProTable,
ActionType
} from '@ant-design/pro-components';
import { activity10s1UserList } from '@/services/activity/index';
import { usersPage } from '@/services/user/user';
import { usersPage,activity10s1UserAdd } from '@/services/user/user';
import CreateFormModal from './components/CreateFormModal';
export default () => {
const [createFormModal, setCreateFormModal] = useState(false);
const initRow = {
shop_id: '',
@@ -28,19 +35,19 @@ export default () => {
const [rowCancellationModal, setRowCancellationModal] = useState(initRowCancellationModal);
const actionRef = useRef();
const actionRef = useRef<ActionType>();
const [searchParams, setSearchParams] = useState(null);
const [shopOption, setShopOption] = useState([]);
const searchShop = async (value) => {
const { success, data } = await usersPage({
userName: value
});
data.records.map((i) => {
i.userName = i.userName + ' ' + i.phone
})
setShopOption(data.records)
const { success, data } = await usersPage({
userName: value
});
data.records.map((i) => {
i.userName = i.userName + ' ' + i.phone
})
setShopOption(data.records)
}
const columns = [
@@ -59,17 +66,17 @@ export default () => {
dataIndex: 'userId',
render: (_, record) => {
return <>
<div>{record?.usersInfo?.userName}</div>
<div>{record?.usersInfo?.phone}</div>
<div>{record?.usersInfo?.level}</div>
<div>{record?.usersInfo?.userName}</div>
<div>{record?.usersInfo?.phone}</div>
<div>{record?.usersInfo?.level}</div>
</>
},
renderFormItem: (
_,
{ type, defaultRender, formItemProps, fieldProps, ...rest },
form,
) => {
return <Select
},
renderFormItem: (
_,
{ type, defaultRender, formItemProps, fieldProps, ...rest },
form,
) => {
return <Select
{...fieldProps}
allowClear
showSearch
@@ -77,20 +84,20 @@ export default () => {
style={{ width: "100%" }}
filterOption={false}
onSearch={
(e) => {
if (!e) {
return;
}
searchShop(e);
(e) => {
if (!e) {
return;
}
searchShop(e);
}
}
fieldNames={{
label: "userName",
value: "id"
label: "userName",
value: "id"
}}
options={shopOption}
/>
},
/>
},
},
{
title: '认领时间',
@@ -115,11 +122,29 @@ export default () => {
}
];
const handleCreate = async (fields) => {
setRow(fields);
const { success } = await activity10s1UserAdd(fields);
if (success) {
setRow(initRow);
actionRef.current?.reload();
setCreateFormModal(false);
}
};
return (
<PageContainer
ghost
>
<>
<CreateFormModal
values={row}
modalOpenState={createFormModal}
onModalOpenState={setCreateFormModal}
onSubmit={handleCreate}
/>
<ProTable
actionRef={actionRef}
rowKey="id"
@@ -127,33 +152,15 @@ export default () => {
defaultCollapsed: false,
}}
toolBarRender={() => [
// <AuthConsumer action={'admin/shop_activity/create'} key="admin/shop_activity/create">
// <Button
// type="primary"
// style={{ background: '#67c23a' }}
// onClick={() => {
// setCreateFormModal(true)
// }}
// >
// 添加
// </Button>
// </AuthConsumer>,
// <AuthConsumer action={'admin/shop_activity/export'} key="admin/shop_activity/export">
// <Button type="primary" onClick={() => {
// window.location.href = exportLink(searchParams, '/admin/shop_activity/export');
// }}>导出表格</Button>
// </AuthConsumer>,
// <AuthConsumer action={'admin/shop_activity/delete'} key="admin/shop_activity/delete">
// <Button
// danger
// type="primary"
// onClick={() => {
// setCancellationModal(true)
// }}
// >
// 作废
// </Button>
// </AuthConsumer>
<Button
type="primary"
style={{ background: '#67c23a' }}
onClick={() => {
setCreateFormModal(true)
}}
>
</Button>,
]}
request={async (params, sorter, filter) => {
setSearchParams({ token: '', ...params });

View File

@@ -141,3 +141,15 @@ export async function updateUserPemType(body) {
data: body || {},
});
}
export async function activity10s1UserAdd(body) {
return request(`/api/activity/activity10s1UserAdd`, {
method: 'POST',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
},
data: body || {},
});
}