Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
aixianling
2022-08-08 14:08:28 +08:00
6 changed files with 91 additions and 56 deletions

View File

@@ -39,7 +39,7 @@
</ai-list> </ai-list>
<ai-dialog <ai-dialog
title="添加积分调整" title="添加积分调整"
:visible="dialog" :visible.sync="dialog"
:destroyOnClose="true" :destroyOnClose="true"
width="720px" width="720px"
@onConfirm="onConfirm" @onConfirm="onConfirm"
@@ -59,11 +59,15 @@
<el-input v-model.trim="form.eventDesc" placeholder="请输入..." type="textarea" :rows="4" show-word-limit <el-input v-model.trim="form.eventDesc" placeholder="请输入..." type="textarea" :rows="4" show-word-limit
maxlength="100"></el-input> maxlength="100"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="上传凭证"> <el-form-item label="上传凭证">
<el-row>
<el-radio v-model="radio" label="1">图片</el-radio>
<el-radio v-model="radio" label="2">附件</el-radio>
</el-row>
<ai-uploader :instance="instance" isWechat v-model="form.files" :limit="1" url="/app/wxcp/upload/uploadFile?type=image"></ai-uploader> <ai-uploader :instance="instance" isWechat v-model="form.files" :limit="1" url="/app/wxcp/upload/uploadFile?type=image"></ai-uploader>
</el-form-item> --> </el-form-item>
<el-form-item label="类型" prop="integralCalcType"> <el-form-item label="类型" prop="integralCalcType">
<ai-select v-model="form.integralCalcType" :selectList="dict.getDict('integralCalcType')"/> <!-- <ai-select v-model="form.integralCalcType" :selectList="dict.getDict('integralCalcType')"/> -->
</el-form-item> </el-form-item>
<el-form-item label="积分" prop="changeIntegral"> <el-form-item label="积分" prop="changeIntegral">
<el-input v-model.trim.num="form.changeIntegral" placeholder="请输入正数" size="small"></el-input> <el-input v-model.trim.num="form.changeIntegral" placeholder="请输入正数" size="small"></el-input>
@@ -94,15 +98,17 @@ export default {
tableData: [], tableData: [],
page: {current: 1, size: 10, total: 0}, page: {current: 1, size: 10, total: 0},
girdList: [], girdList: [],
dialog: true,
form: { form: {
}, },
personList: [], personList: [],
dialog: false,
radio: ''
} }
}, },
created() { created() {
this.$dict.load('integralCalcType') // this.$dict.load('integralCalcType')
}, },
computed: { computed: {
...mapState(['user']), ...mapState(['user']),

View File

@@ -103,7 +103,7 @@ export default {
methods: { methods: {
getColEcherts() { getColEcherts() {
let chartDom = document.getElementById('chartDom'); let chartDom = document.getElementById('chartDom');
chartDom.style.width = window.innerWidth - 328 + "px"; chartDom.style.width = window.innerWidth - 335 + "px";
this.myChart = echarts.init(chartDom); this.myChart = echarts.init(chartDom);
this.myChart.setOption({ this.myChart.setOption({
dataZoom: [ dataZoom: [

View File

@@ -162,7 +162,7 @@ export default {
methods: { methods: {
getColEcherts1() { getColEcherts1() {
let chartDom1 = document.getElementById('chart1'); let chartDom1 = document.getElementById('chart1');
chartDom1.style.width = (window.innerWidth - 344) / 2 + "px"; chartDom1.style.width = (window.innerWidth - 435) / 2 + "px";
this.myChart1 = echarts.init(chartDom1); this.myChart1 = echarts.init(chartDom1);
this.myChart1.setOption({ this.myChart1.setOption({
@@ -223,7 +223,7 @@ export default {
}, },
getColEcherts2() { getColEcherts2() {
let chartDom2 = document.getElementById('chart2'); let chartDom2 = document.getElementById('chart2');
chartDom2.style.width = (window.innerWidth - 344) / 2 + "px"; chartDom2.style.width = (window.innerWidth - 435) / 2 + "px";
this.myChart2 = echarts.init(chartDom2); this.myChart2 = echarts.init(chartDom2);
this.myChart2.setOption({ this.myChart2.setOption({
title: { title: {

View File

@@ -840,7 +840,7 @@ export default {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
flex: 1; flex: 1;
padding: 5px 0 5px 12px; padding: 5px 0 0px 12px;
border-right: 1px solid #D0D4DC; border-right: 1px solid #D0D4DC;
background: #fff; background: #fff;

View File

@@ -20,7 +20,7 @@
<ai-wrapper> <ai-wrapper>
<ai-info-item label="任务名称" isLine :value="info.taskTitle"></ai-info-item> <ai-info-item label="任务名称" isLine :value="info.taskTitle"></ai-info-item>
<ai-info-item label="任务状态" isLine> <ai-info-item label="任务状态" isLine>
<span>{{ dict.getLabel('mstStatus', info.status) }}</span> <span :style="{ color: dict.getColor('mstStatus', info.status) }">{{ dict.getLabel('mstStatus', info.status) }}</span>
</ai-info-item> </ai-info-item>
<ai-info-item label="创建人" isLine> <ai-info-item label="创建人" isLine>
<div class="user"> <div class="user">
@@ -121,13 +121,14 @@
<el-radio-button size="small" label="1">已执行</el-radio-button> <el-radio-button size="small" label="1">已执行</el-radio-button>
<el-radio-button size="small" label="2">无法执行</el-radio-button> <el-radio-button size="small" label="2">无法执行</el-radio-button>
</el-radio-group> </el-radio-group>
<div class="userSelcet" placeholder="请选择创建人"> <ai-user-get :instance="instance" @change="e => onUserChange(e, 'search1')" isChooseUnit isStrictly :isMultiple="false" v-model="user1">
<span v-if="search1.deptartId"><ai-open-data type="departmentName" :openid="search1.deptartId"></ai-open-data></span> <div class="userSelcet">
<span v-else>请选择部门</span> <span style="color: #606266;" v-if="search1.deptartId"><ai-open-data type="departmentName" :openid="search1.deptartId"></ai-open-data></span>
<ai-user-get :instance="instance" @change="e => onUserChange(e, 'search1')" isChooseUnit :isMultiple="false" v-model="user1"> <span v-else>请选择部门</span>
<div class="select-btn">选择</div> <i class="el-icon-arrow-up" v-if="!search1.deptartId"></i>
</ai-user-get> <i class="el-icon-circle-close" v-if="search1.deptartId" @click.stop="user1 = [], search1.deptartId = '', search1.current = 1, getMemberInfo()"></i>
</div> </div>
</ai-user-get>
</div> </div>
<el-button :type="isDisabled ? '' : 'primary'" :disabled="isDisabled" @click="sendMsg(0)" v-if="info.status === '4'">{{ isDisabled ? min + '分钟后可再次提醒' : '提醒成员发送' }}</el-button> <el-button :type="isDisabled ? '' : 'primary'" :disabled="isDisabled" @click="sendMsg(0)" v-if="info.status === '4'">{{ isDisabled ? min + '分钟后可再次提醒' : '提醒成员发送' }}</el-button>
</div> </div>
@@ -190,13 +191,14 @@
<el-radio-button size="small" label="1">已送达</el-radio-button> <el-radio-button size="small" label="1">已送达</el-radio-button>
<el-radio-button size="small" label="2">无法送达</el-radio-button> <el-radio-button size="small" label="2">无法送达</el-radio-button>
</el-radio-group> </el-radio-group>
<div class="userSelcet" placeholder="请选择创建人"> <ai-user-get :instance="instance" isStrictly @change="e => onUserChange(e, 'search2')" isChooseUnit :isMultiple="false" v-model="user2">
<span v-if="search2.deptartId"><ai-open-data type="departmentName" :openid="search2.deptartId"></ai-open-data></span> <div class="userSelcet">
<span v-else>请选择部门</span> <span style="color: #606266;" v-if="search2.deptartId"><ai-open-data type="departmentName" :openid="search2.deptartId"></ai-open-data></span>
<ai-user-get :instance="instance" @change="e => onUserChange(e, 'search2')" isChooseUnit :isMultiple="false" v-model="user2"> <span v-else>请选择部门</span>
<div class="select-btn">选择</div> <i class="el-icon-arrow-up" v-if="!search2.deptartId"></i>
</ai-user-get> <i class="el-icon-circle-close" v-if="search2.deptartId" @click.stop="user2 = [], search2.deptartId = '', search2.current = 1, getGroupInfo()"></i>
</div> </div>
</ai-user-get>
</div> </div>
<el-button :type="isDisabled ? '' : 'primary'" :disabled="isDisabled" @click="sendMsg(1)" v-if="info.status === '4'">{{ isDisabled ? min + '分钟后可再次提醒' : '提醒成员发送' }}</el-button> <el-button :type="isDisabled ? '' : 'primary'" :disabled="isDisabled" @click="sendMsg(1)" v-if="info.status === '4'">{{ isDisabled ? min + '分钟后可再次提醒' : '提醒成员发送' }}</el-button>
</div> </div>
@@ -513,32 +515,45 @@
.userSelcet { .userSelcet {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between;
width: 215px;
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
margin-left: 12px; margin-left: 12px;
border-radius: 4px; border-radius: 4px;
border: 1px solid #d0d4dc; border: 1px solid #d0d4dc;
overflow: hidden; overflow: hidden;
cursor: pointer;
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
.select-btn { &:hover {
width: 40px; border-color: #26f;
cursor: pointer; }
i {
display: flex;
position: relative;
align-items: center;
justify-content: center;
width: 30px;
height: 100%;
line-height: 32px;
font-size: 14px;
text-align: center; text-align: center;
border-left: 1px solid #d0d4dc; color: #d0d4dc;
color: #666; transform: rotateZ(180deg);
font-size: 12px; }
&:hover { .el-icon-circle-close:hover {
color: #2266FF; opacity: 0.6;
}
} }
span { span {
width: 200px; flex: 1;
padding: 0 15px; padding: 0 15px;
font-size: 12px; font-size: 12px;
background: #F5F5F5; // background: #F5F5F5;
color: #999; color: #d0d4dc;
} }
} }

View File

@@ -33,13 +33,14 @@
@change="search.current = 1, getList()" @change="search.current = 1, getList()"
placeholder="选择群发结束日期"> placeholder="选择群发结束日期">
</el-date-picker> </el-date-picker>
<div class="userSelcet" placeholder="请选择创建人"> <ai-user-get :instance="instance" @change="onUserChange" :isMultiple="false" v-model="user">
<span v-if="search.createUserId"><ai-open-data type="userName" :openid="search.createUserId"></ai-open-data></span> <div class="userSelcet">
<span v-else>创建人</span> <span style="color: #606266;" v-if="search.createUserId"><ai-open-data type="userName" :openid="search.createUserId"></ai-open-data></span>
<ai-user-get isStrictly :instance="instance" @change="onUserChange" :isMultiple="false" v-model="user"> <span v-else>创建人</span>
<div class="select-btn">选择</div> <i class="el-icon-arrow-up" v-if="!search.createUserId"></i>
</ai-user-get> <i class="el-icon-circle-close" v-if="search.createUserId" @click.stop="user = [], search.createUserId = '', search.current = 1, getList()"></i>
</div> </div>
</ai-user-get>
</template> </template>
<template slot="right"> <template slot="right">
<el-input <el-input
@@ -252,31 +253,44 @@
.userSelcet { .userSelcet {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between;
width: 215px;
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
border-radius: 4px; border-radius: 4px;
border: 1px solid #d0d4dc; border: 1px solid #d0d4dc;
overflow: hidden; overflow: hidden;
cursor: pointer;
transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
.select-btn { &:hover {
width: 40px; border-color: #26f;
cursor: pointer; }
i {
display: flex;
position: relative;
align-items: center;
justify-content: center;
width: 30px;
height: 100%;
line-height: 32px;
font-size: 14px;
text-align: center; text-align: center;
border-left: 1px solid #d0d4dc; color: #d0d4dc;
color: #666; transform: rotateZ(180deg);
font-size: 12px; }
&:hover { .el-icon-circle-close:hover {
color: #2266FF; opacity: 0.6;
}
} }
span { span {
width: 200px; flex: 1;
padding: 0 15px; padding: 0 15px;
font-size: 12px; font-size: 12px;
background: #F5F5F5; // background: #F5F5F5;
color: #999; color: #d0d4dc;
} }
} }
} }