master
271556543@qq.com 3 years ago
parent 66575dafb5
commit 2c084b222d

@ -0,0 +1,65 @@
import request from '@/utils/request'
export function index(params){
return request({
method:'get',
url:'/api/admin/order/index',
params
})
}
export function getList(params){
return request({
method:'get',
url:'/api/admin/order/get-list',
params
})
}
export function itemPreAction(params){
return request({
method:'get',
url:'/api/admin/order/item-pre-action',
params
})
}
export function itemAction(data){
return request({
method:'post',
url:'/api/admin/order/item-action',
data
})
}
export function getMerchantsByProductType(params){
return request({
method:'get',
url:'/api/admin/order/get-merchants-by-product-type',
params
})
}
export function getMerchantsByOrderItem(params){
return request({
method:'get',
url:'/api/admin/order/get-merchants-by-order-item',
params
})
}
export function getAssignableProducts(params){
return request({
method:'get',
url:'/api/admin/order/get-assignable-products',
params
})
}
export function getItemLogs(params){
return request({
method:'get',
url:'/api/admin/order/get-item-logs',
params
})
}

@ -220,6 +220,7 @@ export default {
} }
} }
.el-form-item{ .el-form-item{
flex-shrink: 0;
flex-basis: 50%; flex-basis: 50%;
} }
.el-form-item__error{ .el-form-item__error{

@ -1,6 +1,10 @@
<script> <script>
export default { export default {
props:{ props:{
hasAdd:{
type:Boolean,
default:true
}
}, },
data() { data() {
return { return {
@ -10,13 +14,23 @@ export default {
methods: { methods: {
showSelector(){ showSelector(){
this.isShowSelector =! this.isShowSelector this.isShowSelector =! this.isShowSelector
},
renderAdd(){
return (<Button
class="xy-selectors-btn__item"
type='primary'
on={{
['click']:()=>this.$emit('add')
}}>
新增
</Button>)
} }
}, },
mounted() { mounted() {
}, },
render(h) { render(h) {
let {isShowSelector,showSelector,$scopedSlots} = this let {renderAdd,hasAdd,isShowSelector,showSelector,$scopedSlots} = this
return ( return (
<div class="xy-selectors"> <div class="xy-selectors">
@ -33,14 +47,9 @@ export default {
}}> }}>
高级搜索 高级搜索
</Button> </Button>
<Button {
class="xy-selectors-btn__item" hasAdd ? renderAdd() : ''
type='primary' }
on={{
['click']:()=>this.$emit('add')
}}>
新增
</Button>
</div> </div>
<transition <transition

@ -5,23 +5,28 @@
<div slot="content"></div> <div slot="content"></div>
<slot> <slot>
<xy-selectors @search="getAds" @add="$refs['addAd'].isShow = true,$refs['addAd'].type = 'add'" @reset="resetSelect"> <xy-selectors @search="getAds" @add="$refs['addAd'].isShow = true,$refs['addAd'].type = 'add'" @reset="resetSelect">
<template v-slot:default v-if="select.name || select.system || select.createDate[0] || select.createDate[1] || select.isEffect === 0 || select.isEffect === 1"> <template>
<Alert style="padding-top: 6px;padding-bottom: 6px;font-size: 13px" type="success" show-icon closable @on-close="resetSelect"> <!-- <template v-if="select.name || select.system || select.createDate[0] || select.createDate[1] || select.isEffect === 0 || select.isEffect === 1">-->
<Icon type="ios-funnel-outline" slot="icon" color="#fff"/> <!-- <Alert style="padding-top: 6px;padding-bottom: 6px;font-size: 13px" type="success" show-icon closable @on-close="resetSelect">-->
<span v-if="select.name"> <!-- <Icon type="ios-funnel-outline" slot="icon" color="#fff"/>-->
{{select.name}}, <!-- <span v-if="select.name">-->
</span> <!-- {{select.name}},-->
<span v-if="select.system"> <!-- </span>-->
{{select.system.label}}, <!-- <span v-if="select.system">-->
</span> <!-- {{select.system.label}},-->
<span v-if="select.createDate[0] || select.createDate[1]"> <!-- </span>-->
{{select.createDate[0]}} - {{select.createDate[1]}}, <!-- <span v-if="select.createDate[0] || select.createDate[1]">-->
</span> <!-- {{select.createDate[0]}} - {{select.createDate[1]}},-->
<span v-if="select.isEffect === 0 || select.isEffect === 1"> <!-- </span>-->
{{select.isEffect === 0 ? '有效' : '无效'}} <!-- <span v-if="select.isEffect === 0 || select.isEffect === 1">-->
</span> <!-- {{select.isEffect === 0 ? '有效' : '无效'}}-->
</Alert> <!-- </span>-->
<!-- </Alert>-->
<!-- </template>-->
<Input v-model="select.name" placeholder="活动名称.." clearable style="width: 200px;margin-right: 10px;"/>
<Button type="primary" @click="getAds" style="margin-right: 10px;">搜索</Button>
</template> </template>
<template v-slot:selected> <template v-slot:selected>
<div style="display: flex;padding: 0 0 10px 20px;"> <div style="display: flex;padding: 0 0 10px 20px;">
<span style="padding-right: 6px">当前搜索条件</span> <span style="padding-right: 6px">当前搜索条件</span>
@ -48,12 +53,6 @@
</div> </div>
</template> </template>
<template v-slot:searchContent> <template v-slot:searchContent>
<div class="select-content-item">
<div class="select-content-item-label">
活动名称
</div>
<Input v-model="select.name" placeholder="活动名称.." clearable style="width: 220px;"/>
</div>
<div class="select-content-item"> <div class="select-content-item">
<div class="select-content-item-label" style="display: flex;flex-wrap: wrap"> <div class="select-content-item-label" style="display: flex;flex-wrap: wrap">

@ -0,0 +1,26 @@
<template>
<div>
<Modal title="订单日志" :value.sync="isShow" @on-visible-change="$emit('update:isShow',$event)">
</Modal>
</div>
</template>
<script>
export default {
props:{
isShow:{
type:Boolean,
default:false
}
},
data() {
return {}
},
methods: {}
}
</script>
<style scoped lang="scss">
</style>

File diff suppressed because one or more lines are too long

@ -27,7 +27,7 @@
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>栏目 <span style="color: red;font-weight: 600;padding-right: 4px;">*</span>栏目
</div> </div>
<div class="xy-table-item-content"> <div class="xy-table-item-content">
<el-select v-model="form.strategyTypeId" placeholder="请选择栏目"> <el-select v-model="form.strategyTypeId" placeholder="请选择栏目" style="width: 300px;">
<el-option v-for="item in strategyTypes" :label="item.name" :value="item.id"></el-option> <el-option v-for="item in strategyTypes" :label="item.name" :value="item.id"></el-option>
</el-select> </el-select>
</div> </div>
@ -101,7 +101,7 @@
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>标签 <span style="color: red;font-weight: 600;padding-right: 4px;">*</span>标签
</div> </div>
<div class="xy-table-item-content"> <div class="xy-table-item-content">
<el-select multiple v-model="form.label" placeholder="请选择标签"> <el-select multiple v-model="form.label" placeholder="请选择标签" style="width: 300px;">
<el-option v-for="item in labels" :label="item.value" :value="item.id"></el-option> <el-option v-for="item in labels" :label="item.value" :value="item.id"></el-option>
</el-select> </el-select>
</div> </div>
@ -135,10 +135,10 @@ export default {
subheading:'', subheading:'',
strategyTypeId:'', strategyTypeId:'',
state:true, state:true,
content:'',
coverPicture:'', coverPicture:'',
sortNumber:0, sortNumber:0,
label:'' label:'',
content:'',
}, },
rules:{ rules:{
title:[ title:[
@ -202,6 +202,9 @@ export default {
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.xy-table-item-label{
width: 160px;
}
</style> </style>
<style> <style>
.avatar-uploader .el-upload { .avatar-uploader .el-upload {

@ -63,6 +63,16 @@
</div> </div>
</div> </div>
</template> </template>
<template v-slot:callLogo>
<div class="xy-table-item">
<div class="xy-table-item-label">
调用标识
</div>
<div class="xy-table-item-content">
<el-input v-model="form.callLogo" placeholder="请填写调用标识" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
<template v-slot:remark> <template v-slot:remark>
<div class="xy-table-item"> <div class="xy-table-item">
<div class="xy-table-item-label"> <div class="xy-table-item-label">
@ -78,20 +88,23 @@
</template> </template>
<script> <script>
import {store} from '@/api/strategyType' import {store,save} from '@/api/strategyType'
import { Message } from 'element-ui' import { Message } from 'element-ui'
import {deepCopy} from "@/utils"
export default { export default {
data() { data() {
return { return {
id:'',
isShow:false, isShow:false,
type:'', type:'',
action:`${process.env.VUE_APP_BASE_API}api/admin/upload-file`, action:`${process.env.VUE_APP_BASE_API}api/admin/upload-file`,
detail:{},
form:{ form:{
name:'', name:'',
icon:'', icon:'',
state:true, state:true,
callLogo:'',
sortNumber:0, sortNumber:0,
remark:'' remark:''
}, },
@ -121,11 +134,25 @@ export default {
} }
}, },
getDetail(){
const res = deepCopy(this.detail)
console.log(res)
this.form = {
name:res.name,
icon:res.icon,
state:res?.state ? true : false,
callLogo:res.call_logo,
sortNumber:0,
remark:res.remark
}
},
submit(){ submit(){
if(this.type === 'add'){ if(this.type === 'add'){
store({ store({
name:this.form.name, name:this.form.name,
icon:this.form.icon, icon:this.form.icon,
call_logo:this.form.callLogo,
state:this.form.state ? 1 : 0, state:this.form.state ? 1 : 0,
sort_number:this.form.sortNumber sort_number:this.form.sortNumber
}).then(res => { }).then(res => {
@ -136,16 +163,38 @@ export default {
this.isShow = false this.isShow = false
this.$emit('refresh') this.$emit('refresh')
}) })
return
}
if(this.type === 'editor'){
save({
id:this.id,
name:this.form.name,
icon:this.form.icon,
call_logo:this.form.callLogo,
state:this.form.state ? 1 : 0,
sort_number:this.form.sortNumber
}).then(res => {
Message({
type:'success',
message:'编辑分类成功'
})
this.isShow = false
this.$emit('refresh')
})
return
} }
} }
}, },
watch:{ watch:{
isShow(newVal){ isShow(newVal){
if(newVal){ if(newVal){
if(this.type === 'editor'){
this.getDetail()
}
}else{ }else{
this.id = '' this.id = ''
this.type = '' this.type = ''
this.detail = {}
this.$refs['dialog'].reset() this.$refs['dialog'].reset()
} }
} }

@ -6,7 +6,7 @@
<slot> <slot>
<div> <div>
<Input style="width: 200px; margin-right: 10px" v-model="select.keywords" placeholder="关键字搜索" /> <Input style="width: 200px; margin-right: 10px" v-model="select.keywords" placeholder="关键字搜索" />
<Button type="primary"></Button> <Button type="primary" @click="getTypes"></Button>
<Button type="primary" style="margin-left: 10px" @click="$refs['addStrategyType'].type = 'add',$refs['addStrategyType'].isShow = true">新增</Button> <Button type="primary" style="margin-left: 10px" @click="$refs['addStrategyType'].type = 'add',$refs['addStrategyType'].isShow = true">新增</Button>
</div> </div>
</slot> </slot>
@ -18,16 +18,20 @@
:list="list" :list="list"
:table-item="table" :table-item="table"
@pageIndexChange="pageChange" @pageIndexChange="pageChange"
@pageSizeChange="e => select.pageSize = e"></xy-table> @pageSizeChange="e => select.pageSize = e"
@editor="editor"
@delete="deleteType"></xy-table>
<addStrategyType ref="addStrategyType" @refresh="getTypes"></addStrategyType> <addStrategyType ref="addStrategyType" @refresh="getTypes"></addStrategyType>
</div> </div>
</template> </template>
<script> <script>
import {index} from "@/api/strategyType" import {index,destroy} from "@/api/strategyType"
import {parseTime} from "@/utils"
import addStrategyType from '@/views/productService/components/addStrategyType' import addStrategyType from '@/views/productService/components/addStrategyType'
import { Message } from 'element-ui'
export default { export default {
components:{ components:{
addStrategyType addStrategyType
@ -42,7 +46,44 @@ export default {
total:0, total:0,
list:[], list:[],
table:[], table:[
{
prop:'name',
label:'名称',
width:180
},
{
prop:'call_logo',
label:'调用标识',
width:200
},
{
label:'状态',
width: 180,
customFn:(row) => {
return (
<div style={{'color': row.state ? 'green' : 'red'}}>{row.state ? '启用' : '未启用'}</div>
)
}
},
{
label:'排序',
width: 180,
prop:'sort_number'
},
{
label:'创建时间',
width: 260,
prop:'created_at',
formatter:(cell,data,value)=>{
return parseTime(new Date(value),'{y}-{m}-{d}')
}
},
{
label:'创建人',
minWidth:160
}
],
} }
}, },
methods: { methods: {
@ -52,12 +93,31 @@ export default {
page_size:this.select.pageSize, page_size:this.select.pageSize,
name:this.select.name name:this.select.name
}) })
console.log(res) this.list = res.rows
this.total = res.total
}, },
pageChange(e){ pageChange(e){
this.select.pageSize = e this.select.pageSize = e
this.getTypes() this.getTypes()
},
editor(row){
this.$refs['addStrategyType'].detail = row
this.$refs['addStrategyType'].id = row.id
this.$refs['addStrategyType'].type = 'editor'
this.$refs['addStrategyType'].isShow = true
},
deleteType(row){
destroy({
id:row.id
}).then(res => {
Message({
type:'success',
message:'删除攻略类型成功'
})
this.getTypes()
})
} }
}, },
mounted() { mounted() {

Loading…
Cancel
Save