Forráskód Böngészése

1、更换会员归属;2、管理端分页修复

caoliqin 1 hónapja
szülő
commit
00ca55cd37
2 módosított fájl, 136 hozzáadás és 42 törlés
  1. 19 0
      src/api/company/companyUser.js
  2. 117 42
      src/views/fs/user/index.vue

+ 19 - 0
src/api/company/companyUser.js

@@ -75,3 +75,22 @@ export function getUserList(companyId){
     method: 'get'
   })
 }
+
+// 根据登录的用户公司获取所有的销售
+export function getCompanyUserList(query) {
+  return request({
+    url: '/company/companyUser/getCompanyUserList',
+    method: 'get',
+    query: query
+  })
+}
+
+//更换会员归属销售
+export function changeCompanyUser(data, params) {
+  return request({
+    url: '/company/companyUser/changeCompanyUser',
+    method: 'post',
+    data: data,
+    params: params
+  })
+}

+ 117 - 42
src/views/fs/user/index.vue

@@ -25,6 +25,13 @@
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-user"
+          size="mini"
+          @click="handleChangeCompanyUser"
+          :disabled="multiple"
+        >更换会员归属</el-button>
       </el-form-item>
     </el-form>
 
@@ -103,12 +110,32 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+
+    <!-- 更换会员归属对话框 -->
+    <el-dialog title="更换会员归属" :visible.sync="changeCompanyUserOpen" width="500px" append-to-body>
+      <el-form ref="changeCompanyUserForm" :model="changeCompanyUserForm" :rules="changeCompanyUserRules" label-width="100px">
+        <el-form-item label="选择销售" prop="companyUserId">
+          <el-select v-model="changeCompanyUserForm.companyUserId" placeholder="请选择销售" style="width: 100%" @change="handleCompanyUserChange">
+            <el-option
+              v-for="item in companyUserOptions"
+              :key="item.userId"
+              :label="item.nickName"
+              :value="item.userId"
+            />
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitChangeCompanyUserForm">确 定</el-button>
+        <el-button @click="cancelChangeCompanyUser">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { listUser, getUser, delUser, addUser, updateUser, exportUser } from "@/api/fs/user";
-
+import { listUser, delUser, addUser, updateUser, exportUser } from "@/api/fs/user";
+import { getCompanyUserList, changeCompanyUser } from '@/api/company/companyUser';
 export default {
   name: "User",
   data() {
@@ -155,7 +182,22 @@ export default {
         status: [
           { required: true, message: "状态不能为空", trigger: "change" }
         ]
-      }
+      },
+      // 更换会员归属对话框
+      changeCompanyUserOpen: false,
+      // 更换会员归属表单
+      changeCompanyUserForm: {
+        companyUserId: null,
+        companyId: null
+      },
+      // 更换会员归属表单校验
+      changeCompanyUserRules: {
+        companyUserId: [
+          { required: true, message: "请选择销售", trigger: "change" }
+        ]
+      },
+      // 销售选项
+      companyUserOptions: []
     };
   },
   created() {
@@ -211,22 +253,6 @@ export default {
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加用户";
-    },
-    /** 修改按钮操作 */
-    handleUpdate(row) {
-      this.reset();
-      const userId = row.userId || this.ids
-      getUser(userId).then(response => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "修改用户";
-      });
-    },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {
@@ -274,31 +300,80 @@ export default {
           this.download(response.msg);
         }).catch(function() {});
     },
-    // 获取状态类型
-    getStatusType(status) {
-      switch (status) {
-        case 1:
-          return 'success';
-        case 2:
-          return 'warning';
-        case 3:
-          return 'info';
-        default:
-          return '';
-      }
+    /** 更换会员归属按钮操作 */
+    handleChangeCompanyUser() {
+      // 获取销售列表
+      getCompanyUserList().then(response => {
+        if (response.code === 200) {
+          this.companyUserOptions = response.data;
+          console.log("列表", this.companyUserOptions);
+          this.changeCompanyUserOpen = true;
+        } else {
+          this.$message.error(response.msg || '获取销售列表失败');
+        }
+      }).catch(() => {
+        this.$message.error('获取销售列表失败');
+      });
     },
-    // 获取状态文本
-    getStatusText(status) {
-      switch (status) {
-        case 1:
-          return '正常';
-        case 2:
-          return '停止';
-        case 3:
-          return '未看';
-        default:
-          return '';
+    /** 取消更换会员归属 */
+    cancelChangeCompanyUser() {
+      this.changeCompanyUserOpen = false;
+      this.resetCompanyUserForm();
+    },
+    /** 销售选择变化 */
+    handleCompanyUserChange(value) {
+      const selectedUser = this.companyUserOptions.find(item => item.userId === value);
+      if (selectedUser) {
+        this.changeCompanyUserForm.companyId = selectedUser.companyId;
+        console.log("选择的销售信息:", selectedUser);
+        console.log("设置的companyId:", this.changeCompanyUserForm.companyId);
       }
+    },
+    /** 重置更换会员归属表单 */
+    resetCompanyUserForm() {
+      this.changeCompanyUserForm = {
+        companyUserId: null,
+        companyId: null
+      };
+      this.resetForm("changeCompanyUserForm");
+    },
+    /** 提交更换会员归属 */
+    submitChangeCompanyUserForm() {
+      this.$refs["changeCompanyUserForm"].validate(valid => {
+        if (valid) {
+          // 调用更换会员归属接口
+          console.log("销售", this.changeCompanyUserForm);
+          console.log("用户", this.ids);
+
+          // 检查companyId是否已设置
+          if (!this.changeCompanyUserForm.companyId) {
+            this.$message.error('请选择销售');
+            return;
+          }
+
+          // 确保userIds是List<Long>类型
+          // const userIds = this.ids.map(id => Number(id));
+          console.log({
+            userIds:  this.ids,
+            companyUserId: this.changeCompanyUserForm.companyUserId,
+            companyId: this.changeCompanyUserForm.companyId
+          })
+          changeCompanyUser(this.ids, {
+              companyUserId: this.changeCompanyUserForm.companyUserId,
+              companyId: this.changeCompanyUserForm.companyId
+          }).then(response => {
+            if (response.code === 200) {
+              this.msgSuccess("操作成功");
+              this.changeCompanyUserOpen = false;
+              this.getList();
+            } else {
+              this.$message.error(response.msg || '操作失败');
+            }
+          }).catch(() => {
+            this.$message.error('操作失败');
+          });
+        }
+      });
     }
   }
 };