Browse Source

新增门店名称可编辑功能

DELL 3 years ago
parent
commit
b105decaa2

+ 3 - 2
src/api/admin/salesite.js

@@ -47,10 +47,11 @@ export function addSaleSite(data) {
   })
 }
 
-// 修改经销商
+// 修改经销商名称
 export function updateSaleSite(data) {
   return request({
-    url: '/api/v1/mp/admin/salesite/update',
+    // url: '/api/v1/mp/admin/salesite/update',
+    url: '/api/v1/mp/admin/salesite/edit',
     method: 'post',
     data: data
   })

+ 172 - 0
src/views/business/salesite/components/AddCreate.vue

@@ -0,0 +1,172 @@
+<template>
+  <el-dialog
+    title="编辑门店名称"
+    :visible.sync="dialogVisible"
+    width="750px"
+    :append-to-body="true"
+    :before-close="close"
+    :destroy-on-close="true"
+    :close-on-click-modal="false"
+  >
+    <el-form
+      ref="form"
+      :model="form"
+      :rules="rules"
+      label-width="120px"
+      style="max-height: 375px;overflow: auto;"
+    >
+      <el-form-item label="门店名称" prop="name" style="width: 60%;margin: 40px 0">
+          <el-input v-model="form.name" placeholder="例如xxxx店, 对用户可见" />
+        </el-form-item>
+      </el-form>
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="close">取 消</el-button>
+      <el-button type="primary" :disabled="loading" @click="saveClick">确 定</el-button>
+    </div>
+  </el-dialog>
+</template>
+<script>
+import { updateSaleSite, getSaleSiteDetail } from "@/api/admin/salesite";
+export default {
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false
+    },
+    editId: [Number, String] //  编辑用
+  },
+  data() {
+    return {
+      loading: false,
+      // 表单参数
+      form: {
+        name:"",
+      },
+      // 表单校验
+      rules: {
+        name: [
+          { required: true, message: "请输入门店名称", trigger: "blur" }
+        ],
+      },
+      //招商推广宣传图
+      picture: []
+    };
+  },
+  created() {
+    // 是编辑
+    if (this.editId) {
+      this.getDetail();
+    }
+  },
+  methods: {
+    getDetail() {
+      this.loading = true;
+      getSaleSiteDetail(this.editId).then(res => {
+        this.form.name = res.data.name
+        this.loading = false
+      }).catch(() => {
+          this.loading = false;
+        });
+    },
+    //确定修改
+    saveClick(){
+      this.loading = true
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          this.submitForm(this.form);
+        } else {
+          this.loading = false;
+          this.$message.error('门店名称不能为空')
+          return false;
+        }
+      });
+    },
+    //保存
+    submitForm(params) {
+      if (this.editId) {
+        params.channelId = this.editId;
+      }
+      updateSaleSite(params).then(response => {
+        this.loading = false
+        this.$message.success('编辑成功')
+        this.$emit('saveSuccess')
+        this.close()
+      }).catch(() => {
+        this.loading = false
+      });
+    },
+    //关闭
+    close() {
+      this.$emit("close");
+    }
+  }
+};
+</script>
+
+<style scoped lang="scss">
+.tag {
+  margin-right: 15px;
+  width: 90px;
+  text-align: center;
+  cursor: pointer;
+}
+
+.tag-select {
+  background-color: #409eff !important;
+  border-color: #409eff !important;
+  color: #fff !important;
+}
+
+.cover-content-item {
+  width: 220px;
+  float: left;
+  position: relative;
+  .cover-img {
+    width: 200px;
+    height: 100px;
+  }
+  .cover-mark {
+    position: absolute;
+    top: 0px;
+    right: 28px;
+    z-index: 1;
+    color: red;
+    cursor: pointer;
+    visibility: hidden;
+  }
+  .select {
+    visibility: visible !important;
+  }
+}
+
+.dialog-footer {
+  text-align: center;
+}
+</style>
+
+<style lang="scss">
+.ygp-form-items {
+  .el-form-item {
+    padding: 0 5px;
+  }
+  .el-form-item__label {
+    line-height: 1.2;
+    padding-bottom: 8px;
+    word-break: break-all;
+    word-wrap: break-word;
+    color: #333;
+  }
+
+  .el-form-item__error {
+    position: relative;
+    top: auto;
+    left: auto;
+  }
+
+  .el-form-item.is-desc_text {
+    .el-form-item__label {
+      display: none;
+    }
+  }
+}
+</style>

+ 8 - 10
src/views/business/salesite/index.vue

@@ -167,13 +167,12 @@
             v-hasPermi="['business:salesite:query']"
           >查看</el-button>
 
-         <!-- <el-button
+         <el-button
             size="mini"
             type="text"
-            disabled
             @click="handleUpdate(scope.row)"
-            v-hasPermi="['admin:salesite:edit']"
-          >编辑</el-button> -->
+            v-hasPermi="['business:salesite:edit']"
+          >编辑</el-button>
         <el-button
             size="mini"
             type="text"
@@ -204,7 +203,7 @@
     />
 
     <!-- 新建 -->
-    <site-create
+    <add-site-create
       v-if="createShow"
       :dialog-visible="createShow"
       :edit-id="editId"
@@ -227,12 +226,13 @@ import { listAllChannel} from "@/api/admin/channel";
 import { listAreaByPid} from "@/api/admin/area";
 import { listSaleSite, updateSaleSiteStatus,salesiteOrderExport } from "@/api/admin/salesite";
 import SiteCreate from './components/Create'
+import AddSiteCreate from './components/AddCreate'
 import SiteDetail from './components/Detail'
 export default {
   name: "Salesite",
   components: {
-   SiteCreate,
-   SiteDetail
+    AddSiteCreate,
+    SiteDetail
   },
   data() {
     return {
@@ -406,13 +406,11 @@ export default {
     },
 
     getDesc(val) {
-      // console.log("val == "+val);
       const dataObj = JSON.parse(val);
       return (dataObj && dataObj.desc) || "";
     },
 
     getValue(val) {
-      // console.log("val == "+val);
       const dataObj = JSON.parse(val);
       return (dataObj && dataObj.value) || "";
     },
@@ -454,8 +452,8 @@ export default {
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
-      this.createShow = true
       this.editId = row.channelId
+      this.createShow = true
     },
 
     // 保存后的操作