no message

This commit is contained in:
小陌 2023-06-12 16:26:27 +08:00
parent f66779602b
commit 6fd0a8a3f4
7 changed files with 165 additions and 13 deletions

View File

@ -1,7 +1,6 @@
/**
* @description 自动import导入所有 api 模块
*/
import http from "@/utils/request"
const modules = {}
const files = require.context('./model', false, /\.js$/)
files.keys().forEach((key) => {

View File

@ -11,7 +11,6 @@
</el-drawer>
</template>
<script>
import api from './api'
export default {
emits: ['success', 'closed'],
data() {

View File

@ -20,18 +20,25 @@
<img :src="scope.row.image" height="25" style="border-radius: 8px;"> {{ scope.row.title }}
</template>
</el-table-column>
<el-table-column label="图组" prop="attachment" width="80">
<el-table-column label="图组" prop="attachment" width="60">
<template #default="scope">
<el-text text size="small" @click="setImage(scope.row)">
<el-link :underline="false" size="small" @click="setImage(scope.row)">
<el-badge :value="scope.row.attachment.length" type="danger"></el-badge>
</el-text>
</el-link>
</template>
</el-table-column>
<el-table-column label="视频" prop="video" width="80">
<el-table-column label="视频" prop="video" width="60">
<template #default="scope">
<el-text text size="small" @click="setVideo(scope.row)">
<el-link :underline="false" size="small" @click="setVideo(scope.row)">
<el-badge :value="Object.keys(scope.row.video||{}).length" type="warning"></el-badge>
</el-text>
</el-link>
</template>
</el-table-column>
<el-table-column label="直播" prop="live" width="60">
<template #default="scope">
<el-link :underline="false" size="small" @click="setLive(scope.row)">
<el-badge :value="Object.keys(scope.row.live||{}).length" type="info"></el-badge>
</el-link>
</template>
</el-table-column>
<el-table-column label="客服ID" prop="customerservice" width="80"></el-table-column>
@ -62,6 +69,7 @@
<update v-if="dialog.update" ref="update" @success="handleSuccess" @closed="dialog.update=false"></update>
<images v-if="dialog.images" ref="images" @success="handleSuccess" @closed="dialog.images=false"></images>
<videos v-if="dialog.videos" ref="videos" @success="handleSuccess" @closed="dialog.videos=false"></videos>
<lives v-if="dialog.lives" ref="lives" @success="handleSuccess" @closed="dialog.lives=false"></lives>
</template>
<script>
@ -69,6 +77,7 @@
import update from './update'
import images from './images'
import videos from './videos'
import lives from './lives'
import api from './api'
export default {
@ -78,6 +87,7 @@
update,
videos,
images,
lives,
},
data() {
return {
@ -86,6 +96,7 @@
update: false,
images: false,
videos: false,
lives: false,
},
apiObj: api.list,
selection: []
@ -114,6 +125,12 @@
this.$refs.videos.open().remoteData(o)
})
},
setLive(o){
this.dialog.lives = true
this.$nextTick(() => {
this.$refs.lives.open().remoteData(o)
})
},
//
table_edit(row){
this.dialog.update = true

View File

@ -0,0 +1,125 @@
<template>
<el-drawer :size="800" @closed="$emit('closed', data)" :close-on-press-escape="false" :close-on-click-modal="false" destroy-on-close title="直播列表" v-model="visible">
<el-container v-loading="loading">
<el-main style="padding:0 6px 6px 6px">
<sc-form-table :addtemplate="filtersAddTemplate" :hideadd="true" class="lives" drag-sort="" placeholder="暂无数据" ref="livestable" v-model="data.lives">
<el-table-column label="视频ID" prop="text" width="100">
<template #default="scope">
<el-input placeholder="视频ID" v-model="scope.row.videoid">
</el-input>
</template>
</el-table-column>
<el-table-column label="视频链接" prop="text">
<template #default="scope">
<el-input placeholder="视频链接" v-model="scope.row.videourl">
</el-input>
</template>
</el-table-column>
<el-table-column label="视频图片" prop="value" width="150">
<template #default="scope">
<el-input class="input-with-select" placeholder="视频图片" v-model="scope.row.imageid">
<template v-slot:append="">
<sc-upload :height="30" :multiple="false" :on-success="function(res){ scope.row.imageid = res.aid; scope.row.imageurl = res.url }" :showfilelist="0" :width="30" v-model="scope.row.imageurl">
<el-button icon="el-icon-upload" type="danger">
</el-button>
</sc-upload>
</template>
</el-input>
</template>
</el-table-column>
</sc-form-table>
<div style="padding:10px 0px 0 0px">
<el-upload :action="fileConfig.api" :file-list="fileList" :on-success="pushRow" name="files">
<slot>
<el-button style="width: 100%;" type="danger">
点击上传视频文件
</el-button>
</slot>
</el-upload>
</div>
</el-main>
<el-footer v-if="issave">
<el-button @click="submit" type="primary">
保存
</el-button>
</el-footer>
</el-container>
</el-drawer>
</template>
<style>
.input-with-select .el-input-group__prepend {
padding: 2px;
}
.lives .el-input-group__append{
padding: 0px;
}
</style>
<script>
import sysConfig from "@/config";
import api from './api'
export default {
emits: ['success', 'closed'],
data() {
return {
visible: false,
issave: false,
data:[],
filtersAddTemplate: {
imageid: null,
videoid: null,
videourl: '',
imageurl: '',
},
fileList:[],
fileConfig:{
api: sysConfig.API_URL + this.$api.common.upload.url,
},
}
},
mounted() {
},
methods: {
pushRow(res){
this.fileList = [];
if (res.code==200) {
this.$refs.livestable.pushRow({
imageid: null,
videoid: res.data.aid,
videourl: res.data.url,
imageurl: '',
})
return ;
}
this.$message.warning(res.message);
},
close(){
this.visible = false;
},
//
submit(){
this.$emit('success', this.data, this)
},
//
open(){
this.visible = true;
return this;
},
//
setData(o){
this.data = o
},
remoteData(o){
setTimeout(async ()=>{
var res = await api.get('getAttachment',{id:o.id})
this.loading = false
this.data = res.data;
this.issave = true
},400)
}
}
}
</script>
<style>
</style>

View File

@ -1,5 +1,5 @@
<template>
<el-drawer :title="titleMap[mode]" v-model="visible" :size="1200" destroy-on-close @closed="$emit('closed')">
<el-drawer :title="titleMap[mode]" v-model="visible" :size="1200" :close-on-press-escape="false" :close-on-click-modal="false" destroy-on-close @closed="$emit('closed')">
<el-container v-loading="loading">
<el-main style="padding:0 20px 20px 20px">
<el-form ref="dialogForm" :model="form" label-width="100px" label-position="top">
@ -34,6 +34,19 @@
<el-input v-model="scope.row.allowance" placeholder="可预定数量"></el-input>
</template>
</el-table-column>
<el-table-column prop="allowance" label="房型" width="120">
<template #default="scope">
<el-select v-model="scope.row.type" placeholder="选择">
<el-option key=1 label="单人间" value=1> 单人间</el-option>
<el-option key=2 label="双人间" value=2> 双人间</el-option>
<el-option key=3 label="三人间" value=3> 三人间</el-option>
<el-option key=4 label="独卫套间" value=4> 独卫套间</el-option>
<el-option key=5 label="双人套间" value=5> 双人套间</el-option>
<el-option key=7 label="studio" value=7> studio</el-option>
<el-option key=6 label="其他" value=6> 其他</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column prop="price" label="价格" width="120">
<template #default="scope">
<el-input v-model="scope.row.price" placeholder="价格"></el-input>
@ -44,8 +57,6 @@
<el-input v-model="scope.row.discountprice" placeholder="房间特价"></el-input>
</template>
</el-table-column>
<el-table-column prop="status" label="可预定" width="70" align="center">
<template #default="scope">
<el-switch v-model="scope.row.status" active-value="1" inactive-value="0"></el-switch>
@ -110,6 +121,7 @@
addTemplate: {
name:null,
tags:null,
type:null,
allowance:0,
price:0,
discountprice:0,

View File

@ -1,5 +1,5 @@
<template>
<el-drawer :title="titleMap[mode]" v-model="visible" :size="1000" destroy-on-close @closed="$emit('closed')">
<el-drawer :title="titleMap[mode]" v-model="visible" :size="1000" :close-on-press-escape="false" :close-on-click-modal="false" destroy-on-close @closed="$emit('closed')">
<el-container v-loading="loading">
<el-main style="padding:0 20px 20px 20px">
<sc-form ref="formref" :config="config" v-model="info" :loading="loading"> </sc-form>

View File

@ -1,5 +1,5 @@
<template>
<el-drawer :size="800" @closed="$emit('closed', data)" destroy-on-close="" title="视频组" v-model="visible">
<el-drawer :size="800" @closed="$emit('closed', data)" :close-on-press-escape="false" :close-on-click-modal="false" destroy-on-close title="视频组" v-model="visible">
<el-container v-loading="loading">
<el-main style="padding:0 6px 6px 6px">
<sc-form-table :addtemplate="filtersAddTemplate" :hideadd="true" class="videos" drag-sort="" placeholder="暂无数据" ref="videostable" v-model="data.videos">