2545307760@qq.com 8 månader sedan
förälder
incheckning
631ae3c6d3

+ 27 - 30
web/src/view/finance/borrowing/borrowing.vue

@@ -459,7 +459,7 @@
 </template>
 
 <script setup>
-import { onMounted, ref, reactive } from 'vue'
+import { onMounted, ref, reactive, computed } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import {
   createBorrowing,
@@ -471,6 +471,15 @@ import {
 } from '@/api/finance'
 import { getAllUsers } from '@/api/user'
 
+// 计算属性
+const totality = computed(() => {
+  let middle = 0
+  const data = dailyExpensesData.dailyFeeDetails
+  data.forEach(item => {
+    middle += item.feePrice
+  })
+  return middle
+})
 // 数据初始化
 const feeGenre = ref()
 const users = ref()
@@ -556,7 +565,7 @@ const activeName = ref('first')
 const openDailyExpenses = ref(false)
 
 const dailyExpensesOpen = () => {
-  dailyExpensesData.value = {
+  const data = {
     name: '',
     genre: null,
     applicant: '',
@@ -570,32 +579,20 @@ const dailyExpensesOpen = () => {
       feePrice: 0
     }]
   }
+  Object.assign(dailyExpensesData, data)
   openDailyExpenses.value = true
 }
 
-const dailyExpensesData = ref({
-  name: '',
-  genre: null,
-  applicant: '',
-  applicationTime: '',
-  charge: null,
-  totalAmount: 0,
-  dailyFeeDetails: [{
-    id: 1,
-    feeTime: '',
-    illustrate: '',
-    feePrice: 0
-  }]
-})
+const dailyExpensesData = reactive({})
 
 const addLineData = () => {
   const newData = {
-    id: dailyExpensesData.value.dailyFeeDetails.length + 1,
+    id: dailyExpensesData.dailyFeeDetails.length + 1,
     feeTime: '',
     illustrate: '',
     feePrice: 0
   }
-  dailyExpensesData.value.dailyFeeDetails.push(newData)
+  dailyExpensesData.dailyFeeDetails.push(newData)
 }
 
 const handleDelete = (val) => {
@@ -604,28 +601,28 @@ const handleDelete = (val) => {
     cancelButtonText: '取消',
     type: 'warning',
   }).then(() => {
-    const ds = dailyExpensesData.value.dailyFeeDetails.filter(item => item.id !== val)
+    const ds = dailyExpensesData.dailyFeeDetails.filter(item => item.id !== val)
     for (let i = 0; i < ds.length; i++) {
       ds[i].id = i + 1
     }
-    dailyExpensesData.value.dailyFeeDetails = ds
+    dailyExpensesData.dailyFeeDetails = ds
   })
 }
 
 const sumExpenses = () => {
   let sum = 0
-  for (const key in dailyExpensesData.value.dailyFeeDetails) {
-    sum += dailyExpensesData.value.dailyFeeDetails[key].feePrice
+  for (const key in dailyExpensesData.dailyFeeDetails) {
+    sum += dailyExpensesData.dailyFeeDetails[key].feePrice
   }
-  dailyExpensesData.value.totalAmount = sum
+  dailyExpensesData.totalAmount = sum
 }
 
 // 保存
 const saveDailyExpenses = async() => {
-  for (let i = 0; i < dailyExpensesData.value.dailyFeeDetails.length; i++) {
-    dailyExpensesData.value.dailyFeeDetails[i].id = null
+  for (let i = 0; i < dailyExpensesData.dailyFeeDetails.length; i++) {
+    dailyExpensesData.dailyFeeDetails[i].id = null
   }
-  const dd = dailyExpensesData.value
+  const dd = dailyExpensesData
   // 校验
   if (dd.name === '' || dd.genre == null || dd.charge == null || dd.applicationTime === '' || dd.applicant === '') {
     ElMessage.error('请将数据填写完整')
@@ -653,16 +650,16 @@ const saveDailyExpenses = async() => {
 // 详情
 const expensesDetailsData = (val) => {
   console.log(val)
-  dailyExpensesData.value = val
+  Object.assign(dailyExpensesData, val)
   openDailyExpenses.value = true
 }
 
 // 删除
 const erasureDailyExpenses = async() => {
-  for (let i = 0; i < dailyExpensesData.value.dailyFeeDetails.length; i++) {
-    dailyExpensesData.value.dailyFeeDetails[i].id = null
+  for (let i = 0; i < dailyExpensesData.dailyFeeDetails.length; i++) {
+    dailyExpensesData.dailyFeeDetails[i].id = null
   }
-  const dd = dailyExpensesData.value
+  const dd = dailyExpensesData
   ElMessageBox.confirm(
     '确定进行删除操作吗?',
     '删除',

+ 5 - 1
web/src/view/finance/components/reimburse.vue

@@ -46,7 +46,7 @@
         <el-button
           type="primary"
           :icon="Plus"
-          @click="reimburseAddShow = true"
+          @click="changeReimburseAddShow"
         >
           新增
         </el-button>
@@ -589,6 +589,10 @@ const outsideChangePage = () => {
   condition.pageInfo.page = 1
 }
 
+const changeReimburseAddShow = () => {
+  reimburseAddShow.value = true
+}
+
 defineExpose({
   outsideChangePage
 })