|
@@ -1,56 +1,96 @@
|
|
|
<template>
|
|
|
<div class="commit-table">
|
|
|
<div class="commit-table-title">
|
|
|
- 更新日志
|
|
|
+ 需收款项目
|
|
|
</div>
|
|
|
<div class="log">
|
|
|
- <div
|
|
|
- v-for="(item,key) in dataTimeline"
|
|
|
- :key="key"
|
|
|
- class="log-item"
|
|
|
+ <el-table
|
|
|
+ :data="projectList"
|
|
|
+ max-height="400"
|
|
|
>
|
|
|
- <div class="flex-1 flex key-box">
|
|
|
- <span
|
|
|
- class="key"
|
|
|
- :class="key<3&&'top'"
|
|
|
- >{{ key+1 }}</span>
|
|
|
- </div>
|
|
|
- <div class="flex-5 flex message">{{ item.message }}</div>
|
|
|
- <div class="flex-3 flex form">{{ item.from }}</div>
|
|
|
- </div>
|
|
|
+ <el-table-column
|
|
|
+ prop="name"
|
|
|
+ label="项目名称"
|
|
|
+ align="center"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ prop="price"
|
|
|
+ label="项目总金额"
|
|
|
+ align="center"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="已收款金额"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template #default="scope">
|
|
|
+ {{ already(scope.row) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="还需收款金额"
|
|
|
+ align="center"
|
|
|
+ >
|
|
|
+ <template #default="scope">
|
|
|
+ {{ isTo(scope.row) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="collectionTime"
|
|
|
+ label="完成日期"
|
|
|
+ align="center"
|
|
|
+ />
|
|
|
+ </el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { Commits } from '@/api/github'
|
|
|
-import { formatTimeToStr } from '@/utils/date.js'
|
|
|
-import { ref } from 'vue'
|
|
|
+import { onMounted, reactive, ref } from 'vue'
|
|
|
+import { getProjectList } from '@/api/project'
|
|
|
|
|
|
-defineOptions({
|
|
|
- name: 'DashboardTable',
|
|
|
-})
|
|
|
+const projectList = ref()
|
|
|
|
|
|
-const loading = ref(true)
|
|
|
-const dataTimeline = ref([])
|
|
|
+const condition = reactive({
|
|
|
+ pageInfo: {
|
|
|
+ page: 1,
|
|
|
+ pageSize: 1000
|
|
|
+ },
|
|
|
+ name: '',
|
|
|
+ time: '',
|
|
|
+ state: 3
|
|
|
+})
|
|
|
|
|
|
-const loadCommits = () => {
|
|
|
- Commits(0).then(({ data }) => {
|
|
|
- loading.value = false
|
|
|
- data.forEach((element, index) => {
|
|
|
- if (element.commit.message && index < 10) {
|
|
|
- dataTimeline.value.push({
|
|
|
- from: formatTimeToStr(element.commit.author.date, 'yyyy-MM-dd'),
|
|
|
- title: element.commit.author.name,
|
|
|
- showDayAndMonth: true,
|
|
|
- message: element.commit.message,
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
+const queryData = async() => {
|
|
|
+ await getProjectList(condition).then(res => {
|
|
|
+ projectList.value = res.data.list
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-loadCommits()
|
|
|
+// 计算
|
|
|
+const already = (val) => {
|
|
|
+ console.log(val.collection)
|
|
|
+ let sum = 0
|
|
|
+ for (const key in val.collection) {
|
|
|
+ sum = sum + Number(val.collection[key].price)
|
|
|
+ }
|
|
|
+ return sum
|
|
|
+}
|
|
|
+
|
|
|
+const isTo = (val) => {
|
|
|
+ let sum = 0
|
|
|
+ for (const key in val.collection) {
|
|
|
+ sum = sum + Number(val.collection[key].price)
|
|
|
+ }
|
|
|
+ return Number(val.price) - sum
|
|
|
+}
|
|
|
+
|
|
|
+defineOptions({
|
|
|
+ name: 'DashboardTable',
|
|
|
+})
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ queryData()
|
|
|
+})
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|