mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 19:35:50 +00:00
feat: 添加接龙
This commit is contained in:
parent
abd453f2f6
commit
d72ab58f98
90
resources/assets/js/components/ChainReaction.vue
Normal file
90
resources/assets/js/components/ChainReaction.vue
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
<template>
|
||||||
|
<Modal class-name="chain-reaction-wrapper"
|
||||||
|
v-model="show"
|
||||||
|
:mask-closable="false"
|
||||||
|
:title="$L('发起接龙')"
|
||||||
|
:closable="!isFullscreen"
|
||||||
|
:fullscreen="isFullscreen"
|
||||||
|
:footer-hide="isFullscreen">
|
||||||
|
<!-- 顶部 -->
|
||||||
|
<template #header>
|
||||||
|
<div v-if="isFullscreen" class="user-modal-header">
|
||||||
|
<div class="user-modal-close" @click="show = false">
|
||||||
|
{{ $L('关闭') }}
|
||||||
|
</div>
|
||||||
|
<div class="user-modal-title">1</div>
|
||||||
|
<div class="user-modal-submit" @click="showMultiple = true">
|
||||||
|
{{$L('多选')}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #close>
|
||||||
|
<i class="ivu-icon ivu-icon-ios-close"></i>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- -->
|
||||||
|
2212
|
||||||
|
|
||||||
|
<div slot="footer">
|
||||||
|
<Button type="default" @click="show=false">{{$L('取消')}}</Button>
|
||||||
|
<Button type="primary" @click="onSend">{{$L('发送')}}</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <TaskDetail ref="taskDetail" :task-id="taskId" :open-task="taskData" modalMode/> -->
|
||||||
|
</Modal>
|
||||||
|
<!-- <Modal
|
||||||
|
v-model="fullInput"
|
||||||
|
:mask-closable="false"
|
||||||
|
:beforeClose="onFullBeforeClose"
|
||||||
|
class-name="chat-input-full-input"
|
||||||
|
footer-hide
|
||||||
|
fullscreen>
|
||||||
|
<div class="chat-input-box">
|
||||||
|
<div class="chat-input-wrapper">
|
||||||
|
<div ref="editorFull" class="no-dark-content"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<i slot="close" class="taskfont"></i>
|
||||||
|
</Modal> -->
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {mapState} from "vuex";
|
||||||
|
export default {
|
||||||
|
name: 'ChainReaction',
|
||||||
|
props: {
|
||||||
|
disabled: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
show: false, // 鼠标滑过overflow文本时,再检查是否需要显示
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
...mapState(['chainReaction']),
|
||||||
|
|
||||||
|
isFullscreen({ windowWidth }) {
|
||||||
|
return windowWidth < 576;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
chainReaction(data) {
|
||||||
|
if(data.type == 'create' && data.dialog_id){
|
||||||
|
this.show = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
onSend(e) {
|
||||||
|
this.$emit("on-click", e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
@ -264,6 +264,9 @@
|
|||||||
<MobileBack :showTabbar="showMobileTabbar"/>
|
<MobileBack :showTabbar="showMobileTabbar"/>
|
||||||
<MobileNotification ref="mobileNotification"/>
|
<MobileNotification ref="mobileNotification"/>
|
||||||
|
|
||||||
|
<!--接龙-->
|
||||||
|
<ChainReaction/>
|
||||||
|
|
||||||
<!-- okr明细 -->
|
<!-- okr明细 -->
|
||||||
<MicroApps v-show="false" v-if="$route.name != 'manage-apps'" name="okr-details" :url="okrUrl" :datas="okrWindow"/>
|
<MicroApps v-show="false" v-if="$route.name != 'manage-apps'" name="okr-details" :url="okrUrl" :datas="okrWindow"/>
|
||||||
</div>
|
</div>
|
||||||
@ -290,6 +293,7 @@ import ApproveExport from "./manage/components/ApproveExport";
|
|||||||
import notificationKoro from "notification-koro1";
|
import notificationKoro from "notification-koro1";
|
||||||
import {Store} from "le5le-store";
|
import {Store} from "le5le-store";
|
||||||
import MicroApps from "../components/MicroApps.vue";
|
import MicroApps from "../components/MicroApps.vue";
|
||||||
|
import ChainReaction from "../components/ChainReaction.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@ -308,7 +312,8 @@ export default {
|
|||||||
ProjectManagement,
|
ProjectManagement,
|
||||||
TeamManagement,
|
TeamManagement,
|
||||||
ProjectArchived,
|
ProjectArchived,
|
||||||
MicroApps
|
MicroApps,
|
||||||
|
ChainReaction
|
||||||
},
|
},
|
||||||
directives: {longpress},
|
directives: {longpress},
|
||||||
data() {
|
data() {
|
||||||
|
|||||||
@ -311,6 +311,7 @@ export default {
|
|||||||
{ value: "signin", label: "签到" },
|
{ value: "signin", label: "签到" },
|
||||||
{ value: "meeting", label: "会议" },
|
{ value: "meeting", label: "会议" },
|
||||||
{ value: "calendar", label: "日历" },
|
{ value: "calendar", label: "日历" },
|
||||||
|
{ value: "jielong", label: "接龙" },
|
||||||
];
|
];
|
||||||
// wap模式
|
// wap模式
|
||||||
let appApplyList = this.windowOrientation != 'portrait' ? (
|
let appApplyList = this.windowOrientation != 'portrait' ? (
|
||||||
@ -400,6 +401,9 @@ export default {
|
|||||||
case 'scan':
|
case 'scan':
|
||||||
$A.eeuiAppScan(this.scanResult);
|
$A.eeuiAppScan(this.scanResult);
|
||||||
return;
|
return;
|
||||||
|
case 'jielong':
|
||||||
|
// DOTO
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
this.$emit("on-click", item.value)
|
this.$emit("on-click", item.value)
|
||||||
},
|
},
|
||||||
|
|||||||
@ -106,6 +106,10 @@
|
|||||||
<i class="taskfont"></i>
|
<i class="taskfont"></i>
|
||||||
{{$L('全屏输入')}}
|
{{$L('全屏输入')}}
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="dialogData.type == 'group'" class="chat-input-popover-item" @click="onToolbar('chain-reaction')">
|
||||||
|
<i class="taskfont"></i>
|
||||||
|
{{$L('接龙')}}
|
||||||
|
</div>
|
||||||
</EPopover>
|
</EPopover>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
@ -1228,6 +1232,13 @@ export default {
|
|||||||
case 'anon':
|
case 'anon':
|
||||||
this.$emit('on-more', action)
|
this.$emit('on-more', action)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'chain-reaction':
|
||||||
|
this.$store.state.chainReaction = {
|
||||||
|
type: 'create',
|
||||||
|
dialog_id: this.dialogId
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<div class="setting-title">
|
<div class="setting-title">
|
||||||
<div v-if="showMobileBox" class="common-nav-back portrait" @click="goForward({name: 'manage-application'},true)"><i class="taskfont"></i></div>
|
<div v-if="showMobileBox" class="common-nav-back portrait" @click="goForward({name: 'manage-application'},true)"><i class="taskfont"></i></div>
|
||||||
<h1>{{settingTitleName}}</h1>
|
<h1>{{settingTitleName}}</h1>
|
||||||
<div v-if="!showMobileBox" class="setting-more" @click="toggleRoute('index')">
|
<div v-if="!showMobileBox" class="setting-more" @click="goBack()">
|
||||||
<Icon type="md-close" />
|
<Icon type="md-close" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
3
resources/assets/js/store/state.js
vendored
3
resources/assets/js/store/state.js
vendored
@ -209,6 +209,9 @@ export default {
|
|||||||
meetingid: 0
|
meetingid: 0
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 接龙
|
||||||
|
chainReaction: {},
|
||||||
|
|
||||||
// okr窗口
|
// okr窗口
|
||||||
okrWindow: {
|
okrWindow: {
|
||||||
type: 'open',
|
type: 'open',
|
||||||
|
|||||||
@ -29,4 +29,4 @@
|
|||||||
@import "project-menu";
|
@import "project-menu";
|
||||||
@import "calendar";
|
@import "calendar";
|
||||||
@import "home-calendar";
|
@import "home-calendar";
|
||||||
@import "home-calendar";
|
@import "chain-reaction";
|
||||||
|
|||||||
14
resources/assets/sass/pages/components/chain-reaction.scss
vendored
Normal file
14
resources/assets/sass/pages/components/chain-reaction.scss
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
.chain-reaction-wrapper {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
body.window-portrait {
|
||||||
|
.chain-reaction-wrapper {
|
||||||
|
|
||||||
|
}
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
.chain-reaction-wrapper {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user