LaiTool V3.0.3
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div v-if="show">
|
||||
<div v-if="data.subValue && data.subValue.length != 0">
|
||||
<div v-for="(item, index) in data.subValue">
|
||||
<n-input
|
||||
v-model:value="item.srt_value"
|
||||
@@ -34,11 +34,6 @@ export default defineComponent({
|
||||
let data = ref(props.initData)
|
||||
console.log('subValue', data.value)
|
||||
onMounted(async () => {})
|
||||
let show = computed(() => {
|
||||
debugger
|
||||
return data.value.subValue && data.value.subValue.length > 0
|
||||
})
|
||||
|
||||
let InputDebounced = debounce(handleInput, 1000)
|
||||
|
||||
async function handleInput() {
|
||||
@@ -52,7 +47,7 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
return { data, InputDebounced, show }
|
||||
return { data, InputDebounced }
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -85,7 +85,11 @@ export default defineComponent({
|
||||
debugger
|
||||
switch (key) {
|
||||
case 'remove_reverse': // 删除反推提示词
|
||||
let res = await window.book.RemoveReverseData([data.value.id])
|
||||
let res = await window.book.ResetGptReverseData(
|
||||
data.value.id,
|
||||
OperateBookType.BOOKTASKDETAIL,
|
||||
reverseManageStore.selectBook.type
|
||||
)
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
} else {
|
||||
|
||||
@@ -119,11 +119,11 @@ export default defineComponent({
|
||||
type,
|
||||
OperateBookType.BOOKTASK
|
||||
)
|
||||
softwareStore.spin.spinning = false
|
||||
|
||||
// 这边对返回的数据进行处理
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
softwareStore.spin.spinning = false
|
||||
window.api.showGlobalMessageDialog(res)
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < res.data.length; i++) {
|
||||
|
||||
@@ -1,20 +1,28 @@
|
||||
<template>
|
||||
<div style="display: flex; justify-content: space-between; align-items: center">
|
||||
<div style="display: flex; align-items: center">
|
||||
<n-button strong secondary @click="RetuenMain"> 返回 </n-button>
|
||||
<n-dropdown trigger="hover" :options="AutoOptions" @select="SelectAutoAction">
|
||||
<n-button strong secondary @click="RetuenMain" size="small"> 返回 </n-button>
|
||||
<!-- <n-dropdown trigger="hover" :options="AutoOptions" @select="SelectAutoAction">
|
||||
<n-button :color="softwareStore.SoftColor.ORANGE" @click="Start" style="margin-left: 5px">
|
||||
自动开始
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
</n-dropdown> -->
|
||||
<n-divider vertical style="height: 30px" />
|
||||
<n-dropdown trigger="hover" :options="frameOptions" @select="handleSelect">
|
||||
<n-button :color="softwareStore.SoftColor.ORANGE" @click="ActionFrame"> 开始分镜 </n-button>
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
class="top-button"
|
||||
size="small"
|
||||
@click="ActionFrame"
|
||||
>
|
||||
开始分镜
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
<n-dropdown trigger="hover" :options="copywritingOptions" @select="handleSelect">
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
size="small"
|
||||
@click="GetCopywriting('all')"
|
||||
>
|
||||
开始提取全部文案
|
||||
@@ -25,24 +33,28 @@
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
size="small"
|
||||
@click="RemoveWatermark"
|
||||
>
|
||||
开始去除水印
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
@click="ImportWordAndSrtFunc"
|
||||
>
|
||||
导入文案/SRT
|
||||
</n-button>
|
||||
<n-dropdown trigger="hover" :options="importWordOptions" @select="handleSelect">
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
size="small"
|
||||
@click="ImportWordAndSrtFunc"
|
||||
>
|
||||
导入文案/SRT
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
|
||||
<n-dropdown trigger="hover" :options="reverseOptions" @select="handleSelect">
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
size="small"
|
||||
@click="ImageReversePrompt(undefined)"
|
||||
>
|
||||
一键反推
|
||||
@@ -53,6 +65,7 @@
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
size="small"
|
||||
@click="Translate(undefined)"
|
||||
>
|
||||
一键翻译
|
||||
@@ -63,15 +76,28 @@
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
size="small"
|
||||
@click="GenerateImageAll"
|
||||
>
|
||||
一键生图
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
|
||||
<n-dropdown trigger="hover" :options="resetOptions" @select="handleSelect">
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
size="small"
|
||||
@click="ResetAllData"
|
||||
>
|
||||
重置
|
||||
</n-button>
|
||||
</n-dropdown>
|
||||
|
||||
<n-button
|
||||
:color="softwareStore.SoftColor.ORANGE"
|
||||
style="margin-left: 5px"
|
||||
size="small"
|
||||
@click="OpenSettingDialog"
|
||||
>
|
||||
设置
|
||||
@@ -397,15 +423,15 @@ export default defineComponent({
|
||||
case 'watermark_position': // 水印位置设置
|
||||
await GetWatermarkPosition()
|
||||
break
|
||||
case 'clear_import_word': // 清除导入文案
|
||||
await ClearImportWord()
|
||||
break
|
||||
case 'mj_reverse': // MJ反推
|
||||
await ImageReversePrompt(BookType.MJ_REVERSE)
|
||||
break
|
||||
case 'sd_reverse': // SD反推
|
||||
await ImageReversePrompt(BookType.SD_REVERSE)
|
||||
break
|
||||
case 'remove_reverse':
|
||||
await RemoveReverseData(undefined)
|
||||
break
|
||||
case 'translate_chinese': // 英文翻译为中文
|
||||
await Translate('translate_chinese')
|
||||
break
|
||||
@@ -416,11 +442,102 @@ export default defineComponent({
|
||||
case 'translate_setting': // 翻译设置
|
||||
await Translate('translate_setting')
|
||||
break
|
||||
case 'reset_gpt_reverse_data': // 重置反推/GPT提示词
|
||||
await ResetGptReverseData()
|
||||
break
|
||||
case 'reset_merge_prompt': // 重置合并提示词数据
|
||||
await ResetMergePromptData()
|
||||
break
|
||||
case 'reset_Generate_Image': // 重置生成的图片
|
||||
await ResetGenerateImage()
|
||||
break
|
||||
default:
|
||||
message.error('未知的选项')
|
||||
}
|
||||
}
|
||||
|
||||
// 重置出的图片
|
||||
async function ResetGenerateImage() {
|
||||
dialog.warning({
|
||||
title: '重置所有图片提示',
|
||||
content:
|
||||
'继续操作会重置所有的生成的图片,包括生成的主图和子图,但是并不会删除本地的图片文件,是否继续?',
|
||||
positiveText: '继续',
|
||||
negativeText: '取消',
|
||||
onPositiveClick: async () => {
|
||||
let res = await window.book.ResetGenerateImage(
|
||||
reverseManageStore.selectBookTask.id,
|
||||
OperateBookType.BOOKTASK
|
||||
)
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
} else {
|
||||
// 前端重置数据
|
||||
for (let i = 0; i < reverseManageStore.selectBookTaskDetail.length; i++) {
|
||||
reverseManageStore.selectBookTaskDetail[i].mjMessage = undefined
|
||||
reverseManageStore.selectBookTaskDetail[i].outImagePath = undefined
|
||||
reverseManageStore.selectBookTaskDetail[i].subImagePath = undefined
|
||||
}
|
||||
message.success('重置所有生成图片成功')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 重置合并提示词数据
|
||||
async function ResetMergePromptData() {
|
||||
dialog.warning({
|
||||
title: '重置合并提示词数据提示',
|
||||
content: '继续操作会重置所有的合并提示词数据,请确认是不是继续?',
|
||||
positiveText: '继续',
|
||||
negativeText: '取消',
|
||||
onPositiveClick: async () => {
|
||||
let res = await window.book.ResetMergePromptData(
|
||||
reverseManageStore.selectBookTask.id,
|
||||
OperateBookType.BOOKTASK
|
||||
)
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
} else {
|
||||
// 前端做响应
|
||||
for (let i = 0; i < reverseManageStore.selectBookTaskDetail.length; i++) {
|
||||
reverseManageStore.selectBookTaskDetail[i].prompt = undefined
|
||||
}
|
||||
message.success('重置所有合并提示词数据成功')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置反推/GPT提示词,更具不同的小说类型进行不同的重置
|
||||
*/
|
||||
async function ResetGptReverseData() {
|
||||
dialog.warning({
|
||||
title: '删除反推提示词警告提示',
|
||||
content: '继续操作会移除所有的反推提示词数据,注意,是所有,请确认是不是继续?',
|
||||
positiveText: '继续',
|
||||
negativeText: '取消',
|
||||
onPositiveClick: async () => {
|
||||
let res = await window.book.ResetGptReverseData(
|
||||
reverseManageStore.selectBookTask.id,
|
||||
OperateBookType.BOOKTASK,
|
||||
reverseManageStore.selectBook.type
|
||||
)
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
} else {
|
||||
// 这个做个前端删除
|
||||
for (let i = 0; i < reverseManageStore.selectBookTaskDetail.length; i++) {
|
||||
reverseManageStore.selectBookTaskDetail[i].reversePrompt = undefined
|
||||
reverseManageStore.selectBookTaskDetail[i].gptPrompt = undefined
|
||||
}
|
||||
message.success('删除所有的反推/GPT提示词成功')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 打开设置对话框
|
||||
*/
|
||||
@@ -480,42 +597,6 @@ export default defineComponent({
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 移除反推的数据
|
||||
*/
|
||||
async function RemoveReverseData(id) {
|
||||
let deleteIds = []
|
||||
if (id == undefined) {
|
||||
// 删除全部的
|
||||
for (let i = 0; i < reverseManageStore.selectBookTaskDetail.length; i++) {
|
||||
const element = reverseManageStore.selectBookTaskDetail[i]
|
||||
if (element.reversePrompt && element.reversePrompt.length > 0) {
|
||||
deleteIds.push(element.id)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
deleteIds.push(id)
|
||||
}
|
||||
|
||||
let res = await window.book.RemoveReverseData(deleteIds)
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
} else {
|
||||
// 这个做个前端删除
|
||||
for (let i = 0; i < deleteIds.length; i++) {
|
||||
const element = deleteIds[i]
|
||||
let index = reverseManageStore.selectBookTaskDetail.findIndex(
|
||||
(item) => item.id == element
|
||||
)
|
||||
if (index >= 0) {
|
||||
reverseManageStore.selectBookTaskDetail[index].reversePrompt = undefined
|
||||
}
|
||||
}
|
||||
|
||||
message.success('删除反推数据成功')
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 翻译提示词
|
||||
* @param key 操作的值,进行分类
|
||||
@@ -681,6 +762,44 @@ export default defineComponent({
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除导入文案
|
||||
*/
|
||||
async function ClearImportWord() {
|
||||
let da = dialog.warning({
|
||||
title: '清除导入文案提示',
|
||||
content:
|
||||
'继续执行该操作会将导入的对齐文案全部清除(包括文案的时间线),并且操作不可逆,是否继续?',
|
||||
positiveText: '继续',
|
||||
negativeText: '取消',
|
||||
onPositiveClick: async () => {
|
||||
da?.destroy()
|
||||
softwareStore.spin.spinning = true
|
||||
softwareStore.spin.tip = '正在清除导入数据。。。'
|
||||
let res = await window.book.ClearImportWord(reverseManageStore.selectBookTask.id)
|
||||
softwareStore.spin.spinning = false
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
} else {
|
||||
// 这边重置下数据
|
||||
for (let i = 0; i < res.data.length; i++) {
|
||||
const element = res.data[i]
|
||||
let index = reverseManageStore.selectBookTaskDetail.findIndex(
|
||||
(item) => item.id == element.id
|
||||
)
|
||||
if (index != -1) {
|
||||
reverseManageStore.selectBookTaskDetail[index].subValue = undefined
|
||||
reverseManageStore.selectBookTaskDetail[index].startTime = element.startTime
|
||||
reverseManageStore.selectBookTaskDetail[index].endTime = element.endTime
|
||||
reverseManageStore.selectBookTaskDetail[index].timeLimit = element.timeLimit
|
||||
}
|
||||
}
|
||||
message.success('清除导入文案成功')
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
async function ActionFrame() {
|
||||
message.info('请使用下面菜单中的按钮进行对应的操作')
|
||||
}
|
||||
@@ -689,6 +808,7 @@ export default defineComponent({
|
||||
RetuenMain,
|
||||
AutoAction,
|
||||
ImportWordAndSrtFunc,
|
||||
ClearImportWord,
|
||||
reverseManageStore,
|
||||
softwareStore,
|
||||
ActionFrame,
|
||||
@@ -698,7 +818,7 @@ export default defineComponent({
|
||||
GetCopywriting,
|
||||
RemoveWatermark,
|
||||
ImageReversePrompt,
|
||||
RemoveReverseData,
|
||||
ResetGptReverseData,
|
||||
Translate,
|
||||
TranslateService,
|
||||
GenerateImageAll,
|
||||
@@ -758,10 +878,6 @@ export default defineComponent({
|
||||
key: 'sd_reverse',
|
||||
disabled: reverseManageStore.selectBook.type != BookType.SD_REVERSE
|
||||
},
|
||||
{
|
||||
label: '清除反推数据',
|
||||
key: 'remove_reverse'
|
||||
},
|
||||
{
|
||||
label: '停止反推',
|
||||
key: 'stop_reverse'
|
||||
@@ -790,6 +906,26 @@ export default defineComponent({
|
||||
label: '停止生图',
|
||||
key: 'stop_image_generate'
|
||||
}
|
||||
],
|
||||
importWordOptions: [
|
||||
{
|
||||
label: '清除导入文案',
|
||||
key: 'clear_import_word'
|
||||
}
|
||||
],
|
||||
resetOptions: [
|
||||
{
|
||||
label: '重置反推/GPT提示词',
|
||||
key: 'reset_gpt_reverse_data'
|
||||
},
|
||||
{
|
||||
label: '重置合并提示词',
|
||||
key: 'reset_merge_prompt'
|
||||
},
|
||||
{
|
||||
label: '重置图片',
|
||||
key: 'reset_Generate_Image'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -801,4 +937,8 @@ export default defineComponent({
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.top-button {
|
||||
margin-left: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -44,11 +44,20 @@ export default defineComponent({
|
||||
if (res.code == 0) {
|
||||
message.error(res.message)
|
||||
} else {
|
||||
reverseManageStore.selectBookTaskDetail = res.data
|
||||
message.success('保存成功')
|
||||
// 这边修改全部数据
|
||||
for (let i = 0; i < res.data.length; i++) {
|
||||
const element = res.data[i]
|
||||
let index = reverseManageStore.selectBookTaskDetail.findIndex((x) => x.id == element.id)
|
||||
if (index != -1) {
|
||||
reverseManageStore.selectBookTaskDetail[index].gptPrompt = element.gptPrompt
|
||||
}
|
||||
}
|
||||
window.api.showGlobalMessageDialog({
|
||||
code: 1,
|
||||
message: res.message
|
||||
})
|
||||
}
|
||||
// 后端数据处理完毕,前端重新处理一遍数据
|
||||
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<div style="margin-bottom: 10px">
|
||||
<div style="margin-bottom: 5px">
|
||||
<ManageBookButton />
|
||||
</div>
|
||||
<div style="margin-right: 10px">
|
||||
<div style="margin-right: 5px">
|
||||
<n-data-table
|
||||
:columns="columns"
|
||||
:size="softwareStore.softWare.reverse_data_table_size"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div style="height: 100%; display: flex; width: 100%; overflow: auto">
|
||||
<div v-if="true" class="left_container" style="flex: 10; min-width: 500px">
|
||||
<ManageBookDetailButton />
|
||||
<ManageBookReverseTable style="margin-top: 10px" />
|
||||
<ManageBookReverseTable style="margin-top: 5px" />
|
||||
</div>
|
||||
<div v-if="softwareStore.show_logger">
|
||||
<n-divider vertical style="height: 100%"></n-divider>
|
||||
|
||||
Reference in New Issue
Block a user