This commit is contained in:
shijingjing
2022-10-17 11:09:47 +08:00
parent 99f086a75a
commit 2894dac5d8
4 changed files with 157 additions and 63 deletions

View File

@@ -8,42 +8,42 @@
<div class="add-form">
<el-form ref="form" :model="form" :rules="formRules" size="small" label-width="150px">
<el-form-item label="标题" prop="licenseName">
<el-input v-model="form.licenseName" placeholder="请输入" show-word-limit maxlength="100"></el-input>
<el-form-item label="标题" prop="title">
<el-input v-model="form.title" placeholder="请输入" show-word-limit maxlength="100"></el-input>
</el-form-item>
<el-form-item label="投票说明" prop="licenseName">
<el-input type="textarea" :rows="5" v-model="form.licenseName" placeholder="请输入" show-word-limit maxlength="500"></el-input>
<el-form-item label="投票说明">
<el-input type="textarea" :rows="5" v-model="form.votingInstructions" placeholder="请输入" show-word-limit maxlength="500"></el-input>
</el-form-item>
<el-form-item label="单位名称" prop="licenseOrganization">
<el-input size="small" disabled placeholder="请选择所属党组织" v-model="form.partyOrgName">
<el-form-item label="单位名称" prop="organizationName">
<el-input size="small" disabled placeholder="请选择所属党组织" v-model="form.organizationName">
<template slot="append">
<ai-party :instance="instance" size="small" :value="form.partyOrgId" @origin="handlePartyOrgSelect"/>
</template>
</el-input>
</el-form-item>
<el-form-item label="选举方式" prop="licenseOrganization">
<el-radio v-model="form.radio" label="1">等额</el-radio>
<el-radio v-model="form.radio" label="2">差额</el-radio>
<el-form-item label="选举方式" prop="electionMethod">
<el-radio v-model="form.electionMethod" label="1">等额</el-radio>
<el-radio v-model="form.electionMethod" label="2">差额</el-radio>
</el-form-item>
<el-row type="flex">
<el-col :span="20">
<el-form-item label="应选人数" prop="licenseCode">
<el-input type="number" v-model="form.licenseCode" placeholder="请输入"></el-input>
<el-form-item label="应选人数" prop="candidatesNumber">
<el-input type="number" v-model="form.candidatesNumber" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item label="投票日期" prop="decisionDate">
<el-date-picker v-model="form.decisionDate" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:338px">
<el-form-item label="投票日期" prop="votingDate">
<el-date-picker v-model="form.votingDate" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:338px">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="候选人" prop="licenseOrganization">
<el-form-item label="候选人" prop="candidateUsers">
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
url="/app/appgirdmemberinfo/list" headerTitle="党员列表"
:isMultiple="true" dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect">
@@ -55,10 +55,10 @@
</ai-person-select>
</el-form-item>
<el-form-item label="投票人" prop="licenseOrganization">
<el-form-item label="投票人" prop="voteUsers">
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
url="/app/appgirdmemberinfo/list" headerTitle="党员列表"
dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect">
:isMultiple="true" dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect">
<template name="option" v-slot:option="{ item }">
<span class="iconfont iconProlife">{{ item.name }}</span>
<ai-id mode="show" :show-eyes="false" :value="item.idNumber"/>
@@ -109,13 +109,43 @@ export default {
props: {
instance: Function,
dict: Object,
permissions: Function
},
data() {
var checkAge = (rule, value, callback) => {
if (!value) {
return callback(new Error('年龄不能为空'));
}
setTimeout(() => {
if (!Number.isInteger(value)) {
callback(new Error('请输入数字值'));
} else {
if (value < 18) {
callback(new Error('必须年满18岁'));
} else {
callback();
}
}
}, 1000);
};
return {
form: {
title: '',
},
chooseUserList: []
}
},
computed: {
formRules() {
return {
title: [{required: true, message: "请输入标题", trigger: "blur"}],
organizationName: [{required: true, message: "请选择党组织", trigger: "blur"}],
electionMethod: [{required: true, message: "请选择选举方式", trigger: "blur"}],
candidatesNumber: [{required: true, message: "请输入应选人数", trigger: "blur"}],
votingDate: [{required: true, message: "请选择投票日期", trigger: "blur"}],
candidateUsers: [{required: true, message: "请选择候选人", trigger: "blur"}],
voteUsers: [{required: true, message: "请选择投票人", trigger: "blur"}],
}
}
},
methods: {
@@ -124,7 +154,12 @@ export default {
type: 'electionList',
isRefresh: !!isRefresh
})
}
},
selectPerson() {},
handlePartyOrgSelect() {},
confirm() {
},
},
}
</script>

View File

@@ -75,7 +75,9 @@ export default {
}
}).then(res=> {
if(res?.data) {
console.log(res);
// console.log(res);
this.tableData = res.data.records
this.total.total = res.data.total
}
})
},

View File

@@ -1,51 +1,70 @@
<template>
<ai-list class="addChange">
<template #title>
<ai-title title="基本信息" isShowBottomBorder isShowBack @onBackClick="back" />
<ai-title title="基本信息" isShowBottomBorder isShowBack @onBackClick="cancel(false)" />
</template>
<template #content>
<el-form ref="form" :model="form" label-width="100px" label-position="right">
<ai-bar title="基本信息"></ai-bar>
<el-row type="flex">
<el-col :span="12">
<el-form-item label="换届时间" prop="data" :rules="[{ required: true, message: '请选择换届时间', trigger: 'blur' }]">
<el-input size="small" :maxlength="30" placeholder="请输入大屏项目名称" v-model="form.name"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="届次" prop="noun" :rules="[{ required: true, message: '请输入届次', trigger: 'blur' }]">
<el-input size="small" :maxlength="30" placeholder="请输入届次" v-model="form.name"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #content>
<div class="Form" style="padding: 0 200px;">
<el-form ref="form" :model="form" label-width="100px" label-position="right">
<ai-bar title="基本信息"></ai-bar>
<el-row type="flex">
<el-col :span="12">
<el-form-item label="换届时间" prop="data" :rules="[{ required: true, message: '请选择换届时间', trigger: 'blur' }]">
<el-input size="small" :maxlength="30" placeholder="请输入大屏项目名称" v-model="form.name"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="届次" prop="noun" :rules="[{ required: true, message: '请输入届次', trigger: 'blur' }]">
<el-input size="small" :maxlength="30" placeholder="请输入届次" v-model="form.name"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<ai-bar title="本届任职(必填)">
<template slot="right">
<el-button size="small" type="text" icon="iconfont iconAdd" @click="toEdit('')" >添加任职人员</el-button>
<ai-bar title="本届任职(必填)">
<template slot="right">
<el-button size="small" type="text" icon="iconfont iconAdd" @click="toEdit('')" >添加任职人员</el-button>
</template>
</ai-bar>
<ai-table
class="detail-table__table"
:tableData="tableDataJob"
:col-configs="colConfigsJob"
:total="job.total"
:current.sync="job.current"
:size.sync="job.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="toEdit('')" >添加候选人</el-button>
</template>
</ai-bar>
<ai-table
class="detail-table__table"
:tableData="tableDataPerson"
:col-configs="colConfigsPerson"
:total="person.total"
:current.sync="person.current"
:size.sync="person.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>
</div>
</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="toEdit('')" >添加候选人</el-button>
</template>
</ai-bar>
</template>
</ai-list>
</template>
@@ -61,11 +80,50 @@ export default {
return {
form: {
},
tableDataJob: [],
tableDataPerson: [],
totalJob: '',
job: {
total: 0,
current: 1,
size: 10,
},
person: {
total: 0,
current: 1,
size: 10,
}
}
},
computed: {
colConfigsJob() {
return [
{prop: 'content', label: '职位'},
{prop: 'content', label: '姓名'},
{slot: 'options'},
]
},
colConfigsPerson() {
return [
{prop: 'content', label: '职位'},
{prop: 'content', label: '候选人'},
{slot: 'options'},
]
},
formRules() {
return {
// corpId: [{required: true, message: "请输入CorpId"}],
}
}
},
methods: {
back() {},
cancel (isRefresh) {
this.$emit('change', {
type: 'List',
isRefresh: !!isRefresh
})
}
}
}
</script>

View File

@@ -139,7 +139,6 @@ export default {
id: id || ''
}
})
// this.$route.push('#addChange')
},
handleJobForm() {},
handleCandForm() {},