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

pref:代码优化

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