|
@@ -560,95 +560,95 @@
|
|
|
|
|
|
</el-row>
|
|
|
</div>
|
|
|
- <div v-if="inputForm.reimbursementType === '1'">
|
|
|
- <el-divider content-position="left">
|
|
|
- 数电发票信息
|
|
|
- <!--<el-button style="margin-left: 20px" type="primary" :disabled="method==='view' || status === 'audit' || status === 'taskFormDetail' " size="default" @click="insertEvent('invoiceReimbursement')" plain>
|
|
|
- 新增
|
|
|
- </el-button>-->
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15" >
|
|
|
- <el-col :span="24">
|
|
|
- <vxe-table
|
|
|
- border
|
|
|
- show-footer
|
|
|
- show-overflow
|
|
|
- ref="invoiceReimbursementTable"
|
|
|
- class="vxe-table-element"
|
|
|
- :data="inputForm.invoiceReimbursements"
|
|
|
- :footer-method="footerMethod1111"
|
|
|
- style="margin-left: 5em"
|
|
|
- :key="invoiceReimbursementKey"
|
|
|
- highlight-current-row
|
|
|
- :edit-config="{trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon:'_'}"
|
|
|
- :edit-rules="invoiceReimbursementRules"
|
|
|
- >
|
|
|
- <vxe-table-column field="invoiceType" title="发票类型" show-overflow="title" :edit-render="{name: '$select', options: $dictUtils.getDictList('invoice_reimbursement_type')}">
|
|
|
- <template v-slot:edit="scope">
|
|
|
- <vxe-select :disabled="true" v-model="scope.row.invoiceType" placeholder="请选择发票类型" clearable style="width: 100%;" transfer>
|
|
|
- <vxe-option
|
|
|
- v-for="item in $dictUtils.getDictList('invoice_reimbursement_type')"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </vxe-option>
|
|
|
- </vxe-select>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="invoiceProjectName" title="发票项目名" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="50" readonly="true" v-model="scope.row.invoiceProjectName" ></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="number" title="发票号" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input oninput ="value=value.replace(/\D|^/g,'')" readonly="true" maxlength="30" @change="isExict(scope.row)" v-model="scope.row.number" ></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="invoiceDate" title="开票日期" :edit-render="{}" show-overflow="title">
|
|
|
- <template v-slot:edit="scope">
|
|
|
- <vxe-input v-model="scope.row.invoiceDate" :disabled="true" type="datetime" transfer placeholder="请选择日期"></vxe-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="invoiceUnit" title="开票单位" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="50" readonly="true" v-model="scope.row.invoiceUnit" ></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="buyerName" title="购买方名称" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="50" readonly="true" v-model="scope.row.buyerName" ></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="amount" title="金额" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" readonly="true" v-model="scope.row.amount" @input="scope.row.amount = twoDecimalPlaces(scope.row.amount)" @change="countAmount(scope.row)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="taxAmount" title="税额" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" readonly="true" v-model="scope.row.taxAmount" @input="scope.row.taxAmount = twoDecimalPlaces(scope.row.taxAmount)" @change="countAmount(scope.row)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="count" title="价税合计" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input disabled="true" v-model="scope.row.count" ></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="remarks" title="备注" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="250" v-model="scope.row.remarks" ></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <!--<vxe-table-column title="操作" width="100">
|
|
|
- <template #default="scope">
|
|
|
- <el-button size="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'invoiceReimbursement')">删除</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>-->
|
|
|
- </vxe-table>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
+<!-- <div v-if="inputForm.reimbursementType === '1'">-->
|
|
|
+<!-- <el-divider content-position="left">-->
|
|
|
+<!-- 数电发票信息-->
|
|
|
+<!-- <!–<el-button style="margin-left: 20px" type="primary" :disabled="method==='view' || status === 'audit' || status === 'taskFormDetail' " size="default" @click="insertEvent('invoiceReimbursement')" plain>-->
|
|
|
+<!-- 新增-->
|
|
|
+<!-- </el-button>–>-->
|
|
|
+<!-- </el-divider>-->
|
|
|
+<!-- <el-row :gutter="15" >-->
|
|
|
+<!-- <el-col :span="24">-->
|
|
|
+<!-- <vxe-table-->
|
|
|
+<!-- border-->
|
|
|
+<!-- show-footer-->
|
|
|
+<!-- show-overflow-->
|
|
|
+<!-- ref="invoiceReimbursementTable"-->
|
|
|
+<!-- class="vxe-table-element"-->
|
|
|
+<!-- :data="inputForm.invoiceReimbursements"-->
|
|
|
+<!-- :footer-method="footerMethod1111"-->
|
|
|
+<!-- style="margin-left: 5em"-->
|
|
|
+<!-- :key="invoiceReimbursementKey"-->
|
|
|
+<!-- highlight-current-row-->
|
|
|
+<!-- :edit-config="{trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon:'_'}"-->
|
|
|
+<!-- :edit-rules="invoiceReimbursementRules"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- <vxe-table-column field="invoiceType" title="发票类型" show-overflow="title" :edit-render="{name: '$select', options: $dictUtils.getDictList('invoice_reimbursement_type')}">-->
|
|
|
+<!-- <template v-slot:edit="scope">-->
|
|
|
+<!-- <vxe-select :disabled="true" v-model="scope.row.invoiceType" placeholder="请选择发票类型" clearable style="width: 100%;" transfer>-->
|
|
|
+<!-- <vxe-option-->
|
|
|
+<!-- v-for="item in $dictUtils.getDictList('invoice_reimbursement_type')"-->
|
|
|
+<!-- :key="item.value"-->
|
|
|
+<!-- :label="item.label"-->
|
|
|
+<!-- :value="item.value">-->
|
|
|
+<!-- </vxe-option>-->
|
|
|
+<!-- </vxe-select>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="invoiceProjectName" title="发票项目名" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template #edit="scope">-->
|
|
|
+<!-- <el-input maxlength="50" readonly="true" v-model="scope.row.invoiceProjectName" ></el-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="number" title="发票号" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template #edit="scope">-->
|
|
|
+<!-- <el-input oninput ="value=value.replace(/\D|^/g,'')" readonly="true" maxlength="30" @change="isExict(scope.row)" v-model="scope.row.number" ></el-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="invoiceDate" title="开票日期" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template v-slot:edit="scope">-->
|
|
|
+<!-- <vxe-input v-model="scope.row.invoiceDate" :disabled="true" type="datetime" transfer placeholder="请选择日期"></vxe-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="invoiceUnit" title="开票单位" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template #edit="scope">-->
|
|
|
+<!-- <el-input maxlength="50" readonly="true" v-model="scope.row.invoiceUnit" ></el-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="buyerName" title="购买方名称" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template #edit="scope">-->
|
|
|
+<!-- <el-input maxlength="50" readonly="true" v-model="scope.row.buyerName" ></el-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="amount" title="金额" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template #edit="scope">-->
|
|
|
+<!-- <el-input maxlength="15" readonly="true" v-model="scope.row.amount" @input="scope.row.amount = twoDecimalPlaces(scope.row.amount)" @change="countAmount(scope.row)"></el-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="taxAmount" title="税额" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template #edit="scope">-->
|
|
|
+<!-- <el-input maxlength="15" readonly="true" v-model="scope.row.taxAmount" @input="scope.row.taxAmount = twoDecimalPlaces(scope.row.taxAmount)" @change="countAmount(scope.row)"></el-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="count" title="价税合计" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template #edit="scope">-->
|
|
|
+<!-- <el-input disabled="true" v-model="scope.row.count" ></el-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <vxe-table-column field="remarks" title="备注" :edit-render="{}" show-overflow="title">-->
|
|
|
+<!-- <template #edit="scope">-->
|
|
|
+<!-- <el-input maxlength="250" v-model="scope.row.remarks" ></el-input>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>-->
|
|
|
+<!-- <!–<vxe-table-column title="操作" width="100">-->
|
|
|
+<!-- <template #default="scope">-->
|
|
|
+<!-- <el-button size="default" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'invoiceReimbursement')">删除</el-button>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </vxe-table-column>–>-->
|
|
|
+<!-- </vxe-table>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+<!-- </div>-->
|
|
|
<!-- <ProgramPageForm ref="programPageForm" @getProgram="getProgram"></ProgramPageForm>-->
|
|
|
<CwProgramPageForm ref="cwProgramPageForm" @getProgram="getProgram"></CwProgramPageForm>
|
|
|
<CwProgramPageForm2 ref="cwProgramPageForm3" @getProgram="getProgram3"></CwProgramPageForm2>
|
|
@@ -683,7 +683,7 @@
|
|
|
// import UserSelectV2 from '@/components/userSelect'
|
|
|
import ReimbursementService from '@/api/zs/reimbursement/ReimbursementService'
|
|
|
import ReimbursementTypeService from '@/api/zs/reimbursement/ReimbursementTypeService'
|
|
|
- import InvoiceReimbursementUpLoadComponent from '@/views/common/InvoiceReimbursementUpLoadComponent'
|
|
|
+ import InvoiceReimbursementUpLoadComponent from '@/views/common/DigitalInvoiceUploadComponent'
|
|
|
import ReimbursementApprovalTypeService from '@/api/cw/reimbursementApproval/ReimbursementApprovalTypeService'
|
|
|
import UpLoadComponent from '@/views/common/UpLoadComponent'
|
|
|
// import SelectUserTree from '@/views/utils/treeUserSelect'
|
|
@@ -984,7 +984,7 @@
|
|
|
}else {
|
|
|
this.payment = '未付款'
|
|
|
}
|
|
|
- this.$refs.invoiceReimbursementUpLoadComponent.newUpload(method, this.inputForm.invoiceReimbursementFiles, 'reimbursement',300,'电子发票附件')
|
|
|
+ this.$refs.invoiceReimbursementUpLoadComponent.newUpload(method, this.inputForm.invoiceReimbursementFiles, 'reimbursement',300,'数电发票信息',null,null,null,'中审众环会计师事务所(特殊普通合伙)江苏分所')
|
|
|
this.$refs.uploadComponent.newUpload(method, this.inputForm.files, 'reimbursement')
|
|
|
if (this.commonJS.isNotEmpty(this.inputForm.purchaseId)) {
|
|
|
// this.startPur(this.inputForm.purchaseId)
|
|
@@ -1414,33 +1414,33 @@
|
|
|
// }
|
|
|
//判定附件中xml文件数量是否小于电子发票报销行数量
|
|
|
let flag1 = false
|
|
|
- if (this.commonJS.isNotEmpty(this.inputForm.invoiceReimbursements) && "1" === this.inputForm.reimbursementType) {
|
|
|
+ if (this.commonJS.isNotEmpty(this.inputForm.invoiceReimbursementFiles) && "1" === this.inputForm.reimbursementType) {
|
|
|
//获取电子报销行数
|
|
|
- let invoiceReimbursementCount = this.inputForm.invoiceReimbursements.length
|
|
|
- if(invoiceReimbursementCount>0){
|
|
|
- //获取附件信息以xml结尾的附件数量
|
|
|
- var flag = false;
|
|
|
- var countFlag = 0;
|
|
|
-
|
|
|
- for (var i=0; i<this.inputForm.invoiceReimbursementFiles.length; i++){
|
|
|
- //如果文件以xml文件结尾,则需要将该文件上传到后台进行数据处理后返回数据
|
|
|
- const spliceLength2 = this.inputForm.invoiceReimbursementFiles[i].name.lastIndexOf(".");
|
|
|
- var fileNameSuffix = this.inputForm.invoiceReimbursementFiles[i].name.slice(spliceLength2 + 1);
|
|
|
- if(fileNameSuffix === "xml" ) {
|
|
|
- flag = true;
|
|
|
- countFlag ++;
|
|
|
- }
|
|
|
- }
|
|
|
- if(!flag){
|
|
|
- this.$message.error("已填写数电发票信息,请上传对应发票的xml文件!")
|
|
|
- this.loading = false
|
|
|
- throw new Error("已填写数电发票信息,请上传对应发票的xml文件!")
|
|
|
- }
|
|
|
- }
|
|
|
+ // let invoiceReimbursementCount = this.inputForm.invoiceReimbursements.length
|
|
|
+ // if(invoiceReimbursementCount>0){
|
|
|
+ // //获取附件信息以xml结尾的附件数量
|
|
|
+ // var flag = false;
|
|
|
+ // var countFlag = 0;
|
|
|
+ //
|
|
|
+ // for (var i=0; i<this.inputForm.invoiceReimbursementFiles.length; i++){
|
|
|
+ // //如果文件以xml文件结尾,则需要将该文件上传到后台进行数据处理后返回数据
|
|
|
+ // const spliceLength2 = this.inputForm.invoiceReimbursementFiles[i].name.lastIndexOf(".");
|
|
|
+ // var fileNameSuffix = this.inputForm.invoiceReimbursementFiles[i].name.slice(spliceLength2 + 1);
|
|
|
+ // if(fileNameSuffix === "xml" ) {
|
|
|
+ // flag = true;
|
|
|
+ // countFlag ++;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // if(!flag){
|
|
|
+ // this.$message.error("已填写数电发票信息,请上传对应发票的xml文件!")
|
|
|
+ // this.loading = false
|
|
|
+ // throw new Error("已填写数电发票信息,请上传对应发票的xml文件!")
|
|
|
+ // }
|
|
|
+ // }
|
|
|
//数电发票信息不为空的时候在提交时需要再次判断看当前数电发票是否有存在其他发起或完成的报销
|
|
|
let numbers =[];
|
|
|
- for (let i = 0; i < this.inputForm.invoiceReimbursements.length; i++) {
|
|
|
- numbers.push(this.inputForm.invoiceReimbursements[i].number)
|
|
|
+ for (let i = 0; i < this.inputForm.invoiceReimbursementFiles.length; i++) {
|
|
|
+ numbers.push(this.inputForm.invoiceReimbursementFiles[i].number)
|
|
|
}
|
|
|
const decide = await this.reimbursementService.getEffectiveDataByNumbers(numbers.join(","),this.inputForm.id)
|
|
|
// .then((decide) => {
|