Browse Source

完善付款申请、费用申请、出纳付款列表等业务页面和及增加流程页面

master
yunuo970428 3 years ago
parent
commit
1b8b54b3d9
  1. 2
      anrui-buscenter/anrui-finmanage-ui/package.json
  2. 22
      anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/chunafukuan/cashier.js
  3. 44
      anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/expense.js
  4. 51
      anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/payment.js
  5. 8
      anrui-buscenter/anrui-finmanage-ui/src/api/jichuxinxi/dictcommons.js
  6. 72
      anrui-buscenter/anrui-finmanage-ui/src/main.js
  7. 43
      anrui-buscenter/anrui-finmanage-ui/src/router/modules/codemenu.js
  8. 197
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue
  9. 183
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/chooseVinNo.vue
  10. 151
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expense.vue
  11. 379
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expenseAdd.vue
  12. 54
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expenseInfo.vue
  13. 162
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/payment.vue
  14. 268
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue
  15. 29
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentInfo.vue
  16. 1
      anrui-buscenter/anrui-finmanage-ui/src/views/login/login.vue
  17. 183
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/chooseVinNo.vue
  18. 317
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongDaiBanInfo.vue
  19. 357
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongEdit.vue
  20. 189
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongYiBanInfo.vue
  21. 322
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukaunDaiBanInfo.vue
  22. 351
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanEdit.vue
  23. 190
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanYiBanInfo.vue

2
anrui-buscenter/anrui-finmanage-ui/package.json

@ -15,7 +15,7 @@
},
"dependencies": {
"axios": "0.18.1",
"core-js": "3.6.5",
"core-js": "^3.23.3",
"element-ui": "2.13.2",
"js-cookie": "2.2.0",
"normalize.css": "7.0.0",

22
anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/chunafukuan/cashier.js

@ -0,0 +1,22 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/fin/v1/finpaymentrecord/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 更新
update: function(params) {
return request({
url: '/fin/v1/finpaymentrecord/update',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
}
}

44
anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/expense.js

@ -4,7 +4,7 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/base/v1/baseinternalpurchase/listPage',
url: '/fin/v1/fincostapply/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -13,7 +13,7 @@ export default {
// 选择车辆信息--查询分页列表
pageList: function(params) {
return request({
url: '/base/basevehmodelconfig/selVehModelByUseOrgSidAndModelSidAndConfigSid',
url: '/base/v1/basevehicle/selectCostVehicleList',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -22,7 +22,7 @@ export default {
// 保存修改记录
saveOrUpdate: function(params) {
return request({
url: '/base/v1/baseinternalpurchase/save',
url: '/fin/v1/fincostapply/save',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -31,7 +31,7 @@ export default {
// 提交流程
submitVehicleApply: function(params) {
return request({
url: '/base/v1/basevehicleactualsales/submitVehicleSales',
url: '/fin/v1/fincostapply/submitCostApply',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -40,23 +40,23 @@ export default {
// 通过sid查询一条记录
fetchBySid: function(sid) {
return request({
url: '/base/v1/baseinternalpurchase/fetchDetailsBySid/' + sid,
url: '/fin/v1/fincostapply/fetchDetailsBySid/' + sid,
method: 'get'
})
},
// 通过sid删除一条或多条记录
delBySids: function(data) {
return request({
url: '/base/v1/baseinternalpurchase/delBySids',
url: '/fin/v1/fincostapply/delBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 代办任务同意办理
businessAgree: function(params) {
complete: function(params) {
return request({
url: '/scm/v1/scmapplyinbound/complete',
url: '/fin/v1/fincostapply/complete',
method: 'post',
data: params,
headers: {
@ -65,9 +65,9 @@ export default {
})
},
// 代办任务驳回任务
rejectTask: function(params) {
reject: function(params) {
return request({
url: '/scm/v1/scmapplyinbound/reject/' + params.businessSid,
url: '/fin/v1/fincostapply/reject',
method: 'post',
data: params,
headers: {
@ -76,9 +76,9 @@ export default {
})
},
// 代办任务终止任务
breakTask: function(params) {
breakProcess: function(params) {
return request({
url: '/base/v1/basevehicleactualsales/breakProcess/' + params.businessSid,
url: '/fin/v1/fincostapply/breakProcess',
method: 'post',
data: params,
headers: {
@ -87,14 +87,30 @@ export default {
})
},
// 代办任务撤回任务
revokeTask: function(params) {
revokeProcess: function(params) {
return request({
url: '/scm/v1/scmapplyinbound/revokeProcess/' + params.userSid + '/' + params.businessSid,
url: '/fin/v1/fincostapply/revokeProcess',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 审批流程(驳回)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/fin/v1/fincostapply/getNextNodesForSubmit',
method: 'get',
params: data
})
},
// 审批流程(驳回)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/fin/v1/fincostapply/getPreviousNodesForReject',
method: 'get',
params: data
})
}
}

51
anrui-buscenter/anrui-finmanage-ui/src/api/anruifinmanagement/payment.js

@ -4,16 +4,7 @@ export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/base/v1/baseinternalpurchase/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 选择车辆信息--查询分页列表
pageList: function(params) {
return request({
url: '/base/basevehmodelconfig/selVehModelByUseOrgSidAndModelSidAndConfigSid',
url: '/fin/v1/finpaymentapply/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -22,7 +13,7 @@ export default {
// 保存修改记录
saveOrUpdate: function(params) {
return request({
url: '/base/v1/baseinternalpurchase/save',
url: '/fin/v1/finpaymentapply/save',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -31,7 +22,7 @@ export default {
// 提交流程
submitVehicleApply: function(params) {
return request({
url: '/base/v1/basevehicleactualsales/submitVehicleSales',
url: '/fin/v1/finpaymentapply/submitPayApply',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
@ -40,23 +31,23 @@ export default {
// 通过sid查询一条记录
fetchBySid: function(sid) {
return request({
url: '/base/v1/baseinternalpurchase/fetchDetailsBySid/' + sid,
url: '/fin/v1/finpaymentapply/fetchDetailsBySid/' + sid,
method: 'get'
})
},
// 通过sid删除一条或多条记录
delBySids: function(data) {
return request({
url: '/base/v1/baseinternalpurchase/delBySids',
url: '/fin/v1/finpaymentapply/delBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 代办任务同意办理
businessAgree: function(params) {
complete: function(params) {
return request({
url: '/scm/v1/scmapplyinbound/complete',
url: '/fin/v1/finpaymentapply/complete',
method: 'post',
data: params,
headers: {
@ -65,9 +56,9 @@ export default {
})
},
// 代办任务驳回任务
rejectTask: function(params) {
reject: function(params) {
return request({
url: '/scm/v1/scmapplyinbound/reject/' + params.businessSid,
url: '/fin/v1/finpaymentapply/reject',
method: 'post',
data: params,
headers: {
@ -76,9 +67,9 @@ export default {
})
},
// 代办任务终止任务
breakTask: function(params) {
breakProcess: function(params) {
return request({
url: '/base/v1/basevehicleactualsales/breakProcess/' + params.businessSid,
url: '/fin/v1/finpaymentapply/breakProcess',
method: 'post',
data: params,
headers: {
@ -87,14 +78,30 @@ export default {
})
},
// 代办任务撤回任务
revokeTask: function(params) {
revokeProcess: function(params) {
return request({
url: '/scm/v1/scmapplyinbound/revokeProcess/' + params.userSid + '/' + params.businessSid,
url: '/fin/v1/finpaymentapply/revokeProcess',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 审批流程(驳回)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/fin/v1/finpaymentapply/getNextNodesForSubmit',
method: 'get',
params: data
})
},
// 审批流程(驳回)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/fin/v1/finpaymentapply/getPreviousNodesForReject',
method: 'get',
params: data
})
}
}

8
anrui-buscenter/anrui-finmanage-ui/src/api/jichuxinxi/dictcommons.js

@ -39,3 +39,11 @@ export function changShang(data) {
params: data
})
}
// 根据当前登录用户的分公司Sid获取该分公司下的厂商
export function selectByOrgSid(data) {
return request({
url: '/base/v1/basemanufacturer/selectByOrgSid',
method: 'get',
params: data
})
}

72
anrui-buscenter/anrui-finmanage-ui/src/main.js

@ -14,9 +14,9 @@ import Pagination from '@/components/pagination/index.vue'
import tabsearch from '@/components/tab-search/index.vue'
import eimage from '@/components/E-image/index.vue'
import Print from '@/utils/print' // 引入附件的js文件
import {setStorage} from './utils/auth.js'
import { setStorage } from './utils/auth.js'
import VueAMap from 'vue-amap'
import request from "@/utils/request";
import request from '@/utils/request'
Vue.use(ElementUI)
@ -31,7 +31,6 @@ Vue.use(Print) // 注册
let token = null
token = GetQueryString('token')
if (token) {
setStorage(token)
let href = window.location.href
@ -41,9 +40,8 @@ if (token) {
function GetQueryString(name) {
var one = window.location.href.indexOf('?token=') + 7
if(one<7)
return null;
var two = window.location.href.lastIndexOf('&') //+ 1
if (one < 7) return null
var two = window.location.href.lastIndexOf('&') // + 1
var data = window.location.href.substr(one)
if (two > one) {
data = window.location.href.slice(one, two)
@ -58,60 +56,58 @@ function GetQueryString(name) {
// if (r != null) return unescape(r[2]); return null
}
//获取登录用户信息
function getUserInfo(){
// 获取登录用户信息
function getUserInfo() {
return request({
url: '/portal/v1/sysuser/loginDetails',
method: 'post',
headers: {
'Content-Type': 'application/json'
}
}).then(rep=>{
const data=rep.data;
}).then(rep => {
const data = rep.data
let user = {
roleSid: data.roleSid,
name: data.name,
userName: data.userName,
departmentName: data.departmentName, //部门名称
departmentSid:data.departmentSid, //部门sid
departmentName: data.departmentName, // 部门名称
departmentSid: data.departmentSid, // 部门sid
isAdmin: data.isAdmin,
staffSid: data.staffSid, //业务员sid
staffSid: data.staffSid, // 业务员sid
userSid: data.sid,
orgSid: data.organizationSid, //单位sid
orgSid: data.organizationSid, // 单位sid
Orgname: data.organizationName,
dwjb: data.dwjb
};
//结果存入缓存
window.sessionStorage.setItem('staffSid',user.staffSid);
window.sessionStorage.setItem('userSid', user.userSid);
window.sessionStorage.setItem('Orgname', user.Orgname);
window.sessionStorage.setItem('orgSid',user.orgSid);
window.sessionStorage.setItem('departmentName', user.departmentName);
window.sessionStorage.setItem('name', user.name);
window.sessionStorage.setItem('user', user);
window.sessionStorage.setItem('departmentName',user.departmentName);
window.sessionStorage.setItem('departmentSid',user.departmentSid);
}
// 结果存入缓存
window.sessionStorage.setItem('staffSid', user.staffSid)
window.sessionStorage.setItem('userSid', user.userSid)
window.sessionStorage.setItem('Orgname', user.Orgname)
window.sessionStorage.setItem('orgSid', user.orgSid)
window.sessionStorage.setItem('departmentName', user.departmentName)
window.sessionStorage.setItem('name', user.name)
window.sessionStorage.setItem('user', user)
window.sessionStorage.setItem('departmentName', user.departmentName)
window.sessionStorage.setItem('departmentSid', user.departmentSid)
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
})
}
getUserInfo();
getUserInfo()
Vue.use(VueAMap);
Vue.use(VueAMap)
VueAMap.initAMapApiLoader({
key: 'ccda12d8bffc72e9f1a32c599323a876', // 此处的key,在高德开放平台申请
plugin: ['AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PlaceSearch', 'AMap.Geolocation', 'AMap.Geocoder'], // 此处的插件按需添加
v: '1.4.4',
uiVersion: '1.0'
});
Vue.config.productionTip = false;
})
new Vue({
el: '#app',
router,
store,
render: h => h(App)
});
Vue.config.productionTip = false
export default getUserInfo();
export default getUserInfo()

43
anrui-buscenter/anrui-finmanage-ui/src/router/modules/codemenu.js

@ -140,7 +140,48 @@ const codemenu = [
name: 'cashier',
meta: { title: '财务管理', noCache: true }
}]
},
// 费用申请管理编辑
{
path: '/feiyongguanliFlow/feiyongguanli/feiyongEdit',
component: () =>
import('@/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongEdit.vue'),
name: 'feiyongEdit'
},
// 费用申请管理待办详情
{
path: '/feiyongguanliFlow/feiyongguanli/feiyongDaiBanInfo',
component: () =>
import('@/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongDaiBanInfo.vue'),
name: 'feiyongDaiBanInfo'
},
// 费用申请管理已办详情
{
path: '/feiyongguanliFlow/feiyongguanli/feiyongYiBanInfo',
component: () =>
import('@/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongYiBanInfo.vue'),
name: 'feiyongYiBanInfo'
},
// 付款申请管理编辑
{
path: '/fukuanguanliFlow/fukuanguanli/fukuanEdit',
component: () =>
import('@/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanEdit.vue'),
name: 'fukuanEdit'
},
// 付款申请管理待办详情
{
path: '/fukuanguanliFlow/fukuanguanli/fukaunDaiBanInfo',
component: () =>
import('@/views/workFlow/fukuanguanliFlow/fukuanguanli/fukaunDaiBanInfo.vue'),
name: 'fukaunDaiBanInfo'
},
// 付款申请管理已办详情
{
path: '/fukuanguanliFlow/fukuanguanli/fukuanYiBanInfo.vue',
component: () =>
import('@/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanYiBanInfo.vue'),
name: 'fukuanYiBanInfo'
}
]
export default codemenu

197
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue

@ -9,27 +9,27 @@
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="状态">
<el-select v-model="listQuery.params.vehicleType" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in vehicleFunction_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
<el-select v-model="listQuery.params.state" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in state_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="款项类">
<el-select v-model="listQuery.params.productLine" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in productLine_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
<el-form-item label="款项类">
<el-select v-model="listQuery.params.costTypeKey" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in costType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="款项名称">
<el-select v-model="listQuery.params.productLine" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in productLine_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
<el-select v-model="listQuery.params.costTitleKey" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in costTitle_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="审批日期">
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.warehousingStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<el-date-picker v-model="listQuery.params.createStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
<div style="float: left;margin: 0px 10px"></div>
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.warehousingEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<el-date-picker v-model="listQuery.params.createEndDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
</el-form-item>
</el-form>
@ -45,76 +45,76 @@
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="100px" align="center">
<el-table-column width="50px" fixed type="selection" align="center"/>
<el-table-column width="80px" fixed label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" fixed width="100px" align="center">
<template slot-scope="scope">
<el-button type="success" size="mini">办理</el-button>
<el-button type="success" size="mini" @click="handleEdit(scope.row)">办理</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="140px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleVersion }}</span>
<span>{{ scope.row.state }}</span>
</template>
</el-table-column>
<el-table-column label="审批日期" align="center">
<template slot-scope="scope">
<template slot-scope="createTime">
<span>{{ scope.row.engineTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="业务编号" align="center" width="150px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.billNo }}</span>
</template>
</el-table-column>
<el-table-column label="款项类别" align="center" width="180px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.costTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="款项名称" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.costTitleValue }}</span>
</template>
</el-table-column>
<el-table-column label="收款单位名称" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.receiveCompany }}</span>
</template>
</el-table-column>
<el-table-column label="收款账号" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.receiveBankAccount }}</span>
</template>
</el-table-column>
<el-table-column label="金额" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.cost }}</span>
</template>
</el-table-column>
<el-table-column label="付款银行" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.payBank }}</span>
</template>
</el-table-column>
<el-table-column label="付款账户" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.payBankAccount }}</span>
</template>
</el-table-column>
<el-table-column label="付款备注" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.payRemark }}</span>
</template>
</el-table-column>
<el-table-column label="付款人" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="付款日期" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
<span>{{ scope.row.payDate }}</span>
</template>
</el-table-column>
<el-table-column label="付款凭证" align="center" width="180px" class-name="small-padding fixed-width">
@ -133,23 +133,25 @@
<!-- End 列表页面 -->
<!-- 照片弹窗 -->
<el-dialog title="查看" :visible.sync="dialogImgVisible">
<el-image v-for="item in srcList" style="width: 100px; height: 100px" :src="item" :preview-src-list="srcList"></el-image>
<el-image v-for="item in srcList" style="width: 100px; height: 100px" :src="item"></el-image>
</el-dialog>
<el-dialog :visible.sync="dialogVisible" width="50%" center>
<el-form ref="" :model="formobj" class="formadd" label-position="right">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="4">
<span>付款</span>
<span>付款方式</span>
</el-col>
<el-col :span="8">
<span>{{ formobj.createByName }}</span>
<el-select v-model="formobj.payWayValue" placeholder="请选择" clearable>
<el-option v-for="item in payWay_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-col>
<el-col :span="4">
<span>付款日期</span>
</el-col>
<el-col :span="8">
<el-form-item>
<el-date-picker v-model="formobj.date" type="date" clearable value-format="yyyy-MM-dd" style="width: 93%" placeholder="请选择日期"/>
<el-date-picker v-model="formobj.createTime" type="date" clearable value-format="yyyy-MM-dd" style="width: 93%" placeholder="请选择日期"/>
</el-form-item>
</el-col>
</el-row>
@ -159,9 +161,7 @@
</el-col>
<el-col :span="8">
<el-form-item>
<el-select v-model="formobj.bank" placeholder="请选择" clearable>
<el-option v-for="item in vehicleFunction_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
<el-input v-model="formobj.payBank" clearable placeholder="请填写付款银行"/>
</el-form-item>
</el-col>
<el-col :span="4">
@ -169,17 +169,17 @@
</el-col>
<el-col :span="8">
<el-form-item>
<el-input clearable placeholder="请填写付款账号"/>
<el-input v-model="formobj.payBankAccount" clearable placeholder="请填写付款账号"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>备注</span>
<span>付款备注</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input class="addinputw" clearable/>
<el-input v-model="formobj.payRemark" placeholder="请填写备注" clearable/>
</el-form-item>
</el-col>
</el-row>
@ -195,8 +195,8 @@
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="success" icon="el-icon-check" size="small" @click="dialogVisible = false">通过</el-button>
<el-button type="info" icon="el-icon-close" size="small" @click="dialogVisible = false">关闭</el-button>
<el-button type="success" icon="el-icon-check" size="small" @click="handlePass">通过</el-button>
<el-button type="info" icon="el-icon-close" size="small" @click="handColse">关闭</el-button>
</div>
</el-dialog>
</div>
@ -207,6 +207,8 @@ import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import upload from '@/components/uploadFile/upload'
import { typeValues } from '@/api/jichuxinxi/dictcommons'
import req from '@/api/anruifinmanagement/chunafukuan/cashier'
export default {
name: 'cashier',
@ -252,31 +254,46 @@ export default {
srcList: [],
sids: [],
diploma_list: [],
vehicleFunction_list: [], //
productLine_list: [], //
state_list: [
{
dictKey: 1,
dictValue: '未付款'
},
{
dictKey: 2,
dictValue: '已付款'
}
],
costType_list: [],
costTitle_list: [],
payWay_list: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
carBrand: '',
vehicleType: '',
productLine: '',
driveForm: '',
power: '',
vehicleVersion: '',
fuelType: '',
vehicleTypeCode: '',
gearboxType: '',
emissionStandard: '',
engineType: '',
marketSegments: '',
specifications: ''
costTitleKey: '',
costTypeKey: '',
createEndDate: '',
createStartDate: '',
state: '',
userSid: ''
},
current: 1,
size: 10,
total: 0
},
formobj: {},
formobj: {
name: '',
payBank: '',
payBankAccount: '',
payDate: '',
payFile: '',
payRemark: '',
payWayKey: '',
payWayValue: '',
sids: [],
userSid: ''
},
imgList: [],
rules: {}
}
@ -284,8 +301,6 @@ export default {
created() {
//
this.init()
//
// this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
@ -303,17 +318,8 @@ export default {
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
case 'doImport':
this.doImport()
case 'doDispose':
this.doDispose()
break
case 'doExport':
this.doExport()
@ -321,14 +327,22 @@ export default {
case 'doClose':
this.doClose()
break
case 'doDispose':
this.doDispose()
break
default:
break
}
},
init() {},
init() {
typeValues({ type: 'payCostType' }).then((res) => {
if (res.success) {
this.costType_list = res.data
}
})
typeValues({ type: 'payCostTitle' }).then((res) => {
if (res.success) {
this.costTitle_list = res.data
}
})
},
handleSelectionChange(row) {
console.log('aaa', row)
const aa = []
@ -347,14 +361,11 @@ export default {
//
getList() {
this.listLoading = true
pagerList(this.listQuery).then((response) => {
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
if (response.success && response.data && response.data.total > 0) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
@ -371,19 +382,12 @@ export default {
handleReset() {
this.listQuery = {
params: {
carBrand: '',
vehicleType: '',
productLine: '',
driveForm: '',
power: '',
vehicleVersion: '',
fuelType: '',
vehicleTypeCode: '',
gearboxType: '',
emissionStandard: '',
engineType: '',
marketSegments: '',
specifications: ''
costTitleKey: '',
costTypeKey: '',
createEndDate: '',
createStartDate: '',
state: '',
userSid: ''
},
current: 1,
size: 10,
@ -394,9 +398,22 @@ export default {
handleGetCheck(row) {
this.dialogImgVisible = true
},
handleEdit(row) {
this.dialogVisible = true
const aa = []
aa.push(row.sid)
this.sids = aa
},
doDispose() {
this.dialogVisible = true
},
handlePass() {
this.formobj.sids = this.sids
},
handColse() {
this.dialogVisible = false
this.formobj = {}
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)

183
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/chooseVinNo.vue

@ -0,0 +1,183 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>选择车架号</div>
<div>
<el-button type="primary" size="small" @click="AddUpdateReturn">确定</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="车架号:">
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable class="filter-item"/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center">
<el-button type="primary" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" size="small" @click="handresetting">重置</el-button>
</div>
</div>
</div>
<div class="">
<el-table :key="tableKey" ref="multipleTable" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="编号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center">
<template slot-scope="scope">
<span>{{ scope.row.locationName }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import req from '@/api/anruifinmanagement/expense'
export default {
name: 'chooseVinNo',
components: {
Pagination
},
data() {
return {
isSearchShow: false,
searchxianshitit: '隐藏查询条件',
tableKey: 0,
showbackState: 30,
sids: [],
list: [],
number: '',
listLoading: false,
userOrgSid: '',
listQuery: {
current: 1,
size: 10,
params: {
vinNo: '',
userSid: '',
sidList: []
},
total: 1
}
}
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
handleReturn() {
this.$emit('doback')
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
req.pageList(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.listQuery.total = response.data.total
this.list = response.data.records
}
})
},
//
handleFilter() {
this.getList()
},
//
handresetting() {
this.listQuery = {
current: 1,
size: 10,
params: {
vinNo: '',
userSid: '',
sidList: []
},
total: 1
}
this.getList()
},
handleSelectionChange(row) {
this.sids = []
const aa = []
row.forEach((element) => {
aa.push(element.vinNo)
})
this.sids = aa
},
showData(value) {
const aa = []
if (value.length > 0) {
for (var i = 0; i < value.length; i++) {
aa.push(value[i])
}
this.listQuery.params.sidList = aa
} else {
this.listQuery.params.sidList = []
}
this.getList()
},
//
AddUpdateReturn() {
if (this.sids.length > 0) {
this.$emit('backData', this.sids)
} else {
this.$notify({
title: '提示',
message: '请选择至少一条记录!',
type: 'error',
duration: 2000
})
}
}
}
}
</script>
<style scoped>
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
</style>

151
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expense.vue

@ -8,31 +8,33 @@
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="付款状态">
<el-input v-model="listQuery.params.nodeState" placeholder="请输入状态" clearable/>
<el-form-item label="报销状态">
<el-select v-model="listQuery.params.state" clearable filterable placeholder="请选择">
<el-option v-for="item in state_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="费用类型">
<el-select v-model="listQuery.params.sellerOrgSid" clearable filterable placeholder="请选择">
<el-option v-for="item in org_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
<el-form-item label="费用类">
<el-select v-model="listQuery.params.costTypeKey" clearable filterable placeholder="请选择">
<el-option v-for="item in costType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="费用名称">
<el-select v-model="listQuery.params.sellerOrgSid" clearable filterable placeholder="请选择">
<el-option v-for="item in org_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
<el-select v-model="listQuery.params.costTitleKey" clearable filterable placeholder="请选择">
<el-option v-for="item in costTitle_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="申请日期">
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<el-date-picker v-model="listQuery.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
<div style="float: left;margin: 0px 10px"></div>
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<el-date-picker v-model="listQuery.params.applyEndDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
</el-form-item>
<el-form-item label="使用方式">
<el-select v-model="listQuery.params.sellerOrgSid" clearable filterable placeholder="请选择">
<el-option v-for="item in org_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
<el-select v-model="listQuery.params.useTypeKey" clearable filterable placeholder="请选择">
<el-option v-for="item in useType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-form>
@ -47,11 +49,12 @@
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="50" type="selection" align="center"/>
<el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" :disabled="scope.row.nodeState =='费用申请' ? false : scope.row.nodeState == '待提交' ? false : true" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
@ -67,32 +70,32 @@
</el-table-column>
<el-table-column label="费用类别" align="center">
<template slot-scope="scope">
<span>{{ scope.row.num }}</span>
<span>{{ scope.row.costTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="费用名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.buyerOrgName }}</span>
<span>{{ scope.row.costTitleValue }}</span>
</template>
</el-table-column>
<el-table-column label="费用" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.cost }}</span>
</template>
</el-table-column>
<el-table-column label="使用方式" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.useTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="报销状态" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.state }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.remarks }}</span>
</template>
</el-table-column>
</el-table>
@ -103,7 +106,7 @@
</div>
</div>
</div>
<expenseAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="init"/>
<expenseAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<expenseInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
</div>
</template>
@ -113,7 +116,7 @@ import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/anruifinmanagement/expense'
import { getListOrg, getPathSidByUserSid, fetchBySid } from '@/api/jichuxinxi/dictcommons'
import { typeValues } from '@/api/jichuxinxi/dictcommons'
import expenseAdd from './expenseAdd.vue'
import expenseInfo from './expenseInfo.vue'
@ -137,6 +140,13 @@ export default {
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
@ -145,22 +155,37 @@ export default {
btnLabel: '关闭'
}
],
org_list: [],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
// -----------
tableKey: 0,
list: [],
sids: [],
state_list: [
{
dictKey: 1,
dictValue: '未报销'
},
{
dictKey: 2,
dictValue: '已报销'
}
],
costType_list: [],
costTitle_list: [],
useType_list: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createStartTime: '',
createEndTime: '',
createOrgSid: '',
nodeState: '',
sellerOrgName: ''
applyEndDate: '',
applyStartDate: '',
costTitleKey: '',
costTypeKey: '',
state: '',
useTypeKey: '',
userSid: ''
},
current: 1,
size: 10,
@ -178,17 +203,22 @@ export default {
},
methods: {
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((res) => {
typeValues({ type: 'costType' }).then((res) => {
if (res.success) {
this.listQuery.params.createOrgSid = res.data
this.getList()
this.costType_list = res.data
}
})
getListOrg().then((res) => {
typeValues({ type: 'costTitle' }).then((res) => {
if (res.success) {
this.org_list = res.data
this.costTitle_list = res.data
}
})
typeValues({ type: 'useType' }).then((res) => {
if (res.success) {
this.useType_list = res.data
}
})
this.getList()
},
//
clicksearchShow() {
@ -205,6 +235,9 @@ export default {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
@ -218,9 +251,19 @@ export default {
var pageindex = index + 1 + pagestart
return pageindex
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
console.log('获取sids数组', this.sids)
},
//
getList() {
this.listLoading = true
this.list.userSid = window.sessionStorage.getItem('userSid')
req.listPage(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
@ -245,11 +288,13 @@ export default {
handleReset() {
this.listQuery = {
params: {
createStartTime: '',
createEndTime: '',
createOrgSid: '',
nodeState: '',
sellerOrgName: ''
applyEndDate: '',
applyStartDate: '',
costTitleKey: '',
costTypeKey: '',
state: '',
useTypeKey: '',
userSid: ''
},
current: 1,
size: 10,
@ -261,9 +306,39 @@ export default {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.listQuery.params.createOrgSid)
},
//
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
const _this = this
req.delBySids(this.sids).then(resp => {
loading.close()
if (resp.success) {
_this.$message({ type: 'success', message: resp.msg, showClose: true })
_this.getList()
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row, this.listQuery.params.createOrgSid)
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4

379
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expenseAdd.vue

@ -1,160 +1,169 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click=" saveEdit()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click=" saveEdit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submitVehicleApply()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用类别</span></div>
<el-form-item>
<el-select v-model="formobj.costTypeValue" clearable filterable @change="changeCostType" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in costType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用名称</span></div>
<el-form-item>
<el-select v-model="formobj.costTitleValue" clearable filterable @change="changeCostTitle" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in costTitle_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请费用()</span></div>
<el-form-item>
<el-input v-model="formobj.cost" placeholder="申请费用" @keyup.native="UpNumber" @keydown.native="UpNumber" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>使用方式</span></div>
<el-form-item>
<el-select v-model="formobj.useTypeValue" clearable filterable @change="changeUseType" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in useType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
<div class="headline"><el-checkbox v-model="checked">涉及车辆</el-checkbox></div>
<el-row v-show="checked">
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>是否出门</span></div>
<el-form-item>
<div class="addinputw addinputwOne">
<el-radio v-model="formobj.isOutDoor" :label="1"></el-radio>
<el-radio v-model="formobj.isOutDoor" :label="0"></el-radio>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="checked">
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>车架号</span></div>
<el-form-item>
<el-input v-model="formobj.vinNo" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
<el-button type="primary" style="margin-left: 15px" @click="handleSelect">选择</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.applyPeoName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用类型</span></div>
<el-form-item>
<el-input v-model="formobj.refitMethod" placeholder="委改方式" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用名称</span></div>
<el-form-item>
<el-input v-model="formobj.refitFactory" placeholder="委改厂" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请费用()</span></div>
<el-form-item>
<el-input v-model="formobj.refitFactory" placeholder="申请费用" @keyup.native="UpNumber" @keydown.native="UpNumber" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>使用方式</span></div>
<el-form-item>
<el-input v-model="formobj.color" placeholder="颜色" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.otherConfig" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
<div class="headline"><el-checkbox v-model="checked">涉及车辆</el-checkbox></div>
<el-row v-show="checked">
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>是否出门</span></div>
<el-form-item>
<div class="addinputw addinputwOne">
<el-radio v-model="formobj.isOnRemind" label="是"></el-radio>
<el-radio v-model="formobj.isOnRemind" label="否"></el-radio>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="checked">
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>车架号</span></div>
<el-form-item>
<el-input v-model="formobj.otherConfig" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!--End 添加修改部分-->
<chooseVinNo v-show="viewState == 2" ref="divSelect" @backData="backData" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/expense'
import { typeValues } from '@/api/jichuxinxi/dictcommons'
import chooseVinNo from './chooseVinNo'
export default {
name: 'feiyongshenqingAdd',
components: {
chooseVinNo
},
data() {
return {
viewTitle: '',
topName_list: [],
vehicleFunction_list: [],
viewState: 1,
costType_list: [],
costTitle_list: [],
useType_list: [],
checked: false,
formobj: {
busSid: '',
cost: '',
costTitleKey: '',
costTitleValue: '',
costTypeKey: '',
costTypeValue: '',
createBySid: '',
instanceId: '',
isOutDoor: '',
isVeh: '',
name: '',
sid: '',
createTime: '',
applyPeoName: window.sessionStorage.getItem('name'),
isOnRemind: ''
},
rules: {
vehicleFunction: [{ required: true, message: '请选择车辆功能', trigger: 'change' }],
topName: [{ required: true, message: '请选择上装名称', trigger: 'change' }],
refitMethod: [{ required: true, message: '请填写委改方式', trigger: 'blur' }],
refitFactory: [{ required: true, message: '请填写委改厂', trigger: 'blur' }],
overallDimension: [{ required: true, message: '请填写外廓尺寸', trigger: 'blur' }],
color: [{ required: true, message: '请填写颜色', trigger: 'blur' }],
plateMaterial: [{ required: true, message: '请填写板材材质', trigger: 'blur' }],
plateThickness: [{ required: true, message: '请填写板材厚度', trigger: 'blur' }]
taskId: '',
useTypeKey: '',
useTypeValue: '',
vinNo: '',
vinNoList: []
},
rules: {},
submitdisabled: false
}
},
created() {
this.DataDictionary()
},
methods: {
DataDictionary() {
//
req.pullDown({ type: 'topName' }).then((res) => {
typeValues({ type: 'costType' }).then((res) => {
if (res.success) {
this.topName_list = res.data
this.costType_list = res.data
}
})
//
req.pullDown({ type: 'vehicleFunction' }).then((res) => {
typeValues({ type: 'costTitle' }).then((res) => {
if (res.success) {
this.vehicleFunction_list = res.data
this.costTitle_list = res.data
}
})
},
changeTopName(value) {
let bb = null
this.topName_list.forEach((e) => {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
typeValues({ type: 'useType' }).then((res) => {
if (res.success) {
this.useType_list = res.data
}
})
this.formobj.topName = bb.name
this.formobj.topNameKey = bb.value
this.newDate()
},
changeVehicleFunction(value) {
let bb = null
this.vehicleFunction_list.forEach((e) => {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
}
})
this.formobj.vehicleFunction = bb.name
this.formobj.vehicleFunctionKey = bb.value
newDate() {
let date = new Date()
let year = date.getFullYear() //
let month = date.getMonth() + 1 //
let day = date.getDate() //
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
this.formobj.createTime = year + '-' + month + '-' + day
},
UpNumber(e) {
e.target.value = e.target.value.replace(/[^\d.-]/g, '') // ."-"
@ -167,43 +176,103 @@ export default {
e.target.value = parseFloat(e.target.value)
}
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
},
showAdd() {
this.DataDictionary()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.name = window.sessionStorage.getItem('name')
this.viewTitle = '【新增】费用申请'
},
showEdit(row) {
this.DataDictionary()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】费用申请'
req.fetchBySid(row.sid).then((resp) => {
const vdata = resp.data
this.formobj = vdata
if (resp.success) {
this.formobj = resp.data
if (this.formobj.isVeh === 1) {
this.checked = true
this.formobj.vinNo = this.formobj.vinNoList.join(',')
}
}
}).catch((e) => {
this.formobj = row
})
},
saveAdd() {
const _this = this
changeCostType(value) {
let bb = null
this.costType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.costTypeKey = bb.key
},
changeCostTitle(value) {
let bb = null
this.costTitle_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.costTitleKey = bb.key
},
changeUseType(value) {
let bb = null
this.useType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.useTypeKey = bb.key
},
//
handleSelect() {
this.viewState = 2
this.$refs['divSelect'].showData(this.formobj.vinNoList)
},
//
backData(value) {
this.viewState = 1
if (value.length > 0) {
value.forEach((e) => {
this.formobj.vinNoList.push(e)
})
}
this.formobj.vinNo = this.formobj.vinNoList.join(',')
},
saveOrUpdate() {
if (!this.checked) {
this.formobj.isVeh = 0
} else {
this.formobj.isVeh = 1
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveAdd(this.formobj).then((resp) => {
req.saveOrUpdate(this.formobj).then((resp) => {
this.submitdisabled = false
_this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
_this.handleReturn('true')
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
@ -212,19 +281,20 @@ export default {
}
})
},
saveEdit() {
const _this = this
submitVehicleApply() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveEdit(this.formobj, this.formobj.sid).then((resp) => {
req.submitVehicleApply(this.formobj, this.formobj.sid).then((resp) => {
this.submitdisabled = false
_this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
_this.handleReturn('true')
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
@ -232,6 +302,15 @@ export default {
return false
}
})
},
resetState() {
this.viewState = 1
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}

54
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/feiyongshenqing/expenseInfo.vue

@ -12,51 +12,54 @@
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.vehicleFunction }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.topName }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用类型</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.refitMethod }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.refitFactory }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTitleValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请费用()</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateMaterial }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.cost }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>使用方式</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateThickness }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.useTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.otherConfig }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>是否出门</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.otherConfig }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>车架号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.otherConfig }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.isVeh == 1">
<div class="headline">涉及车辆</div>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>是否出门</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.isOutDoor }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>车架号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
@ -79,9 +82,11 @@ export default {
this.$emit('doback')
},
showInfo(row) {
// this.formobj = row
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
if (this.formobj.vinNoList.length > 0) {
this.formobj.vinNo = this.formobj.vinNoList.join(',')
}
}).catch((e) => {
this.formobj = row
})
@ -107,4 +112,13 @@ export default {
.addinputwOne {
margin-left: 120px !important;
}
.headline{
height: 40px;
padding: 10px;
font-weight: bold;
font-size: 20px;
background-color: #0294d7;
text-align: left;
color: #ffffff;
}
</style>

162
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/payment.vue

@ -10,32 +10,34 @@
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-row>
<el-form-item label="付款状态">
<el-input v-model="listQuery.params.nodeState" placeholder="请输入状态" clearable/>
<el-select v-model="listQuery.params.state" clearable filterable placeholder="请选择">
<el-option v-for="item in state_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="款项类型">
<el-select v-model="listQuery.params.sellerOrgSid" clearable filterable placeholder="请选择">
<el-option v-for="item in org_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
<el-form-item label="款项类">
<el-select v-model="listQuery.params.costTypeKey" clearable filterable placeholder="请选择">
<el-option v-for="item in costType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="款项名称">
<el-select v-model="listQuery.params.sellerOrgSid" clearable filterable placeholder="请选择">
<el-option v-for="item in org_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
<el-select v-model="listQuery.params.costTitleKey" clearable filterable placeholder="请选择">
<el-option v-for="item in costTitle_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="收款单位">
<el-select v-model="listQuery.params.sellerOrgSid" clearable filterable placeholder="请选择">
<el-option v-for="item in org_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
<el-select v-model="listQuery.params.receiveCompanySid" clearable filterable placeholder="请选择">
<el-option v-for="item in receiveCompany_list" :key="item.sid" :label="item.manufacturerName" :value="item.sid"></el-option>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="申请日期">
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.createStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<el-date-picker v-model="listQuery.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
<div style="float: left;margin: 0px 10px"></div>
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.createEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
<el-date-picker v-model="listQuery.params.applyEndDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
</el-form-item>
</el-row>
@ -51,11 +53,12 @@
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="50" type="selection" align="center"/>
<el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" :disabled="scope.row.nodeState =='付款申请' ? false : scope.row.nodeState == '待提交' ? false : true" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
@ -66,42 +69,42 @@
</el-table-column>
<el-table-column label="业务编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
<span>{{ scope.row.busSid }}</span>
</template>
</el-table-column>
<el-table-column label="款项类" align="center">
<el-table-column label="款项类" align="center">
<template slot-scope="scope">
<span>{{ scope.row.num }}</span>
<span>{{ scope.row.costTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="款项名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.buyerOrgName }}</span>
<span>{{ scope.row.costTitleValue }}</span>
</template>
</el-table-column>
<el-table-column label="收款单位名称" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.receiveCompany }}</span>
</template>
</el-table-column>
<el-table-column label="收款账号" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.receiveCompany }}</span>
</template>
</el-table-column>
<el-table-column label="金额" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.cost }}</span>
</template>
</el-table-column>
<el-table-column label="付款状态" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.state }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.sellerOrgName }}</span>
<span>{{ scope.row.remarks }}</span>
</template>
</el-table-column>
</el-table>
@ -112,7 +115,7 @@
</div>
</div>
</div>
<paymentAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="init"/>
<paymentAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<paymentInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
</div>
</template>
@ -122,7 +125,7 @@ import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/anruifinmanagement/payment'
import { getListOrg, getPathSidByUserSid, fetchBySid } from '@/api/jichuxinxi/dictcommons'
import { typeValues, getPathSidByUserSid, selectByOrgSid } from '@/api/jichuxinxi/dictcommons'
import paymentAdd from './paymentAdd'
import paymentInfo from './paymentInfo'
@ -146,6 +149,13 @@ export default {
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
@ -154,22 +164,37 @@ export default {
btnLabel: '关闭'
}
],
org_list: [],
receiveCompany_list: [],
state_list: [
{
dictKey: 1,
dictValue: '未付款'
},
{
dictKey: 2,
dictValue: '已付款'
}
],
costType_list: [],
costTitle_list: [],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
createStartTime: '',
createEndTime: '',
createOrgSid: '',
nodeState: '',
sellerOrgName: ''
applyEndDate: '',
applyStartDate: '',
costTitleKey: '',
costTypeKey: '',
receiveCompany: '',
state: '',
userSid: ''
},
current: 1,
size: 10,
@ -187,17 +212,26 @@ export default {
},
methods: {
init() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((res) => {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((response) => {
if (response.success) {
selectByOrgSid({ orgSid: response.data }).then((resp) => {
if (resp.success) {
this.receiveCompany_list = resp.data
}
})
}
})
typeValues({ type: 'payCostType' }).then((res) => {
if (res.success) {
this.listQuery.params.createOrgSid = res.data
this.getList()
this.costType_list = res.data
}
})
getListOrg().then((res) => {
typeValues({ type: 'payCostTitle' }).then((res) => {
if (res.success) {
this.org_list = res.data
this.costTitle_list = res.data
}
})
this.getList()
},
//
clicksearchShow() {
@ -214,6 +248,9 @@ export default {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
@ -227,6 +264,15 @@ export default {
var pageindex = index + 1 + pagestart
return pageindex
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
console.log('获取sids数组', this.sids)
},
//
getList() {
this.listLoading = true
@ -254,25 +300,57 @@ export default {
handleReset() {
this.listQuery = {
params: {
createStartTime: '',
createEndTime: '',
createOrgSid: '',
nodeState: '',
sellerOrgName: ''
applyEndDate: '',
applyStartDate: '',
costTitleKey: '',
costTypeKey: '',
receiveCompany: '',
state: '',
userSid: ''
},
current: 1,
size: 10,
total: 0
}
this.init()
this.getList()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.listQuery.params.createOrgSid)
this.$refs['divAdd'].showAdd()
},
//
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
const _this = this
req.delBySids(this.sids).then(resp => {
loading.close()
if (resp.success) {
_this.$message({ type: 'success', message: resp.msg, showClose: true })
_this.getList()
}
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row, this.listQuery.params.createOrgSid)
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4

268
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue

@ -3,8 +3,8 @@
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click=" saveEdit()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click=" saveEdit()">提交</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submitVehicleApply()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
@ -18,54 +18,70 @@
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.applyPeoName }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项类别</span></div>
<el-form-item>
<el-input v-model="formobj.refitMethod" placeholder="委改方式" class="addinputw addinputwOne" clearable/>
<el-select v-model="formobj.costTypeValue" clearable filterable @change="changeCostType" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in costType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项名称</span></div>
<el-form-item>
<el-input v-model="formobj.refitFactory" placeholder="委改厂" class="addinputw addinputwOne" clearable/>
<el-select v-model="formobj.costTitleValue" clearable filterable @change="changeCostTitle" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in costTitle_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>业务编号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.applyPeoName }}</span></el-form-item>
<el-form-item>
<el-input v-model="formobj.busSid" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>金额</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.applyPeoName }}</span></el-form-item>
<el-form-item>
<el-input v-model="formobj.cost" placeholder="" @keyup.native="UpNumber" @keydown.native="UpNumber" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>付款单位名称</span></div>
<el-form-item>
<el-input v-model="formobj.otherConfig" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 15% !important; " clearable/>
<el-select v-model="formobj.payCompany" filterable placeholder="请选择" @change="changePayCompany" clearable class="addinputw addinputwOne">
<el-option v-for="item in payCompany_list" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款单位名称</span></div>
<el-form-item>
<el-select v-model="formobj.receiveCompany" filterable placeholder="请选择" @change="changeReceiveCompany" clearable class="addinputw addinputwOne">
<el-option v-for="item in receiveCompany_list" :key="item.sid" :label="item.manufacturerName" :value="item.manufacturerName"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款单位名称</span></div>
<div class="span-sty spanOneWidth"><span>收款银行</span></div>
<el-form-item>
<el-select v-model="formobj.anufacturerName" filterable placeholder="请选择" @change="changeManu" clearable class="addinputw addinputwOne">
<el-option v-for="item in manu_list" :key="item.sid" :label="item.manufacturerName" :value="item.sid"/>
</el-select>
<el-input v-model="formobj.receiveBank" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款银行账号</span></div>
<el-form-item>
<el-input v-model="formobj.color" placeholder="颜色" class="addinputw addinputwOne" clearable/>
<el-input v-model="formobj.receiveBankAccount" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
@ -73,7 +89,7 @@
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.otherConfig" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
<el-input v-model="formobj.remarks" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
@ -84,37 +100,42 @@
</template>
<script>
import req from '@/api/anruifinmanagement/expense'
import { changShang } from '@/api/jichuxinxi/dictcommons'
import req from '@/api/anruifinmanagement/payment'
import { typeValues, getPathSidByUserSid, fetchBySid, selectByOrgSid, getListOrg } from '@/api/jichuxinxi/dictcommons'
export default {
name: 'fukuanshenqingAdd',
data() {
return {
viewTitle: '',
topName_list: [],
vehicleFunction_list: [],
manu_list: [],
costType_list: [],
costTitle_list: [],
payCompany_list: [],
receiveCompany_list: [],
formobj: {
busSid: '',
comment: '',
cost: '',
costTitleKey: '',
costTitleValue: '',
costTypeKey: '',
costTypeValue: '',
createBySid: '',
instanceId: '',
name: '',
payCompany: '',
payCompanySid: '',
receiveBank: '',
receiveBankAccount: '',
receiveCompany: '',
receiveCompanySid: '',
remarks: '',
sid: '',
createTime: '',
applyPeoName: window.sessionStorage.getItem('name')
},
rules: {
vehicleFunction: [{ required: true, message: '请选择车辆功能', trigger: 'change' }],
topName: [{ required: true, message: '请选择上装名称', trigger: 'change' }],
refitMethod: [{ required: true, message: '请填写委改方式', trigger: 'blur' }],
refitFactory: [{ required: true, message: '请填写委改厂', trigger: 'blur' }],
overallDimension: [{ required: true, message: '请填写外廓尺寸', trigger: 'blur' }],
color: [{ required: true, message: '请填写颜色', trigger: 'blur' }],
plateMaterial: [{ required: true, message: '请填写板材材质', trigger: 'blur' }],
plateThickness: [{ required: true, message: '请填写板材厚度', trigger: 'blur' }]
taskId: ''
},
rules: {},
submitdisabled: false
}
},
created() {
this.DataDictionary()
},
methods: {
newDate() {
let date = new Date()
@ -130,92 +151,138 @@ export default {
this.formobj.createTime = year + '-' + month + '-' + day
},
DataDictionary() {
//
// req.pullDown({ type: 'topName' }).then((res) => {
// if (res.success) {
// this.topName_list = res.data
// }
// })
// //
// req.pullDown({ type: 'vehicleFunction' }).then((res) => {
// if (res.success) {
// this.vehicleFunction_list = res.data
// }
// })
changShang().then((res) => {
typeValues({ type: 'payCostType' }).then((res) => {
if (res.success) {
this.manu_list = res.data
this.costType_list = res.data
}
})
},
changeTopName(value) {
let bb = null
this.topName_list.forEach((e) => {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
typeValues({ type: 'payCostTitle' }).then((res) => {
if (res.success) {
this.costTitle_list = res.data
}
})
getListOrg().then((res) => {
if (res.success) {
this.payCompany_list = res.data
}
})
this.formobj.topName = bb.name
this.formobj.topNameKey = bb.value
},
changeVehicleFunction(value) {
let bb = null
this.vehicleFunction_list.forEach((e) => {
if (e.dictKey === value) {
bb = {
name: e.dictValue,
value: e.dictKey
}
getPathSidByUserSid() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((response) => {
if (response.success) {
selectByOrgSid({ orgSid: response.data }).then((resp) => {
if (resp.success) {
this.formobj.payCompanySid = response.data
this.receiveCompany_list = resp.data
}
})
fetchBySid(response.data).then((res) => {
if (res.success) {
this.formobj.payCompany = res.data.name
}
})
}
})
this.formobj.vehicleFunction = bb.name
this.formobj.vehicleFunctionKey = bb.value
},
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '')
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
e.target.value = e.target.value.replace(/[^\d.-]/g, '') // ."-"
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/\-{2,}/g, '-') // -
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
showAdd() {
this.newDate()
this.DataDictionary()
this.getPathSidByUserSid()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.formobj.createBySid = window.sessionStorage.getItem('userSid')
this.formobj.name = window.sessionStorage.getItem('name')
this.viewTitle = '【新增】付款申请'
},
showEdit(row) {
this.DataDictionary()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】付款申请'
req.fetchBySid(row.sid).then((resp) => {
const vdata = resp.data
this.formobj = vdata
if (resp.success) {
this.formobj = resp.data
this.formobj.instanceId = resp.data.procInstId
}
}).catch((e) => {
this.formobj = row
})
},
saveAdd() {
const _this = this
changeCostType(value) {
let bb = null
this.costType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.costTypeKey = bb.key
},
changeCostTitle(value) {
let bb = null
this.costTitle_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.costTitleKey = bb.key
},
changePayCompany(value) {
let bb = null
this.payCompany_list.forEach((e) => {
if (e.name === value) {
bb = {
name: e.name,
sid: e.sid
}
}
})
this.formobj.payCompanySid = bb.sid
},
changeReceiveCompany(value) {
let bb = null
this.receiveCompany_list.forEach((e) => {
if (e.manufacturerName === value) {
bb = {
manufacturerName: e.manufacturerName,
sid: e.sid
}
}
})
this.formobj.receiveCompanySid = bb.sid
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveAdd(this.formobj).then((resp) => {
req.saveOrUpdate(this.formobj).then((resp) => {
this.submitdisabled = false
_this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
_this.handleReturn('true')
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
@ -224,19 +291,20 @@ export default {
}
})
},
saveEdit() {
const _this = this
submitVehicleApply() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveEdit(this.formobj, this.formobj.sid).then((resp) => {
req.submitVehicleApply(this.formobj, this.formobj.sid).then((resp) => {
this.submitdisabled = false
_this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
_this.handleReturn('true')
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
@ -244,6 +312,12 @@ export default {
return false
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {}
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}

29
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentInfo.vue

@ -16,49 +16,53 @@
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.applyPeoName }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项类别</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.refitMethod }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.refitFactory }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTitleValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>业务编号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateMaterial }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.busSid }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>金额</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateThickness }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.cost }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>付款单位名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.otherConfig }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.payCompany }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款单位名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveCompany }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款单位名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateMaterial }}</span></el-form-item>
<div class="span-sty spanOneWidth"><span>收款银行账号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveBank }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款银行账号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.plateThickness }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveBankAccount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.otherConfig }}</span></el-form-item>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
@ -67,7 +71,7 @@
</template>
<script>
import req from '@/api/anruifinmanagement/expense'
import req from '@/api/anruifinmanagement/payment'
export default {
name: 'fukuanshenqingInfo',
@ -83,7 +87,6 @@ export default {
this.$emit('doback')
},
showInfo(row) {
// this.formobj = row
req.fetchBySid(row.sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {

1
anrui-buscenter/anrui-finmanage-ui/src/views/login/login.vue

@ -51,7 +51,6 @@
</template>
<script>
import { login, imgCode } from '@/api/user1.js'
import user from '@/api/User/login.js'
import { setToken, getToken, setSession } from '@/utils/auth'
import imgCodeRole from '@/components/imgCodeRole/index.vue'

183
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/chooseVinNo.vue

@ -0,0 +1,183 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>选择车架号</div>
<div>
<el-button type="primary" size="small" @click="AddUpdateReturn">确定</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" class="tab-header">
<el-form-item label="车架号:">
<el-input v-model="listQuery.params.vinNo" placeholder="" clearable class="filter-item"/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center">
<el-button type="primary" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" size="small" @click="handresetting">重置</el-button>
</div>
</div>
</div>
<div class="">
<el-table :key="tableKey" ref="multipleTable" v-loading="listLoading" :data="list" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="编号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center">
<template slot-scope="scope">
<span>{{ scope.row.locationName }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import req from '@/api/anruifinmanagement/expense'
export default {
name: 'chooseVin',
components: {
Pagination
},
data() {
return {
isSearchShow: false,
searchxianshitit: '隐藏查询条件',
tableKey: 0,
showbackState: 30,
sids: [],
list: [],
number: '',
listLoading: false,
userOrgSid: '',
listQuery: {
current: 1,
size: 10,
params: {
vinNo: '',
userSid: '',
sidList: []
},
total: 1
}
}
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
handleReturn() {
this.$emit('doback')
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
req.pageList(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.listQuery.total = response.data.total
this.list = response.data.records
}
})
},
//
handleFilter() {
this.getList()
},
//
handresetting() {
this.listQuery = {
current: 1,
size: 10,
params: {
vinNo: '',
userSid: '',
sidList: []
},
total: 1
}
this.getList()
},
handleSelectionChange(row) {
this.sids = []
const aa = []
row.forEach((element) => {
aa.push(element.vinNo)
})
this.sids = aa
},
showData(value) {
const aa = []
if (value.length > 0) {
for (var i = 0; i < value.length; i++) {
aa.push(value[i])
}
this.listQuery.params.sidList = aa
} else {
this.listQuery.params.sidList = []
}
this.getList()
},
//
AddUpdateReturn() {
if (this.sids.length > 0) {
this.$emit('backData', this.sids)
} else {
this.$notify({
title: '提示',
message: '请选择至少一条记录!',
type: 'error',
duration: 2000
})
}
}
}
}
</script>
<style scoped>
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
</style>

317
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongDaiBanInfo.vue

@ -0,0 +1,317 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>费用详情</div>
<div>
<el-button type="primary" @click="openAgree('同意')"> </el-button>
<el-button type="danger" @click="openReject('驳回')"> </el-button>
<el-button type="danger" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用类型</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTitleValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请费用()</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.cost }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>使用方式</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.useTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.isVeh == 1">
<div class="headline">涉及车辆</div>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>是否出门</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.isOutDoor }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>车架号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<!--End 添加修改部分-->
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row v-show="currentLink">
<el-col :span="4" class="tleftb">当前环节</el-col>
<el-col :span="20" class="trightb">
<el-form-item prop="purchasingUnitName"><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">意见</el-col>
<el-col :span="20" class="trightb">
<el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" clearable ></el-input>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/expense'
export default {
name: 'feiyongDaiBanInfo',
data() {
return {
formobj: {},
dialogList: {
comment: ''
},
operation: '', //
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
}
},
created() {
console.log('url:' + window.location.href)
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
req.fetchBySid(sid).then((resp) => {
this.formobj = resp.data
if (this.formobj.vinNoList.length > 0) {
this.formobj.vinNo = this.formobj.vinNoList.join(',')
}
}).catch((e) => {
this.formobj = {}
})
console.log('这里是详情回显', row)
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = false
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
this.handleReject()
} else if (this.operation === '终止') {
this.handleStop()
}
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
console.log(this.stopList, 99999)
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
}
}
}
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
}
</style>

357
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongEdit.vue

@ -0,0 +1,357 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submitVehicleApply()">提交</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用类别</span></div>
<el-form-item>
<el-select v-model="formobj.costTypeValue" clearable filterable @change="changeCostType" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in costType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用名称</span></div>
<el-form-item>
<el-select v-model="formobj.costTitleValue" clearable filterable @change="changeCostTitle" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in costTitle_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请费用()</span></div>
<el-form-item>
<el-input v-model="formobj.cost" placeholder="申请费用" @keyup.native="UpNumber" @keydown.native="UpNumber" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>使用方式</span></div>
<el-form-item>
<el-select v-model="formobj.useTypeValue" clearable filterable @change="changeUseType" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in useType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
<div class="headline"><el-checkbox v-model="checked">涉及车辆</el-checkbox></div>
<el-row v-show="checked">
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>是否出门</span></div>
<el-form-item>
<div class="addinputw addinputwOne">
<el-radio v-model="formobj.isOutDoor" :label="1"></el-radio>
<el-radio v-model="formobj.isOutDoor" :label="0"></el-radio>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="checked">
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>车架号</span></div>
<el-form-item>
<el-input v-model="formobj.vinNo" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
<el-button type="primary" style="margin-left: 15px" @click="handleSelect">选择</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<!--End 添加修改部分-->
<chooseVinNo v-show="viewState == 2" ref="divSelect" @backData="backData" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/expense'
import { typeValues } from '@/api/jichuxinxi/dictcommons'
import chooseVinNo from './chooseVinNo'
export default {
name: 'feiyongEdit',
components: {
chooseVinNo
},
data() {
return {
viewTitle: '',
viewState: 1,
costType_list: [],
costTitle_list: [],
useType_list: [],
checked: false,
formobj: {
busSid: '',
cost: '',
costTitleKey: '',
costTitleValue: '',
costTypeKey: '',
costTypeValue: '',
createBySid: '',
instanceId: '',
isOutDoor: '',
isVeh: '',
name: '',
sid: '',
taskId: '',
useTypeKey: '',
useTypeValue: '',
vinNo: '',
vinNoList: []
},
rules: {},
submitdisabled: false
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
}
}, '*')
},
methods: {
DataDictionary() {
typeValues({ type: 'costType' }).then((res) => {
if (res.success) {
this.costType_list = res.data
}
})
typeValues({ type: 'costTitle' }).then((res) => {
if (res.success) {
this.costTitle_list = res.data
}
})
typeValues({ type: 'useType' }).then((res) => {
if (res.success) {
this.useType_list = res.data
}
})
this.newDate()
},
UpNumber(e) {
e.target.value = e.target.value.replace(/[^\d.-]/g, '') // ."-"
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/\-{2,}/g, '-') // -
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
showInfo(sid) {
this.DataDictionary()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】费用申请'
req.fetchBySid(sid).then((resp) => {
if (resp.success) {
this.formobj = resp.data
if (this.formobj.isVeh === 1) {
this.checked = true
this.formobj.vinNo = this.formobj.vinNoList.join(',')
}
}
}).catch((e) => {
this.formobj = {}
})
},
changeCostType(value) {
let bb = null
this.costType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.costTypeKey = bb.key
},
changeCostTitle(value) {
let bb = null
this.costTitle_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.costTitleKey = bb.key
},
changeUseType(value) {
let bb = null
this.useType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.useTypeKey = bb.key
},
//
handleSelect() {
this.viewState = 2
this.$refs['divSelect'].showData(this.formobj.vinNoList)
},
//
backData(value) {
this.viewState = 1
if (value.length > 0) {
value.forEach((e) => {
this.formobj.vinNoList.push(e)
})
}
this.formobj.vinNo = this.formobj.vinNoList.join(',')
},
saveOrUpdate() {
if (!this.checked) {
this.formobj.isVeh = 0
} else {
this.formobj.isVeh = 1
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
submitVehicleApply() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submitVehicleApply(this.formobj, this.formobj.sid).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
width: 30% !important;
}
.icon {
color: #e84026;
margin-right: 4px;
}
/deep/ .el-form-item__error {
margin-left: 120px;
}
.headline{
height: 40px;
padding: 0px 15px;
font-weight: bold;
font-size: 24px;
background-color: #FFFFFF;
color: #ffffff;
border: 1px solid #e0e3eb;
}
.btn_style {
color: #FFFFFF;
}
</style>

189
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/feiyongguanliFlow/feiyongguanli/feiyongYiBanInfo.vue

@ -0,0 +1,189 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>费用详情</div>
<div>
<el-button type="danger" @click="openRevoke()"> </el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="wlInfo"><span>费用申请</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用类型</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>费用名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTitleValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请费用()</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.cost }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>使用方式</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.useTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.isVeh == 1">
<div class="headline">涉及车辆</div>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>是否出门</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.isOutDoor }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>车架号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.vinNo }}</span></el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/expense'
export default {
name: 'feiyongYiBanInfo',
data() {
return {
formobj: {},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
}
},
created() {
console.log('url:' + window.location.href)
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
req.fetchBySid(sid).then((resp) => {
this.formobj = resp.data
if (this.formobj.vinNoList.length > 0) {
this.formobj.vinNo = this.formobj.vinNoList.join(',')
}
}).catch((e) => {
this.formobj = {}
})
console.log('这里是详情回显', row)
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
}
}
}
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
}
</style>

322
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukaunDaiBanInfo.vue

@ -0,0 +1,322 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>付款详情</div>
<div>
<el-button type="primary" @click="openAgree('同意')"> </el-button>
<el-button type="danger" @click="openReject('驳回')"> </el-button>
<el-button type="danger" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="wlInfo"><span>付款申请</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项类别</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTitleValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>业务编号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.busSid }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>金额</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.cost }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>付款单位名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.payCompany }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款单位名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveCompany }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款银行账号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveBank }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款银行账号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveBankAccount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- 选择待办人 的弹出框-->
<el-dialog title="选择待办人" :visible.sync="nodeDialogVisible" width="80%">
<el-form label-position="right" class="formadd" >
<el-row v-show="currentLink">
<el-col :span="4" class="tleftb">当前环节</el-col>
<el-col :span="20" class="trightb">
<el-form-item prop="purchasingUnitName"><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">意见</el-col>
<el-col :span="20" class="trightb">
<el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" clearable ></el-input>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/payment'
export default {
name: 'fukuanDaiBanInfo',
data() {
return {
formobj: {},
dialogList: {
comment: ''
},
operation: '', //
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
}
},
created() {
console.log('url:' + window.location.href)
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
}
}, '*')
},
methods: {
handleReturn() {
this.formobj = {}
this.$emit('doback')
},
showInfo(sid) {
req.fetchBySid(sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = {}
})
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = false
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
this.handleReject()
} else if (this.operation === '终止') {
this.handleStop()
}
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
console.log(this.stopList, 99999)
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
}
}
}
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
}
</style>

351
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanEdit.vue

@ -0,0 +1,351 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submitVehicleApply()">提交</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="wlInfo"><span>付款申请</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项类别</span></div>
<el-form-item>
<el-select v-model="formobj.costTypeValue" clearable filterable @change="changeCostType" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in costType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项名称</span></div>
<el-form-item>
<el-select v-model="formobj.costTitleValue" clearable filterable @change="changeCostTitle" class="addinputw addinputwOne" placeholder="请选择">
<el-option v-for="item in costTitle_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>业务编号</span></div>
<el-form-item>
<el-input v-model="formobj.busSid" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>金额</span></div>
<el-form-item>
<el-input v-model="formobj.cost" placeholder="" @keyup.native="UpNumber" @keydown.native="UpNumber" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>付款单位名称</span></div>
<el-form-item>
<el-select v-model="formobj.payCompany" filterable placeholder="请选择" @change="changePayCompany" clearable class="addinputw addinputwOne">
<el-option v-for="item in payCompany_list" :key="item.sid" :label="item.name" :value="item.name"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款单位名称</span></div>
<el-form-item>
<el-select v-model="formobj.receiveCompany" filterable placeholder="请选择" @change="changeReceiveCompany" clearable class="addinputw addinputwOne">
<el-option v-for="item in receiveCompany_list" :key="item.sid" :label="item.manufacturerName" :value="item.manufacturerName"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款银行</span></div>
<el-form-item>
<el-input v-model="formobj.receiveBank" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款银行账号</span></div>
<el-form-item>
<el-input v-model="formobj.receiveBankAccount" placeholder="" class="addinputw addinputwOne" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.remarks" placeholder="更多配置" class="addinputw" style="margin-left: 120px !important; width: 80% !important; " clearable/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/payment'
import { typeValues, getPathSidByUserSid, fetchBySid, selectByOrgSid, getListOrg } from '@/api/jichuxinxi/dictcommons'
export default {
name: 'fukuanshenqingAdd',
data() {
return {
viewTitle: '',
costType_list: [],
costTitle_list: [],
payCompany_list: [],
receiveCompany_list: [],
formobj: {
busSid: '',
comment: '',
cost: '',
costTitleKey: '',
costTitleValue: '',
costTypeKey: '',
costTypeValue: '',
createBySid: '',
instanceId: '',
name: '',
payCompany: '',
payCompanySid: '',
receiveBank: '',
receiveBankAccount: '',
receiveCompany: '',
receiveCompanySid: '',
remarks: '',
sid: '',
taskId: ''
},
rules: {},
submitdisabled: false
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
}
}, '*')
},
methods: {
DataDictionary() {
typeValues({ type: 'payCostType' }).then((res) => {
if (res.success) {
this.costType_list = res.data
}
})
typeValues({ type: 'payCostTitle' }).then((res) => {
if (res.success) {
this.costTitle_list = res.data
}
})
getListOrg().then((res) => {
if (res.success) {
this.payCompany_list = res.data
}
})
},
getPathSidByUserSid() {
getPathSidByUserSid({ userSid: window.sessionStorage.getItem('userSid') }).then((response) => {
if (response.success) {
selectByOrgSid({ orgSid: response.data }).then((resp) => {
if (resp.success) {
this.formobj.payCompanySid = response.data
this.receiveCompany_list = resp.data
}
})
fetchBySid(response.data).then((res) => {
if (res.success) {
this.formobj.payCompany = res.data.name
}
})
}
})
},
UpNumber(e) {
e.target.value = e.target.value.replace(/[^\d.-]/g, '') // ."-"
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/\-{2,}/g, '-') // -
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
showInfo(sid) {
this.DataDictionary()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【编辑】付款申请'
req.fetchBySid(sid).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.instanceId = resp.data.procInstId
}
}).catch((e) => {
this.formobj = {}
})
},
changeCostType(value) {
let bb = null
this.costType_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.costTypeKey = bb.key
},
changeCostTitle(value) {
let bb = null
this.costTitle_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.formobj.costTitleKey = bb.key
},
changePayCompany(value) {
let bb = null
this.payCompany_list.forEach((e) => {
if (e.name === value) {
bb = {
name: e.name,
sid: e.sid
}
}
})
this.formobj.payCompanySid = bb.sid
},
changeReceiveCompany(value) {
let bb = null
this.receiveCompany_list.forEach((e) => {
if (e.manufacturerName === value) {
bb = {
manufacturerName: e.manufacturerName,
sid: e.sid
}
}
})
this.formobj.receiveCompanySid = bb.sid
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
submitVehicleApply() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submitVehicleApply(this.formobj, this.formobj.sid).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
}
}
}
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
width: 30% !important;
}
.icon {
color: #e84026;
margin-right: 4px;
}
/deep/ .el-form-item__error {
margin-left: 120px;
}
</style>

190
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanYiBanInfo.vue

@ -0,0 +1,190 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>付款详情</div>
<div>
<el-button type="danger" @click="openRevoke()"> </el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="dataForm" :model="formobj" class="formaddcopy02">
<div class="wlInfo"><span>付款申请</span></div>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请日期</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.createTime }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>申请人</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项类别</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>款项名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.costTitleValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>业务编号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.busSid }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>金额</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.cost }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>付款单位名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.payCompany }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款单位名称</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveCompany }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款银行账号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveBank }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty spanOneWidth"><span>收款银行账号</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.receiveBankAccount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty spanOneWidth"><span>备注</span></div>
<el-form-item><span class="addinputInfo addinputwOne">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/anruifinmanagement/payment'
export default {
name: 'fukuanshenqingInfo',
data() {
return {
formobj: {},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
}
},
created() {
console.log('url:' + window.location.href)
// ===
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: document.body.scrollHeight + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
req.fetchBySid(sid).then((resp) => {
this.formobj = resp.data
}).catch((e) => {
this.formobj = {}
})
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
}
}
}
</script>
<style scoped>
.wlInfo {
padding-bottom: 40px;
font-size: 24px;
border-bottom: 1px solid #edf1f7;
font-weight: bold;
display: flex;
justify-content: center;
align-items: center;
}
.spanOneWidth {
width: 110px !important;
}
.addinputwOne {
margin-left: 120px !important;
}
</style>
Loading…
Cancel
Save