mirror of
https://github.com/kuaifan/dootask.git
synced 2026-01-27 21:28:12 +00:00
Merge commit 'ada88a1c02740846547eb2c3eaf37639006b3b57' into pro
This commit is contained in:
commit
ecdabc668d
@ -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']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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'])) {
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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 对应的项目列表
|
||||
|
||||
@ -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 记录数据
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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(); // 项目成员
|
||||
}
|
||||
|
||||
37
app/Models/ProjectTaskVisibilityUser.php
Normal file
37
app/Models/ProjectTaskVisibilityUser.php
Normal 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');
|
||||
}
|
||||
|
||||
}
|
||||
@ -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()
|
||||
|
||||
@ -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'])}";
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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'];
|
||||
|
||||
@ -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()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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");
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -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');
|
||||
}
|
||||
}
|
||||
@ -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");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -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"
|
||||
|
||||
@ -1493,3 +1493,10 @@ License Key
|
||||
你确定要打包下载【(*)】文件夹吗?
|
||||
正在打包,请留意系统消息
|
||||
发起,参与接龙目前共(*)人
|
||||
|
||||
选择会员
|
||||
请选择移动后状态
|
||||
移动成功
|
||||
置顶人员
|
||||
置顶了
|
||||
你确定取消置顶吗?
|
||||
|
||||
@ -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?"
|
||||
}
|
||||
]
|
||||
34
public/docs/assets/main.bundle.js
vendored
34
public/docs/assets/main.bundle.js
vendored
File diff suppressed because one or more lines are too long
@ -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>
|
||||
|
||||
@ -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
@ -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
6
public/js/build/DialogWrapper.4668c128.js
vendored
Normal file
6
public/js/build/DialogWrapper.4668c128.js
vendored
Normal file
File diff suppressed because one or more lines are too long
6
public/js/build/DialogWrapper.b97f6e58.js
vendored
6
public/js/build/DialogWrapper.b97f6e58.js
vendored
File diff suppressed because one or more lines are too long
@ -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
@ -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
@ -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
@ -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
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
6
public/js/build/app.d37df7b3.css
vendored
6
public/js/build/app.d37df7b3.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -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};
|
||||
@ -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
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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};
|
||||
@ -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
@ -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};
|
||||
@ -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};
|
||||
@ -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};
|
||||
@ -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
@ -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};
|
||||
@ -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};
|
||||
@ -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};
|
||||
@ -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};
|
||||
@ -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
2
public/language/web/de.js
vendored
2
public/language/web/de.js
vendored
File diff suppressed because one or more lines are too long
2
public/language/web/en.js
vendored
2
public/language/web/en.js
vendored
File diff suppressed because one or more lines are too long
2
public/language/web/fr.js
vendored
2
public/language/web/fr.js
vendored
File diff suppressed because one or more lines are too long
2
public/language/web/id.js
vendored
2
public/language/web/id.js
vendored
File diff suppressed because one or more lines are too long
2
public/language/web/ja.js
vendored
2
public/language/web/ja.js
vendored
File diff suppressed because one or more lines are too long
2
public/language/web/key.js
vendored
2
public/language/web/key.js
vendored
File diff suppressed because one or more lines are too long
2
public/language/web/ko.js
vendored
2
public/language/web/ko.js
vendored
File diff suppressed because one or more lines are too long
2
public/language/web/zh-CHT.js
vendored
2
public/language/web/zh-CHT.js
vendored
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
Loading…
x
Reference in New Issue
Block a user