Kaynağa Gözat

增加规格的增加按钮、修复一些bug

kulley 6 yıl önce
ebeveyn
işleme
1b89b4de68
2 değiştirilmiş dosya ile 61 ekleme ve 7 silme
  1. 40 7
      src/pages/my/manage/goods/index.js
  2. 21 0
      src/utils/gql.js

+ 40 - 7
src/pages/my/manage/goods/index.js

@@ -25,7 +25,8 @@ import {
     create_category,
     specificationStock_by_props,
     delete_specificationStock,
-    update_specificationStock
+    update_specificationStock,
+    create_specificationStock
 } from "../../../../utils/gql"
 import {Query, Mutation} from "react-apollo"
 import gql from "graphql-tag"
@@ -766,11 +767,11 @@ class AddSpecStock extends Component {
                         <List renderHeader={() => <div onClick={this.controlList(true, -1)}><Icon
                             type="left"/>&nbsp;点击返回规格列表</div>}>
                             <InputItem onChange={(e) => {
-                                this.setState({intro: e})
-                            }} value={size} placeholder="请输入简介">简介</InputItem>
+                                this.setState({size: e})
+                            }} value={size} placeholder="请输入尺寸">尺寸</InputItem>
                             <InputItem onChange={(e) => {
-                                this.setState({price: e})
-                            }} value={color} placeholder="请输入价格">价格</InputItem>
+                                this.setState({color: e})
+                            }} value={color} placeholder="请输入颜色">颜色</InputItem>
                             <Item extra={<Stepper onChange={(e) => {
                                 this.setState({stock: e})
                             }} value={stock} style={{width: '100%', minWidth: '100px'}} showNumber
@@ -779,7 +780,40 @@ class AddSpecStock extends Component {
                                 <div className='spec-button-group'>
                                     {
                                         index === -1?
-                                            <div>新增的按钮还没写</div>
+                                            <Mutation mutation={gql(create_specificationStock)} refetchQueries={[
+                                                {query: gql(specificationStock_by_props), variables: {product_id: productID}}
+                                            ]}>
+                                                {(createspecificationStock, {loading, error}) => {
+                                                    if (loading)
+                                                        return (
+                                                            <div className="loading">
+                                                                <div className="align">
+                                                                    <ActivityIndicator text="Loading..." size="large"/>
+                                                                </div>
+                                                            </div>
+                                                        )
+                                                    if (error)
+                                                        return 'error'
+                                                    let varObj = {
+                                                        id,
+                                                        product_id: productID,
+                                                        color,
+                                                        size,
+                                                        stock,
+                                                        slideImg: [],
+                                                        detailImg: [],
+                                                        status: '1',
+                                                        createdAt: moment().format('YYYY-MM-DD HH:mm:ss'),
+                                                        updatedAt: ''
+                                                    }
+                                                    return (
+                                                        <Button type="primary" size="small" inline
+                                                                onClick={() => {
+                                                                    createspecificationStock({variables: varObj})
+                                                                }}>添加</Button>
+                                                    )
+                                                }}
+                                            </Mutation>
                                             :
                                             <div>
                                                 <Mutation mutation={gql(update_specificationStock)} refetchQueries={[
@@ -834,7 +868,6 @@ class AddSpecStock extends Component {
                                                         )
                                                     }}
                                                 </Mutation>
-                                                <div>更新删除的按钮还没测试</div>
                                             </div>
                                     }
                                 </div>

+ 21 - 0
src/utils/gql.js

@@ -144,6 +144,26 @@ const specificationStock_by_props = `
     }
 `
 
+const create_specificationStock = `
+    mutation createspecificationStock($updatedAt: String, $color: String, $product_id: ID, $createdAt: String, $size: String, $slideImg: String, $status: String, $id: ID!, $detailImg: String, $stock: Int) {
+        createspecificationStock: create_specificationStock(updatedAt: $updatedAt color: $color product_id: $product_id createdAt: $createdAt size: $size slideImg: $slideImg status: $status id: $id detailImg: $detailImg stock: $stock) {
+            result
+            specificationStock {
+                updatedAt
+                color
+    
+                createdAt
+                size
+                slideImg
+                status
+                id
+                detailImg
+                stock
+            }
+        }
+    }
+`
+
 const delete_specificationStock = `
     mutation deletespecificationStock($id: ID) {
         deletespecificationStock: delete_specificationStock(id: $id)
@@ -838,6 +858,7 @@ export {
     productAndSpec_by_id,
     specificationStock_by_props,
     update_specificationStock,
+    create_specificationStock,
     delete_specificationStock,
     create_userCart,
     cart_by_userid,