|
@ -1,18 +1,58 @@ |
|
|
<template> |
|
|
<template> |
|
|
<!-- 子项目插件 --> |
|
|
<!-- 子项目插件 --> |
|
|
<view>子项目插件:显示子项目</view> |
|
|
<view> |
|
|
|
|
|
<view v-for="item in sonProject" :key="item.detailId"> |
|
|
|
|
|
<span class="text-xs text-blue-500" @click="openProject(item)">{{ item.name }}</span> |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
|
|
|
import { mapGetters } from 'vuex'; |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
name: 'p-subproject', |
|
|
name: 'p-subproject', |
|
|
props: { item: { type: Object, default: null } }, |
|
|
props: { |
|
|
|
|
|
task: { |
|
|
|
|
|
type: Object, |
|
|
|
|
|
default: () => {}, |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return {}; |
|
|
return { sonProject: [] }; |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
computed: {}, |
|
|
computed: mapGetters('project', ['projectId']), |
|
|
methods: {}, |
|
|
|
|
|
|
|
|
mounted() { |
|
|
|
|
|
this.getSonProject(); |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
methods: { |
|
|
|
|
|
async getSonProject() { |
|
|
|
|
|
try { |
|
|
|
|
|
const data = await this.$u.api.findSonProject({ projectId: this.task.detailId }); |
|
|
|
|
|
this.sonProject = data; |
|
|
|
|
|
} catch (error) { |
|
|
|
|
|
console.error('p-subproject.vue getSonProject error: ', error); |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 打开项目 |
|
|
|
|
|
* @param {object} project 所点击的项目的信息 |
|
|
|
|
|
*/ |
|
|
|
|
|
openProject(project) { |
|
|
|
|
|
const { name, id, url } = project; |
|
|
|
|
|
url && (uni.$t.domain = url); |
|
|
|
|
|
this.$u.route('pages/project/project', { |
|
|
|
|
|
u: this.userId, |
|
|
|
|
|
p: id, |
|
|
|
|
|
pname: name, |
|
|
|
|
|
url: encodeURIComponent(url), |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
watch: {}, |
|
|
watch: {}, |
|
|
}; |
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|