Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
pda-ui
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pda
pda-ui
Commits
573cd23a
Commit
573cd23a
authored
Jan 18, 2024
by
jzc
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/jzc/brand/0.0.1' into dev
parents
e64d1b03
b5dd0e25
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1025 additions
and
44 deletions
+1025
-44
brand.js
src/api/mes/md/brand.js
+6
-6
brandcontact.js
src/api/mes/md/brandcontact.js
+53
-0
single.vue
src/components/brandSelect/single.vue
+294
-0
index.vue
src/views/mes/md/brand/index.vue
+77
-38
index.vue
src/views/mes/md/brandcontact/index.vue
+595
-0
No files found.
src/api/mes/md/brand.js
View file @
573cd23a
import
request
from
'@/utils/request'
// 查询
生产用途
列表
// 查询
品牌
列表
export
function
listBrand
(
query
)
{
return
request
({
url
:
'/mes/md/brand/list'
,
...
...
@@ -9,7 +9,7 @@ export function listBrand(query) {
})
}
// 查询所有
有效生产用途
// 查询所有
品牌
export
function
listAllBrand
()
{
return
request
({
url
:
'/mes/md/brand/listAll'
,
...
...
@@ -18,7 +18,7 @@ export function listAllBrand() {
}
// 查询
生产用途
详细
// 查询
品牌
详细
export
function
getBrand
(
brandId
)
{
return
request
({
url
:
'/mes/md/brand/'
+
brandId
,
...
...
@@ -26,7 +26,7 @@ export function getBrand(brandId) {
})
}
// 新增
生产用途
// 新增
品牌
export
function
addBrand
(
data
)
{
return
request
({
url
:
'/mes/md/brand'
,
...
...
@@ -35,7 +35,7 @@ export function addBrand(data) {
})
}
// 修改
生产用途
// 修改
品牌
export
function
updateBrand
(
data
)
{
return
request
({
url
:
'/mes/md/brand'
,
...
...
@@ -44,7 +44,7 @@ export function updateBrand(data) {
})
}
// 删除
生产用途
// 删除
品牌
export
function
delBrand
(
brandId
)
{
return
request
({
url
:
'/mes/md/brand/'
+
brandId
,
...
...
src/api/mes/md/brandcontact.js
0 → 100644
View file @
573cd23a
import
request
from
'@/utils/request'
// 查询品牌联系人列表
export
function
listContact
(
query
)
{
return
request
({
url
:
'/md/contact/list'
,
method
:
'get'
,
params
:
query
})
}
// 查询品牌联系人详细
export
function
getContact
(
brandContactId
)
{
return
request
({
url
:
'/md/contact/'
+
brandContactId
,
method
:
'get'
})
}
// 新增品牌联系人
export
function
addContact
(
data
)
{
return
request
({
url
:
'/md/contact'
,
method
:
'post'
,
data
:
data
})
}
// 修改品牌联系人
export
function
updateContact
(
data
)
{
return
request
({
url
:
'/md/contact'
,
method
:
'put'
,
data
:
data
})
}
// 删除品牌联系人
export
function
delContact
(
brandContactId
)
{
return
request
({
url
:
'/md/contact/'
+
brandContactId
,
method
:
'delete'
})
}
// 查询品牌列表(不传参查所有)
export
function
listBrand
(
query
)
{
return
request
({
url
:
'/md/contact/listBrand'
,
method
:
'get'
,
params
:
query
})
}
src/components/brandSelect/single.vue
0 → 100644
View file @
573cd23a
<
template
>
<el-dialog
title=
"品牌选择"
v-if=
"showFlag"
:visible
.
sync=
"showFlag"
:modal=
"false"
width=
"80%"
center
>
<el-row
:gutter=
"20"
>
<!--品牌数据-->
<el-col
:span=
"20"
:xs=
"20"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"品牌编码"
prop=
"brandCode"
>
<el-input
v-model=
"queryParams.brandCode"
placeholder=
"请输入品牌编码"
clearable
style=
"width: 240px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"品牌名称"
prop=
"brandName"
>
<el-input
v-model=
"queryParams.brandName"
placeholder=
"请输入品牌名称"
clearable
style=
"width: 240px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"brandList"
@
current-change=
"handleCurrent"
@
row-dblclick=
"handleRowDbClick"
>
<el-table-column
width=
"50"
align=
"center"
>
<template
v-slot=
"scope"
>
<el-radio
v-model=
"selectedBrandId"
:label=
"scope.row.brandId"
@
change=
"handleRowChange(scope.row)"
>
{{
""
}}
</el-radio
>
</
template
>
</el-table-column>
<el-table-column
label=
"品牌编码"
width=
"120"
align=
"center"
key=
"brandCode"
prop=
"brandCode"
v-if=
"columns[0].visible"
>
</el-table-column>
<el-table-column
label=
"品牌名称"
min-width=
"120"
align=
"center"
key=
"brandName"
prop=
"brandName"
v-if=
"columns[1].visible"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"集团"
width=
"120"
align=
"center"
key=
"groupName"
prop=
"groupName"
v-if=
"columns[2].visible"
:show-overflow-tooltip=
"true"
/>
<!-- <el-table-column
label="地址"
align="center"
key="address"
prop="address"
v-if="columns[3].visible"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label=
"销售对接人"
align=
"center"
key=
"salesContact"
prop=
"salesContact"
v-if=
"columns[3].visible"
:show-overflow-tooltip=
"true"
>
</el-table-column>
<el-table-column
label=
"开发对接人"
align=
"center"
key=
"devContact"
prop=
"devContact"
v-if=
"columns[4].visible"
:show-overflow-tooltip=
"true"
></el-table-column>
<!-- <el-table-column
label="品牌背景"
align="center"
key="background"
prop="background"
v-if="columns[4].visible"
:show-overflow-tooltip="true"
></el-table-column> -->
<el-table-column
label=
"经营范围"
align=
"center"
key=
"scope"
prop=
"scope"
v-if=
"columns[5].visible"
:show-overflow-tooltip=
"true"
></el-table-column>
<el-table-column
label=
"潜力项目"
align=
"center"
key=
"potentialProject"
prop=
"potentialProject"
v-if=
"columns[6].visible"
:show-overflow-tooltip=
"true"
></el-table-column>
<!-- <el-table-column
label="廉洁规定"
align="center"
key="integrityRegulations"
prop="integrityRegulations"
v-if="columns[4].visible"
:show-overflow-tooltip="true"
></el-table-column> -->
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</el-col>
</el-row>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"confirmSelect"
>
确 定
</el-button>
<el-button
@
click=
"showFlag = false"
>
取 消
</el-button>
</div>
</el-dialog>
</template>
<
script
>
import
{
listBrand
}
from
"@/api/mes/md/brand"
;
export
default
{
name
:
"MdBrandSelectSingle"
,
components
:
{},
data
()
{
return
{
showFlag
:
false
,
// 选中数组
selectedBrandId
:
undefined
,
selectedRows
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 品牌表格数据
brandList
:
[],
// // 品牌名称
// brandName: undefined,
defaultProps
:
{
children
:
"children"
,
label
:
"label"
,
},
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
brandCode
:
null
,
brandName
:
null
,
brandId
:
null
,
},
// 列信息
columns
:
[
{
key
:
0
,
label
:
`品牌编码`
,
visible
:
true
},
{
key
:
1
,
label
:
`品牌名称`
,
visible
:
true
},
{
key
:
2
,
label
:
`集团`
,
visible
:
true
},
// { key: 3, label: `地址`, visible: true },
{
key
:
3
,
label
:
`销售对接人`
,
visible
:
true
},
{
key
:
4
,
label
:
`开发对接人`
,
visible
:
true
},
// { key: 6, label: `品牌背景`, visible: true },
{
key
:
5
,
label
:
`经营范围`
,
visible
:
true
},
{
key
:
6
,
label
:
`潜力项目`
,
visible
:
true
},
// { key: 6, label: `廉洁规定`, visible: true },
],
};
},
// watch: {
// // 根据名称筛选分类树
// itemTypeName(val) {
// this.$refs.tree.filter(val);
// },
// },
created
()
{
console
.
log
(
"日志:已进入brandSingle页面的列表查询方法"
);
// 在created钩子函数中输出日志
this
.
getList
();
},
methods
:
{
// /** 查询物料编码列表 */
// getList() {
// this.loading = true;
// listMdItem(this.queryParams).then((response) => {
// this.itemList = response.rows;
// this.total = response.total;
// this.loading = false;
// });
// },
/** 查询品牌列表 */
getList
()
{
this
.
loading
=
true
;
listBrand
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
brandList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
handleCurrent
(
row
)
{
if
(
row
)
{
this
.
selectedRows
=
row
;
}
},
// 单选选中数据
handleRowChange
(
row
)
{
if
(
row
)
{
this
.
selectedRows
=
row
;
}
},
//双击选中
handleRowDbClick
(
row
)
{
if
(
row
)
{
this
.
selectedRows
=
row
;
this
.
$emit
(
"onSelected"
,
this
.
selectedRows
);
this
.
showFlag
=
false
;
}
},
//确定选中
confirmSelect
()
{
if
(
this
.
selectedBrandId
==
null
||
this
.
selectedBrandId
==
0
)
{
this
.
$notify
({
title
:
"提示"
,
type
:
"warning"
,
message
:
"请至少选择一条数据!"
,
});
return
;
}
this
.
$emit
(
"onSelected"
,
this
.
selectedRows
);
this
.
showFlag
=
false
;
},
},
};
</
script
>
\ No newline at end of file
src/views/mes/md/brand/index.vue
View file @
573cd23a
...
...
@@ -24,21 +24,28 @@
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"集团"
prop=
"group"
>
<el-form-item
label=
"集团"
prop=
"group
Name
"
>
<el-input
v-model=
"queryParams.group"
v-model=
"queryParams.group
Name
"
placeholder=
"请输入集团"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"是否启用"
prop=
"enableFlag"
>
<el-
inpu
t
<el-
selec
t
v-model=
"queryParams.enableFlag"
placeholder=
"
请输入
是否启用"
placeholder=
"是否启用"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
style=
"width: 215px"
>
<el-option
v-for=
"dict in dict.type.sys_yes_no"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
...
...
@@ -132,7 +139,7 @@
<el-table-column
label=
"集团"
align=
"center"
prop=
"group"
prop=
"group
Name
"
:show-overflow-tooltip=
"true"
/>
<el-table-column
...
...
@@ -154,7 +161,7 @@
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"背景"
label=
"
品牌
背景"
align=
"center"
prop=
"background"
:show-overflow-tooltip=
"true"
...
...
@@ -166,7 +173,7 @@
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"
品牌名称
"
label=
"
潜力项目
"
align=
"center"
prop=
"potentialProject"
:show-overflow-tooltip=
"true"
...
...
@@ -277,35 +284,55 @@
</el-col>
</el-row>
<el-row>
<el-col
:span=
"7"
>
<el-form-item
label=
"集团"
prop=
"group"
>
<el-input
v-model=
"form.group"
placeholder=
"请输入所属集团名称"
/>
<el-col
:span=
"8"
>
<el-form-item
label=
"集团"
prop=
"groupName"
>
<el-input
v-model=
"form.groupName"
placeholder=
"请输入所属集团名称"
/>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"地址"
prop=
"address"
>
<el-input
v-model=
"form.address"
placeholder=
"请输入地址"
/>
<el-col
:span=
"8"
>
<el-form-item
label=
"销售对接人"
prop=
"salesContact"
>
<el-input
v-model=
"form.salesContact"
placeholder=
"请输入销售对接人"
/>
</el-form-item>
</el-col>
<el-col
:span=
"7"
>
<el-form-item
label=
"销售对接人"
prop=
"salesContact"
>
<el-input
v-model=
"form.salesContact"
placeholder=
"请输入销售对接人"
/>
<el-col
:span=
"8"
>
<el-form-item
label=
"开发对接人"
prop=
"devContact"
>
<el-input
v-model=
"form.devContact"
placeholder=
"请输入开发对接人"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"
7
"
>
<el-form-item
label=
"
开发对接人"
prop=
"devContact
"
>
<el-input
v-model=
"form.
devContact"
placeholder=
"请输入开发对接人
"
/>
<el-col
:span=
"
24
"
>
<el-form-item
label=
"
地址"
prop=
"address
"
>
<el-input
v-model=
"form.
address"
placeholder=
"请输入地址
"
/>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"背景"
prop=
"background"
>
<el-input
v-model=
"form.background"
placeholder=
"请输入品牌背景"
/>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"品牌背景"
prop=
"background"
>
<el-input
v-model=
"form.background"
placeholder=
"请输入品牌背景"
/>
</el-form-item>
</el-col>
<el-col
:span=
"7"
>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"经营范围"
prop=
"scope"
>
<el-input
v-model=
"form.scope"
placeholder=
"请输入经营范围"
/>
</el-form-item>
...
...
@@ -313,14 +340,23 @@
</el-row>
<el-row>
<el-col
:span=
"
7
"
>
<el-col
:span=
"
24
"
>
<el-form-item
label=
"潜力项目"
prop=
"potentialProject"
>
<el-input
v-model=
"form.potentialProject"
placeholder=
"请输入潜力项目"
/>
<el-input
v-model=
"form.potentialProject"
placeholder=
"请输入潜力项目"
/>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"廉洁规定"
prop=
"integrityRegulations"
>
<el-input
v-model=
"form.integrityRegulations"
placeholder=
"请输入廉洁规定"
/>
<el-input
v-model=
"form.integrityRegulations"
placeholder=
"请输入廉洁规定"
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -389,11 +425,12 @@ export default {
pageSize
:
10
,
brandCode
:
null
,
brandName
:
null
,
group
:
null
,
group
Name
:
null
,
enableFlag
:
null
,
},
// 表单参数
form
:
{},
brandList
:
[],
// 表单校验
rules
:
{
brandCode
:
[
...
...
@@ -402,7 +439,7 @@ export default {
brandName
:
[
{
required
:
true
,
message
:
"品牌名称不能为空"
,
trigger
:
"blur"
},
],
group
:
[
group
Name
:
[
{
required
:
true
,
message
:
"集团不能为空"
,
trigger
:
"blur"
},
],
enableFlag
:
[
...
...
@@ -435,7 +472,7 @@ export default {
brandId
:
null
,
brandCode
:
null
,
brandName
:
null
,
group
:
null
,
group
Name
:
null
,
address
:
null
,
salesContact
:
null
,
devContact
:
null
,
...
...
@@ -465,7 +502,7 @@ export default {
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
usage
Id
);
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
brand
Id
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
},
...
...
@@ -494,7 +531,7 @@ export default {
getBrand
(
brandId
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"修改
生产用途
"
;
this
.
title
=
"修改
品牌信息
"
;
this
.
optType
=
"edit"
;
});
},
...
...
@@ -519,12 +556,14 @@ export default {
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
usageIds
=
row
.
usageId
||
this
.
ids
;
handleDelete
()
{
const
brandIds
=
this
.
ids
.
join
(
","
);
console
.
log
(
brandIds
);
this
.
$modal
.
confirm
(
"是否确认删除
生产用途
?"
)
.
confirm
(
"是否确认删除
品牌
?"
)
.
then
(
function
()
{
return
del
Usage
(
usage
Ids
);
return
del
Brand
(
brand
Ids
);
})
.
then
(()
=>
{
this
.
getList
();
...
...
src/views/mes/md/brandcontact/index.vue
0 → 100644
View file @
573cd23a
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"品牌名称"
prop=
"brandName"
>
<el-input
v-model=
"queryParams.brandName"
placeholder=
"请输入品牌"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<!--
<el-form-item
label=
"品牌"
prop=
"brandName"
>
<el-select
v-model=
"queryParams.brandName"
placeholder=
"请选择品牌"
clearable
>
<el-option
v-for=
"dict in dict.type.mes_dvsubject_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
-->
<el-form-item
label=
"联系人"
prop=
"contactName"
>
<el-input
v-model=
"queryParams.contactName"
placeholder=
"请输入联系人"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"联系人(英文名)"
prop=
"contactNameEn"
>
<el-input
v-model=
"queryParams.contactNameEn"
placeholder=
"请输入联系人(英文名)"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"联系电话"
prop=
"contactPhone"
>
<el-input
v-model=
"queryParams.contactPhone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"办公区域"
prop=
"officeArea"
>
<el-input
v-model=
"queryParams.officeArea"
placeholder=
"请输入办公区域"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"department"
>
<el-input
v-model=
"queryParams.department"
placeholder=
"请输入部门"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"职位"
prop=
"position"
>
<el-input
v-model=
"queryParams.position"
placeholder=
"请输入职位"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"邮箱地址"
prop=
"mailbox"
>
<el-input
v-model=
"queryParams.mailbox"
placeholder=
"请输入邮箱地址"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"是否启用"
prop=
"enableFlag"
>
<el-select
v-model=
"queryParams.enableFlag"
placeholder=
"是否启用"
clearable
style=
"width: 215px"
>
<el-option
v-for=
"dict in dict.type.sys_yes_no"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['md:contact:add']"
>
新增
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['md:contact:edit']"
>
修改
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['md:contact:remove']"
>
删除
</el-button
>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['md:contact:export']"
>
导出
</el-button
>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"contactList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<!--
<el-table-column
label=
"品牌id"
align=
"center"
prop=
"brandId"
/>
-->
<el-table-column
label=
"品牌名称"
align=
"center"
prop=
"brandName"
/>
<el-table-column
label=
"联系人"
align=
"center"
prop=
"contactName"
/>
<el-table-column
label=
"联系人(英文名)"
align=
"center"
prop=
"contactNameEn"
/>
<el-table-column
label=
"联系电话"
align=
"center"
prop=
"contactPhone"
/>
<el-table-column
label=
"办公区域"
align=
"center"
prop=
"officeArea"
/>
<el-table-column
label=
"部门"
align=
"center"
prop=
"department"
/>
<el-table-column
label=
"职位"
align=
"center"
prop=
"position"
/>
<el-table-column
label=
"邮箱地址"
align=
"center"
prop=
"mailbox"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
<el-table-column
label=
"是否启用"
align=
"center"
prop=
"enableFlag"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_yes_no"
:value=
"scope.row.enableFlag"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['md:contact:edit']"
>
修改
</el-button
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['md:contact:remove']"
>
删除
</el-button
>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改品牌联系人对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"960px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<!-- <el-form-item label="品牌id" prop="brandId">
<el-input v-model="form.brandId" placeholder="请输入品牌id" />
</el-form-item> -->
<el-row>
<!-- <el-col :span="8">
<el-form-item label="品牌" prop="brandId">
<el-select v-model="form.brandId" placeholder="请选择品牌">
<el-option
v-for="item in mdBrands"
:key="item.brandId"
:label="item.brandName"
:value="item.brandId"
></el-option>
</el-select>
</el-form-item>
</el-col> -->
<el-col
:span=
"8"
>
<el-form-item
label=
"品牌"
prop=
"brandName"
>
<el-input
v-model=
"form.brandName"
placeholder=
"请选择品牌"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
@
click=
"handleBrandSelect"
></el-button>
</el-input>
<BrandSelect
ref=
"brSelect"
@
onSelected=
"onBrandSelected"
></BrandSelect>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"联系人"
prop=
"contactName"
>
<el-input
v-model=
"form.contactName"
placeholder=
"请输入联系人"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"联系人(英文名)"
prop=
"contactNameEn"
>
<el-input
v-model=
"form.contactNameEn"
placeholder=
"请输入联系人(英文名)"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"联系电话"
prop=
"contactPhone"
>
<el-input
v-model=
"form.contactPhone"
placeholder=
"请输入联系电话"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"办公区域"
prop=
"officeArea"
>
<el-input
v-model=
"form.officeArea"
placeholder=
"请输入办公区域"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"部门"
prop=
"department"
>
<el-input
v-model=
"form.department"
placeholder=
"请输入部门"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"职位"
prop=
"position"
>
<el-input
v-model=
"form.position"
placeholder=
"请输入职位"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"邮箱地址"
prop=
"mailbox"
>
<el-input
v-model=
"form.mailbox"
placeholder=
"请输入邮箱地址"
/>
</el-form-item>
</el-col>
<!-- <el-form-item label="是否启用" prop="enableFlag">
<el-input v-model="form.enableFlag" placeholder="请输入是否启用(Y/N)" />
</el-form-item> -->
<el-col
:span=
"8"
>
<el-form-item
label=
"是否启用"
prop=
"enableFlag"
>
<el-radio-group
v-model=
"form.enableFlag"
disabled
v-if=
"optType == 'view'"
>
<el-radio
v-for=
"dict in dict.type.sys_yes_no"
:key=
"dict.value"
:label=
"dict.value"
>
{{ dict.label }}
</el-radio
>
</el-radio-group>
<el-radio-group
v-model=
"form.enableFlag"
v-else
>
<el-radio
v-for=
"dict in dict.type.sys_yes_no"
:key=
"dict.value"
:label=
"dict.value"
>
{{ dict.label }}
</el-radio
>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
BrandSelect
from
"@/components/brandSelect/single.vue"
;
import
{
listContact
,
listBrand
,
getContact
,
delContact
,
addContact
,
updateContact
,
}
from
"@/api/mes/md/brandcontact"
;
export
default
{
name
:
"Contact"
,
components
:
{
BrandSelect
},
dicts
:
[
"sys_yes_no"
],
data
()
{
return
{
optType
:
undefined
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 品牌联系人表格数据
contactList
:
[],
//品牌选项
mdBrands
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
brandId
:
null
,
contactName
:
null
,
contactNameEn
:
null
,
contactPhone
:
null
,
officeArea
:
null
,
department
:
null
,
position
:
null
,
mailbox
:
null
,
enableFlag
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
brandId
:
[{
required
:
true
,
message
:
"品牌不能为空"
,
trigger
:
"blur"
}],
contactName
:
[
{
required
:
true
,
message
:
"联系人不能为空"
,
trigger
:
"blur"
},
],
contactPhone
:
[
{
required
:
true
,
message
:
"联系电话不能为空"
,
trigger
:
"blur"
},
],
enableFlag
:
[
{
required
:
true
,
message
:
"是否启用不能为空"
,
trigger
:
"blur"
},
],
},
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询品牌联系人列表 */
getList
()
{
this
.
loading
=
true
;
listContact
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
contactList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
/** 查询品牌列表 */
getBrandList
()
{
this
.
loading
=
true
;
listBrand
().
then
((
response
)
=>
{
this
.
mdBrands
=
response
.
data
;
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
brandContactId
:
null
,
brandId
:
null
,
contactName
:
null
,
contactNameEn
:
null
,
contactPhone
:
null
,
officeArea
:
null
,
department
:
null
,
position
:
null
,
mailbox
:
null
,
remark
:
null
,
enableFlag
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
};
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
brandContactId
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
// this.getBrandList();
this
.
open
=
true
;
this
.
title
=
"添加品牌联系人"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
// this.getBrandList();
const
brandContactId
=
row
.
brandContactId
||
this
.
ids
;
getContact
(
brandContactId
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"修改品牌联系人"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
form
.
brandContactId
!=
null
)
{
updateContact
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addContact
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
brandContactIds
=
row
.
brandContactId
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除品牌联系人编号为"'
+
brandContactIds
+
'"的数据项?'
)
.
then
(
function
()
{
return
delContact
(
brandContactIds
);
})
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
})
.
catch
(()
=>
{});
},
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
"md/contact/export"
,
{
...
this
.
queryParams
,
},
`contact_
${
new
Date
().
getTime
()}
.xlsx`
);
},
//选择品牌
handleBrandSelect
()
{
this
.
$refs
.
brSelect
.
showFlag
=
true
;
},
onBrandSelected
(
row
)
{
if
(
row
!=
undefined
&&
row
!=
null
)
{
this
.
form
.
brandId
=
row
.
brandId
;
this
.
form
.
brandCode
=
row
.
brandCode
;
this
.
form
.
brandName
=
row
.
brandName
;
this
.
form
.
groupName
=
row
.
groupName
;
this
.
form
.
address
=
row
.
address
;
this
.
form
.
salesContact
=
row
.
salesContact
;
this
.
form
.
devContact
=
row
.
devContact
;
this
.
form
.
background
=
row
.
background
;
this
.
form
.
scope
=
row
.
scope
;
this
.
form
.
potentialProject
=
row
.
potentialProject
;
this
.
form
.
integrityRegulations
=
row
.
integrityRegulations
;
}
},
},
};
</
script
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment