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
60ba67f3
Commit
60ba67f3
authored
Dec 14, 2021
by
liuchenxi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update: code埋点
parent
a501c482
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
141 additions
and
27 deletions
+141
-27
authCode.js
config/authCode.js
+76
-0
allCustomersList.vue
src/components/allCustomers/allCustomersList.vue
+14
-10
customerDetail.vue
src/components/allCustomers/customerDetail.vue
+5
-5
index.js
src/components/allCustomers/index.js
+6
-4
info.js
src/components/allCustomers/info.js
+2
-0
abnormal-member.vue
src/components/wechatmembers/abnormal-member.vue
+7
-2
cardvoucher.vue
src/components/wechatmembers/cardvoucher.vue
+6
-2
frozenList.vue
src/components/wechatmembers/frozenList.vue
+8
-1
integralDataPage.vue
src/components/wechatmembers/integralDataPage.vue
+4
-2
main.js
src/main.js
+3
-1
auth.js
src/mixins/auth.js
+10
-0
No files found.
config/authCode.js
0 → 100644
View file @
60ba67f3
const
authCode
=
{
memberBatchSetIntegral
:
{
// 有逻辑判断
type
:
0
,
code
:
"memberBatchSetIntegral"
},
memberBatchSetGrade
:
{
type
:
0
,
code
:
"memberBatchSetGrade"
},
memberBatchSetService
:
{
type
:
0
,
code
:
"memberBatchSetService"
},
memberBatchSetCustomer
:
{
type
:
0
,
code
:
"memberBatchSetCustomer"
},
memberBatchImport
:
{
type
:
0
,
code
:
"memberBatchImport"
},
memberIntoCustomDetail
:
{
type
:
1
,
code
:
"memberIntoCustomDetail"
,
url
:
'/member/#/customerDetail'
},
memberEditInfo
:
{
// 有section.name==='basic'
type
:
0
,
code
:
"memberEditInfo"
},
memberEditManualTag
:
{
type
:
0
,
code
:
"memberEditManualTag"
},
memberEditGrade
:
{
// 有memberInfo.gradeName存在
type
:
0
,
code
:
"memberEditGrade"
},
memberAdjustIntegral
:
{
// showHandleScoreBtn存在
type
:
1
,
code
:
"memberAdjustIntegral"
,
url
:
'/member/#/modifyintegral'
},
memberCardDestory
:
{
type
:
0
,
code
:
'memberCardDestory'
},
memberCardWriteOff
:
{
// scope.row.status === 4
type
:
0
,
code
:
'memberCardWriteOff'
},
memberFrozenMember
:
{
type
:
1
,
code
:
'memberFrozenMember'
,
url
:
'/member/#/frozenList/frozenMember'
},
memberCleanFrozen
:
{
type
:
0
,
code
:
'memberCleanFrozen'
},
memberBatchCleanFrozen
:
{
type
:
0
,
code
:
'memberBatchCleanFrozen'
},
memberFrozenNovelMember
:
{
type
:
1
,
code
:
'memberFrozenNovelMember'
,
url
:
'/member/#/abnormal-member-option'
},
memberFrozen
:
{
type
:
0
,
code
:
'memberFrozen'
},
};
export
default
authCode
;
src/components/allCustomers/allCustomersList.vue
View file @
60ba67f3
...
...
@@ -52,7 +52,7 @@
<
/el-option
>
<
/el-select
>
<
el
-
button
type
=
"text"
@
click
=
"showSearch = !showSearch"
class
=
"senior-search"
>
高级搜索
<
i
高级搜索
{{
getCodeAuth
(
'memberBatchSetIntegral'
)
}}
<
i
:
class
=
"showSearch ? 'el-icon-d-arrow-left' : 'el-icon-d-arrow-right'"
/>
<
/el-button
>
...
...
@@ -70,14 +70,18 @@
key
=
"integral"
label
=
"调整积分"
value
=
"integral"
v
-
if
=
"showHandleScoreBtn"
/>
<
el
-
option
:
key
=
"item.value"
v
-
for
=
"item in batchOpt"
:
label
=
"item.label"
:
value
=
"item.value"
:
limit
-
code
=
"getCode('memberBatchSetIntegral')"
v
-
if
=
"showHandleScoreBtn && getCodeAuth('memberBatchSetIntegral')"
/>
<
template
v
-
for
=
"item in batchOpt"
>
<
el
-
option
v
-
if
=
"getCodeAuth(item.code)"
:
key
=
"item.value"
:
label
=
"item.label"
:
limit
-
code
=
"getCode(item.code)"
:
value
=
"item.value"
/>
<
/template
>
<
/el-select
>
<
el
-
popover
placement
=
"top-start"
...
...
@@ -227,13 +231,13 @@
<
/template
>
<
/el-table-column
>
<
/template
>
<
el
-
table
-
column
width
=
"150"
fixed
=
"right"
label
-
class
-
name
=
"setting-cell"
>
<
el
-
table
-
column
width
=
"150"
fixed
=
"right"
label
-
class
-
name
=
"setting-cell"
v
-
if
=
"getCodeAuth('memberIntoCustomDetail')"
>
<
template
slot
=
"header"
>
<
span
>
操作
<
/span
>
<
i
class
=
"el-icon-setting"
@
click
=
"dialogFieldVisible=true"
/>
<
/template
>
<
template
slot
-
scope
=
"{row
}
"
>
<
el
-
button
type
=
"text"
@
click
=
"linkDetail(row.memberId)"
>
<
el
-
button
type
=
"text"
@
click
=
"linkDetail(row.memberId)"
:
limit
-
code
=
"getCode('memberIntoCustomDetail')"
>
查看
<
/el-button
>
<
/template
>
...
...
src/components/allCustomers/customerDetail.vue
View file @
60ba67f3
...
...
@@ -7,7 +7,7 @@
<h2
class=
"item-title"
>
<i
class=
"vertical-line"
/><span>
{{
section
.
title
}}
</span>
</h2>
<el-button
type=
"text"
v-if=
"section.name==='basic'
"
@
click=
"baseinfoDialogVisible=true
"
>
<el-button
type=
"text"
v-if=
"section.name==='basic'
&& getCodeAuth('memberEditInfo')"
@
click=
"baseinfoDialogVisible=true"
:limit-code=
"getCode('memberEditInfo')
"
>
编辑
</el-button>
</div>
...
...
@@ -159,19 +159,19 @@
</el-descriptions-item>
<el-descriptions-item
label=
"商户会员等级:"
>
{{ memberInfo.gradeName||'--' }}
<
template
v-if=
"memberInfo.gradeName"
>
<
template
v-if=
"memberInfo.gradeName
&& getCodeAuth('memberEditGrade')
"
>
<el-popconfirm
v-if=
"memberInfo.erpCalcGrade"
popper-class=
"grade-confirm-wrap"
placement=
"top"
width=
"184"
@
confirm=
"gradeDialogVisible=true"
confirm-button-text=
"继续修改"
title=
"等级由ERP计算,建议前往ERP修改等级,以确保双方等级一致"
>
<el-tooltip
slot=
"reference"
class=
"item"
effect=
"dark"
open-delay=
"200"
content=
"编辑商户会员等级"
placement=
"top-start"
>
<span
class=
"edit-span"
><i
class=
"el-icon-edit"
/></span>
<span
class=
"edit-span"
><i
class=
"el-icon-edit"
:limit-code=
"getCode('memberEditGrade')"
/></span>
</el-tooltip>
</el-popconfirm>
<el-tooltip
v-else
class=
"item"
effect=
"dark"
open-delay=
"200"
content=
"编辑商户会员等级"
placement=
"top-start"
>
<span
class=
"edit-span"
@
click=
"gradeDialogVisible=true"
><i
class=
"el-icon-edit"
/></span>
class=
"el-icon-edit"
:limit-code=
"getCode('memberEditGrade')"
/></span>
</el-tooltip>
</
template
>
</el-descriptions-item>
...
...
@@ -344,7 +344,7 @@
<!-- 手工标签 -->
<el-tab-pane
label=
"手工标签"
name=
"tag"
>
<div
style=
"padding:0 0 23px;text-align: right;"
>
<el-button
type=
"text"
@
click=
"labelDialogVisible=true
"
>
<el-button
type=
"text"
v-if=
"getCodeAuth('memberEditManualTag')"
@
click=
"labelDialogVisible=true"
:limit-code=
"getCode('memberEditManualTag')
"
>
编辑手工标签
</el-button>
</div>
...
...
src/components/allCustomers/index.js
View file @
60ba67f3
...
...
@@ -10,6 +10,7 @@ import url from "../../components/axios/url";
import
{
mapState
}
from
"vuex"
;
import
{
formatLongTime
,
paddingBorth
}
from
"@/utils/utils"
;
import
defaultImg
from
"../../../static/img/default.png"
;
import
authMethods
from
'@/mixins/auth'
;
import
{
checkFalse
,
checkStatus
,
...
...
@@ -58,10 +59,10 @@ export default {
selectAll
:
false
,
// 列表全选开关
batchOpt
:
[
// 批处理选项
{
value
:
"grade"
,
label
:
"修改等级"
},
{
value
:
"mainstore"
,
label
:
"修改服务门店"
},
{
value
:
"store"
,
label
:
"修改协管门店"
},
{
value
:
"batchImport"
,
label
:
"批量导入"
}
{
value
:
"grade"
,
label
:
"修改等级"
,
code
:
"memberBatchSetGrade"
},
{
value
:
"mainstore"
,
label
:
"修改服务门店"
,
code
:
"memberBatchSetService"
},
{
value
:
"store"
,
label
:
"修改协管门店"
,
code
:
"memberBatchSetCustomer"
},
{
value
:
"batchImport"
,
label
:
"批量导入"
,
code
:
"memberBatchImport"
}
],
isdot
:
false
,
// 批量处理记录标记
processList
:
[],
// 批量处理记录
...
...
@@ -99,6 +100,7 @@ export default {
}
};
},
mixins
:
[
authMethods
],
components
:
{
NavPath
,
tableColumDailog
,
...
...
src/components/allCustomers/info.js
View file @
60ba67f3
...
...
@@ -9,6 +9,7 @@ import defaultImg from '../../../static/img/default.png';
import
{
mapState
}
from
'vuex'
;
import
url
from
'../../components/axios/url'
;
import
{
doFetch
,
doFetchqs
}
from
'../../components/axios/api'
;
import
authMethods
from
'@/mixins/auth'
;
import
{
checkFalse
,
checkStatus
,
...
...
@@ -16,6 +17,7 @@ import {
}
from
'../../../static/js/checkStatus'
;
export
default
{
name
:
'customersDetail'
,
mixins
:
[
authMethods
],
data
()
{
return
{
navpath
:
[
...
...
src/components/wechatmembers/abnormal-member.vue
View file @
60ba67f3
...
...
@@ -77,6 +77,8 @@
<router-link
to=
"/abnormal-member-option"
class=
"el-button el-button--primary"
:limit-code=
'getCode("memberFrozenNovelMember")'
v-if=
'getCodeAuth("memberFrozenNovelMember")'
>
冻结会员
</router-link>
</div>
</div>
...
...
@@ -251,6 +253,8 @@
<el-button
type=
"text"
@
click=
"unFrozenItem(scope.$index, scope.row.frozenStatus)"
:limit-code=
'getCode("memberFrozen")'
v-if=
'getCodeAuth("memberFrozen")'
>
{{
scope
.
row
.
frozenStatus
==
2
?
'解冻'
:
'冻结'
}}
</el-button>
</
template
>
</el-table-column>
...
...
@@ -288,12 +292,13 @@ import { formatLongTime } from "@/utils/utils";
import
url
from
"@/components/axios/url"
;
import
{
mapState
}
from
"vuex"
;
import
{
checkFalse
,
checkStatus
}
from
'../../../static/js/checkStatus'
;
import
authMethods
from
'@/mixins/auth'
;
export
default
{
name
:
"forzenlist"
,
components
:
{
NavPath
},
mixins
:
[
authMethods
],
filters
:
{
formatDate
(
val
,
format
)
{
if
(
!
val
)
return
'--'
;
...
...
@@ -711,7 +716,7 @@ export default {
}
}
}
.basic-info-table
{
.basic-img
{
...
...
src/components/wechatmembers/cardvoucher.vue
View file @
60ba67f3
...
...
@@ -174,12 +174,14 @@
<div
class=
"operate"
>
<el-button
type=
"text"
v-if=
"scope.row.status === 4"
v-if=
"scope.row.status === 4 && getCodeAuth('memberCardDestory')"
:limit-code=
'getCode("memberCardDestory")'
@
click=
"handleCheckDestory(scope.row)"
>
核销
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status === 4"
v-if=
"scope.row.status === 4 && getCodeAuth('memberCardWriteOff')"
:limit-code=
'getCode("memberCardWriteOff")'
@
click=
"handleCardDestroy(scope.row)"
>
销毁
</el-button>
<span
...
...
@@ -308,6 +310,7 @@
import
nav
from
"../../common/navbar/navbar.vue"
;
import
{
doFetch
}
from
"../../components/axios/api"
;
import
url
from
"../../components/axios/url"
;
import
authMethods
from
'@/mixins/auth'
;
import
{
checkFalse
,
checkStatus
,
...
...
@@ -357,6 +360,7 @@ export default {
orderNumber
:
null
,
};
},
mixins
:
[
authMethods
],
methods
:
{
// 销核数据条件插件
checkOrder
()
{
...
...
src/components/wechatmembers/frozenList.vue
View file @
60ba67f3
...
...
@@ -53,10 +53,14 @@
<router-link
to=
"/frozenList/frozenMember"
class=
"inner-btn-link"
:limit-code=
'getCode("memberFrozenMember")'
v-if=
'getCodeAuth("memberFrozenMember")'
>
冻结会员
</router-link>
<el-button
type=
"primary"
@
click=
"unFrozen"
:limit-code=
'getCode("memberBatchCleanFrozen")'
v-if=
'getCodeAuth("memberBatchCleanFrozen")'
>
批量解冻
</el-button>
</div>
</div>
...
...
@@ -209,6 +213,8 @@
<el-button
type=
"text"
@
click=
"unFrozenItem(scope.$index)"
:limit-code=
'getCode("memberBatchCleanFrozen")'
v-if=
'getCodeAuth("memberBatchCleanFrozen")'
>
解冻
</el-button>
</
template
>
</el-table-column>
...
...
@@ -246,12 +252,13 @@ import { formatLongTime } from "@/utils/utils";
import
url
from
"@/components/axios/url"
;
import
{
mapState
}
from
"vuex"
;
import
{
checkFalse
,
checkStatus
}
from
'../../../static/js/checkStatus'
;
import
authMethods
from
'@/mixins/auth'
;
export
default
{
name
:
"forzenlist"
,
components
:
{
NavPath
},
mixins
:
[
authMethods
],
filters
:
{
formatTimeYMD
(
val
)
{
return
val
!=
"--"
?
val
.
split
(
" "
)[
0
]
:
"--"
;
...
...
src/components/wechatmembers/integralDataPage.vue
View file @
60ba67f3
...
...
@@ -54,8 +54,9 @@
</el-select>
</div>
<el-button
v-if=
"showHandleScoreBtn"
v-if=
"showHandleScoreBtn
&& getCodeAuth('memberAdjustIntegral')
"
type=
"primary"
:limit-code=
"getCode('memberAdjustIntegral')"
@
click=
"linkRoute('/modifyintegral')"
>
调整积分
</el-button>
</div>
...
...
@@ -225,7 +226,7 @@ import {
import
searchinput
from
"common/searchinput"
;
import
{
formatLongTime
}
from
"@/utils/utils"
;
import
{
mapState
}
from
'vuex'
;
import
authMethods
from
'@/mixins/auth'
;
export
default
{
name
:
"talkLogPage"
,
data
()
{
...
...
@@ -271,6 +272,7 @@ export default {
integralFlag
:
""
};
},
mixins
:
[
authMethods
],
computed
:
{
...
mapState
([
'showHandleScoreBtn'
])
},
...
...
src/main.js
View file @
60ba67f3
...
...
@@ -20,13 +20,15 @@ import directive from './utils/directive.js';
// import vueGicAsideMenu from '@gic-test/vue-gic-aside-menu'
// import vueGicUploadImage from '@gic-test/vue-gic-upload-image'
// import vueGicFooter from '@gic-test/vue-gic-footer'
import
authCode
from
'../config/authCode'
;
import
*
as
custom
from
'./common/filters/custom'
Vue
.
config
.
productionTip
=
false
;
Vue
.
config
.
devtools
=
true
;
axios
.
defaults
.
withCredentials
=
true
;
Vue
.
prototype
.
axios
=
axios
;
Vue
.
prototype
.
$buttonCode
=
authCode
;
Vue
.
prototype
.
$getButtonLimit
=
(
code
)
=>
Math
.
random
()
>
0.5
?
true
:
false
;
Vue
.
component
(
'icon-svg'
,
IconSvg
)
Vue
.
component
(
'gic-textarea'
,
gictextarea
);
...
...
src/mixins/auth.js
0 → 100644
View file @
60ba67f3
export
default
{
computed
:
{
getCodeAuth
()
{
return
code
=>
this
.
$getButtonLimit
(
this
.
getCode
(
code
));
},
getCode
()
{
return
code
=>
this
.
$buttonCode
[
code
];
}
}
};
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