| | |
| | | <el-col :span="7"> |
| | | <el-form-item label="捐献者" prop="infoid"> |
| | | <el-select v-model="form.infoid" @change="selectbaseinfo" filterable placeholder="请选择捐献者"> |
| | | <el-option v-for="item in baselist" :key="item.index" :label="item.name" |
| | | :value="item.infoid"> |
| | | <el-option v-for="item in baselist" :key="item.index" :label="item.name" :value="item.infoid"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-form-item label="出差人分类" prop="costtype"> |
| | | <el-select v-model="form.costtype" value-key="value" placeholder="请选择出差人分类" |
| | | @change="getTravelers"> |
| | | <el-select v-model="form.costtype" value-key="value" placeholder="请选择出差人分类" @change="getTravelers"> |
| | | <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" |
| | | :label="dict.label" :value="dict.value"></el-option> |
| | | </el-select> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="trafficexpense" label="交通费" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cityfee" label="市内交通费" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.cityfee" placeholder="市内交通费" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.cityfee" placeholder="市内交通费" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | ">{{ Number(scope.row.cityfee).toFixed(2) }} |
| | | ">{{ Number(scope.row.cityfee).toFixed(2) }} |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="hotelexpense" label="住宿费" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="otherexpense" label="杂费" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="foodexpenses" label="伙食费报销" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.foodexpenses" placeholder="伙食费报销" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.foodexpenses" placeholder="伙食费报销" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="foodallowance" label="伙食费补助" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="otherfeeamount" label="其他费用" align="center" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur=" |
| | | (val) => { |
| | | <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="(val) => { |
| | | sumTotalFee(); |
| | | } |
| | | " /> |
| | | " /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="departure" slot="" label="其他费用说明" align="center" width="120"> |
| | |
| | | <el-button type="text" size="mini" @click="addRow(scope.$index)">新增</el-button> |
| | | <el-button @click.native.prevent=" |
| | | deleteRow(scope.$index, applicationDetailArr, scope.row) |
| | | " type="text" size="small"> |
| | | " type="text" size="small"> |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-form-item> --> |
| | | <el-form-item label="文件上传" align="left" prop="annexfiles"> |
| | | <!-- <file-upload ref="fileUpload" :fileType=fileType :limit="1" :on-success="handleUploadSuccess"></file-upload> --> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" |
| | | multiple :limit="5" :headers="headers" :on-success=" |
| | | (response, file, fileList) => |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileList" multiple |
| | | :limit="20" :headers="headers" :on-success="(response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled='dialogType == "detail"' :on-error="handleUploadError" |
| | | " :on-preview="downFile" :disabled='dialogType == "detail"' :on-error="handleUploadError" |
| | | :on-exceed="handleExceed" :on-remove="remove" accept="image/*,.pdf"> |
| | | <el-button :disabled='dialogType == "detail"' size="small" type="primary">上传</el-button> |
| | | </el-upload> |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | deleteRow(index, rows, row) { |
| | | this.$confirm("是否确认删除?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "success", |
| | | }) |
| | | .then(() => { |
| | | |
| | | if (row.id !== null) { |
| | | delReimbursementdetail(row.id).then((res) => { |
| | | this.$modal.msgSuccess("删除成功"); |
| | | rows.splice(index, 1); |
| | | this.recountOrderNo(); |
| | | this.sumTotalFee(); |
| | | }); |
| | | } else { |
| | | rows.splice(index, 1); |
| | | this.sumTotalFee(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | this.recountOrderNo(); |
| | | } |
| | | deleteRow(index, rows, row) { |
| | | this.$confirm("是否确认删除?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "success", |
| | | }) |
| | | .catch(() => { |
| | | //几点取消的提示 |
| | | }); |
| | | .then(() => { |
| | | |
| | | if (row.id !== null) { |
| | | delReimbursementdetail(row.id).then((res) => { |
| | | this.$modal.msgSuccess("删除成功"); |
| | | rows.splice(index, 1); |
| | | this.recountOrderNo(); |
| | | this.sumTotalFee(); |
| | | }); |
| | | } else { |
| | | rows.splice(index, 1); |
| | | this.sumTotalFee(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | this.recountOrderNo(); |
| | | } |
| | | }) |
| | | .catch(() => { |
| | | //几点取消的提示 |
| | | }); |
| | | }, |
| | | //计算费用合计 |
| | | sumTotalFee() { |
| | | let allSum = 0; |
| | | try { |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | let totalFee = 0; |
| | | //计算当前报销内容费用合计 |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].trafficexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].trafficexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].cityfee))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].cityfee); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].hotelexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].hotelexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].otherexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].otherexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].foodexpenses))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].foodexpenses); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].foodallowance))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].foodallowance); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].otherfeeamount))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].otherfeeamount); |
| | | } |
| | | this.applicationDetailArr[i].total = parseFloat(totalFee).toFixed(2); |
| | | this.$set(this.applicationDetailArr, i, this.applicationDetailArr[i]); |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].total))) { |
| | | allSum += parseFloat(this.applicationDetailArr[i].total); |
| | | } |
| | | } |
| | | this.form.amountrequested = allSum.toFixed(2); |
| | | this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested); |
| | | } catch { } |
| | | }, |
| | | |
| | | }, |
| | | //计算费用合计 |
| | | sumTotalFee() { |
| | | // debugger; |
| | | let allSum = 0; |
| | | try { |
| | | for (let i = 0; i < this.applicationDetailArr.length; i++) { |
| | | let totalFee = 0; |
| | | //计算当前报销内容费用合计 |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].trafficexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].trafficexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].cityfee))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].cityfee); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].hotelexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].hotelexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].otherexpense))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].otherexpense); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].foodexpenses))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].foodexpenses); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].foodallowance))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].foodallowance); |
| | | } |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].otherfeeamount))) { |
| | | totalFee += parseFloat(this.applicationDetailArr[i].otherfeeamount); |
| | | } |
| | | this.applicationDetailArr[i].total = parseFloat(totalFee).toFixed(2); |
| | | this.$set(this.applicationDetailArr, i, this.applicationDetailArr[i]); |
| | | if (!isNaN(parseFloat(this.applicationDetailArr[i].total))) { |
| | | allSum += parseFloat(this.applicationDetailArr[i].total); |
| | | } |
| | | } |
| | | this.form.amountrequested = allSum.toFixed(2); |
| | | this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested); |
| | | } catch { } |
| | | }, |
| | | |
| | | }, |
| | | |
| | | |
| | | |
| | | } |
| | | </script> |