pixel
5 years ago
2 changed files with 249 additions and 0 deletions
@ -0,0 +1,86 @@ |
|||
import service from '@/utils/request' |
|||
|
|||
// @Tags SysApi
|
|||
// @Summary 删除客户
|
|||
// @Security ApiKeyAuth
|
|||
// @accept application/json
|
|||
// @Produce application/json
|
|||
// @Param data body dbModel.ExaCustomer true "删除客户"
|
|||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
|
|||
// @Router /customer/createExaCustomer [post]
|
|||
export const createExaCustomer = (data) => { |
|||
return service({ |
|||
url: "/customer/createExaCustomer", |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
|
|||
|
|||
// @Tags SysApi
|
|||
// @Summary 更新客户信息
|
|||
// @Security ApiKeyAuth
|
|||
// @accept application/json
|
|||
// @Produce application/json
|
|||
// @Param data body dbModel.ExaCustomer true "更新客户信息"
|
|||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
|
|||
// @Router /customer/updataExaCustomer [post]
|
|||
export const updataExaCustomer = (data) => { |
|||
return service({ |
|||
url: "/customer/updataExaCustomer", |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
|
|||
// @Tags SysApi
|
|||
// @Summary 创建客户
|
|||
// @Security ApiKeyAuth
|
|||
// @accept application/json
|
|||
// @Produce application/json
|
|||
// @Param data body dbModel.ExaCustomer true "创建客户"
|
|||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
|
|||
// @Router /customer/deleteExaCustomer [post]
|
|||
export const deleteExaCustomer = (data) => { |
|||
return service({ |
|||
url: "/customer/deleteExaCustomer", |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
|
|||
// @Tags SysApi
|
|||
// @Summary 获取单一客户信息
|
|||
// @Security ApiKeyAuth
|
|||
// @accept application/json
|
|||
// @Produce application/json
|
|||
// @Param data body dbModel.ExaCustomer true "获取单一客户信息"
|
|||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
|
|||
// @Router /customer/getExaCustomer [post]
|
|||
export const getExaCustomer = (data) => { |
|||
return service({ |
|||
url: "/customer/getExaCustomer", |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
|||
|
|||
|
|||
// @Tags SysApi
|
|||
// @Summary 获取权限客户列表
|
|||
// @Security ApiKeyAuth
|
|||
// @accept application/json
|
|||
// @Produce application/json
|
|||
// @Param data body modelInterface.PageInfo true "获取权限客户列表"
|
|||
// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功"}"
|
|||
// @Router /customer/createExaCustomer [post]
|
|||
export const getExaCustomerList = (data) => { |
|||
return service({ |
|||
url: "/customer/getExaCustomerList", |
|||
method: 'post', |
|||
data |
|||
}) |
|||
} |
@ -0,0 +1,163 @@ |
|||
<template> |
|||
<div> |
|||
<div class="search-term"> |
|||
<el-form :inline="true" :model="searchInfo" class="demo-form-inline"> |
|||
<el-form-item> |
|||
<el-button @click="openDialog" type="primary">新增客户</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</div> |
|||
<el-table |
|||
:data="tableData" |
|||
@selection-change="handleSelectionChange" |
|||
border |
|||
ref="multipleTable" |
|||
stripe |
|||
style="width: 100%" |
|||
tooltip-effect="dark" |
|||
> |
|||
<el-table-column type="selection" width="55"></el-table-column> |
|||
<el-table-column label="接入日期" width="180"> |
|||
<template slot-scope="scope">{{ scope.row.CreatedAt|formatDate }}</template> |
|||
</el-table-column> |
|||
<el-table-column label="姓名" prop="customerName" width="120"></el-table-column> |
|||
<el-table-column label="电话" prop="customerPhoneData" width="120"></el-table-column> |
|||
<el-table-column label="接入人ID" prop="sysUserId" width="120"></el-table-column> |
|||
<el-table-column label="按钮组"> |
|||
<template slot-scope="scope"> |
|||
<el-button @click="updataCustomer(scope.row)" size="small" type="text">变更</el-button> |
|||
<el-popover |
|||
placement="top" |
|||
width="160" |
|||
v-model="visible"> |
|||
<p>确定要删除吗?</p> |
|||
<div style="text-align: right; margin: 0"> |
|||
<el-button size="mini" type="text" @click="visible = false">取消</el-button> |
|||
<el-button type="primary" size="mini" @click="deleteCustomer(scope.row)">确定</el-button> |
|||
</div> |
|||
<el-button type="text" size="mini" slot="reference">删除</el-button> |
|||
</el-popover> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<el-pagination |
|||
:current-page="page" |
|||
:page-size="pageSize" |
|||
:page-sizes="[10, 30, 50, 100]" |
|||
:style="{float:'right',padding:'20px'}" |
|||
:total="total" |
|||
@current-change="handleCurrentChange" |
|||
@size-change="handleSizeChange" |
|||
layout="total, sizes, prev, pager, next, jumper" |
|||
></el-pagination> |
|||
|
|||
<el-dialog :before-close="closeDialog" :visible.sync="dialogFormVisible" title="新增Api"> |
|||
<el-form :inline="true" :model="form" label-width="80px"> |
|||
<el-form-item label="客户名"> |
|||
<el-input autocomplete="off" v-model="form.customerName"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="客户电话"> |
|||
<el-input autocomplete="off" v-model="form.customerPhoneData"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div class="dialog-footer" slot="footer"> |
|||
<el-button @click="closeDialog">取 消</el-button> |
|||
<el-button @click="enterDialog" type="primary">确 定</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
在资源权限中将此角色的资源权限清空 或者不包含创建者的角色 即可屏蔽此客户资源的显示 |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
|
|||
import { |
|||
createExaCustomer, |
|||
updataExaCustomer, |
|||
deleteExaCustomer, |
|||
getExaCustomer, |
|||
getExaCustomerList |
|||
} from '@/api/customer' |
|||
import { formatTimeToStr } from '@/utils/data' |
|||
import infoList from '@/components/mixins/infoList' |
|||
import { mapGetters } from 'vuex' |
|||
|
|||
export default { |
|||
name: 'Customer', |
|||
mixins: [infoList], |
|||
data(){ |
|||
return{ |
|||
listApi: getExaCustomerList, |
|||
listKey: 'customer', |
|||
dialogFormVisible:false, |
|||
visible:false, |
|||
type:"", |
|||
form:{ |
|||
customerName:"", |
|||
customerPhoneData:"" |
|||
} |
|||
} |
|||
}, |
|||
computed:{ |
|||
...mapGetters('user', ['token']) |
|||
}, |
|||
filters: { |
|||
formatDate: function(time) { |
|||
if (time != null && time != '') { |
|||
var date = new Date(time) |
|||
return formatTimeToStr(date, 'yyyy-MM-dd hh:mm:ss') |
|||
} else { |
|||
return '' |
|||
} |
|||
} |
|||
}, |
|||
methods:{ |
|||
async updataCustomer(row){ |
|||
const res = await getExaCustomer(row) |
|||
this.type = "update" |
|||
if(res.success){ |
|||
this.form = res.data.customer |
|||
this.dialogFormVisible = true |
|||
} |
|||
}, |
|||
closeDialog(){ |
|||
this.dialogFormVisible = false |
|||
}, |
|||
async deleteCustomer(row){ |
|||
this.visible = false |
|||
const res = await deleteExaCustomer(row) |
|||
if (res.success){ |
|||
this.getTableData() |
|||
} |
|||
}, |
|||
async enterDialog(){ |
|||
let res |
|||
switch (this.type) { |
|||
case "create": |
|||
res =await createExaCustomer(this.form) |
|||
break; |
|||
case "update": |
|||
res =await updataExaCustomer(this.form) |
|||
break; |
|||
default: |
|||
res =await createExaCustomer(this.form) |
|||
break; |
|||
|
|||
} |
|||
|
|||
if(res.success){ |
|||
this.dialogFormVisible = false |
|||
this.getTableData() |
|||
} |
|||
}, |
|||
openDialog() { |
|||
this.type = "create" |
|||
this.dialogFormVisible = true |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue