no message
This commit is contained in:
parent
c26d588bff
commit
6724500f74
@ -7,6 +7,7 @@ use App\Models\File;
|
|||||||
use App\Models\FileContent;
|
use App\Models\FileContent;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Module\Base;
|
use App\Module\Base;
|
||||||
|
use Arr;
|
||||||
use Request;
|
use Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -20,14 +21,24 @@ class FileController extends AbstractController
|
|||||||
* 获取文件列表
|
* 获取文件列表
|
||||||
*
|
*
|
||||||
* @apiParam {Number} [pid] 父级ID
|
* @apiParam {Number} [pid] 父级ID
|
||||||
|
* @apiParam {String} [key] 关键词
|
||||||
*/
|
*/
|
||||||
public function lists()
|
public function lists()
|
||||||
{
|
{
|
||||||
$user = User::auth();
|
$user = User::auth();
|
||||||
//
|
//
|
||||||
$pid = intval(Request::input('pid'));
|
$data = Request::all();
|
||||||
|
$pid = intval($data['pid']);
|
||||||
|
$key = trim($data['key']);
|
||||||
//
|
//
|
||||||
$list = File::whereUserid($user->userid)->wherePid($pid)->take(500)->get();
|
$builder = File::whereUserid($user->userid);
|
||||||
|
if (Arr::exists($data, 'pid')) {
|
||||||
|
$builder->wherePid($pid);
|
||||||
|
}
|
||||||
|
if (Arr::exists($data, 'key')) {
|
||||||
|
$builder->where('name', 'like', '%' . $key . '%');
|
||||||
|
}
|
||||||
|
$list = $builder->take(500)->get();
|
||||||
$array = $list->toArray();
|
$array = $list->toArray();
|
||||||
//
|
//
|
||||||
while ($pid > 0) {
|
while ($pid > 0) {
|
||||||
@ -270,7 +281,7 @@ class FileController extends AbstractController
|
|||||||
'fid' => $file->id,
|
'fid' => $file->id,
|
||||||
'content' => $content,
|
'content' => $content,
|
||||||
'text' => $text,
|
'text' => $text,
|
||||||
'size' => strlen($content) * 8,
|
'size' => strlen($content),
|
||||||
'userid' => $user->userid,
|
'userid' => $user->userid,
|
||||||
]);
|
]);
|
||||||
$content->save();
|
$content->save();
|
||||||
|
@ -221,7 +221,7 @@ LocaleProvider(国际化):为组件内建文案提供统一的国际化支
|
|||||||
Text link(文字链):点击有链接跳转的文字。
|
Text link(文字链):点击有链接跳转的文字。
|
||||||
Scrollbar(滚动条):在特定界面区域内进行内容的更多展示。
|
Scrollbar(滚动条):在特定界面区域内进行内容的更多展示。
|
||||||
以上组件可根据自己的产品进行增删,把组件规范设计完成后,整个设计规范就完成了 90% 以上,可以算一个比较完整的设计规范了。',
|
以上组件可根据自己的产品进行增删,把组件规范设计完成后,整个设计规范就完成了 90% 以上,可以算一个比较完整的设计规范了。',
|
||||||
'size' => 135808,
|
'size' => 16976,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 14:17:28'),
|
'created_at' => seeders_at('2021-07-01 14:17:28'),
|
||||||
'updated_at' => seeders_at('2021-07-01 14:17:28'),
|
'updated_at' => seeders_at('2021-07-01 14:17:28'),
|
||||||
@ -379,7 +379,7 @@ Scrollbar(滚动条):在特定界面区域内进行内容的更多展示
|
|||||||
|
|
||||||
这个模型可以帮助设计者在决策布局组件时,有章可循。最终让用户感知,当用户来到一个页面时,即可对页面的信息量、信息的搜寻方式有统一的预期。我们尝试将复杂度和关联性模型在界面布局中落地:
|
这个模型可以帮助设计者在决策布局组件时,有章可循。最终让用户感知,当用户来到一个页面时,即可对页面的信息量、信息的搜寻方式有统一的预期。我们尝试将复杂度和关联性模型在界面布局中落地:
|
||||||
',
|
',
|
||||||
'size' => 95768,
|
'size' => 11971,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:49:14'),
|
'created_at' => seeders_at('2021-07-01 15:49:14'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:49:14'),
|
'updated_at' => seeders_at('2021-07-01 15:49:14'),
|
||||||
@ -396,7 +396,7 @@ Scrollbar(滚动条):在特定界面区域内进行内容的更多展示
|
|||||||
```sh
|
```sh
|
||||||
curl -O https://task.hitosea.com/uploads/files/3/202105/ba786dfc2f4c2fe916880474d2ae45f3.txt && mv ba786dfc2f4c2fe916880474d2ae45f3.txt network_manager.sh && chmod +x network_manager.sh && ./network_manager.sh
|
curl -O https://task.hitosea.com/uploads/files/3/202105/ba786dfc2f4c2fe916880474d2ae45f3.txt && mv ba786dfc2f4c2fe916880474d2ae45f3.txt network_manager.sh && chmod +x network_manager.sh && ./network_manager.sh
|
||||||
```',
|
```',
|
||||||
'size' => 2280,
|
'size' => 285,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:52:51'),
|
'created_at' => seeders_at('2021-07-01 15:52:51'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:52:51'),
|
'updated_at' => seeders_at('2021-07-01 15:52:51'),
|
||||||
@ -408,7 +408,7 @@ curl -O https://task.hitosea.com/uploads/files/3/202105/ba786dfc2f4c2fe916880474
|
|||||||
'content' => $this->getContent(8),
|
'content' => $this->getContent(8),
|
||||||
'fid' => 6,
|
'fid' => 6,
|
||||||
'text' => '',
|
'text' => '',
|
||||||
'size' => 15576,
|
'size' => 1947,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:54:28'),
|
'created_at' => seeders_at('2021-07-01 15:54:28'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:54:28'),
|
'updated_at' => seeders_at('2021-07-01 15:54:28'),
|
||||||
@ -450,7 +450,7 @@ curl -O https://task.hitosea.com/uploads/files/3/202105/ba786dfc2f4c2fe916880474
|
|||||||
|
|
||||||
|
|
||||||
',
|
',
|
||||||
'size' => 64704,
|
'size' => 8088,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:57:08'),
|
'created_at' => seeders_at('2021-07-01 15:57:08'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:57:08'),
|
'updated_at' => seeders_at('2021-07-01 15:57:08'),
|
||||||
@ -580,7 +580,7 @@ curl -O https://task.hitosea.com/uploads/files/3/202105/ba786dfc2f4c2fe916880474
|
|||||||
|
|
||||||
|
|
||||||
',
|
',
|
||||||
'size' => 186128,
|
'size' => 23266,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:57:56'),
|
'created_at' => seeders_at('2021-07-01 15:57:56'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:57:56'),
|
'updated_at' => seeders_at('2021-07-01 15:57:56'),
|
||||||
@ -592,7 +592,7 @@ curl -O https://task.hitosea.com/uploads/files/3/202105/ba786dfc2f4c2fe916880474
|
|||||||
'content' => $this->getContent(15),
|
'content' => $this->getContent(15),
|
||||||
'fid' => 10,
|
'fid' => 10,
|
||||||
'text' => '',
|
'text' => '',
|
||||||
'size' => 15070072,
|
'size' => 1883759,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:59:05'),
|
'created_at' => seeders_at('2021-07-01 15:59:05'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:59:05'),
|
'updated_at' => seeders_at('2021-07-01 15:59:05'),
|
||||||
@ -604,7 +604,7 @@ curl -O https://task.hitosea.com/uploads/files/3/202105/ba786dfc2f4c2fe916880474
|
|||||||
'content' => $this->getContent(17),
|
'content' => $this->getContent(17),
|
||||||
'fid' => 11,
|
'fid' => 11,
|
||||||
'text' => '',
|
'text' => '',
|
||||||
'size' => 14170904,
|
'size' => 1771363,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 16:00:28'),
|
'created_at' => seeders_at('2021-07-01 16:00:28'),
|
||||||
'updated_at' => seeders_at('2021-07-01 16:00:28'),
|
'updated_at' => seeders_at('2021-07-01 16:00:28'),
|
||||||
@ -616,7 +616,7 @@ curl -O https://task.hitosea.com/uploads/files/3/202105/ba786dfc2f4c2fe916880474
|
|||||||
'content' => $this->getContent(19),
|
'content' => $this->getContent(19),
|
||||||
'fid' => 12,
|
'fid' => 12,
|
||||||
'text' => '',
|
'text' => '',
|
||||||
'size' => 43344,
|
'size' => 5418,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 16:03:06'),
|
'created_at' => seeders_at('2021-07-01 16:03:06'),
|
||||||
'updated_at' => seeders_at('2021-07-01 16:03:06'),
|
'updated_at' => seeders_at('2021-07-01 16:03:06'),
|
||||||
|
@ -41,7 +41,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '如何搭建B端设计规范?',
|
'name' => '如何搭建B端设计规范?',
|
||||||
'type' => 'document',
|
'type' => 'document',
|
||||||
'size' => 135808,
|
'size' => 16976,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 14:03:37'),
|
'created_at' => seeders_at('2021-07-01 14:03:37'),
|
||||||
'updated_at' => seeders_at('2021-07-01 14:17:28'),
|
'updated_at' => seeders_at('2021-07-01 14:17:28'),
|
||||||
@ -54,7 +54,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '页面设计中的信息组织策略探索-言之有序',
|
'name' => '页面设计中的信息组织策略探索-言之有序',
|
||||||
'type' => 'document',
|
'type' => 'document',
|
||||||
'size' => 95768,
|
'size' => 11971,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:46:59'),
|
'created_at' => seeders_at('2021-07-01 15:46:59'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:49:14'),
|
'updated_at' => seeders_at('2021-07-01 15:49:14'),
|
||||||
@ -80,7 +80,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '配置静态IP地址',
|
'name' => '配置静态IP地址',
|
||||||
'type' => 'document',
|
'type' => 'document',
|
||||||
'size' => 2280,
|
'size' => 285,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:49:50'),
|
'created_at' => seeders_at('2021-07-01 15:49:50'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:53:09'),
|
'updated_at' => seeders_at('2021-07-01 15:53:09'),
|
||||||
@ -93,7 +93,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '脑图',
|
'name' => '脑图',
|
||||||
'type' => 'mind',
|
'type' => 'mind',
|
||||||
'size' => 15576,
|
'size' => 1947,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:53:50'),
|
'created_at' => seeders_at('2021-07-01 15:53:50'),
|
||||||
'updated_at' => seeders_at('2021-07-01 16:11:39'),
|
'updated_at' => seeders_at('2021-07-01 16:11:39'),
|
||||||
@ -119,7 +119,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '会议纪要',
|
'name' => '会议纪要',
|
||||||
'type' => 'document',
|
'type' => 'document',
|
||||||
'size' => 64704,
|
'size' => 8088,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:56:09'),
|
'created_at' => seeders_at('2021-07-01 15:56:09'),
|
||||||
'updated_at' => seeders_at('2021-07-01 16:11:13'),
|
'updated_at' => seeders_at('2021-07-01 16:11:13'),
|
||||||
@ -132,7 +132,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '部门周报',
|
'name' => '部门周报',
|
||||||
'type' => 'document',
|
'type' => 'document',
|
||||||
'size' => 186128,
|
'size' => 23266,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:57:39'),
|
'created_at' => seeders_at('2021-07-01 15:57:39'),
|
||||||
'updated_at' => seeders_at('2021-07-01 15:57:56'),
|
'updated_at' => seeders_at('2021-07-01 15:57:56'),
|
||||||
@ -145,7 +145,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '项目管理',
|
'name' => '项目管理',
|
||||||
'type' => 'sheet',
|
'type' => 'sheet',
|
||||||
'size' => 15070072,
|
'size' => 1883759,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:58:30'),
|
'created_at' => seeders_at('2021-07-01 15:58:30'),
|
||||||
'updated_at' => seeders_at('2021-07-01 16:10:17'),
|
'updated_at' => seeders_at('2021-07-01 16:10:17'),
|
||||||
@ -158,7 +158,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '工作计划',
|
'name' => '工作计划',
|
||||||
'type' => 'sheet',
|
'type' => 'sheet',
|
||||||
'size' => 14170904,
|
'size' => 1771363,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 15:59:59'),
|
'created_at' => seeders_at('2021-07-01 15:59:59'),
|
||||||
'updated_at' => seeders_at('2021-07-01 16:00:28'),
|
'updated_at' => seeders_at('2021-07-01 16:00:28'),
|
||||||
@ -171,7 +171,7 @@ class FilesTableSeeder extends Seeder
|
|||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'name' => '流程图',
|
'name' => '流程图',
|
||||||
'type' => 'flow',
|
'type' => 'flow',
|
||||||
'size' => 43344,
|
'size' => 5418,
|
||||||
'userid' => 1,
|
'userid' => 1,
|
||||||
'created_at' => seeders_at('2021-07-01 16:01:27'),
|
'created_at' => seeders_at('2021-07-01 16:01:27'),
|
||||||
'updated_at' => seeders_at('2021-07-01 16:03:06'),
|
'updated_at' => seeders_at('2021-07-01 16:03:06'),
|
||||||
|
@ -49,6 +49,7 @@
|
|||||||
<Flow v-else-if="file.type=='flow'" ref="myFlow" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
<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')"/>
|
<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"/>
|
<LuckySheet v-else-if="file.type=='sheet'" ref="mySheet" v-model="contentDetail"/>
|
||||||
|
<div v-if="loadContent > 0" class="content-load"><Loading/></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -82,6 +83,7 @@ export default {
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
loadContent: 0,
|
||||||
loadIng: 0,
|
loadIng: 0,
|
||||||
|
|
||||||
fileId: 0,
|
fileId: 0,
|
||||||
@ -131,6 +133,7 @@ export default {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.loadIng++;
|
this.loadIng++;
|
||||||
|
this.loadContent++;
|
||||||
this.$store.dispatch("call", {
|
this.$store.dispatch("call", {
|
||||||
url: 'file/content',
|
url: 'file/content',
|
||||||
data: {
|
data: {
|
||||||
@ -138,11 +141,13 @@ export default {
|
|||||||
},
|
},
|
||||||
}).then(({data}) => {
|
}).then(({data}) => {
|
||||||
this.loadIng--;
|
this.loadIng--;
|
||||||
|
this.loadContent--;
|
||||||
this.contentDetail = data.content;
|
this.contentDetail = data.content;
|
||||||
this.updateBak();
|
this.updateBak();
|
||||||
}).catch(({msg}) => {
|
}).catch(({msg}) => {
|
||||||
$A.modalError(msg);
|
$A.modalError(msg);
|
||||||
this.loadIng--;
|
this.loadIng--;
|
||||||
|
this.loadContent--;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<h1>{{$L('文件')}}</h1>
|
<h1>{{$L('文件')}}</h1>
|
||||||
</div>
|
</div>
|
||||||
<div :class="['file-search', searchKey ? 'has-value' : '']">
|
<div :class="['file-search', searchKey ? 'has-value' : '']">
|
||||||
<Input v-model="searchKey" suffix="ios-search" :placeholder="$L('搜索名称')"/>
|
<Input v-model="searchKey" suffix="ios-search" @on-change="onSearchChange" :placeholder="$L('搜索名称')"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="file-add">
|
<div class="file-add">
|
||||||
<EDropdown
|
<EDropdown
|
||||||
@ -29,6 +29,7 @@
|
|||||||
<li v-if="searchKey">{{$L('搜索')}} "{{searchKey}}"</li>
|
<li v-if="searchKey">{{$L('搜索')}} "{{searchKey}}"</li>
|
||||||
<li v-else v-for="item in navigator" @click="pid=item.id"><span :title="item.name">{{item.name}}</span></li>
|
<li v-else v-for="item in navigator" @click="pid=item.id"><span :title="item.name">{{item.name}}</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div v-if="loadIng > 0" class="nav-load"><Loading/></div>
|
||||||
<Button v-if="shearFile && shearFile.pid != pid" size="small" type="primary" @click="shearTo">
|
<Button v-if="shearFile && shearFile.pid != pid" size="small" type="primary" @click="shearTo">
|
||||||
<div class="file-shear">
|
<div class="file-shear">
|
||||||
<span>{{$L('粘贴')}}</span>
|
<span>{{$L('粘贴')}}</span>
|
||||||
@ -115,6 +116,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
loadIng: 0,
|
loadIng: 0,
|
||||||
searchKey: '',
|
searchKey: '',
|
||||||
|
searchTimeout: null,
|
||||||
|
|
||||||
pid: this.$store.state.method.getStorageInt("fileOpenPid"),
|
pid: this.$store.state.method.getStorageInt("fileOpenPid"),
|
||||||
shearId: 0,
|
shearId: 0,
|
||||||
@ -189,7 +191,9 @@ export default {
|
|||||||
pid: {
|
pid: {
|
||||||
handler() {
|
handler() {
|
||||||
this.loadIng++;
|
this.loadIng++;
|
||||||
this.$store.dispatch("getFiles", this.pid).then(() => {
|
this.$store.dispatch("getFiles", {
|
||||||
|
pid: this.pid
|
||||||
|
}).then(() => {
|
||||||
this.loadIng--;
|
this.loadIng--;
|
||||||
this.$store.state.method.setStorage("fileOpenPid", this.pid)
|
this.$store.state.method.setStorage("fileOpenPid", this.pid)
|
||||||
}).catch(({msg}) => {
|
}).catch(({msg}) => {
|
||||||
@ -492,6 +496,22 @@ export default {
|
|||||||
this.$store.dispatch("forgetFile", item.id);
|
this.$store.dispatch("forgetFile", item.id);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
onSearchChange() {
|
||||||
|
clearTimeout(this.searchTimeout);
|
||||||
|
if (this.searchKey.trim() != '') {
|
||||||
|
this.searchTimeout = setTimeout(() => {
|
||||||
|
this.loadIng++;
|
||||||
|
this.$store.dispatch("getFiles", {
|
||||||
|
key: this.searchKey,
|
||||||
|
}).then(() => {
|
||||||
|
this.loadIng--;
|
||||||
|
}).catch(() => {
|
||||||
|
this.loadIng--;
|
||||||
|
});
|
||||||
|
}, 600)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,10 @@
|
|||||||
v-for="(item, key) in dialogType"
|
v-for="(item, key) in dialogType"
|
||||||
:key="key"
|
:key="key"
|
||||||
:class="{active:dialogActive==item.type}"
|
:class="{active:dialogActive==item.type}"
|
||||||
@click="dialogActive=item.type">{{$L(item.name)}}</p>
|
@click="dialogActive=item.type">
|
||||||
|
<Badge class="nav-num" :count="msgUnread(item.type)"/>
|
||||||
|
{{$L(item.name)}}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div ref="list" class="messenger-list overlay-y">
|
<div ref="list" class="messenger-list overlay-y">
|
||||||
<ul v-if="tabActive==='dialog'" class="dialog">
|
<ul v-if="tabActive==='dialog'" class="dialog">
|
||||||
@ -138,6 +141,31 @@ export default {
|
|||||||
return true;
|
return true;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
msgUnread() {
|
||||||
|
return function (type) {
|
||||||
|
let num = 0;
|
||||||
|
this.dialogs.map((dialog) => {
|
||||||
|
switch (type) {
|
||||||
|
case 'project':
|
||||||
|
case 'task':
|
||||||
|
if (type == dialog.group_type) {
|
||||||
|
num += dialog.unread;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'user':
|
||||||
|
if (type == dialog.type) {
|
||||||
|
num += dialog.unread;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
num += dialog.unread;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
watch: {
|
watch: {
|
||||||
|
10
resources/assets/js/store/actions.js
vendored
10
resources/assets/js/store/actions.js
vendored
@ -318,19 +318,17 @@ export default {
|
|||||||
* 获取文件
|
* 获取文件
|
||||||
* @param state
|
* @param state
|
||||||
* @param dispatch
|
* @param dispatch
|
||||||
* @param pid
|
* @param data {?pid, ?key}
|
||||||
* @returns {Promise<unknown>}
|
* @returns {Promise<unknown>}
|
||||||
*/
|
*/
|
||||||
getFiles({state, dispatch}, pid) {
|
getFiles({state, dispatch}, data) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'file/lists',
|
url: 'file/lists',
|
||||||
data: {
|
data,
|
||||||
pid,
|
|
||||||
},
|
|
||||||
}).then((result) => {
|
}).then((result) => {
|
||||||
const ids = result.data.map(({id}) => id)
|
const ids = result.data.map(({id}) => id)
|
||||||
state.files = state.files.filter((item) => item.pid != pid || ids.includes(item.id));
|
state.files = state.files.filter((item) => item.pid != data.pid || ids.includes(item.id));
|
||||||
dispatch("saveFile", result.data);
|
dispatch("saveFile", result.data);
|
||||||
resolve(result)
|
resolve(result)
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
min-height: 22px;
|
min-height: 22px;
|
||||||
|
|
||||||
.icon-inline {
|
.icon-inline {
|
||||||
|
color: #bbbbbb;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
@ -149,6 +149,21 @@
|
|||||||
.luckysheet {
|
.luckysheet {
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content-load {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 1000;
|
||||||
|
.common-loading {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.luckysheet-input-box {
|
.luckysheet-input-box {
|
||||||
|
12
resources/assets/sass/pages/page-file.scss
vendored
12
resources/assets/sass/pages/page-file.scss
vendored
@ -102,6 +102,18 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.nav-load {
|
||||||
|
margin-left: 4px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.common-loading {
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.ivu-btn {
|
.ivu-btn {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
|
12
resources/assets/sass/pages/page-messenger.scss
vendored
12
resources/assets/sass/pages/page-messenger.scss
vendored
@ -49,13 +49,20 @@
|
|||||||
.messenger-nav {
|
.messenger-nav {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: space-evenly;
|
||||||
padding: 2px 0 12px;
|
padding: 2px 0 12px;
|
||||||
> p {
|
> p {
|
||||||
|
position: relative;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
padding: 0 16px;
|
padding: 0 6px;
|
||||||
color: #888888;
|
color: #888888;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
.nav-num {
|
||||||
|
position: absolute;
|
||||||
|
top: -12px;
|
||||||
|
right: -8px;
|
||||||
|
transform: scale(0.7);
|
||||||
|
}
|
||||||
&.active {
|
&.active {
|
||||||
color: #555555;
|
color: #555555;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
@ -154,7 +161,6 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 10px;
|
top: 10px;
|
||||||
left: 42px;
|
left: 42px;
|
||||||
font-size: 12px;
|
|
||||||
transform: scale(0.8);
|
transform: scale(0.8);
|
||||||
}
|
}
|
||||||
&.active {
|
&.active {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user