Browse Source

完善开票申请管理部分页面

master
yunuo970428 3 years ago
parent
commit
208a46dea5
  1. 77
      anrui-buscenter/anrui-buscenter-ui/src/api/zhengchangkaipiao/openTicket.js
  2. 22
      anrui-buscenter/anrui-buscenter-ui/src/router/index.js
  3. 90
      anrui-buscenter/anrui-buscenter-ui/src/views/kaipiaoguanli/zhengchangkaipiaoguanli/zhangchangkaipiaoguanli.vue
  4. 165
      anrui-buscenter/anrui-buscenter-ui/src/views/kaipiaoguanli/zhengchangkaipiaoguanli/zhengchangkaipiaoAdd.vue

77
anrui-buscenter/anrui-buscenter-ui/src/api/zhengchangkaipiao/openTicket.js

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 盖章申请管理分页列表
export function listPage(data) {
return request({
url: '/buscenter/v1/bussealapply/listPage',
url: '/fin/v1/finbillapplication/listPage',
method: 'post',
data: data,
headers: {
@ -15,7 +15,7 @@ export function listPage(data) {
// 盖章申请管理保存(新增、编辑)
export function save(data) {
return request({
url: '/buscenter/v1/bussealapply/save',
url: '/fin/v1/finbillapplication/save',
method: 'post',
data: data,
headers: {
@ -27,7 +27,7 @@ export function save(data) {
// 盖章申请管理分页列表删除
export function delBySids(data) {
return request({
url: '/buscenter/v1/bussealapply/delBySids',
url: '/fin/v1/finbillapplication/delBySids',
method: 'DELETE',
data: data,
headers: {
@ -39,7 +39,7 @@ export function delBySids(data) {
// 盖章申请管理根据Sid获取一条记录
export function fetchDetailsBySid(data) {
return request({
url: '/buscenter/v1/bussealapply/fetchDetailsBySid/' + data,
url: '/fin/v1/finbillapplication/fetchDetailsBySid/' + data,
method: 'get'
})
}
@ -52,3 +52,72 @@ export function dataDictionary(data) {
params: data
})
}
// 挂靠公司模糊查询下拉框
export function namesDown(data) {
return request({
url: '/base/v1/baseaffiliatcompany/namesDown',
method: 'get',
params: data
})
}
// 盖章申请管理提交
export function submitFinBillApplication(data) {
return request({
url: '/fin/v1/finbillapplication/submitFinBillApplication',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 待办任务同意办理
export function businessAgree(data) {
return request({
url: '/fin/v1/finbillapplication/complete',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 待办任务驳回任务
export function rejectTask(data) {
return request({
url: '/fin/v1/finbillapplication/reject/' + data.businessSid,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 待办任务终止任务
export function breakTask(data) {
return request({
url: '/fin/v1/finbillapplication/breakProcess/' + data.businessSid,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 待办任务撤回任务
export function revokeTask(data) {
return request({
url: '/fin/v1/finbillapplication/revokeProcess/' + data.userSid + '/' + data.businessSid,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}

22
anrui-buscenter/anrui-buscenter-ui/src/router/index.js

@ -490,7 +490,7 @@ export const constantRoutes = [{
}
]
},
// 车型查询
// 盖章管理
{
path: '/gaizhangguanli',
component: Layout,
@ -511,6 +511,26 @@ export const constantRoutes = [{
]
},
// 正常开票管理
{
path: '/kaipiaoguanli',
component: Layout,
redirect: '/kaipiaoguanli',
meta: {
title: '开票管理'
},
children: [
{
path: '/kaipiaoguanli/zhengchangkaipiaoguanli',
component: () =>
import('@/views/kaipiaoguanli/zhengchangkaipiaoguanli/zhangchangkaipiaoguanli.vue'),
name: 'zhengchangkaipiaoguanli',
meta: {
title: '正常开票管理'
}
}
]
},
// 流程所需页面路径
// 订金收取审批、发起人详情页面
{

90
anrui-buscenter/anrui-buscenter-ui/src/views/kaipiaoguanli/zhengchangkaipiaoguanli/zhangchangkaipiaoguanli.vue

@ -14,29 +14,33 @@
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-row>
<el-form-item label="合同编号:" class="searchlist">
<el-input v-model="listQuery.params.fileNameOrSealReason" placeholder="" clearable style="width: 150px"/>
<el-input v-model="listQuery.params.contractNo" placeholder="" clearable/>
</el-form-item>
<el-form-item label="客户名称:" class="searchlist">
<el-input v-model="listQuery.params.fileNameOrSealReason" placeholder="" clearable style="width: 150px"/>
<el-input v-model="listQuery.params.customerName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="开票类型:" class="searchlist">
<el-input v-model="listQuery.params.fileNameOrSealReason" placeholder="" clearable style="width: 150px"/>
<el-select v-model="listQuery.params.billTypeKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in billType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="开票名称:" class="searchlist">
<el-input v-model="listQuery.params.fileNameOrSealReason" placeholder="" clearable style="width: 150px"/>
<el-select v-model="listQuery.params.billName" placeholder="请选择" filterable clearable>
<el-option v-for="item in billName_list" :key="item.sid" :label="item.orgName" :value="item.sid"/>
</el-select>
</el-form-item>
<el-form-item label="申请人:" class="searchlist">
<el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="开票状态:" class="searchlist">
<el-input v-model="listQuery.params.billState" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期:" class="searchlist">
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.sealStartDate" clearable style="width: 160px" type="date" placeholder="开始日期"/>
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.applyEndDate" clearable style="width: 200px" type="date" placeholder="开始日期"/>
<div class="line"></div>
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.sealEndDate" clearable style="width: 160px" type="date" placeholder="结束日期"/>
</el-form-item>
<el-form-item label="申请人:" class="searchlist">
<el-input v-model="listQuery.params.fileNameOrSealReason" placeholder="" clearable style="width: 150px"/>
</el-form-item>
<el-form-item label="开票状态:" class="searchlist">
<el-input v-model="listQuery.params.fileNameOrSealReason" placeholder="" clearable style="width: 150px"/>
<el-date-picker value-format="yyyy-MM-dd" v-model="listQuery.params.applyEndDate" clearable style="width: 200px" type="date" placeholder="结束日期"/>
</el-form-item>
</el-row>
<div class="searchbtns">
@ -67,37 +71,37 @@
</el-table-column>
<el-table-column label="合同编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.applyName }}</span>
<span>{{ scope.row.contractNo }}</span>
</template>
</el-table-column>
<el-table-column label="客户名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.sealDate }}</span>
<span>{{ scope.row.customerName }}</span>
</template>
</el-table-column>
<el-table-column label="数量" align="center">
<template slot-scope="scope">
<span>{{ scope.row.sealTypeValue }}</span>
<span>{{ scope.row.num }}</span>
</template>
</el-table-column>
<el-table-column label="开票总金额" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fileNameOrSealReason }}</span>
<span>{{ scope.row.totalBillMoney }}</span>
</template>
</el-table-column>
<el-table-column label="开票状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fileNameOrSealReason }}</span>
<span>{{ scope.row.billState }}</span>
</template>
</el-table-column>
<el-table-column label="申请人" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fileNameOrSealReason }}</span>
<span>{{ scope.row.createByName }}</span>
</template>
</el-table-column>
<el-table-column label="申请日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fileNameOrSealReason }}</span>
<span>{{ scope.row.applyDate }}</span>
</template>
</el-table-column>
</el-table>
@ -110,12 +114,12 @@
</div>
</div>
<zhengchangkaipiaoAdd v-show="viewState == 2" ref="divAdd" @doback="resetState"/>
<zhengchangkaipiaoInfo v-show="viewState == 3" ref="divInfo" @doback="resetState"/>
<!-- <zhengchangkaipiaoInfo v-show="viewState == 3" ref="divInfo" @doback="resetState"/>-->
</div>
</template>
<script>
import { listPage } from '@/api/zhengchangkaipiao/openTicket.js'
import { listPage, dataDictionary, namesDown } from '@/api/zhengchangkaipiao/openTicket.js'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import zhengchangkaipiaoAdd from './zhengchangkaipiaoAdd'
@ -136,15 +140,23 @@ export default {
viewState: 1,
tableKey: 0,
list: [],
billType_list: [],
billName_list: [],
listLoading: false,
listQuery: {
current: 1,
size: 10,
params: {
fileNameOrSealReason: '',
sealStartDate: '',
sealEndDate: '',
userSid: window.sessionStorage.getItem('staffSid')
contractNo: '',
customerName: '',
billTypeKey: '',
billName: '',
createByName: '',
applyEndDate: '',
applyStartDate: '',
billState: '',
useOrgSid: '',
staffSid: window.sessionStorage.getItem('staffSid')
},
total: 0
}
@ -152,8 +164,22 @@ export default {
},
created() {
this.getList()
this.DataDictionary()
},
methods: {
//
DataDictionary() {
dataDictionary({ type: 'invoiceType' }).then((res) => {
if (res.code === '200') {
this.billType_list = res.data
}
})
namesDown().then((res) => {
if (res.code === '200') {
this.billName_list = res.data
}
})
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
@ -189,10 +215,16 @@ export default {
current: 1,
size: 10,
params: {
fileNameOrSealReason: '',
sealStartDate: '',
sealEndDate: '',
userSid: window.sessionStorage.getItem('staffSid')
contractNo: '',
customerName: '',
billTypeKey: '',
billName: '',
createByName: '',
applyEndDate: '',
applyStartDate: '',
billState: '',
useOrgSid: '',
staffSid: window.sessionStorage.getItem('staffSid')
},
total: 0
}

165
anrui-buscenter/anrui-buscenter-ui/src/views/kaipiaoguanli/zhengchangkaipiaoguanli/zhengchangkaipiaoAdd.vue

@ -13,7 +13,7 @@
</div>
<div class="listconadd">
<div class="wlInfo"><span>公司申请入账单</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top">
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top" class="formadd">
<el-row class="linetwo">
<el-col :span="3" class="el-form-item-right">
<el-form-item label="合同编号:"></el-form-item>
@ -46,29 +46,33 @@
</el-row>
<div class="tableStyle">
<div style="margin-left: 5px;font-weight: bold">开票信息</div>
<div>
<span>单台开票金额:<el-input v-model="formobj.configName" placeholder="" clearable></el-input></span>
<div style="display: flex;justify-content: flex-start;align-items: center">
<span style="width: 150px">单台开票金额: </span><el-input v-model="formobj.configName" @keyup.native="UpNumber" @keydown.native="UpNumber" style="padding: 5px;" placeholder="" clearable></el-input>
</div>
</div>
<el-table :key="tableKey" :data="formobj.vehicleList" :index="index" border style="width: 100%">
<el-table :key="tableKey" :data="formobj.finBillVehicles" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="车架号" align="left" header-align="center">
<template slot-scope="scope" prop="vehicleName">
<template slot-scope="scope">
<el-input v-model="scope.row.vinNo" placeholder="" class="addinputw" clearable/>
</template>
</el-table-column>
<el-table-column label="开票类型" align="left" header-align="center">
<template slot-scope="scope" prop="vehicleName">
<el-input v-model="scope.row.vinNo" placeholder="" class="addinputw" clearable/>
<template slot-scope="scope">
<el-select v-model="scope.row.billTypeKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in billType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</template>
</el-table-column>
<el-table-column label="开票名称" align="left" header-align="center">
<template slot-scope="scope" prop="vehicleName">
<el-input v-model="scope.row.vinNo" placeholder="" class="addinputw" clearable/>
<template slot-scope="scope">
<el-select v-model="scope.row.params.billName" placeholder="请选择" filterable clearable>
<el-option v-for="item in billName_list" :key="item.sid" :label="item.orgName" :value="item.sid"/>
</el-select>
</template>
</el-table-column>
<el-table-column label="备注" header-align="center">
<template slot-scope="scope" prop="remarks">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" placeholder="" class="addinputw" clearable/>
</template>
</el-table-column>
@ -79,7 +83,7 @@
</el-col>
<el-col :span="21">
<el-form-item>
<el-input v-model="formobj.configName" readonly/>
{{ formobj.configName }}
</el-form-item>
</el-col>
</el-row>
@ -95,14 +99,45 @@
</el-row>
<el-row>
<el-col :span="3" class="el-form-item-right">
<el-form-item label="备注"></el-form-item>
<el-form-item label="开票状态"></el-form-item>
</el-col>
<el-col :span="21">
<el-form-item>
<el-input v-model="formobj.remarks" readonly/>
{{ formobj.configName }}
</el-form-item>
</el-col>
</el-row>
<div class="tableStyle">
<div style="margin-left: 5px;font-weight: bold">所附资料附件</div>
</div>
<el-table :key="fileKey" :data="formobj.finBillVehicles" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small">上传</el-button>
</template>
</el-table-column>
<el-table-column label="附件名称" header-align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" placeholder="" class="addinputw" clearable/>
</template>
</el-table-column>
<el-table-column label="文件格式" header-align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" placeholder="" class="addinputw" clearable/>
</template>
</el-table-column>
<el-table-column label="上传人" header-align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" placeholder="" class="addinputw" clearable/>
</template>
</el-table-column>
<el-table-column label="上传时间" header-align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" placeholder="" class="addinputw" clearable/>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
@ -111,7 +146,7 @@
</template>
<script>
import req from '@/api/ruzhang/scmapplyinbound'
import { save, dataDictionary, fetchDetailsBySid, submitFinBillApplication, namesDown } from '@/api/zhengchangkaipiao/openTicket.js'
export default {
name: 'zhengchangkaipiaoAdd',
data() {
@ -119,75 +154,67 @@ export default {
viewTitle: '',
index: 0,
tableKey: 0,
fileKey: 1,
billType_list: [],
billName_list: [],
//
formobj: {
sid: '', // sid
applicationSid: window.sessionStorage.getItem('userSid'), // sid
userSid: window.sessionStorage.getItem('userSid'), // sid
applicationName: window.sessionStorage.getItem('name'), //
applicationCode: '', //
configName: '',
departureDate: '',
modelName: '',
modelSid: '',
purchaseOrderNo: '',
remarks: '', //
vehicleOrderSid: '',
vehicleList: []
sid: '',
billAppPublicSid: '',
billState: '',
contractNo: '',
contractSid: '',
createByName: window.sessionStorage.getItem('name'),
customerName: '',
customerSid: '',
oneBillMoney: '',
totalBillMoney: '',
useOrgSid: '',
finBillApplicationAppendxs: [],
finBillFiles: [],
finBillVehicles: []
},
rules: {},
submitdisabled: false
}
},
methods: {
showEdit(sid, row) {
//
DataDictionary() {
dataDictionary({ type: 'invoiceType' }).then((res) => {
if (res.code === '200') {
this.billType_list = res.data
}
})
namesDown().then((res) => {
if (res.code === '200') {
this.billName_list = res.data
}
})
},
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '')
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】入账单'
console.log('编辑回显', sid, row)
req.fetchBySid(sid).then((resp) => {
const data = resp.data
this.formobj.applicationCode = data.applicationCode
this.formobj.remarks = data.remarks
this.formobj.sid = sid
this.formobj.configName = data.configName
this.formobj.departureDate = data.departureDate
this.formobj.modelName = data.modelName
this.formobj.modelSid = data.modelSid
this.formobj.purchaseOrderNo = data.purchaseOrderNo
this.formobj.vehicleOrderSid = data.vehicleOrderSid
if (data.inboundVehicleList.length > 0) {
data.inboundVehicleList.forEach((e) => {
this.formobj.vehicleList.push({
applySid: e.applySid,
remarks: e.remarks,
modelSid: e.modelSid,
sid: e.sid,
vinNo: e.vinNo
})
})
} else {
for (var i = 0; i < row[0].vehicleNum; i++) {
this.formobj.vehicleList.push({
applySid: '',
remarks: '',
modelSid: this.formobj.modelSid,
sid: '',
vinNo: ''
})
}
this.viewTitle = '【编辑】公司开票申请'
console.log('编辑回显', row)
fetchDetailsBySid(row.sid).then((resp) => {
this.DataDictionary()
if (resp.code === '200') {
this.formobj = resp.data
}
}).catch((e) => {
this.formobj = row
})
},
saveEdit() {
console.log(this.formobj, 636363)
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((resp) => {
save(this.formobj).then((resp) => {
this.submitdisabled = false
this.$message({
showClose: true,
@ -204,7 +231,7 @@ export default {
})
},
submitVehicleApply() {
req.submitVehicleApply(this.formobj).then((res) => {
submitFinBillApplication(this.formobj).then((res) => {
console.log(res.code, res.success)
if (res.code === '200' && res.success) {
this.$message({
@ -242,7 +269,11 @@ export default {
line-height: 90px;
}
.linetwo {
margin-top: 10px;
border-left: 0px;
border-right: 0px;
}
.linetwo .el-col{
border: 0;
}
.linetwo .el-form-item {
margin-bottom: 0px !important;
@ -253,10 +284,10 @@ export default {
.tableStyle {
background-color: #FFFFFF;
display: flex;
justify-content: start;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
height: 45px;
}
.el-form-item-right {
text-align: right;

Loading…
Cancel
Save