Merge branch 'master' of github.com:kuaifan/dootask
# Conflicts: # app/Exceptions/Handler.php
@ -60,7 +60,7 @@ class Handler extends ExceptionHandler
|
||||
}
|
||||
|
||||
/**
|
||||
* 重写report优雅记录laravel日志
|
||||
* 重写report优雅记录
|
||||
* @param Throwable $e
|
||||
* @throws Throwable
|
||||
*/
|
||||
|
@ -407,7 +407,8 @@ class FileController extends AbstractController
|
||||
$path = 'uploads/office/' . date("Ym") . '/u' . $user->userid . '/';
|
||||
$data = Base::upload([
|
||||
"file" => Request::file('files'),
|
||||
"type" => 'office',
|
||||
"type" => 'more',
|
||||
"autoThumb" => false,
|
||||
"path" => $path,
|
||||
]);
|
||||
if (Base::isError($data)) {
|
||||
@ -415,36 +416,36 @@ class FileController extends AbstractController
|
||||
}
|
||||
$data = $data['data'];
|
||||
//
|
||||
$type = "";
|
||||
switch ($data['ext']) {
|
||||
case 'doc':
|
||||
case 'docx':
|
||||
$type = "word";
|
||||
break;
|
||||
case 'xls':
|
||||
case 'xlsx':
|
||||
$type = "excel";
|
||||
break;
|
||||
case 'ppt':
|
||||
case 'pptx':
|
||||
$type = "ppt";
|
||||
break;
|
||||
}
|
||||
$type = match ($data['ext']) {
|
||||
'doc', 'docx' => "word",
|
||||
'xls', 'xlsx' => "excel",
|
||||
'ppt', 'pptx' => "ppt",
|
||||
'txt', 'html', 'htm', 'asp', 'jsp', 'xml', 'json', 'properties', 'md', 'gitignore', 'log', 'java', 'py', 'c', 'cpp', 'sql', 'sh', 'bat', 'm', 'bas', 'prg', 'cmd' => "text",
|
||||
'jpg', 'jpeg', 'png', 'gif' => 'image',
|
||||
'zip', 'rar', 'jar', 'tar', 'gzip' => 'compress',
|
||||
'mp3', 'wav', 'mp4', 'flv' => 'media',
|
||||
'pdf' => 'pdf',
|
||||
'dwg' => 'cad',
|
||||
default => "",
|
||||
};
|
||||
$file = File::createInstance([
|
||||
'pid' => $pid,
|
||||
'name' => Base::rightDelete($data['name'], '.' . $data['ext']),
|
||||
'type' => $type,
|
||||
'ext' => $data['ext'],
|
||||
'userid' => $userid,
|
||||
'created_id' => $user->userid,
|
||||
]);
|
||||
// 开始创建
|
||||
return AbstractModel::transaction(function () use ($user, $data, $file) {
|
||||
return AbstractModel::transaction(function () use ($type, $user, $data, $file) {
|
||||
$file->save();
|
||||
//
|
||||
$content = FileContent::createInstance([
|
||||
'fid' => $file->id,
|
||||
'content' => [
|
||||
'from' => '',
|
||||
'type' => $type,
|
||||
'ext' => $data['ext'],
|
||||
'url' => $data['path']
|
||||
],
|
||||
'text' => '',
|
||||
|
@ -10,18 +10,18 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Request;
|
||||
|
||||
/**
|
||||
* Class File
|
||||
* App\Models\File
|
||||
*
|
||||
* @package App\Models
|
||||
* @property int $id
|
||||
* @property int|null $pid 上级ID
|
||||
* @property int|null $cid 复制ID
|
||||
* @property string|null $name 名称
|
||||
* @property string|null $type 类型
|
||||
* @property string|null $ext 后缀名
|
||||
* @property int|null $size 大小(B)
|
||||
* @property int|null $userid 拥有者ID
|
||||
* @property int|null $share 是否共享(1:共享所有人,2:指定成员)
|
||||
* @property int|null $created_id 创建者ID
|
||||
* @property int|null $share 是否共享
|
||||
* @property int|null $created_id 创建者
|
||||
* @property \Illuminate\Support\Carbon|null $created_at
|
||||
* @property \Illuminate\Support\Carbon|null $updated_at
|
||||
* @property \Illuminate\Support\Carbon|null $deleted_at
|
||||
@ -33,6 +33,7 @@ use Request;
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|File whereCreatedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|File whereCreatedId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|File whereDeletedAt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|File whereExt($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|File whereId($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|File whereName($value)
|
||||
* @method static \Illuminate\Database\Eloquent\Builder|File wherePid($value)
|
||||
|
@ -57,26 +57,28 @@ class FileContent extends AbstractModel
|
||||
return Response::download(public_path($content['url']));
|
||||
}
|
||||
if (empty($content)) {
|
||||
switch ($type) {
|
||||
case 'document':
|
||||
$content = [
|
||||
"type" => "md",
|
||||
"content" => "",
|
||||
];
|
||||
break;
|
||||
|
||||
case 'sheet':
|
||||
$content = [
|
||||
[
|
||||
"name" => "Sheet1",
|
||||
"config" => json_decode('{}'),
|
||||
]
|
||||
];
|
||||
break;
|
||||
|
||||
default:
|
||||
$content = json_decode('{}');
|
||||
break;
|
||||
$content = match ($type) {
|
||||
'document' => [
|
||||
"type" => "md",
|
||||
"content" => "",
|
||||
],
|
||||
'sheet' => [
|
||||
[
|
||||
"name" => "Sheet1",
|
||||
"config" => json_decode('{}'),
|
||||
]
|
||||
],
|
||||
default => json_decode('{}'),
|
||||
};
|
||||
} else {
|
||||
$content['preview'] = false;
|
||||
if ($content['ext'] && !in_array($content['ext'], ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'])) {
|
||||
$url = 'http://' . env('APP_IPPR') . '.3/' . $content['url'];
|
||||
if ($type == 'image') {
|
||||
$url = Base::fillUrl($content['url']);
|
||||
}
|
||||
$content['url'] = base64_encode($url);
|
||||
$content['preview'] = true;
|
||||
}
|
||||
}
|
||||
return Base::retSuccess('success', [ 'content' => $content ]);
|
||||
|
@ -2218,17 +2218,22 @@ class Base
|
||||
case 'file':
|
||||
$type = ['jpg', 'jpeg', 'png', 'gif', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'esp', 'pdf', 'rar', 'zip', 'gz'];
|
||||
break;
|
||||
case 'office':
|
||||
$type = ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'];
|
||||
break;
|
||||
case 'firmware':
|
||||
$type = ['img', 'tar', 'bin'];
|
||||
break;
|
||||
case 'md':
|
||||
$type = ['md'];
|
||||
break;
|
||||
case 'node_template':
|
||||
$type = ['csv'];
|
||||
case 'more':
|
||||
$type = [
|
||||
'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx',
|
||||
'txt', 'html', 'htm', 'asp', 'jsp', 'xml', 'json', 'properties', 'md', 'gitignore', 'log', 'java', 'py', 'c', 'cpp', 'sql', 'sh', 'bat', 'm', 'bas', 'prg', 'cmd',
|
||||
'jpg', 'jpeg', 'png', 'gif',
|
||||
'zip', 'rar', 'jar', 'tar', 'gzip',
|
||||
'mp3', 'wav', 'mp4', 'flv',
|
||||
'pdf',
|
||||
'dwg'
|
||||
];
|
||||
break;
|
||||
default:
|
||||
return Base::retError('错误的类型参数');
|
||||
|
47
database/migrations/2021_12_10_170751_files_add_ext.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class FilesAddExt extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
$isAdd = false;
|
||||
Schema::table('files', function (Blueprint $table) use (&$isAdd) {
|
||||
if (!Schema::hasColumn('files', 'ext')) {
|
||||
$isAdd = true;
|
||||
$table->string('ext', 20)->nullable()->default('')->after('type')->comment('后缀名');
|
||||
}
|
||||
});
|
||||
if ($isAdd) {
|
||||
// 更新数据
|
||||
\App\Models\File::chunkById(100, function ($lists) {
|
||||
foreach ($lists as $item) {
|
||||
if (in_array($item->type, ['word', 'excel', 'ppt'])) {
|
||||
$item->ext = str_replace(['word', 'excel', 'ppt'], ['docx', 'xlsx', 'pptx'], $item->type);
|
||||
$item->save();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('files', function (Blueprint $table) {
|
||||
$table->dropColumn("ext");
|
||||
});
|
||||
}
|
||||
}
|
@ -41,11 +41,10 @@ services:
|
||||
networks:
|
||||
extnetwork:
|
||||
ipv4_address: "${APP_IPPR}.3"
|
||||
depends_on:
|
||||
- php
|
||||
links:
|
||||
- php
|
||||
- office
|
||||
- fileview
|
||||
restart: unless-stopped
|
||||
|
||||
redis:
|
||||
@ -95,6 +94,17 @@ services:
|
||||
ipv4_address: "${APP_IPPR}.6"
|
||||
restart: unless-stopped
|
||||
|
||||
fileview:
|
||||
container_name: "dootask-fileview-${APP_ID}"
|
||||
image: "kuaifan/fileview:4.1.0"
|
||||
environment:
|
||||
TZ: "Asia/Shanghai"
|
||||
KK_CONTEXT_PATH: "/fileview"
|
||||
networks:
|
||||
extnetwork:
|
||||
ipv4_address: "${APP_IPPR}.7"
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
extnetwork:
|
||||
name: "dootask-networks-${APP_ID}"
|
||||
|
@ -2,6 +2,18 @@ map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
map $http_host $this_host {
|
||||
"" $host;
|
||||
default $http_host;
|
||||
}
|
||||
map $http_x_forwarded_proto $the_scheme {
|
||||
default $http_x_forwarded_proto;
|
||||
"" $scheme;
|
||||
}
|
||||
map $http_x_forwarded_host $the_host {
|
||||
default $http_x_forwarded_host;
|
||||
"" $this_host;
|
||||
}
|
||||
upstream service {
|
||||
server php:20000 weight=5 max_fails=3 fail_timeout=30s;
|
||||
keepalive 16;
|
||||
@ -10,6 +22,10 @@ upstream office {
|
||||
server office weight=5 max_fails=3 fail_timeout=30s;
|
||||
keepalive 16;
|
||||
}
|
||||
upstream fileview {
|
||||
server fileview:8012 weight=5 max_fails=3 fail_timeout=30s;
|
||||
keepalive 16;
|
||||
}
|
||||
server {
|
||||
listen 80;
|
||||
|
||||
@ -32,26 +48,12 @@ server {
|
||||
allow all;
|
||||
}
|
||||
|
||||
location ~* ^/(6.3.1-32|cache/files|web-apps/apps)/ {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Real-PORT $remote_port;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Scheme $scheme;
|
||||
proxy_set_header Server-Protocol $server_protocol;
|
||||
proxy_set_header Server-Name $server_name;
|
||||
proxy_set_header Server-Addr $server_addr;
|
||||
proxy_set_header Server-Port $server_port;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
proxy_pass http://office;
|
||||
}
|
||||
|
||||
location =/ws {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Real-PORT $remote_port;
|
||||
proxy_set_header X-Forwarded-Host $the_host;
|
||||
proxy_set_header X-Forwarded-Proto $the_scheme;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Scheme $scheme;
|
||||
@ -69,6 +71,8 @@ server {
|
||||
proxy_set_header Connection "";
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Real-PORT $remote_port;
|
||||
proxy_set_header X-Forwarded-Host $the_host;
|
||||
proxy_set_header X-Forwarded-Proto $the_scheme;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Scheme $scheme;
|
||||
@ -78,6 +82,41 @@ server {
|
||||
proxy_set_header Server-Port $server_port;
|
||||
proxy_pass http://service;
|
||||
}
|
||||
|
||||
location /office/ {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Real-PORT $remote_port;
|
||||
proxy_set_header X-Forwarded-Host $the_host/office;
|
||||
proxy_set_header X-Forwarded-Proto $the_scheme;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Scheme $scheme;
|
||||
proxy_set_header Server-Protocol $server_protocol;
|
||||
proxy_set_header Server-Name $server_name;
|
||||
proxy_set_header Server-Addr $server_addr;
|
||||
proxy_set_header Server-Port $server_port;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
proxy_pass http://office/;
|
||||
}
|
||||
|
||||
location /fileview {
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Connection "";
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Real-PORT $remote_port;
|
||||
proxy_set_header X-Forwarded-Host $the_host;
|
||||
proxy_set_header X-Forwarded-Proto $the_scheme;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header Host $http_host;
|
||||
proxy_set_header Scheme $scheme;
|
||||
proxy_set_header Server-Protocol $server_protocol;
|
||||
proxy_set_header Server-Name $server_name;
|
||||
proxy_set_header Server-Addr $server_addr;
|
||||
proxy_set_header Server-Port $server_port;
|
||||
proxy_pass http://fileview;
|
||||
}
|
||||
}
|
||||
|
||||
include /etc/nginx/conf.d/conf.d/*.conf;
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "DooTask",
|
||||
"version": "0.3.47",
|
||||
"version": "0.3.56",
|
||||
"description": "DooTask is task management system.",
|
||||
"scripts": {
|
||||
"start": "./cmd dev",
|
||||
|
10172
public/css/app.css
vendored
1
public/images/file/cad.svg
Normal file
After Width: | Height: | Size: 4.9 KiB |
1
public/images/file/compress.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1639134709586" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5694" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#989FA5" p-id="5695"></path><path d="M686.933333 337.066667h166.4L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="5696"></path><path d="M533.333333 524.8v119.466667l12.8 25.6c0 4.266667 4.266667 8.533333 4.266667 8.533333v72.533333c8.533333-4.266667 12.8-12.8 12.8-25.6v-170.666666c-4.266667-12.8-17.066667-25.6-29.866667-29.866667zM512 652.8v-119.466667c0-12.8-8.533333-21.333333-21.333333-21.333333h-68.266667v29.866667h-29.866667v-29.866667h-55.466666c-12.8 0-21.333333 8.533333-21.333334 21.333333v213.333334c0 12.8 8.533333 21.333333 21.333334 21.333333h170.666666c12.8 0 21.333333-8.533333 21.333334-21.333333v-64l-17.066667-29.866667z m-59.733333-76.8h-29.866667v29.866667h29.866667v89.6h-59.733334v-59.733334h29.866667v-29.866666h-29.866667v-29.866667h29.866667v-29.866667h29.866667v29.866667z" fill="#FFFFFF" p-id="5697"></path></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
public/images/file/image.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1639131622718" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11457" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#53CBAE" p-id="11458"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="11459"></path><path d="M550.4 503.466667h-213.333333c-17.066667 0-34.133333 12.8-34.133334 34.133333v213.333333c0 17.066667 12.8 34.133333 34.133334 34.133334h213.333333c17.066667 0 34.133333-12.8 34.133333-34.133334v-213.333333c-4.266667-17.066667-17.066667-34.133333-34.133333-34.133333z m-68.266667 68.266666c17.066667 0 29.866667 12.8 29.866667 29.866667s-12.8 29.866667-29.866667 29.866667-29.866667-12.8-29.866666-29.866667 12.8-29.866667 29.866666-29.866667z m76.8 179.2c0 4.266667-4.266667 8.533333-8.533333 8.533334h-213.333333c-4.266667 0-8.533333-4.266667-8.533334-8.533334V725.333333L384 665.6c12.8-12.8 29.866667-12.8 38.4 0l59.733333 59.733333 21.333334-21.333333c12.8-12.8 29.866667-12.8 38.4 0l21.333333 21.333333v25.6z" fill="#FFFFFF" p-id="11460"></path></svg>
|
After Width: | Height: | Size: 1.5 KiB |
1
public/images/file/media.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1639131652752" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11826" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#6067DC" p-id="11827"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="11828"></path><path d="M516.266667 627.2v29.866667l59.733333 51.2c12.8 8.533333 29.866667 0 29.866667-12.8v-106.666667c0-12.8-17.066667-21.333333-29.866667-12.8l-59.733333 51.2z" fill="#FFFFFF" p-id="11829"></path><path d="M473.6 529.066667H328.533333c-21.333333 0-42.666667 21.333333-42.666666 42.666666v140.8c0 21.333333 21.333333 42.666667 42.666666 42.666667h149.333334c21.333333 0 42.666667-21.333333 42.666666-42.666667v-140.8c-4.266667-21.333333-21.333333-42.666667-46.933333-42.666666z m-29.866667 119.466666l-55.466666 42.666667c-4.266667 4.266667-12.8 0-12.8-8.533333v-85.333334c0-8.533333 8.533333-12.8 12.8-8.533333l55.466666 42.666667c4.266667 8.533333 4.266667 12.8 0 17.066666z" fill="#FFFFFF" p-id="11830"></path></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
public/images/file/pdf.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1639131674043" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11971" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#EA4845" p-id="11972"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="11973"></path><path d="M554.666667 657.066667c-21.333333 0-42.666667 4.266667-68.266667 8.533333-12.8-8.533333-21.333333-21.333333-34.133333-29.866667l-17.066667-17.066666c12.8-42.666667 12.8-72.533333 12.8-85.333334 0-4.266667 0-8.533333-4.266667-12.8-4.266667-12.8-17.066667-21.333333-29.866666-21.333333-12.8 0-21.333333 4.266667-29.866667 17.066667 0-4.266667-4.266667 4.266667-4.266667 8.533333 0 25.6 12.8 59.733333 34.133334 89.6l-12.8 38.4c-4.266667 12.8-12.8 25.6-17.066667 38.4-21.333333 8.533333-42.666667 17.066667-64 29.866667-4.266667 0-4.266667 4.266667-8.533333 4.266666-4.266667 4.266667-8.533333 12.8-8.533334 21.333334 0 17.066667 12.8 29.866667 29.866667 29.866666 8.533333 0 12.8-4.266667 21.333333-8.533333l4.266667-4.266667c17.066667-17.066667 29.866667-38.4 38.4-59.733333 12.8-4.266667 21.333333-8.533333 34.133333-12.8 17.066667-4.266667 34.133333-8.533333 46.933334-12.8 25.6 17.066667 51.2 29.866667 68.266666 29.866667 17.066667 0 29.866667-12.8 29.866667-29.866667 4.266667-8.533333-4.266667-21.333333-21.333333-21.333333z m-38.4 21.333333c12.8 0 25.6-4.266667 38.4-4.266667 4.266667 0 8.533333 4.266667 8.533333 8.533334s-4.266667 8.533333-8.533333 8.533333c-12.8 0-25.6-4.266667-38.4-12.8z m-110.933334-157.866667c4.266667-8.533333 17.066667-8.533333 21.333334 0v4.266667c0 17.066667 0 38.4-8.533334 64-12.8-21.333333-21.333333-46.933333-21.333333-64 4.266667 0 4.266667-4.266667 8.533333-4.266667zM341.333333 759.466667c-4.266667 4.266667-12.8 0-12.8-8.533334 0-4.266667 0-4.266667 4.266667-8.533333l4.266667-4.266667c8.533333-4.266667 21.333333-12.8 34.133333-17.066666-12.8 12.8-21.333333 25.6-29.866667 38.4z m85.333334-81.066667c-4.266667 0-12.8 4.266667-17.066667 4.266667 4.266667-8.533333 8.533333-12.8 8.533333-21.333334 4.266667-8.533333 4.266667-17.066667 8.533334-25.6l8.533333 8.533334 21.333333 21.333333c-4.266667 4.266667-17.066667 8.533333-29.866666 12.8z" fill="#FFFFFF" p-id="11974"></path></svg>
|
After Width: | Height: | Size: 2.6 KiB |
1
public/images/file/text.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028321516" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10195" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#447AF9" p-id="10196"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="10197"></path><path d="M486.4 780.8h-170.666667c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533334h170.666667c4.266667 0 8.533333 4.266667 8.533333 8.533334s-4.266667 8.533333-8.533333 8.533333zM571.733333 695.466667h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533334s4.266667-8.533333 8.533333-8.533333h256c4.266667 0 8.533333 4.266667 8.533334 8.533333s-4.266667 8.533333-8.533334 8.533334zM571.733333 610.133333h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533333h256c4.266667 0 8.533333 4.266667 8.533334 8.533333s-4.266667 8.533333-8.533334 8.533333zM571.733333 524.8h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533334h256c4.266667 0 8.533333 4.266667 8.533334 8.533334s-4.266667 8.533333-8.533334 8.533333z" fill="#FFFFFF" p-id="10198"></path></svg>
|
After Width: | Height: | Size: 1.6 KiB |
2
public/js/app.js
vendored
2
public/js/build/120.js
vendored
@ -1,20 +1,20 @@
|
||||
/*!
|
||||
* html2canvas 1.0.0-rc.7 <https://html2canvas.hertzen.com>
|
||||
* Copyright (c) 2020 Niklas von Hertzen <https://hertzen.com>
|
||||
* html2canvas 1.3.3 <https://html2canvas.hertzen.com>
|
||||
* Copyright (c) 2021 Niklas von Hertzen <https://hertzen.com>
|
||||
* Released under MIT License
|
||||
*/
|
||||
|
||||
/*! *****************************************************************************
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
||||
this file except in compliance with the License. You may obtain a copy of the
|
||||
License at http://www.apache.org/licenses/LICENSE-2.0
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
||||
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
||||
MERCHANTABLITY OR NON-INFRINGEMENT.
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted.
|
||||
|
||||
See the Apache Version 2.0 License for specific language governing permissions
|
||||
and limitations under the License.
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
|
1
public/js/build/165.js
vendored
Normal file
2
public/js/build/188.js
vendored
2
public/js/build/237.js
vendored
Normal file
2
public/js/build/294.js
vendored
Normal file
3
public/js/build/294.js.LICENSE.txt
Normal file
@ -0,0 +1,3 @@
|
||||
/*! cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */
|
||||
|
||||
/*! cputils.js (C) 2013-present SheetJS -- http://sheetjs.com */
|
1
public/js/build/3.js
vendored
Normal file
1
public/js/build/329.js
vendored
1
public/js/build/341.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[341],{92776:(e,t,i)=>{i.d(t,{Z:()=>o});var r=i(23645),n=i.n(r)()((function(e){return e[1]}));n.push([e.id,".component-only-office[data-v-66b9181e]{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.component-only-office .placeholder[data-v-66b9181e]{flex:1;height:100%;width:100%}",""]);const o=n},66341:(e,t,i)=>{i.r(t),i.d(t,{default:()=>f});var r=i(20629);function n(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}const s={name:"OnlyOffice",props:{id:{type:String,default:function(){return"office_"+Math.round(1e4*Math.random())}},value:{type:[Object,Array],default:function(){return{}}}},data:function(){return{serverUrl:"http://"+window.systemInformation.ippr+".3/",fileName:null,fileType:null,fileUrl:null,docEditor:null}},mounted:function(){},beforeDestroy:function(){null!==this.docEditor&&(this.docEditor.destroyEditor(),this.docEditor=null)},computed:function(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?n(Object(i),!0).forEach((function(t){o(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):n(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}({},(0,r.rn)(["userToken","userInfo"])),watch:{value:{handler:function(e){this.fileUrl=this.serverUrl+"api/file/content/?id="+e.id+"&token="+this.userToken,this.fileType=this.getType(e.type),this.fileName=e.name},immediate:!0,deep:!0},fileUrl:{handler:function(e){var t=this;e&&$A.loadScript(this.$store.state.method.apiUrl("../office/web-apps/apps/api/documents/api.js"),(function(){t.loadFile()}))},immediate:!0}},methods:{getType:function(e){switch(e){case"word":return"docx";case"excel":return"xlsx";case"ppt":return"pptx"}return""},loadFile:function(){var e=this;if(this.fileUrl){null!==this.docEditor&&(this.docEditor.destroyEditor(),this.docEditor=null);var t="zh";switch(this.getLanguage()){case"CN":case"TC":t="zh";break;default:t="en"}var i={document:{fileType:this.fileType,key:this.fileType+"-"+this.value.id,title:this.fileName+"."+this.fileType,url:this.fileUrl},editorConfig:{mode:"edit",lang:t,user:{id:this.userInfo.userid,name:this.userInfo.nickname},callbackUrl:this.serverUrl+"api/file/content/office?id="+this.value.id+"&token="+this.userToken}};this.$nextTick((function(){e.docEditor=new DocsAPI.DocEditor(e.id,i)}))}}}};var l=i(93379),c=i.n(l),a=i(92776),u={insert:"head",singleton:!1};c()(a.Z,u);a.Z.locals;const f=(0,i(51900).Z)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"component-only-office"},[t("div",{staticClass:"placeholder",attrs:{id:this.id}})])}),[],!1,null,"66b9181e",null).exports}}]);
|
1
public/js/build/397.js
vendored
Normal file
1
public/js/build/399.js
vendored
2
public/js/build/401.js
vendored
@ -1 +1 @@
|
||||
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[260],{94260:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,s)}return n}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?s(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const a={data:function(){return{curPath:this.$route.path,show768Menu:!0}},mounted:function(){},computed:i(i({},(0,n(20629).rn)(["userInfo","userIsAdmin"])),{},{menu:function(){var t=[{path:"personal",name:"个人设置"},{path:"password",name:"密码设置"}];return this.userIsAdmin&&t.push.apply(t,[{path:"system",name:"系统设置",divided:!0},{path:"priority",name:"任务等级"}]),t},titleNameRoute:function(){var t=this.curPath,e=this.menu,n="";return e.some((function(e){if($A.leftExists(t,"/manage/setting/"+e.path))return n=e.name,!0})),n||"设置"}}),watch:{$route:function(t){this.curPath=t.path}},methods:{toggleRoute:function(t){this.show768Menu=!1,this.goForward({path:"/manage/setting/"+t})},classNameRoute:function(t,e){return{active:$A.leftExists(this.curPath,"/manage/setting/"+t),divided:!!e}}}};const o=(0,n(51900).Z)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"page-setting"},[n("PageTitle",{attrs:{title:t.$L(t.titleNameRoute)}}),t._v(" "),n("div",{staticClass:"setting-head"},[n("div",{staticClass:"setting-titbox"},[n("div",{staticClass:"setting-title"},[n("h1",[t._v(t._s(t.$L("设置")))]),t._v(" "),n("div",{staticClass:"setting-more",on:{click:function(e){t.show768Menu=!t.show768Menu}}},[n("Icon",{attrs:{type:t.show768Menu?"md-close":"md-more"}})],1)])])]),t._v(" "),n("div",{staticClass:"setting-box"},[n("div",{staticClass:"setting-menu",class:{"show768-menu":t.show768Menu}},[n("ul",t._l(t.menu,(function(e,s){return n("li",{key:s,class:t.classNameRoute(e.path,e.divided),on:{click:function(n){return t.toggleRoute(e.path)}}},[t._v(t._s(t.$L(e.name)))])})),0)]),t._v(" "),n("div",{staticClass:"setting-content"},[n("div",{staticClass:"setting-content-title"},[t._v(t._s(t.$L(t.titleNameRoute)))]),t._v(" "),n("div",{staticClass:"setting-content-view"},[n("router-view",{staticClass:"setting-router-view"})],1)])])],1)}),[],!1,null,null,null).exports}}]);
|
||||
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[419],{53419:(t,e,n)=>{n.r(e),n.d(e,{default:()=>o});function s(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,s)}return n}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?s(Object(n),!0).forEach((function(e){r(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const a={data:function(){return{curPath:this.$route.path,show768Menu:!0}},mounted:function(){},computed:i(i({},(0,n(20629).rn)(["userInfo","userIsAdmin"])),{},{menu:function(){var t=[{path:"personal",name:"个人设置"},{path:"password",name:"密码设置"}];return this.userIsAdmin&&t.push.apply(t,[{path:"system",name:"系统设置",divided:!0},{path:"priority",name:"任务等级"}]),t},titleNameRoute:function(){var t=this.curPath,e=this.menu,n="";return e.some((function(e){if($A.leftExists(t,"/manage/setting/"+e.path))return n=e.name,!0})),n||"设置"}}),watch:{$route:function(t){this.curPath=t.path}},methods:{toggleRoute:function(t){this.show768Menu=!1,this.goForward({path:"/manage/setting/"+t})},classNameRoute:function(t,e){return{active:$A.leftExists(this.curPath,"/manage/setting/"+t),divided:!!e}}}};const o=(0,n(51900).Z)(a,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"page-setting"},[n("PageTitle",{attrs:{title:t.$L(t.titleNameRoute)}}),t._v(" "),n("div",{staticClass:"setting-head"},[n("div",{staticClass:"setting-titbox"},[n("div",{staticClass:"setting-title"},[n("h1",[t._v(t._s(t.$L("设置")))]),t._v(" "),n("div",{staticClass:"setting-more",on:{click:function(e){t.show768Menu=!t.show768Menu}}},[n("Icon",{attrs:{type:t.show768Menu?"md-close":"md-more"}})],1)])])]),t._v(" "),n("div",{staticClass:"setting-box"},[n("div",{staticClass:"setting-menu",class:{"show768-menu":t.show768Menu}},[n("ul",t._l(t.menu,(function(e,s){return n("li",{key:s,class:t.classNameRoute(e.path,e.divided),on:{click:function(n){return t.toggleRoute(e.path)}}},[t._v(t._s(t.$L(e.name)))])})),0)]),t._v(" "),n("div",{staticClass:"setting-content"},[n("div",{staticClass:"setting-content-title"},[t._v(t._s(t.$L(t.titleNameRoute)))]),t._v(" "),n("div",{staticClass:"setting-content-view"},[n("router-view",{staticClass:"setting-router-view"})],1)])])],1)}),[],!1,null,null,null).exports}}]);
|
1
public/js/build/442.js
vendored
Normal file
1
public/js/build/478.js
vendored
Normal file
1
public/js/build/494.js
vendored
Normal file
1
public/js/build/501.js
vendored
1
public/js/build/507.js
vendored
1
public/js/build/513.js
vendored
1
public/js/build/56.js
vendored
@ -1 +1 @@
|
||||
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[800],{66800:(t,e,o)=>{"use strict";o.r(e),o.d(e,{default:()=>s});function n(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,n)}return o}function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}const a={data:function(){return{loadIng:0,formDatum:[],nullDatum:{name:"",priority:1,days:1,color:"#8bcf70"}}},mounted:function(){this.systemSetting()},computed:function(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?n(Object(o),!0).forEach((function(e){r(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}({},(0,o(20629).rn)(["taskPriority"])),watch:{taskPriority:{handler:function(t){this.formDatum=$A.cloneJSON(t),0===this.formDatum.length&&this.addDatum()},immediate:!0}},methods:{submitForm:function(){var t=this;this.$refs.formDatum.validate((function(e){e&&t.systemSetting(!0)}))},resetForm:function(){this.formDatum=$A.cloneJSON(this.taskPriority)},addDatum:function(){this.formDatum.push($A.cloneJSON(this.nullDatum))},delDatum:function(t){this.formDatum.splice(t,1),0===this.formDatum.length&&this.addDatum()},systemSetting:function(t){var e=this;this.loadIng++,this.$store.dispatch("call",{url:"system/priority?type="+(t?"save":"get"),method:"post",data:{list:this.formDatum}}).then((function(o){var n=o.data;t&&$A.messageSuccess("修改成功"),e.loadIng--,e.$store.state.taskPriority=$A.cloneJSON(n)})).catch((function(o){var n=o.msg;t&&$A.modalError(n),e.loadIng--}))}}};const s=(0,o(51900).Z)(a,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"setting-item submit"},[o("Form",{ref:"formDatum",attrs:{"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[o("Row",{staticClass:"setting-color"},[o("Col",{attrs:{span:"12"}},[t._v(t._s(t.$L("名称")))]),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ETooltip",{attrs:{content:t.$L("数值越大级别越高"),"max-width":"auto",placement:"top",transfer:""}},[o("div",[o("Icon",{staticClass:"information",attrs:{type:"ios-information-circle-outline"}}),t._v(" "+t._s(t.$L("级别")))],1)])],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ETooltip",{attrs:{content:t.$L("任务完成时间"),"max-width":"auto",placement:"top",transfer:""}},[o("div",[o("Icon",{staticClass:"information",attrs:{type:"ios-information-circle-outline"}}),t._v(" "+t._s(t.$L("天数")))],1)])],1),t._v(" "),o("Col",{attrs:{span:"4"}},[t._v(t._s(t.$L("颜色")))])],1),t._v(" "),t._l(t.formDatum,(function(e,n){return o("Row",{key:n,staticClass:"setting-color"},[o("Col",{attrs:{span:"12"}},[o("Input",{attrs:{maxlength:20,placeholder:t.$L("请输入名称"),clearable:""},on:{"on-clear":function(e){return t.delDatum(n)}},model:{value:e.name,callback:function(o){t.$set(e,"name",o)},expression:"item.name"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("Input",{attrs:{type:"number"},model:{value:e.priority,callback:function(o){t.$set(e,"priority",o)},expression:"item.priority"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("Input",{attrs:{type:"number"},model:{value:e.days,callback:function(o){t.$set(e,"days",o)},expression:"item.days"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ColorPicker",{attrs:{recommend:"",transfer:""},model:{value:e.color,callback:function(o){t.$set(e,"color",o)},expression:"item.color"}})],1)],1)})),t._v(" "),o("Button",{attrs:{type:"default",icon:"md-add"},on:{click:t.addDatum}},[t._v(t._s(t.$L("添加优先级")))])],2),t._v(" "),o("div",{staticClass:"setting-footer"},[o("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),o("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);
|
||||
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[560],{94560:(t,e,o)=>{o.r(e),o.d(e,{default:()=>s});function n(t,e){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),o.push.apply(o,n)}return o}function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}const a={data:function(){return{loadIng:0,formDatum:[],nullDatum:{name:"",priority:1,days:1,color:"#8bcf70"}}},mounted:function(){this.systemSetting()},computed:function(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?n(Object(o),!0).forEach((function(e){r(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}({},(0,o(20629).rn)(["taskPriority"])),watch:{taskPriority:{handler:function(t){this.formDatum=$A.cloneJSON(t),0===this.formDatum.length&&this.addDatum()},immediate:!0}},methods:{submitForm:function(){var t=this;this.$refs.formDatum.validate((function(e){e&&t.systemSetting(!0)}))},resetForm:function(){this.formDatum=$A.cloneJSON(this.taskPriority)},addDatum:function(){this.formDatum.push($A.cloneJSON(this.nullDatum))},delDatum:function(t){this.formDatum.splice(t,1),0===this.formDatum.length&&this.addDatum()},systemSetting:function(t){var e=this;this.loadIng++,this.$store.dispatch("call",{url:"system/priority?type="+(t?"save":"get"),method:"post",data:{list:this.formDatum}}).then((function(o){var n=o.data;t&&$A.messageSuccess("修改成功"),e.loadIng--,e.$store.state.taskPriority=$A.cloneJSON(n)})).catch((function(o){var n=o.msg;t&&$A.modalError(n),e.loadIng--}))}}};const s=(0,o(51900).Z)(a,(function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{staticClass:"setting-item submit"},[o("Form",{ref:"formDatum",attrs:{"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[o("Row",{staticClass:"setting-color"},[o("Col",{attrs:{span:"12"}},[t._v(t._s(t.$L("名称")))]),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ETooltip",{attrs:{content:t.$L("数值越大级别越高"),"max-width":"auto",placement:"top",transfer:""}},[o("div",[o("Icon",{staticClass:"information",attrs:{type:"ios-information-circle-outline"}}),t._v(" "+t._s(t.$L("级别")))],1)])],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ETooltip",{attrs:{content:t.$L("任务完成时间"),"max-width":"auto",placement:"top",transfer:""}},[o("div",[o("Icon",{staticClass:"information",attrs:{type:"ios-information-circle-outline"}}),t._v(" "+t._s(t.$L("天数")))],1)])],1),t._v(" "),o("Col",{attrs:{span:"4"}},[t._v(t._s(t.$L("颜色")))])],1),t._v(" "),t._l(t.formDatum,(function(e,n){return o("Row",{key:n,staticClass:"setting-color"},[o("Col",{attrs:{span:"12"}},[o("Input",{attrs:{maxlength:20,placeholder:t.$L("请输入名称"),clearable:""},on:{"on-clear":function(e){return t.delDatum(n)}},model:{value:e.name,callback:function(o){t.$set(e,"name",o)},expression:"item.name"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("Input",{attrs:{type:"number"},model:{value:e.priority,callback:function(o){t.$set(e,"priority",o)},expression:"item.priority"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("Input",{attrs:{type:"number"},model:{value:e.days,callback:function(o){t.$set(e,"days",o)},expression:"item.days"}})],1),t._v(" "),o("Col",{attrs:{span:"4"}},[o("ColorPicker",{attrs:{recommend:"",transfer:""},model:{value:e.color,callback:function(o){t.$set(e,"color",o)},expression:"item.color"}})],1)],1)})),t._v(" "),o("Button",{attrs:{type:"default",icon:"md-add"},on:{click:t.addDatum}},[t._v(t._s(t.$L("添加优先级")))])],2),t._v(" "),o("div",{staticClass:"setting-footer"},[o("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),o("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);
|
@ -1 +1 @@
|
||||
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[344],{68344:(t,e,r)=>{"use strict";r.r(e),r.d(e,{default:()=>n});function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,s)}return r}function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}const o={data:function(){return{loadIng:0,formDatum:{oldpass:"",newpass:"",checkpass:""},ruleDatum:{}}},computed:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},(0,r(20629).rn)(["userInfo"])),methods:{initLanguage:function(){var t=this;this.ruleDatum={oldpass:[{required:!0,message:this.$L("请输入旧密码!"),trigger:"change"},{type:"string",min:6,message:this.$L("密码长度至少6位!"),trigger:"change"}],newpass:[{validator:function(e,r,s){""===r?s(new Error(t.$L("请输入新密码!"))):(""!==t.formDatum.checkpass&&t.$refs.formDatum.validateField("checkpass"),s())},required:!0,trigger:"change"},{type:"string",min:6,message:this.$L("密码长度至少6位!"),trigger:"change"}],checkpass:[{validator:function(e,r,s){""===r?s(new Error(t.$L("请重新输入新密码!"))):r!==t.formDatum.newpass?s(new Error(t.$L("两次密码输入不一致!"))):s()},required:!0,trigger:"change"}]}},submitForm:function(){var t=this;this.$refs.formDatum.validate((function(e){e&&(t.loadIng++,t.$store.dispatch("call",{url:"users/editpass",data:t.formDatum}).then((function(e){var r=e.data;$A.messageSuccess("修改成功"),t.loadIng--,t.$store.dispatch("saveUserInfo",r),t.$refs.formDatum.resetFields()})).catch((function(e){var r=e.msg;$A.modalError(r),t.loadIng--})))}))},resetForm:function(){this.$refs.formDatum.resetFields()}}};const n=(0,r(51900).Z)(o,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"setting-item submit"},[t.userInfo.changepass?r("Alert",{staticStyle:{"margin-bottom":"32px"},attrs:{type:"warning",showIcon:""}},[t._v(t._s(t.$L("请先修改登录密码!")))]):t._e(),t._v(" "),r("Form",{ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum,"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[r("FormItem",{attrs:{label:t.$L("旧密码"),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),t._v(" "),r("FormItem",{attrs:{label:t.$L("新密码"),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),t._v(" "),r("FormItem",{attrs:{label:t.$L("确认新密码"),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),t._v(" "),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);
|
||||
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[607],{60607:(t,e,r)=>{r.r(e),r.d(e,{default:()=>n});function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,s)}return r}function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}const o={data:function(){return{loadIng:0,formDatum:{oldpass:"",newpass:"",checkpass:""},ruleDatum:{}}},computed:function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?s(Object(r),!0).forEach((function(e){a(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},(0,r(20629).rn)(["userInfo"])),methods:{initLanguage:function(){var t=this;this.ruleDatum={oldpass:[{required:!0,message:this.$L("请输入旧密码!"),trigger:"change"},{type:"string",min:6,message:this.$L("密码长度至少6位!"),trigger:"change"}],newpass:[{validator:function(e,r,s){""===r?s(new Error(t.$L("请输入新密码!"))):(""!==t.formDatum.checkpass&&t.$refs.formDatum.validateField("checkpass"),s())},required:!0,trigger:"change"},{type:"string",min:6,message:this.$L("密码长度至少6位!"),trigger:"change"}],checkpass:[{validator:function(e,r,s){""===r?s(new Error(t.$L("请重新输入新密码!"))):r!==t.formDatum.newpass?s(new Error(t.$L("两次密码输入不一致!"))):s()},required:!0,trigger:"change"}]}},submitForm:function(){var t=this;this.$refs.formDatum.validate((function(e){e&&(t.loadIng++,t.$store.dispatch("call",{url:"users/editpass",data:t.formDatum}).then((function(e){var r=e.data;$A.messageSuccess("修改成功"),t.loadIng--,t.$store.dispatch("saveUserInfo",r),t.$refs.formDatum.resetFields()})).catch((function(e){var r=e.msg;$A.modalError(r),t.loadIng--})))}))},resetForm:function(){this.$refs.formDatum.resetFields()}}};const n=(0,r(51900).Z)(o,(function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("div",{staticClass:"setting-item submit"},[t.userInfo.changepass?r("Alert",{staticStyle:{"margin-bottom":"32px"},attrs:{type:"warning",showIcon:""}},[t._v(t._s(t.$L("请先修改登录密码!")))]):t._e(),t._v(" "),r("Form",{ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum,"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[r("FormItem",{attrs:{label:t.$L("旧密码"),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),t._v(" "),r("FormItem",{attrs:{label:t.$L("新密码"),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),t._v(" "),r("FormItem",{attrs:{label:t.$L("确认新密码"),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),t._v(" "),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);
|
1
public/js/build/637.js
vendored
Normal file
1
public/js/build/673.js
vendored
@ -1 +0,0 @@
|
||||
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[673],{36829:(n,e,t)=>{"use strict";t.d(e,{Z:()=>i});var a=t(23645),s=t.n(a)()((function(n){return n[1]}));s.push([n.id,".page-404[data-v-1f590918] {\n background-color: #fff;\n color: #636b6f;\n font-weight: 400;\n height: 100vh;\n margin: 0;\n}\n.page-404 .full-height[data-v-1f590918] {\n height: 100vh;\n}\n.page-404 .flex-center[data-v-1f590918] {\n align-items: center;\n display: flex;\n justify-content: center;\n}\n.page-404 .position-ref[data-v-1f590918] {\n position: relative;\n}\n.page-404 .code[data-v-1f590918] {\n border-right: 2px solid;\n font-size: 26px;\n padding: 0 15px 0 15px;\n text-align: center;\n}\n.page-404 .message[data-v-1f590918] {\n font-size: 18px;\n padding: 10px;\n text-align: center;\n}\n",""]);const i=s},62673:(n,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>o});var a=t(93379),s=t.n(a),i=t(36829),l={insert:"head",singleton:!1};s()(i.Z,l);i.Z.locals;const o=(0,t(51900).Z)({},(function(){var n=this,e=n.$createElement;n._self._c;return n._m(0)}),[function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"page-404"},[t("div",{staticClass:"flex-center position-ref full-height"},[t("div",{staticClass:"code"},[n._v("404")]),n._v(" "),t("div",{staticClass:"message"},[n._v("Not Found")])])])}],!1,null,"1f590918",null).exports}}]);
|
@ -1 +1 @@
|
||||
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[779],{24779:(t,a,o)=>{"use strict";o.r(a),o.d(a,{default:()=>s});const e={data:function(){return{loadIng:0,formDatum:{}}},mounted:function(){this.systemSetting()},methods:{submitForm:function(){var t=this;this.$refs.formDatum.validate((function(a){a&&t.systemSetting(!0)}))},resetForm:function(){this.formDatum=$A.cloneJSON(this.formDatum_bak)},systemSetting:function(t){var a=this;this.loadIng++,this.$store.dispatch("call",{url:"system/setting?type="+(t?"save":"get"),data:this.formDatum}).then((function(o){var e=o.data;t&&$A.messageSuccess("修改成功"),a.loadIng--,a.formDatum=e,a.formDatum_bak=$A.cloneJSON(a.formDatum)})).catch((function(o){var e=o.msg;t&&$A.modalError(e),a.loadIng--}))}}};const s=(0,o(51900).Z)(e,(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("div",{staticClass:"setting-item submit"},[o("Form",{ref:"formDatum",attrs:{model:t.formDatum,"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[o("FormItem",{attrs:{label:t.$L("允许注册"),prop:"reg"}},[o("RadioGroup",{model:{value:t.formDatum.reg,callback:function(a){t.$set(t.formDatum,"reg",a)},expression:"formDatum.reg"}},[o("Radio",{attrs:{label:"open"}},[t._v(t._s(t.$L("允许")))]),t._v(" "),o("Radio",{attrs:{label:"close"}},[t._v(t._s(t.$L("禁止")))])],1)],1),t._v(" "),o("FormItem",{attrs:{label:t.$L("登录验证码"),prop:"loginCode"}},[o("RadioGroup",{model:{value:t.formDatum.login_code,callback:function(a){t.$set(t.formDatum,"login_code",a)},expression:"formDatum.login_code"}},[o("Radio",{attrs:{label:"auto"}},[t._v(t._s(t.$L("自动")))]),t._v(" "),o("Radio",{attrs:{label:"open"}},[t._v(t._s(t.$L("开启")))]),t._v(" "),o("Radio",{attrs:{label:"close"}},[t._v(t._s(t.$L("关闭")))])],1)],1)],1),t._v(" "),o("div",{staticClass:"setting-footer"},[o("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),o("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);
|
||||
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[675],{63675:(t,a,o)=>{o.r(a),o.d(a,{default:()=>s});const e={data:function(){return{loadIng:0,formDatum:{}}},mounted:function(){this.systemSetting()},methods:{submitForm:function(){var t=this;this.$refs.formDatum.validate((function(a){a&&t.systemSetting(!0)}))},resetForm:function(){this.formDatum=$A.cloneJSON(this.formDatum_bak)},systemSetting:function(t){var a=this;this.loadIng++,this.$store.dispatch("call",{url:"system/setting?type="+(t?"save":"get"),data:this.formDatum}).then((function(o){var e=o.data;t&&$A.messageSuccess("修改成功"),a.loadIng--,a.formDatum=e,a.formDatum_bak=$A.cloneJSON(a.formDatum)})).catch((function(o){var e=o.msg;t&&$A.modalError(e),a.loadIng--}))}}};const s=(0,o(51900).Z)(e,(function(){var t=this,a=t.$createElement,o=t._self._c||a;return o("div",{staticClass:"setting-item submit"},[o("Form",{ref:"formDatum",attrs:{model:t.formDatum,"label-width":"auto"},nativeOn:{submit:function(t){t.preventDefault()}}},[o("FormItem",{attrs:{label:t.$L("允许注册"),prop:"reg"}},[o("RadioGroup",{model:{value:t.formDatum.reg,callback:function(a){t.$set(t.formDatum,"reg",a)},expression:"formDatum.reg"}},[o("Radio",{attrs:{label:"open"}},[t._v(t._s(t.$L("允许")))]),t._v(" "),o("Radio",{attrs:{label:"close"}},[t._v(t._s(t.$L("禁止")))])],1)],1),t._v(" "),o("FormItem",{attrs:{label:t.$L("登录验证码"),prop:"loginCode"}},[o("RadioGroup",{model:{value:t.formDatum.login_code,callback:function(a){t.$set(t.formDatum,"login_code",a)},expression:"formDatum.login_code"}},[o("Radio",{attrs:{label:"auto"}},[t._v(t._s(t.$L("自动")))]),t._v(" "),o("Radio",{attrs:{label:"open"}},[t._v(t._s(t.$L("开启")))]),t._v(" "),o("Radio",{attrs:{label:"close"}},[t._v(t._s(t.$L("关闭")))])],1)],1)],1),t._v(" "),o("div",{staticClass:"setting-footer"},[o("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("提交")))]),t._v(" "),o("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("重置")))])],1)],1)}),[],!1,null,null,null).exports}}]);
|
1
public/js/build/681.js
vendored
1
public/js/build/706.js
vendored
Normal file
2
public/js/build/726.js
vendored
1
public/js/build/784.js
vendored
1
public/js/build/838.js
vendored
1
public/js/build/844.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[844],{88064:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(23645),s=a.n(n)()((function(e){return e[1]}));s.push([e.id,".page-404[data-v-1f590918]{background-color:#fff;color:#636b6f;font-weight:400;margin:0}.page-404[data-v-1f590918],.page-404 .full-height[data-v-1f590918]{height:100vh}.page-404 .flex-center[data-v-1f590918]{align-items:center;display:flex;justify-content:center}.page-404 .position-ref[data-v-1f590918]{position:relative}.page-404 .code[data-v-1f590918]{border-right:2px solid;font-size:26px;padding:0 15px;text-align:center}.page-404 .message[data-v-1f590918]{font-size:18px;padding:10px;text-align:center}",""]);const i=s},53844:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});var n=a(93379),s=a.n(n),i=a(88064),l={insert:"head",singleton:!1};s()(i.Z,l);i.Z.locals;const o=(0,a(51900).Z)({},(function(){var e=this,t=e.$createElement;e._self._c;return e._m(0)}),[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"page-404"},[a("div",{staticClass:"flex-center position-ref full-height"},[a("div",{staticClass:"code"},[e._v("404")]),e._v(" "),a("div",{staticClass:"message"},[e._v("Not Found")])])])}],!1,null,"1f590918",null).exports}}]);
|
2
public/js/build/847.js
vendored
Normal file
@ -7,14 +7,14 @@
|
||||
|
||||
/*!
|
||||
* TOAST UI Date Picker
|
||||
* @version 4.2.0
|
||||
* @version 4.3.1
|
||||
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
|
||||
* @license MIT
|
||||
*/
|
||||
|
||||
/*!
|
||||
* TOAST UI Time Picker
|
||||
* @version 2.0.3
|
||||
* @version 2.1.4
|
||||
* @author NHN FE Development Lab <dl_javascript@nhn.com>
|
||||
* @license MIT
|
||||
*/
|
@ -1 +1 @@
|
||||
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[525],{84525:(t,e,s)=>{"use strict";s.r(e),s.d(e,{default:()=>a});const n={data:function(){return{}},mounted:function(){this.$store.state.userId>0?this.goForward({path:"/manage/dashboard"},!0):this.goForward({path:"/login"},!0)},deactivated:function(){this.$destroy()}};const a=(0,s(51900).Z)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div")}),[],!1,null,null,null).exports}}]);
|
||||
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[855],{45855:(t,e,s)=>{s.r(e),s.d(e,{default:()=>a});const n={data:function(){return{}},mounted:function(){this.$store.state.userId>0?this.goForward({path:"/manage/dashboard"},!0):this.goForward({path:"/login"},!0)},deactivated:function(){this.$destroy()}};const a=(0,s(51900).Z)(n,(function(){var t=this.$createElement;return(this._self._c||t)("div")}),[],!1,null,null,null).exports}}]);
|
2
public/js/build/856.js
vendored
@ -1 +1 @@
|
||||
/*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.2.2/LICENSE */
|
||||
/*! @license DOMPurify 2.3.4 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.4/LICENSE */
|
||||
|
2
public/js/build/880.js
vendored
Normal file
@ -111,37 +111,6 @@
|
||||
* underlying system, so should run in the browser, Node, or Plask.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license
|
||||
* ====================================================================
|
||||
* Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com
|
||||
* 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br
|
||||
* 2013 Lee Driscoll, https://github.com/lsdriscoll
|
||||
* 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria
|
||||
* 2014 James Hall, james@parall.ax
|
||||
* 2014 Diego Casorran, https://github.com/diegocr
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
* ====================================================================
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv
|
||||
@ -166,15 +135,6 @@
|
||||
* http://opensource.org/licenses/mit-license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2018 Erik Koopmans
|
||||
* Released under the MIT License.
|
||||
*
|
||||
* Licensed under the MIT License.
|
||||
* http://opensource.org/licenses/mit-license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2019 Aras Abbasi
|
||||
@ -192,17 +152,6 @@
|
||||
* Reference: http://www.fpdf.org/en/script/script37.php
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license
|
||||
* FileSaver.js
|
||||
* A saveAs() FileSaver implementation.
|
||||
*
|
||||
* By Eli Grey, http://eligrey.com
|
||||
*
|
||||
* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)
|
||||
* source : http://purl.eligrey.com/github/FileSaver.js
|
||||
*/
|
||||
|
||||
/**
|
||||
* @license
|
||||
* Joseph Myers does not specify a particular license for his work.
|
||||
@ -298,29 +247,25 @@
|
||||
|
||||
/** @license
|
||||
* Copyright (c) 2017 Dominik Homberger
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
https://webpjs.appspot.com
|
||||
WebPRiffParser dominikhlbg@gmail.com
|
||||
*/
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
https://webpjs.appspot.com
|
||||
WebPRiffParser dominikhlbg@gmail.com
|
||||
*/
|
||||
|
||||
/** @license
|
||||
*
|
||||
* jsPDF - PDF Document creation from JavaScript
|
||||
* Version 2.3.1 Built on 2021-03-08T15:44:11.674Z
|
||||
* Version 2.4.0 Built on 2021-09-14T10:30:30.230Z
|
||||
* CommitID 00000000
|
||||
*
|
||||
* Copyright (c) 2010-2020 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF
|
||||
* 2015-2020 yWorks GmbH, http://www.yworks.com
|
||||
* 2015-2020 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX
|
||||
* Copyright (c) 2010-2021 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF
|
||||
* 2015-2021 yWorks GmbH, http://www.yworks.com
|
||||
* 2015-2021 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX
|
||||
* 2016-2018 Aras Abbasi <aras.abbasi@gmail.com>
|
||||
* 2010 Aaron Spike, https://github.com/acspike
|
||||
* 2012 Willow Systems Corporation, willow-systems.com
|
||||
* 2012 Willow Systems Corporation, https://github.com/willowsystems
|
||||
* 2012 Pablo Hess, https://github.com/pablohess
|
||||
* 2012 Florian Jenett, https://github.com/fjenett
|
||||
* 2013 Warren Weckesser, https://github.com/warrenweckesser
|
||||
@ -360,7 +305,7 @@ WebPRiffParser dominikhlbg@gmail.com
|
||||
*/
|
||||
|
||||
/** @license
|
||||
* Copyright (c) 2012 Willow Systems Corporation, willow-systems.com
|
||||
* Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
@ -382,84 +327,3 @@ WebPRiffParser dominikhlbg@gmail.com
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
* ====================================================================
|
||||
*/
|
||||
|
||||
/** @license
|
||||
* MIT license.
|
||||
* Copyright (c) 2012 Willow Systems Corporation, willow-systems.com
|
||||
* 2014 Diego Casorran, https://github.com/diegocr
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
* ====================================================================
|
||||
*/
|
||||
|
||||
/** @license
|
||||
* jsPDF addImage plugin
|
||||
* Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/
|
||||
* 2013 Chris Dowling, https://github.com/gingerchris
|
||||
* 2013 Trinh Ho, https://github.com/ineedfat
|
||||
* 2013 Edwin Alejandro Perez, https://github.com/eaparango
|
||||
* 2013 Norah Smith, https://github.com/burnburnrocket
|
||||
* 2014 Diego Casorran, https://github.com/diegocr
|
||||
* 2014 James Robb, https://github.com/jamesbrobb
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/** @license
|
||||
jsPDF standard_fonts_metrics plugin
|
||||
* Copyright (c) 2012 Willow Systems Corporation, willow-systems.com
|
||||
* MIT license.
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
* ====================================================================
|
||||
*/
|
1
public/js/build/887.js
vendored
@ -1 +0,0 @@
|
||||
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[887],{97244:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var i=n(23645),r=n.n(i)()((function(e){return e[1]}));r.push([e.id,".component-only-office[data-v-0e728f11] {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.component-only-office .placeholder[data-v-0e728f11] {\n flex: 1;\n width: 100%;\n height: 100%;\n}\n",""]);const o=r},99887:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var i=n(20629);function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const s={name:"OnlyOffice",props:{id:{type:String,default:function(){return"office_"+Math.round(1e4*Math.random())}},value:{type:[Object,Array],default:function(){return{}}}},data:function(){return{serverUrl:"http://"+window.systemInformation.ippr+".3/",fileName:null,fileType:null,fileUrl:null,docEditor:null}},mounted:function(){},beforeDestroy:function(){null!==this.docEditor&&(this.docEditor.destroyEditor(),this.docEditor=null)},computed:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},(0,i.rn)(["userToken","userInfo"])),watch:{value:{handler:function(e){this.fileUrl=this.serverUrl+"api/file/content/?id="+e.id+"&token="+this.userToken,this.fileType=this.getType(e.type),this.fileName=e.name},immediate:!0,deep:!0},fileUrl:{handler:function(e){var t=this;e&&$A.loadScript(this.$store.state.method.apiUrl("../web-apps/apps/api/documents/api.js"),(function(){t.loadFile()}))},immediate:!0}},methods:{getType:function(e){switch(e){case"word":return"docx";case"excel":return"xlsx";case"ppt":return"pptx"}return""},loadFile:function(){var e=this;if(this.fileUrl){null!==this.docEditor&&(this.docEditor.destroyEditor(),this.docEditor=null);var t="zh";switch(this.getLanguage()){case"CN":case"TC":t="zh";break;default:t="en"}var n={document:{fileType:this.fileType,key:this.fileType+"-"+this.value.id,title:this.fileName+"."+this.fileType,url:this.fileUrl},editorConfig:{mode:"edit",lang:t,user:{id:this.userInfo.userid,name:this.userInfo.nickname},callbackUrl:this.serverUrl+"api/file/content/office?id="+this.value.id+"&token="+this.userToken}};this.$nextTick((function(){e.docEditor=new DocsAPI.DocEditor(e.id,n)}))}}}};var l=n(93379),c=n.n(l),a=n(97244),u={insert:"head",singleton:!1};c()(a.Z,u);a.Z.locals;const f=(0,n(51900).Z)(s,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"component-only-office"},[t("div",{staticClass:"placeholder",attrs:{id:this.id}})])}),[],!1,null,"0e728f11",null).exports}}]);
|
2
public/js/build/9.js
vendored
Normal file
2
public/js/build/913.js
vendored
@ -1 +1 @@
|
||||
(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[172],{35172:(a,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>i});const n={data:function(){return{loadIng:0,name:"Loading",version:"",list:[]}},mounted:function(){this.getAppInfo()},methods:{getAppInfo:function(){var a=this;this.loadIng++,this.$store.dispatch("call",{url:"system/get/appinfo"}).then((function(s){var t=s.data;a.loadIng--,a.name=t.name,a.version=t.version,a.list=t.list})).catch((function(s){var t=s.msg;a.loadIng--,$A.modalError(t)}))}}};const i=(0,t(51900).Z)(n,(function(){var a=this,s=a.$createElement,t=a._self._c||s;return t("div",{staticClass:"page-download"},[t("PageTitle",{attrs:{title:a.$L("下载")}}),a._v(" "),a.loadIng>0?t("div",{staticClass:"download-load"},[t("Loading")],1):a._e(),a._v(" "),t("div",{staticClass:"download-body"},[t("canvas",{staticClass:"orb-canvas-1"}),a._v(" "),t("canvas",{staticClass:"orb-canvas-2"}),a._v(" "),a.name?t("div",{staticClass:"download-name"},[a._v(a._s(a.name))]):a._e(),a._v(" "),a.version?t("div",{staticClass:"download-version"},[a._v("v"+a._s(a.version))]):a._e(),a._v(" "),a.list.length>0?t("ul",{staticClass:"download-list"},a._l(a.list,(function(s,n){return t("li",{key:n},[t("div",{staticClass:"app-icon"},[t("Icon",{attrs:{type:s.icon}})],1),a._v(" "),t("div",{staticClass:"app-name"},[a._v(a._s(s.name))]),a._v(" "),t("div",{staticClass:"app-size"},[a._v(a._s(a.$A.bytesToSize(s.size)))]),a._v(" "),t("div",{staticClass:"app-button"},[t("a",{attrs:{href:s.url,target:"_blank"}},[a._v(a._s(a.$L("立即下载")))])])])})),0):a._e()])],1)}),[],!1,null,null,null).exports}}]);
|
||||
"use strict";(self.webpackChunkDooTask=self.webpackChunkDooTask||[]).push([[955],{39955:(a,s,t)=>{t.r(s),t.d(s,{default:()=>i});const n={data:function(){return{loadIng:0,name:"Loading",version:"",list:[]}},mounted:function(){this.getAppInfo()},methods:{getAppInfo:function(){var a=this;this.loadIng++,this.$store.dispatch("call",{url:"system/get/appinfo"}).then((function(s){var t=s.data;a.loadIng--,a.name=t.name,a.version=t.version,a.list=t.list})).catch((function(s){var t=s.msg;a.loadIng--,$A.modalError(t)}))}}};const i=(0,t(51900).Z)(n,(function(){var a=this,s=a.$createElement,t=a._self._c||s;return t("div",{staticClass:"page-download"},[t("PageTitle",{attrs:{title:a.$L("下载")}}),a._v(" "),a.loadIng>0?t("div",{staticClass:"download-load"},[t("Loading")],1):a._e(),a._v(" "),t("div",{staticClass:"download-body"},[t("canvas",{staticClass:"orb-canvas-1"}),a._v(" "),t("canvas",{staticClass:"orb-canvas-2"}),a._v(" "),a.name?t("div",{staticClass:"download-name"},[a._v(a._s(a.name))]):a._e(),a._v(" "),a.version?t("div",{staticClass:"download-version"},[a._v("v"+a._s(a.version))]):a._e(),a._v(" "),a.list.length>0?t("ul",{staticClass:"download-list"},a._l(a.list,(function(s,n){return t("li",{key:n},[t("div",{staticClass:"app-icon"},[t("Icon",{attrs:{type:s.icon}})],1),a._v(" "),t("div",{staticClass:"app-name"},[a._v(a._s(s.name))]),a._v(" "),t("div",{staticClass:"app-size"},[a._v(a._s(a.$A.bytesToSize(s.size)))]),a._v(" "),t("div",{staticClass:"app-button"},[t("a",{attrs:{href:s.url,target:"_blank"}},[a._v(a._s(a.$L("立即下载")))])])])})),0):a._e()])],1)}),[],!1,null,null,null).exports}}]);
|
@ -85,7 +85,7 @@ export default {
|
||||
if (!url) {
|
||||
return;
|
||||
}
|
||||
$A.loadScript(this.$store.state.method.apiUrl("../web-apps/apps/api/documents/api.js"), () => {
|
||||
$A.loadScript(this.$store.state.method.apiUrl("../office/web-apps/apps/api/documents/api.js"), () => {
|
||||
this.loadFile()
|
||||
})
|
||||
},
|
||||
|
@ -1,64 +1,67 @@
|
||||
<template>
|
||||
<div class="file-content">
|
||||
<div v-show="!['word', 'excel', 'ppt'].includes(file.type)" class="edit-header">
|
||||
<div class="header-title">
|
||||
<EPopover v-if="!equalContent" v-model="unsaveTip" class="file-unsave-tip">
|
||||
<div class="task-detail-delete-file-popover">
|
||||
<p>{{$L('未保存当前修改内容?')}}</p>
|
||||
<div class="buttons">
|
||||
<Button size="small" type="text" @click="unsaveGive">{{$L('放弃')}}</Button>
|
||||
<Button size="small" type="primary" @click="unsaveSave">{{$L('保存')}}</Button>
|
||||
<iframe v-if="isPreview" ref="myPreview" class="preview-iframe" :src="previewUrl"></iframe>
|
||||
<template v-else>
|
||||
<div v-show="!['word', 'excel', 'ppt'].includes(file.type)" class="edit-header">
|
||||
<div class="header-title">
|
||||
<EPopover v-if="!equalContent" v-model="unsaveTip" class="file-unsave-tip">
|
||||
<div class="task-detail-delete-file-popover">
|
||||
<p>{{$L('未保存当前修改内容?')}}</p>
|
||||
<div class="buttons">
|
||||
<Button size="small" type="text" @click="unsaveGive">{{$L('放弃')}}</Button>
|
||||
<Button size="small" type="primary" @click="unsaveSave">{{$L('保存')}}</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="reference">[{{$L('未保存')}}*]</span>
|
||||
</EPopover>
|
||||
{{formatName(file.name, file.type)}}
|
||||
<span slot="reference">[{{$L('未保存')}}*]</span>
|
||||
</EPopover>
|
||||
{{formatName(file.name, file.type)}}
|
||||
</div>
|
||||
<div class="header-user">
|
||||
<ul>
|
||||
<li v-for="(userid, index) in editUser" :key="index" v-if="index <= 10">
|
||||
<UserAvatar :userid="userid" :size="28" :border-witdh="2"/>
|
||||
</li>
|
||||
<li v-if="editUser.length > 10" class="more">{{editUser.length > 99 ? '99+' : editUser.length}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div v-if="file.type=='document' && contentDetail" class="header-hint">
|
||||
<ButtonGroup size="small" shape="circle">
|
||||
<Button :type="`${contentDetail.type=='md'?'primary':'default'}`" @click="$set(contentDetail, 'type', 'md')">{{$L('MD编辑器')}}</Button>
|
||||
<Button :type="`${contentDetail.type!='md'?'primary':'default'}`" @click="$set(contentDetail, 'type', 'text')">{{$L('文本编辑器')}}</Button>
|
||||
</ButtonGroup>
|
||||
</div>
|
||||
<div v-if="file.type=='mind'" class="header-hint">
|
||||
{{$L('选中节点,按enter键添加同级节点,tab键添加子节点')}}
|
||||
</div>
|
||||
<Dropdown v-if="file.type=='mind' || file.type=='flow' || file.type=='sheet'"
|
||||
trigger="click"
|
||||
class="header-hint"
|
||||
@on-click="exportMenu">
|
||||
<a href="javascript:void(0)">{{$L('导出')}}<Icon type="ios-arrow-down"></Icon></a>
|
||||
<DropdownMenu v-if="file.type=='sheet'" slot="list">
|
||||
<DropdownItem name="xlsx">{{$L('导出XLSX')}}</DropdownItem>
|
||||
<DropdownItem name="xlml">{{$L('导出XLS')}}</DropdownItem>
|
||||
<DropdownItem name="csv">{{$L('导出CSV')}}</DropdownItem>
|
||||
<DropdownItem name="txt">{{$L('导出TXT')}}</DropdownItem>
|
||||
</DropdownMenu>
|
||||
<DropdownMenu v-else slot="list">
|
||||
<DropdownItem name="png">{{$L('导出PNG图片')}}</DropdownItem>
|
||||
<DropdownItem name="pdf">{{$L('导出PDF文件')}}</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</Dropdown>
|
||||
<Button v-if="!file.only_view" :disabled="equalContent" :loading="loadIng > 0" class="header-button" size="small" type="primary" @click="handleClick('save')">{{$L('保存')}}</Button>
|
||||
</div>
|
||||
<div class="header-user">
|
||||
<ul>
|
||||
<li v-for="(userid, index) in editUser" :key="index" v-if="index <= 10">
|
||||
<UserAvatar :userid="userid" :size="28" :border-witdh="2"/>
|
||||
</li>
|
||||
<li v-if="editUser.length > 10" class="more">{{editUser.length > 99 ? '99+' : editUser.length}}</li>
|
||||
</ul>
|
||||
<div v-if="contentDetail" class="content-body">
|
||||
<template v-if="file.type=='document'">
|
||||
<MDEditor v-if="contentDetail.type=='md'" v-model="contentDetail.content" height="100%"/>
|
||||
<TEditor v-else v-model="contentDetail.content" height="100%" @editorSave="handleClick('saveBefore')"/>
|
||||
</template>
|
||||
<Flow v-else-if="file.type=='flow'" ref="myFlow" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
||||
<Minder v-else-if="file.type=='mind'" ref="myMind" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
||||
<LuckySheet v-else-if="file.type=='sheet'" ref="mySheet" v-model="contentDetail"/>
|
||||
<OnlyOffice v-else-if="['word', 'excel', 'ppt'].includes(file.type)" v-model="contentDetail"/>
|
||||
</div>
|
||||
<div v-if="file.type=='document' && contentDetail" class="header-hint">
|
||||
<ButtonGroup size="small" shape="circle">
|
||||
<Button :type="`${contentDetail.type=='md'?'primary':'default'}`" @click="$set(contentDetail, 'type', 'md')">{{$L('MD编辑器')}}</Button>
|
||||
<Button :type="`${contentDetail.type!='md'?'primary':'default'}`" @click="$set(contentDetail, 'type', 'text')">{{$L('文本编辑器')}}</Button>
|
||||
</ButtonGroup>
|
||||
</div>
|
||||
<div v-if="file.type=='mind'" class="header-hint">
|
||||
{{$L('选中节点,按enter键添加同级节点,tab键添加子节点')}}
|
||||
</div>
|
||||
<Dropdown v-if="file.type=='mind' || file.type=='flow' || file.type=='sheet'"
|
||||
trigger="click"
|
||||
class="header-hint"
|
||||
@on-click="exportMenu">
|
||||
<a href="javascript:void(0)">{{$L('导出')}}<Icon type="ios-arrow-down"></Icon></a>
|
||||
<DropdownMenu v-if="file.type=='sheet'" slot="list">
|
||||
<DropdownItem name="xlsx">{{$L('导出XLSX')}}</DropdownItem>
|
||||
<DropdownItem name="xlml">{{$L('导出XLS')}}</DropdownItem>
|
||||
<DropdownItem name="csv">{{$L('导出CSV')}}</DropdownItem>
|
||||
<DropdownItem name="txt">{{$L('导出TXT')}}</DropdownItem>
|
||||
</DropdownMenu>
|
||||
<DropdownMenu v-else slot="list">
|
||||
<DropdownItem name="png">{{$L('导出PNG图片')}}</DropdownItem>
|
||||
<DropdownItem name="pdf">{{$L('导出PDF文件')}}</DropdownItem>
|
||||
</DropdownMenu>
|
||||
</Dropdown>
|
||||
<Button v-if="!file.only_view" :disabled="equalContent" :loading="loadIng > 0" class="header-button" size="small" type="primary" @click="handleClick('save')">{{$L('保存')}}</Button>
|
||||
</div>
|
||||
<div v-if="contentDetail" class="content-body">
|
||||
<template v-if="file.type=='document'">
|
||||
<MDEditor v-if="contentDetail.type=='md'" v-model="contentDetail.content" height="100%"/>
|
||||
<TEditor v-else v-model="contentDetail.content" height="100%" @editorSave="handleClick('saveBefore')"/>
|
||||
</template>
|
||||
<Flow v-else-if="file.type=='flow'" ref="myFlow" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
||||
<Minder v-else-if="file.type=='mind'" ref="myMind" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
||||
<LuckySheet v-else-if="file.type=='sheet'" ref="mySheet" v-model="contentDetail"/>
|
||||
<OnlyOffice v-else-if="['word', 'excel', 'ppt'].includes(file.type)" v-model="contentDetail"/>
|
||||
</div>
|
||||
</template>
|
||||
<div v-if="loadContent > 0" class="content-load"><Loading/></div>
|
||||
</div>
|
||||
</template>
|
||||
@ -166,6 +169,18 @@ export default {
|
||||
equalContent() {
|
||||
return this.contentBak == $A.jsonStringify(this.contentDetail);
|
||||
},
|
||||
|
||||
isPreview() {
|
||||
return this.contentDetail && this.contentDetail.preview === true;
|
||||
},
|
||||
|
||||
previewUrl() {
|
||||
if (this.isPreview) {
|
||||
return this.$store.state.method.apiUrl("../fileview/onlinePreview?url=" + encodeURIComponent(this.contentDetail.url))
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
@ -85,7 +85,7 @@
|
||||
@on-enter="onEnter(item)"/>
|
||||
<div v-if="item._load" class="file-load"><Loading/></div>
|
||||
</div>
|
||||
<div v-else class="file-name" :title="item.name">{{formatName(item.name, item.type)}}</div>
|
||||
<div v-else class="file-name" :title="item.name">{{formatName(item)}}</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -199,7 +199,7 @@
|
||||
v-model="editShow"
|
||||
class="page-file-drawer"
|
||||
:mask-closable="false">
|
||||
<FileContent v-if="editShowNum > 0" :parent-show="editShow" :file="editInfo"/>
|
||||
<FileContent v-if="editNum > 0" :parent-show="editShow" :file="editInfo"/>
|
||||
</DrawerOverlay>
|
||||
|
||||
</div>
|
||||
@ -290,13 +290,21 @@ export default {
|
||||
shareLoad: 0,
|
||||
|
||||
editShow: false,
|
||||
editShowNum: 0,
|
||||
editNum: 0,
|
||||
editInfo: {},
|
||||
|
||||
uploadDir: false,
|
||||
uploadIng: 0,
|
||||
uploadFormat: ['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx'],
|
||||
uploadAccept: ['.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx'].join(","),
|
||||
uploadFormat: [
|
||||
'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx',
|
||||
'txt', 'html', 'htm', 'asp', 'jsp', 'xml', 'json', 'properties', 'md', 'gitignore', 'log', 'java', 'py', 'c', 'cpp', 'sql', 'sh', 'bat', 'm', 'bas', 'prg', 'cmd',
|
||||
'jpg', 'jpeg', 'png', 'gif',
|
||||
'zip', 'rar', 'jar', 'tar', 'gzip',
|
||||
'mp3', 'wav', 'mp4', 'flv',
|
||||
'pdf',
|
||||
'dwg'
|
||||
],
|
||||
uploadAccept: '',
|
||||
maxSize: 204800,
|
||||
|
||||
contextMenuItem: {},
|
||||
@ -310,6 +318,9 @@ export default {
|
||||
|
||||
mounted() {
|
||||
this.tableHeight = window.innerHeight - 160;
|
||||
this.uploadAccept = this.uploadFormat.map(item => {
|
||||
return '.' + item
|
||||
}).join(",");
|
||||
},
|
||||
|
||||
activated() {
|
||||
@ -381,7 +392,7 @@ export default {
|
||||
|
||||
editShow(val) {
|
||||
if (val) {
|
||||
this.editShowNum++;
|
||||
this.editNum++;
|
||||
this.$store.dispatch("websocketPath", "file/content/" + this.editInfo.id);
|
||||
} else {
|
||||
this.$store.dispatch("websocketPath", "file");
|
||||
@ -397,7 +408,6 @@ export default {
|
||||
title: this.$L('文件名'),
|
||||
key: 'name',
|
||||
minWidth: 200,
|
||||
resizable: true,
|
||||
sortable: true,
|
||||
render: (h, {row}) => {
|
||||
let array = [];
|
||||
@ -467,7 +477,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}, [
|
||||
h('AutoTip', this.formatName(row.name, row.type))
|
||||
h('AutoTip', this.formatName(row))
|
||||
]));
|
||||
//
|
||||
const iconArray = [];
|
||||
@ -556,13 +566,9 @@ export default {
|
||||
]
|
||||
},
|
||||
|
||||
formatName(name, type) {
|
||||
if (type == 'word') {
|
||||
name += ".docx";
|
||||
} else if (type == 'excel') {
|
||||
name += ".xlsx";
|
||||
} else if (type == 'ppt') {
|
||||
name += ".pptx";
|
||||
formatName({name, ext}) {
|
||||
if (ext != '') {
|
||||
name += "." + ext;
|
||||
}
|
||||
return name;
|
||||
},
|
||||
|
@ -9,6 +9,21 @@
|
||||
border-radius: 18px 18px 0 0;
|
||||
overflow: hidden;
|
||||
|
||||
.preview-iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: 0 0;
|
||||
border: 0;
|
||||
float: none;
|
||||
margin: -1px 0 0;
|
||||
max-width: none;
|
||||
outline: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.edit-header {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
|
63
resources/assets/sass/pages/page-file.scss
vendored
@ -307,6 +307,27 @@
|
||||
&.ppt:before {
|
||||
background-image: url("../images/file/ppt.svg");
|
||||
}
|
||||
&.compress:before {
|
||||
background-image: url("../images/file/compress.svg");
|
||||
}
|
||||
&.image:before {
|
||||
background-image: url("../images/file/image.svg");
|
||||
}
|
||||
&.media:before {
|
||||
background-image: url("../images/file/media.svg");
|
||||
}
|
||||
&.pdf:before {
|
||||
background-image: url("../images/file/pdf.svg");
|
||||
}
|
||||
&.text:before {
|
||||
background-image: url("../images/file/text.svg");
|
||||
}
|
||||
&.cad:before {
|
||||
background-image: url("../images/file/cad.svg");
|
||||
}
|
||||
&.other:before {
|
||||
background-image: url("../images/file/other.svg");
|
||||
}
|
||||
}
|
||||
.taskfont {
|
||||
color: #aaaaaa;
|
||||
@ -447,6 +468,27 @@
|
||||
&.ppt .file-icon {
|
||||
background-image: url("../images/file/ppt.svg");
|
||||
}
|
||||
&.compress .file-icon {
|
||||
background-image: url("../images/file/compress.svg");
|
||||
}
|
||||
&.image .file-icon {
|
||||
background-image: url("../images/file/image.svg");
|
||||
}
|
||||
&.media .file-icon {
|
||||
background-image: url("../images/file/media.svg");
|
||||
}
|
||||
&.pdf .file-icon {
|
||||
background-image: url("../images/file/pdf.svg");
|
||||
}
|
||||
&.text .file-icon {
|
||||
background-image: url("../images/file/text.svg");
|
||||
}
|
||||
&.cad .file-icon {
|
||||
background-image: url("../images/file/cad.svg");
|
||||
}
|
||||
&.other .file-icon {
|
||||
background-image: url("../images/file/other.svg");
|
||||
}
|
||||
&.highlight {
|
||||
background-color: #f4f5f7;
|
||||
}
|
||||
@ -522,6 +564,27 @@
|
||||
&.ppt:before {
|
||||
background-image: url("../images/file/ppt.svg");
|
||||
}
|
||||
&.compress:before {
|
||||
background-image: url("../images/file/compress.svg");
|
||||
}
|
||||
&.image:before {
|
||||
background-image: url("../images/file/image.svg");
|
||||
}
|
||||
&.media:before {
|
||||
background-image: url("../images/file/media.svg");
|
||||
}
|
||||
&.pdf:before {
|
||||
background-image: url("../images/file/pdf.svg");
|
||||
}
|
||||
&.text:before {
|
||||
background-image: url("../images/file/text.svg");
|
||||
}
|
||||
&.cad:before {
|
||||
background-image: url("../images/file/cad.svg");
|
||||
}
|
||||
&.other:before {
|
||||
background-image: url("../images/file/other.svg");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
1
resources/assets/statics/public/images/file/cad.svg
Normal file
After Width: | Height: | Size: 4.9 KiB |
1
resources/assets/statics/public/images/file/compress.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1639134709586" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5694" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#989FA5" p-id="5695"></path><path d="M686.933333 337.066667h166.4L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="5696"></path><path d="M533.333333 524.8v119.466667l12.8 25.6c0 4.266667 4.266667 8.533333 4.266667 8.533333v72.533333c8.533333-4.266667 12.8-12.8 12.8-25.6v-170.666666c-4.266667-12.8-17.066667-25.6-29.866667-29.866667zM512 652.8v-119.466667c0-12.8-8.533333-21.333333-21.333333-21.333333h-68.266667v29.866667h-29.866667v-29.866667h-55.466666c-12.8 0-21.333333 8.533333-21.333334 21.333333v213.333334c0 12.8 8.533333 21.333333 21.333334 21.333333h170.666666c12.8 0 21.333333-8.533333 21.333334-21.333333v-64l-17.066667-29.866667z m-59.733333-76.8h-29.866667v29.866667h29.866667v89.6h-59.733334v-59.733334h29.866667v-29.866666h-29.866667v-29.866667h29.866667v-29.866667h29.866667v29.866667z" fill="#FFFFFF" p-id="5697"></path></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
resources/assets/statics/public/images/file/image.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1639131622718" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11457" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#53CBAE" p-id="11458"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="11459"></path><path d="M550.4 503.466667h-213.333333c-17.066667 0-34.133333 12.8-34.133334 34.133333v213.333333c0 17.066667 12.8 34.133333 34.133334 34.133334h213.333333c17.066667 0 34.133333-12.8 34.133333-34.133334v-213.333333c-4.266667-17.066667-17.066667-34.133333-34.133333-34.133333z m-68.266667 68.266666c17.066667 0 29.866667 12.8 29.866667 29.866667s-12.8 29.866667-29.866667 29.866667-29.866667-12.8-29.866666-29.866667 12.8-29.866667 29.866666-29.866667z m76.8 179.2c0 4.266667-4.266667 8.533333-8.533333 8.533334h-213.333333c-4.266667 0-8.533333-4.266667-8.533334-8.533334V725.333333L384 665.6c12.8-12.8 29.866667-12.8 38.4 0l59.733333 59.733333 21.333334-21.333333c12.8-12.8 29.866667-12.8 38.4 0l21.333333 21.333333v25.6z" fill="#FFFFFF" p-id="11460"></path></svg>
|
After Width: | Height: | Size: 1.5 KiB |
1
resources/assets/statics/public/images/file/media.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1639131652752" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11826" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#6067DC" p-id="11827"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="11828"></path><path d="M516.266667 627.2v29.866667l59.733333 51.2c12.8 8.533333 29.866667 0 29.866667-12.8v-106.666667c0-12.8-17.066667-21.333333-29.866667-12.8l-59.733333 51.2z" fill="#FFFFFF" p-id="11829"></path><path d="M473.6 529.066667H328.533333c-21.333333 0-42.666667 21.333333-42.666666 42.666666v140.8c0 21.333333 21.333333 42.666667 42.666666 42.666667h149.333334c21.333333 0 42.666667-21.333333 42.666666-42.666667v-140.8c-4.266667-21.333333-21.333333-42.666667-46.933333-42.666666z m-29.866667 119.466666l-55.466666 42.666667c-4.266667 4.266667-12.8 0-12.8-8.533333v-85.333334c0-8.533333 8.533333-12.8 12.8-8.533333l55.466666 42.666667c4.266667 8.533333 4.266667 12.8 0 17.066666z" fill="#FFFFFF" p-id="11830"></path></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
resources/assets/statics/public/images/file/pdf.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1639131674043" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11971" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#EA4845" p-id="11972"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="11973"></path><path d="M554.666667 657.066667c-21.333333 0-42.666667 4.266667-68.266667 8.533333-12.8-8.533333-21.333333-21.333333-34.133333-29.866667l-17.066667-17.066666c12.8-42.666667 12.8-72.533333 12.8-85.333334 0-4.266667 0-8.533333-4.266667-12.8-4.266667-12.8-17.066667-21.333333-29.866666-21.333333-12.8 0-21.333333 4.266667-29.866667 17.066667 0-4.266667-4.266667 4.266667-4.266667 8.533333 0 25.6 12.8 59.733333 34.133334 89.6l-12.8 38.4c-4.266667 12.8-12.8 25.6-17.066667 38.4-21.333333 8.533333-42.666667 17.066667-64 29.866667-4.266667 0-4.266667 4.266667-8.533333 4.266666-4.266667 4.266667-8.533333 12.8-8.533334 21.333334 0 17.066667 12.8 29.866667 29.866667 29.866666 8.533333 0 12.8-4.266667 21.333333-8.533333l4.266667-4.266667c17.066667-17.066667 29.866667-38.4 38.4-59.733333 12.8-4.266667 21.333333-8.533333 34.133333-12.8 17.066667-4.266667 34.133333-8.533333 46.933334-12.8 25.6 17.066667 51.2 29.866667 68.266666 29.866667 17.066667 0 29.866667-12.8 29.866667-29.866667 4.266667-8.533333-4.266667-21.333333-21.333333-21.333333z m-38.4 21.333333c12.8 0 25.6-4.266667 38.4-4.266667 4.266667 0 8.533333 4.266667 8.533333 8.533334s-4.266667 8.533333-8.533333 8.533333c-12.8 0-25.6-4.266667-38.4-12.8z m-110.933334-157.866667c4.266667-8.533333 17.066667-8.533333 21.333334 0v4.266667c0 17.066667 0 38.4-8.533334 64-12.8-21.333333-21.333333-46.933333-21.333333-64 4.266667 0 4.266667-4.266667 8.533333-4.266667zM341.333333 759.466667c-4.266667 4.266667-12.8 0-12.8-8.533334 0-4.266667 0-4.266667 4.266667-8.533333l4.266667-4.266667c8.533333-4.266667 21.333333-12.8 34.133333-17.066666-12.8 12.8-21.333333 25.6-29.866667 38.4z m85.333334-81.066667c-4.266667 0-12.8 4.266667-17.066667 4.266667 4.266667-8.533333 8.533333-12.8 8.533333-21.333334 4.266667-8.533333 4.266667-17.066667 8.533334-25.6l8.533333 8.533334 21.333333 21.333333c-4.266667 4.266667-17.066667 8.533333-29.866666 12.8z" fill="#FFFFFF" p-id="11974"></path></svg>
|
After Width: | Height: | Size: 2.6 KiB |
1
resources/assets/statics/public/images/file/text.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028321516" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10195" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#447AF9" p-id="10196"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="10197"></path><path d="M486.4 780.8h-170.666667c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533334h170.666667c4.266667 0 8.533333 4.266667 8.533333 8.533334s-4.266667 8.533333-8.533333 8.533333zM571.733333 695.466667h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533334s4.266667-8.533333 8.533333-8.533333h256c4.266667 0 8.533333 4.266667 8.533334 8.533333s-4.266667 8.533333-8.533334 8.533334zM571.733333 610.133333h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533333h256c4.266667 0 8.533333 4.266667 8.533334 8.533333s-4.266667 8.533333-8.533334 8.533333zM571.733333 524.8h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533334h256c4.266667 0 8.533333 4.266667 8.533334 8.533334s-4.266667 8.533333-8.533334 8.533333z" fill="#FFFFFF" p-id="10198"></path></svg>
|
After Width: | Height: | Size: 1.6 KiB |