| | |
| | | max-height="800" |
| | | border |
| | | highlight-current-row |
| | | :summary-method="getSummaries" |
| | | show-summary |
| | | > |
| | | <el-table-column |
| | | prop="orderno" |
| | |
| | | :value="dict.id" |
| | | ></el-option> |
| | | </el-select> |
| | | <!-- <el-cascader |
| | | v-model="scope.row.applytype" |
| | | :options="aaoptions" |
| | | :show-all-levels="false" |
| | | ></el-cascader> --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="amount" |
| | | <!-- <el-table-column |
| | | prop="jxrq" |
| | | align="center" |
| | | label="绩效日期" |
| | | width="260" |
| | |
| | | > |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | <el-table-column |
| | | prop="amount" |
| | | align="center" |
| | |
| | | <el-input |
| | | v-model="scope.row.amount" |
| | | placeholder="税前金额" |
| | | @blur=" |
| | | val => { |
| | | calculateTax(scope.row, 'A'); |
| | | } |
| | | " |
| | | @blur="chargeSum" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taxamount" |
| | | align="center" |
| | | label="扣税金额" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | @blur="chargeSum" |
| | | v-model="scope.row.taxamount" |
| | | placeholder="扣税金额" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | <el-input |
| | | v-model="scope.row.taxedamount" |
| | | placeholder="税后金额" |
| | | @blur=" |
| | | val => { |
| | | calculateTax(scope.row, 'B'); |
| | | } |
| | | " |
| | | @blur="queenchargeSum" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taxamount" |
| | | align="center" |
| | | label="扣税金额" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.taxamount" |
| | | placeholder="扣税金额" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="beneficiaryname" |
| | | align="center" |
| | |
| | | |
| | | //行记录的费用类型数组 |
| | | rowfeeItemTypes: [{ label: "管理成本", value: "9" }], |
| | | |
| | | aaoptions: [ |
| | | { |
| | | value: "niandu", |
| | | label: "年度" |
| | | }, |
| | | { |
| | | value: "jidu", |
| | | label: "季度", |
| | | children: [ |
| | | { |
| | | value: "2024-03-31", |
| | | label: "第一季度" |
| | | }, |
| | | { |
| | | value: "2024-6-30", |
| | | label: "第二季度" |
| | | }, |
| | | { |
| | | value: "2024-9-30", |
| | | label: "第三季度" |
| | | }, |
| | | { |
| | | value: "2024-12-31", |
| | | label: "第四季度" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | value: "yuedu", |
| | | label: "月度", |
| | | children: [ |
| | | { label: "一月", value: new Date(2024, 0 + 1, 0).getDate() }, |
| | | { label: "二月", value: new Date(2024, 1 + 1, 0).getDate() }, |
| | | { label: "三月", value: new Date(2024, 2 + 1, 0).getDate() }, |
| | | { label: "四月", value: new Date(2024, 3 + 1, 0).getDate() }, |
| | | { label: "五月", value: new Date(2024, 4 + 1, 0).getDate() }, |
| | | { label: "六月", value: new Date(2024, 5 + 1, 0).getDate() }, |
| | | { label: "七月", value: new Date(2024, 6 + 1, 0).getDate() }, |
| | | { label: "八月", value: new Date(2024, 7 + 1, 0).getDate() }, |
| | | { label: "九月", value: new Date(2024, 8 + 1, 0).getDate() }, |
| | | { label: "十月", value: new Date(2024, 9 + 1, 0).getDate() }, |
| | | { label: "十一月", value: new Date(2024, 10 + 1, 0).getDate() }, |
| | | { label: "十二月", value: new Date(2024, 11 + 1, 0).getDate() } |
| | | ] |
| | | } |
| | | ], |
| | | //费用说明 |
| | | feeBlocks: [], |
| | | |
| | |
| | | } |
| | | }, |
| | | |
| | | //计算金额 |
| | | calculateTax(row, type) { |
| | | //税前扣税算税后 |
| | | chargeSum(row, type) { |
| | | let targetValue = 0; |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | | if (!this.rbDetails[i].amount) { |
| | | this.rbDetails[i].amount = 0; |
| | | } |
| | | if (!this.rbDetails[i].taxamount) { |
| | | this.rbDetails[i].taxamount = 0; |
| | | } |
| | | this.rbDetails[i].taxedamount = |
| | | parseFloat(this.rbDetails[i].amount) - |
| | | parseFloat(this.rbDetails[i].taxamount); |
| | | targetValue += parseFloat(this.rbDetails[i].amount); // 假设每个对象中的特定值存储在'specificValue'属性下 |
| | | } |
| | | console.log(targetValue, "合计"); |
| | | this.form.pretaxcost = targetValue; |
| | | }, |
| | | //税后扣税算税前 |
| | | queenchargeSum(row, type) { |
| | | for (let i = 0; i < this.rbDetails.length; i++) { |
| | | if (!this.rbDetails[i].amount) { |
| | | this.rbDetails[i].amount = 0; |
| | | } |
| | | if (!this.rbDetails[i].taxamount) { |
| | | this.rbDetails[i].taxamount = 0; |
| | | } |
| | | this.rbDetails[i].amount = |
| | | parseFloat(this.rbDetails[i].taxamount) + |
| | | parseFloat(this.rbDetails[i].taxedamount); |
| | | } |
| | | }, |
| | | |
| | | unsave() { |
| | |
| | | Downloadfile(row) { |
| | | console.log(row); |
| | | window.location.href = this.Networkheader + "/prod-api" + row.url; |
| | | }, |
| | | //表格合计 |
| | | getSummaries(param) { |
| | | const { columns, data } = param; |
| | | const sums = []; |
| | | var columnnames = [ |
| | | "applytype", |
| | | "itemid", |
| | | // "jxrq", |
| | | "beneficiaryname", |
| | | "idcardno", |
| | | "depositbank", |
| | | "bankcardno", |
| | | "remark" |
| | | ]; |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = "合计"; |
| | | return; |
| | | } |
| | | |
| | | //去除部分字段计算 |
| | | if (columnnames.indexOf(column.property) > -1) { |
| | | 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); // 保留2位小数,解决小数合计列; |
| | | } else { |
| | | sums[index] = ""; |
| | | } |
| | | }); |
| | | return sums; |
| | | } |
| | | }, |
| | | |