浏览代码

目标管理-更改所有模块样式。

DongZ 1 年之前
父节点
当前提交
79caf0eb7a

+ 32 - 4
src/api/business/spd/goal_management/commonWays.js

@@ -29,8 +29,37 @@ function mergeArray() {
 }
 
 // 计算子表小计
+// export function getSummary(param) {
+//   const { columns, data } = param;
+//   const sums = [];
+//   columns.forEach((column, index) => {
+//     if (index === 0) {
+//       sums[index] = '小计';
+//       return;
+//     }
+//     const values = data.map(item => Number(item[column.property]));
+//     if (!values.every(value => isNaN(value))) {
+//       sums[index] = values.reduce((prev, curr) => {
+//         const value = Number(curr);
+//         if (!isNaN(value)) {
+//           return ((prev * 10000000 + curr * 10000000) / 10000000).toFixed(2);
+//         } else {
+//           return prev;
+//         }
+//       }, 0);
+//       sums[index] += '';
+//     } else {
+//       sums[index] = '*';
+//     }
+//   });
+
+//   return sums;
+// }
+
 export function getSummary(param) {
+  console.log(param, 'param')
   const { columns, data } = param;
+  console.log(columns, 'columns')
   const sums = [];
   columns.forEach((column, index) => {
     if (index === 0) {
@@ -42,16 +71,15 @@ export function getSummary(param) {
       sums[index] = values.reduce((prev, curr) => {
         const value = Number(curr);
         if (!isNaN(value)) {
-          return ((prev * 10000000 + curr * 10000000) / 10000000).toFixed(2);
+          return prev + curr;
         } else {
           return prev;
         }
       }, 0);
-      sums[index] += '';
+      sums[index] = sums[index].toFixed(2);
     } else {
-      sums[index] = '*';
+      sums[index] = ' ';
     }
   });
-
   return sums;
 }

+ 3 - 27
src/views/business/spd/target/AnnualSaleGoal.vue

@@ -127,7 +127,7 @@
           <dict-tag :options="dict.type.sys_status" :value="scope.row.status" />
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" fixed="right">
+      <el-table-column label="操作" align="center" class-name="small-padding" width="180" fixed="right">
         <template slot-scope="scope">
           <div v-if="scope.row.status == '0' || scope.row.status == '3'">
             <el-button size="mini" type="text" @click="handleUpdate(scope.row)">修改
@@ -484,7 +484,7 @@
 
   export default {
     name: "AnnualSaleGoal",
-    dicts: ["sys_status","oa_templete_id"],
+    dicts: ["sys_status", "oa_templete_id"],
     components: {
       TreeRefers,
       ElPopoverSelectV2
@@ -992,31 +992,7 @@
         this.form.goalTotal = sum.toFixed(2)
       },
       getSummaries(param) {
-        console.log(param, 'param')
-        const { columns, data } = param;
-        console.log(columns, 'columns')
-        const sums = [];
-        columns.forEach((column, index) => {
-          if (index === 0) {
-            sums[index] = '小计';
-            return;
-          }
-          const values = data.map(item => Number(item[column.property]));
-          if (!values.every(value => isNaN(value))) {
-            sums[index] = values.reduce((prev, curr) => {
-              const value = Number(curr);
-              if (!isNaN(value)) {
-                return prev + curr;
-              } else {
-                return prev;
-              }
-            }, 0);
-            sums[index] = sums[index].toFixed(2);
-          } else {
-            sums[index] = ' ';
-          }
-        });
-        return sums;
+        return getSummary(param)
       },
       // 给table添加必填项
       addRedStar(h, {

+ 29 - 53
src/views/business/spd/target/AnnualSaleGoalMerge.vue

@@ -147,7 +147,7 @@
       <el-table-column label="一级分类" align="center" prop="oneLevelClassify" width="180" />
       <el-table-column label="二级分类" align="center" prop="twoLevelClassify" width="180" />
       <el-table-column label="备注" align="center" prop="notes" width="180" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" fixed="right">
+      <el-table-column label="操作" align="center" class-name="small-padding" width="180" fixed="right">
         <template slot-scope="scope">
           <div v-if="scope.row.status == '0' || scope.row.status == '3'">
             <el-button size="mini" type="text" @click="handleUpdate(scope.row)">修改
@@ -218,7 +218,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="目标值汇总" prop="goalTotal">
+            <el-form-item label="目标值汇总(元)" prop="goalTotal">
               <el-input v-model="form.goalTotal" placeholder="目标值汇总自动计算" disabled />
             </el-form-item>
           </el-col>
@@ -320,12 +320,12 @@
                     </el-select>
                   </template>
                 </el-table-column>
-                <el-table-column label="合计" align="center" prop="totalGoal" width="180">
+                <el-table-column label="合计(元)" align="center" prop="totalGoal" width="180">
                   <template slot-scope="scope">
                     <el-input v-model="annualSaleGoalMergeDetailsList[scope.$index].totalGoal" disabled></el-input>
                   </template>
                 </el-table-column>
-                <el-table-column label="一月" align="center" prop="januaryGoal" width="220">
+                <el-table-column label="一月(元)" align="center" prop="januaryGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -333,7 +333,7 @@
                       :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="二月" align="center" prop="februaryGoal" width="220">
+                <el-table-column label="二月(元)" align="center" prop="februaryGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -341,7 +341,7 @@
                       :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="三月" align="center" prop="marchGoal" width="220">
+                <el-table-column label="三月(元)" align="center" prop="marchGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -349,7 +349,7 @@
                       :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="四月" align="center" prop="aprilGoal" width="220">
+                <el-table-column label="四月(元)" align="center" prop="aprilGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -357,7 +357,7 @@
                       :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="五月" align="center" prop="mayGoal" width="220">
+                <el-table-column label="五月(元)" align="center" prop="mayGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -365,7 +365,7 @@
                     </el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="六月" align="center" prop="juneGoal" width="220">
+                <el-table-column label="六月(元)" align="center" prop="juneGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -373,7 +373,7 @@
                     </el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="七月" align="center" prop="julyGoal" width="220">
+                <el-table-column label="七月(元)" align="center" prop="julyGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -381,7 +381,7 @@
                     </el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="八月" align="center" prop="augustGoal" width="220">
+                <el-table-column label="八月(元)" align="center" prop="augustGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -389,7 +389,7 @@
                       :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="九月" align="center" prop="septemberGoal" width="220">
+                <el-table-column label="九月(元)" align="center" prop="septemberGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -397,7 +397,7 @@
                       :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="十月" align="center" prop="octoberGoal" width="220">
+                <el-table-column label="十月(元)" align="center" prop="octoberGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -405,7 +405,7 @@
                       :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="十一月" align="center" prop="novemberGoal" width="220">
+                <el-table-column label="十一月(元)" align="center" prop="novemberGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -413,7 +413,7 @@
                       :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="十二月" align="center" prop="decemberGoal" width="220">
+                <el-table-column label="十二月(元)" align="center" prop="decemberGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number
                       @change="computeTotalDetails(scope.$index, annualSaleGoalMergeDetailsList[scope.$index])"
@@ -558,78 +558,78 @@
                     </el-popover-select-v2>
                   </template>
                 </el-table-column>
-                <el-table-column label="合计" align="center" prop="totalGoal" width="180">
+                <el-table-column label="合计(元)" align="center" prop="totalGoal" width="180">
                   <template slot-scope="scope">
                     <el-input v-model="customerDetailList[scope.$index].totalGoal" disabled></el-input>
                   </template>
                 </el-table-column>
-                <el-table-column label="一月" align="center" prop="januaryGoal" width="220">
+                <el-table-column label="一月(元)" align="center" prop="januaryGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].januaryGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="二月" align="center" prop="februaryGoal" width="220">
+                <el-table-column label="二月(元)" align="center" prop="februaryGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].februaryGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="三月" align="center" prop="marchGoal" width="220">
+                <el-table-column label="三月(元)" align="center" prop="marchGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].marchGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="四月" align="center" prop="aprilGoal" width="220">
+                <el-table-column label="四月(元)" align="center" prop="aprilGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].aprilGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="五月" align="center" prop="mayGoal" width="220">
+                <el-table-column label="五月(元)" align="center" prop="mayGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].mayGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="六月" align="center" prop="juneGoal" width="220">
+                <el-table-column label="六月(元)" align="center" prop="juneGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].juneGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="七月" align="center" prop="julyGoal" width="220">
+                <el-table-column label="七月(元)" align="center" prop="julyGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].julyGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="八月" align="center" prop="augustGoal" width="220">
+                <el-table-column label="八月(元)" align="center" prop="augustGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].augustGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="九月" align="center" prop="septemberGoal" width="220">
+                <el-table-column label="九月(元)" align="center" prop="septemberGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].septemberGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="十月" align="center" prop="octoberGoal" width="220">
+                <el-table-column label="十月(元)" align="center" prop="octoberGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].octoberGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="十一月" align="center" prop="novemberGoal" width="220">
+                <el-table-column label="十一月(元)" align="center" prop="novemberGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].novemberGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
                   </template>
                 </el-table-column>
-                <el-table-column label="十二月" align="center" prop="decemberGoal" width="220">
+                <el-table-column label="十二月(元)" align="center" prop="decemberGoal" width="220">
                   <template slot-scope="scope">
                     <el-input-number disabled v-model="customerDetailList[scope.$index].decemberGoal" :precision="2"
                       :step="0.1" :min="0"></el-input-number>
@@ -1395,31 +1395,7 @@
         this.form.goalTotal = sum.toFixed(2)
       },
       getSummaries(param) {
-        console.log(param, 'param')
-        const { columns, data } = param;
-        console.log(columns, 'columns')
-        const sums = [];
-        columns.forEach((column, index) => {
-          if (index === 0) {
-            sums[index] = '小计';
-            return;
-          }
-          const values = data.map(item => Number(item[column.property]));
-          if (!values.every(value => isNaN(value))) {
-            sums[index] = values.reduce((prev, curr) => {
-              const value = Number(curr);
-              if (!isNaN(value)) {
-                return prev + curr;
-              } else {
-                return prev;
-              }
-            }, 0);
-            sums[index] = sums[index].toFixed(2);
-          } else {
-            sums[index] = ' ';
-          }
-        });
-        return sums;
+        return getSummary(param)
       },
       // 合并数据
       clickMerge() {

+ 9 - 9
src/views/business/spd/target/MonthGoalMerge.vue

@@ -130,8 +130,8 @@
 
     <el-table v-loading="loading" :data="monthGoalMergeList" @selection-change="handleSelectionChange" @row-dblclick="useDoubleClick"
       v-horizontal-scroll>
-      <el-table-column label="编码" align="center" prop="code" />
-      <el-table-column label="目标名称" align="center" prop="goalName" />
+      <el-table-column label="编码" align="center" prop="code" width="180" />
+      <el-table-column label="目标名称" align="center" prop="goalName" width="240" />
       <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.documentDate, '{y}-{m}-{d}') }}</span>
@@ -139,17 +139,17 @@
       </el-table-column>
       <el-table-column label="年度" align="center" prop="annual" />
       <el-table-column label="月份" align="center" prop="monthly" />
-      <el-table-column label="客户" align="center" prop="custom" />
+      <el-table-column label="客户" align="center" prop="custom" width="180" />
       <el-table-column label="制单人" align="center" prop="creator" />
       <el-table-column label="部门" align="center" prop="dept" />
       <el-table-column label="目标类型" align="center" prop="goalCategory" />
-      <el-table-column label="目标值合计" align="center" prop="goalSum" />
+      <el-table-column label="目标值合计(元)" align="center" prop="goalSum" />
       <el-table-column show-overflow-tooltip label="状态" align="center" width="200" prop="status">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.sys_status" :value="scope.row.status" />
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
+      <el-table-column label="操作" align="center" width="180" class-name="small-padding" fixed="right">
         <template slot-scope="scope">
           <div v-if="scope.row.status == '0' || scope.row.status == '3'">
             <el-button size="mini" type="text" @click="handleUpdate(scope.row)">修改
@@ -230,7 +230,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="6">
-            <el-form-item label="目标值合计" prop="goalSum">
+            <el-form-item label="目标值合计(元)" prop="goalSum">
               <el-input v-model="form.goalSum" placeholder="目标值合计自动计算" disabled />
             </el-form-item>
           </el-col>
@@ -362,7 +362,7 @@
                     </el-date-picker>
                   </template>
                 </el-table-column>
-                <el-table-column label="目标值" align="center" prop="goalValue" width="220">
+                <el-table-column label="目标值(元)" align="center" prop="goalValue" width="220">
                   <template slot-scope="scope">
                     <el-input-number @change="computeTotal" v-model="monthGoalMergeDetailsList[scope.$index].goalValue"
                       :precision="2" :step="1" :min="0"></el-input-number>
@@ -396,7 +396,7 @@
                     </el-date-picker>
                   </template>
                 </el-table-column>
-                <el-table-column label="目标值" align="center" prop="goalValue" width="220">
+                <el-table-column label="目标值(元)" align="center" prop="goalValue" width="220">
                   <template slot-scope="scope">
                     <el-input-number @change="computeTotal" v-model="zoneGoalSumList[scope.$index].goalValue"
                       :precision="2" :step="1" :min="0" disabled></el-input-number>
@@ -438,7 +438,7 @@
                     </el-date-picker>
                   </template>
                 </el-table-column>
-                <el-table-column label="目标值" align="center" prop="goalValue" width="220">
+                <el-table-column label="目标值(元)" align="center" prop="goalValue" width="220">
                   <template slot-scope="scope">
                     <el-input-number @change="computeTotal" v-model="customGoalSumList[scope.$index].goalValue"
                       :precision="2" :step="1" :min="0" disabled></el-input-number>

+ 6 - 3
src/views/business/spd/target/MonthSaleGoal.vue

@@ -119,14 +119,14 @@
       <el-table-column label="销售区域" align="center" prop="saleZone" width="180" />
       <el-table-column label="制单人" align="center" prop="creator" />
       <el-table-column label="部门" align="center" prop="dept" />
-      <el-table-column label="目标合计" align="center" prop="goalSum" />
+      <el-table-column label="目标合计(元)" align="center" prop="goalSum" />
       <el-table-column label="备注" align="center" prop="notes" />
       <el-table-column show-overflow-tooltip label="状态" align="center" width="200" prop="status">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.sys_status" :value="scope.row.status" />
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" fixed="right">
+      <el-table-column label="操作" align="center" class-name="small-padding" width="180" fixed="right">
         <template slot-scope="scope">
           <div v-if="scope.row.status == '0' || scope.row.status == '3'">
             <el-button size="mini" type="text" @click="handleUpdate(scope.row)">修改
@@ -205,7 +205,7 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="6">
-            <el-form-item label="目标合计" prop="goalSum">
+            <el-form-item label="目标合计(元)" prop="goalSum">
               <el-input v-model="form.goalSum" placeholder="目标合计自动计算" disabled />
             </el-form-item>
           </el-col>
@@ -661,6 +661,9 @@
           this.monthSaleGoalList = response.rows;
           this.total = response.total;
           this.loading = false;
+          this.monthSaleGoalList.forEach(item => {
+            item.goalSum = item.goalSum.toFixed(2);
+          })
         });
       },
       getListDetails() {