This commit is contained in:
Paidax
2025-09-23 13:50:57 +08:00
parent 88662caa57
commit c3db9628fd
15 changed files with 60 additions and 47 deletions
@@ -7,6 +7,8 @@ import lombok.EqualsAndHashCode;
import org.nutz.dao.Cnd; import org.nutz.dao.Cnd;
import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.dao.util.cri.SqlExpressionGroup;
import java.util.List;
/** /**
* @version 1.0 * @version 1.0
* @Author zzr * @Author zzr
@@ -22,11 +24,11 @@ public class MemberApplyPageForm extends PageForm {
private String unitId; private String unitId;
private String userState; private List<String> userStates;
private String personType; private List<String> personTypes;
private String preparedBy; private List<String> preparedBys;
public static void buildSearch(Cnd cnd, MemberApplyPageForm pageForm) { public static void buildSearch(Cnd cnd, MemberApplyPageForm pageForm) {
if (cnd == null) { if (cnd == null) {
@@ -40,8 +42,8 @@ public class MemberApplyPageForm extends PageForm {
} }
cnd.andEX("info.unionId","=",pageForm.getUnionId()); cnd.andEX("info.unionId","=",pageForm.getUnionId());
cnd.andEX("info.unitId","=",pageForm.getUnitId()); cnd.andEX("info.unitId","=",pageForm.getUnitId());
cnd.andEX("info.userState","=",pageForm.getUserState()); cnd.andEX("info.userState","in",pageForm.getUserStates());
cnd.andEX("info.personType","=",pageForm.getPersonType()); cnd.andEX("info.personType","in",pageForm.getPersonTypes());
cnd.andEX("info.preparedBy","=",pageForm.getPreparedBy()); cnd.andEX("info.preparedBy","in",pageForm.getPreparedBys());
} }
} }
@@ -8,6 +8,8 @@ import lombok.EqualsAndHashCode;
import org.nutz.dao.Cnd; import org.nutz.dao.Cnd;
import org.nutz.dao.util.cri.SqlExpressionGroup; import org.nutz.dao.util.cri.SqlExpressionGroup;
import java.util.List;
/** /**
* @version 1.0 * @version 1.0
* @Author zzr * @Author zzr
@@ -29,15 +31,15 @@ public class MemberChangePageForm extends PageForm {
// 在职状态 // 在职状态
@ApiModelProperty("在职状态") @ApiModelProperty("在职状态")
private String userState; private List<String> userStates;
// 在职状态 // 在职状态
@ApiModelProperty("编制类型") @ApiModelProperty("编制类型")
private String preparedBy; private List<String> preparedBys;
// 人员类型 // 人员类型
@ApiModelProperty("人员类型") @ApiModelProperty("人员类型")
private String personType; private List<String> personTypes;
public void buildSearch(Cnd cnd, String prefix){ public void buildSearch(Cnd cnd, String prefix){
@@ -54,8 +56,8 @@ public class MemberChangePageForm extends PageForm {
cnd.andEX(prefix + "unionId", "=", this.getUnionId()); cnd.andEX(prefix + "unionId", "=", this.getUnionId());
cnd.andEX(prefix + "unitId", "=", this.getUnitId()); cnd.andEX(prefix + "unitId", "=", this.getUnitId());
cnd.andEX(prefix + "userState", "=", this.getUserState()); cnd.andEX(prefix + "userState", "in", this.getUserStates());
cnd.andEX(prefix + "preparedBy", "=", this.getPreparedBy()); cnd.andEX(prefix + "preparedBy", "in", this.getPreparedBys());
cnd.andEX(prefix + "personType", "=", this.getPersonType()); cnd.andEX(prefix + "personType", "in", this.getPersonTypes());
} }
} }
@@ -24,7 +24,7 @@
<script> <script>
module.exports = { module.exports = {
props: { props: {
value: { type: String }, value: { type: [String, Array] },
code: { code: {
type: [String, Array], type: [String, Array],
default: "" default: ""
@@ -24,13 +24,16 @@ const COMMON_QUERY = {
</el-select> </el-select>
</search-item> </search-item>
<search-item label="在职状态"> <search-item label="在职状态">
<dict-select v-model="pageForm.userState" placeholder="在职状态" @change="doSearch" code="USER_STATE"></dict-select> <dict-select v-model="pageForm.userStates" placeholder="在职状态" @change="doSearch"
code="USER_STATE" multiple collapse-tags></dict-select>
</search-item> </search-item>
<search-item label="聘用方式"> <search-item label="人事编制">
<dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch" code="PREPARED_BY"></dict-select> <dict-select v-model="pageForm.preparedBys" placeholder="人事编制" @change="doSearch"
code="USER_PREPARED_BY_TYPE" multiple collapse-tags></dict-select>
</search-item> </search-item>
<search-item label="人员类型"> <search-item label="人员类型">
<dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch" code="USER_PERSON_TYPE"></dict-select> <dict-select v-model="pageForm.personTypes" placeholder="人员类型" @change="doSearch"
code="USER_PERSON_TYPE" multiple collapse-tags></dict-select>
</search-item> </search-item>
</template> </template>
</search> </search>
@@ -45,14 +48,19 @@ const COMMON_QUERY = {
searchKeyword: '', searchKeyword: '',
unionId: '', unionId: '',
unitId: '', unitId: '',
userState: '', userStates: [],
personType: '' personTypes: [],
preparedBys: [],
} }
} }
}, },
methods: { methods: {
doSearch(){ doSearch(){
this.$emit('search', this.pageForm) const pageForm = clone(this.pageForm)
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
this.$emit('search', pageForm)
}, },
async initData(){ async initData(){
if (this.$auth.hasRoleOr(["SYSADMIN", "SCHOOL_UNION_ADMIN"])) { if (this.$auth.hasRoleOr(["SYSADMIN", "SCHOOL_UNION_ADMIN"])) {
@@ -19,8 +19,8 @@ layout("/layouts/platform.html"){
<el-descriptions-item label="性别"> <el-descriptions-item label="性别">
<el-form-item prop="sex"> <el-form-item prop="sex">
<el-radio-group v-model="formData.sex" size="small"> <el-radio-group v-model="formData.sex" size="small">
<el-radio border label="男"></el-radio> <el-radio border label="男"></el-radio>
<el-radio border label="女"></el-radio> <el-radio border label="女"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
@@ -43,7 +43,7 @@ layout("/layouts/platform.html"){
<dict-select v-model="pageForm.userState" placeholder="在职状态" @change="doSearch" code="USER_STATE"></dict-select> <dict-select v-model="pageForm.userState" placeholder="在职状态" @change="doSearch" code="USER_STATE"></dict-select>
</search-item> </search-item>
<search-item label="聘用方式"> <search-item label="聘用方式">
<dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch" code="PREPARED_BY"></dict-select> <dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch" code="USER_PREPARED_BY_TYPE"></dict-select>
</search-item> </search-item>
<search-item label="人员类型"> <search-item label="人员类型">
<dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch" code="USER_PERSON_TYPE"></dict-select> <dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch" code="USER_PERSON_TYPE"></dict-select>
@@ -19,20 +19,16 @@ const COMMON_QUERY = {
</el-select> </el-select>
</search-item> </search-item>
<search-item label="在职状态"> <search-item label="在职状态">
<dict-select v-model="pageForm.userState" placeholder="在职状态" @change="doSearch" <dict-select v-model="pageForm.userStates" placeholder="在职状态" @change="doSearch"
code="USER_STATE"></dict-select> code="USER_STATE" multiple collapse-tags></dict-select>
</search-item> </search-item>
<search-item label="人事编制"> <search-item label="人事编制">
<dict-select v-model="pageForm.preparedBy" placeholder="人事编制" @change="doSearch" <dict-select v-model="pageForm.preparedBys" placeholder="人事编制" @change="doSearch"
code="PREPARED_BY"></dict-select> code="USER_PREPARED_BY_TYPE" multiple collapse-tags></dict-select>
</search-item> </search-item>
<search-item label="人员类型"> <search-item label="人员类型">
<dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch" <dict-select v-model="pageForm.personTypes" placeholder="人员类型" @change="doSearch"
code="USER_PERSON_TYPE"></dict-select> code="USER_PERSON_TYPE" multiple collapse-tags></dict-select>
</search-item>
<search-item label="变更类型">
<dict-select v-model="pageForm.changeType" placeholder="人员类型" @change="doSearch"
code="MEMBER_CHANGE_TYPE"></dict-select>
</search-item> </search-item>
</search> </search>
`, `,
@@ -45,14 +41,19 @@ const COMMON_QUERY = {
searchKeyword: '', searchKeyword: '',
unionId: '', unionId: '',
unitId: '', unitId: '',
userState: '', userStates: [],
personType: '' personTypes: [],
preparedBys: [],
} }
} }
}, },
methods: { methods: {
doSearch(){ doSearch(){
this.$emit('search', this.pageForm) const pageForm = clone(this.pageForm)
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
this.$emit('search', pageForm)
}, },
async initData(){ async initData(){
if (this.$auth.hasRoleOr("SYSADMIN, SCHOOL_UNION_ADMIN, SCHOOL_UNION_MEMBER_ADMIN")) { if (this.$auth.hasRoleOr("SYSADMIN, SCHOOL_UNION_ADMIN, SCHOOL_UNION_MEMBER_ADMIN")) {
@@ -18,8 +18,8 @@ const MEMBER_CHANGE = {
<el-descriptions-item label="性别"> <el-descriptions-item label="性别">
<el-form-item prop="sex"> <el-form-item prop="sex">
<el-radio-group :disabled="allowFields('sex')" v-model="formData.sex" size="small"> <el-radio-group :disabled="allowFields('sex')" v-model="formData.sex" size="small">
<el-radio border label="男">男</el-radio> <el-radio border label="男">男</el-radio>
<el-radio border label="女">女</el-radio> <el-radio border label="女">女</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
@@ -14,8 +14,8 @@
<el-descriptions-item label="性别"> <el-descriptions-item label="性别">
<el-form-item prop="sex"> <el-form-item prop="sex">
<el-radio-group :disabled="allowFields('sex')" v-model="formData.sex" size="small"> <el-radio-group :disabled="allowFields('sex')" v-model="formData.sex" size="small">
<el-radio border label="男"></el-radio> <el-radio border label="男"></el-radio>
<el-radio border label="女"></el-radio> <el-radio border label="女"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
@@ -19,8 +19,8 @@ layout("/layouts/platform.html"){
<el-descriptions-item label="性别"> <el-descriptions-item label="性别">
<el-form-item prop="sex"> <el-form-item prop="sex">
<el-radio-group :disabled="allowFields('sex')" v-model="formData.sex" size="small"> <el-radio-group :disabled="allowFields('sex')" v-model="formData.sex" size="small">
<el-radio border label="男"></el-radio> <el-radio border label="男"></el-radio>
<el-radio border label="女"></el-radio> <el-radio border label="女"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-descriptions-item> </el-descriptions-item>
@@ -21,7 +21,7 @@ const SCHOOL_VIEW_AND_HANDLE = {
</search-item> </search-item>
<search-item label="聘用方式"> <search-item label="聘用方式">
<dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch" <dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch"
code="PREPARED_BY"></dict-select> code="USER_PREPARED_BY_TYPE"></dict-select>
</search-item> </search-item>
<search-item label="人员类型"> <search-item label="人员类型">
<dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch" <dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch"
@@ -19,7 +19,7 @@ const VIEW_CHANGE_TYPE_USER = {
</search-item> </search-item>
<search-item label="聘用方式"> <search-item label="聘用方式">
<dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch" <dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch"
code="PREPARED_BY"></dict-select> code="USER_PREPARED_BY_TYPE"></dict-select>
</search-item> </search-item>
<search-item label="人员类型"> <search-item label="人员类型">
<dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch" <dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch"
@@ -34,7 +34,7 @@ const VERIFICATION_SET_USER_LIST = {
</search-item> </search-item>
<search-item label="聘用方式"> <search-item label="聘用方式">
<dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch" <dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch"
code="PREPARED_BY"></dict-select> code="USER_PREPARED_BY_TYPE"></dict-select>
</search-item> </search-item>
<search-item label="变更类型"> <search-item label="变更类型">
<dict-select v-model="pageForm.changeType" placeholder="变更类型" @change="doSearch" <dict-select v-model="pageForm.changeType" placeholder="变更类型" @change="doSearch"
@@ -28,7 +28,7 @@ const VERIFICATION_SHOW_SELECTION_USERS = {
</search-item> </search-item>
<search-item label="聘用方式"> <search-item label="聘用方式">
<dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch" <dict-select v-model="pageForm.preparedBy" placeholder="聘用方式" @change="doSearch"
code="PREPARED_BY"></dict-select> code="USER_PREPARED_BY_TYPE"></dict-select>
</search-item> </search-item>
<search-item label="人员类型"> <search-item label="人员类型">
<dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch" <dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch"
@@ -29,7 +29,7 @@ layout("/layouts/platform.html"){
</search-item> </search-item>
<search-item label="人事编制"> <search-item label="人事编制">
<dict-select v-model="pageForm.preparedBy" placeholder="人事编制" @change="doSearch" <dict-select v-model="pageForm.preparedBy" placeholder="人事编制" @change="doSearch"
code="PREPARED_BY"></dict-select> code="USER_PREPARED_BY_TYPE"></dict-select>
</search-item> </search-item>
<search-item label="人员类型"> <search-item label="人员类型">
<dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch" <dict-select v-model="pageForm.personType" placeholder="人员类型" @change="doSearch"