|
@@ -52,12 +52,9 @@ import {computed, getCurrentInstance, nextTick, reactive, ref, watch} from "vue"
|
|
|
import {useDictionaryStore} from "@/stores";
|
|
|
import {ElMessage, ElMessageBox} from "element-plus";
|
|
|
import {
|
|
|
- sysIndexFieldList,
|
|
|
- sysIndexFieldSaveOrUpdate,
|
|
|
- sysIndexGetDetail,
|
|
|
- sysIndexSaveOrUpdate
|
|
|
+ sysIndexFieldList, sysIndexGetThemeByIndex, sysIndexSaveThemeInfo
|
|
|
} from "@/api/modules/manage";
|
|
|
-import {sysThemeFind, sysThemeGetPageTheme} from "@/api/modules/manage/theme";
|
|
|
+import {sysThemeGetPageTheme} from "@/api/modules/manage/theme";
|
|
|
|
|
|
const emit = defineEmits(['update:show', 'refresh'])
|
|
|
const {proxy} = getCurrentInstance()
|
|
@@ -86,34 +83,28 @@ const titleCpt = computed(() => {
|
|
|
})
|
|
|
const onSubmit = () => {
|
|
|
ref_form.value.submit().then(() => {
|
|
|
- if (state.form.fieldType === 'text' && state.textTable.data.length === 0) {
|
|
|
- ElMessage({
|
|
|
- message: '请至少选择一个分词器!',
|
|
|
- grouping: true,
|
|
|
- type: 'warning',
|
|
|
- })
|
|
|
- } else {
|
|
|
- ElMessageBox.confirm("是否提交?", "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- } as any).then(() => {
|
|
|
- state.loading = true
|
|
|
- if (state.form.fieldType === 'text') {
|
|
|
- state.form.fieldAnalyzer = JSON.stringify(state.textTable.data)
|
|
|
+ ElMessageBox.confirm("是否提交?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ } as any).then(() => {
|
|
|
+ state.loading = true
|
|
|
+ const params = {
|
|
|
+ indexId: props.transfer.id,
|
|
|
+ themeId: state.form.themeId,
|
|
|
+ themeField: JSON.stringify(state.textTable.data)
|
|
|
+ }
|
|
|
+ sysIndexSaveThemeInfo(params).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ ElMessage.success('保存成功!')
|
|
|
+ emit('update:show', false)
|
|
|
+ emit('refresh')
|
|
|
+ } else {
|
|
|
+ ElMessage.error(res.msg)
|
|
|
}
|
|
|
- sysIndexFieldSaveOrUpdate(state.form).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- ElMessage.success(props.transfer.mode === 'add' ? '新增成功!' : '编辑成功!')
|
|
|
- emit('update:show', false)
|
|
|
- emit('refresh')
|
|
|
- } else {
|
|
|
- ElMessage.error(res.msg)
|
|
|
- }
|
|
|
- state.loading = false
|
|
|
- })
|
|
|
- }).catch(() => {})
|
|
|
- }
|
|
|
+ state.loading = false
|
|
|
+ })
|
|
|
+ }).catch(() => {})
|
|
|
}).catch((e) => {
|
|
|
ElMessage({
|
|
|
message: e[0].message,
|
|
@@ -123,37 +114,20 @@ const onSubmit = () => {
|
|
|
})
|
|
|
}
|
|
|
const initTheme = () => {
|
|
|
- // sysThemeGetPageTheme('page=1&size=1000&themeType=2&themeState=1').then(res => {
|
|
|
- // if (res.code === 200) {
|
|
|
- // state.themeOptions = res.data.totalElements
|
|
|
- // } else {
|
|
|
- // ElMessage.error(res.msg)
|
|
|
- // }
|
|
|
- // })
|
|
|
- state.themeOptions = [
|
|
|
- {
|
|
|
- "themeId": "7",
|
|
|
- "themeName": "测试档案",
|
|
|
- "themeType": "2",
|
|
|
- "themeState": "1",
|
|
|
- "themeUrl": "/web/archive",
|
|
|
- "themeParam": "p1,p2,p3,p4",
|
|
|
- "themeStyle": null,
|
|
|
- "createTime": "2024-09-10 01:45:48",
|
|
|
- "createBy": "1",
|
|
|
- "updateTime": "2024-09-10 01:45:48",
|
|
|
- "updateBy": "1"
|
|
|
+ sysThemeGetPageTheme('page=1&size=1000&themeType=2&themeState=1').then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ state.themeOptions = res.data.content
|
|
|
+ } else {
|
|
|
+ ElMessage.error(res.msg)
|
|
|
}
|
|
|
- ]
|
|
|
+ })
|
|
|
}
|
|
|
const handleSelect = (obj) => {
|
|
|
if (obj.themeParam) {
|
|
|
- obj.themeParam.split(',').forEach(v => {
|
|
|
- state.textTable.data.push({
|
|
|
- themeParam: v,
|
|
|
- fieldParam: '',
|
|
|
- })
|
|
|
- })
|
|
|
+ state.textTable.data = obj.themeParam.split(',').map(v => ({
|
|
|
+ themeParam: v,
|
|
|
+ fieldParam: '',
|
|
|
+ }))
|
|
|
}
|
|
|
}
|
|
|
const initText = () => {
|
|
@@ -167,10 +141,21 @@ const initText = () => {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+const initDetail = () => {
|
|
|
+ state.loading = true
|
|
|
+ sysIndexGetThemeByIndex(props.transfer.id).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ state.form = res.data || {}
|
|
|
+ state.loading = false
|
|
|
+ } else {
|
|
|
+ ElMessage.error(res.msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
watch(() => props.show, (n) => {
|
|
|
if (n) {
|
|
|
initDictionary()
|
|
|
- state.form = {}
|
|
|
+ initDetail()
|
|
|
initTheme()
|
|
|
initText()
|
|
|
nextTick(() => {
|