|
@@ -4,55 +4,20 @@
|
|
|
<el-drawer :title="title" v-model="visible" direction="rtl" size="100%">
|
|
|
<div class="page-container form-container">
|
|
|
<div class="form-btns-container">
|
|
|
- <span class="title-label"
|
|
|
- ><el-icon>
|
|
|
+ <span class="title-label"><el-icon>
|
|
|
<Document />
|
|
|
</el-icon>
|
|
|
- 支出信息</span
|
|
|
- >
|
|
|
- <el-button-group>
|
|
|
- <el-button
|
|
|
- v-if="editStatus"
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- icon="Finished"
|
|
|
- @click="submitForm"
|
|
|
- >保存</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- v-else-if="form.verifyDate == null"
|
|
|
- type="warning"
|
|
|
- size="small"
|
|
|
- icon="Edit"
|
|
|
- @click="editStatus = true"
|
|
|
- >编辑</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- v-if="form.id && editStatus"
|
|
|
- type="info"
|
|
|
- size="small"
|
|
|
- icon="Close"
|
|
|
- @click="editStatus = false"
|
|
|
- >取消编辑</el-button
|
|
|
- >
|
|
|
- <!-- <el-button v-if="form.id" type="success" size="small" @click="getForm">
|
|
|
- <i class="fa fa-refresh" aria-hidden="true" /> 刷新
|
|
|
- </el-button> -->
|
|
|
- <!-- <el-button v-if="form.id && !editStatus && form.verifyStatus == 0"
|
|
|
- v-hasPermi="['business:archive:order:verify']" type="warning" size="small"
|
|
|
- @click="verifyHandler">审核通过</el-button>
|
|
|
- <el-button v-if="form.id && !editStatus && form.verifyStatus == 0"
|
|
|
- v-hasPermi="['business:archive:order:verify']" type="danger" size="small"
|
|
|
- @click="rejectHandler">驳回</el-button> -->
|
|
|
- <el-button
|
|
|
- v-if="form.id && !editStatus && form.verifyDate == null"
|
|
|
- v-hasPermi="['business:payment:verify']"
|
|
|
- type="warning"
|
|
|
- size="small"
|
|
|
- @click="verifyHandler"
|
|
|
- >收款审核</el-button
|
|
|
- >
|
|
|
- </el-button-group>
|
|
|
+ 支出信息</span>
|
|
|
+
|
|
|
+ <el-button v-if="editStatus" type="primary" size="small" icon="Finished" @click="submitForm">保存</el-button>
|
|
|
+ <el-button v-else-if="form.verifyDate == null" type="warning" size="small" icon="Edit"
|
|
|
+ @click="editStatus = true">修改</el-button>
|
|
|
+ <el-button v-if="form.id && editStatus" size="small" icon="Close" @click="editStatus = false">取消修改</el-button>
|
|
|
+
|
|
|
+ <el-button v-show="form.id && !editStatus && form.verifyDate == null"
|
|
|
+ v-hasPermi="['business:payment:submitVerify']" type="primary" size="small" icon="Check"
|
|
|
+ @click="verifyHandler">收款审核</el-button>
|
|
|
+
|
|
|
<div class="screen-btn" @click="handleScreen">
|
|
|
<template v-if="!isFullscreen">
|
|
|
<i class="fa fa-window-maximize" aria-hidden="true" />
|
|
@@ -68,172 +33,76 @@
|
|
|
<!-- <span>关闭</span> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div
|
|
|
- class="Y-scrollbar"
|
|
|
- style="
|
|
|
+ <div class="Y-scrollbar" style="
|
|
|
position: absolute;
|
|
|
top: 32px;
|
|
|
bottom: 0;
|
|
|
width: 100%;
|
|
|
overflow: auto;
|
|
|
- "
|
|
|
- ></div>
|
|
|
- <el-form
|
|
|
- ref="orderRef"
|
|
|
- class="master-container"
|
|
|
- size="small"
|
|
|
- :model="form"
|
|
|
- :rules="rules"
|
|
|
- label-width="100px"
|
|
|
- >
|
|
|
+ "></div>
|
|
|
+ <el-form ref="orderRef" class="master-container" size="small" :model="form" :rules="rules" label-width="100px">
|
|
|
<el-row :gutter="30">
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="支出流水号:">
|
|
|
- <el-input
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.flowNo"
|
|
|
- readonly
|
|
|
- size="small"
|
|
|
- type="text"
|
|
|
- placeholder="支出流水号"
|
|
|
- :clearable="true"
|
|
|
- />
|
|
|
+ <el-input v-if="editStatus" v-model.trim="form.flowNo" readonly size="small" type="text"
|
|
|
+ placeholder="支出流水号" :clearable="true" />
|
|
|
<span v-else>{{ form.flowNo }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="支出日期:" prop="formDate" required>
|
|
|
- <el-date-picker
|
|
|
- v-if="editStatus"
|
|
|
- v-model="form.formDate"
|
|
|
- size="small"
|
|
|
- :clearable="true"
|
|
|
- format="YYYY-MM-DD"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- align="center"
|
|
|
- type="date"
|
|
|
- placeholder="支出日期"
|
|
|
- />
|
|
|
+ <el-date-picker v-if="editStatus" v-model="form.formDate" size="small" :clearable="true"
|
|
|
+ format="YYYY-MM-DD" value-format="YYYY-MM-DD" align="center" type="date" placeholder="支出日期" />
|
|
|
<span v-else>{{ form.formDate }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="支出类目:">
|
|
|
- <el-select
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.paymentCauseId"
|
|
|
- placeholder="支出类目"
|
|
|
- size="small"
|
|
|
- :clearable="true"
|
|
|
- @change="paymentCauseChange"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in paymentTypes"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- />
|
|
|
+ <el-select v-if="editStatus" v-model.trim="form.paymentCauseId" placeholder="支出类目" size="small"
|
|
|
+ :clearable="true" @change="paymentCauseChange">
|
|
|
+ <el-option v-for="item in paymentTypes" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
<span v-else>{{ form.paymentCause }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="支出科目:">
|
|
|
- <el-select
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.paymentSubjectId"
|
|
|
- placeholder="支出科目"
|
|
|
- size="small"
|
|
|
- :clearable="true"
|
|
|
- @change="paymentSubjectChange"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in paymentSubjects"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- />
|
|
|
+ <el-select v-if="editStatus" v-model.trim="form.paymentSubjectId" placeholder="支出科目" size="small"
|
|
|
+ :clearable="true" @change="paymentSubjectChange">
|
|
|
+ <el-option v-for="item in paymentSubjects" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
</el-select>
|
|
|
<span v-else>{{ form.paymentSubject }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="收款账户名:">
|
|
|
- <el-input
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.acceptAccount"
|
|
|
- size="small"
|
|
|
- type="text"
|
|
|
- placeholder="收款账户名"
|
|
|
- :clearable="true"
|
|
|
- />
|
|
|
+ <el-input v-if="editStatus" v-model.trim="form.acceptAccount" size="small" type="text" placeholder="收款账户名"
|
|
|
+ :clearable="true" />
|
|
|
<span v-else>{{ form.acceptAccount }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="收款账号:">
|
|
|
<template v-if="editStatus">
|
|
|
- <el-input
|
|
|
- v-model.trim="form.acceptAccountNo"
|
|
|
- size="small"
|
|
|
- type="text"
|
|
|
- style="width: 66.67%"
|
|
|
- placeholder="收款账号"
|
|
|
- :clearable="true"
|
|
|
- />
|
|
|
+ <el-input v-model.trim="form.acceptAccountNo" size="small" type="text" style="width: 66.67%"
|
|
|
+ placeholder="收款账号" :clearable="true" />
|
|
|
</template>
|
|
|
- <span v-else
|
|
|
- >{{ form.acceptAccountType }} -
|
|
|
- {{ form.acceptAccountNo }}</span
|
|
|
- >
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="到账日期:" prop="arriveDate">
|
|
|
- <el-date-picker
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.arriveDate"
|
|
|
- size="small"
|
|
|
- :clearable="true"
|
|
|
- format="YYYY-MM-DD"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
- align="center"
|
|
|
- type="date"
|
|
|
- placeholder="到账日期"
|
|
|
- />
|
|
|
- <span v-else>{{ form.arriveDate }}</span>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="到账时间:" prop="arriveTime">
|
|
|
- <el-time-select
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.arriveTime"
|
|
|
- :picker-options="timeOptions"
|
|
|
- placeholder="选择时间"
|
|
|
- />
|
|
|
- <span v-else>{{ form.arriveTime }}</span>
|
|
|
+ <span v-else>{{ form.acceptAccountType }} -
|
|
|
+ {{ form.acceptAccountNo }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="客户名称" prop="companyName" required>
|
|
|
- <el-autocomplete
|
|
|
- v-if="editStatus"
|
|
|
- :fetch-suggestions="querySearchCompanyAsync"
|
|
|
- :trigger-on-focus="true"
|
|
|
- v-model="form.companyName"
|
|
|
- placeholder="请输入客户名称"
|
|
|
- popper-class="my-autocomplete"
|
|
|
- @select="handleSelectCompany"
|
|
|
- >
|
|
|
+ <el-autocomplete v-if="editStatus" :fetch-suggestions="querySearchCompanyAsync" :trigger-on-focus="true"
|
|
|
+ v-model="form.companyName" placeholder="请输入客户名称" popper-class="my-autocomplete"
|
|
|
+ @select="handleSelectCompany">
|
|
|
<template #default="{ item }">
|
|
|
- <div
|
|
|
- style="
|
|
|
+ <div style="
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
justify-content: space-between;
|
|
|
- "
|
|
|
- >
|
|
|
+ ">
|
|
|
<div class="name" style="font-size: 12px">
|
|
|
{{ item.name }}
|
|
|
</div>
|
|
@@ -246,19 +115,10 @@
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="合同:" required>
|
|
|
- <el-input
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.contractNo"
|
|
|
- size="small"
|
|
|
- type="text"
|
|
|
- placeholder="请选择"
|
|
|
- :clearable="true"
|
|
|
- >
|
|
|
+ <el-input v-if="editStatus" v-model.trim="form.contractNo" size="small" type="text" placeholder="请选择"
|
|
|
+ :clearable="true">
|
|
|
<template #append>
|
|
|
- <el-button
|
|
|
- icon="Search"
|
|
|
- @click="() => contractChoiceHandler()"
|
|
|
- />
|
|
|
+ <el-button icon="Search" @click="() => contractChoiceHandler()" />
|
|
|
</template>
|
|
|
</el-input>
|
|
|
<span v-else style="width: 100%">
|
|
@@ -275,36 +135,26 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
- <el-form-item label="未收款金额:" prop="remark">
|
|
|
- <span>{{ form.nonpayment }}</span>
|
|
|
+ <el-form-item label="已支出金额:" prop="remark">
|
|
|
+ <span>{{ form.payedAmount }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="支出金额:" required>
|
|
|
- <el-input-number
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.amount"
|
|
|
- size="small"
|
|
|
- placeholder="收款金额"
|
|
|
- :clearable="true"
|
|
|
- :precision="2"
|
|
|
- controls-position="right"
|
|
|
- :controls="false"
|
|
|
- @change="amountChange"
|
|
|
- />
|
|
|
+ <el-input-number v-if="editStatus" v-model.trim="form.amount" size="small" placeholder="收款金额"
|
|
|
+ :clearable="true" :precision="2" controls-position="right" :controls="false" @change="amountChange" />
|
|
|
<span v-else>{{ form.amount }}</span>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <el-col v-if="form.verifyStatus === 2" :span="6">
|
|
|
+ <el-form-item label="驳回原因:" required>
|
|
|
+ <span>{{ form.verifyComment }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="备注:">
|
|
|
- <el-input
|
|
|
- v-if="editStatus"
|
|
|
- v-model.trim="form.remark"
|
|
|
- size="small"
|
|
|
- type="text"
|
|
|
- placeholder="备注"
|
|
|
- :clearable="true"
|
|
|
- />
|
|
|
+ <el-input v-if="editStatus" v-model.trim="form.remark" size="small" type="text" placeholder="备注"
|
|
|
+ :clearable="true" />
|
|
|
<span v-else style="word-break: break-all">{{
|
|
|
form.remark
|
|
|
}}</span>
|
|
@@ -321,68 +171,28 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="details-body">
|
|
|
- <el-table
|
|
|
- ref="filesTable"
|
|
|
- :data="form.details"
|
|
|
- size="small"
|
|
|
- height="100%"
|
|
|
- border
|
|
|
- header-row-class-name="list-header-row"
|
|
|
- highlight-current-row
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- type="index"
|
|
|
- label="序号"
|
|
|
- width="47"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="任务名称"
|
|
|
- prop="taskTypeName"
|
|
|
- align="center"
|
|
|
- show-overflow-tooltip
|
|
|
- >
|
|
|
+ <el-table ref="filesTable" :data="form.details" size="small" height="100%" border
|
|
|
+ header-row-class-name="list-header-row" highlight-current-row>
|
|
|
+ <el-table-column type="index" label="序号" width="47" align="center" />
|
|
|
+ <el-table-column label="任务名称" prop="taskTypeName" align="center" show-overflow-tooltip>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="任务金额"
|
|
|
- prop="amount"
|
|
|
- width="100"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="本次支出金额"
|
|
|
- prop="paymentAmount"
|
|
|
- width="100"
|
|
|
- align="center"
|
|
|
- >
|
|
|
+ <el-table-column label="任务金额" prop="amount" width="100" align="center" />
|
|
|
+ <el-table-column label="本次支出金额" prop="paymentAmount" width="100" align="center">
|
|
|
<template #default="scope">
|
|
|
<template v-if="editStatus">
|
|
|
- <el-input-number
|
|
|
- v-model="scope.row.paymentAmount"
|
|
|
- size="small"
|
|
|
- placeholder="本次支出金额"
|
|
|
- :precision="2"
|
|
|
- :controls="false"
|
|
|
- style="width: 100%"
|
|
|
- @change="
|
|
|
- (arg) =>
|
|
|
- amountChangeHandler(
|
|
|
- arg,
|
|
|
- scope.row,
|
|
|
- 'paymentAmount'
|
|
|
- )
|
|
|
- "
|
|
|
- />
|
|
|
+ <el-input-number v-model="scope.row.paymentAmount" size="small" placeholder="本次支出金额"
|
|
|
+ :precision="2" :controls="false" style="width: 100%" @change="(arg) =>
|
|
|
+ amountChangeHandler(
|
|
|
+ arg,
|
|
|
+ scope.row,
|
|
|
+ 'paymentAmount'
|
|
|
+ )
|
|
|
+ " />
|
|
|
</template>
|
|
|
<template v-else>{{ scope.row.paymentAmount }}</template>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="已支出金额"
|
|
|
- prop="arrived"
|
|
|
- width="100"
|
|
|
- align="center"
|
|
|
- />
|
|
|
+ <el-table-column label="已支出金额" prop="arrived" width="100" align="center" />
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</el-col>
|
|
@@ -392,61 +202,26 @@
|
|
|
<i class="fa fa-th-list" aria-hidden="true" /> 附件
|
|
|
<i style="color: red">*</i>
|
|
|
</div>
|
|
|
- <el-upload
|
|
|
- v-if="editStatus"
|
|
|
- action="#"
|
|
|
- :http-request="upload"
|
|
|
- :with-credentials="true"
|
|
|
- :show-file-list="false"
|
|
|
- multiple
|
|
|
- >
|
|
|
- <el-button size="small" type="primary" icon="Upload"
|
|
|
- >点击上传</el-button
|
|
|
- >
|
|
|
+ <el-upload v-if="editStatus" action="#" :http-request="upload" :with-credentials="true"
|
|
|
+ :show-file-list="false" multiple>
|
|
|
+ <el-button size="small" type="primary" icon="Upload">点击上传</el-button>
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
<div class="details-body">
|
|
|
- <el-table
|
|
|
- ref="filesTable"
|
|
|
- :data="form.files"
|
|
|
- size="small"
|
|
|
- height="100%"
|
|
|
- border
|
|
|
- header-row-class-name="list-header-row"
|
|
|
- highlight-current-row
|
|
|
- >
|
|
|
- <el-table-column
|
|
|
- type="index"
|
|
|
- label="序号"
|
|
|
- width="47"
|
|
|
- align="center"
|
|
|
- />
|
|
|
- <el-table-column
|
|
|
- label="文件名"
|
|
|
- prop="originalFileName"
|
|
|
- align="center"
|
|
|
- show-overflow-tooltip
|
|
|
- >
|
|
|
+ <el-table ref="filesTable" :data="form.files" size="small" height="100%" border
|
|
|
+ header-row-class-name="list-header-row" highlight-current-row>
|
|
|
+ <el-table-column type="index" label="序号" width="47" align="center" />
|
|
|
+ <el-table-column label="文件名" prop="originalFileName" align="center" show-overflow-tooltip>
|
|
|
<template #default="scope">
|
|
|
- <el-button
|
|
|
- size="small"
|
|
|
- type="primary"
|
|
|
- link
|
|
|
- @click="openFile(scope.row)"
|
|
|
- >{{ scope.row.originalFileName }}</el-button
|
|
|
- >
|
|
|
+ <el-button size="small" type="primary" link @click="openFile(scope.row)">{{
|
|
|
+ scope.row.originalFileName }}</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" width="50" align="center">
|
|
|
<template #default="scope">
|
|
|
<div v-if="editStatus">
|
|
|
- <el-button
|
|
|
- icon="Close"
|
|
|
- size="small"
|
|
|
- circle
|
|
|
- type="danger"
|
|
|
- @click="handlerDelAttach(scope.row, scope.$index)"
|
|
|
- />
|
|
|
+ <el-button size="small" link type="danger"
|
|
|
+ @click="handlerDelAttach(scope.row, scope.$index)">删除</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -457,63 +232,33 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-drawer>
|
|
|
- <el-dialog
|
|
|
- title="审核详情"
|
|
|
- v-model="rejectOpen"
|
|
|
- width="500px"
|
|
|
- append-to-body
|
|
|
- draggable
|
|
|
- >
|
|
|
+ <el-dialog title="审核详情" v-model="rejectOpen" width="500px" append-to-body draggable>
|
|
|
<el-form ref="dictRef" :model="form" label-width="100" size="small">
|
|
|
<el-form-item label="审核状态">
|
|
|
- <el-select
|
|
|
- v-model.trim="form.verifyStatus"
|
|
|
- placeholder="请选择"
|
|
|
- size="small"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="i in verified"
|
|
|
- :key="i.value"
|
|
|
- :label="i.label"
|
|
|
- :value="i.value"
|
|
|
- />
|
|
|
+ <el-select v-model.trim="form.verifyStatus" placeholder="请选择" size="small">
|
|
|
+ <el-option v-for="i in verified" :key="i.value" :label="i.label" :value="i.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="实际支出时间" required>
|
|
|
- <el-date-picker
|
|
|
- v-model.trim="form.actuallyDate"
|
|
|
- size="small"
|
|
|
- :clearable="true"
|
|
|
- format="YYYY-MM-DD HH:mm:ss"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
- align="center"
|
|
|
- type="datetime"
|
|
|
- placeholder="实际付款时间"
|
|
|
- />
|
|
|
+ <el-date-picker v-model.trim="form.actuallyDate" size="small" :clearable="true" format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss" align="center" type="datetime" placeholder="实际付款时间" />
|
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="支出附件上传" required>
|
|
|
|
|
|
</el-form-item> -->
|
|
|
- <el-form-item label="审核意见" :prop="verifyRemark">
|
|
|
- <el-input
|
|
|
- v-model.trim="form.verifyComment"
|
|
|
- type="textarea"
|
|
|
- :rows="3"
|
|
|
- placeholder="请输入审核意见"
|
|
|
- />
|
|
|
+ <el-form-item :label="form.verifyStatus == 2 ? '驳回原因' : '审核意见'" :prop="verifyRemark">
|
|
|
+ <el-input v-model.trim="form.verifyComment" type="textarea" maxlength="200" show-word-limit :rows="3"
|
|
|
+ placeholder="请输入审核意见" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
|
- <el-button type="primary" @click="verifyUpload()">确 定</el-button>
|
|
|
- <el-button @click="rejectCancel">取 消</el-button>
|
|
|
+ <el-button type="primary" icon="Finished" size="small" @click="verifyUpload()">确 定</el-button>
|
|
|
+ <el-button icon="close" size="small" @click="rejectCancel">取 消</el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
- <dialog-contract-choice
|
|
|
- ref="contractChoiceRef"
|
|
|
- @choice="contractChoiceHandle"
|
|
|
- />
|
|
|
+ <dialog-contract-choice ref="contractChoiceRef" @choice="contractChoiceHandle" />
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup>
|
|
@@ -549,7 +294,7 @@ const baseUrl = import.meta.env.VITE_APP_BASE_API;
|
|
|
const props = defineProps({
|
|
|
getList: {
|
|
|
type: Function,
|
|
|
- default: () => {},
|
|
|
+ default: () => { },
|
|
|
},
|
|
|
});
|
|
|
const { getList } = toRefs(props);
|
|
@@ -655,6 +400,8 @@ function open(id) {
|
|
|
getPayment(id).then((res) => {
|
|
|
form.value = res.data;
|
|
|
editStatus.value = false;
|
|
|
+ paymentCauseChange(form.value.paymentCauseId);
|
|
|
+ paymentSubjectChange(form.value.paymentSubjectId);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -697,6 +444,10 @@ function submitForm() {
|
|
|
proxy.$modal.msgError("请输入支出金额");
|
|
|
return;
|
|
|
}
|
|
|
+ if (form.value.amount > form.value.contractAmount - form.value.payedAmount) {
|
|
|
+ proxy.$modal.msgError("支出金额大于合同金额");
|
|
|
+ return;
|
|
|
+ }
|
|
|
proxy.$refs["orderRef"].validate((valid) => {
|
|
|
if (valid && detailValid()) {
|
|
|
const formValue = form.value;
|
|
@@ -839,11 +590,11 @@ function querySearchCompanyAsync(queryString, cb) {
|
|
|
const query =
|
|
|
queryString.length > 0
|
|
|
? {
|
|
|
- keyword: queryString,
|
|
|
- pageSize: 50,
|
|
|
- pageNum: 1,
|
|
|
- orderByColumn: "create_time",
|
|
|
- }
|
|
|
+ keyword: queryString,
|
|
|
+ pageSize: 50,
|
|
|
+ pageNum: 1,
|
|
|
+ orderByColumn: "create_time",
|
|
|
+ }
|
|
|
: { pageSize: 50, pageNum: 1, orderByColumn: "create_time" };
|
|
|
listCompany(query).then((res) => {
|
|
|
cb(res.rows);
|
|
@@ -857,17 +608,19 @@ function handleSelectCompany(item) {
|
|
|
|
|
|
function paymentCauseChange(arg) {
|
|
|
const index = paymentTypes.value.findIndex((v) => v.id === arg);
|
|
|
- paymentSubjects.value = [{ id: "0", name: "请选择" }].concat(
|
|
|
- paymentTypes.value[index].bizPaymentSubjectList
|
|
|
- );
|
|
|
- form.value.paymentCause = paymentTypes.value[index].name;
|
|
|
- if (
|
|
|
- paymentSubjects.value.findIndex(
|
|
|
- (v) => v.id === form.value.paymentSubjectId
|
|
|
- ) < 0
|
|
|
- ) {
|
|
|
- form.value.paymentSubjectId = null;
|
|
|
- form.value.paymentSubject = "";
|
|
|
+ if (index >= 0) {
|
|
|
+ paymentSubjects.value = [{ id: "0", name: "请选择" }].concat(
|
|
|
+ paymentTypes.value[index].bizPaymentSubjectList
|
|
|
+ );
|
|
|
+ form.value.paymentCause = paymentTypes.value[index].name;
|
|
|
+ if (
|
|
|
+ paymentSubjects.value.findIndex(
|
|
|
+ (v) => v.id === form.value.paymentSubjectId
|
|
|
+ ) < 0
|
|
|
+ ) {
|
|
|
+ form.value.paymentSubjectId = null;
|
|
|
+ form.value.paymentSubject = "";
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
function contractChoiceHandler() {
|
|
@@ -881,6 +634,8 @@ function contractChoiceHandler() {
|
|
|
function contractChoiceHandle(info) {
|
|
|
form.value.contractId = info.id;
|
|
|
form.value.contractNo = info.contractNo;
|
|
|
+ form.value.contractAmount = info.trueAmount;
|
|
|
+ form.value.payedAmount = info.paidAmount;
|
|
|
listContractDetail({ contractId: info.id }).then((res) => {
|
|
|
const rows = res.rows;
|
|
|
rows.forEach((item) => {
|
|
@@ -909,8 +664,10 @@ function handlerDelAttach(row, index) {
|
|
|
}
|
|
|
|
|
|
function paymentSubjectChange(id) {
|
|
|
- const index = paymentSubjects.value.findIndex((v) => v.id === arg);
|
|
|
- form.value.paymentSubjectId = paymentSubjects.value[index].id;
|
|
|
+ const index = paymentSubjects.value.findIndex((v) => v.id === id);
|
|
|
+ if (index >= 0) {
|
|
|
+ form.value.paymentSubjectId = paymentSubjects.value[index].id;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
init();
|