cz 1 жил өмнө
parent
commit
5a6604567a

+ 10 - 2
src/lang/cn.js

@@ -57,8 +57,8 @@ export const lang = {
 		noMatchingData: '无匹配数据',
 		selectDate: '选择日期',
 		selectTime: '选择时间',
-		selectDate:'选择日期',
-		selectTime:'选择时间',
+		selectDate: '选择日期',
+		selectTime: '选择时间',
 	},
 	processApproval: {
 		//流程办理,流程类型,流程标题,发起人
@@ -67,6 +67,14 @@ export const lang = {
 		processTitle: '流程标题',
 		initiator: '发起人',
 	},
+	historyMessage: {
+		//历史消息,全部,消息类型,发送时间,消息内容
+		name: '历史消息',
+		all: '全部',
+		messageType: '消息类型',
+		sendTime: '发送时间',
+		messageContent: '消息内容',
+	},
 	email: {
 		//收件箱,写邮件,搜索,邮箱,所有收件箱,账户,请选择邮箱,联系人,客户,收件箱,未读邮件,草稿箱,已发送,已删除,垃圾邮箱,发件人,收件人,时间,附件,下载,
 		//写邮件,发送,收件人,请输入邮箱,抄送/密送,抄送,请输入邮箱,密送,请输入邮箱,发件人,请选择邮箱,主题,请输入主题,请输入正文,发送成功

+ 7 - 2
src/router/index.js

@@ -76,6 +76,11 @@ const routes = [{
 				component: () => import('../views/message/messageList.vue')
 			},
 			{
+				path: "historyMessage",
+				name: "历史消息",
+				component: () => import("../views/message/historyMessage.vue"),
+			},
+			{
 				path: 'iframWinfaster',
 				name: '官网',
 				component: () => import('../views/working/iframWinfaster.vue')
@@ -91,7 +96,7 @@ const routes = [{
 				name: '流程办理-详情',
 				component: () => import('../views/processApproval/processDtl.vue')
 			},
-			
+
 			//公共模块
 			{
 				path: 'contractTemplateAdd',
@@ -509,7 +514,7 @@ const routes = [{
 				name: "标准产品库添加",
 				component: () => import("../views/product-material/standard-product-library/add.vue"),
 			}
-			
+
 		]
 	},
 ]

+ 136 - 0
src/views/message/historyMessage.vue

@@ -0,0 +1,136 @@
+<template>
+    <van-nav-bar
+      :title="$t('historyMessage.name')"
+      left-text=""
+      left-arrow
+      @click-left="onClickLeft"
+      @click-right="onClickRight"
+    >
+      
+    </van-nav-bar>
+    <van-search
+      v-model="req.keyword"
+      :placeholder="$t('common.pleaseEnterKeywords')"
+      @search="onRefresh"
+    />
+    <van-pull-refresh v-model="loading" @refresh="onRefresh">
+      <div class="list">
+        <van-list
+          v-model:loading="loading"
+          :finished="finished"
+          :finished-text="$t('common.noMore')"
+          @load="getList"
+          style="margin-bottom: 60px"
+        >
+          <commonList :data="listData" @onClick="toDtl" :config="listConfig">
+            <template #typeName="{ row }">
+              <div>消息通知</div>
+            </template>
+          </commonList>
+        </van-list>
+      </div>
+    </van-pull-refresh>
+  </template>
+  <script setup>
+  import { ref, getCurrentInstance } from "vue";
+  import commonList from "@/components/common-list.vue";
+  
+  const proxy = getCurrentInstance().proxy;
+  const onClickLeft = () => proxy.$router.push("/main/working");
+  const req = ref({
+    pageNum: 1,
+    keyword: null,
+  });
+  const finished = ref(false);
+  const onRefresh = () => {
+    req.value.pageNum = 1;
+    finished.value = false;
+    getList("refresh");
+  };
+  const loading = ref(false);
+  const listData = ref([]);
+  const statusData = ref([
+    {
+      label: "草稿",
+      value: 0,
+    },
+    {
+      label: "审批中",
+      value: 10,
+    },
+    {
+      label: "驳回",
+      value: 20,
+    },
+    {
+      label: "审批通过",
+      value: 30,
+    },
+    {
+      label: "终止",
+      value: 99,
+    },
+  ]);
+  const payStatusData = ref([]);
+  const getDict = () => {
+    proxy.getDictOne(["pay_status"]).then((res) => {
+      payStatusData.value = res["pay_status"].data.map((x) => ({
+        label: x.dictValue,
+        value: x.dictKey,
+      }));
+    });
+  };
+  getDict();
+  const getList = (type) => {
+    loading.value = true;
+    proxy
+      .post("/pushInfo/page", req.value)
+      .then((res) => {
+        listData.value =
+          type === "refresh"
+            ? res.data.rows
+            : listData.value.concat(res.data.rows);
+        if (req.value.pageNum * 10 >= res.data.total) {
+          finished.value = true;
+        }
+        req.value.pageNum++;
+        loading.value = false;
+      })
+      .catch(() => {
+        loading.value = false;
+      });
+  };
+  const toDtl = (row) => {};
+  const onClickRight = () => {
+    proxy.$router.push({
+      path: "/main/processDtl",
+      query: {
+        flowKey: "pay_flow",
+      },
+    });
+  };
+  const listConfig = ref([
+    {
+      type: "slot",
+      label: proxy.t("historyMessage.messageType"),
+      slotName: "typeName",
+    },
+    {
+      label: proxy.t("historyMessage.sendTime"),
+      prop: "createTime",
+    },
+    {
+      label: proxy.t("historyMessage.messageContent"),
+      prop: "title",
+    },
+    
+   
+  ]);
+  </script>
+  
+  <style lang="scss" scoped>
+  .list {
+    min-height: 70vh;
+  }
+  </style>
+  

+ 2 - 2
src/views/message/index.vue

@@ -24,7 +24,7 @@
           <van-icon name="arrow" size="16" />
         </div>
       </li>
-      <li>
+      <li @click="toRouter('historyMessage')">
         <div class="icon-box" style="background: #a06cfb">
           <i class="iconfont icon-iconm_yewtx"></i>
         </div>
@@ -39,7 +39,7 @@
             <div class="time">{{ sendMegTime }}</div>
             <div class="num">{{ sendMegData.total }}</div>
           </div>
-          <!-- <van-icon name="arrow" size="16" /> -->
+          <van-icon name="arrow" size="16" />
         </div>
       </li>
       <!-- <li @click="toRouter('email')">