适配 手机/平板端
This commit is contained in:
parent
af28eaaace
commit
318d92c759
42
public/css/app.css
vendored
42
public/css/app.css
vendored
@ -7041,6 +7041,9 @@ body .ivu-drawer-bottom .ivu-drawer-content .ivu-drawer-close .ivu-icon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
|
.page-project .project-list {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
.page-project .project-dialog {
|
.page-project .project-dialog {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
@ -9451,8 +9454,11 @@ body .ivu-drawer-bottom .ivu-drawer-content .ivu-drawer-close .ivu-icon {
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-left: 18px;
|
margin-left: 18px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
width: 0;
|
||||||
|
height: 40px;
|
||||||
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.task-detail .task-info .head .nav > p {
|
.task-detail .task-info .head .nav > p {
|
||||||
@ -9461,6 +9467,12 @@ body .ivu-drawer-bottom .ivu-drawer-content .ivu-drawer-close .ivu-icon {
|
|||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.task-detail .task-info .head .nav > p > span {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
.task-detail .task-info .head .nav > p:after {
|
.task-detail .task-info .head .nav > p:after {
|
||||||
content: "/";
|
content: "/";
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
@ -9880,6 +9892,8 @@ body .ivu-drawer-bottom .ivu-drawer-content .ivu-drawer-close .ivu-icon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.task-detail .task-dialog .no-dialog .no-input {
|
.task-detail .task-dialog .no-dialog .no-input {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
margin: 32px 0 0 36px;
|
margin: 32px 0 0 36px;
|
||||||
background-color: #F4F5F7;
|
background-color: #F4F5F7;
|
||||||
padding: 10px 12px;
|
padding: 10px 12px;
|
||||||
@ -9896,6 +9910,10 @@ body .ivu-drawer-bottom .ivu-drawer-content .ivu-drawer-close .ivu-icon {
|
|||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.task-detail .task-dialog .no-dialog .no-input .no-send {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
.task-detail .task-dialog .project-log {
|
.task-detail .task-dialog .project-log {
|
||||||
margin-left: 36px;
|
margin-left: 36px;
|
||||||
}
|
}
|
||||||
@ -10059,6 +10077,28 @@ body .ivu-drawer-bottom .ivu-drawer-content .ivu-drawer-close .ivu-icon {
|
|||||||
transform: scale(0.9);
|
transform: scale(0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.task-detail .task-dialog .no-dialog .no-input {
|
||||||
|
position: relative;
|
||||||
|
padding-right: 52px;
|
||||||
|
}
|
||||||
|
.task-detail .task-dialog .no-dialog .no-input .no-send {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
font-size: 18px;
|
||||||
|
width: 46px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
.task-detail .task-dialog .no-dialog .no-input .no-send .common-loading {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.task-priority {
|
.task-priority {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
2
public/js/app.js
vendored
2
public/js/app.js
vendored
File diff suppressed because one or more lines are too long
2
public/js/build/190.js
vendored
2
public/js/build/190.js
vendored
File diff suppressed because one or more lines are too long
2
public/js/build/328.js
vendored
2
public/js/build/328.js
vendored
File diff suppressed because one or more lines are too long
1
public/js/build/400.js
vendored
Normal file
1
public/js/build/400.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/js/build/83.js
vendored
1
public/js/build/83.js
vendored
File diff suppressed because one or more lines are too long
@ -157,8 +157,12 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
'$route': {
|
'$route': {
|
||||||
handler (route) {
|
handler (route) {
|
||||||
if (route.query && route.query.msg && this.msgText == '') {
|
if (route.query && route.query.sendmsg && this.msgText == '') {
|
||||||
this.msgText = route.query.msg;
|
let query = $A.cloneJSON(route.query);
|
||||||
|
delete query.sendmsg;
|
||||||
|
this.goForward({query}, true);
|
||||||
|
this.msgText = route.query.sendmsg;
|
||||||
|
this.$nextTick(this.sendMsg);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
immediate: true
|
immediate: true
|
||||||
|
@ -96,9 +96,9 @@
|
|||||||
<Icon v-if="taskDetail.complete_at" class="icon completed" type="md-checkmark-circle" @click="updateData('uncomplete')"/>
|
<Icon v-if="taskDetail.complete_at" class="icon completed" type="md-checkmark-circle" @click="updateData('uncomplete')"/>
|
||||||
<Icon v-else class="icon" type="md-radio-button-off" @click="updateData('complete')"/>
|
<Icon v-else class="icon" type="md-radio-button-off" @click="updateData('complete')"/>
|
||||||
<div class="nav">
|
<div class="nav">
|
||||||
<p v-if="projectName">{{projectName}}</p>
|
<p v-if="projectName"><span>{{projectName}}</span></p>
|
||||||
<p v-if="columnName">{{columnName}}</p>
|
<p v-if="columnName"><span>{{columnName}}</span></p>
|
||||||
<p v-if="taskDetail.id">{{taskDetail.id}}</p>
|
<p v-if="taskDetail.id"><span>{{taskDetail.id}}</span></p>
|
||||||
</div>
|
</div>
|
||||||
<Poptip
|
<Poptip
|
||||||
v-if="getOwner.length === 0"
|
v-if="getOwner.length === 0"
|
||||||
@ -387,6 +387,10 @@
|
|||||||
:maxlength="255"
|
:maxlength="255"
|
||||||
:placeholder="$L('输入消息...')"
|
:placeholder="$L('输入消息...')"
|
||||||
@on-keydown="msgKeydown"/>
|
@on-keydown="msgKeydown"/>
|
||||||
|
<div class="no-send" @click="openSend">
|
||||||
|
<Loading v-if="sendLoad"/>
|
||||||
|
<Icon v-else type="md-send" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -448,6 +452,8 @@ export default {
|
|||||||
msgText: '',
|
msgText: '',
|
||||||
navActive: 'dialog',
|
navActive: 'dialog',
|
||||||
|
|
||||||
|
sendLoad: false,
|
||||||
|
|
||||||
taskPlugins: [
|
taskPlugins: [
|
||||||
'advlist autolink lists link image charmap print preview hr anchor pagebreak imagetools',
|
'advlist autolink lists link image charmap print preview hr anchor pagebreak imagetools',
|
||||||
'searchreplace visualblocks visualchars code',
|
'searchreplace visualblocks visualchars code',
|
||||||
@ -1099,7 +1105,7 @@ export default {
|
|||||||
this.$store.dispatch("getDialogOne", data.dialog_id);
|
this.$store.dispatch("getDialogOne", data.dialog_id);
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
if (this.$store.state.windowMax768) {
|
if (this.$store.state.windowMax768) {
|
||||||
this.goForward({path: '/manage/messenger', query: {msg: this.msgText}});
|
this.goForward({path: '/manage/messenger', query: {sendmsg: this.msgText}});
|
||||||
this.$store.state.method.setStorage("messenger::dialogId", data.dialog_id)
|
this.$store.state.method.setStorage("messenger::dialogId", data.dialog_id)
|
||||||
this.$store.state.dialogOpenId = data.dialog_id;
|
this.$store.state.dialogOpenId = data.dialog_id;
|
||||||
this.$store.dispatch('openTask', 0);
|
this.$store.dispatch('openTask', 0);
|
||||||
@ -1113,6 +1119,32 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
openSend() {
|
||||||
|
if (this.sendLoad) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.sendLoad = true;
|
||||||
|
this.$store.dispatch("call", {
|
||||||
|
url: 'project/task/dialog',
|
||||||
|
data: {
|
||||||
|
task_id: this.taskDetail.id,
|
||||||
|
},
|
||||||
|
}).then(({data}) => {
|
||||||
|
this.sendLoad = false;
|
||||||
|
this.$store.dispatch("saveTask", data);
|
||||||
|
this.$store.dispatch("getDialogOne", data.dialog_id);
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.goForward({path: '/manage/messenger', query: {sendmsg: this.msgText}});
|
||||||
|
this.$store.state.method.setStorage("messenger::dialogId", data.dialog_id)
|
||||||
|
this.$store.state.dialogOpenId = data.dialog_id;
|
||||||
|
this.$store.dispatch('openTask', 0);
|
||||||
|
});
|
||||||
|
}).catch(({msg}) => {
|
||||||
|
this.sendLoad = false;
|
||||||
|
$A.modalError(msg);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
deleteFile(file) {
|
deleteFile(file) {
|
||||||
this.$set(file, '_deling', false);
|
this.$set(file, '_deling', false);
|
||||||
this.$store.dispatch("forgetTaskFile", file.id)
|
this.$store.dispatch("forgetTaskFile", file.id)
|
||||||
|
@ -35,12 +35,20 @@
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-left: 18px;
|
margin-left: 18px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
width: 0;
|
||||||
|
height: 40px;
|
||||||
|
overflow: auto;
|
||||||
> p {
|
> p {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
|
> span {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap
|
||||||
|
}
|
||||||
&:after {
|
&:after {
|
||||||
content: "/";
|
content: "/";
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
@ -401,6 +409,8 @@
|
|||||||
margin-left: 36px;
|
margin-left: 36px;
|
||||||
}
|
}
|
||||||
.no-input {
|
.no-input {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
margin: 32px 0 0 36px;
|
margin: 32px 0 0 36px;
|
||||||
background-color: #F4F5F7;
|
background-color: #F4F5F7;
|
||||||
padding: 10px 12px;
|
padding: 10px 12px;
|
||||||
@ -413,6 +423,9 @@
|
|||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.no-send {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.project-log {
|
.project-log {
|
||||||
@ -570,3 +583,31 @@
|
|||||||
transform: scale(0.9);
|
transform: scale(0.9);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.task-detail {
|
||||||
|
.task-dialog {
|
||||||
|
.no-dialog {
|
||||||
|
.no-input {
|
||||||
|
position: relative;
|
||||||
|
padding-right: 52px;
|
||||||
|
.no-send {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
font-size: 18px;
|
||||||
|
width: 46px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.common-loading {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -20,6 +20,9 @@
|
|||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.page-project {
|
.page-project {
|
||||||
|
.project-list {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
.project-dialog {
|
.project-dialog {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user