Merge commit 'ada88a1c02740846547eb2c3eaf37639006b3b57' into pro

This commit is contained in:
kuaifan 2024-01-03 19:34:27 +08:00
commit ecdabc668d
115 changed files with 1216 additions and 529 deletions

View File

@ -28,6 +28,7 @@ use Hhxsv5\LaravelS\Swoole\Task\Task;
class ApproveController extends AbstractController
{
private $flow_url = '';
public function __construct()
{
$this->flow_url = env('FLOW_URL') ?: 'http://approve';
@ -72,7 +73,7 @@ class ApproveController extends AbstractController
{
User::auth();
$data['name'] = Request::input('name');
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/procdef/findAll', json_encode($data));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/procdef/findAll', json_encode($data));
$procdef = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$procdef || $procdef['status'] != 200 || $ret['ret'] == 0) {
// info($ret);
@ -99,7 +100,7 @@ class ApproveController extends AbstractController
{
User::auth('admin');
$data['id'] = Request::input('id');
$ret = Ihttp::ihttp_get($this->flow_url.'/api/v1/workflow/procdef/delById?'.http_build_query($data));
$ret = Ihttp::ihttp_get($this->flow_url . '/api/v1/workflow/procdef/delById?' . http_build_query($data));
$procdef = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$procdef || $procdef['status'] != 200) {
return Base::retError($procdef['message'] ?? '删除失败');
@ -132,7 +133,7 @@ class ApproveController extends AbstractController
//
$var = json_decode(Request::input('var'), true);
$data['var'] = $var;
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/process/start', json_encode(Base::arrayKeyToCamel($data)));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/process/start', json_encode(Base::arrayKeyToCamel($data)));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '启动失败');
@ -194,7 +195,7 @@ class ApproveController extends AbstractController
$processInst = $this->getProcessById($data['proc_inst_id']);
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/process/addGlobalComment', json_encode(Base::arrayKeyToCamel($data)));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/process/addGlobalComment', json_encode(Base::arrayKeyToCamel($data)));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '添加失败');
@ -202,11 +203,11 @@ class ApproveController extends AbstractController
// 推送通知
$botUser = User::botGetOrCreate('approval-alert');
foreach ( $processInst['userids'] as $id) {
if($id != $user->userid){
foreach ($processInst['userids'] as $id) {
if ($id != $user->userid) {
$dialog = WebSocketDialog::checkUserDialog($botUser, $id);
$processInst['comment_user_id'] = $user->userid;
$processInst['comment_content'] = json_decode($data['content'],true)['content'];
$processInst['comment_content'] = json_decode($data['content'], true)['content'];
$this->approveMsg('approve_comment_notifier', $dialog, $botUser, $processInst, $processInst);
}
}
@ -238,7 +239,7 @@ class ApproveController extends AbstractController
$data['task_id'] = intval(Request::input('task_id'));
$data['pass'] = Request::input('pass');
$data['comment'] = Request::input('comment');
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/task/complete', json_encode(Base::arrayKeyToCamel($data)));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/task/complete', json_encode(Base::arrayKeyToCamel($data)));
$task = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$task || $task['status'] != 200) {
return Base::retError($task['message'] ?? '审批失败');
@ -261,12 +262,12 @@ class ApproveController extends AbstractController
$this->approveMsg('approve_reviewer', $dialog, $botUser, $val, $process, $pass);
}
// 发起人
if($process['is_finished'] == true) {
if ($process['is_finished'] == true) {
$dialog = WebSocketDialog::checkUserDialog($botUser, $process['start_user_id']);
if (!empty($dialog)) {
$this->approveMsg('approve_submitter', $dialog, $botUser, ['userid' => $data['userid']], $process, $pass);
}
}else if ($process['candidate']) {
} else if ($process['candidate']) {
// 下个审批人
$userid = explode(',', $process['candidate']);
$toUser = User::whereIn('userid', $userid)->get()->toArray();
@ -278,7 +279,7 @@ class ApproveController extends AbstractController
if (empty($dialog)) {
continue;
}
$this->approveMsg('approve_reviewer', $dialog, $botUser, $val, $process,'start');
$this->approveMsg('approve_reviewer', $dialog, $botUser, $val, $process, 'start');
}
}
@ -292,7 +293,7 @@ class ApproveController extends AbstractController
}
}
}
return Base::retSuccess( $pass == 'pass' ? '已通过' : '已拒绝', $task);
return Base::retSuccess($pass == 'pass' ? '已通过' : '已拒绝', $task);
}
/**
@ -316,7 +317,7 @@ class ApproveController extends AbstractController
$data['userid'] = (string)$user->userid;
$data['task_id'] = intval(Request::input('task_id'));
$data['proc_inst_id'] = intval(Request::input('proc_inst_id'));
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/task/withdraw', json_encode(Base::arrayKeyToCamel($data)));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/task/withdraw', json_encode(Base::arrayKeyToCamel($data)));
$task = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$task || $task['status'] != 200) {
return Base::retError($task['message'] ?? '撤回失败');
@ -366,7 +367,7 @@ class ApproveController extends AbstractController
$data['sort'] = Request::input('sort');
$data['pageIndex'] = intval(Request::input('page'));
$data['pageSize'] = intval(Request::input('page_size'));
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/process/findTask', json_encode(Base::arrayKeyToCamel($data)));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/process/findTask', json_encode(Base::arrayKeyToCamel($data)));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
@ -380,7 +381,7 @@ class ApproveController extends AbstractController
}
$val['userimg'] = User::getAvatar($info->userid, $info->userimg, $info->email, $info->nickname);
}
return Base::retSuccess('success',$res);
return Base::retSuccess('success', $res);
}
/**
@ -409,7 +410,7 @@ class ApproveController extends AbstractController
$data['state'] = intval(Request::input('state')); //状态
$data['pageIndex'] = intval(Request::input('page'));
$data['pageSize'] = intval(Request::input('page_size'));
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/process/startByMyselfAll', json_encode($data));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/process/startByMyselfAll', json_encode($data));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
@ -447,7 +448,7 @@ class ApproveController extends AbstractController
$data['userid'] = (string)$user->userid;
$data['pageIndex'] = intval(Request::input('page'));
$data['pageSize'] = intval(Request::input('page_size'));
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/process/startByMyself', json_encode($data));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/process/startByMyself', json_encode($data));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
@ -491,7 +492,7 @@ class ApproveController extends AbstractController
$data['pageIndex'] = intval(Request::input('page'));
$data['pageSize'] = intval(Request::input('page_size'));
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/process/findProcNotify', json_encode($data));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/process/findProcNotify', json_encode($data));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
@ -526,7 +527,7 @@ class ApproveController extends AbstractController
{
User::auth();
$proc_inst_id = Request::input('proc_inst_id');
$ret = Ihttp::ihttp_get($this->flow_url.'/api/v1/workflow/identitylink/findParticipant?procInstId=' . $proc_inst_id);
$ret = Ihttp::ihttp_get($this->flow_url . '/api/v1/workflow/identitylink/findParticipant?procInstId=' . $proc_inst_id);
$identitylink = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$identitylink || $identitylink['status'] != 200) {
return Base::retError($identitylink['message'] ?? '查询失败');
@ -569,7 +570,7 @@ class ApproveController extends AbstractController
$data['sort'] = Request::input('sort');
$data['pageIndex'] = intval(Request::input('page'));
$data['pageSize'] = intval(Request::input('page_size'));
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/procHistory/findTask', json_encode(Base::arrayKeyToCamel($data)));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/procHistory/findTask', json_encode(Base::arrayKeyToCamel($data)));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
@ -607,7 +608,7 @@ class ApproveController extends AbstractController
$data['userid'] = (string)$user->userid;
$data['pageIndex'] = intval(Request::input('page'));
$data['pageSize'] = intval(Request::input('page_size'));
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/procHistory/startByMyself', json_encode($data));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/procHistory/startByMyself', json_encode($data));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
@ -651,7 +652,7 @@ class ApproveController extends AbstractController
$data['pageIndex'] = intval(Request::input('page'));
$data['pageSize'] = intval(Request::input('page_size'));
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/procHistory/findProcNotify', json_encode($data));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/procHistory/findProcNotify', json_encode($data));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
@ -686,7 +687,7 @@ class ApproveController extends AbstractController
{
User::auth();
$proc_inst_id = Request::input('proc_inst_id');
$ret = Ihttp::ihttp_get($this->flow_url.'/api/v1/workflow/identitylinkHistory/findParticipant?procInstId=' . $proc_inst_id);
$ret = Ihttp::ihttp_get($this->flow_url . '/api/v1/workflow/identitylinkHistory/findParticipant?procInstId=' . $proc_inst_id);
$identitylink = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$identitylink || $identitylink['status'] != 200) {
return Base::retError($identitylink['message'] ?? '查询失败');
@ -750,7 +751,7 @@ class ApproveController extends AbstractController
$data['isFinished'] = intval(Request::input('is_finished')); //是否完成
$date = Request::input('date');
$data['startTime'] = $date[0]; //开始时间
$data['endTime'] =Carbon::parse($date[1])->addDay()->toDateString(); //结束时间 + 1天
$data['endTime'] = Carbon::parse($date[1])->addDay()->toDateString(); //结束时间 + 1天
//
if (empty($name) || empty($date)) {
return Base::retError('参数错误');
@ -762,7 +763,7 @@ class ApproveController extends AbstractController
return Base::retError('日期范围限制最大35天');
}
//
$ret = Ihttp::ihttp_post($this->flow_url.'/api/v1/workflow/process/findAllProcIns', json_encode($data));
$ret = Ihttp::ihttp_post($this->flow_url . '/api/v1/workflow/process/findAllProcIns', json_encode($data));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
@ -889,7 +890,8 @@ class ApproveController extends AbstractController
}
}
function getStateDescription($state) {
function getStateDescription($state)
{
$state_map = array(
0 => '全部',
1 => '审批中',
@ -951,13 +953,13 @@ class ApproveController extends AbstractController
}
// 审批记录
$name = $val['username'] . '|';
$call = $val['step'] == 0 ? '发起审批'. '|' : '同意' . '|';
$time =$val['step'] == 0 ? $process['start_time'] . '|' : '';
$call = $val['step'] == 0 ? '发起审批' . '|' : '同意' . '|';
$time = $val['step'] == 0 ? $process['start_time'] . '|' : '';
$comment = $val['step'] == 0 ? '' : ($val['comment'] ?? '') . '|';
$res['approval_record'] .= $name . $call . $time . $comment;
}
}
$res['historical_approver'] = trim(implode(';', $historical_approver), ';');
$res['historical_approver'] = trim(implode(';', $historical_approver), ';');
$res['approved_node'] = $approved_node;
$res['approved_num'] = $approved_num;
$res['historical_agent'] = $res['historical_approver'];
@ -976,9 +978,9 @@ class ApproveController extends AbstractController
'department' => $process['department'],
'type' => $process['var']['type'],
'start_time' => $process['var']['start_time'],
'start_day_of_week' => '周'.Base::getTimeWeek(Carbon::parse($process['var']['start_time'])->timestamp),
'start_day_of_week' => '周' . Base::getTimeWeek(Carbon::parse($process['var']['start_time'])->timestamp),
'end_time' => $process['var']['end_time'],
'end_day_of_week' => '周'.Base::getTimeWeek(Carbon::parse($process['var']['end_time'])->timestamp),
'end_day_of_week' => '周' . Base::getTimeWeek(Carbon::parse($process['var']['end_time'])->timestamp),
'description' => $process['var']['description'],
'comment_nickname' => $process['comment_user_id'] ? User::userid2nickname($process['comment_user_id']) : '',
'comment_content' => $process['comment_content'] ?? ''
@ -989,11 +991,11 @@ class ApproveController extends AbstractController
$msg_action = null;
if ($action == 'withdraw' || $action == 'pass' || $action == 'refuse') {
// 任务完成,给发起人发送消息
if($type == 'approve_submitter' && $action != 'withdraw'){
if ($type == 'approve_submitter' && $action != 'withdraw') {
return WebSocketDialogMsg::sendMsg($msg_action, $dialog->id, 'text', ['text' => $text], $botUser->userid, false, false, true);
}
// 查找最后一条消息msg_id
$msg_action = 'update-'.$toUser['msg_id'];
$msg_action = 'update-' . $toUser['msg_id'];
}
//
try {
@ -1007,9 +1009,9 @@ class ApproveController extends AbstractController
$proc_msg->save();
}
// 更新工作报告 未读数量
if($type == 'approve_reviewer' && $toUser['userid']){
if ($type == 'approve_reviewer' && $toUser['userid']) {
$params = [
'userid' => [ $toUser['userid'], User::auth()->userid() ],
'userid' => [$toUser['userid'], User::auth()->userid()],
'msg' => [
'type' => 'approve',
'action' => 'unread',
@ -1028,7 +1030,7 @@ class ApproveController extends AbstractController
public function getProcessById($id)
{
$data['id'] = intval($id);
$ret = Ihttp::ihttp_get($this->flow_url."/api/v1/workflow/process/findById?".http_build_query($data));
$ret = Ihttp::ihttp_get($this->flow_url . "/api/v1/workflow/process/findById?" . http_build_query($data));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
throw new ApiException($process['message'] ?? '查询失败');
@ -1047,14 +1049,14 @@ class ApproveController extends AbstractController
$val['node_user_list'][$k]['userimg'] = User::getAvatar($info->userid, $info->userimg, $info->email, $info->nickname);
$res['userids'][] = $item['target_id'];
}
}else if($val['aprover_id']){
} else if ($val['aprover_id']) {
$info = User::whereUserid($val['aprover_id'])->first();
$val['userimg'] = $info ? User::getAvatar($info->userid, $info->userimg, $info->email, $info->nickname) : '';
$res['userids'][] = $val['aprover_id'];
}
}
// 全局评论
if(isset($res['global_comments'])){
if (isset($res['global_comments'])) {
foreach ($res['global_comments'] as $k => &$globalComment) {
$info = User::whereUserid($globalComment['user_id'])->first();
if (!$info) {
@ -1095,7 +1097,7 @@ class ApproveController extends AbstractController
public function getUserProcessParticipantById($id)
{
$data['procInstId'] = intval($id);
$ret = Ihttp::ihttp_get($this->flow_url."/api/v1/workflow/identitylink/findParticipantAll?".http_build_query($data));
$ret = Ihttp::ihttp_get($this->flow_url . "/api/v1/workflow/identitylink/findParticipantAll?" . http_build_query($data));
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
throw new ApiException($process['message'] ?? '查询失败');
@ -1120,7 +1122,7 @@ class ApproveController extends AbstractController
public function user__status()
{
$data['userid'] = intval(Request::input('userid'));
$ret = Ihttp::ihttp_get($this->flow_url.'/api/v1/workflow/process/getUserApprovalStatus?'.http_build_query($data));
$ret = Ihttp::ihttp_get($this->flow_url . '/api/v1/workflow/process/getUserApprovalStatus?' . http_build_query($data));
$procdef = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (isset($procdef['status']) && $procdef['status'] == 200) {
return Base::retSuccess('success', isset($procdef['data']["proc_def_name"]) ? $procdef['data']["proc_def_name"] : '');
@ -1128,5 +1130,27 @@ class ApproveController extends AbstractController
return Base::retSuccess('success', '');
}
/**
* @api {get} api/approve/process/doto 21. 查询需要我审批的流程数量
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
* @apiGroup approve
* @apiName process__doto
*
* @apiSuccess {Number} ret 返回状态码1正确、0错误
* @apiSuccess {String} msg 返回信息(错误描述)
* @apiSuccess {Object} data 返回数据
*/
public function process__doto()
{
$user = User::auth();
$ret = Ihttp::ihttp_get($this->flow_url . '/api/v1/workflow/process/findTaskTotal?userid=' . $user->userid);
$process = json_decode($ret['ret'] == 1 ? $ret['data'] : '{}', true);
if (!$process || $process['status'] != 200) {
return Base::retError($process['message'] ?? '查询失败');
}
return Base::retSuccess('success', $process['data']);
}
}

View File

@ -540,12 +540,13 @@ class DialogController extends AbstractController
if ($reDialog) {
$data['dialog'] = $dialog->formatData($user->userid, true);
$data['todo'] = $data['dialog']->todo_num > 0 ? WebSocketDialogMsgTodo::whereDialogId($dialog->id)->whereUserid($user->userid)->whereDoneAt(null)->orderByDesc('id')->take(50)->get() : [];
$data['top'] = $dialog->top_msg_id ? WebSocketDialogMsg::whereId($dialog->top_msg_id)->first() : null;
}
return Base::retSuccess('success', $data);
}
/**
* @api {get} api/dialog/msg/latest 11. 获取最新消息列表
* @api {get} api/dialog/msg/latest 12. 获取最新消息列表
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -586,7 +587,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/search 12. 搜索消息位置
* @api {get} api/dialog/msg/search 13. 搜索消息位置
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -623,7 +624,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/one 13. 获取单条消息
* @api {get} api/dialog/msg/one 14. 获取单条消息
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -652,7 +653,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/read 14. 已读聊天消息
* @api {get} api/dialog/msg/read 15. 已读聊天消息
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -703,7 +704,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/unread 15. 获取未读消息数据
* @api {get} api/dialog/msg/unread 16. 获取未读消息数据
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -744,7 +745,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/msg/stream 16. 通知成员监听消息
* @api {post} api/dialog/msg/stream 17. 通知成员监听消息
*
* @apiDescription 通知指定会员EventSource监听流动消息
* @apiVersion 1.0.0
@ -783,7 +784,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/msg/sendtext 17. 发送消息
* @api {post} api/dialog/msg/sendtext 18. 发送消息
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -895,7 +896,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/msg/sendrecord 18. 发送语音
* @api {post} api/dialog/msg/sendrecord 19. 发送语音
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -942,7 +943,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/msg/sendfile 19. 文件上传
* @api {post} api/dialog/msg/sendfile 20. 文件上传
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -973,7 +974,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/msg/sendfiles 20. 群发文件上传
* @api {post} api/dialog/msg/sendfiles 21. 群发文件上传
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1028,7 +1029,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/sendfileid 21. 通过文件ID发送文件
* @api {get} api/dialog/msg/sendfileid 22. 通过文件ID发送文件
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1098,7 +1099,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/msg/sendanon 22. 发送匿名消息
* @api {post} api/dialog/msg/sendanon 23. 发送匿名消息
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1151,7 +1152,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/readlist 23. 获取消息阅读情况
* @api {get} api/dialog/msg/readlist 24. 获取消息阅读情况
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1180,7 +1181,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/detail 24. 消息详情
* @api {get} api/dialog/msg/detail 25. 消息详情
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1228,7 +1229,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/download 25. 文件下载
* @api {get} api/dialog/msg/download 26. 文件下载
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1269,7 +1270,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/withdraw 26. 聊天消息撤回
* @api {get} api/dialog/msg/withdraw 27. 聊天消息撤回
*
* @apiDescription 消息撤回限制24小时内需要token身份
* @apiVersion 1.0.0
@ -1295,7 +1296,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/mark 27. 消息标记操作
* @api {get} api/dialog/msg/mark 28. 消息标记操作
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1362,7 +1363,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/silence 28. 消息免打扰
* @api {get} api/dialog/msg/silence 29. 消息免打扰
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1425,7 +1426,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/forward 29. 转发消息给
* @api {get} api/dialog/msg/forward 30. 转发消息给
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1466,7 +1467,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/emoji 30. emoji回复
* @api {get} api/dialog/msg/emoji 31. emoji回复
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1501,7 +1502,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/tag 31. 标注/取消标注
* @api {get} api/dialog/msg/tag 32. 标注/取消标注
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1530,7 +1531,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/todo 32. 设待办/取消待办
* @api {get} api/dialog/msg/todo 33. 设待办/取消待办
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1573,7 +1574,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/todolist 33. 获取消息待办情况
* @api {get} api/dialog/msg/todolist 34. 获取消息待办情况
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1603,7 +1604,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/done 34. 完成待办
* @api {get} api/dialog/msg/done 35. 完成待办
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1650,7 +1651,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/msg/color 35. 设置颜色
* @api {get} api/dialog/msg/color 36. 设置颜色
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1691,7 +1692,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/group/add 36. 新增群组
* @api {get} api/dialog/group/add 37. 新增群组
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1753,7 +1754,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/group/edit 37. 修改群组
* @api {get} api/dialog/group/edit 38. 修改群组
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -1815,7 +1816,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/group/adduser 38. 添加群成员
* @api {get} api/dialog/group/adduser 39. 添加群成员
*
* @apiDescription 需要token身份
* - 有群主时:只有群主可以邀请
@ -1851,7 +1852,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/group/deluser 39. 移出(退出)群成员
* @api {get} api/dialog/group/deluser 40. 移出(退出)群成员
*
* @apiDescription 需要token身份
* - 只有群主、邀请人可以踢人
@ -1895,7 +1896,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/group/transfer 40. 转让群组
* @api {get} api/dialog/group/transfer 41. 转让群组
*
* @apiDescription 需要token身份
* - 只有群主且是个人类型群可以解散
@ -1944,7 +1945,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/group/disband 41. 解散群组
* @api {get} api/dialog/group/disband 42. 解散群组
*
* @apiDescription 需要token身份
* - 只有群主且是个人类型群可以解散
@ -1972,7 +1973,7 @@ class DialogController extends AbstractController
}
/**
* @api {get} api/dialog/group/searchuser 42. 搜索个人群(仅限管理员)
* @api {get} api/dialog/group/searchuser 43. 搜索个人群(仅限管理员)
*
* @apiDescription 需要token身份用于创建部门搜索个人群组
* @apiVersion 1.0.0
@ -2001,7 +2002,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/okr/add 43. 创建OKR评论会话
* @api {post} api/dialog/okr/add 44. 创建OKR评论会话
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -2040,7 +2041,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/okr/push 44. 推送OKR相关信息
* @api {post} api/dialog/okr/push 45. 推送OKR相关信息
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -2076,7 +2077,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/msg/wordchain 45. 发送接龙消息
* @api {post} api/dialog/msg/wordchain 46. 发送接龙消息
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -2139,7 +2140,7 @@ class DialogController extends AbstractController
}
/**
* @api {post} api/dialog/msg/vote 46. 发起投票
* @api {post} api/dialog/msg/vote 47. 发起投票
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
@ -2249,4 +2250,89 @@ class DialogController extends AbstractController
return Base::retSuccess('发送成功', $result);
}
/**
* @api {get} api/dialog/msg/top 48. 置顶/取消置顶
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
* @apiGroup dialog
* @apiName msg__top
*
* @apiParam {Number} msg_id 消息ID
*
* @apiSuccess {Number} ret 返回状态码1正确、0错误
* @apiSuccess {String} msg 返回信息(错误描述)
* @apiSuccess {Object} data 返回数据
*/
public function msg__top()
{
$user = User::auth();
//
$msg_id = intval(Request::input("msg_id"));
//
$msg = WebSocketDialogMsg::whereId($msg_id)->first();
if (empty($msg)) {
return Base::retError("消息不存在或已被删除");
}
$dialog = WebSocketDialog::checkDialog($msg->dialog_id);
//
$before = $dialog->top_msg_id;
$beforeTopUserid = $dialog->top_userid;
$dialog->top_msg_id = $msg->id == $before ? 0 : $msg->id;
$dialog->top_userid = $dialog->top_msg_id ? $user->userid : 0;
$dialog->save();
//
$data = [
'update' => [
'dialog_id' => $dialog->id,
'top_msg_id' => $dialog->top_msg_id,
'top_userid' => $dialog->top_userid,
]
];
$res = $msg->sendMsg(null, $dialog->id, 'top', [
'action' => $dialog->top_msg_id ? 'add' : 'remove',
'data' => [
'id' => $msg->id,
'type' => $msg->type,
'msg' => $msg->quoteTextMsg()
]
], $user->userid);
if (Base::isSuccess($res)) {
$data['add'] = $res['data'];
$dialog->pushMsg('updateTopMsg', $data['update']);
} else {
$dialog->top_msg_id = $before;
$dialog->top_userid = $beforeTopUserid;
$dialog->save();
}
//
return Base::retSuccess($dialog->top_msg_id ? '置顶成功' : '取消成功', $data);
}
/**
* @api {get} api/dialog/msg/topinfo 49. 获取置顶消息
*
* @apiDescription 需要token身份
* @apiVersion 1.0.0
* @apiGroup dialog
* @apiName msg__topinfo
*
* @apiParam {Number} dialog_id 会话ID
*
* @apiSuccess {Number} ret 返回状态码1正确、0错误
* @apiSuccess {String} msg 返回信息(错误描述)
* @apiSuccess {Object} data 返回数据
*/
public function msg__topinfo()
{
User::auth();
//
$dialog_id = intval(Request::input('dialog_id'));
//
$dialog = WebSocketDialog::checkDialog($dialog_id);
//
$topMsg = WebSocketDialogMsg::whereId($dialog->top_msg_id)->first();
//
return Base::retSuccess('success', $topMsg);
}
}

View File

@ -32,10 +32,11 @@ use App\Models\ProjectTaskUser;
use App\Models\WebSocketDialog;
use App\Exceptions\ApiException;
use App\Models\ProjectPermission;
use App\Module\BillMultipleExport;
use App\Models\WebSocketDialogMsg;
use App\Module\BillMultipleExport;
use Illuminate\Support\Facades\DB;
use App\Models\ProjectTaskFlowChange;
use App\Models\ProjectTaskVisibilityUser;
/**
* @apiDefine project
@ -1032,15 +1033,20 @@ class ProjectController extends AbstractController
$query->where('project_users.owner', 1);
$query->where('project_users.userid', $userid);
});
$builder->leftJoin('project_task_users as project_p_task_users', function ($query) use($userid) {
$query->on('project_p_task_users.task_pid', '=', 'project_tasks.parent_id');
$query->where('project_p_task_users.userid', $userid);
$builder->leftJoin('project_task_users as project_sub_task_users', function ($query) use($userid) {
$query->on('project_sub_task_users.task_pid', '=', 'project_tasks.parent_id');
$query->where('project_sub_task_users.userid', $userid);
});
$builder->leftJoin('project_task_visibility_users', function ($query) use($userid) {
$query->on('project_task_visibility_users.task_id', '=', 'project_tasks.id');
$query->where('project_task_visibility_users.userid', $userid);
});
$builder->where(function ($query) use ($userid) {
$query->where("project_tasks.visibility", 1);
$query->orWhere("project_users.userid", $userid);
$query->orWhere("project_task_users.userid", $userid);
$query->orWhere("project_p_task_users.userid", $userid);
$query->orWhere("project_task_visibility_users.userid", $userid);
$query->orWhere("project_sub_task_users.userid", $userid);
});
// 优化子查询汇总
$builder->leftJoinSub(function ($query) {
@ -1352,6 +1358,7 @@ class ProjectController extends AbstractController
$base64 = base64_encode(Base::array2string([
'file' => $zipFile,
]));
$fileUrl = Base::fillUrl('api/project/task/down?key=' . urlencode($base64));
Session::put('task::export:userid', $user->userid);
$botUser = User::botGetOrCreate('system-msg');
if (empty($botUser)) {
@ -1364,7 +1371,7 @@ class ProjectController extends AbstractController
$text .= "\n";
$text .= "文件大小:".Base::twoFloat(filesize($zipPath) / 1024, true)."KB";
$text .= "\n";
$text .= "下载地址:".Base::fillUrl('api/project/task/down?key=' . urlencode($base64));
$text .= '<button class="ivu-btn" style="margin-top: 10px;"><a href="'.$fileUrl.'" target="_blank">立即下载</a></button>';
WebSocketDialogMsg::sendMsg(null, $dialog->id, 'text', ['text' => $text], $botUser->userid, false, false, true);
}
}
@ -1537,9 +1544,11 @@ class ProjectController extends AbstractController
// 项目可见性
$project_userid = ProjectUser::whereProjectId($task->project_id)->whereOwner(1)->value('userid'); // 项目负责人
if ($task->visibility != 1 && $user->userid != $project_userid) {
$visibleUserids = ProjectTaskUser::whereTaskId($task_id)->pluck('userid')->toArray(); // 是否任务负责人、协助人、可见人
$subVisibleUserids = ProjectTaskUser::whereTaskPid($task_id)->pluck('userid')->toArray(); // 是否子任务负责人、协助人
if (!in_array($user->userid, $visibleUserids) && !in_array($user->userid, $subVisibleUserids)) {
$taskUserids = ProjectTaskUser::whereTaskId($task_id)->pluck('userid')->toArray(); //任务负责人、协助人
$subTaskUserids = ProjectTaskUser::whereTaskPid($task_id)->pluck('userid')->toArray(); //子任务负责人、协助人
$visibleUserids = ProjectTaskVisibilityUser::whereTaskId($task_id)->pluck('userid')->toArray(); //可见人
$visibleUserids = array_merge($taskUserids, $subTaskUserids, $visibleUserids);
if (!in_array($user->userid, $visibleUserids)) {
return Base::retError('无任务权限');
}
}
@ -1547,7 +1556,7 @@ class ProjectController extends AbstractController
$data = $task->toArray();
$data['project_name'] = $task->project?->name;
$data['column_name'] = $task->projectColumn?->name;
$data['visibility_appointor'] = $task->visibility == 1 ? [0] : ProjectTaskUser::whereTaskId($task_id)->whereOwner(2)->pluck('userid');
$data['visibility_appointor'] = $task->visibility == 1 ? [0] : ProjectTaskVisibilityUser::whereTaskId($task_id)->pluck('userid');
return Base::retSuccess('success', $data);
}
@ -1909,15 +1918,16 @@ class ProjectController extends AbstractController
}
//
$taskUser = ProjectTaskUser::select(['userid', 'owner'])->whereTaskId($task_id)->get();
$owners = $taskUser->where('owner', 1)->pluck('userid')->toArray(); // 负责人
$assists = $taskUser->where('owner', 0)->pluck('userid')->toArray(); // 协助人
$owners = $taskUser->where('owner', 1)->pluck('userid')->toArray();
$assists = $taskUser->where('owner', 0)->pluck('userid')->toArray();
$visible = ProjectTaskVisibilityUser::whereTaskId($task->id)->pluck('userid')->toArray();
// 更新任务
$updateMarking = [];
$task->updateTask($param, $updateMarking);
//
$data = ProjectTask::oneTask($task->id)->toArray();
$data['update_marking'] = $updateMarking ?: json_decode('{}');
$data['visibility_appointor'] = $data['visibility'] == 1 ? [] : ProjectTaskUser::whereTaskId($task->id)->whereOwner(2)->pluck('userid');
$data['visibility_appointor'] = $data['visibility'] == 1 ? [] : ProjectTaskVisibilityUser::whereTaskId($task->id)->pluck('userid');
$task->pushMsg('update', $data);
// 可见性推送
if ($task->parent_id == 0) {
@ -1927,10 +1937,9 @@ class ProjectController extends AbstractController
$task->pushMsgVisibleAdd($data);
}
if ($param['visibility_appointor']) {
$oldVisibleUserIds = $taskUser->where('owner', 2)->pluck('userid')->toArray() ?? [];
$newVisibleUserIds = $param['visibility_appointor'] ?? [];
$deleteUserIds = array_diff($oldVisibleUserIds, $newVisibleUserIds, $subUserids);
$addUserIds = array_diff($newVisibleUserIds, $oldVisibleUserIds);
$deleteUserIds = array_diff($visible, $newVisibleUserIds, $subUserids);
$addUserIds = array_diff($newVisibleUserIds, $visible);
$task->pushMsgVisibleUpdate($data, $deleteUserIds, $addUserIds);
}
if ($data['visibility'] != 1 && empty($param['visibility_appointor'])) {

View File

@ -13,7 +13,6 @@ use App\Module\Doo;
use App\Tasks\PushTask;
use Carbon\Carbon;
use Hhxsv5\LaravelS\Swoole\Task\Task;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Validation\Rule;
use Request;

View File

@ -321,6 +321,10 @@ class IndexController extends InvokeController
$data = parse_url($key);
$path = Arr::get($data, 'path');
$file = public_path($path);
// 防止 ../ 穿越获取到系统文件
if (strpos(realpath($file), public_path()) !== 0) {
return abort(404);
}
//
if (file_exists($file)) {
parse_str($data['query'], $query);

View File

@ -8,7 +8,7 @@ use App\Module\Base;
* App\Models\FileLink
*
* @property int $id
* @property int|null $file_id 文件ID
* @property int|null $file_id 项目ID
* @property int|null $num 累计访问
* @property string|null $code 链接码
* @property int|null $userid 会员ID

View File

@ -24,7 +24,6 @@ use Request;
* @property int|null $dialog_id 聊天会话ID
* @property string|null $archived_at 归档时间
* @property int|null $archived_userid 归档会员
* @property int|null $is_fixed 是否固定
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at
@ -48,7 +47,6 @@ use Request;
* @method static \Illuminate\Database\Eloquent\Builder|Project whereDesc($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereDialogId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereIsFixed($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project wherePersonal($value)
* @method static \Illuminate\Database\Eloquent\Builder|Project whereUpdatedAt($value)

View File

@ -13,7 +13,7 @@ use App\Module\Base;
* @property string|null $name 名称
* @property string|null $status 状态
* @property array $turns 可流转
* @property array $userids 状态负责人ID
* @property array $userids 自动负责人ID
* @property string|null $usertype 流转模式
* @property int|null $userlimit 限制负责人
* @property int|null $columnid 对应的项目列表

View File

@ -10,7 +10,7 @@ use App\Module\Base;
* @property int $id
* @property int|null $project_id 项目ID
* @property int|null $column_id 列表ID
* @property int|null $task_id 任务ID
* @property int|null $task_id 项目ID
* @property int|null $userid 会员ID
* @property string|null $detail 详细信息
* @property array $record 记录数据

View File

@ -10,10 +10,9 @@ use App\Module\Base;
*
* @property int $id
* @property int|null $project_id 项目ID
* @property string|null $permissions 权限
* @property string $permissions 权限
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \App\Models\Project|null $project
* @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|ProjectPermission query()

View File

@ -2,15 +2,16 @@
namespace App\Models;
use App\Exceptions\ApiException;
use DB;
use Arr;
use Request;
use Carbon\Carbon;
use App\Module\Base;
use App\Tasks\PushTask;
use Arr;
use Carbon\Carbon;
use DB;
use App\Exceptions\ApiException;
use Hhxsv5\LaravelS\Swoole\Task\Task;
use App\Models\ProjectTaskVisibilityUser;
use Illuminate\Database\Eloquent\SoftDeletes;
use Request;
/**
* App\Models\ProjectTask
@ -33,7 +34,6 @@ use Request;
* @property string|null $complete_at 完成时间
* @property int|null $userid 创建人
* @property int|null $visibility 任务可见性1-项目人员 2-任务人员 3-指定成员
* @property int|null $is_default 是否默认任务
* @property int|null $p_level 优先级
* @property string|null $p_name 优先级名称
* @property string|null $p_color 优先级颜色
@ -82,7 +82,6 @@ use Request;
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereFlowItemId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereFlowItemName($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereIsDefault($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereLoop($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereLoopAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTask whereName($value)
@ -496,13 +495,12 @@ class ProjectTask extends AbstractModel
])->save();
}
// 可见性
foreach ($visibility_userids as $uid) {
ProjectTaskUser::createInstance([
ProjectTaskVisibilityUser::createInstance([
'project_id' => $task->project_id,
'task_id' => $task->id,
'task_pid' => $task->parent_id ?: $task->id,
'userid' => $uid,
'owner' => 2,
'userid' => $uid
])->save();
}
@ -729,16 +727,14 @@ class ProjectTask extends AbstractModel
ProjectTask::whereId($data['task_id'])->update(['visibility' => $data["visibility"]]);
ProjectTask::whereParentId($data['task_id'])->update(['visibility' => $data["visibility"]]);
}
ProjectTaskUser::whereTaskId($data['task_id'])->whereOwner(2)->delete();
ProjectTaskVisibilityUser::whereTaskId($data['task_id'])->delete();
if (Arr::exists($data, 'visibility_appointor')) {
foreach ($data['visibility_appointor'] as $uid) {
if ($uid) {
ProjectTaskUser::createInstance([
ProjectTaskVisibilityUser::createInstance([
'project_id' => $this->project_id,
'task_id' => $this->id,
'task_pid' => $this->parent_id ?: $this->id,
'userid' => $uid,
'owner' => 2,
'userid' => $uid
])->save();
}
}
@ -1521,7 +1517,10 @@ class ProjectTask extends AbstractModel
if ($pushUserIds) {
$userids = $pushUserIds;
} elseif ($this->visibility != 1) {
$userids = ProjectTaskUser::select(['userid', 'owner'])->whereTaskId($this->id)->orWhere('task_pid', '=', $this->id)->pluck('userid')->toArray();
$userids = ProjectTaskUser::whereTaskId($this->id)->orWhere('task_pid', '=', $this->id)->pluck('userid')->toArray();
if ($this->visibility == 3) {
$userids = array_merge($userids, ProjectTaskVisibilityUser::whereTaskId($this->id)->pluck('userid')->toArray());
}
} else {
$userids = ProjectUser::whereProjectId($this->project_id)->pluck('userid')->toArray(); // 项目成员
}

View File

@ -0,0 +1,37 @@
<?php
namespace App\Models;
/**
* App\Models\ProjectTaskVisibilityUser
*
* @property int $id
* @property int|null $project_id 项目ID
* @property int|null $task_id 任务ID
* @property int|null $userid 成员ID
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property-read \App\Models\ProjectTask|null $projectTask
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser query()
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser whereProjectId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser whereTaskId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|ProjectTaskVisibilityUser whereUserid($value)
* @mixin \Eloquent
*/
class ProjectTaskVisibilityUser extends AbstractModel
{
/**
* @return \Illuminate\Database\Eloquent\Relations\HasOne
*/
public function projectTask(): \Illuminate\Database\Eloquent\Relations\HasOne
{
return $this->hasOne(ProjectTask::class, 'id', 'task_id');
}
}

View File

@ -23,6 +23,7 @@ use Illuminate\Support\Facades\DB;
* @property string|null $last_at 最后消息时间
* @property int|null $owner_id 群主用户ID
* @property int|null $link_id 关联id
* @property int|null $top_msg_id 置顶的消息ID
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at
@ -41,6 +42,7 @@ use Illuminate\Support\Facades\DB;
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereLinkId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereOwnerId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereTopMsgId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereType($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialog withTrashed()

View File

@ -31,9 +31,13 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property int|null $modify 是否编辑
* @property int|null $reply_num 有多少条回复
* @property int|null $reply_id 回复ID
* @property int|null $forward_id 转发ID
* @property int|null $forward_num 被转发多少次
* @property int|null $forward_show 是否显示转发的来源
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property \Illuminate\Support\Carbon|null $deleted_at
* @property-read \App\Models\WebSocketDialogMsg|null $forward_data
* @property-read int|mixed $percentage
* @property-read \App\Models\WebSocketDialogMsg|null $reply_data
* @property-read \App\Models\WebSocketDialog|null $webSocketDialog
@ -46,6 +50,9 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereDialogId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereDialogType($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereEmoji($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereForwardId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereForwardNum($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereForwardShow($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereKey($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocketDialogMsg whereLink($value)
@ -536,6 +543,9 @@ class WebSocketDialogMsg extends AbstractModel
case 'tag':
$action = $data['msg']['action'] === 'remove' ? '取消标注' : '标注';
return "[{$action}] {$this->previewMsg(false, $data['msg']['data'])}";
case 'top':
$action = $data['msg']['action'] === 'remove' ? '取消置顶' : '置顶';
return "[{$action}] {$this->previewMsg(false, $data['msg']['data'])}";
case 'todo':
$action = $data['msg']['action'] === 'remove' ? '取消待办' : ($data['msg']['action'] === 'done' ? '完成' : '设待办');
return "[{$action}] {$this->previewMsg(false, $data['msg']['data'])}";

View File

@ -14,7 +14,7 @@ use Carbon\Carbon;
* @property int|null $mark_unread 是否标记为未读0否1是
* @property int|null $silence 是否免打扰0否1是
* @property int|null $inviter 邀请人
* @property int|null $important 是否不可移出(项目、任务、部门人员)
* @property int|null $important 是否不可移出(项目、任务人员)
* @property string|null $color 颜色
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at

View File

@ -2117,7 +2117,7 @@ class Base
}
$scaleName = "";
if ($param['fileName']) {
$fileName = $param['fileName'];
$fileName = basename($param['fileName']);
} else {
if ($param['scale'] && is_array($param['scale'])) {
list($width, $height) = $param['scale'];
@ -2276,7 +2276,7 @@ class Base
if ($param['fileName'] === true) {
$fileName = $file->getClientOriginalName();
} elseif ($param['fileName']) {
$fileName = $param['fileName'];
$fileName = basename($param['fileName']);
} else {
if ($param['scale'] && is_array($param['scale'])) {
list($width, $height) = $param['scale'];

View File

@ -31,34 +31,34 @@ class UnclaimedTaskRemindTask extends AbstractTask
return;
}
//
$times = explode(':',date('H:i'));
$reminderTimes = explode(':',$setting['unclaimed_task_reminder_time']);
if( !isset($times[1]) || !isset($reminderTimes[1]) || $times[0] != $reminderTimes[0]){
$times = explode(':', date('H:i'));
$reminderTimes = explode(':', $setting['unclaimed_task_reminder_time']);
if (!isset($times[1]) || !isset($reminderTimes[1]) || $times[0] != $reminderTimes[0]) {
return;
}
// 执行一次
if (Cache::get("UnclaimedTaskRemindTask:His",0)) {
if (Cache::get("UnclaimedTaskRemindTask:His", 0)) {
return;
}
if( $times[1] >= $reminderTimes[1] - 1 && $times[1] <= $reminderTimes[1] + 1){
if ($times[1] >= intval($reminderTimes[1]) - 1 && $times[1] <= intval($reminderTimes[1]) + 1) {
//
Cache::put("UnclaimedTaskRemindTask:His", date('H:i:s'), Carbon::now()->addMinutes(5));
//
Project::whereNull('deleted_at')->whereNull('archived_at')->chunk(100,function($projects) {
Project::whereNull('deleted_at')->whereNull('archived_at')->chunk(100, function ($projects) {
foreach ($projects as $project) {
//
$projectTasks = ProjectTask::select('project_tasks.id','project_tasks.name')
$projectTasks = ProjectTask::select('project_tasks.id', 'project_tasks.name')
->leftJoin('project_task_users', function ($query) {
$query->on('project_tasks.id', '=', 'project_task_users.task_id');
})
->where('project_tasks.project_id',$project->id)
->where('project_tasks.project_id', $project->id)
->whereNull('project_tasks.deleted_at')
->whereNull('project_tasks.archived_at')
->whereNull('project_task_users.id')
->limit(10)
->get();
//
if( !$projectTasks->isEmpty() ){
if (!$projectTasks->isEmpty()) {
$botUser = User::botGetOrCreate('task-alert');
if (empty($botUser)) {
return;
@ -69,10 +69,10 @@ class UnclaimedTaskRemindTask extends AbstractTask
}
//
$taskHtml = '<span style="line-height: 26px;">任务待领取</span> <br/>';
foreach($projectTasks as $projectTask){
foreach ($projectTasks as $projectTask) {
$taskHtml .= "<span class=\"mention task\" style=\"line-height: 26px;\" data-id=\"{$projectTask->id}\">#{$projectTask->name}</span> <br/>";
}
WebSocketDialogMsg::sendMsg(null, $project->dialog_id , 'text', [
WebSocketDialogMsg::sendMsg(null, $project->dialog_id, 'text', [
'text' => $taskHtml
], $botUser->userid);
}
@ -83,7 +83,5 @@ class UnclaimedTaskRemindTask extends AbstractTask
public function end()
{
}
}

View File

@ -0,0 +1,36 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddWebSocketDialogMsgsTopAt extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('web_socket_dialog_msgs', function (Blueprint $table) {
if (!Schema::hasColumn('web_socket_dialog_msgs', 'top')) {
$table->bigInteger('top')->nullable()->default(0)->after('send')->comment('置顶的会员ID');
$table->timestamp('top_at')->nullable()->after('top')->comment('置顶时间');
}
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('web_socket_dialog_msgs', function (Blueprint $table) {
$table->dropColumn("top");
$table->dropColumn("top_at");
});
}
}

View File

@ -0,0 +1,48 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateProjectTaskVisibilityUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('project_task_visibility_users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->bigInteger('project_id')->index()->nullable()->default(0)->comment('项目ID');
$table->bigInteger('task_id')->index()->nullable()->default(0)->comment('任务ID');
$table->bigInteger('userid')->index()->nullable()->default(0)->comment('成员ID');
$table->timestamps();
});
// 迁移旧数据
DB::table('project_task_users')->where("owner",2)->orderBy('id')->chunk(100, function ($data) {
foreach ($data as $item) {
DB::table('project_task_visibility_users')->insert([
'project_id' => $item->project_id,
'task_id' => $item->task_id,
'userid' => $item->userid,
'created_at' => $item->created_at,
'updated_at' => $item->updated_at
]);
}
});
DB::table('project_task_users')->where("owner",2)->delete();
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('project_task_visibility_users');
}
}

View File

@ -0,0 +1,52 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddWebSocketDialogsTop extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('web_socket_dialog_msgs', function (Blueprint $table) {
if (Schema::hasColumn('web_socket_dialog_msgs', 'top')) {
$table->dropColumn("top");
$table->dropColumn("top_at");
}
});
//
Schema::table('web_socket_dialogs', function (Blueprint $table) {
$table->bigInteger('top_userid')->nullable()->default(0)->after('link_id')->comment('置顶的用户ID');
$table->bigInteger('top_msg_id')->nullable()->default(0)->after('top_userid')->comment('置顶的消息ID');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('web_socket_dialog_msgs', function (Blueprint $table) {
if (!Schema::hasColumn('web_socket_dialog_msgs', 'top')) {
$table->bigInteger('top')->nullable()->default(0)->after('send')->comment('置顶的会员ID');
$table->timestamp('top_at')->nullable()->after('top')->comment('置顶时间');
}
});
//
Schema::table('web_socket_dialogs', function (Blueprint $table) {
if (Schema::hasColumn('web_socket_dialogs', 'top_msg_id')) {
$table->dropColumn("top_msg_id");
}
if (Schema::hasColumn('web_socket_dialogs', 'top_userid')) {
$table->dropColumn("top_userid");
}
});
}
}

View File

@ -150,7 +150,7 @@ services:
approve:
container_name: "dootask-approve-${APP_ID}"
image: "kuaifan/dooapprove:0.0.9"
image: "kuaifan/dooapprove:0.0.10"
environment:
TZ: "${TIMEZONE:-PRC}"
MYSQL_HOST: "${DB_HOST}"
@ -177,7 +177,7 @@ services:
okr:
container_name: "dootask-okr-${APP_ID}"
image: "kuaifan/doookr:0.0.25"
image: "kuaifan/doookr:0.0.26"
environment:
TZ: "${TIMEZONE:-PRC}"
DOO_TASK_URL: "http://${APP_IPPR}.3"

View File

@ -1493,3 +1493,10 @@ License Key
你确定要打包下载【(*)】文件夹吗?
正在打包,请留意系统消息
发起,参与接龙目前共(*)人
选择会员
请选择移动后状态
移动成功
置顶人员
置顶了
你确定取消置顶吗?

View File

@ -19457,5 +19457,60 @@
"de": "License Key",
"fr": "License Key",
"id": "License Key"
},
{
"key": "选择会员",
"zh": "",
"zh-CHT": "選擇會員",
"en": "Select member",
"ko": "회원 선택",
"ja": "会員を選ぶ",
"de": "Entscheide dich für mitglied.",
"fr": "Choisissez votre adhésion",
"id": "Memilih anggota"
},
{
"key": "请选择移动后状态",
"zh": "",
"zh-CHT": "請選擇移動後狀態",
"en": "Please select post-move status",
"ko": "이동 후 상태를 선택해주세요",
"ja": "移動後の状態を選択します。",
"de": "Bitte wählen sie die einstellungen nach dem start",
"fr": "Veuillez sélectionner le statut post-déménagement",
"id": "Silahkan pilih status belakang"
},
{
"key": "置顶人员",
"zh": "",
"zh-CHT": "置頂人員",
"en": "Roofer",
"ko": "구제인원",
"ja": "トップスタッフです",
"de": "Ersatzleute?",
"fr": "Personnes au toit",
"id": "Personil yang ditempatkan"
},
{
"key": "置顶了",
"zh": "",
"zh-CHT": "置頂了",
"en": "Pinned to top",
"ko": "머리를 숙이다",
"ja": "屋根にしました",
"de": "Es ist versteckt.",
"fr": "Sur le toit",
"id": "Sebuah pengganti."
},
{
"key": "你确定取消置顶吗?",
"zh": "",
"zh-CHT": "你確定取消置頂嗎?",
"en": "Are you sure you can cancel the top?",
"ko": "상단 취소 확실합니까?",
"ja": "屋根の取り消しは確かですか?",
"de": "Sicher, dass der turm abgebrochen wurde?",
"fr": "Êtes-vous sûr de supprimer le plafond?",
"id": "Kau yakin mau membatalkan toplesnya?"
}
]

File diff suppressed because one or more lines are too long

View File

@ -5,15 +5,15 @@
<meta name="description" content="APP接口文档">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="assets/bootstrap.min.css?v=1703484888256" rel="stylesheet" media="screen">
<link href="assets/prism.css?v=1703484888256" rel="stylesheet" />
<link href="assets/prism-toolbar.css?v=1703484888256" rel="stylesheet" />
<link href="assets/prism-diff-highlight.css?v=1703484888256" rel="stylesheet" />
<link href="assets/main.css?v=1703484888256" rel="stylesheet" media="screen, print">
<link href="assets/favicon.ico?v=1703484888256" rel="icon" type="image/x-icon">
<link href="assets/apple-touch-icon.png?v=1703484888256" rel="apple-touch-icon" sizes="180x180">
<link href="assets/favicon-32x32.png?v=1703484888256" rel="icon" type="image/png" sizes="32x32">
<link href="assets/favicon-16x16.png?v=1703484888256" rel="icon" type="image/png" sizes="16x16">
<link href="assets/bootstrap.min.css?v=1703836836069" rel="stylesheet" media="screen">
<link href="assets/prism.css?v=1703836836069" rel="stylesheet" />
<link href="assets/prism-toolbar.css?v=1703836836069" rel="stylesheet" />
<link href="assets/prism-diff-highlight.css?v=1703836836069" rel="stylesheet" />
<link href="assets/main.css?v=1703836836069" rel="stylesheet" media="screen, print">
<link href="assets/favicon.ico?v=1703836836069" rel="icon" type="image/x-icon">
<link href="assets/apple-touch-icon.png?v=1703836836069" rel="apple-touch-icon" sizes="180x180">
<link href="assets/favicon-32x32.png?v=1703836836069" rel="icon" type="image/png" sizes="32x32">
<link href="assets/favicon-16x16.png?v=1703836836069" rel="icon" type="image/png" sizes="16x16">
</head>
<body class="container-fluid">
@ -1042,6 +1042,6 @@
</div>
</div>
<script src="assets/main.bundle.js?v=1703484888256"></script>
<script src="assets/main.bundle.js?v=1703836836069"></script>
</body>
</html>

View File

@ -1 +1 @@
import{n as e}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,r=t.$createElement;return t._self._c,t._m(0)},p=[function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"page-404"},[i("div",{staticClass:"flex-center position-ref full-height"},[i("div",{staticClass:"code"},[t._v("404")]),i("div",{staticClass:"message"},[t._v("Not Found")])])])}];const s={},o={};var _=e(s,m,p,!1,n,"7d7154a8",null,null);function n(t){for(let r in o)this[r]=o[r]}var P=function(){return _.exports}();export{P as default};
import{n as e}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,r=t.$createElement;return t._self._c,t._m(0)},p=[function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"page-404"},[i("div",{staticClass:"flex-center position-ref full-height"},[i("div",{staticClass:"code"},[t._v("404")]),i("div",{staticClass:"message"},[t._v("Not Found")])])])}];const s={},o={};var _=e(s,m,p,!1,n,"7d7154a8",null,null);function n(t){for(let r in o)this[r]=o[r]}var P=function(){return _.exports}();export{P as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{n}from"./app.574b291d.js";var l=function(){var t=this,o=t.$createElement,e=t._self._c||o;return e("Modal",{attrs:{title:t.$L("\u5BFC\u51FA\u5BA1\u6279\u6570\u636E"),"mask-closable":!1},model:{value:t.show,callback:function(a){t.show=a},expression:"show"}},[e("Form",{ref:"exportTask",attrs:{model:t.formData,"label-width":"auto"},nativeOn:{submit:function(a){a.preventDefault()}}},[e("FormItem",{attrs:{label:t.$L("\u5BA1\u6279\u7C7B\u578B")}},[e("Select",{on:{"on-open-change":t.getProcName},model:{value:t.formData.proc_def_name,callback:function(a){t.$set(t.formData,"proc_def_name",a)},expression:"formData.proc_def_name"}},t._l(t.procList,function(a,s){return e("Option",{key:s,attrs:{value:a.name}},[t._v(t._s(a.name))])}),1)],1),e("FormItem",{attrs:{label:t.$L("\u65F6\u95F4\u8303\u56F4")}},[e("DatePicker",{staticStyle:{width:"100%"},attrs:{type:"daterange",format:"yyyy/MM/dd",placeholder:t.$L("\u8BF7\u9009\u62E9\u65F6\u95F4")},model:{value:t.formData.date,callback:function(a){t.$set(t.formData,"date",a)},expression:"formData.date"}}),e("div",{staticClass:"form-tip checkin-export-quick-select"},[e("span",[t._v(t._s(t.$L("\u5FEB\u6377\u9009\u62E9"))+":")]),e("em",{on:{click:function(a){t.formData.date=t.dateShortcuts("prev")}}},[t._v(t._s(t.$L("\u4E0A\u4E2A\u6708")))]),e("em",{on:{click:function(a){t.formData.date=t.dateShortcuts("this")}}},[t._v(t._s(t.$L("\u8FD9\u4E2A\u6708")))])])],1),e("FormItem",{attrs:{prop:"type",label:t.$L("\u5BFC\u51FA\u7C7B\u578B")}},[e("RadioGroup",{model:{value:t.formData.is_finished,callback:function(a){t.$set(t.formData,"is_finished",a)},expression:"formData.is_finished"}},[e("Radio",{attrs:{label:"0"}},[t._v(t._s(t.$L("\u672A\u5B8C\u6210")))]),e("Radio",{attrs:{label:"1"}},[t._v(t._s(t.$L("\u5DF2\u5B8C\u6210")))])],1)],1)],1),e("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[e("Button",{attrs:{type:"default"},on:{click:function(a){t.show=!1}}},[t._v(t._s(t.$L("\u53D6\u6D88")))]),e("Button",{attrs:{type:"primary",loading:t.loadIng>0},on:{click:t.onExport}},[t._v(t._s(t.$L("\u5BFC\u51FA")))])],1)],1)},i=[];const c={name:"ApproveExport",props:{value:{type:Boolean,default:!1}},data(){return{show:this.value,loadIng:0,formData:{proc_def_name:"",date:[],is_finished:"1"},procList:[]}},watch:{value(t){this.show=t},show(t){this.value!==t&&this.$emit("input",t)}},methods:{dateShortcuts(t){if(t==="prev")return[$A.getSpecifyDate("\u4E0A\u4E2A\u6708"),$A.getSpecifyDate("\u4E0A\u4E2A\u6708\u7ED3\u675F")];if(t==="this")return[$A.getSpecifyDate("\u672C\u6708"),$A.getSpecifyDate("\u672C\u6708\u7ED3\u675F")]},getProcName(){this.loadIng++,this.$store.dispatch("call",{url:"approve/procdef/all",method:"post"}).then(({data:t})=>{this.procList=t.rows}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.loadIng--})},onExport(){this.loadIng>0||(this.loadIng++,this.$store.dispatch("call",{url:"approve/export",data:this.formData}).then(({data:t})=>{this.show=!1,this.$store.dispatch("downUrl",{url:t.url})}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.loadIng--}))}}},r={};var p=n(c,l,i,!1,d,null,null,null);function d(t){for(let o in r)this[o]=r[o]}var _=function(){return p.exports}();export{_ as A};
import{n}from"./app.20bd5153.js";var l=function(){var t=this,o=t.$createElement,e=t._self._c||o;return e("Modal",{attrs:{title:t.$L("\u5BFC\u51FA\u5BA1\u6279\u6570\u636E"),"mask-closable":!1},model:{value:t.show,callback:function(a){t.show=a},expression:"show"}},[e("Form",{ref:"exportTask",attrs:{model:t.formData,"label-width":"auto"},nativeOn:{submit:function(a){a.preventDefault()}}},[e("FormItem",{attrs:{label:t.$L("\u5BA1\u6279\u7C7B\u578B")}},[e("Select",{on:{"on-open-change":t.getProcName},model:{value:t.formData.proc_def_name,callback:function(a){t.$set(t.formData,"proc_def_name",a)},expression:"formData.proc_def_name"}},t._l(t.procList,function(a,s){return e("Option",{key:s,attrs:{value:a.name}},[t._v(t._s(a.name))])}),1)],1),e("FormItem",{attrs:{label:t.$L("\u65F6\u95F4\u8303\u56F4")}},[e("DatePicker",{staticStyle:{width:"100%"},attrs:{type:"daterange",format:"yyyy/MM/dd",placeholder:t.$L("\u8BF7\u9009\u62E9\u65F6\u95F4")},model:{value:t.formData.date,callback:function(a){t.$set(t.formData,"date",a)},expression:"formData.date"}}),e("div",{staticClass:"form-tip checkin-export-quick-select"},[e("span",[t._v(t._s(t.$L("\u5FEB\u6377\u9009\u62E9"))+":")]),e("em",{on:{click:function(a){t.formData.date=t.dateShortcuts("prev")}}},[t._v(t._s(t.$L("\u4E0A\u4E2A\u6708")))]),e("em",{on:{click:function(a){t.formData.date=t.dateShortcuts("this")}}},[t._v(t._s(t.$L("\u8FD9\u4E2A\u6708")))])])],1),e("FormItem",{attrs:{prop:"type",label:t.$L("\u5BFC\u51FA\u7C7B\u578B")}},[e("RadioGroup",{model:{value:t.formData.is_finished,callback:function(a){t.$set(t.formData,"is_finished",a)},expression:"formData.is_finished"}},[e("Radio",{attrs:{label:"0"}},[t._v(t._s(t.$L("\u672A\u5B8C\u6210")))]),e("Radio",{attrs:{label:"1"}},[t._v(t._s(t.$L("\u5DF2\u5B8C\u6210")))])],1)],1)],1),e("div",{staticClass:"adaption",attrs:{slot:"footer"},slot:"footer"},[e("Button",{attrs:{type:"default"},on:{click:function(a){t.show=!1}}},[t._v(t._s(t.$L("\u53D6\u6D88")))]),e("Button",{attrs:{type:"primary",loading:t.loadIng>0},on:{click:t.onExport}},[t._v(t._s(t.$L("\u5BFC\u51FA")))])],1)],1)},i=[];const c={name:"ApproveExport",props:{value:{type:Boolean,default:!1}},data(){return{show:this.value,loadIng:0,formData:{proc_def_name:"",date:[],is_finished:"1"},procList:[]}},watch:{value(t){this.show=t},show(t){this.value!==t&&this.$emit("input",t)}},methods:{dateShortcuts(t){if(t==="prev")return[$A.getSpecifyDate("\u4E0A\u4E2A\u6708"),$A.getSpecifyDate("\u4E0A\u4E2A\u6708\u7ED3\u675F")];if(t==="this")return[$A.getSpecifyDate("\u672C\u6708"),$A.getSpecifyDate("\u672C\u6708\u7ED3\u675F")]},getProcName(){this.loadIng++,this.$store.dispatch("call",{url:"approve/procdef/all",method:"post"}).then(({data:t})=>{this.procList=t.rows}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.loadIng--})},onExport(){this.loadIng>0||(this.loadIng++,this.$store.dispatch("call",{url:"approve/export",data:this.formData}).then(({data:t})=>{this.show=!1,this.$store.dispatch("downUrl",{url:t.url})}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.loadIng--}))}}},r={};var p=n(c,l,i,!1,d,null,null,null);function d(t){for(let o in r)this[o]=r[o]}var _=function(){return p.exports}();export{_ as A};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{m as s}from"./vuex.cc7cb26e.js";import{I as m}from"./IFrame.0f38a97a.js";import{n as l,l as r}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"drawio-content"},[i("IFrame",{ref:"frame",staticClass:"drawio-iframe",attrs:{src:t.url},on:{"on-message":t.onMessage}}),t.loadIng?i("div",{staticClass:"drawio-loading"},[i("Loading")],1):t._e()],1)},d=[];const u={name:"Drawio",components:{IFrame:m},props:{value:{type:Object,default:function(){return{}}},title:{type:String,default:""},readOnly:{type:Boolean,default:!1}},data(){return{loadIng:!0,url:null,bakData:""}},created(){let t=r;switch(r){case"zh-CHT":t="zh-tw";break}let e=this.readOnly?1:0,i=this.readOnly?0:1,n=this.themeIsDark?"dark":"kennedy",a=`?title=${this.title?encodeURIComponent(this.title):""}&chrome=${i}&lightbox=${e}&ui=${n}&lang=${t}&offline=1&pwa=0&embed=1&noLangIcon=1&noExitBtn=1&noSaveBtn=1&saveAndExit=0&spin=1&proto=json`;this.$Electron?this.url=$A.originUrl(`drawio/webapp/index.html${a}`):this.url=$A.apiUrl(`../drawio/webapp/${a}`)},mounted(){window.addEventListener("message",this.handleMessage)},beforeDestroy(){window.removeEventListener("message",this.handleMessage)},watch:{value:{handler(t){this.bakData!=$A.jsonStringify(t)&&(this.bakData=$A.jsonStringify(t),this.updateContent())},deep:!0}},computed:{...s(["themeIsDark"])},methods:{formatZoom(t){return t+"%"},updateContent(){this.$refs.frame.postMessage(JSON.stringify({action:"load",autosave:1,xml:this.value.xml}))},onMessage(t){switch(t.event){case"init":this.loadIng=!1,this.updateContent();break;case"load":typeof this.value.xml=="undefined"&&this.$refs.frame.postMessage(JSON.stringify({action:"template"}));break;case"autosave":const e={xml:t.xml};this.bakData=$A.jsonStringify(e),this.$emit("input",e);break;case"save":this.$emit("saveData");break}}}},o={};var c=l(u,p,d,!1,h,"6b690a27",null,null);function h(t){for(let e in o)this[e]=o[e]}var X=function(){return c.exports}();export{X as default};
import{m as s}from"./vuex.cc7cb26e.js";import{I as m}from"./IFrame.59cec055.js";import{n as l,l as r}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"drawio-content"},[i("IFrame",{ref:"frame",staticClass:"drawio-iframe",attrs:{src:t.url},on:{"on-message":t.onMessage}}),t.loadIng?i("div",{staticClass:"drawio-loading"},[i("Loading")],1):t._e()],1)},d=[];const u={name:"Drawio",components:{IFrame:m},props:{value:{type:Object,default:function(){return{}}},title:{type:String,default:""},readOnly:{type:Boolean,default:!1}},data(){return{loadIng:!0,url:null,bakData:""}},created(){let t=r;switch(r){case"zh-CHT":t="zh-tw";break}let e=this.readOnly?1:0,i=this.readOnly?0:1,n=this.themeIsDark?"dark":"kennedy",a=`?title=${this.title?encodeURIComponent(this.title):""}&chrome=${i}&lightbox=${e}&ui=${n}&lang=${t}&offline=1&pwa=0&embed=1&noLangIcon=1&noExitBtn=1&noSaveBtn=1&saveAndExit=0&spin=1&proto=json`;this.$Electron?this.url=$A.originUrl(`drawio/webapp/index.html${a}`):this.url=$A.apiUrl(`../drawio/webapp/${a}`)},mounted(){window.addEventListener("message",this.handleMessage)},beforeDestroy(){window.removeEventListener("message",this.handleMessage)},watch:{value:{handler(t){this.bakData!=$A.jsonStringify(t)&&(this.bakData=$A.jsonStringify(t),this.updateContent())},deep:!0}},computed:{...s(["themeIsDark"])},methods:{formatZoom(t){return t+"%"},updateContent(){this.$refs.frame.postMessage(JSON.stringify({action:"load",autosave:1,xml:this.value.xml}))},onMessage(t){switch(t.event){case"init":this.loadIng=!1,this.updateContent();break;case"load":typeof this.value.xml=="undefined"&&this.$refs.frame.postMessage(JSON.stringify({action:"template"}));break;case"autosave":const e={xml:t.xml};this.bakData=$A.jsonStringify(e),this.$emit("input",e);break;case"save":this.$emit("saveData");break}}}},o={};var c=l(u,p,d,!1,h,"6b690a27",null,null);function h(t){for(let e in o)this[e]=o[e]}var X=function(){return c.exports}();export{X as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{n}from"./app.574b291d.js";var i=function(){var e=this,s=e.$createElement,r=e._self._c||s;return r("iframe",{directives:[{name:"show",rawName:"v-show",value:e.src,expression:"src"}],ref:"iframe",attrs:{src:e.src}})},a=[];const o={name:"IFrame",props:{src:{type:String,default:""}},mounted(){this.$refs.iframe.addEventListener("load",this.handleLoad),window.addEventListener("message",this.handleMessage)},beforeDestroy(){this.$refs.iframe.removeEventListener("load",this.handleLoad),window.removeEventListener("message",this.handleMessage)},methods:{handleLoad(){this.$emit("on-load")},handleMessage({data:e,source:s}){var r;s===((r=this.$refs.iframe)==null?void 0:r.contentWindow)&&(e=$A.jsonParse(e),e.source==="fileView"&&e.action==="picture"&&this.$store.dispatch("previewImage",{index:e.params.index,list:e.params.array}),this.$emit("on-message",e))},postMessage(e,s="*"){this.$refs.iframe&&this.$refs.iframe.contentWindow.postMessage(e,s)}}},t={};var m=n(o,i,a,!1,c,null,null,null);function c(e){for(let s in t)this[s]=t[s]}var l=function(){return m.exports}();export{l as I};
import{n}from"./app.20bd5153.js";var i=function(){var e=this,s=e.$createElement,r=e._self._c||s;return r("iframe",{directives:[{name:"show",rawName:"v-show",value:e.src,expression:"src"}],ref:"iframe",attrs:{src:e.src}})},a=[];const o={name:"IFrame",props:{src:{type:String,default:""}},mounted(){this.$refs.iframe.addEventListener("load",this.handleLoad),window.addEventListener("message",this.handleMessage)},beforeDestroy(){this.$refs.iframe.removeEventListener("load",this.handleLoad),window.removeEventListener("message",this.handleMessage)},methods:{handleLoad(){this.$emit("on-load")},handleMessage({data:e,source:s}){var r;s===((r=this.$refs.iframe)==null?void 0:r.contentWindow)&&(e=$A.jsonParse(e),e.source==="fileView"&&e.action==="picture"&&this.$store.dispatch("previewImage",{index:e.params.index,list:e.params.array}),this.$emit("on-message",e))},postMessage(e,s="*"){this.$refs.iframe&&this.$refs.iframe.contentWindow.postMessage(e,s)}}},t={};var m=n(o,i,a,!1,c,null,null,null);function c(e){for(let s in t)this[s]=t[s]}var l=function(){return m.exports}();export{l as I};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{V as r}from"./vue.1f6d1fff.js";import{s as i,U as p,a as s,l as o,n as l}from"./app.574b291d.js";import{m as h}from"./vuex.cc7cb26e.js";import{u as d,E as u}from"./@micro-zoe.c2e1472d.js";import{D as m}from"./DialogWrapper.b97f6e58.js";import{i as c}from"./view-design-hi.8f621b1c.js";var f=function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("div",{staticClass:"page-microapp"},[a.showSpin?e("transition",{attrs:{name:"microapp-load"}},[e("div",{staticClass:"microapp-load"},[e("Loading")],1)]):a._e(),a.url&&!a.loading?e("micro-app",{attrs:{name:a.name,url:a.url,inline:"","keep-alive":"",disableSandbox:"",data:a.appData},on:{created:a.handleCreate,beforemount:a.handleBeforeMount,mounted:a.handleMount,unmount:a.handleUnmount,error:a.handleError,datachange:a.handleDataChange}}):a._e()],1)},g=[];const v={name:"MicroApps",props:{name:{type:String,default:"micro-app"},url:{type:String,default:""},path:{type:String,default:""},datas:{type:Object,default:()=>{}}},data(){return{showSpin:!1,loading:!1,appData:{}}},mounted(){this.showSpin=!0,this.appData=this.getAppData},watch:{loading(a){a&&(this.showSpin=!0)},path(a){this.appData={path:a}},datas:{handler(a){this.appData=a},deep:!0},$route:{handler(a){(a.name=="manage-apps"||a.name=="single-apps")&&(this.appData={path:a.hash||a.fullPath})},immediate:!0},userToken(a){this.appData=this.getAppData,a?this.loading=!1:(d({destroy:!0}),this.loading=!0)}},computed:{...h(["userInfo","themeMode"]),getAppData(){return{type:"init",url:this.url,vues:{Vue:r,store:i,components:{DialogWrapper:m,UserSelect:p,DatePicker:c.exports.DatePicker}},theme:this.themeMode,languages:{languageList:s,languageType:o},userInfo:this.userInfo,path:this.path,electron:this.$Electron}}},methods:{handleCreate(a){window.eventCenterForAppNameVite=new u(a.detail.name),this.appData=this.getAppData,this.showSpin=!window["eventCenterForAppNameViteLoad-"+a.detail.name]},handleBeforeMount(a){window["eventCenterForAppNameViteLoad-"+a.detail.name]=1},handleMount(a){this.datas&&(this.appData=this.datas),this.path&&(this.appData.path=this.path),this.showSpin=!1},handleUnmount(a){window.dispatchEvent(new Event("apps-unmount"))},handleError(a){},handleDataChange(a){}}},n={};var D=l(v,f,g,!1,_,null,null,null);function _(a){for(let t in n)this[t]=n[t]}var E=function(){return D.exports}();export{E as M};
import{V as r}from"./vue.1f6d1fff.js";import{s as i,U as p,a as s,l as o,n as l}from"./app.20bd5153.js";import{m as h}from"./vuex.cc7cb26e.js";import{u as d,E as u}from"./@micro-zoe.c2e1472d.js";import{D as m}from"./DialogWrapper.4668c128.js";import{i as c}from"./view-design-hi.8f621b1c.js";var f=function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("div",{staticClass:"page-microapp"},[a.showSpin?e("transition",{attrs:{name:"microapp-load"}},[e("div",{staticClass:"microapp-load"},[e("Loading")],1)]):a._e(),a.url&&!a.loading?e("micro-app",{attrs:{name:a.name,url:a.url,inline:"","keep-alive":"",disableSandbox:"",data:a.appData},on:{created:a.handleCreate,beforemount:a.handleBeforeMount,mounted:a.handleMount,unmount:a.handleUnmount,error:a.handleError,datachange:a.handleDataChange}}):a._e()],1)},g=[];const v={name:"MicroApps",props:{name:{type:String,default:"micro-app"},url:{type:String,default:""},path:{type:String,default:""},datas:{type:Object,default:()=>{}}},data(){return{showSpin:!1,loading:!1,appData:{}}},mounted(){this.showSpin=!0,this.appData=this.getAppData},watch:{loading(a){a&&(this.showSpin=!0)},path(a){this.appData={path:a}},datas:{handler(a){this.appData=a},deep:!0},$route:{handler(a){(a.name=="manage-apps"||a.name=="single-apps")&&(this.appData={path:a.hash||a.fullPath})},immediate:!0},userToken(a){this.appData=this.getAppData,a?this.loading=!1:(d({destroy:!0}),this.loading=!0)}},computed:{...h(["userInfo","themeMode"]),getAppData(){return{type:"init",url:this.url,vues:{Vue:r,store:i,components:{DialogWrapper:m,UserSelect:p,DatePicker:c.exports.DatePicker}},theme:this.themeMode,languages:{languageList:s,languageType:o},userInfo:this.userInfo,path:this.path,electron:this.$Electron}}},methods:{handleCreate(a){window.eventCenterForAppNameVite=new u(a.detail.name),this.appData=this.getAppData,this.showSpin=!window["eventCenterForAppNameViteLoad-"+a.detail.name]},handleBeforeMount(a){window["eventCenterForAppNameViteLoad-"+a.detail.name]=1},handleMount(a){this.datas&&(this.appData=this.datas),this.path&&(this.appData.path=this.path),this.showSpin=!1},handleUnmount(a){window.dispatchEvent(new Event("apps-unmount"))},handleError(a){},handleDataChange(a){}}},n={};var D=l(v,f,g,!1,_,null,null,null);function _(a){for(let t in n)this[t]=n[t]}var E=function(){return D.exports}();export{E as M};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{m as i}from"./vuex.cc7cb26e.js";import{n as l}from"./app.574b291d.js";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"report-detail"},[a("div",{staticClass:"report-title"},[t._v(" "+t._s(t.data.title)+" "),t.loadIng>0?a("Icon",{staticClass:"icon-loading",attrs:{type:"ios-loading"}}):t._e()],1),t.formLabelWidth==="auto"?a("div",{staticClass:"report-detail-context"},[a("Form",{staticClass:"report-form auto-form",attrs:{"label-width":"auto",inline:""}},[a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u4EBA")}},[a("UserAvatar",{attrs:{userid:t.data.userid,size:28}})],1),a("FormItem",{attrs:{label:t.$L("\u63D0\u4EA4\u65F6\u95F4")}},[t._v(" "+t._s(t.data.created_at)+" ")]),a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u5BF9\u8C61")}},[t.data.receives_user.length===0?[t._v("-")]:t._l(t.data.receives_user,function(r,s){return a("UserAvatar",{key:s,attrs:{userid:r.userid,size:28}})})],2)],1),a("Form",{staticClass:"report-form auto-form",attrs:{"label-width":"auto"}},[a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u5185\u5BB9")}},[a("div",{staticClass:"report-content",domProps:{innerHTML:t._s(t.data.content)}})])],1)],1):a("div",{staticClass:"report-detail-context"},[a("Form",{staticClass:"report-form",attrs:{labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth}},[t.formLabelWidth!=="auto"?[a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u4EBA")}},[a("UserAvatar",{attrs:{userid:t.data.userid,size:28}})],1),a("FormItem",{attrs:{label:t.$L("\u63D0\u4EA4\u65F6\u95F4")}},[t._v(" "+t._s(t.data.created_at)+" ")]),a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u5BF9\u8C61")}},[t.data.receives_user.length===0?[t._v("-")]:t._l(t.data.receives_user,function(r,s){return a("UserAvatar",{key:s,attrs:{userid:r.userid,size:28}})})],2)]:t._e(),a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u5185\u5BB9")}},[a("div",{staticClass:"report-content",domProps:{innerHTML:t._s(t.data.content)}})])],2)],1)])},d=[];const m={name:"ReportDetail",props:{data:{default:{}}},data(){return{loadIng:0}},computed:{...i(["formLabelPosition","formLabelWidth"])},watch:{"data.id":{handler(t){t>0&&this.sendRead()},immediate:!0}},methods:{sendRead(){this.loadIng++,this.$store.dispatch("call",{url:"report/read",data:{ids:[this.data.id]}}).then(()=>{}).catch(()=>{}).finally(t=>{this.loadIng--})}}},o={};var c=l(m,n,d,!1,u,null,null,null);function u(t){for(let e in o)this[e]=o[e]}var p=function(){return c.exports}();export{p as R};
import{m as i}from"./vuex.cc7cb26e.js";import{n as l}from"./app.20bd5153.js";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"report-detail"},[a("div",{staticClass:"report-title"},[t._v(" "+t._s(t.data.title)+" "),t.loadIng>0?a("Icon",{staticClass:"icon-loading",attrs:{type:"ios-loading"}}):t._e()],1),t.formLabelWidth==="auto"?a("div",{staticClass:"report-detail-context"},[a("Form",{staticClass:"report-form auto-form",attrs:{"label-width":"auto",inline:""}},[a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u4EBA")}},[a("UserAvatar",{attrs:{userid:t.data.userid,size:28}})],1),a("FormItem",{attrs:{label:t.$L("\u63D0\u4EA4\u65F6\u95F4")}},[t._v(" "+t._s(t.data.created_at)+" ")]),a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u5BF9\u8C61")}},[t.data.receives_user.length===0?[t._v("-")]:t._l(t.data.receives_user,function(r,s){return a("UserAvatar",{key:s,attrs:{userid:r.userid,size:28}})})],2)],1),a("Form",{staticClass:"report-form auto-form",attrs:{"label-width":"auto"}},[a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u5185\u5BB9")}},[a("div",{staticClass:"report-content",domProps:{innerHTML:t._s(t.data.content)}})])],1)],1):a("div",{staticClass:"report-detail-context"},[a("Form",{staticClass:"report-form",attrs:{labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth}},[t.formLabelWidth!=="auto"?[a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u4EBA")}},[a("UserAvatar",{attrs:{userid:t.data.userid,size:28}})],1),a("FormItem",{attrs:{label:t.$L("\u63D0\u4EA4\u65F6\u95F4")}},[t._v(" "+t._s(t.data.created_at)+" ")]),a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u5BF9\u8C61")}},[t.data.receives_user.length===0?[t._v("-")]:t._l(t.data.receives_user,function(r,s){return a("UserAvatar",{key:s,attrs:{userid:r.userid,size:28}})})],2)]:t._e(),a("FormItem",{attrs:{label:t.$L("\u6C47\u62A5\u5185\u5BB9")}},[a("div",{staticClass:"report-content",domProps:{innerHTML:t._s(t.data.content)}})])],2)],1)])},d=[];const m={name:"ReportDetail",props:{data:{default:{}}},data(){return{loadIng:0}},computed:{...i(["formLabelPosition","formLabelWidth"])},watch:{"data.id":{handler(t){t>0&&this.sendRead()},immediate:!0}},methods:{sendRead(){this.loadIng++,this.$store.dispatch("call",{url:"report/read",data:{ids:[this.data.id]}}).then(()=>{}).catch(()=>{}).finally(t=>{this.loadIng--})}}},o={};var c=l(m,n,d,!1,u,null,null,null);function u(t){for(let e in o)this[e]=o[e]}var p=function(){return c.exports}();export{p as R};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

6
public/js/build/app.0418f77b.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{M as o}from"./MicroApps.b339cbdc.js";import{n as m}from"./app.574b291d.js";import"./vue.1f6d1fff.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./DialogWrapper.b97f6e58.js";import"./le5le-store.b40f9152.js";import"./longpress.c69d0833.js";import"./index.7e1648df.js";import"./quill.b985c8ce.js";import"./quill-mention-hi.c7a745b0.js";import"./vue-jsonp.be27271b.js";import"./vue-virtual-scroll-list-hi.83dc7c08.js";import"./ImgUpload.e397ddb2.js";import"./view-design-hi.8f621b1c.js";import"./details.573061e2.js";import"./jquery.6de43c5b.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./axios.6ec123f8.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";import"./tip.60b5cf7a.js";var a=function(){var t=this,r=t.$createElement,i=t._self._c||r;return!t.loading&&t.$route.name=="manage-apps"?i("MicroApps",{attrs:{url:t.appUrl,path:t.path}}):t._e()},e=[];const n={components:{MicroApps:o},data(){return{loading:!1,appUrl:"",path:""}},deactivated(){this.loading=!0},watch:{$route:{handler(t){this.loading=!0,t.name=="manage-apps"?this.$nextTick(()=>{this.loading=!1,this.appUrl={}.VITE_OKR_WEB_URL||$A.apiUrl("../apps/okr"),this.path=this.$route.query.path||""}):this.appUrl=""},immediate:!0}}},p={};var s=m(n,a,e,!1,l,null,null,null);function l(t){for(let r in p)this[r]=p[r]}var it=function(){return s.exports}();export{it as default};
import{M as o}from"./MicroApps.23ba0e0a.js";import{n as m}from"./app.20bd5153.js";import"./vue.1f6d1fff.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./DialogWrapper.4668c128.js";import"./le5le-store.b40f9152.js";import"./longpress.c69d0833.js";import"./index.e55d28a4.js";import"./quill.b985c8ce.js";import"./quill-mention-hi.c7a745b0.js";import"./vue-jsonp.be27271b.js";import"./vue-virtual-scroll-list-hi.83dc7c08.js";import"./ImgUpload.e91f2891.js";import"./view-design-hi.8f621b1c.js";import"./details.634ff605.js";import"./jquery.20f4a9bb.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./axios.6ec123f8.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";import"./tip.4bc63c90.js";var a=function(){var t=this,r=t.$createElement,i=t._self._c||r;return!t.loading&&t.$route.name=="manage-apps"?i("MicroApps",{attrs:{url:t.appUrl,path:t.path}}):t._e()},e=[];const n={components:{MicroApps:o},data(){return{loading:!1,appUrl:"",path:""}},deactivated(){this.loading=!0},watch:{$route:{handler(t){this.loading=!0,t.name=="manage-apps"?this.$nextTick(()=>{this.loading=!1,this.appUrl={}.VITE_OKR_WEB_URL||$A.apiUrl("../apps/okr"),this.path=this.$route.query.path||""}):this.appUrl=""},immediate:!0}}},p={};var s=m(n,a,e,!1,l,null,null,null);function l(t){for(let r in p)this[r]=p[r]}var it=function(){return s.exports}();export{it as default};

View File

@ -1 +1 @@
import{M as o}from"./MicroApps.b339cbdc.js";import{n as m}from"./app.574b291d.js";import"./vue.1f6d1fff.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./DialogWrapper.b97f6e58.js";import"./le5le-store.b40f9152.js";import"./longpress.c69d0833.js";import"./index.7e1648df.js";import"./quill.b985c8ce.js";import"./quill-mention-hi.c7a745b0.js";import"./vue-jsonp.be27271b.js";import"./vue-virtual-scroll-list-hi.83dc7c08.js";import"./ImgUpload.e397ddb2.js";import"./view-design-hi.8f621b1c.js";import"./details.573061e2.js";import"./jquery.6de43c5b.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./axios.6ec123f8.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";import"./tip.60b5cf7a.js";var e=function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"electron-single-micro-apps"},[!t.loading&&t.$route.name=="single-apps"?i("MicroApps",{attrs:{url:t.appUrl,path:t.path}}):t._e()],1)},a=[];const s={components:{MicroApps:o},data(){return{loading:!1,appUrl:"",path:""}},deactivated(){this.loading=!0},watch:{$route:{handler(t){this.loading=!0,t.name=="single-apps"?this.$nextTick(()=>{this.loading=!1,this.appUrl={}.VITE_OKR_WEB_URL||$A.apiUrl("../apps/okr"),this.path=this.$route.query.path||""}):this.appUrl=""},immediate:!0}}},p={};var n=m(s,e,a,!1,l,null,null,null);function l(t){for(let r in p)this[r]=p[r]}var pt=function(){return n.exports}();export{pt as default};
import{M as o}from"./MicroApps.23ba0e0a.js";import{n as m}from"./app.20bd5153.js";import"./vue.1f6d1fff.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./DialogWrapper.4668c128.js";import"./le5le-store.b40f9152.js";import"./longpress.c69d0833.js";import"./index.e55d28a4.js";import"./quill.b985c8ce.js";import"./quill-mention-hi.c7a745b0.js";import"./vue-jsonp.be27271b.js";import"./vue-virtual-scroll-list-hi.83dc7c08.js";import"./ImgUpload.e91f2891.js";import"./view-design-hi.8f621b1c.js";import"./details.634ff605.js";import"./jquery.20f4a9bb.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./axios.6ec123f8.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";import"./tip.4bc63c90.js";var e=function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"electron-single-micro-apps"},[!t.loading&&t.$route.name=="single-apps"?i("MicroApps",{attrs:{url:t.appUrl,path:t.path}}):t._e()],1)},a=[];const s={components:{MicroApps:o},data(){return{loading:!1,appUrl:"",path:""}},deactivated(){this.loading=!0},watch:{$route:{handler(t){this.loading=!0,t.name=="single-apps"?this.$nextTick(()=>{this.loading=!1,this.appUrl={}.VITE_OKR_WEB_URL||$A.apiUrl("../apps/okr"),this.path=this.$route.query.path||""}):this.appUrl=""},immediate:!0}}},p={};var n=m(s,e,a,!1,l,null,null,null);function l(t){for(let r in p)this[r]=p[r]}var pt=function(){return n.exports}();export{pt as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1 +1 @@
import{m as o}from"./vuex.cc7cb26e.js";import{n as a}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var n=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"setting-item submit"},[t.configLoad>0?e("Loading"):e("Form",{ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum,labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth},nativeOn:{submit:function(r){r.preventDefault()}}},[t.isLdap?e("Alert",{attrs:{type:"warning"}},[t._v(t._s(t.$L("LDAP \u7528\u6237\u7981\u6B62\u4FEE\u6539\u90AE\u7BB1\u5730\u5740")))]):t._e(),e("FormItem",{attrs:{label:t.$L("\u65B0\u90AE\u7BB1\u5730\u5740"),prop:"newEmail"}},[t.isRegVerify==1?e("Input",{class:t.count>0?"setting-send-input":"setting-input",attrs:{search:"","enter-button":t.$L(t.sendBtnText),disabled:t.isLdap,placeholder:t.$L("\u8F93\u5165\u65B0\u90AE\u7BB1\u5730\u5740")},on:{"on-search":t.sendEmailCode},model:{value:t.formDatum.newEmail,callback:function(r){t.$set(t.formDatum,"newEmail",r)},expression:"formDatum.newEmail"}}):e("Input",{staticClass:"setting-input",attrs:{disabled:t.isLdap,placeholder:t.$L("\u8F93\u5165\u65B0\u90AE\u7BB1\u5730\u5740")},model:{value:t.formDatum.newEmail,callback:function(r){t.$set(t.formDatum,"newEmail",r)},expression:"formDatum.newEmail"}})],1),t.isRegVerify==1?e("FormItem",{attrs:{label:t.$L("\u9A8C\u8BC1\u7801"),prop:"code"}},[e("Input",{attrs:{placeholder:t.$L("\u8F93\u5165\u90AE\u7BB1\u9A8C\u8BC1\u7801")},model:{value:t.formDatum.code,callback:function(r){t.$set(t.formDatum,"code",r)},expression:"formDatum.code"}})],1):t._e()],1),e("div",{staticClass:"setting-footer"},[e("Button",{attrs:{loading:t.loadIng>0,type:"primary",disabled:t.isLdap},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),e("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},m=[];const l={data(){return{loadIng:0,configLoad:0,formDatum:{newEmail:"",code:""},ruleDatum:{newEmail:[{validator:(t,i,e)=>{i.trim()===""?e(new Error(this.$L("\u8BF7\u8F93\u5165\u65B0\u90AE\u7BB1\u5730\u5740\uFF01"))):$A.isEmail(i.trim())?e():e(new Error(this.$L("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1\u5730\u5740\uFF01")))},required:!0,trigger:"change"}]},count:0,isSendButtonShow:!0,isRegVerify:0,sendBtnText:this.$L("\u53D1\u9001\u9A8C\u8BC1\u7801")}},mounted(){this.getRegVerify()},computed:{...o(["formLabelPosition","formLabelWidth"]),isLdap(){return this.$store.state.userInfo.identity.includes("ldap")}},methods:{sendEmailCode(){this.$store.dispatch("call",{url:"users/email/send",data:{type:2,email:this.formDatum.newEmail},spinner:!0}).then(t=>{this.isSendButtonShow=!1,this.count=120,this.sendBtnText=this.count+" \u79D2";let i=setInterval(()=>{this.count--,this.sendBtnText=this.count+" \u79D2",this.count<=0&&(this.sendBtnText=this.$L("\u53D1\u9001\u9A8C\u8BC1\u7801"),clearInterval(i))},1e3)}).catch(({msg:t})=>{$A.messageError(t)})},submitForm(){this.$refs.formDatum.validate(t=>{t&&(this.loadIng++,this.$store.dispatch("call",{url:"users/email/edit",data:this.formDatum}).then(({data:i})=>{this.count=0,this.sendBtnText=this.$L("\u53D1\u9001\u9A8C\u8BC1\u7801"),$A.messageSuccess("\u4FEE\u6539\u6210\u529F"),this.$store.dispatch("saveUserInfo",i),this.$refs.formDatum.resetFields(),this.isSendButtonShow=!0}).catch(({msg:i})=>{$A.modalError(i)}).finally(i=>{this.loadIng--}))})},resetForm(){this.$refs.formDatum.resetFields()},getRegVerify(){this.configLoad++,this.$store.dispatch("call",{url:"system/setting/email"}).then(({data:t})=>{this.isRegVerify=t.reg_verify==="open"}).finally(t=>{this.configLoad--})}}},s={};var u=a(l,n,m,!1,d,null,null,null);function d(t){for(let i in s)this[i]=s[i]}var J=function(){return u.exports}();export{J as default};
import{m as o}from"./vuex.cc7cb26e.js";import{n as a}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var n=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"setting-item submit"},[t.configLoad>0?e("Loading"):e("Form",{ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum,labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth},nativeOn:{submit:function(r){r.preventDefault()}}},[t.isLdap?e("Alert",{attrs:{type:"warning"}},[t._v(t._s(t.$L("LDAP \u7528\u6237\u7981\u6B62\u4FEE\u6539\u90AE\u7BB1\u5730\u5740")))]):t._e(),e("FormItem",{attrs:{label:t.$L("\u65B0\u90AE\u7BB1\u5730\u5740"),prop:"newEmail"}},[t.isRegVerify==1?e("Input",{class:t.count>0?"setting-send-input":"setting-input",attrs:{search:"","enter-button":t.$L(t.sendBtnText),disabled:t.isLdap,placeholder:t.$L("\u8F93\u5165\u65B0\u90AE\u7BB1\u5730\u5740")},on:{"on-search":t.sendEmailCode},model:{value:t.formDatum.newEmail,callback:function(r){t.$set(t.formDatum,"newEmail",r)},expression:"formDatum.newEmail"}}):e("Input",{staticClass:"setting-input",attrs:{disabled:t.isLdap,placeholder:t.$L("\u8F93\u5165\u65B0\u90AE\u7BB1\u5730\u5740")},model:{value:t.formDatum.newEmail,callback:function(r){t.$set(t.formDatum,"newEmail",r)},expression:"formDatum.newEmail"}})],1),t.isRegVerify==1?e("FormItem",{attrs:{label:t.$L("\u9A8C\u8BC1\u7801"),prop:"code"}},[e("Input",{attrs:{placeholder:t.$L("\u8F93\u5165\u90AE\u7BB1\u9A8C\u8BC1\u7801")},model:{value:t.formDatum.code,callback:function(r){t.$set(t.formDatum,"code",r)},expression:"formDatum.code"}})],1):t._e()],1),e("div",{staticClass:"setting-footer"},[e("Button",{attrs:{loading:t.loadIng>0,type:"primary",disabled:t.isLdap},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),e("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},m=[];const l={data(){return{loadIng:0,configLoad:0,formDatum:{newEmail:"",code:""},ruleDatum:{newEmail:[{validator:(t,i,e)=>{i.trim()===""?e(new Error(this.$L("\u8BF7\u8F93\u5165\u65B0\u90AE\u7BB1\u5730\u5740\uFF01"))):$A.isEmail(i.trim())?e():e(new Error(this.$L("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u90AE\u7BB1\u5730\u5740\uFF01")))},required:!0,trigger:"change"}]},count:0,isSendButtonShow:!0,isRegVerify:0,sendBtnText:this.$L("\u53D1\u9001\u9A8C\u8BC1\u7801")}},mounted(){this.getRegVerify()},computed:{...o(["formLabelPosition","formLabelWidth"]),isLdap(){return this.$store.state.userInfo.identity.includes("ldap")}},methods:{sendEmailCode(){this.$store.dispatch("call",{url:"users/email/send",data:{type:2,email:this.formDatum.newEmail},spinner:!0}).then(t=>{this.isSendButtonShow=!1,this.count=120,this.sendBtnText=this.count+" \u79D2";let i=setInterval(()=>{this.count--,this.sendBtnText=this.count+" \u79D2",this.count<=0&&(this.sendBtnText=this.$L("\u53D1\u9001\u9A8C\u8BC1\u7801"),clearInterval(i))},1e3)}).catch(({msg:t})=>{$A.messageError(t)})},submitForm(){this.$refs.formDatum.validate(t=>{t&&(this.loadIng++,this.$store.dispatch("call",{url:"users/email/edit",data:this.formDatum}).then(({data:i})=>{this.count=0,this.sendBtnText=this.$L("\u53D1\u9001\u9A8C\u8BC1\u7801"),$A.messageSuccess("\u4FEE\u6539\u6210\u529F"),this.$store.dispatch("saveUserInfo",i),this.$refs.formDatum.resetFields(),this.isSendButtonShow=!0}).catch(({msg:i})=>{$A.modalError(i)}).finally(i=>{this.loadIng--}))})},resetForm(){this.$refs.formDatum.resetFields()},getRegVerify(){this.configLoad++,this.$store.dispatch("call",{url:"system/setting/email"}).then(({data:t})=>{this.isRegVerify=t.reg_verify==="open"}).finally(t=>{this.configLoad--})}}},s={};var u=a(l,n,m,!1,d,null,null,null);function d(t){for(let i in s)this[i]=s[i]}var J=function(){return u.exports}();export{J as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import n from"./FileContent.5b325368.js";import l from"./FilePreview.2d3323a7.js";import{n as s}from"./app.574b291d.js";import"./openpgp_hi.15f91b1d.js";import"./vuex.cc7cb26e.js";import"./IFrame.0f38a97a.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"single-file"},[e("PageTitle",{attrs:{title:t.pageName}}),t.loadIng>0?e("Loading"):t.fileInfo?[t.isPreview?e("FilePreview",{attrs:{code:t.code,file:t.fileInfo,historyId:t.historyId,headerShow:!t.$isEEUiApp}}):e("FileContent",{attrs:{file:t.fileInfo},model:{value:t.fileShow,callback:function(r){t.fileShow=r},expression:"fileShow"}})]:t._e()],2)},p=[];const a={components:{FilePreview:l,FileContent:n},data(){return{loadIng:0,code:null,fileShow:!0,fileInfo:null}},mounted(){},computed:{historyId(){return this.$route.query?$A.runNum(this.$route.query.history_id):0},isPreview(){return this.windowPortrait||this.code||this.historyId>0||this.fileInfo&&this.fileInfo.permission===0},pageName(){let t=this.fileInfo?this.fileInfo.name:"";return this.$route.query&&this.$route.query.history_at&&(t+=` [${this.$route.query.history_at}]`),t}},watch:{$route:{handler(){this.getInfo()},immediate:!0}},methods:{getInfo(){let{codeOrFileId:t}=this.$route.params,i={id:t};if(/^\d+$/.test(t))this.code=null;else if(t)this.code=t;else return;setTimeout(e=>{this.loadIng++},600),this.$store.dispatch("call",{url:"file/one",data:i}).then(({data:e})=>{this.fileInfo=e}).catch(({msg:e})=>{$A.modalError({content:e,onOk:()=>{window.close()}})}).finally(e=>{this.loadIng--})}}},o={};var f=s(a,m,p,!1,u,"b8037598",null,null);function u(t){for(let i in o)this[i]=o[i]}var X=function(){return f.exports}();export{X as default};
import n from"./FileContent.7bc46f83.js";import l from"./FilePreview.c228234a.js";import{n as s}from"./app.20bd5153.js";import"./openpgp_hi.15f91b1d.js";import"./vuex.cc7cb26e.js";import"./IFrame.59cec055.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"single-file"},[e("PageTitle",{attrs:{title:t.pageName}}),t.loadIng>0?e("Loading"):t.fileInfo?[t.isPreview?e("FilePreview",{attrs:{code:t.code,file:t.fileInfo,historyId:t.historyId,headerShow:!t.$isEEUiApp}}):e("FileContent",{attrs:{file:t.fileInfo},model:{value:t.fileShow,callback:function(r){t.fileShow=r},expression:"fileShow"}})]:t._e()],2)},p=[];const a={components:{FilePreview:l,FileContent:n},data(){return{loadIng:0,code:null,fileShow:!0,fileInfo:null}},mounted(){},computed:{historyId(){return this.$route.query?$A.runNum(this.$route.query.history_id):0},isPreview(){return this.windowPortrait||this.code||this.historyId>0||this.fileInfo&&this.fileInfo.permission===0},pageName(){let t=this.fileInfo?this.fileInfo.name:"";return this.$route.query&&this.$route.query.history_at&&(t+=` [${this.$route.query.history_at}]`),t}},watch:{$route:{handler(){this.getInfo()},immediate:!0}},methods:{getInfo(){let{codeOrFileId:t}=this.$route.params,i={id:t};if(/^\d+$/.test(t))this.code=null;else if(t)this.code=t;else return;setTimeout(e=>{this.loadIng++},600),this.$store.dispatch("call",{url:"file/one",data:i}).then(({data:e})=>{this.fileInfo=e}).catch(({msg:e})=>{$A.modalError({content:e,onOk:()=>{window.close()}})}).finally(e=>{this.loadIng--})}}},o={};var f=s(a,m,p,!1,u,"b8037598",null,null);function u(t){for(let i in o)this[i]=o[i]}var X=function(){return f.exports}();export{X as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{n,l as o}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div")},a=[];const p={data(){return{}},computed:{isSoftware(){return this.$Electron||this.$isEEUiApp}},mounted(){/^https*:/i.test(window.location.protocol)&&(this.$router.mode==="hash"?$A.stringLength(window.location.pathname)>2&&(window.location.href=`${window.location.origin}/#${window.location.pathname}${window.location.search}`):this.$router.mode==="history"&&$A.strExists(window.location.href,"/#/")&&(window.location.href=window.location.href.replace("/#/","/")))},activated(){this.start()},methods:{start(){if(this.isSoftware){this.goNext();return}this.$store.dispatch("showSpinner",1e3),this.$store.dispatch("needHome").then(t=>{this.goIndex()}).catch(t=>{this.goNext()}).finally(t=>{this.$store.dispatch("hiddenSpinner")})},goIndex(){o==="zh"||o==="zh-CHT"?window.location.href=$A.apiUrl("../site/zh/index.html"):window.location.href=$A.apiUrl("../site/en/index.html")},goNext(){this.userId>0?this.goForward({name:"manage-dashboard"},!0):this.goForward({name:"login"},!0)}}},r={};var m=n(p,s,a,!1,h,null,null,null);function h(t){for(let i in r)this[i]=r[i]}var O=function(){return m.exports}();export{O as default};
import{n,l as o}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div")},a=[];const p={data(){return{}},computed:{isSoftware(){return this.$Electron||this.$isEEUiApp}},mounted(){/^https*:/i.test(window.location.protocol)&&(this.$router.mode==="hash"?$A.stringLength(window.location.pathname)>2&&(window.location.href=`${window.location.origin}/#${window.location.pathname}${window.location.search}`):this.$router.mode==="history"&&$A.strExists(window.location.href,"/#/")&&(window.location.href=window.location.href.replace("/#/","/")))},activated(){this.start()},methods:{start(){if(this.isSoftware){this.goNext();return}this.$store.dispatch("showSpinner",1e3),this.$store.dispatch("needHome").then(t=>{this.goIndex()}).catch(t=>{this.goNext()}).finally(t=>{this.$store.dispatch("hiddenSpinner")})},goIndex(){o==="zh"||o==="zh-CHT"?window.location.href=$A.apiUrl("../site/zh/index.html"):window.location.href=$A.apiUrl("../site/en/index.html")},goNext(){this.userId>0?this.goForward({name:"manage-dashboard"},!0):this.goForward({name:"login"},!0)}}},r={};var m=n(p,s,a,!1,h,null,null,null);function h(t){for(let i in r)this[i]=r[i]}var O=function(){return m.exports}();export{O as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{a as m,l as n,f as s,n as l}from"./app.574b291d.js";import{m as p}from"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var u=function(){var t=this,r=t.$createElement,a=t._self._c||r;return a("div",{staticClass:"setting-item submit"},[a("Form",{ref:"formData",attrs:{model:t.formData,rules:t.ruleData,labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth},nativeOn:{submit:function(o){o.preventDefault()}}},[a("FormItem",{attrs:{label:t.$L("\u9009\u62E9\u8BED\u8A00"),prop:"language"}},[a("Select",{attrs:{placeholder:t.$L("\u9009\u9879\u8BED\u8A00")},model:{value:t.formData.language,callback:function(o){t.$set(t.formData,"language",o)},expression:"formData.language"}},t._l(t.languageList,function(o,i){return a("Option",{key:i,attrs:{value:i}},[t._v(t._s(o))])}),1)],1)],1),a("div",{staticClass:"setting-footer"},[a("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),a("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},f=[];const g={data(){return{loadIng:0,languageList:m,formData:{language:""},ruleData:{}}},mounted(){this.initData()},computed:{...p(["formLabelPosition","formLabelWidth"])},methods:{initData(){this.$set(this.formData,"language",n),this.formData_bak=$A.cloneJSON(this.formData)},submitForm(){this.$refs.formData.validate(t=>{t&&s(this.formData.language)})},resetForm(){this.formData=$A.cloneJSON(this.formData_bak)}}},e={};var c=l(g,u,f,!1,_,null,null,null);function _(t){for(let r in e)this[r]=e[r]}var X=function(){return c.exports}();export{X as default};
import{a as m,l as n,f as s,n as l}from"./app.20bd5153.js";import{m as p}from"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var u=function(){var t=this,r=t.$createElement,a=t._self._c||r;return a("div",{staticClass:"setting-item submit"},[a("Form",{ref:"formData",attrs:{model:t.formData,rules:t.ruleData,labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth},nativeOn:{submit:function(o){o.preventDefault()}}},[a("FormItem",{attrs:{label:t.$L("\u9009\u62E9\u8BED\u8A00"),prop:"language"}},[a("Select",{attrs:{placeholder:t.$L("\u9009\u9879\u8BED\u8A00")},model:{value:t.formData.language,callback:function(o){t.$set(t.formData,"language",o)},expression:"formData.language"}},t._l(t.languageList,function(o,i){return a("Option",{key:i,attrs:{value:i}},[t._v(t._s(o))])}),1)],1)],1),a("div",{staticClass:"setting-footer"},[a("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),a("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},f=[];const g={data(){return{loadIng:0,languageList:m,formData:{language:""},ruleData:{}}},mounted(){this.initData()},computed:{...p(["formLabelPosition","formLabelWidth"])},methods:{initData(){this.$set(this.formData,"language",n),this.formData_bak=$A.cloneJSON(this.formData)},submitForm(){this.$refs.formData.validate(t=>{t&&s(this.formData.language)})},resetForm(){this.formData=$A.cloneJSON(this.formData_bak)}}},e={};var c=l(g,u,f,!1,_,null,null,null);function _(t){for(let r in e)this[r]=e[r]}var X=function(){return c.exports}();export{X as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{M as e}from"./MeetingManager.639b8036.js";import{n as m}from"./app.574b291d.js";import"./le5le-store.b40f9152.js";import"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var r=this,t=r.$createElement,i=r._self._c||t;return i("div",[i("MeetingManager")],1)},n=[];const s={components:{MeetingManager:e},mounted(){this.$store.dispatch("showMeetingWindow",{type:"join",meetingid:this.$route.params.meetingId,meetingSharekey:this.$route.params.sharekey,meetingdisabled:!0})}},o={};var a=m(s,p,n,!1,_,null,null,null);function _(r){for(let t in o)this[t]=o[t]}var Q=function(){return a.exports}();export{Q as default};
import{M as e}from"./MeetingManager.6232b09d.js";import{n as m}from"./app.20bd5153.js";import"./le5le-store.b40f9152.js";import"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var r=this,t=r.$createElement,i=r._self._c||t;return i("div",[i("MeetingManager")],1)},n=[];const s={components:{MeetingManager:e},mounted(){this.$store.dispatch("showMeetingWindow",{type:"join",meetingid:this.$route.params.meetingId,meetingSharekey:this.$route.params.sharekey,meetingdisabled:!0})}},o={};var a=m(s,p,n,!1,_,null,null,null);function _(r){for(let t in o)this[t]=o[t]}var Q=function(){return a.exports}();export{Q as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{m as a}from"./vuex.cc7cb26e.js";import{n as i}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("div",{staticClass:"setting-item submit"},[r("Form",{ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum,labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth},nativeOn:{submit:function(e){e.preventDefault()}}},[t.userInfo.changepass?r("Alert",{staticStyle:{"margin-bottom":"32px"},attrs:{type:"warning",showIcon:""}},[t._v(t._s(t.$L("\u8BF7\u5148\u4FEE\u6539\u767B\u5F55\u5BC6\u7801\uFF01")))]):t._e(),r("FormItem",{attrs:{label:t.$L("\u65E7\u5BC6\u7801"),prop:"oldpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.oldpass,callback:function(e){t.$set(t.formDatum,"oldpass",e)},expression:"formDatum.oldpass"}})],1),r("FormItem",{attrs:{label:t.$L("\u65B0\u5BC6\u7801"),prop:"newpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.newpass,callback:function(e){t.$set(t.formDatum,"newpass",e)},expression:"formDatum.newpass"}})],1),r("FormItem",{attrs:{label:t.$L("\u786E\u8BA4\u65B0\u5BC6\u7801"),prop:"checkpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.checkpass,callback:function(e){t.$set(t.formDatum,"checkpass",e)},expression:"formDatum.checkpass"}})],1)],1),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},p=[];const n={data(){return{loadIng:0,formDatum:{oldpass:"",newpass:"",checkpass:""},ruleDatum:{oldpass:[{required:!0,message:this.$L("\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801\uFF01"),trigger:"change"},{type:"string",min:6,message:this.$L("\u5BC6\u7801\u957F\u5EA6\u81F3\u5C116\u4F4D\uFF01"),trigger:"change"}],newpass:[{validator:(t,s,r)=>{s===""?r(new Error(this.$L("\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801\uFF01"))):(this.formDatum.checkpass!==""&&this.$refs.formDatum.validateField("checkpass"),r())},required:!0,trigger:"change"},{type:"string",min:6,message:this.$L("\u5BC6\u7801\u957F\u5EA6\u81F3\u5C116\u4F4D\uFF01"),trigger:"change"}],checkpass:[{validator:(t,s,r)=>{s===""?r(new Error(this.$L("\u8BF7\u91CD\u65B0\u8F93\u5165\u65B0\u5BC6\u7801\uFF01"))):s!==this.formDatum.newpass?r(new Error(this.$L("\u4E24\u6B21\u5BC6\u7801\u8F93\u5165\u4E0D\u4E00\u81F4\uFF01"))):r()},required:!0,trigger:"change"}]}}},computed:{...a(["userInfo","formLabelPosition","formLabelWidth"])},methods:{submitForm(){this.$refs.formDatum.validate(t=>{t&&(this.loadIng++,this.$store.dispatch("call",{url:"users/editpass",data:this.formDatum}).then(({data:s})=>{$A.messageSuccess("\u4FEE\u6539\u6210\u529F"),this.$store.dispatch("saveUserInfo",s),this.$refs.formDatum.resetFields()}).catch(({msg:s})=>{$A.modalError(s)}).finally(s=>{this.loadIng--}))})},resetForm(){this.$refs.formDatum.resetFields()}}},o={};var l=i(n,m,p,!1,u,null,null,null);function u(t){for(let s in o)this[s]=o[s]}var N=function(){return l.exports}();export{N as default};
import{m as a}from"./vuex.cc7cb26e.js";import{n as i}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("div",{staticClass:"setting-item submit"},[r("Form",{ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum,labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth},nativeOn:{submit:function(e){e.preventDefault()}}},[t.userInfo.changepass?r("Alert",{staticStyle:{"margin-bottom":"32px"},attrs:{type:"warning",showIcon:""}},[t._v(t._s(t.$L("\u8BF7\u5148\u4FEE\u6539\u767B\u5F55\u5BC6\u7801\uFF01")))]):t._e(),r("FormItem",{attrs:{label:t.$L("\u65E7\u5BC6\u7801"),prop:"oldpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.oldpass,callback:function(e){t.$set(t.formDatum,"oldpass",e)},expression:"formDatum.oldpass"}})],1),r("FormItem",{attrs:{label:t.$L("\u65B0\u5BC6\u7801"),prop:"newpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.newpass,callback:function(e){t.$set(t.formDatum,"newpass",e)},expression:"formDatum.newpass"}})],1),r("FormItem",{attrs:{label:t.$L("\u786E\u8BA4\u65B0\u5BC6\u7801"),prop:"checkpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.checkpass,callback:function(e){t.$set(t.formDatum,"checkpass",e)},expression:"formDatum.checkpass"}})],1)],1),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},p=[];const n={data(){return{loadIng:0,formDatum:{oldpass:"",newpass:"",checkpass:""},ruleDatum:{oldpass:[{required:!0,message:this.$L("\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801\uFF01"),trigger:"change"},{type:"string",min:6,message:this.$L("\u5BC6\u7801\u957F\u5EA6\u81F3\u5C116\u4F4D\uFF01"),trigger:"change"}],newpass:[{validator:(t,s,r)=>{s===""?r(new Error(this.$L("\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801\uFF01"))):(this.formDatum.checkpass!==""&&this.$refs.formDatum.validateField("checkpass"),r())},required:!0,trigger:"change"},{type:"string",min:6,message:this.$L("\u5BC6\u7801\u957F\u5EA6\u81F3\u5C116\u4F4D\uFF01"),trigger:"change"}],checkpass:[{validator:(t,s,r)=>{s===""?r(new Error(this.$L("\u8BF7\u91CD\u65B0\u8F93\u5165\u65B0\u5BC6\u7801\uFF01"))):s!==this.formDatum.newpass?r(new Error(this.$L("\u4E24\u6B21\u5BC6\u7801\u8F93\u5165\u4E0D\u4E00\u81F4\uFF01"))):r()},required:!0,trigger:"change"}]}}},computed:{...a(["userInfo","formLabelPosition","formLabelWidth"])},methods:{submitForm(){this.$refs.formDatum.validate(t=>{t&&(this.loadIng++,this.$store.dispatch("call",{url:"users/editpass",data:this.formDatum}).then(({data:s})=>{$A.messageSuccess("\u4FEE\u6539\u6210\u529F"),this.$store.dispatch("saveUserInfo",s),this.$refs.formDatum.resetFields()}).catch(({msg:s})=>{$A.modalError(s)}).finally(s=>{this.loadIng--}))})},resetForm(){this.$refs.formDatum.resetFields()}}},o={};var l=i(n,m,p,!1,u,null,null,null);function u(t){for(let s in o)this[s]=o[s]}var N=function(){return l.exports}();export{N as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import"./app.574b291d.js";import{p as M}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";export{M as default};
import"./app.20bd5153.js";import{p as M}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";export{M as default};

View File

@ -1 +1 @@
import{n as m,l as o}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var e=function(){var r=this,t=r.$createElement,p=r._self._c||t;return p("div")},n=[];const l={mounted(){o==="zh"||o==="zh-CHT"?window.location.href=$A.apiUrl("../site/zh/price.html"):window.location.href=$A.apiUrl("../site/en/price.html")}},i={};var a=m(l,e,n,!1,s,null,null,null);function s(r){for(let t in i)this[t]=i[t]}var O=function(){return a.exports}();export{O as default};
import{n as m,l as o}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var e=function(){var r=this,t=r.$createElement,p=r._self._c||t;return p("div")},n=[];const l={mounted(){o==="zh"||o==="zh-CHT"?window.location.href=$A.apiUrl("../site/zh/price.html"):window.location.href=$A.apiUrl("../site/en/price.html")}},i={};var a=m(l,e,n,!1,s,null,null,null);function s(r){for(let t in i)this[t]=i[t]}var O=function(){return a.exports}();export{O as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{m as r}from"./vuex.cc7cb26e.js";import{n as a}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,o=t.$createElement,i=t._self._c||o;return i("div",{staticClass:"page-invite"},[i("PageTitle",{attrs:{title:t.$L("\u52A0\u5165\u9879\u76EE")}}),t.loadIng>0?i("div",{staticClass:"invite-load"},[i("Loading")],1):i("div",{staticClass:"invite-warp"},[t.project.id>0?i("Card",[i("p",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(t.project.name))]),t.project.desc?i("div",{staticClass:"invite-desc"},[t._v(t._s(t.project.desc))]):i("div",[t._v(t._s(t.$L("\u6682\u65E0\u4ECB\u7ECD")))]),i("div",{staticClass:"invite-footer"},[t.already?i("Button",{attrs:{type:"success",icon:"ios-checkmark-circle-outline"},on:{click:t.goProject}},[t._v(t._s(t.$L("\u5DF2\u52A0\u5165")))]):i("Button",{attrs:{type:"primary",loading:t.joinLoad>0},on:{click:t.joinProject}},[t._v(t._s(t.$L("\u52A0\u5165\u9879\u76EE")))])],1)]):i("Card",[i("p",[t._v(t._s(t.$L("\u9080\u8BF7\u5730\u5740\u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u5220\u9664\uFF01")))])])],1)],1)},n=[];const c={data(){return{loadIng:0,joinLoad:0,already:!1,project:{}}},computed:{...r(["dialogId","windowPortrait"])},watch:{$route:{handler(t){if(t.name=="manage-project-invite"){if(!$A.Electron&&!$A.isEEUiApp&&navigator.userAgent.indexOf("MicroMessenger")===-1&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))try{/Android/i.test(navigator.userAgent)?window.open("dootask://"+t.fullPath):window.location.href="dootask://"+t.fullPath}catch{}this.windowPortrait&&this.dialogId>0&&this.$store.dispatch("openDialog",0),this.code=t.query?t.query.code:"",this.getData()}},immediate:!0}},methods:{getData(){this.loadIng++,this.$store.dispatch("call",{url:"project/invite/info",data:{code:this.code}}).then(({data:t})=>{this.already=t.already,this.project=t.project}).catch(()=>{this.project={}}).finally(t=>{this.loadIng--})},joinProject(){this.joinLoad++,this.$store.dispatch("call",{url:"project/invite/join",data:{code:this.code}}).then(({data:t})=>{this.already=t.already,this.project=t.project,this.goProject()}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.joinLoad--})},goProject(){this.$nextTick(()=>{$A.goForward({name:"manage-project",params:{projectId:this.project.id}})})}}},e={};var p=a(c,s,n,!1,d,"935768d6",null,null);function d(t){for(let o in e)this[o]=e[o]}var K=function(){return p.exports}();export{K as default};
import{m as r}from"./vuex.cc7cb26e.js";import{n as a}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,o=t.$createElement,i=t._self._c||o;return i("div",{staticClass:"page-invite"},[i("PageTitle",{attrs:{title:t.$L("\u52A0\u5165\u9879\u76EE")}}),t.loadIng>0?i("div",{staticClass:"invite-load"},[i("Loading")],1):i("div",{staticClass:"invite-warp"},[t.project.id>0?i("Card",[i("p",{attrs:{slot:"title"},slot:"title"},[t._v(t._s(t.project.name))]),t.project.desc?i("div",{staticClass:"invite-desc"},[t._v(t._s(t.project.desc))]):i("div",[t._v(t._s(t.$L("\u6682\u65E0\u4ECB\u7ECD")))]),i("div",{staticClass:"invite-footer"},[t.already?i("Button",{attrs:{type:"success",icon:"ios-checkmark-circle-outline"},on:{click:t.goProject}},[t._v(t._s(t.$L("\u5DF2\u52A0\u5165")))]):i("Button",{attrs:{type:"primary",loading:t.joinLoad>0},on:{click:t.joinProject}},[t._v(t._s(t.$L("\u52A0\u5165\u9879\u76EE")))])],1)]):i("Card",[i("p",[t._v(t._s(t.$L("\u9080\u8BF7\u5730\u5740\u4E0D\u5B58\u5728\u6216\u5DF2\u88AB\u5220\u9664\uFF01")))])])],1)],1)},n=[];const c={data(){return{loadIng:0,joinLoad:0,already:!1,project:{}}},computed:{...r(["dialogId","windowPortrait"])},watch:{$route:{handler(t){if(t.name=="manage-project-invite"){if(!$A.Electron&&!$A.isEEUiApp&&navigator.userAgent.indexOf("MicroMessenger")===-1&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))try{/Android/i.test(navigator.userAgent)?window.open("dootask://"+t.fullPath):window.location.href="dootask://"+t.fullPath}catch{}this.windowPortrait&&this.dialogId>0&&this.$store.dispatch("openDialog",0),this.code=t.query?t.query.code:"",this.getData()}},immediate:!0}},methods:{getData(){this.loadIng++,this.$store.dispatch("call",{url:"project/invite/info",data:{code:this.code}}).then(({data:t})=>{this.already=t.already,this.project=t.project}).catch(()=>{this.project={}}).finally(t=>{this.loadIng--})},joinProject(){this.joinLoad++,this.$store.dispatch("call",{url:"project/invite/join",data:{code:this.code}}).then(({data:t})=>{this.already=t.already,this.project=t.project,this.goProject()}).catch(({msg:t})=>{$A.modalError(t)}).finally(t=>{this.joinLoad--})},goProject(){this.$nextTick(()=>{$A.goForward({name:"manage-project",params:{projectId:this.project.id}})})}}},e={};var p=a(c,s,n,!1,d,"935768d6",null,null);function d(t){for(let o in e)this[o]=e[o]}var K=function(){return p.exports}();export{K as default};

View File

@ -1 +1 @@
import{R as o}from"./ReportDetail.9731ca79.js";import{n as a}from"./app.574b291d.js";import"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var t=this,r=t.$createElement,e=t._self._c||r;return e("div",{staticClass:"electron-report"},[e("PageTitle",{attrs:{title:t.$L("\u62A5\u544A\u8BE6\u60C5")}}),e("ReportDetail",{attrs:{data:t.detailData}})],1)},m=[];const s={components:{ReportDetail:o},data(){return{detailData:{}}},computed:{reportDetailId(){const{reportDetailId:t}=this.$route.params;return parseInt(/^\d+$/.test(t)?t:0)}},watch:{reportDetailId:{handler(){this.getDetail()},immediate:!0}},methods:{getDetail(){this.reportDetailId<=0||this.$store.dispatch("call",{url:"report/detail",data:{id:this.reportDetailId}}).then(({data:t})=>{this.detailData=t}).catch(({msg:t})=>{$A.messageError(t)})}}},i={};var l=a(s,p,m,!1,n,"76126c11",null,null);function n(t){for(let r in i)this[r]=i[r]}var Q=function(){return l.exports}();export{Q as default};
import{R as o}from"./ReportDetail.456a7b70.js";import{n as a}from"./app.20bd5153.js";import"./vuex.cc7cb26e.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var t=this,r=t.$createElement,e=t._self._c||r;return e("div",{staticClass:"electron-report"},[e("PageTitle",{attrs:{title:t.$L("\u62A5\u544A\u8BE6\u60C5")}}),e("ReportDetail",{attrs:{data:t.detailData}})],1)},m=[];const s={components:{ReportDetail:o},data(){return{detailData:{}}},computed:{reportDetailId(){const{reportDetailId:t}=this.$route.params;return parseInt(/^\d+$/.test(t)?t:0)}},watch:{reportDetailId:{handler(){this.getDetail()},immediate:!0}},methods:{getDetail(){this.reportDetailId<=0||this.$store.dispatch("call",{url:"report/detail",data:{id:this.reportDetailId}}).then(({data:t})=>{this.detailData=t}).catch(({msg:t})=>{$A.messageError(t)})}}},i={};var l=a(s,p,m,!1,n,"76126c11",null,null);function n(t){for(let r in i)this[r]=i[r]}var Q=function(){return l.exports}();export{Q as default};

View File

@ -1 +1 @@
import{R as o}from"./ReportEdit.032c9e3e.js";import{n as p}from"./app.574b291d.js";import"./openpgp_hi.15f91b1d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,r=t.$createElement,e=t._self._c||r;return e("div",{staticClass:"electron-report"},[e("PageTitle",{attrs:{title:t.title}}),e("ReportEdit",{attrs:{id:t.reportEditId},on:{saveSuccess:t.saveSuccess}})],1)},m=[];const n={components:{ReportEdit:o},data(){return{detail:{}}},computed:{reportEditId(){if(/^\d+$/.test(this.detail.id))return parseInt(this.detail.id);const{reportEditId:t}=this.$route.params;return parseInt(/^\d+$/.test(t)?t:0)},title(){return this.$L(this.reportEditId>0?"\u4FEE\u6539\u62A5\u544A":"\u65B0\u589E\u62A5\u544A")}},methods:{saveSuccess(t){this.detail=t,this.$isSubElectron&&($A.Electron.sendMessage("sendForwardMain",{channel:"reportSaveSuccess",data:t}),window.close())}}},i={};var a=p(n,s,m,!1,d,"807ce0ea",null,null);function d(t){for(let r in i)this[r]=i[r]}var Q=function(){return a.exports}();export{Q as default};
import{R as o}from"./ReportEdit.00a68fd0.js";import{n as p}from"./app.20bd5153.js";import"./openpgp_hi.15f91b1d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,r=t.$createElement,e=t._self._c||r;return e("div",{staticClass:"electron-report"},[e("PageTitle",{attrs:{title:t.title}}),e("ReportEdit",{attrs:{id:t.reportEditId},on:{saveSuccess:t.saveSuccess}})],1)},m=[];const n={components:{ReportEdit:o},data(){return{detail:{}}},computed:{reportEditId(){if(/^\d+$/.test(this.detail.id))return parseInt(this.detail.id);const{reportEditId:t}=this.$route.params;return parseInt(/^\d+$/.test(t)?t:0)},title(){return this.$L(this.reportEditId>0?"\u4FEE\u6539\u62A5\u544A":"\u65B0\u589E\u62A5\u544A")}},methods:{saveSuccess(t){this.detail=t,this.$isSubElectron&&($A.Electron.sendMessage("sendForwardMain",{channel:"reportSaveSuccess",data:t}),window.close())}}},i={};var a=p(n,s,m,!1,d,"807ce0ea",null,null);function d(t){for(let r in i)this[r]=i[r]}var Q=function(){return a.exports}();export{Q as default};

View File

@ -1 +1 @@
import{_ as m}from"./openpgp_hi.15f91b1d.js";import{P as l}from"./photoswipe.48240c0a.js";import{n as h}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var d=function(){var r=this,i=r.$createElement,o=r._self._c||i;return o("div")},u=[];const c={props:{className:{type:String,default:()=>"preview-image-swipe-"+Math.round(Math.random()*1e4)},urlList:{type:Array,default:()=>[]},initialIndex:{type:Number,default:0}},data(){return{lightbox:null}},beforeDestroy(){var r;(r=this.lightbox)==null||r.destroy()},watch:{urlList:{handler(r){var n;let i=!1,o=!1;(n=this.lightbox)==null||n.destroy();const a=r.map(t=>{if($A.isJson(t)){if(t.src&&(t.src=$A.thumbRestore(t.src)),parseInt(t.width)>0&&parseInt(t.height)>0)return t;t=t.src}return o=!0,{html:`<div class="preview-image-swipe"><img src="${$A.thumbRestore(t)}"/></div>`}});this.lightbox=new l({dataSource:a,escKey:!1,mainClass:this.className,showHideAnimationType:"none",pswpModule:()=>m(()=>import("./photoswipe.48240c0a.js").then(function(t){return t.p}),["js/build/photoswipe.48240c0a.js","js/build/photoswipe.0fb72215.css"])}),this.lightbox.on("change",t=>{!o||$A.loadScript("js/pinch-zoom.umd.min.js").then(g=>{document.querySelector(`.${this.className}`).querySelectorAll(".preview-image-swipe").forEach(e=>{e.getAttribute("data-init-pinch-zoom")!=="init"&&(e.setAttribute("data-init-pinch-zoom","init"),e.querySelector("img").addEventListener("pointermove",p=>{i&&p.stopPropagation()}),new PinchZoom.default(e,{draggableUnzoomed:!1,onDragStart:()=>{i=!0},onDragEnd:()=>{i=!1}}))})})}),this.lightbox.on("close",()=>{this.$emit("on-close")}),this.lightbox.on("destroy",()=>{this.$emit("on-destroy")}),this.lightbox.init(),this.lightbox.loadAndOpen(this.initialIndex)},immediate:!0},initialIndex(r){var i;(i=this.lightbox)==null||i.loadAndOpen(r)}}},s={};var _=h(c,d,u,!1,f,null,null,null);function f(r){for(let i in s)this[i]=s[i]}var it=function(){return _.exports}();export{it as default};
import{_ as m}from"./openpgp_hi.15f91b1d.js";import{P as l}from"./photoswipe.48240c0a.js";import{n as h}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var d=function(){var r=this,i=r.$createElement,o=r._self._c||i;return o("div")},u=[];const c={props:{className:{type:String,default:()=>"preview-image-swipe-"+Math.round(Math.random()*1e4)},urlList:{type:Array,default:()=>[]},initialIndex:{type:Number,default:0}},data(){return{lightbox:null}},beforeDestroy(){var r;(r=this.lightbox)==null||r.destroy()},watch:{urlList:{handler(r){var n;let i=!1,o=!1;(n=this.lightbox)==null||n.destroy();const a=r.map(t=>{if($A.isJson(t)){if(t.src&&(t.src=$A.thumbRestore(t.src)),parseInt(t.width)>0&&parseInt(t.height)>0)return t;t=t.src}return o=!0,{html:`<div class="preview-image-swipe"><img src="${$A.thumbRestore(t)}"/></div>`}});this.lightbox=new l({dataSource:a,escKey:!1,mainClass:this.className,showHideAnimationType:"none",pswpModule:()=>m(()=>import("./photoswipe.48240c0a.js").then(function(t){return t.p}),["js/build/photoswipe.48240c0a.js","js/build/photoswipe.0fb72215.css"])}),this.lightbox.on("change",t=>{!o||$A.loadScript("js/pinch-zoom.umd.min.js").then(g=>{document.querySelector(`.${this.className}`).querySelectorAll(".preview-image-swipe").forEach(e=>{e.getAttribute("data-init-pinch-zoom")!=="init"&&(e.setAttribute("data-init-pinch-zoom","init"),e.querySelector("img").addEventListener("pointermove",p=>{i&&p.stopPropagation()}),new PinchZoom.default(e,{draggableUnzoomed:!1,onDragStart:()=>{i=!0},onDragEnd:()=>{i=!1}}))})})}),this.lightbox.on("close",()=>{this.$emit("on-close")}),this.lightbox.on("destroy",()=>{this.$emit("on-destroy")}),this.lightbox.init(),this.lightbox.loadAndOpen(this.initialIndex)},immediate:!0},initialIndex(r){var i;(i=this.lightbox)==null||i.loadAndOpen(r)}}},s={};var _=h(c,d,u,!1,f,null,null,null);function f(r){for(let i in s)this[i]=s[i]}var it=function(){return _.exports}();export{it as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{b as i}from"./TaskDetail.d41927ee.js";import{m as s}from"./vuex.cc7cb26e.js";import{n as a}from"./app.574b291d.js";import"./ProjectLog.c8fa1670.js";import"./DialogWrapper.b97f6e58.js";import"./le5le-store.b40f9152.js";import"./longpress.c69d0833.js";import"./index.7e1648df.js";import"./quill.b985c8ce.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./quill-mention-hi.c7a745b0.js";import"./vue-jsonp.be27271b.js";import"./vue-virtual-scroll-list-hi.83dc7c08.js";import"./vue.1f6d1fff.js";import"./ImgUpload.e397ddb2.js";import"./view-design-hi.8f621b1c.js";import"./details.573061e2.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./axios.6ec123f8.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";import"./tip.60b5cf7a.js";import"./TEditor.19e6f969.js";import"./tinymce.b77b7085.js";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"electron-task"},[r("PageTitle",{attrs:{title:t.taskInfo.name}}),t.loadIng>0?r("Loading"):r("TaskDetail",{ref:"taskDetail",attrs:{"task-id":t.taskInfo.id,"open-task":t.taskInfo,"can-update-blur":t.canUpdateBlur}})],1)},p=[];const m={components:{TaskDetail:i},data(){return{loadIng:0,canUpdateBlur:!0}},mounted(){document.addEventListener("keydown",this.shortcutEvent),this.$isSubElectron&&(window.__onBeforeUnload=()=>{if(this.$refs.taskDetail.checkUpdate())return this.canUpdateBlur=!1,$A.modalConfirm({content:"\u4FEE\u6539\u7684\u5185\u5BB9\u5C1A\u672A\u4FDD\u5B58\uFF0C\u771F\u7684\u8981\u653E\u5F03\u4FEE\u6539\u5417\uFF1F",cancelText:"\u53D6\u6D88",okText:"\u653E\u5F03",onOk:()=>{this.$Electron.sendMessage("windowDestroy")},onCancel:()=>{this.$refs.taskDetail.checkUpdate(!1),this.canUpdateBlur=!0}}),!0})},beforeDestroy(){document.removeEventListener("keydown",this.shortcutEvent)},computed:{...s(["cacheTasks"]),taskId(){const{taskId:t}=this.$route.params;return parseInt(/^\d+$/.test(t)?t:0)},taskInfo(){return this.cacheTasks.find(({id:t})=>t===this.taskId)||{}}},watch:{taskId:{handler(){this.getInfo()},immediate:!0}},methods:{getInfo(){this.taskId<=0||(this.loadIng++,this.$store.dispatch("getTaskOne",{task_id:this.taskId,archived:"all"}).then(()=>{this.$store.dispatch("getTaskContent",this.taskId),this.$store.dispatch("getTaskFiles",this.taskId),this.$store.dispatch("getTaskForParent",this.taskId).catch(()=>{}),this.$store.dispatch("getTaskPriority").catch(()=>{})}).catch(({msg:t})=>{$A.modalError({content:t,onOk:()=>{this.$Electron&&window.close()}})}).finally(t=>{this.loadIng--}))},shortcutEvent(t){(t.metaKey||t.ctrlKey)&&t.keyCode===83&&(t.preventDefault(),this.$refs.taskDetail.checkUpdate(!0))}}},o={};var c=a(m,n,p,!1,d,"7af6ba13",null,null);function d(t){for(let e in o)this[e]=o[e]}var nt=function(){return c.exports}();export{nt as default};
import{b as i}from"./TaskDetail.e84121f1.js";import{m as s}from"./vuex.cc7cb26e.js";import{n as a}from"./app.20bd5153.js";import"./ProjectLog.a0f5e49a.js";import"./DialogWrapper.4668c128.js";import"./le5le-store.b40f9152.js";import"./longpress.c69d0833.js";import"./index.e55d28a4.js";import"./quill.b985c8ce.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./quill-mention-hi.c7a745b0.js";import"./vue-jsonp.be27271b.js";import"./vue-virtual-scroll-list-hi.83dc7c08.js";import"./vue.1f6d1fff.js";import"./ImgUpload.e91f2891.js";import"./view-design-hi.8f621b1c.js";import"./details.634ff605.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./axios.6ec123f8.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";import"./tip.4bc63c90.js";import"./TEditor.a51c92a7.js";import"./tinymce.b77b7085.js";var n=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"electron-task"},[r("PageTitle",{attrs:{title:t.taskInfo.name}}),t.loadIng>0?r("Loading"):r("TaskDetail",{ref:"taskDetail",attrs:{"task-id":t.taskInfo.id,"open-task":t.taskInfo,"can-update-blur":t.canUpdateBlur}})],1)},p=[];const m={components:{TaskDetail:i},data(){return{loadIng:0,canUpdateBlur:!0}},mounted(){document.addEventListener("keydown",this.shortcutEvent),this.$isSubElectron&&(window.__onBeforeUnload=()=>{if(this.$refs.taskDetail.checkUpdate())return this.canUpdateBlur=!1,$A.modalConfirm({content:"\u4FEE\u6539\u7684\u5185\u5BB9\u5C1A\u672A\u4FDD\u5B58\uFF0C\u771F\u7684\u8981\u653E\u5F03\u4FEE\u6539\u5417\uFF1F",cancelText:"\u53D6\u6D88",okText:"\u653E\u5F03",onOk:()=>{this.$Electron.sendMessage("windowDestroy")},onCancel:()=>{this.$refs.taskDetail.checkUpdate(!1),this.canUpdateBlur=!0}}),!0})},beforeDestroy(){document.removeEventListener("keydown",this.shortcutEvent)},computed:{...s(["cacheTasks"]),taskId(){const{taskId:t}=this.$route.params;return parseInt(/^\d+$/.test(t)?t:0)},taskInfo(){return this.cacheTasks.find(({id:t})=>t===this.taskId)||{}}},watch:{taskId:{handler(){this.getInfo()},immediate:!0}},methods:{getInfo(){this.taskId<=0||(this.loadIng++,this.$store.dispatch("getTaskOne",{task_id:this.taskId,archived:"all"}).then(()=>{this.$store.dispatch("getTaskContent",this.taskId),this.$store.dispatch("getTaskFiles",this.taskId),this.$store.dispatch("getTaskForParent",this.taskId).catch(()=>{}),this.$store.dispatch("getTaskPriority").catch(()=>{})}).catch(({msg:t})=>{$A.modalError({content:t,onOk:()=>{this.$Electron&&window.close()}})}).finally(t=>{this.loadIng--}))},shortcutEvent(t){(t.metaKey||t.ctrlKey)&&t.keyCode===83&&(t.preventDefault(),this.$refs.taskDetail.checkUpdate(!0))}}},o={};var c=a(m,n,p,!1,d,"7af6ba13",null,null);function d(t){for(let e in o)this[e]=o[e]}var nt=function(){return c.exports}();export{nt as default};

View File

@ -1 +1 @@
import{m as a}from"./vuex.cc7cb26e.js";import{n as s}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var n=function(){var t=this,o=t.$createElement,e=t._self._c||o;return e("div",{staticClass:"setting-item submit"},[e("Form",{ref:"formData",attrs:{model:t.formData,rules:t.ruleData,labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth},nativeOn:{submit:function(r){r.preventDefault()}}},[e("FormItem",{attrs:{label:t.$L("\u9009\u62E9\u4E3B\u9898"),prop:"theme"}},[e("Select",{attrs:{placeholder:t.$L("\u9009\u9879\u4E3B\u9898")},model:{value:t.formData.theme,callback:function(r){t.$set(t.formData,"theme",r)},expression:"formData.theme"}},t._l(t.themeList,function(r,m){return e("Option",{key:m,attrs:{value:r.value}},[t._v(t._s(t.$L(r.name)))])}),1)],1)],1),e("div",{staticClass:"setting-footer"},[e("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),e("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},l=[];const p={data(){return{loadIng:0,formData:{theme:""},ruleData:{}}},mounted(){this.initData()},computed:{...a(["themeMode","themeList","formLabelPosition","formLabelWidth"])},methods:{initData(){this.$set(this.formData,"theme",this.themeMode),this.formData_bak=$A.cloneJSON(this.formData)},submitForm(){this.$refs.formData.validate(t=>{t&&this.$store.dispatch("setTheme",this.formData.theme).then(o=>{o&&$A.messageSuccess("\u4FDD\u5B58\u6210\u529F")})})},resetForm(){this.formData=$A.cloneJSON(this.formData_bak)}}},i={};var f=s(p,n,l,!1,c,null,null,null);function c(t){for(let o in i)this[o]=i[o]}var Q=function(){return f.exports}();export{Q as default};
import{m as a}from"./vuex.cc7cb26e.js";import{n as s}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var n=function(){var t=this,o=t.$createElement,e=t._self._c||o;return e("div",{staticClass:"setting-item submit"},[e("Form",{ref:"formData",attrs:{model:t.formData,rules:t.ruleData,labelPosition:t.formLabelPosition,labelWidth:t.formLabelWidth},nativeOn:{submit:function(r){r.preventDefault()}}},[e("FormItem",{attrs:{label:t.$L("\u9009\u62E9\u4E3B\u9898"),prop:"theme"}},[e("Select",{attrs:{placeholder:t.$L("\u9009\u9879\u4E3B\u9898")},model:{value:t.formData.theme,callback:function(r){t.$set(t.formData,"theme",r)},expression:"formData.theme"}},t._l(t.themeList,function(r,m){return e("Option",{key:m,attrs:{value:r.value}},[t._v(t._s(t.$L(r.name)))])}),1)],1)],1),e("div",{staticClass:"setting-footer"},[e("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),e("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},l=[];const p={data(){return{loadIng:0,formData:{theme:""},ruleData:{}}},mounted(){this.initData()},computed:{...a(["themeMode","themeList","formLabelPosition","formLabelWidth"])},methods:{initData(){this.$set(this.formData,"theme",this.themeMode),this.formData_bak=$A.cloneJSON(this.formData)},submitForm(){this.$refs.formData.validate(t=>{t&&this.$store.dispatch("setTheme",this.formData.theme).then(o=>{o&&$A.messageSuccess("\u4FDD\u5B58\u6210\u529F")})})},resetForm(){this.formData=$A.cloneJSON(this.formData_bak)}}},i={};var f=s(p,n,l,!1,c,null,null,null);function c(t){for(let o in i)this[o]=i[o]}var Q=function(){return f.exports}();export{Q as default};

View File

@ -1 +1 @@
import{n as l,m as u}from"./app.574b291d.js";var d=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("ETooltip",{attrs:{"open-delay":e.openDelay,disabled:e.$isEEUiApp||e.windowTouch||e.tooltipDisabled||e.isBot,placement:e.tooltipPlacement}},[e.user?t("div",{staticClass:"common-avatar-transfer",attrs:{slot:"content"},slot:"content"},[e._t("default"),t("p",[e._v(e._s(e.$L("\u6635\u79F0"))+": "+e._s(e.user.nickname)),e.user.delete_at?t("em",{staticClass:"deleted no-dark-content"},[e._v(e._s(e.$L("\u5DF2\u5220\u9664")))]):e.user.disable_at?t("em",{staticClass:"disabled no-dark-content"},[e._v(e._s(e.$L("\u5DF2\u79BB\u804C")))]):e._e()]),t("p",{staticClass:"department-name",attrs:{title:e.user.department_name||""}},[e._v(e._s(e.$L("\u90E8\u95E8"))+": "+e._s(e.user.department_name||"-"))]),t("p",[e._v(e._s(e.$L("\u804C\u4F4D/\u804C\u79F0"))+": "+e._s(e.user.profession||"-"))]),e.user.delete_at?t("p",[t("strong",[e._v(e._s(e.$L("\u5220\u9664\u65F6\u95F4"))+": "+e._s(e.user.delete_at))])]):e.user.disable_at?t("p",[t("strong",[e._v(e._s(e.$L("\u79BB\u804C\u65F6\u95F4"))+": "+e._s(e.user.disable_at))])]):e._e(),e._t("end"),e.showMenu?t("div",{staticClass:"avatar-icons"},[t("Icon",{attrs:{type:"ios-chatbubbles"},on:{click:e.onOpenDialog}})],1):e._e()],2):e._e(),t("div",[t("UserAvatar",{ref:"avatar",attrs:{userid:e.userid,size:e.size,showIcon:e.showIcon,showName:e.showName,nameText:e.nameText,borderWitdh:e.borderWitdh,borderColor:e.borderColor,clickOpenDialog:e.clickOpenDialog,userResult:e.onUserResult}})],1)])},c=[];const _={name:"UserAvatarTip",mixins:[u],props:{tooltipDisabled:{type:Boolean,default:!1},showIconMenu:{type:Boolean,default:!1},tooltipPlacement:{type:String,default:"bottom"},openDelay:{type:Number,default:600}},data(){return{user:null}},mounted(){this.$listeners["update:online"]&&(this.$watch("userid",()=>{this.updateOnline()}),this.$watch("user.online",()=>{this.updateOnline()}),this.updateOnline())},computed:{showMenu(){return this.$store.state.userId==this.userid||this.user.delete_at||this.user.disable_at?!1:this.showIconMenu},isBot(){return!!(this.user&&this.user.bot)}},methods:{onOpenDialog(){this.$refs.avatar.openDialog()},onUserResult(e){typeof this.userResult=="function"&&this.userResult(e),this.user=e},updateOnline(){if(!!this.user)if(this.user.online||this.$store.state.userId===this.userid)this.$emit("update:online",!0);else{const e=$A.Time(),s=$A.Time(this.user.line_at),t=e-s;let a="\u6700\u540E\u5728\u7EBF\u4E8E\u5F88\u4E45\u4EE5\u524D";if(t<60)a="\u6700\u540E\u5728\u7EBF\u4E8E\u521A\u521A";else if(t<3600)a=`\u6700\u540E\u5728\u7EBF\u4E8E ${Math.floor(t/60)} \u5206\u949F\u524D`;else if(t<3600*6)a=`\u6700\u540E\u5728\u7EBF\u4E8E ${Math.floor(t/3600)} \u5C0F\u65F6\u524D`;else{const r=$A.formatDate("Y-m-d",e),n=$A.formatDate("Y-m-d",s),i=$A.formatDate("H:i",s);r===n?a=`\u6700\u540E\u5728\u7EBF\u4E8E\u4ECA\u5929 ${i}`:$A.formatDate("Y-m-d",e-86400)===n?a=`\u6700\u540E\u5728\u7EBF\u4E8E\u6628\u5929 ${i}`:t<3600*24*365&&(a=`\u6700\u540E\u5728\u7EBF\u4E8E ${n}`)}this.$emit("update:online",this.$L(a))}}}},o={};var p=l(_,d,c,!1,m,null,null,null);function m(e){for(let s in o)this[s]=o[s]}var f=function(){return p.exports}();export{f as U};
import{n as l,m as u}from"./app.20bd5153.js";var d=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("ETooltip",{attrs:{"open-delay":e.openDelay,disabled:e.$isEEUiApp||e.windowTouch||e.tooltipDisabled||e.isBot,placement:e.tooltipPlacement}},[e.user?t("div",{staticClass:"common-avatar-transfer",attrs:{slot:"content"},slot:"content"},[e._t("default"),t("p",[e._v(e._s(e.$L("\u6635\u79F0"))+": "+e._s(e.user.nickname)),e.user.delete_at?t("em",{staticClass:"deleted no-dark-content"},[e._v(e._s(e.$L("\u5DF2\u5220\u9664")))]):e.user.disable_at?t("em",{staticClass:"disabled no-dark-content"},[e._v(e._s(e.$L("\u5DF2\u79BB\u804C")))]):e._e()]),t("p",{staticClass:"department-name",attrs:{title:e.user.department_name||""}},[e._v(e._s(e.$L("\u90E8\u95E8"))+": "+e._s(e.user.department_name||"-"))]),t("p",[e._v(e._s(e.$L("\u804C\u4F4D/\u804C\u79F0"))+": "+e._s(e.user.profession||"-"))]),e.user.delete_at?t("p",[t("strong",[e._v(e._s(e.$L("\u5220\u9664\u65F6\u95F4"))+": "+e._s(e.user.delete_at))])]):e.user.disable_at?t("p",[t("strong",[e._v(e._s(e.$L("\u79BB\u804C\u65F6\u95F4"))+": "+e._s(e.user.disable_at))])]):e._e(),e._t("end"),e.showMenu?t("div",{staticClass:"avatar-icons"},[t("Icon",{attrs:{type:"ios-chatbubbles"},on:{click:e.onOpenDialog}})],1):e._e()],2):e._e(),t("div",[t("UserAvatar",{ref:"avatar",attrs:{userid:e.userid,size:e.size,showIcon:e.showIcon,showName:e.showName,nameText:e.nameText,borderWitdh:e.borderWitdh,borderColor:e.borderColor,clickOpenDialog:e.clickOpenDialog,userResult:e.onUserResult}})],1)])},c=[];const _={name:"UserAvatarTip",mixins:[u],props:{tooltipDisabled:{type:Boolean,default:!1},showIconMenu:{type:Boolean,default:!1},tooltipPlacement:{type:String,default:"bottom"},openDelay:{type:Number,default:600}},data(){return{user:null}},mounted(){this.$listeners["update:online"]&&(this.$watch("userid",()=>{this.updateOnline()}),this.$watch("user.online",()=>{this.updateOnline()}),this.updateOnline())},computed:{showMenu(){return this.$store.state.userId==this.userid||this.user.delete_at||this.user.disable_at?!1:this.showIconMenu},isBot(){return!!(this.user&&this.user.bot)}},methods:{onOpenDialog(){this.$refs.avatar.openDialog()},onUserResult(e){typeof this.userResult=="function"&&this.userResult(e),this.user=e},updateOnline(){if(!!this.user)if(this.user.online||this.$store.state.userId===this.userid)this.$emit("update:online",!0);else{const e=$A.Time(),s=$A.Time(this.user.line_at),t=e-s;let a="\u6700\u540E\u5728\u7EBF\u4E8E\u5F88\u4E45\u4EE5\u524D";if(t<60)a="\u6700\u540E\u5728\u7EBF\u4E8E\u521A\u521A";else if(t<3600)a=`\u6700\u540E\u5728\u7EBF\u4E8E ${Math.floor(t/60)} \u5206\u949F\u524D`;else if(t<3600*6)a=`\u6700\u540E\u5728\u7EBF\u4E8E ${Math.floor(t/3600)} \u5C0F\u65F6\u524D`;else{const r=$A.formatDate("Y-m-d",e),n=$A.formatDate("Y-m-d",s),i=$A.formatDate("H:i",s);r===n?a=`\u6700\u540E\u5728\u7EBF\u4E8E\u4ECA\u5929 ${i}`:$A.formatDate("Y-m-d",e-86400)===n?a=`\u6700\u540E\u5728\u7EBF\u4E8E\u6628\u5929 ${i}`:t<3600*24*365&&(a=`\u6700\u540E\u5728\u7EBF\u4E8E ${n}`)}this.$emit("update:online",this.$L(a))}}}},o={};var p=l(_,d,c,!1,m,null,null,null);function m(e){for(let s in o)this[s]=o[s]}var f=function(){return p.exports}();export{f as U};

View File

@ -1 +1 @@
import{n as i}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,o=t.$createElement,r=t._self._c||o;return r("div",{staticClass:"token-transfer"},[r("Loading")],1)},n=[];const p={mounted(){this.goNext1()},methods:{goNext1(){const t=$A.urlParameterAll();t.token&&this.$store.dispatch("call",{url:"users/info",header:{token:t.token}}).then(o=>{this.$store.dispatch("saveUserInfo",o.data),this.goNext2()}).catch(o=>{this.goForward({name:"login"},!0)})},goNext2(){let t=decodeURIComponent($A.getObject(this.$route.query,"from"));t?window.location.replace(t):this.goForward({name:"manage-dashboard"},!0)}}},e={};var a=i(p,m,n,!1,s,"5df16c44",null,null);function s(t){for(let o in e)this[o]=e[o]}var J=function(){return a.exports}();export{J as default};
import{n as i}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,o=t.$createElement,r=t._self._c||o;return r("div",{staticClass:"token-transfer"},[r("Loading")],1)},n=[];const p={mounted(){this.goNext1()},methods:{goNext1(){const t=$A.urlParameterAll();t.token&&this.$store.dispatch("call",{url:"users/info",header:{token:t.token}}).then(o=>{this.$store.dispatch("saveUserInfo",o.data),this.goNext2()}).catch(o=>{this.goForward({name:"login"},!0)})},goNext2(){let t=decodeURIComponent($A.getObject(this.$route.query,"from"));t?window.location.replace(t):this.goForward({name:"manage-dashboard"},!0)}}},e={};var a=i(p,m,n,!1,s,"5df16c44",null,null);function s(t){for(let o in e)this[o]=e[o]}var J=function(){return a.exports}();export{J as default};

View File

@ -1 +1 @@
import{n as o}from"./app.574b291d.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.6de43c5b.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.7d359fd7.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,i=t.$createElement,r=t._self._c||i;return r("div",{staticClass:"valid-wrap"},[r("div",{staticClass:"valid-box"},[r("div",{staticClass:"valid-title"},[t._v(t._s(t.$L("\u9A8C\u8BC1\u90AE\u7BB1")))]),!t.success&&!t.error?r("Spin",{attrs:{size:"large"}}):t._e(),t.success?r("div",{staticClass:"validation-text"},[r("p",[t._v(t._s(t.$L("\u60A8\u7684\u90AE\u7BB1\u5DF2\u901A\u8FC7\u9A8C\u8BC1")))]),r("p",[t._v(t._s(t.$L("\u4ECA\u540E\u60A8\u53EF\u4EE5\u901A\u8FC7\u6B64\u90AE\u7BB1\u91CD\u7F6E\u60A8\u7684\u5E10\u53F7\u5BC6\u7801")))])]):t._e(),t.error?r("div",{staticClass:"validation-text"},[r("div",[t._v(t._s(t.errorText))])]):t._e(),t.success?r("div",{attrs:{slot:"footer"},slot:"footer"},[r("Button",{attrs:{type:"primary",long:""},on:{click:t.userLogout}},[t._v(t._s(t.$L("\u8FD4\u56DE\u9996\u9875")))])],1):t._e()],1)])},a=[];const m={data(){return{success:!1,error:!1,errorText:this.$L("\u94FE\u63A5\u5DF2\u8FC7\u671F\uFF0C\u5DF2\u91CD\u65B0\u53D1\u9001")}},mounted(){this.verificationEmail()},methods:{verificationEmail(){this.$store.dispatch("call",{url:"users/email/verification",data:{code:this.$route.query.code}}).then(()=>{this.success=!0,this.error=!1}).catch(({data:t,msg:i})=>{t.code===2?this.goForward({name:"index",query:{action:"index"}},!0):(this.success=!1,this.error=!0,this.errorText=this.$L(i))})},userLogout(){this.$store.dispatch("logout",!1)}}},e={};var p=o(m,s,a,!1,c,"763444c4",null,null);function c(t){for(let i in e)this[i]=e[i]}var O=function(){return p.exports}();export{O as default};
import{n as o}from"./app.20bd5153.js";import"./@micro-zoe.c2e1472d.js";import"./jquery.20f4a9bb.js";import"./@traptitech.88860da3.js";import"./katex.4a7ead58.js";import"./localforage.1719aefe.js";import"./markdown-it.7c737f4d.js";import"./entities.797c3e49.js";import"./uc.micro.39573202.js";import"./mdurl.2f66c031.js";import"./linkify-it.3ecfda1e.js";import"./punycode.1f25cbf2.js";import"./highlight.js.1d50a63d.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./vue.1f6d1fff.js";import"./vuex.cc7cb26e.js";import"./axios.6ec123f8.js";import"./le5le-store.b40f9152.js";import"./openpgp_hi.15f91b1d.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.14cddeec.js";import"./clipboard.a5ccae61.js";import"./view-design-hi.8f621b1c.js";import"./vuedraggable.d4178698.js";import"./sortablejs.ccb26b57.js";import"./vue-resize-observer.f25572a9.js";import"./element-sea.dea177ef.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.cc119aac.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.87a1f938.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,i=t.$createElement,r=t._self._c||i;return r("div",{staticClass:"valid-wrap"},[r("div",{staticClass:"valid-box"},[r("div",{staticClass:"valid-title"},[t._v(t._s(t.$L("\u9A8C\u8BC1\u90AE\u7BB1")))]),!t.success&&!t.error?r("Spin",{attrs:{size:"large"}}):t._e(),t.success?r("div",{staticClass:"validation-text"},[r("p",[t._v(t._s(t.$L("\u60A8\u7684\u90AE\u7BB1\u5DF2\u901A\u8FC7\u9A8C\u8BC1")))]),r("p",[t._v(t._s(t.$L("\u4ECA\u540E\u60A8\u53EF\u4EE5\u901A\u8FC7\u6B64\u90AE\u7BB1\u91CD\u7F6E\u60A8\u7684\u5E10\u53F7\u5BC6\u7801")))])]):t._e(),t.error?r("div",{staticClass:"validation-text"},[r("div",[t._v(t._s(t.errorText))])]):t._e(),t.success?r("div",{attrs:{slot:"footer"},slot:"footer"},[r("Button",{attrs:{type:"primary",long:""},on:{click:t.userLogout}},[t._v(t._s(t.$L("\u8FD4\u56DE\u9996\u9875")))])],1):t._e()],1)])},a=[];const m={data(){return{success:!1,error:!1,errorText:this.$L("\u94FE\u63A5\u5DF2\u8FC7\u671F\uFF0C\u5DF2\u91CD\u65B0\u53D1\u9001")}},mounted(){this.verificationEmail()},methods:{verificationEmail(){this.$store.dispatch("call",{url:"users/email/verification",data:{code:this.$route.query.code}}).then(()=>{this.success=!0,this.error=!1}).catch(({data:t,msg:i})=>{t.code===2?this.goForward({name:"index",query:{action:"index"}},!0):(this.success=!1,this.error=!0,this.errorText=this.$L(i))})},userLogout(){this.$store.dispatch("logout",!1)}}},e={};var p=o(m,s,a,!1,c,"763444c4",null,null);function c(t){for(let i in e)this[i]=e[i]}var O=function(){return p.exports}();export{O as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More