|
@@ -9,7 +9,7 @@
|
|
|
icon="mynaui:arrow-up-down"
|
|
icon="mynaui:arrow-up-down"
|
|
|
class="icon pr-1 h-6 w-6"
|
|
class="icon pr-1 h-6 w-6"
|
|
|
color="#014099"
|
|
color="#014099"
|
|
|
- />CRM待办任务列表
|
|
|
|
|
|
|
+ />CRM已办任务列表
|
|
|
</p>
|
|
</p>
|
|
|
|
|
|
|
|
<el-button
|
|
<el-button
|
|
@@ -30,6 +30,7 @@
|
|
|
<el-table
|
|
<el-table
|
|
|
:data="oaTasks"
|
|
:data="oaTasks"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ height="70vh"
|
|
|
:empty-text="loading ? '加载中...' : '暂无数据'"
|
|
:empty-text="loading ? '加载中...' : '暂无数据'"
|
|
|
:header-cell-style="{
|
|
:header-cell-style="{
|
|
|
backgroundColor: '#e9f7ff',
|
|
backgroundColor: '#e9f7ff',
|
|
@@ -262,6 +263,19 @@
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
+
|
|
|
|
|
+ <div class="pagination-wrap">
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ v-model:current-page="pagination.pageNum"
|
|
|
|
|
+ v-model:page-size="pagination.pageSize"
|
|
|
|
|
+ :total="pagination.total"
|
|
|
|
|
+ :page-sizes="[10, 20, 50, 100]"
|
|
|
|
|
+ layout="total, sizes, prev, pager, next"
|
|
|
|
|
+ background
|
|
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
|
|
+ @size-change="handleSizeChange"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
@@ -281,6 +295,12 @@ const userStore = useUserStore();
|
|
|
const oaTasks = ref([]);
|
|
const oaTasks = ref([]);
|
|
|
const loading = ref(false);
|
|
const loading = ref(false);
|
|
|
|
|
|
|
|
|
|
+const pagination = ref({
|
|
|
|
|
+ pageNum: 1,
|
|
|
|
|
+ pageSize: 10,
|
|
|
|
|
+ total: 0,
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
const goBackPage = async (row) => {
|
|
const goBackPage = async (row) => {
|
|
|
// const res = await ssoLogin({
|
|
// const res = await ssoLogin({
|
|
|
// username: userStore.getUser.username,
|
|
// username: userStore.getUser.username,
|
|
@@ -298,6 +318,41 @@ const goBackPage = async (row) => {
|
|
|
// }
|
|
// }
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+const handleCurrentChange = async (page) => {
|
|
|
|
|
+ pagination.value.pageNum = page;
|
|
|
|
|
+ loading.value = true;
|
|
|
|
|
+ try {
|
|
|
|
|
+ const res = await getCRMTasks({
|
|
|
|
|
+ id: userStore.getUser.username,
|
|
|
|
|
+ type: "approved",
|
|
|
|
|
+ pageNum: pagination.value.pageNum,
|
|
|
|
|
+ pageSize: pagination.value.pageSize,
|
|
|
|
|
+ });
|
|
|
|
|
+ oaTasks.value = res.todoList;
|
|
|
|
|
+ pagination.value.total = res.todoCount;
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ loading.value = false;
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
|
|
+const handleSizeChange = async (size) => {
|
|
|
|
|
+ pagination.value.pageSize = size;
|
|
|
|
|
+ pagination.value.pageNum = 1;
|
|
|
|
|
+ loading.value = true;
|
|
|
|
|
+ try {
|
|
|
|
|
+ const res = await getCRMTasks({
|
|
|
|
|
+ id: userStore.getUser.username,
|
|
|
|
|
+ type: "approved",
|
|
|
|
|
+ pageNum: pagination.value.pageNum,
|
|
|
|
|
+ pageSize: pagination.value.pageSize,
|
|
|
|
|
+ });
|
|
|
|
|
+ oaTasks.value = res.todoList;
|
|
|
|
|
+ pagination.value.total = res.todoCount;
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ loading.value = false;
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+
|
|
|
function timestampToDateTime(timestamp) {
|
|
function timestampToDateTime(timestamp) {
|
|
|
// 兼容 10位(秒) / 13位(毫秒)
|
|
// 兼容 10位(秒) / 13位(毫秒)
|
|
|
const len = String(timestamp).length;
|
|
const len = String(timestamp).length;
|
|
@@ -325,10 +380,11 @@ onMounted(async () => {
|
|
|
const res = await getCRMTasks({
|
|
const res = await getCRMTasks({
|
|
|
id: userStore.getUser.username,
|
|
id: userStore.getUser.username,
|
|
|
type: "approved",
|
|
type: "approved",
|
|
|
- pageNum: 1,
|
|
|
|
|
- pageSize: 10,
|
|
|
|
|
|
|
+ pageNum: pagination.value.pageNum,
|
|
|
|
|
+ pageSize: pagination.value.pageSize,
|
|
|
});
|
|
});
|
|
|
oaTasks.value = res.todoList;
|
|
oaTasks.value = res.todoList;
|
|
|
|
|
+ pagination.value.total = res.todoCount;
|
|
|
} finally {
|
|
} finally {
|
|
|
loading.value = false;
|
|
loading.value = false;
|
|
|
}
|
|
}
|
|
@@ -347,4 +403,10 @@ onMounted(async () => {
|
|
|
padding: 16px 20px;
|
|
padding: 16px 20px;
|
|
|
margin-top: 100px;
|
|
margin-top: 100px;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+.pagination-wrap {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: flex-end;
|
|
|
|
|
+ margin-top: 16px;
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|