换版本

This commit is contained in:
shijingjing
2022-09-08 13:06:54 +08:00
parent f9584df365
commit 68de89f13d
13 changed files with 220 additions and 218 deletions

View File

@@ -1,6 +1,9 @@
<template>
<div class="AppCooperationPropaganda">
<AiTopFixed>
<div class="tab-select">
<div class="item" :class="tabIndex == index ? 'active' : ''" v-for="(item, index) in tabs" :key="index" @click="tabClick(item,index)">{{ item.name }}<span></span></div>
</div>
<div class="search">
<div class="searchBox">
<u-search placeholder="请输入任务名称" v-model="taskTitle" clearabled @search="searchBtn" @clear="taskTitle='',getList()" :show-action="false"></u-search>
@@ -19,12 +22,17 @@
<div>共需<span class="num">{{ item.groupOwnerCount || 0 }}</span>名成员完成群发目前已完成<span class="num">{{ item.completionRate || 0 }}%</span></div>
<div>
创建部门
<span v-if="item.createUserDeptName">{{ item.createUserDeptName }}</span>
<span v-if="item.createUserDept"><AiOpenData type="departmentName" :openid="item.createUserDept" style="display: inline-block" /></span>
<!-- <span v-if="item.createUserSecondDept"><AiOpenData type="departmentName" :openid="item.createUserSecondDept" style="display: inline-block" /></span> -->
</div>
</div>
</div>
<AiEmpty description="暂无数据" v-if="!list.length"/>
<div class="btn">
<div class="addBtn" @click="toAdd">新增群发{{tabIndex==0? '居民群': tabIndex==1? '居民':'朋友圈'}}</div>
</div>
<u-popup v-model="filterShow" mode="bottom" border-radius="14">
<div class="popup">
<div class="tips"></div>
@@ -46,9 +54,15 @@
<span class="label" v-if="userIdList.length">已选择</span>
<span v-else style="color:#999;">请选择</span>
<u-icon name="arrow-right" color="#303133" size="24" style="margin-left:8px;"/>
</div>
</div>
</AiPagePicker>
</div>
<div class="type-list">
<div class="type-title">任务状态</div>
<div class="items">
<AiSelect dict="mstStatus" v-model="status"></AiSelect>
</div>
</div>
<div class="type-list">
<div class="type-title">群发时间</div>
<div class="item">
@@ -75,7 +89,6 @@
</div>
</div>
</u-popup>
</div>
</template>
@@ -85,6 +98,21 @@ export default {
appName: '协同宣发',
data() {
return {
tabs: [
{
name: '群发居民群',
value: 'ResidentsGroup'
},
{
name: '群发居民',
value: 'Residents'
},
{
name: '群发朋友圈',
value: 'CircleOfFriends'
},
],
tabIndex: 0,
current: 1,
name: '',
list: [],
@@ -98,10 +126,16 @@ export default {
taskTitle: '',
createUserId: '',
userList: [],
userIdList: []
userIdList: [],
status: '',
sendType: '',
}
},
methods: {
tabClick(item,index) {
this.tabIndex = index;
this.sendType = item.value
},
toDetail(item) {
uni.navigateTo({url: `./cooperationDetail?id=${item.id}&time=${item.createTime}`})
},
@@ -162,6 +196,9 @@ export default {
},
confirmEnd(val) {
this.endTime = val.year + '-' + val.month + '-' + val.day
},
toAdd() {
uni.navigateTo({url: `./addPropaganda?type=${this.sendType}`})
}
},
onShow() {
@@ -181,11 +218,54 @@ export default {
<style lang="scss" scoped>
.AppCooperationPropaganda {
padding-bottom: 130px;
box-sizing: border-box;
::v-deep .AiTopFixed .content {
padding: 0;
}
.tab-select {
width: 100%;
height: 96px;
line-height: 96px;
background: #3975c6;
display: flex;
.item {
flex: 1;
text-align: center;
font-size: 28px;
font-family: PingFangSC-Regular, PingFang SC;
color: #cddcf0;
}
.active {
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
position: relative;
color: #fff;
span {
width: 48px;
height: 4px;
background: #fff;
position: absolute;
bottom: 14px;
left: 50%;
margin-left: -24px;
}
}
}
.search {
display: flex;
height: 80px;
height: 100px;
align-items: center;
justify-content: space-between;
padding: 20px 32px;
box-sizing: border-box;
.searchBox {
width: 562px;
@@ -255,6 +335,29 @@ export default {
}
}
.btn {
position: fixed;
bottom: 0;
left: 0;
background: #FFF;
display: flex;
width: 100%;
height: 128px;
padding: 24px 32px;
box-sizing: border-box;
.addBtn {
flex: 1;
height: 80px;
line-height: 80px;
text-align: center;
border-radius: 8px;
border: 2px solid #CCCCCC;
background: #1365DD;
color: #FFF;
}
}
.popup {
box-sizing: border-box;
// height: 800px;
@@ -318,6 +421,12 @@ export default {
::v-deep .uni-input-placeholder {
text-align: right;
}
}
}
.items {
::v-deep .AiSelect .display {
justify-content: space-between;
width: 100%;
}
}
.active {
@@ -347,6 +456,9 @@ export default {
}
}
}
::v-deep .uicon-arrow-right::before {
color: #606266 !important;
}
.page_picker {
display: flex;
justify-content: space-between;

View File

@@ -1,6 +1,6 @@
<template>
<div class="cooperationDetail">
<AiTopFixed>
<!-- <AiTopFixed>
<div class="tab-select">
<div
class="item"
@@ -12,7 +12,7 @@
{{ item }}<span></span>
</div>
</div>
</AiTopFixed>
</AiTopFixed> -->
<div class="content">
<div class="header">
@@ -66,30 +66,29 @@
<div class="list_content">
<div class="list_card">
<div class="tab" v-show="update0">
<div class="tab" v-show="update">
<u-subsection
:list="subsection0"
:list="subsection"
mode="button"
activeColor="#3c9cff"
:current="subIndex0"
@change="changeSub0"
></u-subsection>
</div>
<div class="tab" v-show="update1">
<u-subsection
:list="subsection1"
mode="button"
activeColor="#3c9cff"
:current="subIndex1"
@change="changeSub1"
:current="subIndex"
@change="changeSub"
></u-subsection>
</div>
<AiTable
:data="tableData"
:colConfigs="tabIndex == 0 ? colConfigs0 : colConfigs1"
v-if="tableData.length"/>
:colConfigs="colConfigs"
v-if="tableData.length"
>
<u-td slot="groupOwnerId" slot-scope="{ row }" style="border: none;">
<AiOpenData
v-if="row.groupOwnerId"
type="userName"
:openid="row.groupOwnerId"
/>
</u-td>
</AiTable>
<AiEmpty v-if="!tableData.length" description="暂无数据"></AiEmpty>
</div>
</div>
@@ -116,34 +115,28 @@ export default {
currentClickTime: "",
detail: {},
subsection0: [
subsection: [
{ name: "未执行" },
{ name: "已执行" },
{ name: "无法执行" },
],
subsection1: [
{ name: "未送达" },
{ name: "已送达" },
{ name: "无法送达" },
],
update0: true,
update1: false,
update: true,
};
},
computed: {
colConfigs0() {
colConfigs() {
return [
{ prop: "groupOwnerName", label: "成员" },
{ label: "预计送达居民", prop: "groupCount" },
];
},
colConfigs1() {
return [
{ label: "居民群", prop: "groupName" },
{ label: "群人数", prop: "memberCount" },
{ prop: "groupOwnerName", label: "群主" },
{ slot: "groupOwnerId", label: "成员" },
{ label: "预计送达居民", prop: "groupCount" },
];
},
// colConfigs1() {
// return [
// { label: "居民群", prop: "groupName" },
// { label: "群人数", prop: "memberCount" },
// { slot: "groupOwnerId", label: "群主" },
// ];
// },
},
onLoad(o) {
this.id = o.id;
@@ -230,12 +223,8 @@ export default {
}
},
// 切换分段器
changeSub0(index) {
this.subIndex0 = index;
this.getStatistics();
},
changeSub1(index) {
this.subIndex1 = index;
changeSub(index) {
this.subIndex = index;
this.getStatistics();
},
// 获取数据
@@ -381,7 +370,6 @@ export default {
}
.header {
// height: 160px;
padding: 32px;
box-sizing: border-box;
background: #fff;
@@ -496,14 +484,6 @@ export default {
.tab {
margin-bottom: 34px;
::v-deep .u-subsection uni-view{
background: #eeef !important;
}
}
.sub-select {
}
}
}

View File

@@ -9,21 +9,24 @@
</div>
<div class="item">
<span>创建人</span>
<span>{{ data.createUserName }}</span>
<span>
<AiOpenData type="userName" :openid="data.createUserId"></AiOpenData>
</span>
</div>
<div class="item" v-if="data.enableExamine == 1">
<span>审批人</span>
<span>
<span v-for="(item, index) in approver" :key="index" style="color: #333;">
{{ item.examineUserName }}
<span v-show="index < approver.length - 1"></span>
<AiOpenData type="userName" :openid="item.examineUserId" style="display: inline-block"></AiOpenData>
<span v-if="approver.length>1"></span>
</span>
</span>
</div>
<div class="item">
<span>所在部门</span>
<span style="display: flex;">
<div v-if="data.createUserDeptName">{{ data.createUserDeptName }}</div>
<div v-if="data.createUserDept"><AiOpenData type="departmentName" :openid="data.createUserDept" style="display: inline-block;"></AiOpenData></div>
<!-- <div v-if="data.createUserSecondDept"><AiOpenData type="departmentName" :openId="data.createUserSecondDept" style="display: inline-block"></AiOpenData></div> -->
</span>
</div>
<div class="item">

View File

@@ -10,7 +10,7 @@
<div class="applicationNames">{{ e.userName }}</div>
</div>
</div>
<AiEmpty description="暂无数据" v-if="!userList"/>
<AiEmpty description="暂无数据" v-if="!userList.length"/>
</div>
<div class="subBtn" @click="submit">
<div>确定选择</div>
@@ -43,7 +43,7 @@ export default {
},
methods: {
isSelected(userId) {
return this.selected.userId === userId
return this.selected.userId===userId
},
getCreateUserList() {
this.userList = []

View File

@@ -1,9 +1,6 @@
<template>
<div class="AppCooperationPropaganda">
<AiTopFixed>
<div class="tab-select">
<div class="item" :class="tabIndex == index ? 'active' : ''" v-for="(item, index) in tabs" :key="index" @click="tabClick(item,index)">{{ item.name }}<span></span></div>
</div>
<div class="search">
<div class="searchBox">
<u-search placeholder="请输入任务名称" v-model="taskTitle" clearabled @search="searchBtn" @clear="taskTitle='',getList()" :show-action="false"></u-search>
@@ -22,17 +19,12 @@
<div>共需<span class="num">{{ item.groupOwnerCount || 0 }}</span>名成员完成群发目前已完成<span class="num">{{ item.completionRate || 0 }}%</span></div>
<div>
创建部门
<span v-if="item.createUserDept"><AiOpenData type="departmentName" :openid="item.createUserDept" style="display: inline-block" /></span>
<!-- <span v-if="item.createUserSecondDept"><AiOpenData type="departmentName" :openid="item.createUserSecondDept" style="display: inline-block" /></span> -->
<span v-if="item.createUserDeptName">{{ item.createUserDeptName }}</span>
</div>
</div>
</div>
<AiEmpty description="暂无数据" v-if="!list.length"/>
<div class="btn">
<div class="addBtn" @click="toAdd">新增群发{{tabIndex==0? '居民群': tabIndex==1? '居民':'朋友圈'}}</div>
</div>
<u-popup v-model="filterShow" mode="bottom" border-radius="14">
<div class="popup">
<div class="tips"></div>
@@ -54,15 +46,9 @@
<span class="label" v-if="userIdList.length">已选择</span>
<span v-else style="color:#999;">请选择</span>
<u-icon name="arrow-right" color="#303133" size="24" style="margin-left:8px;"/>
</div>
</div>
</AiPagePicker>
</div>
<div class="type-list">
<div class="type-title">任务状态</div>
<div class="items">
<AiSelect dict="mstStatus" v-model="status"></AiSelect>
</div>
</div>
<div class="type-list">
<div class="type-title">群发时间</div>
<div class="item">
@@ -89,6 +75,7 @@
</div>
</div>
</u-popup>
</div>
</template>
@@ -98,21 +85,6 @@ export default {
appName: '协同宣发',
data() {
return {
tabs: [
{
name: '群发居民群',
value: 'ResidentsGroup'
},
{
name: '群发居民',
value: 'Residents'
},
{
name: '群发朋友圈',
value: 'CircleOfFriends'
},
],
tabIndex: 0,
current: 1,
name: '',
list: [],
@@ -126,16 +98,10 @@ export default {
taskTitle: '',
createUserId: '',
userList: [],
userIdList: [],
status: '',
sendType: '',
userIdList: []
}
},
methods: {
tabClick(item,index) {
this.tabIndex = index;
this.sendType = item.value
},
toDetail(item) {
uni.navigateTo({url: `./cooperationDetail?id=${item.id}&time=${item.createTime}`})
},
@@ -196,9 +162,6 @@ export default {
},
confirmEnd(val) {
this.endTime = val.year + '-' + val.month + '-' + val.day
},
toAdd() {
uni.navigateTo({url: `./addPropaganda?type=${this.sendType}`})
}
},
onShow() {
@@ -218,54 +181,11 @@ export default {
<style lang="scss" scoped>
.AppCooperationPropaganda {
padding-bottom: 130px;
box-sizing: border-box;
::v-deep .AiTopFixed .content {
padding: 0;
}
.tab-select {
width: 100%;
height: 96px;
line-height: 96px;
background: #3975c6;
display: flex;
.item {
flex: 1;
text-align: center;
font-size: 28px;
font-family: PingFangSC-Regular, PingFang SC;
color: #cddcf0;
}
.active {
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
position: relative;
color: #fff;
span {
width: 48px;
height: 4px;
background: #fff;
position: absolute;
bottom: 14px;
left: 50%;
margin-left: -24px;
}
}
}
.search {
display: flex;
height: 100px;
height: 80px;
align-items: center;
justify-content: space-between;
padding: 20px 32px;
box-sizing: border-box;
.searchBox {
width: 562px;
@@ -335,29 +255,6 @@ export default {
}
}
.btn {
position: fixed;
bottom: 0;
left: 0;
background: #FFF;
display: flex;
width: 100%;
height: 128px;
padding: 24px 32px;
box-sizing: border-box;
.addBtn {
flex: 1;
height: 80px;
line-height: 80px;
text-align: center;
border-radius: 8px;
border: 2px solid #CCCCCC;
background: #1365DD;
color: #FFF;
}
}
.popup {
box-sizing: border-box;
// height: 800px;
@@ -421,12 +318,6 @@ export default {
::v-deep .uni-input-placeholder {
text-align: right;
}
}
}
.items {
::v-deep .AiSelect .display {
justify-content: space-between;
width: 100%;
}
}
.active {
@@ -456,9 +347,6 @@ export default {
}
}
}
::v-deep .uicon-arrow-right::before {
color: #606266 !important;
}
.page_picker {
display: flex;
justify-content: space-between;

View File

@@ -1,6 +1,6 @@
<template>
<div class="cooperationDetail">
<!-- <AiTopFixed>
<AiTopFixed>
<div class="tab-select">
<div
class="item"
@@ -12,7 +12,7 @@
{{ item }}<span></span>
</div>
</div>
</AiTopFixed> -->
</AiTopFixed>
<div class="content">
<div class="header">
@@ -66,29 +66,30 @@
<div class="list_content">
<div class="list_card">
<div class="tab" v-show="update">
<div class="tab" v-show="update0">
<u-subsection
:list="subsection"
:list="subsection0"
mode="button"
activeColor="#3c9cff"
:current="subIndex"
@change="changeSub"
:current="subIndex0"
@change="changeSub0"
></u-subsection>
</div>
<div class="tab" v-show="update1">
<u-subsection
:list="subsection1"
mode="button"
activeColor="#3c9cff"
:current="subIndex1"
@change="changeSub1"
></u-subsection>
</div>
<AiTable
:data="tableData"
:colConfigs="colConfigs"
v-if="tableData.length"
>
<u-td slot="groupOwnerId" slot-scope="{ row }" style="border: none;">
<AiOpenData
v-if="row.groupOwnerId"
type="userName"
:openid="row.groupOwnerId"
/>
</u-td>
</AiTable>
:colConfigs="tabIndex == 0 ? colConfigs0 : colConfigs1"
v-if="tableData.length"/>
<AiEmpty v-if="!tableData.length" description="暂无数据"></AiEmpty>
</div>
</div>
@@ -115,28 +116,34 @@ export default {
currentClickTime: "",
detail: {},
subsection: [
subsection0: [
{ name: "未执行" },
{ name: "已执行" },
{ name: "无法执行" },
],
update: true,
subsection1: [
{ name: "未送达" },
{ name: "已送达" },
{ name: "无法送达" },
],
update0: true,
update1: false,
};
},
computed: {
colConfigs() {
colConfigs0() {
return [
{ slot: "groupOwnerId", label: "成员" },
{ label: "预计送达居民", prop: "groupCount" },
{ prop: "groupOwnerName", label: "成员" },
{ label: "预计送达居民", prop: "groupCount" },
];
},
colConfigs1() {
return [
{ label: "居民群", prop: "groupName" },
{ label: "群人数", prop: "memberCount" },
{ prop: "groupOwnerName", label: "群主" },
];
},
// colConfigs1() {
// return [
// { label: "居民群", prop: "groupName" },
// { label: "群人数", prop: "memberCount" },
// { slot: "groupOwnerId", label: "群主" },
// ];
// },
},
onLoad(o) {
this.id = o.id;
@@ -223,8 +230,12 @@ export default {
}
},
// 切换分段器
changeSub(index) {
this.subIndex = index;
changeSub0(index) {
this.subIndex0 = index;
this.getStatistics();
},
changeSub1(index) {
this.subIndex1 = index;
this.getStatistics();
},
// 获取数据
@@ -370,6 +381,7 @@ export default {
}
.header {
// height: 160px;
padding: 32px;
box-sizing: border-box;
background: #fff;
@@ -484,6 +496,14 @@ export default {
.tab {
margin-bottom: 34px;
::v-deep .u-subsection uni-view{
background: #eeef !important;
}
}
.sub-select {
}
}
}

View File

@@ -9,23 +9,21 @@
</div>
<div class="item">
<span>创建人</span>
<span>
<AiOpenData type="userName" :openid="data.createUserId"></AiOpenData>
</span>
<span>{{ data.createUserName }}</span>
</div>
<div class="item" v-if="data.enableExamine == 1">
<span>审批人</span>
<span>
<span v-for="(item, index) in approver" :key="index" style="color: #333;">
<AiOpenData type="userName" :openid="item.examineUserId" style="display: inline-block"></AiOpenData><span v-if="approver.length>1"></span>
{{ item.examineUserName }}
<span v-show="index < approver.length - 1"></span>
</span>
</span>
</div>
<div class="item">
<span>所在部门</span>
<span style="display: flex;">
<div v-if="data.createUserDept"><AiOpenData type="departmentName" :openid="data.createUserDept" style="display: inline-block;"></AiOpenData></div>
<!-- <div v-if="data.createUserSecondDept"><AiOpenData type="departmentName" :openId="data.createUserSecondDept" style="display: inline-block"></AiOpenData></div> -->
<div v-if="data.createUserDeptName">{{ data.createUserDeptName }}</div>
</span>
</div>
<div class="item">

View File

@@ -10,9 +10,10 @@
<div class="applicationNames">
<AiOpenData type="userName" :openid="e.userId"/>
</div>
<div></div>
</div>
</div>
<AiEmpty description="暂无数据" v-if="!userList.length"/>
<AiEmpty description="暂无数据" v-if="!userList"/>
</div>
<div class="subBtn" @click="submit">
<div>确定选择</div>
@@ -45,7 +46,7 @@ export default {
},
methods: {
isSelected(userId) {
return this.selected.userId===userId
return this.selected.userId === userId
},
getCreateUserList() {
this.userList = []