|
- <template>
- <div class="app-container">
- <van-nav-bar
- left-arrow
- fixed
- placeholder
- @click-left="backDone"
- >
- <template #title>
- <p style="font-weight: bold;">转账/还款审批</p>
- </template>
- <template #right>
- <van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
- </template>
- </van-nav-bar>
- <p class="main_title">基础信息</p>
- <div class="main_box">
- <van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
- <van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
- <van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
- <van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
- <template #input>
- <van-radio-group v-model="form.approvalMode" direction="horizontal">
- <van-radio name="1">线上审批</van-radio>
- <van-radio name="2">线下审批</van-radio>
- </van-radio-group>
- </template>
- </van-field>
- <van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" input-align="right" label-width="auto"/>
- </div>
-
- <div class="main_box" style="margin-top: 10px;">
- <van-field readonly label="转账附言" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
- </div>
-
- <div class="main_box" style="margin-top: 10px;">
- <van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
- </div>
-
- <p class="main_title">付款方信息</p>
- <div class="main_box">
- <van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
- <van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
- </div>
-
- <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
- <van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
- <van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
- <van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
- <van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
- <van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
- </div>
- <div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
- <van-field readonly label="合同名称" v-model="infoForm.name" input-align="right" />
- <van-field readonly label="合同编码" v-model="infoForm.code" input-align="right" label-width="auto"/>
- <van-field readonly label="合同价款(元)" v-model="infoForm.totalAmount" input-align="right" label-width="auto"/>
- </div>
-
- <p class="main_title">收款方信息</p>
-
- <div class="main_box" style="margin-bottom: 15px;">
- <van-field readonly label="收款账户类型" v-if="form.bankType==1" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" />
- <van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />
-
- </div>
-
- <div :style="{position:'relative'}">
- <div class="main_box" style="margin-bottom: 10px;position:relative;" v-for="(item, index) in chargeItme" v-if="index<listLength" :key="index">
- <van-field readonly label="收款方" v-model="item.payee" input-align="right" />
- <van-field readonly label="收款账户" v-model="item.payeeAccount" input-align="right" label-width="auto"/>
- <van-field readonly label="开户银行" v-model="item.bankDeposit" input-align="right" label-width="auto"/>
- <van-field readonly label="收入金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
- <van-field readonly label="所属银行" v-model="item.bankTypeText" input-align="right" />
- </div>
- <p class="main_more" v-if="chargeItme.length>1 && showbtn" @click="openItem">查看更多</p>
- <p class="main_more" v-if="chargeItme.length>1 && !showbtn" @click="listLength = 1,showbtn=true">收起列表</p>
- </div>
- <p class="main_title">上传附件(收据)</p>
- <div class="main_box" style="padding: 5px 0 0 8px;">
- <van-uploader v-model="fileList1" v-if="fileList1==null||fileList1.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
- <van-uploader v-model="fileList1" v-if="fileList1!=null&&fileList1.length>0" :deletable="false" :max-count="fileList1.length" >
- <template #preview-cover="file">
- <div class="preview-cover">
- <img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/>
- <img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" />
- <img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" />
- <img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" />
- <img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" />
- </div>
- </template>
- </van-uploader>
- </div>
- <p style="margin-top:20px;padding: 0 10px">附件下载(收据){{fileList1&&fileList1.length==0?':暂无可下载文件':''}}</p>
- <van-cell v-for="(item,index) in fileList1" :key="index">
- <a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a>
- </van-cell>
- <p class="main_title">上传附件(发票)</p>
- <div class="main_box" style="padding: 5px 0 0 8px;">
- <van-uploader v-model="fileList2" v-if="fileList2==null||fileList2.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
- <van-uploader v-model="fileList2" v-if="fileList2!=null&&fileList2.length>0" :deletable="false" :max-count="fileList2.length" >
- <template #preview-cover="file">
- <div class="preview-cover">
- <img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/>
- <img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" />
- <img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" />
- <img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" />
- <img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" />
- </div>
- </template>
- </van-uploader>
- </div>
- <p style="margin-top:20px;padding: 0 10px">附件下载(发票){{fileList2&&fileList2.length==0?':暂无可下载文件':''}}</p>
- <van-cell v-for="(item,index) in fileList2" :key="index">
- <a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a>
- </van-cell>
- <p class="main_title">上传附件(其他)</p>
- <div class="main_box" style="padding: 5px 0 0 8px;">
- <van-uploader v-model="fileList3" v-if="fileList3==null||fileList3.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
- <van-uploader v-model="fileList3" v-if="fileList3!=null&&fileList3.length>0" :deletable="false" :max-count="fileList3.length" >
- <template #preview-cover="file">
- <div class="preview-cover">
- <img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/>
- <img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" />
- <img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" />
- <img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" />
- <img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" />
- </div>
- </template>
- </van-uploader>
- </div>
- <p style="margin-top:20px;padding: 0 10px">附件下载(其他){{fileList3&&fileList3.length==0?':暂无可下载文件':''}}</p>
- <van-cell v-for="(item,index) in fileList3" :key="index">
- <a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a>
- </van-cell>
- <div class="main_box examine_box" v-if="this.$route.query.type != 'done'">
- <van-row type="flex" justify="space-between" align="center">
- <van-col span="5">审批<br/>意见</van-col>
- <van-col span="19">
- <van-radio-group v-model="pass" direction="horizontal">
- <van-radio name="true">同意</van-radio>
- <van-radio name="false">驳回</van-radio>
- </van-radio-group>
- <van-field rows="2" autosize v-model="comment" type="textarea" placeholder="请输入审批意见"/>
- </van-col>
- </van-row>
- </div>
-
- <div style="margin: 16px 2%;" v-if="this.$route.query.type != 'done'">
- <van-row>
- <van-col span="24" align="center">
- <van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button>
- </van-col>
- </van-row>
- <div class="clear"></div>
- </div>
-
- </div>
- </template>
-
- <script>
- import { getTransfer , queryTransferDetail , listPayee , getProjectto , listProject ,getInfoto, approval ,listTemplate } from "@/api/onlineHome/bankAgriculture/paymentApproval";
- import {attachmentList, systemAttachment} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
- import request from '@/utils/request'
- export default {
- name: "approvalApproval",
- data() {
- return {
- showcapital:false,
- showpayee:false,
- showlasj:false,
- showbankType:false,
- showproject:false,
- showFundType:false,
-
- minDate: new Date(2000, 1, 1),
- maxDate: new Date(2050, 12, 31),
- currentDate: new Date(),
- form:{},
-
- capitalExpenditureType:'',
- payee:'',
- bankType:'',
-
- wfydlxDictionaries:[],
- jglxDictionaries:[],
- sysDictionaries:[],
- capitalExpenditureTypeOptions:[],
- bankTypeDictionaries:[],
- projectList:[],
- projectFundTypeOptions:[],
- projectFundTypeDictionaries:[],
- projectListShow:[],
-
- chargeItme:[],
- chargeItmeShow:[],
-
- payeeList:[],
- // 查询参数
- queryParams: {
- transferType:"",
- orderByColumn: "id",
- isAsc: "desc",
- },
- capitalExpenditureOpen:false,
- projectForm:{
- projectId:null,
- projectName:null,
- projectContractor:null,
- projectAmount:null,
- projectBillNum:null,
- projectFundType:'1',
- outId:null,
- ynType:'1'
- },
- contractOpen:false,
- infoForm:{
- infoId:null,
- name:null,
- code:null,
- totalAmount:null,
- contractionId:null,
- transferId:null
- },
- approval: {
- taskId: null,
- auditbatchNo: null,
- type: null,
- id: null,
- comment: '',
- },
- projectFundType:'',
- fileList1:[],
- fileList2:[],
- fileList3:[],
- uploadFiles:[],
- // 审核意见默认值
- pass: "true",
- comment: "同意",
- templateList:[],
-
- listLength:1,
- showbtn:true,
-
- };
- },
- created() {
- this.getDicts("project_fund_type").then((response) => {
- for (var i = 0; i < response.data.length; i++) {
- this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
- }
- this.projectFundTypeDictionaries = response.data;
- });
- this.approval.type = this.$route.query.type;
- this.getDictionaries();
- this.getFileList();
- this.getTemplateList();
- },
- methods: {
- openItem(){
-
- this.listLength = this.listLength+5;
-
- if (this.listLength > this.chargeItme.length){
-
- this.listLength = this.chargeItme.length;
-
- this.showbtn = false;
-
- }
-
- },
- getTemplateList(){
- let templateQueryParams = {
- // 分页
- pageNum: 1,
- pageSize: 999,
- };
- listTemplate(templateQueryParams).then(response => {
- this.templateList = response.rows;
- });
- },
- tempalteFormat(id){
- let name = ""
- this.templateList.map(res => {
- if(res.id==id){
- name = res.name
- }
- })
- return name
- },
- backDone(){
- if(this.$route.query.type != 'done'){
- this.$router.push({name:'yinnongDoneCompletedDoneNew',query: {activeName:'1'}})
- }else{
- this.$router.push({name:'yinnongDoneCompletedDoneNew',query: {activeName:'2'}})
- }
- },
- goFlow(){
- window.location='approvalProcess?id='+this.$route.query.id+'&auditbatchNo='+this.$route.query.auditbatchNo;
- },
- getDictionaries(){
- getTransfer(this.$route.query.id).then((response) => {
- this.getDicts("capital_expenditure_type").then((res) => {
- for (var i = 0; i < res.data.length; i++) {
- this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
- }
- this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
- });
- if(response.data.capitalExpenditureType==2){
- this.capitalExpenditureOpen = true
- let param={
- 'outId' : response.data.id,
- 'ynType' : '1'
- }
- getProjectto(param).then(res => {
- this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
- this.projectForm = res.data
- })
- }else if(response.data.capitalExpenditureType==4) {
- this.contractOpen = true
- let param = {
- 'transferId': response.data.id
- }
- getInfoto(param).then(res => {
- this.infoForm = res.data
- })
- }else{
- this.showproject = false
- }
- this.form = response.data;
- });
- queryTransferDetail(this.$route.query.id).then((response) => {
- this.getDicts("bank_type_all").then(res => {
- for (var i = 0; i < res.data.length; i++) {
- this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
- }
- for (var j = 0 ; j < response.rows.length ; j++){
- response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
- }
- this.chargeItme = response.rows;
- });
- this.getPayeeList();
- });
- },
- getPayeeList() {
- //普通转账
- this.queryParams.accountType = this.form.accountType
- this.queryParams.status = "0"
- listPayee(this.queryParams).then((response) => {
- for (var i = 0; i < response.rows.length; i++) {
- this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
- }
- });
- },
- getFileList(){
- let oData1= {
- tableId: this.$route.query.id,
- tableName: "t_yinnong_transfer",
- bizPath: "transfer",
- fileType: "1",
- }
- attachmentList(oData1).then(res => {
- res.rows.map(r => {
- let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
- let subIndex = r.fileName.lastIndexOf(".");
- let ext = r.fileName.substring(subIndex + 1, r.fileName.length);
- this.fileList1.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext,"fileName":r.fileName})
- })
- })
- let oData2= {
- tableId: this.$route.query.id,
- tableName: "t_yinnong_transfer",
- bizPath: "transfer",
- fileType: "2",
- }
- attachmentList(oData2).then(res => {
- res.rows.map(r => {
- let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
- let subIndex = r.fileName.lastIndexOf(".");
- let ext = r.fileName.substring(subIndex + 1, r.fileName.length);
- this.fileList2.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext,"fileName":r.fileName})
- })
- })
- let oData3= {
- tableId: this.$route.query.id,
- tableName: "t_yinnong_transfer",
- bizPath: "transfer",
- fileType: "3",
- }
- attachmentList(oData3).then(res => {
- res.rows.map(r => {
- let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
- let subIndex = r.fileName.lastIndexOf(".");
- let ext = r.fileName.substring(subIndex + 1, r.fileName.length);
- this.fileList3.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext,"fileName":r.fileName})
- })
- })
- },
- /** 提交按钮 */
- submitForm() {
- console.info( this.$route.query.auditbatchNo)
- const data = {
- taskId: this.$route.query.taskId,
- auditbatchNo: this.$route.query.auditbatchNo,
- remark: this.comment,
- pass: this.pass,
- };
- approval(data).then((response) => {
- if(response.code==200 && response.msg=="操作成功"){
- this.$toast.success("操作成功");
- setTimeout(function(){
- history.go(-1)
- },2000)
- } else{
- this.$toast.success("操作失败");
- }
- });
- },
- },
- watch: {
- pass: function (val) {
- this.comment = val === "true" ? "同意" : "驳回";
- },
- },
- }
- </script>
-
- <style scoped lang="scss">
- .app-container {
- padding: 2% 0;
- }
- .main_more{
- width: 96%;
- margin: 0 auto;
- margin-top: 10px;
- border-radius: 6px;
- box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
- overflow: hidden;
- background-color: #FFF;
- text-align: center;
- padding: 10PX 0;
- }
- .main_title{
- font-size: 0.4rem;
- color: #1D6FE9;
- margin: 0.2rem 6%;
- position: relative;
- }
- .main_box{
- width: 96%;
- margin: 0 auto;
- border-radius: 6px;
- box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
- overflow: hidden;
- background-color: #FFF;
- }
- .submitButton{
- width: 96%;
- margin: 0 auto;
- }
-
- .addFamily{
- position: absolute;
- top: -2px;
- right: 0;
- border-radius: 50%;
- }
- .deleteFamily{
- position: absolute;
- top: 0rem;
- right: 6%;
- z-index: 9;
- border-radius: 50%;
- }
- .examine_box{
- background-color: #1D6FE9!important;
- padding: 0.18rem!important;
- padding-left: 0!important;
- border-radius: 0.15rem!important;
- margin-top: 0.3rem!important;
- }
- .examine_box .van-col:first-child{
- color: #FFF!important;
- font-size: 0.45rem!important;
- text-align: center!important;
- }
- .examine_box .van-col:last-child{
- background-color: #FFF!important;
- border-radius: 0.15rem!important;
- overflow: hidden!important;
- .van-radio-group--horizontal{
- padding: 0.2rem 0;
- border-bottom: 1px solid #eee;
- }
- }
- /deep/.van-radio--horizontal{
- margin-left: 20px;
- margin-right: 0;
- }
- </style>
|