|
|
@@ -6,47 +6,48 @@ const top = ref('')
|
|
|
const left = ref('')
|
|
|
const searchVal = ref('')
|
|
|
const list = ref([
|
|
|
- {id: 'startUser', name: '发起人'},
|
|
|
- {id: 'startUserDept', name: '发起人部门'},
|
|
|
- {id: 'processName', name: '流程名称'},
|
|
|
- {id: 'processNum', name: '流程编号'},
|
|
|
- {id: 'startTime', name: '发起时间'},
|
|
|
- {id: 'endTime', name: '发起时间'},
|
|
|
- {id: 'processStatus', name: '流程状态'},
|
|
|
- {id: 'processResult', name: '流程结果'},
|
|
|
- {id: 'printUser', name: '打印人'},
|
|
|
- {id: 'printTime', name: '打印时间'},
|
|
|
+ { id: 'startUser', name: '发起人' },
|
|
|
+ { id: 'startUserDept', name: '发起人部门' },
|
|
|
+ { id: 'processName', name: '流程名称' },
|
|
|
+ { id: 'processNum', name: '流程编号' },
|
|
|
+ { id: 'startTime', name: '发起时间' },
|
|
|
+ { id: 'endTime', name: '发起时间' },
|
|
|
+ { id: 'processStatus', name: '流程状态' },
|
|
|
+ { id: 'processResult', name: '流程结果' },
|
|
|
+ { id: 'printUser', name: '打印人' },
|
|
|
+ { id: 'printTime', name: '打印时间' }
|
|
|
])
|
|
|
const searchedList = computed(() => {
|
|
|
const searchValStr = searchVal.value.trim().toLowerCase()
|
|
|
- return list.value.filter(item => {
|
|
|
+ return list.value.filter((item) => {
|
|
|
const name = item.name.toLowerCase()
|
|
|
- return name.indexOf(searchValStr) >= 0;
|
|
|
+ return name.indexOf(searchValStr) >= 0
|
|
|
})
|
|
|
})
|
|
|
-const inputKeyupHandler = (event) => {
|
|
|
+const inputKeyupHandler = (event: any) => {
|
|
|
if (event.key === 'Escape') {
|
|
|
emit('hideMentionModal')
|
|
|
}
|
|
|
if (event.key === 'Enter') {
|
|
|
const firstOne = searchedList.value[0]
|
|
|
if (firstOne) {
|
|
|
- const {id, name} = firstOne
|
|
|
+ const { id, name } = firstOne
|
|
|
insertMentionHandler(id, name)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-const insertMentionHandler = (id, name) => {
|
|
|
+const insertMentionHandler = (id: any, name: any) => {
|
|
|
emit('insertMention', id, name)
|
|
|
emit('hideMentionModal')
|
|
|
}
|
|
|
|
|
|
const formFields = inject('formFieldsObj')
|
|
|
-onMounted(()=> {
|
|
|
+onMounted(() => {
|
|
|
+ // TODO @lesan:这里 idea 会爆红,看看能不能处理下;
|
|
|
if (formFields.value && formFields.value.length > 0) {
|
|
|
const cloneFormField = formFields.value.map((item) => {
|
|
|
return {
|
|
|
- name: '[表单]'+item.title,
|
|
|
+ name: '[表单]' + item.title,
|
|
|
id: item.field
|
|
|
}
|
|
|
})
|
|
|
@@ -66,13 +67,15 @@ onMounted(()=> {
|
|
|
|
|
|
<template>
|
|
|
<div id="mention-modal" :style="{ top: top, left: left }">
|
|
|
+ <!-- TODO @lesan:css 可以用 unocss 哇? -->
|
|
|
<input id="mention-input" v-model="searchVal" ref="inputRef" @keyup="inputKeyupHandler" />
|
|
|
<ul id="mention-list">
|
|
|
<li
|
|
|
v-for="item in searchedList"
|
|
|
:key="item.id"
|
|
|
@click="insertMentionHandler(item.id, item.name)"
|
|
|
- >{{ item.name }}
|
|
|
+ >
|
|
|
+ {{ item.name }}
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|