Bladeren bron

1.资产工作台页面路由搭建

GouGengquan 8 maanden geleden
bovenliggende
commit
ed74bb03b1

+ 81 - 25
src/router/index.js

@@ -2,7 +2,6 @@ import { createWebHashHistory, createRouter } from 'vue-router'
 
 import Layout from '../layout/index.vue'
 import HomeView from '../views/home/index.vue'
-import AssetsHome from '../views/assets/home.vue'
 import PlanningHome from '../views/planning/home.vue'
 import PersonalHome from '../views/personal/home.vue'
 import HouseWorkbench from '../views/house/workbench/index.vue'
@@ -14,23 +13,37 @@ import EntityInfo from '../views/house/workbench/entityInfo.vue'
 import FolderChild from '../views/house/folder/child.vue'
 import FolderParent from '../views/house/folder/parent.vue'
 import Folder from '../views/house/folder/index.vue'
+import AssetsFolder from '@/views/assets/folder/index.vue'
+import AssetsFolderParent from '@/views/assets/folder/parent.vue'
+import AssetsFolderChild from '@/views/assets/folder/child.vue'
+import AssetsTmpl from '@/views/assets/template/index.vue'
+import AssetsTmplMange from '@/views/assets/template/mange.vue'
+import AssetsCreateCalculateTmpl from '@/views/assets/template/createCalculate.vue'
 
 const routes = [
   {
-    path:'/',
-    redirect:'/home/index'
+    path: '/',
+    redirect: '/home/index'
   },
   {
-    path:'/home',
-    redirect:'/home/index'
+    path: '/home',
+    redirect: '/home/index'
+  },
+  {
+    path: '/home/house',
+    redirect: '/home/house/parent'
+  },
+  {
+    path: '/home/houseWorkbench',
+    redirect: '/home/house/parent'
   },
   {
-    path:'/home/house',
-    redirect:'/home/house/parent'
+    path: '/home/assets',
+    redirect: '/home/assets/parent'
   },
   {
-    path:'/home/houseWorkbench',
-    redirect:'/home/house/parent'
+    path: '/home/assets/template',
+    redirect: '/home/assets/template/mange'
   },
   {
     path: '/home',
@@ -46,14 +59,6 @@ const routes = [
         name: 'homeIndex',
       },
       {
-        path: 'assets',
-        component: AssetsHome,
-        name: 'assetsIndex',
-        meta: {
-          title: '资产工作台'
-        },
-      },
-      {
         path: 'planning',
         component: PlanningHome,
         name: 'planningIndex',
@@ -93,7 +98,7 @@ const routes = [
         component: HouseWorkbench,
         name: 'houseWorkbench',
         meta: {
-          title:'房地产项目'
+          title: '房地产项目'
         },
         children: [
           {
@@ -101,7 +106,7 @@ const routes = [
             component: Consignor,
             name: 'consignor',
             meta: {
-              title:'委托人信息'
+              title: '委托人信息'
             },
           },
           {
@@ -109,7 +114,7 @@ const routes = [
             component: Certificate,
             name: 'certificate',
             meta: {
-              title:'权属资料'
+              title: '权属资料'
             },
           },
           {
@@ -117,7 +122,7 @@ const routes = [
             component: BaseInfo,
             name: 'baseInfo',
             meta: {
-              title:'项目基本信息'
+              title: '项目基本信息'
             },
           },
           {
@@ -125,7 +130,7 @@ const routes = [
             component: Assumption,
             name: 'assumption',
             meta: {
-              title:'假设条件'
+              title: '假设条件'
             },
           },
           {
@@ -133,14 +138,65 @@ const routes = [
             component: EntityInfo,
             name: 'entityInfo',
             meta: {
-              title:'实物状况'
+              title: '实物状况'
             },
           }
         ]
+      },
+      {
+        path: 'assets',
+        component: AssetsFolder,
+        name: 'assetsFolder',
+        meta: {
+          title: '资产工作台'
+        },
+        children: [
+          {
+            path: 'parent',
+            component: AssetsFolderParent,
+            name: 'assetsFolderParent',
+            meta: {
+              title: '项目'
+            },
+          },
+          {
+            path: 'folder',
+            component: AssetsFolderChild,
+            name: 'assetsFolderChild',
+            meta: {
+              title: '文件夹'
+            },
+          },      
+          {
+            path: 'template',
+            component: AssetsTmpl,
+            name: 'assetsTmpl',
+            meta: {
+              title: '模板管理'
+            },
+            children: [
+              {
+                path: 'mange',
+                component: AssetsTmplMange,
+                name: 'assetsTmplMange',
+                // meta: {
+                //   title: '模板列表'
+                // },
+              },
+              {
+                path: 'create/calculate',
+                component: AssetsCreateCalculateTmpl,
+                name: 'assetsCreateCalculateTmpl',
+                meta: {
+                  title: '创建测算表模板'
+                },
+              }
+            ]
+          },
+        ],
       }
-
     ],
-    
+
   },
 ]
 

+ 201 - 0
src/views/assets/folder/child.vue

@@ -0,0 +1,201 @@
+<template>
+      <div class="contrl">
+        <div style="width: 95%;">
+          <div class="title-div">
+            <p>{{folderName}}</p>
+          </div>
+          <div class="createNew-div">
+            <img src="../../../assets/icons/word.png" style="width: 32px; height: 32px; float: left;margin-top: 22px;" />
+            <span style="margin-left: 10px;">新的报告</span>
+            <img src="../../../assets/icons/plus.png" style="width: 32px; height: 32px;float: right;margin-top: 22px;" />
+          </div>
+          <div class="createNew-div">
+            <img src="../../../assets/icons/excel.png" style="width: 32px; height: 32px; float: left;margin-top: 22px;" />
+            <span style="margin-left: 10px;">新的测算表</span>
+            <img src="../../../assets/icons/plus.png" style="width: 32px; height: 32px;float: right;margin-top: 22px;" />
+          </div>
+        </div>
+          <div class="example-list report-div">
+            <el-card class="report-item no-border" shadow="never">
+              <div class="report-icon">
+                <img src="../../../assets/icons/word.png" style="width: 52px; height: 52px;"/>
+              </div>
+              <div class="report-text">
+                <span class="report-text-type">资产债权类报告</span>
+                <span> 一 </span>
+                <span
+                  class="report-text-name">遂宁市船山区五彩缤纷路132号134号 136号等船山区慈音路2号南瑞弗莱明戈 10栋2层1商业债权分析报告
+                </span>
+                <div style="margin-top: 5px;">
+                  <span>
+                    <el-icon>
+                      <Avatar />
+                    </el-icon>
+                    恒丰银行成都分行</span>
+                  <span>
+                    <el-tag style="margin-left: 5px;">
+                      债权
+                    </el-tag>
+                    <el-tag style="margin-left: 5px;" type="danger">
+                      评估
+                    </el-tag>
+                  </span>
+                  <span style="float: right; color:darkgrey">
+                    2024-10-16 12:10:09
+                  </span>
+                </div>
+              </div>
+              <div class="report-button">
+                <el-icon>
+                  <Download />
+                </el-icon>
+              </div>
+            </el-card>
+            <el-card class="report-item no-border" shadow="never">
+              <div class="report-icon">
+                <img src="../../../assets/icons/excel.png" style="width: 52px; height: 52px;"/>
+              </div>
+              <div class="report-text">
+                <span class="report-text-type">资产债权类测算表</span>
+                <span> 一 </span>
+                <span
+                  class="report-text-name">遂宁市船山区五彩缤纷路132号134号 136号等船山区慈音路2号南瑞弗莱明戈 10栋2层1商业债权评估明细表
+                </span>
+                <div style="margin-top: 5px;">
+                  <span>
+                    <el-icon>
+                      <Avatar />
+                    </el-icon>
+                    恒丰银行成都分行</span>
+                  <span>
+                    <el-tag style="margin-left: 5px;">
+                      债权
+                    </el-tag>
+                    <el-tag style="margin-left: 5px;" type="danger">
+                      评估
+                    </el-tag>
+                  </span>
+                  <span style="float: right; color:darkgrey">
+                    2024-10-16 12:10:09
+                  </span>
+                </div>
+              </div>
+              <div class="report-button">
+                <el-icon>
+                  <Download />
+                </el-icon>
+              </div>
+            </el-card>
+          </div>
+      </div>
+</template>
+
+<script>
+export default {
+  name: 'assetsChild',
+  data() {
+    return {
+      msg: 0,
+      folderName:null
+    }
+  },
+
+  created(){
+      this.folderName = this.$route.query.folderName;
+  },
+  methods: {
+    createNew() {
+      this.$router.push('/home/assetsWorkbench/consignor')
+    },
+    nextFolder(){
+      
+    }
+  }
+}
+
+</script>
+
+<style scoped>
+.base {
+  min-height: calc(100vh - 80px);
+  width: 100%;
+}
+
+.content {
+  margin-left: 160px;
+  margin-right: 160px;
+  padding: 50px 20px 20px 20px;
+
+}
+
+.contrl {
+  width: 70.9%;
+  border-right: 1.5px #dae1eb solid;
+  padding: 0px 20px 20px 0px;
+  float: left;
+
+}
+
+.report-div {
+  margin-top: 100px;
+  min-height: 600px;
+}
+
+:deep(.el-tabs__active-bar) {
+  background-color: #ff6154;
+}
+
+:deep(.el-tabs__item.is-active) {
+  color: #ff6154;
+}
+
+:deep(.el-tabs__item:hover) {
+  color: #ff6154;
+}
+
+.title-div {
+  width: 500px;
+  float: left;
+  overflow-y: hidden;
+  height: 80px;
+}
+
+.createNew-div {
+  height: 80px;
+  line-height: 80px;
+  border: #dae1eb 1.5px solid;
+  border-radius: 0.6em;
+  width: 200px;
+  float: right;
+  padding-left: 10px;
+  padding-right: 10px;
+  margin-left: 20px;
+
+}
+
+.createNew-div:hover {
+  cursor: pointer;
+  background-color: #dae1eb;
+  border: #dae1eb 1.5px solid;
+  transition: 0.5s;
+}
+
+:deep(.el-tabs__nav-wrap:after) {
+  background-color: white;
+}
+
+.null-div {
+  width: 100%;
+  height: 100%;
+  text-align: center;
+  margin-top: 20%;
+  color: var(--vt-c-text-light-2);
+}
+.no-border {
+  border: none;
+}
+.no-border:hover {
+  cursor: pointer;
+}
+
+</style>

+ 131 - 0
src/views/assets/folder/index.vue

@@ -0,0 +1,131 @@
+<template>
+  <div class="base">
+    <div class="content">
+      <div class="breadcrumb">
+        <Breadcrumb />
+      </div>
+      <section class="bench-main">
+        <router-view v-slot="{ Component }">
+          <transition>
+            <keep-alive>
+              <component :is="Component" />
+            </keep-alive>
+          </transition>
+        </router-view>
+      </section>
+    </div>
+  </div>
+</template>
+
+<script>
+  import Breadcrumb from '../../../components/Breadcrumb/index.vue'
+  import Folder from './child.vue'
+export default {
+  name: 'assetsHome',
+  components:{
+      Breadcrumb,
+      Folder
+  },
+  data() {
+    return {
+      msg: 0,
+      activeName: 'all'
+    }
+  },
+
+  methods: {
+    createNew() {
+      this.$router.push('/home/houseWorkbench/consignor')
+    },
+    nextFolder(){
+      this.$router.push('/home/assets/folder')
+    }
+  }
+}
+
+</script>
+
+<style scoped>
+.base {
+  min-height: calc(100vh - 80px);
+  width: 100%;
+}
+
+.content {
+  margin-left: 160px;
+  margin-right: 160px;
+  padding: 50px 20px 20px 20px;
+
+}
+
+.contrl {
+  width: 70.9%;
+  border-right: 1.5px #dae1eb solid;
+  padding: 0px 20px 20px 0px;
+  float: left;
+
+}
+
+.condtion-tabs {
+  margin-top: 80px;
+  min-height: 600px;
+}
+
+:deep(.el-tabs__active-bar) {
+  background-color: #ff6154;
+}
+
+:deep(.el-tabs__item.is-active) {
+  color: #ff6154;
+}
+
+:deep(.el-tabs__item:hover) {
+  color: #ff6154;
+}
+
+.title-div {
+  height: 80px;
+  line-height: 80px;
+  width: 200px;
+  float: left;
+  font-size: 20px;
+  font-weight: 900;
+}
+
+.createNew-div {
+  height: 80px;
+  line-height: 80px;
+  border: #dae1eb 1.5px solid;
+  border-radius: 0.6em;
+  width: 200px;
+  float: right;
+  padding-left: 10px;
+  padding-right: 10px;
+
+}
+
+.createNew-div:hover {
+  cursor: pointer;
+  background-color: #dae1eb;
+  border: #dae1eb 1.5px solid;
+  transition: 0.5s;
+}
+
+:deep(.el-tabs__nav-wrap:after) {
+  background-color: white;
+}
+
+.null-div {
+  width: 100%;
+  height: 100%;
+  text-align: center;
+  margin-top: 20%;
+  color: var(--vt-c-text-light-2);
+}
+.no-border {
+  border: none;
+}
+.no-border:hover {
+  cursor: pointer;
+}
+</style>

File diff suppressed because it is too large
+ 211 - 0
src/views/assets/folder/parent.vue


+ 0 - 27
src/views/assets/home.vue

@@ -1,27 +0,0 @@
-<script>
-export default {
-  name:'assetsHome',
-  data() {
-    return {
-      msg: 0
-    }
-  }
-}
-</script>
-
-<template>
-  <div class="home">
-     ASSETS_HOME
-  </div>
-</template>
-
-<style scoped>
-  .home {
-    background-color: #ffffff;
-    min-height: calc(100vh - 80px);
-    min-width: 1520px;
-    margin-left: 160px;
-
-  }
-</style>
-

+ 39 - 0
src/views/assets/template/createCalculate.vue

@@ -0,0 +1,39 @@
+<template>
+    <div class="contrl">
+        <el-form :model="baseInfo" label-width="auto" style="margin-top: 10px;">
+            <el-divider content-position="left"><span style="color:#ff6154;">新建测算表模板</span></el-divider>
+            
+        </el-form>
+    </div>
+</template>
+
+
+<script>
+
+export default {
+    name: 'assetsCreateCalculateTmpl',
+    components:{
+        
+    },
+
+    data(){
+        return{
+            baseInfo:{
+
+            }
+        }
+    }
+}
+</script>
+
+<style scoped>
+.contrl {
+    font-size: 20px;
+    width: 70.9%;
+    border-right: 1.5px #dae1eb solid;
+    padding: 20px 20px 20px 0px;
+    float: left;
+
+}
+
+</style>

+ 118 - 0
src/views/assets/template/index.vue

@@ -0,0 +1,118 @@
+<template>
+      <section class="bench-main">
+        <router-view v-slot="{ Component }">
+          <transition>
+            <keep-alive>
+              <component :is="Component" />
+            </keep-alive>
+          </transition>
+        </router-view>
+      </section>
+</template>
+
+<script>
+import Breadcrumb from '../../../components/Breadcrumb/index.vue'
+export default {
+  name: 'assetsTemplate',
+  components: {
+    Breadcrumb
+  },
+  data() {
+    return {
+      msg: 0
+    }
+  },
+
+  methods: {
+
+  }
+}
+
+</script>
+
+<style scoped>
+.base {
+  min-height: calc(100vh - 80px);
+  width: 100%;
+}
+
+.content {
+  margin-left: 160px;
+  margin-right: 160px;
+  padding: 50px 20px 20px 20px;
+
+}
+
+.contrl {
+  width: 70.9%;
+  border-right: 1.5px #dae1eb solid;
+  padding: 0px 20px 20px 0px;
+  float: left;
+
+}
+
+.condtion-tabs {
+  margin-top: 80px;
+  min-height: 600px;
+}
+
+:deep(.el-tabs__active-bar) {
+  background-color: #ff6154;
+}
+
+:deep(.el-tabs__item.is-active) {
+  color: #ff6154;
+}
+
+:deep(.el-tabs__item:hover) {
+  color: #ff6154;
+}
+
+.title-div {
+  height: 80px;
+  line-height: 80px;
+  width: 200px;
+  float: left;
+  font-size: 20px;
+  font-weight: 900;
+}
+
+.createNew-div {
+  height: 80px;
+  line-height: 80px;
+  border: #dae1eb 1.5px solid;
+  border-radius: 0.6em;
+  width: 200px;
+  float: right;
+  padding-left: 10px;
+  padding-right: 10px;
+
+}
+
+.createNew-div:hover {
+  cursor: pointer;
+  background-color: #dae1eb;
+  border: #dae1eb 1.5px solid;
+  transition: 0.5s;
+}
+
+:deep(.el-tabs__nav-wrap:after) {
+  background-color: white;
+}
+
+.null-div {
+  width: 100%;
+  height: 100%;
+  text-align: center;
+  margin-top: 20%;
+  color: var(--vt-c-text-light-2);
+}
+
+.no-border {
+  border: none;
+}
+
+.no-border:hover {
+  cursor: pointer;
+}
+</style>

+ 134 - 0
src/views/assets/template/mange.vue

@@ -0,0 +1,134 @@
+<template>
+  <div class="contrl">
+    <div style="width: 95%;">
+      <div class="title-div">
+        <p>{{ folderName }}</p>
+      </div>
+      <div class="createNew-div">
+        <img src="../../../assets/icons/word.png" style="width: 32px; height: 32px; float: left;margin-top: 22px;" />
+        <span style="margin-left: 10px;">创建报告模板</span>
+        <img src="../../../assets/icons/plus.png" style="width: 32px; height: 32px;float: right;margin-top: 22px;" />
+      </div>
+      <div class="createNew-div" @click="goCreateCalculateTmpl()">
+        <img src="../../../assets/icons/excel.png" style="width: 32px; height: 32px; float: left;margin-top: 22px;" />
+        <span style="margin-left: 10px;">创建测算表模板</span>
+        <img src="../../../assets/icons/plus.png" style="width: 32px; height: 32px;float: right;margin-top: 22px;" />
+      </div>
+    </div>
+    <div class="example-list report-div">
+      
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'assetsTmplMange',
+  data() {
+    return {
+      msg: 0,
+      folderName: null
+    }
+  },
+
+  created() {
+    console.log("in")
+  },
+  methods: {
+    goCreateCalculateTmpl() {
+      console.log("in")
+      this.$router.push('/home/assets/template/create/calculate')
+    },
+    nextFolder() {
+
+    }
+  }
+}
+
+</script>
+
+<style scoped>
+.base {
+  min-height: calc(100vh - 80px);
+  width: 100%;
+}
+
+.content {
+  margin-left: 160px;
+  margin-right: 160px;
+  padding: 50px 20px 20px 20px;
+
+}
+
+.contrl {
+  width: 70.9%;
+  border-right: 1.5px #dae1eb solid;
+  padding: 0px 20px 20px 0px;
+  float: left;
+
+}
+
+.report-div {
+  margin-top: 100px;
+  min-height: 600px;
+}
+
+:deep(.el-tabs__active-bar) {
+  background-color: #ff6154;
+}
+
+:deep(.el-tabs__item.is-active) {
+  color: #ff6154;
+}
+
+:deep(.el-tabs__item:hover) {
+  color: #ff6154;
+}
+
+.title-div {
+  width: 500px;
+  float: left;
+  overflow-y: hidden;
+  height: 80px;
+}
+
+.createNew-div {
+  height: 80px;
+  line-height: 80px;
+  border: #dae1eb 1.5px solid;
+  border-radius: 0.6em;
+  width: 210px;
+  float: right;
+  padding-left: 10px;
+  padding-right: 10px;
+  margin-left: 20px;
+
+}
+
+.createNew-div:hover {
+  cursor: pointer;
+  background-color: #dae1eb;
+  border: #dae1eb 1.5px solid;
+  transition: 0.5s;
+}
+
+:deep(.el-tabs__nav-wrap:after) {
+  background-color: white;
+}
+
+.null-div {
+  width: 100%;
+  height: 100%;
+  text-align: center;
+  margin-top: 20%;
+  color: var(--vt-c-text-light-2);
+}
+
+.no-border {
+  border: none;
+}
+
+.no-border:hover {
+  cursor: pointer;
+}
+</style>

+ 3 - 3
src/views/home/index.vue

@@ -28,7 +28,7 @@
                     </svg>
                   </div>
                 </button>
-                <button class="cssbuttons-io-button" @click="goto('assets')">
+                <button class="cssbuttons-io-button" @click="goto('assets/parent')">
                   资产
                   <div class="icon">
                     <svg
@@ -218,11 +218,11 @@ export default {
   width: 100%;
 }
 
-.content {
+/* .content { */
   /* margin-left: 160px; */
   /* margin-right: 160px; */
   /* padding: 50px 20px 20px 20px; */
-}
+/* } */
 
 .words {
   padding: 70px 20px 20px 20px;