Commit face095d authored by youjj's avatar youjj

股权购买相关

parent e2868ecd
import fetch from 'utils/fetch';
export function getObj(id) {
return fetch({
url: '/vehicle/branchCompany/stock/' + id,
method: 'get'
});
}
export function page(param) {
return fetch({
url: '/vehicle/branchCompany/stock/page',
method: 'get',
params: param
});
}
export function search(param) {
return fetch({
url: '/vehicle/branchCompany/stock/search',
method: 'get',
params: param
});
}
export function addObj(param) {
return fetch({
url: '/vehicle/branchCompany/stock',
method: 'put',
data: param
});
}
export function updateObj(param) {
return fetch({
url: '/vehicle/branchCompany/stock',
method: 'post',
data: param
});
}
export function delObj(id) {
return fetch({
url: '/vehicle/branchCompany/stock/' + id,
method: 'delete'
});
}
import fetch from 'utils/fetch';
export function getObj(id) {
return fetch({
url: '/vehicle/branchCompany/stock/apply/' + id,
method: 'get'
});
}
export function page(param) {
return fetch({
url: '/vehicle/branchCompany/stock/apply/page',
method: 'get',
params: param
});
}
export function delObj(id) {
return fetch({
url: '/vehicle/branchCompany/stock/apply/' + id,
method: 'delete'
});
}
export function buyStock(id) {
return fetch({
url: '/vehicle/branchCompany/stock/apply/buy',
method: 'post',
params: {
applyId: id
}
});
}
export function cancelApply(id) {
return fetch({
url: '/vehicle/branchCompany/stock/apply/cancel',
method: 'post',
params: {
applyId: id
}
});
}
import fetch from 'utils/fetch';
export function page(param) {
return fetch({
url: '/vehicle/departure/page',
method: 'get',
params: param
});
}
...@@ -177,6 +177,18 @@ export const asyncRouterMap = [{ ...@@ -177,6 +177,18 @@ export const asyncRouterMap = [{
component: _import('vehicle/accompanyingItem/index'), component: _import('vehicle/accompanyingItem/index'),
name: '随行物品管理', name: '随行物品管理',
authority: 'accompanyingItem' authority: 'accompanyingItem'
},
{
path: 'branchCompany/stock',
component: _import('branchCompany/stock/index'),
name: '分公司股权信息管理',
authority: 'branchCompany/stock'
},
{
path: 'branchCompany/stockApply',
component: _import('branchCompany/stockApply/index'),
name: '分公司股权信息管理',
authority: 'branchCompany/stockApply'
} }
] ]
}, { }, {
...@@ -203,6 +215,12 @@ export const asyncRouterMap = [{ ...@@ -203,6 +215,12 @@ export const asyncRouterMap = [{
component: _import('vehicle/vehicleWarningMsg/index'), component: _import('vehicle/vehicleWarningMsg/index'),
name: '车辆预警消息', name: '车辆预警消息',
authority: 'vehicleWarningMsg' authority: 'vehicleWarningMsg'
},
{
path: 'vehicleDepartureLog',
component: _import('vehicle/vehicleDepartureLog/index'),
name: '车辆出车记录',
authority: 'vehicleDepartureLog'
} }
] ]
} }
......
<template>
<router-view></router-view>
</template>
This diff is collapsed.
<template>
<div class="app-container calendar-list-container">
<el-table :key='tableKey' :data="list" v-loading.body="listLoading"
border fit highlight-current-row
style="width: 100%">
<el-table-column align="center" label="ID" width="65">
<template scope="scope">
<span>{{scope.row.id}}</span>
</template>
</el-table-column>
<el-table-column width="110" align="center" label="公司名称">
<template scope="scope">
<span>{{scope.row.companyName}}</span>
</template>
</el-table-column>
<el-table-column width="110" align="center" label="申请人">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column width="150" align="center" label="联系方式">
<template scope="scope">
<span>{{scope.row.tel}}</span>
</template>
</el-table-column>
<el-table-column width="180" align="center" label="购买数量">
<template scope="scope">
<span>{{scope.row.count}}</span>
</template>
</el-table-column>
<el-table-column width="180" align="center" label="状态">
<template scope="scope">
<span>{{applyState[scope.row.state].label}}</span>
</template>
</el-table-column>
<el-table-column width="180" align="center" label="创建时间">
<template scope="scope">
<span>{{scope.row.createTime}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="150">
<template scope="scope">
<el-button v-if="btn_buy && scope.row.state == 0" size="small" type="success" @click="handleBuy(scope.row)">认购</el-button>
<el-button v-if="btn_cancel && scope.row.state == 0" size="small" type="success" @click="handleCancel(scope.row)">放弃</el-button>
<el-button v-if="btn_del" size="small" type="danger" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
</div>
</template>
<script>
import {
page,
delObj,
buyStock,
cancelApply
} from 'api/branchCompany/stockApply/index';
import { mapGetters } from 'vuex';
import rsCode from '../../../utils/rsCode';
export default {
name: 'branchCompanyStock',
data() {
return {
form: {
id: null,
companyId: null,
companyName: null,
name: null,
tel: null,
count: null,
state: null
},
rules: {
// companyName: [
// {
// required: true,
// message: '请输入用户',
// trigger: 'blur'
// }
// ],
},
applyState: {
'-1': {
key: -1,
label: '放弃购买'
},
0: {
key: 0,
label: '申请中'
},
1: {
key: 1,
label: '确认购买'
}
},
list: null,
total: null,
listLoading: true,
listQuery: {
page: 1,
limit: 20
},
dialogFormVisible: false,
dialogStatus: '',
btn_del: true,
btn_buy: true,
btn_cancel: true,
tableKey: 0
}
},
created() {
this.getList();
this.btn_del = this.elements['branchCompany/stockApply:btn_delete'];
},
computed: {
...mapGetters([
'elements'
]),
provinceRegions() {
return getSonRegionByCodes(1);
},
cityRegions() {
if (!this.$utils.isInteger(this.form.addrProvince)) {
return null;
}
return getSonRegionByCodes(this.form.addrProvince);
}
},
methods: {
handleBuy(row) {
this.$confirm('此操作将确认购买, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
buyStock(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
});
this.getList();
});
});
},
handleCancel(row) {
this.$confirm('此操作将放弃购买, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
cancelApply(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '操作成功',
type: 'success',
duration: 2000
});
this.getList();
});
});
},
handleDelete(row) {
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
delObj(row.id)
.then(() => {
this.$notify({
title: '成功',
message: '删除成功',
type: 'success',
duration: 2000
});
const index = this.list.indexOf(row);
this.list.splice(index, 1);
});
});
},
getList() {
this.listLoading = true;
page(this.listQuery)
.then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.listLoading = false;
})
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
}
}
}
</script>
<template>
<div class="app-container calendar-list-container">
<div class="filter-container">
<el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="姓名"
v-model="listQuery.name"></el-input>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button class="filter-item" v-if="memberInfo_btn_add" style="margin-left: 10px;" @click="handleCreate"
type="primary" icon="edit">添加
</el-button>
</div>
<el-table :key='tableKey' :data="list" v-loading.body="listLoading" border fit highlight-current-row
style="width: 100%">
<el-table-column align="center" label="车牌号" width="65">
<template scope="scope">
<span>{{scope.row.numberPlate}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="用途">
<template scope="scope">
<span>{{scope.row.use}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="使用人">
<template scope="scope">
<span>{{scope.row.user}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="使用人电话">
<template scope="scope">
<span>{{scope.row.userTel}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="验车人">
<template scope="scope">
<span>{{scope.row.checkMan}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="验车人电话">
<template scope="scope">
<span>{{scope.row.checkManTel}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="出车时间">
<template scope="scope">
<span>{{scope.row.departureTime}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="还车时间">
<template scope="scope">
<span>{{scope.row.arrivalTime}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="开始公里数">
<template scope="scope">
<span>{{scope.row.mileageStart}}</span>
</template>
</el-table-column>
<el-table-column width="80" align="center" label="结束公里数">
<template scope="scope">
<span>{{scope.row.mileageEnd}}</span>
</template>
</el-table-column>
</el-table>
<div v-show="!listLoading" class="pagination-container">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page.sync="listQuery.page" :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
<el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible">
<el-form :model="form" :rules="rules" ref="form" label-width="100px">
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="性别">
<el-select class="filter-item" v-model="form.sex" placeholder="请选择">
<el-option v-for="item in sexOptions" :key="item.key" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="卡号" prop="cardNumber">
<el-input v-model="form.cardNumber" placeholder="请输入卡号"></el-input>
</el-form-item>
<el-form-item label="生日" prop="birthday">
<el-date-picker v-model="form.birthday" type="date" @change="changeBirthday" placeholder="请输入生日" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="身份证号码" prop="idNumber">
<el-input v-model="form.idNumber" placeholder="请输入身份证号码"></el-input>
</el-form-item>
<el-form-item label="证件地址" prop="certificateAddress">
<el-input v-model="form.certificateAddress" placeholder="请输入证件地址"></el-input>
</el-form-item>
<el-form-item label="电子邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入电子邮箱"></el-input>
</el-form-item>
<el-form-item label="微信" prop="wx">
<el-input v-model="form.wx" placeholder="请输入微信号"></el-input>
</el-form-item>
<el-form-item label="会员类型" prop="memberType">
<el-select class="filter-item" v-model="form.memberType" placeholder="请选择">
<el-option v-for="item in memberTypeOptions" :key="item.key" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="联系电话" prop="telephone">
<el-input v-model="form.telephone" placeholder="请输入联系电话"></el-input>
</el-form-item>
<el-form-item label="手机" prop="mobilePhone">
<el-input v-model="form.mobilePhone" placeholder="请输入手机号码"></el-input>
</el-form-item>
<el-form-item label="常住地址" prop="address">
<el-input v-model="form.address" placeholder="请输入常住地址"></el-input>
</el-form-item>
<el-form-item label="工作单位" prop="workplace">
<el-input v-model="form.workplace" placeholder="请输入工作单位"></el-input>
</el-form-item>
<el-form-item label="职务" prop="job">
<el-input v-model="form.job" placeholder="请输入职务"></el-input>
</el-form-item>
<el-form-item label="邀约人" prop="inviter">
<el-input v-model="form.inviter" placeholder="请输入邀约人"></el-input>
</el-form-item>
<el-form-item label="职业" prop="profession">
<el-input v-model="form.profession" placeholder="请输入职业"></el-input>
</el-form-item>
<el-form-item label="支付方式" prop="payType">
<el-select class="filter-item" v-model="form.payType" placeholder="请选择">
<el-option v-for="item in payTypeOptions" :key="item.key" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员签名日期" prop="memberSignatureDate">
<el-date-picker v-model="form.memberSignatureDate" type="date" @change="changeMemberSignatureDate" value-format="yyyy-MM-dd"
placeholder="请输入会员签名日期"></el-date-picker>
</el-form-item>
<el-form-item label="经理" prop="manager">
<el-input v-model="form.manager" placeholder="请输入经理姓名"></el-input>
</el-form-item>
<el-form-item label="经理签名日期" prop="managerSignatureDate">
<el-date-picker v-model="form.managerSignatureDate" type="date" @change="changeManagerSignatureDate" value-format="yyyy-MM-dd"
placeholder="请输入经理签名日期"></el-date-picker>
</el-form-item>
<el-form-item label="家庭成员" prop="family">
<el-row v-for="(item, index) in form.family">
<el-col :span="9">
<el-input v-model="item.name" placeholder="成员名称"></el-input>
</el-col>
<el-col class="line" :span="2" align="center">-</el-col>
<el-col :span="9">
<el-input v-model="item.relationship" placeholder="成员关系"></el-input>
</el-col>
<el-col :span="4" align="center">
<el-button @click="handleDeleteFamily(index)" type="warning" size="mini" icon="el-tag__close el-icon-close"></el-button>
</el-col>
</el-row>
<el-row>
<el-button @click="handleAddFamily()">添加</el-button>
</el-row>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel('form')">取 消</el-button>
<el-button v-if="dialogStatus=='create'" type="primary" @click="create('form')">确 定</el-button>
<el-button v-else type="primary" @click="update('form')">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import {
page
} from 'api/vehicle/departureLog';
export default {
name: 'vehicleDepartureLog',
data() {
return {
form: {
id: null,
numberPlate: null,
vehicleId: null,
use: null,
user: null,
userTel: null,
checkMan: null,
checkManTel: null,
recycleMan: null,
recycleManTel: null,
departureTime: null,
arrivalTime: null,
mileageStart: null,
mileageEnd: null,
state: null
},
listQuery: {
page: 1,
limit: 20,
name: undefined
}
}
},
created() {
this.getList();
},
computed: {
...mapGetters([
'elements'
])
},
methods: {
getList() {
this.listLoading = true;
page(this.listQuery)
.then(response => {
this.list = response.data.rows;
this.total = response.data.total;
this.listLoading = false;
})
}
}
}
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment