Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
newShopFront
Project
Project
Details
Activity
Releases
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
newshop
newShopFront
Commits
4259ed83
Commit
4259ed83
authored
Dec 17, 2019
by
Your Name
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
htf
parent
870e984e
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1123 additions
and
175 deletions
+1123
-175
package-lock.json
package-lock.json
+16
-0
package.json
package.json
+1
-0
store.js
src/api/store.js
+31
-1
polygon.png
src/assets/polygon.png
+0
-0
router.config.js
src/config/router.config.js
+16
-10
main.js
src/main.js
+15
-3
Electronicfence.vue
src/views/storedc/Electronicfence.vue
+185
-105
Scategorymg.vue
src/views/storedc/Scategorymg.vue
+24
-20
Elecfence_edit.vue
src/views/storedc/details/Elecfence_edit.vue
+811
-0
branchService_editor.vue
src/views/storedc/details/branchService_editor.vue
+23
-36
Eminforman.vue
src/views/userstaff/Eminforman.vue
+1
-0
No files found.
package-lock.json
View file @
4259ed83
...
...
@@ -15562,6 +15562,14 @@
"integrity"
:
"sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
,
"dev"
:
true
},
"uppercamelcase"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/uppercamelcase/-/uppercamelcase-1.1.0.tgz"
,
"integrity"
:
"sha1-Mk2YprOvx+iolT4QZBUJsOTiP5c="
,
"requires"
:
{
"camelcase"
:
"^1.2.1"
}
},
"uri-js"
:
{
"version"
:
"4.2.2"
,
"resolved"
:
"https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"
,
...
...
@@ -15771,6 +15779,14 @@
"resolved"
:
"https://registry.npmjs.org/vue/-/vue-2.6.10.tgz"
,
"integrity"
:
"sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
},
"vue-amap"
:
{
"version"
:
"0.5.10"
,
"resolved"
:
"https://registry.npmjs.org/vue-amap/-/vue-amap-0.5.10.tgz"
,
"integrity"
:
"sha512-9ViNCev1vx32+zZ5RvF/TmUZNbwL9QrdA2/OnD2GlXMfQBkJy7D08Vb7379t6guqnopDPtWJ8K6gg72h9+4GUg=="
,
"requires"
:
{
"uppercamelcase"
:
"^1.1.0"
}
},
"vue-clipboard2"
:
{
"version"
:
"0.2.1"
,
"resolved"
:
"https://registry.npmjs.org/vue-clipboard2/-/vue-clipboard2-0.2.1.tgz"
,
...
...
package.json
View file @
4259ed83
...
...
@@ -27,6 +27,7 @@
"
nprogress
"
:
"
^0.2.0
"
,
"
viser-vue
"
:
"
^2.4.6
"
,
"
vue
"
:
"
^2.6.10
"
,
"
vue-amap
"
:
"
^0.5.10
"
,
"
vue-clipboard2
"
:
"
^0.2.1
"
,
"
vue-cropper
"
:
"
0.4.9
"
,
"
vue-ls
"
:
"
^3.2.1
"
,
...
...
src/api/store.js
View file @
4259ed83
...
...
@@ -168,7 +168,37 @@ export function modifyStoreManage (parameter) {
data
:
parameter
})
}
// 获取门店服务类目管理
// 获取门店电子围栏
export
function
getElecfence
(
parameter
)
{
console
.
log
(
parameter
)
// let newParameter = {
// 'page': parameter.page,
// 'pageSize': parameter.pageSize
// }
return
axios
({
url
:
'branch/city-distribution-settings/city-distribution-setting-list'
,
method
:
'get'
,
params
:
parameter
})
}
// 获取门店电子围栏详情
export
function
getElecfenceDetails
(
parameter
)
{
return
axios
({
url
:
'branch/city-distribution-settings/city-distribution-setting-detail'
,
method
:
'get'
,
params
:
{
guid
:
parameter
}
})
}
// 删除门店电子围栏
export
function
deleteElecfence
(
id
)
{
console
.
log
(
id
)
return
axios
({
url
:
'branch/city-distribution-settings/city-distribution-setting-delete'
,
method
:
'delete'
,
data
:
{
"GUID"
:
id
}
})
}
// 获取门店服务类目列表
export
function
getScategorymg
(
parameter
)
{
console
.
log
(
parameter
)
// let newParameter = {
...
...
src/assets/polygon.png
0 → 100644
View file @
4259ed83
1.39 KB
src/config/router.config.js
View file @
4259ed83
...
...
@@ -109,7 +109,13 @@ export const asyncRouterMap = [
component
:
()
=>
import
(
'@/views/storedc/Electronicfence'
),
meta
:
{
title
:
'门店电子围栏'
,
keepAlive
:
false
,
permission
:
[
'table'
]
}
},
{
path
:
'/storedc/details/Elecfence_edit'
,
name
:
'Elecfence_edit'
,
hidden
:
true
,
component
:
()
=>
import
(
'@/views/storedc/details/Elecfence_edit'
),
meta
:
{
title
:
'编辑电子围栏'
,
keepAlive
:
false
,
permission
:
[
'table'
]
}
},
{
path
:
'/storedc/scategorymg'
,
name
:
'Scategorymg'
,
...
...
@@ -117,20 +123,20 @@ export const asyncRouterMap = [
meta
:
{
title
:
'门店服务类目管理'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/storedc/branchservice_editor'
,
path
:
'/storedc/
details/
branchservice_editor'
,
name
:
'branchService_editor'
,
hidden
:
true
,
component
:
()
=>
import
(
'@/views/storedc/details/branchService_editor'
),
meta
:
{
title
:
'编辑服务类目'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
{
path
:
'/storedc
/branchservice_add'
,
name
:
'branchservice_add'
,
hidden
:
true
,
component
:
()
=>
import
(
'@/views/storedc/details/branchservice_add'
),
// component:addbranchservice,
meta
:
{
title
:
'添加服务类目'
,
keepAlive
:
true
,
permission
:
[
'table'
]
}
},
//
{
// path: '/storedc/details
/branchservice_add',
//
name: 'branchservice_add',
//
hidden: true,
//
component: () => import('@/views/storedc/details/branchservice_add'),
//
// component:addbranchservice,
//
meta: { title: '添加服务类目', keepAlive: true, permission: [ 'table' ] }
//
},
{
path
:
'/storedc/cerfmg'
,
name
:
'Cerfmg'
,
...
...
src/main.js
View file @
4259ed83
...
...
@@ -8,22 +8,34 @@ import router from './router'
import
store
from
'./store/'
import
{
VueAxios
}
from
'./utils/request'
import
VueQuillEditor
from
'vue-quill-editor'
import
'quill/dist/quill.core.css'
import
'quill/dist/quill.snow.css'
import
'quill/dist/quill.bubble.css'
import
VueAMap
from
'vue-amap'
;
// mock
// WARNING: `mockjs` NOT SUPPORT `IE` PLEASE DO NOT USE IN `production` ENV.
//
import './mock'
import
'./mock'
import
bootstrap
from
'./core/bootstrap'
import
'./core/lazy_use'
import
'./permission'
// permission control
import
'./utils/filter'
// global filter
import
'./components/global.less'
import
common
from
'@/static/js/common.js'
Vue
.
config
.
productionTip
=
false
Vue
.
prototype
.
common
=
common
// mount axios Vue.$http and this.$http
Vue
.
use
(
VueAxios
)
Vue
.
use
(
VueQuillEditor
)
Vue
.
use
(
VueAMap
)
VueAMap
.
initAMapApiLoader
({
key
:
'your amap key'
,
plugin
:
[
'AMap.Autocomplete'
,
'AMap.PlaceSearch'
,
'AMap.Scale'
,
'AMap.OverView'
,
'AMap.ToolBar'
,
'AMap.MapType'
,
'AMap.PolyEditor'
,
'AMap.CircleEditor'
],
// 默认高德 sdk 版本为 1.4.4
v
:
'1.4.4'
});
new
Vue
({
router
,
...
...
src/views/storedc/Electronicfence.vue
View file @
4259ed83
...
...
@@ -4,40 +4,68 @@
<a-form
layout=
"inline"
>
<a-row
:gutter=
"48"
>
<a-col
:md=
"8"
:sm=
"24"
>
<a-form-item
label=
"
员工姓名
"
>
<a-input
v-model=
"queryParam.
NAME"
placeholder
/>
<a-form-item
label=
"
门店编码
"
>
<a-input
v-model=
"queryParam.
code"
placeholder=
"请输入门店编号"
/>
</a-form-item>
</a-col>
<a-col
:md=
"8"
:sm=
"24"
>
<a-form-item
label=
"员工编号"
>
<a-input
v-model=
"queryParam.EMPLOYEE_CODE"
placeholder
/>
<a-form-item
label=
"是否画O2O围栏"
>
<a-select
v-model=
"queryParam.o2o_issetting"
placeholder=
"请选择"
>
<a-select-option
value=
"0"
>
否
</a-select-option>
<a-select-option
value=
"1"
>
是
</a-select-option>
</a-select>
<!--
<a-input
v-model=
"queryParam.o2o_issetting"
placeholder
/>
-->
</a-form-item>
</a-col>
<template
v-if=
"advanced"
>
<a-col
:md=
"8"
:sm=
"24"
>
<a-form-item
label=
"电话号码"
>
<a-input
v-model=
"queryParam.MOBILE_PHONE"
placeholder
/>
<a-form-item
label=
"是否画B2C围栏"
>
<a-select
v-model=
"queryParam.b2c_issetting"
placeholder=
"请选择"
>
<a-select-option
value=
"0"
>
否
</a-select-option>
<a-select-option
value=
"1"
>
是
</a-select-option>
</a-select>
<!--
<a-input
v-model=
"queryParam.b2c_issetting"
placeholder
/>
-->
</a-form-item>
</a-col>
<a-col
:md=
"8"
:sm=
"24"
>
<a-form-item
label=
"所属门店"
>
<a-input
v-model=
"queryParam.EMPLOYEE_BRANCH_GUID"
placeholder
/>
<a-form-item
label=
"省市区"
>
<a-cascader
:allowClear=
"allowClear"
changeOnSelect
:fieldNames=
"addressFields"
:options=
"addressOptions"
:loadData=
"loadChildren"
placeholder=
"请选择地址"
v-model=
"addressTest"
></a-cascader>
</a-form-item>
</a-col>
</
template
>
<a-col
:md=
"!advanced && 8 || 24"
:sm=
"24"
>
<span
class=
"table-page-search-submitButtons"
:style=
"advanced && { float: 'right', overflow: 'hidden' } || {} "
>
<a-button
type=
"primary"
@
click=
"getData"
>
查询
</a-button>
<!--
<a-button
type=
"primary"
@
click=
"$refs.table.refresh(true)"
>
查询
</a-button>
-->
<a-button
style=
"margin-left: 8px"
@
click=
"() => queryParam =
{}">重置
</a-button>
<a-button
type=
"primary"
@
click=
"$refs.table.refresh(true)"
>
查询
</a-button>
<a-button
style=
"margin-left: 8px"
@
click=
"() =>{ queryParam = {};addressTest=[]}"
>
重置
</a-button>
<a
@
click=
"toggleAdvanced"
style=
"margin-left: 8px"
>
{{ advanced ? '收起' : '展开' }}
<a-icon
:type=
"advanced ? 'up' : 'down'"
/>
</a>
</span>
</a-col>
</a-row>
</a-form>
</div>
<div
class=
"table-operator"
>
<!-- <a-button type="primary" icon="plus">添加电子围栏</a-button> -->
<a-button
:loading=
"downloadLoading"
type=
"primary"
icon=
"cloud-upload"
@
click=
"handleDownload"
>
导出电子围栏
</a-button>
</div>
<s-table
ref=
"table"
size=
"default"
...
...
@@ -48,68 +76,14 @@
>
<span
slot=
"action"
slot-scope=
"text, record"
>
<
template
>
<a
@
click=
"handleEdit(record)"
>
详情
</a>
<a
@
click=
"handleEdit(record)"
>
编辑配送详情
</a>
<a-divider
type=
"vertical"
/>
<a-popconfirm
title=
"是否要删除此行?"
@
confirm=
"remove(record.GUID)"
>
<a>
删除
</a>
</a-popconfirm>
</
template
>
</span>
</s-table>
<a-modal
title=
"操作"
:width=
"800"
v-model=
"visible"
@
ok=
"handleOk"
>
<a-form
:Form=
"(form)=>{this.form = form}"
>
<a-form-item
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
label=
"用户GUID"
hasFeedback
validateStatus=
"success"
>
<a-input
placeholder=
"用户GUID"
v-model=
"queryParam.GUID"
id=
"GUID"
disabled=
"disabled"
/>
</a-form-item>
<a-form-item
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
label=
"员工姓名"
hasFeedback
validateStatus=
"success"
>
<a-input
placeholder=
"员工姓名"
v-model=
"queryParam.NAME"
id=
"NAME"
disabled=
"disabled"
/>
</a-form-item>
<a-form-item
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
label=
"员工编号"
hasFeedback
validateStatus=
"success"
>
<a-input
placeholder=
"员工编号"
v-model=
"queryParam.EMPLOYEE_CODE"
id=
"permission_name"
/>
</a-form-item>
<a-form-item
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
label=
"电话号码"
hasFeedback
validateStatus=
"success"
>
<a-input
placeholder=
"电话号码"
v-model=
"queryParam.MOBILE_PHONE"
id=
"permission_name"
/>
</a-form-item>
<a-form-item
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
label=
"所属部门"
hasFeedback
validateStatus=
"success"
>
<a-input
placeholder=
"所属部门"
v-model=
"queryParam.EMPLOYEE_BRANCH_GUID"
id=
"permission_name"
/>
</a-form-item>
</a-form>
</a-modal>
</a-card>
</template>
...
...
@@ -117,7 +91,7 @@
import
moment
from
'moment'
import
{
STable
}
from
'@/components'
import
{
get
Permissions
}
from
'@/api/manag
e'
import
{
get
Elecfence
,
loadAddress
,
deleteElecfence
}
from
'@/api/stor
e'
export
default
{
name
:
'TableList'
,
...
...
@@ -126,8 +100,8 @@ export default {
},
data
()
{
return
{
visible
:
false
,
//
visible: false,
downloadLoading
:
false
,
labelCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
5
}
...
...
@@ -136,6 +110,14 @@ export default {
xs
:
{
span
:
24
},
sm
:
{
span
:
16
}
},
allowClear
:
true
,
addressOptions
:
[],
addressFields
:
{
label
:
'NAME'
,
value
:
'GUID'
,
children
:
'children'
},
addressTest
:
null
,
form
:
null
,
mdl
:
{},
// 高级搜索 展开/关闭
...
...
@@ -145,8 +127,8 @@ export default {
// 表头
columns
:
[
{
title
:
'门店
GUID
'
,
dataIndex
:
'
GUID
'
title
:
'门店
编码
'
,
dataIndex
:
'
CODE
'
},
{
title
:
'门店名称'
,
...
...
@@ -154,44 +136,44 @@ export default {
},
{
title
:
'省'
,
dataIndex
:
'
EMPLOYEE_COD
E'
dataIndex
:
'
PROVINC
E'
},
{
title
:
'市'
,
dataIndex
:
'
MOBILE_PHONE
'
dataIndex
:
'
CITY
'
},
{
title
:
'区/县'
,
dataIndex
:
'
EMPLOYEE_BRANCH_GUID
'
dataIndex
:
'
REGION
'
},
{
title
:
'电话'
,
dataIndex
:
'
EMPLOYEE_BRANCH_GUID
'
dataIndex
:
'
PHONE
'
},
{
title
:
'门店地址'
,
dataIndex
:
'
EMPLOYEE_BRANCH_GUID
'
dataIndex
:
'
ADDRESS
'
},
{
title
:
'是否画O2O围栏'
,
dataIndex
:
'
EMPLOYEE_BRANCH_GUID
'
dataIndex
:
'
020_ISSETTING
'
},
{
title
:
'是否画B2C围栏'
,
dataIndex
:
'
EMPLOYEE_BRANCH_GUID
'
dataIndex
:
'
B2C_ISSETTING
'
},
{
title
:
'操作'
,
dataIndex
:
'
deleted
'
,
width
:
'
15
0px'
,
dataIndex
:
'
action
'
,
width
:
'
20
0px'
,
scopedSlots
:
{
customRender
:
'action'
}
}
],
// 加载数据方法 必须为 Promise 对象
loadData
:
parameter
=>
{
console
.
log
(
'loadData.parameter'
,
parameter
)
return
get
Permissions
(
Object
.
assign
(
parameter
,
this
.
queryParam
)).
then
(
res
=>
{
return
get
Elecfence
(
Object
.
assign
(
parameter
,
this
.
addressCheck
(
this
.
addressTest
)
)).
then
(
res
=>
{
console
.
log
(
res
)
res
.
pageSize
=
res
.
_meta
.
perPage
res
.
page
=
res
.
_meta
.
currentPage
...
...
@@ -204,30 +186,128 @@ export default {
})
},
selectedRowKeys
:
[],
selectedRows
:
[]
,
selectedRows
:
[]
}
},
created
()
{
mounted
()
{
this
.
loadProvince
()
},
methods
:
{
// queryParame处理省市区传旨
addressCheck
(
value
)
{
console
.
log
(
value
)
if
(
value
)
{
if
(
value
.
length
>
0
)
{
if
(
value
.
length
>
1
)
{
if
(
value
.
length
>
2
)
{
this
.
queryParam
.
province
=
this
.
addressTest
[
0
]
this
.
queryParam
.
city
=
this
.
addressTest
[
1
]
this
.
queryParam
.
region
=
this
.
addressTest
[
2
]
}
else
{
this
.
queryParam
.
province
=
this
.
addressTest
[
0
]
this
.
queryParam
.
city
=
this
.
addressTest
[
1
]
}
}
else
{
this
.
queryParam
.
province
=
this
.
addressTest
[
0
]
}
}
}
return
this
.
queryParam
},
// 加载省
loadProvince
()
{
loadAddress
()
.
then
(
res
=>
{
res
.
data
.
forEach
(
item
=>
{
item
.
isLeaf
=
false
})
console
.
log
(
res
)
this
.
addressOptions
=
res
.
data
})
.
catch
(
err
=>
{})
},
// 加载市区
loadChildren
(
selectedOptions
)
{
if
(
selectedOptions
.
length
<
2
)
{
const
targetOption
=
selectedOptions
[
selectedOptions
.
length
-
1
]
targetOption
.
loading
=
true
var
that
=
this
let
giveParent
=
{
PARENT_GUID
:
targetOption
.
GUID
}
loadAddress
(
giveParent
)
.
then
(
res
=>
{
res
.
data
.
forEach
(
item
=>
{
item
.
isLeaf
=
false
})
setTimeout
(()
=>
{
targetOption
.
loading
=
false
targetOption
.
children
=
res
.
data
this
.
addressOptions
=
[...
this
.
addressOptions
]
},
1000
)
})
.
catch
(
err
=>
{})
}
else
{
const
targetOption
=
selectedOptions
[
selectedOptions
.
length
-
1
]
targetOption
.
loading
=
true
var
that
=
this
let
giveParent
=
{
PARENT_GUID
:
targetOption
.
GUID
}
loadAddress
(
giveParent
)
.
then
(
res
=>
{
// res.data.forEach(item => {
// item.isLeaf=false;
// })
setTimeout
(()
=>
{
targetOption
.
loading
=
false
targetOption
.
children
=
res
.
data
this
.
addressOptions
=
[...
this
.
addressOptions
]
},
1000
)
})
.
catch
(
err
=>
{})
}
},
//导出电子围栏
handleDownload
(
record
)
{
var
that
=
this
// getElecfenceExcel(record.ENG_NAME)
// .then(res => {
// // this.radioVal = res.data[0]
// console.log(res.data[0])
// // this.modalForm.initialValue(res)
// this.$nextTick(() => {
// this.ENG_NAME = res.data[0].ENG_NAME
// this.modalForm.setFieldsValue(res.data[0])
// })
// })
// .catch(err => {})
},
handleEdit
(
record
)
{
this
.
queryParam
=
Object
.
assign
({},
record
)
// this.queryParam = Object.assign({}, record)
this
.
$router
.
push
({
path
:
'/storedc/details/Elecfence_edit'
,
query
:{
GUID
:
record
.
GUID
}
})
console
.
log
(
this
.
queryParam
)
this
.
visible
=
true
//
this.visible = true
},
handleOk
()
{
remove
(
key
)
{
console
.
log
(
key
)
deleteElecfence
(
key
)
.
then
(
res
=>
{
this
.
$refs
.
table
.
refresh
()
})
.
catch
(
err
=>
{})
},
// handleOk() {
// this.$refs.table.refresh()
// },
onSelectChange
(
selectedRowKeys
,
selectedRows
)
{
this
.
selectedRowKeys
=
selectedRowKeys
this
.
selectedRows
=
selectedRows
},
//
toggleAdvanced() {
//
this.advanced = !this.advanced
//
},
toggleAdvanced
()
{
this
.
advanced
=
!
this
.
advanced
},
resetSearchForm
()
{
this
.
queryParam
=
{
date
:
moment
(
new
Date
())
...
...
src/views/storedc/Scategorymg.vue
View file @
4259ed83
<
template
>
<a-card
:bordered=
"false"
>
<div
class=
"table-operator"
>
<a-button
@
click=
"handle
add
"
type=
"primary"
icon=
"plus"
>
添加服务类目
</a-button>
<a-button
@
click=
"handle
Edit(1)
"
type=
"primary"
icon=
"plus"
>
添加服务类目
</a-button>
<a-button
type=
"primary"
icon=
"cloud-upload"
>
导出服务类目
</a-button>
<a-button
type=
"primary"
icon=
"cloud-download"
>
导入服务类目
</a-button>
<a-button
type=
"primary"
icon=
"download"
>
下载导入模板
</a-button>
...
...
@@ -26,7 +26,7 @@
</span>
</s-table>
<a-modal
title=
"操作"
:width=
"800"
v-model=
"visible"
@
ok=
"handleOk"
>
<
!-- <
a-modal title="操作" :width="800" v-model="visible" @ok="handleOk">
<a-form :form="modalForm">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="服务类目名称">
<a-input v-decorator="['NAME']" name="NAME" placeholder="请输入服务类目名称" />
...
...
@@ -44,7 +44,7 @@
<a-date-picker showTime v-decorator="['CREATE_TIME',{normalize:DateCheck}]" />
</a-form-item>
</a-form>
</a-modal>
</a-modal>
-->
</a-card>
</template>
...
...
@@ -155,23 +155,27 @@ export default {
return
moment
(
value
,
'YYYY-MM-DD HH:mm:ss'
)
}
},
handleEdit
(
record
)
{
this
.
visible
=
true
var
that
=
this
getScategorymgDetails
(
record
.
CODE
)
.
then
(
res
=>
{
// this.radioVal = res.data[0]
console
.
log
(
res
.
data
[
0
])
// this.modalForm.initialValue(res)
this
.
$nextTick
(()
=>
{
this
.
GUID
=
res
.
data
[
0
].
GUID
this
.
modalForm
.
setFieldsValue
(
res
.
data
[
0
])
})
})
.
catch
(
err
=>
{})
},
handleadd
()
{
this
.
$router
.
push
({
path
:
'/storedc/branchservice_add'
})
// handleEdit(record) {
// this.visible = true
// var that = this
// getScategorymgDetails(record.CODE)
// .then(res => {
// // this.radioVal = res.data[0]
// console.log(res.data[0])
// // this.modalForm.initialValue(res)
// this.$nextTick(() => {
// this.GUID = res.data[0].GUID
// this.modalForm.setFieldsValue(res.data[0])
// })
// })
// .catch(err => {})
// },
handleEdit
(
value
)
{
if
(
value
==
1
){
this
.
$router
.
push
({
path
:
'/storedc/details/branchService_editor'
,
query
:{
goid
:
1
}
})
}
else
{
this
.
$router
.
push
({
path
:
'/storedc/details/branchService_editor'
,
query
:{
goid
:
0
,
GUID
:
value
.
GUID
}
})
}
},
handleOk
()
{
let
GUID
=
this
.
GUID
...
...
src/views/storedc/details/Elecfence_edit.vue
0 → 100644
View file @
4259ed83
<
template
>
<a-card
:bordered=
"false"
>
<div
class=
"table-page-search-wrapper"
>
<a-tabs
defaultActiveKey=
"1"
@
change=
"callback"
>
<a-tab-pane
tab=
"O2O电子围栏"
key=
"1"
>
<template>
<div
class=
"amap-page-container"
>
<a-form
:form=
"o2oForm"
>
<div
class=
"amap-mainbar"
>
<a-form-item
label=
"门店地址"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-model=
'dataInfo.ADDRESS'
/>
<!--
<span
v-model=
"dataInfo.ADDRESS"
></span>
-->
</a-form-item>
</div>
<a-form-item
label=
"是否开启"
:label-col=
"formItemLayout.labelCol"
:wrapper-col=
"formItemLayout.wrapperCol"
>
<a-checkbox
v-decorator=
"['STATUS',
{valuePropName:'checked',normalize:checkBox}]">是否开启O2O电子围栏
</a-checkbox>
</a-form-item>
<a-form-item
label=
"全景图"
:label-col=
"formItemLayout.labelCol"
:wrapper-col=
"formItemLayout.wrapperCol"
>
<div
class=
"actions"
>
<a-button
type=
"primary"
>
全景图
</a-button>
</div>
</a-form-item>
<a-form-item
label=
"配送区域设置"
:label-col=
"formItemLayout.labelCol"
:wrapper-col=
"formItemLayout.wrapperCol"
>
<a-radio-group
@
change=
"gomodeChange"
v-decorator=
"['REGION_TYPE',
{initialValue:'1',normalize:checkRadio}]">
<a-radio
value=
'1'
>
不同区域不同配送费
</a-radio>
<a-radio
value=
'2'
>
不同距离不同配送费
</a-radio>
</a-radio-group>
</a-form-item>
<div
class=
"tip"
>
<a-form-item
label=
""
:label-col=
"formItemLayout.labelCol"
:wrapper-col=
"formItemLayout.wrapperCol"
>
<div
class=
"adddivson"
@
click=
"addO2oRegions"
>
<button>
添加配送区域
</button>
</div>
<div
class=
"add-distance"
>
<div
class=
"region-distance"
v-show=
"o2oRegionType==2"
>
<div
class=
"region-line"
>
<div
class=
"region-distance-txt"
>
配送费:
</div>
<div
class=
"region-distance-list"
>
<div
class=
"region-input"
>
<input
type=
"text"
/>
</div>
<div
class=
"regintxt"
>
公里内
</div>
<div
class=
"region-input"
>
<input
type=
"text"
/>
</div>
<div
class=
"regintxt"
>
元
</div>
</div>
<div
class=
"region-distance-list"
>
<div
class=
"regintxt"
>
增加
</div>
<div
class=
"region-input"
>
<input
type=
"text"
/>
</div>
<div
class=
"regintxt"
>
公里
</div>
</div>
<div
class=
"region-distance-list"
>
<div
class=
"regintxt"
>
配送费增加
</div>
<div
class=
"region-input"
>
<input
type=
"text"
/>
</div>
<div
class=
"regintxt"
>
元
</div>
</div>
</div>
<div
class=
"tips"
>
注:因考虑实际送货路况,配送费计算按车行距离,非地图直线距离.
</div>
</div>
<div
class=
"region-con-xq"
>
<div
class=
"region-distance-xq"
:class=
[
{active:region.is_checked}] @click="regionChecked(region,index)" v-bind:key="region.SORT" v-for="(region,index) in o2oRegions">
<div
class=
"region-distance-txt-xq"
>
<div>
<div
class=
"region-icon-01"
:style=
"region.colorstyle"
></div>
配送区域
{{
region
.
SORT
}}
:
</div>
<div
class=
"region-xq-del"
@
click
.
stop=
"deleteO2oRegions(index)"
>
删除
</div>
</div>
<div
class=
"region-distance-li-xq"
>
<!--
<div
class=
"regintxt-xq"
>
起送价:
</div>
<div
class=
"region-input-xq"
>
<input
type=
"text"
/>
</div>
-->
<!--
<div
class=
"regintxt-xq"
>
元
</div>
-->
</div>
<div
class=
"region-mode"
v-if=
"o2oRegionType==1"
>
<a-form-item
marginBottom=
"0px"
label=
"配送费"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-model=
'region.DELIVERY_PRICE'
name=
"DELIVERY_PRICE[]"
/>
</a-form-item>
<!--
<div
class=
"regintxt-xq"
>
配送费:
</div>
<div
class=
"region-input-xq"
>
<input
type=
"text"
/>
</div>
-->
<!--
<div
class=
"regintxt-xq"
>
元
</div>
-->
</div>
<div
class=
"region-mode"
>
<a-form-item
label=
"起送价"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-model=
'region.INITIAL_PRICE'
name=
"DELIVERY_PRICE[]"
/>
</a-form-item>
<a-form-item
label=
"划分方式"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-radio-group
@
change=
"goEditChange($event,region)"
v-model=
"region.DIVIDE_TYPE"
>
<a-radio
value=
"1"
>
半径
</a-radio>
<a-radio
value=
"2"
>
自定义
</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item
label=
"配送区域:"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
v-if=
"region.DIVIDE_TYPE==1"
>
<div
class=
"ps-region-input"
>
<input
type=
"text"
v-model=
"region.REGION_R"
/>
</div>
<div
class=
"hz-kilometre"
>
米内
</div>
</a-form-item>
<a-form-item
label=
"配送区域:"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
v-else-if=
"region.DIVIDE_TYPE==2"
>
<div
class=
"hz-kilometre"
><span></span>
区域内
</div>
</a-form-item>
<!--
<div
class=
"region-listblock-arrow"
style=
"border:1px red solid;"
></div>
-->
</div>
<div
class=
"region-listblock-arrow"
></div>
</div>
</div>
<!--
<div
class=
"adddivson"
@
click=
"addO2oRegions"
>
<button>
添加配送区域
</button>
</div>
-->
</div>
</a-form-item>
</div>
<div
class=
"mapMain"
>
<el-amap
ref=
"map"
:plugin=
"mapsetting.plugin"
:vid=
"mapsetting.vid"
:amap-manager=
"mapsetting.amapManager"
:center=
"mapsetting.center"
:zoom=
"mapsetting.zoom"
:events=
"mapsetting.events"
class=
"amap-demo"
>
<div
v-bind:key=
"region.SORT"
v-for=
"(region,index) in o2oRegions"
>
<el-amap-circle
v-if=
"region.DIVIDE_TYPE==1"
:center=
"region.center"
:editable=
"region.editable"
:visible=
"region.visible"
:strokeColor=
"region.strokeColor"
:strokeWeight=
"region.strokeWeight"
:fillColor=
"region.fillColor"
:fillOpacity=
"region.fillOpacity"
:radius=
"region.REGION_R"
:events=
"region.events"
></el-amap-circle>
<el-amap-polygon
v-if=
"region.DIVIDE_TYPE==2"
:vid=
"index"
:ref=
"`polygon_$
{index}`"
:path="region.REGION_RANGE"
:editable="region.editable"
:visible="region.visible"
:strokeColor="region.strokeColor"
:strokeWeight="region.strokeWeight"
:fillColor="region.fillColor"
:fillOpacity="region.fillOpacity"
:draggable="region.draggable"
:events="region.events"
>
</el-amap-polygon>
</div>
</el-amap>
</div>
<a-form-item
:wrapperCol=
"
{ span: 24 }"
style="text-align: center"
>
<a-button
htmlType=
"submit"
type=
"primary"
>
提交
</a-button>
<a-button
@
click=
"goBack"
style=
"margin-left: 8px"
>
返回
</a-button>
</a-form-item>
</a-form>
<!--
<div>
{{
O
}}
|
{{
P
}}
|
{{
lat
}}
|
{{
lng
}}
</div>
-->
</div>
</
template
>
</a-tab-pane>
<a-tab-pane
tab=
"B2C电子围栏"
key=
"2"
forceRender
>
Content of Tab Pane 2
</a-tab-pane>
</a-tabs>
</div>
</a-card>
</template>
<
script
>
import
Vue
from
'vue'
import
VueAMap
from
'vue-amap'
import
{
getElecfenceDetails
}
from
'@/api/store'
import
{
parseString
}
from
'loader-utils'
Vue
.
use
(
VueAMap
)
let
amapManager
=
new
VueAMap
.
AMapManager
()
const
formItemLayout
=
{
labelCol
:
{
span
:
3
},
wrapperCol
:
{
span
:
21
}
}
export
default
{
name
:
'Gaode'
,
data
:
function
()
{
return
{
defaultColors
:[
[
'255,152,68'
,
'#ff9844'
],
[
'81,255,68'
,
'#51ff44'
],
[
'51,136,255'
,
'#3388ff'
],
[
'255,68,68'
,
'#ff4444'
]
],
sort
:
0
,
//正在操作的区域编号
dataInfo
:[],
o2oRegionType
:
'1'
,
o2oRegions
:[],
mapsetting
:{
vid
:
'O2oMap'
,
zoom
:
13
,
center
:
[
121.59996
,
31.197646
],
amapManager
:
amapManager
,
plugin
:
[
{
pName
:
'ToolBar'
,
events
:
{
init
(
instance
)
{
console
.
log
(
instance
);
}
}
}
],
events
:
{
}
},
labelCol
:
{
span
:
7
},
wrapperCol
:
{
span
:
12
},
o2oForm
:
this
.
$form
.
createForm
(
this
),
formItemLayout
,
value
:
1
,
// workFlowStatus:1,
// polygonsObj:[],
visible
:
false
,
// editable: false,
// amapManager: amapManager,
// ruler:false,
// zoom: 14,
// center: [121.59996, 31.197646],
// amapManager,
// events: {
// init: o => {
// let marker = new AMap.Marker({
// position: [121.59996, 31.197646]
// })
// marker.setMap(o)
// console.log(o.getCenter())
// console.log(this.$refs.map.$$getInstance())
// o.getCity(result => {
// console.log(result)
// })
// },
// moveend: () => {},
// zoomchange: () => {},
// click: e => {
// alert('map clicked')
// }
// },
// plugin: [
// 'ToolBar',
// {
// pName: 'MapType',
// defaultType: 0,
// events: {
// init(o) {
// console.log(o)
// }
// }
// }
// ],
// circles: [
// {
// center: [121.59996, 31.197646],
// radius: 200,
// fillOpacity: 0.5,
// visible: true,
// editable: true,
// events: {
// click: () => {
// alert('click')
// }
// }
// }
// ],
// polygons: [
// {
// // draggable: true,
// visible: false,
// editable: false,
// path: [
// [121.60596, 31.203646],
// [121.60596, 31.191646],
// [121.59396, 31.191646],
// [121.59396, 31.203646],
// [121.60596, 31.203646]
// ],
// events: {
// click: () => {
// alert('click polugon')
// console.log(amapManager.getComponent(0))
// console.log(this.$refs.map.$$getCenter())
// console.log(this.$refs.polygon_0[0].$$getPath())
// }
// }
// }
// ]
}
},
// computed: {
// formItemLayout () {
// }
// },
mounted
(){
this
.
loadinfo
();
},
methods
:
{
//添加区域
addO2oRegions
(){
let
sort
=
0
;
//把其他区域设置为不可编辑状态、其他区域不选中
for
(
let
i
in
this
.
o2oRegions
){
this
.
o2oRegions
[
i
][
'editable'
]
=
false
;
this
.
o2oRegions
[
i
][
'is_checked'
]
=
false
;
if
(
this
.
o2oRegions
[
i
][
'SORT'
]
>=
sort
){
sort
=
this
.
o2oRegions
[
i
][
'SORT'
]
}
}
sort
++
;
if
(
this
.
defaultColors
.
length
==
0
){
console
.
log
(
"不能添加更多了"
)
return
false
;
}
let
center
=
this
.
mapsetting
.
center
;
console
.
log
(
sort
)
let
color
=
this
.
defaultColors
.
pop
();
let
colorstyle
=
{
'borderColor'
:
'rgba('
+
color
[
0
]
+
')'
,
'backgroundColor'
:
'rgba('
+
color
[
0
]
+
',0.4)'
,
}
let
range_num
=
"0.01"
;
//距离圆心变化数
let
o2oRegion
=
{
'is_checked'
:
true
,
//是否选中
'color'
:
color
,
//颜色
'colorstyle'
:
colorstyle
,
//显示的颜色数组
'SORT'
:
sort
,
//序号
'COLORS'
:
color
[
1
],
//区域颜色
'DIVIDE_TYPE'
:
'1'
,
//默认圆
'REGION_R'
:
'1000'
,
//默认圆1公里半径
'REGION_RANGE'
:
''
,
//自定义数组
'INITIAL_PRICE'
:
'0'
,
//起送价
'DELIVERY_PRICE'
:
'0'
,
//配送价
'editable'
:
true
,
//编辑状态
'visible'
:
true
,
//是否显示
'center'
:
center
,
//圆心位置
'strokeColor'
:
color
[
1
],
//线条颜色
'strokeWeight'
:
'1'
,
//轮廓线宽度
'fillColor'
:
color
[
1
],
//填充颜色
'fillOpacity'
:
'0.3'
,
'draggable'
:
true
,
//多边形是否可移动
'REGION_RANGE'
:[
[
parseFloat
(
center
[
0
])
-
parseFloat
(
range_num
),
parseFloat
(
center
[
1
])
+
parseFloat
(
range_num
)],
[
parseFloat
(
center
[
0
])
+
parseFloat
(
range_num
),
parseFloat
(
center
[
1
])
+
parseFloat
(
range_num
)],
[
parseFloat
(
center
[
0
])
+
parseFloat
(
range_num
),
parseFloat
(
center
[
1
])
-
parseFloat
(
range_num
)],
[
parseFloat
(
center
[
0
])
-
parseFloat
(
range_num
),
parseFloat
(
center
[
1
])
-
parseFloat
(
range_num
)],
[
parseFloat
(
center
[
0
])
-
parseFloat
(
range_num
),
parseFloat
(
center
[
1
])
+
parseFloat
(
range_num
)]
],
events
:
{
adjust
:
(
e
)
=>
{
if
(
e
.
target
.
CLASS_NAME
==
'AMap.Circle'
){
this
.
o2oRegions
[
this
.
sort
].
REGION_R
=
e
.
radius
;
}
},
change
:(
e
)
=>
{
console
.
log
(
e
)
},
end
:(
e
)
=>
{
console
.
log
(
e
)
}
}
};
// this.o2oRegions[sort]=o2oRegion;
// Vue.set(this.o2oRegions,sort,o2oRegion);
this
.
o2oRegions
.
push
(
o2oRegion
);
this
.
sort
=
this
.
o2oRegions
.
length
-
1
},
goBack
(){
this
.
$router
.
push
({
path
:
"/storedc/Electronicfence"
})
},
deleteO2oRegions
(
index
){
//还回去点颜色
this
.
defaultColors
.
push
(
this
.
o2oRegions
[
index
][
'color'
])
this
.
o2oRegions
.
splice
(
index
,
1
);
},
//切换选中区域
regionChecked
(
region
,
index
){
//把其他区域设置为不可编辑状态、其他区域不选中
for
(
let
i
in
this
.
o2oRegions
){
this
.
o2oRegions
[
i
][
'editable'
]
=
false
;
this
.
o2oRegions
[
i
][
'is_checked'
]
=
false
;
}
region
.
editable
=
true
;
region
.
is_checked
=
true
;
this
.
sort
=
index
;
},
// 获取信息
loadinfo
(){
console
.
log
(
this
.
$route
.
query
)
var
guid
=
this
.
$route
.
query
.
GUID
;
getElecfenceDetails
(
guid
).
then
(
res
=>
{
this
.
$nextTick
(()
=>
{
this
.
dataInfo
=
res
;
this
.
mapsetting
.
center
=
[
res
.
LAT
,
res
.
LNG
];
//设置地图中心点
this
.
o2oFormInfo
=
{
// 'SETTING_TYPE':res['020']['SETTING_TYPE'],
// 'BRANCH_GUID':res['020']['BRANCH_GUID'],
// 'GUID':res['020']['GUID'],
'REGION_TYPE'
:
'1'
,
// 'REGION_TYPE':res['020']['REGION_TYPE'],
// 'REGION_DISTR_DISTANCE':res['020']['REGION_DISTR_DISTANCE'],
// 'REGION_DISTR_PRICE':res['020']['REGION_DISTR_PRICE'],
// 'INCREASE_DISTANCE':res['020']['INCREASE_DISTANCE'],
// 'INCREASE_PRICE':res['020']['INCREASE_PRICE'],
// 'STATUS':'0',
// 'REGION':res['020']['REGION'],
};
// this.b2cBranchinfo={
// 'ADDRESS':res.ADDRESS,
// 'NAME':res.NAME,
// 'GUID':res.GUID,
// 'LAT':res.LAT,
// 'LNG':res.LNG,
// 'DATA':res.B2C,
// };
// this.o2oRegions = [
// {
// 'DIVIDE_TYPE':'1',
// 'REGION_R':'12',
// 'INITIAL_PRICE':'12',
// 'DELIVERY_PRICE':'22',
// },
// {
// 'DIVIDE_TYPE':'2',
// 'REGION_RANGE':[
// [121.60596, 31.203646],
// [121.60596, 31.191646],
// [121.59396, 31.191646],
// [121.59396, 31.203646],
// [121.60596, 31.203646]
// ],
// 'INITIAL_PRICE':'10',
// 'DELIVERY_PRICE':'8',
// }
// ]
this
.
o2oForm
.
setFieldsValue
(
this
.
o2oFormInfo
)
// this.b2cForm.setFieldsValue(this.b2cBranchinfo)
console
.
log
(
this
.
o2oBranchinfo
)
})
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
checkRadio
(
value
){
return
value
.
toString
();
},
checkBox
(
value
){
if
(
Number
(
value
)
==
1
){
return
true
}
else
{
return
false
}
},
onChange
(
e
)
{
console
.
log
(
`checked =
${
e
.
target
.
checked
}
`
)
},
getMap
()
{
// amap vue component
console
.
log
(
amapManager
.
_componentMap
)
// gaode map instance
console
.
log
(
amapManager
.
_map
)
},
gomodeChange
(
e
){
this
.
o2oRegionType
=
e
.
target
.
value
},
goEditChange
(
e
,
region
)
{
//改变自定义或者圆时的设置问题
let
value
=
e
.
target
.
value
if
(
value
==
'1'
)
{
//圆
region
.
DIVIDE_TYPE
=
'1'
;
}
else
if
(
value
==
'2'
){
//自定义
region
.
DIVIDE_TYPE
=
'2'
;
}
else
{
}
// console.log(region.REGION_RANGE)
// return region;
// this.o2oRegions.push(o2oRegion);
// if (value == '1') {
// // this.editable = true
// this.circles[0].editable = true
// this.circles[0].visible = true
// this.polygons[0].editable = false
// this.polygons[0].visible = false
// } else if (value == '2') {
// this.circles[0].editable = false
// this.circles[0].visible = false
// this.polygons[0].editable = true
// this.polygons[0].visible = true
// } else {
// return false
// }
},
// goEditableZ() {
// this.editable = true
// this.visible = true
// editable:true
// },
callback
(
key
)
{
console
.
log
(
key
)
}
}
}
</
script
>
<
style
scoped
>
.amap-demo
{
height
:
600px
;
}
.amap-mainbar
{
max-width
:
600px
;
}
.amap-divson-method
{
max-width
:
400px
;
padding
:
0px
10px
;
background
:
#fff
;
border
:
1px
solid
silver
;
box-shadow
:
3px
4px
3px
0px
silver
;
}
.mapMain
{
margin-bottom
:
20px
;
position
:
relative
;
}
.tip
{
overflow
:
hidden
;
padding
:
0px
10px
;
margin-left
:
150px
;
}
.adddivson
{
background
:
#fff
;
}
.adddivson
>
button
{
background
:
#fff
;
display
:
block
;
padding
:
0
;
font-size
:
12px
;
outline
:
none
;
cursor
:
pointer
;
width
:
200px
;
color
:
#38f
;
line-height
:
30px
;
border
:
1px
#38f
solid
;
text-align
:
center
;
}
.region-distance
{
background
:
#fff
;
padding
:
10px
;
/* border: 1px #ddd solid; */
}
.region-line
{
display
:
flex
;
align-items
:
center
;
}
.region-distance-list
{
font-size
:
14px
;
overflow
:
hidden
;
}
.region-input
{
width
:
50px
;
display
:
table-cell
;
}
.region-input
>
input
{
border
:
1px
#ddd
solid
;
border-radius
:
5px
;
padding
:
3px
3px
;
outline
:
none
;
box-sizing
:
border-box
;
width
:
100%
;
min-width
:
50px
;
max-height
:
30px
;
}
.regintxt
{
display
:
table-cell
;
font-size
:
14px
;
padding
:
0px
5px
;
}
.tips
{
/* max-width: 183px; */
line-height
:
18px
;
font-size
:
12px
;
color
:
#38f
;
margin-bottom
:
5px
;
}
.region-distance-xq
{
max-width
:
260px
;
background
:
#fff
;
padding
:
0px
10px
;
margin
:
10px
10px
0px
0px
;
border
:
1px
#ddd
solid
;
}
.region-con-xq
{
display
:
flex
;
align-items
:
center
;
}
.region-distance-txt-xq
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
margin-bottom
:
5px
;
}
.region-input-xq
{
position
:
relative
;
width
:
60px
;
display
:
table-cell
;
}
.region-input-xq
>
input
{
border
:
1px
#ddd
solid
;
border-radius
:
5px
;
padding
:
3px
3px
;
outline
:
none
;
box-sizing
:
border-box
;
width
:
100%
;
min-width
:
50px
;
max-height
:
30px
;
display
:
table-cell
;
}
.region-xq-del
{
font-size
:
12px
;
color
:
#38f
;
cursor
:
pointer
;
}
.region-distance-li-xq
{
font-size
:
14px
;
overflow
:
hidden
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.region-input-xq
::after
{
position
:
absolute
;
top
:
50%
;
right
:
10px
;
transform
:
translateY
(
-50%
);
display
:
block
;
content
:
'\5143'
;
font-size
:
12px
;
color
:
#999
;
}
.regintxt-xq
{
display
:
table-cell
;
}
.region-icon-01
{
display
:
inline-block
;
width
:
15px
;
height
:
15px
;
margin-right
:
5px
;
vertical-align
:
middle
;
border
:
1px
solid
transparent
;
background
:
#fff
;
}
.region-distance-xq.active
{
position
:
relative
;
border-color
:
#38f
;
}
.region-distance-xq.active
.region-listblock-arrow
{
position
:
absolute
;
right
:
0
;
bottom
:
0
;
border-color
:
transparent
#155bd4
#155bd4
transparent
;
border-style
:
solid
;
border-width
:
10px
;
}
.region-distance-xq.active
.region-listblock-arrow
::before
{
width
:
5px
;
left
:
-3px
;
bottom
:
-8px
;
transform
:
rotate
(
35deg
);
}
.region-distance-xq.active
.region-listblock-arrow
::after
{
width
:
12px
;
left
:
-1px
;
bottom
:
-5px
;
transform
:
rotate
(
130deg
);
}
.region-distance-xq.active
.region-listblock-arrow
:after
,
.region-distance-xq.active
.region-listblock-arrow
:before
{
position
:
absolute
;
display
:
block
;
content
:
""
;
height
:
2px
;
background
:
#fff
;
}
.ps-region
{
max-width
:
400px
;
padding
:
10px
10px
;
background
:
#fff
;
border
:
1px
solid
silver
;
-webkit-box-shadow
:
3px
4px
3px
0px
silver
;
box-shadow
:
3px
4px
3px
0px
silver
;
}
.ps-regintxt
{
display
:
table-cell
;
font-size
:
14px
;
padding
:
0px
5px
;
}
.ps-region-input
{
width
:
50px
;
display
:
table-cell
;
}
.ps-region-input
>
input
{
border
:
1px
#ddd
solid
;
border-radius
:
5px
;
padding
:
3px
3px
;
outline
:
none
;
box-sizing
:
border-box
;
width
:
100%
;
min-width
:
50px
;
max-height
:
30px
;
}
.hz-kilometre
{
padding-left
:
10px
;
display
:
table-cell
;
}
.hz-kilometre
span
::before
{
display
:
inline-block
;
content
:
""
;
width
:
22px
;
height
:
22px
;
margin-top
:
-4px
;
margin-right
:
8px
;
vertical-align
:
middle
;
background
:
url("../../../assets/polygon.png")
;
background-size
:
100%
;
background-position
:
50%
;
background-repeat
:
no-repeat
;
}
/* .add-distance{
width: 300px;
} */
/* /deep/.ant-input{
border: none;
} */
</
style
>
\ No newline at end of file
src/views/storedc/details/branchService_editor.vue
View file @
4259ed83
...
...
@@ -57,24 +57,17 @@
/>
</a-form-item>
<a-form-item
label=
"
服务类目描述
"
label=
"
创建时间
"
:labelCol=
"
{lg: {span: 7}, sm: {span: 7}}"
:wrapperCol="{lg: {span: 10}, sm: {span: 17} }"
:required="false"
>
<a-date-picker
showTime
v-decorator=
"['CREATE_TIME',
{normalize:DateCheck}]" />
<!--
<a-input
placeholder=
"请输入创建时间"
v-decorator=
"[
'CREATE_TIME',
{rules: [{ required: true, message: '请输入创建时间' }]}
]"
name="CREATE_TIME"
/> -->
</a-form-item>
<a-form-item
:wrapperCol=
"
{ span: 24 }" style="text-align: center">
<a-button
@
click=
"handleSubmit1()"
htmlType=
"submit"
type=
"primary"
>
提交
</a-button>
<a-button
v-if=
"goId == 1"
@
click
.
stop
.
prevent=
"handleSubmit"
htmlType=
"submit"
type=
"primary"
>
提交
</a-button>
<a-button
v-else
@
click
.
stop
.
prevent=
"handleSubmit1()"
htmlType=
"submit"
type=
"primary"
>
提交
</a-button>
<a-button
@
click=
"goBack"
style=
"margin-left: 8px"
>
返回
</a-button>
</a-form-item>
</a-form>
...
...
@@ -83,16 +76,15 @@
<
script
>
import
moment
from
'moment'
// 获取门店服务类目详情
import
{
getScategorymgDetails
}
from
'@/api/store'
//修改门店服务类目
import
{
modifyScategorymgDetails
}
from
'@/api/store'
import
{
getScategorymgDetails
,
addScategorymg
,
modifyScategorymgDetails
,
deleteScategorymg
}
from
'@/api/store'
export
default
{
name
:
'BaseForm'
,
data
()
{
return
{
description
:
'表单页用于向用户收集或验证信息,基础表单常见于数据项较少的表单场景。'
,
goId
:
1
,
GUID
:
''
,
value
:
Object
,
// form
form
:
this
.
$form
.
createForm
(
this
)
...
...
@@ -104,11 +96,10 @@ export default {
mounted
()
{
console
.
log
(
this
.
$route
.
query
)
var
id
=
this
.
$route
.
query
.
GUID
// var coDe = this.$route.query.code
// this.coDe = coDe
// this.scateId = id
// if (coDe == 0) {
// this.scateId = id
var
gooId
=
this
.
$route
.
query
.
goid
this
.
goId
=
gooId
this
.
GUID
=
id
if
(
gooId
==
0
)
{
getScategorymgDetails
(
id
)
.
then
(
res
=>
{
console
.
log
(
res
)
...
...
@@ -116,11 +107,9 @@ export default {
this
.
GUID
=
res
.
data
[
0
].
GUID
this
.
form
.
setFieldsValue
(
res
.
data
[
0
])
})
// this.form.initialValue(res)
// this.form.setFieldsValue(res)
})
.
catch
(
err
=>
{})
}
},
methods
:
{
// 时间处理
...
...
@@ -132,23 +121,21 @@ export default {
checkRadio
(
value
)
{
return
value
.
toString
()
},
// handleSubmit() {
// alert(111)
// const {
// form: { validateFields }
// } = this
// validateFields({ force: true }, (err, values) => {
// if (!err) {
// const ScategorymgParams = { ...values }
// addScategorymg(ScategorymgParams)
// this.$router.push({ path: '/storedc/scategorymg' })
// }
// })
// },
handleSubmit
()
{
const
{
form
:
{
validateFields
}
}
=
this
validateFields
({
force
:
true
},
(
err
,
values
)
=>
{
if
(
!
err
)
{
const
ScategorymgParams
=
{
...
values
}
addScategorymg
(
ScategorymgParams
)
this
.
$router
.
push
({
path
:
'/storedc/scategorymg'
})
}
})
},
handleSubmit1
()
{
alert
(
121
)
let
GUID
=
this
.
GUID
//
const
{
form
:
{
validateFields
}
}
=
this
...
...
src/views/userstaff/Eminforman.vue
View file @
4259ed83
...
...
@@ -39,6 +39,7 @@
</div>
<div
class=
"table-operator"
>
<a-button
@
click=
"goEdit(1)"
type=
"primary"
icon=
"plus"
>
添加员工
</a-button>
<a-button
type=
'primary'
icon=
'import'
>
导入员工信息
</a-button>
</div>
<s-table
ref=
"table"
...
...
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