|
|
@@ -76,705 +76,10 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <div v-if="inputForm.sourceType === '5'">
|
|
|
- <el-divider content-position="left"><i class="el-icon-document"></i>
|
|
|
- 采购详情
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15">
|
|
|
- <vxe-table border show-footer show-overflow :footer-method="footerMethod555" ref="preTable"
|
|
|
- class="vxe-table-element" :data="inputForm.preList" style="margin-left: 5em" highlight-current-row>
|
|
|
- <vxe-table-column field="purchaser" title="采购人" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择采购人', trigger: 'blur' }]"></vxe-table-column>
|
|
|
- <vxe-table-column field="procurementOffice" title="采购部门" :edit-render="{}"
|
|
|
- show-overflow="title"></vxe-table-column>
|
|
|
- <vxe-table-column field="procurementType" title="采购类型" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择采购类型', trigger: 'blur' }]"></vxe-table-column>
|
|
|
- <vxe-table-column field="tradeName" title="商品名称" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请填写商品名称', trigger: 'blur' }]"></vxe-table-column>
|
|
|
- <vxe-table-column field="tradePrice" title="商品单价(元)" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请输入商品单价', trigger: 'blur' }]"></vxe-table-column>
|
|
|
- <vxe-table-column field="tradeNumber" title="商品数量" :edit-render="{}"
|
|
|
- show-overflow="title"></vxe-table-column>
|
|
|
- <vxe-table-column field="priceSum" title="商品总价" :edit-render="{}" show-overflow="title"></vxe-table-column>
|
|
|
- <vxe-table-column field="company" title="单位" :edit-render="{}" show-overflow="title"></vxe-table-column>
|
|
|
- <vxe-table-column field="remarks" title="备注" :edit-render="{}" show-overflow="title"></vxe-table-column>
|
|
|
- <vxe-table-column title="操作">
|
|
|
- <template #default="scope">
|
|
|
- <el-button size="default" type="primary" :disabled="false"
|
|
|
- @click="seeFileInfo(scope.$rowIndex)">文件详情</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-table>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div v-if="inputForm.sourceType === '1'">
|
|
|
- <el-divider content-position="left"><i class="el-icon-document"></i>
|
|
|
- 兴光项目报销详情
|
|
|
- <el-button size="default" style="margin-left: 20px" type="primary"
|
|
|
- :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @click="insertEvent('detail')" plain>
|
|
|
- 新增
|
|
|
- </el-button>
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15">
|
|
|
- <el-col :span="24">
|
|
|
- <vxe-table border show-footer show-overflow :footer-method="footerMethod" ref="detailTable"
|
|
|
- class="vxe-table-element" :data="inputForm.detailInfos" style="margin-left: 5em" :key="detailKey"
|
|
|
- highlight-current-row
|
|
|
- :edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
|
|
|
- :edit-rules="validRules" :row-config="{ keyField: 'uniqueId' }"
|
|
|
- :expand-config="{ expandAll: false, accordion: false, toggleMethod: handleExpand, expandRowKeys: handleDefaultExpand() }">
|
|
|
- <vxe-column type="expand" width="80">
|
|
|
- <template #content="{ row, rowIndex }">
|
|
|
- <InvoiceReimbursementUpLoadComponent v-if="row.reimbursementType == 1"
|
|
|
- @changeConfirmList="changeConfirmList" @handleCount="handleCount"
|
|
|
- @handleUploadSuccess="handleUploadSuccess" :ref="row.uniqueId + 'Upload'"
|
|
|
- v-show="'1' === this.inputForm.reimbursementType">
|
|
|
- </InvoiceReimbursementUpLoadComponent>
|
|
|
- <UpLoadComponent @handleUploadSuccess="handleUploadSuccess" v-if="row.reimbursementType == 0"
|
|
|
- :ref="row.uniqueId + 'UploadFiles'">
|
|
|
- </UpLoadComponent>
|
|
|
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.userName" @focus="userPullListForm(scope.$rowIndex)"></el-input>
|
|
|
- <!-- <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="reimbursementType" title="报销类型" :edit-render="{}" show-overflow="title">
|
|
|
- <template #default="{ row }">
|
|
|
- <span>{{ $dictUtils.getDictLabel('reimbursement_type', row.reimbursementType,
|
|
|
- '') }}</span>
|
|
|
- </template>
|
|
|
- <template #edit="{ row }">
|
|
|
- <vxe-select :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @change="handleChangeType" v-model="row.reimbursementType" placeholder="请选择报销类型" transfer>
|
|
|
- <vxe-option v-for="item in $dictUtils.getDictList('reimbursement_type')" :key="item.value"
|
|
|
- :value="item.value" :label="item.label"></vxe-option>
|
|
|
- </vxe-select>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.typeName"
|
|
|
- @focus="typePullForm(scope.$rowIndex, scope.row.deptId)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName"
|
|
|
- @focus="openProgramPageForm(scope.$rowIndex, scope.row)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <!-- <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}">-->
|
|
|
- <!-- <template v-slot:edit="scope">-->
|
|
|
- <!-- <el-input :readonly="true" v-model="scope.row.reportNumber" @focus="openReportNoPageForm(scope.$rowIndex, scope.row)"></el-input>-->
|
|
|
- <!-- </template>-->
|
|
|
- <!-- </vxe-table-column>-->
|
|
|
- <vxe-table-column field="number" title="费用(元)" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number"
|
|
|
- @input="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.receiptNumber" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.content"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column title="操作" width="180">
|
|
|
- <template #default="scope">
|
|
|
- <el-button size="default" @click="uploadFile(scope.row, scope.$rowIndex,)"
|
|
|
- type="primary">上传</el-button>
|
|
|
- <el-button size="default" type="danger"
|
|
|
- @click="removeEvent(scope.row, scope.$rowIndex, 'detail')">删除</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-table>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div v-if="inputForm.sourceType === '2'">
|
|
|
- <el-divider content-position="left"><i class="el-icon-document"></i>
|
|
|
- 合同报销详情
|
|
|
- <el-button size="default" style="margin-left: 20px" type="primary"
|
|
|
- :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @click="insertEvent('contract_detail')" plain>
|
|
|
- 新增
|
|
|
- </el-button>
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15">
|
|
|
- <vxe-table border show-footer show-overflow :footer-method="footerMethod" ref="detailTableContract"
|
|
|
- :key="detailKeyContract" class="vxe-table-element" :data="inputForm.detailInfoContracts"
|
|
|
- style="margin-left: 5em" highlight-current-row
|
|
|
- :edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
|
|
|
- :edit-rules="validRules">
|
|
|
- <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.userName" @focus="userPullListForm2(scope.$rowIndex)"></el-input>
|
|
|
- <!-- <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.typeName"
|
|
|
- @focus="typePullForm2(scope.$rowIndex, scope.row.deptId)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="contractName" title="报销合同" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销合同', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.contractName"
|
|
|
- @focus="openContractForm(scope.$rowIndex, scope.row)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <!-- <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}">-->
|
|
|
- <!-- <template v-slot:edit="scope">-->
|
|
|
- <!-- <el-input :readonly="true" v-model="scope.row.reportNumber" @focus="openReportNoPageForm(scope.$rowIndex, scope.row)"></el-input>-->
|
|
|
- <!-- </template>-->
|
|
|
- <!-- </vxe-table-column>-->
|
|
|
- <vxe-table-column field="number" title="费用(元)" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number"
|
|
|
- @input="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.receiptNumber" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.content"></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, 'contract_detail')">删除</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-table>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div v-if="inputForm.sourceType === '3'">
|
|
|
- <el-divider content-position="left"><i class="el-icon-document"></i>
|
|
|
- 兴光报告报销详情
|
|
|
- <el-button size="default" style="margin-left: 20px" type="primary"
|
|
|
- :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @click="insertEvent('report_detail')" plain>
|
|
|
- 新增
|
|
|
- </el-button>
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15">
|
|
|
- <el-col :span="24">
|
|
|
- <vxe-table border show-footer show-overflow :footer-method="footerMethod" ref="detailTableReport"
|
|
|
- class="vxe-table-element" :data="inputForm.detailInfoReports" style="margin-left: 5em"
|
|
|
- :key="detailKeyReport" highlight-current-row
|
|
|
- :edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
|
|
|
- :edit-rules="validRules" :row-config="{ keyField: 'uniqueId' }"
|
|
|
- :expand-config="{ expandAll: false, accordion: false, toggleMethod: handleExpand, expandRowKeys: handleDefaultExpand() }">
|
|
|
- <vxe-column type="expand" width="80">
|
|
|
- <template #content="{ row, rowIndex }">
|
|
|
- <InvoiceReimbursementUpLoadComponent v-if="row.reimbursementType == 1"
|
|
|
- @changeConfirmList="changeConfirmList" @handleCount="handleCount"
|
|
|
- @handleUploadSuccess="handleUploadSuccess" :ref="row.uniqueId + 'Upload'"
|
|
|
- v-show="'1' === this.inputForm.reimbursementType">
|
|
|
- </InvoiceReimbursementUpLoadComponent>
|
|
|
- <UpLoadComponent @handleUploadSuccess="handleUploadSuccess" v-if="row.reimbursementType == 0"
|
|
|
- :ref="row.uniqueId + 'UploadFiles'">
|
|
|
- </UpLoadComponent>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.userName" @focus="userPullListForm3(scope.$rowIndex)"></el-input>
|
|
|
- <!-- <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="reimbursementType" title="报销类型" :edit-render="{}" show-overflow="title">
|
|
|
- <template #default="{ row }">
|
|
|
- <span>{{ $dictUtils.getDictLabel('reimbursement_type', row.reimbursementType,
|
|
|
- '') }}</span>
|
|
|
- </template>
|
|
|
- <template #edit="{ row }">
|
|
|
- <vxe-select :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @change="handleChangeType" v-model="row.reimbursementType" placeholder="请选择报销类型" transfer>
|
|
|
- <vxe-option v-for="item in $dictUtils.getDictList('reimbursement_type')" :key="item.value"
|
|
|
- :value="item.value" :label="item.label"></vxe-option>
|
|
|
- </vxe-select>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.typeName"
|
|
|
- @focus="typePullForm3(scope.$rowIndex, scope.row.deptId)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName"
|
|
|
- @focus="openProgramPageForm3(scope.$rowIndex, scope.row)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <!-- <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}">-->
|
|
|
- <!-- <template v-slot:edit="scope">-->
|
|
|
- <!-- <el-input :readonly="true" v-model="scope.row.reportNumber" @focus="openReportNoPageForm(scope.$rowIndex, scope.row)"></el-input>-->
|
|
|
- <!-- </template>-->
|
|
|
- <!-- </vxe-table-column>-->
|
|
|
- <vxe-table-column field="number" title="费用(元)" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number"
|
|
|
- @input="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.receiptNumber" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.content"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column title="操作" width="180">
|
|
|
- <template #default="scope">
|
|
|
- <el-button size="default" @click="uploadFile(scope.row, scope.$rowIndex,)"
|
|
|
- type="primary">上传</el-button>
|
|
|
- <el-button size="default" type="danger"
|
|
|
- @click="removeEvent(scope.row, scope.$rowIndex, 'report_detail')">删除</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-table>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div v-if="inputForm.sourceType === '4'">
|
|
|
- <el-divider content-position="left"><i class="el-icon-document"></i>
|
|
|
- 其他报销详情
|
|
|
- <el-button size="default" style="margin-left: 20px" type="primary"
|
|
|
- :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @click="insertEvent('others')" plain>
|
|
|
- 新增
|
|
|
- </el-button>
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15">
|
|
|
- <el-col :span="24">
|
|
|
- <vxe-table border show-footer show-overflow :footer-method="footerMethod" ref="detailTableOthers"
|
|
|
- class="vxe-table-element" :data="inputForm.detailInfoOthers" style="margin-left: 5em"
|
|
|
- :key="detailKeyOthers" highlight-current-row
|
|
|
- :edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
|
|
|
- :edit-rules="validRules" :row-config="{ keyField: 'uniqueId' }"
|
|
|
- :expand-config="{ expandAll: false, accordion: false, toggleMethod: handleExpand, expandRowKeys: handleDefaultExpand() }">
|
|
|
- <vxe-column type="expand" width="80">
|
|
|
- <template #content="{ row, rowIndex }">
|
|
|
- <InvoiceReimbursementUpLoadComponent v-if="row.reimbursementType == 1"
|
|
|
- @changeConfirmList="changeConfirmList" @handleCount="handleCount"
|
|
|
- @handleUploadSuccess="handleUploadSuccess" :ref="row.uniqueId + 'Upload'"
|
|
|
- v-show="'1' === this.inputForm.reimbursementType">
|
|
|
- </InvoiceReimbursementUpLoadComponent>
|
|
|
- <UpLoadComponent @handleUploadSuccess="handleUploadSuccess" v-if="row.reimbursementType == 0"
|
|
|
- :ref="row.uniqueId + 'UploadFiles'">
|
|
|
- </UpLoadComponent>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.userName" @focus="userPullListForm4(scope.$rowIndex)"></el-input>
|
|
|
- <!-- <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="reimbursementType" title="报销类型" :edit-render="{}" show-overflow="title">
|
|
|
- <template #default="{ row }">
|
|
|
- <span>{{ $dictUtils.getDictLabel('reimbursement_type', row.reimbursementType,
|
|
|
- '') }}</span>
|
|
|
- </template>
|
|
|
- <template #edit="{ row }">
|
|
|
- <vxe-select :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @change="handleChangeType" v-model="row.reimbursementType" placeholder="请选择报销类型" transfer>
|
|
|
- <vxe-option v-for="item in $dictUtils.getDictList('reimbursement_type')" :key="item.value"
|
|
|
- :value="item.value" :label="item.label"></vxe-option>
|
|
|
- </vxe-select>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.typeName"
|
|
|
- @focus="typePullForm4(scope.$rowIndex, scope.row.deptId)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName"
|
|
|
- @focus="openProgramPageForm4(scope.$rowIndex, scope.row)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <!-- <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}">-->
|
|
|
- <!-- <template v-slot:edit="scope">-->
|
|
|
- <!-- <el-input :readonly="true" v-model="scope.row.reportNumber" @focus="openReportNoPageForm(scope.$rowIndex, scope.row)"></el-input>-->
|
|
|
- <!-- </template>-->
|
|
|
- <!-- </vxe-table-column>-->
|
|
|
- <vxe-table-column field="number" title="费用(元)" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number"
|
|
|
- @input="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.receiptNumber" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.content"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column title="操作" width="180">
|
|
|
- <template #default="scope">
|
|
|
- <el-button size="default" @click="uploadFile(scope.row, scope.$rowIndex,)"
|
|
|
- type="primary">上传</el-button>
|
|
|
- <el-button size="default" type="danger"
|
|
|
- @click="removeEvent(scope.row, scope.$rowIndex, 'others')">删除</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-table>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div v-if="inputForm.sourceType === '5'">
|
|
|
- <el-divider content-position="left"><i class="el-icon-document"></i>
|
|
|
- 采购报销详情
|
|
|
- <el-button size="default" style="margin-left: 20px" type="primary"
|
|
|
- :disabled="method === 'view' || this.formReadOnly" @click="insertEvent('procured')" plain>
|
|
|
- 新增
|
|
|
- </el-button>
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15">
|
|
|
- <vxe-table border show-footer show-overflow :footer-method="footerMethod" ref="detailTableProcured"
|
|
|
- class="vxe-table-element" :data="inputForm.detailInfoProcured" style="margin-left: 5em"
|
|
|
- :key="detailKeyProcured" highlight-current-row
|
|
|
- :edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
|
|
|
- :edit-rules="validRules">
|
|
|
- <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.userName" @focus="userPullListForm5(scope.$rowIndex)"></el-input>
|
|
|
- <!-- <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.typeName"
|
|
|
- @focus="typePullForm5(scope.$rowIndex, scope.row.deptId)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="projectName" title="报销项目" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销项目', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName"
|
|
|
- @focus="openProgramPageForm5(scope.$rowIndex, scope.row)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <!-- <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}">-->
|
|
|
- <!-- <template v-slot:edit="scope">-->
|
|
|
- <!-- <el-input :readonly="true" v-model="scope.row.reportNumber" @focus="openReportNoPageForm(scope.$rowIndex, scope.row)"></el-input>-->
|
|
|
- <!-- </template>-->
|
|
|
- <!-- </vxe-table-column>-->
|
|
|
- <vxe-table-column field="number" title="费用(元)" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number"
|
|
|
- @input="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.receiptNumber" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.content"></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, 'procured')">删除</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-table>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div v-if="inputForm.sourceType === '8'">
|
|
|
- <el-divider content-position="left"><i class="el-icon-document"></i>
|
|
|
- 中审项目报销详情
|
|
|
- <el-button size="default" style="margin-left: 20px" type="primary"
|
|
|
- :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @click="insertEvent('zs_project_detail')" plain>
|
|
|
- 新增
|
|
|
- </el-button>
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15">
|
|
|
- <el-col :span="24">
|
|
|
- <vxe-table border show-footer show-overflow :footer-method="footerMethod" ref="detailTableProject"
|
|
|
- class="vxe-table-element" :data="inputForm.detailInfoProject" style="margin-left: 5em"
|
|
|
- :key="detailKeyProject" highlight-current-row
|
|
|
- :edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }"
|
|
|
- :edit-rules="validRules" :tooltip-config="{
|
|
|
- enterable: true
|
|
|
- }" :row-config="{ keyField: 'uniqueId' }"
|
|
|
- :expand-config="{ expandAll: false, accordion: false, toggleMethod: handleExpand, expandRowKeys: handleDefaultExpand() }">
|
|
|
- <vxe-column type="expand" width="80">
|
|
|
- <template #content="{ row, rowIndex }">
|
|
|
- <InvoiceReimbursementUpLoadComponent v-if="row.reimbursementType == 1"
|
|
|
- @changeConfirmList="changeConfirmList" @handleCount="handleCount"
|
|
|
- @handleUploadSuccess="handleUploadSuccess" :ref="row.uniqueId + 'Upload'"
|
|
|
- v-show="'1' === this.inputForm.reimbursementType">
|
|
|
- </InvoiceReimbursementUpLoadComponent>
|
|
|
- <UpLoadComponent @handleUploadSuccess="handleUploadSuccess" v-if="row.reimbursementType == 0"
|
|
|
- :ref="row.uniqueId + 'UploadFiles'">
|
|
|
- </UpLoadComponent>
|
|
|
- </template>
|
|
|
- </vxe-column>
|
|
|
- <vxe-table-column field="userName" title="报销人" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销人', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.userName" @focus="userPullListForm8(scope.$rowIndex)"></el-input>
|
|
|
- <!-- <UserSelectV2 :limit='1' :userName="scope.row.userName" @getValue='(value, label) => {scope.row.userName = label}'></UserSelectV2>-->
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="deptName" title="报销部门" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input :disabled='true' v-model="scope.row.deptName"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="reimbursementType" title="报销类型" :edit-render="{}" show-overflow="title">
|
|
|
- <template #default="{ row }">
|
|
|
- <span>{{ $dictUtils.getDictLabel('reimbursement_type', row.reimbursementType,
|
|
|
- '') }}</span>
|
|
|
- </template>
|
|
|
- <template #edit="{ row }">
|
|
|
- <vxe-select :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @change="handleChangeType" v-model="row.reimbursementType" placeholder="请选择报销类型" transfer>
|
|
|
- <vxe-option v-for="item in $dictUtils.getDictList('reimbursement_type')" :key="item.value"
|
|
|
- :value="item.value" :label="item.label"></vxe-option>
|
|
|
- </vxe-select>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="typeName" title="报销类别" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请选择报销类别', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.typeName"
|
|
|
- @focus="typePullForm8(scope.$rowIndex, scope.row.deptId)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="projectName" title="报销详情" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请填写报销详情', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.projectName"
|
|
|
- @focus="openProgramPageForm8(scope.$rowIndex, scope.row)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-colgroup title="发票号和立项号至少填写一项" header-align="center">
|
|
|
- <vxe-table-column field="invoiceNumber" title="发票号" :edit-render="{}" show-overflow="title">
|
|
|
- <template #header>
|
|
|
- <i class="vxe-cell--required-icon"></i>发票号
|
|
|
- </template>
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.invoiceNumber"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="projectApprovalNumber" title="立项号" :edit-render="{}" show-overflow="title">
|
|
|
- <template #header>
|
|
|
- <i class="vxe-cell--required-icon"></i>立项号
|
|
|
- </template>
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.projectApprovalNumber"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-colgroup>
|
|
|
- <!-- <vxe-table-column field="reportNumber" title="报告号" :edit-render="{}">-->
|
|
|
- <!-- <template v-slot:edit="scope">-->
|
|
|
- <!-- <el-input :readonly="true" v-model="scope.row.reportNumber" @focus="openReportNoPageForm(scope.$rowIndex, scope.row)"></el-input>-->
|
|
|
- <!-- </template>-->
|
|
|
- <!-- </vxe-table-column>-->
|
|
|
- <vxe-table-column field="number" title="费用(元)" :edit-render="{}" show-overflow="title"
|
|
|
- :rules="[{ required: true, message: '请输入费用', trigger: 'blur' }]">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" v-model="scope.row.number"
|
|
|
- @input="scope.row.number = twoDecimalPlaces(scope.row.number)"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.receiptNumber" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="days" title="出差天数" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.days" oninput="value=value.replace(/\D|^0/g,'')"
|
|
|
- maxlength="10"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="content" title="内容" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input v-model="scope.row.content"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column title="操作" width="180">
|
|
|
- <template #default="scope">
|
|
|
- <el-button size="default" @click="uploadFile(scope.row, scope.$rowIndex,)"
|
|
|
- type="primary">上传</el-button>
|
|
|
- <el-button size="default" type="danger"
|
|
|
- @click="removeEvent(scope.row, scope.$rowIndex, 'zs_project_detail')">删除</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-table>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div v-if="inputForm.reimbursementType === '0'">
|
|
|
- <el-divider content-position="left"><i class="el-icon-document"></i>
|
|
|
- 专用发票信息
|
|
|
- <el-button size="default" style="margin-left: 10px" type="primary"
|
|
|
- :disabled="method === 'view' || status === 'audit' || status === 'taskFormDetail'"
|
|
|
- @click="insertEvent('amount')" plain>
|
|
|
- 新增
|
|
|
- </el-button>
|
|
|
- </el-divider>
|
|
|
- <el-row :gutter="15">
|
|
|
- <el-col :span="24">
|
|
|
- <vxe-table border show-overflow ref="amountTable" class="vxe-table-element" :data="inputForm.amountInfos"
|
|
|
- style="margin-left: 5em" :key="amountKey" highlight-current-row
|
|
|
- :edit-config="{ trigger: 'click', mode: 'row', showStatus: true, autoClear: true, icon: '_' }">
|
|
|
- <vxe-table-column field="code" title="发票代码" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input oninput="value=value.replace(/\D|^/g,'')" maxlength="20"
|
|
|
- v-model="scope.row.code"></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,'')" maxlength="8" @change="isExict(scope.row)"
|
|
|
- v-model="scope.row.number"></el-input>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- <vxe-table-column field="amount" title="金额" :edit-render="{}" show-overflow="title">
|
|
|
- <template #edit="scope">
|
|
|
- <el-input maxlength="15" 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" 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 title="操作" width="100">
|
|
|
- <template #default="scope">
|
|
|
- <el-button size="default" type="danger"
|
|
|
- @click="removeEvent(scope.row, scope.$rowIndex, 'amount')">删除</el-button>
|
|
|
- </template>
|
|
|
- </vxe-table-column>
|
|
|
- </vxe-table>
|
|
|
- </el-col>
|
|
|
+ <ReimbursementComponent ref="reimbursementComponent">
|
|
|
+ </ReimbursementComponent>
|
|
|
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
<!-- <div v-if="inputForm.reimbursementType === '1'">-->
|
|
|
<!-- <el-divider content-position="left">-->
|
|
|
<!-- 数电发票信息-->
|
|
|
@@ -897,7 +202,7 @@
|
|
|
<!-- <InvoiceReimbursementUpLoadComponent ref="invoiceReimbursementUpLoadComponent"
|
|
|
@changeConfirmList="changeConfirmList" v-show="'1' === this.inputForm.reimbursementType">
|
|
|
</InvoiceReimbursementUpLoadComponent> -->
|
|
|
- <!-- <UpLoadComponent ref="uploadComponent"></UpLoadComponent> -->
|
|
|
+ <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
|
|
|
<WorkContractChooseCom ref="workContractChooseCom" @getContract="getContract"></WorkContractChooseCom>
|
|
|
<ReportNoChooseRadio ref="reportNoChooseRadio" @getWorkClientRadioChoose="getWorkClientChoose2">
|
|
|
</ReportNoChooseRadio>
|
|
|
@@ -913,7 +218,7 @@ import ReimbursementService from '@/api/zs/reimbursement/ReimbursementService'
|
|
|
import ReimbursementTypeService from '@/api/zs/reimbursement/ReimbursementTypeService'
|
|
|
import InvoiceReimbursementUpLoadComponent from '@/views/common/NewDigitalInvoiceUploadComponent'
|
|
|
import ReimbursementApprovalTypeService from '@/api/cw/reimbursementApproval/ReimbursementApprovalTypeService'
|
|
|
-import UpLoadComponent from '@/views/common/NewUpLoadComponent'
|
|
|
+import UpLoadComponent from '@/views/common/UpLoadComponent'
|
|
|
// import SelectUserTree from '@/views/utils/treeUserSelect'
|
|
|
// import SelectTree from '@/components/treeSelect/treeSelect.vue'
|
|
|
import XEUtils from 'xe-utils'
|
|
|
@@ -932,6 +237,7 @@ import processService from '@/api/flowable/processService'
|
|
|
// import MaterialManagementService from '@/api/materialManagement/MaterialManagementService'
|
|
|
//import MaterialManagementDialog from '../../../'
|
|
|
import userService from '@/api/sys/UserService'
|
|
|
+import ReimbursementComponent from '@/views/common/reimbursement/ReimbursementComponent.vue'
|
|
|
export default {
|
|
|
props: {
|
|
|
businessId: {
|
|
|
@@ -1111,6 +417,7 @@ export default {
|
|
|
WorkContractChooseCom,
|
|
|
// PurchaseChooseForm,
|
|
|
// MaterialManagementDialog
|
|
|
+ ReimbursementComponent
|
|
|
},
|
|
|
computed: {
|
|
|
bus: {
|
|
|
@@ -1153,6 +460,9 @@ export default {
|
|
|
},
|
|
|
getUpload() {
|
|
|
},
|
|
|
+ initReimbursementComponent() {
|
|
|
+ this.$refs.reimbursementComponent.initComponent("reimbursement", "zs", "中审众环会计师事务所(特殊普通合伙)江苏分所", this.inputForm, this.isConfirm, this.status)
|
|
|
+ },
|
|
|
init(method, id) {
|
|
|
this.method = method
|
|
|
this.inputForm = {
|
|
|
@@ -1194,7 +504,7 @@ export default {
|
|
|
this.loading = true
|
|
|
this.$refs.inputForm.resetFields()
|
|
|
// this.$refs.invoiceReimbursementUpLoadComponent.clearUpload()
|
|
|
- // this.$refs.uploadComponent.clearUpload()
|
|
|
+ this.$refs.uploadComponent.clearUpload()
|
|
|
this.reimbursementService.findById(this.inputForm.id).then((data) => {
|
|
|
if (this.status === 'audit' || this.status === 'taskFormDetail') {
|
|
|
method = 'view'
|
|
|
@@ -1229,7 +539,7 @@ export default {
|
|
|
this.payment = '未付款'
|
|
|
}
|
|
|
// this.$refs.invoiceReimbursementUpLoadComponent.newUpload(method, this.inputForm.invoiceReimbursementFiles, 'reimbursement', 300, '数电发票信息', null, null, null, '中审众环会计师事务所(特殊普通合伙)江苏分所')
|
|
|
- // this.$refs.uploadComponent.newUpload(method, this.inputForm.files, 'reimbursement')
|
|
|
+ this.$refs.uploadComponent.newUpload(method, this.inputForm.files, 'reimbursement')
|
|
|
if (this.commonJS.isNotEmpty(this.inputForm.purchaseId)) {
|
|
|
// this.startPur(this.inputForm.purchaseId)
|
|
|
}
|
|
|
@@ -1246,6 +556,7 @@ export default {
|
|
|
if (this.status == "startAndHold" || this.method == "add") {
|
|
|
this.isConfirm = 3
|
|
|
}
|
|
|
+ this.initReimbursementComponent()
|
|
|
})
|
|
|
this.handleTableInfo(this.inputForm.sourceType)
|
|
|
// 获取文件确认状态
|
|
|
@@ -1260,11 +571,11 @@ export default {
|
|
|
})
|
|
|
this.loading = false
|
|
|
})
|
|
|
- // if (method !== 'edit' && method !== 'view') {
|
|
|
- // this.$refs.invoiceReimbursementUpLoadComponent.newUpload(method, [], 'reimbursement')
|
|
|
- // this.$refs.uploadComponent.newUpload(method, [], 'reimbursement')
|
|
|
- // this.loading = false
|
|
|
- // }
|
|
|
+ if (method !== 'edit' && method !== 'view') {
|
|
|
+ // this.$refs.invoiceReimbursementUpLoadComponent.newUpload(method, [], 'reimbursement')
|
|
|
+ this.$refs.uploadComponent.newUpload(method, [], 'reimbursement')
|
|
|
+ this.loading = false
|
|
|
+ }
|
|
|
userService.isZj().then((data) => {
|
|
|
this.isZj = data
|
|
|
})
|
|
|
@@ -1285,10 +596,10 @@ export default {
|
|
|
// this.loading = false
|
|
|
// return
|
|
|
// }
|
|
|
- // if (this.$refs.uploadComponent.checkProgress()) {
|
|
|
- // this.loading = false
|
|
|
- // return
|
|
|
- // }
|
|
|
+ if (this.$refs.uploadComponent.checkProgress()) {
|
|
|
+ this.loading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
if (this.commonJS.isEmpty(this.inputForm.invoiceReimbursementFiles)) {
|
|
|
this.inputForm.invoiceReimbursementFiles = []
|
|
|
}
|
|
|
@@ -1298,10 +609,9 @@ export default {
|
|
|
this.dataFiltering()
|
|
|
this.inputForm.id = this.businessId
|
|
|
// this.inputForm.invoiceReimbursementFiles = this.$refs.invoiceReimbursementUpLoadComponent.getDataList()
|
|
|
- // this.inputForm.files = this.$refs.uploadComponent.getDataList()
|
|
|
+ this.inputForm.files = this.$refs.uploadComponent.getDataList()
|
|
|
this.reimbursementService.save(this.inputForm).then((data) => {
|
|
|
this.close()
|
|
|
- console.log("22222222222222222");
|
|
|
this.$message.success(data)
|
|
|
this.$emit('refreshDataList')
|
|
|
this.loading = false
|
|
|
@@ -1409,7 +719,7 @@ export default {
|
|
|
this.inputForm.amountInfos = []
|
|
|
this.inputForm.invoiceReimbursements = []
|
|
|
// this.$refs.invoiceReimbursementUpLoadComponent.clearUpload()
|
|
|
- // this.$refs.uploadComponent.clearUpload()
|
|
|
+ this.$refs.uploadComponent.clearUpload()
|
|
|
this.visible = false
|
|
|
},
|
|
|
// 删除
|
|
|
@@ -1589,10 +899,10 @@ export default {
|
|
|
// this.loading = false
|
|
|
// return
|
|
|
// }
|
|
|
- // if (this.$refs.uploadComponent.checkProgress()) {
|
|
|
- // this.loading = false
|
|
|
- // return
|
|
|
- // }
|
|
|
+ if (this.$refs.uploadComponent.checkProgress()) {
|
|
|
+ this.loading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
if (this.commonJS.isEmpty(this.inputForm.invoiceReimbursementFiles)) {
|
|
|
this.inputForm.invoiceReimbursementFiles = []
|
|
|
}
|
|
|
@@ -1600,7 +910,7 @@ export default {
|
|
|
this.inputForm.files = []
|
|
|
}
|
|
|
// this.inputForm.invoiceReimbursementFiles = this.$refs.invoiceReimbursementUpLoadComponent.getDataList()
|
|
|
- // this.inputForm.files = this.$refs.uploadComponent.getDataList()
|
|
|
+ this.inputForm.files = this.$refs.uploadComponent.getDataList()
|
|
|
this.inputForm.type = '1'
|
|
|
this.reimbursementService.save(this.inputForm).then(() => {
|
|
|
callback()
|
|
|
@@ -1624,6 +934,7 @@ export default {
|
|
|
},
|
|
|
// 送审
|
|
|
async startForm(callback) {
|
|
|
+ this.getReimbursementData()
|
|
|
let title = `发起流程【中审-报销审批】`
|
|
|
let describe = `[中审-报销审批]`
|
|
|
if (this.inputForm.reimbursementType) {
|
|
|
@@ -1690,6 +1001,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
this.$refs['inputForm'].validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
this.loading = true
|
|
|
@@ -1700,10 +1012,10 @@ export default {
|
|
|
// this.loading = false
|
|
|
// return
|
|
|
// }
|
|
|
- // if (this.$refs.uploadComponent.checkProgress()) {
|
|
|
- // this.loading = false
|
|
|
- // return
|
|
|
- // }
|
|
|
+ if (this.$refs.uploadComponent.checkProgress()) {
|
|
|
+ this.loading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
if (this.commonJS.isEmpty(this.inputForm.invoiceReimbursementFiles)) {
|
|
|
this.inputForm.invoiceReimbursementFiles = []
|
|
|
}
|
|
|
@@ -1716,7 +1028,7 @@ export default {
|
|
|
// return
|
|
|
// }
|
|
|
// this.inputForm.invoiceReimbursementFiles = this.$refs.invoiceReimbursementUpLoadComponent.getDataList()
|
|
|
- // this.inputForm.files = this.$refs.uploadComponent.getDataList()
|
|
|
+ this.inputForm.files = this.$refs.uploadComponent.getDataList()
|
|
|
this.dataFiltering()
|
|
|
// if(this.inputForm.invoiceReimbursementFiles<=0 && "1" === this.inputForm.reimbursementType){
|
|
|
// this.$message.error("请上传数电发票发票xml文件!")
|
|
|
@@ -1810,10 +1122,10 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- // if (this.$refs.uploadComponent.checkProgress()) {
|
|
|
- // this.loading = false
|
|
|
- // return
|
|
|
- // }
|
|
|
+ if (this.$refs.uploadComponent.checkProgress()) {
|
|
|
+ this.loading = false
|
|
|
+ return
|
|
|
+ }
|
|
|
if (this.commonJS.isEmpty(this.inputForm.invoiceReimbursementFiles)) {
|
|
|
this.inputForm.invoiceReimbursementFiles = []
|
|
|
}
|
|
|
@@ -1822,7 +1134,7 @@ export default {
|
|
|
}
|
|
|
this.dataFiltering()
|
|
|
// this.inputForm.invoiceReimbursementFiles = this.$refs.invoiceReimbursementUpLoadComponent.getDataList()
|
|
|
- // this.inputForm.files = this.$refs.uploadComponent.getDataList()
|
|
|
+ this.inputForm.files = this.$refs.uploadComponent.getDataList()
|
|
|
this.inputForm.type = '2'
|
|
|
this.commonApi.getTaskNameByProcInsId(this.inputForm.procInsId).then((data) => {
|
|
|
if (this.commonJS.isNotEmpty(data)) {
|
|
|
@@ -2270,6 +1582,8 @@ export default {
|
|
|
this.detailKeyOthers = Math.random()
|
|
|
this.detailKeyProcured = Math.random()
|
|
|
this.detailKeyProject = Math.random()
|
|
|
+ this.$refs.reimbursementComponent.inputForm.invoiceReimbursementFiles = []
|
|
|
+ this.$refs.reimbursementComponent.inputForm.sourceType = value
|
|
|
},
|
|
|
submitCheck() {
|
|
|
if (this.commonJS.isEmpty(this.inputForm.sourceType)) {
|
|
|
@@ -2715,12 +2029,13 @@ export default {
|
|
|
|
|
|
},
|
|
|
// 触发上传按钮
|
|
|
- uploadFile(row, index) {
|
|
|
+ async uploadFile(row, index) {
|
|
|
if (this.commonJS.isEmpty(row.reimbursementType)) {
|
|
|
this.$message.error("请选择报销类型")
|
|
|
return
|
|
|
}
|
|
|
this.handleTableInfo(this.inputForm.sourceType)
|
|
|
+ await this.tableRef.clearEdit()
|
|
|
this.tableRef.setRowExpand(this.tableData[index], true)
|
|
|
setTimeout(() => {
|
|
|
if (row.reimbursementType == 1) {
|
|
|
@@ -2779,6 +2094,7 @@ export default {
|
|
|
})
|
|
|
this.inputForm.files.push(...files)
|
|
|
}
|
|
|
+ this.tableRef.updateFooter(this.tableData)
|
|
|
},
|
|
|
handleCheckAmount() {
|
|
|
let countFlag = false
|
|
|
@@ -2813,10 +2129,6 @@ export default {
|
|
|
handleDefaultExpand() {
|
|
|
this.handleTableInfo(this.inputForm.sourceType)
|
|
|
let arr = []
|
|
|
- console.log(this.tableData);
|
|
|
- console.log(this.tableData);
|
|
|
- console.log(this.tableData);
|
|
|
- console.log(this.tableData);
|
|
|
|
|
|
this.tableData.forEach((item, index) => {
|
|
|
if (item.reimbursementType) {
|
|
|
@@ -2824,6 +2136,18 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
return arr
|
|
|
+ },
|
|
|
+ getReimbursementData() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ let inputForm = this.$refs.reimbursementComponent.handleGetData()
|
|
|
+ this.inputForm.detailInfos = inputForm.detailInfos
|
|
|
+ this.inputForm.detailInfoContracts = inputForm.detailInfoContracts
|
|
|
+ this.inputForm.detailInfoReports = inputForm.detailInfoReports
|
|
|
+ this.inputForm.detailInfoProject = inputForm.detailInfoProject
|
|
|
+ this.inputForm.detailInfoOthers = inputForm.detailInfoOthers
|
|
|
+ this.inputForm.detailInfoProcured = inputForm.detailInfoProcured
|
|
|
+ this.inputForm.invoiceReimbursementFiles = inputForm.invoiceReimbursementFiles
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
}
|