ソースを参照

Merge branch 'v2' of http://git.ycjcjy.com/yunzhi/crm_pc into v2

fangmingyue 1 年間 前
コミット
d3042745e6
共有3 個のファイルを変更した126 個の追加54 個の削除を含む
  1. 70
    0
      src/pages/member/components/ModalNewCard.jsx
  2. 52
    50
      src/pages/member/index.jsx
  3. 4
    4
      src/services/taMemberCard.js

+ 70
- 0
src/pages/member/components/ModalNewCard.jsx ファイルの表示

@@ -0,0 +1,70 @@
1
+import { postTaMemberCardIdActive } from "@/services/taMemberCard";
2
+import { getTaPackage } from "@/services/taPackage";
3
+import { queryDict } from "@/utils/request";
4
+import {
5
+  ProForm,
6
+  ProFormSelect,
7
+  ProFormText,
8
+} from "@ant-design/pro-components";
9
+import { Form, Modal } from "antd";
10
+import { useForm } from "antd/lib/form/Form";
11
+import React from "react";
12
+export default (props) => {
13
+  const { isModalOpen, setIsModalOpen } = props;
14
+  const formRef = React.useRef();
15
+
16
+  const packageList = queryDict(getTaPackage, {
17
+    labelKey: "packageName",
18
+    valueKey: "packageId",
19
+  });
20
+  // const [form] = Form.useForm();
21
+
22
+  const handleOk = () => {
23
+    setIsModalOpen(false);
24
+  };
25
+
26
+  const handleCancel = () => {
27
+    setIsModalOpen(false);
28
+  };
29
+
30
+  // React.useEffect(() => {
31
+  //   formRef?.current?.resetFields();
32
+
33
+  //   if (Object.keys(recordMap).length > 0) {
34
+  //     formRef?.current?.setFieldsValue(recordMap);
35
+  //   }
36
+  // }, [recordMap]);
37
+
38
+  const onFinish = () => {
39
+    formRef?.current?.validateFieldsReturnFormatValue?.().then((x) => {
40
+      // const memberId = formRef?.current?.getFieldValue("memberId");
41
+      const data = {
42
+        ...x,
43
+        // memberId: memberId,
44
+      };
45
+      console.log(data);
46
+      postTaMemberCardIdActive(data).then((res) => {});
47
+    });
48
+  };
49
+  return (
50
+    <Modal
51
+      title="会员开卡"
52
+      open={isModalOpen}
53
+      onOk={handleOk}
54
+      onCancel={handleCancel}
55
+      footer={null}
56
+    >
57
+      <ProForm formRef={formRef} onFinish={onFinish}>
58
+        <ProFormText name="memberName" label="会员姓名" />
59
+        <ProFormText name="phone" label="手机号" />
60
+        <ProFormSelect
61
+          required
62
+          name="packageId"
63
+          label="选择套餐"
64
+          request={packageList}
65
+          rules={[{ required: true, message: "请选择套餐" }]}
66
+        />
67
+      </ProForm>
68
+    </Modal>
69
+  );
70
+};

+ 52
- 50
src/pages/member/index.jsx ファイルの表示

@@ -3,9 +3,12 @@ import { getTaMember } from "@/services/taMember";
3 3
 import List from "@/components/Page/List";
4 4
 import moment from "moment";
5 5
 import { useNavigate } from "react-router-dom";
6
-import { Button, Popconfirm } from "antd";
6
+import { Button, Modal, Popconfirm } from "antd";
7
+import ModalNewCard from "./components/ModalNewCard";
8
+import { putTaMemberCardIdWrite } from "@/services/taMemberCard";
7 9
 export default (props) => {
8 10
   const navigate = useNavigate();
11
+  const [isModalOpen, setIsModalOpen] = React.useState(false);
9 12
 
10 13
   const columns = [
11 14
     {
@@ -56,61 +59,60 @@ export default (props) => {
56 59
     {
57 60
       title: "状态",
58 61
       dataIndex: "status",
59
-
60 62
     },
61 63
   ];
62
-  const onActive = (record) => {
63
-    // postTaMemberCardIdActive().then((res) => {});
64
+  const onModalNewCard = (record) => {
65
+
66
+    setIsModalOpen(true);
64 67
   };
65
-  const onWrite = (record) => {
68
+  const onWrite = (id) => {
66 69
     // putTaMemberCardIdWrite().then((res) => {});
67 70
   };
68 71
 
69
-  const ColumnOptionRender = (_, record) => [
70
-    <Popconfirm
71
-      key="A3"
72
-      title="您是否确认发卡?"
73
-      onConfirm={() => onActive(record.customId)}
74
-      okText="确定" 
75
-      cancelText="取消"
76
-    >
77
-      <Button style={{ padding: 0 }} type="link">
78
-        发卡
79
-      </Button>
80
-    </Popconfirm>,
81
-    <Popconfirm
82
-      key="A2"
83
-      title="您是否确认核销卡?"
84
-      onConfirm={() => onWrite(record.customId)}
85
-      okText="确定"
86
-      cancelText="取消"
87
-    >
88
-      <Button style={{ padding: 0 }} type="link">
89
-        核销卡
90
-      </Button>
91
-    </Popconfirm>,
92
-  ];
93 72
   return (
94
-    <List
95
-      // actionRef={actionRef}
96
-      rowKey="memberId"
97
-      onEdit={(record) => navigate(`/member/edit?id=${record.memberId}`)}
98
-      columnOptionRender={ColumnOptionRender}
99
-
100
-      // onDelete={(record) => handleDelete(record.memberId)}
101
-      // toolBarRender={() => [
102
-      //   <Button
103
-      //     key="1"
104
-      //     type="primary"
105
-      //     onClick={() => {
106
-      //       navigate("/member/edit");
107
-      //     }}
108
-      //   >
109
-      //     新增
110
-      //   </Button>,
111
-      // ]}
112
-      request={getTaMember}
113
-      columns={columns}
114
-    />
73
+    <>
74
+      <List
75
+        // actionRef={actionRef}
76
+        rowKey="memberId"
77
+        onEdit={(record) => navigate(`/member/edit?id=${record.memberId}`)}
78
+        columnOptionRender={(_, record) => [
79
+          <Popconfirm
80
+            key="A2"
81
+            title="您是否确认核销卡?"
82
+            onConfirm={() => onWrite(record.memberId)}
83
+            okText="确定"
84
+            cancelText="取消"
85
+            disabled={!record.taMemberCardList?.length}
86
+          >
87
+            <Button
88
+              style={{ padding: 0 }}
89
+              type="link"
90
+              disabled={!record.taMemberCardList?.length}
91
+            >
92
+              核销卡
93
+            </Button>
94
+          </Popconfirm>,
95
+        ]}
96
+        request={getTaMember}
97
+        columns={columns}
98
+        toolBarRender={(record) => {
99
+          return [
100
+            <Button
101
+              key="1"
102
+              type="primary"
103
+              onClick={() => {
104
+                onModalNewCard(record);
105
+              }}
106
+            >
107
+              开卡
108
+            </Button>,
109
+          ];
110
+        }}
111
+      />
112
+      <ModalNewCard
113
+        isModalOpen={isModalOpen}
114
+        setIsModalOpen={setIsModalOpen}
115
+      />
116
+    </>
115 117
   );
116 118
 };

+ 4
- 4
src/services/taMemberCard.js ファイルの表示

@@ -34,10 +34,10 @@ export const deleteTaMemberCardId = (id) =>
34 34
   /**
35 35
    * 开卡
36 36
    */
37
-  export const postTaMemberCardIdActive = (cardId) =>
38
-  request(`/taMemberCard/${cardId}/active`, { method: "post" });
37
+  export const postTaMemberCardIdActive = (data) =>
38
+  request(`/taMemberCard/active`, { method: "post",data });
39 39
 
40 40
   /**
41 41
    * 核销卡
42
-   */ export const putTaMemberCardIdWrite = (cardId) =>
43
-  request(`/taMemberCard/${cardId}/write`, { method: "post" });
42
+   */ export const putTaMemberCardIdWrite = (memberId) =>
43
+  request(`/taMemberCard/${memberId}/write`, { method: "post",data });