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{
flex-shrink: 0;
flex-basis: 50%;
}
.el-form-item__error{

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

@ -5,23 +5,28 @@
<div slot="content"></div>
<slot>
<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">
<Alert style="padding-top: 6px;padding-bottom: 6px;font-size: 13px" type="success" show-icon closable @on-close="resetSelect">
<Icon type="ios-funnel-outline" slot="icon" color="#fff"/>
<span v-if="select.name">
{{select.name}},
</span>
<span v-if="select.system">
{{select.system.label}},
</span>
<span v-if="select.createDate[0] || select.createDate[1]">
{{select.createDate[0]}} - {{select.createDate[1]}},
</span>
<span v-if="select.isEffect === 0 || select.isEffect === 1">
{{select.isEffect === 0 ? '有效' : '无效'}}
</span>
</Alert>
<template>
<!-- <template v-if="select.name || select.system || select.createDate[0] || select.createDate[1] || select.isEffect === 0 || select.isEffect === 1">-->
<!-- <Alert style="padding-top: 6px;padding-bottom: 6px;font-size: 13px" type="success" show-icon closable @on-close="resetSelect">-->
<!-- <Icon type="ios-funnel-outline" slot="icon" color="#fff"/>-->
<!-- <span v-if="select.name">-->
<!-- {{select.name}},-->
<!-- </span>-->
<!-- <span v-if="select.system">-->
<!-- {{select.system.label}},-->
<!-- </span>-->
<!-- <span v-if="select.createDate[0] || select.createDate[1]">-->
<!-- {{select.createDate[0]}} - {{select.createDate[1]}},-->
<!-- </span>-->
<!-- <span v-if="select.isEffect === 0 || select.isEffect === 1">-->
<!-- {{select.isEffect === 0 ? '有效' : '无效'}}-->
<!-- </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 v-slot:selected>
<div style="display: flex;padding: 0 0 10px 20px;">
<span style="padding-right: 6px">当前搜索条件</span>
@ -48,12 +53,6 @@
</div>
</template>
<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-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>栏目
</div>
<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-select>
</div>
@ -101,7 +101,7 @@
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>标签
</div>
<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-select>
</div>
@ -135,10 +135,10 @@ export default {
subheading:'',
strategyTypeId:'',
state:true,
content:'',
coverPicture:'',
sortNumber:0,
label:''
label:'',
content:'',
},
rules:{
title:[
@ -202,6 +202,9 @@ export default {
</script>
<style scoped lang="scss">
.xy-table-item-label{
width: 160px;
}
</style>
<style>
.avatar-uploader .el-upload {

@ -63,6 +63,16 @@
</div>
</div>
</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>
<div class="xy-table-item">
<div class="xy-table-item-label">
@ -78,20 +88,23 @@
</template>
<script>
import {store} from '@/api/strategyType'
import {store,save} from '@/api/strategyType'
import { Message } from 'element-ui'
import {deepCopy} from "@/utils"
export default {
data() {
return {
id:'',
isShow:false,
type:'',
action:`${process.env.VUE_APP_BASE_API}api/admin/upload-file`,
detail:{},
form:{
name:'',
icon:'',
state:true,
callLogo:'',
sortNumber:0,
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(){
if(this.type === 'add'){
store({
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 => {
@ -136,16 +163,38 @@ export default {
this.isShow = false
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:{
isShow(newVal){
if(newVal){
if(this.type === 'editor'){
this.getDetail()
}
}else{
this.id = ''
this.type = ''
this.detail = {}
this.$refs['dialog'].reset()
}
}

@ -6,7 +6,7 @@
<slot>
<div>
<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>
</div>
</slot>
@ -18,16 +18,20 @@
:list="list"
:table-item="table"
@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>
</div>
</template>
<script>
import {index} from "@/api/strategyType"
import {index,destroy} from "@/api/strategyType"
import {parseTime} from "@/utils"
import addStrategyType from '@/views/productService/components/addStrategyType'
import { Message } from 'element-ui'
export default {
components:{
addStrategyType
@ -42,7 +46,44 @@ export default {
total:0,
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: {
@ -52,12 +93,31 @@ export default {
page_size:this.select.pageSize,
name:this.select.name
})
console.log(res)
this.list = res.rows
this.total = res.total
},
pageChange(e){
this.select.pageSize = e
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() {

Loading…
Cancel
Save