This commit is contained in:
Paidax
2024-12-04 08:51:01 +08:00
parent 2ffadd89a7
commit 02150326e0
63 changed files with 2362 additions and 2243 deletions
@@ -37,17 +37,14 @@
</el-form-item>
<el-form-item prop="type" label="变更类型">
<el-select v-model="formData.type" style="width: 100%" filterable clearable
placeholder="变更类型">
<el-option
v-for="item in memberChangeTypeOptions"
:label="item.name"
:value="item.code">
</el-option>
<!-- <dict-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型"-->
<!-- code="MemberChangeType" @change="typeChange"></dict-select>-->
<el-select v-model="formData.type" style="width: 100%" clearable placeholder="变更类型" @change="typeChange">
<el-option v-for="item in userChangeTypeList" :label="item.name" :value="item.code" :key="item.id"></el-option>
</el-select>
</el-form-item>
<!--单位异动-->
<!--异动-->
<div v-if="formData.type==='1'">
<el-form-item prop="type" label="新&ensp;单&ensp;位">
<el-select v-model="formData.currentUnitId" style="width: 100%" filterable clearable
@@ -87,30 +84,102 @@
</el-form-item>
</el-col>
</el-row>
</div>
<!--离校 离退休-->
<div v-if="formData.type && !['1','7','8','12','13'].includes(formData.type)">
<div>
<el-form-item prop="updateMember" label="工会会员资格">
<el-switch
v-model="formData.updateMember"
active-text="移除"
inactive-text="添加">
</el-switch>
</el-form-item>
</div>
<el-form-item prop="updateWelfare" label="福利会员资格">
<el-switch
v-model="formData.updateWelfare"
active-text="移除"
inactive-text="添加">
</el-switch>
<div v-else-if="welfare_member&&['2'].includes(formData.type)">
<el-form-item prop="updateWelfareMember" label="福利会员">
<el-radio-group v-model="formData.updateWelfareMember" size="small">
<el-radio :label="true" border>享受福利</el-radio>
<el-radio :label="false" border>不享受福利</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="insertMember" label="工会会员">
<el-radio-group v-model="formData.updateMember" size="small">
<el-radio :label="true" border>成为会员</el-radio>
<el-radio :label="false" border>不成为会员</el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-else-if="welfare_member&&['7'].includes(formData.type)">
<el-form-item prop="updateWelfareMember" label="福利会员">
<el-radio-group v-model="formData.updateWelfareMember" size="small">
<el-radio :label="true" border>享受福利</el-radio>
<el-radio :label="false" border>不享受福利</el-radio>
</el-radio-group>
</el-form-item>
</div>
<div v-else-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
<el-form-item prop="updateWelfare" label="福利会员">
<el-radio-group v-model="formData.updateWelfareMember" size="small">
<el-radio :label="true" border>保留享受福利</el-radio>
<el-radio :label="false" border>取消享受福利</el-radio>
</el-radio-group>
<!-- <span style="color: red">&emsp;&emsp;&emsp;温馨提醒此操作将取消该教工正式会员资格</span>-->
</el-form-item>
<el-form-item prop="updateMember" label="工会会员">
<el-radio-group v-model="formData.updateMember" size="small">
<el-radio :label="false" border>取消会员资格</el-radio>
<el-radio :label="true" border>保留会员资格</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item prop="updateUserState" label="是否改变在职状态" style="width: 100%"
v-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
<dict-select v-model="formData.changeUserState" style="width: 100%" clearable placeholder="变更类型"
code="userState"></dict-select>
</el-form-item>
<el-form-item prop="updateUserState" label="是否改变人员类型" style="width: 100%"
v-if="welfare_member&&['3','4','5','6','8'].includes(formData.type)">
<dict-select v-model="formData.changePersonType" style="width: 100%" clearable
placeholder="人员类型"
code="UserType"></dict-select>
</el-form-item>
</div>
<div v-else-if="formData.type==='10'">
<el-form-item prop="oldIdCard" label="原身份证号" style="width: 100%">
<el-input v-model="formData.oldIdCard" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="idCard" label="新的身份证号" style="width: 100%">
<el-input v-model="formData.changeIdCard" placeholder="请输入新的身份证号" type="text"></el-input>
</el-form-item>
</div>
<div v-else-if="formData.type==='11'">
<el-form-item prop="oldMobile" label="原手机号码" style="width: 100%">
<el-input v-model="formData.oldMobile" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="mobile" label="新的手机号码" style="width: 100%">
<el-input v-model="formData.changeMobile" placeholder="请输入新的手机号码" type="text"></el-input>
</el-form-item>
</div>
<div v-else-if="formData.type==='12'">
<el-form-item prop="oldEducation" label="原学历" style="width: 100%">
<el-input v-model="formData.oldEducation" readonly type="text"></el-input>
</el-form-item>
<el-form-item prop="education" label="新的学历" style="width: 100%">
<dict-select v-model="formData.changeEducation" style="width: 100%" clearable placeholder="请选择新的学历"
code="Education"></dict-select>
</el-form-item>
</div>
<!-- <div v-else-if="welfare_member&&['2','7'].includes(formData.type)">
<el-form-item prop="updateWelfareMember" label="是否享受福利">
<el-switch
v-model="formData.updateWelfareMember"
active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
<span style="color: red">&emsp;&emsp;&emsp;温馨提醒此操作将该教工设为正式会员</span>
</el-form-item>
</div>-->
<el-form-item prop="remark" label="变化原因">
<el-input v-model="formData.remark" placeholder="变化原因" type="textarea" :rows="4"></el-input>
</el-form-item>
@@ -127,11 +196,12 @@
<script>
module.exports = {
components: {},
components: {
'dict-select': httpVueLoader('/components/plugins/DictSelect.vue?v=1.0.0'),
},
props: {
userid: {type: String},
welfare_member: {type: Boolean, default: false},
welfare_check_filter_mode: {type: Number, default: 1},
welfare_member: {type: Boolean, default: true},
},
data() {
return {
@@ -142,19 +212,22 @@ module.exports = {
formData: {},
formRules: {
type: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateWelfareMember: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateMember: [{required: true, message: '必选', trigger: ['blur', 'change']}],
updateWelfare: [{required: true, message: '必选', trigger: ['blur', 'change']}],
currentUnitId: [{required: true, message: '必选', trigger: ['blur', 'change']}],
currentThreeUnitId: [{required: true, message: '请选择新三级单位', trigger: 'change'}],
remark: [{required: true, message: '请填写变化原因', trigger: 'change'}]
idCard: [{required: true, message: '必填', trigger: ['blur', 'change']}],
mobile: [{required: true, message: '必填', trigger: ['blur', 'change']}],
education: [{required: true, message: '必填', trigger: ['blur', 'change']}],
insertMember: [{required: true, message: '必填', trigger: ['blur', 'change']}],
},
unitOptions: [],
threeUnits: [],
isThreeUnit: false,
memberChangeTypeOptions: [],
userChangeTypeList:[],
}
},
watch: {
@@ -164,15 +237,14 @@ module.exports = {
},
methods: {
typeChange() {
this.$set(this.formData, "updateWelfare", ['3', '5'].includes(this.formData.type))
this.$set(this.formData, "updateMember", ['3', '5'].includes(this.formData.type))
this.$set(this.formData, "updateWelfareMember", ['2','7'].includes(this.formData.type))
this.$set(this.formData, "updateWelfareMember", ['2', '3', '4', '5', '6', '8'].includes(this.formData.type))
this.$set(this.formData, "updateMember", ['2', '3', '4', '5', '6', '8'].includes(this.formData.type))
this.$set(this.formData, "updateMember", ['2'].includes(this.formData.type))
},
async doSubmit() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (!['1', '12', '13'].includes(this.formData.type)) {
this.formData.userState = this.memberChangeTypeOptions.find(v => v.code === this.formData.type)?.name
}
this.submitLoading = true
this.$emit("submit", this.formData)
}
@@ -231,9 +303,6 @@ module.exports = {
this.disabled = true
return
}
this.getDictOptions(1)
const resp = await $.get("/platform/member/common/userInfo", {userId: this.userid})
if (resp.code === 0) {
if (this.$refs["form"])
@@ -248,9 +317,13 @@ module.exports = {
originUnitId: resp.data.unitid,
originThreeUnitId: resp.data.threeUnitId,
originUnionId: resp.data.unionid,
// userState: resp.data.userState,
userState: resp.data.userState,
personType: resp.data.personType,
auditTime: moment().format('YYYY-MM-DD'),
notes: null
notes: null,
oldIdCard:resp.data.idcard,
oldMobile:resp.data.mobile,
oldEducation:resp.data.education
}
this.disabled = false
} else {
@@ -268,23 +341,18 @@ module.exports = {
this.unitOptions = resp.data
}
},
getDictOptions() {
getDictOptions('MemberChangeType').then(res => {
if (this.welfare_check_filter_mode === 1) {
this.memberChangeTypeOptions = res.filter(v => !['12', '13'].includes(v.code))
} else {
this.memberChangeTypeOptions = res.filter(v => ['12', '13'].includes(v.code))
}
})
}
async getUserChangeType(){
const resp = await $.get('/platform/member/common/getUserChangType')
if (resp.code === 0){
this.userChangeTypeList = resp.data
}
},
},
async created() {
this.isThreeUnit = await getConfigKey('isThreeUnit') === 'true'
this.getUnits()
this.flush()
await this.getUnits()
await this.flush()
await this.getUserChangeType()
// getUnits(null).then(res => this.unitOptions = res)
}
}
@@ -34,7 +34,7 @@
<script>
module.exports = {
components: {
'user-change-history': httpVueLoader('/components/userChangeHistory/userChangeHistory.vue?v=' + new Date().getTime()),
'user-change-history': httpVueLoader('/components/userChangeHistory/UserChangeHistory.vue?v=' + new Date().getTime()),
},
props: {
records: {type: Array, default: []},
File diff suppressed because it is too large Load Diff
@@ -236,13 +236,13 @@
<ul class="nav navbar-nav navbar-right">
<li class="off-right">
<!--<li class="off-right">
<a href="/platform/sys/msg/user/unread" data-pjax>
<el-badge :value="unReadMsgNum" class="item">
<i class="el-icon-chat-dot-round" style="font-size: 20px"></i>
</el-badge>
</a>
</li>
</li>-->
<li class="off-right">
<a href="javascript:;" data-toggle="dropdown">
<span class="hidden-xs ml10" @click="clearCache">清除缓存</span>
+1 -1
View File
@@ -692,7 +692,7 @@ layout("/mobile/platform.html"){
}
},
listActivity() {
$.get("/platform/home/listHomeActivity").then((resp) => {
$.get("/platform/sys/homeActivity/listHomeActivity").then((resp) => {
if (resp.code === 0) {
this.activityList = resp.data
}
@@ -44,7 +44,7 @@ const activity = {
},
methods: {
listActivity() {
$.get("/platform/home/listHomeActivity").then((resp) => {
$.get("/platform/sys/homeActivity/listHomeActivity").then((resp) => {
if (resp.code === 0) {
this.activityOptions = resp.data
}
@@ -3,18 +3,16 @@ const todo = {
<div class="home-todo">
<el-tabs v-model="todoActive " @tab-click="handleClick">
<el-tab-pane label="待处理" name="1">
<el-table :data="todoList" v-loading="todoLoading">
<el-table-column label="序号" type="index" width="70"></el-table-column>
<el-table-column label="标题" prop="processName" show-overflow-tooltip
width="200"></el-table-column>
<el-table size="mini" :data="todoList" v-loading="todoLoading">
<el-table-column label="标题" prop="processName" show-overflow-tooltip></el-table-column>
<el-table-column label="发起人" prop="createdByUserName"
width="140"></el-table-column>
show-overflow-tooltip></el-table-column>
<el-table-column label="发起时间" prop="createdOn" v-if="todoActive==='3'"
width="150"></el-table-column>
show-overflow-tooltip></el-table-column>
<el-table-column label="我的处理环节" prop="taskNodeName"
v-if="todoActive!=='3'"></el-table-column>
<el-table-column label="流程流转环节" prop="nodeName"></el-table-column>
<el-table-column label="操作" width="100">
<el-table-column label="操作">
<template scope="{row}">
<el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>
</template>
@@ -22,18 +20,17 @@ const todo = {
</el-table>
</el-tab-pane>
<el-tab-pane label="已处理" name="2">
<el-table :data="todoList" v-loading="todoLoading">
<el-table-column label="序号" type="index" width="70"></el-table-column>
<el-table size="mini" :data="todoList" v-loading="todoLoading">
<el-table-column label="标题" prop="processName" show-overflow-tooltip
width="200"></el-table-column>
show-overflow-tooltip></el-table-column>
<el-table-column label="发起人" prop="createdByUserName"
width="140"></el-table-column>
show-overflow-tooltip></el-table-column>
<el-table-column label="发起时间" prop="createdOn" v-if="todoActive==='3'"
width="150"></el-table-column>
show-overflow-tooltip ></el-table-column>
<el-table-column label="我的处理环节" prop="taskNodeName"
v-if="todoActive!=='3'"></el-table-column>
<el-table-column label="流程流转环节" prop="nodeName"></el-table-column>
<el-table-column label="操作" width="100">
<el-table-column label="操作">
<template scope="{row}">
<el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>
</template>
@@ -41,18 +38,17 @@ const todo = {
</el-table>
</el-tab-pane>
<el-tab-pane label="我的发起" name="3">
<el-table :data="todoList" v-loading="todoLoading">
<el-table-column label="序号" type="index" width="70"></el-table-column>
<el-table size="mini" :data="todoList" v-loading="todoLoading">
<el-table-column label="标题" prop="processName" show-overflow-tooltip
width="200"></el-table-column>
show-overflow-tooltip></el-table-column>
<el-table-column label="发起人" prop="createdByUserName"
width="140"></el-table-column>
show-overflow-tooltip></el-table-column>
<el-table-column label="发起时间" prop="createdOn" v-if="todoActive==='3'"
width="150"></el-table-column>
show-overflow-tooltip></el-table-column>
<el-table-column label="我的处理环节" prop="taskNodeName"
v-if="todoActive!=='3'"></el-table-column>
<el-table-column label="流程流转环节" prop="nodeName"></el-table-column>
<el-table-column label="操作" width="100">
<el-table-column label="操作">
<template scope="{row}">
<el-button @click="sublime.jumpPagePjax(row.formUrl)" size="mini" type="primary">查看</el-button>
</template>
@@ -0,0 +1,123 @@
<!--#
layout("/layouts/platform.html"){
#-->
<div id="app" v-cloak>
<el-card shadow="never">
<search @search="doSearch">
<search-item label="名称" prop="name">
<el-input v-model="pageForm.name" clearable placeholder="请输入名称"></el-input>
</search-item>
</search>
</el-card>
<el-card shadow="never">
<el-table :data="tableData" header-align="center" border style="width: 100%">
<el-table-column label="序号" type="index" width="50px" :method="indexMethod"></el-table-column>
<el-table-column label="名称" prop="name"></el-table-column>
<el-table-column label="pc端链接" prop="url"></el-table-column>
<el-table-column label="h5端链接" prop="h5Url"></el-table-column>
<el-table-column label="封面" prop="cover" width="80px">
<template slot-scope="scope">
<el-image :src="scope.row.cover" v-if="scope.row.icon" style="width: 30px; height: 30px"></el-image>
</template>
</el-table-column>
<el-table-column label="状态" prop="enable" width="80px">
<template slot-scope="scope">
<i v-if="!scope.row.enable" class="fa fa-circle text-danger ml5"></i>
<i v-else class="fa fa-circle text-success ml5"></i>
</template>
</el-table-column>
<el-table-column label="是否置顶" prop="top" width="100px">
<template slot-scope="scope">
<el-tag size="mini" v-if="scope.row.top" type="success"></el-tag>
<el-tag size="mini" v-else type="info"></el-tag>
</template>
</el-table-column>
<el-table-column label="关联类路径" prop="classPath" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="150px">
<template slot-scope="scope">
<el-link type="danger" size="mini" @click="disable(scope.row.id)" v-if="scope.row.enable">关闭</el-link>
<el-link type="primary" size="mini" @click="enable(scope.row.id)" v-if="!scope.row.enable">开启</el-link>
<el-link type="primary" size="mini" @click="topUp(scope.row.id)" v-if="!scope.row.top">置顶</el-link>
<el-link type="danger" size="mini" @click="cancelTopUp(scope.row.id)" v-if="scope.row.top">取消置顶</el-link>
</template>
</el-table-column>
</el-table>
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
</div>
<script>
new Vue({
el: "#app",
mixins: [initTableMixins],
data() {
return {}
},
methods: {
disable(id) {
this.$confirm("您确定要关闭吗?", "提示", {
type: "warning",
confirmButtonText: "确定",
cancelButtonText: "取消"
}).then(() => {
this.$axios.post(loc() + "/disable", { id }).then((resp) => {
if (resp.code === 0) {
this.$message.success(resp.msg)
this.pageData()
}
})
})
},
enable(id) {
this.$confirm("您确定要开启吗?", "提示", {
type: "warning",
confirmButtonText: "确定",
cancelButtonText: "取消"
}).then(() => {
$.post(loc() + "/enable", { id }).then((resp) => {
if (resp.code === 0) {
this.$message.success(resp.msg)
this.pageData()
}
})
})
},
topUp(id) {
this.$confirm("您确定要置顶吗?", "提示", {
type: "warning",
confirmButtonText: "确定",
cancelButtonText: "取消"
}).then(() => {
$.post(loc() + "/topUp", { id }).then((resp) => {
if (resp.code === 0) {
this.$message.success(resp.msg)
this.pageData()
}
})
})
},
cancelTopUp(id) {
this.$confirm("您确定要取消置顶吗?", "提示", {
type: "warning",
confirmButtonText: "确定",
cancelButtonText: "取消"
}).then(() => {
$.post(loc() + "/cancelTopUp", { id }).then((resp) => {
if (resp.code === 0) {
this.$message.success(resp.msg)
this.pageData()
}
})
})
}
},
created() {
this.pageData()
}
})
</script>
<!--#
}
#-->