| | |
| | | <div class="boxdiv"> |
| | | <div class="top-text">{{ title }}</div> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="120px"> |
| | | <el-row><el-col :span="5"> |
| | | <el-row |
| | | ><el-col :span="5"> |
| | | <el-form-item label="申请日期" prop="applyTime"> |
| | | <el-date-picker style="width: 100%" v-model="form.applyTime" type="date" value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="申请日期" :disabled="true"> |
| | | <el-date-picker |
| | | style="width: 100%" |
| | | v-model="form.applyTime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="申请日期" |
| | | :disabled="true" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="经办人" prop="username"> |
| | | <el-select v-model="form.username" clearable filterable allow-create ref="getReportname" |
| | | default-first-option placeholder="请选择"> |
| | | <el-option v-for="item in personsList" :key="item.reportNo" :label="item.reportName" |
| | | :value="item.reportName"> |
| | | <el-select |
| | | v-model="form.username" |
| | | clearable |
| | | filterable |
| | | allow-create |
| | | ref="getReportname" |
| | | default-first-option |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in personsList" |
| | | :key="item.reportNo" |
| | | :label="item.reportName" |
| | | :value="item.reportName" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <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-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> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <el-row style="margin-top: 10px"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="报销金额" prop="amountrequested"> |
| | | <el-input :disabled="true" v-model="form.amountrequested" placeholder="报销合计金额" /> |
| | | <el-input |
| | | :disabled="true" |
| | | v-model="form.amountrequested" |
| | | placeholder="报销合计金额" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="7"> |
| | | <el-form-item label="大写金额" prop="bigstrmoney"> |
| | | <el-input :disabled="true" v-model="form.bigstrmoney" placeholder="报销大写金额" /> |
| | | </el-form-item> </el-col><el-col :span="4"> |
| | | <el-input |
| | | :disabled="true" |
| | | v-model="form.bigstrmoney" |
| | | placeholder="报销大写金额" |
| | | /> |
| | | </el-form-item> </el-col |
| | | ><el-col :span="4"> |
| | | <el-form-item label="审核状态" prop="flowlevel"> |
| | | <el-select v-model="form.recordstatus" placeholder="请选择审核状态" clearable :disabled="true" size="small"> |
| | | <el-option v-for="dict in dict.type.sys_recordstatus" :key="dict.value" :label="dict.label" |
| | | :value="dict.value" /> |
| | | <el-select |
| | | v-model="form.recordstatus" |
| | | placeholder="请选择审核状态" |
| | | clearable |
| | | :disabled="true" |
| | | size="small" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_recordstatus" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row v-if="jurisdiction"> |
| | | <!-- <el-alert title="当前为查看状态,不支持修改存储。" type="warning"> |
| | | </el-alert> --> |
| | | <el-alert title="当前为查看状态,不支持修改存储。" type="warning" show-icon> |
| | | <el-alert |
| | | title="当前为查看状态,不支持修改存储。" |
| | | type="warning" |
| | | show-icon |
| | | > |
| | | </el-alert> |
| | | </el-row> |
| | | <el-row style="margin-top: 25px; margin-bottom: 5px"> |
| | | <el-col :span="20">报销明细</el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-table :data="rbDetails" ref="table" border max-height="800" highlight-current-row |
| | | :summary-method="getSummaries" show-summary> |
| | | <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="88"> |
| | | <el-table |
| | | :data="rbDetails" |
| | | ref="table" |
| | | border |
| | | max-height="800" |
| | | highlight-current-row |
| | | :summary-method="getSummaries" |
| | | show-summary |
| | | > |
| | | <el-table-column |
| | | prop="orderno" |
| | | slot="" |
| | | label="序号" |
| | | align="center" |
| | | fixed |
| | | width="88" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.orderno" placeholder="序号" /> |
| | | </template> |
| | | </el-table-column> |
| | | <!--主键、外不展示--> |
| | | <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false"> |
| | | <el-table-column |
| | | prop="id" |
| | | slot="" |
| | | label="主键" |
| | | align="center" |
| | | fixed |
| | | width="95" |
| | | v-if="false" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.id" placeholder="id" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false"> |
| | | <el-table-column |
| | | prop="rbid" |
| | | slot="" |
| | | label="外键" |
| | | align="center" |
| | | fixed |
| | | width="95" |
| | | v-if="false" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.rbid" placeholder="rbid" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="persontype" slot="" label="人员类别" align="center" fixed width="130"> |
| | | <el-table-column |
| | | prop="persontype" |
| | | slot="" |
| | | label="人员类别" |
| | | align="center" |
| | | fixed |
| | | width="130" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.persontype" value-key="value" placeholder="人员类别" |
| | | @change="getPersons(scope.row)"> |
| | | <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" |
| | | :value="dict.label"></el-option> |
| | | <el-select |
| | | v-model="scope.row.persontype" |
| | | value-key="value" |
| | | placeholder="人员类别" |
| | | @change="getPersons(scope.row)" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_travelexpensebelong" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.label" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="personname" slot="" label="费用人员" align="center" fixed width="110"> |
| | | <el-table-column |
| | | prop="personname" |
| | | slot="" |
| | | label="费用人员" |
| | | align="center" |
| | | fixed |
| | | width="110" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.personname" clearable filterable allow-create default-first-option |
| | | placeholder="请选择" @focus1="getPersons(scope.row)"> |
| | | <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName" |
| | | :value="item.reportName"> |
| | | <el-select |
| | | v-model="scope.row.personname" |
| | | clearable |
| | | filterable |
| | | allow-create |
| | | default-first-option |
| | | placeholder="请选择" |
| | | @focus1="getPersons(scope.row)" |
| | | > |
| | | <el-option |
| | | v-for="item in personsSel" |
| | | :key="item.reportNo" |
| | | :label="item.reportName" |
| | | :value="item.reportName" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="starttime" slot="" label="开始日期" fixed align="center" width="150"> |
| | | <el-table-column |
| | | prop="starttime" |
| | | slot="" |
| | | label="开始日期" |
| | | fixed |
| | | align="center" |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-date-picker :picker-options="{ |
| | | disabledDate: time => { |
| | | if (scope.row.endtime) { |
| | | return ( |
| | | time.getTime() > |
| | | new Date(scope.row.endtime.replace(/-/g, '/')) |
| | | ); |
| | | <el-date-picker |
| | | :picker-options="{ |
| | | disabledDate: time => { |
| | | if (scope.row.endtime) { |
| | | return ( |
| | | time.getTime() > |
| | | new Date(scope.row.endtime.replace(/-/g, '/')) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | }" clearable size="small" style="width: 100%" v-model="scope.row.starttime" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="开始日期" @blur="getdays(scope.row)"> |
| | | }" |
| | | clearable |
| | | size="small" |
| | | style="width: 100%" |
| | | v-model="scope.row.starttime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="开始日期" |
| | | @blur="getdays(scope.row)" |
| | | > |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="endtime" slot="" label="结束日期" align="center" fixed width="150"> |
| | | <el-table-column |
| | | prop="endtime" |
| | | slot="" |
| | | label="结束日期" |
| | | align="center" |
| | | fixed |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-date-picker :picker-options="{ |
| | | disabledDate: time => { |
| | | if (scope.row.starttime) { |
| | | return ( |
| | | time.getTime() < |
| | | new Date(scope.row.starttime.replace(/-/g, '/')) |
| | | ); |
| | | <el-date-picker |
| | | :picker-options="{ |
| | | disabledDate: time => { |
| | | if (scope.row.starttime) { |
| | | return ( |
| | | time.getTime() < |
| | | new Date(scope.row.starttime.replace(/-/g, '/')) |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | }" clearable size="small" style="width: 100%" v-model="scope.row.endtime" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="结束日期" @blur="getdays(scope.row)"> |
| | | }" |
| | | clearable |
| | | size="small" |
| | | style="width: 100%" |
| | | v-model="scope.row.endtime" |
| | | type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | placeholder="结束日期" |
| | | @blur="getdays(scope.row)" |
| | | > |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="departure" slot="" label="出发地" align="center" width="100"> |
| | | <el-table-column |
| | | prop="departure" |
| | | slot="" |
| | | label="出发地" |
| | | align="center" |
| | | width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.departure" placeholder="出发地" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="到达地" prop="destination" align="center" width="140"> |
| | | <el-table-column |
| | | label="到达地" |
| | | prop="destination" |
| | | align="center" |
| | | width="140" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <!-- <el-input v-model="scope.row.destination" placeholder="到达地" @blur="getallowance(scope.row)" /> --> |
| | | <el-select filterable allow-create v-model="scope.row.destination" value-key="value" placeholder="到达地" |
| | | @change="getallowance(scope.row)"> |
| | | <el-option v-for="dict in dict.type.sys_area_name" :key="dict.value" :label="dict.label" |
| | | :value="dict.label"></el-option> |
| | | <el-select |
| | | filterable |
| | | allow-create |
| | | v-model="scope.row.destination" |
| | | value-key="value" |
| | | placeholder="到达地" |
| | | @change="getallowance(scope.row)" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_area_name" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.label" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="days" label="天数" width="100" align="center"> |
| | | <el-table-column |
| | | prop="days" |
| | | label="天数" |
| | | width="100" |
| | | align="center" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.days" @blur="getallowance(scope.row)" placeholder="天数" /> |
| | | <el-input |
| | | v-model="scope.row.days" |
| | | @blur="getallowance(scope.row)" |
| | | placeholder="天数" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="traffictype" label="出发交通工具" align="center" width="100"> |
| | | <el-table-column |
| | | prop="traffictype" |
| | | label="出发交通工具" |
| | | align="center" |
| | | width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.traffictype" placeholder="出发交通工具"> |
| | | <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" |
| | | :value="dict.label"></el-option> |
| | | <el-select |
| | | v-model="scope.row.traffictype" |
| | | placeholder="出发交通工具" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_traffictype" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.label" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="traffictype2" label="返回交通工具" align="center" width="100"> |
| | | <el-table-column |
| | | prop="traffictype2" |
| | | label="返回交通工具" |
| | | align="center" |
| | | width="100" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.traffictype2" placeholder="返回交通工具"> |
| | | <el-option v-for="dict in dict.type.sys_traffictype" :key="dict.value" :label="dict.label" |
| | | :value="dict.label"></el-option> |
| | | <el-select |
| | | v-model="scope.row.traffictype2" |
| | | placeholder="返回交通工具" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_traffictype" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.label" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="trafficexpense" label="交通费" align="center" width="120"> |
| | | <el-table-column |
| | | prop="trafficexpense" |
| | | label="交通费" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.trafficexpense" placeholder="交通费" @blur="val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " /> |
| | | <el-input |
| | | v-model="scope.row.trafficexpense" |
| | | placeholder="交通费" |
| | | @blur=" |
| | | val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="cityfee" label="市内交通费" align="center" width="120"> |
| | | <el-table-column |
| | | prop="cityfee" |
| | | label="市内交通费" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.cityfee" placeholder="市内交通费" @blur="val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | ">{{ Number(scope.row.cityfee).toFixed(2) }} |
| | | <el-input |
| | | v-model="scope.row.cityfee" |
| | | placeholder="市内交通费" |
| | | @blur=" |
| | | val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " |
| | | >{{ Number(scope.row.cityfee).toFixed(2) }} |
| | | </el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="hotelexpense" label="住宿费" align="center" width="120"> |
| | | <el-table-column |
| | | prop="hotelexpense" |
| | | label="住宿费" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.hotelexpense" placeholder="住宿费" @blur="val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " /> |
| | | <el-input |
| | | v-model="scope.row.hotelexpense" |
| | | placeholder="住宿费" |
| | | @blur=" |
| | | val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | |
| | | /> |
| | | </template> |
| | | </el-table-column> --> |
| | | <el-table-column prop="foodallowance" label="伙食补助" align="center" width="120"> |
| | | <el-table-column |
| | | prop="foodallowance" |
| | | label="伙食补助" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.foodallowance" placeholder="伙食费补助" @blur="val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " /> |
| | | <el-input |
| | | v-model="scope.row.foodallowance" |
| | | placeholder="伙食费补助" |
| | | @blur=" |
| | | val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="otherexpense" label="公杂费补助" align="center" width="120"> |
| | | <el-table-column |
| | | prop="otherexpense" |
| | | label="公杂费补助" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherexpense" placeholder="杂费" @blur="val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " /> |
| | | <el-input |
| | | v-model="scope.row.otherexpense" |
| | | placeholder="杂费" |
| | | @blur=" |
| | | val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="otherfeeamount" label="其他费用" align="center" width="120"> |
| | | <el-table-column |
| | | prop="otherfeeamount" |
| | | label="其他费用" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherfeeamount" placeholder="其他费用" @blur="val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " /> |
| | | <el-input |
| | | v-model="scope.row.otherfeeamount" |
| | | placeholder="其他费用" |
| | | @blur=" |
| | | val => { |
| | | sumRowFee(scope.row); |
| | | } |
| | | " |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="departure" slot="" label="其他费用说明" align="center" width="120"> |
| | | <el-table-column |
| | | prop="departure" |
| | | slot="" |
| | | label="其他费用说明" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.otherfeedesc" placeholder="其他费用说明" /> |
| | | <el-input |
| | | v-model="scope.row.otherfeedesc" |
| | | placeholder="其他费用说明" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="total" label="合计" align="center" width="110" fixed="right"> |
| | | <el-table-column |
| | | prop="total" |
| | | label="合计" |
| | | align="center" |
| | | width="110" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.total" placeholder="合计" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column fixed="right" label="操作" align="center" width="120"> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="操作" |
| | | align="center" |
| | | width="120" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="mini" @click="addDetailRow(scope.$index)" |
| | | v-if="operationType == 'edit'">新增</el-button> |
| | | <el-button @click.native.prevent=" |
| | | deleteDetailRow(scope.$index, rbDetails, scope.row) |
| | | " type="text" size="small" v-if="operationType == 'edit'">删除</el-button> |
| | | <el-button @click.native.prevent=" |
| | | Filepopup(scope.$index, rbDetails, scope.row) |
| | | " type="text" size="small">票据</el-button> |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | @click="addDetailRow(scope.$index)" |
| | | v-if="operationType == 'edit'" |
| | | >新增</el-button |
| | | > |
| | | <el-button |
| | | @click.native.prevent=" |
| | | deleteDetailRow(scope.$index, rbDetails, scope.row) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | v-if="operationType == 'edit'" |
| | | >删除</el-button |
| | | > |
| | | <el-button |
| | | @click.native.prevent=" |
| | | Filepopup(scope.$index, rbDetails, scope.row) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | >票据</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-col :span="20">打款明细</el-col> |
| | | </el-row> |
| | | <el-row style="margin-top: 5px"> |
| | | <el-table :data="rbPayees" border max-height="400" highlight-current-row :summary-method="getSummaries" |
| | | show-summary> |
| | | <el-table-column prop="orderno" slot="" label="序号" align="center" fixed width="65"> |
| | | <el-table |
| | | :data="rbPayees" |
| | | border |
| | | max-height="400" |
| | | highlight-current-row |
| | | :summary-method="getSummaries" |
| | | show-summary |
| | | > |
| | | <el-table-column |
| | | prop="orderno" |
| | | slot="" |
| | | label="序号" |
| | | align="center" |
| | | fixed |
| | | width="65" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.orderno" placeholder="序号" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <!--主键、外键不展示--> |
| | | <el-table-column prop="id" slot="" label="主键" align="center" fixed width="95" v-if="false"> |
| | | <el-table-column |
| | | prop="id" |
| | | slot="" |
| | | label="主键" |
| | | align="center" |
| | | fixed |
| | | width="95" |
| | | v-if="false" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.id" placeholder="id" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="rbid" slot="" label="外键" align="center" fixed width="95" v-if="false"> |
| | | <el-table-column |
| | | prop="rbid" |
| | | slot="" |
| | | label="外键" |
| | | align="center" |
| | | fixed |
| | | width="95" |
| | | v-if="false" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.rbid" placeholder="rbid" /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="persontype" slot="" label="收款人类别" align="center" fixed width="150"> |
| | | <el-table-column |
| | | prop="persontype" |
| | | slot="" |
| | | label="收款人类别" |
| | | align="center" |
| | | fixed |
| | | width="150" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.persontype" value-key="value" placeholder="收款人类别" |
| | | @change="getPersons(scope.row)"> |
| | | <el-option v-for="dict in dict.type.sys_travelexpensebelong" :key="dict.value" :label="dict.label" |
| | | :value="dict.label"></el-option> |
| | | <el-select |
| | | v-model="scope.row.persontype" |
| | | value-key="value" |
| | | placeholder="收款人类别" |
| | | @change="getPersons(scope.row)" |
| | | > |
| | | <el-option |
| | | v-for="dict in dict.type.sys_travelexpensebelong" |
| | | :key="dict.value" |
| | | :label="dict.label" |
| | | :value="dict.label" |
| | | ></el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="personname" slot="" label="收款人" align="center" fixed width="200"> |
| | | <el-table-column |
| | | prop="personname" |
| | | slot="" |
| | | label="收款人" |
| | | align="center" |
| | | fixed |
| | | width="200" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-select v-model="scope.row.personname" clearable filterable allow-create ref="getReportname" |
| | | default-first-option placeholder="请选择" @change="getAccountinfo2(scope.row, scope.row.persontype)"> |
| | | <el-option v-for="item in personsSel" :key="item.reportNo" :label="item.reportName" |
| | | :value="item.reportName"> |
| | | <el-select |
| | | v-model="scope.row.personname" |
| | | clearable |
| | | filterable |
| | | allow-create |
| | | ref="getReportname" |
| | | default-first-option |
| | | placeholder="请选择" |
| | | @change="getAccountinfo2(scope.row, scope.row.persontype)" |
| | | > |
| | | <el-option |
| | | v-for="item in personsSel" |
| | | :key="item.reportNo" |
| | | :label="item.reportName" |
| | | :value="item.reportName" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="bankname" slot="" label="收款银行" align="center" fixed width="250"> |
| | | <el-table-column |
| | | prop="bankname" |
| | | slot="" |
| | | label="收款银行" |
| | | align="center" |
| | | fixed |
| | | width="250" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.bankname" placeholder="收款银行" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="bankcardno" slot="" label="银行账号" align="center" fixed width="200"> |
| | | <el-table-column |
| | | prop="bankcardno" |
| | | slot="" |
| | | label="银行账号" |
| | | align="center" |
| | | fixed |
| | | width="200" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.bankcardno" placeholder="银行账号" /> |
| | | <el-input |
| | | v-model="scope.row.bankcardno" |
| | | placeholder="银行账号" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="amount" slot="" label="打款金额" align="center" fixed width="130"> |
| | | <el-table-column |
| | | prop="amount" |
| | | slot="" |
| | | label="打款金额" |
| | | align="center" |
| | | fixed |
| | | width="130" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.amount" placeholder="打款金额" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" slot="" label="请款说明" align="center" fixed> |
| | | <el-table-column |
| | | prop="remark" |
| | | slot="" |
| | | label="请款说明" |
| | | align="center" |
| | | fixed |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-input v-model="scope.row.remark" placeholder="说明" /> |
| | | </template> |
| | |
| | | </el-date-picker> |
| | | </template> |
| | | </el-table-column>--> |
| | | <el-table-column label="操作" align="center" width="100" v-if="operationType == 'edit'"> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | width="100" |
| | | v-if="operationType == 'edit'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="text" size="mini" @click="addPayeeRow(scope.$index)">新增</el-button> |
| | | <el-button @click.native.prevent=" |
| | | deletePayeeRow(scope.$index, rbPayees, scope.row) |
| | | " type="text" size="small"> |
| | | <el-button |
| | | type="text" |
| | | size="mini" |
| | | @click="addPayeeRow(scope.$index)" |
| | | >新增</el-button |
| | | > |
| | | <el-button |
| | | @click.native.prevent=" |
| | | deletePayeeRow(scope.$index, rbPayees, scope.row) |
| | | " |
| | | type="text" |
| | | size="small" |
| | | > |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-row> |
| | | <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType != 'edit'"> |
| | | <el-row |
| | | style="margin-top: 25px; margin-bottom: 5px" |
| | | v-if="operationType != 'edit'" |
| | | > |
| | | <el-col :span="20">审核记录</el-col> |
| | | </el-row> |
| | | <el-row v-if="operationType != 'add'"> |
| | | <el-table :data="fundflowList" border> |
| | | <el-table-column label="审核日期" align="center" width="200" prop="createTime" /> |
| | | <el-table-column label="审核人" align="center" width="150" prop="checkusername" /> |
| | | <el-table-column label="审核结果" align="center" width="200" prop="flowconclusion"> |
| | | <el-table-column |
| | | label="审核日期" |
| | | align="center" |
| | | width="200" |
| | | prop="createTime" |
| | | /> |
| | | <el-table-column |
| | | label="审核人" |
| | | align="center" |
| | | width="150" |
| | | prop="checkusername" |
| | | /> |
| | | <el-table-column |
| | | label="审核结果" |
| | | align="center" |
| | | width="200" |
| | | prop="flowconclusion" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.flowconclusion == 1">通过</span> |
| | | <span v-if="scope.row.flowconclusion == 2">不通过</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="审核备注" align="center" prop="flowcontent" /> |
| | | <el-table-column |
| | | label="审核备注" |
| | | align="center" |
| | | prop="flowcontent" |
| | | /> |
| | | </el-table> |
| | | </el-row> |
| | | <el-row style="margin-top: 25px; margin-bottom: 5px" |
| | | v-if="operationType == 'check' && userprofile.nickName == '陈慕华'"> |
| | | <el-row |
| | | style="margin-top: 25px; margin-bottom: 5px" |
| | | v-if="operationType == 'check' && userprofile.nickName == '陈慕华'" |
| | | > |
| | | <el-col :span="12"> |
| | | <el-form-item label="预审材料" prop="infoid"> |
| | | <el-radio-group v-model="form.checkstatus" align="left"> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row style="margin-top: 25px; margin-bottom: 5px" v-if="operationType == 'check'"> |
| | | <el-row |
| | | style="margin-top: 25px; margin-bottom: 5px" |
| | | v-if="operationType == 'check'" |
| | | > |
| | | <el-col :span="7"> |
| | | <el-form-item label="审核结果" align="left"> |
| | | <el-radio-group v-model="checkObj.flowlevelone" align="left"> |
| | |
| | | </el-row> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm" v-if="operationType == 'edit' || userprofile.nickName == '陈慕华'">保 |
| | | 存</el-button> |
| | | <el-button type="primary" @click="checksubmit" v-if="operationType == 'check'">提交审核</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="submitForm" |
| | | v-if="operationType == 'edit' || userprofile.nickName == '陈慕华'" |
| | | >保 存</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | @click="checksubmit" |
| | | v-if="operationType == 'check'" |
| | | >提交审核</el-button |
| | | > |
| | | <!--<el-button @click="cancel">退 出</el-button>--> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog v-dialogDrags :modal="false" :close-on-click-modal="false" :title="pdftitle" :visible.sync="pdfVisible" |
| | | width="60%"> |
| | | <el-dialog |
| | | v-dialogDrags |
| | | :modal="false" |
| | | :close-on-click-modal="false" |
| | | :title="pdftitle" |
| | | :visible.sync="pdfVisible" |
| | | width="60%" |
| | | > |
| | | <div> |
| | | <el-table :data="tableDatatop" style="width: 100%"> |
| | | <el-table-column prop="orderno" label="序号"> </el-table-column> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <el-tabs style="margin-top: 20px;" v-model="activeName" type="border-card" @tab-click="handleClick"> |
| | | <el-tabs |
| | | style="margin-top: 20px;" |
| | | v-model="activeName" |
| | | type="border-card" |
| | | @tab-click="handleClick" |
| | | > |
| | | <el-tab-pane label="普通附件" :name="1"> |
| | | <div class="pdfimg"> |
| | | <div class="box-pdf"> |
| | | <div> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="fileListto" |
| | | :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => |
| | | <el-upload |
| | | size="mini" |
| | | class="upload-demo" |
| | | :action="uploadFileUrl" |
| | | :file-list="fileListto" |
| | | :show-file-list="false" |
| | | multiple |
| | | drag |
| | | :headers="headers" |
| | | :on-success=" |
| | | (response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" |
| | | :on-remove="remove" accept="image/*,.pdf"> |
| | | " |
| | | :on-preview="downFile" |
| | | :disabled="operationType == 'detail'" |
| | | :on-error="handleUploadError" |
| | | :on-remove="remove" |
| | | accept="image/*,.pdf" |
| | | > |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text"> |
| | | 将票据拖到此处,或 |
| | | <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">点击上传</el-button></em> |
| | | <em |
| | | ><el-button |
| | | :disabled="operationType == 'detail'" |
| | | size="small" |
| | | type="primary" |
| | | >点击上传</el-button |
| | | ></em |
| | | > |
| | | </div> |
| | | </el-upload> |
| | | <el-table :data="fileListto" @row-click="downFile" style="width: 100%" height="400"> |
| | | <el-table-column prop="name" :show-overflow-tooltip="true" label="名称"> |
| | | <el-table |
| | | :data="fileListto" |
| | | @row-click="downFile" |
| | | style="width: 100%" |
| | | height="400" |
| | | > |
| | | <el-table-column |
| | | prop="name" |
| | | :show-overflow-tooltip="true" |
| | | label="名称" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <i style="color:#409EFF" class=" el-icon-s-order" />{{ |
| | | scope.row.name |
| | |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="功能"> |
| | | <el-table-column |
| | | prop="name" |
| | | width="180" |
| | | :show-overflow-tooltip="true" |
| | | label="功能" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)">删除</el-button> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)">上移</el-button> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)" |
| | | >上移</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-if="this.previewpdf && pdfimgsrcList.length" class="pdfimgmin"> |
| | | <div |
| | | v-if="this.previewpdf && pdfimgsrcList.length" |
| | | class="pdfimgmin" |
| | | > |
| | | <!-- <img :src="pdfimg" /> --> |
| | | <el-image style="width: 95%; height: 90%" :src="pdfimg" :preview-src-list="pdfimgsrcList"> |
| | | <el-image |
| | | style="width: 95%; height: 90%" |
| | | :src="pdfimg" |
| | | :preview-src-list="pdfimgsrcList" |
| | | > |
| | | <!-- <div slot="error" class="image-slot"> |
| | | <i class="el-icon-picture-outline"></i> |
| | | </div> --> |
| | |
| | | <div class="pdfimg"> |
| | | <div class="box-pdf"> |
| | | <div> |
| | | <el-upload size="mini" class="upload-demo" :action="uploadFileUrl" :file-list="invoicefileList" |
| | | :show-file-list="false" multiple drag :headers="headers" :on-success="(response, file, fileList) => |
| | | <el-upload |
| | | size="mini" |
| | | class="upload-demo" |
| | | :action="uploadFileUrl" |
| | | :file-list="invoicefileList" |
| | | :show-file-list="false" |
| | | multiple |
| | | drag |
| | | :headers="headers" |
| | | :on-success=" |
| | | (response, file, fileList) => |
| | | uploadSccess(response, file, fileList) |
| | | " :on-preview="downFile" :disabled="operationType == 'detail'" :on-error="handleUploadError" |
| | | :on-remove="remove" accept="image/*,.pdf"> |
| | | " |
| | | :on-preview="downFile" |
| | | :disabled="operationType == 'detail'" |
| | | :on-error="handleUploadError" |
| | | :on-remove="remove" |
| | | accept="image/*,.pdf" |
| | | > |
| | | <i class="el-icon-upload"></i> |
| | | <div class="el-upload__text"> |
| | | 将发票文件拖到此处,或 |
| | | <em><el-button :disabled="operationType == 'detail'" size="small" type="primary">点击上传</el-button></em> |
| | | <em |
| | | ><el-button |
| | | :disabled="operationType == 'detail'" |
| | | size="small" |
| | | type="primary" |
| | | >点击上传</el-button |
| | | ></em |
| | | > |
| | | </div> |
| | | </el-upload> |
| | | <el-table :data="invoicefileListto" @row-click="downFile" style="width: 100%" height="400"> |
| | | <el-table-column prop="name" :show-overflow-tooltip="true" label="名称"> |
| | | <el-table |
| | | :data="invoicefileListto" |
| | | @row-click="downFile" |
| | | style="width: 100%" |
| | | height="400" |
| | | > |
| | | <el-table-column |
| | | prop="name" |
| | | :show-overflow-tooltip="true" |
| | | label="名称" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <i style="color:#409EFF" class=" el-icon-s-order" />{{ |
| | | scope.row.name |
| | |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="name" width="180" :show-overflow-tooltip="true" label="功能"> |
| | | <el-table-column |
| | | prop="name" |
| | | width="180" |
| | | :show-overflow-tooltip="true" |
| | | label="功能" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)">删除</el-button> |
| | | <el-button type="primary" size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)">上移</el-button> |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click.native.prevent.stop="deletedowfile(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button |
| | | type="primary" |
| | | size="mini" |
| | | @click.native.prevent.stop="moveupdowfile(scope.row)" |
| | | >上移</el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-if="this.previewpdf && invoicepdfimgsrcList.length" class="pdfimgmin"> |
| | | <div |
| | | v-if="this.previewpdf && invoicepdfimgsrcList.length" |
| | | class="pdfimgmin" |
| | | > |
| | | <!-- <img :src="pdfimg" /> --> |
| | | <el-image style="width: 95%; height: 90%" :src="invoicepdfimg" :preview-src-list="invoicepdfimgsrcList"> |
| | | <el-image |
| | | style="width: 95%; height: 90%" |
| | | :src="invoicepdfimg" |
| | | :preview-src-list="invoicepdfimgsrcList" |
| | | > |
| | | <!-- <div slot="error" class="image-slot"> |
| | | <i class="el-icon-picture-outline"></i> |
| | | </div> --> |
| | |
| | | </el-tabs> |
| | | </el-dialog> |
| | | <el-dialog title="提示" :visible.sync="Savereminder" width="30%"> |
| | | <el-alert :title="'您已添加' + |
| | | totalquantity + |
| | | '条数据,为防止数据丢失是否提交保存再继续添加。' |
| | | " type="warning"> |
| | | <el-alert |
| | | :title=" |
| | | '您已添加' + |
| | | totalquantity + |
| | | '条数据,为防止数据丢失是否提交保存再继续添加。' |
| | | " |
| | | type="warning" |
| | | > |
| | | </el-alert> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="unsave">取 消</el-button> |
| | |
| | | value: 0, |
| | | label: "" |
| | | }, |
| | | ICDtoken: getToken(), |
| | | pdfimgsrcList: [], |
| | | Savereminder: false, //提醒保存弹框 |
| | | Reminderquantity: 0, //提醒数量 |
| | |
| | | if ( |
| | | (JSON.stringify(this.form) == sessionStorage.getItem("apiform") && |
| | | JSON.stringify(this.rbDetails) == |
| | | sessionStorage.getItem("apifunddetail")) || |
| | | sessionStorage.getItem("apifunddetail")) || |
| | | !sessionStorage.getItem("apifunddetail") |
| | | ) { |
| | | } else { |
| | |
| | | } |
| | | }, |
| | | |
| | | handleUploadError() { }, |
| | | handleUploadError() {}, |
| | | // 获取请求头 |
| | | Getnetworkheader() { |
| | | console.log(window.location.href); |
| | |
| | | //文件上传成功回调 |
| | | uploadSccess(response, file, fileList) { |
| | | this.rbDetails; |
| | | const config = { |
| | | headers: { Authorization: "Bearer " + this.ICDtoken } |
| | | }; |
| | | const pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | //获取票据信息位置 |
| | | if (this.activeName == 1) { |
| | | if (response.code == 200) { |
| | | // this.form.filename = file.raw.name; |
| | | this.previewpdf = true; |
| | | |
| | | fetch(pdfimg, config) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | // 将获取的数据流转换为URL |
| | | this.pdfimg = URL.createObjectURL(blob); |
| | | this.pdfimgsrcList.push(URL.createObjectURL(blob)); |
| | | this.fileListto.push({ |
| | | name: file.name, |
| | | url: URL.createObjectURL(blob) |
| | | }); |
| | | }) |
| | | .catch(error => { |
| | | console.error("Error loading image", error); |
| | | return; |
| | | }); |
| | | |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.fileListto.push({ |
| | | |
| | | console.log(this.fileListto, "新增后"); |
| | | if (!this.rbDetails[this.atpresent].annexfilesList) { |
| | | this.rbDetails[this.atpresent].annexfilesList = []; |
| | | } |
| | | this.rbDetails[this.atpresent].annexfilesList.push({ |
| | | name: file.name, |
| | | url: response.fileName |
| | | }); |
| | | this.pdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + response.fileName |
| | | ); |
| | | console.log(this.pdfimgsrcList); |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | this.rbDetails[this.atpresent].annexfilesList = this.fileListto; |
| | | } else { |
| | | console.log(response.msg); |
| | | } |
| | | } else { |
| | | if (response.code == 200) { |
| | | // this.form.filename = file.raw.name; |
| | | this.previewpdf = true; |
| | | fetch(pdfimg, config) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | // 将获取的数据流转换为URL |
| | | this.invoicepdfimg = URL.createObjectURL(blob); |
| | | this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); |
| | | this.invoicefileListto.push({ |
| | | name: file.name, |
| | | url: URL.createObjectURL(blob) |
| | | }); |
| | | }) |
| | | .catch(error => { |
| | | console.error("Error loading image", error); |
| | | return; |
| | | }); |
| | | |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.invoicefileListto.push({ |
| | | |
| | | console.log(this.invoicefileListto, "新增后"); |
| | | if (!this.rbDetails[this.atpresent].invoicefilesList) { |
| | | this.rbDetails[this.atpresent].invoicefilesList = []; |
| | | } |
| | | this.rbDetails[this.atpresent].invoicefilesList.push({ |
| | | name: file.name, |
| | | url: response.fileName |
| | | }); |
| | | this.invoicepdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + response.fileName |
| | | ); |
| | | console.log(this.invoicepdfimgsrcList); |
| | | this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | this.rbDetails[ |
| | | this.atpresent |
| | | ].invoicefilesList = this.invoicefileListto; |
| | | } else { |
| | | console.log(response.msg); |
| | | } |
| | | } |
| | | }, |
| | | // 点击票据 |
| | | Filepopup(index, rows, row) { |
| | | const config = { |
| | | headers: { Authorization: "Bearer " + this.ICDtoken } |
| | | }; |
| | | |
| | | this.tableDatatop = []; |
| | | this.fileListto = []; |
| | | this.invoicepdfimg = []; |
| | | this.pdfimgsrcList = []; |
| | | this.invoDatatop = []; |
| | | this.invoicepdfimgsrcList = []; |
| | |
| | | this.tableDatatop.push(row); |
| | | this.atpresent = index; |
| | | this.pdfVisible = true; |
| | | console.log(this.rbDetails[index]); |
| | | |
| | | if (this.rbDetails[index].annexfilesList) { |
| | | this.previewpdf = true; |
| | | this.fileListto = this.rbDetails[index].annexfilesList; |
| | | console.log(this.fileListto); |
| | | this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; |
| | | this.fileListto.forEach(item => { |
| | | this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); |
| | | this.rbDetails[index].annexfilesList.forEach((value, indexson) => { |
| | | const pdfimg = this.Networkheader + "/prod-api" + value.url; |
| | | fetch(pdfimg, config) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | // 将获取的数据流转换为URL |
| | | this.fileListto.push({ |
| | | name: value.name, |
| | | url: URL.createObjectURL(blob) |
| | | }); |
| | | if (this.fileListto.length == 1) { |
| | | this.pdfimg = URL.createObjectURL(blob); |
| | | } |
| | | this.pdfimgsrcList.push(URL.createObjectURL(blob)); |
| | | }) |
| | | .catch(error => { |
| | | console.error("Error loading image", error); |
| | | return; |
| | | }); |
| | | }); |
| | | this.previewpdf = true; |
| | | } else { |
| | | this.fileListto = []; |
| | | this.pdfimg = ""; |
| | | this.pdftitle = ""; |
| | | } |
| | | // -发票文件 |
| | | //发票 |
| | | if (this.rbDetails[index].invoicefilesList) { |
| | | this.previewpdf = true; |
| | | this.invoicefileListto = this.rbDetails[index].invoicefilesList; |
| | | console.log(this.invoicefileListto); |
| | | this.invoicepdfimg = |
| | | this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; |
| | | this.invoicefileListto.forEach(item => { |
| | | this.invoicepdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + item.url |
| | | ); |
| | | this.rbDetails[index].invoicefilesList.forEach((value, indexson) => { |
| | | const pdfimg = this.Networkheader + "/prod-api" + value.url; |
| | | fetch(pdfimg, config) |
| | | .then(response => response.blob()) |
| | | .then(blob => { |
| | | // 将获取的数据流转换为URL |
| | | this.invoicefileListto.push({ |
| | | name: value.name, |
| | | url: URL.createObjectURL(blob) |
| | | }); |
| | | if (this.invoicefileListto.length == 1) { |
| | | this.invoicepdfimg = URL.createObjectURL(blob); |
| | | } |
| | | this.invoicepdfimgsrcList.push(URL.createObjectURL(blob)); |
| | | }) |
| | | .catch(error => { |
| | | console.error("Error loading image", error); |
| | | return; |
| | | }); |
| | | }); |
| | | console.log(this.invoicepdfimgsrcList); |
| | | console.log(this.invoicepdfimg); |
| | | this.previewpdf = true; |
| | | } else { |
| | | this.invoicefileListto = []; |
| | | this.invoicepdfimg = ""; |
| | |
| | | // 点击已上传文件 |
| | | downFile(item) { |
| | | if (this.activeName == 1) { |
| | | console.log(item, "点击文件拿item"); |
| | | this.pdftitle = |
| | | "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name; |
| | | let name = item.name.split("."); |
| | |
| | | this.previewpdf = false; |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | | } else if (name[1] == "jpg" || "png") { |
| | | console.log(item, "展示"); |
| | | this.previewpdf = true; |
| | | if (item.url) { |
| | | this.pdfimg = this.Networkheader + "/prod-api" + item.url; |
| | | this.pdfimg = item.url; |
| | | } else { |
| | | this.pdfimg = this.Networkheader + "/prod-api" + item.response.url; |
| | | this.pdfimg = ""; |
| | | } |
| | | } else { |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | |
| | | this.previewpdf = false; |
| | | } |
| | | } else { |
| | | console.log(item, "点击文件拿item"); |
| | | this.pdftitle = |
| | | "共" + this.invoicepdfimgsrcList.length + "项,当前选中" + item.name; |
| | | let name = item.name.split("."); |
| | |
| | | } else if (name[1] == "jpg" || "png") { |
| | | this.previewpdf = true; |
| | | if (item.url) { |
| | | this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url; |
| | | console.log(this.invoicepdfimg, "pdfimg"); |
| | | console.log(this.invoicepdfimgsrcList, "imglist"); |
| | | this.invoicepdfimg = item.url; |
| | | } else { |
| | | this.invoicepdfimg = |
| | | this.Networkheader + "/prod-api" + item.response.url; |
| | | this.invoicepdfimg = ""; |
| | | } |
| | | } else { |
| | | this.hintitle = "当前文件暂不支持预览"; |
| | |
| | | }, |
| | | // 点击删除 |
| | | deletedowfile(row) { |
| | | console.log(row); |
| | | let indexvalue = ""; |
| | | if (this.activeName == 1) { |
| | | const indexlist = this.getIndexInArray( |
| | | this.pdfimgsrcList, |
| | | this.Networkheader + "/prod-api" + row.url |
| | | ); |
| | | const indexlist = this.getIndexInArray(this.pdfimgsrcList, row.url); |
| | | this.pdfimgsrcList.splice(indexlist, 1); |
| | | const index = this.getIndexInArray(this.fileListto, row); |
| | | this.fileListto.splice(index, 1); |
| | | console.log(this.rbDetails[this.atpresent].annexfilesList); |
| | | indexvalue = this.rbDetails[this.atpresent].annexfilesList.find( |
| | | (item, index) => { |
| | | return item.name == row.name; |
| | | } |
| | | ); |
| | | console.log(indexvalue, "删除索引"); |
| | | this.rbDetails[this.atpresent].annexfilesList.splice(indexvalue, 1); |
| | | } else { |
| | | const indexlist = this.getIndexInArray( |
| | | this.invoicepdfimgsrcList, |
| | | this.Networkheader + "/prod-api" + row.url |
| | | row.url |
| | | ); |
| | | this.invoicepdfimgsrcList.splice(indexlist, 1); |
| | | const index = this.getIndexInArray(this.invoicefileListto, row); |
| | | this.invoicefileListto.splice(index, 1); |
| | | console.log(this.rbDetails[this.atpresent].invoicefilesList); |
| | | indexvalue = this.rbDetails[this.atpresent].invoicefilesList.find( |
| | | (item, index) => { |
| | | return item.name == row.name; |
| | | } |
| | | ); |
| | | console.log(indexvalue, "删除索引"); |
| | | this.rbDetails[this.atpresent].invoicefilesList.splice(indexvalue, 1); |
| | | } |
| | | }, |
| | | // 点击上移 |
| | |
| | | row.days = ( |
| | | Math.floor( |
| | | Math.abs(Date.parse(row.starttime) - Date.parse(row.endtime)) / |
| | | (1000 * 3600 * 24) |
| | | (1000 * 3600 * 24) |
| | | ) + 1 |
| | | ).toString(); |
| | | } else { |
| | |
| | | var aEle = document.createElement("a"); |
| | | aEle.href = |
| | | curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; |
| | | aEle.click(); |
| | | console.log(aEle.href); |
| | | // 添加Authorization头部 |
| | | fetch(aEle.href, { |
| | | headers: this.headers |
| | | }) |
| | | .then(response => { |
| | | // 将文件下载链接作为blob对象进行下载 |
| | | return response.blob(); |
| | | }) |
| | | .then(blob => { |
| | | const url = window.URL.createObjectURL(new Blob([blob])); |
| | | console.log(url); |
| | | const link = document.createElement("a"); |
| | | link.href = url; |
| | | const name = fileUrl["downloadName"]; |
| | | link.setAttribute("download", name); // 替换file.pdf为实际的文件名 |
| | | document.body.appendChild(link); |
| | | link.click(); |
| | | link.parentNode.removeChild(link); |
| | | }); |
| | | }); |
| | | |
| | | // downloadconfirmationinfo(id).then((response) => { |
| | | // var fileUrl = response; |
| | | // //获取当前网址 |
| | | // var urlBase = process.env.VUE_APP_BASE_API; |
| | | // var curWWWPath = window.document.location.href; |
| | | // var pos = curWWWPath.indexOf(window.document.location.pathname); |
| | | // // 创建a标签 |
| | | // var aEle = document.createElement("a"); |
| | | // aEle.href = |
| | | // curWWWPath.substring(0, pos) + urlBase + fileUrl["downloadUrl"]; |
| | | // aEle.click(); |
| | | // }); |
| | | }, |
| | | |
| | | /** 查询报销申请列表 */ |
| | |
| | | |
| | | this.fileListto = this.form.annexfiles |
| | | ? this.form.annexfiles |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | this.invoicefileListto = this.form.invoicefilesList |
| | | ? this.form.invoicefilesList |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | this.form.recordstatus = response.data.recordstatus + ""; |
| | | sessionStorage.removeItem("apiform"); |
| | |
| | | //票据 |
| | | this.fileListto = this.form.annexfiles |
| | | ? this.form.annexfiles |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | this.invoicefileListto = this.form.invoicefilesList |
| | | ? this.form.invoicefilesList |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | //审核状态 |
| | | this.form.recordstatus = response.data.recordstatus + ""; |
| | |
| | | //票据 |
| | | this.fileListto = this.form.annexfiles |
| | | ? this.form.annexfiles |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | this.invoicefileListto = this.form.invoicefilesList |
| | | ? this.form.invoicefilesList |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | .split(",") |
| | | .map(item => ({ url: item, name: item })) |
| | | : []; |
| | | |
| | | //审核状态 |
| | |
| | | }, |
| | | |
| | | /** 提交保存按钮 */ |
| | | submitForm: debounce(function (data) { |
| | | submitForm: debounce(function(data) { |
| | | this.$refs["form"].validate(valid => { |
| | | if (valid) { |
| | | |
| | | //票据文件处理 |
| | | const addnumber = this.rbPayees.reduce( |
| | | (amount, item) => amount + Number(item.amount), |
| | |
| | | //保存明细 |
| | | for (let i = 0; i < rbDetails.length; i++) { |
| | | if (rbDetails[i].rbid != null) { |
| | | updateReimbursementdetail(rbDetails[i]); |
| | | if (rbDetails[i].persontype == "家属") { |
| | | if (this.form.infoid) { |
| | | updateReimbursementdetail(rbDetails[i]); |
| | | } else { |
| | | return this.$message.error(`因家属分配要求,请选择捐献者信息`); |
| | | } |
| | | } else { |
| | | updateReimbursementdetail(rbDetails[i]); |
| | | } |
| | | } else { |
| | | //rbid关联主表Id |
| | | rbDetails[i].rbid = this.form.id; |
| | | addReimbursementdetail(rbDetails[i]); |
| | | if (rbDetails[i].persontype == "家属") { |
| | | if (this.form.infoid) { |
| | | //rbid关联主表Id |
| | | rbDetails[i].rbid = this.form.id; |
| | | addReimbursementdetail(rbDetails[i]); |
| | | } else { |
| | | return this.$message.error(`因家属分配要求,请选择捐献者信息`); |
| | | } |
| | | } else { |
| | | //rbid关联主表Id |
| | | rbDetails[i].rbid = this.form.id; |
| | | addReimbursementdetail(rbDetails[i]); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | this.form.recordstatus = -1; |
| | | // 申请时间 |
| | | var currenttime = new Date(); |
| | | this.form.applyTime = currenttime.getFullYear() + "-" + (currenttime.getMonth() + 1) + "-" + currenttime.getDate() + " " + currenttime.getHours() + ":" + currenttime.getMinutes() + ":" + currenttime.getSeconds(); |
| | | |
| | | this.form.applyTime = |
| | | currenttime.getFullYear() + |
| | | "-" + |
| | | (currenttime.getMonth() + 1) + |
| | | "-" + |
| | | currenttime.getDate() + |
| | | " " + |
| | | currenttime.getHours() + |
| | | ":" + |
| | | currenttime.getMinutes() + |
| | | ":" + |
| | | currenttime.getSeconds(); |
| | | |
| | | addReimbursement(this.form) |
| | | .then(response => { |
| | | //保存明细 |
| | |
| | | const ids = row.id || this.ids; |
| | | this.$modal |
| | | .confirm("是否确认删除该条记录?") |
| | | .then(function () { |
| | | .then(function() { |
| | | // 删除details内的数据 |
| | | return delReimbursement(ids); |
| | | }) |
| | |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | |
| | | /** 导出按钮操作 */ |
| | |
| | | this.$download.name(response.msg); |
| | | this.exportLoading = false; |
| | | }) |
| | | .catch(() => { }); |
| | | .catch(() => {}); |
| | | }, |
| | | // 取消提醒 |
| | | unsave() { |
| | |
| | | |
| | | this.form.amountrequested = allSum.toFixed(2); |
| | | this.form.bigstrmoney = this.convertCurrency(this.form.amountrequested); |
| | | } catch { } |
| | | } catch {} |
| | | }, |
| | | |
| | | //金额数字转换成大写 |