forked from qiushanhe/dm-manage-web
dev-zcx
parent
553cdd3657
commit
c7a6210195
@ -0,0 +1,85 @@ |
|||||||
|
@charset "UTF-8"; |
||||||
|
.el-breadcrumb__inner, |
||||||
|
.el-breadcrumb__inner a { |
||||||
|
font-weight: 400 !important; |
||||||
|
} |
||||||
|
|
||||||
|
.el-upload input[type="file"] { |
||||||
|
display: none !important; |
||||||
|
} |
||||||
|
|
||||||
|
.el-upload__input { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
|
||||||
|
.cell .el-tag { |
||||||
|
margin-right: 0px; |
||||||
|
} |
||||||
|
|
||||||
|
.small-padding .cell { |
||||||
|
padding-left: 5px; |
||||||
|
padding-right: 5px; |
||||||
|
} |
||||||
|
|
||||||
|
.fixed-width .el-button--mini { |
||||||
|
padding: 7px 10px; |
||||||
|
width: 60px; |
||||||
|
} |
||||||
|
|
||||||
|
.status-col .cell { |
||||||
|
padding: 0 10px; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.status-col .cell .el-tag { |
||||||
|
margin-right: 0px; |
||||||
|
} |
||||||
|
|
||||||
|
.el-dialog { |
||||||
|
transform: none; |
||||||
|
left: 0; |
||||||
|
position: relative; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
|
||||||
|
.upload-container .el-upload { |
||||||
|
width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.upload-container .el-upload .el-upload-dragger { |
||||||
|
width: 100%; |
||||||
|
height: 200px; |
||||||
|
} |
||||||
|
|
||||||
|
.el-dropdown-menu a { |
||||||
|
display: block; |
||||||
|
} |
||||||
|
|
||||||
|
.el-textarea__inner { |
||||||
|
font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; |
||||||
|
} |
||||||
|
|
||||||
|
.el-range-editor.el-input__inner { |
||||||
|
display: inline-flex !important; |
||||||
|
} |
||||||
|
|
||||||
|
.el-range-separator { |
||||||
|
box-sizing: content-box; |
||||||
|
} |
||||||
|
|
||||||
|
.el-menu--collapse |
||||||
|
> div |
||||||
|
> .el-submenu |
||||||
|
> .el-submenu__title |
||||||
|
.el-submenu__icon-arrow { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
|
||||||
|
.el-card { |
||||||
|
border-radius: 0; |
||||||
|
border: none; |
||||||
|
} |
||||||
|
|
||||||
|
.el-form-item--mini.el-form-item { |
||||||
|
margin-bottom: 10px; |
||||||
|
} |
@ -0,0 +1 @@ |
|||||||
|
.el-breadcrumb__inner,.el-breadcrumb__inner a{font-weight:400 !important}.el-upload input[type="file"]{display:none !important}.el-upload__input{display:none}.cell .el-tag{margin-right:0px}.small-padding .cell{padding-left:5px;padding-right:5px}.fixed-width .el-button--mini{padding:7px 10px;width:60px}.status-col .cell{padding:0 10px;text-align:center}.status-col .cell .el-tag{margin-right:0px}.el-dialog{transform:none;left:0;position:relative;margin:0 auto}.upload-container .el-upload{width:100%}.upload-container .el-upload .el-upload-dragger{width:100%;height:200px}.el-dropdown-menu a{display:block}.el-textarea__inner{font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif}.el-range-editor.el-input__inner{display:inline-flex !important}.el-range-separator{box-sizing:content-box}.el-menu--collapse>div>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-card{border-radius:0;border:none}.el-form-item--mini.el-form-item{margin-bottom:10px} |
@ -0,0 +1,16 @@ |
|||||||
|
export const defaultColumns = [ |
||||||
|
{ key: 0, prop: 'state', label: `全款状态`, visible: true }, |
||||||
|
{ key: 1, prop: 'followUserName', label: `归属人员`, visible: true }, |
||||||
|
{ key: 2, prop: 'area', label: `所属区域`, visible: true }, |
||||||
|
{ key: 3, prop: 'offlineReceiverName', label: `线下接待人员`, visible: true }, |
||||||
|
{ key: 4, prop: 'dealDate', label: `成交时间`, visible: true }, |
||||||
|
{ key: 5, prop: 'name', label: `学员姓名`, visible: true }, |
||||||
|
{ key: 6, prop: 'phone', label: `联系方式`, visible: true }, |
||||||
|
{ key: 7, prop: 'source', label: `线索来源`, visible: true }, |
||||||
|
{ key: 8, prop: 'signPrice', label: `报名价格`, visible: true }, |
||||||
|
{ key: 9, prop: 'schoolName', label: `报名驾校`, visible: true }, |
||||||
|
{ key: 10, prop: 'placeName', label: `报名场地`, visible: true }, |
||||||
|
{ key: 11, prop: 'className', label: `报名班型`, visible: true }, |
||||||
|
{ key: 12, prop: 'schoolPeople', label: `对接人`, visible: true }, |
||||||
|
{ key: 13, prop: 'schoolPay', label: `驾校支付`, visible: true } |
||||||
|
]; |
@ -0,0 +1,106 @@ |
|||||||
|
<template> |
||||||
|
<el-form ref="searchForm" :model="searchForm" inline label-width="80px"> |
||||||
|
<el-row> |
||||||
|
<el-form-item label="审核状态:" label-width="90px"> |
||||||
|
<DMRadio v-model="searchForm.checkState" :list="auditStatusOptions" all-text="全部" /> |
||||||
|
</el-form-item> |
||||||
|
</el-row> |
||||||
|
<el-row> |
||||||
|
<el-form-item label="是否全款:" label-width="90px"> |
||||||
|
<DMRadio v-model="searchForm.state" :list="stateOptions" all-text="全部" /> |
||||||
|
</el-form-item> |
||||||
|
</el-row> |
||||||
|
<el-row> |
||||||
|
<el-form-item label="回款状态:" label-width="90px"> |
||||||
|
<DMRadio v-model="searchForm.moneyState" :list="moneyStateOptions" label="dictLabel" name="dictCode" all-text="全部" /> |
||||||
|
</el-form-item> |
||||||
|
</el-row> |
||||||
|
<el-form-item label="快速查询"> |
||||||
|
<el-input v-model="searchForm.name" placeholder="姓名/联系方式" clearable @keyup.enter.native="handleQuery" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="成交时间"> |
||||||
|
<el-date-picker v-model="searchForm.dealDate" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" /> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="驾校"> |
||||||
|
<el-select v-model="searchForm.signSchool" placeholder="请选择" clearable> |
||||||
|
<el-option v-for="dict in schoolOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" /> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label="跟进人员"> |
||||||
|
<el-select v-model="searchForm.followUser2" placeholder="请选择" clearable> |
||||||
|
<el-option v-for="dict in userOptions" :key="dict.id" :label="dict.name" :value="dict.id" /> |
||||||
|
</el-select> |
||||||
|
</el-form-item> |
||||||
|
<el-form-item label-width="0"> |
||||||
|
<el-button type="primary" icon="el-icon-search" @click="$emit('search')">搜索</el-button> |
||||||
|
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> |
||||||
|
</el-form-item> |
||||||
|
</el-form> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import DMRadio from '@/components/DMRadio'; |
||||||
|
export default { |
||||||
|
components: { |
||||||
|
DMRadio |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
searchForm: { |
||||||
|
checkState: undefined, |
||||||
|
state: undefined, |
||||||
|
moneyState: undefined, |
||||||
|
name: undefined, |
||||||
|
dealDate: [], |
||||||
|
signSchool: undefined, |
||||||
|
followUser2: undefined |
||||||
|
}, |
||||||
|
auditStatusOptions: [ |
||||||
|
{ label: '待审核', value: 1 }, |
||||||
|
{ label: '已审核', value: 2 }, |
||||||
|
{ label: '驳回', value: 3 } |
||||||
|
], |
||||||
|
stateOptions: [ |
||||||
|
{ label: '全款', value: true }, |
||||||
|
{ label: '非全款', value: false } |
||||||
|
], |
||||||
|
moneyStateOptions: [], |
||||||
|
schoolOptions: [], |
||||||
|
userOptions: [] |
||||||
|
}; |
||||||
|
}, |
||||||
|
created() { |
||||||
|
this.getDicts('dm_money_state').then((response) => { |
||||||
|
this.moneyStateOptions = response.data; |
||||||
|
}); |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
resetQuery() { |
||||||
|
this.searchForm = { |
||||||
|
checkState: undefined, |
||||||
|
state: undefined, |
||||||
|
moneyState: undefined, |
||||||
|
name: undefined, |
||||||
|
dealDate: [], |
||||||
|
signSchool: undefined, |
||||||
|
followUser2: undefined |
||||||
|
}; |
||||||
|
}, |
||||||
|
getEmployee() { |
||||||
|
// getEmployee({ coach: false }).then((resp) => { |
||||||
|
// if (resp.code == 200) { |
||||||
|
// this.userOptions = resp.data |
||||||
|
// } |
||||||
|
// }) |
||||||
|
}, |
||||||
|
getSchools() { |
||||||
|
// getSchools().then((resp) => { |
||||||
|
// this.schoolOptions = resp.data |
||||||
|
// }) |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
</style> |
@ -0,0 +1,90 @@ |
|||||||
|
<!-- 成交登记 --> |
||||||
|
<template> |
||||||
|
<div class="p20"> |
||||||
|
<SearchForm v-show="showSearch" ref="SearchForm" @search="_getTableList" /> |
||||||
|
<el-row :gutter="10" class="mb8"> |
||||||
|
<el-col :span="1.5"> |
||||||
|
<el-button type="primary" plain icon="el-icon-plus" @click="handleAdd">新增</el-button> |
||||||
|
<el-button type="warning" icon="el-icon-download" @click="handleExport">导出</el-button> |
||||||
|
</el-col> |
||||||
|
<right-toolbar :show-search.sync="showSearch" :columns="columns" @queryTable="_getTableList" /> |
||||||
|
</el-row> |
||||||
|
<el-table v-loading="loading" :data="tableList"> |
||||||
|
<el-table-column type="selection" width="50" align="center" /> |
||||||
|
<template v-for="item in columns"> |
||||||
|
<el-table-column v-if="item.visible" :key="item.prop" :label="item.label" align="center" min-width="100" :prop="item.prop" /> |
||||||
|
</template> |
||||||
|
<el-table-column label="操作" fixed="right" align="center" width="160"> |
||||||
|
<template slot-scope="scope"> |
||||||
|
<el-button type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button> |
||||||
|
<el-button type="text" @click="handleCheck(scope.row)">审核</el-button> |
||||||
|
<el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button> |
||||||
|
</template> |
||||||
|
</el-table-column> |
||||||
|
</el-table> |
||||||
|
|
||||||
|
<pagination :total="total" :page.sync="searchForm.pageNum" :limit.sync="searchForm.pageSize" @pagination="_getTableList" /> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import SearchForm from './components/SearchForm.vue'; |
||||||
|
import { defaultColumns } from './columns.js'; |
||||||
|
export default { |
||||||
|
components: { |
||||||
|
SearchForm |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
// 遮罩层 |
||||||
|
loading: false, |
||||||
|
// 显示搜索条件 |
||||||
|
showSearch: true, |
||||||
|
searchForm: { |
||||||
|
pageNum: 1, |
||||||
|
pageSize: 20 |
||||||
|
}, |
||||||
|
tableList: [], |
||||||
|
total: 0, |
||||||
|
columns: [] |
||||||
|
}; |
||||||
|
}, |
||||||
|
created() { |
||||||
|
const str = localStorage.getItem(`${this.$route.name}-table-columns`); |
||||||
|
this.columns = str ? JSON.parse(str) : defaultColumns; |
||||||
|
// this._getTableList(); |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
async _getTableList() { |
||||||
|
const tempForm = this.$refs.SearchForm?.searchForm || {}; |
||||||
|
const params = { ...this.searchForm, ...tempForm }; |
||||||
|
console.log(params); |
||||||
|
// api.list(params) |
||||||
|
this.tableList = []; |
||||||
|
for (let i = 0; i < 20; i++) { |
||||||
|
this.tableList.push({ name: `数据${i + 1}` }); |
||||||
|
} |
||||||
|
}, |
||||||
|
handleExport() { |
||||||
|
const tempForm = this.$refs.SearchForm?.searchForm || {}; |
||||||
|
const params = { ...this.searchForm, ...tempForm }; |
||||||
|
this.$confirm('是否确认导出所有成交记录项?', '警告', { |
||||||
|
confirmButtonText: '确定', |
||||||
|
cancelButtonText: '取消', |
||||||
|
type: 'warning' |
||||||
|
}) |
||||||
|
.then((resp) => { |
||||||
|
// return exportData(params) |
||||||
|
}) |
||||||
|
.then((response) => { |
||||||
|
// this.download(response.msg); |
||||||
|
}) |
||||||
|
.catch(function () {}); |
||||||
|
}, |
||||||
|
handleAdd() {} |
||||||
|
} |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss" scoped> |
||||||
|
</style> |
Loading…
Reference in new issue