|
|
|
@ -2,25 +2,66 @@ |
|
|
|
|
<div class="assignmnet"> |
|
|
|
|
<header> |
|
|
|
|
<div class="left"> |
|
|
|
|
<i class="el-icon-s-order"></i> |
|
|
|
|
<span>部门任务</span> |
|
|
|
|
<i class="el-icon-menu" style="margin-left: 20px"></i> |
|
|
|
|
<span>需求,任务</span> |
|
|
|
|
<i class="el-icon-menu"></i> |
|
|
|
|
<!-- 任务日期范围选择 --> |
|
|
|
|
<i class="el-icon-s-order" style="font-size: 16px" |
|
|
|
|
><span> 全部任务</span></i |
|
|
|
|
> |
|
|
|
|
<div class="btns"> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
plain |
|
|
|
|
v-for="i in time" |
|
|
|
|
:key="i.id" |
|
|
|
|
v-model="timeSearchData" |
|
|
|
|
@click="timeSearch(i)" |
|
|
|
|
>{{ i.name }}</el-button |
|
|
|
|
> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="right"> |
|
|
|
|
<div |
|
|
|
|
class="div" |
|
|
|
|
style="width: 70px; height: 40px; background-color: pink" |
|
|
|
|
></div> |
|
|
|
|
<div |
|
|
|
|
class="div" |
|
|
|
|
style="width: 70px; height: 40px; background-color: pink" |
|
|
|
|
></div> |
|
|
|
|
<div |
|
|
|
|
class="div" |
|
|
|
|
style="width: 70px; height: 40px; background-color: pink" |
|
|
|
|
></div> |
|
|
|
|
<div class="table-page-search-wrapper"> |
|
|
|
|
<a-form layout="inline" @keyup.enter.native="searchQuery"> |
|
|
|
|
<a-row :gutter="12"> |
|
|
|
|
<a-col :md="6" :sm="8" style="height: 80%"> |
|
|
|
|
<a-form-item> |
|
|
|
|
<j-dict-select-tag |
|
|
|
|
v-model="queryParam.typeId" |
|
|
|
|
placeholder="请选择任务类型" |
|
|
|
|
dict-code="task_type,type_name,id" |
|
|
|
|
></j-dict-select-tag> |
|
|
|
|
</a-form-item> |
|
|
|
|
</a-col> |
|
|
|
|
<a-col :md="6" :sm="8" style="height: 80%"> |
|
|
|
|
<a-form-item> |
|
|
|
|
<j-dict-select-tag |
|
|
|
|
v-model="queryParam.projectId" |
|
|
|
|
placeholder="请选择项目" |
|
|
|
|
dict-code="projectx,project_name,id" |
|
|
|
|
style="width: 100%" |
|
|
|
|
></j-dict-select-tag> |
|
|
|
|
</a-form-item> |
|
|
|
|
</a-col> |
|
|
|
|
<a-col :md="6" :sm="8"> |
|
|
|
|
<span |
|
|
|
|
style="float: left; overflow: hidden" |
|
|
|
|
class="table-page-search-submitButtons" |
|
|
|
|
> |
|
|
|
|
<a-button type="primary" @click="searchTask" icon="search"> |
|
|
|
|
查询 |
|
|
|
|
</a-button> |
|
|
|
|
<a-button |
|
|
|
|
type="primary" |
|
|
|
|
@click="reset" |
|
|
|
|
icon="reload" |
|
|
|
|
style="margin-left: 8px" |
|
|
|
|
>重置</a-button |
|
|
|
|
> |
|
|
|
|
</span> |
|
|
|
|
</a-col> |
|
|
|
|
</a-row> |
|
|
|
|
</a-form> |
|
|
|
|
<!-- </div> --> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</header> |
|
|
|
|
<div class="content"> |
|
|
|
@ -31,10 +72,12 @@ |
|
|
|
|
<span>{{ assignmnetData.total }}</span> |
|
|
|
|
</div> |
|
|
|
|
<div class="right"> |
|
|
|
|
<i class="el-icon-plus" @click="toAdd()"></i> |
|
|
|
|
<i class="el-icon-plus" @click="handleAdd()"></i> |
|
|
|
|
<i class="el-icon-more"></i> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<!-- ---------------- --> |
|
|
|
|
<div |
|
|
|
|
class="cards" |
|
|
|
|
@scroll.passive="assignmnetScroll" |
|
|
|
@ -43,7 +86,6 @@ |
|
|
|
|
<Container |
|
|
|
|
drag-class="card-ghost" |
|
|
|
|
drop-class="card-ghost-drop" |
|
|
|
|
:drop-placeholder="dropPlaceholderOptions" |
|
|
|
|
group-name="col" |
|
|
|
|
@drop="(e) => onAssignmnetCardDrop(e)" |
|
|
|
|
:get-child-payload="getAssignmnetCardPayload()" |
|
|
|
@ -86,29 +128,19 @@ |
|
|
|
|
<div class="word" v-if="item.contentType === 'file'"> |
|
|
|
|
<div class="word_img"> |
|
|
|
|
<img |
|
|
|
|
src="https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg" |
|
|
|
|
src="http://localhost:18081/jeecg-boot/sys/common/static/scott/pic/Snipaste_2023-07-22_09-41-03_1689990077264.png" |
|
|
|
|
alt="图片占位" |
|
|
|
|
width="100%" |
|
|
|
|
height="100%" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<div class="operate"> |
|
|
|
|
<span>点击查看</span> |
|
|
|
|
<el-upload |
|
|
|
|
class="upload-demo" |
|
|
|
|
action="https://jsonplaceholder.typicode.com/posts/" |
|
|
|
|
:on-preview="handlePreview" |
|
|
|
|
:on-remove="handleRemove" |
|
|
|
|
:before-remove="beforeRemove" |
|
|
|
|
multiple |
|
|
|
|
:limit="3" |
|
|
|
|
:on-exceed="handleExceed" |
|
|
|
|
:file-list="fileList" |
|
|
|
|
<el-link type="success" @click="toLook(item)" |
|
|
|
|
>点击预览</el-link |
|
|
|
|
> |
|
|
|
|
<el-link type="primary" :href="item.taskFile" |
|
|
|
|
>点击下载</el-link |
|
|
|
|
> |
|
|
|
|
<el-button size="small" type="primary" |
|
|
|
|
>点击上传</el-button |
|
|
|
|
> |
|
|
|
|
</el-upload> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="concept_map" v-if="item.contentType === 'image'"> |
|
|
|
@ -129,7 +161,7 @@ |
|
|
|
|
item.contentType !== 'image' |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<el-image></el-image> |
|
|
|
|
<el-empty :image-size="200"></el-empty> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<!-- <div class="progess"> |
|
|
|
@ -170,9 +202,9 @@ |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="tag"> |
|
|
|
|
<el-tag type="warning">一级分类</el-tag> |
|
|
|
|
<el-tag type="success">二级分类</el-tag> |
|
|
|
|
<el-tag>任务等级</el-tag> |
|
|
|
|
<el-tag type="warning">{{ item.typePid_dictText }}</el-tag> |
|
|
|
|
<el-tag type="success">{{ item.typeId_dictText }}</el-tag> |
|
|
|
|
<el-tag>{{ item.workLevel }}</el-tag> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</Draggable> |
|
|
|
@ -189,7 +221,7 @@ |
|
|
|
|
<span>{{ developedData.total }}</span> |
|
|
|
|
</div> |
|
|
|
|
<div class="right"> |
|
|
|
|
<i class="el-icon-plus"></i> |
|
|
|
|
<i class="el-icon-plus" @click="handleAdd()"></i> |
|
|
|
|
<i class="el-icon-more"></i> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -201,7 +233,6 @@ |
|
|
|
|
<Container |
|
|
|
|
drag-class="card-ghost" |
|
|
|
|
drop-class="card-ghost-drop" |
|
|
|
|
:drop-placeholder="dropPlaceholderOptions" |
|
|
|
|
group-name="col" |
|
|
|
|
@drop="(e) => onDevelopedCardDrop(e)" |
|
|
|
|
:get-child-payload="getDevelopedCardPayload()" |
|
|
|
@ -216,9 +247,24 @@ |
|
|
|
|
<div class="name" :title="item.taskName"> |
|
|
|
|
{{ item.taskName }} |
|
|
|
|
</div> |
|
|
|
|
<div class="functions"> |
|
|
|
|
<i class="el-icon-more"></i> |
|
|
|
|
</div> |
|
|
|
|
<el-dropdown> |
|
|
|
|
<span class="el-dropdown-link"> |
|
|
|
|
<i class="el-icon-more"></i> |
|
|
|
|
</span> |
|
|
|
|
<el-dropdown-menu slot="dropdown"> |
|
|
|
|
<el-dropdown-item @click.native="Tofengjie(item)" |
|
|
|
|
>分解任务</el-dropdown-item |
|
|
|
|
> |
|
|
|
|
<el-dropdown-item>关联任务</el-dropdown-item> |
|
|
|
|
<el-dropdown-item>子级任务</el-dropdown-item> |
|
|
|
|
<el-dropdown-item @click.native="toEdit(item)" |
|
|
|
|
>编辑任务</el-dropdown-item |
|
|
|
|
> |
|
|
|
|
<el-dropdown-item @click.native="delCardData(item)" |
|
|
|
|
>删除任务</el-dropdown-item |
|
|
|
|
> |
|
|
|
|
</el-dropdown-menu> |
|
|
|
|
</el-dropdown> |
|
|
|
|
</div> |
|
|
|
|
<div class="level">任务层级:{{ item.level_dictText }}</div> |
|
|
|
|
<div class="union">{{ item.union }}</div> |
|
|
|
@ -229,29 +275,19 @@ |
|
|
|
|
<div class="word" v-if="item.contentType === 'file'"> |
|
|
|
|
<div class="word_img"> |
|
|
|
|
<img |
|
|
|
|
src="https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg" |
|
|
|
|
src="http://localhost:18081/jeecg-boot/sys/common/static/scott/pic/Snipaste_2023-07-22_09-41-03_1689990077264.png" |
|
|
|
|
alt="图片占位" |
|
|
|
|
width="100%" |
|
|
|
|
height="100%" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<div class="operate"> |
|
|
|
|
<span>点击查看</span> |
|
|
|
|
<el-upload |
|
|
|
|
class="upload-demo" |
|
|
|
|
action="https://jsonplaceholder.typicode.com/posts/" |
|
|
|
|
:on-preview="handlePreview" |
|
|
|
|
:on-remove="handleRemove" |
|
|
|
|
:before-remove="beforeRemove" |
|
|
|
|
multiple |
|
|
|
|
:limit="3" |
|
|
|
|
:on-exceed="handleExceed" |
|
|
|
|
:file-list="fileList" |
|
|
|
|
<el-link type="success" @click="toLook(item)" |
|
|
|
|
>点击预览</el-link |
|
|
|
|
> |
|
|
|
|
<el-link type="primary" :href="item.taskFile" |
|
|
|
|
>点击下载</el-link |
|
|
|
|
> |
|
|
|
|
<el-button size="small" type="primary" |
|
|
|
|
>点击上传</el-button |
|
|
|
|
> |
|
|
|
|
</el-upload> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="concept_map" v-if="item.contentType === 'image'"> |
|
|
|
@ -272,7 +308,7 @@ |
|
|
|
|
item.contentType !== 'image' |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<el-image></el-image> |
|
|
|
|
<el-empty :image-size="200"></el-empty> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<!-- <div class="progess"> |
|
|
|
@ -313,9 +349,9 @@ |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="tag"> |
|
|
|
|
<el-tag type="warning">一级分类</el-tag> |
|
|
|
|
<el-tag type="success">二级分类</el-tag> |
|
|
|
|
<el-tag>任务等级</el-tag> |
|
|
|
|
<el-tag type="warning">{{ item.typePid_dictText }}</el-tag> |
|
|
|
|
<el-tag type="success">{{ item.typeId_dictText }}</el-tag> |
|
|
|
|
<el-tag>{{ item.workLevel }}</el-tag> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</Draggable> |
|
|
|
@ -371,29 +407,19 @@ |
|
|
|
|
<div class="word" v-if="item.contentType === 'file'"> |
|
|
|
|
<div class="word_img"> |
|
|
|
|
<img |
|
|
|
|
src="https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg" |
|
|
|
|
src="http://localhost:18081/jeecg-boot/sys/common/static/scott/pic/Snipaste_2023-07-22_09-41-03_1689990077264.png" |
|
|
|
|
alt="图片占位" |
|
|
|
|
width="100%" |
|
|
|
|
height="100%" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<div class="operate"> |
|
|
|
|
<span>点击查看</span> |
|
|
|
|
<el-upload |
|
|
|
|
class="upload-demo" |
|
|
|
|
action="https://jsonplaceholder.typicode.com/posts/" |
|
|
|
|
:on-preview="handlePreview" |
|
|
|
|
:on-remove="handleRemove" |
|
|
|
|
:before-remove="beforeRemove" |
|
|
|
|
multiple |
|
|
|
|
:limit="3" |
|
|
|
|
:on-exceed="handleExceed" |
|
|
|
|
:file-list="fileList" |
|
|
|
|
<el-link type="success" @click="toLook(item)" |
|
|
|
|
>点击预览</el-link |
|
|
|
|
> |
|
|
|
|
<el-link type="primary" :href="item.taskFile" |
|
|
|
|
>点击下载</el-link |
|
|
|
|
> |
|
|
|
|
<el-button size="small" type="primary" |
|
|
|
|
>点击上传</el-button |
|
|
|
|
> |
|
|
|
|
</el-upload> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="concept_map" v-if="item.contentType === 'image'"> |
|
|
|
@ -455,9 +481,9 @@ |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="tag"> |
|
|
|
|
<el-tag type="warning">一级分类</el-tag> |
|
|
|
|
<el-tag type="success">二级分类</el-tag> |
|
|
|
|
<el-tag>任务等级</el-tag> |
|
|
|
|
<el-tag type="warning">{{ item.typePid_dictText }}</el-tag> |
|
|
|
|
<el-tag type="success">{{ item.typeId_dictText }}</el-tag> |
|
|
|
|
<el-tag>{{ item.workLevel }}</el-tag> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</Draggable> |
|
|
|
@ -509,29 +535,19 @@ |
|
|
|
|
<div class="word" v-if="item.contentType === 'file'"> |
|
|
|
|
<div class="word_img"> |
|
|
|
|
<img |
|
|
|
|
src="https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg" |
|
|
|
|
src="http://localhost:18081/jeecg-boot/sys/common/static/scott/pic/Snipaste_2023-07-22_09-41-03_1689990077264.png" |
|
|
|
|
alt="图片占位" |
|
|
|
|
width="100%" |
|
|
|
|
height="100%" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
<div class="operate"> |
|
|
|
|
<span>点击查看</span> |
|
|
|
|
<el-upload |
|
|
|
|
class="upload-demo" |
|
|
|
|
action="https://jsonplaceholder.typicode.com/posts/" |
|
|
|
|
:on-preview="handlePreview" |
|
|
|
|
:on-remove="handleRemove" |
|
|
|
|
:before-remove="beforeRemove" |
|
|
|
|
multiple |
|
|
|
|
:limit="3" |
|
|
|
|
:on-exceed="handleExceed" |
|
|
|
|
:file-list="fileList" |
|
|
|
|
<el-link type="success" @click="toLook(item)" |
|
|
|
|
>点击预览</el-link |
|
|
|
|
> |
|
|
|
|
<el-link type="primary" :href="item.taskFile" |
|
|
|
|
>点击下载</el-link |
|
|
|
|
> |
|
|
|
|
<el-button size="small" type="primary" |
|
|
|
|
>点击上传</el-button |
|
|
|
|
> |
|
|
|
|
</el-upload> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="concept_map" v-if="item.contentType === 'image'"> |
|
|
|
@ -593,9 +609,9 @@ |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="tag"> |
|
|
|
|
<el-tag type="warning">一级分类</el-tag> |
|
|
|
|
<el-tag type="success">二级分类</el-tag> |
|
|
|
|
<el-tag>任务等级</el-tag> |
|
|
|
|
<el-tag type="warning">{{ item.typePid_dictText }}</el-tag> |
|
|
|
|
<el-tag type="success">{{ item.typeId_dictText }}</el-tag> |
|
|
|
|
<el-tag>{{ item.workLevel }}</el-tag> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</Draggable> |
|
|
|
@ -644,10 +660,18 @@ |
|
|
|
|
</div> |
|
|
|
|
</el-drawer> |
|
|
|
|
</div> |
|
|
|
|
<task-modal ref="modalForm" @ok="modalFormOk"></task-modal> |
|
|
|
|
<task-modal |
|
|
|
|
ref="modalForm" |
|
|
|
|
@ok="modalFormOk" |
|
|
|
|
@refresh="allUpadate" |
|
|
|
|
></task-modal> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<script |
|
|
|
|
type="text/javascript" |
|
|
|
|
src="https://cdn.jsdelivr.net/npm/js-base64@3.6.0/base64.min.js" |
|
|
|
|
></script> |
|
|
|
|
<script> |
|
|
|
|
import { |
|
|
|
|
getMyTaskData, |
|
|
|
@ -671,6 +695,7 @@ const changeStyle = (arr) => { |
|
|
|
|
let newArr = arr.map((item) => { |
|
|
|
|
item.headpic = getFileAccessHttpUrl(item.headpic) |
|
|
|
|
item.taskPic = getFileAccessHttpUrl(item.taskPic) |
|
|
|
|
item.taskFile = getFileAccessHttpUrl(item.taskFile) |
|
|
|
|
item.expectedEndTime = changeTime(item.expectedEndTime) |
|
|
|
|
item.startTime = changeTime(item.startTime) |
|
|
|
|
item.submitTime = changeTime(item.submitTime) |
|
|
|
@ -678,6 +703,7 @@ const changeStyle = (arr) => { |
|
|
|
|
}) |
|
|
|
|
return newArr |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
|
mixins: [JeecgListMixin, mixinDevice], |
|
|
|
|
components: { Container, Draggable, TaskModal }, |
|
|
|
@ -711,16 +737,7 @@ export default { |
|
|
|
|
page: 1, |
|
|
|
|
limit: 10 |
|
|
|
|
}, |
|
|
|
|
fileList: [ |
|
|
|
|
{ |
|
|
|
|
name: 'food.jpeg', |
|
|
|
|
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
name: 'food2.jpeg', |
|
|
|
|
url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
fileList: [], |
|
|
|
|
drawer: false, |
|
|
|
|
direction: 'rtl', |
|
|
|
|
drawerData: {}, |
|
|
|
@ -728,10 +745,38 @@ export default { |
|
|
|
|
className: 'drop-preview', |
|
|
|
|
animationDuration: '1000', |
|
|
|
|
showOnTop: true |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
time: [ |
|
|
|
|
{ id: 1, name: '当天', select: false }, |
|
|
|
|
{ id: 2, name: '本周', select: false }, |
|
|
|
|
{ id: 3, name: '本月', select: false }, |
|
|
|
|
{ id: 4, name: '全部', select: false } |
|
|
|
|
], |
|
|
|
|
timeSearchData: '' |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
timeSearch(time) { |
|
|
|
|
this.timeSearchData = time.id |
|
|
|
|
console.log('this.timeSearchData', this.timeSearchData) |
|
|
|
|
this.allUpadate() |
|
|
|
|
}, |
|
|
|
|
// 新增窗口 |
|
|
|
|
handleAdd() { |
|
|
|
|
this.$refs.modalForm.add() |
|
|
|
|
this.$refs.modalForm.title = '新增' |
|
|
|
|
this.$refs.modalForm.disableSubmit = false |
|
|
|
|
this.loadData() |
|
|
|
|
}, |
|
|
|
|
// 查询 |
|
|
|
|
searchTask() { |
|
|
|
|
this.allUpadate() |
|
|
|
|
}, |
|
|
|
|
// 重置 |
|
|
|
|
reset() { |
|
|
|
|
this.queryParam = {} |
|
|
|
|
this.allUpadate() |
|
|
|
|
}, |
|
|
|
|
allUpadate() { |
|
|
|
|
this.getMyTaskAssignmentData() |
|
|
|
|
this.getMyTaskDevelopedData() |
|
|
|
@ -741,133 +786,189 @@ export default { |
|
|
|
|
// 获取数据 |
|
|
|
|
async getMyTaskAssignmentData() { |
|
|
|
|
let workStatus = 0 |
|
|
|
|
await getMyTaskData({ workStatus }).then(({ result: res }) => { |
|
|
|
|
console.log(res) |
|
|
|
|
this.assignmnetData.cardList = res.records |
|
|
|
|
this.assignmnetData.total = res.total |
|
|
|
|
this.assignmnetData.page = res.current |
|
|
|
|
this.assignmnetData.limit = res.size |
|
|
|
|
changeStyle(this.assignmnetData.cardList) |
|
|
|
|
}) |
|
|
|
|
let typeId = this.queryParam.typeId |
|
|
|
|
let projectId = this.queryParam.projectId |
|
|
|
|
let time = this.timeSearchData |
|
|
|
|
await getMyTaskData({ workStatus, typeId, projectId, time }).then( |
|
|
|
|
({ result: res }) => { |
|
|
|
|
console.log(res) |
|
|
|
|
this.assignmnetData.cardList = res.records |
|
|
|
|
this.assignmnetData.total = res.total |
|
|
|
|
this.assignmnetData.page = res.current |
|
|
|
|
this.assignmnetData.limit = res.size |
|
|
|
|
changeStyle(this.assignmnetData.cardList) |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
}, |
|
|
|
|
async getMyTaskDevelopedData() { |
|
|
|
|
let workStatus = 2 |
|
|
|
|
await getMyTaskData({ workStatus }).then(({ result: res }) => { |
|
|
|
|
this.developedData.cardList = res.records |
|
|
|
|
this.developedData.total = res.total |
|
|
|
|
this.developedData.page = res.current |
|
|
|
|
this.developedData.limit = res.size |
|
|
|
|
changeStyle(this.developedData.cardList) |
|
|
|
|
}) |
|
|
|
|
let typeId = this.queryParam.typeId |
|
|
|
|
let projectId = this.queryParam.projectId |
|
|
|
|
let time = this.timeSearchData |
|
|
|
|
await getMyTaskData({ workStatus, typeId, projectId, time }).then( |
|
|
|
|
({ result: res }) => { |
|
|
|
|
this.developedData.cardList = res.records |
|
|
|
|
this.developedData.total = res.total |
|
|
|
|
this.developedData.page = res.current |
|
|
|
|
this.developedData.limit = res.size |
|
|
|
|
changeStyle(this.developedData.cardList) |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
}, |
|
|
|
|
async getMyTaskCompletedData() { |
|
|
|
|
let workStatus = 3 |
|
|
|
|
await getMyTaskData({ workStatus }).then(({ result: res }) => { |
|
|
|
|
this.completedData.cardList = res.records |
|
|
|
|
this.completedData.total = res.total |
|
|
|
|
this.completedData.page = res.current |
|
|
|
|
this.completedData.limit = res.size |
|
|
|
|
changeStyle(this.completedData.cardList) |
|
|
|
|
}) |
|
|
|
|
let typeId = this.queryParam.typeId |
|
|
|
|
let projectId = this.queryParam.projectId |
|
|
|
|
let time = this.timeSearchData |
|
|
|
|
await getMyTaskData({ workStatus, typeId, projectId, time }).then( |
|
|
|
|
({ result: res }) => { |
|
|
|
|
this.completedData.cardList = res.records |
|
|
|
|
this.completedData.total = res.total |
|
|
|
|
this.completedData.page = res.current |
|
|
|
|
this.completedData.limit = res.size |
|
|
|
|
changeStyle(this.completedData.cardList) |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
}, |
|
|
|
|
async getMyTaskAuditedData() { |
|
|
|
|
let workStatus = 4 |
|
|
|
|
await getMyTaskData({ workStatus }).then(({ result: res }) => { |
|
|
|
|
this.auditedData.cardList = res.records |
|
|
|
|
this.auditedData.total = res.total |
|
|
|
|
this.auditedData.page = res.current |
|
|
|
|
this.auditedData.limit = res.size |
|
|
|
|
changeStyle(this.auditedData.cardList) |
|
|
|
|
}) |
|
|
|
|
let typeId = this.queryParam.typeId |
|
|
|
|
let projectId = this.queryParam.projectId |
|
|
|
|
let time = this.timeSearchData |
|
|
|
|
await getMyTaskData({ workStatus, typeId, projectId, time }).then( |
|
|
|
|
({ result: res }) => { |
|
|
|
|
this.auditedData.cardList = res.records |
|
|
|
|
this.auditedData.total = res.total |
|
|
|
|
this.auditedData.page = res.current |
|
|
|
|
this.auditedData.limit = res.size |
|
|
|
|
changeStyle(this.auditedData.cardList) |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
}, |
|
|
|
|
// 删除数据 |
|
|
|
|
async delCardData(item) { |
|
|
|
|
let id = item.id |
|
|
|
|
console.log(id) |
|
|
|
|
await delCardData({ id }) |
|
|
|
|
.then((res) => { |
|
|
|
|
console.log(res) |
|
|
|
|
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', { |
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
cancelButtonText: '取消', |
|
|
|
|
type: 'warning' |
|
|
|
|
}) |
|
|
|
|
.then(async () => { |
|
|
|
|
let id = item.id |
|
|
|
|
console.log(id) |
|
|
|
|
await delCardData({ id }) |
|
|
|
|
.then((res) => { |
|
|
|
|
console.log(res) |
|
|
|
|
}) |
|
|
|
|
.catch((error) => { |
|
|
|
|
console.log(error) |
|
|
|
|
}) |
|
|
|
|
this.allUpadate() |
|
|
|
|
this.$message({ |
|
|
|
|
type: 'success', |
|
|
|
|
message: '删除成功!' |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
.catch((error) => { |
|
|
|
|
console.log(error) |
|
|
|
|
.catch(() => { |
|
|
|
|
this.$message({ |
|
|
|
|
type: 'info', |
|
|
|
|
message: '已取消删除' |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
this.allUpadate() |
|
|
|
|
}, |
|
|
|
|
// 去编辑窗口 |
|
|
|
|
toEdit(item) { |
|
|
|
|
this.handleEdit(item) |
|
|
|
|
}, |
|
|
|
|
// 去新增窗口 |
|
|
|
|
toAdd() { |
|
|
|
|
this.handleAdd() |
|
|
|
|
}, |
|
|
|
|
// 去分解窗口 |
|
|
|
|
Tofengjie(item) { |
|
|
|
|
this.fengjieRenwu(item) |
|
|
|
|
}, |
|
|
|
|
toLook(item) { |
|
|
|
|
let url = item.taskFile |
|
|
|
|
console.log(url) |
|
|
|
|
let Base64 = require('js-base64').Base64 |
|
|
|
|
this.dialogurl = |
|
|
|
|
'http://127.0.0.1:8012/onlinePreview?url=' + |
|
|
|
|
encodeURIComponent(Base64.encode(url)) |
|
|
|
|
window.open(this.dialogurl) |
|
|
|
|
}, |
|
|
|
|
//滚动分页加载数据 |
|
|
|
|
assignmnetScroll(e) { |
|
|
|
|
let isLoading = true //是否有数据可以加载 |
|
|
|
|
this.$refs.assignmnetcards.onscroll = async () => { |
|
|
|
|
const { scrollTop, clientHeight, scrollHeight } = e.target |
|
|
|
|
console.log(scrollTop, clientHeight, scrollHeight) |
|
|
|
|
let bottomOfWindow = scrollTop + clientHeight === scrollHeight |
|
|
|
|
if (bottomOfWindow && isLoading == true) { |
|
|
|
|
this.assignmnetData.page = this.assignmnetData.page + 1 //每次分页+1 |
|
|
|
|
let workStatus = 0 |
|
|
|
|
let pageNo = this.assignmnetData.page |
|
|
|
|
let pageSize = this.assignmnetData.limit |
|
|
|
|
let typeId = this.queryParam.typeId |
|
|
|
|
let projectId = this.queryParam.projectId |
|
|
|
|
let time = this.timeSearchData |
|
|
|
|
// console.log(pageNo, pageSize) |
|
|
|
|
await getMyTaskData({ workStatus, pageNo, pageSize }).then( |
|
|
|
|
({ result: res }) => { |
|
|
|
|
console.log('1111111', res) |
|
|
|
|
//有数据的时候加载 |
|
|
|
|
if (res.records.length > 0) { |
|
|
|
|
changeStyle(res.records) |
|
|
|
|
this.assignmnetData.cardList.push(...res.records) //追加数据 使用 ...语法 |
|
|
|
|
isLoading = true |
|
|
|
|
} else { |
|
|
|
|
this.$notify({ |
|
|
|
|
title: '温馨提示:', |
|
|
|
|
message: '暂无更多数据信息!', |
|
|
|
|
position: 'bottom-right' |
|
|
|
|
}) |
|
|
|
|
isLoading = false //无数据可以加载 |
|
|
|
|
} |
|
|
|
|
await getMyTaskData({ |
|
|
|
|
workStatus, |
|
|
|
|
pageNo, |
|
|
|
|
pageSize, |
|
|
|
|
typeId, |
|
|
|
|
projectId, |
|
|
|
|
time |
|
|
|
|
}).then(({ result: res }) => { |
|
|
|
|
//有数据的时候加载 |
|
|
|
|
if (res.records.length > 0) { |
|
|
|
|
changeStyle(res.records) |
|
|
|
|
this.assignmnetData.cardList.push(...res.records) //追加数据 使用 ...语法 |
|
|
|
|
isLoading = true |
|
|
|
|
} else { |
|
|
|
|
this.$notify({ |
|
|
|
|
title: '温馨提示:', |
|
|
|
|
message: '暂无更多数据信息!', |
|
|
|
|
position: 'bottom-right' |
|
|
|
|
}) |
|
|
|
|
isLoading = false //无数据可以加载 |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
developedScroll(e) { |
|
|
|
|
async developedScroll(e) { |
|
|
|
|
let isLoading = true //是否有数据可以加载 |
|
|
|
|
this.$refs.developedcards.onscroll = async () => { |
|
|
|
|
const { scrollTop, clientHeight, scrollHeight } = e.target |
|
|
|
|
let bottomOfWindow = scrollTop + clientHeight === scrollHeight |
|
|
|
|
if (bottomOfWindow && isLoading == true) { |
|
|
|
|
this.developedData.page = this.developedData.page + 1 //每次分页+1 |
|
|
|
|
let workStatus = 2 |
|
|
|
|
let pageNo = this.developedData.page |
|
|
|
|
let pageSize = this.developedData.limit |
|
|
|
|
// console.log(pageNo, pageSize) |
|
|
|
|
await getMyTaskData({ workStatus, pageNo, pageSize }).then( |
|
|
|
|
({ result: res }) => { |
|
|
|
|
console.log('1111111', res) |
|
|
|
|
//有数据的时候加载 |
|
|
|
|
if (res.records.length > 0) { |
|
|
|
|
changeStyle(res.records) |
|
|
|
|
this.developedData.cardList.push(...res.records) //追加数据 使用 ...语法 |
|
|
|
|
isLoading = true |
|
|
|
|
} else { |
|
|
|
|
this.$notify({ |
|
|
|
|
title: '温馨提示:', |
|
|
|
|
message: '暂无更多数据信息!', |
|
|
|
|
position: 'bottom-right' |
|
|
|
|
}) |
|
|
|
|
isLoading = false //无数据可以加载 |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
const { scrollTop, clientHeight, scrollHeight } = e.target |
|
|
|
|
console.log(scrollTop, clientHeight, scrollHeight) |
|
|
|
|
let bottomOfWindow = scrollTop + clientHeight === scrollHeight |
|
|
|
|
if (bottomOfWindow && isLoading == true) { |
|
|
|
|
this.developedData.page = this.developedData.page + 1 //每次分页+1 |
|
|
|
|
let workStatus = 2 |
|
|
|
|
let pageNo = this.developedData.page |
|
|
|
|
let pageSize = this.developedData.limit |
|
|
|
|
let typeId = this.queryParam.typeId |
|
|
|
|
let projectId = this.queryParam.projectId |
|
|
|
|
let time = this.timeSearchData |
|
|
|
|
// console.log(pageNo, pageSize) |
|
|
|
|
await getMyTaskData({ |
|
|
|
|
workStatus, |
|
|
|
|
pageNo, |
|
|
|
|
pageSize, |
|
|
|
|
typeId, |
|
|
|
|
projectId, |
|
|
|
|
time |
|
|
|
|
}).then(({ result: res }) => { |
|
|
|
|
//有数据的时候加载 |
|
|
|
|
if (res.records.length > 0) { |
|
|
|
|
changeStyle(res.records) |
|
|
|
|
this.developedData.cardList.push(...res.records) //追加数据 使用 ...语法 |
|
|
|
|
isLoading = true |
|
|
|
|
} else { |
|
|
|
|
this.$notify({ |
|
|
|
|
title: '温馨提示:', |
|
|
|
|
message: '暂无更多数据信息!', |
|
|
|
|
position: 'bottom-right' |
|
|
|
|
}) |
|
|
|
|
isLoading = false //无数据可以加载 |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
completedScroll(e) { |
|
|
|
@ -880,8 +981,18 @@ export default { |
|
|
|
|
let workStatus = 3 |
|
|
|
|
let pageNo = this.completedData.page |
|
|
|
|
let pageSize = this.completedData.limit |
|
|
|
|
let typeId = this.queryParam.typeId |
|
|
|
|
let projectId = this.queryParam.projectId |
|
|
|
|
let time = this.timeSearchData |
|
|
|
|
// console.log(pageNo, pageSize) |
|
|
|
|
await getMyTaskData({ workStatus, pageNo, pageSize }) |
|
|
|
|
await getMyTaskData({ |
|
|
|
|
workStatus, |
|
|
|
|
pageNo, |
|
|
|
|
pageSize, |
|
|
|
|
typeId, |
|
|
|
|
projectId, |
|
|
|
|
time |
|
|
|
|
}) |
|
|
|
|
.then(({ result: res }) => { |
|
|
|
|
//有数据的时候加载 |
|
|
|
|
if (res.records.length > 0) { |
|
|
|
@ -913,24 +1024,32 @@ export default { |
|
|
|
|
let workStatus = 4 |
|
|
|
|
let pageNo = this.auditedData.page |
|
|
|
|
let pageSize = this.auditedData.limit |
|
|
|
|
let typeId = this.queryParam.typeId |
|
|
|
|
let projectId = this.queryParam.projectId |
|
|
|
|
let time = this.timeSearchData |
|
|
|
|
// console.log(pageNo, pageSize) |
|
|
|
|
await getMyTaskData({ workStatus, pageNo, pageSize }).then( |
|
|
|
|
({ result: res }) => { |
|
|
|
|
//有数据的时候加载 |
|
|
|
|
if (res.records.length > 0) { |
|
|
|
|
changeStyle(res.records) |
|
|
|
|
this.auditedData.cardList.push(...res.records) //追加数据 使用 ...语法 |
|
|
|
|
isLoading = true |
|
|
|
|
} else { |
|
|
|
|
this.$notify({ |
|
|
|
|
title: '温馨提示:', |
|
|
|
|
message: '暂无更多数据信息!', |
|
|
|
|
position: 'bottom-right' |
|
|
|
|
}) |
|
|
|
|
isLoading = false //无数据可以加载 |
|
|
|
|
} |
|
|
|
|
await getMyTaskData({ |
|
|
|
|
workStatus, |
|
|
|
|
pageNo, |
|
|
|
|
pageSize, |
|
|
|
|
typeId, |
|
|
|
|
projectId, |
|
|
|
|
time |
|
|
|
|
}).then(({ result: res }) => { |
|
|
|
|
//有数据的时候加载 |
|
|
|
|
if (res.records.length > 0) { |
|
|
|
|
changeStyle(res.records) |
|
|
|
|
this.auditedData.cardList.push(...res.records) //追加数据 使用 ...语法 |
|
|
|
|
isLoading = true |
|
|
|
|
} else { |
|
|
|
|
this.$notify({ |
|
|
|
|
title: '温馨提示:', |
|
|
|
|
message: '暂无更多数据信息!', |
|
|
|
|
position: 'bottom-right' |
|
|
|
|
}) |
|
|
|
|
isLoading = false //无数据可以加载 |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
@ -1157,23 +1276,23 @@ export default { |
|
|
|
|
justify-content: left; |
|
|
|
|
margin: 10px 0 20px 0; |
|
|
|
|
height: 100px; |
|
|
|
|
position: relative; |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100px; |
|
|
|
|
.word_img { |
|
|
|
|
width: 40%; |
|
|
|
|
height: 35%; |
|
|
|
|
height: 100%; |
|
|
|
|
// background-color: pink; |
|
|
|
|
margin-left: 20px; |
|
|
|
|
position: absolute; |
|
|
|
|
top: 25%; |
|
|
|
|
left: 10%; |
|
|
|
|
// position: absolute; |
|
|
|
|
// top: 25%; |
|
|
|
|
// left: 10%; |
|
|
|
|
} |
|
|
|
|
.operate { |
|
|
|
|
// margin-top: 10px; |
|
|
|
|
// margin-left: 190px; |
|
|
|
|
margin-top: 30px; |
|
|
|
|
margin-left: 20px; |
|
|
|
|
display: flex; |
|
|
|
|
flex-flow: column; |
|
|
|
|
position: absolute; |
|
|
|
|
top: 35%; |
|
|
|
|
left: 60%; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.concept_map { |
|
|
|
@ -1266,25 +1385,37 @@ header { |
|
|
|
|
justify-content: space-between; |
|
|
|
|
align-items: center; |
|
|
|
|
.left { |
|
|
|
|
flex: 4; |
|
|
|
|
// flex: 5; |
|
|
|
|
width: 600px; |
|
|
|
|
display: flex; |
|
|
|
|
flex-flow: left; |
|
|
|
|
|
|
|
|
|
flex-flow: column; |
|
|
|
|
margin-right: 50px; |
|
|
|
|
i { |
|
|
|
|
margin: 0 10px; |
|
|
|
|
line-height: 1.5; |
|
|
|
|
} |
|
|
|
|
.btns { |
|
|
|
|
margin-top: 10px; |
|
|
|
|
/deep/ .el-button--primary.is-plain { |
|
|
|
|
height: 32px; |
|
|
|
|
line-height: 10px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.right { |
|
|
|
|
flex: 1; |
|
|
|
|
// flex: 3; |
|
|
|
|
width: 700px; |
|
|
|
|
display: flex; |
|
|
|
|
flex-flow: row nowrap; |
|
|
|
|
justify-content: space-around; |
|
|
|
|
align-items: center; |
|
|
|
|
align-items: baseline; |
|
|
|
|
.table-page-search-wrapper { |
|
|
|
|
width: 800px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.cards { |
|
|
|
|
height: 700px; |
|
|
|
|
height: 100dvh; |
|
|
|
|
overflow-x: auto; |
|
|
|
|
} |
|
|
|
|
.content { |
|
|
|
@ -1325,15 +1456,16 @@ header { |
|
|
|
|
span { |
|
|
|
|
display: block; |
|
|
|
|
width: 35px; |
|
|
|
|
height: 35px; |
|
|
|
|
height: 24px; |
|
|
|
|
text-align: center; |
|
|
|
|
line-height: 32px; |
|
|
|
|
border-radius: 17px; |
|
|
|
|
border: 2px solid #999999; |
|
|
|
|
font-size: 18px; |
|
|
|
|
line-height: 24px; |
|
|
|
|
border-radius: 1000px; |
|
|
|
|
border: 1px solid #e2e8f0; |
|
|
|
|
background-color: #ffffff; |
|
|
|
|
font-size: 13px; |
|
|
|
|
font-family: Microsoft YaHei-Regular, Microsoft YaHei; |
|
|
|
|
font-weight: 400; |
|
|
|
|
color: #999999; |
|
|
|
|
color: #94a3b8; |
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|