no message
This commit is contained in:
parent
7b91a53a71
commit
3355aa0bbf
@ -331,8 +331,10 @@ class UsersController extends AbstractController
|
||||
* @apiGroup users
|
||||
* @apiName searchinfo
|
||||
*
|
||||
* @apiParam {Object} where 搜索条件
|
||||
* - where.key 昵称、邮箱、用户名
|
||||
* @apiParam {Object} keys 搜索条件
|
||||
* - keys.key // 昵称、邮箱、用户名
|
||||
* - keys.project_id // 在指定项目ID
|
||||
* - keys.no_project_id // 不在指定项目ID
|
||||
* @apiParam {Number} [take] 获取数量,10-100
|
||||
*
|
||||
* @apiSuccess {Number} ret 返回状态码(1正确、0错误)
|
||||
@ -343,7 +345,7 @@ class UsersController extends AbstractController
|
||||
{
|
||||
$builder = User::select(['userid', 'email', 'nickname', 'profession', 'userimg', 'az']);
|
||||
//
|
||||
$keys = Request::input('where');
|
||||
$keys = Request::input('keys');
|
||||
if (is_array($keys)) {
|
||||
if ($keys['key']) {
|
||||
$builder->where(function($query) use ($keys) {
|
||||
@ -351,6 +353,16 @@ class UsersController extends AbstractController
|
||||
->orWhere('nickname', 'like', '%,' . $keys['key'] . ',%');
|
||||
});
|
||||
}
|
||||
if (intval($keys['project_id']) > 0) {
|
||||
$builder->whereIn('userid', function ($query) use ($keys) {
|
||||
$query->select('userid')->from('project_users')->where('project_id', $keys['project_id']);
|
||||
});
|
||||
}
|
||||
if (intval($keys['no_project_id']) > 0) {
|
||||
$builder->whereNotIn('userid', function ($query) use ($keys) {
|
||||
$query->select('userid')->from('project_users')->where('project_id', $keys['no_project_id']);
|
||||
});
|
||||
}
|
||||
}
|
||||
//
|
||||
$list = $builder->orderBy('userid')->take(Base::getPaginate(100, 10, 'take'))->get();
|
||||
|
@ -232,6 +232,20 @@ class Project extends AbstractModel
|
||||
return $this->projectUser->pluck('userid')->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员id是否在项目里
|
||||
* @param int $userid
|
||||
* @return int 0:不存在、1存在、2存在且是管理员
|
||||
*/
|
||||
public function useridInTheProject($userid)
|
||||
{
|
||||
$user = ProjectUser::whereProjectId($this->id)->whereUserid(intval($userid))->first();
|
||||
if (empty($user)) {
|
||||
return 0;
|
||||
}
|
||||
return $user->owner ? 2 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除项目
|
||||
* @return bool
|
||||
|
@ -354,8 +354,9 @@ class ProjectTask extends AbstractModel
|
||||
// 负责人
|
||||
if (Arr::exists($data, 'owner')) {
|
||||
$row = ProjectTaskUser::whereTaskId($this->id)->whereOwner(1)->first();
|
||||
if ($row->userid != $data['owner']) {
|
||||
if (!User::find(intval($data['owner']))) {
|
||||
$owner = intval($data['owner']);
|
||||
if ($row->userid != $owner) {
|
||||
if (empty($this->useridInTheProject($owner))) {
|
||||
return Base::retError('请选择正确的负责人');
|
||||
}
|
||||
$row->owner = 0;
|
||||
@ -363,7 +364,7 @@ class ProjectTask extends AbstractModel
|
||||
ProjectTaskUser::updateInsert([
|
||||
'project_id' => $this->parent_id,
|
||||
'task_id' => $this->id,
|
||||
'userid' => $data['owner'],
|
||||
'userid' => $owner,
|
||||
], [
|
||||
'owner' => 1,
|
||||
]);
|
||||
@ -391,9 +392,8 @@ class ProjectTask extends AbstractModel
|
||||
$assist = is_array($data['assist']) ? $data['assist'] : [$data['assist']];
|
||||
foreach ($assist as $uid) {
|
||||
if (intval($uid) == 0) continue;
|
||||
if (ProjectTaskUser::whereTaskId($this->id)->whereUserid($uid)->whereOwner(1)->exists()) continue;
|
||||
//
|
||||
if (!ProjectTaskUser::whereTaskId($this->id)->whereUserid($uid)->where('owner', '!=', 1)->exists()) {
|
||||
if (empty($this->useridInTheTask($uid))) {
|
||||
ProjectTaskUser::createInstance([
|
||||
'project_id' => $this->parent_id,
|
||||
'task_id' => $this->id,
|
||||
@ -479,6 +479,34 @@ class ProjectTask extends AbstractModel
|
||||
return array_values(array_filter(array_unique($userids)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员id是否在项目里
|
||||
* @param int $userid
|
||||
* @return int 0:不存在、1存在、2存在且是管理员
|
||||
*/
|
||||
public function useridInTheProject($userid)
|
||||
{
|
||||
$user = ProjectUser::whereProjectId($this->project_id)->whereUserid(intval($userid))->first();
|
||||
if (empty($user)) {
|
||||
return 0;
|
||||
}
|
||||
return $user->owner ? 2 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员id是否在任务里
|
||||
* @param int $userid
|
||||
* @return int 0:不存在、1存在、2存在且是管理员
|
||||
*/
|
||||
public function useridInTheTask($userid)
|
||||
{
|
||||
$user = ProjectTaskUser::whereTaskId($this->id)->whereUserid(intval($userid))->first();
|
||||
if (empty($user)) {
|
||||
return 0;
|
||||
}
|
||||
return $user->owner ? 2 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 标记已完成、未完成
|
||||
* @param Carbon|null $complete_at 完成时间
|
||||
|
@ -71,6 +71,14 @@
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
projectId: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
noProjectId: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -158,7 +166,9 @@
|
||||
url: 'users/search',
|
||||
data: {
|
||||
keys: {
|
||||
key: query || ''
|
||||
key: query || '',
|
||||
project_id: this.projectId,
|
||||
no_project_id: this.noProjectId,
|
||||
},
|
||||
take: 30
|
||||
},
|
||||
|
@ -19,7 +19,7 @@
|
||||
<Icon type="md-add" />
|
||||
</li>
|
||||
<li :class="['project-icon', searchText!='' ? 'active' : '']">
|
||||
<ETooltip :value="searchText!=''" :manual="searchText!=''" transfer>
|
||||
<ETooltip :value="searchText!=''" :manual="searchText!=''" effect="light" transfer>
|
||||
<Icon type="ios-search" />
|
||||
<div slot="content">
|
||||
<Input v-model="searchText" :placeholder="$L('名称、描述...')" clearable autofocus/>
|
||||
|
@ -77,6 +77,7 @@
|
||||
v-if="ownerShow"
|
||||
v-model="ownerData.owner_userid"
|
||||
:multiple-max="1"
|
||||
:project-id="taskDetail.project_id"
|
||||
:placeholder="$L('选择任务负责人')"/>
|
||||
<div class="task-detail-avatar-buttons">
|
||||
<Button size="small" type="primary" @click="$refs.owner.ok()">{{$L('确定')}}</Button>
|
||||
@ -192,6 +193,7 @@
|
||||
v-if="ownerShow"
|
||||
v-model="ownerData.owner_userid"
|
||||
:multiple-max="1"
|
||||
:project-id="taskDetail.project_id"
|
||||
:placeholder="$L('选择任务负责人')"/>
|
||||
<div class="task-detail-avatar-buttons">
|
||||
<Button size="small" type="primary" @click="$refs.owner.ok()">{{$L('确定')}}</Button>
|
||||
@ -222,6 +224,7 @@
|
||||
v-if="assistShow"
|
||||
v-model="assistData.assist_userid"
|
||||
:multiple-max="10"
|
||||
:project-id="taskDetail.project_id"
|
||||
:disabled-choice="assistData.disabled"
|
||||
:placeholder="$L('选择任务协助人员')"/>
|
||||
<div class="task-detail-avatar-buttons">
|
||||
@ -597,6 +600,8 @@ export default {
|
||||
this.timeForce = false;
|
||||
this.assistForce = false;
|
||||
this.addsubForce = false;
|
||||
this.$refs.owner.handleClose();
|
||||
this.$refs.assist.handleClose();
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -990,6 +995,7 @@ export default {
|
||||
dialog_id: data.dialog_id
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch("getDialogMsgList", data.dialog_id);
|
||||
this.$refs.dialog.sendMsg(this.msgText);
|
||||
this.msgText = "";
|
||||
});
|
||||
|
9
resources/assets/sass/element.scss
vendored
9
resources/assets/sass/element.scss
vendored
@ -13,6 +13,15 @@ $--tooltip-font-size: 14px;
|
||||
min-width: 100px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.el-dropdown-menu__item--divided:before {
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
.el-tooltip__popper.is-light[x-placement^="bottom"] {
|
||||
border-width: 0;
|
||||
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
|
||||
.popper__arrow {
|
||||
border-bottom-color: hsla(0, 0%, 85%, .5);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user