mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 19:35:50 +00:00
feat:1.应用页面优化 2.审批中心优化
This commit is contained in:
parent
525ac41258
commit
5801d0fc14
@ -150,7 +150,7 @@ services:
|
|||||||
|
|
||||||
approve:
|
approve:
|
||||||
container_name: "dootask-approve-${APP_ID}"
|
container_name: "dootask-approve-${APP_ID}"
|
||||||
image: "kuaifan/dooapprove:0.0.3"
|
image: "kuaifan/dooapprove:0.0.4"
|
||||||
environment:
|
environment:
|
||||||
TZ: "${TIMEZONE:-PRC}"
|
TZ: "${TIMEZONE:-PRC}"
|
||||||
MYSQL_HOST: "${DB_HOST}"
|
MYSQL_HOST: "${DB_HOST}"
|
||||||
@ -176,7 +176,7 @@ services:
|
|||||||
|
|
||||||
okr:
|
okr:
|
||||||
container_name: "dootask-okr-${APP_ID}"
|
container_name: "dootask-okr-${APP_ID}"
|
||||||
image: "kuaifan/doookr:0.0.8"
|
image: "kuaifan/doookr:0.0.10"
|
||||||
environment:
|
environment:
|
||||||
TZ: "${TIMEZONE:-PRC}"
|
TZ: "${TIMEZONE:-PRC}"
|
||||||
DOO_TASK_URL: "http://${APP_IPPR}.3"
|
DOO_TASK_URL: "http://${APP_IPPR}.3"
|
||||||
|
|||||||
@ -37,7 +37,8 @@
|
|||||||
<Option v-for="item in approvalList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
<Option v-for="item in approvalList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
||||||
</Select>
|
</Select>
|
||||||
<Input v-model="approvalName" :placeholder="$L('请输入用户名')" ></Input>
|
<Input v-model="approvalName" :placeholder="$L('请输入用户名')" ></Input>
|
||||||
<Button type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)">{{ $L('搜索') }}</Button>
|
<Button v-show="!isShowIcon" type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)">{{ $L('搜索') }}</Button>
|
||||||
|
<Button v-show="isShowIcon" type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@ -66,7 +67,8 @@
|
|||||||
<Option v-for="item in approvalList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
<Option v-for="item in approvalList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
||||||
</Select>
|
</Select>
|
||||||
<Input v-model="approvalName" :placeholder="$L('请输入用户名')"></Input>
|
<Input v-model="approvalName" :placeholder="$L('请输入用户名')"></Input>
|
||||||
<Button type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)">{{ $L('搜索') }}</Button>
|
<Button v-show="!isShowIcon" type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)">{{ $L('搜索') }}</Button>
|
||||||
|
<Button v-show="isShowIcon" type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="doneList.length==0" class="noData">{{$L('暂无数据')}}</div>
|
<div v-if="doneList.length==0" class="noData">{{$L('暂无数据')}}</div>
|
||||||
@ -94,7 +96,8 @@
|
|||||||
<Option v-for="item in approvalList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
<Option v-for="item in approvalList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
||||||
</Select>
|
</Select>
|
||||||
<Input v-model="approvalName" :placeholder="$L('请输入用户名')"></Input>
|
<Input v-model="approvalName" :placeholder="$L('请输入用户名')"></Input>
|
||||||
<Button type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)">{{ $L('搜索') }}</Button>
|
<Button v-show="!isShowIcon" type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)">{{ $L('搜索') }}</Button>
|
||||||
|
<Button v-show="isShowIcon" type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -125,7 +128,8 @@
|
|||||||
<Option v-for="item in searchStateList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
<Option v-for="item in searchStateList" :value="item.value" :key="item.value">{{ item.label }}</Option>
|
||||||
</Select>
|
</Select>
|
||||||
<Input v-model="approvalName" :placeholder="$L('请输入用户名')"></Input>
|
<Input v-model="approvalName" :placeholder="$L('请输入用户名')"></Input>
|
||||||
<Button type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)">{{ $L('搜索') }}</Button>
|
<Button v-show="!isShowIcon" type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)">{{ $L('搜索') }}</Button>
|
||||||
|
<Button v-show="isShowIcon" type="primary" :loading="loadIng" icon="ios-search" @click="tabsClick(false,0)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="initiatedList.length==0" class="noData">{{$L('暂无数据')}}</div>
|
<div v-if="initiatedList.length==0" class="noData">{{$L('暂无数据')}}</div>
|
||||||
|
|||||||
@ -44,7 +44,7 @@
|
|||||||
<h2>{{dialogData.name}}</h2>
|
<h2>{{dialogData.name}}</h2>
|
||||||
<em v-if="peopleNum > 0" @click="onDialogMenu('groupInfo')">({{peopleNum}})</em>
|
<em v-if="peopleNum > 0" @click="onDialogMenu('groupInfo')">({{peopleNum}})</em>
|
||||||
<Tag v-if="dialogData.bot" class="after" :fade="false">{{$L('机器人')}}</Tag>
|
<Tag v-if="dialogData.bot" class="after" :fade="false">{{$L('机器人')}}</Tag>
|
||||||
<Tag v-if="dialogData.type === 'user' && cacheUserBasic.find(item => item.userid === dialogData.dialog_user.userid)?.approval_status" class="after" color="red" :fade="false">{{$L(cacheUserBasic.find(item => item.userid === dialogData.dialog_user.userid)?.approval_status)}}</Tag>
|
<Tag v-if="dialogData.type === 'user' && approvalStatus" class="after" color="red" :fade="false">{{$L(approvalStatus)}}</Tag>
|
||||||
<Tag v-if="dialogData.group_type=='all'" class="after pointer" :fade="false" @on-click="onDialogMenu('groupInfo')">{{$L('全员')}}</Tag>
|
<Tag v-if="dialogData.group_type=='all'" class="after pointer" :fade="false" @on-click="onDialogMenu('groupInfo')">{{$L('全员')}}</Tag>
|
||||||
<Tag v-else-if="dialogData.group_type=='department'" class="after pointer" :fade="false" @on-click="onDialogMenu('groupInfo')">{{$L('部门')}}</Tag>
|
<Tag v-else-if="dialogData.group_type=='department'" class="after pointer" :fade="false" @on-click="onDialogMenu('groupInfo')">{{$L('部门')}}</Tag>
|
||||||
<div v-if="msgLoadIng > 0" class="load"><Loading/></div>
|
<div v-if="msgLoadIng > 0" class="load"><Loading/></div>
|
||||||
@ -979,6 +979,10 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
return list
|
return list
|
||||||
|
},
|
||||||
|
|
||||||
|
approvalStatus(){
|
||||||
|
return this.cacheUserBasic.find(item => item.userid === this.dialogData.dialog_user.userid)?.approval_status
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
29
resources/assets/sass/pages/page-apply.scss
vendored
29
resources/assets/sass/pages/page-apply.scss
vendored
@ -10,7 +10,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-color: #FFFFFF;
|
background-color: #fafafa;
|
||||||
|
|
||||||
.apply-head {
|
.apply-head {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -39,6 +39,11 @@
|
|||||||
|
|
||||||
.apply-row-title{
|
.apply-row-title{
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
>div.apply-row-title:nth-last-child(2){
|
||||||
|
margin-top: 22px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.apply-col {
|
.apply-col {
|
||||||
@ -47,7 +52,7 @@
|
|||||||
>div {
|
>div {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
background: #fcfcfc;
|
background: #FFFFFF;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
@ -56,7 +61,7 @@
|
|||||||
gap: 10px;
|
gap: 10px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
border: 1px solid #fcfcfc;
|
border: 1px solid #f1f1f1;
|
||||||
|
|
||||||
>img {
|
>img {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
@ -78,25 +83,37 @@
|
|||||||
padding: 8px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 510px) {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
|
||||||
|
.apply-row-title{
|
||||||
|
margin-bottom: 8px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 510px) {
|
.apply-content{
|
||||||
|
|
||||||
.ivu-row{
|
.ivu-row{
|
||||||
margin-left: -12px !important;
|
margin-left: -12px !important;
|
||||||
margin-right: -12px !important;
|
margin-right: -12px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.apply-col {
|
.apply-col {
|
||||||
margin-bottom: 6px;
|
margin-bottom: 6px;
|
||||||
|
|
||||||
>div {
|
>div {
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding:12px 0;
|
padding:12px 0;
|
||||||
background: none;
|
background: none;
|
||||||
border-color: #ffffff;
|
border-color: #ffffff;
|
||||||
|
|
||||||
>img {
|
>img {
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
>p{
|
>p{
|
||||||
-webkit-line-clamp: 1;
|
-webkit-line-clamp: 1;
|
||||||
}
|
}
|
||||||
@ -104,6 +121,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -363,9 +381,6 @@ body.window-portrait {
|
|||||||
}
|
}
|
||||||
.apply-content{
|
.apply-content{
|
||||||
padding: 16px 20px;
|
padding: 16px 20px;
|
||||||
.apply-row-title{
|
|
||||||
margin: 8px 0;
|
|
||||||
}
|
|
||||||
.apply-col {
|
.apply-col {
|
||||||
>div {
|
>div {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
|||||||
@ -56,6 +56,14 @@
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.ivu-input-wrapper{
|
||||||
|
max-width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ivu-btn{
|
||||||
|
min-width: 45px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.noData {
|
.noData {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user