Commit 68619396 authored by 姬鋆屾's avatar 姬鋆屾

pref:代码优化

parent 8cd12952
......@@ -8,59 +8,45 @@
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
import dialogShow from './dialogshow';
import table from '@/assets/mixins/table';
export default {
name: "AttendanceStaffStatList",
name: 'AttendanceStaffStatList',
components: {
dialogShow,
dialogShow
},
mixins: [table],
created() {},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
},
},
data() {
return {
// 表格配置项
config: {
isshowTabPane: true,
search: [
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true,
},
name: 'staffName',
type: 'text',
label: '员工姓名',
fuzzy: true
}
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ type: 'selection', width: 60 },
{ type: 'index', label: '序号', width: 50 },
{ label: "员工姓名", prop: "staffName" },
{ label: '员工姓名', prop: 'staffName' },
{
label: "考勤汇总信息,如迟到*1,旷工*2等",
prop: "attendanceSummary",
label: '考勤汇总信息,如迟到*1,旷工*2等',
prop: 'attendanceSummary'
},
{
label: "创建用户",
prop: "createUserId",
formatter: this.formatter,
label: '创建用户',
prop: 'createUserId',
formatter: this.formatter
},
{
label: "操作",
label: '操作',
width: 240,
formatter: (row) => {
return (
......@@ -72,11 +58,26 @@ export default {
onDel={this.toDel}
/>
);
}
}
]
}
};
},
created() {},
methods: {
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row);
},
],
},
};
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row);
}
}
};
</script>
<template>
<div class="page">
<!-- S 表格主体部分 -->
<LayoutTable :data="tableData" :config="tableConfig" notAdd notDel>
<el-button
type="primary"
......@@ -7,136 +8,103 @@
:disabled="isExport"
size="mini"
slot="table-head-left2"
style="margin-left: 10px;"
style="margin-left: 10px"
>导出</el-button
>
</LayoutTable>
<!-- E 表格主体部分 -->
<!-- S 抽屉层 -->
<drawer-show ref="drawerform" @ok="getData" />
<!-- E 抽屉层 -->
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
import drawerShow from './drawershow';
import table from '@/assets/mixins/table';
export default {
name: "AttendanceVacationBalanceList",
name: 'AttendanceVacationBalanceList',
components: {
drawerShow,
drawerShow
},
mixins: [table],
created() {},
methods: {
// 导出
doExport() {
this.isExport = true;
let params = {};
for (let value of this.config.search) {
if (this.query[value.name]) {
params[value.name] = this.query[value.name];
}
}
if (this.selection.length > 0) {
params["idList"] = this.selection;
}
this.$download(
"/attendance/vacation/balance/exportExcel",
{
...params,
},
{ type: "excel", name: "员工假期余额" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
},
/** 查看不同类型假期记录 */
handleCountDays(row, column, val) {
this.$refs.drawerform.view({
type: this.util_formatter("AllHolidays", column.property),
staffId: row.staffId,
id: row.id,
val,
});
},
},
data() {
return {
// 表格配置项
config: {
isshowTabPane: true,
search: [
{
name: "salaId",
type: "selectSalaId",
label: "大厅",
fuzzy: false,
name: 'salaId',
type: 'selectSalaId',
label: '大厅',
fuzzy: false
},
{
name: "deptId",
type: "selectDeptId",
label: "部门",
fuzzy: false,
name: 'deptId',
type: 'selectDeptId',
label: '部门',
fuzzy: false
},
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: true,
},
name: 'staffName',
type: 'text',
label: '员工姓名',
fuzzy: true
}
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "员工姓名", prop: "staffName" },
{ type: 'selection', width: 60 },
{ type: 'index', label: '序号', width: 50 },
{ label: '员工姓名', prop: 'staffName' },
{
label: "大厅",
prop: "salaName",
label: '大厅',
prop: 'salaName',
formatter: this.formatter,
show: true,
show: true
},
{
label: "部门",
prop: "deptName",
label: '部门',
prop: 'deptName',
formatter: this.formatter,
show: true,
show: true
},
{
label: "入职时间",
prop: "entryTime",
formatter: this.formatterDate,
label: '入职时间',
prop: 'entryTime',
formatter: this.formatterDate
},
{
label: "事假(天)",
prop: "personalLeaveDays",
formatter: this.formatterDay,
label: '事假(天)',
prop: 'personalLeaveDays',
formatter: this.formatterDay
},
{
label: "调休(天)",
prop: "compensatedLeaveDays",
formatter: this.formatterDay,
label: '调休(天)',
prop: 'compensatedLeaveDays',
formatter: this.formatterDay
},
{
label: "病假(天)",
prop: "sickLeaveDays",
formatter: this.formatterDay,
label: '病假(天)',
prop: 'sickLeaveDays',
formatter: this.formatterDay
},
{
label: "年假(天)",
prop: "annualLeaveDays",
formatter: this.formatterDay,
label: '年假(天)',
prop: 'annualLeaveDays',
formatter: this.formatterDay
},
{
label: "婚假(天)",
prop: "marriageLeaveDays",
formatter: this.formatterDay,
label: '婚假(天)',
prop: 'marriageLeaveDays',
formatter: this.formatterDay
},
{
label: "哺乳假(天)",
prop: "breastfeedingLeaveDays",
formatter: this.formatterDay,
},
label: '哺乳假(天)',
prop: 'breastfeedingLeaveDays',
formatter: this.formatterDay
}
// {label: "创建用户", prop: "createUserId", formatter: this.formatter},
// {
// label: "操作",
......@@ -149,9 +117,47 @@ export default {
// }
// }
],
isExport: false,
},
// 导出按钮加载状态
isExport: false
}
};
},
created() {},
methods: {
// 导出
doExport() {
this.isExport = true;
let params = {};
for (let value of this.config.search) {
if (this.query[value.name]) {
params[value.name] = this.query[value.name];
}
}
if (this.selection.length > 0) {
params['idList'] = this.selection;
}
this.$download(
'/attendance/vacation/balance/exportExcel',
{
...params
},
{ type: 'excel', name: '员工假期余额' }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
},
/** 查看不同类型假期记录 */
handleCountDays(row, column, val) {
this.$refs.drawerform.view({
type: this.util_formatter('AllHolidays', column.property),
staffId: row.staffId,
id: row.id,
val
});
}
}
};
</script>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
<div class="page">
<LayoutTable
ref="layoutTable"
:data="tableData"
notAdd
notDel
:config="tableConfig"
/>
<LayoutTable ref="layoutTable" :data="tableData" notAdd notDel :config="tableConfig" />
<dialog-show ref="dialogform" @ok="getData" />
</div>
</template>
<script>
import { handleTree } from "@/assets/utils/table";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import table from "@/assets/mixins/table";
import dialogShow from "./dialogshow";
import { handleTree } from '@/assets/utils/table';
import Treeselect from '@riophae/vue-treeselect';
import '@riophae/vue-treeselect/dist/vue-treeselect.css';
import table from '@/assets/mixins/table';
import dialogShow from './dialogshow';
export default {
name: "Dept",
name: 'Dept',
mixins: [table],
components: { Treeselect, dialogShow },
created() {},
methods: {
afterRender(data) {
data.data = handleTree(data.data, "id", "parentId");
console.log("tree", data.data);
this.deptOptions = data.data;
this.$refs.layoutTable.showType = "treetable";
},
handleAdd(row) {
this.$refs.dialogform.add(row, this.deptOptions);
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row, this.deptOptions);
},
/** 重写编辑方法 */
toEdit(row) {
this.loading = true;
this.$post(this.pageInfo.exclude, { id: row.id })
.then((res) => {
if (res && res.code && res.code == 1) {
this.deptOptions = handleTree(res.data.result);
this.$refs.dialogform.edit(row, this.deptOptions);
this.loading = false;
}
})
.catch((error) => {
this.$message.error(error.message);
});
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row, this.deptOptions);
},
},
data() {
return {
// 表格配置项
config: {
/** 树表是否默认展开 */
expand: true,
showType: "treetable",
showType: 'treetable',
search: [],
columns: [
{ label: "部门名称", prop: "deptName" },
{ label: "部门编码", prop: "deptCode" },
{ label: "顺序", prop: "orderNum" },
{ label: "部门人数", prop: "personNum" },
{ label: "绩效分数", prop: "score", formatter: this.formatterMoney },
{ label: '部门名称', prop: 'deptName' },
{ label: '部门编码', prop: 'deptCode' },
{ label: '顺序', prop: 'orderNum' },
{ label: '部门人数', prop: 'personNum' },
{ label: '绩效分数', prop: 'score', formatter: this.formatterMoney }
// {
// label: "操作",
......@@ -103,10 +61,48 @@ export default {
// );
// },
// },
],
},
]
}
};
},
created() {},
methods: {
// 获取数据处理
afterRender(data) {
data.data = handleTree(data.data, 'id', 'parentId');
console.log('tree', data.data);
this.deptOptions = data.data;
this.$refs.layoutTable.showType = 'treetable';
},
// 处理加入
handleAdd(row) {
this.$refs.dialogform.add(row, this.deptOptions);
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.dialogform.add(row, this.deptOptions);
},
/** 重写编辑方法 */
toEdit(row) {
this.loading = true;
this.$post(this.pageInfo.exclude, { id: row.id })
.then((res) => {
if (res && res.code && res.code == 1) {
this.deptOptions = handleTree(res.data.result);
this.$refs.dialogform.edit(row, this.deptOptions);
this.loading = false;
}
})
.catch((error) => {
this.$message.error(error.message);
});
},
/** 重写查看方法 */
toView(row) {
this.$refs.dialogform.view(row, this.deptOptions);
}
}
};
</script>
<style lang="scss">
......
<template>
<div class="page">
<LayoutTable
:data="tableData"
:config="tableConfig"
@cell-click="handleCellClick"
>
<LayoutTable :data="tableData" :config="tableConfig" @cell-click="handleCellClick">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
......@@ -13,96 +9,76 @@
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
import drawerShow from './drawershow';
import table from '@/assets/mixins/table';
export default {
name: "WindowOwnerList",
name: 'WindowOwnerList',
components: {
drawerShow,
drawerShow
},
mixins: [table],
created() {},
methods: {
handleCellClick(row, column, cell, event) {
console.log(row, cell, column);
if (column.label == "关联人数") {
this.toEdit(row);
}
},
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
},
},
data() {
return {
config: {
isshowTabPane: true,
search: [
{
name: "salaId",
type: "selectSalaId",
label: "大厅",
fuzzy: false,
name: 'salaId',
type: 'selectSalaId',
label: '大厅',
fuzzy: false
},
{
name: "deptId",
type: "selectDeptId",
label: "部门",
fuzzy: false,
name: 'deptId',
type: 'selectDeptId',
label: '部门',
fuzzy: false
},
{
name: "roleType",
type: "select",
label: "角色",
fuzzy: false,
name: 'roleType',
type: 'select',
label: '角色',
fuzzy: false
},
{
name: "staffName",
type: "text",
label: "姓名",
fuzzy: true,
},
name: 'staffName',
type: 'text',
label: '姓名',
fuzzy: true
}
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ type: 'selection', width: 60 },
{ type: 'index', label: '序号', width: 50 },
{ label: "负责人姓名", prop: "staffName" },
{ label: "角色", prop: "roleType", formatter: this.formatter },
{ label: "所属大厅", prop: "salaName" },
{ label: "所属部门", prop: "deptName" },
{ label: '负责人姓名', prop: 'staffName' },
{ label: '角色', prop: 'roleType', formatter: this.formatter },
{ label: '所属大厅', prop: 'salaName' },
{ label: '所属部门', prop: 'deptName' },
{ label: "联系电话", prop: "phone", formatter: this.formatter },
{ label: '联系电话', prop: 'phone', formatter: this.formatter },
{
label: "关联人数",
prop: "staffCount",
label: '关联人数',
prop: 'staffCount',
formatter: (row) => {
return <a>{row.staffCount}</a>;
},
}
},
{
label: "更新时间",
prop: "updateTime",
formatter: this.formatterDate,
label: '更新时间',
prop: 'updateTime',
formatter: this.formatterDate
},
{
label: "更新人员",
prop: "updateUserId",
formatter: this.formatter,
label: '更新人员',
prop: 'updateUserId',
formatter: this.formatter
},
{
label: "操作",
label: '操作',
width: 240,
formatter: (row) => {
return (
......@@ -115,12 +91,33 @@ export default {
onDel={this.toDel}
/>
);
}
}
]
}
};
},
created() {},
methods: {
handleCellClick(row, column, cell, event) {
console.log(row, cell, column);
if (column.label == '关联人数') {
this.toEdit(row);
}
},
],
/** 重写新增方法 */
toAdd(row) {
this.$refs.drawerform.add(row);
},
};
/** 重写编辑方法 */
toEdit(row) {
this.$refs.drawerform.edit(row);
},
/** 重写查看方法 */
toView(row) {
this.$refs.drawerform.view(row);
}
}
};
</script>
<style lang="less" scoped>
......
<template>
<div class="page">
<div class="btn_box" style="position: absolute;top: 54px;left: 10px;">
<div class="btn_box" style="position: absolute; top: 54px; left: 10px">
<el-radio-group v-model="radio1" @input="changeRadio">
<el-radio-button label="1">窗口考核</el-radio-button>
<el-radio-button label="2">工作人员考核</el-radio-button>
......@@ -16,8 +16,7 @@
>
</div>
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable>
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig"> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
......@@ -25,16 +24,16 @@
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
import drawerShow from './drawershow';
import table from '@/assets/mixins/table';
export default {
name: "WindowPerformList",
name: 'WindowPerformList',
components: {
drawerShow,
drawerShow
},
mixins: [table],
created() {
this.pageInfo.list = "/check/window/perform/list";
this.pageInfo.list = '/check/window/perform/list';
},
methods: {
/** 重写新增方法 */
......@@ -53,12 +52,12 @@ export default {
doExport() {
this.isExport = true;
this.$download(
"/check/window/perform/exportExcel",
'/check/window/perform/exportExcel',
{
page: 1,
size: -1,
size: -1
},
{ type: "excel", name: "窗口考核" }
{ type: 'excel', name: '窗口考核' }
)
.then(() => (this.isExport = false))
.catch((error) => {
......@@ -68,104 +67,104 @@ export default {
},
// 切换表格
changeRadio() {
this.radio1 == 2
? this.$router.push("/window/workman/perform/list?page=1")
: "";
},
this.radio1 == 2 ? this.$router.push('/window/workman/perform/list?page=1') : '';
}
},
data() {
return {
radio1: "1",
// 切换表格绑定值
radio1: '1',
// 导出按钮加载状态
isExport: false,
config: {
isshowTabPane: true,
search: [
{
name: "salaId",
type: "selectSalaId",
label: "大厅",
fuzzy: false,
name: 'salaId',
type: 'selectSalaId',
label: '大厅',
fuzzy: false
},
{
name: "deptId",
type: "selectDeptId",
label: "部门",
fuzzy: false,
name: 'deptId',
type: 'selectDeptId',
label: '部门',
fuzzy: false
},
{
name: "checkStatus",
type: "select",
label: "核查状态",
fuzzy: false,
name: 'checkStatus',
type: 'select',
label: '核查状态',
fuzzy: false
},
{
name: "yearmonth",
type: "month",
label: "请选择登记年月",
fuzzy: false,
name: 'yearmonth',
type: 'month',
label: '请选择登记年月',
fuzzy: false
},
{
name: "ownerName",
type: "text",
name: 'ownerName',
type: 'text',
width: 200,
label: "窗口首席代表姓名搜索",
fuzzy: true,
},
label: '窗口首席代表姓名搜索',
fuzzy: true
}
],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "窗口首席代表", prop: "ownerName" },
{ type: 'selection', width: 60 },
{ type: 'index', label: '序号', width: 50 },
{ label: '窗口首席代表', prop: 'ownerName' },
{
label: "登记年月",
label: '登记年月',
formatter: (row) => {
return `${row.year ? row.year : "--"}-${
return `${row.year ? row.year : '--'}-${
row.month
? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month)
? "0" + row.month
? '0' + row.month
: row.month
: "--"
: '--'
}`;
},
}
},
{ label: "所属大厅", prop: "salaName", formatter: this.formatter },
{ label: '所属大厅', prop: 'salaName', formatter: this.formatter },
{
label: "所属部门",
prop: "deptName",
label: '所属部门',
prop: 'deptName'
},
{
label: "考核窗口",
label: '考核窗口',
formatter: (row) => {
return `${row.windowName ? row.windowName : "--"}`;
},
return `${row.windowName ? row.windowName : '--'}`;
}
},
{ label: "表单名称", prop: "fromName" },
{ label: '表单名称', prop: 'fromName' },
{ label: "总分分值", prop: "sumScore", formatter: this.formatter },
{ label: '总分分值', prop: 'sumScore', formatter: this.formatter },
{
label: "提交时间",
prop: "submitDate",
formatter: this.formatterDate,
label: '提交时间',
prop: 'submitDate',
formatter: this.formatterDate
},
{
label: "核查人",
prop: "leaderCheckPerson",
formatter: this.formatter,
label: '核查人',
prop: 'leaderCheckPerson',
formatter: this.formatter
},
{
label: "最新核查时间",
prop: "leaderCheckTime",
formatter: this.formatterDate,
label: '最新核查时间',
prop: 'leaderCheckTime',
formatter: this.formatterDate
},
{ label: "处理状态", prop: "checkStatus", formatter: this.formatter },
{ label: '处理状态', prop: 'checkStatus', formatter: this.formatter },
{
label: "操作",
label: '操作',
width: 240,
formatter: (row) => {
return (
......@@ -173,19 +172,19 @@ export default {
noAdd
noDel
noEdit
text={"自评核查"}
text={'自评核查'}
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
},
},
],
},
}
}
]
}
};
},
}
};
</script>
<style lang="less" scoped>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment