Kaynağa Gözat

1.资产项目页面优化

GouGengquan 7 ay önce
ebeveyn
işleme
445c9c54fd

+ 125 - 11
src/views/assets/folder/parent.vue

@@ -28,7 +28,8 @@
     <el-tabs v-model="activeName" class="condtion-tabs" @tab-change="tabChange()">
       <el-tab-pane label="全部项目" name="all">
         <div class="example-list project-list">
-          <el-card class="report-item no-border" shadow="never" v-for="item in pageData">
+          <el-card class="report-item no-border" shadow="never" v-if="pageData !== null && pageData.length > 0"
+            v-for="item in pageData">
             <div @click="nextFolder(item)">
               <div class="report-icon">
                 <img src="../../../assets/icons/folder.png" style="width: 52px; height: 52px;" />
@@ -54,7 +55,8 @@
                 </div>
               </div>
             </div>
-            <el-popconfirm title="删除项目将一并删除测算表和报告?" confirm-button-text="确定" cancel-button-text="取消" @confirm="deleteProject(item.id)">
+            <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>
@@ -69,26 +71,128 @@
               </el-icon>
             </div>
           </el-card>
+          <div class="null-div" v-if="pageData === null || pageData.length == 0">
+            <img src="../../../assets/icons/null.png" style="width: 128px; height: 128px;" />
+            <div>
+              <span>还没有项目</span>
+            </div>
+          </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 label="进行中的项目" name="pending">
-        <div class="null-div">
-          <img src="../../../assets/icons/null.png" style="width: 128px; height: 128px;" />
-          <div>
-            <span>还没有项目</span>
+        <div class="example-list project-list">
+          <el-card class="report-item no-border" shadow="never" v-if="pageData !== null && pageData.length > 0"
+            v-for="item in pageData">
+            <div @click="nextFolder(item)">
+              <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>
+            <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>
+                    <Delete />
+                  </el-icon>
+                </div>
+              </template>
+            </el-popconfirm>
+            <div class="report-button" @click="getAssetsProjectDetail(item.id), openProjectDialog()">
+              <el-icon>
+                <Edit />
+              </el-icon>
+            </div>
+          </el-card>
+          <div class="null-div" v-if="pageData === null || pageData.length == 0">
+            <img src="../../../assets/icons/null.png" style="width: 128px; height: 128px;" />
+            <div>
+              <span>还没有项目</span>
+            </div>
           </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 label="已完成的项目" name="finished">
-        <div class="null-div">
-          <img src="../../../assets/icons/null.png" style="width: 128px; height: 128px;" />
-          <div>
-            <span>还没有项目</span>
+        <div class="example-list project-list">
+          <el-card class="report-item no-border" shadow="never" v-if="pageData !== null && pageData.length > 0"
+            v-for="item in pageData">
+            <div @click="nextFolder(item)">
+              <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>
+            <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>
+                    <Delete />
+                  </el-icon>
+                </div>
+              </template>
+            </el-popconfirm>
+            <div class="report-button" @click="getAssetsProjectDetail(item.id), openProjectDialog()">
+              <el-icon>
+                <Edit />
+              </el-icon>
+            </div>
+          </el-card>
+          <div class="null-div" v-if="pageData === null || pageData.length == 0">
+            <img src="../../../assets/icons/null.png" style="width: 128px; height: 128px;" />
+            <div>
+              <span>还没有项目</span>
+            </div>
           </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-tabs>
     <el-dialog v-model="projectDialogVisible" title="新建项目" width="600" @close="assetsProject = {}">
@@ -161,7 +265,8 @@ export default {
       listQuery: {
         current: 1,
         size: 5,
-        pages: 1
+        pages: 1,
+        schedule: null
       },
       pageData: null
     }
@@ -175,6 +280,15 @@ export default {
   methods: {
     tabChange() {
       if (this.activeName === "all") {
+        this.listQuery.schedule = null;
+        this.getAssetsProject();
+      }
+      if (this.activeName === "pending") {
+        this.listQuery.schedule = 0;
+        this.getAssetsProject();
+      }
+      if (this.activeName === "finished") {
+        this.listQuery.schedule = 1;
         this.getAssetsProject();
       }
     },

+ 1 - 1
src/views/assets/workbench/calculate/baseInfo.vue

@@ -63,7 +63,7 @@ export default {
         createCalculate() {
             this.$refs.baseInfo.validate((valid) => {
                 if (valid) {
-                    if (!this.projectStore.calculateProgress.id) {
+                    if (!this.baseInfo.id) {
                         this.baseInfo.progress = 'BASE';
                     }
                     this.baseInfo.projectId = this.projectStore.projectInfo.id;