|
@@ -9,7 +9,6 @@
|
|
|
:class-option="optionScroll"
|
|
:class-option="optionScroll"
|
|
|
class="implementing-list"
|
|
class="implementing-list"
|
|
|
>
|
|
>
|
|
|
- <!-- <div class="implementing-list"> -->
|
|
|
|
|
<div
|
|
<div
|
|
|
v-for="(item, index) in implementingList"
|
|
v-for="(item, index) in implementingList"
|
|
|
:key="index"
|
|
:key="index"
|
|
@@ -17,11 +16,11 @@
|
|
|
:class="{ 'even-item': index % 2 === 1 }"
|
|
:class="{ 'even-item': index % 2 === 1 }"
|
|
|
>
|
|
>
|
|
|
<div class="item-content">
|
|
<div class="item-content">
|
|
|
- <div class="item-date">{{ item.date }}</div>
|
|
|
|
|
- <div class="item-city">{{ item.city }}</div>
|
|
|
|
|
|
|
+ <div class="item-date">{{ dayjs(item.created_at).format("YYYY-MM-DD") }}</div>
|
|
|
|
|
+ <div class="item-city">{{ item.residence.location.region_name }}</div>
|
|
|
<div class="project-info">
|
|
<div class="project-info">
|
|
|
- <div class="project-name">{{ item.projectName }}</div>
|
|
|
|
|
- <div class="company-name">{{ item.companyName }}</div>
|
|
|
|
|
|
|
+ <div class="project-name">{{ item.residence.residence_name }}</div>
|
|
|
|
|
+ <div class="company-name">{{ item.service.customer.customer_name }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="project-stats">
|
|
<div class="project-stats">
|
|
|
<div class="stat-item">
|
|
<div class="stat-item">
|
|
@@ -29,41 +28,45 @@
|
|
|
<span class="stat-label">户</span>
|
|
<span class="stat-label">户</span>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="stat-item">
|
|
<div class="stat-item">
|
|
|
- <span class="stat-value">{{ item.area }}</span>
|
|
|
|
|
|
|
+ <span class="stat-value">{{ item.service.liable_person.real_name }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="stat-item">
|
|
<div class="stat-item">
|
|
|
<div class="progress-wrapper">
|
|
<div class="progress-wrapper">
|
|
|
- <span class="progress-text">{{ item.progress }}%</span>
|
|
|
|
|
|
|
+ <span class="progress-text">{{ item.service.perform_ratio }}%</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="stat-item service-item">
|
|
<div class="stat-item service-item">
|
|
|
- <span class="service-content">{{ item.serviceContent }}</span>
|
|
|
|
|
|
|
+ <span class="service-content">{{ item.service.work_template.display_name }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="stat-item">
|
|
<div class="stat-item">
|
|
|
- <span class="period">{{ item.period }}</span>
|
|
|
|
|
|
|
+ <span class="period">{{ item.updated_at }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <!-- </div> -->
|
|
|
|
|
</vueSeamless>
|
|
</vueSeamless>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
|
+ import dayjs from "dayjs"
|
|
|
import { mapState } from "vuex"
|
|
import { mapState } from "vuex"
|
|
|
import vueSeamless from "vue-seamless-scroll"
|
|
import vueSeamless from "vue-seamless-scroll"
|
|
|
- import { api } from "@/api"
|
|
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: "ImplementingServices",
|
|
name: "ImplementingServices",
|
|
|
components: {
|
|
components: {
|
|
|
vueSeamless,
|
|
vueSeamless,
|
|
|
},
|
|
},
|
|
|
|
|
+ props: {
|
|
|
|
|
+ data: {
|
|
|
|
|
+ type: Object,
|
|
|
|
|
+ default: () => ({}),
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
implementingList: [],
|
|
implementingList: [],
|
|
|
- timer: null,
|
|
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
computed: {
|
|
computed: {
|
|
@@ -74,107 +77,7 @@
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
},
|
|
},
|
|
|
- mounted() {
|
|
|
|
|
- this.init()
|
|
|
|
|
- // 设置定时刷新
|
|
|
|
|
- this.timer = setInterval(() => {
|
|
|
|
|
- this.init()
|
|
|
|
|
- }, 30000) // 每30秒刷新一次
|
|
|
|
|
- },
|
|
|
|
|
- beforeDestroy() {
|
|
|
|
|
- if (this.timer) {
|
|
|
|
|
- clearInterval(this.timer)
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
methods: {
|
|
methods: {
|
|
|
- // 初始化数据
|
|
|
|
|
- async init() {
|
|
|
|
|
- try {
|
|
|
|
|
- const params = {
|
|
|
|
|
- entCode: this.entCode,
|
|
|
|
|
- communityId: this.communityId,
|
|
|
|
|
- }
|
|
|
|
|
- // 这里应该调用实际的API获取数据
|
|
|
|
|
- // const res = await api.getImplementingServices(params)
|
|
|
|
|
- // this.implementingList = res.data || []
|
|
|
|
|
-
|
|
|
|
|
- // 暂时使用模拟数据
|
|
|
|
|
- this.loadMockData()
|
|
|
|
|
- } catch (error) {
|
|
|
|
|
- console.error("获取进行中实施服务数据失败:", error)
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- // 加载模拟数据
|
|
|
|
|
- loadMockData() {
|
|
|
|
|
- this.implementingList = [
|
|
|
|
|
- {
|
|
|
|
|
- date: "2025-11-19",
|
|
|
|
|
- city: "五指山市",
|
|
|
|
|
- projectName: "项目名称",
|
|
|
|
|
- companyName: "物业公司名称",
|
|
|
|
|
- householdCount: "999",
|
|
|
|
|
- area: "北滨端",
|
|
|
|
|
- progress: 90,
|
|
|
|
|
- serviceContent: "数据清单模板填写培训",
|
|
|
|
|
- period: "3周前",
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- date: "2025-11-19",
|
|
|
|
|
- city: "五指山市",
|
|
|
|
|
- projectName: "项目名称",
|
|
|
|
|
- companyName: "物业公司名称",
|
|
|
|
|
- householdCount: "999",
|
|
|
|
|
- area: "北滨端",
|
|
|
|
|
- progress: 90,
|
|
|
|
|
- serviceContent: "数据清单模板填写培训",
|
|
|
|
|
- period: "3周前",
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- date: "2025-11-19",
|
|
|
|
|
- city: "五指山市",
|
|
|
|
|
- projectName: "项目名称",
|
|
|
|
|
- companyName: "物业公司名称",
|
|
|
|
|
- householdCount: "999",
|
|
|
|
|
- area: "北滨端",
|
|
|
|
|
- progress: 90,
|
|
|
|
|
- serviceContent: "数据清单模板填写培训",
|
|
|
|
|
- period: "3周前",
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- date: "2025-11-19",
|
|
|
|
|
- city: "五指山市",
|
|
|
|
|
- projectName: "项目名称",
|
|
|
|
|
- companyName: "物业公司名称",
|
|
|
|
|
- householdCount: "999",
|
|
|
|
|
- area: "北滨端",
|
|
|
|
|
- progress: 90,
|
|
|
|
|
- serviceContent: "数据清单模板填写培训",
|
|
|
|
|
- period: "3周前",
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- date: "2025-11-19",
|
|
|
|
|
- city: "五指山市",
|
|
|
|
|
- projectName: "项目名称",
|
|
|
|
|
- companyName: "物业公司名称",
|
|
|
|
|
- householdCount: "999",
|
|
|
|
|
- area: "北滨端",
|
|
|
|
|
- progress: 90,
|
|
|
|
|
- serviceContent: "数据清单模板填写培训",
|
|
|
|
|
- period: "3周前",
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- date: "2025-11-19",
|
|
|
|
|
- city: "五指山市",
|
|
|
|
|
- projectName: "项目名称",
|
|
|
|
|
- companyName: "物业公司名称",
|
|
|
|
|
- householdCount: "999",
|
|
|
|
|
- area: "北滨端",
|
|
|
|
|
- progress: 90,
|
|
|
|
|
- serviceContent: "数据清单模板填写培训",
|
|
|
|
|
- period: "3周前",
|
|
|
|
|
- },
|
|
|
|
|
- ]
|
|
|
|
|
- },
|
|
|
|
|
},
|
|
},
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|