许成详 6 年之前
父節點
當前提交
eb5e8866f1

+ 51
- 5
src/pages/system/goodsManager/goodsSpecManager/add.vue 查看文件

@@ -8,12 +8,27 @@
8 8
             <div style="width:50%">
9 9
               <el-input
10 10
                 placeholder="请输入规格名"
11
-                v-model="postData.goodsSpec"
11
+                v-model="postData.SpecName"
12 12
                 clearable>
13 13
               </el-input>
14 14
             </div>
15 15
           </div>
16 16
         </li>
17
+        <li class="flex-h">
18
+          <span>选择案场:</span>
19
+          <div class="flex-item">
20
+            <div style="width:50%">
21
+              <el-select v-model="CaseId" placeholder="请选择">
22
+                <el-option
23
+                  v-for="item in cases"
24
+                  :key="item.CaseId"
25
+                  :label="item.CaseName"
26
+                  :value="item.CaseId">
27
+                </el-option>
28
+              </el-select>
29
+            </div>
30
+          </div>
31
+        </li>
17 32
         <li style="text-align:center">
18 33
           <el-button type="primary" size="mini" @click="submit">保存</el-button>
19 34
           <el-button type="danger" size="mini" @click="cancel">取消</el-button>
@@ -24,22 +39,53 @@
24 39
 </template>
25 40
 
26 41
 <script>
42
+import { mapState } from 'vuex'
43
+
27 44
 export default {
28 45
   name: '',
29 46
   data () {
30 47
     return {
31 48
       postData: {
32
-        goodsSpec: ''
49
+        SpecId: '', // 规格id(新增传空值)
50
+        SpecName: '', // 规格名称
51
+        Status: '', // 状态(无状态可传空值)
52
+        OrgId: '', // 机构id
53
+        CaseId: '', // 案场id
54
+      }
55
+    }
56
+  },
57
+  computed: {
58
+    ...mapState({
59
+      cases: x => x.app.cases,
60
+      OrgId: x => x.app.user.OrgId,
61
+    }),
62
+    CaseId: {
63
+      get () {
64
+        return this.postData.CaseId === '' ? (((this.cases || []).filter(x => x.IsBelong === 1))[0] || {}).CaseId || '' : this.postData.CaseId
65
+      },
66
+      set (val) {
67
+        this.postData.CaseId = val
33 68
       }
34 69
     }
35 70
   },
36 71
   components: {},
37 72
   methods: {
38
-    submit () {
39
-      console.log(this.postData)
73
+    submit () { // 提交数据
74
+      this.postData.OrgId = this.OrgId
75
+      if (this.postData.CaseId === '') this.postData.CaseId = this.CaseId
76
+      this.$ajax(this.$api.system.addGoodsSpec.url, {
77
+        method: this.$api.system.addGoodsSpec.method,
78
+        data: this.postData
79
+      }).then(res => {
80
+        this.$message({
81
+          type: 'success',
82
+          message: '操作成功'
83
+        })
84
+        this.$router.push({ name: 'goodsSpecManager' })
85
+      })
40 86
     },
41 87
     cancel () {
42
-      this.$router.go(-1)
88
+      this.$router.push({ name: 'goodsSpecManager' })
43 89
     }
44 90
   },
45 91
   mounted () { }

+ 11
- 4
src/pages/system/goodsManager/goodsSpecManager/index.vue 查看文件

@@ -18,7 +18,9 @@
18 18
             </el-select>
19 19
           </li>
20 20
         </ul>
21
-        <tableSearch @exportSearchKey="searchList"></tableSearch>
21
+        <el-button
22
+          size="mini"
23
+          type="primary" @click="getList">搜索</el-button>
22 24
       </div>
23 25
       <div class="moreFilter"></div>
24 26
     </div>
@@ -91,6 +93,14 @@ export default {
91 93
     tableSearch,
92 94
   },
93 95
   methods: {
96
+    getList () {
97
+      this.$ajax(this.$api.system.getGoodsSpecList.url, {
98
+        method: this.$api.system.getGoodsSpecList.method,
99
+        data: this.tableSearch
100
+      }).then(res => {
101
+        console.log(JSON.stringify(res))
102
+      })
103
+    },
94 104
     handleSizeChange (val) {
95 105
       console.log(`每页 ${val} 条`)
96 106
     },
@@ -119,9 +129,6 @@ export default {
119 129
         })
120 130
       })
121 131
     },
122
-    searchList (key) { // 搜索列表
123
-      console.log(key)
124
-    },
125 132
     addGoodsSpec () {
126 133
       this.$router.push({ name: 'addGoodsSpec' })
127 134
     }

+ 3
- 4
src/store/app.js 查看文件

@@ -60,7 +60,7 @@ export default {
60 60
       // 扁平 routerData
61 61
       // 同时构造出 含有 title 的 parent 数据
62 62
       const routeList = flatten([], routerData[1].children, state.menusRaw)
63
-      console.log(state, routerData[1].children, routeList)
63
+      // console.log(state, routerData[1].children, routeList)
64 64
 
65 65
       // 过滤出与 name 相同的 route 节点
66 66
       const currentRoute = routeList.filter(x => x.Url === Url)[0]
@@ -73,10 +73,9 @@ export default {
73 73
     updateSystemInfo (context) { // 这里的context和我们使用的$store拥有相同的对象和方法
74 74
       this.$ajax(this.$api.system.init.url, {
75 75
         method: this.$api.system.init.method
76
+      }).then(res => {
77
+        context.commit('init', res)
76 78
       })
77
-        .then(res => {
78
-          context.commit('init', res)
79
-        })
80 79
     }
81 80
   }
82 81
 }

+ 14
- 2
src/util/api.js 查看文件

@@ -6,10 +6,22 @@ const $api = {
6 6
       url: `${baseUrl}/guest/signin`
7 7
     }
8 8
   },
9
-  system: { // 初始化菜单
10
-    init: {
9
+  system: {
10
+    init: { // 初始化菜单
11 11
       method: 'get',
12 12
       url: `${baseUrl}/common/system/env`
13
+    },
14
+    getGoodsSpecList: { // 商品规格列表
15
+      method: 'get',
16
+      url: `${baseUrl}/common/spec/goods`
17
+    },
18
+    addGoodsSpec: { // 新增商品规格
19
+      method: 'POST',
20
+      url: `${baseUrl}/common/spec/goods`
21
+    },
22
+    editGoodsSpec: { // 编辑商品规格
23
+      method: 'put',
24
+      url: `${baseUrl}/common/spec/goods`
13 25
     }
14 26
   }
15 27
 }