Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build
This commit is contained in:
@@ -217,7 +217,7 @@ export default {
|
|||||||
getList () {
|
getList () {
|
||||||
this.instance.post(`/app/appintelligentguardianshipdevice/list`, null, {
|
this.instance.post(`/app/appintelligentguardianshipdevice/list`, null, {
|
||||||
params: {
|
params: {
|
||||||
size: 100000,
|
size: 8000,
|
||||||
current: 1
|
current: 1
|
||||||
}
|
}
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import electionList from "./components/electionList.vue";
|
import electionList from "./components/electionList.vue";
|
||||||
import electionAdd from "./components/electionAdd.vue";
|
import electionAdd from "./components/electionAdd.vue";
|
||||||
|
import Statistics from "./components/Statistics.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "AppGeneralElection",
|
name: "AppGeneralElection",
|
||||||
@@ -17,7 +18,7 @@ export default {
|
|||||||
instance: Function,
|
instance: Function,
|
||||||
dict: Object,
|
dict: Object,
|
||||||
},
|
},
|
||||||
components: {electionAdd, electionList},
|
components: {electionAdd, electionList,Statistics},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
component: "electionList",
|
component: "electionList",
|
||||||
@@ -32,6 +33,11 @@ export default {
|
|||||||
this.params = data.params;
|
this.params = data.params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.type === "Statistics") {
|
||||||
|
this.component = "Statistics";
|
||||||
|
this.params = data.params;
|
||||||
|
}
|
||||||
|
|
||||||
if (data.type === "electionList") {
|
if (data.type === "electionList") {
|
||||||
this.component = "electionList";
|
this.component = "electionList";
|
||||||
this.params = data.params;
|
this.params = data.params;
|
||||||
@@ -44,9 +50,6 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {
|
|
||||||
// this.dict.load("portalUserStatus", "enterpriseStatus", "userEnterpriseStatus","enterpriseType")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,152 @@
|
|||||||
|
<template>
|
||||||
|
<section>
|
||||||
|
<ai-detail class="Statistics">
|
||||||
|
<template slot="title">
|
||||||
|
<ai-title title="投票实况" isShowBack isShowBottomBorder @onBackClick="cancel(false)"></ai-title>
|
||||||
|
</template>
|
||||||
|
<template slot="content">
|
||||||
|
<ai-title title="本届任职" isShowBottomBorder></ai-title>
|
||||||
|
<div class="basicinfo-box">
|
||||||
|
<div><span>已投人数:</span><span>{{ data.alreadyCount || 0 }}</span></div>
|
||||||
|
<div><span>未投人数:</span><span>{{ data.notYetCount || 0 }}</span></div>
|
||||||
|
<div><span>日期:</span><span>{{ data.dateTime || '' }}</span></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ai-title title="候选人选票统计" isShowBottomBorder></ai-title>
|
||||||
|
|
||||||
|
<div class="echarts-box">
|
||||||
|
<div id="echarts-bar"></div>
|
||||||
|
<!-- <ai-empty class="empty"></ai-empty> -->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</ai-detail>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as echarts from 'echarts';
|
||||||
|
export default {
|
||||||
|
name: "Statistics",
|
||||||
|
props: {
|
||||||
|
instance: Function,
|
||||||
|
dict: Object,
|
||||||
|
params: Object,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
data: {},
|
||||||
|
myChart: null,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getStatistics()
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getStaBar()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
cancel (isRefresh) {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'electionList',
|
||||||
|
isRefresh: !!isRefresh
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getStatistics() {
|
||||||
|
this.instance.post(`/app/appgeneralelectioninfo/statistics?id=${this.params.id}`).then(res=> {
|
||||||
|
if(res?.data) {
|
||||||
|
this.data = res.data
|
||||||
|
this.statistics = res.data.statistics
|
||||||
|
let xData = res.data.statistics.map(e=> e.candidate_user_name)
|
||||||
|
let yData1 = res.data.statistics.map(e=> e.c1)
|
||||||
|
let yData2 = res.data.statistics.map(e=> e.c2)
|
||||||
|
let yData3 = res.data.statistics.map(e=> e.c3)
|
||||||
|
this.getStaBar(xData,yData1,yData2,yData3)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getStaBar(xData,yData1,yData2,yData3) {
|
||||||
|
let chartDom = document.getElementById('echarts-bar')
|
||||||
|
this.myChart = echarts.init(chartDom);
|
||||||
|
this.myChart.setOption({
|
||||||
|
dataZoom: [
|
||||||
|
{
|
||||||
|
type: "slider",
|
||||||
|
xAxisIndex: [0],
|
||||||
|
filterMode: "filter",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
legend: {
|
||||||
|
data: ['支持', '反对', '弃票']
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
type: 'category',
|
||||||
|
data: xData,
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
type: 'value',
|
||||||
|
alignTicks: true,
|
||||||
|
},
|
||||||
|
series: [ // 支持、反对、弃票
|
||||||
|
{
|
||||||
|
name: '支持',
|
||||||
|
data: yData1,
|
||||||
|
type: 'bar',
|
||||||
|
|
||||||
|
showBackground: true,
|
||||||
|
backgroundStyle: {
|
||||||
|
color: 'rgba(180, 180, 180, 0.2)'
|
||||||
|
},
|
||||||
|
barWidth: 22,
|
||||||
|
barGap: '20%',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '反对',
|
||||||
|
data: yData2,
|
||||||
|
type: 'bar',
|
||||||
|
|
||||||
|
showBackground: true,
|
||||||
|
backgroundStyle: {
|
||||||
|
color: 'rgba(180, 180, 180, 0.2)'
|
||||||
|
},
|
||||||
|
barWidth: 22,
|
||||||
|
barGap: '20%',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '弃票',
|
||||||
|
data: yData3,
|
||||||
|
type: 'bar',
|
||||||
|
|
||||||
|
showBackground: true,
|
||||||
|
backgroundStyle: {
|
||||||
|
color: 'rgba(180, 180, 180, 0.2)'
|
||||||
|
},
|
||||||
|
barWidth: 22,
|
||||||
|
barGap: '20%',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.Statistics {
|
||||||
|
.basicinfo-box {
|
||||||
|
display: flex;
|
||||||
|
margin: 20px 0;
|
||||||
|
div {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.echarts-box {
|
||||||
|
// width: 100%;
|
||||||
|
|
||||||
|
#echarts-bar {
|
||||||
|
width: 1200px;
|
||||||
|
height: 400px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,17 +1,16 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="electionAdd">
|
<section class="electionAdd">
|
||||||
<ai-detail class="add" v-if="id && !isEdit">
|
<ai-detail v-show="id && !isEdit">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<ai-title title="换届选举详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)"></ai-title>
|
<ai-title title="换届选举详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)"></ai-title>
|
||||||
</template>
|
</template>
|
||||||
<template slot="content">
|
<template slot="content">
|
||||||
<ai-card title="基本信息">
|
<ai-card :title="info.title">
|
||||||
<template #right>
|
<template #right>
|
||||||
<span style="color:#2266FF;cursor: pointer;font-size: 12px;" class="iconfont iconEdit" v-if="isEdit==false" @click="isEdit = true">修改</span>
|
<span style="color:#2266FF;cursor: pointer;font-size: 12px;" class="iconfont iconEdit" v-if="isEdit==false && info.status==0" @click="update">修改</span>
|
||||||
</template>
|
</template>
|
||||||
<template #content v-if="isEdit == false">
|
<template #content v-if="isEdit == false">
|
||||||
<ai-wrapper>
|
<ai-wrapper>
|
||||||
<ai-info-item label="标题" :value="info.title"></ai-info-item>
|
|
||||||
<ai-info-item label="投票说明" :value="info.votingInstructions"></ai-info-item>
|
<ai-info-item label="投票说明" :value="info.votingInstructions"></ai-info-item>
|
||||||
<ai-info-item label="单位名称" :value="info.organizationName"></ai-info-item>
|
<ai-info-item label="单位名称" :value="info.organizationName"></ai-info-item>
|
||||||
<ai-info-item label="选举方式">
|
<ai-info-item label="选举方式">
|
||||||
@@ -23,13 +22,19 @@
|
|||||||
</ai-info-item>
|
</ai-info-item>
|
||||||
<ai-info-item label="应选人数" :value="info.candidatesNumber"></ai-info-item>
|
<ai-info-item label="应选人数" :value="info.candidatesNumber"></ai-info-item>
|
||||||
<ai-info-item label="投票日期" :value="info.votingDate"></ai-info-item>
|
<ai-info-item label="投票日期" :value="info.votingDate"></ai-info-item>
|
||||||
|
</ai-wrapper>
|
||||||
|
</template>
|
||||||
|
</ai-card>
|
||||||
|
<ai-card title="参会人员信息">
|
||||||
|
<template #content v-if="isEdit == false">
|
||||||
|
<ai-wrapper>
|
||||||
<ai-info-item label="候选人" isLine>
|
<ai-info-item label="候选人" isLine>
|
||||||
<span v-for="(item,index) in candidateUsersList" :key="index">
|
<span v-for="(item,index) in candidateUsersList" :key="index">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
<span v-if="index < candidateUsersList.length - 1">、</span>
|
<span v-if="index < candidateUsersList.length - 1">、</span>
|
||||||
</span>
|
</span>
|
||||||
</ai-info-item>
|
</ai-info-item>
|
||||||
<ai-info-item label="投票人" isLine :value="info.voteUsers">
|
<ai-info-item label="投票人" isLine>
|
||||||
<span v-for="(item,index) in voteUsersList" :key="index">
|
<span v-for="(item,index) in voteUsersList" :key="index">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
<span v-if="index < voteUsersList.length - 1">、</span>
|
<span v-if="index < voteUsersList.length - 1">、</span>
|
||||||
@@ -40,7 +45,7 @@
|
|||||||
</ai-card>
|
</ai-card>
|
||||||
</template>
|
</template>
|
||||||
</ai-detail>
|
</ai-detail>
|
||||||
<ai-detail v-if="!id || isEdit">
|
<ai-detail v-show="!id || isEdit==true">
|
||||||
<ai-title slot="title" :title="id? '编辑换届选举':'添加换届选举'" isShowBottomBorder isShowBack @onBackClick="cancel(true)"/>
|
<ai-title slot="title" :title="id? '编辑换届选举':'添加换届选举'" isShowBottomBorder isShowBack @onBackClick="cancel(true)"/>
|
||||||
<template slot="content">
|
<template slot="content">
|
||||||
<ai-card title="基本信息">
|
<ai-card title="基本信息">
|
||||||
@@ -115,12 +120,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
</template>
|
</template>
|
||||||
<template slot="footer" class="footer">
|
<template #footer>
|
||||||
<el-button class="delete-btn footer-btn" @click="cancel(false)">取消</el-button>
|
<el-button class="delete-btn footer-btn" @click="cancel(false)">取消</el-button>
|
||||||
<el-button class="footer-btn" type="primary" @click="confirm()">保存</el-button>
|
<el-button class="footer-btn" type="primary" @click="confirm()">保存</el-button>
|
||||||
</template>
|
</template>
|
||||||
</ai-detail>
|
</ai-detail>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -179,12 +183,9 @@ export default {
|
|||||||
chooseVoteList: [],
|
chooseVoteList: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
|
||||||
},
|
|
||||||
created() {
|
created() {
|
||||||
if(this.params && this.params.id) {
|
if(this.params && this.params.id) {
|
||||||
this.id = this.params.id
|
this.id = this.params.id
|
||||||
this.isEdit = this.params.isEdit
|
|
||||||
this.getDetail()
|
this.getDetail()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -195,6 +196,10 @@ export default {
|
|||||||
isRefresh: !!isRefresh
|
isRefresh: !!isRefresh
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
update() {
|
||||||
|
this.isEdit = true
|
||||||
|
this.getDetail()
|
||||||
|
},
|
||||||
getDetail() {
|
getDetail() {
|
||||||
this.instance.post(`/app/appgeneralelectioninfo/queryDetailById`,null, {
|
this.instance.post(`/app/appgeneralelectioninfo/queryDetailById`,null, {
|
||||||
params: {id:this.id}
|
params: {id:this.id}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<template #content>
|
<template #content>
|
||||||
<ai-search-bar>
|
<ai-search-bar>
|
||||||
<template #left>
|
<template #left>
|
||||||
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toAdd('', false)" >添加</el-button>
|
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toAdd('')" >添加</el-button>
|
||||||
<ai-select v-model="search.status" @change=";(page.current = 1), getList()" placeholder="请选择状态" :selectList="dict.getDict('electionStatus')"></ai-select>
|
<ai-select v-model="search.status" @change=";(page.current = 1), getList()" placeholder="请选择状态" :selectList="dict.getDict('electionStatus')"></ai-select>
|
||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
@@ -17,8 +17,10 @@
|
|||||||
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size" @getList="getList" :col-configs="colConfigs" :dict="dict">
|
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size" @getList="getList" :col-configs="colConfigs" :dict="dict">
|
||||||
<el-table-column slot="options" label="操作" fixed="right" align="center">
|
<el-table-column slot="options" label="操作" fixed="right" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<el-button type="text" @click.native="toAdd(row.id, true)">编辑</el-button>
|
<!-- <el-button v-show="row.status==0" type="text" @click.native="toAdd(row.id, true)">编辑</el-button> -->
|
||||||
<el-button type="text" @click.native="toAdd(row.id, false)">详情</el-button>
|
<el-button type="text" @click.native="toAdd(row.id)">详情</el-button>
|
||||||
|
<el-button type="text" :disabled="row.status==2" @click.native="startEnd(row.id, false)">结束</el-button>
|
||||||
|
<el-button type="text" @click.native="toStatistics(row.id)">统计</el-button>
|
||||||
<el-button type="text" @click.native="handleDelete(row.id)">删除</el-button>
|
<el-button type="text" @click.native="handleDelete(row.id)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -85,7 +87,6 @@ export default {
|
|||||||
type: 'electionAdd',
|
type: 'electionAdd',
|
||||||
params: {
|
params: {
|
||||||
id: id || '',
|
id: id || '',
|
||||||
isEdit: flag
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -106,6 +107,26 @@ export default {
|
|||||||
}
|
}
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
|
// 结束
|
||||||
|
startEnd(id, status) {
|
||||||
|
this.$confirm('投票正在进行中,确定要提前结束吗?').then(() => {
|
||||||
|
this.instance.post(`/app/appgeneralelectioninfo/start-end?id=${id}&start=${status}`).then(res=>{
|
||||||
|
if(res.code == 0) {
|
||||||
|
this.$message.success('结束成功')
|
||||||
|
this.getList()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 统计
|
||||||
|
toStatistics(id) {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'Statistics',
|
||||||
|
params: {
|
||||||
|
id: id || '',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="AppOrganizationChange">
|
<section class="AppOrganizationChange">
|
||||||
<keep-alive :include="['List']">
|
<keep-alive :include="['List']">
|
||||||
<component ref="component" :is="component" :instance="instance" :selected.sync="selected" :params="params" :dict="dict" @change="onChange"/>
|
<component :is="currentPage" :instance="instance" :selected.sync="selected" :params="params" :dict="dict" @change="onChange"/>
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import {mapState} from "vuex";
|
||||||
import addChange from "./components/addChange.vue";
|
import addChange from "./components/addChange.vue";
|
||||||
import List from "./components/List.vue";
|
import List from "./components/List.vue";
|
||||||
import organizationSetting from "./components/organizationSetting.vue";
|
import organizationSetting from "./components/organizationSetting.vue";
|
||||||
@@ -19,10 +20,20 @@ export default {
|
|||||||
dict: Object,
|
dict: Object,
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
List,
|
List,
|
||||||
addChange,
|
addChange,
|
||||||
organizationSetting,
|
organizationSetting,
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState(['user']),
|
||||||
|
currentPage() {
|
||||||
|
if (this.$route.hash == "#add") {
|
||||||
|
return addChange
|
||||||
|
} else if (this.$route.hash == "#setting") {
|
||||||
|
return organizationSetting
|
||||||
|
} else return List
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
component: "List",
|
component: "List",
|
||||||
@@ -33,26 +44,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
onChange(data) {
|
onChange(data) {
|
||||||
if (data.type === "List") {
|
this.params = data.params;
|
||||||
this.component = "List";
|
|
||||||
this.params = data.params;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.type === "organizationSetting") {
|
|
||||||
this.component = "organizationSetting";
|
|
||||||
this.params = data.params;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.type === "addChange") {
|
|
||||||
this.component = "addChange";
|
|
||||||
this.params = data.params;
|
|
||||||
|
|
||||||
this.$nextTick(() => {
|
|
||||||
if (data.isRefresh) {
|
|
||||||
this.$refs.component.getList();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|||||||
@@ -3,37 +3,37 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<ai-title title="组织换届" isShowBottomBorder>
|
<ai-title title="组织换届" isShowBottomBorder>
|
||||||
<template slot="rightBtn">
|
<template slot="rightBtn">
|
||||||
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toSetting('')" >换届设置</el-button>
|
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toSetting('')">换届设置</el-button>
|
||||||
</template>
|
</template>
|
||||||
</ai-title>
|
</ai-title>
|
||||||
</template>
|
</template>
|
||||||
<template #left>
|
<template #left>
|
||||||
<ai-tree-menu title="组织目录" searchPlaceholder="请输入组织名称" @search="onSearch">
|
<ai-tree-menu title="组织目录" searchPlaceholder="请输入组织名称" @search="onSearch">
|
||||||
<ai-party-tree
|
<ai-party-tree
|
||||||
:filter-node-method="filterNode"
|
:filter-node-method="filterNode"
|
||||||
ref="tree"
|
ref="tree"
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
:root="user.info.organizationId"
|
:root="user.info.organizationId"
|
||||||
:current-node-key="selected.id"
|
:current-node-key="selected.id"
|
||||||
@select="onTreeChange"/>
|
@select="onTreeChange"/>
|
||||||
</ai-tree-menu>
|
</ai-tree-menu>
|
||||||
</template>
|
</template>
|
||||||
<template slot="content" class="content">
|
<template slot="content" class="content">
|
||||||
<el-tabs v-model="currIndex" >
|
<el-tabs v-model="currIndex">
|
||||||
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
|
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
|
||||||
<component :ref="tab.name" v-if="currIndex == String(i)" :is="tab.comp" lazy :instance="instance" :selected="selected"
|
<component :ref="tab.name" v-if="currIndex == String(i)" :is="tab.comp" lazy :instance="instance" :selected="selected"
|
||||||
:dict="dict" :permissions="permissions" v-on="$listeners"/>
|
:dict="dict" :permissions="permissions" v-on="$listeners"/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<div class="add_btn">
|
<div class="add_btn">
|
||||||
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toAdd('')" >新增换届</el-button>
|
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toAdd('')">新增换届</el-button>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</ai-list>
|
</ai-list>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
import moment from './moment.vue'
|
import moment from './moment.vue'
|
||||||
import history from './history.vue'
|
import history from './history.vue'
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(['user']),
|
...mapState(['user']),
|
||||||
|
|
||||||
orgTree() {
|
orgTree() {
|
||||||
return this.$refs.tree?.$refs?.partyTree
|
return this.$refs.tree?.$refs?.partyTree
|
||||||
},
|
},
|
||||||
@@ -84,20 +84,10 @@ export default {
|
|||||||
return data.name.indexOf(value) !== -1
|
return data.name.indexOf(value) !== -1
|
||||||
},
|
},
|
||||||
toAdd(id) {
|
toAdd(id) {
|
||||||
this.$emit('change', {
|
this.$router.push({hash: "#add", query: {id}})
|
||||||
type: 'addChange',
|
|
||||||
params: {
|
|
||||||
id: id || ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
toSetting(id) {
|
toSetting(id) {
|
||||||
this.$emit('change', {
|
this.$router.push({hash: "#setting", query: {id}})
|
||||||
type: 'organizationSetting',
|
|
||||||
params: {
|
|
||||||
id: id || ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -111,7 +101,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.set_btn {
|
.set_btn {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 20px;
|
right: 20px;
|
||||||
@@ -128,7 +118,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
::v-deep .audit-0 {
|
::v-deep .audit-0 {
|
||||||
color: #FF8822 !important;
|
color: #FF8822 !important;
|
||||||
}
|
}
|
||||||
@@ -147,9 +137,10 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::v-deep .is-current>.el-tree-node__content{
|
|
||||||
width: 100%!important;
|
::v-deep .is-current > .el-tree-node__content {
|
||||||
padding-right: 16px!important;
|
width: 100% !important;
|
||||||
|
padding-right: 16px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,30 +1,27 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="addChange">
|
<section class="addChange">
|
||||||
<ai-detail>
|
<ai-detail>
|
||||||
<ai-title slot="title" title="新增换届" isShowBottomBorder isShowBack @onBackClick="cancel(false)" />
|
<ai-title slot="title" title="新增换届" isShowBottomBorder isShowBack @onBackClick="cancel(false)"/>
|
||||||
<template #content>
|
<template #content>
|
||||||
<ai-card title="基本信息">
|
<ai-card title="基本信息">
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="Form">
|
<div class="Form">
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px" label-position="right">
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px" label-position="right" size="small">
|
||||||
<el-row type="flex">
|
<el-row type="flex">
|
||||||
<el-col :span="12">
|
<el-form-item class="fill" label="换届时间" prop="changeTime">
|
||||||
<el-form-item label="换届时间" prop="changeTime">
|
<el-date-picker v-model="form.changeTime" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:338px">
|
||||||
<el-date-picker v-model="form.changeTime" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:338px">
|
</el-date-picker>
|
||||||
</el-date-picker>
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item class="fill" label="届次" prop="sessionTime">
|
||||||
</el-col>
|
<el-input size="small" :maxlength="30" placeholder="请输入届次" v-model="form.sessionTime"></el-input>
|
||||||
<el-col :span="12">
|
</el-form-item>
|
||||||
<el-form-item label="届次" prop="sessionTime">
|
|
||||||
<el-input size="small" :maxlength="30" placeholder="请输入届次" v-model="form.sessionTime"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
<ai-bar title="本届任职(必填)">
|
<ai-title title="本届任职(必填)">
|
||||||
<template slot="right">
|
<template slot="rightBtn">
|
||||||
<el-button size="small" type="text" icon="iconfont iconAdd" @click="form.serveList.push({name:null,position:null,type:0})" >添加任职人员</el-button>
|
<el-button size="small" type="text" icon="iconfont iconAdd" @click="form.serveList.push({name:null,position:null,type:0})">添加任职人员
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</ai-bar>
|
</ai-title>
|
||||||
<el-table :data="form.serveList" size="mini" border stripe>
|
<el-table :data="form.serveList" size="mini" border stripe>
|
||||||
<el-table-column label="职位" align="center">
|
<el-table-column label="职位" align="center">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
@@ -33,7 +30,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="姓名" align="center">
|
<el-table-column label="姓名" align="center">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<el-input class="tableInput" v-model="row.name" clearable placeholder="请输入姓名" />
|
<el-input class="tableInput" v-model="row.name" clearable placeholder="请输入姓名"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
@@ -43,11 +40,12 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-form>
|
</el-form>
|
||||||
<ai-bar title="本届候选人">
|
<ai-title class="mar-t8" title="本届候选人">
|
||||||
<template slot="right">
|
<template slot="rightBtn">
|
||||||
<el-button size="small" type="text" icon="iconfont iconAdd" @click="form.candidateList.push({name:null,position:null,type: 1})" >添加候选人</el-button>
|
<el-button size="small" type="text" icon="iconfont iconAdd" @click="form.candidateList.push({name:null,position:null,type: 1})">添加候选人
|
||||||
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</ai-bar>
|
</ai-title>
|
||||||
<el-table :data="form.candidateList" size="mini" border stripe>
|
<el-table :data="form.candidateList" size="mini" border stripe>
|
||||||
<el-table-column label="职位" align="center">
|
<el-table-column label="职位" align="center">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
@@ -56,7 +54,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="候选人" align="center">
|
<el-table-column label="候选人" align="center">
|
||||||
<template slot-scope="{row}">
|
<template slot-scope="{row}">
|
||||||
<el-input class="tableInput" v-model="row.name" clearable placeholder="请输入姓名" />
|
<el-input class="tableInput" v-model="row.name" clearable placeholder="请输入姓名"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" align="center">
|
<el-table-column label="操作" align="center">
|
||||||
@@ -95,34 +93,31 @@ export default {
|
|||||||
candidateList: [], // 候选人员列表
|
candidateList: [], // 候选人员列表
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
changeTime: [{ required: true, message: '请选择换届时间', trigger: 'blur' }],
|
changeTime: [{required: true, message: '请选择换届时间', trigger: 'blur'}],
|
||||||
sessionTime: [{ required: true, message: '请输入届次', trigger: 'blur' }],
|
sessionTime: [{required: true, message: '请输入届次', trigger: 'blur'}],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
cancel (isRefresh) {
|
cancel() {
|
||||||
this.$emit('change', {
|
this.$router.push({})
|
||||||
type: 'List',
|
|
||||||
isRefresh: !!isRefresh
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
handleDelete(i, type) {
|
handleDelete(i, type) {
|
||||||
this.$confirm("确定要删除该数据?").then(() => {
|
this.$confirm("确定要删除该数据?").then(() => {
|
||||||
if(type == 'candidateList') {
|
if (type == 'candidateList') {
|
||||||
this.form.candidateList.splice(i, 1)
|
this.form.candidateList.splice(i, 1)
|
||||||
} else if(type == 'serveList') {
|
} else if (type == 'serveList') {
|
||||||
this.form.serveList.splice(i, 1)
|
this.form.serveList.splice(i, 1)
|
||||||
}
|
}
|
||||||
}).catch(() => 0)
|
}).catch(() => 0)
|
||||||
},
|
},
|
||||||
confirm() {
|
confirm() {
|
||||||
this.$refs.form.validate((valid) => {
|
this.$refs.form.validate((valid) => {
|
||||||
if(valid) {
|
if (valid) {
|
||||||
this.instance.post(`/app/apporganizationgeneralelection/add`, {
|
this.instance.post(`/app/apporganizationgeneralelection/add`, {
|
||||||
...this.form
|
...this.form
|
||||||
}).then(res=>{
|
}).then(res => {
|
||||||
if(res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$message.success('提交成功')
|
this.$message.success('提交成功')
|
||||||
this.cancel(true)
|
this.cancel(true)
|
||||||
}
|
}
|
||||||
@@ -138,4 +133,4 @@ export default {
|
|||||||
.addChange {
|
.addChange {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<ai-list class="history">
|
<section class="history">
|
||||||
<template slot="content">
|
|
||||||
<ai-search-bar>
|
<ai-search-bar>
|
||||||
<template #left>
|
<template #left>
|
||||||
<el-button type="primary" icon="iconfont iconEdit" @click="fillupAdd('')">补录</el-button>
|
<el-button type="primary" icon="iconfont iconEdit" @click="fillupAdd('')">补录</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input size="small" placeholder="请输入届次" v-model="search.name" clearable
|
<el-input size="small" placeholder="请输入届次" v-model="search.name" clearable
|
||||||
v-throttle="() => {page.current = 1, getList()}"/>
|
v-throttle="() => {page.current = 1, getList()}"/>
|
||||||
<el-button icon="iconfont iconResetting" @click="reset('')">重置</el-button>
|
<el-button icon="iconfont iconResetting" @click="reset('')">重置</el-button>
|
||||||
</template>
|
</template>
|
||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
<ai-table
|
<ai-table
|
||||||
class="detail-table__table"
|
class="detail-table__table"
|
||||||
:tableData="tableData"
|
:tableData="tableData"
|
||||||
:col-configs="colConfigs"
|
:col-configs="colConfigs"
|
||||||
@@ -19,15 +19,14 @@
|
|||||||
:current.sync="current"
|
:current.sync="current"
|
||||||
:size.sync="size"
|
:size.sync="size"
|
||||||
@getList="getJobList">
|
@getList="getJobList">
|
||||||
<el-table-column slot="options" label="操作" align="center">
|
<el-table-column slot="options" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
|
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
|
||||||
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
|
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</ai-table>
|
</ai-table>
|
||||||
</template>
|
</section>
|
||||||
</ai-list>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -77,4 +76,4 @@ export default {
|
|||||||
padding-top: 0 !important;
|
padding-top: 0 !important;
|
||||||
background-color: #FFF !important;
|
background-color: #FFF !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,43 +1,22 @@
|
|||||||
<template>
|
<template>
|
||||||
<ai-list class="moment">
|
<section class="moment">
|
||||||
<template slot="content">
|
<ai-title title="总体概况" class="mar-b8">
|
||||||
<ai-bar title="总体概况">
|
<template slot="rightBtn">
|
||||||
<template slot="right">
|
<el-button size="small" type="text" icon="iconfont iconEdit" @click="toEdit('')">修改</el-button>
|
||||||
<el-button size="small" type="text" icon="iconfont iconEdit" @click="toEdit('')" >修改</el-button>
|
|
||||||
</template>
|
|
||||||
</ai-bar>
|
|
||||||
<ai-wrapper>
|
|
||||||
<ai-info-item label="本届换届时间" :value="111" />
|
|
||||||
<ai-info-item label="换届类型" :value="111" />
|
|
||||||
<ai-info-item label="下届换届时间" :value="111" />
|
|
||||||
<ai-info-item label="当前届次" :value="111" />
|
|
||||||
</ai-wrapper>
|
|
||||||
<ai-bar title="本届任职">
|
|
||||||
<template slot="right">
|
|
||||||
<el-button size="small" type="text" icon="iconfont iconAdd" @click="dialogJob=true" >添加任职人员</el-button>
|
|
||||||
</template>
|
|
||||||
</ai-bar>
|
|
||||||
<ai-table
|
|
||||||
class="detail-table__table"
|
|
||||||
:tableData="tableData"
|
|
||||||
:col-configs="colConfigs"
|
|
||||||
:total="totalJob"
|
|
||||||
:current.sync="current"
|
|
||||||
:size.sync="size"
|
|
||||||
@getList="getJobList">
|
|
||||||
<el-table-column slot="options" label="操作" align="center">
|
|
||||||
<template slot-scope="{ row }">
|
|
||||||
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
|
|
||||||
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</ai-table>
|
|
||||||
<ai-bar title="本届候选人">
|
|
||||||
<template slot="right">
|
|
||||||
<el-button size="small" type="text" icon="iconfont iconAdd" @click="dialogCandidate = true" >添加候选人</el-button>
|
|
||||||
</template>
|
</template>
|
||||||
</ai-bar>
|
</ai-title>
|
||||||
<ai-table
|
<ai-wrapper>
|
||||||
|
<ai-info-item label="本届换届时间" :value="111"/>
|
||||||
|
<ai-info-item label="换届类型" :value="111"/>
|
||||||
|
<ai-info-item label="下届换届时间" :value="111"/>
|
||||||
|
<ai-info-item label="当前届次" :value="111"/>
|
||||||
|
</ai-wrapper>
|
||||||
|
<ai-title title="本届任职" class="mar-b8">
|
||||||
|
<template slot="rightBtn">
|
||||||
|
<el-button size="small" type="text" icon="iconfont iconAdd" @click="dialogJob=true">添加任职人员</el-button>
|
||||||
|
</template>
|
||||||
|
</ai-title>
|
||||||
|
<ai-table
|
||||||
class="detail-table__table"
|
class="detail-table__table"
|
||||||
:tableData="tableData"
|
:tableData="tableData"
|
||||||
:col-configs="colConfigs"
|
:col-configs="colConfigs"
|
||||||
@@ -45,38 +24,54 @@
|
|||||||
:current.sync="current"
|
:current.sync="current"
|
||||||
:size.sync="size"
|
:size.sync="size"
|
||||||
@getList="getJobList">
|
@getList="getJobList">
|
||||||
<el-table-column slot="options" label="操作" align="center">
|
<el-table-column slot="options" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
|
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
|
||||||
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
|
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</ai-table>
|
</ai-table>
|
||||||
<ai-dialog :visible.sync="dialogJob" title="添加本届任职人" width="720px" @closed="jobForm={}" @onConfirm="handleJobForm">
|
<ai-title title="本届候选人" class="mar-b8">
|
||||||
<el-form ref="jobForm" size="small" :model="jobForm" :rules="jobRules" label-width="80px">
|
<template slot="rightBtn">
|
||||||
<el-form-item label="职位" prop="job">
|
<el-button size="small" type="text" icon="iconfont iconAdd" @click="dialogCandidate = true">添加候选人</el-button>
|
||||||
<el-input v-model="jobForm.job" clearable placeholder="请输入"/>
|
</template>
|
||||||
</el-form-item>
|
</ai-title>
|
||||||
<el-form-item label="姓名" prop="name">
|
<ai-table
|
||||||
<el-input v-model="jobForm.name" clearable placeholder="请输入"/>
|
class="detail-table__table"
|
||||||
</el-form-item>
|
:tableData="tableData"
|
||||||
</el-form>
|
:col-configs="colConfigs"
|
||||||
</ai-dialog>
|
:total="totalJob"
|
||||||
|
:current.sync="current"
|
||||||
<ai-dialog :visible.sync="dialogCandidate" title="添加本届候选人" width="720px" @closed="CandFrom={}" @onConfirm="handleCandForm">
|
:size.sync="size"
|
||||||
<el-form ref="CandFrom" size="small" :model="CandFrom" :rules="candRules" label-width="80px">
|
@getList="getJobList">
|
||||||
<el-form-item label="职位" prop="job">
|
<el-table-column slot="options" label="操作" align="center">
|
||||||
<el-input v-model="CandFrom.job" clearable placeholder="请输入"/>
|
<template slot-scope="{ row }">
|
||||||
</el-form-item>
|
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
|
||||||
<el-form-item label="候选人" prop="name">
|
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
|
||||||
<el-input type="textarea" rows="5" v-model="CandFrom.name" placeholder="请输入候选人姓名,用逗号隔开"/>
|
</template>
|
||||||
</el-form-item>
|
</el-table-column>
|
||||||
</el-form>
|
</ai-table>
|
||||||
</ai-dialog>
|
<ai-dialog :visible.sync="dialogJob" title="添加本届任职人" width="720px" @closed="jobForm={}" @onConfirm="handleJobForm">
|
||||||
</template>
|
<el-form ref="jobForm" size="small" :model="jobForm" :rules="jobRules" label-width="80px">
|
||||||
|
<el-form-item label="职位" prop="job">
|
||||||
|
<el-input v-model="jobForm.job" clearable placeholder="请输入"/>
|
||||||
</ai-list>
|
</el-form-item>
|
||||||
|
<el-form-item label="姓名" prop="name">
|
||||||
|
<el-input v-model="jobForm.name" clearable placeholder="请输入"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</ai-dialog>
|
||||||
|
<ai-dialog :visible.sync="dialogCandidate" title="添加本届候选人" width="720px" @closed="CandFrom={}" @onConfirm="handleCandForm">
|
||||||
|
<el-form ref="CandFrom" size="small" :model="CandFrom" :rules="candRules" label-width="80px">
|
||||||
|
<el-form-item label="职位" prop="job">
|
||||||
|
<el-input v-model="CandFrom.job" clearable placeholder="请输入"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="候选人" prop="name">
|
||||||
|
<el-input type="textarea" rows="5" v-model="CandFrom.name" placeholder="请输入候选人姓名,用逗号隔开"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</ai-dialog>
|
||||||
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -132,26 +127,26 @@ export default {
|
|||||||
this.getList(this.selected.id)
|
this.getList(this.selected.id)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
jobEdit() {},
|
jobEdit() {
|
||||||
jobDelete() {},
|
},
|
||||||
getJobList() {},
|
jobDelete() {
|
||||||
|
},
|
||||||
|
getJobList() {
|
||||||
|
},
|
||||||
toEdit(id) {
|
toEdit(id) {
|
||||||
this.$emit('change', {
|
this.$router.push({hash: "#add", query: {id}})
|
||||||
type: 'addChange',
|
|
||||||
params: {
|
|
||||||
id: id || ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
getList(id) {
|
getList(id) {
|
||||||
this.instance.post(`/app/apporganizationgeneralelection/queryDetailByOrganizationId?organizationId=${id}`).then(res=>{
|
this.instance.post(`/app/apporganizationgeneralelection/queryDetailByOrganizationId?organizationId=${id}`).then(res => {
|
||||||
if(res?.data) {
|
if (res?.data) {
|
||||||
console.log(res,'111');
|
console.log(res, '111');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleJobForm() {},
|
handleJobForm() {
|
||||||
handleCandForm() {},
|
},
|
||||||
|
handleCandForm() {
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -161,4 +156,4 @@ export default {
|
|||||||
padding-top: 0 !important;
|
padding-top: 0 !important;
|
||||||
background-color: #FFF !important;
|
background-color: #FFF !important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
系统将在下次换届时间开始前,对“换届提醒人”进行提醒。提醒方式包括平台消息推送、短信提醒。
|
系统将在下次换届时间开始前,对“换届提醒人”进行提醒。提醒方式包括平台消息推送、短信提醒。
|
||||||
</div>
|
</div>
|
||||||
<div class="add-form">
|
<div class="add-form">
|
||||||
<el-form ref="form" :model="form" :rules="formRules" size="small" label-width="150px">
|
<el-form ref="form" :model="form" :rules="formRules" size="small" label-width="150px">
|
||||||
<el-form-item label="单位名称">
|
<el-form-item label="单位名称">
|
||||||
<div>{{ user.info.organizationName }}</div>
|
<div>{{ user.info.organizationName }}</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -71,11 +71,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="换届提醒人" prop="userList">
|
<el-form-item label="换届提醒人" prop="userList">
|
||||||
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
|
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
|
||||||
:url="`/app/appparty/list?partyOrgId=${form.organizationId}`" headerTitle="党员列表"
|
:url="`/app/appparty/list?partyOrgId=${form.organizationId}`" headerTitle="党员列表"
|
||||||
:isMultiple="true" dialogTitle="选择抄送人" @selectPerson="selectUser" class="aipersonselect">
|
:isMultiple="true" dialogTitle="选择抄送人" @selectPerson="selectUser" class="aipersonselect">
|
||||||
<template name="option" v-slot:option="{ item }">
|
<template name="option" v-slot:option="{ item }">
|
||||||
<span class="iconfont iconProlife">{{ item.name }}</span>
|
<span class="iconfont iconProlife">{{ item.name }}</span>
|
||||||
</template>
|
</template>
|
||||||
@@ -91,18 +91,18 @@
|
|||||||
<el-button class="footer-btn" type="primary" @click="confirm()">保存</el-button>
|
<el-button class="footer-btn" type="primary" @click="confirm()">保存</el-button>
|
||||||
</template>
|
</template>
|
||||||
</ai-detail>
|
</ai-detail>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "organizationSetting",
|
name: "organizationSetting",
|
||||||
props: {
|
props: {
|
||||||
instance: Function,
|
instance: Function,
|
||||||
dict: Object,
|
dict: Object,
|
||||||
params: Object,
|
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
@@ -124,7 +124,7 @@ export default {
|
|||||||
formRules: {
|
formRules: {
|
||||||
type: [{required: true, message: "请选择选举方式", trigger: "blur"}],
|
type: [{required: true, message: "请选择选举方式", trigger: "blur"}],
|
||||||
organizationName: [{required: true, message: "请选择党组织", trigger: "blur"}],
|
organizationName: [{required: true, message: "请选择党组织", trigger: "blur"}],
|
||||||
userList: [{required: true,validator: validUser, trigger: "blur"}],
|
userList: [{required: true, validator: validUser, trigger: "blur"}],
|
||||||
},
|
},
|
||||||
chooseUserList: [],
|
chooseUserList: [],
|
||||||
createTime: '',
|
createTime: '',
|
||||||
@@ -138,24 +138,21 @@ export default {
|
|||||||
this.getOrganization()
|
this.getOrganization()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
cancel (isRefresh) {
|
cancel() {
|
||||||
this.$emit('change', {
|
this.$router.back()
|
||||||
type: 'List',
|
|
||||||
isRefresh: !!isRefresh
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
// 查询组织关系
|
// 查询组织关系
|
||||||
getOrganization() {
|
getOrganization() {
|
||||||
this.instance.post(`/app/partyOrganization/queryPartyOrganizationServiceList`).then(res=>{
|
this.instance.post(`/app/partyOrganization/queryPartyOrganizationServiceList`).then(res => {
|
||||||
if(res?.data) {
|
if (res?.data) {
|
||||||
let data = res.data.filter(item=>item.id == this.user.info.organizationId)
|
let data = res.data.filter(item => item.id == this.user.info.organizationId)
|
||||||
this.createTime = data[0].createTime
|
this.createTime = data[0].createTime
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getDetail() {
|
getDetail() {
|
||||||
this.instance.post(`/app/apporganizationchangeconfig/queryDetailByOrganizationId?organizationId=${this.user.info.organizationId}`).then((res) => {
|
this.instance.post(`/app/apporganizationchangeconfig/queryDetailByOrganizationId?organizationId=${this.user.info.organizationId}`).then((res) => {
|
||||||
if(res?.data) {
|
if (res?.data) {
|
||||||
// this.chooseCandidateList = res.data.candidateUsers
|
// this.chooseCandidateList = res.data.candidateUsers
|
||||||
// this.chooseVoteList = res.data.voteUsers
|
// this.chooseVoteList = res.data.voteUsers
|
||||||
console.log(res);
|
console.log(res);
|
||||||
@@ -169,27 +166,27 @@ export default {
|
|||||||
this.form.voteUsers = e
|
this.form.voteUsers = e
|
||||||
},
|
},
|
||||||
handlePartyOrgSelect(v) {
|
handlePartyOrgSelect(v) {
|
||||||
if(v) {
|
if (v) {
|
||||||
this.form.organizationId = v[0]?.id
|
this.form.organizationId = v[0]?.id
|
||||||
this.form.organizationName = v[0]?.name
|
this.form.organizationName = v[0]?.name
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
confirm() {
|
confirm() {
|
||||||
// 换届设置
|
// 换届设置
|
||||||
this.$refs.form.validate((valid) => {
|
this.$refs.form.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.instance.post(`/app/apporganizationchangeconfig/update`,{
|
this.instance.post(`/app/apporganizationchangeconfig/update`, {
|
||||||
...this.form
|
...this.form
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if(res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$message.success('提交成功')
|
this.$message.success('提交成功')
|
||||||
this.cancel(true)
|
this.cancel(true)
|
||||||
}
|
}
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -216,4 +213,4 @@ export default {
|
|||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user