修改AI模块
This commit is contained in:
+1
-3
@@ -17,9 +17,7 @@
|
||||
"proto": "pbjs -t json-module -w commonjs -o src/proto/proto.js src/proto/pub/*.proto src/proto/web/*.proto"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
|
||||
}
|
||||
"hooks": {}
|
||||
},
|
||||
"lint-staged": {
|
||||
"src/**/*.{js,vue}": [
|
||||
|
||||
@@ -9,37 +9,37 @@ import request from '@/utils/request'
|
||||
|
||||
// 添加
|
||||
export function aitemplateAdd(data) {
|
||||
return request({
|
||||
url: '/api/web/aitemplate/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/api/web/aitemplate/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除
|
||||
export function aitemplateDel(data) {
|
||||
return request({
|
||||
url: '/api/web/aitemplate/del',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/api/web/aitemplate/del',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询
|
||||
export function aitemplateSearch(data) {
|
||||
return request({
|
||||
url: '/api/web/aitemplate/list',
|
||||
method: 'post',
|
||||
filterParam: true,
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/api/web/aitemplate/list',
|
||||
method: 'post',
|
||||
filterParam: true,
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改
|
||||
export function aitemplateUpdate(data) {
|
||||
return request({
|
||||
url: '/api/web/aitemplate/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
return request({
|
||||
url: '/api/web/aitemplate/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -19,10 +19,37 @@ export function aiTextToImageList(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
// 查询ai小说列表
|
||||
export function aiTextToNovelList(data) {
|
||||
return request({
|
||||
url: '/api/web/aitexttonovel/list',
|
||||
method: 'post',
|
||||
filterParam: true,
|
||||
data
|
||||
})
|
||||
}
|
||||
// 删除ai小说列表
|
||||
export function deleteNovel(data) {
|
||||
return request({
|
||||
url: '/api/web/aitexttonovel/del',
|
||||
method: 'post',
|
||||
filterParam: true,
|
||||
data
|
||||
})
|
||||
}
|
||||
// 退款AI小说
|
||||
export function updateNovel(data) {
|
||||
return request({
|
||||
url: '/api/web/aitexttonovel/update',
|
||||
method: 'post',
|
||||
filterParam: true,
|
||||
data
|
||||
})
|
||||
}
|
||||
// 修改图生视频列表
|
||||
export function aiTextToImageUpdate(data) {
|
||||
return request({
|
||||
url: '/api/web/aitexttoimage/modify',
|
||||
url: '/api/web/aitexttoimage/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
|
||||
@@ -1097,6 +1097,12 @@ export const serverRouter = [
|
||||
name: 'AiTxtToImg',
|
||||
api_url: [],
|
||||
meta: { title: 'AI文生图', noCache: true, icon: 'el-icon-chat-dot-square' }
|
||||
},
|
||||
{
|
||||
path: 'aiNovelList',
|
||||
name: 'AiNovelList',
|
||||
api_url: [],
|
||||
meta: { title: 'AI小说', noCache: true, icon: 'el-icon-chat-dot-square' }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -189,6 +189,7 @@ const map = {
|
||||
AiStripOrder: () => import('@/views/aiManagement/aiStripOrder/index.vue'), // ai脱衣订单
|
||||
AiImgToVideo: () => import('@/views/aiManagement/aiImgToVideo/index.vue'), // ai图生视频
|
||||
AiTxtToImg: () => import('@/views/aiManagement/aiTxtToImg/index.vue'), // ai文生图
|
||||
AiNovelList: () => import('@/views/aiManagement/aiNovelList/index.vue'), // ai文生图
|
||||
// 其他管理
|
||||
OtherConfig: Layout,
|
||||
Jumptab: () => import('@/views/otherConfig/jumptab/index.vue'), // 首页跳转按钮
|
||||
|
||||
@@ -25,6 +25,14 @@
|
||||
<el-option label="AI脱衣" :value="3" />
|
||||
<el-option label="AI女友" :value="4" />
|
||||
<el-option label="文生图" :value="5" />
|
||||
<el-option label="图生视频" :value="6" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="广告模式" prop="advertisingId">
|
||||
<el-select placeholder="请选择广告模式" clearable v-model="form.adsType" filterable>
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in videoTypeMode" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -46,6 +54,8 @@
|
||||
<script>
|
||||
import { AiContentTypeList } from '@/filters/aiManagement/aiTemplate'
|
||||
import { aitemplateCategoryAdd, aitemplateCategoryUpdate } from '@/api/aiManagement/aiOrder'
|
||||
import { videoTypeMode } from '@/filters/videoManagement/videoType'
|
||||
|
||||
export default {
|
||||
name: 'AddOrEdit',
|
||||
props: ['data'],
|
||||
@@ -53,6 +63,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
AiContentTypeList: AiContentTypeList(),
|
||||
videoTypeMode: videoTypeMode(),
|
||||
Visible: true,
|
||||
title: '',
|
||||
time: [],
|
||||
@@ -67,7 +78,8 @@ export default {
|
||||
rank: undefined,
|
||||
showType: undefined,
|
||||
status: undefined,
|
||||
updatedAt: undefined
|
||||
updatedAt: undefined,
|
||||
adsType: undefined
|
||||
},
|
||||
rules: {}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,9 @@
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="展示方式">
|
||||
<template slot-scope="scope">{{ scope.row.showType | changeAiContentType }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="广告模式" width="80">
|
||||
<template slot-scope="scope">{{ scope.row.adsType | changeVideoTypeMode }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="是否启用">
|
||||
<template slot-scope="scope">
|
||||
|
||||
@@ -1,8 +1,20 @@
|
||||
<template>
|
||||
<el-dialog :title="title" :visible.sync="Visible" width="780px" center class="ac-dialog" :close-on-click-modal="false"
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="Visible"
|
||||
width="780px"
|
||||
center
|
||||
class="ac-dialog"
|
||||
:close-on-click-modal="false"
|
||||
@close="close">
|
||||
|
||||
<el-form :inline="true" :model="form" :rules="rules" ref="form" class="demo-form-inline" label-width="120px"
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
ref="form"
|
||||
class="demo-form-inline"
|
||||
label-width="120px"
|
||||
label-position="right">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
@@ -32,7 +44,6 @@
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="Visible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="submit('form')"> 确 定 </el-button>
|
||||
@@ -64,15 +75,15 @@ export default {
|
||||
formData: {},
|
||||
// 表单数据
|
||||
form: {
|
||||
"byWay": undefined,
|
||||
"id": undefined,
|
||||
"modifyImgs": undefined,
|
||||
"modifyVideoUrl": undefined,
|
||||
"reason": undefined,
|
||||
"status": 0,
|
||||
"updatedAt": undefined
|
||||
'byWay': undefined,
|
||||
'id': undefined,
|
||||
'modifyImgs': undefined,
|
||||
'modifyVideoUrl': undefined,
|
||||
'reason': undefined,
|
||||
'status': 0,
|
||||
'updatedAt': undefined
|
||||
},
|
||||
rules: {},
|
||||
rules: {}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -83,22 +94,20 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//TODO:新增应用列表数据
|
||||
// TODO:新增应用列表数据
|
||||
|
||||
filterM3u8(v) {
|
||||
filterM3u8(v) {
|
||||
return /\.m3u8/g.test(v) ? v : v + '.m3u8'
|
||||
},
|
||||
//TODO:编辑应用列表数据
|
||||
// TODO:编辑应用列表数据
|
||||
update(data) {
|
||||
|
||||
aiorderFacechangeUpdate(data).then((res) => {
|
||||
if (res && res.code === 200) {
|
||||
this.$message.success(res.data ? res.data : '更新成功')
|
||||
} else {
|
||||
this.$message.error(res.data?res.data:'更新失败')
|
||||
this.$message.error(res.data ? res.data : '更新失败')
|
||||
}
|
||||
this.Visible = false
|
||||
|
||||
this.Visible = false
|
||||
})
|
||||
},
|
||||
// 提交按钮
|
||||
@@ -141,8 +150,8 @@ export default {
|
||||
|
||||
onClear(data) {
|
||||
this.form[data] = undefined
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,45 +1,25 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="Visible"
|
||||
width="780px"
|
||||
center
|
||||
class="ac-dialog"
|
||||
:close-on-click-modal="false"
|
||||
<el-dialog :title="title" :visible.sync="Visible" width="780px" center class="ac-dialog" :close-on-click-modal="false"
|
||||
@close="close">
|
||||
<el-row :gutter="24">
|
||||
<el-col >
|
||||
<h3>AI生成的视频URl</h3>
|
||||
<div v-if="form.vidUrl" style="width: 380px; height: 240px; overflow: hidden">
|
||||
<DPlayer
|
||||
ref="player"
|
||||
v-if="form.vidUrl.indexOf('mp4') === -1"
|
||||
:video="{
|
||||
<DPlayer ref="player" v-if="form.vidUrl.indexOf('mp4') === -1" :video="{
|
||||
url: '/api/web/media/m3u8/' + filterM3u8(form.vidUrl),
|
||||
type: 'hls',
|
||||
pic: '',
|
||||
}"
|
||||
hotkey ></DPlayer>
|
||||
<DPlayer
|
||||
ref="player"
|
||||
v-else
|
||||
:video="{
|
||||
}" hotkey ></DPlayer>
|
||||
<DPlayer ref="player" v-else :video="{
|
||||
url: this.$store.getters.getSystemConfig.mp4Url + form.vidUrl,
|
||||
type: 'mp4',
|
||||
pic: '',
|
||||
}"
|
||||
hotkey ></DPlayer>
|
||||
}" hotkey ></DPlayer>
|
||||
</div>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
ref="form"
|
||||
class="demo-form-inline"
|
||||
label-width="120px"
|
||||
<el-form :inline="true" :model="form" :rules="rules" ref="form" class="demo-form-inline" label-width="120px"
|
||||
label-position="right">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
@@ -64,6 +44,7 @@ label-width="120px"
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="Visible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="submit('form')"> 确 定 </el-button>
|
||||
@@ -95,15 +76,15 @@ export default {
|
||||
formData: {},
|
||||
// 表单数据
|
||||
form: {
|
||||
'byWay': undefined,
|
||||
'id': undefined,
|
||||
'modifyImgs': undefined,
|
||||
'vidUrl': undefined,
|
||||
'reason': undefined,
|
||||
'status': 0,
|
||||
'updatedAt': undefined
|
||||
"byWay": undefined,
|
||||
"id": undefined,
|
||||
"modifyImgs": undefined,
|
||||
"vidUrl": undefined,
|
||||
"reason": undefined,
|
||||
"status": 0,
|
||||
"updatedAt": undefined
|
||||
},
|
||||
rules: {}
|
||||
rules: {},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -114,20 +95,22 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// TODO:新增应用列表数据
|
||||
//TODO:新增应用列表数据
|
||||
|
||||
filterM3u8(v) {
|
||||
filterM3u8(v) {
|
||||
return /\.m3u8/g.test(v) ? v : v + '.m3u8'
|
||||
},
|
||||
// TODO:编辑应用列表数据
|
||||
//TODO:编辑应用列表数据
|
||||
update(data) {
|
||||
|
||||
aiorderFacechangeUpdate(data).then((res) => {
|
||||
if (res && res.code === 200) {
|
||||
this.$message.success(res.data ? res.data : '更新成功')
|
||||
} else {
|
||||
this.$message.error(res.data ? res.data : '更新失败')
|
||||
this.$message.error(res.data ? res.data : '更新失败')
|
||||
}
|
||||
this.Visible = false
|
||||
this.Visible = false
|
||||
|
||||
})
|
||||
},
|
||||
// 提交按钮
|
||||
@@ -170,8 +153,8 @@ export default {
|
||||
|
||||
onClear(data) {
|
||||
this.form[data] = undefined
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -116,8 +116,7 @@
|
||||
:total="total"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
/>
|
||||
layout="total, sizes, prev, pager, next, jumper"/>
|
||||
</div>
|
||||
<!-- 新增及编辑 -->
|
||||
<Edit :data="editData" v-if="editVisible" @close="closeEdit" />
|
||||
@@ -126,18 +125,18 @@
|
||||
</template>
|
||||
<script>
|
||||
// 引入模块
|
||||
import Edit from './components/AddOrEditPhoto';
|
||||
import ShowImg from '@/components/ShowImg/index.vue';
|
||||
import ShowVideo from '@/components/ShowVideo/index.vue';
|
||||
import { aiFacechangeSearch,facechangeResubmit } from '@/api/aiManagement/aiOrder';
|
||||
import { AiContentTypeList } from '@/filters/aiManagement/aiTemplate';
|
||||
import { aiOrderFaceChangeList, aiFaceOrderList } from '@/filters/aiManagement/aiFaceOrder';
|
||||
import Edit from './components/AddOrEditPhoto'
|
||||
import ShowImg from '@/components/ShowImg/index.vue'
|
||||
import ShowVideo from '@/components/ShowVideo/index.vue'
|
||||
import { aiFacechangeSearch, facechangeResubmit } from '@/api/aiManagement/aiOrder'
|
||||
import { AiContentTypeList } from '@/filters/aiManagement/aiTemplate'
|
||||
import { aiOrderFaceChangeList, aiFaceOrderList } from '@/filters/aiManagement/aiFaceOrder'
|
||||
export default {
|
||||
name: 'AiOrder',
|
||||
components: {
|
||||
ShowImg,
|
||||
ShowVideo,
|
||||
Edit,
|
||||
Edit
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -151,7 +150,7 @@ export default {
|
||||
byWay: undefined,
|
||||
aoContentType: 1,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 10
|
||||
},
|
||||
resData: [], // el-table表格数据
|
||||
editVisible: false,
|
||||
@@ -159,120 +158,119 @@ export default {
|
||||
loading: true, // 列表加载状态
|
||||
AiContentTypeList: AiContentTypeList(),
|
||||
aiOrderFaceChangeList: aiOrderFaceChangeList(),
|
||||
aiFaceOrderList: aiFaceOrderList(),
|
||||
};
|
||||
aiFaceOrderList: aiFaceOrderList()
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.getGameInfo();
|
||||
this.getGameInfo()
|
||||
},
|
||||
methods: {
|
||||
orderSumbit(index,row){
|
||||
orderSumbit(index, row) {
|
||||
this.$confirm('此操作将重新提交该订单, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
center: true
|
||||
}).then(async() => {
|
||||
const res = await facechangeResubmit({id:row.id})
|
||||
if(res.code===200){
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
center: true
|
||||
}).then(async() => {
|
||||
const res = await facechangeResubmit({ id: row.id })
|
||||
if (res.code === 200) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '提交成功!'
|
||||
});
|
||||
}else{
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message: '提交失败!'
|
||||
});
|
||||
}
|
||||
}).catch(() => {
|
||||
|
||||
});
|
||||
})
|
||||
}
|
||||
}).catch(() => {
|
||||
|
||||
})
|
||||
},
|
||||
//TODO:请求应用列表数据
|
||||
// TODO:请求应用列表数据
|
||||
getGameInfo() {
|
||||
aiFacechangeSearch(this.searchData).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.resData = res.data.list;
|
||||
this.total = res.data.total;
|
||||
this.resData = res.data.list
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.resData = [];
|
||||
this.total = 0;
|
||||
this.$message.error('请求列表失败!');
|
||||
this.resData = []
|
||||
this.total = 0
|
||||
this.$message.error('请求列表失败!')
|
||||
}
|
||||
this.loading = false;
|
||||
});
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
//TODO:删除应用列表数据
|
||||
// TODO:删除应用列表数据
|
||||
handleDelete(index, row) {
|
||||
this.$confirm('确定删除?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
AppInfoDel({ id: row.id }).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.getGameInfo();
|
||||
this.$message.success('成功删除!');
|
||||
this.getGameInfo()
|
||||
this.$message.success('成功删除!')
|
||||
} else {
|
||||
this.$message.error('操作失败');
|
||||
this.$message.error('操作失败')
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1;
|
||||
this.searchData.pageSize = 10;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 10
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 切换每页数据量
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = val;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageSize = val
|
||||
this.getGameInfo()
|
||||
},
|
||||
// 切换页数
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = val;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageNum = val
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 新增按钮
|
||||
add() {
|
||||
this.editVisible = true;
|
||||
this.editVisible = true
|
||||
},
|
||||
|
||||
// 编辑按钮
|
||||
handleEdit(index, row) {
|
||||
this.editVisible = true;
|
||||
this.editVisible = true
|
||||
this.editData = {
|
||||
title: '编辑',
|
||||
data: row,
|
||||
};
|
||||
data: row
|
||||
}
|
||||
},
|
||||
|
||||
// 关闭编辑弹窗
|
||||
closeEdit() {
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
};
|
||||
this.editVisible = false;
|
||||
this.getGameInfo();
|
||||
data: {}
|
||||
}
|
||||
this.editVisible = false
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 清空某一项筛选列表
|
||||
onClear(key) {
|
||||
this.searchData[key] = undefined;
|
||||
this.getGameInfo();
|
||||
this.searchData[key] = undefined
|
||||
this.getGameInfo()
|
||||
},
|
||||
// 视频查看
|
||||
checkMedia(url, data) {
|
||||
this.$refs.showvideo.open(url, data, data.id);
|
||||
},
|
||||
},
|
||||
};
|
||||
this.$refs.showvideo.open(url, data, data.id)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -124,8 +124,7 @@
|
||||
:total="total"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
/>
|
||||
layout="total, sizes, prev, pager, next, jumper"/>
|
||||
</div>
|
||||
<!-- 新增及编辑 -->
|
||||
<Edit :data="editData" v-if="editVisible" @close="closeEdit" />
|
||||
@@ -134,18 +133,18 @@
|
||||
</template>
|
||||
<script>
|
||||
// 引入模块
|
||||
import Edit from './components/AddOrEditVideo';
|
||||
import ShowImg from '@/components/ShowImg/index.vue';
|
||||
import ShowVideo from '@/components/ShowVideo/index.vue';
|
||||
import { aiFacechangeSearch,facechangeResubmit } from '@/api/aiManagement/aiOrder';
|
||||
import { AiContentTypeList } from '@/filters/aiManagement/aiTemplate';
|
||||
import { aiOrderFaceChangeList, aiFaceOrderList } from '@/filters/aiManagement/aiFaceOrder';
|
||||
import Edit from './components/AddOrEditVideo'
|
||||
import ShowImg from '@/components/ShowImg/index.vue'
|
||||
import ShowVideo from '@/components/ShowVideo/index.vue'
|
||||
import { aiFacechangeSearch, facechangeResubmit } from '@/api/aiManagement/aiOrder'
|
||||
import { AiContentTypeList } from '@/filters/aiManagement/aiTemplate'
|
||||
import { aiOrderFaceChangeList, aiFaceOrderList } from '@/filters/aiManagement/aiFaceOrder'
|
||||
export default {
|
||||
name: 'AiOrder',
|
||||
components: {
|
||||
ShowImg,
|
||||
ShowVideo,
|
||||
Edit,
|
||||
Edit
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -159,7 +158,7 @@ export default {
|
||||
byWay: undefined,
|
||||
aoContentType: 2,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 10
|
||||
},
|
||||
resData: [], // el-table表格数据
|
||||
editVisible: false,
|
||||
@@ -167,120 +166,119 @@ export default {
|
||||
loading: true, // 列表加载状态
|
||||
AiContentTypeList: AiContentTypeList(),
|
||||
aiOrderFaceChangeList: aiOrderFaceChangeList(),
|
||||
aiFaceOrderList: aiFaceOrderList(),
|
||||
};
|
||||
aiFaceOrderList: aiFaceOrderList()
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.getGameInfo();
|
||||
this.getGameInfo()
|
||||
},
|
||||
methods: {
|
||||
orderSumbit(index,row){
|
||||
orderSumbit(index, row) {
|
||||
this.$confirm('此操作将重新提交该订单, 是否继续?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
center: true
|
||||
}).then(async() => {
|
||||
const res = await facechangeResubmit({id:row.id})
|
||||
if(res.code===200){
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
center: true
|
||||
}).then(async() => {
|
||||
const res = await facechangeResubmit({ id: row.id })
|
||||
if (res.code === 200) {
|
||||
this.$message({
|
||||
type: 'success',
|
||||
message: '提交成功!'
|
||||
});
|
||||
}else{
|
||||
})
|
||||
} else {
|
||||
this.$message({
|
||||
type: 'error',
|
||||
message: '提交失败!'
|
||||
});
|
||||
}
|
||||
}).catch(() => {
|
||||
|
||||
});
|
||||
})
|
||||
}
|
||||
}).catch(() => {
|
||||
|
||||
})
|
||||
},
|
||||
//TODO:请求应用列表数据
|
||||
// TODO:请求应用列表数据
|
||||
getGameInfo() {
|
||||
aiFacechangeSearch(this.searchData).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.resData = res.data.list;
|
||||
this.total = res.data.total;
|
||||
this.resData = res.data.list
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.resData = [];
|
||||
this.total = 0;
|
||||
this.$message.error('请求列表失败!');
|
||||
this.resData = []
|
||||
this.total = 0
|
||||
this.$message.error('请求列表失败!')
|
||||
}
|
||||
this.loading = false;
|
||||
});
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
//TODO:删除应用列表数据
|
||||
// TODO:删除应用列表数据
|
||||
handleDelete(index, row) {
|
||||
this.$confirm('确定删除?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
AppInfoDel({ id: row.id }).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.getGameInfo();
|
||||
this.$message.success('成功删除!');
|
||||
this.getGameInfo()
|
||||
this.$message.success('成功删除!')
|
||||
} else {
|
||||
this.$message.error('操作失败');
|
||||
this.$message.error('操作失败')
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1;
|
||||
this.searchData.pageSize = 10;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 10
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 切换每页数据量
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = val;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageSize = val
|
||||
this.getGameInfo()
|
||||
},
|
||||
// 切换页数
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = val;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageNum = val
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 新增按钮
|
||||
add() {
|
||||
this.editVisible = true;
|
||||
this.editVisible = true
|
||||
},
|
||||
|
||||
// 编辑按钮
|
||||
handleEdit(index, row) {
|
||||
this.editVisible = true;
|
||||
this.editVisible = true
|
||||
this.editData = {
|
||||
title: '编辑',
|
||||
data: row,
|
||||
};
|
||||
data: row
|
||||
}
|
||||
},
|
||||
|
||||
// 关闭编辑弹窗
|
||||
closeEdit() {
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
};
|
||||
this.editVisible = false;
|
||||
this.getGameInfo();
|
||||
data: {}
|
||||
}
|
||||
this.editVisible = false
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 清空某一项筛选列表
|
||||
onClear(key) {
|
||||
this.searchData[key] = undefined;
|
||||
this.getGameInfo();
|
||||
this.searchData[key] = undefined
|
||||
this.getGameInfo()
|
||||
},
|
||||
// 视频查看
|
||||
checkMedia(url, data) {
|
||||
this.$refs.showvideo.open(url, data, data.id);
|
||||
},
|
||||
},
|
||||
};
|
||||
this.$refs.showvideo.open(url, data, data.id)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -14,6 +14,13 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="场景类型">
|
||||
<el-select placeholder="请选择场景类型" clearable v-model="form.sceneType">
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value" v-for="item in sceneTypes" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
@@ -37,8 +44,18 @@ export default {
|
||||
// 表单数据
|
||||
form: {
|
||||
remark: undefined, // 备注
|
||||
status: undefined // 状态
|
||||
}
|
||||
status: undefined, // 状态
|
||||
sceneType: undefined
|
||||
},
|
||||
sceneTypes: [
|
||||
{ label: '掀衣露乳', value: 0 },
|
||||
{ label: '男人撕衣', value: 1 },
|
||||
{ label: '神屌射脸', value: 2 },
|
||||
{ label: '阿黑颜', value: 3 },
|
||||
{ label: '接吻', value: 4 },
|
||||
{ label: '吸奶', value: 5 },
|
||||
{ label: '露逼', value: 6 }
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -39,6 +39,11 @@
|
||||
<el-button :type="scope.row.isDelete ? 'danger' : 'success'" plain size="mini">{{ scope.row.isDelete ? '已删除' : '未删除' }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="100" align="center" label="场景类型">
|
||||
<template slot-scope="scope">
|
||||
{{ sceneTypes[scope.row.sceneType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="100" align="center" label="是否使用免费次数">
|
||||
<template slot-scope="scope">
|
||||
<el-button :type="scope.row.isFreeTimes ? 'danger' : 'success'" plain size="mini">{{ scope.row.isFreeTimes ? '是' : '否' }}</el-button>
|
||||
@@ -115,7 +120,7 @@ export default {
|
||||
{ id: 4, name: '生成失败' },
|
||||
{ id: 5, name: '退款' }
|
||||
],
|
||||
|
||||
sceneTypes: ['掀衣露乳', '男人撕衣', '神屌射脸', '阿黑颜', '接吻', '吸奶', '露逼'],
|
||||
// 请求列表参数
|
||||
searchData: {
|
||||
userId: undefined,
|
||||
|
||||
@@ -0,0 +1,251 @@
|
||||
<template>
|
||||
<div class="pf-warpper">
|
||||
<el-row class="table-form">
|
||||
<el-form :inline="true" :model="searchData" class="form-inline" size="mini">
|
||||
<el-form-item>
|
||||
<el-input clearable placeholder="ID" v-model="searchData.id" @clear="onClear('id')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-input clearable placeholder="用户ID" v-model.number="searchData.uid" @clear="onClear('userId')" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-select placeholder="请选择任务进度" clearable v-model="searchData.status" @clear="onClear('status')">
|
||||
<el-option :key="item.id" :label="item.name" :value="item.id" v-for="item in aiImgToVideoStatusList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="getDataList" plain>搜索</el-button>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="refreshView" icon="el-icon-refresh" plain type="info">刷新</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-table :data="resData" element-loading-text="拼命加载中" border height="750" highlight-current-row style="width: 100%">
|
||||
<el-table-column label="ID" prop="id" />
|
||||
<el-table-column label="用户ID" prop="uid" />
|
||||
<el-table-column label="故事情节" prop="description" />
|
||||
<el-table-column label="小说正文" prop="content" width="200">
|
||||
<template slot-scope="scope">
|
||||
<div style="display: flex;" v-if="scope.row.content">
|
||||
<span class="ellipsis2">
|
||||
{{ scope.row.content }}
|
||||
</span>
|
||||
<el-button class="view-btn" type="text" @click="view(scope.row.content)" plain icon="el-icon-zoom-in"></el-button>
|
||||
</div>
|
||||
<span v-else>--</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="状态" prop="status">
|
||||
<template slot-scope="scope">
|
||||
{{ handleStatus(scope.row.status) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="地点场景" prop="scene" />
|
||||
<el-table-column label="故事背景" prop="background" />
|
||||
<el-table-column label="其他要求" prop="other" />
|
||||
<el-table-column label="小说模型" prop="modelType">
|
||||
<template slot-scope="scope">
|
||||
{{ handleModelType(scope.row.modelType) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="金币" prop="coin" />
|
||||
<el-table-column label="扣除金币个数" prop="debitAmountCoin" />
|
||||
<el-table-column label="扣除收益金币个数" prop="debitIncomeCoin" />
|
||||
<el-table-column label="备注" prop="remark" />
|
||||
<el-table-column label="创建时间" prop="createdAt">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.createdAt | BeiJingTime}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="更新时间" prop="updatedAt">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.updatedAt | BeiJingTime}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
<el-button @click="changeStatus(scope.row)" size="mini">退款</el-button>
|
||||
<el-button @click="handleDelete(scope.row)" size="mini" type="danger">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="table-pagination">
|
||||
<el-pagination
|
||||
:current-page="searchData.pageNum"
|
||||
:page-size="searchData.pageSize"
|
||||
:page-sizes="[10, 20, 30, 50, 100]"
|
||||
:total="total"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
layout="total, sizes, prev, pager, next, jumper"/>
|
||||
</div>
|
||||
<el-dialog
|
||||
title="预览"
|
||||
:visible.sync="dialogVisible"
|
||||
width="600px"
|
||||
:before-handleClose="handleClose"
|
||||
:handleClose-on-click-modal="false"
|
||||
class="look-dialog">
|
||||
<div class="viewContent" v-html="currentContent"></div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { aiTextToNovelList, updateNovel, deleteNovel } from '@/api/aiManagement/aiTxtToImg.js'
|
||||
|
||||
export default {
|
||||
name: 'AiNovelList',
|
||||
data() {
|
||||
return {
|
||||
aiImgToVideoStatusList: [
|
||||
{ id: 1, name: '下单成功' },
|
||||
{ id: 2, name: '已提交' },
|
||||
{ id: 3, name: '生成成功' },
|
||||
{ id: 4, name: '生成失败' },
|
||||
{ id: 5, name: '退款' }
|
||||
],
|
||||
// 请求列表参数
|
||||
searchData: {
|
||||
userId: undefined,
|
||||
status: undefined,
|
||||
id: undefined,
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
},
|
||||
total: 0,
|
||||
resData: [],
|
||||
appOpts: [],
|
||||
currentContent: '',
|
||||
dialogVisible: false
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
mounted() {
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
handleStatus(status) {
|
||||
if (!status) {
|
||||
return '--'
|
||||
}
|
||||
const obj = this.aiImgToVideoStatusList.find(item => item.id === status)
|
||||
return obj.name || '--'
|
||||
},
|
||||
handleModelType(type) {
|
||||
if (!type) {
|
||||
return '--'
|
||||
}
|
||||
return type === 1 ? 'AI小艺' : 'AI小萌'
|
||||
},
|
||||
async getDataList() {
|
||||
try {
|
||||
const r = await aiTextToNovelList(this.searchData)
|
||||
const data = r.data
|
||||
this.total = data.total
|
||||
this.resData = data.list
|
||||
} catch (error) {
|
||||
console.error('查询失败:', error)
|
||||
}
|
||||
},
|
||||
// 刷新数据
|
||||
refreshView() {
|
||||
this.searchData = {
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
}
|
||||
this.getDataList()
|
||||
},
|
||||
// TODO:删除金币管理列表数据
|
||||
handleDelete(row) {
|
||||
this.$confirm('确定删除?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
deleteNovel({ id: row.id }).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.getDataList()
|
||||
this.$message.success('成功删除!')
|
||||
} else {
|
||||
this.$message.error('操作失败')
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
changeStatus(row) {
|
||||
this.$confirm('确定退款?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
updateNovel({ id: row.id, status: 5 }).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.getDataList()
|
||||
this.$message.success('已退款!')
|
||||
} else {
|
||||
this.$message.error('操作失败')
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
view(text) {
|
||||
this.currentContent = text.replace(/\n/g, '<br>')
|
||||
this.dialogVisible = true
|
||||
},
|
||||
handleClose() {
|
||||
this.dialogVisible = false
|
||||
},
|
||||
// 切换每页数据量
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = val
|
||||
this.getDataList()
|
||||
},
|
||||
// 切换页数
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = val
|
||||
this.getDataList()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.ai-novel-list {
|
||||
/deep/ .el-button {
|
||||
padding: 9px 15px;
|
||||
}
|
||||
|
||||
/deep/ .el-image {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
|
||||
img {
|
||||
object-fit: contain;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ellipsis2 {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.view-btn {
|
||||
width: 35px;
|
||||
}
|
||||
.look-dialog {
|
||||
text-align: center;
|
||||
}
|
||||
.viewContent {
|
||||
border: 2px solid;
|
||||
color: #121327;
|
||||
border-radius: 8px;
|
||||
padding: 10px 4px;
|
||||
}
|
||||
</style>
|
||||
@@ -1,46 +1,26 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
:title="title"
|
||||
:visible.sync="Visible"
|
||||
width="780px"
|
||||
center
|
||||
class="ac-dialog"
|
||||
:close-on-click-modal="false"
|
||||
<el-dialog :title="title" :visible.sync="Visible" width="780px" center class="ac-dialog" :close-on-click-modal="false"
|
||||
@close="close">
|
||||
<el-row :gutter="24">
|
||||
<el-col>
|
||||
<h3>AI生成的视频URl</h3>
|
||||
<div v-if="form.modifyVideoUrl" style="width: 380px; height: 240px; overflow: hidden">
|
||||
|
||||
<DPlayer
|
||||
ref="player"
|
||||
v-if="form.modifyVideoUrl.indexOf('mp4') === -1"
|
||||
:video="{
|
||||
<DPlayer ref="player" v-if="form.modifyVideoUrl.indexOf('mp4') === -1" :video="{
|
||||
url: '/api/web/media/m3u8/' + filterM3u8(form.modifyVideoUrl),
|
||||
type: 'hls',
|
||||
pic: '',
|
||||
}"
|
||||
hotkey ></DPlayer>
|
||||
<DPlayer
|
||||
ref="player"
|
||||
v-else
|
||||
:video="{
|
||||
}" hotkey ></DPlayer>
|
||||
<DPlayer ref="player" v-else :video="{
|
||||
url: this.$store.getters.getSystemConfig.mp4Url + form.modifyVideoUrl,
|
||||
type: 'mp4',
|
||||
pic: '',
|
||||
}"
|
||||
hotkey ></DPlayer>
|
||||
}" hotkey ></DPlayer>
|
||||
</div>
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form
|
||||
:inline="true"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
ref="form"
|
||||
class="demo-form-inline"
|
||||
label-width="120px"
|
||||
<el-form :inline="true" :model="form" :rules="rules" ref="form" class="demo-form-inline" label-width="120px"
|
||||
label-position="right">
|
||||
<el-row :gutter="24">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
@@ -51,10 +31,7 @@ label-width="120px"
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="换脸方式">
|
||||
<el-select placeholder="请选择换脸方式" clearable v-model="form.byWay">
|
||||
<el-option
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
<el-option :key="item.value" :label="item.label" :value="item.value"
|
||||
v-for="item in aiOrderFaceChangeList" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -74,6 +51,7 @@ label-width="120px"
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="Visible = false"> 取 消 </el-button>
|
||||
<el-button type="primary" @click="submit('form')"> 确 定 </el-button>
|
||||
@@ -105,15 +83,15 @@ export default {
|
||||
formData: {},
|
||||
// 表单数据
|
||||
form: {
|
||||
'byWay': undefined,
|
||||
'id': undefined,
|
||||
'modifyImgs': undefined,
|
||||
'modifyVideoUrl': undefined,
|
||||
'reason': undefined,
|
||||
'status': 0,
|
||||
'updatedAt': undefined
|
||||
"byWay": undefined,
|
||||
"id": undefined,
|
||||
"modifyImgs": undefined,
|
||||
"modifyVideoUrl": undefined,
|
||||
"reason": undefined,
|
||||
"status": 0,
|
||||
"updatedAt": undefined
|
||||
},
|
||||
rules: {}
|
||||
rules: {},
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -124,15 +102,18 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// TODO:新增应用列表数据
|
||||
//TODO:新增应用列表数据
|
||||
|
||||
filterM3u8(v) {
|
||||
return /\.m3u8/g.test(v) ? v : v + '.m3u8'
|
||||
},
|
||||
// TODO:编辑应用列表数据
|
||||
//TODO:编辑应用列表数据
|
||||
update(data) {
|
||||
|
||||
aiorderStripUpdate(data).then((res) => {
|
||||
if (res && res.code === 200) {
|
||||
|
||||
|
||||
if (res && res.code === 200) {
|
||||
this.$message.success(res.data ? res.data : '更新成功')
|
||||
} else {
|
||||
this.$message.error(res.data ? res.data : '更新失败')
|
||||
@@ -180,8 +161,8 @@ export default {
|
||||
|
||||
onClear(data) {
|
||||
this.form[data] = undefined
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -106,8 +106,7 @@
|
||||
:total="total"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
/>
|
||||
layout="total, sizes, prev, pager, next, jumper"/>
|
||||
</div>
|
||||
<!-- 新增及编辑 -->
|
||||
<Edit :data="editData" v-if="editVisible" @close="closeEdit" />
|
||||
@@ -116,18 +115,18 @@
|
||||
</template>
|
||||
<script>
|
||||
// 引入模块
|
||||
import Edit from './components/AddOrEdit';
|
||||
import ShowImg from '@/components/ShowImg/index.vue';
|
||||
import ShowVideo from '@/components/ShowVideo/index.vue';
|
||||
import { aiStripSearch } from '@/api/aiManagement/aiOrder';
|
||||
import { AiContentTypeList } from '@/filters/aiManagement/aiTemplate';
|
||||
import { aiOrderFaceChangeList, aiFaceOrderList } from '@/filters/aiManagement/aiFaceOrder';
|
||||
import Edit from './components/AddOrEdit'
|
||||
import ShowImg from '@/components/ShowImg/index.vue'
|
||||
import ShowVideo from '@/components/ShowVideo/index.vue'
|
||||
import { aiStripSearch } from '@/api/aiManagement/aiOrder'
|
||||
import { AiContentTypeList } from '@/filters/aiManagement/aiTemplate'
|
||||
import { aiOrderFaceChangeList, aiFaceOrderList } from '@/filters/aiManagement/aiFaceOrder'
|
||||
export default {
|
||||
name: 'AiOrder',
|
||||
components: {
|
||||
ShowImg,
|
||||
ShowVideo,
|
||||
Edit,
|
||||
Edit
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -141,7 +140,7 @@ export default {
|
||||
byWay: undefined,
|
||||
aoContentType: undefined,
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
pageSize: 10
|
||||
},
|
||||
resData: [], // el-table表格数据
|
||||
editVisible: false,
|
||||
@@ -149,96 +148,96 @@ export default {
|
||||
loading: true, // 列表加载状态
|
||||
AiContentTypeList: AiContentTypeList(),
|
||||
aiOrderFaceChangeList: aiOrderFaceChangeList(),
|
||||
aiFaceOrderList: aiFaceOrderList(),
|
||||
};
|
||||
aiFaceOrderList: aiFaceOrderList()
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.getGameInfo();
|
||||
this.getGameInfo()
|
||||
},
|
||||
methods: {
|
||||
//TODO:请求应用列表数据
|
||||
// TODO:请求应用列表数据
|
||||
getGameInfo() {
|
||||
aiStripSearch(this.searchData).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.resData = res.data.list;
|
||||
this.total = res.data.total;
|
||||
this.resData = res.data.list
|
||||
this.total = res.data.total
|
||||
} else {
|
||||
this.resData = [];
|
||||
this.total = 0;
|
||||
this.$message.error('请求列表失败!');
|
||||
this.resData = []
|
||||
this.total = 0
|
||||
this.$message.error('请求列表失败!')
|
||||
}
|
||||
this.loading = false;
|
||||
});
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
//TODO:删除应用列表数据
|
||||
// TODO:删除应用列表数据
|
||||
handleDelete(index, row) {
|
||||
this.$confirm('确定删除?', '警告', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
AppInfoDel({ id: row.id }).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.getGameInfo();
|
||||
this.$message.success('成功删除!');
|
||||
this.getGameInfo()
|
||||
this.$message.success('成功删除!')
|
||||
} else {
|
||||
this.$message.error('操作失败');
|
||||
this.$message.error('操作失败')
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
onSearch() {
|
||||
this.searchData.pageNum = 1;
|
||||
this.searchData.pageSize = 10;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageNum = 1
|
||||
this.searchData.pageSize = 10
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 切换每页数据量
|
||||
handleSizeChange(val) {
|
||||
this.searchData.pageSize = val;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageSize = val
|
||||
this.getGameInfo()
|
||||
},
|
||||
// 切换页数
|
||||
handleCurrentChange(val) {
|
||||
this.searchData.pageNum = val;
|
||||
this.getGameInfo();
|
||||
this.searchData.pageNum = val
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 新增按钮
|
||||
add() {
|
||||
this.editVisible = true;
|
||||
this.editVisible = true
|
||||
},
|
||||
|
||||
// 编辑按钮
|
||||
handleEdit(index, row) {
|
||||
this.editVisible = true;
|
||||
this.editVisible = true
|
||||
this.editData = {
|
||||
title: '编辑',
|
||||
data: row,
|
||||
};
|
||||
data: row
|
||||
}
|
||||
},
|
||||
|
||||
// 关闭编辑弹窗
|
||||
closeEdit() {
|
||||
this.editData = {
|
||||
title: '新增',
|
||||
data: {},
|
||||
};
|
||||
this.editVisible = false;
|
||||
this.getGameInfo();
|
||||
data: {}
|
||||
}
|
||||
this.editVisible = false
|
||||
this.getGameInfo()
|
||||
},
|
||||
|
||||
// 清空某一项筛选列表
|
||||
onClear(key) {
|
||||
this.searchData[key] = undefined;
|
||||
this.getGameInfo();
|
||||
this.searchData[key] = undefined
|
||||
this.getGameInfo()
|
||||
},
|
||||
// 视频查看
|
||||
checkMedia(url, data) {
|
||||
this.$refs.showvideo.open(url, data, data.id);
|
||||
},
|
||||
},
|
||||
};
|
||||
this.$refs.showvideo.open(url, data, data.id)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import UploadImg from '@/components/UploadImg/index'
|
||||
import { AtTypeList, AiContentTypeList, AiEnableList , styleTypeList } from '@/filters/aiManagement/aiTemplate'
|
||||
import { AtTypeList, AiContentTypeList, AiEnableList, styleTypeList } from '@/filters/aiManagement/aiTemplate'
|
||||
import { aitemplateAdd, aitemplateUpdate } from '@/api/aiManagement/aiTemplate'
|
||||
import { changeMoneyYuan, changeMoneyFen } from '@/filters/index'
|
||||
// import UploadVideo from '@/components/UploadVideo/index'
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
// 引入模块
|
||||
import Edit from './components/AddOrEdit'
|
||||
import ShowImg from '@/components/ShowImg/index.vue'
|
||||
import { aiTextToImageList, aiTextToImageeDel, aiTextToImageeUpdate } from '@/api/aiManagement/aiTxtToImg.js'
|
||||
import { aiTextToImageList, aiTextToImageDel, aiTextToImageUpdate } from '@/api/aiManagement/aiTxtToImg.js'
|
||||
|
||||
export default {
|
||||
name: 'Gold',
|
||||
@@ -179,7 +179,7 @@ export default {
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
aiTextToImageeDel({ id: row.id }).then(res => {
|
||||
aiTextToImageDel({ id: row.id }).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.getGoldList()
|
||||
this.$message.success('成功删除!')
|
||||
@@ -195,7 +195,7 @@ export default {
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
aiTextToImageeUpdate({ id: row.id, status: 5 }).then(res => {
|
||||
aiTextToImageUpdate({ id: row.id, status: 5 }).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.getGoldList()
|
||||
this.$message.success('已退款!')
|
||||
|
||||
Reference in New Issue
Block a user