Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
ybf
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
xulili
ybf
Commits
9b29ea89
Commit
9b29ea89
authored
Apr 01, 2020
by
leiqingsong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://114.67.93.201/xulili/ybf
parents
1c877ad9
4a5e5c17
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
1246 additions
and
155 deletions
+1246
-155
.env
wx_application/.env
+1
-1
.env.dev
wx_application/.env.dev
+1
-1
.env.prod
wx_application/.env.prod
+1
-1
package.json
wx_application/package.json
+5
-3
public.scss
wx_application/src/assets/style/public.scss
+8
-0
index.vue
wx_application/src/components/quill/index.vue
+174
-0
main.js
wx_application/src/main.js
+2
-0
index.js
wx_application/src/router/index.js
+18
-2
message.js
wx_application/src/store/modules/message.js
+15
-0
bRequest.js
wx_application/src/utils/bRequest.js
+52
-0
utils.Request.aApi.js
wx_application/src/utils/utils.Request.aApi.js
+28
-0
chargeCode.vue
wx_application/src/views/counter/chargeCode.vue
+16
-0
counterEdit copy.vue
wx_application/src/views/counter/counterEdit copy.vue
+105
-0
counterEdit.vue
wx_application/src/views/counter/counterEdit.vue
+222
-0
counterInfo.vue
wx_application/src/views/counter/counterInfo.vue
+18
-3
counterMaintain.vue
wx_application/src/views/counter/counterMaintain.vue
+1
-1
pushStoreInfo.vue
wx_application/src/views/counter/pushStoreInfo.vue
+94
-0
index.vue
wx_application/src/views/mainSale/active/main/index.vue
+3
-4
index.vue
wx_application/src/views/mainSale/me/main/index.vue
+60
-54
addMessage.vue
wx_application/src/views/mainSale/message/addMessage.vue
+81
-0
index.vue
wx_application/src/views/mainSale/message/index.vue
+73
-0
releaseMessage.vue
wx_application/src/views/mainSale/message/releaseMessage.vue
+143
-0
yarn.lock
wx_application/yarn.lock
+55
-1
header.js
ybf_admin/src/menu/header.js
+5
-5
addGroup.vue
ybf_admin/src/pages/in/contact/components/addGroup.vue
+0
-1
editGroup.vue
ybf_admin/src/pages/in/contact/components/editGroup.vue
+0
-1
mail.vue
ybf_admin/src/pages/in/contact/mail.vue
+7
-3
routes.js
ybf_admin/src/router/routes.js
+10
-10
index.html
ybf_wx/public/register/index.html
+0
-2
home.vue
ybf_wx/src/views/home.vue
+5
-13
index.vue
ybf_wx/src/views/sideNav/discount/index.vue
+17
-15
index.vue
ybf_wx/src/views/sideNav/register/index.vue
+26
-34
No files found.
wx_application/.env
View file @
9b29ea89
...
...
@@ -6,4 +6,4 @@ VUE_APP_TITLE = 亿百分-dev
VUE_APP_OY_API = /api/
VUE_APP_API_A = http://139.155.48.151:8085
VUE_APP_API_B = http://1
11.26.165.55:8010/crminterface.ashx
VUE_APP_API_B = http://1
39.155.48.151:8084
wx_application/.env.dev
View file @
9b29ea89
...
...
@@ -6,4 +6,4 @@ VUE_APP_TITLE = 亿百分-dev
VUE_APP_OY_API = http://111.26.165.55:8010/crminterface.ashx
VUE_APP_API_A = http://139.155.48.151:8085
VUE_APP_API_B = http://1
11.26.165.55:8010/crminterface.ashx
VUE_APP_API_B = http://1
39.155.48.151:8084
wx_application/.env.prod
View file @
9b29ea89
...
...
@@ -6,4 +6,4 @@ VUE_APP_TITLE = 亿百分-prod
VUE_APP_OY_API = http://111.26.165.55:8010/crminterface.ashx
VUE_APP_API_A = http://139.155.48.151:8085
VUE_APP_API_B = http://1
11.26.165.55:8010/crminterface.ashx
VUE_APP_API_B = http://1
39.155.48.151:8084
wx_application/package.json
View file @
9b29ea89
...
...
@@ -15,11 +15,12 @@
"core-js"
:
"^3.4.4"
,
"js-md5"
:
"^0.7.3"
,
"jssdk"
:
"^0.0.1"
,
"qrcode"
:
"^1.4.4"
,
"vant"
:
"^2.3.3"
,
"vant"
:
"^2.5.9"
,
"vue"
:
"^2.6.10"
,
"vue-quill-editor"
:
"^3.0.6"
,
"vue-router"
:
"^3.1.3"
,
"vuex"
:
"^3.1.2"
"vuex"
:
"^3.1.2"
,
"wangeditor"
:
"^3.1.1"
},
"devDependencies"
:
{
"@vue/cli-plugin-babel"
:
"^4.1.0"
,
...
...
@@ -31,6 +32,7 @@
"node-sass"
:
"^4.13.0"
,
"postcss-loader"
:
"^3.0.0"
,
"postcss-pxtorem"
:
"^4.0.1"
,
"quill-image-extend-module"
:
"^1.1.2"
,
"sass-loader"
:
"^8.0.0"
,
"vue-template-compiler"
:
"^2.6.10"
}
...
...
wx_application/src/assets/style/public.scss
View file @
9b29ea89
...
...
@@ -59,3 +59,11 @@ input:focus{ outline: none;}
width
:
100%
;
height
:
100%
;
}
.flex-start
{
display
:
flex
;
height
:
auto
;
justify-content
:
flex-start
;
flex-direction
:
column
;
width
:
100%
;
background-color
:
#fff
;
}
\ No newline at end of file
wx_application/src/components/quill/index.vue
0 → 100644
View file @
9b29ea89
<
template
>
<div
class=
"editor"
>
<quill-editor
v-model=
"content"
ref=
"myQuillEditor"
:options=
"options"
:disabled=
"redact"
@
change=
"onEditorChange($event)"
></quill-editor>
<van-uploader
v-show=
"false"
:afterRead=
"afterRead"
:beforeRead=
"beforeRead"
>
<van-button
icon=
"photo"
type=
"primary"
>
上传图片
</van-button>
</van-uploader>
</div>
<!--
<div
class=
"ql-editor"
v-html=
"content"
></div>
-->
</
template
>
<
script
>
import
"quill/dist/quill.core.css"
//引入样式
import
"quill/dist/quill.snow.css"
//引入样式
import
"quill/dist/quill.bubble.css"
//引入样式
import
{
quillEditor
}
from
"vue-quill-editor"
//引入组件
export
default
{
name
:
"quillEditors"
,
props
:
{
//是否可以编辑
redact
:
{
type
:
Boolean
,
default
:
false
},
//头部是否可显示
title
:
{
type
:
Boolean
,
default
:
false
}
},
data
()
{
return
{
content
:
``
,
options
:
{
placeholder
:
"请输入模板..."
,
modules
:
{
toolbar
:
{
container
:
[
[
"bold"
,
"italic"
,
"underline"
,
"strike"
],
//切换按钮 //bold 加粗 italic 斜 underline 下划线 strike删除线
[
"blockquote"
,
"code-block"
],
//blockquote 引用 code-block 代码块
[
"link"
,
"image"
],
//图片 link 链接 image图片
[{
header
:
1
},
{
header
:
2
}],
// 标题,键值对的形式;1、2表示字体大小
[{
list
:
"ordered"
},
{
list
:
"bullet"
}],
//排序 ordered 有序 bullet 无序
// [{ header: [1, 2, 3, 4, 5, 6, false] }], //几级标题
[{
script
:
"sub"
},
{
script
:
"super"
}],
// sub上标 / super下标
[{
indent
:
"-1"
},
{
indent
:
"+1"
}],
// 减少缩进/缩进
[{
direction
:
"rtl"
}],
// 文本方向
[{
color
:
[]
},
{
background
:
[]
}],
// color 字体颜色 background 背景颜色 从主题默认下拉
[{
align
:
[]
}],
//文本对齐方式
[{
font
:
[]
}],
//字体格式
[{
size
:
[]
}]
// 自定义下拉
],
handlers
:
{
image
:
value
=>
{
if
(
value
)
{
//禁止软键盘弹出
document
.
activeElement
.
blur
();
// 触发input框选择图片文件
document
.
querySelector
(
".van-uploader input"
).
click
();
}
else
{
this
.
quill
.
format
(
"image"
,
false
);
}
}
}
}
}
}
};
},
computed
:
{},
watch
:
{
//title变化时触发
title
(
bool
)
{
if
(
bool
)
{
document
.
querySelector
(
".quill-editor .ql-toolbar"
).
style
.
display
=
"none"
;
}
}
},
methods
:
{
//图片上传成功
afterRead
(
file
)
{
console
.
log
(
"后"
,
file
);
},
//图片上传前
async
beforeRead
(
file
)
{
console
.
log
(
"前"
,
file
,
file
.
size
/
1024
);
if
(
file
.
size
==
0
)
{
return
false
}
if
(
!
/^image
\/(
jpeg|png|jpg
)
$/
.
test
(
file
.
type
))
{
this
.
$toast
(
"请上传 jpg,jpeg,png 格式图片"
);
return
false
;
}
this
.
$toast
.
allowMultiple
();
let
loading
=
this
.
$toast
.
loading
({
duration
:
0
,
mask
:
false
,
forbidClick
:
true
,
message
:
"上传中..."
});
let
fr
=
new
FormData
();
fr
.
append
(
"image"
,
file
);
try
{
let
quill
=
this
.
$refs
.
myQuillEditor
.
quill
;
let
{
msg
,
code
,
data
}
=
await
this
.
$post
(
"img/V1/uploadImage"
,
fr
);
if
(
code
===
1
)
{
console
.
log
(
"上传成功"
,
data
[
0
]);
// 获取光标所在位置
let
length
=
quill
.
getSelection
().
index
;
// 插入图片
quill
.
insertEmbed
(
length
,
"image"
,
data
[
0
]);
// 调整光标到最后
quill
.
setSelection
(
length
+
1
);
return
true
;
}
else
{
this
.
$toast
(
`
${
msg
}
`
);
}
}
catch
(
err
)
{
console
.
log
(
"错误"
,
err
);
this
.
$toast
(
"网络错误,请检查网络连接!"
);
}
finally
{
loading
.
clear
();
}
},
//内容改变触发
onEditorChange
()
{
this
.
$emit
(
"ChangeText"
,
this
.
content
);
}
},
mounted
()
{
//初始化title
this
.
title
==
true
?
(
document
.
querySelector
(
".quill-editor .ql-toolbar"
).
style
.
display
=
"none"
)
:
""
;
},
components
:
{
quillEditor
}
// components: { editor }
};
</
script
>
<
style
lang=
'scss'
>
.editor
{
height
:
80%
;
position
:
relative
;
display
:
flex
;
flex-direction
:
column
;
.quill-editor
{
height
:
100%
;
}
.ql-toolbar
{
z-index
:
inherit
;
// position: absolute;
// top: 0;
}
.ql-container
{
flex
:
1
;
s
,
i
,
em
{
font-style
:
italic
;
text-decoration
:
line-through
;
}
}
}
</
style
>
\ No newline at end of file
wx_application/src/main.js
View file @
9b29ea89
...
...
@@ -5,11 +5,13 @@ import router from './router'
import
store
from
'./store'
import
'./lib/rem'
;
import
Vant
from
'vant'
;
import
{
Toast
}
from
'vant'
;
import
'vant/lib/index.css'
;
Vue
.
config
.
productionTip
=
false
Vue
.
use
(
Vant
);
Vue
.
use
(
Toast
);
const
originalPush
=
Router
.
prototype
.
push
Router
.
prototype
.
push
=
function
push
(
location
)
{
...
...
wx_application/src/router/index.js
View file @
9b29ea89
...
...
@@ -3,7 +3,7 @@ import VueRouter from 'vue-router'
import
Home
from
'../views/home.vue'
import
{
getXToken
,
configWx
}
from
'@/utils/aCommon'
import
mineRoute
from
'./mine'
Vue
.
use
(
VueRouter
)
const
routes
=
[
...
...
@@ -67,6 +67,21 @@ const routes = [
name
:
'counterMaintain'
,
component
:
()
=>
import
(
'@/views/counter/counterMaintain'
)
},
{
path
:
'/counterEdit'
,
name
:
'counterEdit'
,
component
:
()
=>
import
(
'@/views/counter/counterEdit'
)
},
{
path
:
'/chargeCode'
,
name
:
'chargeCode'
,
component
:
()
=>
import
(
'@/views/counter/chargeCode'
)
},
{
path
:
'/pushStoreInfo'
,
name
:
'pushStoreInfo'
,
component
:
()
=>
import
(
'@/views/counter/pushStoreInfo'
)
},
{
path
:
'/goodManage'
,
name
:
'goodManage'
,
...
...
@@ -136,7 +151,8 @@ const routes = [
path
:
'/qrCode'
,
name
:
'qrCode'
,
component
:
()
=>
import
(
'@/views/qrCode/index'
)
}
},
...
mineRoute
// {
// path: '/about',
// name: 'about',
...
...
wx_application/src/store/modules/message.js
0 → 100644
View file @
9b29ea89
export
default
{
namespaced
:
true
,
state
:
{
title
:
''
,
content
:
''
},
mutations
:
{
title
(
state
,
title
)
{
state
.
title
=
title
},
content
(
state
,
content
)
{
state
.
content
=
content
},
}
}
wx_application/src/utils/bRequest.js
0 → 100644
View file @
9b29ea89
import
axios
from
'axios'
import
envConfig
from
'@/config/env-config'
let
INFO
=
{
// corpId: 'wwd1cdbca7b8b2b6c4',
// agentId: '1000015',
corpId
:
'ww4df265003b43fa0d'
,
agentId
:
'1000033'
,
url
:
envConfig
.
appBaseUrlB
,
}
// 创建axios实例
const
service
=
axios
.
create
({
baseURL
:
INFO
.
url
,
// api 的 base_url
timeout
:
50000
// 请求超时时间
})
// request拦截器
service
.
interceptors
.
request
.
use
(
(
config
)
=>
{
if
(
sessionStorage
[
'token'
])
{
config
.
headers
[
'token'
]
=
sessionStorage
[
'token'
]
config
.
headers
[
'businessId'
]
=
sessionStorage
[
'businessId'
]
}
else
{
config
.
headers
[
'businessId'
]
=
'10'
}
return
config
;
},
(
error
)
=>
{
Promise
.
reject
(
error
)
}
)
// response 拦截器
service
.
interceptors
.
response
.
use
(
response
=>
{
console
.
log
(
response
)
if
(
response
.
status
==
200
)
{
return
response
.
data
}
else
{
Message
({
message
:
response
.
data
.
msg
,
type
:
'error'
,
duration
:
5
*
1000
})
}
},
error
=>
{
console
.
log
(
error
)
}
)
export
default
service
wx_application/src/utils/utils.Request.aApi.js
0 → 100644
View file @
9b29ea89
/**
* Created by supervisor on 2020/3/31
*/
import
requestAPI
from
'@/utils/bRequest'
export
function
getMessageByClerkId
(
params
)
{
return
requestAPI
({
url
:
'/admin/auth/marketing/getMessageByClerkId'
,
method
:
'get'
,
params
})
}
export
function
getClerkInfoBySupervisorId
(
params
)
{
return
requestAPI
({
url
:
'/admin/auth/addressbook/clerk/getClerkInfoBySupervisorId'
,
method
:
'get'
,
params
})
}
export
function
newTask
(
data
)
{
return
requestAPI
({
url
:
'/admin/auth/marketing/newTask'
,
method
:
'post'
,
data
})
}
wx_application/src/views/counter/chargeCode.vue
0 → 100644
View file @
9b29ea89
<
template
>
<div>
<div></div>
<div>
收款码
</div>
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
wx_application/src/views/counter/counterEdit copy.vue
0 → 100644
View file @
9b29ea89
<
template
>
<div
class=
"container"
>
<div
class=
"flex-start"
>
<van-uploader
v-model=
"bannerList"
:max-count=
"4"
/>
<div>
<quill-editors
@
ChangeText=
"(text)=>
{content=text}" :title="title" />
<!--
<van-uploader
class=
"avatar-uploader"
/>
D -->
<quill-editor
v-model=
"content"
ref=
"myQuillEditor"
:options=
"editorOption"
@
change=
"onEditorChange($event)"
></quill-editor>
</div>
</div>
<div
class=
"creat"
>
保存信息
</div>
</div>
</
template
>
<
script
>
import
QuillEditors
from
"@/components/quill"
// import { quillEditor } from "vue-quill-editor"
// import "quill/dist/quill.core.css"
// import "quill/dist/quill.snow.css"
// import "quill/dist/quill.bubble.css"
const
toolbarOptions
=
[
[{
size
:
[
"small"
,
false
,
"large"
,
"huge"
]
}],
// 字体大小
[
"image"
]
// 链接、图片、视频
]
export
default
{
components
:
{
// quillEditor
QuillEditors
},
data
()
{
return
{
bannerList
:
[],
content
:
''
,
isClear
:
false
,
detail
:
""
,
editorOption
:
{
placeholder
:
""
,
theme
:
"snow"
,
// or 'bubble'
modules
:
{
toolbar
:
{
container
:
toolbarOptions
,
handlers
:
{
// image: function(value) {
// if (value) {
// // 触发input框选择图片文件
// document.querySelector(".avatar-uploader input").click();
// } else {
// this.quill.format("image", false);
// }
// }
}
}
}
},
header
:
{
},
// 有的图片服务器要求请求头需要有token
serverUrl
:
"https://139.219.7.104:8021/file/upload"
,
// title:
}
},
methods
:
{
change
(
val
)
{
console
.
log
(
val
)
},
onEditorChange
({
editor
,
html
,
text
})
{
console
.
log
(
this
.
content
,
'内容'
)
console
.
log
(
html
,
'html'
)
console
.
log
(
editor
,
'editor'
)
console
.
log
(
text
,
'text'
)
this
.
$emit
(
"input"
,
this
.
content
);
},
}
}
</
script
>
<
style
>
</
style
>
<
style
scoped
>
.container
{
min-height
:
100%
;
height
:
auto
;
background
:
#F8F8F8
;
display
:
flex
;
justify-content
:
space-between
;
flex-direction
:
column
;
align-items
:
center
;
}
.content
{
background
:
#fff
;
height
:
auto
;
}
.creat
{
margin
:
20px
0
;
width
:
343px
;
height
:
40px
;
line-height
:
40px
;
background
:
rgba
(
117
,
178
,
253
,
1
);
border-radius
:
10px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
255
,
255
,
255
,
1
);
text-align
:
center
;
bottom
:
0
;
}
</
style
>
wx_application/src/views/counter/counterEdit.vue
0 → 100644
View file @
9b29ea89
<
template
>
<div
class=
"container"
>
<div
class=
"flex-start top"
>
<div
class=
"flex-start"
>
<van-cell-group
class=
"gn"
>
<van-cell
title=
"专柜LOGO"
center
class=
"logo"
>
<template
slot=
"default"
>
<van-uploader
v-model=
"addForm.logo"
:max-count=
"1"
class=
"input"
>
<div
class=
"cube"
style=
"width:54px;height:50px;"
>
<van-icon
name=
"photo"
size=
"40"
/>
<div
class=
"mb"
>
点击替换
</div>
</div>
</van-uploader>
</
template
>
</van-cell>
<van-cell
title=
"专柜名称"
>
<
template
slot=
"default"
>
<van-field
v-model=
"addForm.name"
placeholder=
"输入名称"
class=
"input"
/>
</
template
>
</van-cell>
<van-cell
title=
"门店"
>
<
template
slot=
"default"
>
<van-field
v-model=
"addForm.store"
placeholder=
"输入名称"
class=
"input"
/>
</
template
>
</van-cell>
<van-cell
title=
"专柜地址"
>
<
template
slot=
"default"
>
<van-field
v-model=
"addForm.address"
placeholder=
"输入名称"
class=
"input"
/>
</
template
>
</van-cell>
<div
class=
"border"
>
<div
class=
"des"
>
摘要信息
</div>
<van-field
v-model=
"addForm.abstract"
rows=
"4"
autosize
type=
"textarea"
placeholder=
"请输入摘要信息"
show-word-limit
maxlength=
"30"
/>
</div>
</van-cell-group>
</div>
<div
class=
"flex-start fwb"
>
<div
class=
"txt"
>
轮播图
</div>
<van-uploader
v-model=
"bannerList"
:max-count=
"4"
class=
"pic"
/>
<van-field
v-model=
"addForm.title"
placeholder=
"标题(不超过30个字)"
maxlength=
"30"
></van-field>
<quill-editor
v-model=
"content"
ref=
"myQuillEditor"
:options=
"editorOption"
@
change=
"onEditorChange($event)"
></quill-editor>
</div>
</div>
<div
class=
"creat"
>
保存信息
</div>
</div>
</template>
<
script
>
import
{
quillEditor
,
Quill
}
from
"vue-quill-editor"
;
import
{
container
,
ImageExtend
,
QuillWatch
}
from
"quill-image-extend-module"
;
import
"quill/dist/quill.core.css"
;
import
"quill/dist/quill.snow.css"
;
import
"quill/dist/quill.bubble.css"
;
Quill
.
register
(
"modules/ImageExtend"
,
ImageExtend
);
const
toolbarOptions
=
[
[{
size
:
[
"small"
,
false
,
"large"
,
"huge"
]
}],
// 字体大小
[
"image"
]
// 图片
];
export
default
{
components
:
{
quillEditor
},
data
()
{
return
{
addForm
:
{
logo
:
[],
abstract
:
''
,
store
:
''
,
name
:
''
,
address
:
''
,
title
:
''
},
bannerList
:
[],
title
:
""
,
content
:
""
,
// 富文本框参数设置
editorOption
:
{
modules
:
{
ImageExtend
:
{
name
:
"file"
,
// 图片参数名
// size: 3,
action
:
"http://139.155.48.151:8084/admin/auth/util/saveImg"
,
// response 为一个函数用来获取服务器返回的具体图片地址
// 例如服务器返回{code: 200; data:{ url: 'baidu.com'}}
// 则 return res.data.url
response
:
res
=>
{
return
res
.
data
.
imgPath
;
},
headers
:
xhr
=>
{
// xhr.setRequestHeader('Content-Type','multipart/form-data')
}
// 可选参数 设置请求头部
},
toolbar
:
{
// 如果不上传图片到服务器,此处不必配置
container
:
toolbarOptions
,
// container为工具栏,此次引入了全部工具栏,也可自行配置
placeholder
:
"请输入正文"
,
handlers
:
{
image
:
function
()
{
// 劫持原来的图片点击按钮事件
QuillWatch
.
emit
(
this
.
quill
.
id
);
}
}
}
}
}
};
},
methods
:
{
change
(
val
)
{
console
.
log
(
val
);
},
onEditorChange
({
editor
,
html
,
text
})
{
console
.
log
(
this
.
content
,
"内容"
)
this
.
$emit
(
"input"
,
this
.
content
)
}
}
};
</
script
>
<
style
>
</
style
>
<
style
scoped
>
.pic
{
border-bottom
:
2px
solid
#ebedf0
;
}
.pic
>>>
.van-uploader__wrapper
{
justify-content
:
center
;
}
.txt
{
font-size
:
18px
;
color
:
rgba
(
45
,
71
,
106
,
1
);
font-weight
:
bold
;
margin
:
6px
16px
4px
;
}
.top
{
background
:
#f8f8f8
;
}
.fwb
{
margin-top
:
10px
;
}
.container
{
min-height
:
100%
;
height
:
auto
;
background
:
#f8f8f8
;
display
:
flex
;
justify-content
:
space-between
;
flex-direction
:
column
;
align-items
:
center
;
}
.content
{
background
:
#fff
;
height
:
auto
;
}
.creat
{
margin
:
20px
0
;
width
:
343px
;
height
:
40px
;
line-height
:
40px
;
background
:
rgba
(
117
,
178
,
253
,
1
);
border-radius
:
10px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
255
,
255
,
255
,
1
);
text-align
:
center
;
bottom
:
0
;
}
.des
{
font-size
:
14px
;
font-weight
:
bold
;
color
:
rgba
(
45
,
71
,
106
,
1
);
margin-bottom
:
12px
;
}
.detail
{
background-color
:
#fff
;
padding
:
12px
16px
0
16px
;
}
.border
{
padding
:
15px
;
}
.border
>>>
.van-field__control
{
text-align
:
left
!important
;
background-color
:
#f8f8f8
;
}
.border
>>>
.van-cell
{
padding
:
0
;
}
.van-cell__value
,
.van-cell__value--alone
{
text-align
:
right
;
}
.input
{
padding
:
0
;
}
.gn
>>>
.van-field__control
{
text-align
:
right
;
}
.gn
>>>
.van-cell__title
{
font-size
:
14px
;
font-weight
:
bold
;
color
:
rgba
(
45
,
71
,
106
,
1
);
}
.gn
{
margin-top
:
12px
;
width
:
100%
;
padding-bottom
:
12px
;
}
.input
>>>
.van-uploader__input-wrapper
{
width
:
100%
;
}
</
style
>
wx_application/src/views/counter/counterInfo.vue
View file @
9b29ea89
...
...
@@ -23,18 +23,33 @@
</div>
</div>
<van-cell-group
class=
"gn"
>
<van-cell
title=
"专柜信息"
is-link
value=
"详细信息"
/>
<van-cell
title=
"专柜信息"
is-link
value=
"详细信息"
@
click=
"handleEdit"
/>
<van-cell
title=
"访问专柜首页"
is-link
value=
"详细信息"
/>
<van-cell
title=
"专柜收款码"
is-link
value=
"详细信息"
/>
<van-cell
title=
"推送门店信息"
is-link
value=
"详细信息"
/>
<van-cell
title=
"专柜收款码"
is-link
value=
"详细信息"
@
click=
"getChargeCode"
/>
<van-cell
title=
"推送门店信息"
is-link
value=
"详细信息"
@
click=
"handlePushInfo"
/>
</van-cell-group>
</div>
</
template
>
<
script
>
import
{
quillEditor
}
from
"vue-quill-editor"
;
import
"quill/dist/quill.core.css"
;
import
"quill/dist/quill.snow.css"
;
import
"quill/dist/quill.bubble.css"
;
export
default
{
data
()
{
return
{};
},
methods
:
{
handleEdit
()
{
this
.
$router
.
push
(
"counterEdit"
)
},
getChargeCode
()
{
this
.
$router
.
push
(
"chargeCode"
)
},
handlePushInfo
()
{
this
.
$router
.
push
(
"pushStoreInfo"
)
}
}
};
</
script
>
...
...
wx_application/src/views/counter/counterMaintain.vue
View file @
9b29ea89
...
...
@@ -49,7 +49,7 @@
/>
</div>
</div>
</van-cell-group>
</van-cell-group>
<div
class=
"creat"
>
保存信息
</div>
</div>
</template>
...
...
wx_application/src/views/counter/pushStoreInfo.vue
0 → 100644
View file @
9b29ea89
<
template
>
<div
class=
"container"
>
<div>
<!-- 搜索框 -->
<van-search
v-model=
"inputValue"
placeholder=
"请输入搜索关键词"
/>
</div>
<van-checkbox-group
v-model=
"list"
@
change=
"onChange"
>
<van-cell-group
>
<van-cell
class=
"content"
v-for=
"(item, index) in newMemberList"
:key=
"index"
clickable
data-index=
"index"
bind:click=
"toggle"
>
<template
slot=
"title"
>
<img
src=
"../../../public/img/photo.png"
alt=
""
/>
<span
class=
"custom-title"
>
{{
item
.
name
}}
</span>
</
template
>
<van-checkbox
slot=
"right-icon"
catch:tap=
"noop"
:name=
"item.id"
/>
</van-cell>
</van-cell-group>
</van-checkbox-group>
<div>
外部联系人{{ info }}
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
inputValue
:
''
,
newMemberList
:
[
{
id
:
1
,
src
:
""
,
name
:
"Solomon"
},
{
id
:
2
,
src
:
""
,
name
:
"Solomon"
}
],
list
:
[],
info
:
''
}
},
mounted
()
{
this
.
getAgentAuth
()
},
methods
:
{
getList
()
{
wx
.
invoke
(
'selectExternalContact'
,
{
"filterType"
:
0
,
},
function
(
res
){
if
(
res
.
err_msg
==
"selectExternalContact:ok"
){
alert
(
`
${
JSON
.
stringify
(
res
)}
`
)
this
.
info
=
`
${
JSON
.
stringify
(
res
)}
`
}
else
{
//错误处理
alert
(
'获取失败'
)
}
})
},
onChange
(
val
)
{
},
toggle
(
event
)
{
const
{
index
}
=
event
.
currentTarget
.
dataset
;
const
checkbox
=
this
.
selectComponent
(
`.checkboxes-
${
index
}
`
);
checkbox
.
toggle
();
},
noop
()
{}
}
}
</
script
>
<
style
scoped
>
.content
{
align-items
:
center
;
}
.content
>>>
.van-icon-arrow
:before
{
margin-top
:
10px
;
color
:
#2d476a
;
}
.custom-title
{
margin-left
:
12px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
45
,
71
,
106
,
1
);
}
.content
img
{
width
:
44px
;
height
:
44px
;
border-radius
:
50%
;
vertical-align
:
middle
;
}
</
style
>
wx_application/src/views/mainSale/active/main/index.vue
View file @
9b29ea89
...
...
@@ -48,10 +48,10 @@
</div>
<div
class=
"main-actives"
>
<div
class=
"actives-banners"
>
<!--
<img
class=
"actives-banner-small"
:src=
"test.activeInfo.icon['0']"
>
-->
<!--
<img
class=
"actives-banner-small"
:src=
"test.activeInfo.icon['0']"
>
-->
<div
class=
"actives-banner-title"
>
现有开展活动
</div>
<!--
<img
class=
"actives-banner-small"
:src=
"test.cache.imgUrl"
>
-->
<!--
<img
class=
"actives-banner-small"
:src=
"test.cache.imgUrl"
>
-->
</div>
<div
class=
"actives-main"
>
...
...
@@ -199,7 +199,6 @@
methods
:
{
checkNowMenuBar
()
{
let
inData
=
'1'
this
.
test
.
menuBarInfo
.
icon
.
now
=
this
.
test
.
menuBarInfo
.
icon
.
ua
this
.
test
.
menuBarInfo
.
icon
.
now
[
inData
]
=
this
.
test
.
menuBarInfo
.
icon
.
ac
[
inData
]
},
...
...
@@ -221,7 +220,7 @@
this
.
$router
.
push
(
"activeList"
)
},
menu04Click
()
{
this
.
$router
.
push
(
"counter
Maintain
"
)
this
.
$router
.
push
(
"counter
Info
"
)
},
menu05Click
()
{
this
.
$router
.
push
(
"ActTemplate"
)
...
...
wx_application/src/views/mainSale/me/main/index.vue
View file @
9b29ea89
...
...
@@ -36,7 +36,7 @@
<div
class=
"list list-latest"
>
<div
class=
"list-title"
>
我的收益
</div>
<img
class=
"list-icon"
:src=
"cache.icon.arrowRightDark"
/>
</div>
</div>
</div>
<div
class=
"main-menuBar"
>
...
...
@@ -65,55 +65,56 @@
</
template
>
<
script
>
import
{
configWx
,
getUserInfo
}
from
"@/utils/aCommon"
;
import
axios
from
"axios"
;
export
default
{
name
:
"me"
,
data
()
{
return
{
cache
:
{
icon
:
{
testImg
:
"/mainSale/test-city.png"
,
arrowRightLight
:
"/mainSale/icon-arrow-right-light.png"
,
arrowRightDark
:
"/mainSale/icon-arrow-right-dark.png"
}
},
userInfo
:
''
,
menuBarInfo
:
{
list
:
{
main
:
[
{
name
:
""
,
iconUaUrl
:
""
,
iconAcUrl
:
""
}
]
import
{
configWx
,
getUserInfo
}
from
"@/utils/aCommon"
;
import
axios
from
"axios"
;
export
default
{
name
:
"me"
,
data
()
{
return
{
cache
:
{
icon
:
{
testImg
:
"/mainSale/test-city.png"
,
arrowRightLight
:
"/mainSale/icon-arrow-right-light.png"
,
arrowRightDark
:
"/mainSale/icon-arrow-right-dark.png"
}
},
icon
:
{
now
:
{
"1"
:
""
,
"2"
:
""
,
"3"
:
""
,
"4"
:
""
,
"5"
:
""
userInfo
:
''
,
menuBarInfo
:
{
list
:
{
main
:
[
{
name
:
""
,
iconUaUrl
:
""
,
iconAcUrl
:
""
}
]
},
ua
:
{
"1"
:
"/mainSale/icon-menuBar-1-ua.png"
,
"2"
:
"/mainSale/icon-menuBar-2-ua.png"
,
"3"
:
"/mainSale/icon-menuBar-3-ua.png"
,
"4"
:
"/mainSale/icon-menuBar-4-ua.png"
,
"5"
:
"/mainSale/icon-menuBar-5-ua.png"
},
ac
:
{
"1"
:
"/mainSale/icon-menuBar-1-ac.png"
,
"2"
:
"/mainSale/icon-menuBar-2-ac.png"
,
"3"
:
"/mainSale/icon-menuBar-3-ac.png"
,
"4"
:
"/mainSale/icon-menuBar-4-ac.png"
,
"5"
:
"/mainSale/icon-menuBar-5-ac.png"
icon
:
{
now
:
{
"1"
:
""
,
"2"
:
""
,
"3"
:
""
,
"4"
:
""
,
"5"
:
""
},
ua
:
{
"1"
:
"/mainSale/icon-menuBar-1-ua.png"
,
"2"
:
"/mainSale/icon-menuBar-2-ua.png"
,
"3"
:
"/mainSale/icon-menuBar-3-ua.png"
,
"4"
:
"/mainSale/icon-menuBar-4-ua.png"
,
"5"
:
"/mainSale/icon-menuBar-5-ua.png"
},
ac
:
{
"1"
:
"/mainSale/icon-menuBar-1-ac.png"
,
"2"
:
"/mainSale/icon-menuBar-2-ac.png"
,
"3"
:
"/mainSale/icon-menuBar-3-ac.png"
,
"4"
:
"/mainSale/icon-menuBar-4-ac.png"
,
"5"
:
"/mainSale/icon-menuBar-5-ac.png"
}
}
}
},
zcache
:
{
},
zcache
:
{
nowUrl
:
""
,
preAuthCodeUrl
:
""
,
code
:
""
,
...
...
@@ -129,9 +130,9 @@ export default {
alert(this.$route.query.code) */
this
.
zReadyUserId
()
this
.
zTestGetNowUrlInfo
()
},
methods
:
{
methods
:
{
checkNowMenuBar
()
{
let
inData
=
"5"
;
this
.
menuBarInfo
.
icon
.
now
=
this
.
menuBarInfo
.
icon
.
ua
;
...
...
@@ -159,7 +160,7 @@ export default {
"color: orange;",
this.$route.query.code
) */
if
(
this
.
$route
.
query
.
code
===
undefined
){
// alert('没code')
// this.zTestPreAuthCode()
...
...
@@ -174,10 +175,10 @@ export default {
// alert('获取url')
this
.
zcache
.
nowUrl
=
JSON
.
stringify
(
this
.
$route
.
query
);
this
.
zcache
.
code
=
String
(
this
.
$route
.
query
.
code
);
this
.
url
=
this
.
zcache
.
nowUrl
this
.
url
=
this
.
zcache
.
nowUrl
},
zTestPreAuthCode
()
{
// alert('获取code')
// alert('获取code')
const
basicInfo
=
{
head
:
"https://open.weixin.qq.com/connect/oauth2/authorize?"
,
// appId: "wwd1cdbca7b8b2b6c4",
...
...
@@ -232,8 +233,13 @@ export default {
this
.
zcache
.
userInfoResNew
=
"RESERR."
;
});
},
}
};
handleDetail
(
type
){
if
(
type
===
'message'
){
this
.
$router
.
push
(
'/message'
)
}
}
}
};
</
script
>
<
style
scoped
>
...
...
wx_application/src/views/mainSale/message/addMessage.vue
0 → 100644
View file @
9b29ea89
<
template
>
<div
class=
"add-message-container"
>
<van-nav-bar
left-text=
"取消"
right-text=
"下一步"
@
click-left=
"onClickLeft"
@
click-right=
"onClickRight"
/>
<van-panel
class=
"van-panel"
>
<template
#
header
>
<van-field
class=
"message-title"
v-model=
"title"
placeholder=
"请输入标题"
/>
</
template
>
<van-field
class=
"message-content"
v-model=
"content"
placeholder=
"请输入内容"
input-align=
"left"
type=
"textarea"
/>
</van-panel>
</div>
</template>
<
script
>
export
default
{
name
:
'addMessage'
,
data
()
{
return
{
title
:
''
,
content
:
''
}
},
methods
:
{
onClickLeft
()
{
this
.
$router
.
back
()
},
onClickRight
()
{
//发布 全员发送 获取全部id 部分可见 获取check 的id
if
(
!
this
.
title
){
this
.
$toast
(
"请输入标题"
)
return
false
}
if
(
!
this
.
content
){
this
.
$toast
(
"请输入内容"
)
return
false
}
this
.
$store
.
commit
(
'message/title'
,
this
.
title
)
this
.
$store
.
commit
(
'message/content'
,
this
.
content
)
this
.
$router
.
push
(
'/releaseMessage'
)
},
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.add-message-container
{
height
:
100%
;
overflow
:
hidden
;
.van-nav-bar
{
padding
:
0
20px
;
&
:after
{
border
:
none
;
}
}
/
deep
/
.van-panel
{
padding
:
0
20px
;
&
:after
{
border
:
none
;
}
.message-title
{
&
:after
{
left
:
0
;
border-color
:
#ccc
;
}
.van-field__control
{
height
:
45px
;
}
}
.message-content
{
padding-top
:
10px
;
.van-field__control
{
height
:
calc
(
100vh
-
110px
);
}
}
}
}
</
style
>
wx_application/src/views/mainSale/message/index.vue
0 → 100644
View file @
9b29ea89
<
template
>
<div
class=
"message-container"
>
<div
class=
"message-list"
>
<div
class=
"message-panel-box"
v-for=
"(item,index) in messageList"
:key=
"index"
>
<div
class=
"message-panel-box-left"
>
<p
class=
"message-title"
></p>
<p
class=
"message-content"
></p>
</div>
<div
class=
"message-panel-box-right"
>
<span></span>
</div>
</div>
</div>
<div
class=
"btn-plus"
@
click=
"handleAddMessage"
>
<span>
+
</span>
</div>
</div>
</
template
>
<
script
>
import
{
getMessageByClerkId
}
from
'@/utils/utils.Request.aApi'
export
default
{
name
:
'index'
,
data
()
{
return
{
clerkId
:
'2003160512400400000'
,
messageList
:
[]
}
},
mounted
()
{
this
.
handleGetMessageByClerkId
()
},
methods
:
{
handleGetMessageByClerkId
()
{
let
_this
=
this
getMessageByClerkId
({
clerkId
:
_this
.
clerkId
})
.
then
(
res
=>
{
if
(
res
.
result
==
'success'
)
{
_this
.
messageList
=
res
.
data
}
else
{
_this
.
messageList
=
[]
_this
.
$toast
(
res
.
errorMsg
);
}
})
.
catch
(
err
=>
{
})
},
handleAddMessage
(){
this
.
$router
.
push
(
'/addMessage'
)
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.message-container
{
height
:
100%
;
.btn-plus
{
position
:
fixed
;
right
:
30px
;
bottom
:
30px
;
font-size
:
40px
;
font-weight
:
bold
;
width
:
50px
;
height
:
50px
;
border
:
2px
solid
#ccc
;
border-radius
:
50%
;
text-align
:
center
;
color
:
green
;
line-height
:
1
;
}
}
</
style
>
wx_application/src/views/mainSale/message/releaseMessage.vue
0 → 100644
View file @
9b29ea89
<
template
>
<div
class=
"release-message-container"
>
<van-nav-bar
left-text=
"取消"
right-text=
"发布"
@
click-left=
"onClickLeft"
@
click-right=
"onClickRight"
/>
<div
class=
"radio-group"
>
<van-radio-group
v-model=
"radio"
direction=
"horizontal"
@
change=
"handleChangeRadio"
>
<van-radio
name=
"1"
>
全员发送
</van-radio>
<van-radio
name=
"2"
>
部分可见
</van-radio>
</van-radio-group>
</div>
<div
class=
"userlist"
>
<van-checkbox-group
v-model=
"checkIds"
>
<van-checkbox
:name=
"item.userId"
shape=
"square"
v-for=
"(item,index) in userList"
:key=
"index"
>
{{
item
.
userName
}}
</van-checkbox>
</van-checkbox-group>
</div>
</div>
</
template
>
<
script
>
import
{
getClerkInfoBySupervisorId
,
newTask
}
from
'@/utils/utils.Request.aApi'
export
default
{
name
:
'releaseMessage'
,
data
()
{
return
{
radio
:
'1'
,
checkIds
:[],
supervisorId
:
'2003160512400400000'
,
userList
:[]
}
},
mounted
(){
this
.
getClerkInfoBySupervisorId
()
},
methods
:
{
// 根据主管id获取所属部门全部员工信息
getClerkInfoBySupervisorId
(){
let
_this
=
this
getClerkInfoBySupervisorId
({
supervisorId
:
_this
.
supervisorId
})
.
then
(
res
=>
{
if
(
res
.
result
==
'success'
)
{
_this
.
userList
=
res
.
data
_this
.
checkIds
=
res
.
data
.
map
(
v
=>
{
return
v
.
userId
})
}
else
{
_this
.
userList
=
[]
_this
.
$toast
(
res
.
errorMsg
);
}
})
.
catch
(
err
=>
{
})
},
onClickLeft
()
{
this
.
$router
.
back
()
},
onClickRight
()
{
//发布 全员发送 获取全部id 部分可见 获取check 的id
let
title
=
this
.
$store
.
state
.
title
let
content
=
this
.
$store
.
state
.
content
let
supervisorId
=
this
.
supervisorId
let
clerkIds
=
this
.
checkIds
debugger
let
requestParam
=
{
title
:
title
,
content
:
content
,
supervisorId
:
supervisorId
,
clerkIds
:
clerkIds
}
let
_this
=
this
// newTask(requestParam)
// .then(res => {
// if (res.result == 'success') {
// _this.$toast('发布成功');
// _this.$router.push('/message')
// } else {
// _this.$toast(res.errorMsg);
// }
// })
// .catch(err => {
//
// })
},
handleChangeRadio
(
val
){
if
(
val
==
'1'
){
this
.
checkIds
=
this
.
userList
.
map
(
v
=>
{
return
v
.
userId
})
}
},
}
}
</
script
>
<
style
lang=
"scss"
>
.release-message-container
{
height
:
100%
;
overflow
:
hidden
;
.van-nav-bar
{
padding
:
0
20px
;
/*&:after{*/
/*border: none;*/
/*}*/
}
.radio-group
{
margin
:
10px
0
20px
0
;
.van-radio-group--horizontal
{
padding
:
0
20px
;
justify-content
:
space-around
;
}
.van-radio__icon
{
font-size
:
18px
;
}
.van-radio__label
{
font-size
:
14px
;
}
}
.userlist
{
height
:
calc
(
100%
-
66px
);
overflow-x
:
hidden
;
overflow-y
:
scroll
;
.van-checkbox-group
{
padding
:
0
30px
;
.van-checkbox
{
margin-bottom
:
10px
;
.van-checkbox__icon
{
font-size
:
18px
;
}
.van-checkbox__label
{
font-size
:
14px
;
}
}
}
}
}
</
style
>
wx_application/yarn.lock
View file @
9b29ea89
...
...
@@ -2171,6 +2171,11 @@ clone@^1.0.2:
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
clone@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
coa@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
...
...
@@ -3268,6 +3273,11 @@ event-pubsub@4.3.0:
resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e"
integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==
eventemitter3@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba"
integrity sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=
eventemitter3@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb"
...
...
@@ -3399,7 +3409,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
extend@~3.0.2:
extend@
^3.0.2, extend@
~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
...
...
@@ -3442,6 +3452,11 @@ fast-deep-equal@^2.0.1:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-diff@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==
fast-glob@^2.2.6:
version "2.2.7"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
...
...
@@ -5923,6 +5938,11 @@ param-case@2.1.x:
dependencies:
no-case "^2.2.0"
parchment@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/parchment/-/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5"
integrity sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
...
...
@@ -6682,6 +6702,27 @@ querystringify@^2.1.1:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
quill-delta@^3.6.2:
version "3.6.3"
resolved "https://registry.yarnpkg.com/quill-delta/-/quill-delta-3.6.3.tgz#b19fd2b89412301c60e1ff213d8d860eac0f1032"
integrity sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==
dependencies:
deep-equal "^1.0.1"
extend "^3.0.2"
fast-diff "1.1.2"
quill@^1.3.4:
version "1.3.7"
resolved "https://registry.yarnpkg.com/quill/-/quill-1.3.7.tgz#da5b2f3a2c470e932340cdbf3668c9f21f9286e8"
integrity sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==
dependencies:
clone "^2.1.1"
deep-equal "^1.0.1"
eventemitter3 "^2.0.3"
extend "^3.0.2"
parchment "^1.1.4"
quill-delta "^3.6.2"
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
...
...
@@ -8280,6 +8321,14 @@ vue-loader@^15.7.2:
vue-hot-reload-api "^2.3.0"
vue-style-loader "^4.1.0"
vue-quill-editor@^3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz#1f85646211d68a31a80a72cb7f45bb2f119bc8fb"
integrity sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==
dependencies:
object-assign "^4.1.1"
quill "^1.3.4"
vue-router@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.1.3.tgz#e6b14fabc0c0ee9fda0e2cbbda74b350e28e412b"
...
...
@@ -8316,6 +8365,11 @@ vuex@^3.1.2:
resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.1.2.tgz#a2863f4005aa73f2587e55c3fadf3f01f69c7d4d"
integrity sha512-ha3jNLJqNhhrAemDXcmMJMKf1Zu4sybMPr9KxJIuOpVcsDQlTBYLLladav2U+g1AvdYDG5Gs0xBTb0M5pXXYFQ==
wangeditor@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/wangeditor/-/wangeditor-3.1.1.tgz#fbd3c1d4976923c9edebb85b29d30b35512ad039"
integrity sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk=
watchpack@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
...
...
ybf_admin/src/menu/header.js
View file @
9b29ea89
...
...
@@ -31,9 +31,9 @@ export default [
title: '任务管理',
icon: ''
}, */
{
path
:
'/goods/main'
,
title
:
'活动商品'
,
icon
:
''
}
//
{
//
path: '/goods/main',
//
title: '活动商品',
//
icon: ''
//
}
]
ybf_admin/src/pages/in/contact/components/addGroup.vue
View file @
9b29ea89
...
...
@@ -121,7 +121,6 @@ export default {
rules
:
{
label
:
[
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
validator
:
nameValidate
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
...
...
ybf_admin/src/pages/in/contact/components/editGroup.vue
View file @
9b29ea89
...
...
@@ -125,7 +125,6 @@ export default {
rules
:
{
label
:
[
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
validator
:
nameValidate
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
...
...
ybf_admin/src/pages/in/contact/mail.vue
View file @
9b29ea89
...
...
@@ -183,7 +183,8 @@ export default {
counterId
:
0
,
title
:
"全部"
,
totalNumber
:
""
,
nowNode
:
{}
nowNode
:
{},
flag
:
0
};
},
components
:
{
...
...
@@ -206,6 +207,7 @@ export default {
});
},
handleTreeClick
(
data
)
{
this
.
flag
=
''
this
.
nowNode
=
data
this
.
groupName
=
data
.
label
this
.
groupId
=
data
.
id
...
...
@@ -263,6 +265,7 @@ export default {
this
.
formData
.
keywords
=
''
this
.
groupName
=
"全部"
this
.
type
=
this
.
sType
=
1
;
this
.
flag
=
0
this
.
page
.
currentPage
=
ctPage
this
.
groupId
=
''
let
params
=
{
...
...
@@ -279,6 +282,7 @@ export default {
this
.
formData
.
keywords
=
''
this
.
page
.
currentPage
=
ctPage
this
.
groupName
=
"未分组"
this
.
flag
=
1
this
.
type
=
this
.
sType
=
2
;
this
.
groupId
=
''
let
params
=
{
...
...
@@ -329,7 +333,8 @@ export default {
}
let
params
=
{
param
:
this
.
formData
.
keywords
,
departmentId
:
this
.
groupId
departmentId
:
this
.
groupId
,
flag
:
this
.
flag
}
search
(
params
).
then
(
res
=>
{
console
.
log
(
res
,
'搜索数据'
)
...
...
@@ -350,7 +355,6 @@ export default {
id
}
changeRole
(
params
).
then
(
res
=>
{
if
(
this
.
groupId
)
{
this
.
getGroupMember
(
1
,
1
);
}
else
if
(
this
.
title
===
'未分组'
)
{
...
...
ybf_admin/src/router/routes.js
View file @
9b29ea89
...
...
@@ -39,7 +39,7 @@ const frameIn = [
component
:
()
=>
import
(
'@/pages/in/contact'
),
meta
:
{
auth
:
true
,
title
:
'
进件
管理'
title
:
'
通讯录
管理'
}
},
// // Z-进件管理-通讯录管理
...
...
@@ -113,15 +113,15 @@ const frameIn = [
}
},
// Z-活动商品-活动商品
{
path
:
'/goods/main'
,
name
:
'goodsMain'
,
component
:
()
=>
import
(
'@/pages/goods/main'
),
meta
:
{
auth
:
true
,
title
:
'活动商品'
}
},
//
{
//
path: '/goods/main',
//
name: 'goodsMain',
//
component: () => import('@/pages/goods/main'),
//
meta: {
//
auth: true,
//
title: '活动商品'
//
}
//
},
// // 演示页面
// {
// path: 'page1',
...
...
ybf_wx/public/register/index.html
View file @
9b29ea89
...
...
@@ -55,7 +55,6 @@
</div>
</div>
<script>
alert
(
window
.
location
.
href
)
function
GetQueryString
(
name
)
{
var
reg
=
new
RegExp
(
"(^|&)"
+
name
+
"=([^&]*)(&|$)"
,
"i"
);
var
r
=
window
.
location
.
search
.
substr
(
1
).
match
(
reg
)
...
...
@@ -74,7 +73,6 @@
const
showQRInfo
=
()
=>
{
// let pageUri = `${nowUrl}&detailid=${voucherId}&actionid=${activeId}&unionid=${unionId}`;
// let storecode = "181"
alert
(
storecode
)
let
pageUri
=
`pages/user/register/register?storeCode=
${
storecode
}
`
let
pageUrl
=
`http://139.155.48.151:8085/workWx/auth/oauth2/wxMiniQrCode?pageUri=
${
pageUri
}
`
;
...
...
ybf_wx/src/views/home.vue
View file @
9b29ea89
...
...
@@ -74,26 +74,18 @@
},
methods
:
{
zReadyUserId
()
{
zlog
(
"%c--->this.zcache.code ="
,
"color: orange;"
,
this
.
$route
.
query
.
code
);
if
(
this
.
$route
.
query
.
code
===
undefined
){
this
.
zTestPreAuthCode
()
}
else
{
this
.
zTestGetNowUrlInfo
()
;
this
.
zTestGetUserInfoByOldToken
()
;
this
.
zTestGetNowUrlInfo
()
this
.
zTestGetUserInfoByOldToken
()
}
},
// 测试-获取当前Url信息
zTestGetNowUrlInfo
()
{
this
.
zcache
.
nowUrl
=
JSON
.
stringify
(
this
.
$route
.
query
)
;
this
.
zcache
.
code
=
String
(
this
.
$route
.
query
.
code
)
;
zlog
(
"%c--->zTestGetNowUrlInfo: "
,
"color: orange;"
,
this
.
zcache
.
nowUrl
)
;
this
.
zcache
.
nowUrl
=
JSON
.
stringify
(
this
.
$route
.
query
)
this
.
zcache
.
code
=
String
(
this
.
$route
.
query
.
code
)
zlog
(
"%c--->zTestGetNowUrlInfo: "
,
"color: orange;"
,
this
.
zcache
.
nowUrl
)
},
zTestPreAuthCode
()
{
const
basicInfo
=
{
...
...
ybf_wx/src/views/sideNav/discount/index.vue
View file @
9b29ea89
...
...
@@ -127,17 +127,19 @@ export default {
},
zReadyGetUserFromId
()
{
let
postData
=
{
user
Id
:
this
.
zcache
.
userId
user
Name
:
this
.
zcache
.
userId
}
getUserInfoByUserId
(
postData
)
.
then
(
res
=>
{
// alert(`--->userInfoFromId: res = ${JSON.stringify(res.data)}`);
// this.zcache.userInfo = String(res.data[0].departmentId);
// storeId 暂时写死
alert
(
res
.
data
[
0
])
this
.
zcache
.
storeId
=
res
.
data
[
0
]
// this.zcache.storeId = Number(res.data[0].stall);
this
.
zReadySetVoucherList
();
if
(
res
.
data
[
0
].
oyStallCode
==
''
)
{
alert
(
'您当前没有绑定店铺'
)
}
else
{
this
.
zcache
.
storeId
=
res
.
data
[
0
].
oyStallCode
// this.zcache.storeId = Number(res.data[0].stall);
this
.
zReadySetVoucherList
()
}
})
.
catch
(
err
=>
{})
},
...
...
@@ -149,14 +151,18 @@ export default {
mdid
:
this
.
zcache
.
storeId
}
getVoucherList
(
postData
).
then
(
res
=>
{
this
.
zVoucherSet
(
res
.
result
.
coupons
);
if
(
res
.
result
.
coupons
.
length
==
0
)
{
alert
(
'当前店铺暂无优惠券可发放'
)
}
else
{
this
.
zVoucherSet
(
res
.
result
.
coupons
)
}
})
.
catch
(
err
=>
{
})
;
})
},
zReadyDelVoucherList
()
{
this
.
zVoucherDel
()
;
this
.
zVoucherUrlDel
()
;
this
.
zVoucherDel
()
this
.
zVoucherUrlDel
()
},
zVoucherPick
(
inActiveId
,
inVoucherId
)
{
...
...
@@ -169,13 +175,9 @@ export default {
appCode
:
"0697"
,
action_id
:
Number
(
inActiveId
),
coupon_id
:
Number
(
inVoucherId
)
};
zlog
(
"%c--->VoucherWxUrl: PD ="
,
"background: red;"
,
postData
);
}
getVoucherWxUrl
(
postData
).
then
(
res
=>
{
this
.
zVoucherUrlSet
(
res
.
result
.
link
)
alert
(
'获取列表成功'
)
});
},
...
...
ybf_wx/src/views/sideNav/register/index.vue
View file @
9b29ea89
...
...
@@ -38,46 +38,38 @@ import { getUserInfoByUserId } from "@/api/sidebar/voucher";
},
methods
:{
zReadyGetUserFromId
()
{
alert
(
'获取店铺'
)
alert
(
this
.
$route
.
params
.
userId
)
// let postData = {
// userId: this.$route.params.userId
// }
let
userId
=
this
.
$route
.
params
.
userId
alert
(
'请求'
)
getUserInfoByUserId
({
userId
}).
then
(
res
=>
{
alert
(
'获取成功'
)
alert
(
res
.
data
[
0
])
this
.
storeCode
=
res
.
data
[
0
]
let
userName
=
this
.
$route
.
params
.
userId
getUserInfoByUserId
({
userName
}).
then
(
res
=>
{
// alert('获取成功')
this
.
storeCode
=
res
.
data
[
0
].
oyStallMemberId
})
.
catch
(
err
=>
{
alert
(
'获取店铺失败'
)
})
alert
(
'what?'
)
},
sendMessage
(){
alert
(
'发消息'
)
let
url
=
`http://oysales.oywanhao.com/register?storeCode=
${
this
.
storeCode
}
`
alert
(
url
)
wx
.
invoke
(
"sendChatMessage"
,
{
msgtype
:
"news"
,
//消息类型,必填
news
:
{
link
:
url
,
//H5消息页面url 必填
title
:
"注册邀请"
,
//H5消息标题
desc
:
"注册成为欧亚会员"
,
//H5消息摘要
imgUrl
:
""
//H5消息封面图片URL
}
},
function
(
res
)
{
alert
(
'进入发送'
)
// alert('sendChatMessage')
if
(
res
.
err_msg
==
"sendChatMessage:ok"
)
{
}
else
if
(
res
.
err_msg
!=
"sendChatMessage:ok"
)
{
if
(
this
.
storeCode
==
''
)
{
alert
(
'您当前没有绑定店铺'
)
}
else
{
let
url
=
`http://oysales.oywanhao.com/register?storeCode=
${
this
.
storeCode
}
`
wx
.
invoke
(
"sendChatMessage"
,
{
msgtype
:
"news"
,
//消息类型,必填
news
:
{
link
:
url
,
//H5消息页面url 必填
title
:
"注册邀请"
,
//H5消息标题
desc
:
"注册成为欧亚会员"
,
//H5消息摘要
imgUrl
:
""
//H5消息封面图片URL
}
},
function
(
res
)
{
// alert('sendChatMessage')
if
(
res
.
err_msg
==
"sendChatMessage:ok"
)
{
}
else
if
(
res
.
err_msg
!=
"sendChatMessage:ok"
)
{
}
}
}
);
)
}
},
}
...
...
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