commit
This commit is contained in:
@@ -54,7 +54,7 @@ public class SmsWhcpServiceImpl implements SmsService {
|
|||||||
json.put("password", SecureUtil.md5(SecureUtil.md5("Whszyxy123") + tKey));
|
json.put("password", SecureUtil.md5(SecureUtil.md5("Whszyxy123") + tKey));
|
||||||
json.put("tKey", tKey + "");
|
json.put("tKey", tKey + "");
|
||||||
json.put("mobile", mobile);
|
json.put("mobile", mobile);
|
||||||
json.put("content", "【智慧工会】" + content);
|
json.put("content", "智慧工会:" + content);
|
||||||
|
|
||||||
log.info("【log】调用短信消息接口,请求参数:{}", Json.toJson(json));
|
log.info("【log】调用短信消息接口,请求参数:{}", Json.toJson(json));
|
||||||
String result = HttpRequest.post(urls)
|
String result = HttpRequest.post(urls)
|
||||||
|
|||||||
+1
-1
@@ -37,7 +37,7 @@ public class SmsMessageSendStrategy implements GlobalMessageSendStrategy {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+2
-1
@@ -78,6 +78,7 @@ public class MemberApplyBranchUnionApprovalController {
|
|||||||
info.personType,
|
info.personType,
|
||||||
info.applyDateTime,
|
info.applyDateTime,
|
||||||
info.sign,
|
info.sign,
|
||||||
|
info.nativePlace,
|
||||||
ins.id AS instanceId,
|
ins.id AS instanceId,
|
||||||
ins.businessNo,
|
ins.businessNo,
|
||||||
ins.state instanceState,
|
ins.state instanceState,
|
||||||
@@ -125,7 +126,7 @@ public class MemberApplyBranchUnionApprovalController {
|
|||||||
} else {
|
} else {
|
||||||
cnd.orderBy("info." + pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
cnd.orderBy("info." + pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||||
}
|
}
|
||||||
cnd.groupBy("t.id");
|
cnd.groupBy("info.id");
|
||||||
sql.setCondition(cnd);
|
sql.setCondition(cnd);
|
||||||
Pagination<NutMap> pagination = memberApplyRecordService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
Pagination<NutMap> pagination = memberApplyRecordService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||||
return Result.success(pagination);
|
return Result.success(pagination);
|
||||||
|
|||||||
+2
-1
@@ -93,6 +93,7 @@ public class MemberApplySchoolUnionApprovalController {
|
|||||||
info.origin,
|
info.origin,
|
||||||
info.applyDateTime,
|
info.applyDateTime,
|
||||||
info.sign,
|
info.sign,
|
||||||
|
info.nativePlace,
|
||||||
ins.id AS instanceId,
|
ins.id AS instanceId,
|
||||||
ins.businessNo,
|
ins.businessNo,
|
||||||
ins.state instanceState,
|
ins.state instanceState,
|
||||||
@@ -138,7 +139,7 @@ public class MemberApplySchoolUnionApprovalController {
|
|||||||
} else {
|
} else {
|
||||||
cnd.orderBy("info." + pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
cnd.orderBy("info." + pageForm.getPageOrderName(), PageUtil.getOrder(pageForm.getPageOrderBy()));
|
||||||
}
|
}
|
||||||
cnd.groupBy("t.id");
|
cnd.groupBy("info.id");
|
||||||
sql.setCondition(cnd);
|
sql.setCondition(cnd);
|
||||||
Pagination<NutMap> pagination = memberApplyRecordService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
Pagination<NutMap> pagination = memberApplyRecordService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||||
return Result.success(pagination);
|
return Result.success(pagination);
|
||||||
|
|||||||
+162
-152
@@ -2,93 +2,98 @@
|
|||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<common-query ref="commonQueryRef" @search="search"></common-query>
|
<common-query ref="commonQueryRef" @search="search"></common-query>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
<table-tool label="申请列表">
|
<table-tool label="申请列表">
|
||||||
<el-radio-group @change="doSearch" class="mr5" size="small" v-model="pageForm.audit">
|
<el-radio-group @change="doSearch" class="mr5" size="small" v-model="pageForm.audit">
|
||||||
<el-radio-button label="true">已审核</el-radio-button>
|
<el-radio-button label="true">已审核</el-radio-button>
|
||||||
<el-radio-button label="false">未审核</el-radio-button>
|
<el-radio-button label="false">未审核</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder" ref="table" row-key="id" style="width: 100%">
|
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder" ref="table" row-key="id"
|
||||||
<el-table-column
|
style="width: 100%">
|
||||||
:index="indexMethod"
|
<el-table-column
|
||||||
align="center"
|
:index="indexMethod"
|
||||||
header-align="center"
|
align="center"
|
||||||
label="序号"
|
header-align="center"
|
||||||
type="index"
|
label="序号"
|
||||||
width="80px"
|
type="index"
|
||||||
></el-table-column>
|
width="80px"
|
||||||
<el-table-column
|
></el-table-column>
|
||||||
:label="column.label"
|
<el-table-column
|
||||||
:prop="column.prop"
|
:label="column.label"
|
||||||
:sortable="column.sortable"
|
:prop="column.prop"
|
||||||
:width="column.width"
|
:sortable="column.sortable"
|
||||||
header-align="center"
|
:width="column.width"
|
||||||
min-width="100px"
|
header-align="center"
|
||||||
show-overflow-tooltip
|
min-width="100px"
|
||||||
v-for="column in tableColumns"
|
show-overflow-tooltip
|
||||||
>
|
v-for="column in tableColumns"
|
||||||
<template scope="{row}" v-if="column.prop=='loginname'">
|
>
|
||||||
<el-link @click="openView(row)" type="primary">{{row.loginname}}</el-link>
|
<template scope="{row}" v-if="column.prop=='loginname'">
|
||||||
</template>
|
<el-link @click="openView(row)" type="primary">{{row.loginname}}</el-link>
|
||||||
<template scope="{row}" v-else-if="column.prop=='sign'">
|
</template>
|
||||||
<el-image v-if="row.sign" :src="row.sign" style="height: 60px"></el-image>
|
<template scope="{row}" v-else-if="column.prop=='sign'">
|
||||||
<el-tag type="warning" v-else>暂无</el-tag>
|
<el-image v-if="row.sign" :src="row.sign" style="height: 60px"></el-image>
|
||||||
</template>
|
<el-tag type="warning" v-else>暂无</el-tag>
|
||||||
<template scope="{row}" v-else-if="column.prop=='instanceState'">
|
</template>
|
||||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
<template scope="{row}" v-else-if="column.prop=='instanceState'">
|
||||||
size="small"></enum-tag>
|
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||||
</template>
|
size="small"></enum-tag>
|
||||||
</el-table-column>
|
</template>
|
||||||
<el-table-column label="操作" fixed="right" width="200px">
|
</el-table-column>
|
||||||
<template scope="{row}">
|
<el-table-column label="操作" fixed="right" width="200px">
|
||||||
<el-button size="mini" type="primary" @click="openView(row)">
|
<template scope="{row}">
|
||||||
查看
|
<el-button size="mini" type="primary" @click="openView(row)">
|
||||||
</el-button>
|
查看
|
||||||
<el-button v-if="row.taskState === 10" @click="openApproval(row)" size="mini" type="primary">
|
</el-button>
|
||||||
审核
|
<el-button v-if="row.taskState === 10" @click="openApproval(row)" size="mini" type="primary">
|
||||||
</el-button>
|
审核
|
||||||
<el-button v-if="row.canRevoke" @click="openRevoke(row)" size="mini" type="danger">
|
</el-button>
|
||||||
撤回
|
<el-button v-if="row.canRevoke" @click="openRevoke(row)" size="mini" type="danger">
|
||||||
</el-button>
|
撤回
|
||||||
</template>
|
</el-button>
|
||||||
</el-table-column>
|
</template>
|
||||||
</el-table>
|
</el-table-column>
|
||||||
<!--#include("/layouts/pagination.html"){}#-->
|
</el-table>
|
||||||
</el-card>
|
<!--#include("/layouts/pagination.html"){}#-->
|
||||||
|
</el-card>
|
||||||
|
|
||||||
<template #edit>
|
<template #edit>
|
||||||
<info ref="infoRef">
|
<info ref="infoRef">
|
||||||
<div v-if="showApprovalForm">
|
<div v-if="showApprovalForm">
|
||||||
<div class="process-title">
|
<div class="process-title">
|
||||||
{{formData.taskName}}
|
{{formData.taskName}}
|
||||||
</div>
|
</div>
|
||||||
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix=":"
|
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix=":"
|
||||||
class="flow-task-form">
|
class="flow-task-form">
|
||||||
<el-form-item label="审批意见" prop="tf_opinion"
|
<el-form-item label="审批意见" prop="tf_opinion"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
<el-form-item prop="tf_sign"
|
||||||
<el-row type="flex" justify="end">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
<pc-signature v-model="formData.tf_sign"></pc-signature>
|
||||||
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
</el-form-item>
|
||||||
<el-button @click="handleTaskAction(2)" size="small" type="danger">拒绝申请</el-button>
|
</el-form>
|
||||||
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意申请</el-button>
|
<el-row type="flex" justify="end">
|
||||||
</el-row>
|
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||||
</div>
|
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
||||||
</info>
|
<el-button @click="handleTaskAction(2)" size="small" type="danger">拒绝申请</el-button>
|
||||||
</template>
|
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意申请</el-button>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</info>
|
||||||
|
</template>
|
||||||
|
|
||||||
</guava>
|
</guava>
|
||||||
</div>
|
</div>
|
||||||
<script nonce="${cspNonce!}">
|
<script nonce="${cspNonce!}">
|
||||||
<!--#include("../common/info.js"){}#-->
|
<!--#include("../common/info.js"){}#-->
|
||||||
<!--#include("../common/commonQuery.js"){}#-->
|
<!--#include("../common/commonQuery.js"){}#-->
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
store,
|
store,
|
||||||
@@ -103,88 +108,93 @@ layout("/layouts/platform.html"){
|
|||||||
{ prop: "userName", label: "姓名", sortable: true },
|
{ prop: "userName", label: "姓名", sortable: true },
|
||||||
{ prop: "userState", label: "在职状态", sortable: true },
|
{ prop: "userState", label: "在职状态", sortable: true },
|
||||||
// { prop: "personType", label: "教职工类别", sortable: true },
|
// { prop: "personType", label: "教职工类别", sortable: true },
|
||||||
{ prop: "preparedBy", label: "编制类别", sortable: true },
|
{ prop: "nativePlace", label: "籍贯", sortable: true },
|
||||||
{ prop: "unionName", label: "所属工会", sortable: true },
|
// { prop: "preparedBy", label: "编制类别", sortable: true },
|
||||||
|
{ prop: "unionName", label: "所属工会", sortable: true },
|
||||||
{ prop: "unitName", label: "所属单位", sortable: true },
|
{ prop: "unitName", label: "所属单位", sortable: true },
|
||||||
// { prop: "sign", label: "签字" },
|
// { prop: "sign", label: "签字" },
|
||||||
{ prop: "curTaskName", label: "当前节点" },
|
{ prop: "curTaskName", label: "当前节点" },
|
||||||
{ prop: "instanceState", label: "流程状态" }
|
{ prop: "instanceState", label: "流程状态" }
|
||||||
],
|
],
|
||||||
|
|
||||||
// 审核相关
|
// 审核相关
|
||||||
showApprovalForm: false,
|
showApprovalForm: false,
|
||||||
formData: {
|
formData: {
|
||||||
tf_opinion: ""
|
tf_opinion: ""
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
'info': INFO,
|
"info": INFO,
|
||||||
'common-query': COMMON_QUERY,
|
"common-query": COMMON_QUERY
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openView(row) {
|
openView(row) {
|
||||||
this.$refs.guava.edit(()=>{
|
this.$refs.guava.edit(() => {
|
||||||
this.showApprovalForm = false
|
this.showApprovalForm = false
|
||||||
this.$refs.infoRef.onOpen(row)
|
this.$refs.infoRef.onOpen(row)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
openApproval(row) {
|
openApproval(row) {
|
||||||
this.$refs.guava.edit(()=>{
|
this.$refs.guava.edit(() => {
|
||||||
this.showApprovalForm = true
|
this.showApprovalForm = true
|
||||||
this.formData = {
|
this.formData = {
|
||||||
processTaskId: row.taskId,
|
processTaskId: row.taskId,
|
||||||
taskName: row.curTaskName
|
taskName: row.curTaskName
|
||||||
}
|
}
|
||||||
this.$refs.infoRef.onOpen(row)
|
this.$refs.infoRef.onOpen(row)
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
handleTaskAction(val) {
|
||||||
|
this.$refs.formRef.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.$confirm("您确定要提交吗?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning"
|
||||||
|
}).then(() => {
|
||||||
|
const loading = createLoading()
|
||||||
|
this.$axios.post("/flow/common/executeTask", {
|
||||||
|
data: JSON.stringify({
|
||||||
|
...this.formData,
|
||||||
|
submitType: val
|
||||||
|
})
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$refs.guava.index()
|
||||||
|
this.$message.success(res.msg)
|
||||||
|
this.doSearch()
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
loading.close()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
handleTaskAction(val) {
|
|
||||||
this.$confirm("您确定要提交吗?", "提示", {
|
|
||||||
confirmButtonText: "确定",
|
|
||||||
cancelButtonText: "取消",
|
|
||||||
type: "warning"
|
|
||||||
}).then(() => {
|
|
||||||
const loading = createLoading()
|
|
||||||
this.$axios.post("/flow/common/executeTask", {
|
|
||||||
data: JSON.stringify({
|
|
||||||
...this.formData,
|
|
||||||
submitType: val
|
|
||||||
})
|
|
||||||
}).then((res) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.$refs.guava.index()
|
|
||||||
this.$message.success(res.msg)
|
|
||||||
this.doSearch()
|
|
||||||
}
|
|
||||||
}).finally(() => {
|
|
||||||
loading.close()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
openRevoke(row) {
|
openRevoke(row) {
|
||||||
this.$confirm("您确定要撤回吗?", "提示", {
|
this.$confirm("您确定要撤回吗?", "提示", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
type: "info"
|
type: "info"
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
const loading = createLoading()
|
const loading = createLoading()
|
||||||
this.$axios.post("/flow/common/revokeTask", {taskId: row.taskId}).then((res) => {
|
this.$axios.post("/flow/common/revokeTask", { taskId: row.taskId }).then((res) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.$message.success(res.msg)
|
this.$message.success(res.msg)
|
||||||
this.doSearch()
|
this.doSearch()
|
||||||
}
|
}
|
||||||
}).finally(()=>{
|
}).finally(() => {
|
||||||
loading.close()
|
loading.close()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
search(pageForm){
|
search(pageForm) {
|
||||||
if (pageForm) {
|
if (pageForm) {
|
||||||
this.pageForm = {...this.pageForm, ...pageForm}
|
this.pageForm = { ...this.pageForm, ...pageForm }
|
||||||
}
|
}
|
||||||
this.doSearch()
|
this.doSearch()
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.pageData()
|
this.pageData()
|
||||||
|
|||||||
@@ -16,22 +16,22 @@ const INFO = {
|
|||||||
|
|
||||||
<el-descriptions-item label="学历">{{ viewData.education }}</el-descriptions-item>
|
<el-descriptions-item label="学历">{{ viewData.education }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="学位">{{ viewData.academicDegree }}</el-descriptions-item>
|
<el-descriptions-item label="学位">{{ viewData.academicDegree }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="党政职务">{{ viewData.position }}</el-descriptions-item>
|
<el-descriptions-item label="籍贯">{{ viewData.nativePlace }}</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="工作单位">{{ viewData.unitName }}</el-descriptions-item>
|
<el-descriptions-item label="工作单位">{{ viewData.unitName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="所属工会">{{ viewData.unionName }}</el-descriptions-item>
|
<el-descriptions-item label="所属工会">{{ viewData.unionName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="岗位名称">{{ viewData.jobCategory }}</el-descriptions-item>
|
||||||
<!-- <el-descriptions-item label="所属校区">{{ viewData.campus }}</el-descriptions-item>-->
|
<!-- <el-descriptions-item label="所属校区">{{ viewData.campus }}</el-descriptions-item>-->
|
||||||
|
|
||||||
<el-descriptions-item label="身份证号码">{{ viewData.idCard }}</el-descriptions-item>
|
<el-descriptions-item label="身份证号码">{{ viewData.idCard }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="联系电话">{{ viewData.mobile }}</el-descriptions-item>
|
<el-descriptions-item label="联系电话">{{ viewData.mobile }}</el-descriptions-item>
|
||||||
<!-- <el-descriptions-item label="电子邮箱">{{ viewData.email }}</el-descriptions-item>-->
|
<!-- <el-descriptions-item label="电子邮箱">{{ viewData.email }}</el-descriptions-item>-->
|
||||||
|
|
||||||
<el-descriptions-item label="在职状态">{{ viewData.userState }}</el-descriptions-item>
|
<!-- <el-descriptions-item label="在职状态">{{ viewData.userState }}</el-descriptions-item>-->
|
||||||
<!-- <el-descriptions-item label="教职工类别">{{ viewData.personType }}</el-descriptions-item>-->
|
<!-- <el-descriptions-item label="教职工类别">{{ viewData.personType }}</el-descriptions-item>-->
|
||||||
<el-descriptions-item label="编制类别">{{ viewData.preparedBy }}</el-descriptions-item>
|
<!-- <el-descriptions-item label="编制类别">{{ viewData.preparedBy }}</el-descriptions-item>-->
|
||||||
<el-descriptions-item label="婚姻状况">{{ viewData.marriage }}</el-descriptions-item>
|
<el-descriptions-item label="婚姻状况">{{ viewData.marriage }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="入职时间">{{ viewData.arrivalAtSchoolDate }}</el-descriptions-item>
|
<el-descriptions-item label="入职时间">{{ viewData.arrivalAtSchoolDate }}</el-descriptions-item>
|
||||||
<el-descriptions-item></el-descriptions-item>
|
|
||||||
<el-descriptions-item label="家庭住址" :span="3">{{ viewData.homeAddress }}</el-descriptions-item>
|
<el-descriptions-item label="家庭住址" :span="3">{{ viewData.homeAddress }}</el-descriptions-item>
|
||||||
|
|
||||||
|
|
||||||
@@ -101,8 +101,12 @@ const INFO = {
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-descriptions-item label="办理意见" :span="3" v-if="!task.ext.isFirstTaskNode">{{
|
<el-descriptions-item label="办理意见" :span="3" v-if="!task.ext.isFirstTaskNode">{{
|
||||||
task.taskFormData.opinion }}
|
task.taskFormData.tf_opinion }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="签字信息" :span="3" v-if="!task.ext.isFirstTaskNode">
|
||||||
|
<el-image :src="task.taskFormData.tf_sign"
|
||||||
|
class="signature-image"></el-image>
|
||||||
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ layout("/layouts/platform.html"){
|
|||||||
{ prop: "userName", label: "姓名", sortable: true },
|
{ prop: "userName", label: "姓名", sortable: true },
|
||||||
{ prop: "userState", label: "在职状态", sortable: true },
|
{ prop: "userState", label: "在职状态", sortable: true },
|
||||||
// { prop: "personType", label: "教职工类别", sortable: true },
|
// { prop: "personType", label: "教职工类别", sortable: true },
|
||||||
{ prop: "preparedBy", label: "编制类别", sortable: true },
|
{ prop: "nativePlace", label: "籍贯", sortable: true },
|
||||||
{ prop: "unionName", label: "所属工会", sortable: true },
|
{ prop: "unionName", label: "所属工会", sortable: true },
|
||||||
{ prop: "unitName", label: "所属单位", sortable: true },
|
{ prop: "unitName", label: "所属单位", sortable: true },
|
||||||
// { prop: "sign", label: "签字" },
|
// { prop: "sign", label: "签字" },
|
||||||
|
|||||||
+180
-170
@@ -2,111 +2,116 @@
|
|||||||
layout("/layouts/platform.html"){
|
layout("/layouts/platform.html"){
|
||||||
#-->
|
#-->
|
||||||
<div id="app" v-cloak>
|
<div id="app" v-cloak>
|
||||||
<guava ref="guava">
|
<guava ref="guava">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<common-query ref="commonQueryRef" @search="search"></common-query>
|
<common-query ref="commonQueryRef" @search="search"></common-query>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="mt10">
|
<el-card shadow="never" class="mt10">
|
||||||
<table-tool label="申请列表">
|
<table-tool label="申请列表">
|
||||||
<el-radio-group @change="doSearch" class="mr5" size="small" v-model="pageForm.audit">
|
<el-radio-group @change="doSearch" class="mr5" size="small" v-model="pageForm.audit">
|
||||||
<el-radio-button label="true">已审核</el-radio-button>
|
<el-radio-button label="true">已审核</el-radio-button>
|
||||||
<el-radio-button label="false">未审核</el-radio-button>
|
<el-radio-button label="false">未审核</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</table-tool>
|
</table-tool>
|
||||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder" ref="table" row-key="id" style="width: 100%">
|
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder" ref="table" row-key="id"
|
||||||
<el-table-column
|
style="width: 100%">
|
||||||
:index="indexMethod"
|
<el-table-column
|
||||||
align="center"
|
:index="indexMethod"
|
||||||
header-align="center"
|
align="center"
|
||||||
label="序号"
|
header-align="center"
|
||||||
type="index"
|
label="序号"
|
||||||
width="80px"
|
type="index"
|
||||||
></el-table-column>
|
width="80px"
|
||||||
<el-table-column
|
></el-table-column>
|
||||||
:label="column.label"
|
<el-table-column
|
||||||
:prop="column.prop"
|
:label="column.label"
|
||||||
:sortable="column.sortable"
|
:prop="column.prop"
|
||||||
:width="column.width"
|
:sortable="column.sortable"
|
||||||
header-align="center"
|
:width="column.width"
|
||||||
min-width="100px"
|
header-align="center"
|
||||||
show-overflow-tooltip
|
min-width="100px"
|
||||||
v-for="column in tableColumns"
|
show-overflow-tooltip
|
||||||
>
|
v-for="column in tableColumns"
|
||||||
<template scope="{row}" v-if="column.prop=='loginname'">
|
>
|
||||||
<el-link @click="openView(row)" type="primary">{{row.loginname}}</el-link>
|
<template scope="{row}" v-if="column.prop=='loginname'">
|
||||||
</template>
|
<el-link @click="openView(row)" type="primary">{{row.loginname}}</el-link>
|
||||||
<template scope="{row}" v-else-if="column.prop=='sign'">
|
</template>
|
||||||
<el-image v-if="row.sign" :src="row.sign" style="height: 60px"></el-image>
|
<template scope="{row}" v-else-if="column.prop=='sign'">
|
||||||
<el-tag type="warning" v-else>暂无</el-tag>
|
<el-image v-if="row.sign" :src="row.sign" style="height: 60px"></el-image>
|
||||||
</template>
|
<el-tag type="warning" v-else>暂无</el-tag>
|
||||||
<template scope="{row}" v-else-if="column.prop=='instanceState'">
|
</template>
|
||||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
<template scope="{row}" v-else-if="column.prop=='instanceState'">
|
||||||
size="small"></enum-tag>
|
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||||
</template>
|
size="small"></enum-tag>
|
||||||
</el-table-column>
|
</template>
|
||||||
<el-table-column label="操作" fixed="right" width="200px">
|
</el-table-column>
|
||||||
<template scope="{row}">
|
<el-table-column label="操作" fixed="right" width="200px">
|
||||||
<el-button size="mini" type="primary" @click="openView(row)">查看</el-button>
|
<template scope="{row}">
|
||||||
<el-button v-if="row.taskState === 10" @click="openApproval(row)" size="mini" type="primary">
|
<el-button size="mini" type="primary" @click="openView(row)">查看</el-button>
|
||||||
审核
|
<el-button v-if="row.taskState === 10" @click="openApproval(row)" size="mini" type="primary">
|
||||||
</el-button>
|
审核
|
||||||
<el-button v-if="row.canRevoke" @click="openRevoke(row.taskId)" size="mini" type="danger">
|
</el-button>
|
||||||
撤回
|
<el-button v-if="row.canRevoke" @click="openRevoke(row.taskId)" size="mini" type="danger">
|
||||||
</el-button>
|
撤回
|
||||||
</template>
|
</el-button>
|
||||||
</el-table-column>
|
</template>
|
||||||
</el-table>
|
</el-table-column>
|
||||||
<!--#include("/layouts/pagination.html"){}#-->
|
</el-table>
|
||||||
</el-card>
|
<!--#include("/layouts/pagination.html"){}#-->
|
||||||
|
</el-card>
|
||||||
|
|
||||||
<template #edit>
|
<template #edit>
|
||||||
<info ref="infoRef">
|
<info ref="infoRef">
|
||||||
<div v-if="showApprovalForm">
|
<div v-if="showApprovalForm">
|
||||||
<div class="process-title">
|
<div class="process-title">
|
||||||
{{formData.taskName}}
|
{{formData.taskName}}
|
||||||
</div>
|
</div>
|
||||||
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="130px" label-suffix=":">
|
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="130px" label-suffix=":">
|
||||||
<el-row :gutter="20" v-if="formData.origin === 'HMC'">
|
<el-row :gutter="20" v-if="formData.origin === 'HMC'">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="分配工会关系" prop="tf_allocation_unionId"
|
<el-form-item label="分配工会关系" prop="tf_allocation_unionId"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-select clearable filterable placeholder="请选择工会" style="width: 100%;"
|
<el-select clearable filterable placeholder="请选择工会" style="width: 100%;"
|
||||||
@change="assignmentUnionName"
|
@change="assignmentUnionName"
|
||||||
v-model="formData.tf_allocation_unionId">
|
v-model="formData.tf_allocation_unionId">
|
||||||
<el-option :key="item.id" :label="item.name" :value="item.id"
|
<el-option :key="item.id" :label="item.name" :value="item.id"
|
||||||
v-for="item in unions"></el-option>
|
v-for="item in unions"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="当前所在工会" prop="tf_self_unionName">
|
<el-form-item label="当前所在工会" prop="tf_self_unionName">
|
||||||
<el-input v-model="formData.tf_self_unionName" readonly></el-input>
|
<el-input v-model="formData.tf_self_unionName" readonly></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-form-item label="审批意见" prop="tf_opinion"
|
<el-form-item label="审批意见" prop="tf_opinion"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
<el-form-item prop="tf_sign" label="签字"
|
||||||
<el-row type="flex" justify="end">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
<pc-signature v-model="formData.tf_sign"></pc-signature>
|
||||||
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
</el-form-item>
|
||||||
<el-button @click="handleTaskAction(2)" size="small" type="danger">拒绝申请</el-button>
|
</el-form>
|
||||||
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意申请</el-button>
|
<el-row type="flex" justify="end">
|
||||||
</el-row>
|
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||||
</div>
|
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
||||||
</info>
|
<el-button @click="handleTaskAction(2)" size="small" type="danger">拒绝申请</el-button>
|
||||||
</template>
|
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意申请</el-button>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</info>
|
||||||
|
</template>
|
||||||
|
|
||||||
</guava>
|
</guava>
|
||||||
</div>
|
</div>
|
||||||
<script nonce="${cspNonce!}">
|
<script nonce="${cspNonce!}">
|
||||||
<!--#include("../common/info.js"){}#-->
|
<!--#include("../common/info.js"){}#-->
|
||||||
<!--#include("../common/commonQuery.js"){}#-->
|
<!--#include("../common/commonQuery.js"){}#-->
|
||||||
new Vue({
|
new Vue({
|
||||||
el: "#app",
|
el: "#app",
|
||||||
store,
|
store,
|
||||||
@@ -120,78 +125,83 @@ layout("/layouts/platform.html"){
|
|||||||
{ prop: "loginName", label: "工号", sortable: true },
|
{ prop: "loginName", label: "工号", sortable: true },
|
||||||
{ prop: "userName", label: "姓名", sortable: true },
|
{ prop: "userName", label: "姓名", sortable: true },
|
||||||
{ prop: "userState", label: "在职状态", sortable: true },
|
{ prop: "userState", label: "在职状态", sortable: true },
|
||||||
{ prop: "personType", label: "教职工类别", sortable: true },
|
{ prop: "nativePlace", label: "籍贯", sortable: true },
|
||||||
{ prop: "preparedBy", label: "编制类别", sortable: true },
|
// { prop: "personType", label: "教职工类别", sortable: true },
|
||||||
{ prop: "unionName", label: "所属工会", sortable: true },
|
// { prop: "preparedBy", label: "编制类别", sortable: true },
|
||||||
|
{ prop: "unionName", label: "所属工会", sortable: true },
|
||||||
{ prop: "unitName", label: "所属单位", sortable: true },
|
{ prop: "unitName", label: "所属单位", sortable: true },
|
||||||
{ prop: "sign", label: "签字" },
|
// { prop: "sign", label: "签字" },
|
||||||
{ prop: "curTaskName", label: "当前节点" },
|
{ prop: "curTaskName", label: "当前节点" },
|
||||||
{ prop: "instanceState", label: "流程状态" }
|
{ prop: "instanceState", label: "流程状态" }
|
||||||
],
|
],
|
||||||
|
|
||||||
// 审核相关
|
// 审核相关
|
||||||
showApprovalForm: false,
|
showApprovalForm: false,
|
||||||
formData: {
|
formData: {
|
||||||
tf_opinion: ""
|
tf_opinion: ""
|
||||||
},
|
},
|
||||||
unions: [],
|
unions: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
'info': INFO,
|
"info": INFO,
|
||||||
'common-query': COMMON_QUERY,
|
"common-query": COMMON_QUERY
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
openView(row) {
|
openView(row) {
|
||||||
this.$refs.guava.edit(()=>{
|
this.$refs.guava.edit(() => {
|
||||||
this.showApprovalForm = false
|
this.showApprovalForm = false
|
||||||
this.$refs.infoRef.onOpen(row)
|
this.$refs.infoRef.onOpen(row)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
openApproval(row) {
|
openApproval(row) {
|
||||||
this.$refs.guava.edit(()=>{
|
this.$refs.guava.edit(() => {
|
||||||
this.showApprovalForm = true
|
this.showApprovalForm = true
|
||||||
this.formData = {
|
this.formData = {
|
||||||
origin: row.origin,
|
origin: row.origin,
|
||||||
processTaskId: row.taskId,
|
processTaskId: row.taskId,
|
||||||
taskName: row.curTaskName
|
taskName: row.curTaskName
|
||||||
}
|
}
|
||||||
if (row.origin === "HMC") {
|
if (row.origin === "HMC") {
|
||||||
this.$set(this.formData, "tf_self_unionName", this.$store.state.user.union.name)
|
this.$set(this.formData, "tf_self_unionName", this.$store.state.user.union.name)
|
||||||
}
|
}
|
||||||
this.$refs.infoRef.onOpen(row)
|
this.$refs.infoRef.onOpen(row)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleTaskAction(val) {
|
handleTaskAction(val) {
|
||||||
this.$confirm("您确定要提交吗?", "提示", {
|
this.$refs.formRef.validate((valid) => {
|
||||||
confirmButtonText: "确定",
|
if (valid) {
|
||||||
cancelButtonText: "取消",
|
this.$confirm("您确定要提交吗?", "提示", {
|
||||||
type: "warning"
|
confirmButtonText: "确定",
|
||||||
}).then(() => {
|
cancelButtonText: "取消",
|
||||||
const loading = createLoading()
|
type: "warning"
|
||||||
this.$axios.post("/flow/common/executeTask", {
|
}).then(() => {
|
||||||
data: JSON.stringify({
|
const loading = createLoading()
|
||||||
...this.formData,
|
this.$axios.post("/flow/common/executeTask", {
|
||||||
submitType: val
|
data: JSON.stringify({
|
||||||
})
|
...this.formData,
|
||||||
}).then((res) => {
|
submitType: val
|
||||||
if (res.code === 0) {
|
})
|
||||||
this.$refs.guava.index()
|
}).then((res) => {
|
||||||
this.$message.success(res.msg)
|
if (res.code === 0) {
|
||||||
this.doSearch()
|
this.$refs.guava.index()
|
||||||
}
|
this.$message.success(res.msg)
|
||||||
}).finally(() => {
|
this.doSearch()
|
||||||
loading.close()
|
}
|
||||||
})
|
}).finally(() => {
|
||||||
})
|
loading.close()
|
||||||
},
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
openRevoke(taskId) {
|
openRevoke(taskId) {
|
||||||
this.$confirm("您确定要撤回吗?", "提示", {
|
this.$confirm("您确定要撤回吗?", "提示", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
type: "info"
|
type: "info"
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
const loading = createLoading()
|
const loading = createLoading()
|
||||||
this.$axios.post("/flow/common/revokeTask", { taskId }).then((res) => {
|
this.$axios.post("/flow/common/revokeTask", { taskId }).then((res) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.$message.success(res.msg)
|
this.$message.success(res.msg)
|
||||||
@@ -202,23 +212,23 @@ layout("/layouts/platform.html"){
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
search(pageForm){
|
search(pageForm) {
|
||||||
if (pageForm) {
|
if (pageForm) {
|
||||||
this.pageForm = {...this.pageForm, ...pageForm}
|
this.pageForm = { ...this.pageForm, ...pageForm }
|
||||||
}
|
}
|
||||||
this.doSearch()
|
this.doSearch()
|
||||||
},
|
},
|
||||||
// 分配工会名称
|
// 分配工会名称
|
||||||
assignmentUnionName(val) {
|
assignmentUnionName(val) {
|
||||||
const union = this.unions.find(item => item.id === val)
|
const union = this.unions.find(item => item.id === val)
|
||||||
this.$set(this.formData, "tf_allocation_unionName", union.name)
|
this.$set(this.formData, "tf_allocation_unionName", union.name)
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.pageData()
|
this.pageData()
|
||||||
this.$businessTool.listUnion().then(data => {
|
this.$businessTool.listUnion().then(data => {
|
||||||
this.unions = data
|
this.unions = data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -60,9 +60,9 @@ layout("/layouts/platform.html"){
|
|||||||
code="USER_ACADEMIC_DEGREE"></dict-select>
|
code="USER_ACADEMIC_DEGREE"></dict-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="党政职务">
|
<el-descriptions-item label="籍贯">
|
||||||
<el-form-item prop="position">
|
<el-form-item prop="nativePlace">
|
||||||
<el-input v-model="formData.position" placeholder="请输入党政职务"
|
<el-input v-model="formData.nativePlace" placeholder="请输入籍贯"
|
||||||
maxlength="50"></el-input>
|
maxlength="50"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
@@ -90,24 +90,31 @@ layout("/layouts/platform.html"){
|
|||||||
</el-descriptions-item>-->
|
</el-descriptions-item>-->
|
||||||
|
|
||||||
|
|
||||||
<el-descriptions-item label="在职状态">
|
<el-descriptions-item label="岗位名称">
|
||||||
|
<el-form-item prop="jobCategory">
|
||||||
|
<el-input v-model="formData.jobCategory" placeholder="请输入岗位名称"
|
||||||
|
maxlength="50"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-descriptions-item>
|
||||||
|
|
||||||
|
<!-- <el-descriptions-item label="在职状态">
|
||||||
<el-form-item prop="userState">
|
<el-form-item prop="userState">
|
||||||
<dict-select v-model="formData.userState" code="USER_STATE"
|
<dict-select v-model="formData.userState" code="USER_STATE"
|
||||||
disabled style="width: 100%"></dict-select>
|
disabled style="width: 100%"></dict-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>-->
|
||||||
<!--<el-descriptions-item label="教职工类别">
|
<!--<el-descriptions-item label="教职工类别">
|
||||||
<el-form-item prop="personType">
|
<el-form-item prop="personType">
|
||||||
<dict-select v-model="formData.personType" code="USER_PERSON_TYPE"
|
<dict-select v-model="formData.personType" code="USER_PERSON_TYPE"
|
||||||
style="width: 100%"></dict-select>
|
style="width: 100%"></dict-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>-->
|
</el-descriptions-item>-->
|
||||||
<el-descriptions-item label="编制类别">
|
<!--<el-descriptions-item label="编制类别">
|
||||||
<el-form-item prop="preparedBy">
|
<el-form-item prop="preparedBy">
|
||||||
<dict-select v-model="formData.preparedBy" code="USER_PREPARED_BY_TYPE"
|
<dict-select v-model="formData.preparedBy" code="USER_PREPARED_BY_TYPE"
|
||||||
disabled style="width: 100%"></dict-select>
|
disabled style="width: 100%"></dict-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>-->
|
||||||
<el-descriptions-item label="婚姻状况">
|
<el-descriptions-item label="婚姻状况">
|
||||||
<el-form-item prop="marriage" label="婚姻状况">
|
<el-form-item prop="marriage" label="婚姻状况">
|
||||||
<dict-select v-model="formData.marriage" code="USER_MARRIAGE"
|
<dict-select v-model="formData.marriage" code="USER_MARRIAGE"
|
||||||
@@ -133,7 +140,6 @@ layout("/layouts/platform.html"){
|
|||||||
disabled maxlength="50"></el-input>
|
disabled maxlength="50"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item></el-descriptions-item>
|
|
||||||
<el-descriptions-item label="家庭住址" :span="3">
|
<el-descriptions-item label="家庭住址" :span="3">
|
||||||
<el-form-item prop="homeAddress" label="家庭住址">
|
<el-form-item prop="homeAddress" label="家庭住址">
|
||||||
<el-input v-model="formData.homeAddress" placeholder="请输入家庭住址" maxlength="90"></el-input>
|
<el-input v-model="formData.homeAddress" placeholder="请输入家庭住址" maxlength="90"></el-input>
|
||||||
@@ -219,11 +225,11 @@ layout("/layouts/platform.html"){
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<!-- <el-descriptions-item label="签字" :span="3">-->
|
<el-descriptions-item label="签字" :span="3">
|
||||||
<!-- <el-form-item prop="sign">-->
|
<el-form-item prop="sign">
|
||||||
<!-- <pc-signature v-model="formData.sign"></pc-signature>-->
|
<pc-signature v-model="formData.sign"></pc-signature>
|
||||||
<!-- </el-form-item>-->
|
</el-form-item>
|
||||||
<!-- </el-descriptions-item>-->
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row type="flex" justify="end" class="mt20">
|
<el-row type="flex" justify="end" class="mt20">
|
||||||
@@ -256,7 +262,9 @@ layout("/layouts/platform.html"){
|
|||||||
personalData: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
personalData: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
specialty: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
specialty: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
marriage: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
marriage: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
arrivalAtSchoolDate: [{ required: true, message: "必填", trigger: ["change", "blur"] }]
|
arrivalAtSchoolDate: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
|
nativePlace: [{ required: true, message: "必填", trigger: ["change", "blur"] }],
|
||||||
|
jobCategory: [{ required: true, message: "必填", trigger: ["change", "blur"] }]
|
||||||
/*email: [
|
/*email: [
|
||||||
{
|
{
|
||||||
validator: (rule, value, callback) => {
|
validator: (rule, value, callback) => {
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ layout("/layouts/platform.html"){
|
|||||||
.content-left {
|
.content-left {
|
||||||
grid-column: 1 / 4;
|
grid-column: 1 / 4;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: 1fr 1fr;
|
/*grid-template-rows: 1fr 1fr;*/
|
||||||
gap: 20px;
|
gap: 20px;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
}
|
}
|
||||||
@@ -332,10 +332,10 @@ layout("/layouts/platform.html"){
|
|||||||
<div class="chart-container" id="personTypeMemberChart" v-loading="loading.personTypeMember"></div>
|
<div class="chart-container" id="personTypeMemberChart" v-loading="loading.personTypeMember"></div>
|
||||||
</div>-->
|
</div>-->
|
||||||
<!-- 在职类型图表 -->
|
<!-- 在职类型图表 -->
|
||||||
<div class="card">
|
<!-- <div class="card">
|
||||||
<div class="card-title">人员类型统计</div>
|
<div class="card-title">人员类型统计</div>
|
||||||
<div class="chart-container" id="userStateMemberChart" v-loading="loading.userStateMember"></div>
|
<div class="chart-container" id="userStateMemberChart" v-loading="loading.userStateMember"></div>
|
||||||
</div>
|
</div>-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 右侧表格区域 -->
|
<!-- 右侧表格区域 -->
|
||||||
@@ -622,8 +622,8 @@ layout("/layouts/platform.html"){
|
|||||||
// X轴配置
|
// X轴配置
|
||||||
xAxis: {
|
xAxis: {
|
||||||
label: {
|
label: {
|
||||||
autoHide: true,
|
autoHide: false,
|
||||||
autoRotate: false,
|
autoRotate: true,
|
||||||
style: {
|
style: {
|
||||||
fill: '#666',
|
fill: '#666',
|
||||||
fontSize: 12
|
fontSize: 12
|
||||||
|
|||||||
Reference in New Issue
Block a user