Просмотр исходного кода

依据二十九号会议优化

Rorschach 6 лет назад
Родитель
Сommit
d25de45f7c

+ 5 - 5
src/api/manageApi.js

@@ -78,9 +78,9 @@ export function addManage (data) {
 // 更新经营数据
 export function setManage (data) {
   return put('manageBase/manage',data)
-  return request({
-    url: baseApi + 'manageBase/manage',
-    method: 'put',
-    data
-  })
+  // return request({
+  //   url: baseApi + 'manageBase/manage',
+  //   method: 'put',
+  //   data
+  // })
 }

+ 4 - 0
src/pages/costType/index.vue

@@ -148,6 +148,10 @@ export default {
               console.log(this.index);
               this.costTypeData.splice(this.index, 1, res.data);
               this.$refs[formName].resetFields();
+              this.$message({
+                message: "修改成功",
+                type: "success"
+              });
             });
           }
           this.dialogFormVisible = false;

+ 16 - 15
src/pages/layout/nav/Nav.vue

@@ -16,37 +16,38 @@
       :router="true"
     >
       <el-menu-item index="/manage/query">
-        <i class="el-icon-search"></i>
-        <span slot="title">经营数据查询</span>
+        <!-- <i class="el-icon-search"></i> -->
+        <span slot="title">数据查询</span>
       </el-menu-item>
 
       <el-menu-item index="/manage/cost" v-if="isSuper===true">
-        <i style="font-style:normal">成本</i>
-        <span slot="title">经营数据成本</span>
+        <!-- <i style="font-style:normal">成本</i> -->
+        <span slot="title">成本管理</span>
       </el-menu-item>
       <el-menu-item index="/manage/index" v-if="isSuper===true">
-        <i style="font-style:normal">收入</i>
-        <span slot="title">经营数据收入</span>
+        <!-- <i style="font-style:normal">收入</i> -->
+        <span slot="title">收入管理</span>
       </el-menu-item>
       <el-menu-item index="/team/index" v-if="isSuper===true">
-        <i style="font-style:normal">部门</i>
+        <!-- <i style="font-style:normal">部门</i> -->
         <span slot="title">部门管理</span>
       </el-menu-item>
       <el-menu-item index="/project/index" v-if="isSuper===true">
-        <i style="font-style:normal">项目</i>
+        <!-- <i style="font-style:normal">项目</i> -->
         <span slot="title">项目管理</span>
       </el-menu-item>
       <el-menu-item index="/product/index" v-if="isSuper===true">
-        <i style="font-style:normal">产品</i>
+        <!-- <i style="font-style:normal">产品</i> -->
         <span slot="title">产品管理</span>
       </el-menu-item>
       <el-menu-item index="/costType/index" v-if="isSuper===true">
-        <i style="font-style:normal">类型</i>
-        <span slot="title">成本类型管理</span>
+        <!-- <i style="font-style:normal">类型</i> -->
+        <span slot="title">成本类型</span>
       </el-menu-item>
        <el-menu-item >
-        <i style="font-style:normal">{{nickName}}</i>
-        <span slot="title">当前登陆用户</span>
+        <!-- <i style="font-style:normal">{{nickName}}</i> -->
+        <!-- <span slot="title">当前登陆用户</span> -->
+        <span slot="title">{{nickName}}</span>
       </el-menu-item>
       <!--
         <el-menu-item index="/costTeam/index">
@@ -60,7 +61,7 @@
 export default {
   data() {
     return {
-      isCollapse: true,
+      isCollapse: false,
       nickName: '',
       isSuper: false
     };
@@ -88,7 +89,7 @@ export default {
 <style>
 .nav {
   transition: width 0.28s;
-  width: 180px !important;
+  width: 100px !important;
   height: 100%;
   position: fixed;
   font-size: 0px;

+ 54 - 10
src/pages/manage/cost.vue

@@ -5,14 +5,7 @@
       <el-button type="primary" @click="append('COST')">增加成本</el-button>
     </div>
     <el-card class="right-card">
-      <el-table :data="manageData" align="right" border empty-text="无">
-        <el-table-column
-          width="120px"
-          align="right"
-          label="录入日期"
-          :formatter="recordTimeFormat"
-          prop="gmtModife"
-        ></el-table-column>
+      <el-table :data="manageData" :row-class-name="isDel" align="right" border empty-text="无">
         <el-table-column
           width="120px"
           label="发生日期"
@@ -35,9 +28,14 @@
         <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
 
         <el-table-column label="备注" align="right" prop="remark"></el-table-column>
-        <el-table-column label="操作" align="right" width="80">
+        <el-table-column label="操作" align="center" width="160">
           <template slot-scope="scope">
             <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
+            <el-button
+              size="mini"
+              v-if="scope.row.status==='NORMAL'"
+              @click="handleAbandon(scope.$index, scope.row)"
+            >作废</el-button>
             <!--
             <el-button
               size="mini"
@@ -46,6 +44,13 @@
             -->
           </template>
         </el-table-column>
+        <el-table-column
+          width="120px"
+          align="right"
+          label="录入日期"
+          :formatter="recordTimeFormat"
+          prop="gmtModife"
+        ></el-table-column>
       </el-table>
       <el-pagination
         background
@@ -200,8 +205,8 @@ export default {
       },
       pageNo: 1,
       pageSize: 50,
-      totalNumber: 0,
       formLabelWidth: "120px",
+      totalSum: 0,
       teamSelectData: [],
       projectSelectData: [],
       productSelectData: [],
@@ -242,6 +247,7 @@ export default {
     }).then(res => {
       this.manageData = res.data.content;
       this.totalNumber = parseInt(res.data.totalElements);
+      
     });
     //获取单位下拉
     getCostTeamSelect().then(res => {
@@ -278,6 +284,11 @@ export default {
       }
       return "";
     },
+    isDel({ row, rowIndex }) {
+      if (row.status === "DEL") {
+        return "isDel";
+      }
+    },
     //获取部门名称
     getName(val) {
       let obj = {};
@@ -316,6 +327,31 @@ export default {
       this.dialogFormVisible = true;
       this.addFlag = false;
     },
+    // 作废一条
+    handleAbandon(index, row) {
+      console.log(index);
+      console.log(row);
+      const temp = {};
+      temp.id = row.id;
+      temp.status = "DEL";
+      setManage(temp).then(res => {
+        console.log(res);
+        // 刷新列表
+        getManageList({
+          type: "COST",
+          pageNo: this.pageNo,
+          pageSize: 50,
+          isEntry: true
+        }).then(res => {
+          this.manageData = res.data.content;
+          this.totalSize = res.data.totalPages;
+        });
+      });
+      this.$message({
+        message: "操作成功",
+        type: "success"
+      });
+    },
     // 提交新增
     submitForm(formName) {
       //验证表单
@@ -352,6 +388,10 @@ export default {
                 this.manageData = res.data;
               });
               this.$refs[formName].resetFields();
+              this.$message({
+                message: "修改成功",
+                type: "success"
+              });
             });
           }
           this.dialogFormVisible = false;
@@ -409,5 +449,9 @@ export default {
 .el-table .income-row {
   color: red;
 }
+.isDel {
+  color: #aaa;
+  text-decoration: line-through;
+}
 </style>
 

+ 51 - 13
src/pages/manage/index.vue

@@ -7,19 +7,13 @@
     <el-card class="right-card">
       <el-table
         :data="manageData.filter(data => !search || data.amount.toString().includes(search.toString()))"
+        :row-class-name="isDel"
         border
         style="width: 100%"
       >
         <el-table-column
           width="120px"
           align="right"
-          label="录入日期"
-          :formatter="recordTimeFormat"
-          prop="gmtModife"
-        ></el-table-column>
-        <el-table-column
-          width="120px"
-          align="right"
           label="发生日期"
           :formatter="dateFormat"
           prop="happenTime"
@@ -31,27 +25,33 @@
           :formatter="moneyFormat"
           prop="amount"
         ></el-table-column>
-        <el-table-column width="170px" align="right" label="收入状态">
+        <el-table-column width="120px" align="right" label="收入状态">
           <template slot-scope="props">
             <span>{{ props.row.incomeStatus == 'INVOICE' ? '开票/应收' : props.row.incomeStatus == 'ARRIVAL' ? '到账' : '内部核算' }}</span>
           </template>
         </el-table-column>
-        <el-table-column width="180px" align="right" label="产品" prop="product.name"></el-table-column>
+        <el-table-column width="160px" align="right" label="产品" prop="product.name"></el-table-column>
         <el-table-column width="260px" align="right" label="归属项目" prop="project.name"></el-table-column>
         <el-table-column width="200px" align="right" label="归属部门" prop="department.name"></el-table-column>
         <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
 
         <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
+        <el-table-column label="来源部门" width="200px" align="right" prop="toDepartment.name"></el-table-column>
 
         <el-table-column align="right" label="备注" prop="remark">
           <!-- <template slot="header" slot-scope="scope">
             <el-input v-model="search" size="medium" placeholder="依据金额搜索"/>
-          </template> -->
+          </template>-->
         </el-table-column>
 
-        <el-table-column align="right" label="操作" width="80">
+        <el-table-column align="center" width="160" label="操作" >
           <template slot-scope="scope">
             <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
+            <el-button
+              size="mini"
+              v-if="scope.row.status==='NORMAL'"
+              @click="handleAbandon(scope.$index, scope.row)"
+            >作废</el-button>
             <!--
             <el-button
               size="mini"
@@ -60,6 +60,13 @@
             -->
           </template>
         </el-table-column>
+        <el-table-column
+          width="120px"
+          align="right"
+          label="录入日期"
+          :formatter="recordTimeFormat"
+          prop="gmtModife"
+        ></el-table-column>
       </el-table>
     </el-card>
     <el-pagination
@@ -133,7 +140,7 @@
           </el-select>
         </el-form-item>
 
-        <el-form-item label="来源部门" prop="toDeptId" :label-width="formLabelWidth">
+        <el-form-item label="结算单位" prop="toDeptId" :label-width="formLabelWidth">
           <el-select v-model="form.toDeptId" placeholder="请选择部门">
             <el-option key label="无" value></el-option>
             <el-option
@@ -202,7 +209,7 @@ export default {
       dialogFormVisible: false,
       addFlag: false,
       id: "",
-      search:'',
+      search: "",
       form: {
         deptId: "",
         projectId: "",
@@ -368,6 +375,10 @@ export default {
                 this.manageData = res.data;
               });
               this.$refs[formName].resetFields();
+              this.$message({
+                message: "修改成功",
+                type: "success"
+              });
             });
           }
           this.dialogFormVisible = false;
@@ -376,6 +387,29 @@ export default {
         }
       });
     },
+    // 作废一条
+    handleAbandon(index, row) {
+      console.log(index);
+      console.log(row);
+      const temp = {};
+      temp.id = row.id;
+      temp.status = "DEL";
+      setManage(temp).then(res => {
+        setManage(temp).then(res => {
+        console.log(res);
+        // 刷新列表
+        getManageList({
+          type: "INCOME",
+          pageNo: this.pageNo,
+          pageSize: 50,
+          isEntry: true
+        }).then(res => {
+          this.manageData = res.data.content;
+          this.totalSize = res.data.totalPages;
+        });
+      })
+      });
+    },
     // 取消
     resetForm(formName) {
       this.$refs[formName].resetFields();
@@ -425,5 +459,9 @@ export default {
 .el-table .income-row {
   color: red;
 }
+.isDel {
+  color: #aaa;
+  text-decoration: line-through;
+}
 </style>
 

+ 52 - 46
src/pages/manage/query.vue

@@ -46,8 +46,7 @@
         prop="costTypeId"
         :label-width="formLabelWidth"
       >
-        <el-select v-model="form.costTypeId" placeholder="请选择支出类型" ref="select">
-          <el-option key label="全选" value></el-option>
+        <el-select v-model="form.costTypeId" multiple placeholder="全选" ref="select">
           <el-option
             v-for="item in costTypeSelectData"
             :key="item.id"
@@ -92,8 +91,7 @@
         prop="productId"
         :label-width="formLabelWidth"
       >
-        <el-select v-model="form.productId" placeholder="请选择产品">
-          <el-option key label="全选" value></el-option>
+        <el-select v-model="form.productId" multiple placeholder="全选">
           <el-option
             v-for="item in productSelectData"
             :key="item.id"
@@ -108,8 +106,7 @@
         prop="projectId"
         :label-width="formLabelWidth"
       >
-        <el-select v-model="form.projectId" placeholder="请选择项目">
-          <el-option key label="全选" value></el-option>
+        <el-select v-model="form.projectId" multiple placeholder="全选">
           <el-option
             v-for="item in projectSelectData"
             :key="item.id"
@@ -153,9 +150,14 @@
           ></el-option>
         </el-select>
       </el-form-item>-->
-      <el-form-item label="归属部门" prop="deptId" v-if="form.type!==''" :label-width="formLabelWidth">
-        <el-select v-model="form.deptId" placeholder="请选择部门" ref="select">
-          <el-option key label="全选" value></el-option>
+      <el-form-item
+        label="归属部门"
+        prop="deptId"
+        multiple
+        v-if="form.type!==''"
+        :label-width="formLabelWidth"
+      >
+        <el-select v-model="form.deptId" multiple placeholder="全选" ref="select">
           <el-option
             v-for="item in teamSelectData"
             :key="item.id"
@@ -165,9 +167,7 @@
         </el-select>
       </el-form-item>
 
-      <el-form-item
-        style="position: absolute; width:23%; display:block; margin:0 auto; left: 0; right: 0;"
-      >
+      <el-form-item style="position: absolute; width:23%; left:300px;">
         <el-button type="primary" @click="onSubmit">查询</el-button>
         <!-- <el-button type="info" @click="onReset">重置</el-button> -->
       </el-form-item>
@@ -185,13 +185,6 @@
       border
     >
       <el-table-column
-        width="120px"
-        align="right"
-        label="录入日期"
-        :formatter="recordTimeFormat"
-        prop="gmtModife"
-      ></el-table-column>
-      <el-table-column
         prop="happenTime"
         width="120px"
         align="right"
@@ -217,6 +210,13 @@
       <el-table-column label="归属部门" width="250px" align="right" prop="department.name"></el-table-column>
       <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
       <el-table-column prop="remark" align="right" label="备注"></el-table-column>
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
     </el-table>
 
     <!-- 查询结果成本表 -->
@@ -229,13 +229,6 @@
       border
     >
       <el-table-column
-        width="120px"
-        align="right"
-        label="录入日期"
-        :formatter="recordTimeFormat"
-        prop="gmtModife"
-      ></el-table-column>
-      <el-table-column
         prop="happenTime"
         width="120px"
         align="right"
@@ -255,6 +248,13 @@
       <!-- <el-table-column label="接收项目" prop="toProject.name"></el-table-column> -->
       <!-- <el-table-column label="接收部门" prop="toDepartment.name"></el-table-column> -->
       <el-table-column label="备注" align="right" prop="remark"></el-table-column>
+      <el-table-column
+        width="120px"
+        align="right"
+        label="录入日期"
+        :formatter="recordTimeFormat"
+        prop="gmtModife"
+      ></el-table-column>
     </el-table>
     <!-- 分页 -->
     <el-pagination
@@ -294,15 +294,15 @@ export default {
       id: "",
       searchResult: [],
       form: {
-        type: "",
-        productId: "",
-        projectId: "",
+        type: "INCOME",
+        productId: [],
+        projectId: [],
         toDeptId: "",
         toProjectId: "",
-        deptId: "",
+        deptId: [],
         incomeStatus: [],
         status: "NORMAL",
-        costTypeId: "",
+        costTypeId: [],
         startTime: null,
         endTime: null,
         minAmount: "",
@@ -324,7 +324,8 @@ export default {
       companyData: [],
       tableType: "",
       isIndeterminate: true,
-      checkAll: false
+      checkAll: false,
+      totalSum: 0 // 后台返回的合计
     };
   },
   created() {
@@ -364,21 +365,26 @@ export default {
       const sums = [];
       columns.forEach((column, index) => {
         switch (column.property) {
-          case 'gmtModife':
-           sums[index] = '合计';
-           break;
           case "happenTime":
-            sums[index] = "";
+            sums[index] = "本页合计";
             break;
-            case 'amount':
-            const amountNum = data.map(item => Number(item['amount']));
-            console.log(amountNum)
-            sums[index] = amountNum.reduce((prev,cur) => {
-              console.log('prev',prev)
-              console.log('cur',cur)
+          // case "happenTime":
+          //   sums[index] = "";
+          //   break;
+          case "amount":
+            const amountNum = data.map(item => Number(item["amount"]));
+            console.log(amountNum);
+            sums[index] = amountNum.reduce((prev, cur) => {
               // const sum = prev.toFixed(2) + cur.toFixed(2);
-                return (parseFloat(prev) + parseFloat(cur)).toFixed(2);
-            },0)
+              return (parseFloat(prev) + parseFloat(cur)).toFixed(2);
+            }, 0);
+            break;
+          case "remark":
+            sums[index] = "全部合计:";
+            break;
+          case "gmtModife":
+            sums[index] = this.totalSum;
+            break;
           default:
             break;
         }
@@ -401,7 +407,6 @@ export default {
         this.searchResult = response.data.content;
         this.totalNumber = parseInt(response.data.totalElements);
         this.pageNo = parseInt(response.data.number) + 1;
-        console.log('回复内容',response.data.length)
         if (response.data && response.data.length == 0) {
           this.$message("未找到相应数据");
         }
@@ -424,7 +429,8 @@ export default {
         this.searchResult = response.data.content;
         this.totalNumber = parseInt(response.data.totalElements);
         this.pageNo = parseInt(response.data.number) + 1;
-        console.log('回复内容11',response.data.length)
+        this.totalSum = response.data.content[0].totalAmount.toFixed(2);
+        console.log("全部合计", response.data.content[0].totalAmount);
         if (response.data && response.data.length == 0) {
           this.$message("未找到相应数据");
         }

+ 5 - 1
src/pages/product/index.vue

@@ -125,7 +125,7 @@ export default {
       //验证表单
       this.$refs[formName].validate((valid, value) => {
         if (valid) {
-          console.log(this.form);
+          console.log('进入第一个')
           if (this.addFlag) {
             addProduct(this.form).then(res => {
               this.productData.unshift(res.data);
@@ -142,6 +142,10 @@ export default {
               console.log(this.index);
               this.productData.splice(this.index, 1, res.data);
               this.$refs[formName].resetFields();
+              this.$message({
+                message: "修改成功",
+                type: "success"
+              });
             });
           }
           this.dialogFormVisible = false;

+ 8 - 0
src/pages/project/index.vue

@@ -146,6 +146,10 @@ export default {
               }
               this.projectData.unshift(res.data);
               this.$refs[formName].resetFields();
+              this.$message({
+                message: "添加成功",
+                type: "success"
+              });
             });
           } else {
             this.form.id = this.id;
@@ -156,6 +160,10 @@ export default {
               this.projectData.splice(this.index, 1, res.data);
               // this.projectData.splice(this.index, 1)
               this.$refs[formName].resetFields();
+              this.$message({
+                message: "修改成功",
+                type: "success"
+              });
             });
           }
           this.dialogFormVisible = false;

+ 8 - 0
src/pages/team/index.vue

@@ -205,6 +205,10 @@ export default {
                 label: res.data.name
               }, this.form.path)
               this.$refs[formName].resetFields();
+              this.$message({
+                message: "添加成功",
+                type: "success"
+              });
             })
           } else {
             this.form.id = this.id;
@@ -213,6 +217,10 @@ export default {
               console.log(this.index)
               this.teamChildData.splice(this.index, 1, res.data)
               this.$refs[formName].resetFields();
+              this.$message({
+                message: "修改成功",
+                type: "success"
+              });
             })
           }
           this.dialogFormVisible = false;

+ 1 - 1
src/utils/http.js

@@ -5,7 +5,7 @@ import {
 } from 'element-ui';
 // http://whiteboardtest.ai160.com/
 axios.defaults.timeout = 5000;
-axios.defaults.baseURL = 'http://manage.ai160.com/';
+axios.defaults.baseURL = 'http://whiteboardtest.ai160.com/';
 
 /*** 
  *