Browse Source

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Min 1 year ago
parent
commit
1f92e090ae

+ 15 - 0
fhKeeper/formulahousekeeper/customerBuler-crm/src/App.vue

@@ -3,12 +3,27 @@
 </template>
 </template>
 
 
 <script setup lang="ts">
 <script setup lang="ts">
+import { onMounted, ref, provide, inject } from 'vue'
 import { useStore } from '@/store/index'
 import { useStore } from '@/store/index'
+interface GlobalPopup {
+  showSuccess: (msg: string, time: number) => void
+  showError: (msg: string, time: number) => void
+  showWarning: (msg: string, time: number) => void
+}
 const { setAsyncRoutesMark } = useStore()
 const { setAsyncRoutesMark } = useStore()
 window.addEventListener('beforeunload', () => beforeunloadFn())
 window.addEventListener('beforeunload', () => beforeunloadFn())
 const beforeunloadFn = (() => {
 const beforeunloadFn = (() => {
   setAsyncRoutesMark(false)
   setAsyncRoutesMark(false)
 })
 })
+
+provide('globalPopup', {
+  showSuccess: (msg: string, time: number) => { console.log(msg, '执行成功', time) }, //!SECTION 成功
+  showError: (msg: string, time: number) => { console.log(msg, '执行成功'), time }, //!SECTION 失败
+  showWarning: (msg: string, time: number) => { console.log(msg, '执行成功'), time }, //!SECTION 警告
+})
+
+
+
 </script>
 </script>
 
 
 <style>
 <style>

+ 36 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/home.vue

@@ -8,8 +8,12 @@
                 <el-aside class="home-el-aside" width="220px">
                 <el-aside class="home-el-aside" width="220px">
                     <el-menu default-active="1" class="el-menu-vertical-demo">
                     <el-menu default-active="1" class="el-menu-vertical-demo">
                         <el-menu-item :index="(index + 1) + ''" v-for="(item, index) in 10" :key="index">
                         <el-menu-item :index="(index + 1) + ''" v-for="(item, index) in 10" :key="index">
-                            <el-icon><setting /></el-icon>
-                            <span>第{{ index + 1 }}个</span>
+                            <div class="relativeElem">
+                                <el-icon>
+                                    <setting />
+                                </el-icon>
+                                <span>第{{ index + 1 }}个</span>
+                            </div>
                         </el-menu-item>
                         </el-menu-item>
 
 
                         <el-sub-menu index="11">
                         <el-sub-menu index="11">
@@ -20,8 +24,10 @@
                                 <span>第十一个</span>
                                 <span>第十一个</span>
                             </template>
                             </template>
                             <el-menu-item :index="'11'">
                             <el-menu-item :index="'11'">
-                                <el-icon><icon-menu /></el-icon>
-                                <span>第11-1个</span>
+                                <div class="relativeElem">
+                                    <el-icon><icon-menu /></el-icon>
+                                    <span>第11-1个</span>
+                                </div>
                             </el-menu-item>
                             </el-menu-item>
                         </el-sub-menu>
                         </el-sub-menu>
                     </el-menu>
                     </el-menu>
@@ -39,13 +45,39 @@
 </script>
 </script>
 <style scoped lang="scss">
 <style scoped lang="scss">
 .common-layout {
 .common-layout {
+    .relativeElem {
+        position: relative;
+        z-index: 2;
+        display: flex;
+        align-items: center;
+    }
+
     .el-header {
     .el-header {
         background: $darkBlue;
         background: $darkBlue;
     }
     }
 
 
     .el-menu-vertical-demo {
     .el-menu-vertical-demo {
         height: 100%;
         height: 100%;
+        background: $ashen;
+
+        .is-active {
+            position: relative;
+            color: $modena;
+
+            &:before {
+                content: '';
+                position: absolute;
+                right: 0;
+                top: 8px;
+                width: 95%;
+                height: 40px;
+                background: $backColor;
+                border-top-left-radius: 20px;
+                border-bottom-left-radius: 20px;
+            }
+        }
     }
     }
+
     .el-main {
     .el-main {
         padding: 0 20px;
         padding: 0 20px;
         background: $backColor;
         background: $backColor;

+ 22 - 5
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/login.vue

@@ -40,17 +40,18 @@
 </template>
 </template>
 
 
 <script lang="ts" setup>
 <script lang="ts" setup>
-import { reactive, ref } from "vue";
+import { reactive, ref, inject } from "vue";
 import { useRouter } from "vue-router";
 import { useRouter } from "vue-router";
 import loginLogo from "@/assets/login/login_logo.png";
 import loginLogo from "@/assets/login/login_logo.png";
 import qiyeweixin from "@/assets/login/qiyeweixin.png";
 import qiyeweixin from "@/assets/login/qiyeweixin.png";
 import { UserFilled, Lock } from '@element-plus/icons-vue'
 import { UserFilled, Lock } from '@element-plus/icons-vue'
-import type { FormInstance, FormRules } from 'element-plus'
+import { ElMessage, type FormInstance, type FormRules } from 'element-plus'
 import { useStore } from '@/store/index'
 import { useStore } from '@/store/index'
 import { post } from "@/utils/request";
 import { post } from "@/utils/request";
 import { LOGIN } from "./api";
 import { LOGIN } from "./api";
 const { setRouters } = useStore()
 const { setRouters } = useStore()
 const router = useRouter();
 const router = useRouter();
+const globalPopup = inject<GlobalPopup>('globalPopup')
 const ruleFormRef = ref<FormInstance>();
 const ruleFormRef = ref<FormInstance>();
 const ruleForm = ref({
 const ruleForm = ref({
   username: "",
   username: "",
@@ -75,11 +76,27 @@ const login = (formEl: FormInstance | undefined) => {
     console.log(ruleForm.value);
     console.log(ruleForm.value);
     post(LOGIN, { ...ruleForm.value }).then(res => {
     post(LOGIN, { ...ruleForm.value }).then(res => {
       console.log(res);
       console.log(res);
-      setTimeout(() => {
-        loginLoading.value = false;
-      }, 1000)
+      globalPopup.showSuccess('登录成功')
+      // if(res.code == 'error') {
+      //   ElMessage.error({
+      //     message: "登录失败",
+      //     type: "error",
+      //     duration: 2000,
+      //   })
+      //   loginLoading.value = false;
+      //   return
+      // }
+      // ElMessage.success({
+      //   message: "登录成功",
+      //   type: "success",
+      //   duration: 2000,
+      // })
+      // setTimeout(() => {
+      //   loginLoading.value = false;
+      // }, 1000)
       // loginLoading.value = false;
       // loginLoading.value = false;
     }).catch(err => {
     }).catch(err => {
+      console.log(err)
       loginLoading.value = false;
       loginLoading.value = false;
     })
     })
     return
     return

+ 1 - 0
fhKeeper/formulahousekeeper/customerBuler-crm/src/styles/global.scss

@@ -4,6 +4,7 @@ $backColor: #EEF3F6;
 $black: #000;
 $black: #000;
 $fontBlack: #333;
 $fontBlack: #333;
 $fontGray: #999;
 $fontGray: #999;
+$modena: #6F4AFE;
 
 
 .text-gray{
 .text-gray{
     color : $fontGray
     color : $fontGray

File diff suppressed because it is too large
+ 29048 - 0
fhKeeper/formulahousekeeper/management-crm/crm.log


+ 18 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ClueController.java

@@ -118,5 +118,23 @@ public class ClueController {
         return msg;
         return msg;
     }
     }
 
 
+    @RequestMapping("rollback")
+    public Object rollback(@RequestBody List<Integer> ids){
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setMsg("操作成功");
+        clueService.isRollback(ids);
+        return msg;
+    }
+    @RequestMapping("deleterDelete")
+    public Object deleterDelete(@RequestBody List<Integer> ids){
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setMsg("操作成功");
+        clueService.deleterDelete(ids);
+        return msg;
+    }
+
+
+
+
 }
 }
 
 

+ 4 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ClueService.java

@@ -28,4 +28,8 @@ public interface ClueService extends IService<Clue> {
     Integer getDeleterTotal(Clue clue);
     Integer getDeleterTotal(Clue clue);
 
 
     Clue getInfo(Clue clue);
     Clue getInfo(Clue clue);
+
+    void isRollback(List<Integer> ids);
+
+    void deleterDelete(List<Integer> ids);
 }
 }

+ 16 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/ClueServiceImpl.java

@@ -122,5 +122,21 @@ public class ClueServiceImpl extends ServiceImpl<ClueMapper, Clue> implements Cl
         return clue1;
         return clue1;
     }
     }
 
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void isRollback(List<Integer> ids) {
+        UpdateWrapper<Clue> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.in("id", ids);
+        Clue clue = new Clue();
+        clue.setIsDelete(0);
+        clueMapper.update(clue, updateWrapper);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleterDelete(List<Integer> ids) {
+        clueMapper.deleteBatchIds(ids);
+    }
+
 
 
 }
 }