From b981e07d4ee81f340a6cf14a6dc9dfcd590030a3 Mon Sep 17 00:00:00 2001
From: sk1551 <15175617877@163.com>
Date: Tue, 2 Mar 2021 14:51:20 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E5=85=B3=E7=B3=BB=E5=88=9D?=
 =?UTF-8?q?=E7=89=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ruoyi-ui/src/views/benyi/customer/index.vue   | 110 +++++++++++++++---
 .../controller/ByCustomerController.java      |   2 +
 .../project/benyi/domain/ByCustomer.java      |  19 +++
 3 files changed, 112 insertions(+), 19 deletions(-)

diff --git a/ruoyi-ui/src/views/benyi/customer/index.vue b/ruoyi-ui/src/views/benyi/customer/index.vue
index b92cb75a3..df507301e 100644
--- a/ruoyi-ui/src/views/benyi/customer/index.vue
+++ b/ruoyi-ui/src/views/benyi/customer/index.vue
@@ -107,20 +107,21 @@
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <!-- <el-table-column label="编号" align="center" prop="id" /> -->
       <el-table-column label="客户姓名" align="center" prop="name" />
       <el-table-column label="幼儿园名称" align="center" prop="schoolname" />
       <el-table-column label="幼儿园人数" align="center" prop="rs" />
       <el-table-column label="身份" align="center" prop="sflx" :formatter="gxFormat"/>
+      <el-table-column label="客户来源" align="center" prop="khly" :formatter="lyFormat"/>
       <el-table-column label="联系电话" align="center" prop="lxdh" />
-      <el-table-column label="微信" align="center" prop="wx" />
-      <el-table-column label="抖音" align="center" prop="dy" />
-      <el-table-column label="其他" align="center" prop="qt" />
+      <el-table-column label="微信号" align="center" prop="wx" />
+      <el-table-column label="抖音号" align="center" prop="dy" />
+      <el-table-column label="其他联系方式" align="center" prop="qt" />
       <el-table-column label="所在省" align="center" prop="sheng" />
       <el-table-column label="所在市" align="center" prop="shi" />
-      <el-table-column label="客户来源" align="center" prop="khly" :formatter="lyFormat"/>
       <el-table-column label="消费项目" align="center" prop="xfxm" />
       <el-table-column label="消费价值" align="center" prop="xfjz" />
+      <el-table-column label="录入人" align="center" prop="createUserid" :formatter="userFormat" />
+      <el-table-column label="录入时间" align="center" prop="createTime" />
       <el-table-column
         label="操作"
         align="center"
@@ -198,13 +199,13 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="微信" prop="wx">
-              <el-input v-model="form.wx" placeholder="请输入微信" />
+            <el-form-item label="微信号" prop="wx">
+              <el-input v-model="form.wx" placeholder="请输入微信号" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="抖音" prop="dy">
-              <el-input v-model="form.dy" placeholder="请输入抖音" />
+            <el-form-item label="抖音号" prop="dy">
+              <el-input v-model="form.dy" placeholder="请输入抖音号" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -212,14 +213,18 @@
               <el-input v-model="form.qt" placeholder="请输入其他联系方式" />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="24">
             <el-form-item label="所在省" prop="sheng">
-              <el-input v-model="form.sheng" placeholder="请输入所在省" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="所在市" prop="shi">
-              <el-input v-model="form.shi" placeholder="请输入所在市" />
+              <v-distpicker
+                v-model="form.sheng"
+                :placeholders="placeholders"
+                :province="diglogForm.province"
+                :city="diglogForm.city"
+                :area="diglogForm.area"
+                @selected="onSelected"
+              ></v-distpicker>
+              <el-input v-model="form.shengid" v-if="false" />
+              <el-input v-model="form.shiid" v-if="false" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -277,11 +282,23 @@ import {
   updateCustomer,
   exportCustomer,
 } from "@/api/benyi/customer";
+import VDistpicker from "v-distpicker";
+import { listUser } from "@/api/system/user";
 
 export default {
   name: "Customer",
   data() {
     return {
+      placeholders: {
+        province: "请选择省",
+        city: "请选择市",
+        area: "请选择区"
+      },
+      diglogForm: {
+        province: null,
+        city: null,
+        area: null
+      },
       // 遮罩层
       loading: true,
       // 选中数组
@@ -300,6 +317,8 @@ export default {
       open: false,
       gxOptions: [],
       lyOptions: [],
+      // 用户选项
+      userOptions: [],
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -315,9 +334,10 @@ export default {
         sheng: undefined,
         shengid: undefined,
         shi: undefined,
-        shiid: undefined,
+        // shiid: undefined,
         khly: undefined,
         createUserid: undefined,
+        createTime: undefined,
         bz: undefined,
         zhgj: undefined,
         state: undefined,
@@ -337,6 +357,13 @@ export default {
         lxdh: [
           { required: true, message: "幼儿园名称不能为空", trigger: "blur" },
         ],
+        sheng: [
+          {
+            required: true,
+            message: "省市区不能为空",
+            trigger: "blur"
+          }
+        ],
       },
     };
   },
@@ -348,13 +375,38 @@ export default {
     this.getDicts("sys_dm_khgxly").then((response) => {
       this.lyOptions = response.data;
     });
+    this.getUserList();
+  },
+  components: {
+    //省市区三级联动全局组件
+    VDistpicker,
   },
   methods: {
-          // 字典翻译
+    /** 查询用户列表 */
+    getUserList() {
+      listUser(null).then(
+        (response) => {
+          this.userOptions = response.rows;
+        }
+      );
+    },
+    // 教师字典翻译
+    userFormat(row, column) {
+      var actions = [];
+      var datas = this.userOptions;
+      Object.keys(datas).map((key) => {
+        if (datas[key].userId == "" + row.createUserid) {
+          actions.push(datas[key].nickName);
+          return false;
+        }
+      });
+      return actions.join("");
+    },
+    // 字典翻译
     gxFormat(row, column) {
       return this.selectDictLabel(this.gxOptions, row.sflx);
     },
-        // 字典翻译
+    // 字典翻译
     lyFormat(row, column) {
       return this.selectDictLabel(this.lyOptions, row.khly);
     },
@@ -367,6 +419,20 @@ export default {
         this.loading = false;
       });
     },
+    //所在省市区触发联动方法
+    onSelected(data) {
+      if (
+        data.province.code == undefined ||
+        data.city.code == undefined 
+      ) {
+        this.form.sheng = undefined;
+      } else {
+        this.form.sheng = data.province.value;
+        this.form.shengid = data.province.code;
+        this.form.shi = data.city.value;
+        this.form.shiid = data.city.code;
+      }
+    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -396,7 +462,11 @@ export default {
         xfxm: undefined,
         xfjz: undefined,
         createTime: undefined,
+        createTime: undefined,
       };
+      this.diglogForm.province = "";
+      this.diglogForm.city = "";
+      this.diglogForm.area = "";
       this.resetForm("form");
     },
     /** 搜索按钮操作 */
@@ -427,6 +497,8 @@ export default {
       const id = row.id || this.ids;
       getCustomer(id).then((response) => {
         this.form = response.data;
+        this.diglogForm.province = response.data.sheng;
+        this.diglogForm.city = response.data.shi;
         this.open = true;
         this.title = "修改本一-客户关系管理";
       });
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCustomerController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCustomerController.java
index d7aab628f..cba01256e 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCustomerController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByCustomerController.java
@@ -1,5 +1,6 @@
 package com.ruoyi.project.benyi.controller;
 
+import java.util.Date;
 import java.util.List;
 
 import com.ruoyi.common.utils.SecurityUtils;
@@ -74,6 +75,7 @@ public class ByCustomerController extends BaseController {
     @PostMapping
     public AjaxResult add(@RequestBody ByCustomer byCustomer) {
         byCustomer.setCreateUserid(SecurityUtils.getLoginUser().getUser().getUserId());
+        byCustomer.setCreateTime(new Date());
         return toAjax(byCustomerService.insertByCustomer(byCustomer));
     }
 
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCustomer.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCustomer.java
index 28c62d144..e8beea1d3 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCustomer.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByCustomer.java
@@ -1,10 +1,13 @@
 package com.ruoyi.project.benyi.domain;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
 import com.ruoyi.framework.web.domain.BaseEntity;
 
+import java.util.Date;
+
 /**
  * 本一-客户关系管理对象 by_customer
  *
@@ -127,6 +130,13 @@ public class ByCustomer extends BaseEntity {
     @Excel(name = "消费项目")
     private String xfxm;
 
+    /**
+     * 创建时间
+     */
+    @Excel(name = "开通截至日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createTime;
+
     /**
      * 消费价值
      */
@@ -319,4 +329,13 @@ public class ByCustomer extends BaseEntity {
                 .append("createTime", getCreateTime())
                 .toString();
     }
+
+    @Override
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
 }