| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6" |
| | | ><el-form-item label="扣税金额" prop="donateno"> |
| | | ><el-form-item label="增值税" prop="donateno"> |
| | | <el-input |
| | | v-model="form.vatAmount" |
| | | :disabled="true" |
| | | placeholder="请输入增值税" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6" |
| | | ><el-form-item label="城建税" prop="donateno"> |
| | | <el-input |
| | | v-model="form.cityTaxAmount" |
| | | :disabled="true" |
| | | placeholder="请输入城建税" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="6" |
| | | ><el-form-item label="劳务税前" prop="donateno"> |
| | | <el-input |
| | | v-model="form.laborPretaxAmount" |
| | | :disabled="true" |
| | | placeholder="请输入劳务税前" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="6" |
| | | ><el-form-item label="劳务个税" prop="donateno"> |
| | | <el-input |
| | | v-model="form.taxMoney" |
| | | :disabled="true" |
| | | placeholder="请输入扣税金额" |
| | | placeholder="请输入劳务个税" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="6"> |
| | | <el-form-item label="税后金额" prop="donationcategory"> |
| | | <el-form-item label="劳务税后" prop="donationcategory"> |
| | | <el-input |
| | | v-model="form.taxedamount" |
| | | :disabled="true" |
| | | placeholder="请输入收款行号" |
| | | placeholder="请输入劳务税后" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="扣税金额" align="center" prop="taXmoney"> |
| | | <el-table-column prop="vatCost" align="center" label="增值税"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.taXmoney" |
| | | v-model="scope.row.vatCost" |
| | | :disabled="true" |
| | | placeholder="扣税金额" |
| | | placeholder="增值税" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cityTaxCost" align="center" label="城建税"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.cityTaxCost" |
| | | :disabled="true" |
| | | placeholder="城建税" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="laborPretaxCost" align="center" label="劳务税前"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.laborPretaxCost" |
| | | :disabled="true" |
| | | placeholder="劳务税前" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="劳务个税" align="center" prop="taxcost"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | v-model="scope.row.taxcost" |
| | | :disabled="true" |
| | | placeholder="劳务个税" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="taxedcost" align="center" label="税后金额"> |
| | | <el-table-column prop="taxedcost" align="center" label="劳务税后"> |
| | | <template slot-scope="scope"> |
| | | <el-input |
| | | @blur="chargeSum" |
| | | :disabled="true" |
| | | v-model="scope.row.taxedcost" |
| | | placeholder="税后金额" |
| | | placeholder="劳务税后" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taXmoney" |
| | | label="扣税金额" |
| | | prop="vatCost" |
| | | label="增值税" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="cityTaxCost" |
| | | label="城建税" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="laborPretaxCost" |
| | | label="劳务税前" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taxcost" |
| | | label="劳务个税" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="taxedcost" |
| | | label="税后金额" |
| | | label="劳务税后" |
| | | show-overflow-tooltip |
| | | > |
| | | </el-table-column> |
| | |
| | | }); |
| | | } |
| | | this.donorchargeorgans.forEach(item => { |
| | | item.taXmoney = item.pretaxcost - item.taxedcost; |
| | | item.taXmoney = item.taXmoney.toFixed(2); |
| | | this.accumulation(); |
| | | }); |
| | | if (this.form.id) { |
| | |
| | | |
| | | this.dialogVisiblepatient = false; |
| | | }, |
| | | // 计算个税 |
| | | // 计算个税(先保存当前单据,保存成功后再算税;算税成功后从后端重新加载,不再用页面旧金额回写) |
| | | calculateFn() { |
| | | if (this.form.id >= this.MaxFundTaxId) { |
| | | this.$modal.loading("正在提交,请稍候!"); |
| | | this.$modal |
| | | .confirm("即将进行算税是否已保存全部数据?") |
| | | .then(res => { |
| | | .confirm("算税前会先保存当前单据,是否继续?") |
| | | .then(() => { |
| | | this.form.serviceFunds = this.donorchargeorgans; |
| | | this.$refs["form"].validate(valid => { |
| | | if (!valid) { |
| | | this.$modal.msgError("单据校验未通过,请检查后重试"); |
| | | return; |
| | | } |
| | | this.$modal.loading("正在提交,请稍候!"); |
| | | updateFundtax(this.form).then(res0 => { |
| | | if (res0.code != 200) { |
| | | this.$modal.closeLoading(); |
| | | this.$modal.msgError(res0.msg); |
| | | return; |
| | | } |
| | | listbxiaostatistics({ |
| | | fundTaxId: Number(this.form.id), |
| | | addOrupdate: 1 |
| | | }).then(res1 => { |
| | | if (res1.code == 200) { |
| | | this.$modal.msgSuccess("计算成功"); |
| | | // 后端已回写 service_fund / service_fundtax,这里只做重新加载 |
| | | this.refreshFundtax().then(() => { |
| | | this.$modal.closeLoading(); |
| | | this.form.istax = 1; |
| | | this.form.taxedtime = this.$moment().format( |
| | | "YYYY-MM-DD HH:mm:ss" |
| | | ); |
| | | this.submitForm(); |
| | | this.$modal.msgSuccess("计算成功"); |
| | | }); |
| | | } else { |
| | | this.$modal.closeLoading(); |
| | | this.$modal.msgError(res1.msg); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | }) |
| | | |
| | | .catch(() => {}); |
| | | } else { |
| | | this.$modal.msgError("当前单据不为最新申请单"); |
| | | } |
| | | }, |
| | | // 金额合计 |
| | | // 从后端重新加载汇总单(含明细单据行)并重算合计 |
| | | refreshFundtax() { |
| | | return getFundtax(this.form.id).then(response => { |
| | | this.form = response.data; |
| | | if (this.form.serviceFunds && this.form.serviceFunds[0]) { |
| | | this.donorchargeorgans = this.form.serviceFunds; |
| | | this.donorchargeorgans.forEach((item, index) => { |
| | | item.index = index + 1; |
| | | }); |
| | | } |
| | | this.accumulation(); |
| | | return response; |
| | | }); |
| | | }, |
| | | // 金额合计(6 个金额全部取自单据上的后端金额,不再用“税前-税后”倒算) |
| | | accumulation() { |
| | | this.form.pretaxamount = this.donorchargeorgans |
| | | .reduce((acc, obj) => acc + Number(obj.pretaxcost), 0) |
| | | .reduce((acc, obj) => acc + Number(obj.pretaxcost || 0), 0) |
| | | .toFixed(2); |
| | | this.form.vatAmount = this.donorchargeorgans |
| | | .reduce((acc, obj) => acc + Number(obj.vatCost || 0), 0) |
| | | .toFixed(2); |
| | | this.form.cityTaxAmount = this.donorchargeorgans |
| | | .reduce((acc, obj) => acc + Number(obj.cityTaxCost || 0), 0) |
| | | .toFixed(2); |
| | | this.form.laborPretaxAmount = this.donorchargeorgans |
| | | .reduce((acc, obj) => acc + Number(obj.laborPretaxCost || 0), 0) |
| | | .toFixed(2); |
| | | this.form.taxMoney = this.donorchargeorgans |
| | | .reduce((acc, obj) => acc + Number(obj.taXmoney), 0) |
| | | .reduce((acc, obj) => acc + Number(obj.taxcost || 0), 0) |
| | | .toFixed(2); |
| | | this.form.taxedamount = this.donorchargeorgans |
| | | .reduce((acc, obj) => acc + Number(obj.taxedcost), 0) |
| | | .reduce((acc, obj) => acc + Number(obj.taxedcost || 0), 0) |
| | | .toFixed(2); |
| | | }, |
| | | // 多选框选中数据 |
| | |
| | | this.title = "专家费汇总单编辑"; |
| | | getFundtax(this.curId).then(response => { |
| | | this.form = response.data; |
| | | if (this.form.serviceFunds[0]) { |
| | | if (this.form.serviceFunds && this.form.serviceFunds[0]) { |
| | | this.donorchargeorgans = this.form.serviceFunds; |
| | | this.donorchargeorgans.forEach((item, index) => { |
| | | item.taXmoney = item.pretaxcost - item.taxedcost; |
| | | item.taXmoney = item.taXmoney.toFixed(2); |
| | | item.index = index + 1; |
| | | this.accumulation(); |
| | | }); |
| | | this.accumulation(); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | this.title = "查看专家费汇总单"; |
| | | getFundtax(this.curId).then(response => { |
| | | this.form = response.data; |
| | | if (this.form.serviceFunds[0]) { |
| | | if (this.form.serviceFunds && this.form.serviceFunds[0]) { |
| | | this.donorchargeorgans = this.form.serviceFunds; |
| | | this.donorchargeorgans.forEach((item, index) => { |
| | | item.taXmoney = item.pretaxcost - item.taxedcost; |
| | | item.taXmoney = item.taXmoney.toFixed(2); |
| | | item.index = index + 1; |
| | | this.accumulation(); |
| | | }); |
| | | this.accumulation(); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | if (this.form.id != null) { |
| | | updateFundtax(this.form).then(res1 => { |
| | | if (res1.code == 200) { |
| | | console.log(3); |
| | | this.$modal.msgSuccess("保存成功!"); |
| | | getFundtax(this.form.id).then(response => { |
| | | this.form = response.data; |
| | | if (this.form.serviceFunds[0]) { |
| | | this.donorchargeorgans = this.form.serviceFunds; |
| | | this.donorchargeorgans.forEach((item, index) => { |
| | | item.taXmoney = item.pretaxcost - item.taxedcost; |
| | | item.taXmoney = item.taXmoney.toFixed(2); |
| | | item.index = index + 1; |
| | | this.accumulation(); |
| | | }); |
| | | } |
| | | }); |
| | | this.refreshFundtax().then(() => { |
| | | this.$modal.closeLoading(); |
| | | }); |
| | | } else { |
| | | this.$modal.closeLoading(); |
| | | this.$modal.msgError(res1.msg); |
| | |
| | | addFundtax(this.form).then(response => { |
| | | if (response.code == 200) { |
| | | this.$modal.msgSuccess("新增成功!"); |
| | | getFundtax(response.data.fundTaxId).then(res => { |
| | | this.form = res.data; |
| | | if (this.form.serviceFunds[0]) { |
| | | this.donorchargeorgans = this.form.serviceFunds; |
| | | this.donorchargeorgans.forEach((item, index) => { |
| | | item.taXmoney = item.pretaxcost - item.taxedcost; |
| | | item.taXmoney = item.taXmoney.toFixed(2); |
| | | item.index = index + 1; |
| | | |
| | | this.accumulation(); |
| | | }); |
| | | } |
| | | }); |
| | | this.form.id = response.data.fundTaxId; |
| | | this.refreshFundtax().then(() => { |
| | | this.$modal.closeLoading(); |
| | | }); |
| | | } else { |
| | | this.$modal.msgError(response.msg); |
| | | this.$modal.closeLoading(); |