【新增】 wps_word试题新增
This commit is contained in:

committed by
陆光LG

parent
88681a0666
commit
c8e3c97ccd
@@ -30,7 +30,11 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="题型难度" prop="quLevel">
|
<el-form-item label="题型难度" prop="quLevel">
|
||||||
<el-input v-model="formData.quLevel" placeholder="请输入题型难度" disabled />
|
<el-select v-model="formData.quLevel" placeholder="请选择题型难度" clearable>
|
||||||
|
<el-option label="简单" :value="'0'" />
|
||||||
|
<el-option label="一般" :value="'1'" />
|
||||||
|
<el-option label="困难" :value="'2'" />
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -84,15 +88,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="试题考点" name="answer">
|
<el-tab-pane label="试题考点" name="answer">
|
||||||
<el-button type="warning" @click="addWordInfo">新增</el-button>
|
<el-button @click="addWordInfo">新增</el-button>
|
||||||
<el-button type="danger">删除</el-button>
|
<!-- <el-button type="danger">删除</el-button> -->
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="list"
|
:data="list"
|
||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55" />
|
<!-- <el-table-column type="selection" width="55" /> -->
|
||||||
<el-table-column label="考点" align="center" prop="contentIn" />
|
<el-table-column label="考点" align="center" prop="contentIn" />
|
||||||
<el-table-column label="权值" align="center" prop="scoreRate" />
|
<el-table-column label="权值" align="center" prop="scoreRate" />
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -161,7 +165,7 @@
|
|||||||
<el-input
|
<el-input
|
||||||
v-model="scope.row.fileName"
|
v-model="scope.row.fileName"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="请输入文件名称"
|
placeholder="请输入文件名称(未输入自动命名)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -203,7 +207,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 表单弹窗:添加/修改 -->
|
<!-- 表单弹窗:添加/修改 -->
|
||||||
<FileForm ref="FileRef" @success="handleUploadSuccess" />
|
<FileForm ref="FileRef" @success="handleUploadSuccess" />
|
||||||
|
|
||||||
<el-dialog v-model="dialogFormVisibleWordInfo" title="考点设置" width="400px">
|
<el-dialog v-model="dialogFormVisibleWordInfo" title="考点设置" width="400px">
|
||||||
<el-tree
|
<el-tree
|
||||||
style="max-width: 600px"
|
style="max-width: 600px"
|
||||||
@@ -213,7 +216,6 @@
|
|||||||
@node-click="handleNodelClick"
|
@node-click="handleNodelClick"
|
||||||
/>
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog v-model="dialogFormVisibleWordInfos" :title="titles" width="300px">
|
<el-dialog v-model="dialogFormVisibleWordInfos" :title="titles" width="300px">
|
||||||
<el-tree
|
<el-tree
|
||||||
style="max-width: 600px"
|
style="max-width: 600px"
|
||||||
@@ -265,7 +267,35 @@ const formData = ref({
|
|||||||
audit: '',
|
audit: '',
|
||||||
subjectName: '',
|
subjectName: '',
|
||||||
status: ' ',
|
status: ' ',
|
||||||
resourceValue: ''
|
resourceValue: '',
|
||||||
|
answerList: [
|
||||||
|
{
|
||||||
|
image: "",
|
||||||
|
content: "",
|
||||||
|
contentIn: "",
|
||||||
|
scoreRate: "",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
fileUploads: [
|
||||||
|
{
|
||||||
|
quId: '',
|
||||||
|
url: '',
|
||||||
|
fileType: '0',
|
||||||
|
fileName: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quId: '',
|
||||||
|
url: '',
|
||||||
|
fileType: '1',
|
||||||
|
fileName: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quId: '',
|
||||||
|
url: '',
|
||||||
|
fileType: '2',
|
||||||
|
fileName: ''
|
||||||
|
}
|
||||||
|
]
|
||||||
})
|
})
|
||||||
const wordPointsFun = ref({
|
const wordPointsFun = ref({
|
||||||
chineseName: '',
|
chineseName: '',
|
||||||
@@ -287,11 +317,18 @@ const wordPoints = ref({
|
|||||||
let wordPointsInfosList: (typeof wordPoints)[] = []
|
let wordPointsInfosList: (typeof wordPoints)[] = []
|
||||||
|
|
||||||
function fileTypeFormatter(row, column, cellValue) {
|
function fileTypeFormatter(row, column, cellValue) {
|
||||||
|
if (cellValue === '0') return '素材文件(上传ZIP)'
|
||||||
if (cellValue === '1') return '考试文件'
|
if (cellValue === '1') return '考试文件'
|
||||||
if (cellValue === '2') return '结果文件'
|
if (cellValue === '2') return '结果文件'
|
||||||
return '未知类型'
|
return '未知类型'
|
||||||
}
|
}
|
||||||
const documentList = ref([
|
const documentList = ref([
|
||||||
|
{
|
||||||
|
quId: '',
|
||||||
|
url: '',
|
||||||
|
fileType: '0',
|
||||||
|
fileName: ''
|
||||||
|
},
|
||||||
{
|
{
|
||||||
quId: '',
|
quId: '',
|
||||||
url: '',
|
url: '',
|
||||||
@@ -340,10 +377,10 @@ const handleCheckChange = (data: Tree, checked: boolean, indeterminate: boolean)
|
|||||||
|
|
||||||
const addWordInfo = async () => {
|
const addWordInfo = async () => {
|
||||||
// http://115.120.213.238:9000/exam/9f7d8f5d7c68cc2bfd03a23c19045efe7ba13a4bebeb833abece146908bcd0c6.docx documentList.value[1].url
|
// http://115.120.213.238:9000/exam/9f7d8f5d7c68cc2bfd03a23c19045efe7ba13a4bebeb833abece146908bcd0c6.docx documentList.value[1].url
|
||||||
if (documentList.value[1].url == '' || documentList.value[1].url == null) {
|
// if (documentList.value[2].url == '' || documentList.value[2].url == null) {
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
const res = await WordApi.getWordInfo(documentList.value[1].url)
|
const res = await WordApi.getWordInfo(documentList.value[2].url)
|
||||||
wordPointsList.value = []
|
wordPointsList.value = []
|
||||||
wordPointsList.value.push(...handleTree(res))
|
wordPointsList.value.push(...handleTree(res))
|
||||||
dialogFormVisibleWordInfo.value = true
|
dialogFormVisibleWordInfo.value = true
|
||||||
@@ -384,12 +421,15 @@ const submitWordPoints = async () => {
|
|||||||
function: []
|
function: []
|
||||||
}
|
}
|
||||||
wordPointsInfosList = []
|
wordPointsInfosList = []
|
||||||
list.value = res
|
console.log(list.value)
|
||||||
|
for (let i = 0; i < res.length; i++) {
|
||||||
|
list.value.push(res[i])
|
||||||
|
}
|
||||||
dialogFormVisibleWordInfo.value = false
|
dialogFormVisibleWordInfo.value = false
|
||||||
dialogFormVisibleWordInfos.value = false
|
dialogFormVisibleWordInfos.value = false
|
||||||
}
|
}
|
||||||
const formRules = reactive<FormRules>({
|
const formRules = reactive<FormRules>({
|
||||||
// specialtyName: [{ required: true, message: '用户名称不能为空', trigger: 'blur' }]
|
status: [{ required: true, message: '启用状态必填', trigger: 'blur' }]
|
||||||
})
|
})
|
||||||
const formRef = ref() // 表单 Ref
|
const formRef = ref() // 表单 Ref
|
||||||
// 左侧试题描述
|
// 左侧试题描述
|
||||||
@@ -399,10 +439,6 @@ const rightActiveName = ref('annex')
|
|||||||
const rightHandleClick = (tab, e) => {
|
const rightHandleClick = (tab, e) => {
|
||||||
rightActiveName.value = tab.paneName.value
|
rightActiveName.value = tab.paneName.value
|
||||||
}
|
}
|
||||||
const radio = ref('A')
|
|
||||||
// 保留选项的值
|
|
||||||
const optionsContent = reactive({})
|
|
||||||
|
|
||||||
// 关键字
|
// 关键字
|
||||||
const multipleKeywordSelection = ref([] as any)
|
const multipleKeywordSelection = ref([] as any)
|
||||||
const handleKeywordSelectionChange = (val: any) => {
|
const handleKeywordSelectionChange = (val: any) => {
|
||||||
@@ -477,9 +513,10 @@ const mappedNumber = computed(() => {
|
|||||||
/** 提交表单 */
|
/** 提交表单 */
|
||||||
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const values = Object.values(optionsContent)
|
formData.value.answerList = list.value
|
||||||
|
formData.value.fileUploads = documentList.value
|
||||||
|
const values = Object.values(formData)
|
||||||
console.log(values)
|
console.log(values)
|
||||||
|
|
||||||
// 校验表单
|
// 校验表单
|
||||||
if (!formRef) return
|
if (!formRef) return
|
||||||
const valid = await formRef.value.validate()
|
const valid = await formRef.value.validate()
|
||||||
@@ -518,9 +555,43 @@ const resetForm = () => {
|
|||||||
audit: '',
|
audit: '',
|
||||||
subjectName: '',
|
subjectName: '',
|
||||||
status: '',
|
status: '',
|
||||||
resourceValue: ''
|
resourceValue: '',
|
||||||
|
answerList: [
|
||||||
|
{
|
||||||
|
image: "",
|
||||||
|
content: "",
|
||||||
|
contentIn: "",
|
||||||
|
scoreRate: "",
|
||||||
|
}
|
||||||
|
],
|
||||||
|
fileUploads: [
|
||||||
|
{
|
||||||
|
quId: '',
|
||||||
|
url: '',
|
||||||
|
fileType: '0',
|
||||||
|
fileName: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quId: '',
|
||||||
|
url: '',
|
||||||
|
fileType: '1',
|
||||||
|
fileName: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quId: '',
|
||||||
|
url: '',
|
||||||
|
fileType: '2',
|
||||||
|
fileName: ''
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
documentList.value = [
|
documentList.value = [
|
||||||
|
{
|
||||||
|
quId: '',
|
||||||
|
url: '',
|
||||||
|
fileType: '0',
|
||||||
|
fileName: ''
|
||||||
|
},
|
||||||
{
|
{
|
||||||
quId: '',
|
quId: '',
|
||||||
url: '',
|
url: '',
|
||||||
|
Reference in New Issue
Block a user