kulley 7 年之前
父節點
當前提交
8032f6131b
共有 5 個文件被更改,包括 51 次插入29 次删除
  1. 4 0
      README.md
  2. 2 1
      src/App.js
  3. 15 3
      src/gql.js
  4. 15 15
      src/page/manage/Release.js
  5. 15 10
      src/page/manage/Store.js

+ 4 - 0
README.md

@@ -5,6 +5,10 @@ with react, graphql, apollo client
     <img src="https://github.com/kulley/imgs/blob/master/appointment-react-1.jpg" width="190" >
     <img src="https://github.com/kulley/imgs/blob/master/appointment-react-2.jpg" width="190">
     <img src="https://github.com/kulley/imgs/blob/master/appointment-react-3.jpg" width="190" >
+    <img src="https://github.com/kulley/imgs/blob/master/appointment-react-4.jpg" width="190" >
+    <img src="https://github.com/kulley/imgs/blob/master/appointment-react-5.jpg" width="190" >
+    <img src="https://github.com/kulley/imgs/blob/master/appointment-react-6.jpg" width="190" >
+    <img src="https://github.com/kulley/imgs/blob/master/appointment-react-7.jpg" width="190" >
  </div>
 
  ## schema

+ 2 - 1
src/App.js

@@ -3,7 +3,8 @@ import {ActivityIndicator} from 'antd-mobile';
 import './App.css';
 import Manage from "./page/manage/Manage";
 import Customer from './page/customer/Customer';
-import {getCookie, setCookie} from "./cookie";
+import {getCookie} from "./cookie";
+// import {setCookie} from "./cookie";
 import {userbyprops, createuser, userbypropsNum} from "./gql";
 import {Query} from "react-apollo";
 import gql from "graphql-tag";

+ 15 - 3
src/gql.js

@@ -332,9 +332,6 @@ const adminorderbyprops = `
         serviceStartTime
         serviceLastTime
         customerNumber
-        repertory_id {
-            id
-        }
       }
     }
 `;
@@ -448,6 +445,12 @@ const deleteserviceAnddeleterepertory = `
     }
 `;
 
+const deleteservice = `
+    mutation deleteservice($service_id: ID!) {      
+      deleteservice: delete_service(id: $service_id)
+    }
+`;
+
 const deleteserveranddeleteserviceAnddeleterepertory = `
     mutation deleteserviceAnddeleterepertory($server_id: ID!) {
       deleterepertory: delete_repertory(server_id: $server_id)
@@ -456,6 +459,13 @@ const deleteserveranddeleteserviceAnddeleterepertory = `
     }
 `;
 
+const deleteserveranddeleteservice = `
+    mutation deleteserveranddeleteservice($server_id: ID!) {
+      deleteservice: delete_service(server_id: $server_id)
+      deleteserver: delete_server(id: $server_id)
+    }
+`;
+
 const storebyprops = `query storebyprops($name: String, $description: String, $address: String, $alert: String) {
     storebyprops: store_by_props(name: $name description: $description address: $address alert: $alert) {
         id
@@ -518,7 +528,9 @@ export {
     updateserviceAndupdaterepertory,
     createserviceAndcreaterepertory,
     deleteserviceAnddeleterepertory,
+    deleteservice,
     deleteserveranddeleteserviceAnddeleterepertory,
+    deleteserveranddeleteservice,
     createorderAndupdaterepertoryAndupdateuser,
     storebyprops,
     createstore,

+ 15 - 15
src/page/manage/Release.js

@@ -19,10 +19,12 @@ import {
     servicebyprops,
     createserver,
     updateserver,
-    deleteserveranddeleteserviceAnddeleterepertory,
+    // deleteserveranddeleteserviceAnddeleterepertory,
+    deleteserveranddeleteservice,
     updateserviceAndupdaterepertory,
     createserviceAndcreaterepertory,
-    deleteserviceAnddeleterepertory
+    // deleteserviceAnddeleterepertory,
+    deleteservice
 } from "../../gql";
 import {idGen} from "../../func";
 import axios from 'axios';
@@ -222,7 +224,8 @@ class ServiceList extends Component {
                                     </Item>
 
                                     <Mutation
-                                        mutation={gql(deleteserveranddeleteserviceAnddeleterepertory)}
+                                        // mutation={gql(deleteserveranddeleteserviceAnddeleterepertory)}
+                                        mutation={gql(deleteserveranddeleteservice)}
                                         refetchQueries={[
                                             {query: gql(serverbyprops), variables: {}},
                                             {query: gql(servicebyprops), variables: {server_id: serverID}}
@@ -315,11 +318,12 @@ class ModifyServer extends Component {
         console.log("files", files, "operationType", operationType);
 
         let imgDatas = [];
+        let {name} = this.state;
 
         files.forEach((file, index) => {
             let base64Cont = files[index].url.split(',')[1];
             let imgType = files[index].file.type.split('/')[1];
-            let imgNewName = `${Date.now() + '_' + Math.floor(Math.random() * 100)}.${imgType}`;
+            let imgNewName = `${name}_server.${imgType}`;
 
             const imgData = {
                 'file-name': `appointment/images/${imgNewName}`,
@@ -336,8 +340,6 @@ class ModifyServer extends Component {
             imgDatas,
             files
         });
-
-        console.log(imgDatas, 'imgDatas');
     };
 
     render() {
@@ -468,14 +470,13 @@ class AddServer extends Component {
     };
 
     onChange = (files, operationType) => {
-        console.log("files", files, "operationType", operationType);
-
         let imgDatas = [];
+        let {name} = this.state;
 
         files.forEach((file, index) => {
             let base64Cont = files[index].url.split(',')[1];
             let imgType = files[index].file.type.split('/')[1];
-            let imgNewName = `${Date.now() + '_' + Math.floor(Math.random() * 100)}.${imgType}`;
+            let imgNewName = `${name}_server.${imgType}`;
 
             const imgData = {
                 'file-name': `appointment/images/${imgNewName}`,
@@ -492,8 +493,6 @@ class AddServer extends Component {
             imgDatas,
             files
         });
-
-        console.log(imgDatas, 'imgDatas');
     };
 
     render() {
@@ -535,7 +534,6 @@ class CreateServerButton extends Component {
 
     uploadImg = () => {
         let {imgDatas} = this.props;
-        console.log("imgDatas", imgDatas);
 
         return imgDatas.map((imgData) => (
             axios({
@@ -890,10 +888,12 @@ class DeleteServiceButton extends Component {
     }
 
     render() {
-        let {serverID, serviceID, repertoryID, donotShowDetail} = this.props;
+        let {serverID, serviceID, donotShowDetail} = this.props;
+        // let {repertoryID} = this.props;
         return (
             <Mutation
-                mutation={gql(deleteserviceAnddeleterepertory)}
+                // mutation={gql(deleteserviceAnddeleterepertory)}
+                mutation={gql(deleteservice)}
                 refetchQueries={[
                     {query: gql(servicebyprops), variables: {server_id: serverID}}
                 ]}
@@ -911,7 +911,7 @@ class DeleteServiceButton extends Component {
                         return 'error';
                     let varObj = {
                         service_id: serviceID,
-                        repertory_id: repertoryID
+                        // repertory_id: repertoryID
                     };
                     return (
                         <Button size="small" type="warning" inline style={{marginLeft: '10px'}} onClick={() => {

+ 15 - 10
src/page/manage/Store.js

@@ -7,6 +7,7 @@ import gql from "graphql-tag";
 import {Message} from '../customer/home/User';
 import {storeFile} from "../../config";
 import axios from 'axios';
+import {idGen} from "../../func";
 
 axios.defaults.withCredentials = true;
 const alert = Modal.alert;
@@ -72,7 +73,8 @@ class StoreDetailFetch extends Component {
                             console.log('store 数据库出现错误');
                         }
 
-                        let {name, description, address, alert, slideshow} = store;
+                        let {name, description, address, alert, slideshow, id} = store;
+                        let storeID = newStore ? idGen('store') : id;
                         return (
                             <StoreDetailRender
                                 name={name}
@@ -81,6 +83,7 @@ class StoreDetailFetch extends Component {
                                 alert={alert}
                                 slideshow={slideshow}
                                 newStore={newStore}
+                                storeID={storeID}
                             />
                         )
                     }
@@ -95,6 +98,7 @@ class StoreDetailRender extends Component {
     constructor(props) {
         super(props);
         this.state = {
+            storeID: props.storeID,
             files: [],
             imgDatas: [],
             name: props.name,
@@ -120,11 +124,12 @@ class StoreDetailRender extends Component {
         console.log("files", files, "operationType", operationType);
 
         let imgDatas = [];
+        let {storeID} = this.state;
 
         files.forEach((file, index) => {
             let base64Cont = files[index].url.split(',')[1];
             let imgType = files[index].file.type.split('/')[1];
-            let imgNewName = `${Date.now() + '_' + Math.floor(Math.random() * 100)}.${imgType}`;
+            let imgNewName = `slideshow_${index}_storeID_${storeID}.${imgType}`;
 
             const imgData = {
                 'file-name': `appointment/images/${imgNewName}`,
@@ -146,7 +151,7 @@ class StoreDetailRender extends Component {
     };
 
     render() {
-        let {files, name, description, address, alert, slideshow, imgDatas} = this.state;
+        let {files, name, description, address, alert, slideshow, imgDatas, storeID} = this.state;
         let {newStore} = this.props;
         return (
             <List renderHeader={() => '店铺个性化管理'} className="my-list">
@@ -174,6 +179,7 @@ class StoreDetailRender extends Component {
                     {
                         newStore ?
                             <CreateStoreButton
+                                storeID={storeID}
                                 imgDatas={imgDatas}
                                 name={name}
                                 description={description}
@@ -183,6 +189,7 @@ class StoreDetailRender extends Component {
                             />
                             :
                             <UpdateStoreButton
+                                storeID={storeID}
                                 imgDatas={imgDatas}
                                 name={name}
                                 description={description}
@@ -206,7 +213,6 @@ class UpdateStoreButton extends Component {
 
     uploadImg = () => {
         let {imgDatas} = this.props;
-        console.log("imgDatas", imgDatas);
 
         return imgDatas.map((imgData) => (
             axios({
@@ -218,7 +224,7 @@ class UpdateStoreButton extends Component {
     };
 
     render() {
-        let {name, description, address, alert, slideshow, imgDatas} = this.props;
+        let {name, description, address, alert, imgDatas, storeID} = this.props;
         return (
             <Mutation
                 mutation={gql(updatestore)}
@@ -236,7 +242,7 @@ class UpdateStoreButton extends Component {
                     if (error)
                         return 'error';
                     let varObj = {
-                        id: 'default store',
+                        id: storeID,
                         name,
                         description,
                         address,
@@ -272,7 +278,6 @@ class CreateStoreButton extends Component {
 
     uploadImg = () => {
         let {imgDatas} = this.props;
-        console.log("imgDatas", imgDatas);
 
         return imgDatas.map((imgData) => (
             axios({
@@ -284,7 +289,7 @@ class CreateStoreButton extends Component {
     };
 
     render() {
-        let {name, description, address, alert, slideshow, imgDatas} = this.props;
+        let {name, description, address, alert, imgDatas, storeID} = this.props;
         return (
             <Mutation
                 mutation={gql(createstore)}
@@ -302,7 +307,7 @@ class CreateStoreButton extends Component {
                     if (error)
                         return 'error';
                     let varObj = {
-                        id: 'default store',
+                        id: storeID,
                         name: name ? name : '',
                         description: description ? description : '',
                         address: address ? address : '',
@@ -380,7 +385,7 @@ class ManagePeople extends Component {
                                     maskClosable={true}
                                     closable={true}
                                     title="设置你的联系方式"
-                                    onClose={()=>{
+                                    onClose={() => {
                                         this.setState({
                                             modal: false
                                         })