| @@ -61,6 +61,7 @@ const whiteList = [ | |||
| '/lawEnforcement/waitingProcessing', | |||
| '/lawEnforcement/complaintAdd', | |||
| '/homesteadLogin', | |||
| '/yinnongLogin', | |||
| '/lawEnforcement/userRegister', | |||
| '/lawEnforcement/companyRegister', | |||
| @@ -97,7 +98,9 @@ router.beforeEach((to, from, next) => { | |||
| next({ path: '/homestead/login' }) | |||
| } else if (to.path.indexOf('/onlineHome') !== -1) { | |||
| next(`/onlineHomeLogin`) | |||
| } else if (to.path.indexOf('/homesteadSurvey') !== -1) { | |||
| } else if (to.path.indexOf('/yinnong') !== -1) { | |||
| next(`/yinnongLogin`) | |||
| }else if (to.path.indexOf('/homesteadSurvey') !== -1) { | |||
| next(`/homesteadLogin`) | |||
| }else if (to.path.indexOf('/lawEnforcement') !== -1) { | |||
| next(`//lawEnforcement/login`) | |||
| @@ -123,6 +126,8 @@ router.beforeEach((to, from, next) => { | |||
| next(`/homestead/login?redirect=${to.fullPath}`) | |||
| } else if (to.path.indexOf('/onlineHome') !== -1) { | |||
| next(`/onlineHomeLogin`) | |||
| }else if (to.path.indexOf('/yinnong') !== -1) { | |||
| next(`/yinnongLogin`) | |||
| } else if (to.path.indexOf('/homesteadSurvey') !== -1) { | |||
| next(`/homesteadLogin`) | |||
| }else if (to.path.indexOf('/lawEnforcement') !== -1) { | |||
| @@ -78,6 +78,8 @@ service.interceptors.response.use(res => { | |||
| window.location.href = '/homesteadLogin'; | |||
| } else if (window.location.href.indexOf('onlineHome')!= -1) { | |||
| window.location.href = '/onlineHomeLogin'; | |||
| }else if (window.location.href.indexOf('yinnong')!= -1) { | |||
| window.location.href = '/yinnongLogin'; | |||
| }else { | |||
| // 农村宅基地调查 | |||
| window.location.href = '/homesteadLogin'; | |||
| @@ -88,7 +88,7 @@ | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属镇账户' }]" | |||
| v-if="accountType=='银行存款'&&villageAccountType!='村虚拟账户'" | |||
| v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')&&form.villageAccountType!=1" | |||
| /> | |||
| <van-popup v-model="showTaccountId" position="bottom"> | |||
| <van-picker | |||
| @@ -98,7 +98,8 @@ | |||
| @cancel="showTaccountId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账户名称" input-align="right" label-width="auto"/> | |||
| <van-field label="客户编号" v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')" required :rules="[{ required: true , message:'请输入客户编号' }]" v-model="form.cifNo" placeholder="请输入客户编号" input-align="right" label-width="auto"/> | |||
| <van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账簿号" input-align="right" label-width="auto"/> | |||
| <van-field label="管控类型" required :rules="[{ required: true , message:'请选择管控类型' }]" v-if="accountType=='银行存款'&&form.bankType==2&&villageAccountType=='多级账簿'"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.managementControlType" @change="onConfirmManagementControlType"> | |||
| @@ -199,7 +200,7 @@ | |||
| </van-popup> | |||
| <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="账户类型" required :rules="[{ required: true , message:'请选择账户类型' }]"> | |||
| <van-field label="账户类型" v-if="accountType=='银行存款'" required :rules="[{ required: true , message:'请选择账户类型' }]"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.bankAccountType"> | |||
| <van-radio name="1">公户</van-radio> | |||
| @@ -316,7 +317,7 @@ | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| this.getTaList(); | |||
| }, | |||
| methods: { | |||
| @@ -22,7 +22,8 @@ | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.accountType" center :to="{name:'paymentAccountDetail', query: {id:item.id,type:'modify'}}"> | |||
| <!-- :to="{name:'paymentAccountDetail', query: {id:item.id,type:'modify'}}"--> | |||
| <van-cell :title="item.accountType" center > | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn10.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| @@ -23,6 +23,7 @@ | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| /> | |||
| <van-popup v-model="showAccountType" position="bottom"> | |||
| <van-picker | |||
| @@ -32,7 +33,150 @@ | |||
| @cancel="showAccountType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属银行" | |||
| placeholder="请选择" | |||
| v-model="bankType" | |||
| @click="showBankType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| /> | |||
| <van-popup v-model="showBankType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankTypeOptions" | |||
| @confirm="onConfirmBankType" | |||
| @cancel="showBankType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="账户分类" | |||
| placeholder="请选择" | |||
| v-model="villageAccountType" | |||
| @click="showVillageAccountType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择账户分类' }]" | |||
| v-if="accountType=='银行存款'&&(form.bankType==1||form.bankType==2)" | |||
| /> | |||
| <van-popup v-model="showVillageAccountType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="villageAccountTypeOptions" | |||
| @confirm="onConfirmVillageAccountType" | |||
| @cancel="showVillageAccountType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属镇账户" | |||
| placeholder="请选择" | |||
| v-model="taccountId" | |||
| @click="showTaccountId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属镇账户' }]" | |||
| v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')&&form.villageAccountType!=1" | |||
| /> | |||
| <van-popup v-model="showTaccountId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="taccountIdOptions" | |||
| @confirm="onConfirmTaccountId" | |||
| @cancel="showTaccountId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="客户编号" v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')" required :rules="[{ required: true , message:'请输入客户编号' }]" v-model="form.cifNo" placeholder="请输入客户编号" input-align="right" label-width="auto"/> | |||
| <van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账簿号" input-align="right" label-width="auto"/> | |||
| <van-field label="管控类型" required :rules="[{ required: true , message:'请选择管控类型' }]" v-if="accountType=='银行存款'&&form.bankType==2&&villageAccountType=='多级账簿'"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.managementControlType" @change="onConfirmManagementControlType"> | |||
| <van-radio name="1">账簿余额</van-radio> | |||
| <van-radio name="2">中心账簿</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="中心账套" | |||
| placeholder="请选择" | |||
| v-model="centralBookId" | |||
| @click="showCentralBookId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'&&form.managementControlType=='2'" | |||
| /> | |||
| <van-popup v-model="showCentralBookId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="centralBookIdList" | |||
| @confirm="onConfirmCentralBookId" | |||
| @cancel="showCentralBookId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="会计科目" | |||
| placeholder="请选择" | |||
| v-model="centralSubjectId" | |||
| @click="showCentralSubjectId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择会计科目' }]" | |||
| v-if="accountType=='银行存款'&&form.managementControlType=='2'" | |||
| /> | |||
| <van-popup v-model="showCentralSubjectId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="centralSubjectIdList" | |||
| @confirm="onConfirmCentralSubjectId" | |||
| @cancel="showCentralSubjectId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/> | |||
| <van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="开户银行" | |||
| placeholder="请选择" | |||
| v-model="form.bankName" | |||
| @click="showBankDeposit = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'" | |||
| /> | |||
| <van-popup v-model="showBankDeposit" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankDepositList" | |||
| @confirm="onConfirmBankDeposit" | |||
| @cancel="showBankDeposit = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| @@ -54,22 +198,51 @@ | |||
| @cancel="showSubjectId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="银行账户" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto"/> | |||
| <van-field label="开户银行" v-model="form.bankName" placeholder="请输入开户银行" input-align="right" label-width="auto"/> | |||
| <van-field label="联行号" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> | |||
| <van-field label="操作员代码" v-model="form.operatorCode" placeholder="请输入操作员代码" input-align="right" label-width="auto"/> | |||
| <van-field label="企业编码" v-model="form.enterpriseCode" placeholder="请输入企业编码" input-align="right" label-width="auto"/> | |||
| <van-field label="开户银行地址" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto"/> | |||
| <van-field label="账户密码" v-model="form.accountPassword" placeholder="请输入账户密码" input-align="right" label-width="auto"/> | |||
| <van-field label="初始余额" required :rules="[{ required: true , message:'请输入初始余额' }]" v-model="form.initialBalance" placeholder="请输入初始余额" input-align="right" label-width="auto"/> | |||
| <van-cell title="是否停用"> | |||
| <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="账户类型" v-if="accountType=='银行存款'" required :rules="[{ required: true , message:'请选择账户类型' }]"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.bankAccountType"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="初始余额" v-model="form.initialBalance" required :rules="[{ required: true , message:'请输入初始余额' }]" placeholder="请输入初始余额" input-align="right" label-width="auto"/> | |||
| <van-field label="内部账号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入内部账号' }]" placeholder="请输入内部账号" input-align="right" label-width="auto"/> | |||
| <van-field label="内部户名" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField2" required :rules="[{ required: true , message:'请输入内部户名' }]" placeholder="请输入内部户名" input-align="right" label-width="auto"/> | |||
| <van-field label="账簿号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField3" required :rules="[{ required: true , message:'请输入账簿号' }]" placeholder="请输入账簿号" input-align="right" label-width="auto"/> | |||
| <van-field label="手机号码" v-if="accountType=='银行存款'&&form.bankType=='4'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入手机号' }]" placeholder="请输入手机号" input-align="right" label-width="auto"/> | |||
| <van-field label="是否停用" required :rules="[{ required: true , message:'请选择是否停用' }]"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.status"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </van-field> | |||
| </div> | |||
| <p class="main_title" v-if="villageAccountType=='多级账簿'">账簿信息</p> | |||
| <div class="main_box" v-if="villageAccountType=='多级账簿'"> | |||
| <van-field label="账簿是否限额" disabled> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.alternateField1" :disabled="true"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="单笔交易限额" v-model="form.alternateField2" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/> | |||
| <van-field label="账簿是否透支" disabled> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.alternateField3" :disabled="true"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="透支类型" v-model="form.alternateField4" placeholder="无" input-align="right" label-width="auto" :disabled="true"/> | |||
| <van-field label="透支额度(元)" v-model="form.alternateField5" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| @@ -84,33 +257,67 @@ | |||
| </template> | |||
| <script> | |||
| import { getAccount , getSubjectDetail , updateAccount } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| import { getAccount , getSubjectDetail , updateAccount,listDeposit,queryTaccount,getCentralBooks } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| import {getCentralSubjects} from "../../../../api/onlineHome/bankAgriculture/paymentAccount"; | |||
| export default { | |||
| name: "paymentAccountModify", | |||
| data() { | |||
| return { | |||
| showCentralSubjectId:false, | |||
| showCentralBookId:false, | |||
| showManagementControlType:false, | |||
| showTaccountId:false, | |||
| showVillageAccountType:false, | |||
| villageAccountType:null, | |||
| showAccountType:false, | |||
| showSubjectId:false, | |||
| showBankType:false, | |||
| minDate: new Date(), | |||
| showBankDeposit:false, | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| managementControlType:'', | |||
| taccountId:'', | |||
| accountType:'', | |||
| bankType:'', | |||
| centralBookId:'', | |||
| centralSubjectId:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| subjectDictionaries:[], | |||
| typeDictionaries:[], | |||
| villageAccountTypeOptions:[], | |||
| taccountIdOptions:[], | |||
| centralBookIdList:[], | |||
| centralSubjectIdList:[], | |||
| // 管控类型 == 中心账套时选择中心账套 | |||
| centralBooks: [], | |||
| // 管控类型字典 | |||
| managementControlTypeOptions: [], | |||
| bankDepositList:[], | |||
| // 所属银行字典 | |||
| bankTypeOptions: [], | |||
| subjectDeatil:'', | |||
| bankDepositQueryParams: { | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| bookId: null, | |||
| deptId: null, | |||
| payee: null, | |||
| payeeAccount: null, | |||
| bankDeposit: null, | |||
| payeeType:null, | |||
| bankType:null, | |||
| status: "0", | |||
| }, | |||
| form:{} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getTaList(); | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| @@ -123,15 +330,87 @@ | |||
| } | |||
| this.accountType = this.selectDictLabel(res.data, response.data.accountType); | |||
| }); | |||
| this.getDicts("bank_type").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| this.bankType = this.selectDictLabel(res.data, response.data.bankType); | |||
| } | |||
| }); | |||
| this.getDicts("village_account_type").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.villageAccountTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| this.villageAccountType = this.selectDictLabel(res.data, response.data.villageAccountType); | |||
| } | |||
| }); | |||
| getSubjectDetail().then((res) => { | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.subjectDictionaries.push({text: res.rows[i].subjectNameAll, value: res.rows[i].subjectId}); | |||
| } | |||
| this.subjectDeatil = this.selectSubject(res.rows , response.data.subjectId); | |||
| }); | |||
| queryTaccount({ | |||
| bankType:response.data.bankType | |||
| }).then(res => { | |||
| this.taccountIdOptions = res.rows; | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee); | |||
| this.$set(this.taccountIdOptions[i], "value",res.rows[i].id); | |||
| if(response.data.taccountId==res.rows[i].id){ | |||
| this.taccountId= res.rows[i].payee | |||
| } | |||
| } | |||
| }); | |||
| if(response.data.centralBookId!=null&&response.data.centralBookId!=""&&response.data.managementControlType=="2"){ | |||
| getCentralBooks({yinnongTaccountId: response.data.taccountId}).then((res) => { | |||
| this.centralBookIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralBookIdList[i], "text",res.data[i].bookName); | |||
| this.$set(this.centralBookIdList[i], "value",res.data[i].id); | |||
| } | |||
| this.centralBookId = this.selectSubject(res.data , response.data.centralBookId); | |||
| }); | |||
| if(response.data.centralSubjectId!=null&&response.data.centralSubjectId!=""){ | |||
| getCentralSubjects({bookId: response.data.centralBookId}).then((res) => { | |||
| this.centralSubjectIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName); | |||
| this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId); | |||
| } | |||
| this.centralSubjectId = this.selectSubject(res.data , response.data.centralSubjectId); | |||
| }) | |||
| } | |||
| if(response.data.bankDeposit!=null&&response.data.bankDeposit!=""){ | |||
| this.bankDepositQueryParams.bankType = response.data.bankType; | |||
| listDeposit(this.bankDepositQueryParams).then(response => { | |||
| this.bankDepositList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit); | |||
| this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit); | |||
| } | |||
| this.bankDeposit = this.selectSubject(response.rows , response.data.bankDeposit); | |||
| }) | |||
| } | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| }, | |||
| getTaList(){ | |||
| let params= { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| bankType:this.form.bankType, | |||
| } | |||
| // this.getCentralBookOptions(); | |||
| queryTaccount(params).then(res => { | |||
| this.taccountIdOptions = res.rows; | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee); | |||
| this.$set(this.taccountIdOptions[i], "value",res.rows[i].id); | |||
| } | |||
| }); | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| @@ -146,6 +425,75 @@ | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCentralBookId(val){ | |||
| this.showCentralBookId = false | |||
| this.$set(this.form, "centralBookId",val.value); | |||
| this.centralBookId = val.text | |||
| getCentralSubjects({bookId: val.id}).then((res) => { | |||
| this.centralSubjectIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName); | |||
| this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCentralSubjectId(val){ | |||
| this.showCentralSubjectId = false | |||
| this.$set(this.form, "centralSubjectId",val.value); | |||
| this.centralSubjectId = val.text | |||
| }, | |||
| onConfirmManagementControlType(val){ | |||
| if(val==2){ | |||
| getCentralBooks({yinnongTaccountId: this.form.taccountId}).then((res) => { | |||
| this.centralBookIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralBookIdList[i], "text",res.data[i].bookName); | |||
| this.$set(this.centralBookIdList[i], "value",res.data[i].id); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| onConfirmBankDeposit(val){ | |||
| this.showBankDeposit = false | |||
| this.$set(this.form, "bankName", val.bankDeposit); | |||
| this.$set(this.form, "paymentLines", val.payeePaymentLines); | |||
| }, | |||
| onConfirmTaccountId(val){ | |||
| this.showTaccountId = false | |||
| this.taccountId = val.text | |||
| this.$set(this.form, "taccountId", val.value); | |||
| this.taccountIdOptions.map(res => { | |||
| if(res.id==val.value){ | |||
| if(this.form.villageAccountType === '3'){ | |||
| this.$set(this.form, "bankAccountNumber", res.payeeAccount); | |||
| } | |||
| //this.form.bankName = res.bankDeposit; | |||
| this.$set(this.form, "bankName", res.bankDeposit); | |||
| this.$set(this.form, "paymentLines", res.payeePaymentLines); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmBankType(val){ | |||
| this.showBankType = false | |||
| this.bankType = val.text | |||
| this.$set(this.form, "bankType", val.value); | |||
| this.getTaList(); | |||
| this.$set(this.form, "bankName", ''); | |||
| this.$set(this.form, "paymentLines", ''); | |||
| this.bankDepositQueryParams.bankType = val.value; | |||
| listDeposit(this.bankDepositQueryParams).then(response => { | |||
| this.bankDepositList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit); | |||
| this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmVillageAccountType(val){ | |||
| this.showVillageAccountType = false | |||
| this.villageAccountType = val.text | |||
| this.$set(this.form, "villageAccountType", val.value); | |||
| }, | |||
| onConfirmSubject(data){ | |||
| this.subjectDeatil = data.text; | |||
| this.form.subjectId = data.value; | |||
| @@ -0,0 +1,154 @@ | |||
| <template> | |||
| <div> | |||
| <van-nav-bar | |||
| title="投诉建议" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| /> | |||
| <van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell> | |||
| <template #title> | |||
| <van-row style=""> | |||
| <van-col span="4" :offset="1"> | |||
| <h3 style="">类型:</h3> | |||
| </van-col> | |||
| <van-col span="10" > | |||
| <van-radio-group v-model="form.type" direction="horizontal"> | |||
| <van-radio name="1">投诉</van-radio> | |||
| <van-radio name="2">建议</van-radio> | |||
| </van-radio-group> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell> | |||
| <template #title> | |||
| <van-row> | |||
| <van-col span="24"> | |||
| <van-field | |||
| v-model="form.adviceContent" | |||
| rows="7" | |||
| autosize | |||
| type="textarea" | |||
| maxlength="1000" | |||
| placeholder="请输入您的反馈意见(字数1000以内)" | |||
| show-word-limit | |||
| /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell> | |||
| <template #title> | |||
| <van-row style=""> | |||
| <van-col span="23" :offset="1"> | |||
| <van-field name="uploader" label=""> | |||
| <template #input> | |||
| <van-uploader :after-read="afterRead" :before-delete="deleteFile" v-model="fileList" multiple :max-count="5" /> | |||
| </template> | |||
| </van-field> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <van-row style="text-align: center;margin-top: 40px"> | |||
| <van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="adviceAdd">提交</van-button> | |||
| </van-row> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {adviceAdd} from "../../api/onlineHome/my"; | |||
| import * as Toast from "vant"; | |||
| import {uploadFileBase} from "../../api/authenticRight"; | |||
| import {Dialog} from "vant"; | |||
| import {base64Attach, deleteUserImg} from "../../api/user"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "advice", | |||
| data() { | |||
| return { | |||
| form:{ | |||
| id:'', | |||
| type: '1', | |||
| adviceContent:'', | |||
| url:[], | |||
| files:[], | |||
| }, | |||
| file: { | |||
| files:[], | |||
| fileType:'', | |||
| bizPath:'advice', | |||
| tableName:'t_sys_advice', | |||
| tableId:'' | |||
| }, | |||
| fileList:[], | |||
| upLoadList:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| }, | |||
| methods: { | |||
| reset(){ | |||
| this.form={ | |||
| id:'', | |||
| type: '1', | |||
| adviceContent:'', | |||
| url:[], | |||
| files:[], | |||
| } | |||
| }, | |||
| afterRead(file) { | |||
| // 此时可以自行将文件上传至服务器 | |||
| for ( let i = 0 ; i < this.fileList.length ; i++){ | |||
| if(this.fileList[i].url == undefined&&this.fileList!='') { | |||
| this.fileList[i] = {url:this.fileList[i].content, id: '', isImage: true}; | |||
| } | |||
| } | |||
| }, | |||
| deleteFile(elIndex){ | |||
| if(elIndex.id != ''){ | |||
| deleteUserImg(elIndex.id).then(response => {}); | |||
| } | |||
| return (file, name) => { | |||
| let fileIndex = name.index | |||
| this.fileList[elIndex].splice(fileIndex, 1) | |||
| this.upLoadList[elIndex].splice(fileIndex, 1) | |||
| } | |||
| }, | |||
| adviceAdd(){ | |||
| adviceAdd(this.form).then(res => { | |||
| this.file.tableId = res.data; | |||
| for(let i = 0 ; i < this.fileList.length ; i++){ | |||
| this.file.files.push(this.fileList[i].url); | |||
| } | |||
| base64Attach(this.file).then(response => { | |||
| if (response.code == 200){ | |||
| Dialog.confirm({ | |||
| title: '系统提示', | |||
| message: '发布成功', | |||
| confirmButtonText: '确定', | |||
| showCancelButton:false | |||
| }).then(() => { | |||
| self.location=document.referrer; | |||
| }) | |||
| } | |||
| }); | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| </style> | |||
| @@ -0,0 +1,251 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加支付收款账户</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field label="收款方" required :rules="[{ required: true , message:'请输入收款方' }]" v-model="form.payee" placeholder="请输入收款方" input-align="right" label-width="auto"/> | |||
| <van-field label="收款账户" required :rules="[{ required: true , message:'请输入收款账户' }]" v-model="form.payeeAccount" placeholder="请输入收款账户" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属银行" | |||
| placeholder="请选择" | |||
| v-model="bankType" | |||
| @click="showBankType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| /> | |||
| <van-popup v-model="showBankType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankTypeOptions" | |||
| @confirm="onConfirmBankType" | |||
| @cancel="showBankType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="开户银行" | |||
| placeholder="请选择" | |||
| @click="showBankDeposit = true" | |||
| v-model="bankDeposit" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| /> | |||
| <van-popup v-model="showBankDeposit" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankDepositOptions" | |||
| @confirm="onConfirmBankDeposit" | |||
| @cancel="showBankDeposit = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field label="备注" v-model="form.remark" type="textarea" placeholder="请输入备注" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-cell title="账户类型" required> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择账户类型' }]" v-model="form.accountType"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="收款人类型" | |||
| placeholder="请选择" | |||
| v-model="payeeType" | |||
| @click="showPayeeType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择收款人类型' }]" | |||
| /> | |||
| <van-popup v-model="showPayeeType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payeeTypeOptions" | |||
| @confirm="onConfirmPayeeType" | |||
| @cancel="showPayeeType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-cell title="数据状态" required> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择数据状态' }]" v-model="form.status"> | |||
| <van-radio name="0">正常</van-radio> | |||
| <van-radio name="1">停用</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addPayee,listDeposit } from "@/api/onlineHome/bankAgriculture/collectionAccount"; | |||
| export default { | |||
| name: "collectionAdd", | |||
| data() { | |||
| return { | |||
| showBankType:false, | |||
| showBankDeposit:false, | |||
| showPayeeType:false, | |||
| form:{ | |||
| accountType:'1', | |||
| status:'0' | |||
| }, | |||
| bankType:'', | |||
| payeeType:'', | |||
| bankDeposit:'', | |||
| bankTypeOptions:[], | |||
| statusOptions:[], | |||
| accountTypeOptions:[], | |||
| payeeTypeOptions:[], | |||
| bankDepositOptions:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| this.houseGetDicts("bank_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("sys_normal_disable").then((res) => { | |||
| console.log(res) | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.statusOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("bank_account_type").then((res) => { | |||
| console.log(res) | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.accountTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.houseGetDicts("payee_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| onConfirmBankType(data){ | |||
| this.bankType = data.text; | |||
| this.form.bankType = data.value; | |||
| this.bankDeposit = "" | |||
| this.form.payeePaymentLines = "" | |||
| this.showBankType = false; | |||
| let queryParams={ | |||
| "pageNum": 1, | |||
| "pageSize": 20, | |||
| "bankType":this.form.bankType, | |||
| "status": "0", | |||
| } | |||
| listDeposit(queryParams).then(response => { | |||
| this.bankDepositOptions = [] | |||
| for(var i = 0 ; i < response.rows.length ; i++){ | |||
| this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id}); | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmBankDeposit(data){ | |||
| this.bankDeposit = data.text | |||
| this.form.payeePaymentLines = data.value; | |||
| this.showBankDeposit = false; | |||
| }, | |||
| onConfirmPayeeType(data){ | |||
| this.payeeType = data.text; | |||
| this.form.payeeType = data.value; | |||
| this.showPayeeType = false; | |||
| }, | |||
| goAdd(){ | |||
| addPayee(this.form).then(response => { | |||
| this.$toast.success('新增成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| color: #1D6FE9; | |||
| margin: 0.2rem 6%; | |||
| margin-top: 0; | |||
| 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,138 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">查看支付收款账户</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field readonly label="收款方" v-model="form.payee" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="收款账户" v-model="form.payeeAccount" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="开户银行" v-model="form.bankDeposit" 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-cell title="账户类型"> | |||
| <template #right-icon> | |||
| {{form.accountType == '1' ? '公户' : '私户' }} | |||
| </template> | |||
| </van-cell> | |||
| <van-field readonly label="收款人类型" v-model="payeeType" input-align="right" label-width="auto" /> | |||
| <van-cell title="数据状态"> | |||
| <template #right-icon> | |||
| {{form.accountType == '0' ? '正常' : '停用' }} | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getPayee , updatePayee } from "@/api/onlineHome/bankAgriculture/collectionAccount"; | |||
| export default { | |||
| name: "collectionModify", | |||
| data() { | |||
| return { | |||
| showBankType:false, | |||
| showPayeeType:false, | |||
| form:{}, | |||
| bankType:'', | |||
| payeeType:'', | |||
| bankTypeOptions:[], | |||
| payeeTypeOptions:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getPayee(this.$route.query.id).then((response) => { | |||
| this.houseGetDicts("bank_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.bankType = this.selectDictLabel(res.data, response.data.bankType); | |||
| }); | |||
| this.houseGetDicts("payee_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.payeeType = this.selectDictLabel(res.data, response.data.payeeType); | |||
| }); | |||
| this.form = response.data; | |||
| }); | |||
| }, | |||
| onConfirmBankType(data){ | |||
| this.bankType = data.text; | |||
| this.form.bankType = data.value; | |||
| this.showBankType = false; | |||
| }, | |||
| onConfirmPayeeType(data){ | |||
| this.payeeType = data.text; | |||
| this.form.payeeType = data.value; | |||
| this.showPayeeType = false; | |||
| }, | |||
| goAdd(){ | |||
| console.log(this.form) | |||
| updatePayee(this.form).then(response => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| color: #1D6FE9; | |||
| margin: 0.2rem 6%; | |||
| margin-top: 0; | |||
| 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,177 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">银农支付收款账户</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell center :to="{name:'collectionDetail', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn9.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.payeeAccount}}</p> | |||
| </template> | |||
| <template #title> | |||
| <p class="van-ellipsis">{{item.payee}}</p> | |||
| </template> | |||
| <template #default> | |||
| <p>{{item.accountType}}</p> | |||
| <p style="font-size: 12px;font-weight: normal;color: #878787;">{{item.bankType}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="修改" type="info" :to="{name:'collectionModify', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listPayee , delPayee } from "@/api/onlineHome/bankAgriculture/collectionAccount"; | |||
| export default { | |||
| name: "collectionList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("bank_type").then(response => { | |||
| this.bankTypeOptions = response.data; | |||
| }); | |||
| this.getDicts("sys_normal_disable").then(response => { | |||
| this.statusOptions = response.data; | |||
| }); | |||
| this.getDicts("bank_account_type").then(response => { | |||
| this.accountTypeOptions = response.data; | |||
| }); | |||
| this.getDicts("payee_type").then(response => { | |||
| this.payeeTypeOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'collectionAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listPayee(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].accountType = this.selectDictLabel(this.accountTypeOptions, response.rows[i].accountType); | |||
| response.rows[i].bankType = this.selectDictLabel(this.bankTypeOptions, response.rows[i].bankType); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除收款账户?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delPayee(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| width: 70%; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| .van-cell__label{ | |||
| color: #333333; | |||
| font-size: 14Px; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,198 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">修改支付收款账户</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field label="收款方" required :rules="[{ required: true , message:'请输入收款方' }]" v-model="form.payee" placeholder="请输入收款方" input-align="right" label-width="auto"/> | |||
| <van-field label="收款账户" required :rules="[{ required: true , message:'请输入收款账户' }]" v-model="form.payeeAccount" placeholder="请输入收款账户" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属银行" | |||
| placeholder="请选择" | |||
| v-model="bankType" | |||
| @click="showBankType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| /> | |||
| <van-popup v-model="showBankType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankTypeOptions" | |||
| @confirm="onConfirmBankType" | |||
| @cancel="showBankType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="开户银行" required :rules="[{ required: true , message:'请输入开户银行' }]" v-model="form.bankDeposit" placeholder="请输入开户银行" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field label="备注" v-model="form.remark" type="textarea" placeholder="请输入备注" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-cell title="账户类型" required> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择账户类型' }]" v-model="form.accountType"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="收款人类型" | |||
| placeholder="请选择" | |||
| v-model="payeeType" | |||
| @click="showPayeeType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择收款人类型' }]" | |||
| /> | |||
| <van-popup v-model="showPayeeType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payeeTypeOptions" | |||
| @confirm="onConfirmPayeeType" | |||
| @cancel="showPayeeType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-cell title="数据状态" required> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择数据状态' }]" v-model="form.status"> | |||
| <van-radio name="0">正常</van-radio> | |||
| <van-radio name="1">停用</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getPayee , updatePayee } from "@/api/onlineHome/bankAgriculture/collectionAccount"; | |||
| export default { | |||
| name: "collectionModify", | |||
| data() { | |||
| return { | |||
| showBankType:false, | |||
| showPayeeType:false, | |||
| form:{}, | |||
| bankType:'', | |||
| payeeType:'', | |||
| bankTypeOptions:[], | |||
| payeeTypeOptions:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getPayee(this.$route.query.id).then((response) => { | |||
| this.houseGetDicts("bank_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.bankType = this.selectDictLabel(res.data, response.data.bankType); | |||
| }); | |||
| this.houseGetDicts("payee_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.payeeType = this.selectDictLabel(res.data, response.data.payeeType); | |||
| }); | |||
| this.form = response.data; | |||
| }); | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| onConfirmBankType(data){ | |||
| this.bankType = data.text; | |||
| this.form.bankType = data.value; | |||
| this.showBankType = false; | |||
| }, | |||
| onConfirmPayeeType(data){ | |||
| this.payeeType = data.text; | |||
| this.form.payeeType = data.value; | |||
| this.showPayeeType = false; | |||
| }, | |||
| goAdd(){ | |||
| console.log(this.form) | |||
| updatePayee(this.form).then(response => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| color: #1D6FE9; | |||
| margin: 0.2rem 6%; | |||
| margin-top: 0; | |||
| 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,499 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加出纳账户设置</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="账户类型" | |||
| placeholder="请选择" | |||
| v-model="accountType" | |||
| @click="showAccountType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| /> | |||
| <van-popup v-model="showAccountType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="typeDictionaries" | |||
| @confirm="onConfirmType" | |||
| @cancel="showAccountType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属银行" | |||
| placeholder="请选择" | |||
| v-model="bankType" | |||
| @click="showBankType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| /> | |||
| <van-popup v-model="showBankType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankTypeOptions" | |||
| @confirm="onConfirmBankType" | |||
| @cancel="showBankType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="账户分类" | |||
| placeholder="请选择" | |||
| v-model="villageAccountType" | |||
| @click="showVillageAccountType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择账户分类' }]" | |||
| v-if="accountType=='银行存款'&&(form.bankType==1||form.bankType==2)" | |||
| /> | |||
| <van-popup v-model="showVillageAccountType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="villageAccountTypeOptions" | |||
| @confirm="onConfirmVillageAccountType" | |||
| @cancel="showVillageAccountType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属镇账户" | |||
| placeholder="请选择" | |||
| v-model="taccountId" | |||
| @click="showTaccountId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属镇账户' }]" | |||
| v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')&&form.villageAccountType!=1" | |||
| /> | |||
| <van-popup v-model="showTaccountId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="taccountIdOptions" | |||
| @confirm="onConfirmTaccountId" | |||
| @cancel="showTaccountId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="客户编号" v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')" required :rules="[{ required: true , message:'请输入客户编号' }]" v-model="form.cifNo" placeholder="请输入客户编号" input-align="right" label-width="auto"/> | |||
| <van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账簿号" input-align="right" label-width="auto"/> | |||
| <van-field label="管控类型" required :rules="[{ required: true , message:'请选择管控类型' }]" v-if="accountType=='银行存款'&&form.bankType==2&&villageAccountType=='多级账簿'"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.managementControlType" @change="onConfirmManagementControlType"> | |||
| <van-radio name="1">账簿余额</van-radio> | |||
| <van-radio name="2">中心账簿</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="中心账套" | |||
| placeholder="请选择" | |||
| v-model="centralBookId" | |||
| @click="showCentralBookId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'&&form.managementControlType=='2'" | |||
| /> | |||
| <van-popup v-model="showCentralBookId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="centralBookIdList" | |||
| @confirm="onConfirmCentralBookId" | |||
| @cancel="showCentralBookId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="会计科目" | |||
| placeholder="请选择" | |||
| v-model="centralSubjectId" | |||
| @click="showCentralSubjectId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择会计科目' }]" | |||
| v-if="accountType=='银行存款'&&form.managementControlType=='2'" | |||
| /> | |||
| <van-popup v-model="showCentralSubjectId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="centralSubjectIdList" | |||
| @confirm="onConfirmCentralSubjectId" | |||
| @cancel="showCentralSubjectId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/> | |||
| <van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="开户银行" | |||
| placeholder="请选择" | |||
| v-model="form.bankName" | |||
| @click="showBankDeposit = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'" | |||
| /> | |||
| <van-popup v-model="showBankDeposit" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankDepositList" | |||
| @confirm="onConfirmBankDeposit" | |||
| @cancel="showBankDeposit = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="关联科目" | |||
| placeholder="请选择" | |||
| v-model="subjectDeatil" | |||
| @click="showSubjectId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择关联科目' }]" | |||
| /> | |||
| <van-popup v-model="showSubjectId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="subjectDictionaries" | |||
| @confirm="onConfirmSubject" | |||
| @cancel="showSubjectId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="账户类型" v-if="accountType=='银行存款'" required :rules="[{ required: true , message:'请选择账户类型' }]"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.bankAccountType"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="初始余额" v-model="form.initialBalance" required :rules="[{ required: true , message:'请输入初始余额' }]" placeholder="请输入初始余额" input-align="right" label-width="auto"/> | |||
| <van-field label="内部账号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入内部账号' }]" placeholder="请输入内部账号" input-align="right" label-width="auto"/> | |||
| <van-field label="内部户名" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField2" required :rules="[{ required: true , message:'请输入内部户名' }]" placeholder="请输入内部户名" input-align="right" label-width="auto"/> | |||
| <van-field label="账簿号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField3" required :rules="[{ required: true , message:'请输入账簿号' }]" placeholder="请输入账簿号" input-align="right" label-width="auto"/> | |||
| <van-field label="手机号码" v-if="accountType=='银行存款'&&form.bankType=='4'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入手机号' }]" placeholder="请输入手机号" input-align="right" label-width="auto"/> | |||
| <van-field label="是否停用" required :rules="[{ required: true , message:'请选择是否停用' }]"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.status"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <p class="main_title" v-if="villageAccountType=='多级账簿'">账簿信息</p> | |||
| <div class="main_box" v-if="villageAccountType=='多级账簿'"> | |||
| <van-field label="账簿是否限额" disabled> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.alternateField1" :disabled="true"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="单笔交易限额" v-model="form.alternateField2" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/> | |||
| <van-field label="账簿是否透支" disabled> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.alternateField3" :disabled="true"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="透支类型" v-model="form.alternateField4" placeholder="无" input-align="right" label-width="auto" :disabled="true"/> | |||
| <van-field label="透支额度(元)" v-model="form.alternateField5" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getSubjectDetail , addAccount,listDeposit,queryTaccount,getCentralBooks } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| import {getCentralSubjects} from "../../../../api/onlineHome/bankAgriculture/paymentAccount"; | |||
| export default { | |||
| name: "paymentAccountAdd", | |||
| data() { | |||
| return { | |||
| showCentralSubjectId:false, | |||
| showCentralBookId:false, | |||
| showManagementControlType:false, | |||
| showTaccountId:false, | |||
| showVillageAccountType:false, | |||
| villageAccountType:null, | |||
| showAccountType:false, | |||
| showSubjectId:false, | |||
| showBankType:false, | |||
| minDate: new Date(), | |||
| showBankDeposit:false, | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| managementControlType:'', | |||
| taccountId:'', | |||
| accountType:'', | |||
| bankType:'', | |||
| centralBookId:'', | |||
| centralSubjectId:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| subjectDictionaries:[], | |||
| typeDictionaries:[], | |||
| villageAccountTypeOptions:[], | |||
| taccountIdOptions:[], | |||
| centralBookIdList:[], | |||
| centralSubjectIdList:[], | |||
| // 管控类型 == 中心账套时选择中心账套 | |||
| centralBooks: [], | |||
| // 管控类型字典 | |||
| managementControlTypeOptions: [], | |||
| bankDepositList:[], | |||
| // 所属银行字典 | |||
| bankTypeOptions: [], | |||
| subjectDeatil:'', | |||
| bankDepositQueryParams: { | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| bookId: null, | |||
| deptId: null, | |||
| payee: null, | |||
| payeeAccount: null, | |||
| bankDeposit: null, | |||
| payeeType:null, | |||
| bankType:null, | |||
| status: "0", | |||
| }, | |||
| form:{} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getTaList(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| // 账户类型 | |||
| this.houseGetDicts("account_type_cashier").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.typeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.getDicts("cashier_account_management_control_type").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.managementControlTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.getDicts("bank_type").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.getDicts("village_account_type").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.villageAccountTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| getSubjectDetail().then((res) => { | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.subjectDictionaries.push({text: res.rows[i].subjectNameAll, value: res.rows[i].subjectId}); | |||
| } | |||
| }); | |||
| }, | |||
| getTaList(){ | |||
| let params= { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| bankType:this.form.bankType, | |||
| } | |||
| // this.getCentralBookOptions(); | |||
| queryTaccount(params).then(res => { | |||
| this.taccountIdOptions = res.rows; | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee); | |||
| this.$set(this.taccountIdOptions[i], "value",res.rows[i].id); | |||
| } | |||
| }); | |||
| }, | |||
| getError(e){ | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| onConfirmCentralBookId(val){ | |||
| this.showCentralBookId = false | |||
| this.$set(this.form, "centralBookId",val.value); | |||
| this.centralBookId = val.text | |||
| getCentralSubjects({bookId: val.id}).then((res) => { | |||
| this.centralSubjectIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName); | |||
| this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCentralSubjectId(val){ | |||
| this.showCentralSubjectId = false | |||
| this.$set(this.form, "centralSubjectId",val.value); | |||
| this.centralSubjectId = val.text | |||
| }, | |||
| onConfirmManagementControlType(val){ | |||
| if(val==2){ | |||
| getCentralBooks({yinnongTaccountId: this.form.taccountId}).then((res) => { | |||
| this.centralBookIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralBookIdList[i], "text",res.data[i].bookName); | |||
| this.$set(this.centralBookIdList[i], "value",res.data[i].id); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| onConfirmBankDeposit(val){ | |||
| this.showBankDeposit = false | |||
| this.$set(this.form, "bankName", val.bankDeposit); | |||
| this.$set(this.form, "paymentLines", val.payeePaymentLines); | |||
| }, | |||
| onConfirmTaccountId(val){ | |||
| this.showTaccountId = false | |||
| this.taccountId = val.text | |||
| this.$set(this.form, "taccountId", val.value); | |||
| this.taccountIdOptions.map(res => { | |||
| if(res.id==val.value){ | |||
| if(this.form.villageAccountType === '3'){ | |||
| this.$set(this.form, "bankAccountNumber", res.payeeAccount); | |||
| } | |||
| //this.form.bankName = res.bankDeposit; | |||
| this.$set(this.form, "bankName", res.bankDeposit); | |||
| this.$set(this.form, "paymentLines", res.payeePaymentLines); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmBankType(val){ | |||
| this.showBankType = false | |||
| this.bankType = val.text | |||
| this.$set(this.form, "bankType", val.value); | |||
| this.getTaList(); | |||
| this.$set(this.form, "bankName", ''); | |||
| this.$set(this.form, "paymentLines", ''); | |||
| this.bankDepositQueryParams.bankType = val.value; | |||
| listDeposit(this.bankDepositQueryParams).then(response => { | |||
| this.bankDepositList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit); | |||
| this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmVillageAccountType(val){ | |||
| this.showVillageAccountType = false | |||
| this.villageAccountType = val.text | |||
| this.$set(this.form, "villageAccountType", val.value); | |||
| }, | |||
| onConfirmSubject(data){ | |||
| this.subjectDeatil = data.text; | |||
| this.form.subjectId = data.value; | |||
| this.form.subjectNameAll = data.text; | |||
| this.showSubjectId = false; | |||
| }, | |||
| onConfirmType(data){ | |||
| this.accountType = data.text; | |||
| this.form.accountType = data.value; | |||
| this.showAccountType = false; | |||
| }, | |||
| goModify(){ | |||
| console.log(this.form) | |||
| this.form.balance = this.form.initialBalance; | |||
| addAccount(this.form).then((response) => { | |||
| this.$toast.success('添加成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| color: #1D6FE9; | |||
| margin: 0.2rem 6%; | |||
| margin-top: 0; | |||
| 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,172 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">付款账户查看</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box" v-if="form"> | |||
| <van-field readonly label="账户类型" v-model="accountType" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="账户分类" v-if="accountType=='银行存款'&&(bankType=='中国银行'||bankType=='山东省农村信用社(农商行)')" v-model="villageAccountType" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="所属镇账户" v-if="accountType=='银行存款'&&villageAccountType!='村虚拟账户'" v-model="taccountId" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" v-model="accountNo" input-align="right" label-width="auto" /> | |||
| <van-cell title="管控类型" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'&&bankType=='山东省农村信用社(农商行)'" > | |||
| <template #right-icon> | |||
| {{form.managementControlType == '1' ? '账簿余额':'中心账簿'}} | |||
| </template> | |||
| </van-cell> | |||
| <van-field readonly label="中心账套" v-if="accountType=='银行存款'&&form.managementControlType=='2'" v-model="centralBookId" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="会计科目" v-if="accountType=='银行存款'&&form.managementControlType=='2'" v-model="centralSubjectId" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="账户名称" v-model="form.accountName" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="银行账户" v-if="accountType=='银行存款'" v-model="form.bankAccountNumber" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="开户银行" v-if="accountType=='银行存款'" v-model="form.bankName" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="联行号" v-if="accountType=='银行存款'" v-model="form.paymentLines" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="关联科目" v-model="subjectValue" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="科目名称" v-if="accountType=='银行存款'" v-model="form.subjectNameAll" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="支付口令" v-if="accountType=='银行存款'" v-model="form.site" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="手机号" v-if="accountType=='银行存款'&&bankType=='建设银行'" v-model="form.alternateField1" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="账户类别" v-model="bankAccountType" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="开户银行地址" v-if="accountType=='银行存款'" v-model="form.site" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="账户密码" v-if="accountType=='银行存款'" v-model="form.accountPassword" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="初始余额" v-model="form.initialBalance" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="内部账号" v-if="accountType=='银行存款'&&bankType=='农业银行'" v-model="alternateField1" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="内部户名" v-if="accountType=='银行存款'&&bankType=='农业银行'" v-model="alternateField2" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="账簿号" v-if="accountType=='银行存款'&&bankType=='农业银行'" v-model="alternateField3" input-align="right" label-width="auto"/> | |||
| <van-cell title="是否停用" v-if="accountType=='银行存款'" > | |||
| <template #right-icon> | |||
| {{form.status == 'Y' ? '是':'否'}} | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <p class="main_title" v-if="accountType=='银行存款'" >账簿信息</p> | |||
| <div class="main_box" v-if="accountType=='银行存款'" > | |||
| <van-cell title="账簿是否限额"> | |||
| <template #right-icon> | |||
| {{form.status == 'Y' ? '是':'否'}} | |||
| </template> | |||
| </van-cell> | |||
| <van-field readonly label="单笔交易限额" v-model="form.initialBalance" input-align="right" label-width="auto"/> | |||
| <van-cell title="账簿是否透支"> | |||
| <template #right-icon> | |||
| {{form.status == 'Y' ? '是':'否'}} | |||
| </template> | |||
| </van-cell> | |||
| <van-field readonly label="投掷类型" v-model="form.initialBalance" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="透支额度(元)" v-model="form.initialBalance" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getAccount , getSubjectDetail } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| export default { | |||
| name: "paymentAccountDetail", | |||
| data() { | |||
| return { | |||
| showAccountType:false, | |||
| showSubjectId:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| accountType:'', | |||
| bankType:'', | |||
| villageAccountType:'', | |||
| taccountId:'', | |||
| accountNo:'', | |||
| managementControlType:'', | |||
| centralBookId:'', | |||
| centralSubjectId:'', | |||
| bankAccountType:'', | |||
| alternateField1:'', | |||
| alternateField2:'', | |||
| alternateField3:'', | |||
| subjectValue:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| subjectDictionaries:[], | |||
| typeDictionaries:[], | |||
| subjectDeatil:[], | |||
| form:{} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getAccount(this.$route.query.id).then((response) => { | |||
| // 账户类型 | |||
| this.houseGetDicts("account_type_cashier").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.typeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.accountType = this.selectDictLabel(res.data, response.data.accountType); | |||
| }); | |||
| getSubjectDetail().then((res) => { | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.subjectDictionaries.push({text: res.rows[i].subjectNameAll, value: res.rows[i].subjectId}); | |||
| } | |||
| this.subjectValue = this.selectSubject(res.rows , response.data.subjectId); | |||
| }); | |||
| this.form = response.data; | |||
| }); | |||
| }, | |||
| selectSubject(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].subjectId == ('' + value)) { | |||
| actions.push(datas[key].subjectNameAll); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| color: #1D6FE9; | |||
| margin: 0.2rem 6%; | |||
| margin-top: 0; | |||
| 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,186 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">银农支付付款账户</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <!-- :to="{name:'paymentAccountDetail', query: {id:item.id,type:'modify'}}"--> | |||
| <van-cell :title="item.accountType" center > | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn10.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.balance}}</span></p> | |||
| </template> | |||
| <template #default> | |||
| <p>{{item.bankAccountNumber == null || item.bankAccountNumber == '' ? ' ':item.bankAccountNumber}}</p> | |||
| <p style="font-size: 12px;font-weight: normal;color: #878787;"> | |||
| {{item.accountName}} | |||
| <i style="margin-right: 1rem;"></i> | |||
| <span :style="{color: item.status == '否' ? '#1D6FE9' : '#FF4646'}">{{item.status == '否' ? '未' : '已'}}停用</span> | |||
| </p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="修改" type="info" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList , delAccount } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| export default { | |||
| name: "paymentAccountList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| // 账户类型 字典字典 | |||
| accountTypeOptions: [], | |||
| // 是否停用 字典 sys_yes_no字典 | |||
| statusOptions: [], | |||
| // 查询类型字典 | |||
| selectTypeOptions: [], | |||
| // 来往账标识字典 | |||
| directionOptions: [], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| }, | |||
| statusColor:'#1D6FE9' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("account_type_cashier").then((response) => { | |||
| this.accountTypeOptions = response.data; | |||
| }); | |||
| this.getDicts("sys_yes_no").then((response) => { | |||
| this.statusOptions = response.data; | |||
| }); | |||
| this.getDicts("select_type").then((response) => { | |||
| this.selectTypeOptions = response.data; | |||
| }); | |||
| this.getDicts("direction").then(response => { | |||
| this.directionOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'paymentAccountAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].accountType = this.selectDictLabel(this.accountTypeOptions, response.rows[i].accountType); | |||
| response.rows[i].status = this.selectDictLabel(this.statusOptions, response.rows[i].status); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除账户信息?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delAccount(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.4; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| .van-cell__label{ | |||
| font-size: 14Px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.6; | |||
| color: #333333; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,556 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">修改付款账户信息</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="账户类型" | |||
| placeholder="请选择" | |||
| v-model="accountType" | |||
| @click="showAccountType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| /> | |||
| <van-popup v-model="showAccountType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="typeDictionaries" | |||
| @confirm="onConfirmType" | |||
| @cancel="showAccountType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属银行" | |||
| placeholder="请选择" | |||
| v-model="bankType" | |||
| @click="showBankType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| /> | |||
| <van-popup v-model="showBankType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankTypeOptions" | |||
| @confirm="onConfirmBankType" | |||
| @cancel="showBankType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="账户分类" | |||
| placeholder="请选择" | |||
| v-model="villageAccountType" | |||
| @click="showVillageAccountType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择账户分类' }]" | |||
| v-if="accountType=='银行存款'&&(form.bankType==1||form.bankType==2)" | |||
| /> | |||
| <van-popup v-model="showVillageAccountType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="villageAccountTypeOptions" | |||
| @confirm="onConfirmVillageAccountType" | |||
| @cancel="showVillageAccountType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属镇账户" | |||
| placeholder="请选择" | |||
| v-model="taccountId" | |||
| @click="showTaccountId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属镇账户' }]" | |||
| v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')&&form.villageAccountType!=1" | |||
| /> | |||
| <van-popup v-model="showTaccountId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="taccountIdOptions" | |||
| @confirm="onConfirmTaccountId" | |||
| @cancel="showTaccountId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="客户编号" v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')" required :rules="[{ required: true , message:'请输入客户编号' }]" v-model="form.cifNo" placeholder="请输入客户编号" input-align="right" label-width="auto"/> | |||
| <van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账簿号" input-align="right" label-width="auto"/> | |||
| <van-field label="管控类型" required :rules="[{ required: true , message:'请选择管控类型' }]" v-if="accountType=='银行存款'&&form.bankType==2&&villageAccountType=='多级账簿'"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.managementControlType" @change="onConfirmManagementControlType"> | |||
| <van-radio name="1">账簿余额</van-radio> | |||
| <van-radio name="2">中心账簿</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="中心账套" | |||
| placeholder="请选择" | |||
| v-model="centralBookId" | |||
| @click="showCentralBookId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'&&form.managementControlType=='2'" | |||
| /> | |||
| <van-popup v-model="showCentralBookId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="centralBookIdList" | |||
| @confirm="onConfirmCentralBookId" | |||
| @cancel="showCentralBookId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="会计科目" | |||
| placeholder="请选择" | |||
| v-model="centralSubjectId" | |||
| @click="showCentralSubjectId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择会计科目' }]" | |||
| v-if="accountType=='银行存款'&&form.managementControlType=='2'" | |||
| /> | |||
| <van-popup v-model="showCentralSubjectId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="centralSubjectIdList" | |||
| @confirm="onConfirmCentralSubjectId" | |||
| @cancel="showCentralSubjectId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/> | |||
| <van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="开户银行" | |||
| placeholder="请选择" | |||
| v-model="form.bankName" | |||
| @click="showBankDeposit = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择开户银行' }]" | |||
| v-if="accountType=='银行存款'" | |||
| /> | |||
| <van-popup v-model="showBankDeposit" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bankDepositList" | |||
| @confirm="onConfirmBankDeposit" | |||
| @cancel="showBankDeposit = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="关联科目" | |||
| placeholder="请选择" | |||
| v-model="subjectDeatil" | |||
| @click="showSubjectId = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择关联科目' }]" | |||
| /> | |||
| <van-popup v-model="showSubjectId" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="subjectDictionaries" | |||
| @confirm="onConfirmSubject" | |||
| @cancel="showSubjectId = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> | |||
| <van-field label="支付口令" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/> | |||
| <van-field label="账户类型" v-if="accountType=='银行存款'" required :rules="[{ required: true , message:'请选择账户类型' }]"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.bankAccountType"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="初始余额" v-model="form.initialBalance" required :rules="[{ required: true , message:'请输入初始余额' }]" placeholder="请输入初始余额" input-align="right" label-width="auto"/> | |||
| <van-field label="内部账号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入内部账号' }]" placeholder="请输入内部账号" input-align="right" label-width="auto"/> | |||
| <van-field label="内部户名" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField2" required :rules="[{ required: true , message:'请输入内部户名' }]" placeholder="请输入内部户名" input-align="right" label-width="auto"/> | |||
| <van-field label="账簿号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField3" required :rules="[{ required: true , message:'请输入账簿号' }]" placeholder="请输入账簿号" input-align="right" label-width="auto"/> | |||
| <van-field label="手机号码" v-if="accountType=='银行存款'&&form.bankType=='4'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入手机号' }]" placeholder="请输入手机号" input-align="right" label-width="auto"/> | |||
| <van-field label="是否停用" required :rules="[{ required: true , message:'请选择是否停用' }]"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.status"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| </div> | |||
| <p class="main_title" v-if="villageAccountType=='多级账簿'">账簿信息</p> | |||
| <div class="main_box" v-if="villageAccountType=='多级账簿'"> | |||
| <van-field label="账簿是否限额" disabled> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.alternateField1" :disabled="true"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="单笔交易限额" v-model="form.alternateField2" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/> | |||
| <van-field label="账簿是否透支" disabled> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.alternateField3" :disabled="true"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| <van-field label="透支类型" v-model="form.alternateField4" placeholder="无" input-align="right" label-width="auto" :disabled="true"/> | |||
| <van-field label="透支额度(元)" v-model="form.alternateField5" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="24" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getAccount , getSubjectDetail , updateAccount,listDeposit,queryTaccount,getCentralBooks } from "@/api/onlineHome/bankAgriculture/paymentAccount"; | |||
| import {getCentralSubjects} from "../../../../api/onlineHome/bankAgriculture/paymentAccount"; | |||
| export default { | |||
| name: "paymentAccountModify", | |||
| data() { | |||
| return { | |||
| showCentralSubjectId:false, | |||
| showCentralBookId:false, | |||
| showManagementControlType:false, | |||
| showTaccountId:false, | |||
| showVillageAccountType:false, | |||
| villageAccountType:null, | |||
| showAccountType:false, | |||
| showSubjectId:false, | |||
| showBankType:false, | |||
| minDate: new Date(), | |||
| showBankDeposit:false, | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| managementControlType:'', | |||
| taccountId:'', | |||
| accountType:'', | |||
| bankType:'', | |||
| centralBookId:'', | |||
| centralSubjectId:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| subjectDictionaries:[], | |||
| typeDictionaries:[], | |||
| villageAccountTypeOptions:[], | |||
| taccountIdOptions:[], | |||
| centralBookIdList:[], | |||
| centralSubjectIdList:[], | |||
| // 管控类型 == 中心账套时选择中心账套 | |||
| centralBooks: [], | |||
| // 管控类型字典 | |||
| managementControlTypeOptions: [], | |||
| bankDepositList:[], | |||
| // 所属银行字典 | |||
| bankTypeOptions: [], | |||
| subjectDeatil:'', | |||
| bankDepositQueryParams: { | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| bookId: null, | |||
| deptId: null, | |||
| payee: null, | |||
| payeeAccount: null, | |||
| bankDeposit: null, | |||
| payeeType:null, | |||
| bankType:null, | |||
| status: "0", | |||
| }, | |||
| form:{} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getTaList(); | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getAccount(this.$route.query.id).then((response) => { | |||
| // 账户类型 | |||
| this.houseGetDicts("account_type_cashier").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.typeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.accountType = this.selectDictLabel(res.data, response.data.accountType); | |||
| }); | |||
| this.getDicts("bank_type").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| this.bankType = this.selectDictLabel(res.data, response.data.bankType); | |||
| } | |||
| }); | |||
| this.getDicts("village_account_type").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.villageAccountTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| this.villageAccountType = this.selectDictLabel(res.data, response.data.villageAccountType); | |||
| } | |||
| }); | |||
| getSubjectDetail().then((res) => { | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.subjectDictionaries.push({text: res.rows[i].subjectNameAll, value: res.rows[i].subjectId}); | |||
| } | |||
| this.subjectDeatil = this.selectSubject(res.rows , response.data.subjectId); | |||
| }); | |||
| queryTaccount({ | |||
| bankType:response.data.bankType | |||
| }).then(res => { | |||
| this.taccountIdOptions = res.rows; | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee); | |||
| this.$set(this.taccountIdOptions[i], "value",res.rows[i].id); | |||
| if(response.data.taccountId==res.rows[i].id){ | |||
| this.taccountId= res.rows[i].payee | |||
| } | |||
| } | |||
| }); | |||
| if(response.data.centralBookId!=null&&response.data.centralBookId!=""&&response.data.managementControlType=="2"){ | |||
| getCentralBooks({yinnongTaccountId: response.data.taccountId}).then((res) => { | |||
| this.centralBookIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralBookIdList[i], "text",res.data[i].bookName); | |||
| this.$set(this.centralBookIdList[i], "value",res.data[i].id); | |||
| } | |||
| this.centralBookId = this.selectSubject(res.data , response.data.centralBookId); | |||
| }); | |||
| if(response.data.centralSubjectId!=null&&response.data.centralSubjectId!=""){ | |||
| getCentralSubjects({bookId: response.data.centralBookId}).then((res) => { | |||
| this.centralSubjectIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName); | |||
| this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId); | |||
| } | |||
| this.centralSubjectId = this.selectSubject(res.data , response.data.centralSubjectId); | |||
| }) | |||
| } | |||
| if(response.data.bankDeposit!=null&&response.data.bankDeposit!=""){ | |||
| this.bankDepositQueryParams.bankType = response.data.bankType; | |||
| listDeposit(this.bankDepositQueryParams).then(response => { | |||
| this.bankDepositList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit); | |||
| this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit); | |||
| } | |||
| this.bankDeposit = this.selectSubject(response.rows , response.data.bankDeposit); | |||
| }) | |||
| } | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| }, | |||
| getTaList(){ | |||
| let params= { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| bankType:this.form.bankType, | |||
| } | |||
| // this.getCentralBookOptions(); | |||
| queryTaccount(params).then(res => { | |||
| this.taccountIdOptions = res.rows; | |||
| for (var i = 0; i < res.rows.length; i++) { | |||
| this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee); | |||
| this.$set(this.taccountIdOptions[i], "value",res.rows[i].id); | |||
| } | |||
| }); | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| selectSubject(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].subjectId == ('' + value)) { | |||
| actions.push(datas[key].subjectNameAll); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCentralBookId(val){ | |||
| this.showCentralBookId = false | |||
| this.$set(this.form, "centralBookId",val.value); | |||
| this.centralBookId = val.text | |||
| getCentralSubjects({bookId: val.id}).then((res) => { | |||
| this.centralSubjectIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName); | |||
| this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmCentralSubjectId(val){ | |||
| this.showCentralSubjectId = false | |||
| this.$set(this.form, "centralSubjectId",val.value); | |||
| this.centralSubjectId = val.text | |||
| }, | |||
| onConfirmManagementControlType(val){ | |||
| if(val==2){ | |||
| getCentralBooks({yinnongTaccountId: this.form.taccountId}).then((res) => { | |||
| this.centralBookIdList = res.data; | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.$set(this.centralBookIdList[i], "text",res.data[i].bookName); | |||
| this.$set(this.centralBookIdList[i], "value",res.data[i].id); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| onConfirmBankDeposit(val){ | |||
| this.showBankDeposit = false | |||
| this.$set(this.form, "bankName", val.bankDeposit); | |||
| this.$set(this.form, "paymentLines", val.payeePaymentLines); | |||
| }, | |||
| onConfirmTaccountId(val){ | |||
| this.showTaccountId = false | |||
| this.taccountId = val.text | |||
| this.$set(this.form, "taccountId", val.value); | |||
| this.taccountIdOptions.map(res => { | |||
| if(res.id==val.value){ | |||
| if(this.form.villageAccountType === '3'){ | |||
| this.$set(this.form, "bankAccountNumber", res.payeeAccount); | |||
| } | |||
| //this.form.bankName = res.bankDeposit; | |||
| this.$set(this.form, "bankName", res.bankDeposit); | |||
| this.$set(this.form, "paymentLines", res.payeePaymentLines); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmBankType(val){ | |||
| this.showBankType = false | |||
| this.bankType = val.text | |||
| this.$set(this.form, "bankType", val.value); | |||
| this.getTaList(); | |||
| this.$set(this.form, "bankName", ''); | |||
| this.$set(this.form, "paymentLines", ''); | |||
| this.bankDepositQueryParams.bankType = val.value; | |||
| listDeposit(this.bankDepositQueryParams).then(response => { | |||
| this.bankDepositList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit); | |||
| this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit); | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmVillageAccountType(val){ | |||
| this.showVillageAccountType = false | |||
| this.villageAccountType = val.text | |||
| this.$set(this.form, "villageAccountType", val.value); | |||
| }, | |||
| onConfirmSubject(data){ | |||
| this.subjectDeatil = data.text; | |||
| this.form.subjectId = data.value; | |||
| this.form.subjectNameAll = data.text; | |||
| this.showSubjectId = false; | |||
| }, | |||
| onConfirmType(data){ | |||
| this.accountType = data.text; | |||
| this.form.accountType = data.value; | |||
| this.showAccountType = false; | |||
| }, | |||
| goModify(){ | |||
| console.log(this.form) | |||
| this.form.balance = this.form.initialBalance; | |||
| updateAccount(this.form).then((response) => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 0; | |||
| } | |||
| .main_title{ | |||
| font-size: 0.4rem; | |||
| color: #1D6FE9; | |||
| margin: 0.2rem 6%; | |||
| margin-top: 0; | |||
| 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,996 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加现金提现申请</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择申请时间' }]" | |||
| v-model="form.applyDate" | |||
| label="申请时间" | |||
| placeholder="请选择申请时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择资金支出类别' }]" | |||
| label="资金支出类别" | |||
| placeholder="请选择" | |||
| v-model="capitalExpenditureType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="capitalExpenditureTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| required | |||
| label="提现总金额" | |||
| v-model="form.expenditureAmount" | |||
| placeholder="根据下方收款金额自动核算" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field name="radio" label="审批模式" input-align="right" autocomplete="off" required | |||
| :rules="[{ required: true , message:'请选择审批模式' }]"> | |||
| <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> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="付款事由" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入付款事由" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请输入付款事由' }]" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title" v-if="capitalExpenditureOpen">关联项目</p> | |||
| <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="项目名称" | |||
| placeholder="请选择" | |||
| v-model="projectForm.projectName" | |||
| @click="showproject = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择项目名称' }]" | |||
| /> | |||
| <van-popup v-model="showproject" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectList" | |||
| @confirm="onConfirmProject" | |||
| @cancel="showproject = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="工程款类型" | |||
| placeholder="请选择" | |||
| v-model="projectFundType" | |||
| @click="showFundType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择工程款类型' }]" | |||
| /> | |||
| <van-popup v-model="showFundType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectFundTypeOptions" | |||
| @confirm="onConfirmFundType" | |||
| @cancel="showFundType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title" v-if="contractOpen">关联合同</p> | |||
| <div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="合同" | |||
| placeholder="请选择" | |||
| v-model="infoForm.name" | |||
| @click="showcontract = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择项目名称' }]" | |||
| /> | |||
| <van-popup v-model="showcontract" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="infoList" | |||
| @confirm="onConfirmContract" | |||
| @cancel="showcontract = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同编码' }]" v-model="infoForm.code" label="合同编码" placeholder="请输入合同编码" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="infoForm.totalAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">付款方信息</p> | |||
| <div class="main_box"> | |||
| <!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="付款方" | |||
| placeholder="请选择付款方" | |||
| v-model="form.payer" | |||
| @click="showpayer = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择付款方' }]" | |||
| /> | |||
| <van-popup v-model="showpayer" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payerOptions" | |||
| @confirm="onConfirmPayer($event)" | |||
| @cancel="showpayer = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field :rules="[{ required: true , message:'请输入付款方账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" /> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field required :rules="[{ required: true , message:'请输入收款方全称' }]" v-model="item.payee" label="收款方" placeholder="请输入收款方全称" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入提款人' }]" v-model="item.drawer" label="提款人" placeholder="请输入提款人" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入提款金额' }]" v-model="item.incomeAmount" type="number" label="提款金额(元)" placeholder="请输入提款金额" input-align="right" label-width="auto" @change="moneyChange"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入资金用途' }]" v-model="item.remark" label="资金用途" placeholder="请输入资金用途" input-align="right" label-width="auto" /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <!-- @click="goUpdate"--> | |||
| <van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <!-- @click="goAdd"--> | |||
| <van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addTransfer , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit , getAccount ,getQmyeFlow,listInfo ,getInfoto ,addInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| addCash, | |||
| addCashdetail, attachmentList, | |||
| commonAttach, | |||
| updateCash | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import Dialog from "vant/lib/dialog"; | |||
| export default { | |||
| name: "approvalAdd10", | |||
| data() { | |||
| return { | |||
| showcontract:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| showpayer:false, | |||
| buttonType:'a', | |||
| minDate: new Date(2000, 1, 1), | |||
| maxDate: new Date(2050, 12, 31), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| infoList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| payerOptions:[], | |||
| chargeItme:[], | |||
| chargeItmeShow:[], | |||
| payeeList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| transferType:10, | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| }, | |||
| capitalExpenditureOpen:false, | |||
| contractOpen:false, | |||
| projectForm:{ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'2' | |||
| }, | |||
| infoForm:{ | |||
| infoId:null, | |||
| name:null, | |||
| code:null, | |||
| totalAmount:null, | |||
| contractionId:null, | |||
| transferId:null | |||
| }, | |||
| // 合同信息查询参数 | |||
| queryContractionParams: { | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| contractionStatus: '1', | |||
| orderByColumn: "endTime", | |||
| isAsc: "desc", | |||
| }, | |||
| projectFundType:'', | |||
| uploadFiles:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| this.initProjectInfo(); | |||
| 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; | |||
| }); | |||
| let params1={ | |||
| accountType: "102", | |||
| status: "N", | |||
| } | |||
| getAccount(params1).then((response) => { | |||
| this.payerOptions = response.rows; | |||
| response.rows.map((res,index) => { | |||
| res['payerFrom'] = '1' | |||
| console.log(res) | |||
| this.payerOptions[index].text = res.accountName; | |||
| this.payerOptions[index].value = res.id; | |||
| }) | |||
| }); | |||
| this.getDictionaries(); | |||
| this.addChargeItme(); | |||
| }, | |||
| methods: { | |||
| initProjectInfo(){ | |||
| let _this = this | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| _this.projectList = response.rows; | |||
| console.log(response) | |||
| for (let i = 0; i < response.rows.length; i++) { | |||
| //_this.projectList[i].set({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| _this.$set(_this.projectList[i],"text",response.rows[i].projectName) | |||
| _this.$set(_this.projectList[i],"value",response.rows[i].id) | |||
| } | |||
| }); | |||
| listInfo(this.queryContractionParams).then(response => { | |||
| console.log(response) | |||
| _this.infoList = response.rows; | |||
| for (let i = 0; i < response.rows.length; i++) { | |||
| //_this.infoList[i].push({text: response.rows[i].name, value: response.rows[i].code}); | |||
| _this.$set(_this.infoList[i],"text",response.rows[i].name) | |||
| _this.$set(_this.infoList[i],"value",response.rows[i].code) | |||
| } | |||
| }); | |||
| }, | |||
| // 表单重置 | |||
| reset() { | |||
| this.form = { | |||
| id: null, | |||
| upId: null, | |||
| downId: null, | |||
| orderId: null, | |||
| cashierId: null, | |||
| cashType: '10', | |||
| accountType: '2', | |||
| explainSituation: null, | |||
| succeedAmount: null, | |||
| payer: null, | |||
| payerAccount: null, | |||
| operatorCode: null, | |||
| enterpriseCode: null, | |||
| expenditureAmount: null, | |||
| capitalExpenditureType: '1', | |||
| remark: null, | |||
| transferStatus: "0", | |||
| auditStatus: "0", | |||
| paymentState: "1", | |||
| bankPriority: "0", | |||
| clientPriority: "0" | |||
| }; | |||
| this.processList = {} | |||
| this.projectForm={ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'1' | |||
| } | |||
| }, | |||
| getChange(){ | |||
| if(this.buttonType == 'update'){ | |||
| this.goUpdate(); | |||
| }else if(this.buttonType == 'add'){ | |||
| this.goAdd(); | |||
| } | |||
| }, | |||
| getDictionaries(){ | |||
| this.getDicts("capital_expenditure_type").then((res) => { | |||
| for (let i = 0; i < res.data.length; i++) { | |||
| this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.getPayeeList(); | |||
| }, | |||
| getError(e){ | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| addChargeItme(index){ | |||
| if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){ | |||
| this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入提款金额!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].drawer == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入提款人!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].remark == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入资金用途!' }); | |||
| return; | |||
| } | |||
| this.getDicts("bank_type").then(res => { | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方全称 | |||
| payeeAccount: "", //收款账户 | |||
| drawer: "", //提款人 | |||
| incomeAmount: "", //提款金额 | |||
| bankType: "", //资金用途 | |||
| showPayee:false, | |||
| showbankType:false | |||
| }); | |||
| }); | |||
| }, | |||
| getPayeeList() { | |||
| //普通转账 | |||
| this.queryParams.accountType = this.form.accountType | |||
| this.queryParams.status = "0" | |||
| listPayee(this.queryParams).then((response) => { | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| let actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| if (data.value == 2){ | |||
| this.capitalExpenditureOpen = true; | |||
| this.contractOpen = false | |||
| this.infoForm = {}; | |||
| }else if(data.value == 4){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.contractOpen = true | |||
| this.projectForm = {}; | |||
| }else{ | |||
| this.capitalExpenditureOpen = false; | |||
| this.contractOpen = false | |||
| this.projectForm = {}; | |||
| this.infoForm = {}; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| this.projectList.map(res => { | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmContract(data){ | |||
| this.infoList.map(res => { | |||
| if(res.name==data.text){ | |||
| this.infoForm.contractionId = res.id; | |||
| this.infoForm.name = res.name; | |||
| this.infoForm.code = res.code; | |||
| this.infoForm.totalAmount = res.totalAmount; | |||
| } | |||
| }) | |||
| this.showcontract = false; | |||
| }, | |||
| onConfirmPayee(data,index){ | |||
| for (var i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showPayee = false; | |||
| } | |||
| this.chargeItme[index].payee = data.text; | |||
| this.chargeItme[index].payeeId = data.value; | |||
| this.chargeItme[index].showpayee = false; | |||
| this.payeeSelectChange(data.value , index) | |||
| }, | |||
| onConfirmBankType(data,index){ | |||
| for (var i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showbankType = false; | |||
| } | |||
| this.chargeItme[index].bankTypeText = data.text; | |||
| this.chargeItme[index].bankType = data.value; | |||
| this.chargeItme[index].showbankType = false; | |||
| }, | |||
| onConfirmPayer(data){ | |||
| this.form.payer = data.text; | |||
| this.form.cashierId = data.value; | |||
| this.showpayer = false; | |||
| this.selectChange(data.value) | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| this.payeeList = []; | |||
| this.queryParams.accountType = this.form.accountType | |||
| this.queryParams.status = "0" | |||
| listPayee(this.queryParams).then((response) => { | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| }); | |||
| }, | |||
| // 钱计算 | |||
| moneyChange(input) { | |||
| console.log(input) | |||
| let obj = {}; | |||
| obj = this.chargeItme.find((account) => { | |||
| //model就是上面的数据源 | |||
| return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据 | |||
| }); | |||
| let total = 0; | |||
| this.chargeItme.forEach((money) => { | |||
| total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2) | |||
| }); | |||
| this.$set(this.form, "expenditureAmount", total); | |||
| }, | |||
| goAdd(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| if(this.form.capitalExpenditureType==4){ | |||
| if(this.infoForm.name==""||this.infoForm.name==null){ | |||
| this.$notify({ type: 'danger', message: '请选择合同名称!' }); | |||
| return; | |||
| } | |||
| if(this.infoForm.code==""||this.infoForm.code==null){ | |||
| this.$notify({ type: 'danger', message: '请输入合同编码!' }); | |||
| return; | |||
| } | |||
| if(this.infoForm.totalAmount==""||this.infoForm.totalAmount==null){ | |||
| this.$notify({ type: 'danger', message: '请输入合同价款!' }); | |||
| return; | |||
| } | |||
| } | |||
| if(this.uploadFiles==null||this.uploadFiles.length==0){ | |||
| Dialog.confirm({ | |||
| title: '提示', | |||
| message: '此申请单中未上传任何附件,是否确认提交?', | |||
| }) | |||
| .then(() => { | |||
| console.log(this.form) | |||
| addCash(this.form).then((response) => { | |||
| this.chargeItme.map(res => { | |||
| res.cashId = response.data.id | |||
| addCashdetail(res).then(r => { | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '2'); | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else if(this.form.capitalExpenditureType==4){ | |||
| this.infoForm.transferId = response.data.id | |||
| addInfoto(this.infoForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }) | |||
| }) | |||
| }); | |||
| }) | |||
| }else{ | |||
| addCash(this.form).then((response) => { | |||
| console.log(this.uploadFiles) | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", response.data.id); | |||
| params.append("tableName", "t_yinnong_cash"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| this.chargeItme.map(res => { | |||
| res.cashId = response.data.id | |||
| addCashdetail(res).then(r => { | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '2'); | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else if(this.form.capitalExpenditureType==4){ | |||
| this.infoForm.transferId = response.data.id | |||
| addInfoto(this.infoForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }) | |||
| }) | |||
| }); | |||
| } | |||
| }, | |||
| goUpdate(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| if(this.form.capitalExpenditureType==4){ | |||
| if(this.infoForm.name==""||this.infoForm.name==null){ | |||
| this.$notify({ type: 'danger', message: '请选择合同名称!' }); | |||
| return; | |||
| } | |||
| if(this.infoForm.code==""||this.infoForm.code==null){ | |||
| this.$notify({ type: 'danger', message: '请输入合同编码!' }); | |||
| return; | |||
| } | |||
| if(this.infoForm.totalAmount==""||this.infoForm.totalAmount==null){ | |||
| this.$notify({ type: 'danger', message: '请输入合同价款!' }); | |||
| return; | |||
| } | |||
| } | |||
| if(this.uploadFiles==null||this.uploadFiles.length==0){ | |||
| addCash(this.form).then((response) => { | |||
| this.chargeItme.map(res => { | |||
| res.cashId = response.data.id | |||
| addCashdetail(res).then(r => { | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '2'); | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else if(this.form.capitalExpenditureType==4){ | |||
| this.infoForm.transferId = response.data.id | |||
| addInfoto(this.infoForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }) | |||
| }) | |||
| }); | |||
| }else{ | |||
| addCash(this.form).then((response) => { | |||
| console.log(this.uploadFiles) | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", response.data.id); | |||
| params.append("tableName", "t_yinnong_cash"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| this.chargeItme.map(res => { | |||
| res.cashId = response.data.id | |||
| addCashdetail(res).then(r => { | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '2'); | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else if(this.form.capitalExpenditureType==4){ | |||
| this.infoForm.transferId = response.data.id | |||
| addInfoto(this.infoForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }) | |||
| }) | |||
| }); | |||
| } | |||
| }, | |||
| payeeSelectChange(select, i) { | |||
| let obj = {}; | |||
| let fuzhitype = 0; | |||
| obj = this.payeeList.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select ; //筛选出匹配数据 | |||
| }); | |||
| if(this.chargeItme != [] && this.chargeItme.length>1){ | |||
| this.chargeItme.some((value, index) => { | |||
| if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){ | |||
| fuzhitype = 2; | |||
| return true; | |||
| } | |||
| if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){ | |||
| fuzhitype = 1; | |||
| return true; | |||
| } | |||
| }); | |||
| } | |||
| if(fuzhitype == 0){ | |||
| this.$set(this.chargeItme[i], "payee",obj.payee) | |||
| this.$set(this.chargeItme[i], "bankType", obj.bankType) | |||
| this.$set(this.chargeItme[i], "payeeId", obj.id); | |||
| this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount); | |||
| this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); | |||
| this.$set(this.chargeItme[i], "accountType", obj.accountType); | |||
| }else if(fuzhitype == 1){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' }); | |||
| }else if(fuzhitype == 2){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '收款方已存在!' }); | |||
| } | |||
| }, | |||
| selectChange(select) { | |||
| let obj = {}; | |||
| obj = this.payerOptions.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select; //筛选出匹配数据 | |||
| }); | |||
| if(obj.accountPassword != null && obj.accountPassword != "" && | |||
| obj.bankType != null && obj.bankType != ""){ | |||
| this.$set(this.form, "bookId", obj.bookId); | |||
| this.$set(this.form, "deptId", obj.deptId); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| this.$set(this.form, "bankType", obj.bankType); | |||
| this.$set(this.form, "bankAccountType", obj.bankAccountType); | |||
| this.$set(this.form, "villageAccountType", obj.villageAccountType); | |||
| this.$set(this.form, "taccountId", obj.taccountId); | |||
| this.$set(this.form, "accountNo", obj.accountNo); | |||
| this.$set(this.form, "cifNo", obj.cifNo); | |||
| this.$set(this.form, "payerFrom", '1'); | |||
| if(obj.bankType==1){ | |||
| this.form.accountType = "1" | |||
| this.form.isPeers = null | |||
| this.accountTypeChange(); | |||
| }else if(obj.bankType==2||obj.bankType==4){ | |||
| this.form.accountType = null | |||
| this.form.isPeers = "Y" | |||
| this.accountTypeChange1(); | |||
| } | |||
| }else{ | |||
| if(obj.payerFrom==1){ | |||
| this.diglogStatus = false; | |||
| this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" }); | |||
| this.$set(this.form,"payer","") | |||
| this.$set(this.form,"payerAccount","") | |||
| }else{ | |||
| this.$set(this.form, "payerFrom", obj.parerFrom); | |||
| if(obj.operatorCode!=null&&obj.operatorCode!=''){ | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| }else{ | |||
| this.$set(this.form, "operatorCode", ''); | |||
| } | |||
| if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){ | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| }else{ | |||
| this.$set(this.form, "enterpriseCode", ''); | |||
| } | |||
| if(obj.accountPassword!=null&&obj.accountPassword!=''){ | |||
| this.$set(this.form, "accountPassword", obj.accountPassword); | |||
| }else{ | |||
| this.$set(this.form, "accountPassword", ''); | |||
| } | |||
| this.$set(this.form, "bookId",''); | |||
| this.$set(this.form, "deptId", ''); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| this.$set(this.form, "bankType", obj.bankType); | |||
| if(obj.payerFrom==6){ | |||
| getQmyeFlow(obj.bankAccountNumber).then((response) => { | |||
| this.$set(this.form, "payerAccount", response.data); | |||
| }); | |||
| }else { | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_cash", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,942 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加虚拟挂账申请</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择申请时间' }]" | |||
| v-model="form.applyDate" | |||
| label="申请时间" | |||
| placeholder="请选择申请时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择资金支出类别' }]" | |||
| label="资金支出类别" | |||
| placeholder="请选择" | |||
| v-model="capitalExpenditureType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="capitalExpenditureTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| required | |||
| label="支出总金额" | |||
| v-model="form.expenditureAmount" | |||
| placeholder="根据下方收款金额自动核算" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="付款事由" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入付款事由" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请输入付款事由' }]" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title" v-if="capitalExpenditureOpen">关联项目</p> | |||
| <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="项目名称" | |||
| placeholder="请选择" | |||
| v-model="projectForm.projectName" | |||
| @click="showproject = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择项目名称' }]" | |||
| /> | |||
| <van-popup v-model="showproject" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectListShow" | |||
| @confirm="onConfirmProject" | |||
| @cancel="showproject = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="工程款类型" | |||
| placeholder="请选择" | |||
| v-model="projectFundType" | |||
| @click="showFundType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择工程款类型' }]" | |||
| /> | |||
| <van-popup v-model="showFundType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectFundTypeOptions" | |||
| @confirm="onConfirmFundType" | |||
| @cancel="showFundType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">付款方信息</p> | |||
| <div class="main_box"> | |||
| <!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="付款方" | |||
| placeholder="请选择付款方" | |||
| v-model="form.payer" | |||
| @click="showpayer = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择付款方' }]" | |||
| /> | |||
| <van-popup v-model="showpayer" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payerOptions" | |||
| @confirm="onConfirmPayer($event)" | |||
| @cancel="showpayer = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field :rules="[{ required: true , message:'请输入付款方账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | |||
| <div class="main_box" style="margin-bottom: 15px;"> | |||
| <van-cell title="收款账户类型"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" /> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="收款方" | |||
| placeholder="请选择" | |||
| v-model="item.payee" | |||
| @click="item.showPayee = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择收款方' }]" | |||
| /> | |||
| <van-popup v-model="item.showPayee" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payeeList" | |||
| @confirm="onConfirmPayee($event,index)" | |||
| @cancel="item.showPayee = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'收款账户不能为空' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请选择收款方" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'开户银行不能为空' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请选择收款方" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" type="number" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/> | |||
| <van-field | |||
| readonly | |||
| label="所属银行" | |||
| placeholder="请选择收款方" | |||
| v-model="item.bankTypeText" | |||
| @click="item.showbankType = true" | |||
| input-align="right" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <!-- @click="goUpdate"--> | |||
| <van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <!-- @click="goAdd"--> | |||
| <van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addTransfer , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit , getAccount ,getQmyeFlow} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| listTaccount, | |||
| listVaccount | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import Dialog from "vant/lib/dialog"; | |||
| export default { | |||
| name: "approvalAdd3", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| showpayer:false, | |||
| buttonType:'a', | |||
| minDate: new Date(2000, 1, 1), | |||
| maxDate: new Date(2050, 12, 31), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| 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:'2' | |||
| }, | |||
| projectFundType:'', | |||
| uploadFiles:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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; | |||
| }); | |||
| let params1={ | |||
| townAccountType:'3' | |||
| } | |||
| listTaccount(params1).then((response) => { | |||
| console.log(response) | |||
| response.rows.map((res,index) => { | |||
| if(res.townAccountType=='3'){ | |||
| res['payerFrom'] = '3' | |||
| this.payerOptions.push(res); | |||
| this.payerOptions[index].text = res.payee; | |||
| this.payerOptions[index].value = res.id; | |||
| } | |||
| }) | |||
| }); | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| // 表单重置 | |||
| reset() { | |||
| this.form = { | |||
| id: null, | |||
| upId: null, | |||
| downId: null, | |||
| orderId: null, | |||
| cashierId: null, | |||
| transferType: '3', | |||
| accountType: '2', | |||
| explainSituation: null, | |||
| succeedAmount: null, | |||
| payer: null, | |||
| payerAccount: null, | |||
| operatorCode: null, | |||
| enterpriseCode: null, | |||
| expenditureAmount: null, | |||
| capitalExpenditureType: '1', | |||
| remark: null, | |||
| transferStatus: "0", | |||
| auditStatus: "0", | |||
| paymentState: "1", | |||
| bankPriority: "0", | |||
| clientPriority: "0" | |||
| }; | |||
| this.processList = {} | |||
| this.projectForm={ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'1' | |||
| } | |||
| }, | |||
| getChange(){ | |||
| console.log(this.buttonType) | |||
| if(this.buttonType == 'update'){ | |||
| console.log('update') | |||
| this.goUpdate(); | |||
| }else if(this.buttonType == 'add'){ | |||
| console.log('add') | |||
| this.goAdd(); | |||
| } | |||
| }, | |||
| getDictionaries(){ | |||
| 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.getDicts("bank_type").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| this.getPayeeList(); | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| addChargeItme(index){ | |||
| if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){ | |||
| this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入收入金额!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].payeeAccount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入收款账户!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankDeposit == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入开户银行!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankType == ''){ | |||
| this.$notify({ type: 'danger', message: '请选择所属银行!' }); | |||
| return; | |||
| } | |||
| this.getDicts("bank_type").then(res => { | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| bankTypeText: "", //所属银行 | |||
| showPayee:false, | |||
| showbankType:false | |||
| }); | |||
| }); | |||
| }, | |||
| getPayeeList() { | |||
| let params = { | |||
| villageAccountType : 1, | |||
| status:'0', | |||
| accountType : this.form.accountType | |||
| } | |||
| console.log(params) | |||
| listVaccount(params).then(response => { | |||
| console.log(response) | |||
| if(response.rows.length>0){ | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| this.projectList.map(res => { | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data,index){ | |||
| console.log(data,index) | |||
| for (let i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showPayee = false; | |||
| } | |||
| this.chargeItme[index].payee = data.text; | |||
| this.chargeItme[index].payeeId = data.value; | |||
| this.chargeItme[index].showpayee = false; | |||
| this.payeeSelectChange(data.value , index) | |||
| this.onConfirmBankType(data,index); | |||
| }, | |||
| onConfirmBankType(data,index){ | |||
| this.bankTypeDictionaries.map(res => { | |||
| if(res.value==data.bankType){ | |||
| this.chargeItme[index].bankTypeText = res.text; | |||
| this.chargeItme[index].bankType = res.value; | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmPayer(data){ | |||
| console.log(data) | |||
| this.form.payer = data.text; | |||
| this.form.cashierId = data.value; | |||
| this.form.payerAccount = data.payeeAccount; | |||
| this.showpayer = false; | |||
| this.accountTypeChange(); | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| this.chargeItme = []; | |||
| this.payeeList = []; | |||
| let params = { | |||
| villageAccountType : 1, | |||
| status:'0', | |||
| accountType : this.form.accountType, | |||
| taccountId:this.form.cashierId | |||
| } | |||
| listVaccount(params).then(response => { | |||
| console.log(response) | |||
| if(response.rows.length>0){ | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| // 钱计算 | |||
| moneyChange(input) { | |||
| console.log(input) | |||
| let obj = {}; | |||
| obj = this.chargeItme.find((account) => { | |||
| //model就是上面的数据源 | |||
| return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据 | |||
| }); | |||
| let total = 0; | |||
| this.chargeItme.forEach((money) => { | |||
| total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2) | |||
| }); | |||
| this.$set(this.form, "expenditureAmount", total); | |||
| }, | |||
| goAdd(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){ | |||
| Dialog.confirm({ | |||
| title: '提示', | |||
| message: '此申请单中未上传任何附件,是否确认提交?', | |||
| }) | |||
| .then(() => { | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| addTransfer(this.form).then(response => { | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", response.data.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| return false; | |||
| }); | |||
| }else{ | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| addTransfer(this.form).then(response => { | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", response.data.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| goUpdate(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| console.log(this.form) | |||
| addTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| console.log(this.uploadFiles) | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", response.data.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| } | |||
| }); | |||
| }, | |||
| payeeSelectChange(select, i) { | |||
| let obj = {}; | |||
| let fuzhitype = 0; | |||
| obj = this.payeeList.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select ; //筛选出匹配数据 | |||
| }); | |||
| if(this.chargeItme != [] && this.chargeItme.length>1){ | |||
| this.chargeItme.some((value, index) => { | |||
| if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){ | |||
| fuzhitype = 2; | |||
| return true; | |||
| } | |||
| if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){ | |||
| fuzhitype = 1; | |||
| return true; | |||
| } | |||
| }); | |||
| } | |||
| if(fuzhitype == 0){ | |||
| this.$set(this.chargeItme[i], "payee",obj.payee) | |||
| this.$set(this.chargeItme[i], "bankType", obj.bankType) | |||
| this.$set(this.chargeItme[i], "payeeId", obj.id); | |||
| this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount); | |||
| this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); | |||
| this.$set(this.chargeItme[i], "accountType", obj.accountType); | |||
| }else if(fuzhitype == 1){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' }); | |||
| }else if(fuzhitype == 2){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '收款方已存在!' }); | |||
| } | |||
| }, | |||
| selectChange(select) { | |||
| let obj = {}; | |||
| obj = this.payerOptions.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select; //筛选出匹配数据 | |||
| }); | |||
| if(obj.payerFrom==1&&obj.operatorCode != null && obj.operatorCode != "" && | |||
| obj.enterpriseCode != null && obj.enterpriseCode != "" && | |||
| obj.accountPassword != null && obj.accountPassword != ""){ | |||
| this.$set(this.form, "bookId", obj.bookId); | |||
| this.$set(this.form, "deptId", obj.deptId); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| this.$set(this.form, "payerFrom", '1'); | |||
| }else{ | |||
| if(obj.payerFrom==1){ | |||
| this.diglogStatus = false; | |||
| this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" }); | |||
| this.$set(this.form,"payer","") | |||
| this.$set(this.form,"payerAccount","") | |||
| }else{ | |||
| this.$set(this.form, "payerFrom", obj.parerFrom); | |||
| if(obj.operatorCode!=null&&obj.operatorCode!=''){ | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| }else{ | |||
| this.$set(this.form, "operatorCode", ''); | |||
| } | |||
| if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){ | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| }else{ | |||
| this.$set(this.form, "enterpriseCode", ''); | |||
| } | |||
| if(obj.accountPassword!=null&&obj.accountPassword!=''){ | |||
| this.$set(this.form, "accountPassword", obj.accountPassword); | |||
| }else{ | |||
| this.$set(this.form, "accountPassword", ''); | |||
| } | |||
| this.$set(this.form, "bookId",''); | |||
| this.$set(this.form, "deptId", ''); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| if(obj.payerFrom==6){ | |||
| getQmyeFlow(obj.bankAccountNumber).then((response) => { | |||
| this.$set(this.form, "payerAccount", response.data); | |||
| }); | |||
| }else { | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,944 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加母子转账申请</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择申请时间' }]" | |||
| v-model="form.applyDate" | |||
| label="申请时间" | |||
| placeholder="请选择申请时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择资金支出类别' }]" | |||
| label="资金支出类别" | |||
| placeholder="请选择" | |||
| v-model="capitalExpenditureType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="capitalExpenditureTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| required | |||
| label="支出总金额" | |||
| v-model="form.expenditureAmount" | |||
| placeholder="根据下方收款金额自动核算" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="付款事由" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入付款事由" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请输入付款事由' }]" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title" v-if="capitalExpenditureOpen">关联项目</p> | |||
| <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="项目名称" | |||
| placeholder="请选择" | |||
| v-model="projectForm.projectName" | |||
| @click="showproject = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择项目名称' }]" | |||
| /> | |||
| <van-popup v-model="showproject" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectListShow" | |||
| @confirm="onConfirmProject" | |||
| @cancel="showproject = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="工程款类型" | |||
| placeholder="请选择" | |||
| v-model="projectFundType" | |||
| @click="showFundType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择工程款类型' }]" | |||
| /> | |||
| <van-popup v-model="showFundType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectFundTypeOptions" | |||
| @confirm="onConfirmFundType" | |||
| @cancel="showFundType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">付款方信息</p> | |||
| <div class="main_box"> | |||
| <!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="付款方" | |||
| placeholder="请选择付款方" | |||
| v-model="form.payer" | |||
| @click="showpayer = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择付款方' }]" | |||
| /> | |||
| <van-popup v-model="showpayer" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payerOptions" | |||
| @confirm="onConfirmPayer($event)" | |||
| @cancel="showpayer = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field :rules="[{ required: true , message:'请输入付款方账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | |||
| <div class="main_box" style="margin-bottom: 15px;"> | |||
| <van-cell title="收款账户类型"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" /> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="收款方" | |||
| placeholder="请选择" | |||
| v-model="item.payee" | |||
| @click="item.showPayee = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择收款方' }]" | |||
| /> | |||
| <van-popup v-model="item.showPayee" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payeeList" | |||
| @confirm="onConfirmPayee($event,index)" | |||
| @cancel="item.showPayee = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'收款账户不能为空' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请选择收款方" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'开户银行不能为空' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请选择收款方" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" type="number" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属银行" | |||
| placeholder="请选择收款方" | |||
| v-model="item.bankTypeText" | |||
| @click="item.showbankType = true" | |||
| input-align="right" | |||
| required | |||
| :rules="[{ required: true , message:'所属银行不能为空 ' }]" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <!-- @click="goUpdate"--> | |||
| <van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <!-- @click="goAdd"--> | |||
| <van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { addTransfer , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit , getAccount ,getQmyeFlow} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| listTaccount, | |||
| listVaccount | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import Dialog from "vant/lib/dialog"; | |||
| export default { | |||
| name: "approvalAdd5", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| showpayer:false, | |||
| buttonType:'a', | |||
| minDate: new Date(2000, 1, 1), | |||
| maxDate: new Date(2050, 12, 31), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| 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' | |||
| }, | |||
| projectFundType:'', | |||
| uploadFiles:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.reset(); | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| this.projectList = response.rows; | |||
| for (let i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| this.getDicts("project_fund_type").then((response) => { | |||
| for (let i = 0; i < response.data.length; i++) { | |||
| this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}); | |||
| } | |||
| this.projectFundTypeDictionaries = response.data; | |||
| }); | |||
| let params1={ | |||
| townAccountType:'2' | |||
| } | |||
| listTaccount(params1).then((response) => { | |||
| console.log(response) | |||
| response.rows.map((res,index) => { | |||
| if(res.townAccountType=='2'){ | |||
| res['payerFrom'] = '2' | |||
| this.payerOptions.push(res); | |||
| console.log(res) | |||
| this.payerOptions[index].text = res.payee; | |||
| this.payerOptions[index].value = res.id; | |||
| } | |||
| }) | |||
| }); | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| // 表单重置 | |||
| reset() { | |||
| this.form = { | |||
| id: null, | |||
| upId: null, | |||
| downId: null, | |||
| orderId: null, | |||
| cashierId: null, | |||
| transferType: '5', | |||
| accountType: '2', | |||
| explainSituation: null, | |||
| succeedAmount: null, | |||
| payer: null, | |||
| payerAccount: null, | |||
| operatorCode: null, | |||
| enterpriseCode: null, | |||
| expenditureAmount: null, | |||
| capitalExpenditureType: '1', | |||
| remark: null, | |||
| transferStatus: "0", | |||
| auditStatus: "0", | |||
| paymentState: "1", | |||
| bankPriority: "0", | |||
| clientPriority: "0" | |||
| }; | |||
| this.processList = {} | |||
| this.projectForm={ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'1' | |||
| } | |||
| }, | |||
| getChange(){ | |||
| console.log(this.buttonType) | |||
| if(this.buttonType == 'update'){ | |||
| console.log('update') | |||
| this.goUpdate(); | |||
| }else if(this.buttonType == 'add'){ | |||
| console.log('add') | |||
| this.goAdd(); | |||
| } | |||
| }, | |||
| getDictionaries(){ | |||
| 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.getDicts("bank_type").then(res => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| addChargeItme(index){ | |||
| if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){ | |||
| this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入收入金额!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].payeeAccount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入收款账户!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankDeposit == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入开户银行!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankType == ''){ | |||
| this.$notify({ type: 'danger', message: '请选择所属银行!' }); | |||
| return; | |||
| } | |||
| this.getDicts("bank_type").then(res => { | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| bankTypeText:"", //所属银行 | |||
| showPayee:false, | |||
| showbankType:false | |||
| }); | |||
| }); | |||
| this.getPayeeList(); | |||
| }, | |||
| getPayeeList() { | |||
| //普通转账 | |||
| this.queryParams.accountType = this.form.accountType | |||
| this.queryParams.status = "0" | |||
| if(this.form.cashierId==null||this.form.cashierId==""){ | |||
| this.$notify({ type: 'danger', message: '请先选择付款方!' }); | |||
| return; | |||
| }else { | |||
| this.queryParams.taccountId = parseInt(this.form.cashierId) | |||
| listVaccount(this.queryParams).then((response) => { | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| }); | |||
| } | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| let actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| this.projectList.map(res => { | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data,index){ | |||
| for (let i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showPayee = false; | |||
| } | |||
| this.chargeItme[index].payee = data.text; | |||
| this.chargeItme[index].payeeId = data.value; | |||
| this.chargeItme[index].showpayee = false; | |||
| this.payeeSelectChange(data.value , index) | |||
| this.onConfirmBankType(data,index); | |||
| }, | |||
| onConfirmBankType(data,index){ | |||
| console.log(this.bankTypeDictionaries) | |||
| this.bankTypeDictionaries.map(res => { | |||
| if(res.value==data.bankType){ | |||
| this.chargeItme[index].bankTypeText = res.text; | |||
| this.chargeItme[index].bankType = res.value; | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmPayer(data){ | |||
| console.log(data) | |||
| this.form.payer = data.text; | |||
| this.form.cashierId = data.value; | |||
| this.form.payerAccount = data.payeeAccount; | |||
| this.showpayer = false; | |||
| // this.selectChange(data.value) | |||
| this.accountTypeChange(); | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| this.payeeList = []; | |||
| this.chargeItme = []; | |||
| this.queryParams.accountType = this.form.accountType | |||
| if(this.form.cashierId==null||this.form.cashierId==""){ | |||
| this.$notify({ type: 'danger', message: '请先选择付款方!' }); | |||
| return; | |||
| }else { | |||
| this.queryParams.taccountId = parseInt(this.form.cashierId) | |||
| console.log(this.queryParams) | |||
| listVaccount(this.queryParams).then((response) => { | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| }); | |||
| } | |||
| }, | |||
| // 钱计算 | |||
| moneyChange(input) { | |||
| console.log(input) | |||
| let obj = {}; | |||
| obj = this.chargeItme.find((account) => { | |||
| //model就是上面的数据源 | |||
| return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据 | |||
| }); | |||
| let total = 0; | |||
| this.chargeItme.forEach((money) => { | |||
| total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2) | |||
| }); | |||
| this.$set(this.form, "expenditureAmount", total); | |||
| }, | |||
| goAdd(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){ | |||
| Dialog.confirm({ | |||
| title: '提示', | |||
| message: '此申请单中未上传任何附件,是否确认提交?', | |||
| }) | |||
| .then(() => { | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| addTransfer(this.form).then(response => { | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", response.data.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| return false; | |||
| }); | |||
| }else{ | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| addTransfer(this.form).then(response => { | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", response.data.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| goUpdate(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| console.log(this.form) | |||
| addTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = response.data.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| console.log(this.uploadFiles) | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", response.data.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| } | |||
| }); | |||
| }, | |||
| payeeSelectChange(select, i) { | |||
| let obj = {}; | |||
| let fuzhitype = 0; | |||
| obj = this.payeeList.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select ; //筛选出匹配数据 | |||
| }); | |||
| if(this.chargeItme != [] && this.chargeItme.length>1){ | |||
| this.chargeItme.some((value, index) => { | |||
| if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){ | |||
| fuzhitype = 2; | |||
| return true; | |||
| } | |||
| if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){ | |||
| fuzhitype = 1; | |||
| return true; | |||
| } | |||
| }); | |||
| } | |||
| if(fuzhitype == 0){ | |||
| this.$set(this.chargeItme[i], "payee",obj.payee) | |||
| this.$set(this.chargeItme[i], "bankType", obj.bankType) | |||
| this.$set(this.chargeItme[i], "payeeId", obj.id); | |||
| this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount); | |||
| this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); | |||
| this.$set(this.chargeItme[i], "accountType", obj.accountType); | |||
| }else if(fuzhitype == 1){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' }); | |||
| }else if(fuzhitype == 2){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '收款方已存在!' }); | |||
| } | |||
| }, | |||
| selectChange(select) { | |||
| let obj = {}; | |||
| obj = this.payerOptions.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select; //筛选出匹配数据 | |||
| }); | |||
| if(obj.payerFrom==1&&obj.operatorCode != null && obj.operatorCode != "" && | |||
| obj.enterpriseCode != null && obj.enterpriseCode != "" && | |||
| obj.accountPassword != null && obj.accountPassword != ""){ | |||
| this.$set(this.form, "bookId", obj.bookId); | |||
| this.$set(this.form, "deptId", obj.deptId); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| this.$set(this.form, "payerFrom", '1'); | |||
| }else{ | |||
| if(obj.payerFrom==1){ | |||
| this.diglogStatus = false; | |||
| this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" }); | |||
| this.$set(this.form,"payer","") | |||
| this.$set(this.form,"payerAccount","") | |||
| }else{ | |||
| this.$set(this.form, "payerFrom", obj.parerFrom); | |||
| if(obj.operatorCode!=null&&obj.operatorCode!=''){ | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| }else{ | |||
| this.$set(this.form, "operatorCode", ''); | |||
| } | |||
| if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){ | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| }else{ | |||
| this.$set(this.form, "enterpriseCode", ''); | |||
| } | |||
| if(obj.accountPassword!=null&&obj.accountPassword!=''){ | |||
| this.$set(this.form, "accountPassword", obj.accountPassword); | |||
| }else{ | |||
| this.$set(this.form, "accountPassword", ''); | |||
| } | |||
| this.$set(this.form, "bookId",''); | |||
| this.$set(this.form, "deptId", ''); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| if(obj.payerFrom==6){ | |||
| getQmyeFlow(obj.bankAccountNumber).then((response) => { | |||
| this.$set(this.form, "payerAccount", response.data); | |||
| }); | |||
| }else { | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,367 @@ | |||
| <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.paymentState" direction="horizontal"> | |||
| <van-radio name="1">线上支付</van-radio> | |||
| <van-radio name="2">线下支付</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| </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> | |||
| <p class="main_title">列表信息</p> | |||
| <div class="main_box" style="margin-bottom: 15px;"> | |||
| <van-field readonly label="收款账户类型" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="是否与付款方同行" v-if="form.bankType==2||form.bankType==4" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" /> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <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> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| <van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader> | |||
| </div> | |||
| <p style="margin-top:20px;padding: 0 10px">附件下载{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p> | |||
| <van-cell v-for="(item,index) in fileList" :key="index"> | |||
| <a :href="item.url">{{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 , approval } 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' | |||
| }, | |||
| projectFundType:'', | |||
| fileList:[], | |||
| uploadFiles:[], | |||
| // 审核意见默认值 | |||
| pass: "true", | |||
| comment: "同意", | |||
| }; | |||
| }, | |||
| created() { | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| console.log(response) | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| backDone(){ | |||
| if(this.$route.query.type != 'done'){ | |||
| this.$router.push({name:'yinnongDone',query: {activeName:'1'}}) | |||
| }else{ | |||
| this.$router.push({name:'yinnongDone',query: {activeName:'2'}}) | |||
| } | |||
| }, | |||
| goFlow(){ | |||
| window.location='approvalProcess?id='+this.$route.query.id; | |||
| }, | |||
| 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{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| queryTransferDetail(this.$route.query.id).then((response) => { | |||
| this.getDicts("bank_type").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}); | |||
| } | |||
| }); | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| console.log(file) | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| if(file.id){ | |||
| systemAttachment(file.id).then((res) => { | |||
| }); | |||
| } | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| /** 提交按钮 */ | |||
| submitForm() { | |||
| const data = { | |||
| taskId: this.$route.query.taskId, | |||
| instanceId: this.form.instanceId, | |||
| variables: JSON.stringify({ | |||
| comment: this.comment, | |||
| pass: this.pass, | |||
| }), | |||
| }; | |||
| console.log(data); | |||
| 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_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> | |||
| @@ -0,0 +1,509 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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.paymentState" direction="horizontal"> | |||
| <van-radio name="1">线上支付</van-radio> | |||
| <van-radio name="2">线下支付</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| </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> | |||
| <p class="main_title">收款方信息</p> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field readonly label="收款方" v-model="item.payee" input-align="right" /> | |||
| <van-field readonly label="提款人" v-model="item.drawer" 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.remark" input-align="right" /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| <van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader> | |||
| </div> | |||
| <p style="margin-top:20px;padding: 0 10px">附件下载{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p> | |||
| <van-cell v-for="(item,index) in fileList" :key="index"> | |||
| <a :href="item.url">{{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 { getCash , listCashdetailByCashId , listPayee , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import {approval, attachmentList, commonAttach} from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail10", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2050, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| 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:'2' | |||
| }, | |||
| projectFundType:'', | |||
| uploadFiles:[], | |||
| // 审核意见默认值 | |||
| pass: "true", | |||
| comment: "同意", | |||
| }; | |||
| }, | |||
| created() { | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| console.log(response) | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess2?id='+this.$route.query.id; | |||
| }, | |||
| getDictionaries(){ | |||
| getCash(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' : '2' | |||
| } | |||
| getProjectto(param).then(res => { | |||
| this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType); | |||
| this.projectForm = res.data | |||
| }) | |||
| }else{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| console.log(this.$route.query.id) | |||
| listCashdetailByCashId(this.$route.query.id).then((response) => { | |||
| this.chargeItme = response.data; | |||
| console.log(response.data) | |||
| this.getPayeeList(); | |||
| }); | |||
| }, | |||
| addChargeItme(index){ | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| }); | |||
| }, | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| console.log(data) | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| console.log(data) | |||
| this.projectList.map(res => { | |||
| console.log(res) | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| console.log(this.projectForm) | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data){ | |||
| // this.chargeItme[this.chargeItme.length-1].payeeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payee = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payeeId = data.value; | |||
| console.log(this.chargeItme) | |||
| this.showpayee = false; | |||
| }, | |||
| onConfirmBankType(data){ | |||
| console.log(this.chargeItme) | |||
| this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].bankType = data.value; | |||
| this.showbankType = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| console.log(e) | |||
| this.payeeList = []; | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| goAdd(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| console.log(this.form); | |||
| updateTransfer(this.form).then(response => { | |||
| console.log(response); | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| console.log(this.projectForm) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| goUpdate(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| this.projectForm.outId = this.form.id | |||
| updateTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }); | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_cash", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| /** 提交按钮 */ | |||
| submitForm() { | |||
| const data = { | |||
| taskId: this.$route.query.taskId, | |||
| instanceId: this.form.instanceId, | |||
| variables: JSON.stringify({ | |||
| comment: this.comment, | |||
| pass: this.pass, | |||
| }), | |||
| }; | |||
| console.log(data); | |||
| 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_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> | |||
| @@ -0,0 +1,514 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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.paymentState" direction="horizontal"> | |||
| <van-radio name="1">线上支付</van-radio> | |||
| <van-radio name="2">线下支付</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| </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> | |||
| <p class="main_title">收款方信息</p> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field readonly label="收款方" v-model="item.payee" input-align="right" /> | |||
| <van-field readonly label="提款人" v-model="item.drawer" 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.remark" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| <van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader> | |||
| </div> | |||
| <p style="margin-top:20px;padding: 0 10px">附件下载{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p> | |||
| <van-cell v-for="(item,index) in fileList" :key="index"> | |||
| <a :href="item.url">{{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 , updateTransfer , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| approval, | |||
| attachmentList, | |||
| commonAttach, | |||
| getCash, | |||
| listCashdetailByCashId | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail11", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| 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' | |||
| }, | |||
| projectFundType:'', | |||
| // 审核意见默认值 | |||
| pass: "true", | |||
| comment: "同意", | |||
| }; | |||
| }, | |||
| created() { | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess2?id='+this.$route.query.id; | |||
| }, | |||
| getDictionaries(){ | |||
| getCash(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' : '2' | |||
| } | |||
| getProjectto(param).then(res => { | |||
| this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType); | |||
| this.projectForm = res.data | |||
| }) | |||
| }else{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| console.log(this.$route.query.id) | |||
| listCashdetailByCashId(this.$route.query.id).then((response) => { | |||
| this.chargeItme = response.data; | |||
| console.log(response) | |||
| this.getPayeeList(); | |||
| }); | |||
| }, | |||
| addChargeItme(index){ | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| }); | |||
| }, | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| console.log(data) | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| console.log(data) | |||
| this.projectList.map(res => { | |||
| console.log(res) | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| console.log(this.projectForm) | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data){ | |||
| // this.chargeItme[this.chargeItme.length-1].payeeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payee = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payeeId = data.value; | |||
| console.log(this.chargeItme) | |||
| this.showpayee = false; | |||
| }, | |||
| onConfirmBankType(data){ | |||
| console.log(this.chargeItme) | |||
| this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].bankType = data.value; | |||
| this.showbankType = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| console.log(e) | |||
| this.payeeList = []; | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| goAdd(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| console.log(this.form); | |||
| updateTransfer(this.form).then(response => { | |||
| console.log(response); | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| console.log(this.projectForm) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| goUpdate(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| this.projectForm.outId = this.form.id | |||
| updateTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }); | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_cash", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| /** 提交按钮 */ | |||
| submitForm() { | |||
| const data = { | |||
| taskId: this.$route.query.taskId, | |||
| instanceId: this.form.instanceId, | |||
| variables: JSON.stringify({ | |||
| comment: this.comment, | |||
| pass: this.pass, | |||
| }), | |||
| }; | |||
| console.log(data); | |||
| 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_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> | |||
| @@ -0,0 +1,577 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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 name="radio" label="审批模式" input-align="right" autocomplete="off" readonly> | |||
| <template #input> | |||
| <van-radio-group v-model="form.paymentState" direction="horizontal"> | |||
| <van-radio name="1">线上支付</van-radio> | |||
| <van-radio name="2">线下支付</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-field> | |||
| </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> | |||
| <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> | |||
| <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 :rules="[{ required: true , message:'请输入汇票号码' }]" required label="汇票号码" v-model="form.payerAccount" placeholder="请输入汇票号码" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| label="出票金额(元)" | |||
| v-model="form.expenditureAmount" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'出票金额不能为空!' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="汇票类型" | |||
| v-model="orderTypeName" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'汇票类型不能为空!' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="汇票类型" | |||
| v-model="form.orderType" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| style="display: none" | |||
| required | |||
| :rules="[{ required: true , message:'汇票类型不能为空!' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="开票日" | |||
| v-model="form.startTime" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'开票日不能为空!' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="到期日" | |||
| v-model="form.endTime" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'到期日不能为空!' }]" | |||
| /> | |||
| </div> | |||
| <p class="main_title">收票方信息</p> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field readonly label="收款方" v-model="item.payee" input-align="right" /> | |||
| <van-field readonly label="联系方式" v-model="item.phone" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="所属单位" v-model="item.unit" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="负责人全称" v-model="item.leader" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="资金用途" v-model="item.remark" input-align="right" /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| <van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader> | |||
| </div> | |||
| <p style="margin-top:20px;padding: 0 10px">附件下载{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p> | |||
| <van-cell v-for="(item,index) in fileList" :key="index"> | |||
| <a :href="item.url">{{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 , updateTransfer , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| approval, | |||
| attachmentList, | |||
| commonAttach, | |||
| getCash, | |||
| listCashdetailByCashId | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail12", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| 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' | |||
| }, | |||
| projectFundType:'', | |||
| orderTypeName:'', | |||
| orderTypeOptions:[], | |||
| // 审核意见默认值 | |||
| pass: "true", | |||
| comment: "同意", | |||
| }; | |||
| }, | |||
| created() { | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| console.log(response) | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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.getDicts("order_type").then(response => { | |||
| this.orderTypeOptions = response.data; | |||
| }); | |||
| this.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess2?id='+this.$route.query.id; | |||
| }, | |||
| getDictionaries(){ | |||
| getCash(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' : '2' | |||
| } | |||
| getProjectto(param).then(res => { | |||
| this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType); | |||
| this.projectForm = res.data | |||
| }) | |||
| }else{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| this.orderTypeOptions.map(res => { | |||
| console.log(this.orderTypeOptions) | |||
| if(res.dictValue==this.form.orderType){ | |||
| this.orderTypeName = res.dictLabel | |||
| } | |||
| }) | |||
| }); | |||
| console.log(this.$route.query.id) | |||
| listCashdetailByCashId(this.$route.query.id).then((response) => { | |||
| this.chargeItme = response.data; | |||
| console.log(response.data) | |||
| this.getPayeeList(); | |||
| }); | |||
| }, | |||
| addChargeItme(index){ | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| }); | |||
| }, | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| console.log(data) | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| console.log(data) | |||
| this.projectList.map(res => { | |||
| console.log(res) | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| console.log(this.projectForm) | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data){ | |||
| // this.chargeItme[this.chargeItme.length-1].payeeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payee = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payeeId = data.value; | |||
| console.log(this.chargeItme) | |||
| this.showpayee = false; | |||
| }, | |||
| onConfirmBankType(data){ | |||
| console.log(this.chargeItme) | |||
| this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].bankType = data.value; | |||
| this.showbankType = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| console.log(e) | |||
| this.payeeList = []; | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| goAdd(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| console.log(this.form); | |||
| updateTransfer(this.form).then(response => { | |||
| console.log(response); | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| console.log(this.projectForm) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| goUpdate(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| this.projectForm.outId = this.form.id | |||
| updateTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }); | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_cash", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| /** 提交按钮 */ | |||
| submitForm() { | |||
| const data = { | |||
| taskId: this.$route.query.taskId, | |||
| instanceId: this.form.instanceId, | |||
| variables: JSON.stringify({ | |||
| comment: this.comment, | |||
| pass: this.pass, | |||
| }), | |||
| }; | |||
| console.log(data); | |||
| 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_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> | |||
| @@ -0,0 +1,284 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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> | |||
| </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',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <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> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| <van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| systemAttachment | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectList:[], | |||
| chargeItme:[], | |||
| chargeItmeShow:[], | |||
| payeeList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| transferType:"", | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| }, | |||
| capitalExpenditureOpen:false, | |||
| contractOpen:false, | |||
| projectForm:{ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'1' | |||
| }, | |||
| infoForm:{ | |||
| infoId:null, | |||
| name:null, | |||
| code:null, | |||
| totalAmount:null, | |||
| contractionId:null, | |||
| transferId:null | |||
| }, | |||
| projectFundType:'' | |||
| }; | |||
| }, | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess?id='+this.$route.query.id; | |||
| }, | |||
| 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").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 oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,271 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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> | |||
| </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 :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field readonly label="收款方" v-model="item.payee" input-align="right" /> | |||
| <van-field readonly label="提款人" v-model="item.drawer" 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.remark" input-align="right" /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTransfer , queryTransferDetail , listPayee , getProjectto , listProject , addProjectto , customSubmit ,getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| getCash, | |||
| listCashdetailByCashId | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail10", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2050, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| chargeItme:[], | |||
| chargeItmeShow:[], | |||
| payeeList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| transferType:10, | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| }, | |||
| capitalExpenditureOpen:false, | |||
| contractOpen:false, | |||
| projectForm:{ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'2' | |||
| }, | |||
| infoForm:{ | |||
| infoId:null, | |||
| name:null, | |||
| code:null, | |||
| totalAmount:null, | |||
| contractionId:null, | |||
| transferId:null | |||
| }, | |||
| projectFundType:'', | |||
| uploadFiles:[], | |||
| }; | |||
| }, | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess2?id='+this.$route.query.id; | |||
| }, | |||
| getDictionaries(){ | |||
| getCash(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' : '2' | |||
| } | |||
| 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; | |||
| }); | |||
| listCashdetailByCashId(this.$route.query.id).then((response) => { | |||
| this.chargeItme = response.data; | |||
| 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 oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_cash", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,282 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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> | |||
| </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 :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field readonly label="收款方" v-model="item.payee" input-align="right" /> | |||
| <van-field readonly label="提款人" v-model="item.drawer" 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.remark" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| getCash, | |||
| listCashdetailByCashId | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail11", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| chargeItme:[], | |||
| chargeItmeShow:[], | |||
| payeeList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| transferType:11, | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| }, | |||
| capitalExpenditureOpen:false, | |||
| contractOpen:false, | |||
| projectForm:{ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'1' | |||
| }, | |||
| infoForm:{ | |||
| infoId:null, | |||
| name:null, | |||
| code:null, | |||
| totalAmount:null, | |||
| contractionId:null, | |||
| transferId:null | |||
| }, | |||
| projectFundType:'' | |||
| }; | |||
| }, | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess2?id='+this.$route.query.id; | |||
| }, | |||
| getDictionaries(){ | |||
| getCash(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' : '2' | |||
| } | |||
| 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; | |||
| }); | |||
| listCashdetailByCashId(this.$route.query.id).then((response) => { | |||
| this.chargeItme = response.data; | |||
| console.log(response) | |||
| this.getPayeeList(); | |||
| }); | |||
| }, | |||
| addChargeItme(index){ | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| }); | |||
| }, | |||
| 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 oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_cash", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,346 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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 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> | |||
| </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> | |||
| <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"> | |||
| <van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/> | |||
| <van-field :rules="[{ required: true , message:'请输入汇票号码' }]" required label="汇票号码" v-model="form.payerAccount" placeholder="请输入汇票号码" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| label="出票金额(元)" | |||
| v-model="form.expenditureAmount" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'出票金额不能为空!' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="汇票类型" | |||
| v-model="orderTypeName" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'汇票类型不能为空!' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="汇票类型" | |||
| v-model="form.orderType" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| style="display: none" | |||
| required | |||
| :rules="[{ required: true , message:'汇票类型不能为空!' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="开票日" | |||
| v-model="form.startTime" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'开票日不能为空!' }]" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="到期日" | |||
| v-model="form.endTime" | |||
| placeholder="" | |||
| input-align="right" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'到期日不能为空!' }]" | |||
| /> | |||
| </div> | |||
| <p class="main_title">收票方信息</p> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field readonly label="收款方" v-model="item.payee" input-align="right" /> | |||
| <van-field readonly label="联系方式" v-model="item.phone" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="所属单位" v-model="item.unit" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="负责人全称" v-model="item.leader" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="资金用途" v-model="item.remark" input-align="right" /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit, getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| getCash, | |||
| listCashdetailByCashId | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail12", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| chargeItme:[], | |||
| chargeItmeShow:[], | |||
| payeeList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| transferType:12, | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| }, | |||
| capitalExpenditureOpen:false, | |||
| contractOpen:false, | |||
| projectForm:{ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'1' | |||
| }, | |||
| infoForm:{ | |||
| infoId:null, | |||
| name:null, | |||
| code:null, | |||
| totalAmount:null, | |||
| contractionId:null, | |||
| transferId:null | |||
| }, | |||
| projectFundType:'', | |||
| orderTypeName:'', | |||
| orderTypeOptions:[] | |||
| }; | |||
| }, | |||
| 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.getDicts("order_type").then(response => { | |||
| this.orderTypeOptions = response.data; | |||
| }); | |||
| this.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess2?id='+this.$route.query.id; | |||
| }, | |||
| getDictionaries(){ | |||
| getCash(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' : '2' | |||
| } | |||
| 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; | |||
| this.orderTypeOptions.map(res => { | |||
| console.log(this.orderTypeOptions) | |||
| if(res.dictValue==this.form.orderType){ | |||
| this.orderTypeName = res.dictLabel | |||
| } | |||
| }) | |||
| }); | |||
| console.log(this.$route.query.id) | |||
| listCashdetailByCashId(this.$route.query.id).then((response) => { | |||
| this.chargeItme = response.data; | |||
| console.log(response.data) | |||
| this.getPayeeList(); | |||
| }); | |||
| }, | |||
| addChargeItme(index){ | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| }); | |||
| }, | |||
| 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 oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_cash", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,283 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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> | |||
| </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-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" /> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <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> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| systemAttachment | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| 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 | |||
| }, | |||
| projectFundType:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("project_fund_type").then((response) => { | |||
| for (let 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess?id='+this.$route.query.id; | |||
| }, | |||
| 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").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 oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,442 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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"/> | |||
| </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> | |||
| <p class="main_title">列表信息</p> | |||
| <div class="main_box" style="margin-bottom: 15px;"> | |||
| <van-field readonly label="收款账户类型" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" /> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <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> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| systemAttachment | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| 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' | |||
| }, | |||
| projectFundType:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| console.log(response) | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess?id='+this.$route.query.id; | |||
| }, | |||
| 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{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| queryTransferDetail(this.$route.query.id).then((response) => { | |||
| this.getDicts("bank_type").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(); | |||
| }); | |||
| }, | |||
| addChargeItme(index){ | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| }); | |||
| }, | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| console.log(data) | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| console.log(data) | |||
| this.projectList.map(res => { | |||
| console.log(res) | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| console.log(this.projectForm) | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data){ | |||
| // this.chargeItme[this.chargeItme.length-1].payeeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payee = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payeeId = data.value; | |||
| console.log(this.chargeItme) | |||
| this.showpayee = false; | |||
| }, | |||
| onConfirmBankType(data){ | |||
| console.log(this.chargeItme) | |||
| this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].bankType = data.value; | |||
| this.showbankType = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| console.log(e) | |||
| this.payeeList = []; | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| goAdd(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| console.log(this.form); | |||
| updateTransfer(this.form).then(response => { | |||
| console.log(response); | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| console.log(this.projectForm) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| goUpdate(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| this.projectForm.outId = this.form.id | |||
| updateTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }); | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| console.log(file) | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| if(file.id){ | |||
| systemAttachment(file.id).then((res) => { | |||
| }); | |||
| } | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,285 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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> | |||
| </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==4" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" /> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <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> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import { | |||
| attachmentList, | |||
| commonAttach, | |||
| systemAttachment | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| chargeItme:[], | |||
| chargeItmeShow:[], | |||
| payeeList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| transferType:"", | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| }, | |||
| capitalExpenditureOpen:false, | |||
| contractOpen:false, | |||
| projectForm:{ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'1', | |||
| outId:null, | |||
| ynType:'1' | |||
| }, | |||
| infoForm:{ | |||
| infoId:null, | |||
| name:null, | |||
| code:null, | |||
| totalAmount:null, | |||
| contractionId:null, | |||
| transferId:null | |||
| }, | |||
| projectFundType:'' | |||
| }; | |||
| }, | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess?id='+this.$route.query.id; | |||
| }, | |||
| 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").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 oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,430 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <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"/> | |||
| </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> | |||
| <p class="main_title">列表信息</p> | |||
| <div class="main_box" style="margin-bottom: 15px;"> | |||
| <van-field readonly label="收款账户类型" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" /> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <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> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request' | |||
| import {attachmentList, commonAttach} from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalDetail", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| fileList:[], | |||
| 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' | |||
| }, | |||
| projectFundType:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| console.log(response) | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='approvalProcess?id='+this.$route.query.id; | |||
| }, | |||
| 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{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| queryTransferDetail(this.$route.query.id).then((response) => { | |||
| this.getDicts("bank_type").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(); | |||
| }); | |||
| }, | |||
| addChargeItme(index){ | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| }); | |||
| }, | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| console.log(data) | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| console.log(data) | |||
| this.projectList.map(res => { | |||
| console.log(res) | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| console.log(this.projectForm) | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data){ | |||
| // this.chargeItme[this.chargeItme.length-1].payeeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payee = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].payeeId = data.value; | |||
| console.log(this.chargeItme) | |||
| this.showpayee = false; | |||
| }, | |||
| onConfirmBankType(data){ | |||
| console.log(this.chargeItme) | |||
| this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text; | |||
| this.chargeItme[this.chargeItme.length-1].bankType = data.value; | |||
| this.showbankType = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| console.log(e) | |||
| this.payeeList = []; | |||
| 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}); | |||
| } | |||
| }); | |||
| }, | |||
| goAdd(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| updateTransfer(this.form).then(response => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| goUpdate(){ | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$toast.error("付款事由禁止包含|。"); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$toast.error('请选择项目名称!'); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$toast.error('请输入工程发票号!'); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| this.projectForm.outId = this.form.id | |||
| updateTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }); | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,178 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">村户转账申请列表</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList"> | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.payer" center :to="{name:'approvalDetail', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn1.png" size="30" color="#FF4646" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 30px;"></i>{{item.applyDate}}</p> | |||
| </template> | |||
| <template #default> | |||
| <p style="width: 80px;display: inline-block">{{item.auditStatus}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType:"1", | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listTransfer(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delTransfer(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| customSubmit(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,178 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">现金提现申请列表</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail10', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn6.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify10', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import {cashSubmit, delCash, listCash} from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalList10", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType: '10', | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd10'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listCash(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delCash(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| console.log(id) | |||
| cashSubmit(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,177 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">现金使用申请列表</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail11', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn7.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify11', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import {cashSubmit, delCash, listCash} from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalList11", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType: '11', | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd11'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listCash(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delCash(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| cashSubmit(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,177 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">汇票支出申请列表</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail12', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn8.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify12', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import {cashSubmit, delCash, listCash} from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalList12", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:100, | |||
| transferType: '12', | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd12'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listCash(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delCash33333333333333(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| cashSubmit(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,176 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">公务卡转账申请列表</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail2', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn2.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify2', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalList2", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType:"2", | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd2'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listTransfer(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delTransfer(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| customSubmit(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,176 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">虚拟挂账申请列表</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail3', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn3.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify3', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalList3", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType:"3", | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd3'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listTransfer(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delTransfer(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| customSubmit(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,176 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">代管转账申请列表</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail4', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn4.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify4', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalList4", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType:"4", | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd4'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listTransfer(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delTransfer(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| customSubmit(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,176 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">母子转账申请列表</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail5', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../../../static/images/onlineHome/icon_yn5.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify5', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalList5", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| auditStatusOptions:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| transferType:"5", | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDicts("audit_status").then((response) => { | |||
| this.auditStatusOptions = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'approvalAdd5'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| listTransfer(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| delTransfer(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onSubmit(id){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| customSubmit(id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| }) | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__label span{ | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| i{ | |||
| font-size: 0.2rem; | |||
| } | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,985 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">修改现金提现申请</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择申请时间' }]" | |||
| v-model="form.applyDate" | |||
| label="申请时间" | |||
| placeholder="请选择申请时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择资金支出类别' }]" | |||
| label="资金支出类别" | |||
| placeholder="请选择" | |||
| v-model="capitalExpenditureType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="capitalExpenditureTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| required | |||
| label="支出总金额" | |||
| v-model="form.expenditureAmount" | |||
| placeholder="根据下方收款金额自动核算" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field name="radio" label="审批模式" input-align="right" autocomplete="off" required | |||
| :rules="[{ required: true , message:'请选择审批模式' }]"> | |||
| <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> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="付款事由" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入付款事由" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请输入付款事由' }]" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title" v-if="capitalExpenditureOpen">关联项目</p> | |||
| <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="项目名称" | |||
| placeholder="请选择" | |||
| v-model="projectForm.projectName" | |||
| @click="showproject = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择项目名称' }]" | |||
| /> | |||
| <van-popup v-model="showproject" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectListShow" | |||
| @confirm="onConfirmProject" | |||
| @cancel="showproject = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同价款(元)' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="工程款类型" | |||
| placeholder="请选择" | |||
| v-model="projectFundType" | |||
| @click="showFundType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择工程款类型' }]" | |||
| /> | |||
| <van-popup v-model="showFundType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectFundTypeOptions" | |||
| @confirm="onConfirmFundType" | |||
| @cancel="showFundType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title" v-if="contractOpen">关联合同</p> | |||
| <div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="合同" | |||
| placeholder="请选择" | |||
| v-model="infoForm.name" | |||
| @click="showcontract = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择项目名称' }]" | |||
| /> | |||
| <van-popup v-model="showcontract" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="infoList" | |||
| @confirm="onConfirmContract" | |||
| @cancel="showcontract = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同编码' }]" v-model="infoForm.code" label="合同编码" placeholder="请输入合同编码" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="infoForm.totalAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">付款方信息</p> | |||
| <div class="main_box"> | |||
| <!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="付款方" | |||
| placeholder="请选择付款方" | |||
| v-model="form.payer" | |||
| @click="showpayer = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择付款方' }]" | |||
| /> | |||
| <van-popup v-model="showpayer" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payerOptions" | |||
| @confirm="onConfirmPayer($event)" | |||
| @cancel="showpayer = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field :rules="[{ required: true , message:'请输入账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" /> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field required :rules="[{ required: true , message:'请输入收款方全称' }]" v-model="item.payee" label="收款方" placeholder="请输入收款方全称" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入提款人' }]" v-model="item.drawer" label="提款人" placeholder="请输入提款人" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入提款金额' }]" v-model="item.incomeAmount" label="提款金额(元)" placeholder="请输入提款金额" input-align="right" label-width="auto" @change="moneyChange"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入资金用途' }]" v-model="item.remark" label="资金用途" placeholder="请输入资金用途" input-align="right" label-width="auto" /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getAccount , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit ,getQmyeFlow, listInfo ,getInfoto ,addInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import { | |||
| addCash, | |||
| addCashdetail, attachmentList, cashSubmit, commonAttach, | |||
| getCash, | |||
| listCashdetailByCashId, systemAttachment, updateCash | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import Dialog from "vant/lib/dialog"; | |||
| export default { | |||
| name: "approvalModify10", | |||
| data() { | |||
| return { | |||
| showcontract:false, | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| showpayer:false, | |||
| minDate: new Date(2000, 1, 1), | |||
| maxDate: new Date(2050, 12, 31), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| buttonType:'a', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| infoList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| chargeItme:[], | |||
| chargeItmeShow:[], | |||
| payeeList:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| transferType:10, | |||
| orderByColumn: "id", | |||
| isAsc: "desc", | |||
| }, | |||
| capitalExpenditureOpen:false, | |||
| contractOpen:false, | |||
| projectForm:{ | |||
| projectId:null, | |||
| projectName:null, | |||
| projectContractor:null, | |||
| projectAmount:null, | |||
| projectBillNum:null, | |||
| projectFundType:'10', | |||
| outId:null, | |||
| ynType:'2' | |||
| }, | |||
| infoForm:{ | |||
| infoId:null, | |||
| name:null, | |||
| code:null, | |||
| totalAmount:null, | |||
| contractionId:null, | |||
| transferId:null | |||
| }, | |||
| // 合同信息查询参数 | |||
| queryContractionParams: { | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| contractionStatus: '1', | |||
| orderByColumn: "endTime", | |||
| isAsc: "desc", | |||
| }, | |||
| projectFundType:'', | |||
| fileList:[], | |||
| uploadFiles:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.initProjectInfo(); | |||
| this.getDicts("project_fund_type").then((response) => { | |||
| for (let i = 0; i < response.data.length; i++) { | |||
| this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue}); | |||
| } | |||
| this.projectFundTypeDictionaries = response.data; | |||
| }); | |||
| let params1={ | |||
| accountType: "102", | |||
| status: "N", | |||
| } | |||
| getAccount(params1).then((response) => { | |||
| this.payerOptions = response.rows; | |||
| response.rows.map((res,index) => { | |||
| res['payerFrom'] = '1' | |||
| console.log(res) | |||
| this.payerOptions[index].text = res.accountName; | |||
| this.payerOptions[index].value = res.id; | |||
| }) | |||
| }); | |||
| this.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| initProjectInfo(){ | |||
| let _this = this | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| _this.projectList = response.rows; | |||
| console.log(response) | |||
| for (let i = 0; i < response.rows.length; i++) { | |||
| //_this.projectList[i].set({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| _this.$set(_this.projectList[i],"text",response.rows[i].projectName) | |||
| _this.$set(_this.projectList[i],"value",response.rows[i].id) | |||
| } | |||
| }); | |||
| listInfo(this.queryContractionParams).then(response => { | |||
| console.log(response) | |||
| _this.infoList = response.rows; | |||
| for (let i = 0; i < response.rows.length; i++) { | |||
| //_this.infoList[i].push({text: response.rows[i].name, value: response.rows[i].code}); | |||
| _this.$set(_this.infoList[i],"text",response.rows[i].name) | |||
| _this.$set(_this.infoList[i],"value",response.rows[i].code) | |||
| } | |||
| }); | |||
| }, | |||
| getDictionaries(){ | |||
| getCash(this.$route.query.id).then((response) => { | |||
| this.getDicts("capital_expenditure_type").then((res) => { | |||
| for (let 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' : '2' | |||
| } | |||
| 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 | |||
| } | |||
| console.log(param) | |||
| getInfoto(param).then(res => { | |||
| this.infoForm = res.data | |||
| }) | |||
| }else{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| console.log(this.form) | |||
| }); | |||
| listCashdetailByCashId(this.$route.query.id).then((response) => { | |||
| this.chargeItme = response.data; | |||
| }); | |||
| }, | |||
| getChange(){ | |||
| if(this.buttonType == 'update'){ | |||
| this.goUpdate(); | |||
| }else if(this.buttonType == 'add'){ | |||
| this.goAdd(); | |||
| } | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| addChargeItme(index){ | |||
| if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){ | |||
| this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入提款金额!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].drawer == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入提款人!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].remark == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入资金用途!' }); | |||
| return; | |||
| } | |||
| this.getDicts("bank_type").then(res => { | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方全称 | |||
| payeeAccount: "", //收款账户 | |||
| drawer: "", //提款人 | |||
| incomeAmount: "", //提款金额 | |||
| bankType: "", //资金用途 | |||
| showPayee:false, | |||
| showbankType:false | |||
| }); | |||
| }); | |||
| }, | |||
| getPayeeList() { | |||
| //普通转账 | |||
| this.queryParams.accountType = this.form.accountType | |||
| this.queryParams.status = "0" | |||
| listPayee(this.queryParams).then((response) => { | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| if (data.value == 2){ | |||
| this.capitalExpenditureOpen = true; | |||
| this.contractOpen = false | |||
| this.infoForm = {}; | |||
| }else if(data.value == 4){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.contractOpen = true | |||
| this.projectForm = {}; | |||
| }else{ | |||
| this.capitalExpenditureOpen = false; | |||
| this.contractOpen = false | |||
| this.projectForm = {}; | |||
| this.infoForm = {}; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmContract(data){ | |||
| this.infoList.map(res => { | |||
| if(res.name==data.text){ | |||
| this.infoForm.contractionId = res.id; | |||
| this.infoForm.name = res.name; | |||
| this.infoForm.code = res.code; | |||
| this.infoForm.totalAmount = res.totalAmount; | |||
| } | |||
| }) | |||
| this.showcontract = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| this.projectList.map(res => { | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data,index){ | |||
| console.log(data) | |||
| for (var i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showPayee = false; | |||
| } | |||
| this.chargeItme[index].payee = data.text; | |||
| this.chargeItme[index].payeeId = data.value; | |||
| this.payeeSelectChange(data.value , index) | |||
| }, | |||
| onConfirmBankType(data,index){ | |||
| for (var i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showbankType = false; | |||
| } | |||
| this.chargeItme[index].bankTypeText = data.text; | |||
| this.chargeItme[index].bankType = data.value; | |||
| this.chargeItme[index].showbankType = false; | |||
| }, | |||
| onConfirmPayer(data){ | |||
| this.form.payer = data.text; | |||
| this.form.cashierId = data.value; | |||
| this.showpayer = false; | |||
| this.selectChange(data.value) | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| this.payeeList = []; | |||
| this.queryParams.accountType = this.form.accountType | |||
| this.queryParams.status = "0" | |||
| listPayee(this.queryParams).then((response) => { | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| }); | |||
| }, | |||
| // 钱计算 | |||
| moneyChange(input) { | |||
| console.log(input) | |||
| let obj = {}; | |||
| obj = this.chargeItme.find((account) => { | |||
| //model就是上面的数据源 | |||
| return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据 | |||
| }); | |||
| let total = 0; | |||
| this.chargeItme.forEach((money) => { | |||
| total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2) | |||
| }); | |||
| this.$set(this.form, "expenditureAmount", total); | |||
| }, | |||
| goAdd(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| if(this.form.capitalExpenditureType==4){ | |||
| if(this.infoForm.name==""||this.infoForm.name==null){ | |||
| this.$notify({ type: 'danger', message: '请选择合同名称!' }); | |||
| return; | |||
| } | |||
| if(this.infoForm.code==""||this.infoForm.code==null){ | |||
| this.$notify({ type: 'danger', message: '请输入合同编码!' }); | |||
| return; | |||
| } | |||
| if(this.infoForm.totalAmount==""||this.infoForm.totalAmount==null){ | |||
| this.$notify({ type: 'danger', message: '请输入合同价款!' }); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){ | |||
| Dialog.confirm({ | |||
| title: '提示', | |||
| message: '此申请单中未上传任何附件,是否确认提交?', | |||
| }) | |||
| .then(() => { | |||
| updateCash(this.form).then((response) => { | |||
| this.chargeItme.map(res => { | |||
| res.cashId = this.form.id | |||
| addCashdetail(res).then(r => { | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '2'); | |||
| addProjectto(this.projectForm).then(res => { | |||
| cashSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else if(this.form.capitalExpenditureType==4){ | |||
| this.infoForm.transferId = this.form.id | |||
| addInfoto(this.infoForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| cashSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }) | |||
| }) | |||
| }); | |||
| }) | |||
| }else { | |||
| updateCash(this.form).then((response) => { | |||
| console.log(this.uploadFiles) | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", this.form.id); | |||
| params.append("tableName", "t_yinnong_cash"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| this.chargeItme.map(res => { | |||
| res.cashId = this.form.id | |||
| addCashdetail(res).then(r => { | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '2'); | |||
| addProjectto(this.projectForm).then(res => { | |||
| cashSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else if(this.form.capitalExpenditureType==4){ | |||
| this.infoForm.transferId = this.form.id | |||
| addInfoto(this.infoForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| cashSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }) | |||
| }) | |||
| }); | |||
| } | |||
| }, | |||
| goUpdate(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| if(this.form.capitalExpenditureType==4){ | |||
| if(this.infoForm.name==""||this.infoForm.name==null){ | |||
| this.$notify({ type: 'danger', message: '请选择合同名称!' }); | |||
| return; | |||
| } | |||
| if(this.infoForm.code==""||this.infoForm.code==null){ | |||
| this.$notify({ type: 'danger', message: '请输入合同编码!' }); | |||
| return; | |||
| } | |||
| if(this.infoForm.totalAmount==""||this.infoForm.totalAmount==null){ | |||
| this.$notify({ type: 'danger', message: '请输入合同价款!' }); | |||
| return; | |||
| } | |||
| } | |||
| this.projectForm.outId = this.form.id | |||
| if(this.uploadFiles==null||this.uploadFiles.length==0){ | |||
| updateCash(this.form).then((response) => { | |||
| this.chargeItme.map(res => { | |||
| res.cashId = this.form.id | |||
| addCashdetail(res).then(r => { | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '2'); | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else if(this.form.capitalExpenditureType==4){ | |||
| this.infoForm.transferId = this.form.id | |||
| addInfoto(this.infoForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }) | |||
| }) | |||
| }); | |||
| }else { | |||
| updateCash(this.form).then((response) => { | |||
| console.log(this.uploadFiles) | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", this.form.id); | |||
| params.append("tableName", "t_yinnong_cash"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| this.chargeItme.map(res => { | |||
| res.cashId = this.form.id | |||
| addCashdetail(res).then(r => { | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '2'); | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else if(this.form.capitalExpenditureType==4){ | |||
| this.infoForm.transferId = this.form.id | |||
| addInfoto(this.infoForm).then(res => { | |||
| customSubmit(response.data.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }) | |||
| }) | |||
| }); | |||
| } | |||
| }, | |||
| payeeSelectChange(select, i) { | |||
| let obj = {}; | |||
| let fuzhitype = 0; | |||
| obj = this.payeeList.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select ; //筛选出匹配数据 | |||
| }); | |||
| if(this.chargeItme != [] && this.chargeItme.length>1){ | |||
| this.chargeItme.some((value, index) => { | |||
| if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){ | |||
| fuzhitype = 2; | |||
| return true; | |||
| } | |||
| if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){ | |||
| fuzhitype = 1; | |||
| return true; | |||
| } | |||
| }); | |||
| } | |||
| if(fuzhitype == 0){ | |||
| this.$set(this.chargeItme[i], "payee",obj.payee) | |||
| this.$set(this.chargeItme[i], "bankType", obj.bankType) | |||
| this.$set(this.chargeItme[i], "payeeId", obj.id); | |||
| this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount); | |||
| this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); | |||
| this.$set(this.chargeItme[i], "accountType", obj.accountType); | |||
| }else if(fuzhitype == 1){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' }); | |||
| }else if(fuzhitype == 2){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '收款方已存在!' }); | |||
| } | |||
| }, | |||
| selectChange(select) { | |||
| let obj = {}; | |||
| obj = this.payerOptions.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select; //筛选出匹配数据 | |||
| }); | |||
| if(obj.payerFrom==1&&obj.operatorCode != null && obj.operatorCode != "" && | |||
| obj.enterpriseCode != null && obj.enterpriseCode != "" && | |||
| obj.accountPassword != null && obj.accountPassword != ""){ | |||
| this.$set(this.form, "bookId", obj.bookId); | |||
| this.$set(this.form, "deptId", obj.deptId); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| this.$set(this.form, "payerFrom", '1'); | |||
| }else{ | |||
| if(obj.payerFrom==1){ | |||
| this.diglogStatus = false; | |||
| this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" }); | |||
| this.$set(this.form,"payer","") | |||
| this.$set(this.form,"payerAccount","") | |||
| }else{ | |||
| this.$set(this.form, "payerFrom", obj.parerFrom); | |||
| if(obj.operatorCode!=null&&obj.operatorCode!=''){ | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| }else{ | |||
| this.$set(this.form, "operatorCode", ''); | |||
| } | |||
| if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){ | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| }else{ | |||
| this.$set(this.form, "enterpriseCode", ''); | |||
| } | |||
| if(obj.accountPassword!=null&&obj.accountPassword!=''){ | |||
| this.$set(this.form, "accountPassword", obj.accountPassword); | |||
| }else{ | |||
| this.$set(this.form, "accountPassword", ''); | |||
| } | |||
| this.$set(this.form, "bookId",''); | |||
| this.$set(this.form, "deptId", ''); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| if(obj.payerFrom==6){ | |||
| getQmyeFlow(obj.bankAccountNumber).then((response) => { | |||
| this.$set(this.form, "payerAccount", response.data); | |||
| }); | |||
| }else { | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| console.log(file) | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| if(file.id){ | |||
| systemAttachment(file.id).then((res) => { | |||
| }); | |||
| } | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_cash", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,933 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">修改虚拟挂账申请</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择申请时间' }]" | |||
| v-model="form.applyDate" | |||
| label="申请时间" | |||
| placeholder="请选择申请时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择资金支出类别' }]" | |||
| label="资金支出类别" | |||
| placeholder="请选择" | |||
| v-model="capitalExpenditureType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="capitalExpenditureTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| required | |||
| label="支出总金额" | |||
| v-model="form.expenditureAmount" | |||
| placeholder="根据下方收款金额自动核算" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="付款事由" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入付款事由" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请输入付款事由' }]" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title" v-if="capitalExpenditureOpen">关联项目</p> | |||
| <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="项目名称" | |||
| placeholder="请选择" | |||
| v-model="projectForm.projectName" | |||
| @click="showproject = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择项目名称' }]" | |||
| /> | |||
| <van-popup v-model="showproject" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectListShow" | |||
| @confirm="onConfirmProject" | |||
| @cancel="showproject = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同价款(元)' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="工程款类型" | |||
| placeholder="请选择" | |||
| v-model="projectFundType" | |||
| @click="showFundType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择工程款类型' }]" | |||
| /> | |||
| <van-popup v-model="showFundType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectFundTypeOptions" | |||
| @confirm="onConfirmFundType" | |||
| @cancel="showFundType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">付款方信息</p> | |||
| <div class="main_box"> | |||
| <!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="付款方" | |||
| placeholder="请选择付款方" | |||
| v-model="form.payer" | |||
| @click="showpayer = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择付款方' }]" | |||
| /> | |||
| <van-popup v-model="showpayer" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payerOptions" | |||
| @confirm="onConfirmPayer($event)" | |||
| @cancel="showpayer = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field :rules="[{ required: true , message:'请输入账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | |||
| <div class="main_box" style="margin-bottom: 15px;"> | |||
| <van-cell title="收款账户类型"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" /> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="收款方" | |||
| placeholder="请选择" | |||
| v-model="item.payee" | |||
| @click="item.showPayee = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择收款方' }]" | |||
| /> | |||
| <van-popup v-model="item.showPayee" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payeeList" | |||
| @confirm="onConfirmPayee($event,index)" | |||
| @cancel="item.showPayee = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required readonly :rules="[{ required: true , message:'请输入账户' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||
| <van-field required readonly :rules="[{ required: true , message:'请输入银行' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请输入银行" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/> | |||
| <van-field | |||
| readonly | |||
| label="所属银行" | |||
| placeholder="请选择" | |||
| v-model="item.bankTypeText" | |||
| @click="item.showbankType = true" | |||
| input-align="right" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getAccount , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit ,getQmyeFlow} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { | |||
| addCash, attachmentList, | |||
| commonAttach, | |||
| listTaccount, | |||
| listVaccount, systemAttachment | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import Dialog from "vant/lib/dialog"; | |||
| export default { | |||
| name: "approvalModify3", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| showpayer:false, | |||
| minDate: new Date(2000, 1, 1), | |||
| maxDate: new Date(2050, 12, 31), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| buttonType:'a', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| 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' | |||
| }, | |||
| projectFundType:'', | |||
| fileList:[], | |||
| uploadFiles:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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; | |||
| }); | |||
| let params1={ | |||
| townAccountType:'3' | |||
| } | |||
| listTaccount(params1).then((response) => { | |||
| console.log(response) | |||
| response.rows.map((res,index) => { | |||
| if(res.townAccountType=='3'){ | |||
| res['payerFrom'] = '3' | |||
| this.payerOptions.push(res); | |||
| this.payerOptions[index].text = res.payee; | |||
| this.payerOptions[index].value = res.id; | |||
| } | |||
| }) | |||
| }); | |||
| this.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| 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 => { | |||
| console.log(this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType)) | |||
| this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType); | |||
| this.projectForm = res.data | |||
| console.log(res.data) | |||
| }) | |||
| }else{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| }); | |||
| queryTransferDetail(this.$route.query.id).then((response) => { | |||
| this.getDicts("bank_type").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].payeeText = response.rows[j].payee; | |||
| response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType); | |||
| response.rows[j].showPayee = false; | |||
| } | |||
| this.chargeItme = response.rows; | |||
| }); | |||
| this.getPayeeList(); | |||
| }); | |||
| }, | |||
| getChange(){ | |||
| console.log(this.buttonType) | |||
| if(this.buttonType == 'update'){ | |||
| console.log('update') | |||
| this.goUpdate(); | |||
| }else if(this.buttonType == 'add'){ | |||
| console.log('add') | |||
| this.goAdd(); | |||
| } | |||
| }, | |||
| getError(e){ | |||
| console.log(e) | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| addChargeItme(index){ | |||
| if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){ | |||
| this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入收入金额!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].payeeAccount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入收款账户!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankDeposit == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入开户银行!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankType == ''){ | |||
| this.$notify({ type: 'danger', message: '请选择所属银行!' }); | |||
| return; | |||
| } | |||
| this.getDicts("bank_type").then(res => { | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "1", //所属银行 | |||
| bankTypeText:this.selectDictLabel(res.data, 1), //所属银行 | |||
| showPayee:false, | |||
| showbankType:false | |||
| }); | |||
| }); | |||
| }, | |||
| getPayeeList() { | |||
| let params = { | |||
| villageAccountType : 1, | |||
| status:'0', | |||
| accountType : this.form.accountType | |||
| } | |||
| listVaccount(params).then(response => { | |||
| console.log(response) | |||
| if(response.rows.length>0){ | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| console.log(data) | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| this.projectList.map(res => { | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data,index){ | |||
| console.log(data) | |||
| for (var i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showPayee = false; | |||
| } | |||
| this.chargeItme[index].payee = data.text; | |||
| this.chargeItme[index].payeeId = data.value; | |||
| this.payeeSelectChange(data.value , index) | |||
| }, | |||
| onConfirmBankType(data,index){ | |||
| for (var i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showbankType = false; | |||
| } | |||
| this.chargeItme[index].bankTypeText = data.text; | |||
| this.chargeItme[index].bankType = data.value; | |||
| this.chargeItme[index].showbankType = false; | |||
| }, | |||
| onConfirmPayer(data){ | |||
| console.log(data) | |||
| this.form.payer = data.text; | |||
| this.form.cashierId = data.value; | |||
| this.form.payerAccount = data.payeeAccount | |||
| this.showpayer = false; | |||
| //this.selectChange(data.value); | |||
| this.accountTypeChange(); | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| this.chargeItme = []; | |||
| this.payeeList = []; | |||
| let params = { | |||
| villageAccountType : 1, | |||
| status:'0', | |||
| accountType : this.form.accountType, | |||
| taccountId:this.form.cashierId | |||
| } | |||
| listVaccount(params).then(response => { | |||
| console.log(response) | |||
| if(response.rows.length>0){ | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| } | |||
| }); | |||
| }, | |||
| // 钱计算 | |||
| moneyChange(input) { | |||
| console.log(input) | |||
| let obj = {}; | |||
| obj = this.chargeItme.find((account) => { | |||
| //model就是上面的数据源 | |||
| return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据 | |||
| }); | |||
| let total = 0; | |||
| this.chargeItme.forEach((money) => { | |||
| total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2) | |||
| }); | |||
| this.$set(this.form, "expenditureAmount", total); | |||
| }, | |||
| goAdd(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){ | |||
| Dialog.confirm({ | |||
| title: '提示', | |||
| message: '此申请单中未上传任何附件,是否确认提交?', | |||
| }) | |||
| .then(() => { | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| updateTransfer(this.form).then(response => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", this.form.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| return false; | |||
| }); | |||
| }else{ | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| updateTransfer(this.form).then(response => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", this.form.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| goUpdate(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| updateTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| console.log(this.uploadFiles) | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", this.form.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| } | |||
| }); | |||
| }, | |||
| payeeSelectChange(select, i) { | |||
| let obj = {}; | |||
| let fuzhitype = 0; | |||
| obj = this.payeeList.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select ; //筛选出匹配数据 | |||
| }); | |||
| if(this.chargeItme != [] && this.chargeItme.length>1){ | |||
| this.chargeItme.some((value, index) => { | |||
| if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){ | |||
| fuzhitype = 2; | |||
| return true; | |||
| } | |||
| if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){ | |||
| fuzhitype = 1; | |||
| return true; | |||
| } | |||
| }); | |||
| } | |||
| if(fuzhitype == 0){ | |||
| this.$set(this.chargeItme[i], "payee",obj.payee) | |||
| this.$set(this.chargeItme[i], "bankType", obj.bankType) | |||
| this.$set(this.chargeItme[i], "payeeId", obj.id); | |||
| this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount); | |||
| this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); | |||
| this.$set(this.chargeItme[i], "accountType", obj.accountType); | |||
| }else if(fuzhitype == 1){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' }); | |||
| }else if(fuzhitype == 2){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$notify({ type: 'danger', message: '收款方已存在!' }); | |||
| } | |||
| }, | |||
| selectChange(select) { | |||
| let obj = {}; | |||
| obj = this.payerOptions.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select; //筛选出匹配数据 | |||
| }); | |||
| if(obj.payerFrom==1&&obj.operatorCode != null && obj.operatorCode != "" && | |||
| obj.enterpriseCode != null && obj.enterpriseCode != "" && | |||
| obj.accountPassword != null && obj.accountPassword != ""){ | |||
| this.$set(this.form, "bookId", obj.bookId); | |||
| this.$set(this.form, "deptId", obj.deptId); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| this.$set(this.form, "payerFrom", '1'); | |||
| }else{ | |||
| if(obj.payerFrom==1){ | |||
| this.diglogStatus = false; | |||
| this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" }); | |||
| this.$set(this.form,"payer","") | |||
| this.$set(this.form,"payerAccount","") | |||
| }else{ | |||
| this.$set(this.form, "payerFrom", obj.parerFrom); | |||
| if(obj.operatorCode!=null&&obj.operatorCode!=''){ | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| }else{ | |||
| this.$set(this.form, "operatorCode", ''); | |||
| } | |||
| if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){ | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| }else{ | |||
| this.$set(this.form, "enterpriseCode", ''); | |||
| } | |||
| if(obj.accountPassword!=null&&obj.accountPassword!=''){ | |||
| this.$set(this.form, "accountPassword", obj.accountPassword); | |||
| }else{ | |||
| this.$set(this.form, "accountPassword", ''); | |||
| } | |||
| this.$set(this.form, "bookId",''); | |||
| this.$set(this.form, "deptId", ''); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| if(obj.payerFrom==6){ | |||
| getQmyeFlow(obj.bankAccountNumber).then((response) => { | |||
| this.$set(this.form, "payerAccount", response.data); | |||
| }); | |||
| }else { | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| console.log(file) | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| if(file.id){ | |||
| systemAttachment(file.id).then((res) => { | |||
| }); | |||
| } | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,938 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">修改母子转账申请</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first> | |||
| <p class="main_title">基础信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择申请时间' }]" | |||
| v-model="form.applyDate" | |||
| label="申请时间" | |||
| placeholder="请选择申请时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| @cancel="showlasj = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| required | |||
| :rules="[{ required: true , message:'请选择资金支出类别' }]" | |||
| label="资金支出类别" | |||
| placeholder="请选择" | |||
| v-model="capitalExpenditureType" | |||
| @click="showcapital = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showcapital" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="capitalExpenditureTypeOptions" | |||
| @confirm="onConfirmCapital" | |||
| @cancel="showcapital = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| required | |||
| label="支出总金额" | |||
| v-model="form.expenditureAmount" | |||
| placeholder="根据下方收款金额自动核算" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field | |||
| label="付款事由" | |||
| v-model="form.remark" | |||
| type="textarea" | |||
| placeholder="请输入付款事由" | |||
| input-align="right" | |||
| rows="3" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请输入付款事由' }]" | |||
| /> | |||
| </div> | |||
| <div class="main_box" style="margin-top: 10px;"> | |||
| <van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title" v-if="capitalExpenditureOpen">关联项目</p> | |||
| <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="项目名称" | |||
| placeholder="请选择" | |||
| v-model="projectForm.projectName" | |||
| @click="showproject = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择项目名称' }]" | |||
| /> | |||
| <van-popup v-model="showproject" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectListShow" | |||
| @confirm="onConfirmProject" | |||
| @cancel="showproject = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入合同价款(元)' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="工程款类型" | |||
| placeholder="请选择" | |||
| v-model="projectFundType" | |||
| @click="showFundType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择工程款类型' }]" | |||
| /> | |||
| <van-popup v-model="showFundType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="projectFundTypeOptions" | |||
| @confirm="onConfirmFundType" | |||
| @cancel="showFundType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">付款方信息</p> | |||
| <div class="main_box"> | |||
| <!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="付款方" | |||
| placeholder="请选择付款方" | |||
| v-model="form.payer" | |||
| @click="showpayer = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| required | |||
| :rules="[{ required: true , message:'请选择付款方' }]" | |||
| /> | |||
| <van-popup v-model="showpayer" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payerOptions" | |||
| @confirm="onConfirmPayer($event)" | |||
| @cancel="showpayer = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field :rules="[{ required: true , message:'请输入账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p> | |||
| <div class="main_box" style="margin-bottom: 15px;"> | |||
| <van-cell title="收款账户类型"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange"> | |||
| <van-radio name="1">公户</van-radio> | |||
| <van-radio name="2">私户</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell title="是否与付款方同行" v-if="form.bankType==2||form.bankType==4"> | |||
| <template #right-icon> | |||
| <van-radio-group direction="horizontal" v-model="form.isPeers"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index"> | |||
| <van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" /> | |||
| <div class="main_box" style="margin-bottom: 10px;position:relative;"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="收款方" | |||
| placeholder="请选择" | |||
| v-model="item.payee" | |||
| @click="item.showPayee = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| required | |||
| :rules="[{ required: true , message:'请选择收款方' }]" | |||
| /> | |||
| <van-popup v-model="item.showPayee" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="payeeList" | |||
| @confirm="onConfirmPayee($event,index)" | |||
| @cancel="item.showPayee = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field required readonly :rules="[{ required: true , message:'请输入账户' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请输入账户" input-align="right" label-width="auto"/> | |||
| <van-field required readonly :rules="[{ required: true , message:'请输入银行' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请输入银行" input-align="right" label-width="auto"/> | |||
| <van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="所属银行" | |||
| placeholder="请选择" | |||
| v-model="item.bankTypeText" | |||
| input-align="right" | |||
| required | |||
| :rules="[{ required: true , message:'请选择所属银行' }]" | |||
| /> | |||
| </div> | |||
| </div> | |||
| <p class="main_title">上传附件</p> | |||
| <div class="main_box" style="padding: 5px 0 0 8px;"> | |||
| <van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getAccount , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit ,getQmyeFlow} from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import request from '@/utils/request'; | |||
| import { | |||
| addTransfer, | |||
| attachmentList, | |||
| commonAttach, listTaccount, | |||
| listVaccount, systemAttachment | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import Dialog from "vant/lib/dialog"; | |||
| export default { | |||
| name: "approvalModify5", | |||
| data() { | |||
| return { | |||
| showcapital:false, | |||
| showpayee:false, | |||
| showlasj:false, | |||
| showbankType:false, | |||
| showproject:false, | |||
| showFundType:false, | |||
| showpayer:false, | |||
| minDate: new Date(2000, 1, 1), | |||
| maxDate: new Date(2050, 12, 31), | |||
| currentDate: new Date(), | |||
| form:{}, | |||
| capitalExpenditureType:'', | |||
| payee:'', | |||
| bankType:'', | |||
| buttonType:'a', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| capitalExpenditureTypeOptions:[], | |||
| bankTypeDictionaries:[], | |||
| projectList:[], | |||
| projectFundTypeOptions:[], | |||
| projectFundTypeDictionaries:[], | |||
| projectListShow:[], | |||
| payerOptions:[], | |||
| 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' | |||
| }, | |||
| projectFundType:'', | |||
| fileList:[], | |||
| uploadFiles:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| let queryParams={ | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| } | |||
| listProject(queryParams).then(response => { | |||
| this.projectList = response.rows; | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id}); | |||
| } | |||
| }); | |||
| 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; | |||
| }); | |||
| let params1={ | |||
| townAccountType:'2' | |||
| } | |||
| listTaccount(params1).then((response) => { | |||
| response.rows.map((res,index) => { | |||
| if(res.townAccountType=='2'){ | |||
| res['payerFrom'] = '2' | |||
| this.payerOptions.push(res); | |||
| this.payerOptions[index].text = res.payee; | |||
| this.payerOptions[index].value = res.id; | |||
| } | |||
| }) | |||
| }); | |||
| this.getDictionaries(); | |||
| this.getFileList(); | |||
| }, | |||
| methods: { | |||
| 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 => { | |||
| console.log(this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType)) | |||
| this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType); | |||
| this.projectForm = res.data | |||
| console.log(res.data) | |||
| }) | |||
| }else{ | |||
| this.showproject = false | |||
| } | |||
| this.form = response.data; | |||
| this.getPayeeList(); | |||
| }); | |||
| queryTransferDetail(this.$route.query.id).then((response) => { | |||
| this.getDicts("bank_type").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].payeeText = response.rows[j].payee; | |||
| response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType); | |||
| response.rows[j].showPayee = false; | |||
| } | |||
| this.chargeItme = response.rows; | |||
| }); | |||
| }); | |||
| }, | |||
| getChange(){ | |||
| if(this.buttonType == 'update'){ | |||
| this.goUpdate(); | |||
| }else if(this.buttonType == 'add'){ | |||
| this.goAdd(); | |||
| } | |||
| }, | |||
| getError(e){ | |||
| this.$notify({ type: 'danger', message: e.errors[0].message }); | |||
| }, | |||
| addChargeItme(index){ | |||
| if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){ | |||
| this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入收入金额!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].payeeAccount == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入收款账户!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankDeposit == ''){ | |||
| this.$notify({ type: 'danger', message: '请输入开户银行!' }); | |||
| return; | |||
| }else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankType == ''){ | |||
| this.$notify({ type: 'danger', message: '请选择所属银行!' }); | |||
| return; | |||
| } | |||
| this.getDicts("bank_type").then(res => { | |||
| this.chargeItme.splice(index + 1, 0, { | |||
| payeeId: "", //收款方ID | |||
| payee: "", //收款方 | |||
| payeeAccount: "", //收款账户 | |||
| bankDeposit: "", //开户银行 | |||
| incomeAmount: "", //收入金额 | |||
| bankType: "", //所属银行 | |||
| bankTypeText: "", //所属银行 | |||
| showPayee:false, | |||
| showbankType:false | |||
| }); | |||
| }); | |||
| }, | |||
| getPayeeList() { | |||
| //普通转账 | |||
| this.queryParams.accountType = this.form.accountType | |||
| this.queryParams.status = "0" | |||
| if(this.form.cashierId==null||this.form.cashierId==""){ | |||
| this.$notify({ type: 'danger', message: '请先选择付款方!' }); | |||
| return; | |||
| }else { | |||
| this.queryParams.taccountId = parseInt(this.form.cashierId) | |||
| listVaccount(this.queryParams).then((response) => { | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| }); | |||
| } | |||
| }, | |||
| payeeDictLabel(datas, value) { | |||
| var actions = []; | |||
| Object.keys(datas).some((key) => { | |||
| if (datas[key].payeeId == ('' + value)) { | |||
| actions.push(datas[key].payee); | |||
| return true; | |||
| } | |||
| }) | |||
| return actions.join(''); | |||
| }, | |||
| onConfirmCapital(data){ | |||
| if (data.value != 2){ | |||
| this.capitalExpenditureOpen = false; | |||
| this.projectForm = []; | |||
| }else{ | |||
| this.capitalExpenditureOpen = true; | |||
| } | |||
| this.capitalExpenditureType = data.text; | |||
| this.form.capitalExpenditureType = data.value; | |||
| this.showcapital = false; | |||
| }, | |||
| onConfirmFundType(data){ | |||
| console.log(data) | |||
| this.projectForm.projectFundType = data.value; | |||
| this.projectFundType = data.text; | |||
| this.showFundType = false; | |||
| }, | |||
| onConfirmProject(data){ | |||
| this.projectList.map(res => { | |||
| if(res.projectName==data.text){ | |||
| this.projectForm.projectId = res.id | |||
| this.projectForm.projectName = res.projectName | |||
| this.projectForm.projectContractor = res.projectContractor | |||
| this.projectForm.projectAmount = res.projectAmount | |||
| } | |||
| }) | |||
| this.showproject = false; | |||
| }, | |||
| onConfirmPayee(data,index){ | |||
| console.log(data) | |||
| for (var i = 0 ; i < this.chargeItme.length ; i++){ | |||
| this.chargeItme[i].showPayee = false; | |||
| } | |||
| this.chargeItme[index].payee = data.text; | |||
| this.chargeItme[index].payeeId = data.value; | |||
| this.payeeSelectChange(data.value , index) | |||
| this.onConfirmBankType(data,index) | |||
| }, | |||
| onConfirmBankType(data,index){ | |||
| console.log(this.bankTypeDictionaries) | |||
| this.bankTypeDictionaries.map(res => { | |||
| if(res.value==data.bankType){ | |||
| this.chargeItme[index].bankTypeText = res.text; | |||
| this.chargeItme[index].bankType = res.value; | |||
| } | |||
| }) | |||
| }, | |||
| onConfirmPayer(data){ | |||
| this.form.payer = data.text; | |||
| this.form.cashierId = data.value; | |||
| this.showpayer = false; | |||
| this.selectChange(data.value) | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.form.applyDate = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| accountTypeChange(e){ | |||
| this.payeeList = []; | |||
| this.chargeItme = []; | |||
| this.queryParams.accountType = this.form.accountType | |||
| if(this.form.cashierId==null||this.form.cashierId==""){ | |||
| this.$notify({ type: 'danger', message: '请先选择付款方!' }); | |||
| return; | |||
| }else { | |||
| this.queryParams.taccountId = parseInt(this.form.cashierId) | |||
| console.log(this.queryParams) | |||
| listVaccount(this.queryParams).then((response) => { | |||
| this.payeeList = response.rows; | |||
| response.rows.map((res,index) => { | |||
| this.payeeList[index].text = res.payee; | |||
| this.payeeList[index].value = res.id; | |||
| }) | |||
| }); | |||
| } | |||
| }, | |||
| // 钱计算 | |||
| moneyChange(input) { | |||
| console.log(input) | |||
| let obj = {}; | |||
| obj = this.chargeItme.find((account) => { | |||
| //model就是上面的数据源 | |||
| return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据 | |||
| }); | |||
| let total = 0; | |||
| this.chargeItme.forEach((money) => { | |||
| total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2) | |||
| }); | |||
| this.$set(this.form, "expenditureAmount", total); | |||
| }, | |||
| goAdd(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){ | |||
| Dialog.confirm({ | |||
| title: '提示', | |||
| message: '此申请单中未上传任何附件,是否确认提交?', | |||
| }) | |||
| .then(() => { | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| updateTransfer(this.form).then(response => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", this.form.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| return false; | |||
| }); | |||
| }else{ | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| updateTransfer(this.form).then(response => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", this.form.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }) | |||
| }else{ | |||
| customSubmit(this.form.id).then(res => { | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| } | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| goUpdate(){ | |||
| if(this.chargeItme.length<1){ | |||
| this.$notify({ type: 'danger', message: '请添加收款方信息' }); | |||
| return; | |||
| } | |||
| if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){ | |||
| this.$notify({ type: 'danger', message: '付款事由禁止包含!' }); | |||
| return; | |||
| } | |||
| if(this.form.capitalExpenditureType==2){ | |||
| if(this.projectForm.projectName==""||this.projectForm.projectName==null){ | |||
| this.$notify({ type: 'danger', message: '请选择项目名称!' }); | |||
| return; | |||
| } | |||
| if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){ | |||
| this.$notify({ type: 'danger', message: '请输入工程发票号!' }); | |||
| return; | |||
| } | |||
| } | |||
| this.$set(this.form, "payeeList", this.chargeItme); | |||
| this.$set(this.form, "bankTypeList", this.chargeItme); | |||
| this.$set(this.form, "accountTypeList", this.chargeItme); | |||
| this.$set(this.form, "transferStatusList", this.chargeItme); | |||
| updateTransfer(this.form).then((response) => { | |||
| this.projectForm.outId = this.form.id | |||
| this.$set(this.projectForm, "ynType", '1'); | |||
| if(this.uploadFiles!=null&&this.uploadFiles.length>0){ | |||
| console.log(this.uploadFiles) | |||
| this.uploadFiles.map(rr => { | |||
| const params = new FormData(); | |||
| params.append("tableId", this.form.id); | |||
| params.append("tableName", "t_yinnong_transfer"); | |||
| params.append("bizPath", "upload"); | |||
| params.append("fileType", "0"); | |||
| params.append("file", rr); | |||
| commonAttach(params).then((r) => { | |||
| }) | |||
| }) | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| }else{ | |||
| if(this.form.capitalExpenditureType==2){ | |||
| addProjectto(this.projectForm).then(res => { | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }) | |||
| }else{ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| } | |||
| } | |||
| }); | |||
| }, | |||
| payeeSelectChange(select, i) { | |||
| let obj = {}; | |||
| let fuzhitype = 0; | |||
| obj = this.payeeList.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select ; //筛选出匹配数据 | |||
| }); | |||
| if(this.chargeItme != [] && this.chargeItme.length>1){ | |||
| this.chargeItme.some((value, index) => { | |||
| if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){ | |||
| fuzhitype = 2; | |||
| return true; | |||
| } | |||
| if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){ | |||
| fuzhitype = 1; | |||
| return true; | |||
| } | |||
| }); | |||
| } | |||
| if(fuzhitype == 0){ | |||
| this.$set(this.chargeItme[i], "payee",obj.payee) | |||
| this.$set(this.chargeItme[i], "bankType", obj.bankType) | |||
| this.$set(this.chargeItme[i], "payeeId", obj.id); | |||
| this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount); | |||
| this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); | |||
| this.$set(this.chargeItme[i], "accountType", obj.accountType); | |||
| this.$set(this.chargeItme[i], "payeePaymentLines", obj.payeePaymentLines); | |||
| }else if(fuzhitype == 1){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$set(this.chargeItme[i], "payeePaymentLines", ''); | |||
| this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' }); | |||
| }else if(fuzhitype == 2){ | |||
| this.$set(this.chargeItme[i], "payee",'') | |||
| this.$set(this.chargeItme[i], "bankType",'') | |||
| this.$set(this.chargeItme[i], "payeeId", ''); | |||
| this.$set(this.chargeItme[i], "payeeAccount", ''); | |||
| this.$set(this.chargeItme[i], "bankDeposit", ''); | |||
| this.$set(this.chargeItme[i], "accountType", ''); | |||
| this.$set(this.chargeItme[i], "payeePaymentLines", ''); | |||
| this.$notify({ type: 'danger', message: '收款方已存在!' }); | |||
| } | |||
| }, | |||
| selectChange(select) { | |||
| let obj = {}; | |||
| obj = this.payerOptions.find((account) => { | |||
| //model就是上面的数据源 | |||
| return account.id === select; //筛选出匹配数据 | |||
| }); | |||
| if(obj.accountPassword != null && obj.accountPassword != "" && | |||
| obj.bankType != null && obj.bankType != ""){ | |||
| this.$set(this.form, "bookId", obj.bookId); | |||
| this.$set(this.form, "deptId", obj.deptId); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| this.$set(this.form, "bankType", obj.bankType); | |||
| this.$set(this.form, "payerFrom", '1'); | |||
| }else{ | |||
| if(obj.payerFrom==1){ | |||
| this.diglogStatus = false; | |||
| this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" }); | |||
| this.$set(this.form,"payer","") | |||
| this.$set(this.form,"payerAccount","") | |||
| }else{ | |||
| this.$set(this.form, "payerFrom", obj.parerFrom); | |||
| if(obj.operatorCode!=null&&obj.operatorCode!=''){ | |||
| this.$set(this.form, "operatorCode", obj.operatorCode); | |||
| }else{ | |||
| this.$set(this.form, "operatorCode", ''); | |||
| } | |||
| if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){ | |||
| this.$set(this.form, "enterpriseCode", obj.enterpriseCode); | |||
| }else{ | |||
| this.$set(this.form, "enterpriseCode", ''); | |||
| } | |||
| if(obj.accountPassword!=null&&obj.accountPassword!=''){ | |||
| this.$set(this.form, "accountPassword", obj.accountPassword); | |||
| }else{ | |||
| this.$set(this.form, "accountPassword", ''); | |||
| } | |||
| this.$set(this.form, "bookId",''); | |||
| this.$set(this.form, "deptId", ''); | |||
| this.$set(this.form, "cashierId", obj.id); | |||
| this.$set(this.form, "payer", obj.accountName); | |||
| if(obj.payerFrom==6){ | |||
| getQmyeFlow(obj.bankAccountNumber).then((response) => { | |||
| this.$set(this.form, "payerAccount", response.data); | |||
| }); | |||
| }else { | |||
| this.$set(this.form, "payerAccount", obj.bankAccountNumber); | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| beforeRead(file) { | |||
| this.uploadFiles.push(file.file); | |||
| }, | |||
| deleteFile(file){ | |||
| console.log(file) | |||
| this.uploadFiles.map((response,index) => { | |||
| if(file.file == response){ | |||
| this.uploadFiles.splice(index,1) | |||
| } | |||
| }) | |||
| if(file.id){ | |||
| systemAttachment(file.id).then((res) => { | |||
| }); | |||
| } | |||
| }, | |||
| getFileList(){ | |||
| let oData= { | |||
| tableId: this.$route.query.id, | |||
| tableName: "t_yinnong_transfer", | |||
| bizPath: "upload", | |||
| fileType: "0", | |||
| } | |||
| attachmentList(oData).then(res => { | |||
| console.log(res) | |||
| console.log(location.protocol+"//"+location.host+request.defaults.baseURL) | |||
| res.rows.map(r => { | |||
| let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL | |||
| this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id}) | |||
| console.log(r) | |||
| }) | |||
| }) | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| }, | |||
| //删除家庭成员 | |||
| deleteChargeItme(index){ | |||
| this.chargeItme.splice(index,1) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: 0rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,240 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">付款申请流程</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-row v-if="processList.待申请!=2"> | |||
| <van-col span="6" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col> | |||
| <van-col span="18" class="textBlue">草稿</van-col> | |||
| </van-row> | |||
| <van-row v-if="processList.待申请==2"> | |||
| <van-col span="6" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col> | |||
| <van-col span="18" class="textBlue">已申请 | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">申请人:{{processList.申请人}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">申请时间:{{processList.申请时间}}</van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="6" align="right"> | |||
| <p class="icon_jian" v-show="processList.乡镇审批==1"><van-icon name="minus" size="14" /></p> | |||
| <p class="icon_jian blue" v-show="processList.乡镇审批==2"><van-icon name="success" size="14" /></p> | |||
| <p class="icon_jian red" v-show="processList.乡镇审批==3"><van-icon name="cross" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="18"> | |||
| <p v-show="processList.乡镇审批==1">乡镇审批</p> | |||
| <p v-show="processList.乡镇审批==2" class="textBlue">乡镇审批</p> | |||
| <p v-show="processList.乡镇审批==3" class="textRed">乡镇审批</p> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" v-if="processList.乡镇审批人!=null&&processList.乡镇审批人!=''"> | |||
| <p v-show="processList.乡镇审批==1">审批人:{{processList.乡镇审批人}}</p> | |||
| <p v-show="processList.乡镇审批==2" class="textBlue">审批人:{{processList.乡镇审批人}}</p> | |||
| <p v-show="processList.乡镇审批==3" class="textRed">审批人:{{processList.乡镇审批人}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" v-if="processList.乡镇审批时间!=null&&processList.乡镇审批时间!=''"> | |||
| <p v-show="processList.乡镇审批==1">审批时间:{{processList.乡镇审批时间}}</p> | |||
| <p v-show="processList.乡镇审批==2" class="textBlue">审批时间:{{processList.乡镇审批时间}}</p> | |||
| <p v-show="processList.乡镇审批==3" class="textRed">审批时间:{{processList.乡镇审批时间}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row v-if="form.approveLevel==2"> | |||
| <van-col span="6" align="right"> | |||
| <p class="icon_jian" v-show="processList.区县审批==1"><van-icon name="minus" size="14" /></p> | |||
| <p class="icon_jian blue" v-show="processList.区县审批==2"><van-icon name="success" size="14" /></p> | |||
| <p class="icon_jian red" v-show="processList.区县审批==3"><van-icon name="cross" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="18"> | |||
| <p v-show="processList.区县审批==1">区县审批</p> | |||
| <p v-show="processList.区县审批==2" class="textBlue">区县审批</p> | |||
| <p v-show="processList.区县审批==3" class="textRed">区县审批</p> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" v-if="processList.区县审批人!=null&&processList.区县审批人!=''"> | |||
| <p v-show="processList.区县审批==1">审批人:{{processList.区县审批人}}</p> | |||
| <p v-show="processList.区县审批==2" class="textBlue">审批人:{{processList.区县审批人}}</p> | |||
| <p v-show="processList.区县审批==3" class="textRed">审批人:{{processList.区县审批人}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" v-if="processList.区县审批时间!=null&&processList.区县审批时间!=''"> | |||
| <p v-show="processList.区县审批==1">审批时间:{{processList.区县审批时间}}</p> | |||
| <p v-show="processList.区县审批==2" class="textBlue">审批时间:{{processList.区县审批时间}}</p> | |||
| <p v-show="processList.区县审批==3" class="textRed">审批时间:{{processList.区县审批时间}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row v-show="form.transferType==1||form.transferType=='常用转账'"> | |||
| <van-col span="6" align="right"> | |||
| <p class="icon_jian" v-show="processList.支付状态==1"><van-icon name="minus" size="14" /></p> | |||
| <p class="icon_jian blue" v-show="processList.支付状态==2"><van-icon name="success" size="14" /></p> | |||
| <p class="icon_jian red" v-show="processList.支付状态==3"><van-icon name="cross" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="18"> | |||
| <p v-show="processList.支付状态==1">待支付</p> | |||
| <p v-show="processList.支付状态==2" class="textBlue">支付成功</p> | |||
| <p v-show="processList.支付状态==3" class="textRed">支付异常</p> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;"> | |||
| <p v-show="processList.支付状态==2||processList.支付状态==3">支付时间:{{processList.支付时间}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row v-show="form.transferType==1||form.transferType=='常用转账'"> | |||
| <van-col span="6" align="right"> | |||
| <p class="icon_jian" v-show="processList.入账状态==1"><van-icon name="minus" size="14" /></p> | |||
| <p class="icon_jian blue" v-show="processList.入账状态==2"><van-icon name="success" size="14" /></p> | |||
| <p class="icon_jian red" v-show="processList.入账状态==3"><van-icon name="cross" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="18"> | |||
| <p v-show="processList.入账状态==1">未入账</p> | |||
| <p v-show="processList.入账状态==2" class="textBlue">入账成功</p> | |||
| <p v-show="processList.入账状态==3" class="textRed">入账异常</p> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;"> | |||
| <p v-show="processList.入账状态==2||processList.入账状态==3">入账时间:{{processList.入账时间}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { | |||
| getTransferProcess, | |||
| getTransfer, | |||
| getProjectto, | |||
| queryTransferDetail | |||
| } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalProcess", | |||
| data() { | |||
| return { | |||
| processList:{}, | |||
| form:{} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.handleUpdate(this.$route.query.id); | |||
| }, | |||
| methods: { | |||
| //查询审批进程 | |||
| getTransferProcess(id){ | |||
| getTransferProcess(id).then(res => { | |||
| this.processList = res.data.processSchedule | |||
| console.log(res.data.processSchedule) | |||
| this.processList.乡镇审批时间 = this.processList.乡镇审批时间?this.format(this.processList.乡镇审批时间, "yyyy-MM-dd HH:mm:ss"):"" | |||
| this.processList.区县审批时间 = this.processList.区县审批时间?this.format(this.processList.区县审批时间, "yyyy-MM-dd HH:mm:ss"):"" | |||
| this.processList.支付状态时间 = this.processList.支付状态时间?this.format(this.processList.支付状态时间, "yyyy-MM-dd HH:mm:ss"):"" | |||
| this.processList.入账状态时间 = this.processList.入账状态时间?this.format(this.processList.入账状态时间, "yyyy-MM-dd HH:mm:ss"):"" | |||
| }) | |||
| }, | |||
| handleUpdate(id) { | |||
| getTransfer(id).then((response) => { | |||
| this.form = response.data; | |||
| this.processList = {} | |||
| this.getTransferProcess(this.$route.query.id); | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.capitalExpenditureOpen = true | |||
| let param={ | |||
| 'outId' : this.form.id, | |||
| 'ynType' : '1' | |||
| } | |||
| getProjectto(param).then(res => { | |||
| this.projectForm = res.data | |||
| this.projectForm.projectFundType+="" | |||
| queryTransferDetail(id).then((r) => { | |||
| this.chargeItme = r.rows; | |||
| this.length = this.chargeItme.length; | |||
| this.detailTotal = r.total; | |||
| this.loading = false; | |||
| }); | |||
| }) | |||
| }else{ | |||
| this.capitalExpenditureOpen = false | |||
| queryTransferDetail(id).then((r) => { | |||
| this.chargeItme = r.rows; | |||
| this.length = this.chargeItme.length; | |||
| this.detailTotal = r.total; | |||
| this.loading = false; | |||
| }); | |||
| } | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 0; | |||
| } | |||
| .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; | |||
| padding: 20Px 0; | |||
| } | |||
| .icon_jian{ | |||
| background-color: #C9C9C9; | |||
| display: inline-block; | |||
| width: 20Px; | |||
| height: 20Px; | |||
| line-height: 24Px; | |||
| text-align: center; | |||
| border-radius: 50%; | |||
| color: #FFF; | |||
| } | |||
| .blue{ | |||
| background-color: #1D6FE9; | |||
| } | |||
| .red{ | |||
| background-color: rgb(245, 108, 108); | |||
| } | |||
| .textBlue{ | |||
| color: #1D6FE9!important; | |||
| } | |||
| .textRed{ | |||
| color: rgb(245, 108, 108)!important; | |||
| } | |||
| .van-col{ | |||
| padding: 20Px 10Px; | |||
| } | |||
| .van-col:nth-child(2){ | |||
| font-size: 16Px; | |||
| color: #878787; | |||
| line-height: 22Px; | |||
| } | |||
| .van-row{ | |||
| .van-row{ | |||
| .van-col{ | |||
| padding: 5Px 0 0 0!important; | |||
| color: #878787; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,245 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">付款申请流程</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-row v-if="processList.待申请!=2"> | |||
| <van-col span="6" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col> | |||
| <van-col span="18" class="textBlue">草稿</van-col> | |||
| </van-row> | |||
| <van-row v-if="processList.待申请==2"> | |||
| <van-col span="6" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col> | |||
| <van-col span="18" class="textBlue">已申请 | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">申请人:{{processList.申请人}}</van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">申请时间:{{processList.申请时间}}</van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="6" align="right"> | |||
| <p class="icon_jian" v-show="processList.乡镇审批==1"><van-icon name="minus" size="14" /></p> | |||
| <p class="icon_jian blue" v-show="processList.乡镇审批==2"><van-icon name="success" size="14" /></p> | |||
| <p class="icon_jian red" v-show="processList.乡镇审批==3"><van-icon name="cross" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="18"> | |||
| <p v-show="processList.乡镇审批==1">乡镇审批</p> | |||
| <p v-show="processList.乡镇审批==2" class="textBlue">乡镇审批</p> | |||
| <p v-show="processList.乡镇审批==3" class="textRed">乡镇审批</p> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" v-if="processList.乡镇审批人!=null&&processList.乡镇审批人!=''"> | |||
| <p v-show="processList.乡镇审批==1">审批人:{{processList.乡镇审批人}}</p> | |||
| <p v-show="processList.乡镇审批==2" class="textBlue">审批人:{{processList.乡镇审批人}}</p> | |||
| <p v-show="processList.乡镇审批==3" class="textRed">审批人:{{processList.乡镇审批人}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" v-if="processList.乡镇审批时间!=null&&processList.乡镇审批时间!=''"> | |||
| <p v-show="processList.乡镇审批==1">审批时间:{{processList.乡镇审批时间}}</p> | |||
| <p v-show="processList.乡镇审批==2" class="textBlue">审批时间:{{processList.乡镇审批时间}}</p> | |||
| <p v-show="processList.乡镇审批==3" class="textRed">审批时间:{{processList.乡镇审批时间}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row v-if="form.approveLevel==2"> | |||
| <van-col span="6" align="right"> | |||
| <p class="icon_jian" v-show="processList.区县审批==1"><van-icon name="minus" size="14" /></p> | |||
| <p class="icon_jian blue" v-show="processList.区县审批==2"><van-icon name="success" size="14" /></p> | |||
| <p class="icon_jian red" v-show="processList.区县审批==3"><van-icon name="cross" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="18"> | |||
| <p v-show="processList.区县审批==1">区县审批</p> | |||
| <p v-show="processList.区县审批==2" class="textBlue">区县审批</p> | |||
| <p v-show="processList.区县审批==3" class="textRed">区县审批</p> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" v-if="processList.区县审批人!=null&&processList.区县审批人!=''"> | |||
| <p v-show="processList.区县审批==1">审批人:{{processList.区县审批人}}</p> | |||
| <p v-show="processList.区县审批==2" class="textBlue">审批人:{{processList.区县审批人}}</p> | |||
| <p v-show="processList.区县审批==3" class="textRed">审批人:{{processList.区县审批人}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;" v-if="processList.区县审批时间!=null&&processList.区县审批时间!=''"> | |||
| <p v-show="processList.区县审批==1">审批时间:{{processList.区县审批时间}}</p> | |||
| <p v-show="processList.区县审批==2" class="textBlue">审批时间:{{processList.区县审批时间}}</p> | |||
| <p v-show="processList.区县审批==3" class="textRed">审批时间:{{processList.区县审批时间}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row v-show="form.transferType==1||form.transferType=='常用转账'"> | |||
| <van-col span="6" align="right"> | |||
| <p class="icon_jian" v-show="processList.支付状态==1"><van-icon name="minus" size="14" /></p> | |||
| <p class="icon_jian blue" v-show="processList.支付状态==2"><van-icon name="success" size="14" /></p> | |||
| <p class="icon_jian red" v-show="processList.支付状态==3"><van-icon name="cross" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="18"> | |||
| <p v-show="processList.支付状态==1">待支付</p> | |||
| <p v-show="processList.支付状态==2" class="textBlue">支付成功</p> | |||
| <p v-show="processList.支付状态==3" class="textRed">支付异常</p> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;"> | |||
| <p v-show="processList.支付状态==2||processList.支付状态==3">支付时间:{{processList.支付时间}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row v-show="form.transferType==1||form.transferType=='常用转账'"> | |||
| <van-col span="6" align="right"> | |||
| <p class="icon_jian" v-show="processList.入账状态==1"><van-icon name="minus" size="14" /></p> | |||
| <p class="icon_jian blue" v-show="processList.入账状态==2"><van-icon name="success" size="14" /></p> | |||
| <p class="icon_jian red" v-show="processList.入账状态==3"><van-icon name="cross" size="14" /></p> | |||
| </van-col> | |||
| <van-col span="18"> | |||
| <p v-show="processList.入账状态==1">未入账</p> | |||
| <p v-show="processList.入账状态==2" class="textBlue">入账成功</p> | |||
| <p v-show="processList.入账状态==3" class="textRed">入账异常</p> | |||
| <van-row> | |||
| <van-col span="24" style="padding: 0;"> | |||
| <p v-show="processList.入账状态==2||processList.入账状态==3">入账时间:{{processList.入账时间}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { | |||
| getTransferProcess, | |||
| getTransfer, | |||
| getProjectto, | |||
| queryTransferDetail | |||
| } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
| import { | |||
| getCash, | |||
| getTransferProcess1, | |||
| listCashdetailByCashId | |||
| } from "../../../../api/onlineHome/bankAgriculture/paymentApproval"; | |||
| export default { | |||
| name: "approvalProcess", | |||
| data() { | |||
| return { | |||
| processList:{}, | |||
| form:{} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.handleUpdate(this.$route.query.id); | |||
| }, | |||
| methods: { | |||
| //查询审批进程 | |||
| getTransferProcess1(id){ | |||
| getTransferProcess1(id).then(res => { | |||
| this.processList = res.data.processSchedule | |||
| console.log(res.data.processSchedule) | |||
| this.processList.乡镇审批时间 = this.processList.乡镇审批时间?this.format(this.processList.乡镇审批时间, "yyyy-MM-dd HH:mm:ss"):"" | |||
| this.processList.区县审批时间 = this.processList.区县审批时间?this.format(this.processList.区县审批时间, "yyyy-MM-dd HH:mm:ss"):"" | |||
| this.processList.支付状态时间 = this.processList.支付状态时间?this.format(this.processList.支付状态时间, "yyyy-MM-dd HH:mm:ss"):"" | |||
| this.processList.入账状态时间 = this.processList.入账状态时间?this.format(this.processList.入账状态时间, "yyyy-MM-dd HH:mm:ss"):"" | |||
| }) | |||
| }, | |||
| handleUpdate(id) { | |||
| getCash(id).then((response) => { | |||
| this.form = response.data; | |||
| this.processList = {} | |||
| this.getTransferProcess1(this.$route.query.id); | |||
| if(this.form.capitalExpenditureType==2){ | |||
| this.capitalExpenditureOpen = true | |||
| let param={ | |||
| 'outId' : this.form.id, | |||
| 'ynType' : '2' | |||
| } | |||
| getProjectto(param).then(res => { | |||
| this.projectForm = res.data | |||
| this.projectForm.projectFundType+="" | |||
| listCashdetailByCashId(id).then((r) => { | |||
| this.chargeItme = r.data; | |||
| this.length = this.chargeItme.length; | |||
| this.detailTotal = r.total; | |||
| this.loading = false; | |||
| }); | |||
| }) | |||
| }else{ | |||
| this.capitalExpenditureOpen = false | |||
| listCashdetailByCashId(id).then((r) => { | |||
| this.chargeItme = r.data; | |||
| this.length = this.chargeItme.length; | |||
| this.detailTotal = r.total; | |||
| this.loading = false; | |||
| }); | |||
| } | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 0; | |||
| } | |||
| .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; | |||
| padding: 20Px 0; | |||
| } | |||
| .icon_jian{ | |||
| background-color: #C9C9C9; | |||
| display: inline-block; | |||
| width: 20Px; | |||
| height: 20Px; | |||
| line-height: 24Px; | |||
| text-align: center; | |||
| border-radius: 50%; | |||
| color: #FFF; | |||
| } | |||
| .blue{ | |||
| background-color: #1D6FE9; | |||
| } | |||
| .red{ | |||
| background-color: rgb(245, 108, 108); | |||
| } | |||
| .textBlue{ | |||
| color: #1D6FE9!important; | |||
| } | |||
| .textRed{ | |||
| color: rgb(245, 108, 108)!important; | |||
| } | |||
| .van-col{ | |||
| padding: 20Px 10Px; | |||
| } | |||
| .van-col:nth-child(2){ | |||
| font-size: 16Px; | |||
| color: #878787; | |||
| line-height: 22Px; | |||
| } | |||
| .van-row{ | |||
| .van-row{ | |||
| .van-col{ | |||
| padding: 5Px 0 0 0!important; | |||
| color: #878787; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,164 @@ | |||
| <template> | |||
| <div> | |||
| <van-nav-bar | |||
| title="我的事项" | |||
| left-arrow | |||
| @click-left="goOnlineHomeIndex" | |||
| /> | |||
| <van-tabs v-model="activeName" title-active-color="#1D6FE9" color="#1D6FE9" line-width="20px" swipeable @click="getList"> | |||
| <van-tab title="待办" name="1" > | |||
| </van-tab> | |||
| <van-tab title="已办" name="2"> | |||
| </van-tab> | |||
| </van-tabs> | |||
| <van-cell-group @click="goDetail(item)" v-for="(item,index) in taskList" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell> | |||
| <template #title> | |||
| <van-row style=""> | |||
| <van-col span="23" :offset="1"> | |||
| <h3 style="display: inline-block;line-height: 30px;margin-left: 6px;width: 100%;overflow: hidden;"> | |||
| <van-image | |||
| height="20" | |||
| width="20" | |||
| style="vertical-align: middle;margin-right: 10px" | |||
| src="../../../static/images/onlineHome/done.png"></van-image>{{item.projectName}}</h3> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell> | |||
| <template #title> | |||
| <van-row> | |||
| <van-col span="6" :offset="1"> | |||
| <p style="color: #878787">{{item.createTime?item.createTime.substring(0,10):item.startTime.substring(0,10)}}</p> | |||
| </van-col> | |||
| <van-col span="10" :offset="1"> | |||
| <p style="color: #878787">{{item.formData.activityBusinessType}}</p> | |||
| </van-col> | |||
| <van-col span="5" :offset="1"> | |||
| <p style="font-size: 14px;font-weight:bold;text-align: right;color: #1D6FE9">{{activeName=='1'?'待审批':'已审批'}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {ListDone, ListTodo} from "../../api/onlineHome/done"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "done", | |||
| data(){ | |||
| return{ | |||
| taskList:[], | |||
| activeName:this.$route.query.activeName?this.$route.query.activeName:'1', | |||
| total:0, | |||
| queryParams: { | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| }, | |||
| activityBusinessTypeOptions:[], | |||
| } | |||
| }, | |||
| created() { | |||
| this.getDicts("activity_business_type").then((response) => { | |||
| this.activityBusinessTypeOptions = response.data; | |||
| if(this.$route.query.activeName){ | |||
| this.activeName = this.$route.query.activeName | |||
| } | |||
| this.getList(); | |||
| }); | |||
| }, | |||
| methods: { | |||
| goOnlineHomeIndex(){ | |||
| this.$router.go(-1) | |||
| }, | |||
| getList() { | |||
| this.taskList = [] | |||
| this.$set(this.queryParams, "systemType", '4'); | |||
| if(this.activeName=='1'){ | |||
| ListTodo(this.queryParams).then((response) => { | |||
| console.log(response) | |||
| response.rows.map(res => { | |||
| if(res.tableName?res.tableName.indexOf('house')>0:""){ | |||
| res.tableName = '来自农村宅基地管理系统' | |||
| }else if(res.tableName?res.tableName.indexOf('sys_seal')>0:""){ | |||
| res.tableName = '来自银农直联审批管理系统' | |||
| }else if(res.tableName?res.tableName.indexOf('yinnong')>0:""){ | |||
| res.tableName = '来自银农直联审批管理系统' | |||
| } | |||
| if(this.activityBusinessTypeOptions){ | |||
| this.activityBusinessTypeOptions.map(t => { | |||
| if(t.dictValue == res.formData.activityBusinessType){ | |||
| res.formData.activityBusinessType = t.dictLabel | |||
| this.taskList.push(res) | |||
| } | |||
| }); | |||
| } | |||
| }) | |||
| }) | |||
| }else{ | |||
| ListDone(this.queryParams).then((response) => { | |||
| console.log(response) | |||
| response.rows.map(res => { | |||
| if(res.tableName?res.tableName.indexOf('house')>0:""){ | |||
| res.tableName = '来自农村宅基地管理系统' | |||
| }else if(res.tableName?res.tableName.indexOf('sys_seal')>0:""){ | |||
| res.tableName = '来自银农直联审批管理系统' | |||
| }else if(res.tableName?res.tableName.indexOf('yinnong')>0:""){ | |||
| res.tableName = '来自银农直联审批管理系统' | |||
| } | |||
| if(this.activityBusinessTypeOptions){ | |||
| this.activityBusinessTypeOptions.map(t => { | |||
| if(t.dictValue == res.formData.activityBusinessType){ | |||
| res.formData.activityBusinessType = t.dictLabel | |||
| this.taskList.push(res) | |||
| } | |||
| }); | |||
| } | |||
| }) | |||
| }) | |||
| } | |||
| }, | |||
| goDetail(item){ | |||
| console.log(item) | |||
| let type = item.formData.processKey; | |||
| switch (type) { | |||
| case 'baseApply': | |||
| case 'landscope': | |||
| case 'accepting': | |||
| this.$router.push({name:'approvalForm',query: {id:item.formData.id,taskId:item.taskId,instanceId:item.formData.instanceId,type:item.type}}) | |||
| break; | |||
| case 'yinnong_transfer': | |||
| this.$router.push({name:'approvalApproval',query: {id:item.formData.id,taskId:item.taskId,type:item.type}}) | |||
| break; | |||
| case 'yinnong_cash': | |||
| if(item.formData.cashType == '10'){ | |||
| this.$router.push({name:'approvalApproval10',query: {id:item.formData.id,taskId:item.taskId,type:item.type}}) | |||
| break; | |||
| } | |||
| if(item.formData.cashType == '11'){ | |||
| this.$router.push({name:'approvalApproval11',query: {id:item.formData.id,taskId:item.taskId,type:item.type}}) | |||
| break; | |||
| } | |||
| if(item.formData.cashType == '12'){ | |||
| this.$router.push({name:'approvalApproval12',query: {id:item.formData.id,taskId:item.taskId,type:item.type}}) | |||
| break; | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| </style> | |||
| @@ -0,0 +1,119 @@ | |||
| <template> | |||
| <div> | |||
| <van-nav-bar | |||
| title="我的事项" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| /> | |||
| <van-tabs v-model="activeName" title-active-color="#1D6FE9" color="#1D6FE9" line-width="20px" swipeable @click="getList"> | |||
| <van-tab title="待办" name="1" > | |||
| </van-tab> | |||
| <van-tab title="已办" name="2"> | |||
| </van-tab> | |||
| </van-tabs> | |||
| <van-cell-group v-for="(item,index) in taskList" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell> | |||
| <template #title> | |||
| <van-row style="margin-bottom:10px "> | |||
| <van-col span="23" :offset="1"> | |||
| <h3 style="display: inline-block;line-height: 30px;margin-left: 6px;width: 100%;overflow: hidden;"> | |||
| <van-image | |||
| height="20" | |||
| width="20" | |||
| style="vertical-align: middle;margin-right: 10px" | |||
| src="../../../static/images/onlineHome/done.png"></van-image>{{item.projectName}}</h3> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| <template #label> | |||
| <van-row style="margin: 5px 0"> | |||
| <van-col span="15" :offset="1"> | |||
| <p style="font-size: 14px;">申请:</p> | |||
| </van-col> | |||
| <van-col span="6" :offset="2"> | |||
| <p style="font-size: 14px;font-weight:bold;text-align: right;color: #1D6FE9">{{activeName=='1'?'待审批':'已审批'}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell> | |||
| <template #title> | |||
| <van-row> | |||
| <van-col span="6" :offset="1"> | |||
| <p style="color: #878787">{{item.createTime?item.createTime.substring(0,10):item.startTime.substring(0,10)}}</p> | |||
| </van-col> | |||
| <van-col span="16" :offset="1"> | |||
| <p style="color: #878787">{{item.tableName}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {ListDone, ListTodo} from "../../api/onlineHome/done"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "doneDetail", | |||
| data(){ | |||
| return{ | |||
| taskList:[], | |||
| activeName:'1', | |||
| total:0, | |||
| queryParams: { | |||
| pageNum: 1, | |||
| pageSize: 100, | |||
| }, | |||
| } | |||
| }, | |||
| created() { | |||
| this.getList(); | |||
| }, | |||
| methods: { | |||
| getList() { | |||
| this.taskList = [] | |||
| this.$set(this.queryParams, "systemType", ''); | |||
| if(this.activeName=='1'){ | |||
| ListTodo(this.queryParams).then((response) => { | |||
| console.log(response) | |||
| response.rows.map(res => { | |||
| if(res.tableName?res.tableName.indexOf('house')>0:""){ | |||
| res.tableName = '来自农村宅基地管理系统' | |||
| }else if(res.tableName?res.tableName.indexOf('sys_seal')>0:""){ | |||
| res.tableName = '来自银农直联审批管理系统' | |||
| }else if(res.tableName?res.tableName.indexOf('yinnong')>0:""){ | |||
| res.tableName = '来自银农直联审批管理系统' | |||
| } | |||
| this.taskList.push(res) | |||
| }) | |||
| }) | |||
| }else{ | |||
| ListDone(this.queryParams).then((response) => { | |||
| console.log(response) | |||
| response.rows.map(res => { | |||
| if(res.tableName?res.tableName.indexOf('house')>0:""){ | |||
| res.tableName = '来自农村宅基地管理系统' | |||
| }else if(res.tableName?res.tableName.indexOf('sys_seal')>0:""){ | |||
| res.tableName = '来自银农直联审批管理系统' | |||
| }else if(res.tableName?res.tableName.indexOf('yinnong')>0:""){ | |||
| res.tableName = '来自银农直联审批管理系统' | |||
| } | |||
| this.taskList.push(res) | |||
| }) | |||
| }) | |||
| } | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| </style> | |||
| @@ -0,0 +1,165 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="支出明细公开表" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| /> | |||
| <van-row style="margin-top: 20px"> | |||
| <van-col span="9" :offset="2"> | |||
| <h3>{{$store.state.user.bookName}}</h3> | |||
| </van-col> | |||
| <van-col span="10" :offset="2"> | |||
| <van-field placeholder="日期选择" v-model="date" @click="show = true" :disabled="true" right-icon="arrow-down" style=" border-radius: 10px;padding: 0 0 0 5px;text-align: center"/> | |||
| <van-calendar v-model="show" type="range" :min-date="minDate" :max-date="maxDate" :show-confirm="false" @confirm="onConfirm"/> | |||
| </van-col> | |||
| </van-row> | |||
| <van-cell-group v-for="(item,index) in list" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell> | |||
| <template #icon> | |||
| <p style="line-height: 50px;font-size: 16px">{{item.id}}</p> | |||
| </template> | |||
| <template #title> | |||
| <van-row> | |||
| <van-col span="11" :offset="1"> | |||
| <p>{{item.voucherSummary}}</p> | |||
| </van-col> | |||
| <van-col span="12"> | |||
| <p v-if="item.out" style="color:#E50000;text-align: right">-{{item.out}}</p> | |||
| <p v-if="item.in" style="color:#0AA214;text-align: right">{{item.in}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| <template #label> | |||
| <van-row> | |||
| <van-col span="9" :offset="1"> | |||
| <p>{{item.subjectName}}</p> | |||
| </van-col> | |||
| <van-col span="5" :offset="2"> | |||
| {{item.num}} | |||
| </van-col> | |||
| <van-col span="7"> | |||
| <p style="text-align: right">{{item.bookDate}}</p> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <van-cell-group v-if="list.length==0" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell> | |||
| <template #icon> | |||
| <p style="line-height: 50px;font-size: 16px"></p> | |||
| </template> | |||
| <template #title> | |||
| <van-row> | |||
| <van-col span="11" :offset="1"> | |||
| <p> 暂无数据 </p> | |||
| </van-col> | |||
| <van-col span="12"> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| <template #label> | |||
| <van-row> | |||
| <van-col span="9" :offset="1"> | |||
| </van-col> | |||
| <van-col span="5" :offset="2"> | |||
| </van-col> | |||
| <van-col span="7"> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <!-- <van-datetime-picker | |||
| v-model="currentDate1" | |||
| type="year-month" | |||
| title="开始时间" | |||
| :formatter="formatter" | |||
| /> | |||
| <van-datetime-picker | |||
| v-model="currentDate2" | |||
| type="year-month" | |||
| title="截止时间" | |||
| :formatter="formatter" | |||
| />--> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {getFinancialOut} from "../../api/onlineHome/finacial"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "incomeDetail", | |||
| data() { | |||
| return { | |||
| activeName: 'a', | |||
| list: [], | |||
| loading: false, | |||
| finished: false, | |||
| result:[], | |||
| date: null, | |||
| show: false, | |||
| queryParams: { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| deptId:this.$store.state.user.loginDeptId, | |||
| bookType:this.$store.getters.bookType, | |||
| beginTime: "", | |||
| endTime: "" | |||
| // 查询排序 | |||
| //orderByColumn: "id", | |||
| //isAsc: "desc", | |||
| }, | |||
| currentDate1:null, | |||
| currentDate2:null, | |||
| minDate: new Date(2000, 0, 1), | |||
| maxDate: new Date(2050, 0, 31), | |||
| }; | |||
| }, | |||
| created() { | |||
| }, | |||
| methods: { | |||
| formatDate(date) { | |||
| let month = `${date.getMonth() + 1}` | |||
| if(month.indexOf('0')<0){ | |||
| month = '0'+month | |||
| } | |||
| return `${date.getFullYear() + 1}-`+month ; | |||
| }, | |||
| onConfirm(date) { | |||
| const [start, end] = date; | |||
| this.show = false; | |||
| this.date = `${this.formatDate(start)} ~ ${this.formatDate(end)}`; | |||
| this.queryParams.beginTime = '${this.formatDate(start)}' | |||
| this.queryParams.endTime = '${this.formatDate(end)}' | |||
| this.getList(); | |||
| }, | |||
| getList(){ | |||
| this.loading = true; | |||
| getFinancialOut(this.queryParams).then(res =>{ | |||
| this.list = res.rows | |||
| this.loading = false; | |||
| this.total = res.total | |||
| }) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>>.van-cell::after { | |||
| border-bottom: none; | |||
| } | |||
| input::-ms-input-placeholder{text-align: center;} | |||
| input::-webkit-input-placeholder{text-align: center;} | |||
| </style> | |||
| @@ -0,0 +1,59 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="村民画像" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| </van-nav-bar> | |||
| <van-list | |||
| finished-text="没有更多了" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in list" :key="index"> | |||
| <van-cell :title="'户编号:'+item.name1" center class="van-cell-group"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/myIcon1.png" size="22" color="#FF4646" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><span>{{item.name2}}</span><i style="margin-right: 30px;"></i>{{item.name3}}<i style="margin-right: 30px;"></i>{{item.name4}}</p> | |||
| </template> | |||
| </van-cell> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "farmerPortrait", | |||
| data() { | |||
| return { | |||
| list:[{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}, | |||
| {name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}, | |||
| {name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}, | |||
| {name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}, | |||
| {name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}, | |||
| {name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}, | |||
| {name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}, | |||
| {name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}, | |||
| {name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}], | |||
| finished: false, | |||
| loading: false, | |||
| }; | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>> .van-cell-group{ | |||
| width: 96%;margin:1% 2%;border-radius: 8px;overflow: hidden;padding-top: 20px;padding-bottom: 20px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,81 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="工作动态" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| /> | |||
| <van-list> | |||
| <van-cell v-for="item in list" :key="item.id" is-link :to="{path:'villageAffairsDetail',query:{id:item.id,type:'3'}}" style="margin:2%;width:96%;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <template #title> | |||
| <p style="display:inline-block;background: #EC4B2C;height:20px;width: 20px;border-radius: 2px;margin-right: 10px;float: left"></p><p style="font-weight: bold;font-size: 18px;">{{item.title}}</p> | |||
| </template> | |||
| <template #label> | |||
| <van-row> | |||
| <van-col span="12"><p style="font-size: 12px">发布人/单位:{{item.issuedBy}}</p></van-col> | |||
| <van-col span="12"><p style="font-size: 12px;text-align: right">发布时间:{{item.issuedDate}}</p></van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-list> | |||
| <van-cell v-if="list.length==0" is-link url="" style="margin:2%;width:96%;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <template #title> | |||
| <p style="display:inline-block;background: #dddddd;height:20px;width: 20px;border-radius: 2px;margin-right: 10px;float: left"></p><p style="font-weight: bold;font-size: 18px;">暂无数据</p> | |||
| </template> | |||
| <template #label> | |||
| <van-row> | |||
| <van-col span="12"><p style="font-size: 12px"></p></van-col> | |||
| <van-col span="12"><p style="font-size: 12px;text-align: right"></p></van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {getAffairs, listAffairs} from "../../api/onlineHome/threeAffairs"; | |||
| import {listVillageAffairs} from "../../api/onlineHome/villageAffairs"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "gzdt", | |||
| data() { | |||
| return { | |||
| list: [], | |||
| loading: false, | |||
| finished: false, | |||
| // 查询参数 | |||
| queryParams: { | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| title: null, | |||
| villageAffairsType: null, | |||
| deptId: null, | |||
| isWechat: null, | |||
| status: null, | |||
| }, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getList(3); | |||
| }, | |||
| methods: { | |||
| getList(name,title) { | |||
| this.loading = true; | |||
| this.queryParams.villageAffairsType = name | |||
| listVillageAffairs(this.queryParams).then(response => { | |||
| this.list3 = response.rows; | |||
| this.total = response.total; | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| </style> | |||
| @@ -0,0 +1,81 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="惠农政策" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| /> | |||
| <van-list> | |||
| <van-cell v-for="item in list" :key="item.id" is-link :to="{path:'villageAffairsDetail',query:{id:item.id,type:'2'}}" style="margin:2%;width:96%;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <template #title> | |||
| <p style="display:inline-block;background: #EC4B2C;height:20px;width: 20px;border-radius: 2px;margin-right: 10px;float: left"></p><p style="font-weight: bold;font-size: 18px;">{{item.title}}</p> | |||
| </template> | |||
| <template #label> | |||
| <van-row> | |||
| <van-col span="12"><p style="font-size: 12px">发布人/单位:{{item.issuedBy}}</p></van-col> | |||
| <van-col span="12"><p style="font-size: 12px;text-align: right">发布时间:{{item.issuedDate}}</p></van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </van-list> | |||
| <van-cell v-if="list.length==0" is-link url="" style="margin:2%;width:96%;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <template #title> | |||
| <p style="display:inline-block;background: #dddddd;height:20px;width: 20px;border-radius: 2px;margin-right: 10px;float: left"></p><p style="font-weight: bold;font-size: 18px;">暂无数据</p> | |||
| </template> | |||
| <template #label> | |||
| <van-row> | |||
| <van-col span="12"><p style="font-size: 12px"></p></van-col> | |||
| <van-col span="12"><p style="font-size: 12px;text-align: right"></p></van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {getAffairs, listAffairs} from "../../api/onlineHome/threeAffairs"; | |||
| import {listVillageAffairs} from "../../api/onlineHome/villageAffairs"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "hnzc", | |||
| data() { | |||
| return { | |||
| list: [], | |||
| loading: false, | |||
| finished: false, | |||
| // 查询参数 | |||
| queryParams: { | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| title: null, | |||
| villageAffairsType: null, | |||
| deptId: null, | |||
| isWechat: null, | |||
| status: null, | |||
| }, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getList(2); | |||
| }, | |||
| methods: { | |||
| getList(name,title) { | |||
| this.loading = true; | |||
| this.queryParams.villageAffairsType = name | |||
| listVillageAffairs(this.queryParams).then(response => { | |||
| this.list = response.rows; | |||
| this.total = response.total; | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| </style> | |||
| @@ -0,0 +1,128 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="家园" | |||
| > | |||
| <template #right> | |||
| <van-icon name="wap-nav" color="#000" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 20px;padding-bottom: 20px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell title="村画像" is-link to="villagePortrait"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="22" | |||
| style="margin-right: 15px" | |||
| src="../../../static/images/onlineHome/home1.png" | |||
| /> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell title="村民信息" is-link to="farmerPortrait"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="22" | |||
| style="margin-right: 15px" | |||
| src="../../../static/images/onlineHome/myIcon1.png" | |||
| /> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 20px;padding-bottom: 20px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell title="宅基地一张图" is-link> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="22" | |||
| style="margin-right: 15px" | |||
| src="../../../static/images/onlineHome/home2.png" | |||
| /> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell title="确权一张图" is-link > | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="22" | |||
| style="margin-right: 15px" | |||
| src="../../../static/images/onlineHome/home3.png" | |||
| /> | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 20px;padding-bottom: 20px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell title="投票" is-link to="homePoll"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="22" | |||
| style="margin-right: 15px" | |||
| src="../../../static/images/onlineHome/home4.png" | |||
| /> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell title="三务公开" is-link to="threeAffairs"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="22" | |||
| style="margin-right: 15px" | |||
| src="../../../static/images/onlineHome/home5.png" | |||
| /> | |||
| </template> | |||
| </van-cell> | |||
| <van-collapse v-model="activeName" :border="false"> | |||
| <van-collapse-item title="村规民约" name="1" accordion id="rules"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="22" | |||
| width="22" | |||
| style="margin-right: 22px;margin-left:10px;" | |||
| src="../../../static/images/onlineHome/home6.png" | |||
| /> | |||
| </template> | |||
| <template #default> | |||
| <van-cell-group :border="false"> | |||
| <van-cell title="政策法规" is-link to="zcfg"/> | |||
| <van-cell title="惠农政策" is-link to="hnzc"/> | |||
| <van-cell title="工作动态" is-link to="gzdt"/> | |||
| <van-cell title="制度建设" is-link to="zdjs"/> | |||
| </van-cell-group> | |||
| </template> | |||
| </van-collapse-item> | |||
| </van-collapse> | |||
| </van-cell-group> | |||
| <yinnongIndex></yinnongIndex> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import yinnongIndex from "../yinnongIndex"; | |||
| export default { | |||
| components: { | |||
| yinnongIndex | |||
| }, | |||
| name: "home", | |||
| data() { | |||
| return { | |||
| activeName: [], | |||
| }; | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>> .my-swipe .van-swipe-item { | |||
| color: #fff; | |||
| font-size: 20px; | |||
| line-height: 150px; | |||
| text-align: center; | |||
| background-color: #39a9ed; | |||
| } | |||
| >>> #rules .van-collapse-item__content{ | |||
| padding-top: 0; | |||
| padding-bottom: 0; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,104 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="投票" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #right> | |||
| <van-image | |||
| width="18" | |||
| height="18" | |||
| src="../../../static/images/onlineHome/voteMenu.png"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list> | |||
| <van-row v-for="(item,index) in list" :key="index" style="background:#fff;width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-col span="3" style="text-align: center;"> | |||
| <van-image | |||
| width="18" | |||
| height="18" | |||
| style="display: inline-block;margin-top: 16px" | |||
| src="../../../static/images/onlineHome/home3.png" | |||
| /> | |||
| </van-col> | |||
| <van-col span="17"> | |||
| <van-row> | |||
| <h3 style="line-height: 26px">{{item.subjectName}}</h3> | |||
| </van-row> | |||
| <van-row> | |||
| <p v-if="new Date(item.startTime) > new Date()" style="line-height: 26px"> | |||
| 开始时间:{{item.startTime}} | |||
| </p> | |||
| <p v-if="new Date(item.startTime) <= new Date() && new Date(item.endTime) >= new Date()" style="line-height: 26px"> | |||
| 截止时间:{{item.endTime}} | |||
| </p> | |||
| <p v-if="new Date(item.endTime) < new Date()" style="line-height: 26px"> | |||
| 发起人:{{item.promoters}} | |||
| </p> | |||
| </van-row> | |||
| </van-col> | |||
| <van-col span="4"> | |||
| <h3 v-if="new Date(item.startTime) > new Date()" style="line-height: 50px;color: #1D6FE9" >未开始</h3> | |||
| <h3 v-if="new Date(item.endTime) < new Date()" style="line-height: 50px;color: #1D6FE9" @click="go(item.id)">已结束</h3> | |||
| <h3 v-if="new Date(item.startTime) <= new Date() && new Date(item.endTime) >= new Date()" style="line-height: 50px;color: #1D6FE9" @click="go(item.id)">投票中</h3> | |||
| </van-col> | |||
| </van-row> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {getFinancialInAndOut} from "../../api/onlineHome/finacial"; | |||
| import {listPoll} from "../../api/onlineHome/poll"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "homePoll", | |||
| data() { | |||
| return { | |||
| activeName: 'a', | |||
| list: [{},{}], | |||
| loading: false, | |||
| finished: false, | |||
| result:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| // 查询排序 | |||
| //orderByColumn: "id", | |||
| //isAsc: "desc", | |||
| subjectName: null, | |||
| status: 3 | |||
| }, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getList(); | |||
| }, | |||
| methods: { | |||
| go(val){ | |||
| this.$router.push({path:'/onlineHome/homePollDetail',query:{id:val}}); | |||
| }, | |||
| getList(){ | |||
| this.loading = true; | |||
| listPoll(this.queryParams).then(response => { | |||
| this.list = response.rows; | |||
| this.total = response.total; | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>>.van-col::after { | |||
| border-bottom: none; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,235 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="投票" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <!--<template #right> | |||
| <van-image src=""></van-image> | |||
| </template>--> | |||
| </van-nav-bar> | |||
| <van-row style="margin-top: 20px"> | |||
| <van-col span="20" offset="2"> | |||
| <H3 style="line-height: 20px;">{{form.subjectName}}</H3> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row style="margin-top: 10px"> | |||
| <van-col span="20" offset="2"> | |||
| <h4 style="color: #878787;line-height: 20px;">{{form.description}}</h4> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row style="margin-top: 10px"> | |||
| <van-col span="9" offset="2"> | |||
| <van-image | |||
| v-if="form.anonymous!=1" | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p style="display: inline-block;color:#1D6FE9" v-if="form.anonymous!=1">实名</p> | |||
| <van-image | |||
| v-if="form.type==1" | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p v-if="form.type==1" style="display: inline-block;color:#1D6FE9 ">单选</p> | |||
| <van-image | |||
| v-if="form.type==2" | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p v-if="form.type==2" style="display: inline-block;color:#1D6FE9 ">多选</p> | |||
| </van-col> | |||
| <van-col span="8" offset="5"> | |||
| <van-image | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote.png" | |||
| /> | |||
| <p style="display: inline-block">{{this.form.nums}}人已参与</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-checkbox-group v-if="form.type==2" v-model="result" style="margin-top: 20px"> | |||
| <van-cell-group v-for="(item,index) in pollOptions" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell :title="item.name"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="18" | |||
| style="margin-right: 10px" | |||
| src="../../../static/images/onlineHome/home3.png" | |||
| /> | |||
| </template> | |||
| <van-checkbox :name="item.id" style="float: right" :disabled="!isPoll"/> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col span="15" :offset="2" style="margin-top: 7px;"> | |||
| <van-progress v-if="result.indexOf(item.id)==-1" :percentage="voteNum>0?((item.num/voteNum)*100).toFixed(2):0" :show-pivot="false"/> | |||
| <van-progress v-if="result.indexOf(item.id)!=-1" :percentage="(voteNum+result.length)>0?(((item.num+1)/(voteNum+result.length))*100).toFixed(2):0" :show-pivot="false"/> | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result.indexOf(item.id)==-1"> | |||
| {{item.num}}票 {{voteNum>0?((item.num/voteNum)*100).toFixed(2):0}}% | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result.indexOf(item.id)!=-1"> | |||
| {{item.num+1}}票 {{(voteNum+result.length)>0?(((item.num+1)/(voteNum+result.length))*100).toFixed(2):0}}% | |||
| </van-col> | |||
| </van-row> | |||
| </van-cell-group> | |||
| </van-checkbox-group> | |||
| <van-radio-group v-if="form.type==1" v-model="result1" style="margin-top: 20px"> | |||
| <van-cell-group v-for="(item,index) in pollOptions" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell :title="item.name"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="18" | |||
| style="margin-right: 10px" | |||
| src="../../../static/images/onlineHome/home3.png" | |||
| /> | |||
| </template> | |||
| <van-radio :name="item.id" style="float: right" :disabled="!isPoll"/> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col span="15" :offset="2" style="margin-top: 7px;"> | |||
| <van-progress v-if="result1!=item.id" :percentage="voteNum>0?((item.num/voteNum)*100).toFixed(2):0" :show-pivot="false"/> | |||
| <van-progress v-if="result1==item.id&&voteNum>0" :percentage="voteNum>0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0" :show-pivot="false"/> | |||
| <van-progress v-if="result1==item.id&&voteNum==0" :percentage="voteNum==0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0" :show-pivot="false"/> | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result1!=item.id"> | |||
| {{item.num}}票 {{voteNum>0?((item.num/voteNum)*100).toFixed(2):0}}% | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result1==item.id&&voteNum>0"> | |||
| {{item.num+1}}票 {{voteNum>0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0}}% | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result1==item.id&&voteNum==0"> | |||
| {{item.num+1}}票 {{voteNum==0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0}}% | |||
| </van-col> | |||
| </van-row> | |||
| </van-cell-group> | |||
| </van-radio-group> | |||
| <van-row style="text-align: center;margin-top: 40px" v-if="isPoll"> | |||
| <van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="submit">提交</van-button> | |||
| </van-row> | |||
| <van-row style="text-align: center;margin-top: 40px" v-if="!isPoll"> | |||
| <van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="submit" :disabled="true">已投票</van-button> | |||
| </van-row> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {getPoll, listPollVote, votePoll} from "../../api/onlineHome/poll"; | |||
| import {getInfo} from "../../api/login"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "homePollDetail", | |||
| data() { | |||
| return { | |||
| loading: false, | |||
| form:{}, | |||
| pollOptions:[], | |||
| id:this.$route.query.id, | |||
| voteNum:0, | |||
| result:[], | |||
| result1:"", | |||
| isPoll:true, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.form={} | |||
| this.getInfo(this.id); | |||
| listPollVote().then(res => { | |||
| console.log(this.$store) | |||
| getInfo().then(response => { | |||
| console.log(response) | |||
| if(res.rows.length>0){ | |||
| res.rows.map(r => { | |||
| if(r.pollId==this.id){ | |||
| if(r.userId == response.user.userId){ | |||
| this.isPoll = false | |||
| } | |||
| } | |||
| }) | |||
| } | |||
| }); | |||
| }) | |||
| }, | |||
| methods:{ | |||
| reset(){ | |||
| this.pollOptions = [] | |||
| }, | |||
| getInfo(val){ | |||
| this.reset(); | |||
| this.loading = true | |||
| getPoll(val).then(response => { | |||
| response.data.options.map(res => { | |||
| this.voteNum += res.num | |||
| this.pollOptions.push(res) | |||
| }) | |||
| this.form = response.data; | |||
| this.loading = true | |||
| }); | |||
| }, | |||
| submit(){ | |||
| let list = [] | |||
| let _this = this | |||
| if (this.form.type == 1) { | |||
| if (this.result1 != "") { | |||
| list.push(this.result1) | |||
| } else { | |||
| this.$toast({ | |||
| icon: 'error', // 找到自己需要的图标 | |||
| message: '请选择一个选项', | |||
| duration:"1000", | |||
| onClose:function(){ | |||
| return false; | |||
| } | |||
| }) | |||
| } | |||
| } else { | |||
| if (this.result.length > 0) { | |||
| list.push(this.result) | |||
| } else { | |||
| this.$toast({ | |||
| icon: 'error', // 找到自己需要的图标 | |||
| message: '请至少选择一个选项', | |||
| duration:"1000", | |||
| onClose:function(){ | |||
| return false; | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| votePoll(this.id,list).then(response => { | |||
| this.$toast({ | |||
| icon: 'success', // 找到自己需要的图标 | |||
| message: '保存成功', | |||
| duration:"1000", | |||
| onClose:function(){ | |||
| _this.$router.go(-1) | |||
| } | |||
| }) | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>>.van-cell::after { | |||
| border-bottom: none; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,114 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">证书查看</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.zrfdbmc+'-'+item.lzfs" value="查看证书" center :to="{name:'certificateSee', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd7.png" size="30" color="#7790FE" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.zrfdbzjhm}}</p> | |||
| </template> | |||
| </van-cell> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList } from "@/api/onlineHome/homestead/circulation"; | |||
| export default { | |||
| name: "certificateList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| printLicense: "Y" | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("lzfs").then((response) => { | |||
| this.houseApplyStatus = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| var houseApplyStatus = this.selectDictLabel(this.houseApplyStatus, response.rows[i].lzfs); | |||
| response.rows[i].lzfs = houseApplyStatus; | |||
| var auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus); | |||
| response.rows[i].auditStatus = auditStatus; | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,272 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">证书查看</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-tabs swipeable animated sticky color="#1D6FE9" title-active-color="#1D6FE9" > | |||
| <van-tab title="规划许可证"> | |||
| <div class="planningPermit-wrap"> | |||
| <div class="planningPermit-first" style="display: block; overflow: hidden;" id="planningPermitFirst"> | |||
| <div class="permit-main"> | |||
| <div class="details_first_main" style=" width: 96%; padding:40px 20px; margin:0 auto; border:1px solid #000000; height:680px"> | |||
| <div class="details_first_title" style=" font-size: 20px; font-weight: bold; text-align: center; line-height: 30px;">中华人民共和国</div> | |||
| <div class="details_first_title" style=" font-size: 20px; font-weight: bold; text-align: center; line-height: 30px;">乡村建设规划许可证</div> | |||
| <div class="details_first_page" style="text-align: right; font-size: 16px; padding: 10px 0 50px;">乡字第 <i style="text-decoration: underline">{{this.licenseForm.licensePermit.licenseKey}}</i> 号</div> | |||
| <div class="details_first_cont" style=" font-size: 16px; line-height: 32px;">根据《中华人民共和国土地管理法》《中华人民共和国城乡规划法》和国家有关规定,经审核,本建设工程符合国土空间规划和用途管制要求,颁发此证。</div> | |||
| <div class="licence_first_jg" style="padding-top: 100px; font-size: 16px; text-align: right;">填发机关: {{this.licenseForm.licensePermit.issuingAuthority}}</div> | |||
| <div class="licence_first_time" style="font-size: 16px; text-align: right;">填发时间: {{this.licenseForm.licensePermit.issueDate}}</div> | |||
| </div> | |||
| </div> | |||
| <div class="details_page" style="margin-top: 0.4rem;"> | |||
| <div class="details_page_main" style="width: 96%; padding:40px 20px; margin:0 auto; border:1px solid #000000; font-size: 14px; height:680px"> | |||
| <table > | |||
| <tr> | |||
| <td width="30%">建设单位</td> <td >{{this.licenseForm.licensePermit.constructionUnit}}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>建设项目</td> <td>{{this.licenseForm.licensePermit.constructionUnit}}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>建设位置</td> <td>{{this.licenseForm.licensePermit.constructionLocation}}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>建设规模</td> <td>{{ this.licenseForm.licensePermit.constructionScale }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>{{ this.licenseForm.licenseRatification.west }}</td><td>{{ this.licenseForm.licenseRatification.north }}</td> | |||
| </tr> | |||
| </table> | |||
| <ul style="padding:50px 5px 5px;list-style:none; font-size: 12px; line-height:24px;text-align: start"> | |||
| <li style="text-align: start">一、 本证是经自然资源主管部门依法审核,在乡、村庄规划区内有关建设工程符合国土空间规划和用途管制要求的法律凭证。</li> | |||
| <li>二、 依法应当取得本证,但未取得本证或违反本证规定的,均属违法行为。</li> | |||
| <li>三、 未经发证机关审核同意,本证的各项规定不得随意变更。</li> | |||
| <li>四、 自然资源主管部门依法有权查验本证,建设单位(个人)有责任提交查验。</li> | |||
| <li>五、 本证所需附图及附件由发证机关依法确定,与本证具有同等法律效力。</li> | |||
| </ul> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| <div class="planningPermit-two" id="planningPermitTwo"> | |||
| <table style="height:800px"> | |||
| <tr> | |||
| <td style="width:40px">宅<br />基<br />地<br />坐<br />落<br />平<br />面<br />位<br />置<br />图</td> | |||
| <td></td> | |||
| </tr> | |||
| <tr style="height:80px"> | |||
| <td>备注</td> | |||
| <td>图中需载明宅基地的具体位置、长宽、四至,并标明与永久性参照物的具体距离。</td> | |||
| </tr> | |||
| </table> | |||
| <ul style="padding:50px 5px 5px;list-style:none; font-size: 12px; line-height:24px;text-align: start; width:90%; margin:0 auto;"> | |||
| <li>填写说明:</li> | |||
| <li>1.编号规则:编号数字共16位,前6位数字按照《中华人民共和国行政区划代码》(详见民政部网站www.mca.gov.cn)执行;7-9位数字表示街道(地区)办事处、镇、乡(苏木),按GB/T10114的规定执行;10-13位数字代表证书发放年份;14-16位数字代表证书发放序号。</li> | |||
| <li>2.批准书有效期:指按照本省(区、市)宅基地管理有关规定,宅基地申请批准后农户必须开工建设的时间。</li> | |||
| </ul> | |||
| </div> | |||
| </div> | |||
| </van-tab> | |||
| <van-tab title="宅基地批准书"> | |||
| <div class="licenceAround-wrap" style=" display: block; overflow: hidden;" id="licenceAroundWrap"> | |||
| <div class="licence_first_page"> | |||
| <div class="number-title" style="padding: 0 2%; height: 45px; line-height: 45px;"> | |||
| 农宅字 <i style="text-decoration: underline">{{this.licenseForm.licenseRatification.approvalNumber}}</i> 号 | |||
| </div> | |||
| <div class="licence_first_main" style="width: 96%; margin: 0 auto; border:1px solid #000000; padding:70px 20px;"> | |||
| <div class="content" style=" line-height: 36px; padding-top: 10px; text-align: center;"> | |||
| 根据《中华人民共和国土地管理法》规定,本项农村村民宅基地用地 业经有权机关批准,特发此书。 | |||
| 请严格按照本批准书要求使用宅基地。</div> | |||
| <div class="ft_jg" style=" margin-top: 90px; text-align: center; line-height: 32px;">填发机关: {{this.licenseForm.licenseRatification.issuingAuthority}}</div> | |||
| <div class="ft_time" style=" text-align: center; line-height: 32px;">填发时间: {{this.licenseForm.licenseRatification.issueDate}}</div> | |||
| </div> | |||
| </div> | |||
| <div class="licence_two_page"> | |||
| <div class="number-title" style="padding: 0 2%; height: 45px; line-height: 45px;"> | |||
| 农宅字 <i style="text-decoration: underline">{{this.licenseForm.licenseRatification.approvalNumber}}</i> 号 | |||
| </div> | |||
| <div class="licence_two_main"> | |||
| <table> | |||
| <tr> | |||
| <td>申请人姓名</td> <td colspan="2">{{this.licenseForm.licenseRatification.memberName}}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>批准用地面积</td> <td colspan="2">{{this.licenseForm.licenseRatification.landArea}} 平方米</td> | |||
| </tr> | |||
| <tr> | |||
| <td>土地所有权人</td> <td colspan="2">{{this.licenseForm.licenseRatification.landOwner}}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>土地用途</td> <td colspan="2">{{ this.landUseFormat(this.licenseForm.licenseRatification.landUse) }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>土地坐落<br/>(详见附图)</td> <td colspan="2">{{ this.licenseForm.licenseRatification.location }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td rowspan="2">四 至</td> <td>{{ this.licenseForm.licenseRatification.east }}</td><td>{{ this.licenseForm.licenseRatification.south }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>{{ this.licenseForm.licenseRatification.west }}</td><td>{{ this.licenseForm.licenseRatification.north }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>批准书有效期</td><td colspan="2">{{this.licenseForm.licenseRatification.startTime +'至'+this.licenseForm.licenseRatification.endTime }}</td> | |||
| </tr> | |||
| <tr style="height: 100px"> | |||
| <td colspan="3">备注</td> | |||
| </tr> | |||
| </table> | |||
| </div> | |||
| </div> | |||
| <div class="licence_three_page"> | |||
| <div class="number-title" style="padding: 0 2%; height: 45px; line-height: 45px;"> | |||
| 农宅字 <i style="text-decoration: underline">{{this.licenseForm.licenseRatification.approvalNumber}}</i> 号 | |||
| </div> | |||
| <table> | |||
| <tr> | |||
| <td>申请人姓名</td> <td colspan="2">{{this.licenseForm.licenseRatification.memberName}}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>批准用地面积</td> <td colspan="2">{{this.licenseForm.licenseRatification.landArea}} 平方米</td> | |||
| </tr> | |||
| <tr> | |||
| <td>土地所有权人</td> <td colspan="2">{{this.licenseForm.licenseRatification.landOwner}}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>土地用途</td> <td colspan="2">{{ this.landUseFormat(this.licenseForm.licenseRatification.landUse) }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>土地坐落<br/>(详见附图)</td> <td colspan="2">{{ this.licenseForm.licenseRatification.location }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td rowspan="2">四 至</td> <td>{{ this.licenseForm.licenseRatification.east }}</td><td>{{ this.licenseForm.licenseRatification.south }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>{{ this.licenseForm.licenseRatification.west }}</td><td>{{ this.licenseForm.licenseRatification.north }}</td> | |||
| </tr> | |||
| <tr> | |||
| <td>批准书有效期</td><td colspan="2">{{this.licenseForm.licenseRatification.startTime +'至'+this.licenseForm.licenseRatification.endTime }}</td> | |||
| </tr> | |||
| <tr style="height: 100px"> | |||
| <td colspan="3">备注</td> | |||
| </tr> | |||
| </table> | |||
| </div> | |||
| </div> | |||
| </van-tab> | |||
| </van-tabs> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { selectAllLicense } from "@/api/onlineHome/homestead/circulation"; | |||
| export default { | |||
| name: "applicationList", | |||
| data() { | |||
| return { | |||
| landUseOptions:[], | |||
| licenseForm:{ | |||
| "licensePermit": { | |||
| "searchValue": null, | |||
| "createBy": "system", | |||
| "createTime": "2021-06-28 14:41:49", | |||
| "updateBy": "", | |||
| "updateTime": null, | |||
| "params": {}, | |||
| "id": 3, | |||
| "applyProposerId": 27, | |||
| "year": "2021", | |||
| "licenseKey": "5001010062021001", | |||
| "issuingAuthority": "system", | |||
| "issueDate": "2021-06-28", | |||
| "constructionUnit": "李新新", | |||
| "constructionItem": "2", | |||
| "constructionLocation": "1", | |||
| "constructionScale": "建筑层数:1建筑面积:1.00建筑高度:1.00", | |||
| "locationPlan": null | |||
| }, | |||
| "licenseRatification": { | |||
| "searchValue": null, | |||
| "createBy": "", | |||
| "createTime": "2021-06-28 14:41:49", | |||
| "updateBy": "", | |||
| "updateTime": null, | |||
| "params": {}, | |||
| "id": 3, | |||
| "applyProposerId": 27, | |||
| "year": "2021", | |||
| "approvalNumber": "5001010062021001", | |||
| "issuingAuthority": "system", | |||
| "issueDate": "2021-06-28", | |||
| "memberName": "李新新", | |||
| "landArea": 111.00, | |||
| "landOwner": "李新新", | |||
| "landUse": "072", | |||
| "location": "1", | |||
| "east": "11", | |||
| "west": "11", | |||
| "south": "1111", | |||
| "north": "111", | |||
| "startTime": "2021-06-28", | |||
| "endTime": "2022-06-28", | |||
| "remark": null | |||
| }, | |||
| }, | |||
| activeName:"first", | |||
| }; | |||
| }, | |||
| mounted() { | |||
| this.getDicts("land_use").then((resp) => { | |||
| this.landUseOptions = resp.data; | |||
| }); | |||
| selectAllLicense(this.$route.query.id).then((response) => { | |||
| console.log(response.data) | |||
| this.licenseForm = response.data; | |||
| this.updatePermitOpen = true; | |||
| this.updatePermitTitle = "修改许可证"; | |||
| }); | |||
| }, | |||
| methods: { | |||
| landUseFormat(key) { | |||
| return this.selectDictLabel(this.landUseOptions,key); | |||
| }, | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| .app-container { | |||
| padding-bottom: 5%; | |||
| } | |||
| .main-box{ | |||
| padding: 4% 3%; | |||
| background-color: #FFF; | |||
| margin-top: 0.3rem; | |||
| } | |||
| table { | |||
| line-height: 25px; | |||
| text-align: center; | |||
| border-collapse: collapse; | |||
| width:96%; | |||
| border-collapse:collapse; | |||
| text-align:center; | |||
| margin:0 auto; | |||
| } | |||
| td { | |||
| line-height: 36px; | |||
| border: 1px solid #000000; | |||
| border-collapse: collapse; | |||
| padding: 15px 0; | |||
| } | |||
| .planningPermit-two{ | |||
| margin-top: 30px; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,404 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加宅基地使用流转权</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <p class="main_title">转出方信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showZjd = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showZjd" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjd" | |||
| @cancel="showZjd = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="lzfs" | |||
| label="流转方式" | |||
| placeholder="请选择" | |||
| @click="showLzfs = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showLzfs" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="lzfsDictionaries" | |||
| @confirm="onConfirmLzfs" | |||
| @cancel="showLzfs = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| v-model="circulation.shyqrdm" | |||
| label="转出方使用权人代码" | |||
| placeholder="请选择" | |||
| label-width="auto" | |||
| input-align="right" | |||
| /> | |||
| <!-- @click="showShyqrdm = true"--> | |||
| <!-- right-icon="arrow-down"--> | |||
| <!-- <van-popup v-model="showShyqrdm" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- :columns="shyqrdmDictionaries"--> | |||
| <!-- @confirm="onConfirmShyqrdm"--> | |||
| <!-- @cancel="showShyqrdm = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-cell title="是否本集体经济组织成员"> | |||
| <template #right-icon> | |||
| <van-radio-group v-model="circulation.zcfsfbjtjjzzcy" direction="horizontal"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <p class="main_title">流转信息</p> | |||
| <div class="main_box"> | |||
| <van-field label="流转面积(㎡)" v-model="circulation.lzmj" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto"/> | |||
| <van-field label="流转单价(元)" v-model="circulation.lzdj" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/> | |||
| <van-field label="流转费用(元)" v-model="circulation.lzfy" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.lzqsrq" | |||
| label="流转起始时间" | |||
| placeholder="请选择起始时间" | |||
| @click="showlzqsrq = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlzqsrq" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLzqsrq" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.lzjsrq" | |||
| label="流转结束时间" | |||
| placeholder="请选择结束时间" | |||
| @click="showlzjsrq = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlzjsrq" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLzjsrq" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="lzqfwyt" | |||
| label="流转前房屋用途" | |||
| placeholder="请选择流转前房屋用途" | |||
| @click="showLzqfwyt = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showLzqfwyt" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="lzqfwytDictionaries" | |||
| @confirm="onConfirmLzqfwyt" | |||
| @cancel="showLzqfwyt = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="lzhfwyt" | |||
| label="流转后房屋用途" | |||
| placeholder="请选择流转后房屋用途" | |||
| @click="showLzhfwyt = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showLzhfwyt" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="lzhfwytDictionaries" | |||
| @confirm="onConfirmLzhfwyt" | |||
| @cancel="showLzhfwyt = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <p class="main_title">转入方信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| v-model="circulation.zrfdbmc" | |||
| label="转入方代表名称" | |||
| placeholder="请输入转入方代表名称" | |||
| label-width="auto" | |||
| input-align="right" | |||
| /> | |||
| <!-- <van-popup v-model="showZrfdbmc" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- :columns="zrfdbmcDictionaries"--> | |||
| <!-- @confirm="onConfirmZrfdbmc"--> | |||
| <!-- @cancel="showZrfdbmc = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="zrfdbzjlx" | |||
| label="转入方代表证件类型" | |||
| placeholder="请选择" | |||
| @click="showZrfdbzjlx = true" | |||
| label-width="auto" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showZrfdbzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zrfdbzjlxDictionaries" | |||
| @confirm="onConfirmZrfdbzjlx" | |||
| @cancel="showZrfdbzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" placeholder="请输入证件号码" input-align="right" label-width="auto"/> | |||
| <van-cell title="是否本集体经济组织成员"> | |||
| <template #right-icon> | |||
| <van-radio-group v-model="circulation.zrfsfbjtjjzzcy" direction="horizontal"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <p class="main_title">其他</p> | |||
| <div class="main_box"> | |||
| <van-field label="所有权人代表姓名" v-model="circulation.suyqrdbxm" placeholder="请输入姓名" input-align="right" label-width="auto"/> | |||
| <van-field label="所有权人意见" v-model="circulation.suyqryj" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| <van-field label="备注" v-model="circulation.bz" placeholder="请输入备注" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goEdit">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">提<i style="margin-right: 1em;"></i>交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getLz , zjdzd , getByZjddm , edit , goApply,houseAdd } from "@/api/onlineHome/homestead/circulation"; | |||
| export default { | |||
| name: "circulationAdd", | |||
| data() { | |||
| return { | |||
| lzfsDictionaries: [],//流转方式 | |||
| shyqrdmDictionaries: [],//转出方使用权人代码 | |||
| lzqfwytDictionaries: [],//流转前房屋类型 | |||
| lzhfwytDictionaries: [],//流转后房屋类型 | |||
| zrfdbmcDictionaries: [],//转入方代表名称 | |||
| zrfdbzjlxDictionaries: [],//转入方证件类型 | |||
| zjdDictionaries: [],//宅基地列表 | |||
| lzfs: '',//流转方式 | |||
| shyqrdm: '',//转出方使用权人代码 | |||
| lzqfwyt: '',//流转前房屋类型 | |||
| lzhfwyt: '',//流转后房屋类型 | |||
| zrfdbmc: '',//转入方代表名称 | |||
| zrfdbzjlx: '',//转入方证件类型 | |||
| zjd: [],//宅基地列表 | |||
| showLzfs: false, | |||
| showShyqrdm: false, | |||
| showLzqfwyt: false, | |||
| showLzhfwyt: false, | |||
| showZrfdbmc: false, | |||
| showZrfdbzjlx: false, | |||
| showZjd:false, | |||
| showlzqsrq:false, | |||
| showlzjsrq:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| circulation: {} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| //流转方式 | |||
| this.houseGetDicts("lzfs").then((res) => { | |||
| for( let i = 0 ; i < res.data.length ; i++){ | |||
| this.lzfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}) | |||
| } | |||
| }); | |||
| //转入方证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| for( let i = 0 ; i < res.data.length ; i++){ | |||
| this.zrfdbzjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}) | |||
| } | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for( let i = 0 ; i < zjdRes.rows.length ; i++){ | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| //流转前房屋用途 | |||
| this.houseGetDicts("fwyt").then((res) => {//流转前房屋用途 | |||
| console.log(res) | |||
| for( let i = 0 ; i < res.data.length ; i++){ | |||
| this.lzqfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}) | |||
| } | |||
| }); | |||
| //流转后房屋用途 | |||
| this.houseGetDicts("fwyt").then((res) => {//流转后房屋用途 | |||
| for( let i = 0 ; i < res.data.length ; i++){ | |||
| this.lzhfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}) | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmLzfs(value) { | |||
| this.lzfs = value.text; | |||
| this.circulation.lzfs = value.value; | |||
| this.showLzfs = false; | |||
| }, //流转方式 | |||
| onConfirmZjd(value) { | |||
| this.circulation.zjddm = value; | |||
| var form = {}; | |||
| form.zjddm = value; | |||
| getByZjddm(form).then(qlrRes => { | |||
| console.log(qlrRes.data.shyqrdm) | |||
| this.circulation.shyqrdm = qlrRes.data.shyqrdm; | |||
| this.$forceUpdate(); | |||
| }); | |||
| this.showZjd = false; | |||
| }, //宅基地列表 | |||
| onConfirmShyqrdm(value) { | |||
| this.showShyqrdm = false; | |||
| }, //转出方使用权人代码 | |||
| onConfirmLzqfwyt(value) { | |||
| this.lzqfwyt = value.text; | |||
| this.circulation.lzqfwyt = value.value; | |||
| this.showLzqfwyt = false; | |||
| }, //流转前房屋用途 | |||
| onConfirmLzhfwyt(value) { | |||
| this.lzhfwyt = value.text; | |||
| this.circulation.lzhfwyt = value.value; | |||
| this.showLzhfwyt = false; | |||
| }, //流转后房屋用途 | |||
| onConfirmZrfdbmc(value) { | |||
| this.value = value; | |||
| this.showZrfdbmc = false; | |||
| }, //转入方代表名称 | |||
| onConfirmZrfdbzjlx(value) { | |||
| this.zrfdbzjlx = value.text; | |||
| this.circulation.zrfdbzjlx = value.value; | |||
| this.showZrfdbzjlx = false; | |||
| }, //转入方代表证件类型 | |||
| onConfirmLzqsrq(value) { | |||
| this.circulation.lzqsrq = this.getNowFormatDate(value).substr(0,10); | |||
| this.showlzqsrq = false; | |||
| }, //流转起始时间 | |||
| onConfirmLzjsrq(value) { | |||
| this.circulation.lzjsrq = this.getNowFormatDate(value).substr(0,10); | |||
| this.showlzjsrq = false; | |||
| }, //流转结束时间 | |||
| goEdit(){ | |||
| console.log(this.circulation) | |||
| houseAdd(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| }, | |||
| goSubmit(){ | |||
| goApply(this.$route.query.id).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| window.location.replace("circulationList") | |||
| },1000) | |||
| } | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| } | |||
| .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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,174 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">查看宅基地使用流转权</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <p class="main_title">转出方信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| input-align="right" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.lzfs" | |||
| label="流转方式" | |||
| input-align="right" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.shyqrdm" | |||
| label="转出方使用权人代码" | |||
| label-width="auto" | |||
| input-align="right" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.zcfsfbjtjjzzcy == 'Y' ? '是' : '否'" | |||
| label="是否本集体经济组织成员" | |||
| label-width="auto" | |||
| input-align="right" | |||
| /> | |||
| </div> | |||
| <p class="main_title">流转信息</p> | |||
| <div class="main_box"> | |||
| <van-field label="流转面积(㎡)" readonly v-model="circulation.lzmj" input-align="right" label-width="auto"/> | |||
| <van-field label="流转单价(元)" readonly v-model="circulation.lzdj" input-align="right" label-width="auto"/> | |||
| <van-field label="流转费用(元)" readonly v-model="circulation.lzfy" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| label="流转起始时间" | |||
| input-align="right" | |||
| v-model="circulation.lzqsrq" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="流转结束时间" | |||
| input-align="right" | |||
| v-model="circulation.lzjsrq" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="流转前房屋用途" | |||
| input-align="right" | |||
| label-width="auto" | |||
| v-model="circulation.lzqfwyt" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="流转后房屋用途" | |||
| input-align="right" | |||
| label-width="auto" | |||
| v-model="circulation.lzhfwyt" | |||
| /> | |||
| </div> | |||
| <p class="main_title">转入方信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| label="转入方代表名称" | |||
| label-width="auto" | |||
| input-align="right" | |||
| v-model="circulation.zrfdbmc" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| label="转入方代表证件类型" | |||
| label-width="auto" | |||
| input-align="right" | |||
| v-model="circulation.zrfdbzjlx" | |||
| /> | |||
| <van-field readonly label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="是否本集体经济组织成员" v-model="circulation.zrfsfbjtjjzzcy == 'Y' ? '是' : '否'" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">其他</p> | |||
| <div class="main_box"> | |||
| <van-field readonly label="所有权人代表姓名" v-model="circulation.suyqrdbxm" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="所有权人意见" v-model="circulation.suyqryj" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="备注" v-model="circulation.bz" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getLz } from "@/api/onlineHome/homestead/circulation"; | |||
| export default { | |||
| name: "circulationDetail", | |||
| data() { | |||
| return { | |||
| value: '', | |||
| circulation:[], | |||
| houseApplyStatus:[], | |||
| circulation:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getLz(this.$route.query.id).then(response => { | |||
| this.circulation = response.data; | |||
| //流转方式 | |||
| this.houseGetDicts("lzfs").then((res) => { | |||
| this.circulation.lzfs = this.selectDictLabel(res.data, response.data.lzfs); | |||
| }); | |||
| //转入方证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| this.circulation.zrfdbzjlx = this.selectDictLabel(res.data, response.data.zrfdbzjlx); | |||
| }); | |||
| //流转前房屋用途 | |||
| this.houseGetDicts("fwyt").then((res) => {//流转前房屋用途 | |||
| this.circulation.lzqfwyt = this.selectDictLabel(res.data, response.data.lzqfwyt); | |||
| this.circulation.lzhfwyt = this.selectDictLabel(res.data, response.data.lzhfwyt); | |||
| }); | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding-bottom: 5%; | |||
| } | |||
| .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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,156 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">使用权流转</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18" /> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.shyqrdm" :value="item.auditStatus" center :to="{name:'circulationDetail', query: {id:item.id}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd2.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><b style="color: #FFA63E;">{{item.lzfs}}</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">{{item.zrfdbmc}}</b><i style="margin-right: 0.5rem;"></i>{{item.lzmj}}㎡</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="修改" type="info" v-if="item.auditStatus=='草稿'" class="delete-button" :to="{name:'circulationModify', query: {id:item.id}}" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" type="danger" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList , removeList } from "@/api/onlineHome/homestead/circulation"; | |||
| export default { | |||
| name: "circulationList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc' | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("lzfs").then((response) => { | |||
| this.houseApplyStatus = response.data; | |||
| }); | |||
| this.houseGetDicts("audit_status").then((response) => { | |||
| this.auditStatus = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'circulationAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| var houseApplyStatus = this.selectDictLabel(this.houseApplyStatus, response.rows[i].lzfs); | |||
| response.rows[i].lzfs = houseApplyStatus; | |||
| var auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus); | |||
| response.rows[i].auditStatus = auditStatus; | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除申请草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| removeList(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,407 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加宅基地使用流转权</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <p class="main_title">转出方信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showZjd = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showZjd" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjd" | |||
| @cancel="showZjd = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="lzfs" | |||
| label="流转方式" | |||
| placeholder="请选择" | |||
| @click="showLzfs = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showLzfs" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="lzfsDictionaries" | |||
| @confirm="onConfirmLzfs" | |||
| @cancel="showLzfs = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| v-model="circulation.shyqrdm" | |||
| label="转出方使用权人代码" | |||
| placeholder="请选择" | |||
| label-width="auto" | |||
| input-align="right" | |||
| /> | |||
| <!-- @click="showShyqrdm = true"--> | |||
| <!-- right-icon="arrow-down"--> | |||
| <!-- <van-popup v-model="showShyqrdm" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- :columns="shyqrdmDictionaries"--> | |||
| <!-- @confirm="onConfirmShyqrdm"--> | |||
| <!-- @cancel="showShyqrdm = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-cell title="是否本集体经济组织成员"> | |||
| <template #right-icon> | |||
| <van-radio-group v-model="circulation.zcfsfbjtjjzzcy" direction="horizontal"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <p class="main_title">流转信息</p> | |||
| <div class="main_box"> | |||
| <van-field label="流转面积(㎡)" v-model="circulation.lzmj" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto"/> | |||
| <van-field label="流转单价(元)" v-model="circulation.lzdj" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/> | |||
| <van-field label="流转费用(元)" v-model="circulation.lzfy" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.lzqsrq" | |||
| label="流转起始时间" | |||
| placeholder="请选择起始时间" | |||
| @click="showlzqsrq = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlzqsrq" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLzqsrq" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.lzjsrq" | |||
| label="流转结束时间" | |||
| placeholder="请选择结束时间" | |||
| @click="showlzjsrq = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlzjsrq" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLzjsrq" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="lzqfwyt" | |||
| label="流转前房屋用途" | |||
| placeholder="请选择流转前房屋用途" | |||
| @click="showLzqfwyt = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showLzqfwyt" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="lzqfwytDictionaries" | |||
| @confirm="onConfirmLzqfwyt" | |||
| @cancel="showLzqfwyt = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="lzhfwyt" | |||
| label="流转后房屋用途" | |||
| placeholder="请选择流转后房屋用途" | |||
| @click="showLzhfwyt = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showLzhfwyt" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="lzhfwytDictionaries" | |||
| @confirm="onConfirmLzhfwyt" | |||
| @cancel="showLzhfwyt = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <p class="main_title">转入方信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| v-model="circulation.zrfdbmc" | |||
| label="转入方代表名称" | |||
| placeholder="请输入转入方代表名称" | |||
| label-width="auto" | |||
| input-align="right" | |||
| /> | |||
| <!-- <van-popup v-model="showZrfdbmc" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- :columns="zrfdbmcDictionaries"--> | |||
| <!-- @confirm="onConfirmZrfdbmc"--> | |||
| <!-- @cancel="showZrfdbmc = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="zrfdbzjlx" | |||
| label="转入方代表证件类型" | |||
| placeholder="请选择" | |||
| @click="showZrfdbzjlx = true" | |||
| label-width="auto" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showZrfdbzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zrfdbzjlxDictionaries" | |||
| @confirm="onConfirmZrfdbzjlx" | |||
| @cancel="showZrfdbzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" placeholder="请输入证件号码" input-align="right" label-width="auto"/> | |||
| <van-cell title="是否本集体经济组织成员"> | |||
| <template #right-icon> | |||
| <van-radio-group v-model="circulation.zrfsfbjtjjzzcy" direction="horizontal"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| <p class="main_title">其他</p> | |||
| <div class="main_box"> | |||
| <van-field label="所有权人代表姓名" v-model="circulation.suyqrdbxm" placeholder="请输入姓名" input-align="right" label-width="auto"/> | |||
| <van-field label="所有权人意见" v-model="circulation.suyqryj" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| <van-field label="备注" v-model="circulation.bz" placeholder="请输入备注" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goEdit">保<i style="margin-right: 1em;"></i>存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">提<i style="margin-right: 1em;"></i>交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getLz , zjdzd , getByZjddm , edit , goApply } from "@/api/onlineHome/homestead/circulation"; | |||
| export default { | |||
| name: "circulationModify", | |||
| data() { | |||
| return { | |||
| lzfsDictionaries: [],//流转方式 | |||
| shyqrdmDictionaries: [],//转出方使用权人代码 | |||
| lzqfwytDictionaries: [],//流转前房屋类型 | |||
| lzhfwytDictionaries: [],//流转后房屋类型 | |||
| zrfdbmcDictionaries: [],//转入方代表名称 | |||
| zrfdbzjlxDictionaries: [],//转入方证件类型 | |||
| zjdDictionaries: [],//宅基地列表 | |||
| lzfs: '',//流转方式 | |||
| shyqrdm: '',//转出方使用权人代码 | |||
| lzqfwyt: '',//流转前房屋类型 | |||
| lzhfwyt: '',//流转后房屋类型 | |||
| zrfdbmc: '',//转入方代表名称 | |||
| zrfdbzjlx: '',//转入方证件类型 | |||
| zjd: [],//宅基地列表 | |||
| showLzfs: false, | |||
| showShyqrdm: false, | |||
| showLzqfwyt: false, | |||
| showLzhfwyt: false, | |||
| showZrfdbmc: false, | |||
| showZrfdbzjlx: false, | |||
| showZjd:false, | |||
| showlzqsrq:false, | |||
| showlzjsrq:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| circulation:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getLz(this.$route.query.id).then(response => { | |||
| console.log(response) | |||
| //流转方式 | |||
| this.houseGetDicts("lzfs").then((res) => { | |||
| for( let i = 0 ; i < res.data.length ; i++){ | |||
| this.lzfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}) | |||
| } | |||
| this.lzfs = this.selectDictLabel(res.data, response.data.lzfs); | |||
| }); | |||
| //转入方证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| for( let i = 0 ; i < res.data.length ; i++){ | |||
| this.zrfdbzjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}) | |||
| } | |||
| this.zrfdbzjlx = this.selectDictLabel(res.data, response.data.zrfdbzjlx); | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for( let i = 0 ; i < zjdRes.rows.length ; i++){ | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| var form = {}; | |||
| form.zjddm = zjdRes.rows[0].zjddm; | |||
| // getByZjddm(form).then(qlrRes => { | |||
| // this.circulation.shyqrdm = qlrRes.data.shyqrdm; | |||
| // }); | |||
| }); | |||
| //流转前房屋用途 | |||
| this.houseGetDicts("fwyt").then((res) => {//流转前房屋用途 | |||
| console.log(res) | |||
| for( let i = 0 ; i < res.data.length ; i++){ | |||
| this.lzqfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}) | |||
| } | |||
| this.lzqfwyt = this.selectDictLabel(res.data, response.data.lzqfwyt); | |||
| }); | |||
| //流转后房屋用途 | |||
| this.houseGetDicts("fwyt").then((res) => {//流转后房屋用途 | |||
| for( let i = 0 ; i < res.data.length ; i++){ | |||
| this.lzhfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}) | |||
| } | |||
| this.lzhfwyt = this.selectDictLabel(res.data, response.data.lzhfwyt); | |||
| }); | |||
| this.circulation = response.data; | |||
| }); | |||
| }, | |||
| onConfirmLzfs(value) { | |||
| this.lzfs = value.text; | |||
| this.circulation.lzfs = value.value; | |||
| this.showLzfs = false; | |||
| }, //流转方式 | |||
| onConfirmZjd(value) { | |||
| this.showZjd = false; | |||
| }, //宅基地列表 | |||
| onConfirmShyqrdm(value) { | |||
| this.showShyqrdm = false; | |||
| }, //转出方使用权人代码 | |||
| onConfirmLzqfwyt(value) { | |||
| this.lzqfwyt = value.text; | |||
| this.circulation.lzqfwyt = value.value; | |||
| this.showLzqfwyt = false; | |||
| }, //流转前房屋用途 | |||
| onConfirmLzhfwyt(value) { | |||
| this.lzhfwyt = value.text; | |||
| this.circulation.lzhfwyt = value.value; | |||
| this.showLzhfwyt = false; | |||
| }, //流转后房屋用途 | |||
| onConfirmZrfdbmc(value) { | |||
| this.value = value; | |||
| this.showZrfdbmc = false; | |||
| }, //转入方代表名称 | |||
| onConfirmZrfdbzjlx(value) { | |||
| this.zrfdbzjlx = value.text; | |||
| this.circulation.zrfdbzjlx = value.value; | |||
| this.showZrfdbzjlx = false; | |||
| }, //转入方代表证件类型 | |||
| onConfirmLzqsrq(value) { | |||
| this.circulation.lzqsrq = this.getNowFormatDate(value).substr(0,10); | |||
| this.showlzqsrq = false; | |||
| }, //流转起始时间 | |||
| onConfirmLzjsrq(value) { | |||
| this.circulation.lzjsrq = this.getNowFormatDate(value).substr(0,10); | |||
| this.showlzjsrq = false; | |||
| }, //流转结束时间 | |||
| goEdit(){ | |||
| edit(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| }, | |||
| goSubmit(){ | |||
| goApply(this.$route.query.id).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| window.location.replace("circulationList") | |||
| },1000) | |||
| } | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| } | |||
| .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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,101 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="农村宅基地申请表" | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| /> | |||
| <div class="main_box"> | |||
| <van-row> | |||
| <van-col span="8"><p class="tit">01 申请</p></van-col> | |||
| <van-col span="8"><p class="tit">02 开工</p></van-col> | |||
| <van-col span="8"><p class="tit">03 验收</p></van-col> | |||
| </van-row> | |||
| <van-row> | |||
| <van-col span="8"> | |||
| <van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.proposerActiveIndex"> | |||
| <van-step v-for="(item,index) in applicationDetail.applyStepList" :key="index">{{item}}</van-step> | |||
| </van-steps> | |||
| </van-col> | |||
| <van-col span="8"> | |||
| <van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.startActiveIndex"> | |||
| <van-step v-for="(item,index) in applicationDetail.startStepList" :key="index">{{item}}</van-step> | |||
| </van-steps> | |||
| </van-col> | |||
| <van-col span="8"> | |||
| <van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.endActiveIndex"> | |||
| <van-step v-for="(item,index) in applicationDetail.endStepList" :key="index">{{item}}</van-step> | |||
| </van-steps> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { allInformation } from "@/api/onlineHome/homestead/application"; | |||
| export default { | |||
| name: "flowChart", | |||
| data() { | |||
| return { | |||
| applicationDetail:[], | |||
| id:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| //获取数据集合 | |||
| getDetail(){ | |||
| allInformation(this.id).then(response => { | |||
| console.log(response) | |||
| this.applicationDetail = response.data; | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| } | |||
| .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; | |||
| margin-top: 2%; | |||
| padding: 5% 1%; | |||
| } | |||
| .van-col{ | |||
| text-align: center; | |||
| } | |||
| .tit{ | |||
| background: #1d6fe9; | |||
| border-radius: 12px; | |||
| font-size: 0.4rem; | |||
| font-family: Source Han Sans CN, Source Han Sans CN-Regular; | |||
| font-weight: 400; | |||
| color: #ffffff; | |||
| line-height: 0.65rem; | |||
| letter-spacing: 0px; | |||
| width: 70%; | |||
| margin: 0 auto; | |||
| } | |||
| .van-step--vertical{ | |||
| padding-right: 0; | |||
| text-align: left; | |||
| } | |||
| .van-step--vertical:not(:last-child)::after{ | |||
| border: none; | |||
| } | |||
| .van-step--finish{ | |||
| color: #1d6fe9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,152 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd()" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">宅基地申请</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.ywh" :value="item.houseApplyStatus" center :to="{name:'applicationForm', query: {id:item.id,type:'modify'}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.projectName}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="修改" type="info" v-if="item.houseApplyStatus=='申请草稿'" :to="{name:'applicationForm', query: {id:item.id}}" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" type="danger" v-if="item.houseApplyStatus=='申请草稿'" @click="deleteList(item.id,index)" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList , removeList } from "@/api/onlineHome/homestead/application"; | |||
| export default { | |||
| name: "applicationList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc' | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("house_apply_status").then((response) => { | |||
| console.log(response) | |||
| this.houseApplyStatus = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'applicationAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| var houseApplyStatus = this.selectDictLabel(this.houseApplyStatus, response.rows[i].houseApplyStatus); | |||
| response.rows[i].houseApplyStatus = houseApplyStatus; | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.applicationList.length >= response.total) | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除申请草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| removeList(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,149 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">宅基地利用情况</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18" /> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.zjddm" center :to="{name:'homesteadUtilizeDetail', query: {id:item.id}}" > | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd6.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><b style="color: #7DDA4F;">{{item.zjdlyzk}}</b><i style="margin-right: 0.5rem;"></i>{{item.zjdxzyy}}<span style="float: right">{{item.dcsj}}</span></p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="修改" :to="{name:'homesteadUtilizeModify', query: {id:item.id}}" type="info" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList , zjdlyRemove } from "@/api/onlineHome/homestead/homesteadUtilize"; | |||
| export default { | |||
| name: "homesteadUtilize", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| zjdlyzkStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc' | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("zjdlyzk").then((res) => { | |||
| console.log(res) | |||
| this.zjdlyzkStatus = res.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'homesteadUtilizeAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].zjdlyzk = this.selectDictLabel(this.zjdlyzkStatus, response.rows[i].zjdlyzk) | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除申请草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| zjdlyRemove(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 1; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,201 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">宅基地利用情况</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showzjddm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showzjddm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjddm" | |||
| @cancel="showzjddm = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="zjdlyzk" | |||
| label="宅基地利用情况" | |||
| placeholder="请选择" | |||
| @click="showzjdlyzk = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showzjdlyzk" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdlyzkDictionaries" | |||
| @confirm="onConfirmZjdlyzk" | |||
| @cancel="showzjdlyzk = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.zjdxzyy" label="宅基地闲置原因" placeholder="闲置原因" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjdxzqssj" | |||
| label="宅基地闲置开始时间" | |||
| placeholder="宅基地闲置开始时间" | |||
| @click="showzjdxzqssj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showzjdxzqssj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmZjdxzqssj" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.dcsj" | |||
| label="调查时间" | |||
| placeholder="调查时间" | |||
| @click="showdcsj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showdcsj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmDcsj" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.bz" label="备注" type="textarea" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton">关闭</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| import { zjdlyAdd } from "@/api/onlineHome/homestead/homesteadUtilize"; | |||
| export default { | |||
| name: "homesteadUtilizeAdd", | |||
| data() { | |||
| return { | |||
| zjdlyzk:'',//宅基地利用状况 | |||
| zjdlyzkDictionaries:[],//宅基地利用状况 字典 | |||
| circulation:{}, | |||
| zjdDictionaries:[], | |||
| zjdlyzkDictionaries: [],//宅基地利用状况 字典 zjdlyzk | |||
| showzjddm : false , | |||
| showzjdlyzk : false , | |||
| showzjdxzqssj : false , | |||
| showdcsj : false , | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("zjdlyzk").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.zjdlyzkDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for( let i = 0 ; i < zjdRes.rows.length ; i++){ | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| }, | |||
| methods: { | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmZjdlyzk(data){ | |||
| this.zjdlyzk = data.text; | |||
| this.circulation.zjdlyzk = data.value; | |||
| this.showzjdlyzk = false; | |||
| }, | |||
| onConfirmZjdxzqssj(data){ | |||
| this.circulation.zjdxzqssj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showzjdxzqssj = false; | |||
| }, | |||
| onConfirmDcsj(data){ | |||
| this.circulation.dcsj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showdcsj = false; | |||
| }, | |||
| goSubmit(){ | |||
| console.log(this.circulation); | |||
| zjdlyAdd(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,98 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">宅基地利用情况</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| input-align="right" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.zjdlyzk" | |||
| label="宅基地利用情况" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field label="宅基地闲置原因" v-model="circulation.zjdxzyy" readonly input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.zjdxzqssj" | |||
| label="宅基地闲置起始时间" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.dcsj" | |||
| label="调查时间" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field label="备注" v-model="circulation.bz" readonly type="textarea" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getZjdly } from "@/api/onlineHome/homestead/homesteadUtilize"; | |||
| export default { | |||
| name: "homesteadUtilizeDetail", | |||
| data() { | |||
| return { | |||
| circulation:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getZjdly(this.$route.query.id).then(response => { | |||
| console.log(response) | |||
| //退出权利类型 | |||
| this.houseGetDicts("zjdlyzk").then((res) => { | |||
| this.circulation.zjdlyzk = this.selectDictLabel(res.data, response.data.zjdlyzk); | |||
| }); | |||
| this.circulation = response.data; | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,210 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">宅基地利用情况</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showzjddm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showzjddm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjddm" | |||
| @cancel="showzjddm = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="zjdlyzk" | |||
| label="宅基地利用情况" | |||
| placeholder="请选择" | |||
| @click="showzjdlyzk = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showzjdlyzk" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdlyzkDictionaries" | |||
| @confirm="onConfirmZjdlyzk" | |||
| @cancel="showzjdlyzk = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.zjdxzyy" label="宅基地闲置原因" placeholder="闲置原因" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjdxzqssj" | |||
| label="宅基地闲置开始时间" | |||
| placeholder="宅基地闲置开始时间" | |||
| @click="showzjdxzqssj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showzjdxzqssj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmZjdxzqssj" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.dcsj" | |||
| label="调查时间" | |||
| placeholder="调查时间" | |||
| @click="showdcsj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showdcsj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmDcsj" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.bz" label="备注" type="textarea" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton">关闭</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| import { zjdlyEdit , getZjdly } from "@/api/onlineHome/homestead/homesteadUtilize"; | |||
| export default { | |||
| name: "homesteadUtilizeModify", | |||
| data() { | |||
| return { | |||
| zjdlyzk:'',//宅基地利用状况 | |||
| zjdlyzkDictionaries:[],//宅基地利用状况 字典 | |||
| circulation:{}, | |||
| zjdDictionaries:[], | |||
| zjdlyzkDictionaries: [],//宅基地利用状况 字典 zjdlyzk | |||
| showzjddm : false , | |||
| showzjdlyzk : false , | |||
| showzjdxzqssj : false , | |||
| showdcsj : false , | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getZjdly(this.$route.query.id).then(response => { | |||
| console.log(response) | |||
| this.houseGetDicts("zjdlyzk").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.zjdlyzkDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.zjdlyzk = this.selectDictLabel(res.data, response.data.zjdlyzk); | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for( let i = 0 ; i < zjdRes.rows.length ; i++){ | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| this.circulation = response.data; | |||
| }); | |||
| }, | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmZjdlyzk(data){ | |||
| this.zjdlyzk = data.text; | |||
| this.circulation.zjdlyzk = data.value; | |||
| this.showzjdlyzk = false; | |||
| }, | |||
| onConfirmZjdxzqssj(data){ | |||
| this.circulation.zjdxzqssj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showzjdxzqssj = false; | |||
| }, | |||
| onConfirmDcsj(data){ | |||
| this.circulation.dcsj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showdcsj = false; | |||
| }, | |||
| goSubmit(){ | |||
| console.log(this.circulation); | |||
| zjdlyEdit(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,299 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">使用抵押权</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showzjddm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showzjddm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjddm" | |||
| @cancel="showzjddm = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.bdcdyh" label="不动产单元号" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.bdcqzh" label="不动产权证号" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.bdcdydjywh" label="不动产抵押登记业务号" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.zjjzwzl" label="在建建筑物坐落" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.zjjzwdyfw" label="在建建筑物抵押范围" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="qszt" | |||
| label="权属状态" | |||
| placeholder="请选择权属状态" | |||
| @click="showqszt = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showqszt" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="qsztDictionaries" | |||
| @confirm="onConfirmQszt" | |||
| @cancel="showqszt = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="dybdclx" | |||
| label="抵押不动产类型" | |||
| placeholder="请选择类型" | |||
| @click="showdybdclx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showdybdclx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="dybdclxDictionaries" | |||
| @confirm="onConfirmDybdclx" | |||
| @cancel="showdybdclx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.dyr" label="抵押人" placeholder="请输入抵押人" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="dyfs" | |||
| label="抵押方式" | |||
| placeholder="请选择抵押方式" | |||
| @click="showdyfs = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showdyfs" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="dyfsDictionaries" | |||
| @confirm="onConfirmDyfs" | |||
| @cancel="showdyfs = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="djlx" | |||
| label="登记类型" | |||
| placeholder="请选择登记类型" | |||
| @click="showdjlx = true" | |||
| label-width="auto" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showdjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="djlxDictionaries" | |||
| @confirm="onConfirmDjlx" | |||
| @cancel="showdjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.djyy" label="登记原因" placeholder="请输入登记原因" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.djjg" label="登记机构" placeholder="请输入登记机构" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.dbr" label="登薄人" placeholder="请输入登薄人" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="circulation.djsj" | |||
| label="登记时间" | |||
| placeholder="选择登记时间" | |||
| @click="showdjsj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showdjsj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmDjsj" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field label="附记" v-model="circulation.fj" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| <van-field label="备注" v-model="circulation.bz" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton">关闭</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { dyAdd } from "@/api/onlineHome/homestead/mortgage"; | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| export default { | |||
| name: "mortgageAdd", | |||
| data() { | |||
| return { | |||
| value: '', | |||
| showdjsj: false, | |||
| showdybdclx: false, | |||
| showdyfs: false, | |||
| showdjlx: false, | |||
| showqszt: false, | |||
| showzjddm: false, | |||
| dybdclx: '', | |||
| dyfs: '', | |||
| djlx: '', | |||
| qszt: '', | |||
| zjddm: '', | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| circulation:{}, | |||
| dybdclxDictionaries:[],//抵押不动产类型 | |||
| dyfsDictionaries:[],//抵押方式 | |||
| djlxDictionaries:[],//登记类型 | |||
| qsztDictionaries:[],//权属状态 | |||
| zjdDictionaries: [],//宅基地列表 | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| //抵押不动产类型 | |||
| this.houseGetDicts("dybdclx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.dybdclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //抵押方式 | |||
| this.houseGetDicts("dyfs").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.dyfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //登记类型 | |||
| this.houseGetDicts("djlx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.djlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //权属状态 | |||
| this.houseGetDicts("qszt").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.qsztDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for( let i = 0 ; i < zjdRes.rows.length ; i++){ | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmQszt(data){ | |||
| this.qszt = data.text; | |||
| this.circulation.qszt = data.value; | |||
| this.showqszt = false; | |||
| }, | |||
| onConfirmDybdclx(data){ | |||
| this.dybdclx = data.text; | |||
| this.circulation.dybdclx = data.value; | |||
| this.showdybdclx = false; | |||
| }, | |||
| onConfirmDyfs(data){ | |||
| this.dyfs = data.text; | |||
| this.circulation.dyfs = data.value; | |||
| this.showdyfs = false; | |||
| }, | |||
| onConfirmDjlx(data){ | |||
| this.djlx = data.text; | |||
| this.circulation.djlx = data.value; | |||
| this.showdjlx = false; | |||
| }, | |||
| onConfirmDjsj(data){ | |||
| this.circulation.djsj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showdjsj = false; | |||
| }, | |||
| goSubmit(){ | |||
| dyAdd(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| } | |||
| .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; | |||
| margin-top:2%; | |||
| } | |||
| .submitButton{ | |||
| width: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,143 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">使用抵押权</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| input-align="right" | |||
| /> | |||
| <van-field readonly label="不动产单元号" v-model="circulation.bdcdyh" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="不动产权证号" v-model="circulation.bdcqzh" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="不动产抵押登记业务号" v-model="circulation.bdcdydjywh" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="在建建筑物坐落" v-model="circulation.zjjzwzl" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="在建建筑物抵押范围" v-model="circulation.zjjzwdyfw" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.qszt" | |||
| label="权属状态" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.dybdclx" | |||
| label="抵押不动产类型" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field readonly label="抵押人" v-model="circulation.dyr" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.dyfs" | |||
| label="抵押方式" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.djlx" | |||
| label="登记类型" | |||
| label-width="auto" | |||
| input-align="right" | |||
| /> | |||
| <van-field readonly label="登记原因" v-model="circulation.djyy" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="登记机构" v-model="circulation.djjg" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="登薄人" v-model="circulation.dbr" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.djsj" | |||
| label="登记时间" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field readonly label="附记" v-model="circulation.fj" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="备注" v-model="circulation.bz" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getDy } from "@/api/onlineHome/homestead/mortgage"; | |||
| export default { | |||
| name: "mortgageDetail", | |||
| data() { | |||
| return { | |||
| circulation:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getDy(this.$route.query.id).then(response => { | |||
| console.log(response) | |||
| this.circulation = response.data; | |||
| //抵押不动产类型 | |||
| this.houseGetDicts("dybdclx").then((res) => { | |||
| this.circulation.dybdclx = this.selectDictLabel(res.data, response.data.dybdclx); | |||
| }); | |||
| //抵押方式 | |||
| this.houseGetDicts("dyfs").then((res) => { | |||
| this.circulation.dyfs = this.selectDictLabel(res.data, response.data.dyfs); | |||
| }); | |||
| //登记类型 | |||
| this.houseGetDicts("djlx").then((res) => { | |||
| this.circulation.djlx = this.selectDictLabel(res.data, response.data.djlx); | |||
| }); | |||
| //权属状态 | |||
| this.houseGetDicts("qszt").then((res) => { | |||
| this.circulation.qszt = this.selectDictLabel(res.data, response.data.qszt); | |||
| }); | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding-bottom: 5%; | |||
| } | |||
| .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; | |||
| margin-top:2%; | |||
| } | |||
| .submitButton{ | |||
| width: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,159 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">使用权抵押</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18" /> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.zjddm" :value="item.auditStatus" center :to="{name:'mortgageDetail', query: {id:item.id}}" > | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd4.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><b style="color: #3AC2DB;">{{item.dyfs}}</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">{{item.dyr}}</b><i style="margin-right: 0.5rem;"></i>{{item.dybdclx}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'mortgageModify', query: {id:item.id}}" type="info" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList , removeList } from "@/api/onlineHome/homestead/mortgage"; | |||
| export default { | |||
| name: "mortgageList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| dybdclxStatus:[], | |||
| auditStatus:[], | |||
| dyfsStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc' | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("dybdclx").then((res) => { | |||
| this.dybdclxStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("dyfs").then((res) => { | |||
| this.dyfsStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("audit_status").then((res) => { | |||
| this.auditStatus = res.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'mortgageAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].dybdclx = this.selectDictLabel(this.dybdclxStatus, response.rows[i].dybdclx) | |||
| response.rows[i].dyfs = this.selectDictLabel(this.dyfsStatus, response.rows[i].dyfs) | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus) | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除申请草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| removeList(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.9; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.1; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,323 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">使用抵押权</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showzjddm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showzjddm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjddm" | |||
| @cancel="showzjddm = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.bdcdyh" label="不动产单元号" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.bdcqzh" label="不动产权证号" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.bdcdydjywh" label="不动产抵押登记业务号" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.zjjzwzl" label="在建建筑物坐落" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.zjjzwdyfw" label="在建建筑物抵押范围" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="qszt" | |||
| label="权属状态" | |||
| placeholder="请选择权属状态" | |||
| @click="showqszt = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showqszt" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="qsztDictionaries" | |||
| @confirm="onConfirmQszt" | |||
| @cancel="showqszt = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="dybdclx" | |||
| label="抵押不动产类型" | |||
| placeholder="请选择类型" | |||
| @click="showdybdclx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showdybdclx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="dybdclxDictionaries" | |||
| @confirm="onConfirmDybdclx" | |||
| @cancel="showdybdclx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.dyr" label="抵押人" placeholder="请输入抵押人" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="dyfs" | |||
| label="抵押方式" | |||
| placeholder="请选择抵押方式" | |||
| @click="showdyfs = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showdyfs" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="dyfsDictionaries" | |||
| @confirm="onConfirmDyfs" | |||
| @cancel="showdyfs = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="djlx" | |||
| label="登记类型" | |||
| placeholder="请选择登记类型" | |||
| @click="showdjlx = true" | |||
| label-width="auto" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showdjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="djlxDictionaries" | |||
| @confirm="onConfirmDjlx" | |||
| @cancel="showdjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.djyy" label="登记原因" placeholder="请输入登记原因" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.djjg" label="登记机构" placeholder="请输入登记机构" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.dbr" label="登薄人" placeholder="请输入登薄人" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="circulation.djsj" | |||
| label="登记时间" | |||
| placeholder="选择登记时间" | |||
| @click="showdjsj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showdjsj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmDjsj" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div class="main_box"> | |||
| <van-field label="附记" v-model="circulation.fj" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| <van-field label="备注" v-model="circulation.bz" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goEdit">保存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { dyApply , getDy , dyEdit } from "@/api/onlineHome/homestead/mortgage"; | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| export default { | |||
| name: "mortgageModify", | |||
| data() { | |||
| return { | |||
| value: '', | |||
| showdjsj: false, | |||
| showdybdclx: false, | |||
| showdyfs: false, | |||
| showdjlx: false, | |||
| showqszt: false, | |||
| showzjddm: false, | |||
| dybdclx: '', | |||
| dyfs: '', | |||
| djlx: '', | |||
| qszt: '', | |||
| zjddm: '', | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| circulation:{}, | |||
| dybdclxDictionaries:[],//抵押不动产类型 | |||
| dyfsDictionaries:[],//抵押方式 | |||
| djlxDictionaries:[],//登记类型 | |||
| qsztDictionaries:[],//权属状态 | |||
| zjdDictionaries: [],//宅基地列表 | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getDy(this.$route.query.id).then(response => { | |||
| //抵押不动产类型 | |||
| this.houseGetDicts("dybdclx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.dybdclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.dybdclx = this.selectDictLabel(res.data, response.data.dybdclx); | |||
| }); | |||
| //抵押方式 | |||
| this.houseGetDicts("dyfs").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.dyfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.dyfs = this.selectDictLabel(res.data, response.data.dyfs); | |||
| }); | |||
| //登记类型 | |||
| this.houseGetDicts("djlx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.djlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.djlx = this.selectDictLabel(res.data, response.data.djlx); | |||
| }); | |||
| //权属状态 | |||
| this.houseGetDicts("qszt").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.qsztDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.qszt = this.selectDictLabel(res.data, response.data.qszt); | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for( let i = 0 ; i < zjdRes.rows.length ; i++){ | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| this.circulation = response.data; | |||
| }); | |||
| }, | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmQszt(data){ | |||
| this.qszt = data.text; | |||
| this.circulation.qszt = data.value; | |||
| this.showqszt = false; | |||
| }, | |||
| onConfirmDybdclx(data){ | |||
| this.dybdclx = data.text; | |||
| this.circulation.dybdclx = data.value; | |||
| this.showdybdclx = false; | |||
| }, | |||
| onConfirmDyfs(data){ | |||
| this.dyfs = data.text; | |||
| this.circulation.dyfs = data.value; | |||
| this.showdyfs = false; | |||
| }, | |||
| onConfirmDjlx(data){ | |||
| this.djlx = data.text; | |||
| this.circulation.djlx = data.value; | |||
| this.showdjlx = false; | |||
| }, | |||
| onConfirmDjsj(data){ | |||
| this.circulation.djsj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showdjsj = false; | |||
| }, | |||
| goEdit(){ | |||
| dyApply(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| }, | |||
| goEdit(){ | |||
| dyEdit(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| }, | |||
| goSubmit(){ | |||
| dyApply(this.$route.query.id).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| window.location.replace("mortgageList") | |||
| },1000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| } | |||
| .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; | |||
| margin-top:2%; | |||
| } | |||
| .submitButton{ | |||
| width: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,301 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加有偿退出</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showzjddm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showzjddm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjddm" | |||
| @cancel="showzjddm = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="zjlx" | |||
| label="申请人证件类型" | |||
| placeholder="请选择" | |||
| @click="showzjlx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjlxDictionaries" | |||
| @confirm="onConfirmZjlx" | |||
| @cancel="showzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">退出信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="tcqllx" | |||
| label="退出权利类型" | |||
| placeholder="请选择退出权利类型" | |||
| @click="showtcqllx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showtcqllx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="tcqllxDictionaries" | |||
| @confirm="onConfirmTcqllx" | |||
| @cancel="showtcqllx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="tclx" | |||
| label="退出类型" | |||
| placeholder="请选择退出类型" | |||
| @click="showtclx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showtclx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="tclxDictionaries" | |||
| @confirm="onConfirmTclx" | |||
| @cancel="showtclx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="tcfs" | |||
| label="退出方式" | |||
| placeholder="请选择退出方式" | |||
| @click="showtcfs = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showtcfs" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="tcfsDictionaries" | |||
| @confirm="onConfirmTcfs" | |||
| @cancel="showtcfs = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.tcmj" label="退出面积" placeholder="请输入退出面积㎡" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.tcnx" label="退出年限" placeholder="请输入退出年限" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">补偿信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="bcfs" | |||
| label="补偿方式" | |||
| placeholder="请选择补偿方式" | |||
| @click="showbcfs = true" | |||
| label-width="auto" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showbcfs" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bcfsDictionaries" | |||
| @confirm="onConfirmBcfs" | |||
| @cancel="showbcfs = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.bcje" label="补偿金额" placeholder="请输入补偿金额 元" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.zhfwmj" label="置换房屋面积" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.zhfwzl" label="置换房屋坐落" placeholder="请输入房屋坐落" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton">关闭</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| import { dyAdd } from "@/api/onlineHome/homestead/paidExit"; | |||
| export default { | |||
| name: "paidExitAdd", | |||
| data() { | |||
| return { | |||
| tcqllxDictionaries:[],//退出权利类型 | |||
| tclxDictionaries:[],//退出类型 | |||
| tcfsDictionaries:[],//退出方式 | |||
| zjlxDictionaries:[],//申请人证件类型 | |||
| bcfsDictionaries:[],//补偿方式 | |||
| zjdDictionaries:[],//宅基地代码 | |||
| tcqllx:'', | |||
| tclx:'', | |||
| tcfs:'', | |||
| zjlx:'', | |||
| bcfs:'', | |||
| zjddm:'', | |||
| showtcqllx: false, | |||
| showtclx: false, | |||
| showtcfs: false, | |||
| showzjlx: false, | |||
| showbcfs: false, | |||
| showzjddm: false, | |||
| circulation:{} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| //退出权利类型 | |||
| this.houseGetDicts("tcqllx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.tcqllxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //退出类型 | |||
| this.houseGetDicts("tclx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.tclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //退出方式 | |||
| this.houseGetDicts("tcfs").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.tcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //申请人证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.zjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //补偿方式 | |||
| this.houseGetDicts("bcfs").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.bcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for( let i = 0 ; i < zjdRes.rows.length ; i++){ | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmZjlx(data){ | |||
| this.zjlx = data.text; | |||
| this.circulation.sqrzjlx = data.value; | |||
| this.showzjlx = false; | |||
| }, | |||
| onConfirmTcqllx(data){ | |||
| this.tcqllx = data.text; | |||
| this.circulation.tcqllx = data.value; | |||
| this.showtcqllx = false; | |||
| }, | |||
| onConfirmTclx(data){ | |||
| this.tclx = data.text; | |||
| this.circulation.tclx = data.value; | |||
| this.showtclx = false; | |||
| }, | |||
| onConfirmTcfs(data){ | |||
| this.tcfs = data.text; | |||
| this.circulation.tcfs = data.value; | |||
| this.showtcfs = false; | |||
| }, | |||
| onConfirmBcfs(data){ | |||
| this.bcfs = data.text; | |||
| this.circulation.bcfs = data.value; | |||
| this.showbcfs = false; | |||
| }, | |||
| goSubmit(){ | |||
| console.log(this.circulation); | |||
| dyAdd(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,145 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">有偿退出</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| input-align="right" | |||
| /> | |||
| <van-field readonly v-model="circulation.sqrxm" label="申请人姓名" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.sqrzjlx" | |||
| label="申请人证件类型" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field readonly v-model="circulation.sqrzjhm" label="申请人证件号码" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">退出信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.tcqllx" | |||
| label="退出权利类型" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.tclx" | |||
| label="退出类型" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.tcfs" | |||
| label="退出方式" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field readonly v-model="circulation.tcmj+'㎡'" label="退出面积" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.tcnx" label="退出年限" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">补偿信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.bcfs" | |||
| label="补偿方式" | |||
| label-width="auto" | |||
| input-align="right" | |||
| /> | |||
| <van-field readonly v-model="circulation.bcje+'元'" label="补偿金额" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.zhfwmj+'㎡'" label="置换房屋面积" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.zhfwzl" label="置换房屋坐落" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.bz" label="备注" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getZyyctc } from "@/api/onlineHome/homestead/paidExit"; | |||
| export default { | |||
| name: "paidExitDetail", | |||
| data() { | |||
| return { | |||
| circulation:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail(){ | |||
| getZyyctc(this.$route.query.id).then(response => { | |||
| console.log(response) | |||
| this.circulation = response.data; | |||
| //退出权利类型 | |||
| this.houseGetDicts("tcqllx").then((res) => { | |||
| this.circulation.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx); | |||
| }); | |||
| //退出类型 | |||
| this.houseGetDicts("tclx").then((res) => { | |||
| this.circulation.tclx = this.selectDictLabel(res.data, response.data.tclx); | |||
| }); | |||
| //退出方式 | |||
| this.houseGetDicts("tcfs").then((res) => { | |||
| this.circulation.tcfs = this.selectDictLabel(res.data, response.data.tcfs); | |||
| }); | |||
| //申请人证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| this.circulation.sqrzjlx = this.selectDictLabel(res.data, response.data.sqrzjlx); | |||
| }); | |||
| //补偿方式 | |||
| this.houseGetDicts("bcfs").then((res) => { | |||
| this.circulation.bcfs = this.selectDictLabel(res.data, response.data.bcfs); | |||
| }); | |||
| //审核状态 | |||
| this.houseGetDicts("audit_status").then((res) => { | |||
| this.circulation.auditStatus = this.selectDictLabel(res.data, response.data.auditStatus); | |||
| }); | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,164 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">有偿退出</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18" /> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.zjddm" :value="item.auditStatus" center :to="{name:'paidExitDetail', query: {id:item.id}}" > | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd3.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p><b style="color: #539FFD;">{{item.tcfs}}</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">{{item.sqrxm}}</b><i style="margin-right: 0.5rem;"></i>{{item.tcmj}}㎡</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'paidExitModify', query: {id:item.id}}" type="info" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList , removeList } from "@/api/onlineHome/homestead/paidExit"; | |||
| export default { | |||
| name: "paidExit", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| tcqllxStatus:[], | |||
| tclxStatus:[], | |||
| tcfsStatus:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc' | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("tcqllx").then((res) => { | |||
| this.tcqllxStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("tclx").then((res) => { | |||
| this.tclxStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("tcfs").then((res) => { | |||
| this.tcfsStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("audit_status").then((res) => { | |||
| this.auditStatus = res.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'paidExitAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].tclx = this.selectDictLabel(this.tcqllxStatus, response.rows[i].tclx) | |||
| response.rows[i].tclx = this.selectDictLabel(this.tclxStatus, response.rows[i].tclx) | |||
| response.rows[i].tcfs = this.selectDictLabel(this.tcfsStatus, response.rows[i].tcfs) | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus) | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除申请草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| removeList(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,319 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加有偿退出</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showzjddm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showzjddm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjddm" | |||
| @cancel="showzjddm = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="zjlx" | |||
| label="申请人证件类型" | |||
| placeholder="请选择" | |||
| @click="showzjlx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjlxDictionaries" | |||
| @confirm="onConfirmZjlx" | |||
| @cancel="showzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">退出信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="tcqllx" | |||
| label="退出权利类型" | |||
| placeholder="请选择退出权利类型" | |||
| @click="showtcqllx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showtcqllx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="tcqllxDictionaries" | |||
| @confirm="onConfirmTcqllx" | |||
| @cancel="showtcqllx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="tclx" | |||
| label="退出类型" | |||
| placeholder="请选择退出类型" | |||
| @click="showtclx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showtclx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="tclxDictionaries" | |||
| @confirm="onConfirmTclx" | |||
| @cancel="showtclx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="tcfs" | |||
| label="退出方式" | |||
| placeholder="请选择退出方式" | |||
| @click="showtcfs = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showtcfs" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="tcfsDictionaries" | |||
| @confirm="onConfirmTcfs" | |||
| @cancel="showtcfs = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.tcmj" label="退出面积" placeholder="请输入退出面积㎡" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.tcnx" label="退出年限" placeholder="请输入退出年限" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">补偿信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="bcfs" | |||
| label="补偿方式" | |||
| placeholder="请选择补偿方式" | |||
| @click="showbcfs = true" | |||
| label-width="auto" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showbcfs" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="bcfsDictionaries" | |||
| @confirm="onConfirmBcfs" | |||
| @cancel="showbcfs = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.bcje" label="补偿金额" placeholder="请输入补偿金额 元" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.zhfwmj" label="置换房屋面积" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.zhfwzl" label="置换房屋坐落" placeholder="请输入房屋坐落" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goEdit">保存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| import { zyyctcEdit , getZyyctc , zyyctcApply } from "@/api/onlineHome/homestead/paidExit"; | |||
| export default { | |||
| name: "paidExitModify", | |||
| data() { | |||
| return { | |||
| tcqllxDictionaries:[],//退出权利类型 | |||
| tclxDictionaries:[],//退出类型 | |||
| tcfsDictionaries:[],//退出方式 | |||
| zjlxDictionaries:[],//申请人证件类型 | |||
| bcfsDictionaries:[],//补偿方式 | |||
| zjdDictionaries:[],//宅基地代码 | |||
| tcqllx:'', | |||
| tclx:'', | |||
| tcfs:'', | |||
| zjlx:'', | |||
| bcfs:'', | |||
| zjddm:'', | |||
| showtcqllx: false, | |||
| showtclx: false, | |||
| showtcfs: false, | |||
| showzjlx: false, | |||
| showbcfs: false, | |||
| showzjddm: false, | |||
| circulation:{} | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getZyyctc(this.$route.query.id).then(response => { | |||
| //退出权利类型 | |||
| this.houseGetDicts("tcqllx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx); | |||
| }); | |||
| //退出类型 | |||
| this.houseGetDicts("tclx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tclx = this.selectDictLabel(res.data, response.data.tclx); | |||
| }); | |||
| //退出方式 | |||
| this.houseGetDicts("tcfs").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tcfs = this.selectDictLabel(res.data, response.data.tcfs); | |||
| }); | |||
| //申请人证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.zjlx = this.selectDictLabel(res.data, response.data.sqrzjlx); | |||
| }); | |||
| //补偿方式 | |||
| this.houseGetDicts("bcfs").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.bcfs = this.selectDictLabel(res.data, response.data.bcfs); | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for (let i = 0; i < zjdRes.rows.length; i++) { | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| this.circulation = response.data; | |||
| }); | |||
| }, | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmZjlx(data){ | |||
| this.zjlx = data.text; | |||
| this.circulation.sqrzjlx = data.value; | |||
| this.showzjlx = false; | |||
| }, | |||
| onConfirmTcqllx(data){ | |||
| this.tcqllx = data.text; | |||
| this.circulation.tcqllx = data.value; | |||
| this.showtcqllx = false; | |||
| }, | |||
| onConfirmTclx(data){ | |||
| this.tclx = data.text; | |||
| this.circulation.tclx = data.value; | |||
| this.showtclx = false; | |||
| }, | |||
| onConfirmTcfs(data){ | |||
| this.tcfs = data.text; | |||
| this.circulation.tcfs = data.value; | |||
| this.showtcfs = false; | |||
| }, | |||
| onConfirmBcfs(data){ | |||
| this.bcfs = data.text; | |||
| this.circulation.bcfs = data.value; | |||
| this.showbcfs = false; | |||
| }, | |||
| goEdit(){ | |||
| console.log(this.circulation); | |||
| zyyctcEdit(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| }, | |||
| goSubmit(){ | |||
| zyyctcApply(this.$route.query.id).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('提交成功'); | |||
| setTimeout(function(){ | |||
| window.location.replace("paidExit") | |||
| },1000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,321 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加有偿使用</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.shyqrdm" | |||
| label="使用权人" | |||
| placeholder="请选择" | |||
| @click="showshyqrdm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showshyqrdm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="shyqrdmDictionaries" | |||
| @confirm="onConfirmShyqrdm" | |||
| @cancel="showshyqrdm = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showzjddm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showzjddm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjddm" | |||
| @cancel="showzjddm = false" | |||
| /> | |||
| </van-popup> | |||
| <!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="zjlx" | |||
| label="申请人证件类型" | |||
| placeholder="请选择" | |||
| @click="showzjlx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjlxDictionaries" | |||
| @confirm="onConfirmZjlx" | |||
| @cancel="showzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.ycsyfs" label="有偿使用方式" placeholder="有偿使用方式" input-align="right" label-width="auto"/> | |||
| <van-cell title="是否一户多宅"> | |||
| <template #right-icon> | |||
| <!-- @change="designPaperChange"--> | |||
| <van-radio-group v-model="circulation.sfyhdz" direction="horizontal"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio > | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="circulation.ycsykssj" | |||
| label="有偿使用开始时间" | |||
| placeholder="选择开始时间" | |||
| @click="showycsykssj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showycsykssj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmYcsykssj" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="circulation.ycsydqsj" | |||
| label="有偿使用到期时间" | |||
| placeholder="选择到期时间" | |||
| @click="showycsydqsj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showycsydqsj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmYcsydqsj" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.ycsymj" label="有偿使用面积(㎡)" placeholder="请输入有偿使用面积㎡" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.ycsymjdj" label="有偿使用面积单价(元)" placeholder="请输入有偿使用面积单价" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.ycsyfy" label="有偿使用费用(元)" placeholder="请输入有偿使用费用" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.fkfs" label="付款方式" placeholder="请输入付款方式" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize"; | |||
| export default { | |||
| name: "paidUtilizeAdd", | |||
| data() { | |||
| return { | |||
| tcqllxDictionaries:[],//退出权利类型 | |||
| tclxDictionaries:[],//退出类型 | |||
| tcfsDictionaries:[],//退出方式 | |||
| zjlxDictionaries:[],//申请人证件类型 | |||
| bcfsDictionaries:[],//补偿方式 | |||
| zjdDictionaries:[],//宅基地代码 | |||
| shyqrdmDictionaries:[],//使用权人 | |||
| tcqllx:'', | |||
| tclx:'', | |||
| tcfs:'', | |||
| zjlx:'', | |||
| bcfs:'', | |||
| zjddm:'', | |||
| showtcqllx: false, | |||
| showtclx: false, | |||
| showtcfs: false, | |||
| showzjlx: false, | |||
| showbcfs: false, | |||
| showzjddm: false, | |||
| showshyqrdm: false, | |||
| showycsykssj: false, | |||
| showycsydqsj: false, | |||
| circulation:{}, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| //退出权利类型 | |||
| this.houseGetDicts("tcqllx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //退出类型 | |||
| this.houseGetDicts("tclx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //退出方式 | |||
| this.houseGetDicts("tcfs").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //申请人证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //补偿方式 | |||
| this.houseGetDicts("bcfs").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for (let i = 0; i < zjdRes.rows.length; i++) { | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| //使用权人代码 | |||
| listByDeptId().then(zjdRes => { | |||
| for (let i = 0; i < zjdRes.rows.length; i++) { | |||
| this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm); | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmZjlx(data){ | |||
| this.zjlx = data.text; | |||
| this.circulation.sqrzjlx = data.value; | |||
| this.showzjlx = false; | |||
| }, | |||
| onConfirmTcqllx(data){ | |||
| this.tcqllx = data.text; | |||
| this.circulation.tcqllx = data.value; | |||
| this.showtcqllx = false; | |||
| }, | |||
| onConfirmTclx(data){ | |||
| this.tclx = data.text; | |||
| this.circulation.tclx = data.value; | |||
| this.showtclx = false; | |||
| }, | |||
| onConfirmTcfs(data){ | |||
| this.tcfs = data.text; | |||
| this.circulation.tcfs = data.value; | |||
| this.showtcfs = false; | |||
| }, | |||
| onConfirmBcfs(data){ | |||
| this.bcfs = data.text; | |||
| this.circulation.bcfs = data.value; | |||
| this.showbcfs = false; | |||
| }, | |||
| onConfirmShyqrdm(data){ | |||
| this.circulation.shyqrdm = data; | |||
| this.showshyqrdm = false; | |||
| }, | |||
| onConfirmYcsykssj(data){ | |||
| this.circulation.ycsykssj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showycsykssj = false; | |||
| }, | |||
| onConfirmYcsydqsj(data){ | |||
| this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showycsydqsj = false; | |||
| }, | |||
| goEdit(){ | |||
| window.location.replace("paidUtilizeList") | |||
| }, | |||
| goSubmit(){ | |||
| ycsyAdd(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('新增成功'); | |||
| setTimeout(function(){ | |||
| window.location.replace("paidUtilizeList") | |||
| },1000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,235 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">查看有偿使用</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.shyqrdm" | |||
| label="使用权人" | |||
| input-align="right" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| input-align="right" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="zjlx" | |||
| label="申请人证件类型" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field readonly v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.ycsyfs" label="有偿使用方式" placeholder="有偿使用方式" input-align="right" label-width="auto"/> | |||
| <van-cell title="是否一户多宅"> | |||
| <template #right-icon> | |||
| {{circulation.sfyhdz == 'Y' ? '是' : '否'}} | |||
| </template> | |||
| </van-cell> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.ycsykssj" | |||
| label="有偿使用开始时间" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="circulation.ycsydqsj" | |||
| label="有偿使用到期时间" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field readonly v-model="circulation.ycsymj" label="有偿使用面积(㎡)" placeholder="请输入有偿使用面积㎡" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.ycsymjdj" label="有偿使用面积单价(元)" placeholder="请输入有偿使用面积单价" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.ycsyfy" label="有偿使用费用(元)" placeholder="请输入有偿使用费用" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.fkfs" label="付款方式" placeholder="请输入付款方式" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| import { zyyctcEdit , getYcsy , ycsyEdit } from "@/api/onlineHome/homestead/paidUtilize"; | |||
| export default { | |||
| name: "paidUtilizeDteail", | |||
| data() { | |||
| return { | |||
| tcqllxDictionaries:[],//退出权利类型 | |||
| tclxDictionaries:[],//退出类型 | |||
| tcfsDictionaries:[],//退出方式 | |||
| zjlxDictionaries:[],//申请人证件类型 | |||
| bcfsDictionaries:[],//补偿方式 | |||
| zjdDictionaries:[],//宅基地代码 | |||
| shyqrdmDictionaries:[],//使用权人 | |||
| tcqllx:'', | |||
| tclx:'', | |||
| tcfs:'', | |||
| zjlx:'', | |||
| bcfs:'', | |||
| zjddm:'', | |||
| showtcqllx: false, | |||
| showtclx: false, | |||
| showtcfs: false, | |||
| showzjlx: false, | |||
| showbcfs: false, | |||
| showzjddm: false, | |||
| showshyqrdm: false, | |||
| showycsykssj: false, | |||
| showycsydqsj: false, | |||
| circulation:{}, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getYcsy(this.$route.query.id).then(response => { | |||
| //退出权利类型 | |||
| this.houseGetDicts("tcqllx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx); | |||
| }); | |||
| //退出类型 | |||
| this.houseGetDicts("tclx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tclx = this.selectDictLabel(res.data, response.data.tclx); | |||
| }); | |||
| //退出方式 | |||
| this.houseGetDicts("tcfs").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tcfs = this.selectDictLabel(res.data, response.data.tcfs); | |||
| }); | |||
| //申请人证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.zjlx = this.selectDictLabel(res.data, response.data.sqrzjlx); | |||
| }); | |||
| //补偿方式 | |||
| this.houseGetDicts("bcfs").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.bcfs = this.selectDictLabel(res.data, response.data.bcfs); | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for (let i = 0; i < zjdRes.rows.length; i++) { | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| this.circulation = response.data; | |||
| }); | |||
| }, | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmZjlx(data){ | |||
| this.zjlx = data.text; | |||
| this.circulation.sqrzjlx = data.value; | |||
| this.showzjlx = false; | |||
| }, | |||
| onConfirmTcqllx(data){ | |||
| this.tcqllx = data.text; | |||
| this.circulation.tcqllx = data.value; | |||
| this.showtcqllx = false; | |||
| }, | |||
| onConfirmTclx(data){ | |||
| this.tclx = data.text; | |||
| this.circulation.tclx = data.value; | |||
| this.showtclx = false; | |||
| }, | |||
| onConfirmTcfs(data){ | |||
| this.tcfs = data.text; | |||
| this.circulation.tcfs = data.value; | |||
| this.showtcfs = false; | |||
| }, | |||
| onConfirmBcfs(data){ | |||
| this.bcfs = data.text; | |||
| this.circulation.bcfs = data.value; | |||
| this.showbcfs = false; | |||
| }, | |||
| onConfirmShyqrdm(data){ | |||
| this.circulation.shyqrdm = data; | |||
| this.showshyqrdm = false; | |||
| }, | |||
| onConfirmYcsykssj(data){ | |||
| this.circulation.ycsykssj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showycsykssj = false; | |||
| }, | |||
| onConfirmYcsydqsj(data){ | |||
| this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showycsydqsj = false; | |||
| }, | |||
| goEdit(){ | |||
| window.location.replace("paidUtilizeList") | |||
| }, | |||
| goSubmit(){ | |||
| ycsyEdit(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| window.location.replace("paidUtilizeList") | |||
| },1000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,186 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">有偿使用</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18" /> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.zjddm" :value="item.auditStatus" center :to="{name:'paidUtilizeDteail', query: {id:item.id}}" > | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd9.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.shyqrdm}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button color="#7DDA4F" v-if="item.auditStatus=='草稿'" square text="提交" @click="goSubmit(item.id,index)" type="primary" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'paidUtilizeModify', query: {id:item.id}}" type="info" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList , removeList , submitApply } from "@/api/onlineHome/homestead/paidUtilize"; | |||
| export default { | |||
| name: "paidUtilizeList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| tcqllxStatus:[], | |||
| tclxStatus:[], | |||
| tcfsStatus:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'id', | |||
| isAsc:'desc' | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("tcqllx").then((res) => { | |||
| this.tcqllxStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("tclx").then((res) => { | |||
| this.tclxStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("tcfs").then((res) => { | |||
| this.tcfsStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("audit_status").then((res) => { | |||
| this.auditStatus = res.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'paidUtilizeAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].tclx = this.selectDictLabel(this.tcqllxStatus, response.rows[i].tclx) | |||
| response.rows[i].tclx = this.selectDictLabel(this.tclxStatus, response.rows[i].tclx) | |||
| response.rows[i].tcfs = this.selectDictLabel(this.tcfsStatus, response.rows[i].tcfs) | |||
| response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus) | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除申请草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| removeList(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| goSubmit(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认提交草稿?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| submitApply(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('提交成功!'); | |||
| setTimeout(function(){ | |||
| history.go(0) | |||
| },2000) | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,329 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">修改有偿使用</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.shyqrdm" | |||
| label="使用权人" | |||
| placeholder="请选择" | |||
| @click="showshyqrdm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showshyqrdm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="shyqrdmDictionaries" | |||
| @confirm="onConfirmShyqrdm" | |||
| @cancel="showshyqrdm = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="circulation.zjddm" | |||
| label="宅基地代码" | |||
| placeholder="请选择" | |||
| @click="showzjddm = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showzjddm" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjdDictionaries" | |||
| @confirm="onConfirmZjddm" | |||
| @cancel="showzjddm = false" | |||
| /> | |||
| </van-popup> | |||
| <!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="zjlx" | |||
| label="申请人证件类型" | |||
| placeholder="请选择" | |||
| @click="showzjlx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showzjlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="zjlxDictionaries" | |||
| @confirm="onConfirmZjlx" | |||
| @cancel="showzjlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.ycsyfs" label="有偿使用方式" placeholder="有偿使用方式" input-align="right" label-width="auto"/> | |||
| <van-cell title="是否一户多宅"> | |||
| <template #right-icon> | |||
| <!-- @change="designPaperChange"--> | |||
| <van-radio-group v-model="circulation.sfyhdz" direction="horizontal"> | |||
| <van-radio name="Y">是</van-radio> | |||
| <van-radio name="N">否</van-radio > | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="circulation.ycsykssj" | |||
| label="有偿使用开始时间" | |||
| placeholder="选择开始时间" | |||
| @click="showycsykssj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showycsykssj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmYcsykssj" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| name="picker" | |||
| v-model="circulation.ycsydqsj" | |||
| label="有偿使用到期时间" | |||
| placeholder="选择到期时间" | |||
| @click="showycsydqsj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showycsydqsj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmYcsydqsj" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="circulation.ycsymj" label="有偿使用面积(㎡)" placeholder="请输入有偿使用面积㎡" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.ycsymjdj" label="有偿使用面积单价(元)" placeholder="请输入有偿使用面积单价" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.ycsyfy" label="有偿使用费用(元)" placeholder="请输入有偿使用费用" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.fkfs" label="付款方式" placeholder="请输入付款方式" input-align="right" label-width="auto"/> | |||
| <van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { zjdzd } from "@/api/onlineHome/homestead/circulation"; | |||
| import { listByDeptId , getYcsy , ycsyEdit } from "@/api/onlineHome/homestead/paidUtilize"; | |||
| export default { | |||
| name: "paidUtilizeModify", | |||
| data() { | |||
| return { | |||
| tcqllxDictionaries:[],//退出权利类型 | |||
| tclxDictionaries:[],//退出类型 | |||
| tcfsDictionaries:[],//退出方式 | |||
| zjlxDictionaries:[],//申请人证件类型 | |||
| bcfsDictionaries:[],//补偿方式 | |||
| zjdDictionaries:[],//宅基地代码 | |||
| shyqrdmDictionaries:[],//使用权人 | |||
| tcqllx:'', | |||
| tclx:'', | |||
| tcfs:'', | |||
| zjlx:'', | |||
| bcfs:'', | |||
| zjddm:'', | |||
| showtcqllx: false, | |||
| showtclx: false, | |||
| showtcfs: false, | |||
| showzjlx: false, | |||
| showbcfs: false, | |||
| showzjddm: false, | |||
| showshyqrdm: false, | |||
| showycsykssj: false, | |||
| showycsydqsj: false, | |||
| circulation:{}, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getYcsy(this.$route.query.id).then(response => { | |||
| //退出权利类型 | |||
| this.houseGetDicts("tcqllx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx); | |||
| }); | |||
| //退出类型 | |||
| this.houseGetDicts("tclx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tclx = this.selectDictLabel(res.data, response.data.tclx); | |||
| }); | |||
| //退出方式 | |||
| this.houseGetDicts("tcfs").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.tcfs = this.selectDictLabel(res.data, response.data.tcfs); | |||
| }); | |||
| //申请人证件类型 | |||
| this.houseGetDicts("zjlx").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.zjlx = this.selectDictLabel(res.data, response.data.sqrzjlx); | |||
| }); | |||
| //补偿方式 | |||
| this.houseGetDicts("bcfs").then((res) => { | |||
| for (var i = 0; i < res.data.length; i++) { | |||
| this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
| } | |||
| this.bcfs = this.selectDictLabel(res.data, response.data.bcfs); | |||
| }); | |||
| //宅基地代码 | |||
| zjdzd().then(zjdRes => { | |||
| for (let i = 0; i < zjdRes.rows.length; i++) { | |||
| this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
| } | |||
| }); | |||
| //使用权人代码 | |||
| listByDeptId().then(zjdRes => { | |||
| for (let i = 0; i < zjdRes.rows.length; i++) { | |||
| this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm); | |||
| } | |||
| }); | |||
| this.circulation = response.data; | |||
| }); | |||
| }, | |||
| onConfirmZjddm(data){ | |||
| console.log(data) | |||
| this.circulation.zjddm = data; | |||
| this.showzjddm = false; | |||
| }, | |||
| onConfirmZjlx(data){ | |||
| this.zjlx = data.text; | |||
| this.circulation.sqrzjlx = data.value; | |||
| this.showzjlx = false; | |||
| }, | |||
| onConfirmTcqllx(data){ | |||
| this.tcqllx = data.text; | |||
| this.circulation.tcqllx = data.value; | |||
| this.showtcqllx = false; | |||
| }, | |||
| onConfirmTclx(data){ | |||
| this.tclx = data.text; | |||
| this.circulation.tclx = data.value; | |||
| this.showtclx = false; | |||
| }, | |||
| onConfirmTcfs(data){ | |||
| this.tcfs = data.text; | |||
| this.circulation.tcfs = data.value; | |||
| this.showtcfs = false; | |||
| }, | |||
| onConfirmBcfs(data){ | |||
| this.bcfs = data.text; | |||
| this.circulation.bcfs = data.value; | |||
| this.showbcfs = false; | |||
| }, | |||
| onConfirmShyqrdm(data){ | |||
| this.circulation.shyqrdm = data; | |||
| this.showshyqrdm = false; | |||
| }, | |||
| onConfirmYcsykssj(data){ | |||
| this.circulation.ycsykssj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showycsykssj = false; | |||
| }, | |||
| onConfirmYcsydqsj(data){ | |||
| this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showycsydqsj = false; | |||
| }, | |||
| goEdit(){ | |||
| window.location.replace("paidUtilizeList") | |||
| }, | |||
| goSubmit(){ | |||
| ycsyEdit(this.circulation).then(response => { | |||
| if(response.code = 200){ | |||
| this.$toast.success('修改成功'); | |||
| setTimeout(function(){ | |||
| window.location.replace("paidUtilizeList") | |||
| },1000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,762 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="公示信息" | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| /> | |||
| <van-steps :active="active" active-color="#38f"> | |||
| <van-step>申请</van-step> | |||
| <van-step>开工</van-step> | |||
| <van-step>验收</van-step> | |||
| </van-steps> | |||
| <p class="topTit">农村宅基地和建房(规划许可)申请表</p> | |||
| <div class="main"> | |||
| <van-form> | |||
| <div v-if="applicationDetail.tHouseApplyProposer"> | |||
| <p class="main_title">申请用户信息</p> | |||
| <div class="main_box"> | |||
| <van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.memberName" label="姓名" placeholder="姓名" input-align="right"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="sexValue" | |||
| label="性别" | |||
| placeholder="选择性别" | |||
| @click=" auditStatus==true ? '' : showSex = true" | |||
| input-align="right" | |||
| :rules="[{ required: true }]" required | |||
| /> | |||
| <van-popup v-model="showSex" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="userSex" | |||
| @confirm="onConfirmSex" | |||
| @cancel="showSex = false" | |||
| :readonly="auditStatus" | |||
| /> | |||
| </van-popup> | |||
| <van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.age" label="年龄" placeholder="年龄" input-align="right"/> | |||
| <van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.phone" label="联系电话" placeholder="联系电话" input-align="right"/> | |||
| <van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.idcard" label="身份证号" placeholder="身份证号" input-align="right"/> | |||
| <van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/> | |||
| <van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.familyAddress" label="家庭住址" placeholder="家庭住址" input-align="right"/> | |||
| <van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.members" label="家庭人口数" placeholder="家庭人口数" input-align="right"/> | |||
| <van-cell title="是否已有宅基地"> | |||
| <template #right-icon> | |||
| {{applicationDetail.tHouseApplyProposer.existHomestead=='Y'?'是':'否'}} | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| </div> | |||
| <div v-if="applicationDetail.tHouseApplyFamilyMembers && applicationDetail.tHouseApplyFamilyMembers!=''"> | |||
| <p class="main_title">家庭成员信息<van-button icon="plus" size="mini" type="info" native-type="button" class="addFamily" @click="addFamily" v-if="!auditStatus" /></p> | |||
| <van-collapse v-model="activeNames" v-if="auditStatus"> | |||
| <van-collapse-item class="collapse" v-for="(item , index) in applicationDetail.tHouseApplyFamilyMembers" :key="index" :name="index+1"> | |||
| <template #title> | |||
| <van-row> | |||
| <van-col span="8">{{item.memberName}}</van-col> | |||
| <van-col span="8">{{item.age}}</van-col> | |||
| <van-col span="8">{{item.familyStatusName}}</van-col> | |||
| </van-row> | |||
| </template> | |||
| <van-field :readonly="auditStatus" v-model="item.memberName" label="姓名" placeholder="姓名" input-align="right"/> | |||
| <van-field :readonly="auditStatus" v-model="item.age" label="年龄" placeholder="年龄" input-align="right"/> | |||
| <van-field :readonly="auditStatus" v-model="item.familyStatusName" label="与户主关系" placeholder="与户主关系" input-align="right"/> | |||
| <van-field :readonly="auditStatus" v-model="item.idcard" label="身份证号" placeholder="身份证号" input-align="right"/> | |||
| <van-field :readonly="auditStatus" v-model="item.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/> | |||
| </van-collapse-item> | |||
| </van-collapse> | |||
| <div class="familyList" v-if="!auditStatus" v-for="(item , index) in applicationDetail.tHouseApplyFamilyMembers" :key="index"> | |||
| <div class="main_box" style="margin-bottom: 20px"> | |||
| <van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteFamily(index)" /> | |||
| <van-field v-model="item.memberName" label="姓名" placeholder="姓名" input-align="right"/> | |||
| <van-field v-model="item.age" label="年龄" placeholder="年龄" input-align="right"/> | |||
| <van-field v-model="item.familyStatusName" label="与户主关系" placeholder="与户主关系" input-align="right"/> | |||
| <van-field v-model="item.idcard" label="身份证号" placeholder="身份证号" input-align="right"/> | |||
| <van-field v-model="item.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/> | |||
| </div> | |||
| </div> | |||
| <!-- <div class=" familyList">--> | |||
| <!-- <van-button icon="minus" size="mini" type="danger" class="deleteFamily" />--> | |||
| <!-- <div class="main_box">--> | |||
| <!-- <van-field label="姓名" placeholder="姓名" input-align="right"/>--> | |||
| <!-- <van-field label="年龄" placeholder="年龄" input-align="right"/>--> | |||
| <!-- <van-field label="与户主关系" placeholder="与户主关系" input-align="right"/>--> | |||
| <!-- <van-field label="身份证号" placeholder="身份证号" input-align="right"/>--> | |||
| <!-- <van-field label="户口所在地" placeholder="户口所在地" input-align="right"/>--> | |||
| <!-- </div>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| <div v-if="CurrentSituation"> | |||
| <p class="main_title">现宅基地及农房状况</p> | |||
| <div class="main_box"> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landPerArea" label="人均宅基地面积" placeholder="人均宅基地面积㎡" input-align="right" label-width="auto"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landCertificateNo" label="不动产单元号" placeholder="不动产单元号" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingArea" label="建筑面积" placeholder="建筑面积㎡" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingPerArea" label="人均建筑面积" placeholder="人均建筑面积㎡" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.houseCertificateNo" label="农民房屋幢号" placeholder="户口所在地" input-align="right"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| :value="landIsposalValue" | |||
| label="处置情况" | |||
| placeholder="选择宅基地处置情况" | |||
| @click=" auditStatus==true ? '' : showLandIsposal = true" | |||
| input-align="right" | |||
| :readonly="auditStatus" | |||
| :rules="[{ required: true }]" required | |||
| /> | |||
| <van-popup v-model="showLandIsposal" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="landIsposal" | |||
| @confirm="onConfirmLandIsposal" | |||
| @cancel="showLandIsposal = false" | |||
| :readonly="auditStatus" | |||
| /> | |||
| </van-popup> | |||
| <!-- <van-field--> | |||
| <!-- readonly--> | |||
| <!-- clickable--> | |||
| <!-- name="picker"--> | |||
| <!-- :value="applicationDetail.tHouseApplyCurrentSituation.buildingType"--> | |||
| <!-- label="建房类型"--> | |||
| <!-- placeholder="选择建房类型"--> | |||
| <!-- @click="showBuildingType = true"--> | |||
| <!-- input-align="right"--> | |||
| <!-- right-icon="arrow-down"--> | |||
| <!-- />--> | |||
| <!-- <van-popup v-model="showBuildingType" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- :columns="buildingType"--> | |||
| <!-- @confirm="onConfirmBuildingType"--> | |||
| <!-- @cancel="showBuildingType = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| </div> | |||
| </div> | |||
| <div v-if="applicationDetail.tHouseApplyProposedSituation"> | |||
| <p class="main_title">拟申请宅基地及建房情况</p> | |||
| <div class="main_box"> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.location" label="拟建位置" placeholder="拟建位置" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.east" label="东至" placeholder="东至" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.west" label="西至" placeholder="西至" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.south" label="南至" placeholder="南至" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.north" label="北至" placeholder="北至" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingArea" label="建筑面积" placeholder="建筑面积" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingFloors" label="建筑层数" placeholder="建筑层数" input-align="right"/> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingHight" label="建筑高度" placeholder="建筑高度" input-align="right"/> | |||
| <van-cell title="是否征求相邻权利人意见"> | |||
| <template #right-icon> | |||
| {{applicationDetail.tHouseApplyProposedSituation.isAdvice=='Y'?'是':'否'}} | |||
| </template> | |||
| </van-cell> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="housingStructureValue" | |||
| label="房屋构造" | |||
| placeholder="选择房屋构造" | |||
| @click=" auditStatus==true ? '' : showHousingStructure = true" | |||
| input-align="right" | |||
| :rules="[{ required: true }]" required | |||
| /> | |||
| <van-popup v-model="showHousingStructure" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="housingStructure" | |||
| @confirm="onConfirmHousingStructure" | |||
| @cancel="showHousingStructure = false" | |||
| :readonly="auditStatus" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| :value="buildingTypeValue" | |||
| label="建房类型" | |||
| placeholder="选择建房类型" | |||
| @click=" auditStatus==true ? '' : showBuildingType = true" | |||
| input-align="right" | |||
| :rules="[{ required: true }]" required | |||
| /> | |||
| <van-popup v-model="showBuildingType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="buildingType" | |||
| @confirm="onConfirmBuildingType" | |||
| @cancel="showBuildingType = false" | |||
| /> | |||
| </van-popup> | |||
| <van-cell title="设计图纸"> | |||
| <template #right-icon> | |||
| {{applicationDetail.tHouseApplyProposedSituation.designPaper == '1' ? '委托设计':'选通用图'}} | |||
| </template> | |||
| </van-cell> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| :value="houseTypeValue" | |||
| placeholder="选择户型图" | |||
| @click=" auditStatus==true ? '' : showHouseType = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| v-if="showHouse" | |||
| :rules="[{ required: true }]" required | |||
| /> | |||
| <van-popup v-model="showHouseType" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="houseType" | |||
| @confirm="onConfirmHouseType" | |||
| @cancel="showHouseType = false" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| </div> | |||
| <div v-if="applicationDetail.tHouseApplyProposer"> | |||
| <p class="main_title">申请理由</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| rows="3" | |||
| autosize | |||
| type="textarea" | |||
| placeholder="申请理由" | |||
| input-align="left" | |||
| v-model="applicationDetail.tHouseApplyProposer.applyReasion" | |||
| :readonly="auditStatus" | |||
| :rules="[{ required: true }]" required | |||
| /> | |||
| <van-row> | |||
| <van-col span="12"><van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.memberName" label="申请人" placeholder="申请人" input-align="left" label-width="auto"/></van-col> | |||
| <van-col span="12"> | |||
| <van-field :rules="[{ required: true }]" required :readonly="auditStatus" clickable v-model="applicationDetail.tHouseApplyProposer.applyTime" label-width="auto" placeholder="选择日期" @click="showApplyTime = true"> | |||
| <template #label> | |||
| <van-icon name="notes-o" size="20"/> | |||
| </template> | |||
| </van-field> | |||
| <van-calendar v-model="showApplyTime" :readonly="auditStatus" @confirm="onConfirmApplyTime" /> | |||
| <!-- <van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.applyTime == '' ? nowTime : applicationDetail.tHouseApplyProposer.applyTime" label-width="auto">--> | |||
| <!-- <template #label>--> | |||
| <!-- <van-icon name="notes-o" size="20"/>--> | |||
| <!-- </template>--> | |||
| <!-- </van-field>--> | |||
| </van-col> | |||
| </van-row> | |||
| </div> | |||
| </div> | |||
| <!--applicationDetail.tHouseApplyStart--> | |||
| <div v-if="false" > | |||
| <p class="topTit">宅基地开工</p> | |||
| <div class="main_box action-box"> | |||
| <van-cell title="计划开工时间"> | |||
| <template #right-icon> | |||
| <van-radio-group v-model="radio" direction="horizontal"> | |||
| <van-field readonly clickable style="padding: 0" v-model="applicationDetail.tHouseApplyStart.startDate" label-width="auto" placeholder="选择日期"> | |||
| <template #label> | |||
| <van-icon name="notes-o" size="20"/> | |||
| </template> | |||
| </van-field> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| <van-cell title="计划竣工时间"> | |||
| <template #right-icon> | |||
| <van-radio-group v-model="radio" direction="horizontal"> | |||
| <van-field readonly clickable style="padding: 0" v-model="applicationDetail.tHouseApplyStart.endDate" label-width="auto" placeholder="选择日期"> | |||
| <template #label> | |||
| <van-icon name="notes-o" size="20"/> | |||
| </template> | |||
| </van-field> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| </div> | |||
| <div v-if="false"> | |||
| <p class="topTit">宅基地验收申请</p> | |||
| <div class="main_box check-box"> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.memberName" label="申请户主姓名" placeholder="申请户主姓名" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.idcard" label="身份证号" placeholder="身份证号" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.location" label="用地建房位置" placeholder="用地建房位置" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.licenseKey" label="乡村建设规划许可证号" placeholder="乡村建设规划许可证号" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.approvalNumber" label="农村宅基地批准书号" placeholder="农村宅基地批准书号" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.startDate" label="开工日期" readonly clickable input-align="right" label-width="auto" placeholder="选择开工日期" @click="showCalendar = true"></van-field> | |||
| <van-calendar /> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.endDate" label="竣工日期" readonly clickable input-align="right" label-width="auto" placeholder="选择竣工日期" @click="showCalendar = true"></van-field> | |||
| <van-calendar /> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.houseCertificateNo" label="权属证书号(不动产)" placeholder="权属证书号(不动产)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.landCertificateNo" label="权属证书号(宅基地)" placeholder="权属证书号(宅基地)" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.buildingHight" label="批建高度" placeholder="建筑高度" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.buildingFloors" label="批建层数" placeholder="批建层数" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.actualBuildingHight" label="竣工高度" placeholder="竣工高度" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.actualBuildingFloors" label="竣工层数" placeholder="竣工层数" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.buildingArea" label="建筑面积" placeholder="建筑面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="applicationDetail.tHouseApplyEnd.designPaper" label="建筑风貌" placeholder="建筑风貌" input-align="right" label-width="auto"/> | |||
| <van-cell title="旧宅基地退还情况"> | |||
| <template #right-icon> | |||
| <van-radio-group v-model="applicationDetail.tHouseApplyEnd.oldHouseStatus" direction="horizontal"> | |||
| <van-radio name="0">是</van-radio> | |||
| <van-radio name="1">否</van-radio> | |||
| </van-radio-group> | |||
| </template> | |||
| </van-cell> | |||
| <van-field label="备注" placeholder="" input-align="right"/> | |||
| </div> | |||
| </div> | |||
| <!--applicationDetail.tHouseApplyEnd--> | |||
| <div v-if="false" style="margin: 16px;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton">保存</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton">保存并提交</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { allInformationAnnounce , treeSingleProcessView , attachmentFind , saveHouseBaseInfo , houseList , attach , removeFile , saveHouseBaseInfoThenSubmit} from "@/api/onlineHome/homestead/application"; | |||
| export default { | |||
| name: "informationDetail", | |||
| data() { | |||
| return { | |||
| active: 0, | |||
| nowTime: '',//当前日期 | |||
| fileList: [], | |||
| fileList2: [], | |||
| radio:'1', | |||
| value: '', | |||
| columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'], | |||
| showPicker: false, | |||
| showBuildingType: false, | |||
| showLandIsposal: false, | |||
| showHousingStructure: false, | |||
| showStartDate: false, | |||
| showEndDate: false, | |||
| showApplyTime:false, | |||
| showHouseType:false, | |||
| showHouse:false, | |||
| showSex:false, | |||
| id:'', | |||
| applicationDetail:[], | |||
| //建房类型字典 | |||
| buildingType:[], | |||
| //性别字典 | |||
| userSex:[], | |||
| //处置情况字典 | |||
| landIsposal:[], | |||
| //房屋构造字典 | |||
| housingStructure:[], | |||
| //户型 | |||
| houseType:[], | |||
| //请求参数 | |||
| parameter:{ | |||
| businessType: "house", | |||
| houseApplyStatus: '', | |||
| processKey: "baseApply", | |||
| tableName: "t_house_apply_proposer" | |||
| }, | |||
| //文件配置 | |||
| fileArray:[], | |||
| //获取上传附件 | |||
| params:{ | |||
| tableId: '', | |||
| tableName: "t_house_apply_proposer", | |||
| fileType: '' | |||
| }, | |||
| auditStatus:false, | |||
| activeNames:['1'], | |||
| housingStructureValue:'',//当前显示房屋构造 | |||
| buildingTypeValue:'',//当前显示建房类型 | |||
| landIsposalValue:'',//当前显示处置情况 | |||
| houseTypeValue:'',//当前显示户型 | |||
| sexValue:'',//当前显示性别 | |||
| CurrentSituation:false, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.type = this.$route.query.type; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| goFlow(){ | |||
| window.location='flowChart?id='+this.id; | |||
| }, | |||
| //更新文件回显 | |||
| afterRead(file) { | |||
| this.$forceUpdate(); | |||
| }, | |||
| //删除图片 | |||
| deleteFile(elIndex){ | |||
| if(elIndex.id != ''){ | |||
| removeFile(elIndex.id).then(response => {}); | |||
| } | |||
| this.$forceUpdate(); | |||
| return (file, name) => { | |||
| let fileIndex = name.index | |||
| this.fileList[elIndex].splice(fileIndex, 1) | |||
| this.upLoadList[elIndex].splice(fileIndex, 1) | |||
| } | |||
| }, | |||
| //获取数据集合 | |||
| getDetail(){ | |||
| allInformationAnnounce(this.id).then(response => { | |||
| //性别字典查询 | |||
| this.houseGetDicts("sys_user_sex").then((res) => { | |||
| res.data.map(item => { | |||
| this.userSex.push({ value:item.dictValue, text: item.dictLabel}); | |||
| }); | |||
| this.sexValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposer.sex); | |||
| }); | |||
| //建房类型字典查询 | |||
| this.houseGetDicts("building_type").then((res) => { | |||
| res.data.map(item => { | |||
| this.buildingType.push({ value:item.dictValue, text: item.dictLabel}); | |||
| }); | |||
| this.buildingTypeValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposedSituation.buildingType); | |||
| }); | |||
| //房屋构造字典查询 | |||
| this.houseGetDicts("housing_structure").then((res) => { | |||
| res.data.map(item => { | |||
| this.housingStructure.push({ value:item.dictValue, text: item.dictLabel}); | |||
| }); | |||
| this.housingStructureValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposedSituation.housingStructure); | |||
| }); | |||
| //处置情况字典查询 | |||
| if(response.data.tHouseApplyProposer.existHomestead == 'Y'){ | |||
| this.CurrentSituation = true ; | |||
| this.houseGetDicts("land_isposal").then((res) => { | |||
| res.data.map(item => { | |||
| this.landIsposal.push({ value:item.dictValue, text: item.dictLabel}); | |||
| }); | |||
| this.landIsposalValue= this.selectDictLabel(res.data, response.data.tHouseApplyCurrentSituation.landIsposal); | |||
| }); | |||
| } | |||
| //户型图查询 | |||
| houseList().then(res => { | |||
| res.rows.map(item => { | |||
| this.houseType.push({ value:item.id, text: item.name}); | |||
| }); | |||
| if(response.data.tHouseApplyProposedSituation.houseTypeId != null){ | |||
| for (let i = 0 ; i < res.rows.length ; i++){ | |||
| if (res.rows[i].id = response.data.tHouseApplyProposedSituation.houseTypeId){ | |||
| this.houseTypeValue = res.rows[i].name | |||
| } | |||
| } | |||
| this.showHouse = true; | |||
| } | |||
| }); | |||
| this.applicationDetail = response.data; | |||
| this.parameter.houseApplyStatus = response.data.tHouseApplyProposer.houseApplyStatus; | |||
| let currentProcessKey = response.data.currentProcessKey; | |||
| this.auditStatus = response.data.tHouseApplyProposer.auditStatus != 0; | |||
| //判断当前审核进行到哪一步 | |||
| if (currentProcessKey == 'baseApply'){ | |||
| this.active = 0; | |||
| } | |||
| if (currentProcessKey == 'landscope'){ | |||
| this.active = 1; | |||
| } | |||
| if (currentProcessKey == 'accepting'){ | |||
| this.active = 2; | |||
| } | |||
| //获取上传文件列表 | |||
| treeSingleProcessView(this.parameter).then(res => { | |||
| this.fileArray = res.rows | |||
| this.params.tableId = this.id; | |||
| for (let i = 0 ; i < res.rows.length ; i++){ | |||
| this.params.fileType = res.rows[i].fileType; | |||
| this.fileArray[i].findList = []; | |||
| //获取文件集合 | |||
| attachmentFind(this.params).then(res2 => { | |||
| for (let j = 0 ; j < res2.data.length ; j++){ | |||
| this.fileArray[i].findList[j] = {url: process.env.VUE_APP_BASE_ROUTING_URL+ res2.data[j].fileUrl, isImage: true , id:res2.data[j].id} ; | |||
| this.$forceUpdate(); | |||
| } | |||
| }); | |||
| } | |||
| }); | |||
| }); | |||
| }, | |||
| onConfirmApplyTime(date) { | |||
| this.applicationDetail.tHouseApplyProposer.applyTime = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; | |||
| this.showApplyTime = false; | |||
| }, | |||
| //基地开工时间 | |||
| onConfirmStartDate(date) { | |||
| this.applicationDetail.tHouseApplyStart.startDate = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; | |||
| this.showStartDate = false; | |||
| }, | |||
| //基地竣工时间 | |||
| onConfirmEndDate(date) { | |||
| this.applicationDetail.tHouseApplyStart.endDate = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; | |||
| this.showEndDate = false; | |||
| }, | |||
| //选择建房类型 | |||
| onConfirmBuildingType(data){ | |||
| this.buildingTypeValue = data.text; | |||
| this.applicationDetail.tHouseApplyProposedSituation.buildingType = data.value; | |||
| this.showBuildingType = false; | |||
| }, | |||
| //选择宅基地处置情况 | |||
| onConfirmLandIsposal(data){ | |||
| this.landIsposalValue = data.text; | |||
| this.applicationDetail.tHouseApplyCurrentSituation.landIsposal = data.value; | |||
| this.showLandIsposal = false; | |||
| }, | |||
| //选择房屋构造 | |||
| onConfirmHousingStructure(data){ | |||
| this.housingStructureValue = data.text; | |||
| this.applicationDetail.tHouseApplyProposedSituation.housingStructure = data.value; | |||
| this.showHousingStructure = false; | |||
| }, | |||
| //选择户型 | |||
| onConfirmHouseType(data){ | |||
| this.houseTypeValue = data.text; | |||
| this.applicationDetail.tHouseApplyProposedSituation.houseTypeId = data.value; | |||
| this.showHouseType = false; | |||
| }, | |||
| //选择性别 | |||
| onConfirmSex(data){ | |||
| this.sexValue = data.text; | |||
| this.applicationDetail.tHouseApplyProposer.sex = data.value; | |||
| this.showSex = false; | |||
| }, | |||
| //添加家庭成员 | |||
| addFamily(){ | |||
| this.applicationDetail.tHouseApplyFamilyMembers.push({ | |||
| applyProposerId:this.applicationDetail.tHouseApplyFamilyMembers[0].applyProposerId, | |||
| memberName:'', | |||
| age:'', | |||
| familyStatusName:'', | |||
| idcard :'', | |||
| householdRegister:'', | |||
| }); | |||
| }, | |||
| //删除家庭成员 | |||
| deleteFamily(index){ | |||
| this.applicationDetail.tHouseApplyFamilyMembers.splice(index,1) | |||
| }, | |||
| //是否有宅基地选项改变 | |||
| existHomesteadChange(name){ | |||
| if (name == 'Y'){ | |||
| if (this.applicationDetail.tHouseApplyCurrentSituation == null){ | |||
| //现宅基地情况 | |||
| this.applicationDetail.tHouseApplyCurrentSituation = { | |||
| //宅基地面积 | |||
| landArea: '', | |||
| //人均宅基地面积 | |||
| landPerArea: '', | |||
| //不动产单元号 | |||
| landCertificateNo: '', | |||
| //农民房屋幢号 | |||
| houseCertificateNo: '', | |||
| //建筑面积 | |||
| buildingArea: '', | |||
| //人均建筑面积 | |||
| buildingPerArea: '', | |||
| //现宅基地处置情况 字典 land_isposal | |||
| landIsposal: "" | |||
| }; | |||
| this.CurrentSituation = true ; | |||
| //处置情况字典查询 | |||
| this.houseGetDicts("land_isposal").then((res) => { | |||
| res.data.map(item => { | |||
| this.landIsposal.push({ value:item.dictValue, text: item.dictLabel}); | |||
| }); | |||
| this.landIsposalValue= this.selectDictLabel(res.data, this.applicationDetail.tHouseApplyCurrentSituation.landIsposal); | |||
| }); | |||
| } | |||
| this.CurrentSituation = true; | |||
| }else{ | |||
| this.CurrentSituation = false; | |||
| } | |||
| }, | |||
| //图纸选择改变 | |||
| designPaperChange(name){ | |||
| if(name == 2){ | |||
| this.showHouse = true; | |||
| }else{ | |||
| this.showHouse = false; | |||
| } | |||
| }, | |||
| base64toFile(dataurl, filename = "file") { | |||
| let arr = dataurl.split(","); | |||
| let mime = arr[0].match(/:(.*?);/)[1]; | |||
| let suffix = mime.split("/")[1]; | |||
| let bstr = atob(arr[1]); | |||
| let n = bstr.length; | |||
| let u8arr = new Uint8Array(n); | |||
| while (n--) { | |||
| u8arr[n] = bstr.charCodeAt(n); | |||
| } | |||
| return new File([u8arr], `${filename}.${suffix}`, { | |||
| type: mime, | |||
| }); | |||
| }, | |||
| //申请提交 | |||
| onSubmit(type){ | |||
| var that = this; | |||
| let form = {}; | |||
| form.fileList=[]; | |||
| this.fileList.tableId = this.id; | |||
| for (let i = 0 ; i < this.fileArray.length ; i++){ | |||
| if (this.fileArray[i].findList == null || this.fileArray[i].findList == undefined || this.fileArray[i].findList == ''){ | |||
| continue | |||
| } | |||
| for (let j = 0 ; j < this.fileArray[i].findList.length ; j++){ | |||
| const params = new FormData() | |||
| params.append('tableId', this.id) | |||
| params.append('tableName', 't_house_apply_proposer') | |||
| params.append('bizPath', 't_house_apply_proposer') | |||
| params.append('fileType', this.fileArray[i].fileType) | |||
| if (this.fileArray[i].findList[j].url){ | |||
| continue; | |||
| } | |||
| params.append('file', this.base64toFile(this.fileArray[i].findList[j].content)) | |||
| attach(params).then(res => { | |||
| form.fileList.push(res.id); | |||
| }); | |||
| } | |||
| } | |||
| form.tHouseApplyProposer=this.applicationDetail.tHouseApplyProposer; | |||
| form.tHouseApplyFamilyMembers=this.applicationDetail.tHouseApplyFamilyMembers; | |||
| form.tHouseApproveVillageOptions=this.applicationDetail.tHouseApproveVillageOptions; | |||
| form.tHouseApplyCurrentSituation=this.applicationDetail.tHouseApplyCurrentSituation; | |||
| form.tHouseApplyProposedSituation=this.applicationDetail.tHouseApplyProposedSituation; | |||
| setTimeout(function(){ | |||
| if (type == 'keep'){ | |||
| saveHouseBaseInfo(form).then(res => { | |||
| if(res.code = 200){ | |||
| that.$toast.success('保存成功'); | |||
| } | |||
| }); | |||
| } | |||
| if (type == 'submit'){ | |||
| saveHouseBaseInfoThenSubmit(form).then(res => { | |||
| if(res.code = 200){ | |||
| that.$toast.success('提交成功'); | |||
| } | |||
| }); | |||
| } | |||
| },1000) | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding-bottom: 5%; | |||
| } | |||
| .van-steps{ | |||
| padding: 2% 6% 0; | |||
| } | |||
| .topTit{ | |||
| margin-top: 0.4rem; | |||
| font-size: 0.45rem; | |||
| background-color: #1D6FE9; | |||
| color: #FFFFFF; | |||
| line-height: 58px; | |||
| text-align: center; | |||
| padding: 15px 0; | |||
| box-shadow: 0px 3px 6px 0px rgba(15,67,145,0.40); | |||
| } | |||
| .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; | |||
| } | |||
| .collapse{ | |||
| width: 96%; | |||
| margin: 0 auto; | |||
| border-radius: 6px; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| overflow: hidden; | |||
| margin-bottom: 15px; | |||
| } | |||
| /deep/.van-radio--horizontal{ | |||
| margin-left: 20px; | |||
| margin-right: 0; | |||
| } | |||
| .file-box{ | |||
| padding: 2% 5% 0; | |||
| } | |||
| .submitButton{ | |||
| width: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| border-radius: 14px; | |||
| } | |||
| .timeTit{ | |||
| text-align: center; | |||
| font-size: 16px; | |||
| line-height: 27px; | |||
| } | |||
| .action-box{ | |||
| padding: 15px 0!important; | |||
| margin-top: 0.4rem; | |||
| } | |||
| .check-box{ | |||
| margin-top: 0.4rem; | |||
| } | |||
| .addFamily{ | |||
| position: absolute; | |||
| top: -2px; | |||
| right: 0; | |||
| border-radius: 50%; | |||
| } | |||
| .deleteFamily{ | |||
| position: absolute; | |||
| top: -0.3rem; | |||
| right: 6%; | |||
| z-index: 9; | |||
| border-radius: 50%; | |||
| } | |||
| .familyList{ | |||
| margin-top: 0.4rem; | |||
| position: relative; | |||
| } | |||
| .noModify{ | |||
| .topTit{ | |||
| background-color:#ABABAB ; | |||
| box-shadow: 0px 3px 6px 0px rgba(171,171,171,0.40); | |||
| } | |||
| .van-cell__title{ | |||
| color: #B4B0B0; | |||
| } | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,142 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">公示信息</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-search v-model="value" placeholder="请输入姓名" class="searchInput" @search="onSearch" show-action> | |||
| <template #action> | |||
| <div @click="onSearch" style="color:#B4B0B0 ">搜索</div> | |||
| </template> | |||
| </van-search> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in informationList" :key="index"> | |||
| <van-cell :title="item.projectName" :value="item.announceStatus" center :to="{name:'informationDetail', query: {id:item.applyProposerId}}"> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd8.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.announceType}}<i style="margin-right: 0.2rem;"></i>{{item.startDate}}至{{item.endDate}}</p> | |||
| </template> | |||
| </van-cell> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList } from "@/api/onlineHome/homestead/information"; | |||
| export default { | |||
| name: "informationList", | |||
| data() { | |||
| return { | |||
| value:'', | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| announceStatus:2, | |||
| memberName:'' | |||
| }, | |||
| informationList:[], | |||
| announceStatus:[], | |||
| announceTypeStatus:[] | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("announce_status").then((response) => { | |||
| this.announceStatus = response.data; | |||
| }); | |||
| this.houseGetDicts("announce_type").then((response) => { | |||
| this.announceTypeStatus = response.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| var announceStatus = this.selectDictLabel(this.announceStatus, response.rows[i].announceStatus); | |||
| var announceType = this.selectDictLabel(this.announceTypeStatus, response.rows[i].announceType); | |||
| response.rows[i].announceStatus = announceStatus; | |||
| response.rows[i].announceType = announceType; | |||
| this.informationList.push(response.rows[i]); | |||
| } | |||
| console.log(this.informationList.length >= response.total) | |||
| if(this.informationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| onSearch(){ | |||
| this.queryParams.memberName = this.value; | |||
| this.informationList = []; | |||
| this.getList(); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.85; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.15; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| /deep/.van-search__content{ | |||
| background-color: transparent; | |||
| } | |||
| /deep/.van-search__action{ | |||
| padding-right: 0.5rem; | |||
| } | |||
| .searchInput{ | |||
| background: #ffffff; | |||
| border: 1px solid #c9c9c9; | |||
| border-radius: 50px; | |||
| padding:0 ; | |||
| margin-bottom: 0.2rem; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,256 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">任务上报</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="是否在建建筑物" | |||
| placeholder="请选择" | |||
| v-model="sfzjjzw" | |||
| @click="showSys = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showSys" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysDictionaries" | |||
| @confirm="onConfirmSys" | |||
| @cancel="showSys = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="宅基地代码" v-model="jgList.zjddm" placeholder="请输入宅基地代码" input-align="right" /> | |||
| <!-- <van-popup v-model="showZjd" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- @cancel="showZjd = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="监管类型" | |||
| placeholder="请选择" | |||
| v-model="jglx" | |||
| @click="showjglx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showjglx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="jglxDictionaries" | |||
| @confirm="onConfirmJglx" | |||
| @cancel="showjglx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="jgList.lasj" | |||
| label="立案时间" | |||
| placeholder="请选择立案时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="巡查人" v-model="jgList.inspector" placeholder="请输入巡查人" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="巡查时间" | |||
| v-model="jgList.inspectorTime" | |||
| placeholder="请选择巡查时间" | |||
| @click="showinspectorTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showinspectorTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmInspectorTime" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <p class="main_title">违法信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="违法用地类型" | |||
| placeholder="请选择" | |||
| v-model="wfydlx" | |||
| @click="showwfydlx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showwfydlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="wfydlxDictionaries" | |||
| @confirm="onConfirmWfydlx" | |||
| @cancel="showwfydlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" @click="goBack" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="goAdd" class="submitButton">上<i style="margin-right: 1em;"></i>报</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { jgAdd } from "@/api/onlineHome/homestead/reporting"; | |||
| export default { | |||
| name: "taskCloseCaseAdd", | |||
| data() { | |||
| return { | |||
| showSys:false, | |||
| showjglx:false, | |||
| showlasj:false, | |||
| showinspectorTime:false, | |||
| showwfydlx:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| sfzjjzw:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| this.jgList.taskId = this.$route.query.id; | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| //违法用地类型 | |||
| this.houseGetDicts("villations_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //监管类型 | |||
| this.houseGetDicts("jglx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //是否在建建筑物 | |||
| this.houseGetDicts("sys_yes_no").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmSys(data){ | |||
| this.sfzjjzw = data.text; | |||
| this.jgList.sfzjjzw = data.value; | |||
| this.showSys = false; | |||
| }, | |||
| onConfirmJglx(data){ | |||
| this.jglx = data.text; | |||
| this.jgList.jglx = data.value; | |||
| this.showjglx = false; | |||
| }, | |||
| onConfirmWfydlx(data){ | |||
| this.wfydlx = data.text; | |||
| this.jgList.wfydlx = data.value; | |||
| this.showwfydlx = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.jgList.lasj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| onConfirmInspectorTime(data){ | |||
| this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10); | |||
| this.showinspectorTime = false; | |||
| }, | |||
| goAdd(){ | |||
| console.log(this.jgList) | |||
| jgAdd(this.jgList).then(response => { | |||
| console.log(response); | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,111 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">结案</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <div class="main_box" v-for="(item,index) in applicationList" :key="index"> | |||
| <van-field readonly label="ID" input-align="right" v-model="item.id" label-width="auto" /> | |||
| <van-field readonly label="宅基地代码" input-align="right" v-model="item.zjddm" label-width="auto" /> | |||
| <van-field readonly label="监管类型" input-align="right" v-model="item.jglx" label-width="auto" /> | |||
| <van-field readonly label="立案时间" input-align="right" v-model="item.lasj" label-width="auto" /> | |||
| <van-field readonly label="违法用地类型" input-align="right" v-model="item.wfydlx" label-width="auto" /> | |||
| <van-field readonly label="违法用地面积" input-align="right" v-model="item.wfydmj+'㎡'" label-width="auto"/> | |||
| <van-cell title="操作" > | |||
| <template #default> | |||
| <van-button :to="{name:'taskReportingDetail', query: {id:item.id}}" color="#FFA63E" round type="default" size="mini" style="padding: 0 15px">查看</van-button> | |||
| <van-button v-if="item.status != 2" :to="{name:'taskReportingAdd', query: {id:item.id}}" color="#1D6FE9" round type="default" size="mini" style="padding: 0 15px">结案</van-button> | |||
| </template> | |||
| </van-cell> | |||
| </div> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getTaskList } from "@/api/onlineHome/homestead/reporting"; | |||
| export default { | |||
| name: "taskDetailedList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| jglxStatus:[], | |||
| wfydlxStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| taskId:'', | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.taskId = this.$route.query.id; | |||
| this.houseGetDicts("jglx").then((res) => { | |||
| this.jglxStatus = res.data; | |||
| }); | |||
| this.houseGetDicts("villations_type").then((res) => { | |||
| this.wfydlxStatus = res.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getTaskList(this.queryParams).then(response => { | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].jglx = this.selectDictLabel(this.jglxStatus, response.rows[i].jglx) | |||
| response.rows[i].wfydlx = this.selectDictLabel(this.wfydlxStatus, response.rows[i].wfydlx) | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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; | |||
| margin-bottom: 2%; | |||
| } | |||
| .submitButton{ | |||
| width: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,194 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">结案</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="是否在建建筑物" | |||
| v-model="sfzjjzw" | |||
| @click="showSys = true" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" /> | |||
| <!-- <van-popup v-model="showZjd" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- @cancel="showZjd = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="监管类型" | |||
| v-model="jglx" | |||
| @click="showjglx = true" | |||
| input-align="right" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="jgList.lasj" | |||
| label="立案时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| /> | |||
| <van-field readonly label="巡查人" v-model="jgList.inspector" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="巡查时间" | |||
| v-model="jgList.inspectorTime" | |||
| @click="showinspectorTime = true" | |||
| input-align="right" | |||
| /> | |||
| </div> | |||
| <p class="main_title">违法信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="违法用地类型" | |||
| placeholder="请选择" | |||
| v-model="wfydlx" | |||
| @click="showwfydlx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showwfydlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="wfydlxDictionaries" | |||
| @confirm="onConfirmWfydlx" | |||
| @cancel="showwfydlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" @click="goBack" native-type="submit" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="goAdd" class="submitButton">结<i style="margin-right: 1em;"></i>案</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { closeCase , getJg } from "@/api/onlineHome/homestead/reporting"; | |||
| export default { | |||
| name: "taskCloseCaseAdd", | |||
| data() { | |||
| return { | |||
| showSys:false, | |||
| showjglx:false, | |||
| showlasj:false, | |||
| showinspectorTime:false, | |||
| showwfydlx:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| sfzjjzw:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.jgList.taskId = this.$route.query.id; | |||
| this.houseGetDicts("jglx").then((res) => { | |||
| this.jglxDictionaries = res.data; | |||
| }); | |||
| this.houseGetDicts("sys_yes_no").then((res) => { | |||
| console.log(res) | |||
| this.sysDictionaries = res.data; | |||
| }); | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getJg(this.$route.query.id).then(response => { | |||
| console.log(this.selectDictLabel(this.jglxDictionaries, response.data.jglx)) | |||
| this.houseGetDicts("villations_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx); | |||
| }); | |||
| this.jglx = this.selectDictLabel(this.jglxDictionaries, response.data.jglx); | |||
| this.sfzjjzw = this.selectDictLabel(this.sysDictionaries, response.data.sfzjjzw); | |||
| this.jgList = response.data; | |||
| }) | |||
| }, | |||
| onConfirmWfydlx(data){ | |||
| this.wfydlx = data.text; | |||
| this.jgList.wfydlx = data.value; | |||
| this.showwfydlx = false; | |||
| }, | |||
| goAdd(){ | |||
| closeCase(this.jgList).then(response => { | |||
| console.log(response); | |||
| this.$toast.success('结案成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,163 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">结案</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| label="是否在建建筑物" | |||
| v-model="sfzjjzw" | |||
| input-align="right" | |||
| label-width="auto" | |||
| /> | |||
| <van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" /> | |||
| <!-- <van-popup v-model="showZjd" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- @cancel="showZjd = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-field | |||
| readonly | |||
| label="监管类型" | |||
| v-model="jglx" | |||
| input-align="right" | |||
| /> | |||
| <van-field | |||
| readonly | |||
| v-model="jgList.lasj" | |||
| label="立案时间" | |||
| input-align="right" | |||
| /> | |||
| <van-field readonly label="巡查人" v-model="jgList.inspector" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| label="巡查时间" | |||
| v-model="jgList.inspectorTime" | |||
| input-align="right" | |||
| /> | |||
| </div> | |||
| <p class="main_title">违法信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| label="违法用地类型" | |||
| v-model="wfydlx" | |||
| input-align="right" | |||
| /> | |||
| <van-field readonly v-model="jgList.wfydmj" label="违法用地面积" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="jgList.fmkje" label="罚没款金额" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="jgList.msmj" label="没收面积" input-align="right" label-width="auto"/> | |||
| <van-field readonly v-model="jgList.ccmj" label="拆除面积" input-align="right" label-width="auto"/> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { closeCase , getJg } from "@/api/onlineHome/homestead/reporting"; | |||
| export default { | |||
| name: "taskCloseCaseAdd", | |||
| data() { | |||
| return { | |||
| showSys:false, | |||
| showjglx:false, | |||
| showlasj:false, | |||
| showinspectorTime:false, | |||
| showwfydlx:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| sfzjjzw:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.jgList.taskId = this.$route.query.id; | |||
| this.houseGetDicts("jglx").then((res) => { | |||
| this.jglxDictionaries = res.data; | |||
| }); | |||
| this.houseGetDicts("sys_yes_no").then((res) => { | |||
| console.log(res) | |||
| this.sysDictionaries = res.data; | |||
| }); | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| getJg(this.$route.query.id).then(response => { | |||
| console.log(this.selectDictLabel(this.jglxDictionaries, response.data.jglx)) | |||
| this.houseGetDicts("villations_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx); | |||
| }); | |||
| this.jglx = this.selectDictLabel(this.jglxDictionaries, response.data.jglx); | |||
| this.sfzjjzw = this.selectDictLabel(this.sysDictionaries, response.data.sfzjjzw); | |||
| this.jgList = response.data; | |||
| }) | |||
| }, | |||
| onConfirmWfydlx(data){ | |||
| this.wfydlx = data.text; | |||
| this.jgList.wfydlx = data.value; | |||
| this.showwfydlx = false; | |||
| }, | |||
| goAdd(){ | |||
| closeCase(this.jgList).then(response => { | |||
| console.log(response); | |||
| this.$toast.success('结案成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,134 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">任务上报</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :value="item.taskSubjectStatus" center> | |||
| <template #title> | |||
| <p class="van-ellipsis">{{item.title}}</p> | |||
| </template> | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd10.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.reportDeadline}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button square text="上报" :to="{name:'taskCloseCaseAdd', query: {id:item.id}}" type="info" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button color="#FFA63E" square :to="{name:'taskDetailedList', query: {id:item.id}}" type="info" class="delete-button" > | |||
| 上报<br/>情况 | |||
| </van-button> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList } from "@/api/onlineHome/homestead/reporting"; | |||
| export default { | |||
| name: "paidExit", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| taskSubjectStatusStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'createTime', | |||
| isAsc:'desc', | |||
| taskSubjectStatus:'2' | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("task_subject_status").then((res) => { | |||
| this.taskSubjectStatusStatus = res.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].taskSubjectStatus = this.selectDictLabel(this.taskSubjectStatusStatus, response.rows[i].taskSubjectStatus) | |||
| response.rows[i].title=response.rows[i].title.replace(/<[^>]+>/g,"").replace(/ /ig,"");//截取html标签 | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| width: 50%!important; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,281 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">添加违法监管</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="是否在建建筑物" | |||
| placeholder="请选择" | |||
| v-model="sfzjjzw" | |||
| @click="showSys = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showSys" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysDictionaries" | |||
| @confirm="onConfirmSys" | |||
| @cancel="showSys = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="宅基地代码" v-model="jgList.zjddm" placeholder="请输入宅基地代码" input-align="right" /> | |||
| <!-- <van-popup v-model="showZjd" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- @cancel="showZjd = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="监管类型" | |||
| placeholder="请选择" | |||
| v-model="jglx" | |||
| @click="showjglx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showjglx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="jglxDictionaries" | |||
| @confirm="onConfirmJglx" | |||
| @cancel="showjglx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="jgList.lasj" | |||
| label="立案时间" | |||
| placeholder="请选择立案时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="巡查人" v-model="jgList.inspector" placeholder="请输入巡查人" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="巡查时间" | |||
| v-model="jgList.inspectorTime" | |||
| placeholder="请选择巡查时间" | |||
| @click="showinspectorTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showinspectorTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmInspectorTime" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="备注" v-model="jgList.bz" placeholder="填写备注" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">违法信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="违法用地类型" | |||
| placeholder="请选择" | |||
| v-model="wfydlx" | |||
| @click="showwfydlx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showwfydlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="wfydlxDictionaries" | |||
| @confirm="onConfirmWfydlx" | |||
| @cancel="showwfydlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="整改截止时间" | |||
| placeholder="选择整改截止时间" | |||
| v-model="jgList.reformDeadline" | |||
| @click="showReformDeadline = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showReformDeadline" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmReformDeadline" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" @click="goBack" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="goAdd" class="submitButton">添<i style="margin-right: 1em;"></i>加</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { jgAdd } from "@/api/onlineHome/homestead/reporting"; | |||
| export default { | |||
| name: "supervisionAdd", | |||
| data() { | |||
| return { | |||
| showSys:false, | |||
| showjglx:false, | |||
| showlasj:false, | |||
| showinspectorTime:false, | |||
| showwfydlx:false, | |||
| showReformDeadline:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| sfzjjzw:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getDictionaries(); | |||
| }, | |||
| methods: { | |||
| getDictionaries(){ | |||
| //违法用地类型 | |||
| this.houseGetDicts("villations_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //监管类型 | |||
| this.houseGetDicts("jglx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| //是否在建建筑物 | |||
| this.houseGetDicts("sys_yes_no").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| }); | |||
| }, | |||
| onConfirmSys(data){ | |||
| this.sfzjjzw = data.text; | |||
| this.jgList.sfzjjzw = data.value; | |||
| this.showSys = false; | |||
| }, | |||
| onConfirmJglx(data){ | |||
| this.jglx = data.text; | |||
| this.jgList.jglx = data.value; | |||
| this.showjglx = false; | |||
| }, | |||
| onConfirmWfydlx(data){ | |||
| this.wfydlx = data.text; | |||
| this.jgList.wfydlx = data.value; | |||
| this.showwfydlx = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.jgList.lasj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| onConfirmInspectorTime(data){ | |||
| this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10); | |||
| this.showinspectorTime = false; | |||
| }, | |||
| onConfirmReformDeadline(data){ | |||
| this.jgList.reformDeadline = this.getNowFormatDate(data).substr(0,10); | |||
| this.showReformDeadline = false; | |||
| }, | |||
| goAdd(){ | |||
| console.log(this.jgList) | |||
| jgAdd(this.jgList).then(response => { | |||
| console.log(response); | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,201 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">结案</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <p class="main_title">基本信息</p> | |||
| <div class="main_box"> | |||
| <van-field readonly label="是否在建建筑物" v-model="sfzjjzw" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" label-width="auto" /> | |||
| <van-field readonly label="监管类型" v-model="jglx" input-align="right"/> | |||
| <van-field readonly label="立案时间" v-model="jgList.lasj" input-align="right" /> | |||
| <van-field readonly label="巡查人" v-model="jgList.inspector" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="巡查时间" v-model="jgList.inspectorTime" input-align="right" /> | |||
| <van-field readonly label="违法用地类型" v-model="wfydlx" input-align="right" /> | |||
| <van-field readonly label="违法用地面积" v-model="jgList.wfydmj" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="罚没款金额" v-model="jgList.fmkje" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="请输入面积" v-model="jgList.msmj" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="拆除面积" v-model="jgList.ccmj" input-align="right" label-width="auto"/> | |||
| <van-field readonly label="整改截止时间" v-model="jgList.reformDeadline" input-align="right" /> | |||
| <van-field readonly label="备注" v-model="jgList.bz" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">结案信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="结案时间" | |||
| placeholder="选择结案时间" | |||
| v-model="jgList.jasj" | |||
| @click="showjasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showjasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmJasj" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="jgList.zfrxm" label="执法人姓名" placeholder="请输入姓名" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.zfdw" label="执法单位" placeholder="请输入执法单位" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.qtjgyy" label="其他监管原因" placeholder="请输入监管原因" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.qtjgjg" label="其他监管结果" placeholder="请输入监管结果" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goBack">取<i style="margin-right: 1em;"></i>消</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" class="submitButton" @click="goAdd">结<i style="margin-right: 1em;"></i>案</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { supervisionAdd , getSupervision , closeCase } from "@/api/onlineHome/homestead/supervision"; | |||
| export default { | |||
| name: "supervisionCloseCase", | |||
| data() { | |||
| return { | |||
| showSys:false, | |||
| showjglx:false, | |||
| showlasj:false, | |||
| showinspectorTime:false, | |||
| showwfydlx:false, | |||
| showReformDeadline:false, | |||
| showjasj:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| sfzjjzw:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getTaskGet(); | |||
| }, | |||
| methods: { | |||
| getTaskGet(){ | |||
| getSupervision(this.$route.query.id).then(response => { | |||
| console.log(response) | |||
| //违法用地类型 | |||
| this.houseGetDicts("villations_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx); | |||
| }); | |||
| //监管类型 | |||
| this.houseGetDicts("jglx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.jglx = this.selectDictLabel(res.data, response.data.jglx); | |||
| }); | |||
| //是否在建建筑物 | |||
| this.houseGetDicts("sys_yes_no").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.sfzjjzw = this.selectDictLabel(res.data, response.data.sfzjjzw); | |||
| }); | |||
| this.jgList = response.data; | |||
| }); | |||
| }, | |||
| onConfirmSys(data){ | |||
| this.sfzjjzw = data.text; | |||
| this.jgList.sfzjjzw = data.value; | |||
| this.showSys = false; | |||
| }, | |||
| onConfirmJglx(data){ | |||
| this.jglx = data.text; | |||
| this.jgList.jglx = data.value; | |||
| this.showjglx = false; | |||
| }, | |||
| onConfirmWfydlx(data){ | |||
| this.wfydlx = data.text; | |||
| this.jgList.wfydlx = data.value; | |||
| this.showwfydlx = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.jgList.lasj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| onConfirmInspectorTime(data){ | |||
| this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10); | |||
| this.showinspectorTime = false; | |||
| }, | |||
| onConfirmReformDeadline(data){ | |||
| this.jgList.reformDeadline = this.getNowFormatDate(data).substr(0,10); | |||
| this.showReformDeadline = false; | |||
| }, | |||
| onConfirmJasj(data){ | |||
| this.jgList.jasj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showjasj = false; | |||
| }, | |||
| goAdd(){ | |||
| closeCase(this.jgList).then(response => { | |||
| this.$toast.success('结案成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,178 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| @click-right="goAdd" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">违法监管</p> | |||
| </template> | |||
| <template #right> | |||
| <van-icon name="add" size="18" /> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList" | |||
| > | |||
| <van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
| <van-cell :title="item.zjddm" :value="item.status" center > | |||
| <template #icon> | |||
| <van-icon name="../../../static/images/onlineHome/icon_zjd12.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
| </template> | |||
| <template #label> | |||
| <p>{{item.jglx}}<i style="margin-right: 0.5rem;"></i>{{item.taskSource}}</p> | |||
| </template> | |||
| </van-cell> | |||
| <template #right> | |||
| <van-row> | |||
| <van-col> | |||
| <van-button v-if="item.status != '已结案' && item.status == '未立案'" color="#FFA63E" text="立案" square @click="onRegister(item.id)" type="info" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.status != '已结案' && item.status == '已立案'" color="#7DDA4F" square text="结案" :to="{name:'supervisionCloseCase', query: {id:item.id}}" type="danger" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.status != '已结案' && item.status == '未立案'" square text="修改" :to="{name:'supervisionModify', query: {id:item.id}}" type="info" class="delete-button" /> | |||
| </van-col> | |||
| <van-col> | |||
| <van-button v-if="item.status != '已结案' && item.status == '未立案'" color="#FF4646" square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" /> | |||
| </van-col> | |||
| </van-row> | |||
| </template> | |||
| </van-swipe-cell> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { getList , removeList , registerOn } from "@/api/onlineHome/homestead/supervision"; | |||
| export default { | |||
| name: "supervisionList", | |||
| data() { | |||
| return { | |||
| applicationList:[], | |||
| houseApplyStatus:[], | |||
| tcqllxStatus:[], | |||
| tclxStatus:[], | |||
| tcfsStatus:[], | |||
| auditStatus:[], | |||
| loading: false, | |||
| finished: false, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| isAsc:'desc' | |||
| } | |||
| }; | |||
| }, | |||
| created() { | |||
| this.houseGetDicts("regulatory_status").then((res) => { | |||
| this.auditStatus = res.data; | |||
| }); | |||
| //违法用地类型 | |||
| this.houseGetDicts("task_source").then((res) => { | |||
| console.log(res.data) | |||
| this.taskSourceDictionaries = res.data; | |||
| }); | |||
| //违法用地类型 | |||
| this.houseGetDicts("jglx").then((res) => { | |||
| this.jglxDictionaries = res.data; | |||
| }); | |||
| }, | |||
| methods: { | |||
| goAdd(){ | |||
| window.location = 'supervisionAdd'; | |||
| }, | |||
| getList(){ | |||
| setTimeout(() => { | |||
| getList(this.queryParams).then(response => { | |||
| console.log(response) | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| response.rows[i].status = this.selectDictLabel(this.auditStatus, response.rows[i].status); | |||
| response.rows[i].jglx = this.selectDictLabel(this.jglxDictionaries, response.rows[i].jglx); | |||
| response.rows[i].taskSource = this.selectDictLabel(this.taskSourceDictionaries, response.rows[i].taskSource); | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| if(this.applicationList.length >= response.total){ | |||
| this.finished = true; | |||
| return; | |||
| }else{ | |||
| this.loading = false; | |||
| this.queryParams.pageNum += 1 ; | |||
| } | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| deleteList(id,index){ | |||
| this.$dialog.confirm({ | |||
| message: '您确认删除监管记录?', | |||
| }) | |||
| .then(() => { | |||
| // on confirm | |||
| this.applicationList.splice(index,1) | |||
| removeList(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('删除成功'); | |||
| } | |||
| }); | |||
| }) | |||
| .catch(() => { | |||
| // on cancel | |||
| }); | |||
| }, | |||
| onRegister(id){ | |||
| registerOn(id).then(res => { | |||
| if(res.code = 200){ | |||
| this.$toast.success('立案成功'); | |||
| setTimeout(function(){ | |||
| window.location.reload() | |||
| },1000) | |||
| } | |||
| }); | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 0.2rem 3%; | |||
| } | |||
| /deep/.van-cell__title{ | |||
| flex: 0.7; | |||
| } | |||
| /deep/.van-cell__title span{ | |||
| font-family: Arial; | |||
| font-size: 0.4rem; | |||
| font-weight: normal; | |||
| } | |||
| /deep/.van-cell__value{ | |||
| flex: 0.3; | |||
| color: #1D6FE9; | |||
| font-weight: bold; | |||
| } | |||
| /deep/.van-swipe-cell{ | |||
| margin-bottom: 0.2rem; | |||
| border-radius: 0.2rem; | |||
| overflow: hidden; | |||
| box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
| } | |||
| /deep/van-ellipsis{ | |||
| font-weight: bold; | |||
| } | |||
| .delete-button { | |||
| height: 100%; | |||
| } | |||
| .van-row{ | |||
| height: 100%; | |||
| } | |||
| .van-col{ | |||
| height: 100%; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,287 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| left-arrow | |||
| fixed | |||
| placeholder | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #title> | |||
| <p style="font-weight: bold;">修改违法监管</p> | |||
| </template> | |||
| </van-nav-bar> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="是否在建建筑物" | |||
| placeholder="请选择" | |||
| v-model="sfzjjzw" | |||
| @click="showSys = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| label-width="auto" | |||
| /> | |||
| <van-popup v-model="showSys" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="sysDictionaries" | |||
| @confirm="onConfirmSys" | |||
| @cancel="showSys = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="宅基地代码" v-model="jgList.zjddm" placeholder="请输入宅基地代码" input-align="right" /> | |||
| <!-- <van-popup v-model="showZjd" position="bottom">--> | |||
| <!-- <van-picker--> | |||
| <!-- show-toolbar--> | |||
| <!-- @cancel="showZjd = false"--> | |||
| <!-- />--> | |||
| <!-- </van-popup>--> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="监管类型" | |||
| placeholder="请选择" | |||
| v-model="jglx" | |||
| @click="showjglx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showjglx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="jglxDictionaries" | |||
| @confirm="onConfirmJglx" | |||
| @cancel="showjglx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| v-model="jgList.lasj" | |||
| label="立案时间" | |||
| placeholder="请选择立案时间" | |||
| @click="showlasj = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showlasj" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmLasj" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="巡查人" v-model="jgList.inspector" placeholder="请输入巡查人" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="巡查时间" | |||
| v-model="jgList.inspectorTime" | |||
| placeholder="请选择巡查时间" | |||
| @click="showinspectorTime = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showinspectorTime" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmInspectorTime" | |||
| /> | |||
| </van-popup> | |||
| <van-field label="备注" v-model="jgList.bz" placeholder="填写备注" input-align="right" label-width="auto"/> | |||
| </div> | |||
| <p class="main_title">违法信息</p> | |||
| <div class="main_box"> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="违法用地类型" | |||
| placeholder="请选择" | |||
| v-model="wfydlx" | |||
| @click="showwfydlx = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showwfydlx" position="bottom"> | |||
| <van-picker | |||
| show-toolbar | |||
| :columns="wfydlxDictionaries" | |||
| @confirm="onConfirmWfydlx" | |||
| @cancel="showwfydlx = false" | |||
| /> | |||
| </van-popup> | |||
| <van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/> | |||
| <van-field | |||
| readonly | |||
| clickable | |||
| label="整改截止时间" | |||
| placeholder="选择整改截止时间" | |||
| v-model="jgList.reformDeadline" | |||
| @click="showReformDeadline = true" | |||
| input-align="right" | |||
| right-icon="arrow-down" | |||
| /> | |||
| <van-popup v-model="showReformDeadline" position="bottom"> | |||
| <van-datetime-picker | |||
| v-model="currentDate" | |||
| type="date" | |||
| title="选择年月日" | |||
| :min-date="minDate" | |||
| :max-date="maxDate" | |||
| @confirm="onConfirmReformDeadline" | |||
| /> | |||
| </van-popup> | |||
| </div> | |||
| <div style="padding: 16px 0;"> | |||
| <van-row> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" color="#B4B0B0" native-type="submit" @click="goBack" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button> | |||
| </van-col> | |||
| <van-col span="12" align="center"> | |||
| <van-button type="info" native-type="submit" @click="goAdd" class="submitButton">修<i style="margin-right: 1em;"></i>改</van-button> | |||
| </van-col> | |||
| </van-row> | |||
| <div class="clear"></div> | |||
| </div> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import { supervisionAdd , getSupervision } from "@/api/onlineHome/homestead/supervision"; | |||
| export default { | |||
| name: "supervisionModify", | |||
| data() { | |||
| return { | |||
| showSys:false, | |||
| showjglx:false, | |||
| showlasj:false, | |||
| showinspectorTime:false, | |||
| showwfydlx:false, | |||
| showReformDeadline:false, | |||
| minDate: new Date(), | |||
| maxDate: new Date(2025, 10, 1), | |||
| currentDate: new Date(), | |||
| jgList:{}, | |||
| sfzjjzw:'', | |||
| jglx:'', | |||
| wfydlx:'', | |||
| wfydlxDictionaries:[], | |||
| jglxDictionaries:[], | |||
| sysDictionaries:[], | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getTaskGet(); | |||
| }, | |||
| methods: { | |||
| getTaskGet(){ | |||
| getSupervision(this.$route.query.id).then(response => { | |||
| console.log(response) | |||
| //违法用地类型 | |||
| this.houseGetDicts("villations_type").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx); | |||
| }); | |||
| //监管类型 | |||
| this.houseGetDicts("jglx").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.jglx = this.selectDictLabel(res.data, response.data.jglx); | |||
| }); | |||
| //是否在建建筑物 | |||
| this.houseGetDicts("sys_yes_no").then((res) => { | |||
| for(var i = 0 ; i < res.data.length ; i++){ | |||
| this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
| } | |||
| this.sfzjjzw = this.selectDictLabel(res.data, response.data.sfzjjzw); | |||
| }); | |||
| this.jgList = response.data; | |||
| }); | |||
| }, | |||
| onConfirmSys(data){ | |||
| this.sfzjjzw = data.text; | |||
| this.jgList.sfzjjzw = data.value; | |||
| this.showSys = false; | |||
| }, | |||
| onConfirmJglx(data){ | |||
| this.jglx = data.text; | |||
| this.jgList.jglx = data.value; | |||
| this.showjglx = false; | |||
| }, | |||
| onConfirmWfydlx(data){ | |||
| this.wfydlx = data.text; | |||
| this.jgList.wfydlx = data.value; | |||
| this.showwfydlx = false; | |||
| }, | |||
| onConfirmLasj(data){ | |||
| this.jgList.lasj = this.getNowFormatDate(data).substr(0,10); | |||
| this.showlasj = false; | |||
| }, | |||
| onConfirmInspectorTime(data){ | |||
| this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10); | |||
| this.showinspectorTime = false; | |||
| }, | |||
| onConfirmReformDeadline(data){ | |||
| this.jgList.reformDeadline = this.getNowFormatDate(data).substr(0,10); | |||
| this.showReformDeadline = false; | |||
| }, | |||
| goAdd(){ | |||
| supervisionAdd(this.jgList).then(response => { | |||
| console.log(response); | |||
| this.$toast.success('保存成功'); | |||
| setTimeout(function(){ | |||
| history.go(-1) | |||
| },2000) | |||
| }); | |||
| }, | |||
| goBack(){ | |||
| window.history.go(-1) | |||
| } | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .app-container { | |||
| padding: 2% 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: 80%; | |||
| margin: 0 auto; | |||
| background-color: #1D6FE9; | |||
| } | |||
| </style> | |||