cz 1 年之前
父節點
當前提交
297147df85

+ 37 - 0
src/components/TitleInfo/indexOne.vue

@@ -0,0 +1,37 @@
+<template>
+  <div class="title-info">
+    <div class="vertical-bar"></div>
+    <div class="content">{{ content }}</div>
+  </div>
+</template>
+
+<script>
+export default {
+  props: {
+    content: String,
+    default: "",
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.title-info {
+  width: 100%;
+  display: flex;
+  align-items: center;
+  height: 24px;
+  line-height: 24px;
+  .vertical-bar {
+    width: 4px;
+    height: 19px;
+    background-color: #fff;
+    margin-right: 9px;
+    // margin-top: 1px;
+  }
+  .content {
+    font-size: 14px;
+    font-weight: 600;
+    color: #fff;
+  }
+}
+</style>

+ 25 - 14
src/components/headerBar/header-bar.vue

@@ -150,7 +150,7 @@
       </ul>
       <div class="fr">
         <div style="float:right;height: 50px;padding-right:20px">
-          <el-badge :value="12" style="cursor: pointer;margin-top:15px;" @click="handleOpenDrawer">
+          <el-badge :value="jobData.sumCount" :max="99" style="cursor: pointer;margin-top:15px;" @click="handleOpenDrawer">
             <el-icon :size="20" color="#fff">
               <Opportunity />
             </el-icon>
@@ -190,17 +190,17 @@
         <h4>set title by slot</h4>
       </template> -->
       <template #default>
-        <div style="color:#fff;margin-bottom:20px">
-          通知提醒
+        <div style="margin-bottom:20px">
+          <TitleInfo :content="'通知提醒'"></TitleInfo>
         </div>
-        <div style="color:#fff;margin-bottom:20px">开发中</div>
+        <div style="color:#fff;margin-bottom:20px;font-size:12px">开发中</div>
         <div class="job-box">
-          <div style="color:#fff;margin-bottom:20px">
-            工作事项
+          <div style="margin-bottom:20px">
+            <TitleInfo :content="'工作事项'"></TitleInfo>
           </div>
           <div class="job-list">
             <div class="job-item" style="margin-right:5px">
-              <el-badge :value="10" style="margin-right:20px;margin-top:10px">
+              <el-badge :value="jobData.unreadMailCount" :max="99" style="margin-right:20px;margin-top:10px">
                 <div style="margin-top:-10px">
                   <el-icon size="20" color="#fff">
                     <Reading />
@@ -210,7 +210,7 @@
               <div>未读邮件</div>
             </div>
             <div class="job-item" style="margin-right:5px">
-              <el-badge :value="10" style="margin-right:20px;margin-top:10px">
+              <el-badge :value="jobData.waitFlowCount" :max="99" style="margin-right:20px;margin-top:10px">
                 <div style="margin-top:-10px">
                   <el-icon size="20" color="#fff">
                     <CopyDocument />
@@ -220,7 +220,7 @@
               <div>待审批</div>
             </div>
             <div class="job-item">
-              <el-badge :value="10" style="margin-right:20px;margin-top:10px">
+              <el-badge :value="jobData.claimCount" :max="99" style="margin-right:20px;margin-top:10px">
                 <div style="margin-top:-10px">
                   <el-icon size="20" color="#fff">
                     <Notebook />
@@ -230,7 +230,7 @@
               <div>待认领</div>
             </div>
             <div class="job-item" style="margin-right:5px">
-              <el-badge :value="10" style="margin-right:20px;margin-top:10px">
+              <el-badge :value="jobData.waitPurchaseCount" :max="99" style="margin-right:20px;margin-top:10px">
                 <div style="margin-top:-10px">
                   <el-icon size="20" color="#fff">
                     <ShoppingCart />
@@ -240,7 +240,7 @@
               <div>待采购</div>
             </div>
             <div class="job-item" style="margin-right:5px">
-              <el-badge :value="10" style="margin-right:20px;margin-top:10px">
+              <el-badge :value="jobData.sampleHandoverCount" :max="99" style="margin-right:20px;margin-top:10px">
                 <div style="margin-top:-10px">
                   <el-icon size="20" color="#fff">
                     <Tickets />
@@ -250,7 +250,7 @@
               <div>样品交接单</div>
             </div>
             <div class="job-item">
-              <el-badge :value="10" style="margin-right:20px;margin-top:10px">
+              <el-badge :value="jobData.contractHandoverCount" :max="99" style="margin-right:20px;margin-top:10px">
                 <div style="margin-top:-10px">
                   <el-icon size="20" color="#fff">
                     <Memo />
@@ -260,7 +260,7 @@
               <div>合同交接单</div>
             </div>
             <div class="job-item" style="margin-right:5px">
-              <el-badge :value="10" style="margin-right:20px;margin-top:10px">
+              <el-badge :value="jobData.waitAccountPayCount" :max="99" style="margin-right:20px;margin-top:10px">
                 <div style="margin-top:-10px">
                   <el-icon size="20" color="#fff">
                     <Money />
@@ -284,6 +284,8 @@ import { ElMessageBox, ElNotification, ElMessage } from "element-plus";
 import useUserStore from "@/store/modules/user";
 import "@/components/headerBar/header.scss";
 import notice from "@/components/notice/index";
+import TitleInfo from "@/components/TitleInfo/indexOne.vue";
+
 const router = useRouter();
 const userStore = useUserStore();
 const { proxy } = getCurrentInstance();
@@ -460,7 +462,7 @@ function calcAutoListChidren() {
 }
 
 //一维数组转tree
-
+const jobData = ref({});
 onMounted(() => {
   calcAutoListChidren();
   window.addEventListener("resize", calcAutoListChidren);
@@ -493,6 +495,12 @@ onMounted(() => {
   proxy.post("/sysUserMenu/list", { type: 1 }).then((res) => {
     commonsRouterList.value = res;
   });
+  proxy.get("/statistics/workStatistics").then((res) => {
+    for (const key in res.data) {
+      res.data[key] = Number(res.data[key]);
+    }
+    jobData.value = res.data;
+  });
 });
 const openDrawer = ref(false);
 const handleOpenDrawer = () => {
@@ -505,6 +513,9 @@ const handleOpenDrawer = () => {
   width: 350px !important;
   background: rgba(62, 62, 62, 0.99);
   // position: relative !important;
+  .el-drawer__header {
+    display: none !important;
+  }
 }
 .modelClass {
   background: none !important;

+ 10 - 1
src/views/connect/E-mail/mail/com/mailList.vue

@@ -217,7 +217,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
 import "@imengyu/vue3-context-menu/lib/vue3-context-menu.css";
 import ContextMenu from "@imengyu/vue3-context-menu";
 import AddCustomer from "@/views/customer/addCustomer.vue";
-import { watch } from "vue";
+import { nextTick, watch } from "vue";
 const AddCustomerDom = ref(null);
 const customerId = ref("");
 const modalType = ref("add");
@@ -693,6 +693,15 @@ const handleContextmenu = (row, column, e) => {
       },
     ],
   });
+  nextTick(() => {
+    let items = document.querySelectorAll(".mx-context-menu-item");
+    items.forEach((x, index) => {
+      if (index == 0) {
+        x.style["border-top"] = "1px solid #eee";
+      }
+      x.style["border-bottom"] = "1px solid #eee";
+    });
+  });
 };
 const submitEditForm = () => {
   editFormDom.value.validate((valid) => {

+ 3 - 1
src/views/connect/E-mail/mail/com/mailWrite.vue

@@ -502,13 +502,15 @@ const handleReplyInit = (allData, pageType) => {
   }
   if (pageType !== "50") {
     contentEditor.value.changeHtml(`
+     <p><br></p>
+      <p><br></p>
+       <p><br></p>
     <div style="background:#eee;padding:10px;font-size:12px">
       <div><span style="color:#000;font-weight:700">发件人:</span><span>${data.fromEmail}</span></div>
       <div><span style="color:#000;font-weight:700;margin-top:5px">发送时间:</span><span>${data.fromEmail}</span></div>
       <div><span style="color:#000;font-weight:700;margin-top:5px">收件人:</span><span>${data.fromEmail}</span></div>
       <div><span style="color:#000;font-weight:700;margin-top:5px">主题:</span><span>${data.subject}</span></div>
     </div>
-    <p><br></p>
     ${data.content}`);
     // <p><br></p><p><br></p>
     // nextTick(() => {