update:店铺装修新增空白模板

This commit is contained in:
lihaoyuan 2025-12-13 18:10:21 +08:00
parent 9ca20f7f24
commit 944b27e95a
5 changed files with 130 additions and 4 deletions

View File

@ -73,6 +73,15 @@ export function copyDiyByAppId(params){
params:params params:params
}) })
} }
export function createBlankPageApp(params){
return request({
url: URL.shop.page.app.createBlankPageApp,
method: 'post',
params:params
})
}
export function pageAppPublish(params){ export function pageAppPublish(params){
return request({ return request({
url: URL.shop.page.app.pageAppPublish, url: URL.shop.page.app.pageAppPublish,

View File

@ -1247,6 +1247,7 @@ let url = {
listMarketPage:api_url + '/admin/shop/shop-page-app/listMarketPage', listMarketPage:api_url + '/admin/shop/shop-page-app/listMarketPage',
editPageApp:api_url + '/admin/shop/shop-page-app/editPageApp', editPageApp:api_url + '/admin/shop/shop-page-app/editPageApp',
copyDiyByAppId:api_url + '/admin/shop/shop-page-app/copyDiyByAppId', copyDiyByAppId:api_url + '/admin/shop/shop-page-app/copyDiyByAppId',
createBlankPageApp:api_url + '/admin/shop/shop-page-app/createBlankPageApp',
pageAppPublish:api_url + '/admin/shop/shop-page-app/pageAppPubish', pageAppPublish:api_url + '/admin/shop/shop-page-app/pageAppPubish',
}, },
base: { base: {

View File

@ -0,0 +1,104 @@
<template>
<el-dialog
title="创建空白模板"
width="30%"
:visible.sync="visible"
custom-class="template-dialog"
:z-index="2020"
:append-to-body="true"
height="300px"
>
<el-form
:model="form"
ref="form"
label-width="80px"
:inline="false"
size="normal"
>
<el-form-item label="模板名字">
<el-input v-model="form.appName"></el-input>
</el-form-item>
<el-form-item label="模板类型">
<el-select v-model="form.appIndustry" clearable filterable>
<el-option v-for="item in shopModelList"
:key="item.id"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="toCreateBlank">创建空白模板</el-button>
<el-button @click="handleClose">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<script>
import {createBlankPageApp} from '@/api/page/app'
export default{
name:'createBlank',
data(){
return{
visible: false,
form:{
appName:'',
appIndustry:''
},
shopModelList:[
{id:"1",label:'超市',value:'1'},
{id:"2",label:'数码家电',value:'2'},
{id:"3",label:'水果生鲜',value:'3'},
{id:"4",label:'烘培饮品',value:'4'},
{id:"5",label:'社区团购',value:'5'},
{id:"6",label:'时尚美妆',value:'6'},
{id:"7",label:'婴儿服饰',value:'7'},
{id:"8",label:'家居',value:'8'},
{id:"9",label:'汽车',value:'9'},
{id:"10",label:'酒店旅游',value:'10'},
{id:"11",label:'鲜花绿植',value:'11'},
{id:"12",label:'医药健康',value:'12'},
{id:"13",label:'工业五金',value:'13'},
{id:"14",label:'节日模板',value:'14'},
{id:"0",label:'其他行业',value:'0'},
],
}
},
methods:{
open(){
this.visible = true
},
async toCreateBlank(){
let params={
appName:this.form.appName,
appIndustry:this.form.appIndustry
}
let res=await createBlankPageApp(params)
if(res.status==200){
this.$message.success('空白模板创建成功!')
this.visible = false
this.$emit('copySuccess')//
}
},
//
handleClose() {
this.visible = false
}
}
}
</script>
<style scoped>
.template-dialog {
height: 300px !important;
display: flex;
flex-direction: column;
}
.template-dialog .el-dialog__body {
flex: 1;
overflow-y: auto;
max-height: 300px;
}
</style>

View File

@ -41,7 +41,7 @@
<div class="enableExit"> <div class="enableExit">
<el-button <el-button
type="primary" type="primary"
@click="" @click="openCreateBlank"
> >
{{ __('创建空白模板') }} {{ __('创建空白模板') }}
</el-button> </el-button>
@ -80,6 +80,7 @@
<copyTemplate ref="copyTemplateRef"></copyTemplate> <copyTemplate ref="copyTemplateRef"></copyTemplate>
<previewTemplate ref="previewTemplateRef"></previewTemplate> <previewTemplate ref="previewTemplateRef"></previewTemplate>
<createBlank ref="blankTemplateRef"></createBlank>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
@ -87,10 +88,11 @@
<script> <script>
import { listMarketPage, setThemes, getBlankTpl } from '@/api/page/app' import { listMarketPage, setThemes, getBlankTpl } from '@/api/page/app'
import copyTemplate from '@/views/page/sellerApp/copyTemplate.vue' import copyTemplate from '@/views/page/sellerApp/copyTemplate.vue'
import createBlank from '@/views/page/sellerApp/CreateBlankTemplate.vue'
import previewTemplate from '@/views/page/sellerApp/previewTemplate.vue' import previewTemplate from '@/views/page/sellerApp/previewTemplate.vue'
export default { export default {
name: 'TemplateMenu', name: 'TemplateMenu',
components: { copyTemplate, previewTemplate }, components: { copyTemplate, previewTemplate,createBlank },
data() { data() {
return { return {
visible: false, visible: false,
@ -98,6 +100,7 @@ export default {
emptyPage: null, emptyPage: null,
app_market_images: null, app_market_images: null,
copyTemplateRef: null, copyTemplateRef: null,
blankTemplateRef: null,
previewTemplateRef: null, previewTemplateRef: null,
selectType:'', selectType:'',
appName:'', appName:'',
@ -194,6 +197,9 @@ export default {
openCopy(page) { openCopy(page) {
this.$refs.copyTemplateRef?.open(page) this.$refs.copyTemplateRef?.open(page)
}, },
openCreateBlank(){
this.$refs.blankTemplateRef?.open()
},
openPreview(page) { openPreview(page) {
this.$refs.previewTemplateRef?.open(page) this.$refs.previewTemplateRef?.open(page)
}, },

View File

@ -151,7 +151,7 @@
<div class="enableExit"> <div class="enableExit">
<el-button <el-button
type="primary" type="primary"
@click="" @click="openCreateBlank"
> >
{{ __('创建空白模板') }} {{ __('创建空白模板') }}
</el-button> </el-button>
@ -201,6 +201,7 @@
<templateMenu ref="templateMenuRef"></templateMenu> <templateMenu ref="templateMenuRef"></templateMenu>
<decoarationDetail ref="decoarationDetailRef" @editSuccess="refreshAllData"></decoarationDetail> <decoarationDetail ref="decoarationDetailRef" @editSuccess="refreshAllData"></decoarationDetail>
<copyTemplate ref="copyTemplateRef" @copySuccess="refreshAllData"></copyTemplate> <copyTemplate ref="copyTemplateRef" @copySuccess="refreshAllData"></copyTemplate>
<createBlank ref="blankTemplateRef" @copySuccess="refreshAllData"></createBlank>
<previewTemplate ref="previewTemplateRef"></previewTemplate> <previewTemplate ref="previewTemplateRef"></previewTemplate>
</div> </div>
</template> </template>
@ -217,10 +218,11 @@
import templateMenu from '@/views/page/sellerApp/TemplateMenu.vue' import templateMenu from '@/views/page/sellerApp/TemplateMenu.vue'
import decoarationDetail from '@/views/page/sellerApp/DecorationDetail.vue' import decoarationDetail from '@/views/page/sellerApp/DecorationDetail.vue'
import copyTemplate from '@/views/page/sellerApp/copyTemplate.vue' import copyTemplate from '@/views/page/sellerApp/copyTemplate.vue'
import createBlank from '@/views/page/sellerApp/CreateBlankTemplate.vue'
import previewTemplate from '@/views/page/sellerApp/previewTemplate.vue' import previewTemplate from '@/views/page/sellerApp/previewTemplate.vue'
export default { export default {
name: 'PageApp', name: 'PageApp',
components: { templateMenu, decoarationDetail,copyTemplate,previewTemplate }, components: { templateMenu, decoarationDetail,copyTemplate,previewTemplate,createBlank },
data() { data() {
return { return {
usePage: {}, usePage: {},
@ -228,6 +230,7 @@
templateMenuRef: null, templateMenuRef: null,
decoarationDetailRef: null, decoarationDetailRef: null,
copyTemplateRef:null, copyTemplateRef:null,
blankTemplateRef:null,
previewTemplateRef:null, previewTemplateRef:null,
templateList: { records: [] }, templateList: { records: [] },
emptyPage: null, emptyPage: null,
@ -391,6 +394,9 @@
openCopy(page) { openCopy(page) {
this.$refs.copyTemplateRef?.open(page) this.$refs.copyTemplateRef?.open(page)
}, },
openCreateBlank(){
this.$refs.blankTemplateRef?.open()
},
openPreview(page){ openPreview(page){
this.$refs.previewTemplateRef?.open(page) this.$refs.previewTemplateRef?.open(page)
}, },