فهرست منبع

feat 门店管理优化

Funny 3 سال پیش
والد
کامیت
0c77a50a82
3فایلهای تغییر یافته به همراه68 افزوده شده و 30 حذف شده
  1. 3 0
      src/api/shop.js
  2. 58 23
      src/components/shopCompoents/shopAdd.vue
  3. 7 7
      src/components/shopCompoents/shopList.vue

+ 3 - 0
src/api/shop.js

@@ -7,6 +7,9 @@ export const getShopList = (params) => {
 export const shopAdd = (params) => {
   return post('app/shop/add', params)
 }
+export const shopEdit = (params) => {
+  return post('app/shop/modify', params)
+}
 
 export const shopDelete = (params) => {
   return post('app/shop/delete', params)

+ 58 - 23
src/components/shopCompoents/shopAdd.vue

@@ -29,7 +29,7 @@
         </el-form-item>
         <el-form-item label="已获运力" label-width="103px" v-if="form.id">
           <div class="logo_box">
-            <div v-for="(item,i) in form.deliveries" :key="i">
+            <div v-for="(item,i) in deliveries" :key="i">
               <img v-if="item.bindStatus == 1" :src="item.logo" alt="">
             </div>
           </div>
@@ -58,7 +58,7 @@
 
 <script>
 import orderMap from "../orderComponents/orderAMap.vue";
-import { shopAdd } from "../../api/shop.js";
+import { shopAdd, shopEdit } from "../../api/shop.js";
 export default {
   props: {
     products: {
@@ -72,7 +72,21 @@ export default {
     return {
       title: "新增门店",
       showVisible: false,
-      form: {},
+      form: {
+        id: "",
+        address: "",
+        cityCode: "",
+        cityName: "",
+        contactName: "",
+        districtName: "",
+        lat: "",
+        lng: "",
+        mobile: "",
+        name: "",
+        street: "",
+        categoryId: "",
+      },
+      deliveries: [],
       revieweds: [],
     };
   },
@@ -84,12 +98,16 @@ export default {
       if (e) {
         console.log(e);
         this.title = "编辑门店";
-        for (let i = 0; i < e.deliveries.length; i++) {
-          if (e.deliveries[i].bindStatus == 2) {
-            this.revieweds.push(e.deliveries[i]);
-          }
-        }
-        this.form = e;
+        Object.keys(e).map((v) => {
+          console.log("key", v);
+          this.form[v] = e[v];
+        });
+        this.deliveries = e.deliveries.filter((v) => {
+          return v.bindStatus === 1;
+        });
+        this.revieweds = e.deliveries.filter((v) => {
+          return v.bindStatus === 2;
+        });
       } else {
         this.title = "新增门店";
         this.form = {};
@@ -109,20 +127,37 @@ export default {
       this.form.lat = lat;
     },
     save() {
-      shopAdd(this.form).then((res) => {
-        if (res.code === 200) {
-          this.$message({
-            type: "success",
-            message: `${this.form.id ? "保存" : "新增"}成功!`,
-          });
-          this.$emit("getData");
-        } else {
-          this.$message({
-            type: "error",
-            message: res.msg,
-          });
-        }
-      });
+      if (this.form.id) {
+        shopEdit(this.form).then((res) => {
+          if (res.code === 200) {
+            this.$message({
+              type: "success",
+              message: `保存成功!`,
+            });
+            this.$emit("getData");
+          } else {
+            this.$message({
+              type: "error",
+              message: res.msg,
+            });
+          }
+        });
+      } else {
+        shopAdd(this.form).then((res) => {
+          if (res.code === 200) {
+            this.$message({
+              type: "success",
+              message: `新增成功!`,
+            });
+            this.$emit("getData");
+          } else {
+            this.$message({
+              type: "error",
+              message: res.msg,
+            });
+          }
+        });
+      }
     },
   },
 };

+ 7 - 7
src/components/shopCompoents/shopList.vue

@@ -13,24 +13,24 @@
       </div>
     </div>
     <el-table v-loading="loading" element-loading-text="数据加载中" :data="shopList" stripe header-row-class-name="table_h" style="width: 100%; margin-top: 10px">
-      <el-table-column label="操作" width="200" align="center">
-        <template slot-scope="scope">
-          <el-button size="mini" @click.stop="addShop(2, scope.row)">修改</el-button>
-          <!-- <el-button class="btn black" size="mini" @click.stop="deleteItem(scope.row)">删除门店</el-button> -->
-        </template>
-      </el-table-column>
       <el-table-column prop="code" label="门店编号" width="170"></el-table-column>
       <el-table-column prop="name" label="门店名称" width="172" align="center"></el-table-column>
       <el-table-column prop="address" label="门店地址" width="321" align="center"></el-table-column>
       <el-table-column prop="contactName" label="联系人" width="164" align="center"></el-table-column>
       <el-table-column prop="mobile" label="联系电话" width="176" align="center"></el-table-column>
-      <el-table-column label="已获运力" align="center">
+      <el-table-column label="已获运力" align="center" width="276">
         <template slot-scope="scope">
           <div class="imgs">
             <img class="img" :src="item.logo" v-for="(item, i) in scope.row.deliveries" :key="i" alt="">
           </div>
         </template>
       </el-table-column>
+      <el-table-column label="操作" width="200" align="center">
+        <template slot-scope="scope">
+          <el-button size="mini" @click.stop="addShop(2, scope.row)">修改</el-button>
+          <el-button type="danger" size="mini" @click.stop="deleteItem(scope.row)">删除</el-button>
+        </template>
+      </el-table-column>
     </el-table>
     <shop-add @getData="getData" ref="shopAdd" :products="productList"></shop-add>
   </div>