紧急修复了一些bug

This commit is contained in:
张乐
2020-08-17 15:28:28 +08:00
parent b17ad9443e
commit a0311f57f3
122 changed files with 1235 additions and 3297 deletions

View File

@@ -154,7 +154,7 @@
<script>
import { getToken } from '@/utils/auth'
import { replySaveApi, replyEditApi, replyInfoApi, replyListApi, keywordsInfoApi, replyUpdateApi } from '@/api/wxApi'
import { fileImageApi } from '@/api/systemSetting'
import { wechatUploadApi } from '@/api/systemSetting'
export default {
name: 'Index',
components: { },
@@ -278,7 +278,7 @@ export default {
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
fileImageApi(formData, {type: this.formValidate.type === 'image'?'image':'voice'}).then(res => {
wechatUploadApi(formData, {type: this.formValidate.type === 'image'?'image':'voice'}).then(res => {
loading.close()
this.formValidate.contents.mediaId = res.mediaId
this.formValidate.contents.srcUrl = res.url

View File

@@ -145,12 +145,12 @@ export default {
},
hadlerInitEditData() {
if (this.isEdit !== 1) return
const { author, cid, content, imageInput,
const { author, cid, content, imageInputs,
isBanner, isHot, shareSynopsis, shareTitle, sort, synopsis, title, url, id } = this.editData
this.pram.author = author
this.pram.cid = Number.parseInt(cid)
this.pram.content = content
this.pram.imageInput = imageInput
this.pram.imageInput = imageInputs
this.pram.isBanner = isBanner
this.pram.isHot = isHot
this.pram.shareSynopsis = shareSynopsis

View File

@@ -81,7 +81,9 @@
top="1vh"
width="80%"
destroy-on-close
:modal="false"
:close-on-click-modal="false"
class="articleModal"
>
<edit
v-if="editDialogConfig.visible"
@@ -187,6 +189,8 @@ export default {
}
</script>
<style scoped>
<style scoped lang="scss">
.articleModal{
z-index: 333 !important;
}
</style>

View File

@@ -11,7 +11,7 @@
<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-input v-model="tableFrom.keyword" placeholder="请输入请输入姓名、电话、UID" class="selWidth" size="small">
<el-input v-model="tableFrom.keywords" placeholder="请输入请输入姓名、电话、UID" class="selWidth" size="small">
<el-button slot="append" icon="el-icon-search" size="small" @click="seachList" />
</el-input>
</el-form-item>
@@ -283,7 +283,7 @@
listLoading: true,
tableFrom: {
dateLimit: '',
keyword: '',
keywords: '',
page: 1,
limit: 20
},
@@ -357,7 +357,7 @@
// 具体日期
onchangeTimeSpread(e) {
this.timeValSpread = e
this.tableFrom.dateLimit = e ? this.timeValSpread.join('-') : ''
this.tableFrom.dateLimit = e ? this.timeValSpread.join(',') : ''
this.onName === 'man' ? this.getListSpread() : this.getSpreadOrderList()
},
onChanges() {
@@ -416,7 +416,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()
},

View File

@@ -7,7 +7,7 @@
</el-form-item>
<el-form-item label="优惠劵类型">
<el-radio-group v-model="ruleForm.useType">
<el-radio :label="1">通用</el-radio>
<el-radio :label="1">通用</el-radio>
<el-radio :label="2">商品券</el-radio>
<el-radio :label="3">品类券</el-radio>
</el-radio-group>
@@ -84,8 +84,8 @@
<el-form-item label="领取方式" prop="resource">
<el-radio-group v-model="ruleForm.type">
<el-radio :label="1">手动领取</el-radio>
<el-radio :label="2">新人</el-radio>
<el-radio :label="3">赠送</el-radio>
<el-radio :label="2">新人</el-radio>
<el-radio :label="3">赠送</el-radio>
<!--<el-radio :label="4">付费会员卷</el-radio>-->
</el-radio-group>
</el-form-item>

View File

@@ -5,19 +5,30 @@
<div class="filter-container">
<el-form :inline="true">
<el-form-item label="使用状态:" class="mr10">
<el-select v-model="tableFromIssue.status" placeholder="请选择评价状态" clearable class="selWidth" @change="seachList">
<el-select v-model="tableFromIssue.status" placeholder="请选择使用状态" clearable class="selWidth" @change="seachList">
<el-option label="已使用" value="1" />
<el-option label="未使用" value="0" />
<el-option label="已过期" value="2" />
</el-select>
</el-form-item>
<el-form-item label="领取人:" class="mr10">
<el-input v-model="tableFromIssue.coupon_id" placeholder="请输入领取人" class="selWidth">
<el-button size="mini" slot="append" icon="el-icon-search" @click="seachList"/>
</el-input>
<el-form-item label="领取人:">
<el-select v-model="tableFromIssue.uid" class="selWidth" reserve-keyword remote filterable
:remote-method="remoteMethod" :loading="loading" placeholder="请输入用户名称" clearable @change="seachList">
<el-option
v-for="item in options"
:key="item.uid"
:label="item.nickname"
:value="item.uid">
</el-option>
</el-select>
</el-form-item>
<!--<el-form-item label="领取人:" class="mr10">-->
<!--<el-input v-model="tableFromIssue.uid" placeholder="请输入领取人" class="selWidth">-->
<!--<el-button size="mini" slot="append" icon="el-icon-search" @click="seachList"/>-->
<!--</el-input>-->
<!--</el-form-item>-->
<el-form-item label="优惠劵:" class="mr10">
<el-input v-model="tableFromIssue.name" placeholder="请输入优惠劵" class="selWidth">
<el-input v-model="tableFromIssue.name" placeholder="请输入优惠劵" class="selWidth" clearable>
<el-button slot="append" icon="el-icon-search" @click="seachList"/>
</el-input>
</el-form-item>
@@ -109,6 +120,7 @@
<script>
import { couponUserListApi } from '@/api/marketing'
import { roterPre } from '@/settings'
import { userListApi } from '@/api/user'
export default {
name: 'CouponUser',
filters: {
@@ -139,19 +151,35 @@
tableFromIssue: {
page: 1,
limit: 20,
uid: '',
name: '',
status: ''
},
issueData: {
data: [],
total: 0
}
},
loading: false,
options: []
}
},
mounted() {
this.getIssueList()
},
methods: {
remoteMethod(query) {
if (query !== '') {
this.loading = true;
setTimeout(() => {
this.loading = false;
userListApi({keywords: query, page: 1, limit: 10}).then(res => {
this.options = res.list
})
}, 200);
} else {
this.options = [];
}
},
seachList() {
this.tableFromIssue.page = 1
this.getIssueList()

View File

@@ -2,7 +2,7 @@
<div class="divBox">
<el-card class="box-card">
<zb-parser
:form-id="109"
:form-id="formId"
:is-create="isCreate"
:edit-data="editData"
@submit="handlerSubmit"
@@ -13,21 +13,51 @@
<script>
import zbParser from '@/components/FormGenerator/components/parser/ZBParser'
import { smsSaveApi } from '@/api/sms'
import { configSaveForm, configInfo } from '@/api/systemConfig.js'
export default {
name: "integralconfig",
components: { zbParser },
data() {
return {
isCreate: 0,
editData: {}
editData: {},
formId: 109
}
},
mounted() {
this.getFormInfo()
},
methods: {
handlerSubmit(formValue) {
smsSaveApi(formValue).then(data => {
this.$message.success('新增成功')
this.editData = {}
handlerSubmit(data) {
const tempArr = []
for (var key in data) {
const obj = {}
obj.name = key
obj.title = key
obj.value = data[key]
tempArr.push(obj)
}
const _pram = {
'fields': tempArr,
'id': this.formId,
'sort': 0,
'status': true
}
console.log(_pram)
configSaveForm(_pram).then(res => {
this.getFormInfo()
this.$message.success('操作成功')
})
},
// 获取表单详情
getFormInfo() {
configInfo({ id: this.formId }).then(res => {
this.isShow = false
this.editData = res
this.isCreate = 1
setTimeout(() => { // 让表单重复渲染待编辑数据
this.isShow = true
}, 80)
})
}
}

View File

@@ -92,22 +92,22 @@
/>
<el-table-column
label="商品信息"
min-width="330"
min-width="400"
>
<!--<template slot-scope="scope">-->
<!--<div v-if="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="imgList"-->
<!--/>-->
<!--</div>-->
<!--&lt;!&ndash;<span class="tabBox_tit">{{ val.info.productInfo.store_name + ' | ' }}{{ val.info.productInfo.attrInfo.suk ? val.info.productInfo.attrInfo.suk:'-' }}</span>&ndash;&gt;-->
<!--&lt;!&ndash;<span class="tabBox_pice">{{ '¥'+ val.info.productInfo.attrInfo.price ? val.info.productInfo.attrInfo.price:'-' + ' x '+ val.info.cart_num }}</span>&ndash;&gt;-->
<!--</div>-->
<!--</div>-->
<!--</template>-->
<template slot-scope="scope">
<div v-if="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="imgList"
/>
</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"

View File

@@ -12,7 +12,7 @@
<el-form-item label="快递公司:" prop="expressId"
:rules="[{ required: true, message: '请选择快递公司', trigger: 'change' }]">
<el-select v-model="formItem.expressId" style="width:80%;">
<el-option v-for="(item,i) in express" :value="item.id" :key="i">{{ item.name }}</el-option>
<el-option v-for="(item,i) in express" :value="item.id" :key="i" :label="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="快递单号:" prop="expressCode"
@@ -69,7 +69,7 @@
},
// 物流公司列表
getList () {
expressList({ page: 1, limit: 999}).then(async res => {
expressList({ page: 1, limit: 999, isShow:true }).then(async res => {
this.express = res.list
})
},

View File

@@ -51,11 +51,8 @@
<el-table-column
label="发送时间"
min-width="150"
>
<template slot-scope="scope">
<span>{{scope.row.creatTime}}</span>
</template>
</el-table-column>
prop="createTime"
/>
<el-table-column
prop="resultcode"
label="状态码"

View File

@@ -1,43 +1,41 @@
<template>
<div class="divBox">
<el-card v-if="isShowList" v-loading="fullscreenLoading" class="box-card">
<div slot="header" class="clearfix">
<div class="content acea-row row-middle">
<div class="demo-basic--circle acea-row row-middle">
<el-avatar :size="50" :src="circleUrl" class="mr20" />
<div class="dashboard-workplace-header-tip">
<div class="dashboard-workplace-header-tip-title">{{ smsAccount }}祝您每一天开心</div>
<div class="dashboard-workplace-header-tip-desc">
<span class="mr10">修改密码</span>
<span @click="signOut">退出登录</span>
</div>
<div class="content acea-row row-middle">
<div class="demo-basic--circle acea-row row-middle">
<el-avatar :size="50" :src="circleUrl" class="mr20" />
<div class="dashboard-workplace-header-tip">
<div class="dashboard-workplace-header-tip-title">{{ smsAccount }}祝您每一天开心</div>
<div class="dashboard-workplace-header-tip-desc">
<span class="mr10">修改密码</span>
<span @click="signOut">退出登录</span>
</div>
</div>
<div class="dashboard-workplace-header-extra">
<el-row type="flex" justify="center" align="middle" :gutter="12">
<el-col :span="8">
</div>
<div class="dashboard-workplace-header-extra">
<el-row type="flex" justify="center" align="middle" :gutter="12">
<el-col :span="8">
<span class="pfont acea-row row-middle">
<el-avatar icon="el-icon-user-solid" size="small" class="mr10" />
<span>剩余条数</span>
</span>
<span class="rR" v-text="numbers" />
</el-col>
<el-col :span="8">
<span class="rR" v-text="numbers" />
</el-col>
<el-col :span="8">
<span class="pfont acea-row row-middle">
<el-avatar icon="el-icon-user-solid" size="small" class="mr10" />
<span>已发送</span>
</span>
<span class="rR" v-text="sendTotal" />
</el-col>
<el-col :span="8">
<span class="rR" v-text="sendTotal" />
</el-col>
<el-col :span="8">
<span class="pfont acea-row row-middle">
<el-avatar icon="el-icon-user-solid" size="small" class="mr10" />
<span>总条数</span>
</span>
<span class="rR" v-text="amount" />
</el-col>
</el-row>
</div>
<span class="rR" v-text="amount" />
</el-col>
</el-row>
</div>
</div>
</el-card>

View File

@@ -3,18 +3,20 @@
<div class="divBox" v-if="isLogin">
<el-card v-loading="fullscreenLoading" class="box-card">
<div slot="header" class="clearfix">
<div class="filter-container">
<div class="demo-input-suffix acea-row">
<span class="seachTiele">模板状态</span>
<el-select v-model="tableFrom.status" placeholder="请选择" clearable class="filter-item selWidth mr20" @change="userSearchs">
<el-option value="1">可用</el-option>
<el-option value="0">不可用</el-option>
</el-select>
<span class="seachTiele">模板名称</span>
<el-input v-model="tableFrom.title" placeholder="请输入商品名称,关键字,产品编号" class="selWidth">
<el-button slot="append" icon="el-icon-search" @change="userSearchs" />
</el-input>
</div>
<div class="container">
<el-form :inline="true">
<el-form-item label="模板状态:" class="mr10">
<el-select v-model="tableFrom.status" placeholder="请选择" clearable class="filter-item selWidth mr20" @change="userSearchs">
<el-option value="1" label="可用"></el-option>
<el-option value="0" label="不可用"></el-option>
</el-select>
</el-form-item>
<el-form-item label="模板名称:" class="mr10">
<el-input v-model="tableFrom.title" placeholder="请输入模板名称" class="selWidth">
<el-button slot="append" icon="el-icon-search" @click="userSearchs" />
</el-input>
</el-form-item>
</el-form>
</div>
<el-button size="mini" type="primary" @click="add">添加短信模板</el-button>
</div>
@@ -105,8 +107,8 @@ export default {
filters: {
statusFilter(status) {
const statusMap = {
0: '没有',
1: ''
0: '不可用',
1: '可用'
}
return statusMap[status]
},

View File

@@ -946,6 +946,7 @@
// 提交
handleSubmit (name) {
this.onChangeGroup()
if( this.formValidate.specType && this.formValidate.attr.length < 1 ) return this.$message.warning("请填写多规格属性!");
this.formValidate.cateId = this.formValidate.cateIds.join(',')
this.formValidate.sliderImage = JSON.stringify(this.formValidate.sliderImages)
if(this.formValidate.specType){

View File

File diff suppressed because it is too large Load Diff

View File

@@ -98,6 +98,7 @@
>
<template slot-scope="scope">
<el-switch
:disabled="tableFrom.type === '5'"
v-model="scope.row.isShow"
:active-value="true"
:inactive-value="false"
@@ -120,7 +121,8 @@
<router-link :to="{path: '/store/list/creatProduct/' + scope.row.id}">
<el-button type="text" size="small" class="mr10">编辑</el-button>
</router-link>
<el-button type="text" size="small" @click="handleDelete(scope.row.id, scope.$index)">删除</el-button>
<el-button v-if="tableFrom.type === '5'" type="text" size="small" @click="handleRestore(scope.row.id, scope.$index)">恢复商品</el-button>
<el-button type="text" size="small" @click="handleDelete(scope.row.id, scope.$index)">{{ tableFrom.type === '5' ? '删除' : '加入回收站' }}</el-button>
</template>
</el-table-column>
</el-table>
@@ -148,7 +150,7 @@
</template>
<script>
import { productLstApi, productDeleteApi, categoryApi, putOnShellApi, offShellApi, productHeadersApi, productExportApi } from '@/api/store'
import { productLstApi, productDeleteApi, categoryApi, putOnShellApi, offShellApi, productHeadersApi, productExportApi, restoreApi } from '@/api/store'
import { getToken } from '@/utils/auth'
import taoBao from './taoBao'
export default {
@@ -188,6 +190,16 @@ export default {
this.getCategorySelect()
},
methods: {
handleRestore(id) {
this.$modalSure("恢复商品").then(() => {
restoreApi(id)
.then((res) => {
this.$message.success('操作成功');
this.goodHeade();
this.getList();
})
});
},
seachList() {
this.tableFrom.page = 1
this.getList()

View File

@@ -17,15 +17,27 @@
</el-select>
</el-form-item>
<el-form-item label="商品搜索:" class="mr10">
<el-input v-model="tableFrom.productId" placeholder="请输入商品名称,关键字,产品编号" class="selWidth" size="small">
<el-input v-model="tableFrom.productSearch" placeholder="请输入商品名称,商品id" class="selWidth" size="small">
<el-button slot="append" icon="el-icon-search" @click="seachList" size="small"/>
</el-input>
</el-form-item>
<el-form-item label="用户名称:">
<el-input v-model="tableFrom.nickname" placeholder="请输入用户名称" class="selWidth" size="small">
<el-button slot="append" icon="el-icon-search" @click="seachList" size="small"/>
</el-input>
{{uids}}
<el-select v-model="uids" style="width: 500px" reserve-keyword multiple remote filterable
:remote-method="remoteMethod" :loading="loading" placeholder="请输入用户名称" clearable @change="seachList">
<el-option
v-for="item in options"
:key="item.uid"
:label="item.nickname"
:value="item.uid">
</el-option>
</el-select>
</el-form-item>
<!--<el-form-item label="用户名称:">-->
<!--<el-input v-model="tableFrom.nickname" placeholder="请输入用户名称" class="selWidth" size="small">-->
<!--<el-button slot="append" icon="el-icon-search" @click="seachList" size="small"/>-->
<!--</el-input>-->
<!--</el-form-item>-->
</el-form>
</div>
<el-button size="small" type="primary" @click="add">添加虚拟评论</el-button>
@@ -120,6 +132,7 @@
import creatComment from './creatComment.vue'
import { categoryApi, replyListApi, replyDeleteApi, replyCommentApi } from '@/api/store'
import { formatDates } from '@/utils/index';
import { userListApi } from '@/api/user'
export default {
name: 'StoreComment',
filters: {
@@ -163,11 +176,14 @@ export default {
limit: 20,
isReply: '',
dateLimit: '',
nickname: '',
productId:'',
uid: '',
productSearch:'',
isDel: false
},
timeVal: []
timeVal: [],
loading: false,
uids: [],
options: []
}
},
mounted() {
@@ -176,6 +192,19 @@ export default {
this.getCategorySelect()
},
methods:{
remoteMethod(query) {
if (query !== '') {
this.loading = true;
setTimeout(() => {
this.loading = false;
userListApi({keywords: query, page: 1, limit: 10}).then(res => {
this.options = res.list
})
}, 200);
} else {
this.options = [];
}
},
seachList() {
this.tableFrom.page = 1
this.getList()
@@ -278,6 +307,7 @@ export default {
// 列表
getList() {
this.listLoading = true
this.tableFrom.uid = this.uids.join(',')
replyListApi(this.tableFrom).then(res => {
this.tableData.data = res.list
this.tableData.total = res.total

View File

@@ -7,7 +7,7 @@
<el-form-item label="管理员密码" prop="pwd">
<el-input
v-model="pram.pwd"
placeholder="管理员密码,不更改可以不填写"
placeholder="管理员密码"
clearable
@input="handlerPwdInput"
@clear="handlerPwdInput"
@@ -77,7 +77,7 @@ export default {
pwd: null,
repwd: null,
realName: null,
roles: null,
roles: [],
status: null,
id: null
},
@@ -88,7 +88,7 @@ export default {
pwd: [{ required: true, message: '请填管理员密码', trigger: ['blur', 'change'] }],
repwd: [{ required: true, message: '确认密码密码', validator: validatePass, trigger: ['blur', 'change'] }],
realName: [{ required: true, message: '管理员姓名', trigger: ['blur', 'change'] }],
roles: [{ required: true, message: '管理员身份', trigger: ['blur', 'change'] }]
roles: [{ required: true, message: '管理员身份', type: 'array', trigger: ['blur', 'change'] }]
}
}
},
@@ -103,7 +103,8 @@ export default {
handleGetRoleList() {
const _pram = {
page: 1,
limit: constants.page.limit[4]
limit: constants.page.limit[4],
status: 1
}
roleApi.getRoleList(_pram).then(data => {
this.roleList = data

View File

@@ -3,7 +3,7 @@
<el-card class="box-card">
<el-form inline size="small">
<el-form-item>
<el-select v-model="listPram.realName" placeholder="身份" clearable class="selWidth">
<el-select v-model="listPram.roles" placeholder="身份" clearable class="selWidth">
<el-option
v-for="item in roleList.list"
:key="item.id"
@@ -33,10 +33,10 @@
</el-select>
</el-form-item>
<el-form-item>
<el-input v-model="listPram.roleName" placeholder="姓名或者账号" clearable class="selWidth"/>
<el-input v-model="listPram.realName" placeholder="姓名或者账号" clearable class="selWidth"/>
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" @click.native="handleGetAdminList">查询</el-button>
<el-button size="mini" type="primary" @click="handleSearch">查询</el-button>
</el-form-item>
</el-form>
<el-form inline>
@@ -136,7 +136,7 @@ export default {
roles: null,
status: null,
page: 1,
limit: constants.page.limit[1]
limit: constants.page.limit[0]
},
roleList: [],
menuList: [],
@@ -152,12 +152,18 @@ export default {
this.handleGetRoleList()
},
methods: {
handleSearch() {
this.listPram.page = 1
this.handleGetAdminList()
},
handleSizeChange(val) {
this.listPram.limit = val
this.handleGetAdminList()
this.handleGetRoleList(this.listPram)
},
handleCurrentChange(val) {
this.listPram.page = val
this.handleGetAdminList()
this.handleGetRoleList(this.listPram)
},
handleGetRoleList() {
@@ -171,15 +177,15 @@ export default {
},
handlerOpenDel(rowData) {
this.$confirm('确认删除当前数据').then(() => {
const _pram = { id: rowData.id, isDel: 1, roles: Array.of(rowData.roles) }
systemAdminApi.adminUpdate(_pram).then(data => {
const _pram = { id: rowData.id}
systemAdminApi.adminDel(_pram).then(data => {
this.$message.success('删除数据成功')
this.handleGetAdminList()
})
})
},
handleGetAdminList() {
systemAdminApi.adminList(this.listPram).then(data => {
systemAdminApi.adminList( this.listPram ).then(data => {
this.listData = data
// this.handlerGetMenuList()
})

View File

@@ -88,7 +88,7 @@ export default {
updateTime: null,
level: null,
page: 1,
limit: constants.page.limit[1],
limit: constants.page.limit[0],
roleName: null,
rules: null,
status: null

View File

@@ -4,9 +4,19 @@
<div slot="header" class="clearfix">
<div class="container">
<el-form ref="form" inline :model="form">
<el-form-item label="搜索:">
<el-input v-model="form.name" placeholder="请输入内容" class="selWidth" size="small">
<el-button slot="append" size="small" icon="el-icon-search" @click="getExpressList" />
<el-form-item label="状态">
<el-select v-model="form.isShow" placeholder="状态" clearable @change="handlerSearch" class="selWidth">
<el-option
v-for="item in constants.switchStatus"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="关键字:">
<el-input v-model="form.keywords" placeholder="请输入关键字" class="selWidth" size="small">
<el-button slot="append" size="small" icon="el-icon-search" @click="handlerSearch" />
</el-input>
</el-form-item>
</el-form>
@@ -67,7 +77,7 @@
</el-table>
<div class="block-pagination">
<el-pagination
:page-sizes="[12, 20, 40, 60]"
:page-sizes="[20, 40, 60, 80]"
:page-size="tableData.limit"
:current-page="tableData.page"
layout="total, sizes, prev, pager, next, jumper"
@@ -78,7 +88,7 @@
</div>
</el-card>
<el-dialog
title="提示"
title="添加物流公司"
:visible.sync="dialogVisible"
width="700px"
:before-close="handleClose"
@@ -92,19 +102,22 @@
import parser from '@/components/FormGenerator/components/parser/Parser'
import * as systemFormConfigApi from '@/api/systemFormConfig.js'
import * as logistics from '@/api/logistics.js'
import * as constants from '@/utils/constants.js'
export default {
name: 'CompanyList',
components: { parser },
data() {
return {
constants,
// 表单
formConf: { fields: [] },
form: {
name: ''
keywords: '',
isShow: null
},
tableData: {},
page: 1,
limit: 12,
limit: 20,
loading: false,
dialogVisible: false,
fromType: 'add',
@@ -118,13 +131,18 @@ export default {
this.getExpressList()
},
methods: {
handlerSearch() {
this.page = 1
this.getExpressList()
},
// 获取物流公司列表
getExpressList() {
this.loading = true
logistics.expressList({
page: this.page,
limit: this.limit,
keywords: this.form.name
keywords: this.form.keywords,
isShow: this.form.isShow
}).then(res => {
this.loading = false
this.tableData = res
@@ -182,7 +200,6 @@ export default {
})
} else {
data.id = this.editId
console.log(data)
logistics.expressUpdate(data).then(res => {
this.handleClose()
this.getExpressList()

View File

@@ -4,8 +4,8 @@
<div slot="header" class="clearfix">
<div class="container">
<el-form ref="form" inline :model="form">
<el-form-item label="搜索">
<el-input v-model="form.name" placeholder="请输入内容" class="selWidth" size="small">
<el-form-item label="模板名称">
<el-input v-model="form.keywords" placeholder="请输入模板名称" class="selWidth" size="small">
<el-button slot="append" icon="el-icon-search" @click="handleSearch" />
</el-input>
</el-form-item>
@@ -26,7 +26,7 @@
/>
<el-table-column
label="模板名称"
min-width="150"
min-width="180"
prop="name"
/>
<el-table-column
@@ -47,11 +47,11 @@
<p>{{ row.appoint | statusFilter }}</p>
</template>
</el-table-column>
<el-table-column
min-width="120"
label="指定区域不配送"
prop="type"
/>
<!--<el-table-column-->
<!--min-width="120"-->
<!--label="指定区域不配送"-->
<!--prop="type"-->
<!--/>-->
<el-table-column
label="排序"
min-width="100"
@@ -76,7 +76,7 @@
</el-table>
<div class="block-pagination">
<el-pagination
:page-sizes="[12, 20, 40, 60]"
:page-sizes="[20, 40, 60, 80]"
:page-size="tableData.limit"
:current-page="tableData.page"
layout="total, sizes, prev, pager, next, jumper"
@@ -117,11 +117,11 @@ export default {
return {
dialogVisible: false,
form: {
name: ''
keywords: ''
},
tableData: '',
page: 1,
limit: 12,
limit: 20,
loading: false
}
},
@@ -136,6 +136,7 @@ export default {
this.$refs.addTemplates.changType(0, this.te)
},
handleSearch() {
this.page = 1
this.getDataList()
},
// 分页
@@ -151,7 +152,7 @@ export default {
getDataList() {
this.loading = true
logistics.shippingTemplatesList({
name: this.form.name,
keywords: this.form.keywords,
page: this.page,
limit: this.limit
}).then(res => {

View File

@@ -1,8 +1,7 @@
<template>
<div class="divBox">
<el-card class="box-card">
{{activeNamel1}}
<el-tabs v-model="activeNamel1" @tab-click="handleTabClick">
<el-tabs v-model="activeNamel1" @tab-click="handleTabClick" v-loading="loading">
<el-tab-pane
v-for="tab,index in treeList"
:key="index"
@@ -26,7 +25,6 @@
</template>
<!-- 正常配置渲染-->
<template v-else>
{{activeNamel2}}
<el-tabs v-if="tab.child.length > 0" v-model="activeNamel2"
type="border-card" @tab-click="handleItemTabClick">
<el-tab-pane
@@ -75,6 +73,7 @@ export default {
components: {Template, parser },
data() {
return {
loading: false,
formConf: { content: { fields: [] }, id: null, render: false, isEdit: false },
formConfChild: { content: { fields: [] }, id: null, render: false, isEdit: false },
activeNamel1: null,
@@ -88,7 +87,6 @@ export default {
}
},
mounted() {
console.log(this.$route.path.split("/")[1])
this.handlerGetTreeList()
this.getCurrentUploadSelectedFlag()
},
@@ -137,11 +135,15 @@ export default {
this.currentEditId = id
this.formConf.content = { fields: [] }
this.formConf.render = false
this.loading = true
systemFormConfigApi.getFormConfigInfo(formPram).then(data => {
const { id, name, info, content } = data
this.formConf.content = JSON.parse(content)
this.formConf.id = id
this.handlerGetSettingInfo(id, 1)
this.loading = false
}).catch(() =>{
this.loading = false
})
},
handleItemTabClick(tab, event) { //这里对tabs=tab.name和radio=id做了兼容
@@ -154,11 +156,15 @@ export default {
this.currentEditId = id
this.formConfChild.content = { fields: [] }
this.formConfChild.render = false
this.loading = true
systemFormConfigApi.getFormConfigInfo(formPram).then(data => {
const { id, name, info, content } = data
this.formConfChild.content = JSON.parse(content)
this.formConfChild.id = id
this.handlerGetSettingInfo(id, 2)
this.loading = false
}).catch(() =>{
this.loading = false
})
},
handlerGetSettingInfo(id, level) {
@@ -203,6 +209,7 @@ export default {
},
handlerGetTreeList() {
const _pram = { type: constants.categoryType[5].value, status: -1 }
this.loading = true
categoryApi.treeCategroy(_pram).then(data => {
this.treeList = this.handleAddArrt(data)
if (this.treeList.length > 0) this.activeNamel1 = this.treeList[0].extra
@@ -214,6 +221,9 @@ export default {
} else {
this.handlerGetLevel1FormConfig(this.treeList[0].extra)
}
this.loading = false
}).catch(() =>{
this.loading = false
})
},
handleAddArrt(treeData) {

View File

@@ -27,19 +27,19 @@
</el-form-item>
<el-form-item label="用户等级:">
<el-select v-model="ruleForm.level" placeholder="请选择" class="selWidth" clearable filterable>
<el-option value="">全部</el-option>
<el-option value="" label="全部"></el-option>
<el-option :value="item.id" v-for="(item, index) in levelList" :key="index" :label="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="用户分组:">
<el-select v-model="ruleForm.groupId" placeholder="请选择" class="selWidth" clearable filterable>
<el-option value="">全部</el-option>
<el-option value="" label="全部"></el-option>
<el-option :value="item.id" v-for="(item, index) in groupList" :key="index" :label="item.groupName"></el-option>
</el-select>
</el-form-item>
<el-form-item label="用户标签:">
<el-select v-model="labelData" placeholder="请选择" class="selWidth" clearable filterable multiple >
<el-option value="">全部</el-option>
<el-option value="" label="全部"></el-option>
<el-option :value="item.id" v-for="(item, index) in labelLists" :key="index" :label="item.name"></el-option>
</el-select>
</el-form-item>
@@ -148,8 +148,8 @@
this.ruleForm.tagId=this.labelData.join(',')
userUpdateApi({id: this.ruleForm.id},this.ruleForm).then(async res => {
this.$message.success('编辑成功')
this.$parent.visible = false
this.$parent.getList()
this.$parent.$parent.visible = false
this.$parent.$parent.getList()
})
} else {
return false;

View File

@@ -6,7 +6,7 @@
<el-tab-pane :label="item.name" :name="item.type.toString()" v-for="(item,index) in headeNum" :key="index"/>
</el-tabs>
<div class="container">
<el-form inline size="small" :label-position="labelPosition" label-width="100px">
<el-form inline size="small" :model="userFrom" ref="userFrom" :label-position="labelPosition" label-width="100px">
<el-row>
<el-col :xs="24" :sm="24" :md="24" :lg="18" :xl="18">
<el-col v-bind="grid">
@@ -27,7 +27,6 @@
<el-col v-bind="grid">
<el-form-item label="用户等级:">
<el-select v-model="levelData" placeholder="请选择" class="selWidth" clearable filterable multiple>
<el-option value="">全部</el-option>
<el-option :value="item.id" v-for="(item, index) in levelList" :key="index" :label="item.name"></el-option>
</el-select>
</el-form-item>
@@ -35,7 +34,6 @@
<el-col v-bind="grid">
<el-form-item label="用户分组:">
<el-select v-model="groupData" placeholder="请选择" class="selWidth" clearable filterable multiple>
<el-option value="">全部</el-option>
<el-option :value="item.id" v-for="(item, index) in groupList" :key="index" :label="item.groupName"></el-option>
</el-select>
</el-form-item>
@@ -43,7 +41,6 @@
<el-col v-bind="grid">
<el-form-item label="用户标签:">
<el-select v-model="labelData" placeholder="请选择" class="selWidth" clearable filterable multiple>
<el-option value="">全部</el-option>
<el-option :value="item.id" v-for="(item, index) in labelLists" :key="index" :label="item.name"></el-option>
</el-select>
</el-form-item>
@@ -104,23 +101,23 @@
<el-col v-bind="grid">
<el-form-item label="访问情况:">
<el-select v-model="userFrom.accessType" placeholder="请选择" class="selWidth" clearable>
<el-option value="">全部</el-option>
<el-option value="visitno">时间段未访问</el-option>
<el-option value="visit">时间段访问过</el-option>
<el-option value="add_time">首次访问</el-option>
<el-option value="" label="全部"></el-option>
<el-option value="visitno" label="时间段未访问"></el-option>
<el-option value="visit" label="时间段访问过"></el-option>
<el-option value="add_time" label="首次访问"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col v-bind="grid">
<el-form-item label="消费情况:">
<el-select v-model="userFrom.payCount" placeholder="请选择" class="selWidth" clearable>
<el-option value="">全部</el-option>
<el-option value="-1">0</el-option>
<el-option value="0">1+</el-option>
<el-option value="1">2+</el-option>
<el-option value="2">3+</el-option>
<el-option value="3">4+</el-option>
<el-option value="4">5+</el-option>
<el-option value="" label="全部"></el-option>
<el-option value="-1" label="0"></el-option>
<el-option value="0" label="1+"></el-option>
<el-option value="1" label="2+"></el-option>
<el-option value="2" label="3+"></el-option>
<el-option value="3" label="4+"></el-option>
<el-option value="4" label="5+"></el-option>
</el-select>
</el-form-item>
</el-col>
@@ -216,7 +213,7 @@
<el-table-column
prop="uid"
label="ID"
min-width="50"
min-width="80"
/>
<el-table-column label="头像" min-width="80">
<template slot-scope="scope">
@@ -230,10 +227,15 @@
</template>
</el-table-column>
<el-table-column
prop="nickname"
label="姓名"
min-width="150"
/>
>
<template slot-scope="scope">
<span>{{scope.row.nickname | filterEmpty}}</span>
<span></span>
<span></span>
</template>
</el-table-column>
<el-table-column
label="用户等级"
min-width="100"
@@ -265,6 +267,11 @@
label="余额"
min-width="100"
/>
<el-table-column
prop="integral"
label="积分"
min-width="100"
/>
<el-table-column label="操作" min-width="200" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="text" size="small" @click="onDetails(scope.row.uid)">账户详情</el-button>
@@ -493,9 +500,9 @@
},
headeNum: [
{ 'type': '', 'name': '全部用户' },
{ 'type': 'wechat', 'name': '微信公众号' },
{ 'type': 'routine', 'name': '微信小程序' },
{ 'type': 'h5', 'name': 'H5' }
{ 'type': 'wechat', 'name': '微信公众号用户' },
{ 'type': 'routine', 'name': '微信小程序用户' },
{ 'type': 'h5', 'name': 'H5用户' }
],
listLoading: true,
tableData: {
@@ -505,8 +512,7 @@
loginType: '',
userFrom: {
labelId: '',
loginType: '',
status: true,
userType: '',
sex: '',
isPromoter: '',
country: '',
@@ -569,6 +575,29 @@
this.getCityList()
},
methods: {
reset(formName) {
this.userFrom = {
labelId: '',
userType: '',
sex: '',
isPromoter: '',
country: '',
payCount: '',
accessType: '',
dateLimit: '',
keywords: '',
province: '',
city: '',
page: 1,
limit: 15,
level: '',
groupId: ''
}
this.levelData = []
this.groupData = []
this.labelData = []
this.getList()
},
// 列表
getCityList() {
logistics.cityListTree().then(res => {
@@ -624,6 +653,7 @@
this.$message.success('设置成功')
this.loadingBtn = false
this.handlePointClose()
this.getList()
}).catch(() => {
this.loadingBtn = false
})
@@ -741,8 +771,8 @@
// 列表
getList() {
this.listLoading = true
if(this.loginType == 0) this.loginType =''
this.userFrom.loginType = this.loginType
this.userFrom.userType = this.loginType
if(this.loginType == 0) this.userFrom.userType =''
this.userFrom.level = this.levelData.join(',')
this.userFrom.groupId = this.groupData.join(',')
this.userFrom.labelId = this.labelData.join(',')