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"> <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="标题" prop="licenseName"> <el-form-item label="标题" prop="title">
<el-input v-model="form.licenseName" placeholder="请输入" show-word-limit maxlength="100"></el-input> <el-input v-model="form.title" placeholder="请输入" show-word-limit maxlength="100"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="投票说明" prop="licenseName"> <el-form-item label="投票说明">
<el-input type="textarea" :rows="5" v-model="form.licenseName" placeholder="请输入" show-word-limit maxlength="500"></el-input> <el-input type="textarea" :rows="5" v-model="form.votingInstructions" placeholder="请输入" show-word-limit maxlength="500"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="单位名称" prop="licenseOrganization"> <el-form-item label="单位名称" prop="organizationName">
<el-input size="small" disabled placeholder="请选择所属党组织" v-model="form.partyOrgName"> <el-input size="small" disabled placeholder="请选择所属党组织" v-model="form.organizationName">
<template slot="append"> <template slot="append">
<ai-party :instance="instance" size="small" :value="form.partyOrgId" @origin="handlePartyOrgSelect"/> <ai-party :instance="instance" size="small" :value="form.partyOrgId" @origin="handlePartyOrgSelect"/>
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="选举方式" prop="licenseOrganization"> <el-form-item label="选举方式" prop="electionMethod">
<el-radio v-model="form.radio" label="1">等额</el-radio> <el-radio v-model="form.electionMethod" label="1">等额</el-radio>
<el-radio v-model="form.radio" label="2">差额</el-radio> <el-radio v-model="form.electionMethod" label="2">差额</el-radio>
</el-form-item> </el-form-item>
<el-row type="flex"> <el-row type="flex">
<el-col :span="20"> <el-col :span="20">
<el-form-item label="应选人数" prop="licenseCode"> <el-form-item label="应选人数" prop="candidatesNumber">
<el-input type="number" v-model="form.licenseCode" placeholder="请输入"></el-input> <el-input type="number" v-model="form.candidatesNumber" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="20"> <el-col :span="20">
<el-form-item label="投票日期" prop="decisionDate"> <el-form-item label="投票日期" prop="votingDate">
<el-date-picker v-model="form.decisionDate" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:338px"> <el-date-picker v-model="form.votingDate" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:338px">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-form-item label="候选人" prop="licenseOrganization"> <el-form-item label="候选人" prop="candidateUsers">
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList" <ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
url="/app/appgirdmemberinfo/list" headerTitle="党员列表" url="/app/appgirdmemberinfo/list" headerTitle="党员列表"
:isMultiple="true" dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect"> :isMultiple="true" dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect">
@@ -55,10 +55,10 @@
</ai-person-select> </ai-person-select>
</el-form-item> </el-form-item>
<el-form-item label="投票人" prop="licenseOrganization"> <el-form-item label="投票人" prop="voteUsers">
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList" <ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
url="/app/appgirdmemberinfo/list" headerTitle="党员列表" url="/app/appgirdmemberinfo/list" headerTitle="党员列表"
dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect"> :isMultiple="true" dialogTitle="选择" @selectPerson="selectPerson" 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>
<ai-id mode="show" :show-eyes="false" :value="item.idNumber"/> <ai-id mode="show" :show-eyes="false" :value="item.idNumber"/>
@@ -109,13 +109,43 @@ export default {
props: { props: {
instance: Function, instance: Function,
dict: Object, dict: Object,
permissions: Function
}, },
data() { 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 { return {
form: { 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: { methods: {
@@ -124,7 +154,12 @@ export default {
type: 'electionList', type: 'electionList',
isRefresh: !!isRefresh isRefresh: !!isRefresh
}) })
} },
selectPerson() {},
handlePartyOrgSelect() {},
confirm() {
},
}, },
} }
</script> </script>

View File

@@ -75,7 +75,9 @@ export default {
} }
}).then(res=> { }).then(res=> {
if(res?.data) { 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> <template>
<ai-list class="addChange"> <ai-list class="addChange">
<template #title> <template #title>
<ai-title title="基本信息" isShowBottomBorder isShowBack @onBackClick="back" /> <ai-title title="基本信息" isShowBottomBorder isShowBack @onBackClick="cancel(false)" />
</template> </template>
<template #content> <template #content>
<el-form ref="form" :model="form" label-width="100px" label-position="right"> <div class="Form" style="padding: 0 200px;">
<ai-bar title="基本信息"></ai-bar> <el-form ref="form" :model="form" label-width="100px" label-position="right">
<el-row type="flex"> <ai-bar title="基本信息"></ai-bar>
<el-col :span="12"> <el-row type="flex">
<el-form-item label="换届时间" prop="data" :rules="[{ required: true, message: '请选择换届时间', trigger: 'blur' }]"> <el-col :span="12">
<el-input size="small" :maxlength="30" placeholder="请输入大屏项目名称" v-model="form.name"></el-input> <el-form-item label="换届时间" prop="data" :rules="[{ required: true, message: '请选择换届时间', trigger: 'blur' }]">
</el-form-item> <el-input size="small" :maxlength="30" placeholder="请输入大屏项目名称" v-model="form.name"></el-input>
</el-col> </el-form-item>
<el-col :span="12"> </el-col>
<el-form-item label="届次" prop="noun" :rules="[{ required: true, message: '请输入届次', trigger: 'blur' }]"> <el-col :span="12">
<el-input size="small" :maxlength="30" placeholder="请输入届次" v-model="form.name"></el-input> <el-form-item label="届次" prop="noun" :rules="[{ required: true, message: '请输入届次', trigger: 'blur' }]">
</el-form-item> <el-input size="small" :maxlength="30" placeholder="请输入届次" v-model="form.name"></el-input>
</el-col> </el-form-item>
</el-row> </el-col>
</el-form> </el-row>
</el-form>
<ai-bar title="本届任职(必填)"> <ai-bar title="本届任职(必填)">
<template slot="right"> <template slot="right">
<el-button size="small" type="text" icon="iconfont iconAdd" @click="toEdit('')" >添加任职人员</el-button> <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> </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> </ai-list>
</template> </template>
@@ -61,11 +80,50 @@ export default {
return { return {
form: { 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: { methods: {
back() {}, cancel (isRefresh) {
this.$emit('change', {
type: 'List',
isRefresh: !!isRefresh
})
}
} }
} }
</script> </script>

View File

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