|
@@ -19,42 +19,60 @@
|
|
</svg>
|
|
</svg>
|
|
<span style="margin-left: 10px;">模板</span>
|
|
<span style="margin-left: 10px;">模板</span>
|
|
</div>
|
|
</div>
|
|
- <div class="createNew-div" @click="openCreateProjectDialog()">
|
|
|
|
|
|
+ <div class="createNew-div" @click="openProjectDialog()">
|
|
<img src="../../../assets/icons/folder.png" style="width: 32px; height: 32px; float: left;margin-top: 22px;" />
|
|
<img src="../../../assets/icons/folder.png" style="width: 32px; height: 32px; float: left;margin-top: 22px;" />
|
|
<span style="margin-left: 10px;">新的项目</span>
|
|
<span style="margin-left: 10px;">新的项目</span>
|
|
<img src="../../../assets/icons/plus.png" style="width: 32px; height: 32px;float: right;margin-top: 22px;" />
|
|
<img src="../../../assets/icons/plus.png" style="width: 32px; height: 32px;float: right;margin-top: 22px;" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <el-tabs v-model="activeName" class="condtion-tabs">
|
|
|
|
|
|
+ <el-tabs v-model="activeName" class="condtion-tabs" @tab-change="tabChange()">
|
|
<el-tab-pane label="全部项目" name="all">
|
|
<el-tab-pane label="全部项目" name="all">
|
|
- <div class="example-list">
|
|
|
|
- <el-card class="report-item no-border" shadow="never"
|
|
|
|
- @click="nextFolder('遂宁市船山区五彩缤纷路132号134号 136号等船山区慈音路2号南瑞弗莱明戈 10栋2层1商业')">
|
|
|
|
- <div class="report-icon">
|
|
|
|
- <img src="../../../assets/icons/folder.png" style="width: 52px; height: 52px;" />
|
|
|
|
- </div>
|
|
|
|
- <div class="report-text">
|
|
|
|
- <div>
|
|
|
|
- <span class="report-text-type">遂宁市船山区五彩缤纷路132号134号 136号等船山区慈音路2号南瑞弗莱明戈 10栋2层1商业</span>
|
|
|
|
|
|
+ <div class="example-list project-list">
|
|
|
|
+ <el-card class="report-item no-border" shadow="never" v-for="item in pageData">
|
|
|
|
+ <div @click="nextFolder(item.projectName)">
|
|
|
|
+ <div class="report-icon">
|
|
|
|
+ <img src="../../../assets/icons/folder.png" style="width: 52px; height: 52px;" />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="report-text">
|
|
|
|
+ <div>
|
|
|
|
+ <span class="report-text-type">{{ item.projectName }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="padding-top: 5px;">
|
|
|
|
+ <span>
|
|
|
|
+ <el-icon>
|
|
|
|
+ <Avatar />
|
|
|
|
+ </el-icon>
|
|
|
|
+ {{ item.principal }}</span>
|
|
|
|
+ <span>
|
|
|
|
+ <el-tag style="margin-left: 5px;" type="success">
|
|
|
|
+ {{ item.projectTypeName }}
|
|
|
|
+ </el-tag>
|
|
|
|
+ </span>
|
|
|
|
+ <span style="float: right; color:darkgrey">
|
|
|
|
+ {{ item.createTime }}
|
|
|
|
+ </span>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- <div style="padding-top: 5px;">
|
|
|
|
- <span>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <el-popconfirm title="删除项目将一并删除测算表和报告?" confirm-button-text="确定" cancel-button-text="取消" @confirm="deleteProject(item.id)">
|
|
|
|
+ <template #reference>
|
|
|
|
+ <div class="report-button" style="margin-left: 20px;">
|
|
<el-icon>
|
|
<el-icon>
|
|
- <Avatar />
|
|
|
|
|
|
+ <Delete />
|
|
</el-icon>
|
|
</el-icon>
|
|
- 恒丰银行成都分行</span>
|
|
|
|
- <span>
|
|
|
|
- <el-tag style="margin-left: 5px;" type="success">
|
|
|
|
- 债权
|
|
|
|
- </el-tag>
|
|
|
|
- </span>
|
|
|
|
- <span style="float: right; color:darkgrey">
|
|
|
|
- 2024-10-16 12:10:09
|
|
|
|
- </span>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-popconfirm>
|
|
|
|
+ <div class="report-button" @click="getAssetsProjectDetail(item.id), openProjectDialog()">
|
|
|
|
+ <el-icon>
|
|
|
|
+ <Edit />
|
|
|
|
+ </el-icon>
|
|
</div>
|
|
</div>
|
|
</el-card>
|
|
</el-card>
|
|
</div>
|
|
</div>
|
|
|
|
+ <el-pagination background layout="prev, pager, next" style="--el-color-primary: #ff6154"
|
|
|
|
+ v-model:page-count="listQuery.pages" v-model:current-page="listQuery.current"
|
|
|
|
+ @current-change="getAssetsProject" />
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="进行中的项目" name="pending">
|
|
<el-tab-pane label="进行中的项目" name="pending">
|
|
<div class="null-div">
|
|
<div class="null-div">
|
|
@@ -73,7 +91,7 @@
|
|
</div>
|
|
</div>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</el-tabs>
|
|
- <el-dialog v-model="createProjectVisible" title="新建项目" width="600">
|
|
|
|
|
|
+ <el-dialog v-model="projectDialogVisible" title="新建项目" width="600" @close="assetsProject = {}">
|
|
<el-form ref="createAssetsProject" :model="assetsProject" :rules="assetsProjectRules" label-width="auto"
|
|
<el-form ref="createAssetsProject" :model="assetsProject" :rules="assetsProjectRules" label-width="auto"
|
|
style="margin-top: 10px;">
|
|
style="margin-top: 10px;">
|
|
<el-row :gutter="10">
|
|
<el-row :gutter="10">
|
|
@@ -101,7 +119,10 @@
|
|
</el-row>
|
|
</el-row>
|
|
<el-row :gutter="10">
|
|
<el-row :gutter="10">
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
- <el-button type="primary" style="float:right;" @click="createProject()">创建模板</el-button>
|
|
|
|
|
|
+ <el-button type="primary" style="float:right;" @click="createProject()"
|
|
|
|
+ v-if="!assetsProject.id">创建项目</el-button>
|
|
|
|
+ <el-button type="primary" style="float:right;" @click="updateProject()"
|
|
|
|
+ v-if="assetsProject.id">修改项目</el-button>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
</el-form>
|
|
</el-form>
|
|
@@ -114,7 +135,7 @@
|
|
import { mapStores } from 'pinia'
|
|
import { mapStores } from 'pinia'
|
|
import { useUserStore } from '@/stores/useUserStore';
|
|
import { useUserStore } from '@/stores/useUserStore';
|
|
import { getDropDownBoxDataByCode } from '@/api/dictData';
|
|
import { getDropDownBoxDataByCode } from '@/api/dictData';
|
|
-import { createAssetsProject } from '@/api/assetsProject';
|
|
|
|
|
|
+import { createAssetsProject, getAssetsProject, getAssetsProjectDetail, updateAssetsProject, deleteAssetsProject } from '@/api/assetsProject';
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: 'assetsParent',
|
|
name: 'assetsParent',
|
|
@@ -123,7 +144,7 @@ export default {
|
|
msg: 0,
|
|
msg: 0,
|
|
activeName: 'all',
|
|
activeName: 'all',
|
|
calculateType: [],
|
|
calculateType: [],
|
|
- createProjectVisible: false,
|
|
|
|
|
|
+ projectDialogVisible: false,
|
|
assetsProject: {},
|
|
assetsProject: {},
|
|
assetsProjectRules: {
|
|
assetsProjectRules: {
|
|
projectName: [
|
|
projectName: [
|
|
@@ -133,15 +154,29 @@ export default {
|
|
{ required: true, message: '请输入委托人', trigger: 'blur' }
|
|
{ required: true, message: '请输入委托人', trigger: 'blur' }
|
|
],
|
|
],
|
|
projectTypeId: [
|
|
projectTypeId: [
|
|
- { required: true, message: '请选择项目类型', trigger: 'change' }
|
|
|
|
|
|
+ { required: true, message: '请选择项目类型', trigger: 'blur' }
|
|
],
|
|
],
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ listQuery: {
|
|
|
|
+ current: 1,
|
|
|
|
+ size: 5,
|
|
|
|
+ pages: 1
|
|
|
|
+ },
|
|
|
|
+ pageData: null
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
...mapStores(useUserStore),
|
|
...mapStores(useUserStore),
|
|
},
|
|
},
|
|
|
|
+ created() {
|
|
|
|
+ this.getAssetsProject();
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
|
|
+ tabChange() {
|
|
|
|
+ if (this.activeName === "all") {
|
|
|
|
+ this.getAssetsProject();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
// 根据code获取字典数据
|
|
// 根据code获取字典数据
|
|
getDictDropDownBoxDataByCode() {
|
|
getDictDropDownBoxDataByCode() {
|
|
getDropDownBoxDataByCode('ASSET_PROJECT_TYPE').then(res => {
|
|
getDropDownBoxDataByCode('ASSET_PROJECT_TYPE').then(res => {
|
|
@@ -156,9 +191,9 @@ export default {
|
|
this.$router.push({ path: '/home/assets/folder', query: { 'folderName': folderName } })
|
|
this.$router.push({ path: '/home/assets/folder', query: { 'folderName': folderName } })
|
|
},
|
|
},
|
|
// 打开创建项目dialog
|
|
// 打开创建项目dialog
|
|
- openCreateProjectDialog() {
|
|
|
|
|
|
+ openProjectDialog() {
|
|
this.getDictDropDownBoxDataByCode();
|
|
this.getDictDropDownBoxDataByCode();
|
|
- this.createProjectVisible = true;
|
|
|
|
|
|
+ this.projectDialogVisible = true;
|
|
},
|
|
},
|
|
// 创建项目
|
|
// 创建项目
|
|
createProject() {
|
|
createProject() {
|
|
@@ -172,8 +207,55 @@ export default {
|
|
message: res.message,
|
|
message: res.message,
|
|
type: 'success'
|
|
type: 'success'
|
|
})
|
|
})
|
|
|
|
+ this.getAssetsProject();
|
|
|
|
+ }
|
|
|
|
+ this.projectDialogVisible = false;
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 获取资产项目列表
|
|
|
|
+ getAssetsProject() {
|
|
|
|
+ getAssetsProject(this.listQuery).then(res => {
|
|
|
|
+ this.listQuery.pages = res.data.pages
|
|
|
|
+ this.pageData = res.data.records;
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 获取资产项目详情
|
|
|
|
+ getAssetsProjectDetail(id) {
|
|
|
|
+ getAssetsProjectDetail(id).then(res => {
|
|
|
|
+ this.assetsProject = res.data;
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 修改资产项目
|
|
|
|
+ updateProject() {
|
|
|
|
+ this.$refs.createAssetsProject.validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ updateAssetsProject(this.assetsProject).then(res => {
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ this.$refs.createAssetsProject.resetFields();
|
|
|
|
+ ElMessage({
|
|
|
|
+ showClose: true,
|
|
|
|
+ message: res.message,
|
|
|
|
+ type: 'success'
|
|
|
|
+ })
|
|
|
|
+ this.getAssetsProject();
|
|
}
|
|
}
|
|
|
|
+ this.projectDialogVisible = false;
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 删除资产项目
|
|
|
|
+ deleteProject(id) {
|
|
|
|
+ deleteAssetsProject(id).then(res => {
|
|
|
|
+ if (res.code == 200) {
|
|
|
|
+ ElMessage({
|
|
|
|
+ showClose: true,
|
|
|
|
+ message: res.message,
|
|
|
|
+ type: 'success'
|
|
})
|
|
})
|
|
|
|
+ this.getAssetsProject();
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -291,6 +373,10 @@ export default {
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+.project-list {
|
|
|
|
+ min-height: 800px;
|
|
|
|
+}
|
|
|
|
+
|
|
:deep(*) {
|
|
:deep(*) {
|
|
color-scheme: light;
|
|
color-scheme: light;
|
|
--el-color-primary: #ff6154;
|
|
--el-color-primary: #ff6154;
|