mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-11 18:42:54 +00:00
no message
This commit is contained in:
parent
7bae1d9537
commit
cd0fcb903f
@ -1543,6 +1543,16 @@ class SystemController extends AbstractController
|
|||||||
return !str_starts_with($item, 'office/{path}/');
|
return !str_starts_with($item, 'office/{path}/');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// 添加OKR资源
|
||||||
|
$okrContent = @file_get_contents("http://nginx/apps/okr/");
|
||||||
|
preg_match_all('/<script[^>]*src=["\']([^"\']+)["\'][^>]*>/i', $okrContent, $scriptMatches);
|
||||||
|
foreach ($scriptMatches[1] as $src) {
|
||||||
|
$array[] = $src;
|
||||||
|
}
|
||||||
|
preg_match_all('/<link[^>]*rel=["\']stylesheet["\'][^>]*href=["\']([^"\']+)["\'][^>]*>/i', $okrContent, $linkMatches);
|
||||||
|
foreach ($linkMatches[1] as $href) {
|
||||||
|
$array[] = $href;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return array_map(function($item) use ($version) {
|
return array_map(function($item) use ($version) {
|
||||||
|
|||||||
1
public/tools/map/style.css
vendored
1
public/tools/map/style.css
vendored
@ -118,6 +118,7 @@ body {
|
|||||||
top: 0;
|
top: 0;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
#poi-list {
|
#poi-list {
|
||||||
|
|||||||
@ -60,7 +60,13 @@
|
|||||||
<Icon v-else type="ios-search" />
|
<Icon v-else type="ios-search" />
|
||||||
</div>
|
</div>
|
||||||
<Form class="search-form" action="javascript:void(0)" @submit.native.prevent="$A.eeuiAppKeyboardHide">
|
<Form class="search-form" action="javascript:void(0)" @submit.native.prevent="$A.eeuiAppKeyboardHide">
|
||||||
<Input type="search" v-model="searchKey" :placeholder="localPlaceholder" clearable/>
|
<Input
|
||||||
|
type="search"
|
||||||
|
v-model="searchKey"
|
||||||
|
:placeholder="localPlaceholder"
|
||||||
|
@on-keydown="onKeydown"
|
||||||
|
@on-keyup="onKeyup"
|
||||||
|
clearable/>
|
||||||
</Form>
|
</Form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -284,9 +290,10 @@ export default {
|
|||||||
],
|
],
|
||||||
switchActive: 'recent',
|
switchActive: 'recent',
|
||||||
|
|
||||||
loadIng: 0, // 搜索框等待效果
|
loadIng: 0, // 搜索框等待效果
|
||||||
waitIng: 0, // 页面等待效果
|
waitIng: 0, // 页面等待效果
|
||||||
submittIng: 0, // 提交按钮等待效果
|
submittIng: 0, // 提交按钮等待效果
|
||||||
|
backspaceDelete: false, // 是否按删除键删除
|
||||||
|
|
||||||
values: [],
|
values: [],
|
||||||
selects: [],
|
selects: [],
|
||||||
@ -725,7 +732,7 @@ export default {
|
|||||||
this.selects.push(userid)
|
this.selects.push(userid)
|
||||||
// 滚动到选中的位置
|
// 滚动到选中的位置
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
$A.scrollIntoViewIfNeeded(this.$refs.selected.querySelector(`li[data-id="${userid}"]`))
|
$A.scrollIntoViewIfNeeded(this.$refs.selected.querySelector(`li[data-id="${userid}"]`), true)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -807,6 +814,24 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onKeydown(event) {
|
||||||
|
// 按下删除键时,判断是否符合删除条件
|
||||||
|
this.backspaceDelete = event.key === 'Backspace' && !this.searchKey && this.selects.length > 0;
|
||||||
|
},
|
||||||
|
|
||||||
|
onKeyup(event) {
|
||||||
|
if (event.key === 'Backspace' && this.backspaceDelete) {
|
||||||
|
// 从最后一个元素开始向前遍历,找到第一个不是不可取消的元素
|
||||||
|
for (let i = this.selects.length - 1; i >= 0; i--) {
|
||||||
|
const userid = this.selects[i];
|
||||||
|
if (!this.isUncancelable(userid)) {
|
||||||
|
this.onRemoveItem(userid);
|
||||||
|
break; // 找到并移除后立即退出循环
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
show() {
|
show() {
|
||||||
this.onSelection()
|
this.onSelection()
|
||||||
},
|
},
|
||||||
|
|||||||
20
resources/assets/js/functions/common.js
vendored
20
resources/assets/js/functions/common.js
vendored
@ -662,13 +662,13 @@ const timezone = require("dayjs/plugin/timezone");
|
|||||||
if (url) {
|
if (url) {
|
||||||
url = this.removeURLParameter(url, Object.keys(params))
|
url = this.removeURLParameter(url, Object.keys(params))
|
||||||
}
|
}
|
||||||
url+= "";
|
url += "";
|
||||||
url+= url.indexOf("?") === -1 ? '?' : '';
|
url += url.indexOf("?") === -1 ? '?' : '';
|
||||||
for (let key in params) {
|
for (let key in params) {
|
||||||
if (!params.hasOwnProperty(key)) {
|
if (!params.hasOwnProperty(key)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
url+= '&' + key + '=' + params[key];
|
url += '&' + key + '=' + encodeURIComponent(params[key]);
|
||||||
}
|
}
|
||||||
return this.rightDelete(url.replace("?&", "?"), '?');
|
return this.rightDelete(url.replace("?&", "?"), '?');
|
||||||
}
|
}
|
||||||
@ -1133,15 +1133,23 @@ const timezone = require("dayjs/plugin/timezone");
|
|||||||
/**
|
/**
|
||||||
* 按需滚动到View
|
* 按需滚动到View
|
||||||
* @param element
|
* @param element
|
||||||
|
* @param smooth
|
||||||
*/
|
*/
|
||||||
scrollIntoViewIfNeeded(element) {
|
scrollIntoViewIfNeeded(element = null, smooth = false) {
|
||||||
if (!element) {
|
if (!element) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (typeof element.scrollIntoViewIfNeeded === "function") {
|
if (!smooth && typeof element.scrollIntoViewIfNeeded === "function") {
|
||||||
element.scrollIntoViewIfNeeded()
|
element.scrollIntoViewIfNeeded()
|
||||||
} else {
|
} else {
|
||||||
$A.scrollToView(element, {block: "nearest", inline: "nearest"})
|
const options = {
|
||||||
|
block: "nearest",
|
||||||
|
inline: "nearest"
|
||||||
|
}
|
||||||
|
if (smooth) {
|
||||||
|
options.behavior = 'smooth'
|
||||||
|
}
|
||||||
|
$A.scrollToView(element, options)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
<source :src="msg.path" type="video/mp4">
|
<source :src="msg.path" type="video/mp4">
|
||||||
</video>
|
</video>
|
||||||
<div class="file-play">
|
<div class="file-play">
|
||||||
<div class="play-icon">
|
<div class="play-icon no-dark-content">
|
||||||
<i class="taskfont"></i>
|
<i class="taskfont"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -405,8 +405,8 @@ export default {
|
|||||||
.replace(/^\//, '');
|
.replace(/^\//, '');
|
||||||
const meetingPath = $A.urlAddParams("/" + meetingLink, {
|
const meetingPath = $A.urlAddParams("/" + meetingLink, {
|
||||||
type: 'direct',
|
type: 'direct',
|
||||||
nickname: encodeURIComponent(data.nickname),
|
nickname: data.nickname,
|
||||||
avatar: encodeURIComponent(data.userimg),
|
avatar: data.userimg,
|
||||||
audio: this.addData.tracks.includes("audio") ? 1 : 0,
|
audio: this.addData.tracks.includes("audio") ? 1 : 0,
|
||||||
video: this.addData.tracks.includes("video") ? 1 : 0,
|
video: this.addData.tracks.includes("video") ? 1 : 0,
|
||||||
token: this.userToken,
|
token: this.userToken,
|
||||||
|
|||||||
10
resources/assets/js/store/actions.js
vendored
10
resources/assets/js/store/actions.js
vendored
@ -1247,11 +1247,11 @@ export default {
|
|||||||
const title = $A.L("定位签到")
|
const title = $A.L("定位签到")
|
||||||
const channel = $A.randomString(6)
|
const channel = $A.randomString(6)
|
||||||
const params = {
|
const params = {
|
||||||
title: encodeURIComponent(title),
|
title,
|
||||||
label: encodeURIComponent($A.L("选择附近地点")),
|
label: $A.L("选择附近地点"),
|
||||||
placeholder: encodeURIComponent($A.L("搜索地点")),
|
placeholder: $A.L("搜索地点"),
|
||||||
noresult: encodeURIComponent($A.L("附近没有找到地点")),
|
noresult: $A.L("附近没有找到地点"),
|
||||||
errtip: encodeURIComponent($A.L("定位失败")),
|
errtip: $A.L("定位失败"),
|
||||||
selectclose: "true",
|
selectclose: "true",
|
||||||
channel,
|
channel,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -118,6 +118,7 @@ body {
|
|||||||
top: 0;
|
top: 0;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
#poi-list {
|
#poi-list {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user