|
@@ -1765,22 +1765,29 @@ a {
|
|
size="middle"
|
|
size="middle"
|
|
bordered
|
|
bordered
|
|
:columns="settlementColumns"
|
|
:columns="settlementColumns"
|
|
- :dataSource="dataSource"
|
|
|
|
|
|
+ :dataSource="dataSourceFace"
|
|
:pagination="false"
|
|
:pagination="false"
|
|
|
|
+ :loading="controlLoading"
|
|
>
|
|
>
|
|
<span slot="input_video_url" slot-scope="text, record">
|
|
<span slot="input_video_url" slot-scope="text, record">
|
|
- <video :src="record.input_video_url" style="width:100px" controls></video>
|
|
|
|
|
|
+ <div style="width:100px;height:177px;margin-left:25px;">
|
|
|
|
+ <video v-if="record.input_video_url" :src="record.input_video_url" style="width:100px" controls></video>
|
|
|
|
+ <img v-else style="width:100px" src="@/assets/noImg.png">
|
|
|
|
+ </div>
|
|
</span>
|
|
</span>
|
|
<span slot="output_video_url" slot-scope="text, record">
|
|
<span slot="output_video_url" slot-scope="text, record">
|
|
- <video :src="record.output_video_url" style="width:100px" controls></video>
|
|
|
|
|
|
+ <div style="width:100px;height:177px;margin-left:25px;">
|
|
|
|
+ <video v-if="record.output_video_url" :src="record.output_video_url" style="width:100px" controls></video>
|
|
|
|
+ <img v-else style="width:100px" src="@/assets/noImg.png">
|
|
|
|
+ </div>
|
|
</span>
|
|
</span>
|
|
<span slot="input_image_url" slot-scope="text, record">
|
|
<span slot="input_image_url" slot-scope="text, record">
|
|
<img v-if="text" :src="text" style="width:100px">
|
|
<img v-if="text" :src="text" style="width:100px">
|
|
- <img v-if="!text" src="@/assets/noImg.png" style="width:60px">
|
|
|
|
|
|
+ <img v-else src="@/assets/noImg.png" style="width:100px">
|
|
</span>
|
|
</span>
|
|
<span slot="actions" slot-scope="text, record">
|
|
<span slot="actions" slot-scope="text, record">
|
|
- <a :disabled="record.status !== 'finished'" @click="handlePushData(record)">推送</a>
|
|
|
|
- <a-divider type="vertical"/>
|
|
|
|
|
|
+ <!-- <a :disabled="record.status !== 'finished'" @click="handlePushData(record)">推送</a>
|
|
|
|
+ <a-divider type="vertical"/> -->
|
|
<a @click="handleDownLoadData(record)" :disabled="record.status !== 'finished'">下载</a>
|
|
<a @click="handleDownLoadData(record)" :disabled="record.status !== 'finished'">下载</a>
|
|
</span>
|
|
</span>
|
|
</a-table>
|
|
</a-table>
|
|
@@ -1834,6 +1841,7 @@ export default {
|
|
|
|
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ controlLoading: false,
|
|
defaultCurrent: 1,
|
|
defaultCurrent: 1,
|
|
settlementColumns: [
|
|
settlementColumns: [
|
|
{
|
|
{
|
|
@@ -2056,7 +2064,7 @@ export default {
|
|
videoVisibleChange: '',
|
|
videoVisibleChange: '',
|
|
allDetailData: null,
|
|
allDetailData: null,
|
|
dataAllList: [],
|
|
dataAllList: [],
|
|
- dataSource: [],
|
|
|
|
|
|
+ dataSourceFace: [],
|
|
totalAll: 0
|
|
totalAll: 0
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -2175,37 +2183,100 @@ export default {
|
|
},
|
|
},
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ // TODO 推送操作
|
|
|
|
+ handlePushData(list) {
|
|
|
|
+ const paramsData = {
|
|
|
|
+ projectId: this.faceShowList.projectId, // 项目选择
|
|
|
|
+ ascription: {
|
|
|
|
+ planId: 'e9ca23d68d884d4ebb19d07889727dae',
|
|
|
|
+ shotId: 'e9ca23d68d884d4ebb19d07889727dae',
|
|
|
|
+ clipId: 'e9ca23d68d884d4ebb19d07889727dae'
|
|
|
|
+ },
|
|
|
|
+ status: '1',
|
|
|
|
+ code: list.output_video_md5,
|
|
|
|
+ url: list.output_video_url && list.output_video_url.split(':')[1],
|
|
|
|
+ type: 'VIDEO',
|
|
|
|
+ userId: this.userInfo().id,
|
|
|
|
+ modalityTagList: this.departValueInfoModality, // 形式标签
|
|
|
|
+ senceTagList: this.departValueInfoSence, // 场景标签
|
|
|
|
+ modTagList: this.departValueInfoMod // 基调标签
|
|
|
|
+ };
|
|
|
|
+ const that = this;
|
|
|
|
+ this.$confirm({
|
|
|
|
+ title: '提示',
|
|
|
|
+ content: '是否进行推送操作',
|
|
|
|
+ onOk() {
|
|
|
|
+ fileInsertV2(paramsData).then(res => {
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
+ that.handlePolicyOperationCancel();
|
|
|
|
+ that.$emit('sureface');
|
|
|
|
+ that.$message.success('素材已经同步到未审核列表,请进入查看');
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ that.$message.error(res.message);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ // 下载操作
|
|
|
|
+ handleDownLoadData(list) {
|
|
|
|
+ const randomTime = new Date().getTime() + '_check.mp4';
|
|
|
|
+ fetch(list.output_video_url)
|
|
|
|
+ .then(res => res.blob())
|
|
|
|
+ .then(blob => {
|
|
|
|
+ const a = document.createElement('a');
|
|
|
|
+ document.body.appendChild(a);
|
|
|
|
+ a.style.display = 'none';
|
|
|
|
+ // 使用获取到的blob对象创建的url
|
|
|
|
+ const url = window.URL.createObjectURL(blob);
|
|
|
|
+ a.href = url;
|
|
|
|
+ // 指定下载的文件名
|
|
|
|
+ a.download = randomTime;
|
|
|
|
+ a.click()
|
|
|
|
+ document.body.removeChild(a);
|
|
|
|
+ // 移除blob对象的url
|
|
|
|
+ window.URL.revokeObjectURL(url);
|
|
|
|
+ });
|
|
|
|
+ },
|
|
onShowSizeChange(current, pageSize) {
|
|
onShowSizeChange(current, pageSize) {
|
|
|
|
+ this.dataSourceFace = [];
|
|
this.defaultCurrent = current;
|
|
this.defaultCurrent = current;
|
|
const defaultData = [...this.dataAllList];
|
|
const defaultData = [...this.dataAllList];
|
|
- this.dataSource = [...defaultData.slice(2 * current - 2, 2 * current)];
|
|
|
|
|
|
+ this.dataSourceFace = [...defaultData.slice(2 * current - 2, 2 * current)];
|
|
},
|
|
},
|
|
handlePolicyOperationSure() {
|
|
handlePolicyOperationSure() {
|
|
|
|
+ this.defaultCurrent = 1;
|
|
this.faceShowStatus = false;
|
|
this.faceShowStatus = false;
|
|
},
|
|
},
|
|
handlePolicyOperationCancel() {
|
|
handlePolicyOperationCancel() {
|
|
|
|
+ this.defaultCurrent = 1;
|
|
this.faceShowStatus = false;
|
|
this.faceShowStatus = false;
|
|
},
|
|
},
|
|
handleAllChangeFace() {
|
|
handleAllChangeFace() {
|
|
this.faceShowStatus = true;
|
|
this.faceShowStatus = true;
|
|
|
|
+ this.controlLoading = true;
|
|
|
|
+ this.dataSourceFace = [];
|
|
postAction('http://faceswap.tjyourong.com.cn/jeecg-boot/task/query', {}).then(result => {
|
|
postAction('http://faceswap.tjyourong.com.cn/jeecg-boot/task/query', {}).then(result => {
|
|
if (result.code === 0) {
|
|
if (result.code === 0) {
|
|
const defaultData = result.data;
|
|
const defaultData = result.data;
|
|
defaultData.forEach(item => {
|
|
defaultData.forEach(item => {
|
|
- item.create_time = item.create_time.replace('T', ' ');
|
|
|
|
|
|
+ item.create_time = item.create_time ? item.create_time.replace('T', ' ') : '-';
|
|
});
|
|
});
|
|
this.dataAllList = defaultData;
|
|
this.dataAllList = defaultData;
|
|
- this.dataSource = defaultData.slice(0, 2);
|
|
|
|
|
|
+ this.dataSourceFace = defaultData.slice(0, 2);
|
|
this.totalAll = defaultData.length ? defaultData.length : 0;
|
|
this.totalAll = defaultData.length ? defaultData.length : 0;
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
this.dataAllList = [];
|
|
this.dataAllList = [];
|
|
- this.dataSource = [];
|
|
|
|
|
|
+ this.dataSourceFace = [];
|
|
this.totalAll = 0;
|
|
this.totalAll = 0;
|
|
this.$message.error(result.message);
|
|
this.$message.error(result.message);
|
|
}
|
|
}
|
|
}).catch(error => {
|
|
}).catch(error => {
|
|
console.log(error, 'eeee');
|
|
console.log(error, 'eeee');
|
|
|
|
+ }).finally(() => {
|
|
|
|
+ this.controlLoading = false;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
handleChangeFace(data) {
|
|
handleChangeFace(data) {
|