xy 7 년 전
부모
커밋
fd406cfa52
5개의 변경된 파일132개의 추가작업 그리고 44개의 파일을 삭제
  1. 7 1
      src/config.js
  2. 25 1
      src/gql.js
  3. 26 27
      src/graphqlALL.txt
  4. 64 3
      src/page/display/Service.js
  5. 10 12
      src/page/home/Ordered.js

+ 7 - 1
src/config.js

@@ -1,3 +1,9 @@
-const graphqlFC = 'http://service-dan6exu1-1254337200.ap-shanghai.apigateway.myqcloud.com/test/graphql';
+// 这个 fc 的数据结构错了,库存的地方应该是 service_id
+// const graphqlFC = 'http://service-dan6exu1-1254337200.ap-shanghai.apigateway.myqcloud.com/test/graphql';
+
+// const graphqlFC = 'http://localhost:3123/graphql';
+
+const graphqlFC = 'http://123.206.193.98:3123/graphql';
+
 
 export {graphqlFC}

+ 25 - 1
src/gql.js

@@ -147,6 +147,29 @@ const updateorderAndupdaterepertory = `
     }
 `;
 
+const createorderAndupdaterepertory = `
+    mutation updateorderAndupdaterepertory ($order_id: ID, $payStatus: String, $remark: String, $payCount: String, $payTime: String, $createdAt: String, $orderStatus: String, $user_id: ID, $service_id: ID, $customerNumber: Int, $repertory_id: ID, $updatedAt: String, $count: Int) {
+        createorder: create_order(id: $order_id payStatus: $payStatus remark: $remark payCount: $payCount createdAt: $createdAt updatedAt: $updatedAt payTime: $payTime createdAt: $createdAt orderStatus: $orderStatus user_id: $user_id service_id: $service_id customerNumber: $customerNumber) {
+            payStatus
+            remark
+            payCount
+            updatedAt
+            payTime
+            createdAt
+            updatedAt
+            orderStatus
+            id
+            customerNumber
+          }
+      
+          updaterepertory: update_repertory(id: $repertory_id count: $count updatedAt: $updatedAt) {
+            id
+            count
+            updatedAt
+          }
+    }
+`;
+
 const repertorybyid = `
     query repertorybyid($id: ID) {
       repertorybyid: repertory_by_id(id: $id) {
@@ -164,6 +187,7 @@ export {
     orderbyprops,
     userbyid,
     updateuser,
+    repertorybyid,
     updateorderAndupdaterepertory,
-    repertorybyid
+    createorderAndupdaterepertory,
 }

+ 26 - 27
src/graphqlALL.txt

@@ -36,7 +36,6 @@ query servicebyid($id: ID) {
     }
     repertory_id {
       id
-
       count
       createdAt
       updatedAt
@@ -53,11 +52,12 @@ query servicebyid($id: ID) {
 query repertorybyid($id: ID) {
   repertorybyid: repertory_by_id(id: $id) {
     id
-    server_id {
+    service_id {
       id
-      name
       description
-      img
+      price
+      startTime
+      lastTime
       createdAt
       updatedAt
     }
@@ -90,8 +90,6 @@ query orderbyid($id: ID) {
     }
     service_id {
       id
-
-
       description
       price
       startTime
@@ -103,14 +101,15 @@ query orderbyid($id: ID) {
   }
 }
 
-query repertorybyprops($server_id: ID, $count: Int, $createdAt: String, $updatedAt: String) {
-  repertorybyprops: repertory_by_props(server_id: $server_id count: $count createdAt: $createdAt updatedAt: $updatedAt) {
+query repertorybyprops($service_id: ID, $count: Int, $createdAt: String, $updatedAt: String) {
+  repertorybyprops: repertory_by_props(service_id: $service_id count: $count createdAt: $createdAt updatedAt: $updatedAt) {
     id
-    server_id {
+    service_id {
       id
-      name
       description
-      img
+      price
+      startTime
+      lastTime
       createdAt
       updatedAt
     }
@@ -301,14 +300,17 @@ mutation updateserver($id: ID, $name: String, $description: String, $img: String
   }
 }
 
-mutation createrepertory($id: ID!, $server_id: ID, $count: Int, $createdAt: String, $updatedAt: String) {
-  createrepertory: create_repertory(id: $id server_id: $server_id count: $count createdAt: $createdAt updatedAt: $updatedAt) {
+mutation createrepertory($id: ID!, $service_id: ID, $count: Int, $createdAt: String, $updatedAt: String) {
+  createrepertory: create_repertory(id: $id service_id: $service_id count: $count createdAt: $createdAt updatedAt: $updatedAt) {
     id
-    server_id {
+    service_id {
       id
-      name
+
+
       description
-      img
+      price
+      startTime
+      lastTime
       createdAt
       updatedAt
     }
@@ -349,8 +351,6 @@ mutation createorder($payStatus: String, $remark: String, $payCount: String, $up
     }
     service_id {
       id
-
-
       description
       price
       startTime
@@ -362,8 +362,8 @@ mutation createorder($payStatus: String, $remark: String, $payCount: String, $up
   }
 }
 
-mutation deleterepertory($id: ID, $server_id: ID, $count: Int, $createdAt: String, $updatedAt: String) {
-  deleterepertory: delete_repertory(id: $id server_id: $server_id count: $count createdAt: $createdAt updatedAt: $updatedAt)
+mutation deleterepertory($id: ID, $service_id: ID, $count: Int, $createdAt: String, $updatedAt: String) {
+  deleterepertory: delete_repertory(id: $id service_id: $service_id count: $count createdAt: $createdAt updatedAt: $updatedAt)
 }
 
 mutation updateorder($payStatus: String, $remark: String, $payCount: String, $updatedAt: String, $payTime: String, $createdAt: String, $orderStatus: String, $id: ID, $user_id: ID, $service_id: ID, $customerNumber: Int) {
@@ -389,8 +389,6 @@ mutation updateorder($payStatus: String, $remark: String, $payCount: String, $up
     }
     service_id {
       id
-
-
       description
       price
       startTime
@@ -410,14 +408,15 @@ mutation deleteservice($id: ID, $server_id: ID, $repertory_id: ID, $description:
   deleteservice: delete_service(id: $id server_id: $server_id repertory_id: $repertory_id description: $description price: $price startTime: $startTime lastTime: $lastTime createdAt: $createdAt updatedAt: $updatedAt)
 }
 
-mutation updaterepertory($id: ID, $server_id: ID, $count: Int, $createdAt: String, $updatedAt: String) {
-  updaterepertory: update_repertory(id: $id server_id: $server_id count: $count createdAt: $createdAt updatedAt: $updatedAt) {
+mutation updaterepertory($id: ID, $service_id: ID, $count: Int, $createdAt: String, $updatedAt: String) {
+  updaterepertory: update_repertory(id: $id service_id: $service_id count: $count createdAt: $createdAt updatedAt: $updatedAt) {
     id
-    server_id {
+    service_id {
       id
-      name
       description
-      img
+      price
+      startTime
+      lastTime
       createdAt
       updatedAt
     }

+ 64 - 3
src/page/display/Service.js

@@ -3,6 +3,10 @@ import {NavBar, Icon, WhiteSpace, Card, Button} from 'antd-mobile';
 import CalendarPick from '../component/CalendarPick';
 import moment from 'moment';
 import 'moment/locale/zh-cn'
+import {repertorybyid, createorderAndupdaterepertory} from "../../gql";
+import {Spin} from 'antd';
+import gql from "graphql-tag";
+import {Query, Mutation} from "react-apollo";
 moment.locale('zh-cn');
 
 class Service extends Component {
@@ -54,7 +58,9 @@ class Service extends Component {
                                                         <div>开始时间: {moment(Number(service.startTime)).format("YYYY-MM-DD HH:mm:ss")}</div>
                                                         <div>工作时间: {moment.duration(Number(service.lastTime), "milliseconds").humanize()}</div>
                                                         <div>剩余名额: {service.repertory_id.count}</div>
-                                                        <Button type='primary' onClick={()=>{}}>预约</Button>
+                                                        <OrderButton
+                                                            repertoryID={service.repertory_id.id}
+                                                        />
                                                     </div>
                                                 </Card.Body>
                                             </Card>
@@ -64,11 +70,66 @@ class Service extends Component {
                             }
                         </div>
                 }
-
-
             </div>
         );
     }
 }
 
 export default Service;
+
+class OrderButton extends Component {
+    constructor(props) {
+        super(props);
+        this.state = {}
+    }
+
+    render() {
+        let {repertoryID} = this.props;
+        return (
+            <Query query={gql(repertorybyid)} variables={{id: repertoryID}}>
+                {
+                    ({loading, error, data}) => {
+                        if (loading) {
+                            return <Spin className={'spin'}/>
+                        }
+                        if (error) {
+                            return 'error!';
+                        }
+                        console.log(data);
+                        let count = data.repertorybyid.count;
+                        if(count <= 0) {
+                            return (
+                                <div>名额已满</div>
+                            )
+                        } else {
+                            return (
+                                <Mutation mutation={gql(createorderAndupdaterepertory)}>
+                                    {(createorderAndupdaterepertory, {loading, error}) => {
+                                        if (loading)
+                                            return <Spin/>;
+                                        if (error)
+                                            return 'error';
+                                        let varObj = {
+                                            // order_id: orderID,
+                                            repertory_id: repertoryID,
+                                            updatedAt: new Date().getTime(),
+                                            orderStatus: 'cancelled',
+                                            count: count+1
+                                        };
+                                        return (
+                                            <Button type='primary' onClick={() => {
+                                                createorderAndupdaterepertory({variable: varObj})
+                                            }}>预约</Button>
+                                        )
+                                    }}
+                                </Mutation>
+                            )
+                        }
+
+                    }
+                }
+            </Query>
+
+        )
+    }
+}

+ 10 - 12
src/page/home/Ordered.js

@@ -30,8 +30,6 @@ class Ordered extends Component {
                             tip = '还没有订单'
                         }
 
-                        console.log(orders);
-
                         return (
                             <OrderedRender
                                 orders={orders}
@@ -114,22 +112,22 @@ class CancelButton extends Component {
                         let count = data.repertorybyid.count;
                         return (
                             <Mutation mutation={gql(updateorderAndupdaterepertory)}>
-                                {(updateorderAndupdaterepertory, {loading, error}) => {
+                                {(updateBothTwo, {loading, error}) => {
                                     if (loading)
                                         return <Spin style={{marginLeft: 30, marginTop: 10}}/>;
                                     if (error)
                                         return 'error';
+                                    let varObj = {
+                                        order_id: orderID,
+                                        repertory_id: repertoryID,
+                                        updatedAt: new Date().getTime(),
+                                        orderStatus: 'cancelled',
+                                        count: count+1
+                                    };
+                                    console.log(varObj);
                                     return (
                                         <Button type='warning' onClick={() => {
-                                            updateorderAndupdaterepertory({
-                                                variable: {
-                                                    order_id: orderID,
-                                                    repertory_id: repertoryID,
-                                                    updatedAt: new Date().getTime(),
-                                                    orderStatus: 'cancelled',
-                                                    count: count+1
-                                                }
-                                            })
+                                            updateBothTwo({variable: varObj})
                                         }}>取消</Button>
                                     )
                                 }}