提交 a546e977 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 cdf9c380
......@@ -25,7 +25,13 @@ const listOptions = {
filters: [{ label: '商品品类名称', prop: 'name', type: 'input', placeholder: '请输入类别名称' }],
columns: [
{ label: '商品品类名称', prop: 'name', align: 'left' },
{ label: '层级', prop: 'level' },
{
label: '层级',
prop: 'level',
computed({ row }) {
return parseInt(row.level) + 1
},
},
{
label: '状态',
prop: 'status',
......
......@@ -269,7 +269,13 @@ function batchSetReferencePrice() {
</el-button>
</div>
</div>
<el-button type="primary" plain :icon="Plus" @click="addSpec" :disabled="specCount >= maxSpecCount">
<el-button
type="primary"
plain
:icon="Plus"
@click="addSpec"
:disabled="specCount >= maxSpecCount"
v-if="specCount < 1">
添加规格({{ specCount }}/{{ maxSpecCount }}
</el-button>
</div>
......@@ -285,7 +291,7 @@ function batchSetReferencePrice() {
<el-form-item label="价格与库存" required>
<div class="form-tips" v-if="hasSpecs">根据规格自动生成,请为每个SKU填写价格和库存</div>
<div class="form-tips" v-else>请填写商品价格和库存</div>
<div class="batch-set-container" v-if="form.info.sku && form.info.sku.length > 0">
<div class="batch-set-container" v-if="form.info.sku && form.info.sku.length > 0" v-show="false">
<div class="batch-set-item">
<el-input v-model="batchPrice" placeholder="批量设置价格" type="number" style="width: 200px">
<template #prefix>¥</template>
......
......@@ -84,7 +84,7 @@ const handleChatSave = (url) => {
<div v-for="(item, i) in props.limit" :key="i">
<el-popover placement="top" width="220px" trigger="hover">
<ul class="upload-popover">
<li @click="handleOpen(i)">
<li @click="handleOpen(i)" v-if="false">
<i class="el-icon"><UploadFilled /></i>本地上传
</li>
<li @click="handleOpenDesign(i)" v-if="!isVideo">
......@@ -117,7 +117,7 @@ const handleChatSave = (url) => {
<template v-else>
<el-popover placement="top" width="160px" trigger="hover">
<ul class="upload-popover">
<li @click="handleOpen">
<li @click="handleOpen" v-if="false">
<i class="el-icon"><UploadFilled /></i>本地上传
</li>
<li @click="handleOpenDesign" v-if="!isVideo">
......
<script setup>
defineProps({
timelines: { type: Array, default: () => [] },
})
const dialogVisible = ref(false)
const handleClick = () => {
dialogVisible.value = true
}
// 毫秒转分钟 00:00,需要补0
const formatTime = (time) => {
const minutes = Math.floor(time / 1000 / 60)
const seconds = Math.floor((time / 1000) % 60)
return `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`
}
</script>
<template>
<el-button type="primary" @click="handleClick">查看口播文字</el-button>
<el-dialog v-model="dialogVisible" title="口播文字" width="600px">
<el-timeline>
<el-timeline-item
placement="top"
v-for="(item, index) in timelines"
:key="index"
:timestamp="formatTime(item.BeginTime)">
{{ item.Text }}
</el-timeline-item>
</el-timeline>
</el-dialog>
</template>
......@@ -83,7 +83,7 @@ const handleDelete = (url) => {
<p>图片格式为png/jpg/jpeg,图片大小不能超过2M</p>
</div>
<div v-if="item.isVideo" class="upload-tips">
<p>视频分辨率不能超过1080p,视频文件大小不能超过200M</p>
<p>视频分辨率不能超过1080p,视频文件大小不能超过500M</p>
<p>视频帧率25fps,视频文件格式为mp4</p>
</div>
</template>
......
......@@ -70,7 +70,13 @@ const secondLivePracticeRecord = computed(() => {
const categoryTableOptions = {
columns: [
{ label: '商品品类名称', prop: 'name', align: 'left' },
{ label: '层级', prop: 'level' },
{
label: '层级',
prop: 'level',
computed({ row }) {
return parseInt(row.level) + 1
},
},
{
label: '状态',
prop: 'status',
......
......@@ -71,7 +71,13 @@ const secondLivePracticeRecord = computed(() => {
const categoryTableOptions = {
columns: [
{ label: '商品品类名称', prop: 'name', align: 'left' },
{ label: '层级', prop: 'level' },
{
label: '层级',
prop: 'level',
computed({ row }) {
return parseInt(row.level) + 1
},
},
{
label: '状态',
prop: 'status',
......
......@@ -531,13 +531,6 @@ export const generatePracticeRecord2Prompt = (data: any) => {
`
}
export const generateReportPrompt = (data: any) => {
return `请根据选手提交的直播总结报告进行评分(满分15分)
选手提交内容:
${JSON.stringify(data.reports)}
`
}
export const generatePrompt = (data: any) => {
return `
${generateCommodityTypePrompt(data)}
......@@ -546,7 +539,6 @@ export const generatePrompt = (data: any) => {
${generateSpeechPrompt(data)}
${generatePracticeRecordPrompt(data)}
${generateImprovementPlanPrompt(data)}
${generateReportPrompt(data)}
EXAMPLE JSON OUTPUT:
{
"commodity_type": {
......@@ -577,10 +569,6 @@ EXAMPLE JSON OUTPUT:
"score": 5,
"comment": "这是评语"
},
"report": {
"score": 5,
"comment": "这是评语"
},
}
`
}
......@@ -39,8 +39,8 @@ const listOptions = computed(() => {
{ label: '序号', type: 'index', width: 60 },
{ label: 'ID', prop: 'id' },
{ label: '姓名', prop: 'student_name' },
{ label: '专业', prop: 'specialty_name' },
{ label: '班级', prop: 'class_name' },
// { label: '专业', prop: 'specialty_name' },
// { label: '班级', prop: 'class_name' },
{ label: '成绩', prop: 'score_display' },
{ label: '状态', prop: 'check_status_name' },
{ label: '评分人', prop: 'checker_name' },
......@@ -55,7 +55,7 @@ const handleExport = () => {
window.open(`/api/lab/v1/experiment/live-student-record/export?experiment_id=${route.query.experiment_id}`)
}
const { isLoading, generateText } = useChat({ provider: 'siliconflow' })
const { isLoading, generateText } = useChat({ provider: 'volcano' })
const handleAIScore = async () => {
console.log('AI一键评分')
......
......@@ -11,7 +11,7 @@ const CompetitionOperations = defineAsyncComponent(() => import('../components/C
const route = useRoute()
const id = route.query.id
const { isLoading, generateText } = useChat({ provider: 'siliconflow' })
const { isLoading, generateText } = useChat({ provider: 'volcano' })
const detail = ref(null)
......@@ -41,7 +41,7 @@ const handleAIScore = async () => {
try {
const parsed = JSON.parse(result.content)
Object.assign(scoreDetails, parsed)
commitScore(1).then(() => {
commitScore().then(() => {
ElMessage.success('保存成功')
})
} catch (error) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论