|
@@ -104,6 +104,7 @@
|
|
@current-change="onCurrentChange"
|
|
@current-change="onCurrentChange"
|
|
@row-dblclick="onDbClick"
|
|
@row-dblclick="onDbClick"
|
|
@selection-change="handleSelectionChange"
|
|
@selection-change="handleSelectionChange"
|
|
|
|
+ @row-contextmenu="rowContextmenu"
|
|
></base-table>
|
|
></base-table>
|
|
</div>
|
|
</div>
|
|
</pane>
|
|
</pane>
|
|
@@ -147,11 +148,18 @@
|
|
</template>
|
|
</template>
|
|
</base-form>
|
|
</base-form>
|
|
</base-dialog>
|
|
</base-dialog>
|
|
|
|
+ <right-key-menu
|
|
|
|
+ v-show="visable"
|
|
|
|
+ ref="rightKeyMenu"
|
|
|
|
+ :menu-strs="['发送消息']"
|
|
|
|
+ @right-click="rightClick"
|
|
|
|
+ @on-send-message="onSendMessage"
|
|
|
|
+ ></right-key-menu>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup lang="tsx" name="MarkingInquiryResult">
|
|
<script setup lang="tsx" name="MarkingInquiryResult">
|
|
/** 自定义查询结果 */
|
|
/** 自定义查询结果 */
|
|
-import { ref, computed, watch, reactive, nextTick } from 'vue'
|
|
|
|
|
|
+import { ref, computed, watch, reactive, nextTick, inject } from 'vue'
|
|
import { useRoute } from 'vue-router'
|
|
import { useRoute } from 'vue-router'
|
|
import { ElButton, ElPagination, ElMessage } from 'element-plus'
|
|
import { ElButton, ElPagination, ElMessage } from 'element-plus'
|
|
import { add } from '@/utils/common'
|
|
import { add } from '@/utils/common'
|
|
@@ -173,6 +181,7 @@ import ImagePreview from '@/components/shared/ImagePreview.vue'
|
|
import ScoringPanelWithConfirm from '@/components/shared/ScoringPanelWithConfirm.vue'
|
|
import ScoringPanelWithConfirm from '@/components/shared/ScoringPanelWithConfirm.vue'
|
|
import SendBackMark from '@/components/shared/SendBackMark.vue'
|
|
import SendBackMark from '@/components/shared/SendBackMark.vue'
|
|
import SecNumberStatus from '@/components/common/secNumberStatus.vue'
|
|
import SecNumberStatus from '@/components/common/secNumberStatus.vue'
|
|
|
|
+import RightKeyMenu from '../../analysis/personnel-statistics/components/RightKeyMenu.vue'
|
|
import type { SetImgBgOption } from '@/hooks/useSetImgBg'
|
|
import type { SetImgBgOption } from '@/hooks/useSetImgBg'
|
|
import type { ExtractMultipleApiResponse, ExtractApiParams } from '@/api/api'
|
|
import type { ExtractMultipleApiResponse, ExtractApiParams } from '@/api/api'
|
|
import type { MarkHeaderInstance, EpTableColumn, EpFormItem } from 'global-type'
|
|
import type { MarkHeaderInstance, EpTableColumn, EpFormItem } from 'global-type'
|
|
@@ -180,6 +189,31 @@ import { Splitpanes, Pane } from 'splitpanes'
|
|
import { setPaneSize } from '@/utils/common'
|
|
import { setPaneSize } from '@/utils/common'
|
|
import useMainStore from '@/store/main'
|
|
import useMainStore from '@/store/main'
|
|
import BtnPagination from '@/components/common/BtnPagination.vue'
|
|
import BtnPagination from '@/components/common/BtnPagination.vue'
|
|
|
|
+
|
|
|
|
+const setMessageVisible = inject<(visible: boolean) => void>('setMessageVisible')
|
|
|
|
+const setReplyUserId = inject<(id: number) => void>('setReplyUserId')
|
|
|
|
+const visable = ref(false)
|
|
|
|
+const rightKeyMenu = ref(null)
|
|
|
|
+const rightClick = () => {
|
|
|
|
+ visable.value = false
|
|
|
|
+}
|
|
|
|
+/** 发送消息 */
|
|
|
|
+function onSendMessage(data: any) {
|
|
|
|
+ setReplyUserId?.(data.markerId)
|
|
|
|
+ setMessageVisible?.(true)
|
|
|
|
+}
|
|
|
|
+const rowContextmenu = (row: any, column: any, event: any) => {
|
|
|
|
+ console.log(row, column, event)
|
|
|
|
+ visable.value = false
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ visable.value = true
|
|
|
|
+ }, 50)
|
|
|
|
+ event.preventDefault()
|
|
|
|
+ nextTick(() => {
|
|
|
|
+ ;(rightKeyMenu.value as any).onload(row, column, event)
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+
|
|
// const isMult = ref(false)
|
|
// const isMult = ref(false)
|
|
const multipleSelection = ref<any>([])
|
|
const multipleSelection = ref<any>([])
|
|
const handleSelectionChange = (val: any) => {
|
|
const handleSelectionChange = (val: any) => {
|