|
@@ -33,7 +33,7 @@
|
|
|
<a-form-item label="帖子内容:" name="postContent">
|
|
<a-form-item label="帖子内容:" name="postContent">
|
|
|
<xn-editor v-model="formData.postContent" placeholder="请输入内容" :height="400"></xn-editor>
|
|
<xn-editor v-model="formData.postContent" placeholder="请输入内容" :height="400"></xn-editor>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
- <a-form-item label="是否置顶:" name="isTop">
|
|
|
|
|
|
|
+ <!-- <a-form-item label="是否置顶:" name="isTop">
|
|
|
<a-select
|
|
<a-select
|
|
|
v-model:value="formData.isTop"
|
|
v-model:value="formData.isTop"
|
|
|
placeholder="请选择是否置顶"
|
|
placeholder="请选择是否置顶"
|
|
@@ -42,7 +42,7 @@
|
|
|
:filter-option="filterOption"
|
|
:filter-option="filterOption"
|
|
|
></a-select>
|
|
></a-select>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
- <!-- <a-form-item label="浏览次数:" name="viewCount">
|
|
|
|
|
|
|
+ <a-form-item label="浏览次数:" name="viewCount">
|
|
|
<a-input v-model:value="formData.viewCount" placeholder="请输入浏览次数" allow-clear />
|
|
<a-input v-model:value="formData.viewCount" placeholder="请输入浏览次数" allow-clear />
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
<a-form-item label="回复次数:" name="replyCount">
|
|
<a-form-item label="回复次数:" name="replyCount">
|
|
@@ -55,13 +55,30 @@
|
|
|
<a-form-item label="帖子类型:" name="postType">
|
|
<a-form-item label="帖子类型:" name="postType">
|
|
|
<a-select
|
|
<a-select
|
|
|
v-model:value="formData.postType"
|
|
v-model:value="formData.postType"
|
|
|
- show-search
|
|
|
|
|
placeholder="请选择类型"
|
|
placeholder="请选择类型"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
:options="invitationOptions"
|
|
:options="invitationOptions"
|
|
|
- :filter-option="filterOption"
|
|
|
|
|
|
|
+ @change="selectType"
|
|
|
|
|
+ ></a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ <a-form-item label="纠错类型:" name="contentCorrectionParam.resourceType" v-if="formData.postType==2">
|
|
|
|
|
+ <a-select
|
|
|
|
|
+ v-model:value="formData.contentCorrectionParam.resourceType"
|
|
|
|
|
+ placeholder="请选择类型"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ :options="errorType"
|
|
|
|
|
+ @change="selectErrorType"
|
|
|
></a-select>
|
|
></a-select>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
+ <a-form-item label="选择目标:" name="contentCorrectionParam.resourceId" v-if="formData.postType==2">
|
|
|
|
|
+ <a-select
|
|
|
|
|
+ v-model:value="formData.contentCorrectionParam.resourceId"
|
|
|
|
|
+ placeholder="请选择类型"
|
|
|
|
|
+ style="width: 100%"
|
|
|
|
|
+ :options="targetList"
|
|
|
|
|
+ ></a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+
|
|
|
<a-form-item label="定向用户:" name="appointUserArr">
|
|
<a-form-item label="定向用户:" name="appointUserArr">
|
|
|
<a-select
|
|
<a-select
|
|
|
v-model:value="formData.appointUserArr"
|
|
v-model:value="formData.appointUserArr"
|
|
@@ -87,17 +104,35 @@
|
|
|
import forumPostInfoApi from '@/api/forum/forumPostInfoApi'
|
|
import forumPostInfoApi from '@/api/forum/forumPostInfoApi'
|
|
|
import forumApi from '@/api/forum/forumApi'
|
|
import forumApi from '@/api/forum/forumApi'
|
|
|
import XnEditor from '@/components/Editor/index.vue'
|
|
import XnEditor from '@/components/Editor/index.vue'
|
|
|
|
|
+ import Bowser from 'bowser'
|
|
|
// 抽屉状态
|
|
// 抽屉状态
|
|
|
const visible = ref(false)
|
|
const visible = ref(false)
|
|
|
const emit = defineEmits({ successful: null })
|
|
const emit = defineEmits({ successful: null })
|
|
|
const formRef = ref()
|
|
const formRef = ref()
|
|
|
// 表单数据
|
|
// 表单数据
|
|
|
- const formData = ref({})
|
|
|
|
|
|
|
+ const formData = ref({
|
|
|
|
|
+ contentCorrectionParam:{}
|
|
|
|
|
+ })
|
|
|
const submitLoading = ref(false)
|
|
const submitLoading = ref(false)
|
|
|
//分类
|
|
//分类
|
|
|
const typeOptions = ref([])
|
|
const typeOptions = ref([])
|
|
|
//用户
|
|
//用户
|
|
|
const usertypeOptions = ref([])
|
|
const usertypeOptions = ref([])
|
|
|
|
|
+ //纠错
|
|
|
|
|
+ const errorType = ref([
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '课程章节',
|
|
|
|
|
+ value: 0
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '作业',
|
|
|
|
|
+ value: 1
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '考试',
|
|
|
|
|
+ value: 2
|
|
|
|
|
+ }
|
|
|
|
|
+ ])
|
|
|
//置顶
|
|
//置顶
|
|
|
const topOptions = ref([
|
|
const topOptions = ref([
|
|
|
{
|
|
{
|
|
@@ -119,10 +154,10 @@
|
|
|
label: '技术支持',
|
|
label: '技术支持',
|
|
|
value: 1
|
|
value: 1
|
|
|
},
|
|
},
|
|
|
- {
|
|
|
|
|
- label: '内容纠错',
|
|
|
|
|
- value: 2
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // {
|
|
|
|
|
+ // label: '内容纠错',
|
|
|
|
|
+ // value: 2
|
|
|
|
|
+ // }
|
|
|
])
|
|
])
|
|
|
// 打开抽屉
|
|
// 打开抽屉
|
|
|
const onOpen = (record) => {
|
|
const onOpen = (record) => {
|
|
@@ -169,6 +204,9 @@
|
|
|
const onSubmit = () => {
|
|
const onSubmit = () => {
|
|
|
formRef.value.validate().then(() => {
|
|
formRef.value.validate().then(() => {
|
|
|
submitLoading.value = true
|
|
submitLoading.value = true
|
|
|
|
|
+ if (formData.value.postType == 1) {
|
|
|
|
|
+ formData.value = Object.assign(formData.value, browserObj.value)
|
|
|
|
|
+ }
|
|
|
const formDataParam = cloneDeep(formData.value)
|
|
const formDataParam = cloneDeep(formData.value)
|
|
|
forumPostInfoApi
|
|
forumPostInfoApi
|
|
|
.forumPostInfoSubmitForm(formDataParam, formDataParam.postId)
|
|
.forumPostInfoSubmitForm(formDataParam, formDataParam.postId)
|
|
@@ -184,6 +222,43 @@
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
+ //选择类型
|
|
|
|
|
+ const selectType = (event) => {
|
|
|
|
|
+ if (event == 0) {
|
|
|
|
|
+ browserObj.value = {}
|
|
|
|
|
+ errorVal.value = {}
|
|
|
|
|
+ }
|
|
|
|
|
+ if (event == 1) {
|
|
|
|
|
+ getBower()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ const targetList = ref([])
|
|
|
|
|
+ const selectErrorType = (event) => {
|
|
|
|
|
+ if (event == 0) {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ if (event == 1) {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ if (event == 2) {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //获取操作系统/浏览器等信息
|
|
|
|
|
+ const browserObj = ref({})
|
|
|
|
|
+ function getBower() {
|
|
|
|
|
+ const browser = Bowser.getParser(window.navigator.userAgent)
|
|
|
|
|
+ let obj = browser.parsedResult
|
|
|
|
|
+ browserObj.value = {
|
|
|
|
|
+ forumSupportEnvParam: {
|
|
|
|
|
+ browserType: obj.browser.name,
|
|
|
|
|
+ browserVersion: obj.browser.version,
|
|
|
|
|
+ osType: obj.os.name,
|
|
|
|
|
+ osVersion: obj.os.version,
|
|
|
|
|
+ deviceType: 0
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
// 抛出函数
|
|
// 抛出函数
|
|
|
defineExpose({
|
|
defineExpose({
|
|
|
onOpen
|
|
onOpen
|