1 changed files with 203 additions and 0 deletions
@ -0,0 +1,203 @@ |
|||||
|
<template> |
||||
|
<el-card shadow="never" class="aui-card--fill"> |
||||
|
<div class="mod-/oper/customize__homecomponent}"> |
||||
|
<el-form :inline="true"> |
||||
|
<el-form-item> |
||||
|
<el-input v-model="ruleForm.name" placeholder="请输入客户名称" clearable="true"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button type="primary" @click="submitForm(ruleForm)">查询</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-table :data="customerList" border style="width: 100%;"> |
||||
|
<el-table-column label="客户名称" header-align="center" align="center" prop="customerName"></el-table-column> |
||||
|
<el-table-column label="logo" header-align="center" align="center" prop="logo"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-image style="width: 50px; height: 50px" :src="scope.row.logo" @click="addSrcList(scope.row.logo)" :preview-src-list="srcList"></el-image> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button type="text" size="small" @click="centerDialogVisible = true,customerize(scope.row.customerId)">功能配置</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-pagination |
||||
|
:current-page="pageNo" |
||||
|
:page-sizes="[10, 20, 50, 100]" |
||||
|
:page-size="pageSize" |
||||
|
layout="total, sizes, prev, pager, next, jumper" |
||||
|
:total="total" |
||||
|
@size-change="pageSizeChangeHandle" |
||||
|
@current-change="pageCurrentChangeHandle"> |
||||
|
</el-pagination> |
||||
|
</div> |
||||
|
<el-dialog :title="diaName" size="small" :visible.sync="centerDialogVisible"> |
||||
|
<p>默认功能</p> |
||||
|
<el-table :data="defaultFunctionList" border style="width: 100%;" ref="defaultFunction" @selection-change="handleSelectionChangeDefault"> |
||||
|
<el-table-column type="selection" header-align="center" align="center" checked="true" width="50"></el-table-column> |
||||
|
<el-table-column label="功能名称" header-align="center" align="center" prop="functionName"></el-table-column> |
||||
|
</el-table> |
||||
|
<p>客户定制化</p> |
||||
|
<el-table :data="customizedFunctionList" border style="width: 100%;" ref="customizeFunction" @selection-change="handleSelectionChangeCustomize"> |
||||
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="functionName"></el-table-column> |
||||
|
</el-table> |
||||
|
<div style="text-align: center"> |
||||
|
<el-button @click="centerDialogVisible = false">关闭</el-button> |
||||
|
<el-button type="primary" @click="saveConfig">保存</el-button> |
||||
|
</div> |
||||
|
</el-dialog> |
||||
|
</el-card> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
data () { |
||||
|
return { |
||||
|
diaName: '功能配置', |
||||
|
noImg: '暂无图片', |
||||
|
customerList: [], |
||||
|
input: '', |
||||
|
centerDialogVisible: false, |
||||
|
defaultFunctionList: [], |
||||
|
customizedFunctionList: [], |
||||
|
defaultStatus: [], |
||||
|
customizeStatus: [], |
||||
|
customerId: '', |
||||
|
pageNo: 1, |
||||
|
pageSize: 10, |
||||
|
ruleForm: { name: '' }, |
||||
|
multiSelectedDefault: [], |
||||
|
multiSelectedCustomize: [], |
||||
|
defaultForm: [], |
||||
|
customizeForm: [], |
||||
|
total: '', |
||||
|
srcList: [] |
||||
|
} |
||||
|
}, |
||||
|
components: { |
||||
|
|
||||
|
}, |
||||
|
created () { |
||||
|
this.queryCustomerList() |
||||
|
}, |
||||
|
methods: { |
||||
|
queryCustomerList () { |
||||
|
let params = { |
||||
|
customerName: '', |
||||
|
pageNo: this.pageNo, |
||||
|
pageSize: this.pageSize |
||||
|
} |
||||
|
this.$http.post('/oper/crm/customer/pagequery', params).then(({ data: res }) => { |
||||
|
if (res.code === 0) { |
||||
|
this.customerList = res.data.list |
||||
|
this.total = res.data.total |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
submitForm (formName) { |
||||
|
let params = { |
||||
|
customerName: formName.name, |
||||
|
pageNo: this.pageNo, |
||||
|
pageSize: this.pageSize |
||||
|
} |
||||
|
this.$http.post('/oper/crm/customer/pagequery', params).then(({ data: res }) => { |
||||
|
if (res.code === 0) { |
||||
|
this.customerList = res.data.list |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
customerize (id) { |
||||
|
this.customerId = id |
||||
|
let params = { |
||||
|
customerId: id |
||||
|
} |
||||
|
this.$http.post('/oper/customize/customerfunction/customerfunctionlist', params).then(({ data: res }) => { |
||||
|
if (res.code === 0) { |
||||
|
this.defaultFunctionList = res.data.defaultFunctionList |
||||
|
this.$nextTick(() => { |
||||
|
this.defaultFunctionList.forEach(fun => { |
||||
|
if (fun.flag === true) { |
||||
|
this.$refs.defaultFunction.toggleRowSelection(fun) |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
this.customizedFunctionList = res.data.customizedFunctionList |
||||
|
this.$nextTick(() => { |
||||
|
this.customizedFunctionList.forEach(fun => { |
||||
|
if (fun.flag === true) { |
||||
|
this.$refs.customizeFunction.toggleRowSelection(fun) |
||||
|
} |
||||
|
}) |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
saveConfig () { |
||||
|
if (this.multiSelectedDefault.length !== 0) { |
||||
|
this.multiSelectedDefault.forEach(defaultFun => { |
||||
|
this.defaultForm.push(defaultFun.functionId) |
||||
|
}) |
||||
|
} |
||||
|
if (this.multiSelectedCustomize.length !== 0) { |
||||
|
this.multiSelectedCustomize.forEach(customizeFun => { |
||||
|
this.customizeForm.push(customizeFun.functionId) |
||||
|
}) |
||||
|
} |
||||
|
if (this.defaultForm.length === 0) { |
||||
|
this.$message({ |
||||
|
type: 'warning', |
||||
|
message: '至少保留一个默认功能' |
||||
|
}) |
||||
|
return |
||||
|
} |
||||
|
let params = { |
||||
|
'customerId': this.customerId, |
||||
|
'defaultFunctionList': this.defaultForm, |
||||
|
'customizedFunctionList': this.customizeForm |
||||
|
} |
||||
|
this.$http.post('/oper/customize/customerfunction/savecustomerfunction', params).then(({ data: res }) => { |
||||
|
if (res.code === 0) { |
||||
|
this.$message({ |
||||
|
type: 'success', |
||||
|
message: '保存成功' |
||||
|
}) |
||||
|
} else { |
||||
|
this.$message({ |
||||
|
type: 'warning', |
||||
|
message: '保存失败' |
||||
|
}) |
||||
|
} |
||||
|
this.centerDialogVisible = false |
||||
|
}).catch(() => { |
||||
|
this.$message({ |
||||
|
type: 'error', |
||||
|
message: '保存失败' |
||||
|
}) |
||||
|
}) |
||||
|
this.defaultForm = [] |
||||
|
this.customizeForm = [] |
||||
|
}, |
||||
|
pageCurrentChangeHandle (val) { |
||||
|
this.pageNo = val |
||||
|
this.queryCustomerList() |
||||
|
}, |
||||
|
pageSizeChangeHandle (val) { |
||||
|
this.pageSize = val |
||||
|
this.queryCustomerList() |
||||
|
}, |
||||
|
handleSelectionChangeDefault (val) { |
||||
|
this.multiSelectedDefault = val |
||||
|
}, |
||||
|
handleSelectionChangeCustomize (customizeVal) { |
||||
|
this.multiSelectedCustomize = customizeVal |
||||
|
}, |
||||
|
addSrcList (url) { |
||||
|
this.srcList = [] |
||||
|
this.srcList.push(url) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
Loading…
Reference in new issue