v1.1
1、提货点 2、客服(腾讯云智服) 3、接口权限控制 4、复制第三方商品可配置 4、优化附件上传配置 5、手机端核销订单 6、手机端订单统计、订单管理 7、短信优化 8、订阅消息全自动化
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
:biztype="constants.categoryType[4]"
|
||||
:select-model="true"
|
||||
:row-select="pram.rules"
|
||||
:select-model-keys="editData.rules"
|
||||
:select-model-keys="editData.rules ? editData.rules.split(',') : []"
|
||||
@rulesSelect="rulesSelect"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -38,16 +38,14 @@ export default {
|
||||
},
|
||||
editData: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return { rules: [] }
|
||||
}
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
constants,
|
||||
pram: {
|
||||
level: 0,
|
||||
level: 1,
|
||||
roleName: null,
|
||||
rules: [],
|
||||
status: null,
|
||||
@@ -65,7 +63,7 @@ export default {
|
||||
initEditData() {
|
||||
if (this.isCreate !== 1) return
|
||||
const { level, roleName, rules, status, id } = this.editData
|
||||
this.pram.rules = rules
|
||||
this.pram.rules = rules.split(',')
|
||||
this.pram.level = level
|
||||
this.pram.roleName = roleName
|
||||
this.pram.status = status
|
||||
@@ -94,11 +92,6 @@ export default {
|
||||
})
|
||||
},
|
||||
rulesSelect(selectKeys) {
|
||||
// let _ids = []
|
||||
// select.map(item => {
|
||||
// _ids.push(item.id)
|
||||
// })
|
||||
// this.pram.rules = _ids.join(',')
|
||||
this.pram.rules = selectKeys
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,9 +120,7 @@ export default {
|
||||
})
|
||||
},
|
||||
handlerOpenEdit(isCreate, editDate) {
|
||||
if (isCreate === 1) { editDate.rules = editDate.rules.split(',') }
|
||||
|
||||
this.editDialogConfig.editData = editDate
|
||||
isCreate === 1 ? this.editDialogConfig.editData = editDate : this.editDialogConfig.editData = {}
|
||||
this.editDialogConfig.isCreate = isCreate
|
||||
this.editDialogConfig.visible = true
|
||||
},
|
||||
|
||||
@@ -45,7 +45,6 @@ export default {
|
||||
'sort': 0,
|
||||
'status': true
|
||||
}
|
||||
console.log(_pram)
|
||||
configSaveForm(_pram).then(res => {
|
||||
this.getFormInfo()
|
||||
this.$message.success('操作成功')
|
||||
|
||||
@@ -9,22 +9,22 @@
|
||||
:name="tab.extra"
|
||||
>
|
||||
<!-- 文件上传特殊处理-->
|
||||
<template v-if="activeNamel1 == 4">
|
||||
<el-radio-group v-model="activeNamel2" class="mb10">
|
||||
<el-radio v-for="tabItem,itemIndex in tab.child"
|
||||
:key="itemIndex"
|
||||
:label="tabItem.name" @change="()=>handleItemTabClick(tabItem.extra)">{{tabItem.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
<parser
|
||||
v-if="formConfChild.render"
|
||||
:is-edit="formConfChild.isEdit"
|
||||
:form-conf="formConfChild.content"
|
||||
:form-edit-data="currentEditData"
|
||||
@submit="handlerSubmit"
|
||||
/>
|
||||
</template>
|
||||
<!-- <template v-if="activeNamel1 == 4">-->
|
||||
<!-- <el-radio-group v-model="activeNamel2" class="mb10">-->
|
||||
<!-- <el-radio v-for="tabItem,itemIndex in tab.child"-->
|
||||
<!-- :key="itemIndex"-->
|
||||
<!-- :label="tabItem.name" @change="()=>handleItemTabClick(tabItem.extra)">{{tabItem.name}}</el-radio>-->
|
||||
<!-- </el-radio-group>-->
|
||||
<!-- <parser-->
|
||||
<!-- v-if="formConfChild.render"-->
|
||||
<!-- :is-edit="formConfChild.isEdit"-->
|
||||
<!-- :form-conf="formConfChild.content"-->
|
||||
<!-- :form-edit-data="currentEditData"-->
|
||||
<!-- @submit="handlerSubmit"-->
|
||||
<!-- />-->
|
||||
<!-- </template>-->
|
||||
<!-- 正常配置渲染-->
|
||||
<template v-else>
|
||||
<template>
|
||||
<el-tabs v-if="tab.child.length > 0" v-model="activeNamel2"
|
||||
type="border-card" @tab-click="handleItemTabClick">
|
||||
<el-tab-pane
|
||||
@@ -92,7 +92,6 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
handleTabClick(tab, event) {
|
||||
console.log(tab)
|
||||
if (tab.name) {
|
||||
this.handlerGetLevel1FormConfig(tab.name)
|
||||
} else if (tab.$children.length > 0 ) { // 初次加载第二层的第一个Tab数据
|
||||
@@ -104,7 +103,6 @@ export default {
|
||||
let _selected = tab.$children[0].panes[0]
|
||||
// 设置特殊处理的文件长传表单默认选中第一个tab
|
||||
this.activeNamel2 = _selected.name != 72 ? _selected.name : _selected.label
|
||||
console.log(this.activeNamel2)
|
||||
if(this.activeNamel2 == 108){
|
||||
switch (this.currentSelectedUploadFlag) {
|
||||
case 1:
|
||||
@@ -229,7 +227,6 @@ export default {
|
||||
handleAddArrt(treeData) {
|
||||
// let _result = this.addTreeListLabel(treeData)
|
||||
const _result = selfUtil.addTreeListLabel(treeData)
|
||||
console.log(_result)
|
||||
return _result
|
||||
},
|
||||
buildFormPram(formValue) {
|
||||
|
||||
147
admin/src/views/systemSetting/storeService/chatRoom/index.vue
Normal file
147
admin/src/views/systemSetting/storeService/chatRoom/index.vue
Normal file
@@ -0,0 +1,147 @@
|
||||
<template>
|
||||
<div class="divBox">
|
||||
<el-card class="box-card">
|
||||
<div class="acea-row roomBox">
|
||||
<div class="room-left">
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="acea-row room-left-list">
|
||||
<div class="userHead mr10"><img src="../../../../assets/imgs/mobilehead.png"></div>
|
||||
<div class="userName">
|
||||
<span class="sp1" title="小红帽的外婆家">小红帽的外婆家</span>
|
||||
<span class="sp2">是的你好</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="room-med"></div>
|
||||
<div class="room-right"></div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "index"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.room{
|
||||
&-left::-webkit-scrollbar {
|
||||
display: none; /* Chrome Safari */
|
||||
}
|
||||
&-left{
|
||||
width: 230px;
|
||||
height: 600px;
|
||||
border: 1px solid #e6ebf5;
|
||||
padding: 0 0 15px 15px;
|
||||
box-sizing: border-box;
|
||||
scrollbar-width: none; /* firefox */
|
||||
-ms-overflow-style: none; /* IE 10+ */
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
&-list{
|
||||
border-bottom: 1px solid #e6ebf5;
|
||||
padding-bottom: 15px;
|
||||
padding: 15px 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
&-med{
|
||||
width: 400px;
|
||||
height: 600px;
|
||||
border-top: 1px solid #e6ebf5;
|
||||
border-bottom: 1px solid #e6ebf5;
|
||||
}
|
||||
&-right{
|
||||
width: 250px;
|
||||
height: 600px;
|
||||
border: 1px solid #e6ebf5;
|
||||
}
|
||||
}
|
||||
.userHead{
|
||||
width: 55px;
|
||||
height: 55px;
|
||||
img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
.userName{
|
||||
.sp1{
|
||||
font-size: 15px;
|
||||
display: block;
|
||||
width: 118px;
|
||||
overflow: hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.sp2{
|
||||
font-size: 14px;
|
||||
display: block;
|
||||
color: #C0C4CC;
|
||||
margin-top: 21px;
|
||||
width: 118px;
|
||||
overflow: hidden;
|
||||
text-overflow:ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
15
admin/src/views/systemSetting/storeService/index.vue
Normal file
15
admin/src/views/systemSetting/storeService/index.vue
Normal file
@@ -0,0 +1,15 @@
|
||||
<template>
|
||||
<div>
|
||||
<router-view />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
|
||||
</style>
|
||||
13
admin/src/views/systemSetting/storeService/list/index.vue
Normal file
13
admin/src/views/systemSetting/storeService/list/index.vue
Normal file
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "index"
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
@@ -1,18 +1,9 @@
|
||||
<template>
|
||||
<el-dialog v-model="dialogFormVisible" :title="id?'修改核销员':'添加核销员'" :visible.sync="dialogFormVisible" width="750px" @close="cancel">
|
||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="150px" class="demo-ruleForm" @submit.native.prevent>
|
||||
<el-form-item label="商城用户:" prop="avatar">
|
||||
<div class="publicPicBox" @click="upImg">
|
||||
{{ruleForm.avatar}}
|
||||
<div class="pictrue" v-if="ruleForm.avatar">
|
||||
<el-image
|
||||
:src="ruleForm.avatar"
|
||||
fit="cover"></el-image>
|
||||
</div>
|
||||
<div class="upLoad acea-row row-center-wrapper" v-else>
|
||||
<i class="el-icon-camera iconfont"></i>
|
||||
</div>
|
||||
</div>
|
||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="150px" class="demo-ruleForm" @submit.native.prevent v-loading="loading">
|
||||
<el-form-item label="管理员:" prop="uid">
|
||||
<span v-text="ruleForm.avatar"></span>
|
||||
<el-button type="primary" size="small" @click="upImg">选择管理员</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属提货点:" prop="storeId">
|
||||
<el-select v-model="ruleForm.storeId" placeholder="请选择" style="width:50%" clearable>
|
||||
@@ -25,22 +16,10 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="核销员名称:">
|
||||
<el-input v-model="ruleForm.staffName" placeholder="请输入提货点简介" class="dialogWidth"></el-input>
|
||||
<el-input v-model="ruleForm.staffName" placeholder="请输入核销员名称" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码:">
|
||||
<el-input v-model="ruleForm.phone" placeholder="请输入提货点简介" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="核销开关:">
|
||||
<el-radio-group v-model="ruleForm.verifyStatus">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-radio :label="0">关闭</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态:">
|
||||
<el-radio-group v-model="ruleForm.status">
|
||||
<el-radio :label="1">开启</el-radio>
|
||||
<el-radio :label="0">关闭</el-radio>
|
||||
</el-radio-group>
|
||||
<el-input v-model="ruleForm.phone" placeholder="请输入手机号码" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
@@ -55,6 +34,7 @@
|
||||
<script>
|
||||
import customerInfo from '@/components/customerInfo';
|
||||
import { storeStaffSaveApi, storeStaffUpdateApi, storeStaffInfoApi, storeListApi } from '@/api/storePoint';
|
||||
import { getStoreStaff } from '@/libs/public'
|
||||
export default {
|
||||
name: "addClerk",
|
||||
components: { customerInfo },
|
||||
@@ -70,20 +50,19 @@
|
||||
}
|
||||
};
|
||||
return{
|
||||
loading: false,
|
||||
dialogFormVisible: false,
|
||||
id:0,
|
||||
ruleForm:{
|
||||
avatar:'',
|
||||
phone:'',
|
||||
staffName:'',
|
||||
status:1,
|
||||
storeId:'',
|
||||
verifyStatus:1,
|
||||
uid:''
|
||||
uid:'',
|
||||
avatar: ''
|
||||
},
|
||||
name: '',
|
||||
rules: {
|
||||
avatar: [
|
||||
{ required: true, validator: validateUpload, trigger: 'change' }
|
||||
uid: [
|
||||
{ required: true, message: '请选择管理员', trigger: 'change' }
|
||||
],
|
||||
storeId: [
|
||||
{ required: true, message: '请选择提货点地址', trigger: 'change' }
|
||||
@@ -99,9 +78,9 @@
|
||||
},
|
||||
methods:{
|
||||
//接收来自子集的值;
|
||||
upImgUid(id,img){
|
||||
this.ruleForm.avatar = img;
|
||||
this.ruleForm.uid = id;
|
||||
upImgUid(row){
|
||||
this.ruleForm.avatar = row.account
|
||||
this.ruleForm.uid = row.id;
|
||||
},
|
||||
upImg(){
|
||||
this.$refs.customer.dialogFormVisible = true;
|
||||
@@ -109,12 +88,13 @@
|
||||
},
|
||||
//详情
|
||||
getInfo (id) {
|
||||
let that = this;
|
||||
that.id = id;
|
||||
this.id = id;
|
||||
this.loading = true
|
||||
storeStaffInfoApi({id:id}).then(res=>{
|
||||
that.ruleForm = res;
|
||||
this.ruleForm = res;
|
||||
this.loading = false
|
||||
}).catch(res=>{
|
||||
this.$message.error(res.message);
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
//取消
|
||||
@@ -122,14 +102,13 @@
|
||||
this.dialogFormVisible = false;
|
||||
this.clearFrom();
|
||||
this.resetForm('ruleForm');
|
||||
this.ruleForm.avatar = '';
|
||||
this.id = 0
|
||||
},
|
||||
//数据归为初始状态
|
||||
clearFrom(){
|
||||
this.ruleForm.phone = '';
|
||||
this.ruleForm.staffName = '';
|
||||
this.ruleForm.status = 1;
|
||||
this.ruleForm.verifyStatus = 1;
|
||||
},
|
||||
//重置
|
||||
resetForm (name) {
|
||||
@@ -152,8 +131,7 @@
|
||||
this.clearFrom();
|
||||
this.resetForm(name);
|
||||
this.id = 0;
|
||||
}).catch(res => {
|
||||
this.$message.error(res.message);
|
||||
getStoreStaff()
|
||||
})
|
||||
} else {
|
||||
return false;
|
||||
@@ -177,8 +155,7 @@
|
||||
this.clearFrom();
|
||||
this.resetForm(name);
|
||||
this.id = 0;
|
||||
}).catch(res => {
|
||||
this.$message.error(res.message);
|
||||
getStoreStaff()
|
||||
})
|
||||
} else {
|
||||
return false;
|
||||
|
||||
@@ -34,50 +34,46 @@
|
||||
<!--label="微信名称"-->
|
||||
<!--min-width="150">-->
|
||||
<!--</el-table-column>-->
|
||||
<el-table-column
|
||||
prop="avatar"
|
||||
label="头像"
|
||||
min-width="100">
|
||||
<template slot-scope="{ row, index }" class="picMiddle">
|
||||
<div class="demo-image__preview">
|
||||
<el-image
|
||||
style="width: 36px; height: 36px"
|
||||
:src="row.avatar"
|
||||
:preview-src-list="[row.avatar]"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="staffName"
|
||||
label="核销员名称"
|
||||
min-width="150">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="avatar"
|
||||
label="账号"
|
||||
min-width="150">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="phone"
|
||||
label="手机号码"
|
||||
min-width="100">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="systemStore.detailedAddress"
|
||||
label="所属提货点"
|
||||
min-width="150">
|
||||
min-width="200">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="添加时间"
|
||||
min-width="180">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="状态"
|
||||
min-width="100">
|
||||
<template slot-scope="{ row, index }">
|
||||
<el-switch
|
||||
v-model="row.status"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
active-text="显示"
|
||||
inactive-text="隐藏"
|
||||
@change="onchangeIsShow(row.id,row.status)">
|
||||
</el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!--<el-table-column-->
|
||||
<!--prop="status"-->
|
||||
<!--label="状态"-->
|
||||
<!--min-width="100">-->
|
||||
<!--<template slot-scope="{ row, index }">-->
|
||||
<!--<el-switch-->
|
||||
<!--v-model="row.status"-->
|
||||
<!--:active-value="1"-->
|
||||
<!--:inactive-value="0"-->
|
||||
<!--active-text="显示"-->
|
||||
<!--inactive-text="隐藏"-->
|
||||
<!--@change="onchangeIsShow(row.id,row.status)">-->
|
||||
<!--</el-switch>-->
|
||||
<!--</template>-->
|
||||
<!--</el-table-column>-->
|
||||
<el-table-column
|
||||
fixed="right"
|
||||
label="操作"
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<div class="container">
|
||||
<el-form size="small" label-width="100px">
|
||||
<el-form size="small" label-width="100px" :inline="true" >
|
||||
<el-form-item label="时间选择:" class="width100">
|
||||
<el-radio-group v-model="tableFrom.dateLimit" type="button" class="mr20" size="small" @change="selectChange(tableFrom.dateLimit)">
|
||||
<el-radio-button v-for="(item,i) in fromList.fromTxt" :key="i" :label="item.val">{{ item.text }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-date-picker v-model="timeVal" value-format="yyyy/MM/dd" format="yyyy/MM/dd" size="small" type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 250px;" @change="onchangeTime" />
|
||||
<el-date-picker v-model="timeVal" value-format="yyyy-MM-dd" format="yyyy-MM-dd" size="small" type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 250px;" @change="onchangeTime" />
|
||||
</el-form-item>
|
||||
<el-form-item label="选择门店:">
|
||||
<el-select v-model="tableFrom.storeId" clearable filterable placeholder="请选择" class="selWidth" clearable @change="seachList">
|
||||
@@ -20,7 +20,7 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字:" class="width100">
|
||||
<el-form-item label="关键字:">
|
||||
<el-input v-model="tableFrom.keywords" placeholder="请输入姓名、电话、订单ID" class="selWidth" size="small">
|
||||
<el-button slot="append" icon="el-icon-search" size="small" @click="seachList" />
|
||||
</el-input>
|
||||
@@ -59,18 +59,20 @@
|
||||
label="商品信息"
|
||||
min-width="330"
|
||||
>
|
||||
<!--<template slot-scope="scope">-->
|
||||
<!--<div v-for="(val, i ) in scope.row.productList" :key="i" class="tabBox acea-row row-middle">-->
|
||||
<!--<div class="demo-image__preview">-->
|
||||
<!--<el-image-->
|
||||
<!--:src="val.info.productInfo.image"-->
|
||||
<!--:preview-src-list="[val.info.productInfo.image]"-->
|
||||
<!--/>-->
|
||||
<!--</div>-->
|
||||
<!--<span class="tabBox_tit">{{ val.info.productInfo.storeName + ' | ' }}{{ val.info.productInfo.attrInfo.sku }}</span>-->
|
||||
<!--<span class="tabBox_pice">{{ '¥'+ val.info.productInfo.price + ' x '+ val.info }}</span>-->
|
||||
<!--</div>-->
|
||||
<!--</template>-->
|
||||
<template slot-scope="scope">
|
||||
<div v-if=" scope.row.productList && scope.row.productList.length">
|
||||
<div v-for="(val, i ) in scope.row.productList" :key="i" class="tabBox acea-row row-middle">
|
||||
<div class="demo-image__preview">
|
||||
<el-image
|
||||
:src="val.info.productInfo.image"
|
||||
:preview-src-list="[val.info.productInfo.image]"
|
||||
/>
|
||||
</div>
|
||||
<span class="tabBox_tit mr10">{{ val.info.productInfo.storeName + ' | ' }}{{ val.info.productInfo.attrInfo.suk ? val.info.productInfo.attrInfo.suk:'-' }}</span>
|
||||
<span class="tabBox_pice">{{ '¥'+ val.info.productInfo.attrInfo.price ? val.info.productInfo.attrInfo.price + ' x '+ val.info.cartNum : '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="payPrice"
|
||||
@@ -100,7 +102,7 @@
|
||||
min-width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.status | orderStatusFilter }}</span>
|
||||
<span>{{ scope.row.statusStr.value}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
@@ -190,7 +192,7 @@
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e
|
||||
this.tableFrom.dateLimit = e ? this.timeVal.join('-') : ''
|
||||
this.tableFrom.dateLimit = e ? this.timeVal.join(',') : ''
|
||||
this.tableFrom.page = 1
|
||||
this.getList()
|
||||
},
|
||||
@@ -231,7 +233,7 @@
|
||||
}
|
||||
}
|
||||
.selWidth{
|
||||
width: 350px;
|
||||
width: 300px;
|
||||
}
|
||||
.el-dropdown-link {
|
||||
cursor: pointer;
|
||||
|
||||
@@ -1,67 +1,69 @@
|
||||
<template>
|
||||
<el-dialog v-model="dialogFormVisible" :title="id?'修改提货点':'添加提货点'" :visible.sync="dialogFormVisible" width="750px" @close="cancel">
|
||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="150px" class="demo-ruleForm" @submit.native.prevent>
|
||||
<el-form-item label="提货点名称:" prop="name">
|
||||
<el-input v-model="ruleForm.name" placeholder="请输入提货点名称" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提货点简介:">
|
||||
<el-input v-model="ruleForm.introduction" placeholder="请输入提货点简介" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提货点手机号:" prop="phone">
|
||||
<el-input v-model="ruleForm.phone" placeholder="请输入提货点手机号" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提货点地址:" prop="address">
|
||||
<el-cascader
|
||||
class="cascaderW"
|
||||
clearable
|
||||
v-model="ruleForm.address"
|
||||
:options="addresData"
|
||||
:props="{ value: 'label' }"
|
||||
@change="handleChange"></el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item label="详细地址:" prop="detailedAddress">
|
||||
<el-input v-model="ruleForm.detailedAddress" placeholder="请输入详细地址" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提货点营业:">
|
||||
<el-time-picker
|
||||
is-range
|
||||
v-model="dayTime"
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
placeholder="请选择时间营业时间"
|
||||
value-format="HH:mm:ss"
|
||||
@change="onchangeTime">
|
||||
</el-time-picker>
|
||||
</el-form-item>
|
||||
<!-- prop="image"-->
|
||||
<el-form-item label="提货点logo:">
|
||||
<div class="upLoadPicBox" @click="modalPicTap('1')">
|
||||
<div class="pictrue" v-if="ruleForm.image"><img :src="ruleForm.image"></div>
|
||||
<div v-else class="upLoad">
|
||||
<i class="el-icon-camera cameraIconfont" />
|
||||
<template v-if="dialogFormVisible">
|
||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="150px" class="demo-ruleForm" @submit.native.prevent v-loading="loading">
|
||||
<el-form-item label="提货点名称:" prop="name">
|
||||
<el-input v-model="ruleForm.name" maxlength="40" placeholder="请输入提货点名称" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提货点简介:">
|
||||
<el-input v-model="ruleForm.introduction" maxlength="100" placeholder="请输入提货点简介" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提货点手机号:" prop="phone">
|
||||
<el-input v-model="ruleForm.phone" placeholder="请输入提货点手机号" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提货点地址:" prop="address">
|
||||
<el-cascader
|
||||
class="dialogWidth"
|
||||
clearable
|
||||
v-model="ruleForm.address"
|
||||
:options="addresData"
|
||||
:props="{ value: 'label' }"
|
||||
@change="handleChange"></el-cascader>
|
||||
</el-form-item>
|
||||
<el-form-item label="详细地址:" prop="detailedAddress">
|
||||
<el-input v-model="ruleForm.detailedAddress" placeholder="请输入详细地址" class="dialogWidth"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提货点营业:">
|
||||
<el-time-picker
|
||||
is-range
|
||||
v-model="dayTime"
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
placeholder="请选择时间营业时间"
|
||||
value-format="HH:mm:ss"
|
||||
@change="onchangeTime">
|
||||
</el-time-picker>
|
||||
</el-form-item>
|
||||
<!-- prop="image"-->
|
||||
<el-form-item label="提货点logo:">
|
||||
<div class="upLoadPicBox" @click="modalPicTap('1')">
|
||||
<div class="pictrue" v-if="ruleForm.image"><img :src="ruleForm.image"></div>
|
||||
<div v-else class="upLoad">
|
||||
<i class="el-icon-camera cameraIconfont" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="经纬度:" prop="latitude">
|
||||
<el-tooltip content="请点击查找位置选择位置">
|
||||
<el-input v-model="ruleForm.latitude" placeholder="请查找位置" class="dialogWidth">
|
||||
<el-button slot="append" @click="onSearch">查找位置</el-button>
|
||||
</el-input>
|
||||
</el-tooltip>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="editForm('ruleForm')" v-if="id">修改</el-button>
|
||||
<el-button type="primary" @click="submitForm('ruleForm')" v-else>提交</el-button>
|
||||
</div>
|
||||
<el-dialog v-model="modalMap" title='上传经纬度' :visible.sync="modalMap" append-to-body class="mapBox" width="500px">
|
||||
<iframe
|
||||
id="mapPage" width="100%" height="100%" frameborder=0
|
||||
v-bind:src="keyUrl"
|
||||
></iframe>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
<el-form-item label="经纬度:" prop="latitude">
|
||||
<el-tooltip content="请点击查找位置选择位置">
|
||||
<el-input v-model="ruleForm.latitude" placeholder="请查找位置" class="dialogWidth" readOnly>
|
||||
<el-button slot="append" @click="onSearch">查找位置</el-button>
|
||||
</el-input>
|
||||
</el-tooltip>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="editForm('ruleForm')" v-if="id">修改</el-button>
|
||||
<el-button type="primary" @click="submitForm('ruleForm')" v-else>提交</el-button>
|
||||
</div>
|
||||
<el-dialog v-model="modalMap" title='上传经纬度' :visible.sync="modalMap" append-to-body class="mapBox" width="500px">
|
||||
<iframe
|
||||
id="mapPage" width="100%" height="100%" frameborder=0
|
||||
v-bind:src="keyUrl"
|
||||
></iframe>
|
||||
</el-dialog>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
@@ -70,9 +72,10 @@
|
||||
import { cityListTree } from '@/api/logistics';
|
||||
import { configInfo } from '@/api/systemConfig';
|
||||
import city from '@/utils/city';
|
||||
import Templates from "../../../appSetting/wxAccount/wxTemplate/index";
|
||||
export default {
|
||||
name: "index",
|
||||
components: {},
|
||||
components: {Templates},
|
||||
// props: {
|
||||
// children: 'child',
|
||||
// label: 'name',
|
||||
@@ -96,6 +99,7 @@
|
||||
}
|
||||
};
|
||||
return {
|
||||
loading: false,
|
||||
dialogFormVisible: false,
|
||||
modalMap: false,
|
||||
keyUrl: '',
|
||||
@@ -107,7 +111,7 @@
|
||||
address: '',
|
||||
detailedAddress: '',
|
||||
dayTime: '',
|
||||
image:'http://admin.crmeb.net/uploads/attach/2020/05/20200515/d8dd47952e638c58c25633fa1009db1c.png',
|
||||
image:'',
|
||||
latitude: ''
|
||||
},
|
||||
id:0,
|
||||
@@ -138,6 +142,7 @@
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.ruleForm.image = '';
|
||||
this.addresData = city;
|
||||
this.getKey();
|
||||
},
|
||||
@@ -156,18 +161,19 @@
|
||||
getInfo (id) {
|
||||
let that = this;
|
||||
that.id = id;
|
||||
this.loading = true;
|
||||
storeInfoApi({id:id}).then(res=>{
|
||||
that.ruleForm = res;
|
||||
that.ruleForm.address = res.address.split(",");
|
||||
that.dayTime = res.dayTime.split("-")
|
||||
}).catch(res=>{
|
||||
this.$message.error(res.message);
|
||||
this.loading = false;
|
||||
})
|
||||
},
|
||||
//取消
|
||||
cancel (){
|
||||
this.dialogFormVisible = false;
|
||||
this.clearFrom();
|
||||
this.ruleForm.image = '';
|
||||
this.resetForm('ruleForm');
|
||||
this.id = 0
|
||||
},
|
||||
@@ -187,8 +193,6 @@
|
||||
this.clearFrom();
|
||||
this.resetForm(name);
|
||||
this.id = 0;
|
||||
}).catch(res => {
|
||||
this.$message.error(res.message);
|
||||
})
|
||||
} else {
|
||||
return false;
|
||||
@@ -207,8 +211,6 @@
|
||||
this.clearFrom();
|
||||
this.resetForm(name);
|
||||
this.id = 0;
|
||||
}).catch(res => {
|
||||
this.$message.error(res.message);
|
||||
})
|
||||
} else {
|
||||
return false;
|
||||
@@ -233,9 +235,7 @@
|
||||
},
|
||||
//营业时间
|
||||
onchangeTime(e){
|
||||
let start = e[0];
|
||||
let end = e[1];
|
||||
this.ruleForm.dayTime = start + '-' + end;
|
||||
this.ruleForm.dayTime = e ? e.join(',','-') : '';
|
||||
},
|
||||
//上传图片
|
||||
modalPicTap (tit) {
|
||||
@@ -259,8 +259,6 @@
|
||||
configInfo(_pram).then(async res => {
|
||||
let keys = res.tengxun_map_key;
|
||||
this.keyUrl = `https://apis.map.qq.com/tools/locpicker?type=1&key=${keys}&referer=myapp`;
|
||||
}).catch(res => {
|
||||
this.$Message.error(res.message);
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user