This commit is contained in:
shawn 2019-12-29 18:25:44 +08:00
commit 6b337a931f
9 changed files with 700 additions and 554 deletions

View file

@ -2341,7 +2341,6 @@ export default {
customerPhone: 'contact no.',
address: 'address',
installmentMoney: 'loan principal',
totalMoney: 'loan amount',
leftMoney: 'principal balance',
paidCount: 'paid terms',
count: 'terms',
@ -2355,14 +2354,17 @@ export default {
status: 'payment status',
productCode: 'product Id',
productName: 'product name',
leftAllmoney: 'balance',
pay: 'paid',
unpay: 'unpaid',
Overdueamount: 'delay amount',
Overduefrequency: 'delay times',
collectperson: 'collector',
collectstatus: 'collection status',
actualDate: 'collection date'
actualDate: 'collection date',
leftAllmoney: 'uppaidMoney',
totalMoney: 'totalMoney',
paidMoney: 'paidMoney',
cancelMoney: 'cancelMoney'
},
ChangeCount: {
title: 'subject',

View file

@ -2350,7 +2350,6 @@ export default {
customerPhone: '客户电话',
address: '地址',
installmentMoney: '分期本金',
totalMoney: '分期金额',
leftMoney: '剩余本金',
paidCount: '已还期数',
count: '分期期数',
@ -2364,14 +2363,17 @@ export default {
status: '还款状态',
productCode: '商品编号',
productName: '商品名称',
leftAllmoney: '剩余金额',
pay: '已收金额',
unpay: '未收金额',
Overdueamount: '逾期金额',
Overduefrequency: '逾期次数',
collectperson: '收款人',
collectstatus: '收款状态',
actualDate: '收款日期'
actualDate: '收款日期',
leftAllmoney: '未还金额',
totalMoney: '分期金额',
paidMoney: '已还金额',
cancelMoney: '核销金额'
},
ChangeCount: {
title: '改期主题',
@ -3855,6 +3857,9 @@ export default {
},
Verification: {
jbr: '经办人',
hxrq: '核销日期'
hxrq: '核销日期',
qqq: '应结算金额',
www: '已结算金额',
eee: '核销金额'
}
}

View file

@ -160,6 +160,21 @@
<span>{{ scope.row.leftAllmoney }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.paidMoney')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.paidMoney }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.totalMoney')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.totalMoney }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.cancelMoney')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.cancelMoney }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.installmentMoney')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.installmentMoney }}</span>

View file

@ -29,143 +29,33 @@
style="margin-left: 18px;width: 200px"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.customerType')" prop="customerType" style="width: 100%;">
<el-select v-model="personalForm.customerType" style="margin-left: 18px;width: 200px" @change="clearCustomer">
<el-option :label="$t('updates.jxs')" value="1"/>
<el-option :label="$t('updates.kh')" value="2"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.customerId')" prop="customerId" style="width: 100%;">
<el-input v-model="customerId" style="margin-left: 18px;width: 200px" @focus="chooseCustomer"/>
</el-form-item>
<my-agent :agentcontrol.sync="agentcontrol" @agentdata="agentdata"/>
<my-installment :installmentcontrol.sync="installmentcontrol" @InstallmentDetail="InstallmentDetail" @Installment="Installment"/>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.moneyType')" style="width: 100%;">
<el-select v-model="personalForm.moneyType" style="margin-left: 18px;width: 200px">
<el-option value="1" label="PHP"/>
<el-option value="2" label="USD"/>
<el-option value="3" label="RMB"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.receiptMoney')" prop="receiptMoney" style="width: 100%;">
<el-input v-model="personalForm.receiptMoney" style="margin-left: 18px;width: 200px" disabled clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('payment.payMode')" prop="payMode" style="width: 100%;">
<el-select v-model="personalForm.payMode" style="margin-left: 18px;width: 200px">
<el-option
v-for="(item, index) in payModes"
:key="index"
:label="item.categoryName"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.receiptAccount')" style="width: 100%;">
<el-input v-model="personalForm.receiptAccount" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.receiptAccountNumber')" style="width: 100%;">
<el-input v-model="personalForm.receiptAccountNumber" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.totalLackMoney')" prop="totalLackMoney" style="width: 100%;">
<el-input v-model="personalForm.totalLackMoney" style="margin-left: 18px;width: 200px" disabled/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.remark')" style="width: 100%;">
<el-input v-model="personalForm.remark" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.penaltyMoney')" prop="penaltyMoney" style="width: 100%;">
<el-input v-model="personalForm.penaltyMoney" type="number" style="margin-left: 18px;width: 200px" clearable/>
<!-- <el-input-number v-model="personalForm.penaltyMoney" :controls="false" /> -->
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('StockInvoice.invoiceNumber')" prop="invoiceNumber" style="width: 100%;">
<el-input v-model="personalForm.invoiceNumber" type="number" style="margin-left: 18px;width: 200px" clearable/>
<!-- <el-input-number v-model="personalForm.penaltyMoney" :controls="false" /> -->
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('Receipt.deductionMoney')" prop="deductionMoney" style="width: 100%;">
<el-input v-model="personalForm.deductionMoney" style="margin-left: 18px;width: 200px" disabled @change="junglemoney"/>
</el-form-item>
<span style="color: red;margin-left: 52px;font-size: 14px">预收款{{ yufu }}</span>
</el-col>
</el-row>
</el-form>
</div>
</el-card>
<!--子件信息-->
<el-card v-if="personalForm.customerType === '2'" class="box-card" style="margin-top: 15px" shadow="never">
<h2 ref="fuzhu" class="form-name" >收款明细</h2>
<el-button v-if="isshow" type="danger" @click="$refs.editable2.removeSelecteds()">{{ $t('Hmodule.delete') }}</el-button>
<el-card class="box-card" style="margin-top: 15px" shadow="never">
<h2 ref="fuzhu" class="form-name" style="margin-bottom: 30px">收款明细</h2>
<el-button style="width: 130px" @click="chooseCustomer">{{ $t('updates.cydzxz') }}</el-button>
<my-installment :installmentcontrol.sync="installmentcontrol" @InstallmentDetail="InstallmentDetail" @Installment="Installment"/>
<div class="container">
<el-editable
ref="editable2"
:data.sync="list2"
:edit-config="{ showIcon: true, showStatus: true}"
:summary-method="getSummaries"
class="click-table1"
show-summary
stripe
border
size="medium"
style="width: 100%"
@selection-change="handleSelectionChange">
<el-editable-column v-if="isshow" type="selection" min-width="55" align="center"/>
<el-editable-column :key="Math.random()" :label="$t('Hmodule.xh')" min-width="55" align="center" type="index"/>
<el-editable-column :key="Math.random()" prop="presentCount" align="center" label="当前期数" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="returnMoney" align="center" label="本期还款金额" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="returnSource" align="center" label="本期还款本金" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="reward" align="center" label="奖励" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="penalty" align="center" label="滞纳金" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="returnInterest" align="center" label="本期还款利息" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="paidmoney" align="center" label="已收金额" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="unpay" align="center" label="未收金额" min-width="150px"/>
<el-editable-column :key="Math.random()" :edit-render="{name: 'ElInputNumber', attrs: {min: 0}, type: 'visible'}" prop="thisMoney" align="center" label="本次收款" min-width="150px"/>
</el-editable>
</div>
</el-card>
<el-card v-if="personalForm.customerType === '1'" class="box-card" style="margin-top: 15px" shadow="never">
<h2 ref="fuzhu" class="form-name" >收款明细</h2>
<div class="container">
<el-editable
ref="editable"
:data.sync="list2"
:edit-config="{ showIcon: true, showStatus: true}"
:summary-method="getSummaries2"
class="click-table1"
show-summary
stripe
border
size="medium"
style="width: 100%"
@selection-change="handleSelectionChange2">
<el-editable-column :key="Math.random()" prop="sourceNumber" label="编号" min-width="200" align="center" />
<el-editable-column :key="Math.random()" prop="shouldMoney" align="center" label="应收款金额" min-width="150px"/>
<el-editable-column :key="Math.random()" :label="$t('updates.cke')" prop="discountMoney" align="center" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="retreatMoney" align="center" label="退货抵扣" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="collectedMoney" align="center" label="已收金额" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="uncollectedMoney" align="center" label="未收款金额" min-width="150px"/>
<el-editable-column :key="Math.random()" :edit-render="{name: 'ElInputNumber', attrs: {min: 0}, type: 'visible'}" prop="thisMoney" align="center" label="本次收款" min-width="150px"/>
<el-editable-column :key="Math.random()" :edit-render="{name: 'ElInputNumber', attrs: {min: 0}, type: 'visible'}" prop="deductionMoney" align="center" label="本次抵扣预收款" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="customerName" align="center" label="顾客姓名" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="sourceNumber" align="center" label="源单单号" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="shouldMoney" align="center" label="应结算金额" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="paidMoney" align="center" label="已结算金额" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="cancleMoney" align="center" label="核销金额" min-width="150px"/>
<el-editable-column :key="Math.random()" :edit-render="{name: 'ElInput', type: 'visible'}" prop="remark" align="center" label="备注" min-width="150px"/>
</el-editable>
</div>
</el-card>
@ -180,7 +70,7 @@
<script>
import '@/directive/noMoreClick/index.js'
import { createreceipt } from '@/api/Receipt'
import { addVerification } from '@/api/Verification'
import { agentCollectList } from '@/api/public'
import MyEmp from './components/MyEmp'
import MyDetail from './components/MyDetail'
@ -209,7 +99,7 @@ export default {
}
const validatePass3 = (rule, value, callback) => {
if (this.handlePersonId === undefined || this.handlePersonId === null || this.handlePersonId === '') {
callback(new Error('请选择收款人'))
callback(new Error('请选择经办人'))
} else {
callback()
}
@ -234,8 +124,6 @@ export default {
//
moreaction: [],
moreaction2: [],
//
handlePersonId: '',
//
stockControl: false,
//
@ -261,6 +149,7 @@ export default {
//
list2: [],
payModes: [],
handlePersonId: this.$store.getters.name,
//
personalForm: {
createPersonId: this.$store.getters.userId,
@ -271,7 +160,8 @@ export default {
penaltyMoney: 0,
receiptMoney: 0,
deductionMoney: 0,
totalLackMoney: 0
totalLackMoney: 0,
handlePersonId: this.$store.getters.userId
},
//
productForm: {},
@ -299,7 +189,7 @@ export default {
{ required: true, validator: validatePass3, trigger: 'change' }
],
cancelDate: [
{ required: true, validator: validatePass4, trigger: 'change' }
{ required: true, validator: validatePass4, trigger: 'blur' }
],
penaltyMoney: [
{ required: true, message: '请输入滞纳金金额', trigger: 'blur' }
@ -628,14 +518,7 @@ export default {
},
// focus
chooseCustomer() {
this.$forceUpdate()
if (this.personalForm.customerType === '1') {
this.agentcontrol = true
this.$forceUpdate()
} else if (this.personalForm.customerType === '2') {
this.installmentcontrol = true
this.$forceUpdate()
}
},
agentdata(val) {
setTimeout(() => {
@ -667,13 +550,15 @@ export default {
}, 0)
},
Installment(val) {
// console.log(val)
this.personalForm.customerId = val.customerId
this.customerId = val.customerName
if (val.advanceMoney !== null && val.advanceMoney !== undefined && val.advanceMoney !== '') {
this.yufu = val.advanceMoney
console.log(val)
const ress = val
for (let i = 0; i < ress.length; i++) {
ress[i].shouldMoney = ress[i].totalMoney
ress[i].paidMoney = ress[i].totalMoney - ress[i].leftAllmoney
ress[i].cancleMoney = ress[i].leftAllmoney
ress[i].sourceNumber = ress[i].orderNumber
}
this.personalForm.totalLackMoney = Number(this.allmoney) - Number(this.personalForm.receiptMoney)
this.list2 = ress
},
InstallmentDetail(val) {
// console.log(val)
@ -751,57 +636,6 @@ export default {
},
//
handlesave() {
if (this.personalForm.customerType === '1') {
const EnterDetail = this.$refs.editable.getRecords()
if (EnterDetail.length === 0) {
this.$notify.error({
title: '错误',
message: '明细表不能为空',
offset: 100
})
return false
}
const parms2 = JSON.stringify(EnterDetail)
const Data = this.personalForm
for (const key in Data) {
if (Data[key] === '' || Data[key] === undefined || Data[key] === null) {
delete Data[key]
}
}
const parms = JSON.stringify(Data)
this.$refs.personalForm.validate((valid) => {
if (valid) {
createreceipt(parms, parms2, this.personalForm).then(res => {
if (res.data.ret === 200) {
this.$notify({
title: '成功',
message: '保存成功',
type: 'success',
offset: 100
})
this.restAllForm()
this.$refs.editable.clear()
this.$refs.personalForm.clearValidate()
this.$refs.personalForm.resetFields()
this.$store.dispatch('getnewreceiptdata', '')
} else {
this.$notify.error({
title: '错误',
message: res.data.msg,
offset: 100
})
}
})
} else {
this.$notify.error({
title: '错误',
message: '信息未填完整',
offset: 100
})
return false
}
})
} else if (this.personalForm.customerType === '2') {
const EnterDetail = this.$refs.editable2.getRecords()
if (EnterDetail.length === 0) {
this.$notify.error({
@ -811,17 +645,19 @@ export default {
})
return false
}
const parms2 = JSON.stringify(EnterDetail)
const Data = this.personalForm
for (const key in Data) {
if (Data[key] === '' || Data[key] === undefined || Data[key] === null) {
delete Data[key]
}
}
const parms = JSON.stringify(Data)
this.$refs.personalForm.validate((valid) => {
console.log('this.personalForm', this.personalForm)
this.$refs.personalForm.validate(async(valid) => {
if (valid) {
createreceipt(parms, parms2, this.personalForm).then(res => {
for (let i = 0; i < EnterDetail.length; i++) {
EnterDetail[i].handlePersonId = this.personalForm.handlePersonId
EnterDetail[i].repositoryId = this.personalForm.repositoryId
EnterDetail[i].regionId = this.personalForm.regionId
EnterDetail[i].cancelDate = this.personalForm.cancelDate
EnterDetail[i].sourceType = this.personalForm.sourceType
EnterDetail[i].createPersonId = this.personalForm.createPersonId
const parms2 = JSON.stringify(EnterDetail[i])
const applydata = await addVerification(parms2, this.personalForm).then(res => {
if (i === EnterDetail.length - 1) {
if (res.data.ret === 200) {
this.$notify({
title: '成功',
@ -840,7 +676,9 @@ export default {
offset: 100
})
}
}
})
}
} else {
this.$notify.error({
title: '错误',
@ -850,7 +688,6 @@ export default {
return false
}
})
}
},
//
handlecancel() {

View file

@ -4,18 +4,13 @@
<el-row>
<el-form ref="getemplist" :model="getemplist" label-width="100px" style="margin-top: -9px">
<el-col :span="5">
<el-form-item :label="$t('updates.skddh')" label-width="100px">
<el-input v-model="getemplist.number" :placeholder="$t('Receipt.number')" clearable @keyup.enter.native="handleFilter"/>
<el-form-item :label="$t('public.id')" label-width="100px">
<el-input v-model="getemplist.number" clearable @keyup.enter.native="handleFilter"/>
</el-form-item>
</el-col>
<el-col :span="5" style="margin-left: 10px">
<el-form-item :label="$t('updates.skr')">
<el-input v-model="receiptPersonId" placeholder="收款人" @clear="restFilter" @focus="handlechooseStock"/>
</el-form-item>
</el-col>
<el-col :span="5" style="margin-left: 10px">
<el-form-item :label="$t('updates.skdzt')">
<el-input v-model="getemplist.title" placeholder="收款单主题" clearable @keyup.enter.native="handleFilter"/>
<el-form-item :label="$t('Receipt.customerId')">
<el-input v-model="getemplist.customerName" clearable @keyup.enter.native="handleFilter"/>
</el-form-item>
</el-col>
<!--更多搜索条件-->
@ -65,15 +60,15 @@
{{ $t('public.batchoperation') }} <i class="el-icon-arrow-down el-icon--right"/>
</el-button>
<el-dropdown-menu slot="dropdown" style="width: 140px">
<el-dropdown-item v-permission="['200-213-2']" style="text-align: left" command="delete"><svg-icon icon-class="shanchu" style="width: 40px"/>{{ $t('public.delete') }}</el-dropdown-item>
<el-dropdown-item v-permission="['200-365-2']" style="text-align: left" command="delete"><svg-icon icon-class="shanchu" style="width: 40px"/>{{ $t('public.delete') }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!-- 表格导出操作 -->
<el-button v-permission="['200-213-6']" v-waves :loading="downloadLoading" class="filter-item" style="width: 86px" @click="handleExport"> <svg-icon icon-class="daochu"/>{{ $t('public.export') }}</el-button>
<el-button v-permission="['200-365-6']" v-waves :loading="downloadLoading" class="filter-item" style="width: 86px" @click="handleExport"> <svg-icon icon-class="daochu"/>{{ $t('public.export') }}</el-button>
<!-- 打印操作 -->
<el-button v-permission="['200-213-7']" v-waves class="filter-item" icon="el-icon-printer" style="width: 86px" @click="handlePrint">{{ $t('public.print') }}</el-button>
<el-button v-permission="['200-365-7']" v-waves class="filter-item" icon="el-icon-printer" style="width: 86px" @click="handlePrint">{{ $t('public.print') }}</el-button>
<!-- 新建操作 -->
<el-button v-permission="['200-213-1']" v-waves class="filter-item" icon="el-icon-plus" type="success" style="width: 86px" @click="handleAdd">{{ $t('public.add') }}</el-button>
<el-button v-permission="['200-365-1']" v-waves class="filter-item" icon="el-icon-plus" type="success" style="width: 86px" @click="handleAdd">{{ $t('public.add') }}</el-button>
</el-card>
<el-card class="box-card" style="margin-top: 10px" shadow="never">
@ -99,34 +94,19 @@
</template>
<detail-list :detailcontrol.sync="detailvisible" :detaildata.sync="personalForm"/>
</el-table-column>
<el-table-column :label="$t('Receipt.title')" :resizable="false" fixed="left" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.title }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('Receipt.customerId')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('Receipt.allShouldMoney')" :resizable="false" align="center" min-width="150">
<el-table-column :label="$t('Verification.jbr')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.allShouldMoney }}</span>
<span>{{ scope.row.handlePersonName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('Receipt.receiptMoney')" :resizable="false" align="center" min-width="150">
<el-table-column :label="$t('Verification.hxrq')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.receiptMoney }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('Receipt.receiptDate')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.receiptDate }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('Receipt.receiptPersonId')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.receiptPersonName }}</span>
<span>{{ scope.row.cancelDate }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('public.judgeStat')" :resizable="false" prop="judgeStat" align="center" min-width="150">
@ -141,9 +121,12 @@
</el-table-column>
<el-table-column :label="$t('public.actions')" :resizable="false" align="center" min-width="230">
<template slot-scope="scope">
<el-button v-permission2="['200-365-3', scope.row.createPersonId]" v-show="scope.row.judgeStat === 0" :title="$t('updates.xg')" type="primary" size="mini" icon="el-icon-edit" circle @click="handleEdit(scope.row)"/>
<el-button v-show="isReview(scope.row)" :title="$t('updates.spi')" type="warning" size="mini" icon="el-icon-view" circle @click="handleReview(scope.row)"/>
<el-button v-permission2="['200-213-2', scope.row.createPersonId]" v-show="scope.row.judgeStat === 0" :title="$t('updates.sc')" size="mini" type="danger" icon="el-icon-delete" circle @click="handleDelete(scope.row)"/>
<el-button title="查看附件" type="primary" size="mini" icon="el-icon-document" circle @click="check(scope.row)"/>
<el-button v-permission="['200-365-76']" v-show="isReview4(scope.row)" :title="$t('updates.fsp')" type="warning" size="mini" circle @click="handleReview4(scope.row)"><svg-icon icon-class="fanhui"/></el-button>
<el-button v-permission="['200-365-16']" v-show="isReview2(scope.row)" :title="$t('updates.jd')" type="success" size="mini" icon="el-icon-check" circle @click="handleReview2(scope.row)"/>
<el-button v-permission="['200-365-17']" v-show="isReview3(scope.row)" :title="$t('updates.fjd')" type="success" size="mini" icon="el-icon-back" circle @click="handleReview3(scope.row)"/>
<el-button v-permission2="['200-365-2', scope.row.createPersonId]" v-show="scope.row.judgeStat === 0" :title="$t('updates.sc')" size="mini" type="danger" icon="el-icon-delete" circle @click="handleDelete(scope.row)"/>
</template>
</el-table-column>
</el-table>
@ -175,7 +158,7 @@
</template>
<script>
import { searchreceipt, updatereceipt, deletereceipt } from '@/api/Receipt'
import { verificationList, deleteVerification, updateVerification } from '@/api/Verification'
import { getdeptlist } from '@/api/BasicSettings'
import { searchStockCategory } from '@/api/StockCategory'
import waves from '@/directive/waves' // Waves directive
@ -298,6 +281,103 @@ export default {
_that = this
},
methods: {
//
isReview4(row) {
console.log(row)
if (row.judgeStat === 2 && row.receiptStat !== 3) {
return true
}
},
//
handleReview4(row) {
this.reviewParms = {}
this.reviewParms.id = row.id
this.reviewParms.judgePersonId = this.$store.getters.userId
this.$confirm('请反审批', '反审批', {
distinguishCancelAndClose: true,
confirmButtonText: '反审批',
type: 'warning'
}).then(() => {
this.reviewParms.judgeStat = 0
const parms = JSON.stringify(this.reviewParms)
updateVerification(parms).then(res => {
if (res.data.ret === 200) {
if (res.data.data.result === false) {
this.$message({
type: 'error',
message: '反审批失败!'
})
} else {
this.$message({
type: 'success',
message: '反审批成功!'
})
}
this.getlist()
}
})
})
},
//
isReview3(row) {
console.log(row)
if (row.receiptStat === 3) {
return true
}
},
//
handleReview3(row) {
this.reviewParms = {}
this.reviewParms.id = row.id
this.reviewParms.endPersonId = this.$store.getters.userId
this.$confirm('请反结单', '反结单', {
distinguishCancelAndClose: true,
confirmButtonText: '反结单',
type: 'warning'
}).then(() => {
this.reviewParms.receiptStat = 2
const parms = JSON.stringify(this.reviewParms)
updateVerification(parms).then(res => {
if (res.data.ret === 200) {
this.$message({
type: 'success',
message: '反结单成功!'
})
this.getlist()
}
})
})
},
//
isReview2(row) {
console.log(row)
if (row.receiptStat !== 3 && (row.judgeStat === 2 || row.judgeStat === 3)) {
return true
}
},
//
handleReview2(row) {
this.reviewParms = {}
this.reviewParms.id = row.id
this.reviewParms.endPersonId = this.$store.getters.userId
this.$confirm('请结单', '结单', {
distinguishCancelAndClose: true,
confirmButtonText: '结单',
type: 'warning'
}).then(() => {
this.reviewParms.receiptStat = 3
const parms = JSON.stringify(this.reviewParms)
updateVerification(parms).then(res => {
if (res.data.ret === 200) {
this.$message({
type: 'success',
message: '结单成功!'
})
this.getlist()
}
})
})
},
//
check(row) {
console.log(row)
@ -350,7 +430,7 @@ export default {
getlist() {
//
this.listLoading = true
searchreceipt(this.getemplist).then(res => {
verificationList(this.getemplist).then(res => {
if (res.data.ret === 200) {
this.list = res.data.data.content.list
this.total = res.data.data.content.totalCount
@ -380,7 +460,7 @@ export default {
//
handleFilter() {
this.getemplist.pageNum = 1
searchreceipt(this.getemplist).then(res => {
verificationList(this.getemplist).then(res => {
if (res.data.ret === 200) {
this.list = res.data.data.content.list
this.total = res.data.data.content.totalCount
@ -409,21 +489,6 @@ export default {
if (row.certificateType !== null) {
this.personalForm.certificateType = String(row.certificateType)
}
if (row.workStat !== null) {
this.personalForm.workStat = String(row.workStat)
}
if (row.mateCertificateType !== null) {
this.personalForm.mateCertificateType = String(row.mateCertificateType)
}
if (row.mateWorkStat !== null) {
this.personalForm.mateWorkStat = String(row.mateWorkStat)
}
if (row.enterpriseNature !== null) {
this.personalForm.enterpriseNature = String(row.enterpriseNature)
}
if (row.suretyCertificateType !== null) {
this.personalForm.suretyCertificateType = String(row.suretyCertificateType)
}
},
//
refreshlist(val) {
@ -462,7 +527,7 @@ export default {
}).then(() => {
this.reviewParms.judgeStat = 2
const parms = JSON.stringify(this.reviewParms)
updatereceipt(parms).then(res => {
updateVerification(parms).then(res => {
if (res.data.ret === 200) {
this.$message({
type: 'success',
@ -475,7 +540,7 @@ export default {
if (action === 'cancel') {
this.reviewParms.judgeStat = 3
const parms = JSON.stringify(this.reviewParms)
updatereceipt(parms).then(res => {
updateVerification(parms).then(res => {
if (res.data.ret === 200) {
this.$message({
type: 'success',
@ -501,7 +566,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deletereceipt(ids, this.$store.getters.userId).then(res => {
deleteVerification(ids, this.$store.getters.userId).then(res => {
if (res.data.ret === 200 || res.data.ret === 100) {
this.$notify({
title: '删除成功',
@ -532,7 +597,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deletereceipt(row.id, this.$store.getters.userId).then(res => {
deleteVerification(row.id, this.$store.getters.userId).then(res => {
if (res.data.ret === 200 || res.data.ret === 100) {
this.$notify({
title: '删除成功',

View file

@ -1,5 +1,5 @@
<template>
<el-dialog :visible.sync="editVisible" :detailcontrol="detailcontrol" :detaildata="detaildata" :close-on-press-escape="false" :title="personalForm.number +$t('updates.xqing')" append-to-body width="1010px" class="edit" top="-10px" @close="$emit('update:detailcontrol', false)">
<el-dialog :visible.sync="editVisible" :detailcontrol="detailcontrol" :detaildata="detaildata" :close-on-press-escape="false" :title="$t('updates.xqing')" append-to-body width="1010px" class="edit" top="-10px" @close="$emit('update:detailcontrol', false)">
<div id="printTest" >
<!--基本信息-->
<el-card class="box-card" style="margin-top: 63px" shadow="never">
@ -9,107 +9,59 @@
<el-form :model="personalForm" :inline="true" status-icon class="demo-ruleForm" label-width="130px">
<el-row>
<el-col :span="12">
<el-form-item class="print2" label="收款单编号" style="width: 100%;display: none">
{{ personalForm.number }}
<el-form-item :label="$t('public.id')" style="width: 100%;">
<span>{{ personalForm.number }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.title')" style="width: 100%;">
<span>{{ personalForm.title }}</span>
<el-form-item :label="$t('StockOut.sourceType')" style="width: 100%;">
<span>{{ personalForm.sourceType | sourceTypeFilter }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.customerType')" prop="sourceType" style="width: 100%;">
<span>{{ personalForm.customerType | customerTypeFilter }}</span>
<el-form-item :label="$t('StockOut.sourceNumber')" style="width: 100%;">
<span>{{ personalForm.sourceNumber }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.customerId')" prop="sourceNumber" style="width: 100%;">
<el-form-item :label="$t('Receipt.customerId')" prop="customerId" style="width: 100%;">
<span>{{ personalForm.customerName }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.moneyType')" prop="customerId" style="width: 100%;">
<span>{{ personalForm.moneyType | moneyTypeFilter }}</span>
<el-form-item :label="$t('Verification.jbr')" prop="handlePersonId" style="width: 100%;">
<span>{{ personalForm.handlePersonName }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.receiptMoney')" style="width: 100%;">
<span>{{ personalForm.receiptMoney }}</span>
<el-form-item :label="$t('Verification.hxrq')" prop="cancelDate" style="width: 100%;">
<span>{{ personalForm.cancelDate }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('payment.payMode')" prop="totalMoney" style="width: 100%;">
<span>{{ personalForm.payModeName }}</span>
<el-form-item :label="$t('Verification.qqq')" style="width: 100%;">
<span>{{ personalForm.shouldMoney }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.receiptAccount')" prop="beforeCount" style="width: 100%;">
<span>{{ personalForm.receiptAccount }}</span>
<el-form-item :label="$t('Verification.www')" style="width: 100%;">
<span>{{ personalForm.paidMoney }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.receiptAccountNumber')" style="width: 100%;">
<span>{{ personalForm.receiptAccountNumber }}</span>
<el-form-item :label="$t('Verification.eee')" style="width: 100%;">
<span>{{ personalForm.cancleMoney }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.receiptPersonId')" style="width: 100%;">
<span>{{ personalForm.receiptPersonName }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.receiptDate')" style="width: 100%;">
<span>{{ personalForm.receiptDate }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.totalLackMoney')" style="width: 100%;">
<span>{{ personalForm.totalLackMoney }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.remark')" prop="afterCount" style="width: 100%;">
<el-form-item :label="$t('Receipt.remark')" style="width: 100%;">
<span>{{ personalForm.remark }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.penaltyMoney')" style="width: 100%;">
<span>{{ personalForm.penaltyMoney }}</span>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Receipt.deductionMoney')" style="width: 100%;">
<span>{{ personalForm.deductionMoney }}</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin-top: 15px" shadow="never">
<h2 ref="fuzhu" class="form-name" >收款明细</h2>
<div class="container">
<el-editable
ref="editable"
:data.sync="list2"
:edit-config="{ showIcon: true, showStatus: true}"
class="click-table1"
border
size="medium"
style="width: 100%">
<el-editable-column :key="Math.random()" prop="presentCount" align="center" label="当前期数" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="returnMoney" align="center" label="本期还款金额" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="returnSource" align="center" label="本期还款本金" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="reward" align="center" label="奖励" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="penalty" align="center" label="滞纳金" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="returnInterest" align="center" label="本期还款利息" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="paidmoney" align="center" label="已收金额" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="unpay" align="center" label="未收金额" min-width="150px"/>
<el-editable-column :key="Math.random()" prop="thisMoney" align="center" label="本次收款" min-width="150px"/>
</el-editable>
</div>
</el-card>
<el-card class="box-card" style="margin-top: 15px" shadow="never">
<h2 ref="fuzhu" class="form-name" style="font-size: 16px;color: #606266;margin-top: -5px;">{{ $t('updates.spjl') }}</h2>
<div class="container" style="margin-top: 37px">
@ -186,6 +138,12 @@
var _that
export default {
filters: {
sourceTypeFilter(status) {
const statusMap = {
1: '分期订单'
}
return statusMap[status]
},
moneyTypeFilter(status) {
const statusMap = {
1: 'PHP',

View file

@ -1,16 +1,11 @@
<template>
<el-dialog :visible.sync="editVisible" :editcontrol="editcontrol" :editdata="editdata" :close-on-press-escape="false" :title="personalForm.changeNumber +$t('updates.xg')" width="1010px" class="edit" top="-10px" @close="$emit('update:editcontrol', false)">
<el-dialog :visible.sync="editVisible" :editcontrol="editcontrol" :editdata="editdata" :close-on-press-escape="false" :title="$t('updates.xg')" width="1010px" class="edit" top="-10px" @close="$emit('update:editcontrol', false)">
<!--基本信息-->
<el-card class="box-card" shadow="never">
<el-card class="box-card" shadow="never" style="margin-top: 30px">
<h2 ref="geren" class="form-name">{{ $t('Hmodule.basicinfo') }}</h2>
<div class="container" style="margin-top: 37px">
<el-form ref="personalForm" :model="personalForm" :rules="personalrules" :inline="true" status-icon class="demo-ruleForm" label-width="130px">
<el-row>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.title')" style="width: 100%;">
<el-input v-model="personalForm.title" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.sourceType')" prop="sourceType" style="width: 100%;">
<el-select v-model="personalForm.sourceType" style="margin-left: 18px;width: 200px">
@ -18,96 +13,57 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Verification.jbr')" prop="handlePersonId" style="width: 100%;">
<el-input v-model="handlePersonId" style="margin-left: 18px;width: 200px" @focus="handlechooseStock"/>
</el-form-item>
<my-emp :control.sync="stockControl" @stockName="stockName"/>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('Verification.hxrq')" prop="cancelDate" style="width: 100%;">
<el-date-picker
v-model="personalForm.cancelDate"
type="date"
value-format="yyyy-MM-dd"
style="margin-left: 18px;width: 200px"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.sourceNumber')" prop="sourceNumber" style="width: 100%;">
<el-input v-model="personalForm.sourceNumber" style="margin-left: 18px;width: 200px" @focus="handleAddsourceNum"/>
</el-form-item>
<my-installment :installmentcontrol.sync="installmentcontrol" @InstallmentDetail="InstallmentDetail" @Installment="Installment"/>
<my-installment2 :installmentcontrol.sync="installmentcontrol" @InstallmentDetail="InstallmentDetail" @Installment="Installment"/>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.customerId')" prop="customerId" style="width: 100%;">
<el-input v-model="personalForm.customerName" :disabled="IscustomerName" style="margin-left: 18px;width: 200px" clearable/>
<el-input v-model="customerId" disabled style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.customerPhone')" style="width: 100%;">
<el-input v-model="personalForm.customerPhone" :disabled="IscustomerPhone" style="margin-left: 18px;width: 200px" clearable/>
<el-form-item :label="$t('Verification.qqq')" prop="totalMoney" style="width: 100%;">
<el-input v-model="personalForm.shouldMoney" disabled style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.totalMoney')" prop="totalMoney" style="width: 100%;">
<el-input v-model="personalForm.totalMoney" :disabled="IstotalMoney" style="margin-left: 18px;width: 200px" clearable/>
<el-form-item :label="$t('Verification.www')" prop="beforeCount" style="width: 100%;">
<el-input v-model="personalForm.paidMoney" disabled style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.beforeCount')" prop="beforeCount" style="width: 100%;">
<el-input v-model="personalForm.beforeCount" :disabled="IsbeforeCount" style="margin-left: 18px;width: 200px" clearable/>
<el-form-item :label="$t('Verification.eee')" style="width: 100%;">
<el-input v-model="personalForm.cancleMoney" disabled style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.paidCount')" style="width: 100%;">
<el-input v-model="personalForm.paidCount" :disabled="IspaidCount" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.paidMoney')" style="width: 100%;">
<el-input v-model="personalForm.paidMoney" :disabled="IspaidMoney" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.paidCapital')" style="width: 100%;">
<el-input v-model="personalForm.paidCapital" :disabled="IspaidCapital" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.remainCapital')" style="width: 100%;">
<el-input v-model="personalForm.remainCapital" :disabled="IsremainCapital" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.afterCount')" prop="afterCount" style="width: 100%;">
<el-input v-model="personalForm.afterCount" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('ChangeCount.saleRepositoryId')" style="width: 100%;">
<el-input v-model="saleRepositoryId" :disabled="IssaleRepositoryId" style="margin-left: 18px;width: 200px" clearable/>
<el-form-item :label="$t('Receipt.remark')" style="width: 100%;">
<el-input v-model="personalForm.remark" style="margin-left: 18px;width: 200px" clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="margin-top: 15px" shadow="never">
<h2 ref="fuzhu" class="form-name" >分期明细</h2>
<div class="container">
<el-editable
ref="editable"
:data.sync="list2"
:edit-config="{ showIcon: true, showStatus: true}"
class="click-table1"
stripe
border
size="medium"
style="width: 100%">
<el-editable-column type="selection" min-width="55" align="center"/>
<el-editable-column :label="$t('Hmodule.xh')" min-width="55" align="center" type="index"/>
<el-editable-column :label="$t('Hmodule.wpbh')" prop="productCode" align="center" min-width="150px"/>
<el-editable-column :label="$t('Hmodule.wpmc')" prop="productName" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.wpfl')" prop="productCategory" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.jbdw')" prop="unit" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.ggxh')" prop="typeId" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.ys')" prop="color" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.jxf')" prop="kpiGrade" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.spjf')" prop="point" align="center" min-width="150px"/>
<el-editable-column :label="$t('Hmodule.dj')" prop="price" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.cjbm')" prop="carCode" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.dcbm')" prop="batteryCode" align="center" min-width="150px"/>
<el-editable-column :label="$t('updates.djbm')" prop="motorCode" align="center" min-width="150px"/>
</el-editable>
</div>
</el-card>
<el-card class="box-card" style="position: fixed;width: 1010px;z-index: 100;height: 74px;bottom: 0;" shadow="never">
<el-card class="box-card" style="position: fixed;width: 1010px;z-index: 100;height: 74px;" shadow="never">
<div class="buttons" style="float: right;padding-bottom: 10px">
<el-button @click="handlecancel()">{{ $t('Hmodule.cancel') }}</el-button>
<el-button type="primary" @click="handleEditok()">{{ $t('Hmodule.baoc') }}</el-button>
@ -117,15 +73,15 @@
</template>
<script>
import { updatechange } from '@/api/ChangeCount'
import { updateVerification } from '@/api/Verification'
import MyEmp from './MyEmp'
import MyDetail from './MyDetail'
import MyMater from './MyMater'
import MyInstallment from './MyInstallment'
import MyInstallment2 from './MyInstallment2'
// eslint-disable-next-line no-unused-vars
var _that
export default {
components: { MyInstallment, MyMater, MyDetail, MyEmp },
components: { MyInstallment2, MyMater, MyDetail, MyEmp },
props: {
editcontrol: {
type: Boolean,
@ -145,12 +101,15 @@ export default {
}
}
return {
customerId: '',
handlePersonId: '',
//
choosedata: [],
//
editVisible: this.editcontrol,
//
personalForm: this.editdata,
stockControl: false,
//
IscustomerName: true,
IscustomerPhone: true,
@ -189,8 +148,10 @@ export default {
},
editdata() {
this.personalForm = this.editdata
this.saleRepositoryId = this.personalForm.saleRepositoryName
this.list2 = this.personalForm.changeCountDetailvos
this.personalForm.handlePersonId = this.editdata.handlePersonId
this.handlePersonId = this.personalForm.handlePersonName
this.personalForm.customerId = this.editdata.customerId
this.customerId = this.personalForm.customerName
}
},
created() {
@ -199,6 +160,14 @@ export default {
_that = this
},
methods: {
handlechooseStock() {
this.stockControl = true
},
//
stockName(val) {
this.handlePersonId = val.personName
this.personalForm.handlePersonId = val.id
},
//
handleAddsourceNum() {
this.installmentcontrol = true
@ -211,27 +180,12 @@ export default {
}
},
Installment(val) {
this.personalForm.sourceNumber = val.applyNumber
this.personalForm.customerId = val.customerId
this.personalForm.customerName = val.customerName
this.personalForm.customerPhone = val.customerPhone
this.personalForm.totalMoney = val.totalMoney
this.personalForm.beforeCount = val.count
this.personalForm.paidCount = val.paidCount
this.personalForm.paidMoney = Number(val.totalMoney) - Number(val.leftAllmoney)
this.personalForm.remainCapital = val.leftMoney
this.personalForm.paidCapital = Number(val.installmentMoney) - Number(val.leftMoney)
this.personalForm.saleRepositoryId = val.repositoryId
this.saleRepositoryId = val.repositoryName
this.IscustomerName = true
this.IscustomerPhone = true
this.IstotalMoney = true
this.IsbeforeCount = true
this.IspaidCount = true
this.IspaidMoney = true
this.IspaidCapital = true
this.IsremainCapital = true
this.IssaleRepositoryId = true
this.customerId = val.customerName
this.personalForm.shouldMoney = val.totalMoney
this.personalForm.paidMoney = val.totalMoney - val.leftAllmoney
this.personalForm.cancleMoney = val.leftAllmoney
this.personalForm.sourceNumber = val.orderNumber
},
//
restAllForm() {
@ -261,57 +215,6 @@ export default {
this.personalForm.createPersonId = this.$store.getters.userId
this.personalForm.countryId = this.$store.getters.countryId
this.personalForm.modifyPersonId = this.$store.getters.userId
const EnterDetail = this.$refs.editable.getRecords()
if (EnterDetail.length === 0) {
this.$notify.error({
title: '错误',
message: '明细表不能为空',
offset: 100
})
return false
}
EnterDetail.map(function(elem) {
return elem
}).forEach(function(elem) {
if (elem.productCode === null || elem.productCode === '' || elem.productCode === undefined) {
delete elem.productCode
}
if (elem.productName === null || elem.productName === '' || elem.productName === undefined) {
delete elem.productName
}
if (elem.categoryId === null || elem.categoryId === '' || elem.categoryId === undefined) {
delete elem.categoryId
}
if (elem.typeId === null || elem.typeId === '' || elem.typeId === undefined) {
delete elem.typeId
}
if (elem.unit === null || elem.unit === '' || elem.unit === undefined) {
delete elem.unit
}
if (elem.color === null || elem.color === '' || elem.color === undefined) {
delete elem.color
}
if (elem.kpiGrade === null || elem.kpiGrade === '' || elem.kpiGrade === undefined) {
delete elem.kpiGrade
}
if (elem.point === null || elem.point === '' || elem.point === undefined) {
delete elem.point
}
if (elem.price === null || elem.price === '' || elem.price === undefined) {
delete elem.price
}
if (elem.carCode === null || elem.carCode === '' || elem.carCode === undefined) {
delete elem.carCode
}
if (elem.batteryCode === null || elem.batteryCode === '' || elem.batteryCode === undefined) {
delete elem.batteryCode
}
if (elem.motorCode === null || elem.motorCode === '' || elem.motorCode === undefined) {
delete elem.motorCode
}
return elem
})
const parms2 = JSON.stringify(EnterDetail)
const Data = this.personalForm
for (const key in Data) {
if (Data[key] === '' || Data[key] === undefined || Data[key] === null) {
@ -321,7 +224,7 @@ export default {
const parms = JSON.stringify(Data)
this.$refs.personalForm.validate((valid) => {
if (valid) {
updatechange(parms, parms2).then(res => {
updateVerification(parms).then(res => {
console.log(res)
if (res.data.ret === 200) {
this.$notify({
@ -331,9 +234,10 @@ export default {
offset: 100
})
this.restAllForm()
this.$refs.editable.clear()
this.$refs.personalForm.clearValidate()
this.$refs.personalForm.resetFields()
this.$emit('rest', true)
this.editVisible = false
} else {
this.$notify.error({
title: '错误',
@ -354,9 +258,9 @@ export default {
},
handlecancel() {
this.restAllForm()
this.$refs.editable.clear()
this.$refs.personalForm.clearValidate()
this.$refs.personalForm.resetFields()
this.$emit('rest', true)
this.editVisible = false
}
// -------------------------------------------------

View file

@ -66,12 +66,18 @@
<el-table
v-loading="listLoading"
:key="tableKey"
:row-key="getRowKeys"
:data="list"
border
fit
highlight-current-row
style="width: 100%;"
@current-change="handleCurrentChange">
@current-change="handleCurrentChange"
@selection-change="handleSelectionChange">
<el-table-column
:reserve-selection="true"
type="selection"
width="55"/>
<el-table-column :label="$t('public.id')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.orderNumber }}</span>
@ -177,6 +183,11 @@ export default {
},
data() {
return {
getRowKeys(row) {
return row.id
},
select_orderId: [],
select_order_number: [],
//
employeeVisible: this.installmentcontrol,
//
@ -305,43 +316,24 @@ export default {
handleCurrentChange(val) {
this.choosedata = val
},
//
handleSelectionChange(rows) {
this.moreaction = rows
this.select_order_number = this.moreaction.length
this.select_orderId = []
if (rows) {
rows.forEach(row => {
if (row) {
this.select_orderId.push(row.id)
}
})
}
},
//
async handleConfirm() {
this.employeeVisible = false
const date = new Date()
console.log(this.choosedata)
console.log(this.choosedata.customerName)
const str = this.choosedata.customerName
const getemplist = {
pageNum: 1,
pageSize: 10,
repositoryId: this.$store.getters.repositoryId,
regionIds: this.$store.getters.regionIds,
time: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(),
customerName: str.replace(/\s*/g, '')
}
let Installmentdata = []
await collectlist(getemplist).then(res => {
console.log(res)
Installmentdata = res.data.data.content.list
})
const InstallmentDetail = Installmentdata.map(function(item) {
return {
installmentDetailId: item.id,
presentCount: item.idx,
returnMoney: item.shouldMoney,
shouldMoney: item.shouldMoney,
returnSource: item.capitalMoney,
reward: item.reward,
penalty: item.penalty,
returnInterest: item.interestMoney,
paidmoney: item.paidMoney,
unpay: item.shouldMoney - item.paidMoney,
installmentId: item.installmentId
}
})
this.$emit('InstallmentDetail', InstallmentDetail)
this.$emit('Installment', this.choosedata)
console.log('this.choosedata', this.moreaction)
this.$emit('Installment', this.moreaction)
}
//
}

View file

@ -0,0 +1,368 @@
<template>
<el-dialog :visible.sync="employeeVisible" :installmentcontrol="installmentcontrol" :close-on-press-escape="false" top="10px" title="选择分期订单" append-to-body width="1100px" @close="$emit('update:installmentcontrol', false)">
<el-card class="box-card" style="margin-top: 15px;height: 60px;padding-left:0 " shadow="never">
<el-row>
<el-form ref="getemplist" :model="getemplist" style="margin-top: -9px">
<el-col :span="4">
<el-form-item>
<el-input v-model="getemplist.customerName" :placeholder="$t('InstallmentList.customerName')" clearable @keyup.enter.native="handleFilter"/>
</el-form-item>
</el-col>
<el-col :span="3" style="margin-left: 5px">
<el-form-item>
<el-input v-model="getemplist.customerPhone" placeholder="电话" clearable @keyup.enter.native="handleFilter"/>
</el-form-item>
</el-col>
<el-col :span="3" style="margin-left: 20px">
<el-form-item>
<el-input v-model="getemplist.customerName" :placeholder="$t('InstallmentList.applyNumber')" clearable @keyup.enter.native="handleFilter"/>
</el-form-item>
</el-col>
<!--更多搜索条件-->
<el-col :span="3" style="margin-left: 30px">
<el-popover
v-model="visible2"
placement="bottom"
width="500"
trigger="click">
<el-select v-model="getemplist.receiptStat" :value="getemplist.receiptStat" :placeholder="$t('updates.djzt')" clearable style="width: 40%;float: left;margin-left: 20px">
<el-option :label="$t('updates.zd')" value="1"/>
<el-option :label="$t('updates.zx')" value="2"/>
<el-option :label="$t('updates.jd')" value="3"/>
</el-select>
<el-select v-model="getemplist.judgeStat" :value="getemplist.judgeStat" :placeholder="$t('updates.spzt')" clearable style="width: 40%;float: right;margin-right: 20px">
<el-option :label="$t('updates.wsh')" value="0"/>
<el-option :label="$t('updates.shz')" value="1"/>
<el-option :label="$t('updates.shtg')" value="2"/>
<el-option :label="$t('updates.shptg')" value="3"/>
</el-select>
<!--<el-date-picker-->
<!--v-model="date"-->
<!--type="daterange"-->
<!--range-separator="-"-->
<!--unlink-panels-->
<!--start-placeholder="销售日期"-->
<!--end-placeholder="销售日期"-->
<!--value-format="yyyy-MM-dd"-->
<!--style="margin-top: 20px;margin-left: 20px"/>-->
<div class="seachbutton" style="width: 100%;float: right;margin-top: 20px">
<el-button v-waves class="filter-item" type="primary" style="float: right" round @click="handleFilter">{{ $t('public.search') }}</el-button>
</div>
<el-button v-waves slot="reference" type="primary" class="filter-item" style="width: 130px" @click="visible2 = !visible2">{{ $t('public.filter') }}<svg-icon icon-class="shaixuan" style="margin-left: 4px"/></el-button>
</el-popover>
</el-col>
<el-col :span="3" style="margin-left: 20px">
<!-- 搜索按钮 -->
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" style="width: 86px" round @click="handleFilter">{{ $t('public.search') }}</el-button>
</el-col>
<!--<el-col :span="3">-->
<!--<el-button v-waves class="filter-item" icon="el-icon-plus" type="success" style="width: 86px" @click="handleAdd">{{ $t('public.add') }}</el-button>-->
<!--</el-col>-->
</el-form>
</el-row>
</el-card>
<el-card class="box-card" style="margin-top: 15px" shadow="never">
<!-- 列表开始 -->
<el-table
v-loading="listLoading"
:key="tableKey"
:data="list"
border
fit
highlight-current-row
style="width: 100%;"
@current-change="handleCurrentChange">
<el-table-column :label="$t('public.id')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.orderNumber }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.customerName')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.customerPhone')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.customerPhone }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.address')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.address }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.totalMoney')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.totalMoney }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.leftMoney')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.leftMoney }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('InstallmentList.Interest')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.totalMoney - scope.row.installmentMoney }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('public.judgeStat')" :resizable="false" prop="judgeStat" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.judgeStat | judgeStatFilter }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('public.receiptStat')" :resizable="false" align="center" min-width="150">
<template slot-scope="scope">
<span>{{ scope.row.receiptStat | receiptStatFilter }}</span>
</template>
</el-table-column>
</el-table>
<!-- 列表结束 -->
<pagination v-show="total>0" :total="total" :page.sync="getemplist.pagenum" :limit.sync="getemplist.pagesize" @pagination="getlist" />
<!--修改开始=================================================-->
<el-button v-waves class="filter-item" type="success" style="width: 100px;float: left;margin-bottom: 10px" @click="handleConfirm">{{ $t('Hmodule.sure') }}</el-button>
</el-card>
</el-dialog>
</template>
<script>
import { installmentlist } from '@/api/InstallmentList'
import { collectlist } from '@/api/CollectList'
import { getdeptlist } from '@/api/BasicSettings'
import { searchStockCategory } from '@/api/StockCategory'
import waves from '@/directive/waves' // Waves directive
import Pagination from '@/components/Pagination'
var _that
export default {
directives: { waves },
components: { Pagination },
filters: {
judgeStatFilter(status) {
const statusMap = {
0: _that.$t('updates.wsh'),
1: _that.$t('updates.shz'),
2: _that.$t('Hmodule.shtg'),
3: _that.$t('Hmodule.shbtg')
}
return statusMap[status]
},
receiptStatFilter(status) {
const statusMap = {
1: _that.$t('updates.zd'),
2: _that.$t('updates.zx'),
3: _that.$t('updates.jd')
}
return statusMap[status]
},
stockTypeFilter(status) {
const statusMap = {
1: '采购1'
}
return statusMap[status]
},
sendTypeFilter(status) {
const statusMap = {
1: '已发货',
2: '未发货'
}
return statusMap[status]
}
},
props: {
installmentcontrol: {
type: Boolean,
default: false
}
},
data() {
return {
//
employeeVisible: this.installmentcontrol,
//
typeparms: {
pagenum: 1,
pagesize: 99999
},
//
types: [],
//
depts: [],
//
reviewParms: {
id: '',
judgePersonId: '',
judgeStat: ''
},
//
detailvisible: false,
//
visible2: false,
//
applyPersonId: '',
//
stockControl: false,
//
moreaction: '',
//
downloadLoading: false,
//
list: [],
//
total: 0,
//
tableKey: 0,
//
listLoading: true,
//
getemplist: {
pageNum: 1,
pageSize: 10,
judgeStat: 2, receiptStat: 2,
repositoryId: this.$store.getters.repositoryId,
regionIds: this.$store.getters.regionIds,
isActive: 1
},
//
personalForm: {},
//
editVisible: false,
//
date: []
}
},
watch: {
installmentcontrol() {
this.employeeVisible = this.installmentcontrol
this.getlist()
}
},
beforeCreate() {
_that = this
},
methods: {
//
updatecountry() {
this.getlist()
},
getlist() {
//
this.listLoading = true
installmentlist(this.getemplist).then(res => {
if (res.data.ret === 200) {
this.list = res.data.data.content.list
this.total = res.data.data.content.totalCount
}
setTimeout(() => {
this.listLoading = false
}, 0.5 * 100)
})
//
getdeptlist().then(res => {
if (res.data.ret === 200) {
this.depts = res.data.data.content
}
})
//
searchStockCategory(this.typeparms).then(res => {
if (res.data.ret === 200) {
this.types = res.data.data.content.list
}
})
},
//
restFilter() {
this.salePersonId = ''
this.getemplist.salePersonId = ''
},
//
handleFilter() {
this.getemplist.pageNum = 1
installmentlist(this.getemplist).then(res => {
if (res.data.ret === 200) {
this.list = res.data.data.content.list
this.total = res.data.data.content.totalCount
// this.restFilter()
} else {
// this.restFilter()
}
})
},
// focus
handlechooseStock() {
this.stockControl = true
},
//
stockName(val) {
this.applyPersonId = val.personName
this.getemplist.applyPersonId = val.id
},
//
handleAdd() {
this.$router.push('/StockApply/AddStockApply')
},
//
handleCurrentChange(val) {
this.choosedata = val
},
//
async handleConfirm() {
this.employeeVisible = false
const date = new Date()
console.log(this.choosedata)
console.log(this.choosedata.customerName)
const str = this.choosedata.customerName
const getemplist = {
pageNum: 1,
pageSize: 10,
repositoryId: this.$store.getters.repositoryId,
regionIds: this.$store.getters.regionIds,
time: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(),
customerName: str.replace(/\s*/g, '')
}
let Installmentdata = []
await collectlist(getemplist).then(res => {
console.log(res)
Installmentdata = res.data.data.content.list
})
const InstallmentDetail = Installmentdata.map(function(item) {
return {
installmentDetailId: item.id,
presentCount: item.idx,
returnMoney: item.shouldMoney,
shouldMoney: item.shouldMoney,
returnSource: item.capitalMoney,
reward: item.reward,
penalty: item.penalty,
returnInterest: item.interestMoney,
paidmoney: item.paidMoney,
unpay: item.shouldMoney - item.paidMoney,
installmentId: item.installmentId
}
})
this.$emit('InstallmentDetail', InstallmentDetail)
this.$emit('Installment', this.choosedata)
}
//
}
}
</script>
<style scoped>
.ERP-container {
margin: 50px 30px;
}
.filter-item{
width: 140px;
}
.form-name{
font-size: 18px;
color: #373e4f;
margin-bottom: -20px;
margin-top: 30px;
}
.container{
margin-top: 2%;
border: 1px solid #eceff6;
}
</style>