Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
member
Overview
Overview
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
member
member
Commits
0089bfb5
Commit
0089bfb5
authored
Jun 11, 2019
by
caoyanzhi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
实现服务门店和协管门店单独修改的功能
parent
d0b7d99a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
438 additions
and
132 deletions
+438
-132
url.js
src/components/axios/url.js
+2
-1
wechatTotalDetail.js
src/components/wechatmembers/wechatTotalDetail.js
+111
-42
wechatTotalDetail.vue
src/components/wechatmembers/wechatTotalDetail.vue
+107
-24
wechatmemberDetail.js
src/components/wechatmembers/wechatmemberDetail.js
+110
-41
wechatmemberDetail.vue
src/components/wechatmembers/wechatmemberDetail.vue
+108
-24
No files found.
src/components/axios/url.js
View file @
0089bfb5
...
...
@@ -66,7 +66,8 @@ const urlConfig = {
batchUpdateStore
:
'/api-member/batch-update-members-store'
,
// 回收站修改主门店
getStorePicture
:
'/api-member/enterprise-info'
,
// 获取企业配置信息
getReturnMember
:
'/api-member/query-members-page'
,
// 回收站门店
getSubStoreList
:
'api-member/members-sub-store-list'
// 获取选中会员的协管门店
getSubStoreList
:
'api-member/members-sub-store-list'
,
// 获取选中会员的协管门店
updateMemberStore
:
'/api-member/member-load-update-store'
,
// 修改单个会员的服务门店和协管门店
}
const
defaultUrl
=
Object
.
assign
({},
urlConfig
);
...
...
src/components/wechatmembers/wechatTotalDetail.js
View file @
0089bfb5
...
...
@@ -136,19 +136,31 @@ export default {
birthType
:
''
,
memberMainStoreArea
:
""
,
remark
:
""
,
mainStoreId
:
""
,
mainStoreName
:
""
,
storeIds
:
""
,
subStoreIdsBak
:
""
,
//
mainStoreId: "",
//
mainStoreName: "",
//
storeIds: "",
//
subStoreIdsBak: "",
phoneNumber
:
""
,
nationCode
:
86
},
nationCodeList
:
[],
storeIds
:
[],
//
storeIds: [],
storeList
:
[],
dilogBaseVisible
:
false
,
mainstoreList
:
[],
loading
:
false
,
// 修改会员服务门店相关
updateMainStore
:
{
show
:
false
,
mainStoreId
:
''
,
remark
:
''
},
// 修改会员协管门店相关
updateSubStores
:
{
show
:
false
,
storeIds
:
[],
remark
:
''
},
// 这一块的数据真是乱七八糟 都搞不清谁是谁
// 请以后写好注释 完全不想看
systemTags
:
null
,
...
...
@@ -197,6 +209,63 @@ export default {
}
},
methods
:
{
// 修改主门店(修改服务门店)
handleUpdateMainStore
()
{
if
(
!
this
.
updateMainStore
.
mainStoreId
)
{
checkFalse
(
"服务门店不能为空"
);
return
false
;
}
if
(
!
this
.
updateMainStore
.
remark
)
{
checkFalse
(
"备注不能为空"
);
return
false
;
}
const
params
=
{
memberId
:
this
.
memberbaseinfo
.
memberId
,
optType
:
1
,
mainStoreIdBak
:
this
.
memberbaseinfo
.
mainStoreId
,
mainStoreId
:
this
.
updateMainStore
.
mainStoreId
,
remark
:
this
.
updateMainStore
.
remark
,
storeIds
:
''
}
doFetch
(
url
.
updateMemberStore
,
params
).
then
(
res
=>
{
this
.
updateMainStore
.
show
=
false
;
this
.
updateMainStore
.
remark
=
''
;
this
.
updateMainStore
.
storeIds
=
''
;
setTimeout
(
this
.
getBaseDetail
,
500
)
}).
catch
(
err
=>
{
console
.
log
(
err
);
})
},
// 修改协管门店
handleUpdateSubStore
()
{
if
(
!
this
.
updateSubStores
.
storeIds
.
length
>
0
)
{
checkFalse
(
"协管门店不能为空"
);
return
false
;
}
if
(
!
this
.
updateSubStores
.
remark
)
{
checkFalse
(
"备注不能为空"
);
return
false
;
}
const
params
=
{
memberId
:
this
.
memberbaseinfo
.
memberId
,
optType
:
2
,
mainStoreId
:
this
.
memberbaseinfo
.
mainStoreId
,
// 修改之前的协管门店id
subStoreIdsBak
:
''
,
remark
:
this
.
updateSubStores
.
remark
,
storeIds
:
this
.
updateSubStores
.
storeIds
.
join
(
','
)
}
const
shopNames
=
this
.
memberbaseinfo
.
shopNames
||
[];
params
.
subStoreIdsBak
=
shopNames
.
map
(
item
=>
item
.
storeId
).
join
(
','
);
doFetch
(
url
.
updateMemberStore
,
params
).
then
(
res
=>
{
this
.
updateSubStores
.
show
=
false
;
this
.
updateSubStores
.
remark
=
''
;
this
.
updateSubStores
.
storeIds
=
[];
setTimeout
(
this
.
getBaseDetail
,
500
)
}).
catch
(
err
=>
{
console
.
log
(
err
);
})
},
// 集团配置
getEnterpriseInfo
()
{
doFetchqs
(
url
.
enterpriseInfo
).
then
(
res
=>
{
...
...
@@ -269,7 +338,7 @@ export default {
if
(
tagIds
.
length
>
0
)
{
curtagIds
=
tagIds
.
join
(
","
);
}
if
(
!
curtagIds
)
{
this
.
$message
.
warning
(
"至少选择一个手工标签!"
);
return
;
...
...
@@ -403,17 +472,17 @@ export default {
}
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
let
storeIds
=
""
;
if
(
this
.
storeIds
&&
this
.
storeIds
.
length
>
0
)
{
storeIds
=
this
.
storeIds
.
join
(
","
);
}
let
subStoreIdsBak
=
""
;
if
(
this
.
baseForm
.
subStoreIdsBak
&&
this
.
baseForm
.
subStoreIdsBak
.
length
>
0
)
{
subStoreIdsBak
=
this
.
baseForm
.
subStoreIdsBak
.
join
(
","
);
}
//
let storeIds = "";
//
if (this.storeIds && this.storeIds.length > 0) {
//
storeIds = this.storeIds.join(",");
//
}
//
let subStoreIdsBak = "";
//
if (
//
this.baseForm.subStoreIdsBak &&
//
this.baseForm.subStoreIdsBak.length > 0
//
) {
//
subStoreIdsBak = this.baseForm.subStoreIdsBak.join(",");
//
}
let
params
=
{
memberId
:
this
.
memberId
,
memberName
:
this
.
baseForm
.
memberName
,
...
...
@@ -422,9 +491,9 @@ export default {
birthType
:
this
.
baseForm
.
birthType
,
// memberMainStoreArea: this.baseForm.memberMainStoreArea,
remark
:
this
.
baseForm
.
remark
,
mainStoreId
:
this
.
baseForm
.
mainStoreId
,
storeIds
:
storeIds
,
subStoreIdsBak
:
subStoreIdsBak
,
//
mainStoreId: this.baseForm.mainStoreId,
//
storeIds: storeIds,
//
subStoreIdsBak: subStoreIdsBak,
phoneNumber
:
this
.
baseForm
.
phoneNumber
,
nationCode
:
this
.
baseForm
.
nationCode
};
...
...
@@ -518,30 +587,30 @@ export default {
birthType
:
this
.
memberbaseinfo
.
birthType
,
memberMainStoreArea
:
this
.
memberbaseinfo
.
memberMainStoreArea
,
remark
:
this
.
memberbaseinfo
.
remark
,
mainStoreId
:
this
.
memberbaseinfo
.
mainStoreId
,
mainStoreName
:
this
.
memberbaseinfo
.
mainStoreName
,
//
mainStoreId: this.memberbaseinfo.mainStoreId,
//
mainStoreName: this.memberbaseinfo.mainStoreName,
phoneNumber
:
this
.
memberbaseinfo
.
phoneNumber
,
nationCode
:
this
.
memberbaseinfo
.
nationCode
};
if
(
this
.
memberbaseinfo
.
mainStoreId
)
{
this
.
mainstoreList
=
[
{
storeId
:
this
.
memberbaseinfo
.
mainStoreId
,
storeName
:
this
.
memberbaseinfo
.
mainStoreName
}
];
}
if
(
this
.
memberbaseinfo
.
shopNames
&&
this
.
memberbaseinfo
.
shopNames
.
length
>
0
)
{
this
.
storeList
=
this
.
memberbaseinfo
.
shopNames
;
let
storeIds
=
this
.
memberbaseinfo
.
shopNames
.
map
(
item
=>
{
return
item
.
storeId
;
});
this
.
storeIds
=
storeIds
;
this
.
baseForm
.
subStoreIdsBak
=
JSON
.
parse
(
JSON
.
stringify
(
storeIds
));
}
//
if (this.memberbaseinfo.mainStoreId) {
//
this.mainstoreList = [
//
{
//
storeId: this.memberbaseinfo.mainStoreId,
//
storeName: this.memberbaseinfo.mainStoreName
//
}
//
];
//
}
//
if (
//
this.memberbaseinfo.shopNames &&
//
this.memberbaseinfo.shopNames.length > 0
//
) {
//
this.storeList = this.memberbaseinfo.shopNames;
//
let storeIds = this.memberbaseinfo.shopNames.map(item => {
//
return item.storeId;
//
});
//
this.storeIds = storeIds;
//
this.baseForm.subStoreIdsBak = JSON.parse(JSON.stringify(storeIds));
//
}
},
submitGrade
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
...
...
@@ -670,7 +739,7 @@ export default {
memberId
:
this
.
memberId
})
.
then
(
res
=>
{
if
(
res
.
data
.
errorCode
===
0
)
{
const
data
=
res
.
data
.
result
;
this
.
systemTags
=
res
.
data
.
result
.
systemTags
||
[];
...
...
src/components/wechatmembers/wechatTotalDetail.vue
View file @
0089bfb5
...
...
@@ -71,17 +71,26 @@
<p><span
class=
"label-span"
>
常驻城市
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
memberMainStoreArea
|
fomatText
}}
</span></p>
<p><span
class=
"label-span"
>
手机号码
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
phoneNumber
|
fomatText
}}
</span></p>
<p><span
class=
"label-span"
>
退订状态
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
unsubscribe
==
1
?
'退订'
:
memberbaseinfo
.
unsubscribe
==
0
?
'未退订'
:
'--'
}}
</span></p>
<p><span
class=
"label-span"
>
服务门店
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
mainStoreName
|
fomatText
}}
</span></p>
<p><span
class=
"label-span"
>
服务门店
</span>
<span>
<el-tooltip
v-if=
"memberbaseinfo.mainStoreName"
>
<div
slot=
"content"
style=
"max-width: 300px"
>
{{
memberbaseinfo
.
mainStoreName
|
fomatText
}}
</div>
<span
class=
"ml15 color555 shop-name"
>
{{
memberbaseinfo
.
mainStoreName
|
fomatText
}}
</span>
</el-tooltip>
<i
class=
"iconfont icon-bianji pointer"
@
click=
"updateMainStore.show = true"
></i>
</span>
</p>
<p><span
class=
"label-span"
>
专属导购
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
mainClerkName
|
fomatText
}}
</span></p>
<p><span
class=
"label-span"
>
协管门店
</span>
<el-tooltip
placement=
"bottom"
>
<div
slot=
"content"
>
<el-tooltip
placement=
"bottom"
v-if=
"memberbaseinfo.shopNames"
>
<div
slot=
"content"
style=
"max-width: 300px"
>
<div
v-if=
"memberbaseinfo.shopNames"
v-for=
"(item, index) in memberbaseinfo.shopNames"
:key=
"index"
>
{{
item
.
storeName
}}
</div>
</div>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
shopNames
?
memberbaseinfo
.
shopNames
[
0
].
storeName
:
''
}}
<span
class=
"shop-name"
>
{{
memberbaseinfo
.
shopNames
?
memberbaseinfo
.
shopNames
[
0
].
storeName
:
''
}}
</span>
</span>
</el-tooltip>
<i
class=
"iconfont icon-bianji pointer"
@
click=
"updateSubStores.show = true"
></i>
</p>
<div
class=
"mBottom20 talign"
><el-button
@
click=
"eidtBaseInfo"
>
编辑基本信息
</el-button></div>
</div>
...
...
@@ -505,27 +514,27 @@
</el-col>
</el-row>
<el-row
>
<el-col
:span=
"22"
>
<el-form-item
label-width=
"100px"
label=
"服务门店"
prop=
"mainStoreName"
>
<el-select
style=
"width: 100%"
v-model=
"baseForm.mainStoreId"
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"handleKeyup"
:loading=
"loading"
>
<el-option
v-for=
"item in mainstoreList"
:key=
"item.storeId"
:label=
"item.storeName"
:value=
"item.storeId"
></el-option
>
</el-select
>
</el-form-item
>
</el-col
>
</el-row
>
<!-- <el-row>--
>
<!-- <el-col :span="22">--
>
<!-- <el-form-item label-width="100px" label="服务门店" prop="mainStoreName">--
>
<!-- <el-select style="width: 100%" v-model="baseForm.mainStoreId" filterable remote reserve-keyword placeholder="请输入关键词"-->
<!-- :remote-method="handleKeyup" :loading="loading">--
>
<!-- <el-option v-for="item in mainstoreList" :key="item.storeId" :label="item.storeName" :value="item.storeId"></el-option>--
>
<!-- </el-select>--
>
<!-- </el-form-item>--
>
<!-- </el-col>--
>
<!-- </el-row>--
>
<el-row
>
<el-col
:span=
"22"
>
<el-form-item
label-width=
"100px"
label=
"协管门店"
>
<el-select
style=
"width: 100%;"
v-model=
"storeIds"
multiple
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"handleStoreKeyup"
:loading=
"loading"
>
<el-option
v-for=
"item in storeList"
:key=
"item.storeId"
:label=
"item.storeName"
:value=
"item.storeId"
></el-option
>
</el-select
>
</el-form-item
>
</el-col
>
</el-row
>
<!-- <el-row>--
>
<!-- <el-col :span="22">--
>
<!-- <el-form-item label-width="100px" label="协管门店">--
>
<!-- <el-select style="width: 100%;" v-model="storeIds" multiple filterable remote reserve-keyword placeholder="请输入关键词"-->
<!-- :remote-method="handleStoreKeyup" :loading="loading">--
>
<!-- <el-option v-for="item in storeList" :key="item.storeId" :label="item.storeName" :value="item.storeId"></el-option>--
>
<!-- </el-select>--
>
<!-- </el-form-item>--
>
<!-- </el-col>--
>
<!-- </el-row>--
>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label-width=
"100px"
label=
"原因备注"
prop=
"remark"
:rules=
"[{ required: true}]"
>
...
...
@@ -577,6 +586,71 @@
<el-button
type=
"primary"
@
click=
"handlerUpdateRemark('formRemark')"
>
确 定
</el-button>
</div>
</el-dialog>
<el-dialog
title=
"会员服务门店修改"
:visible
.
sync=
"updateMainStore.show"
>
<el-form>
<el-form-item
label-width=
"100px"
label=
"服务门店"
:rules=
"[{ required: true }]"
>
<el-select
style=
"width: 100%"
v-model=
"updateMainStore.mainStoreId"
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"handleKeyup"
:loading=
"loading"
>
<el-option
v-for=
"item in mainstoreList"
:key=
"item.storeId"
:label=
"item.storeName"
:value=
"item.storeId"
/>
</el-select>
</el-form-item>
<el-form-item
label-width=
"100px"
label=
"备注"
:rules=
"[{ required: true }]"
>
<gic-textarea
:max=
"100"
v-model=
"updateMainStore.remark"
></gic-textarea>
</el-form-item>
<el-form-item>
<div
class=
"foot-btn"
>
<el-button
@
click=
"updateMainStore.show = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleUpdateMainStore"
>
确 定
</el-button>
</div>
</el-form-item>
</el-form>
</el-dialog>
<el-dialog
title=
"会员协管门店修改"
:visible
.
sync=
"updateSubStores.show"
>
<el-form>
<el-form-item
label-width=
"100px"
label=
"协管门店"
:rules=
"[{ required: true }]"
>
<el-select
style=
"width: 100%;"
v-model=
"updateSubStores.storeIds"
multiple
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"handleStoreKeyup"
:loading=
"loading"
>
<el-option
v-for=
"item in storeList"
:key=
"item.storeId"
:label=
"item.storeName"
:value=
"item.storeId"
/>
</el-select>
</el-form-item>
<el-form-item
label-width=
"100px"
label=
"备注"
:rules=
"[{ required: true }]"
>
<gic-textarea
:max=
"100"
v-model=
"updateSubStores.remark"
></gic-textarea>
</el-form-item>
<el-form-item>
<div
class=
"foot-btn"
>
<el-button
@
click=
"updateSubStores.show = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleUpdateSubStore"
>
确 定
</el-button>
</div>
</el-form-item>
</el-form>
</el-dialog>
<!--修改导购备注-end-->
<vue-gic-footer></vue-gic-footer>
</div>
...
...
@@ -598,6 +672,15 @@ export default { ...wechatTotalDetail }
&
-left
flex
0
0
260px
width
260px
.
shop-name
display
inline-block
vertical-align
middle
padding-bottom
3px
max-width
75px
line-height
normal
overflow
hidden
white-space
nowrap
text-overflow
ellipsis
&
-right
flex
1
&
-content
...
...
src/components/wechatmembers/wechatmemberDetail.js
View file @
0089bfb5
...
...
@@ -136,19 +136,31 @@ export default {
birthType
:
''
,
memberMainStoreArea
:
""
,
remark
:
""
,
mainStoreId
:
""
,
mainStoreName
:
""
,
storeIds
:
""
,
subStoreIdsBak
:
""
,
//
mainStoreId: "",
//
mainStoreName: "",
//
storeIds: "",
//
subStoreIdsBak: "",
phoneNumber
:
""
,
nationCode
:
86
},
nationCodeList
:
[],
storeIds
:
[],
//
storeIds: [],
storeList
:
[],
dilogBaseVisible
:
false
,
mainstoreList
:
[],
loading
:
false
,
// 修改会员服务门店相关
updateMainStore
:
{
show
:
false
,
mainStoreId
:
''
,
remark
:
''
},
// 修改会员协管门店相关
updateSubStores
:
{
show
:
false
,
storeIds
:
[],
remark
:
''
},
// 这一块的数据真是乱七八糟 都搞不清谁是谁
// 请以后写好注释 完全不想看
systemTags
:
null
,
...
...
@@ -197,6 +209,63 @@ export default {
}
},
methods
:
{
// 修改主门店(修改服务门店)
handleUpdateMainStore
()
{
if
(
!
this
.
updateMainStore
.
mainStoreId
)
{
checkFalse
(
"服务门店不能为空"
);
return
false
;
}
if
(
!
this
.
updateMainStore
.
remark
)
{
checkFalse
(
"备注不能为空"
);
return
false
;
}
const
params
=
{
memberId
:
this
.
memberbaseinfo
.
memberId
,
optType
:
1
,
mainStoreIdBak
:
this
.
memberbaseinfo
.
mainStoreId
,
mainStoreId
:
this
.
updateMainStore
.
mainStoreId
,
remark
:
this
.
updateMainStore
.
remark
,
storeIds
:
''
}
doFetch
(
url
.
updateMemberStore
,
params
).
then
(
res
=>
{
this
.
updateMainStore
.
show
=
false
;
this
.
updateMainStore
.
remark
=
''
;
this
.
updateMainStore
.
storeIds
=
''
;
setTimeout
(
this
.
getBaseDetail
,
500
)
}).
catch
(
err
=>
{
console
.
log
(
err
);
})
},
// 修改协管门店
handleUpdateSubStore
()
{
if
(
!
this
.
updateSubStores
.
storeIds
.
length
>
0
)
{
checkFalse
(
"协管门店不能为空"
);
return
false
;
}
if
(
!
this
.
updateSubStores
.
remark
)
{
checkFalse
(
"备注不能为空"
);
return
false
;
}
const
params
=
{
memberId
:
this
.
memberbaseinfo
.
memberId
,
optType
:
2
,
mainStoreId
:
this
.
memberbaseinfo
.
mainStoreId
,
// 修改之前的协管门店id
subStoreIdsBak
:
''
,
remark
:
this
.
updateSubStores
.
remark
,
storeIds
:
this
.
updateSubStores
.
storeIds
.
join
(
','
)
}
const
shopNames
=
this
.
memberbaseinfo
.
shopNames
||
[];
params
.
subStoreIdsBak
=
shopNames
.
map
(
item
=>
item
.
storeId
).
join
(
','
);
doFetch
(
url
.
updateMemberStore
,
params
).
then
(
res
=>
{
this
.
updateSubStores
.
show
=
false
;
this
.
updateSubStores
.
remark
=
''
;
this
.
updateSubStores
.
storeIds
=
[];
setTimeout
(
this
.
getBaseDetail
,
500
)
}).
catch
(
err
=>
{
console
.
log
(
err
);
})
},
// 集团配置
getEnterpriseInfo
()
{
doFetchqs
(
url
.
enterpriseInfo
).
then
(
res
=>
{
...
...
@@ -269,7 +338,7 @@ export default {
if
(
tagIds
.
length
>
0
)
{
curtagIds
=
tagIds
.
join
(
","
);
}
if
(
!
curtagIds
)
{
this
.
$message
.
warning
(
"至少选择一个手工标签!"
);
return
;
...
...
@@ -404,17 +473,17 @@ export default {
}
this
.
$refs
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
let
storeIds
=
""
;
if
(
this
.
storeIds
&&
this
.
storeIds
.
length
>
0
)
{
storeIds
=
this
.
storeIds
.
join
(
","
);
}
let
subStoreIdsBak
=
""
;
if
(
this
.
baseForm
.
subStoreIdsBak
&&
this
.
baseForm
.
subStoreIdsBak
.
length
>
0
)
{
subStoreIdsBak
=
this
.
baseForm
.
subStoreIdsBak
.
join
(
","
);
}
//
let storeIds = "";
//
if (this.storeIds && this.storeIds.length > 0) {
//
storeIds = this.storeIds.join(",");
//
}
//
let subStoreIdsBak = "";
//
if (
//
this.baseForm.subStoreIdsBak &&
//
this.baseForm.subStoreIdsBak.length > 0
//
) {
//
subStoreIdsBak = this.baseForm.subStoreIdsBak.join(",");
//
}
let
params
=
{
memberId
:
this
.
memberId
,
memberName
:
this
.
baseForm
.
memberName
,
...
...
@@ -423,9 +492,9 @@ export default {
birthType
:
this
.
baseForm
.
birthType
===
''
?
1
:
this
.
baseForm
.
birthType
,
// memberMainStoreArea: this.baseForm.memberMainStoreArea,
remark
:
this
.
baseForm
.
remark
,
mainStoreId
:
this
.
baseForm
.
mainStoreId
,
storeIds
:
storeIds
,
subStoreIdsBak
:
subStoreIdsBak
,
//
mainStoreId: this.baseForm.mainStoreId,
//
storeIds: storeIds,
//
subStoreIdsBak: subStoreIdsBak,
phoneNumber
:
this
.
baseForm
.
phoneNumber
,
nationCode
:
this
.
baseForm
.
nationCode
};
...
...
@@ -519,30 +588,30 @@ export default {
birthType
:
this
.
memberbaseinfo
.
birthType
,
memberMainStoreArea
:
this
.
memberbaseinfo
.
memberMainStoreArea
,
remark
:
this
.
memberbaseinfo
.
remark
,
mainStoreId
:
this
.
memberbaseinfo
.
mainStoreId
,
mainStoreName
:
this
.
memberbaseinfo
.
mainStoreName
,
//
mainStoreId: this.memberbaseinfo.mainStoreId,
//
mainStoreName: this.memberbaseinfo.mainStoreName,
phoneNumber
:
this
.
memberbaseinfo
.
phoneNumber
,
nationCode
:
this
.
memberbaseinfo
.
nationCode
};
if
(
this
.
memberbaseinfo
.
mainStoreId
)
{
this
.
mainstoreList
=
[
{
storeId
:
this
.
memberbaseinfo
.
mainStoreId
,
storeName
:
this
.
memberbaseinfo
.
mainStoreName
}
];
}
if
(
this
.
memberbaseinfo
.
shopNames
&&
this
.
memberbaseinfo
.
shopNames
.
length
>
0
)
{
this
.
storeList
=
this
.
memberbaseinfo
.
shopNames
;
let
storeIds
=
this
.
memberbaseinfo
.
shopNames
.
map
(
item
=>
{
return
item
.
storeId
;
});
this
.
storeIds
=
storeIds
;
this
.
baseForm
.
subStoreIdsBak
=
JSON
.
parse
(
JSON
.
stringify
(
storeIds
));
}
//
if (this.memberbaseinfo.mainStoreId) {
//
this.mainstoreList = [
//
{
//
storeId: this.memberbaseinfo.mainStoreId,
//
storeName: this.memberbaseinfo.mainStoreName
//
}
//
];
//
}
//
if (
//
this.memberbaseinfo.shopNames &&
//
this.memberbaseinfo.shopNames.length > 0
//
) {
//
this.storeList = this.memberbaseinfo.shopNames;
//
let storeIds = this.memberbaseinfo.shopNames.map(item => {
//
return item.storeId;
//
});
//
this.storeIds = storeIds;
//
this.baseForm.subStoreIdsBak = JSON.parse(JSON.stringify(storeIds));
//
}
},
submitGrade
(
formName
)
{
this
.
$refs
[
formName
].
validate
(
valid
=>
{
...
...
src/components/wechatmembers/wechatmemberDetail.vue
View file @
0089bfb5
...
...
@@ -71,17 +71,27 @@
<p><span
class=
"label-span"
>
常驻城市
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
memberMainStoreArea
|
fomatText
}}
</span></p>
<p><span
class=
"label-span"
>
手机号码
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
phoneNumber
|
fomatText
}}
</span></p>
<p><span
class=
"label-span"
>
退订状态
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
unsubscribe
==
1
?
'退订'
:
memberbaseinfo
.
unsubscribe
==
0
?
'未退订'
:
'--'
}}
</span></p>
<p><span
class=
"label-span"
>
服务门店
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
mainStoreName
|
fomatText
}}
</span></p>
<p>
<span
class=
"label-span"
>
服务门店
</span>
<span>
<el-tooltip
v-if=
"memberbaseinfo.mainStoreName"
>
<div
slot=
"content"
style=
"max-width: 300px"
>
{{
memberbaseinfo
.
mainStoreName
|
fomatText
}}
</div>
<span
class=
"ml15 color555 shop-name"
>
{{
memberbaseinfo
.
mainStoreName
|
fomatText
}}
</span>
</el-tooltip>
<i
class=
"iconfont icon-bianji pointer"
@
click=
"updateMainStore.show = true"
></i>
</span>
</p>
<p><span
class=
"label-span"
>
专属导购
</span>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
mainClerkName
|
fomatText
}}
</span></p>
<p><span
class=
"label-span"
>
协管门店
</span>
<el-tooltip
placement=
"bottom"
>
<div
slot=
"content"
>
<el-tooltip
placement=
"bottom"
v-if=
"memberbaseinfo.shopNames"
>
<div
slot=
"content"
style=
"max-width: 300px"
>
<div
v-if=
"memberbaseinfo.shopNames"
v-for=
"(item, index) in memberbaseinfo.shopNames"
:key=
"index"
>
{{
item
.
storeName
}}
</div>
</div>
<span
class=
"ml15 color555"
>
{{
memberbaseinfo
.
shopNames
?
memberbaseinfo
.
shopNames
[
0
].
storeName
:
''
}}
<span
class=
"shop-name"
>
{{
memberbaseinfo
.
shopNames
?
memberbaseinfo
.
shopNames
[
0
].
storeName
:
''
}}
</span>
</span>
</el-tooltip>
<i
class=
"iconfont icon-bianji pointer"
@
click=
"updateSubStores.show = true"
></i>
</p>
<div
class=
"mBottom20 talign"
><el-button
@
click=
"eidtBaseInfo"
>
编辑基本信息
</el-button></div>
</div>
...
...
@@ -505,27 +515,27 @@
</el-col>
</el-row>
<el-row
>
<el-col
:span=
"22"
>
<el-form-item
label-width=
"100px"
label=
"服务门店"
prop=
"mainStoreName"
>
<el-select
style=
"width: 100%"
v-model=
"baseForm.mainStoreId"
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"handleKeyup"
:loading=
"loading"
>
<el-option
v-for=
"item in mainstoreList"
:key=
"item.storeId"
:label=
"item.storeName"
:value=
"item.storeId"
></el-option
>
</el-select
>
</el-form-item
>
</el-col
>
</el-row
>
<!-- <el-row>--
>
<!-- <el-col :span="22">--
>
<!-- <el-form-item label-width="100px" label="服务门店" prop="mainStoreName">--
>
<!-- <el-select style="width: 100%" v-model="baseForm.mainStoreId" filterable remote reserve-keyword placeholder="请输入关键词"-->
<!-- :remote-method="handleKeyup" :loading="loading">--
>
<!-- <el-option v-for="item in mainstoreList" :key="item.storeId" :label="item.storeName" :value="item.storeId"></el-option>--
>
<!-- </el-select>--
>
<!-- </el-form-item>--
>
<!-- </el-col>--
>
<!-- </el-row>--
>
<el-row
>
<el-col
:span=
"22"
>
<el-form-item
label-width=
"100px"
label=
"协管门店"
>
<el-select
style=
"width: 100%;"
v-model=
"storeIds"
multiple
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"handleStoreKeyup"
:loading=
"loading"
>
<el-option
v-for=
"item in storeList"
:key=
"item.storeId"
:label=
"item.storeName"
:value=
"item.storeId"
></el-option
>
</el-select
>
</el-form-item
>
</el-col
>
</el-row
>
<!-- <el-row>--
>
<!-- <el-col :span="22">--
>
<!-- <el-form-item label-width="100px" label="协管门店">--
>
<!-- <el-select style="width: 100%;" v-model="storeIds" multiple filterable remote reserve-keyword placeholder="请输入关键词"-->
<!-- :remote-method="handleStoreKeyup" :loading="loading">--
>
<!-- <el-option v-for="item in storeList" :key="item.storeId" :label="item.storeName" :value="item.storeId"></el-option>--
>
<!-- </el-select>--
>
<!-- </el-form-item>--
>
<!-- </el-col>--
>
<!-- </el-row>--
>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label-width=
"100px"
label=
"原因备注"
prop=
"remark"
:rules=
"[{ required: true}]"
>
...
...
@@ -577,6 +587,71 @@
<el-button
type=
"primary"
@
click=
"handlerUpdateRemark('formRemark')"
>
确 定
</el-button>
</div>
</el-dialog>
<el-dialog
title=
"会员服务门店修改"
:visible
.
sync=
"updateMainStore.show"
>
<el-form>
<el-form-item
label-width=
"100px"
label=
"服务门店"
:rules=
"[{ required: true }]"
>
<el-select
style=
"width: 100%"
v-model=
"updateMainStore.mainStoreId"
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"handleKeyup"
:loading=
"loading"
>
<el-option
v-for=
"item in mainstoreList"
:key=
"item.storeId"
:label=
"item.storeName"
:value=
"item.storeId"
/>
</el-select>
</el-form-item>
<el-form-item
label-width=
"100px"
label=
"备注"
:rules=
"[{ required: true }]"
>
<gic-textarea
:max=
"100"
v-model=
"updateMainStore.remark"
></gic-textarea>
</el-form-item>
<el-form-item>
<div
class=
"foot-btn"
>
<el-button
@
click=
"updateMainStore.show = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleUpdateMainStore"
>
确 定
</el-button>
</div>
</el-form-item>
</el-form>
</el-dialog>
<el-dialog
title=
"会员协管门店修改"
:visible
.
sync=
"updateSubStores.show"
>
<el-form>
<el-form-item
label-width=
"100px"
label=
"协管门店"
:rules=
"[{ required: true }]"
>
<el-select
style=
"width: 100%;"
v-model=
"updateSubStores.storeIds"
multiple
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"handleStoreKeyup"
:loading=
"loading"
>
<el-option
v-for=
"item in storeList"
:key=
"item.storeId"
:label=
"item.storeName"
:value=
"item.storeId"
/>
</el-select>
</el-form-item>
<el-form-item
label-width=
"100px"
label=
"备注"
:rules=
"[{ required: true }]"
>
<gic-textarea
:max=
"100"
v-model=
"updateSubStores.remark"
></gic-textarea>
</el-form-item>
<el-form-item>
<div
class=
"foot-btn"
>
<el-button
@
click=
"updateSubStores.show = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleUpdateSubStore"
>
确 定
</el-button>
</div>
</el-form-item>
</el-form>
</el-dialog>
<!--修改导购备注-end-->
<vue-gic-footer></vue-gic-footer>
</div>
...
...
@@ -598,6 +673,15 @@ export default { ...wechatmemberDetail }
&
-left
flex
0
0
260px
width
260px
.
shop-name
display
inline-block
vertical-align
middle
padding-bottom
3px
max-width
75px
line-height
normal
overflow
hidden
white-space
nowrap
text-overflow
ellipsis
&
-right
flex
1
&
-content
...
...
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