From 9e007f676d0e55c4bf0cc2a78bc7dc96be188d50 Mon Sep 17 00:00:00 2001
From: zuozhengqing <a13193816592@163.com>
Date: 星期四, 14 十二月 2023 19:45:52 +0800
Subject: [PATCH] 隐藏生成计划和服务收费管理模块

---
 src/views/other/payment/collectionPlan/AddCollectionPlan.vue |  234 ++++++++++++++++++++++++----------------------------------
 1 files changed, 98 insertions(+), 136 deletions(-)

diff --git a/src/views/other/payment/collectionPlan/AddCollectionPlan.vue b/src/views/other/payment/collectionPlan/AddCollectionPlan.vue
index bf6b7cd..52cd7d5 100644
--- a/src/views/other/payment/collectionPlan/AddCollectionPlan.vue
+++ b/src/views/other/payment/collectionPlan/AddCollectionPlan.vue
@@ -25,14 +25,14 @@
         </div>
         <div class="collection-view">
           <div class="label">閲戦</div>
-          <div>{{ editConfig.infomation.amount }}</div>
+          <div>{{ editConfig.infomation.amountTotal }}</div>
         </div>
         <div class="collection-view">
           <div class="label">鏈鍒掗噾棰�</div>
-          <div>{{ editConfig.infomation.amount }}</div>
+          <div>{{ editConfig.infomation.amountTotal }}</div>
         </div>
         <div class="collection-view">
-          <div class="label">鏀舵璁″垝璐熻矗浜�</div>
+          <div class="label"><span style="color: #f56c6c">*</span>鏀舵璁″垝璐熻矗浜�</div>
           <el-select
             v-model="editConfig.infomation.principalId"
             placeholder="璇烽�夋嫨"
@@ -51,6 +51,7 @@
             :data="tableData.tableInfomation"
             tooltip-effect="dark"
             style="width: 100%"
+            max-height="375"
             :header-cell-style="{ background: '#ECF4FF', color: '#666' }"
           >
             <el-table-column
@@ -73,7 +74,7 @@
                     style="width: 100%; margin-right: 5px"
                     @change="
                       (val) => {
-                        commonInputChange(val, item.prop, scope.row)
+                        commonInputChange(val, item.prop, scope)
                       }
                     "
                   ></el-input-number>
@@ -106,7 +107,13 @@
                   "
                 ></el-input>
                 <div v-else-if="item.date">
-                  <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 130px">
+                  <el-date-picker
+                    v-model="scope.row[item.prop]"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    size="mini"
+                    style="width: 130px"
+                  >
                   </el-date-picker>
                 </div>
                 <div v-else @click="delClick(scope.row)"><i class="el-icon-delete"></i></div>
@@ -124,6 +131,9 @@
               <el-option label="1" :value="1"></el-option>
               <el-option label="2" :value="2"></el-option>
               <el-option label="3" :value="3"></el-option>
+              <el-option label="5" :value="5"></el-option>
+              <el-option label="8" :value="8"></el-option>
+              <el-option label="10" :value="10"></el-option>
             </el-select>
             <span> 鏈�, </span>
           </div>
@@ -142,7 +152,7 @@
         </div>
         <div class="btn-view">
           <el-button type="primary" size="small" @click="saveClick">淇濆瓨</el-button>
-          <el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button>
+          <el-button size="small" @click="droppedClick">鍙栨秷</el-button>
         </div>
       </div>
     </el-dialog>
@@ -182,18 +192,18 @@
         mergeNumber: 7
       },
       tableData: [],
-      productId: 1,
       addProductArr: [],
       memberOptions: [],
       allTerms: 3,
       amount: 130,
       sourceType: this.editCommonConfig.sourceType, // 婧愬崟绫诲瀷 1閿�鍞槑缁�2鏈嶅姟鍚堝悓3閿�鍞彂绁�
       sourceId: this.editCommonConfig.infomation.id,
-      principalId: 0,
+      principalId: this.getCookie('username')||0,
       planAmount: 0, // 璁″垝閲戦
       firstDate: this.getCurrentDate(1),
       collectionType: 1,
-      tableInfomation: []
+      tableInfomation: [],
+      allPercent: 0
     }
   },
   created() {
@@ -203,12 +213,32 @@
     this.getCommonData()
   },
   methods: {
+    getCookie(cookieName) {  
+      var cookieValue = null;  
+      if (document.cookie && document.cookie !== '') {  
+        var cookies = document.cookie.split(';');  
+        for (var i = 0; i < cookies.length; i++) {  
+          var cookie = cookies[i].trim();  
+          // 蹇界暐涓嶅畬鏁寸殑cookie  
+          if (cookie.startsWith(cookieName + '=')) {  
+            cookieValue = cookie.substring(cookieName.length + 1, cookie.length);  
+            break;  
+          }  
+        }  
+      }  
+      return cookieValue;  
+    },
     // 璁剧疆鍒濆鍊�
     setData() {
+      this.amount =
+        typeof this.editCommonConfig.infomation.amountTotal == "string"
+          ? parseInt(this.editCommonConfig.infomation.amountTotal)
+          : this.editCommonConfig.infomation.amountTotal
       this.editConfig.infomation = {
         collectionType: this.collectionType,
         moneyType: "浜烘皯甯�",
-        amount: this.amount.toFixed(2)
+        amountTotal: this.editCommonConfig.infomation.amountTotal,
+        principalId:this.getCookie('username')
       }
     },
     getCommonData() {
@@ -226,11 +256,16 @@
     // 淇濆瓨
     saveClick() {
       this.sumTotalAmount()
+      console.log(this.amount)
       if (this.editConfig.title === "鏂板缓") {
         if (this.principalId === 0) {
           this.$message.error("璇烽�夋嫨鏀舵璁″垝璐熻矗浜�")
+        } else if (this.amount === 0) {
+          this.$message.error("鏀舵閲戦涓嶈兘涓�0")
         } else if (this.amount !== this.planAmount) {
           this.$message.error("鏀舵璁″垝鍜屾湭璁″垝閲戦涓嶄竴鑷达紝璇烽噸绠�")
+        } else if (this.allPercent > 100) {
+          this.$message.error("鏀舵姣斾緥(%)鎬诲拰澶т簬100锛岃閲嶆柊杈撳叆")
         } else {
           const params = this.saveParams()
           addCollectionPlan(params).then((res) => {
@@ -243,6 +278,10 @@
           })
         }
       }
+    },
+    droppedClick() {
+      this.editConfig.visible = false
+      this.$parent.getData()
     },
     // 璁$畻璁″垝鎬婚
     sumTotalAmount() {
@@ -261,9 +300,10 @@
     },
     handleClose() {
       this.editConfig.visible = false
+      this.$parent.getData()
     },
     setTableForm() {
-      this.setTableInfomation(this.firstDate)
+      this.setTableInfomation(this.allTerms, this.firstDate)
       this.tableData = {
         tableInfomation: this.tableInfomation,
         tableColumn: [
@@ -276,134 +316,44 @@
         ]
       }
     },
-    setTableInfomation(date) {
-      console.log(this.sourceId)
-      this.tableInfomation = [
-        {
-          amount: this.amount,
-          amountReceivable: this.amount * 0.3,
-          amountReceived: 0,
-          amountTotal: 0,
-          collectionDate: this.setDate(date, 0),
-          collectionType: this.editConfig.infomation.collectionType,
-          fileId: 0,
-          id: 0,
-          moneyType: "浜烘皯甯�",
-          percent: 30,
-          principalId: this.principalId,
-          remark: "",
-          sourceId: this.sourceId,
-          sourceType: this.sourceType,
-          status: 1,
-          term: 1
-        },
-        {
-          amount: this.amount,
-          amountReceivable: this.amount * 0.5,
-          amountReceived: 0,
-          amountTotal: 0,
-          collectionDate: this.setDate(date, 1),
-          collectionType: this.editConfig.infomation.collectionType,
-          fileId: 0,
-          id: 0,
-          moneyType: "浜烘皯甯�",
-          percent: 50,
-          principalId: this.principalId,
-          remark: "",
-          sourceId: this.sourceId,
-          sourceType: this.sourceType,
-          status: 1,
-          term: 2
-        },
-        {
-          amount: this.amount,
-          amountReceivable: this.amount * 0.2,
-          amountReceived: 0,
-          amountTotal: 0,
-          collectionDate: this.setDate(date, 2),
-          collectionType: this.editConfig.infomation.collectionType,
-          fileId: 0,
-          id: 0,
-          moneyType: "浜烘皯甯�",
-          percent: 20,
-          principalId: this.principalId,
-          remark: "",
-          sourceId: this.sourceId,
-          sourceType: this.sourceType,
-          status: 1,
-          term: 3
+    // 鏀舵璁″垝鍒楄〃鍐呭璁$畻
+    setTableInfomation(allTerms, date) {
+      let arr = []
+      for (let i = 0; i < allTerms; i++) {
+        let ratio = 1
+        if (allTerms == 3) {
+          ratio = i == 0 ? 30 : i == 1 ? 50 : 20
+        } else {
+          ratio = 100 / allTerms
         }
-      ]
+        let data = {
+          amount: this.amount,
+          amountReceivable: (this.amount * ratio) / 100,
+          amountReceived: 0,
+          amountTotal: this.amount,
+          collectionDate: this.setDate(date, i),
+          collectionType: this.editConfig.infomation.collectionType,
+          fileId: 0,
+          id: 0,
+          moneyType: "浜烘皯甯�",
+          percent: ratio,
+          principalId: this.principalId,
+          remark: "",
+          sourceId: this.sourceId,
+          sourceType: this.sourceType,
+          status: 1,
+          term: i + 1
+        }
+        arr.push(data)
+      }
+      this.tableInfomation = [...arr]
     },
     // 閲嶇畻
     recalculateClick() {
       console.log(this.allTerms)
       this.tableData.tableInfomation = []
-      if (this.allTerms === 1) {
-        console.log("aaa")
-        this.tableData.tableInfomation = [
-          {
-            amount: this.amount,
-            amountReceivable: this.amount,
-            amountReceived: 0,
-            amountTotal: 0,
-            collectionDate: this.setDate(this.firstDate, 0),
-            collectionType: this.editConfig.infomation.collectionType,
-            fileId: 0,
-            id: 0,
-            moneyType: "浜烘皯甯�",
-            percent: 100,
-            principalId: this.principalId,
-            remark: "",
-            sourceId: this.sourceId,
-            sourceType: this.sourceType,
-            status: 1,
-            term: 1
-          }
-        ]
-      } else if (this.allTerms === 2) {
-        this.tableData.tableInfomation = [
-          {
-            amount: this.amount,
-            amountReceivable: this.amount * 0.5,
-            amountReceived: 0,
-            amountTotal: 0,
-            collectionDate: this.setDate(this.firstDate, 0),
-            collectionType: this.editConfig.infomation.collectionType,
-            fileId: 0,
-            id: 0,
-            moneyType: "浜烘皯甯�",
-            percent: 50,
-            principalId: this.principalId,
-            remark: "",
-            sourceId: this.sourceId,
-            sourceType: this.sourceType,
-            status: 1,
-            term: 1
-          },
-          {
-            amount: this.amount,
-            amountReceivable: this.amount * 0.5,
-            amountReceived: 0,
-            amountTotal: 0,
-            collectionDate: this.setDate(this.firstDate, 1),
-            collectionType: this.editConfig.infomation.collectionType,
-            fileId: 0,
-            id: 0,
-            moneyType: "浜烘皯甯�",
-            percent: 50,
-            principalId: this.principalId,
-            remark: "",
-            sourceId: this.sourceId,
-            sourceType: this.sourceType,
-            status: 1,
-            term: 2
-          }
-        ]
-      } else if (this.allTerms === 3) {
-        this.setTableInfomation(this.firstDate)
-        this.tableData.tableInfomation = this.tableInfomation
-      }
+      this.setTableInfomation(this.allTerms, this.firstDate)
+      this.tableData.tableInfomation = this.tableInfomation
     },
     delClick(row) {
       console.log(row)
@@ -415,6 +365,11 @@
     commonInputChange(val, prop, row) {
       console.log(val, prop)
       console.log(row)
+      const array = this.tableData.tableInfomation
+      array.map((item) => {
+        this.allPercent += item.percent
+      })
+      console.log(this.allPercent)
     },
     // 鑾峰彇褰撳墠鏃ユ湡
     getCurrentDate(monthNumber) {
@@ -426,16 +381,23 @@
     },
     // 鏃ユ湡澶勭悊
     setDate(str, monthNumber) {
+      console.log(str)
       console.log(str.split("-"))
       let dateArr = str.split("-")
-      let year = parseInt(dateArr[0])
-      let month = parseInt(dateArr[1]) + monthNumber
+      // 鏈堜唤鍜�
+      let monthCount = parseInt(dateArr[1]) + monthNumber
+      // 骞�
+      let year = monthCount > 12 ? parseInt(dateArr[0]) + 1 : parseInt(dateArr[0])
+      // 鏈�
+      let month = monthCount > 12 ? monthCount - 12 : monthCount
+      // 鏃�
       let day = parseInt(dateArr[2])
+
       return year + "-" + month + "-" + day
     },
     principalClick(val) {
       this.principalId = val
-      this.setTableInfomation(this.firstDate)
+      this.setTableInfomation(this.allTerms, this.firstDate)
       this.tableData.tableInfomation = this.tableInfomation
     }
   }

--
Gitblit v1.8.0