Merge remote-tracking branch 'origin/main'

main
hshansha 6 months ago
commit 9e8876a92a

@ -1,18 +1,10 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="登录用户id" prop="userId">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<el-form-item label="登录用户Id" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入登录用户id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="职工所属部门" prop="deptId">
<el-input
v-model="queryParams.deptId"
placeholder="请输入职工所属部门"
placeholder="请输入登录用户Id"
clearable
@keyup.enter.native="handleQuery"
/>
@ -57,54 +49,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="银行卡号" prop="bankCardNumber">
<el-input
v-model="queryParams.bankCardNumber"
placeholder="请输入银行卡号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="开户行" prop="openingBank">
<el-input
v-model="queryParams.openingBank"
placeholder="请输入开户行"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="学历" prop="education">
<el-input
v-model="queryParams.education"
placeholder="请输入学历"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="家庭住址" prop="address">
<el-input
v-model="queryParams.address"
placeholder="请输入家庭住址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="紧急联系人" prop="contact">
<el-input
v-model="queryParams.contact"
placeholder="请输入紧急联系人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="紧急联系人电话" prop="contactPhone">
<el-input
v-model="queryParams.contactPhone"
placeholder="请输入紧急联系人电话"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -158,24 +102,28 @@
</el-row>
<el-table v-loading="loading" :data="employeeList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键" align="center" prop="id" />
<el-table-column label="登录用户id" align="center" prop="userId" />
<el-table-column label="职工所属部门" align="center" prop="deptId" />
<el-table-column label="部门名称" align="center" prop="deptName" />
<el-table-column label="职工姓名" align="center" prop="empName" />
<el-table-column label="性别" align="center" prop="sex" />
<el-table-column type="selection" width="55" align="center" fixed/>
<el-table-column label="主键" align="center" prop="id" fixed/>
<el-table-column label="登录用户Id" align="center" prop="userId" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="所属部门" align="center" prop="deptId" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="部门名称" align="center" prop="deptName" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="职工姓名" align="center" prop="empName" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="性别" align="center" prop="sex" :show-overflow-tooltip="true" min-width="120">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
</template>
</el-table-column>
<el-table-column label="年龄" align="center" prop="age" />
<el-table-column label="手机号" align="center" prop="phone" />
<el-table-column label="身份证号" align="center" prop="idcard" />
<el-table-column label="银行卡号" align="center" prop="bankCardNumber" />
<el-table-column label="开户行" align="center" prop="openingBank" />
<el-table-column label="学历" align="center" prop="education" />
<el-table-column label="家庭住址" align="center" prop="address" />
<el-table-column label="紧急联系人" align="center" prop="contact" />
<el-table-column label="紧急联系人电话" align="center" prop="contactPhone" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="家庭住址" align="center" prop="address" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="紧急联系人" align="center" prop="contact" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="紧急联系人电话" align="center" prop="contactPhone" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" min-width="120"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="120px">
<template slot-scope="scope">
<el-button
size="mini"
@ -194,7 +142,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -204,16 +152,10 @@
/>
<!-- 添加或修改职工信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="登录用户id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入登录用户id" />
</el-form-item>
<el-form-item label="职工所属部门" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入职工所属部门" />
</el-form-item>
<el-form-item label="部门名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入部门名称" />
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="所属部门" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" placeholder="请选择所属部门" :show-count="true" @select="changeDept"/>
</el-form-item>
<el-form-item label="职工姓名" prop="empName">
<el-input v-model="form.empName" placeholder="请输入职工姓名" />
@ -221,6 +163,16 @@
<el-form-item label="年龄" prop="age">
<el-input v-model="form.age" placeholder="请输入年龄" />
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-select v-model="form.sex" placeholder="请选择性别" style="width: 100%;">
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input v-model="form.phone" placeholder="请输入手机号" />
</el-form-item>
@ -259,9 +211,14 @@
<script>
import { listEmployee, getEmployee, delEmployee, addEmployee, updateEmployee } from "@/api/kaohe/employee"
import { deptTreeSelect } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Employee",
components: { Treeselect },
dicts: ['sys_user_sex'],
data() {
return {
//
@ -278,6 +235,8 @@ export default {
total: 0,
//
employeeList: [],
//
deptOptions: undefined,
//
title: "",
//
@ -306,7 +265,7 @@ export default {
//
rules: {
deptId: [
{ required: true, message: "职工所属部门不能为空", trigger: "blur" }
{ required: true, message: "所属部门不能为空", trigger: "blur" }
],
empName: [
{ required: true, message: "职工姓名不能为空", trigger: "blur" }
@ -316,6 +275,7 @@ export default {
},
created() {
this.getList()
this.getDeptTree()
},
methods: {
/** 查询职工信息列表 */
@ -327,6 +287,18 @@ export default {
this.loading = false
})
},
/** 查询部门下拉树结构 */
getDeptTree() {
deptTreeSelect().then(response => {
this.deptOptions = response.data;
console.log(this.deptOptions);
});
},
/** 查询时选择部门 */
changeDept(dept) {
this.form.deptName = dept.label
},
//
cancel() {
this.open = false
@ -401,6 +373,7 @@ export default {
this.getList()
})
} else {
this.form.userId = this.$store.state.user.id
addEmployee(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
this.open = false

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<el-form-item label="考核名称" prop="itemName">
<el-input
v-model="queryParams.itemName"
@ -9,10 +9,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="考核类型id" prop="typeId">
<el-form-item label="考核类型Id" prop="typeId">
<el-input
v-model="queryParams.typeId"
placeholder="请输入考核类型id"
placeholder="请输入考核类型Id"
clearable
@keyup.enter.native="handleQuery"
/>
@ -73,7 +73,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键" align="center" prop="id" />
<el-table-column label="考核名称" align="center" prop="itemName" />
<el-table-column label="考核类型id" align="center" prop="typeId" />
<el-table-column label="考核类型Id" align="center" prop="typeId" />
<el-table-column label="考核类型" align="center" prop="type" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@ -95,7 +95,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -106,12 +106,17 @@
<!-- 添加或修改考核项对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-form-item label="考核名称" prop="itemName">
<el-input v-model="form.itemName" placeholder="请输入考核名称" />
</el-form-item>
<el-form-item label="考核类型id" prop="typeId">
<el-input v-model="form.typeId" placeholder="请输入考核类型id" />
<!-- <el-form-item label="考核类型Id" prop="typeId">
<el-input v-model="form.typeId" placeholder="请输入考核类型Id" />
</el-form-item>-->
<el-form-item label="考核类型" prop="type">
<el-input placeholder="请选择考核类型" readonly v-model="form.type" @focus="selectType">
<i slot="suffix" class="el-input__icon el-icon-search" style="color:#0f00d1; font-weight: bolder"></i>
</el-input>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
@ -122,11 +127,52 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 选择考核类型 -->
<el-dialog title="双击选择考核类型" :visible.sync="type.open" width="900px" append-to-body>
<div>
<el-form :model="type.queryParams" :inline="true" label-width="70px">
<el-form-item label="类型名称" prop="name" style="margin-bottom: 10px">
<el-input
v-model="type.queryParams.name"
placeholder="请输入类型名称"
clearable
@keyup.enter.native="typeQuery"
/>
</el-form-item>
<el-form-item style="margin-bottom: 10px">
<el-button type="primary" icon="el-icon-search" size="small" @click="typeQuery"></el-button>
</el-form-item>
</el-form>
<el-table border v-loading="type.loading" :data="type.list" @row-dblclick="typeRowChange">
<el-table-column label="主键ID" align="center" prop="id" />
<el-table-column label="类型名称" align="center" prop="name" />
<el-table-column label="备注" align="center" prop="remark" />
</el-table>
<pagination
v-show="type.total>0"
:total="type.total"
:page.sync="type.queryParams.pageNum"
:limit.sync="type.queryParams.pageSize"
@pagination="typeQuery"
/>
<div slot="footer" class="dialog-footer">
<el-button @click="typeCancel"> </el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { listItems, getItems, delItems, addItems, updateItems } from "@/api/kaohe/items"
import { listType } from "@/api/kaohe/type"
export default {
name: "Items",
@ -165,7 +211,24 @@ export default {
itemName: [
{ required: true, message: "考核名称不能为空", trigger: "blur" }
],
}
},
/** 选择考核类型*/
type: {
//
open: false,
//
loading: true,
//
queryParams: {
pageNum: 1,
pageSize: 10,
name: undefined
},
//
list: [],
//
total: 0,
},
}
},
created() {
@ -268,7 +331,32 @@ export default {
this.download('kaohe/items/export', {
...this.queryParams
}, `items_${new Date().getTime()}.xlsx`)
}
},
//
selectType(){
this.type.open = true;
this.type.queryParams.pageNum = 1;
this.typeQuery();
},
/** 考核类型列表查询 */
typeQuery() {
this.type.loading = true;
listType(this.type.queryParams).then(response => {
this.type.list = response.rows;
this.type.total = response.total;
this.type.loading = false;
});
},
/** 考核类型选择弹出框关闭*/
typeCancel() {
this.type.open = false
},
//
typeRowChange(val) {
this.form.typeId = val.id;
this.form.type = val.name;
this.type.open = false;
},
}
}
</script>

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
<el-form-item label="模板名称" prop="temName">
<el-input
v-model="queryParams.temName"
@ -9,10 +9,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="考核项id" prop="khitemId">
<el-form-item label="考核项Id" prop="khitemId">
<el-input
v-model="queryParams.khitemId"
placeholder="请输入考核项id"
placeholder="请输入考核项Id"
clearable
@keyup.enter.native="handleQuery"
/>
@ -81,7 +81,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键ID" align="center" prop="id" />
<el-table-column label="模板名称" align="center" prop="temName" />
<el-table-column label="考核项id" align="center" prop="khitemId" />
<el-table-column label="考核项Id" align="center" prop="khitemId" />
<el-table-column label="考核项名称" align="center" prop="itemName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@ -102,7 +102,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -113,15 +113,14 @@
<!-- 添加或修改考核模板对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="模板名称" prop="temName">
<el-input v-model="form.temName" placeholder="请输入模板名称" />
</el-form-item>
<el-form-item label="考核项id" prop="khitemId">
<el-input v-model="form.khitemId" placeholder="请输入考核项id" />
</el-form-item>
<el-form-item label="考核项名称" prop="itemName">
<el-input v-model="form.itemName" placeholder="请输入考核项名称" />
<el-form-item label="考核项" prop="itemName">
<el-input placeholder="请选择考核项" readonly v-model="form.itemName" @focus="selectKhitem">
<i slot="suffix" class="el-input__icon el-icon-search" style="color:#0f00d1; font-weight: bolder"></i>
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -129,11 +128,49 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 选择考核项 -->
<el-dialog title="双击选择考核项" :visible.sync="khitem.open" width="900px" append-to-body>
<div>
<el-form :model="khitem.queryParams" :inline="true" label-width="90px">
<el-form-item label="考核项名称" prop="itemName" style="margin-bottom: 10px">
<el-input
v-model="khitem.queryParams.itemName"
placeholder="请输入考核项名称"
clearable
@keyup.enter.native="khitemQuery"
/>
</el-form-item>
<el-form-item style="margin-bottom: 10px">
<el-button type="primary" icon="el-icon-search" size="small" @click="khitemQuery"></el-button>
</el-form-item>
</el-form>
<el-table border v-loading="khitem.loading" :data="khitem.list" @row-dblclick="khitemRowChange">
<el-table-column label="主键" align="center" prop="id" />
<el-table-column label="考核名称" align="center" prop="itemName" />
<el-table-column label="考核类型Id" align="center" prop="typeId" />
<el-table-column label="考核类型" align="center" prop="type" />
<el-table-column label="备注" align="center" prop="remark" />
</el-table>
<pagination
v-show="khitem.total>0"
:total="khitem.total"
:page.sync="khitem.queryParams.pageNum"
:limit.sync="khitem.queryParams.pageSize"
@pagination="khitemQuery"
/>
<div slot="footer" class="dialog-footer">
<el-button @click="khitemCancel"> </el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { listTemplate, getTemplate, delTemplate, addTemplate, updateTemplate } from "@/api/kaohe/template"
import { listItems } from "@/api/kaohe/items"
export default {
name: "Template",
@ -173,12 +210,29 @@ export default {
{ required: true, message: "模板名称不能为空", trigger: "blur" }
],
khitemId: [
{ required: true, message: "考核项id不能为空", trigger: "blur" }
{ required: true, message: "考核项Id不能为空", trigger: "blur" }
],
itemName: [
{ required: true, message: "考核项名称不能为空", trigger: "blur" }
]
}
},
/** 选择考核项*/
khitem: {
//
open: false,
//
loading: true,
//
queryParams: {
pageNum: 1,
pageSize: 10,
itemName: undefined
},
//
list: [],
//
total: 0,
},
}
},
created() {
@ -276,7 +330,32 @@ export default {
this.download('kaohe/template/export', {
...this.queryParams
}, `template_${new Date().getTime()}.xlsx`)
}
},
//
selectKhitem(){
this.khitem.open = true;
this.khitem.queryParams.pageNum = 1;
this.khitemQuery();
},
/** 考核项列表查询 */
khitemQuery() {
this.khitem.loading = true;
listItems(this.khitem.queryParams).then(response => {
this.khitem.list = response.rows;
this.khitem.total = response.total;
this.khitem.loading = false;
});
},
/** 考核项选择弹出框关闭*/
khitemCancel() {
this.khitem.open = false
},
//
khitemRowChange(val) {
this.form.khitemId = val.id;
this.form.itemName = val.itemName;
this.khitem.open = false;
},
}
}
</script>

@ -25,14 +25,6 @@
placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="最大投票数" prop="maxNum">
<el-input
v-model="queryParams.maxNum"
placeholder="请输入最大投票数"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -89,7 +81,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键" align="center" prop="id" />
<el-table-column label="投票主题" align="center" prop="voteTitle" />
<el-table-column label="详情描述" align="center" prop="vDescription" />
<el-table-column label="最大投票数" align="center" prop="maxNum" />
<el-table-column label="开始时间" align="center" prop="sTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.sTime, '{y}-{m}-{d}') }}</span>
@ -100,7 +92,7 @@
<span>{{ parseTime(scope.row.eTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="最大投票数" align="center" prop="maxNum" />
<el-table-column label="详情描述" align="center" prop="vDescription" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@ -121,7 +113,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -132,31 +124,31 @@
<!-- 添加或修改投票评测对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form ref="form" :model="form" :rules="rules" label-width="90px">
<el-form-item label="投票主题" prop="voteTitle">
<el-input v-model="form.voteTitle" placeholder="请输入投票主题" />
</el-form-item>
<el-form-item label="详情描述" prop="vDescription">
<el-input v-model="form.vDescription" type="textarea" placeholder="请输入内容" />
<el-form-item label="最大投票数" prop="maxNum">
<el-input v-model="form.maxNum" placeholder="请输入最大投票数" />
</el-form-item>
<el-form-item label="开始时间" prop="sTime">
<el-date-picker clearable
v-model="form.sTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择开始时间">
<el-date-picker clearable style="width: 100%;"
v-model="form.sTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择开始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="结束时间" prop="eTime">
<el-date-picker clearable
v-model="form.eTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择结束时间">
<el-date-picker clearable style="width: 100%;"
v-model="form.eTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="最大投票数" prop="maxNum">
<el-input v-model="form.maxNum" placeholder="请输入最大投票数" />
<el-form-item label="详情描述" prop="vDescription">
<el-input v-model="form.vDescription" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />

Loading…
Cancel
Save