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

tui

parent 1d0db3ee
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
NODE_ENV = production NODE_ENV = production
# 地址 # 地址
VUE_APP_BASE_API = VUE_APP_API_BASE_URL =http://112.19.80.237:11039
# websocket地址 # websocket地址
VUE_APP_WEBSOCKET_API = VUE_APP_WEBSOCKET_API =
......
...@@ -59,16 +59,17 @@ export default { ...@@ -59,16 +59,17 @@ export default {
}, },
// 提交表单 // 提交表单
submitForm(ref) { submitForm(ref) {
console.log(123); let url = this.urls.saveUrl || this.pageInfo.saveUrl;
return; if (url == "/staff/perform/stat/save") {
url = "/perform/perpose/save";
} else if (url == "/perform/rules/attend/save") {
url = "/perform/rules/category/save";
}
const el = this.$refs.form; const el = this.$refs.form;
el.validate((valid) => { el.validate((valid) => {
if (!valid) return; if (!valid) return;
this.loading = true; this.loading = true;
this.$post( this.$post(url, this.beforeSubmit(this.form))
this.urls.saveUrl || this.pageInfo.saveUrl,
this.beforeSubmit(this.form)
)
.then((res) => { .then((res) => {
this.$message.success(res.msg); this.$message.success(res.msg);
this.afterSubmit(res); this.afterSubmit(res);
......
...@@ -2,7 +2,12 @@ ...@@ -2,7 +2,12 @@
<template> <template>
<div class="layout-table" :loading="data.loading"> <div class="layout-table" :loading="data.loading">
<TabPane :thirdList="thirdList" :activeName="activeName" @handleClick="handleClick" v-if="config.isshowTabPane"></TabPane> <TabPane
:thirdList="thirdList"
:activeName="activeName"
@handleClick="handleClick"
v-if="config.isshowTabPane"
></TabPane>
<div class="table-head flex flex-pack-justify"> <div class="table-head flex flex-pack-justify">
<div class="table-head-left flex flex-align-center"> <div class="table-head-left flex flex-align-center">
<!-- <slot name="breadcrumb"> <!-- <slot name="breadcrumb">
...@@ -29,7 +34,8 @@ ...@@ -29,7 +34,8 @@
@click="config.methods.importView" @click="config.methods.importView"
class="el-icon-upload2" class="el-icon-upload2"
title="导入" title="导入"
>导入</el-button> >导入</el-button
>
<!-- <el-button <!-- <el-button
v-if="isShowButton('notDel')" v-if="isShowButton('notDel')"
...@@ -41,8 +47,19 @@ ...@@ -41,8 +47,19 @@
title="批量删除" title="批量删除"
>删除</el-button >删除</el-button
> --> > -->
<Confirm v-if='isShowButton("notDel")' @confirm='config.methods.del' message='确定要删除选中的多条记录吗?'> <Confirm
<el-button icon="el-icon-delete" type="danger" size='mini' plain title="批量删除">批量删除</el-button> v-if="isShowButton('notDel')"
@confirm="config.methods.del"
message="确定要删除选中的多条记录吗?"
>
<el-button
icon="el-icon-delete"
type="danger"
size="mini"
plain
title="批量删除"
>批量删除</el-button
>
</Confirm> </Confirm>
<el-button <el-button
@click="item.method" @click="item.method"
...@@ -126,7 +143,6 @@ ...@@ -126,7 +143,6 @@
:downloadUrl="config.downloadUrl" :downloadUrl="config.downloadUrl"
:areaSelect="config.areaSelect" :areaSelect="config.areaSelect"
/> />
</div> </div>
</div> </div>
</div> </div>
...@@ -220,7 +236,7 @@ import DataTable from "@/components/DataTable.vue"; ...@@ -220,7 +236,7 @@ import DataTable from "@/components/DataTable.vue";
import DataTableMobile from "./DataTableMobile.js"; import DataTableMobile from "./DataTableMobile.js";
import DataTableFlow from "./DataTableFlow.vue"; import DataTableFlow from "./DataTableFlow.vue";
import DataTreeTable from "@/components/DataTreeTable.vue"; import DataTreeTable from "@/components/DataTreeTable.vue";
import TabPane from "@/components/tabPane.vue" import TabPane from "@/components/tabPane.vue";
export default { export default {
props: { props: {
data: { data: {
...@@ -242,7 +258,9 @@ export default { ...@@ -242,7 +258,9 @@ export default {
DataTableMobile, DataTableMobile,
DataTableFlow, DataTableFlow,
DataTreeTable, DataTreeTable,
TabPane TabPane,
},
mounted() {
}, },
methods: { methods: {
// 根据url的query参数判断是否展示查询条件 // 根据url的query参数判断是否展示查询条件
...@@ -268,12 +286,12 @@ export default { ...@@ -268,12 +286,12 @@ export default {
isShowBtn(name) { isShowBtn(name) {
return this.canShow.indexOf(name) !== -1; return this.canShow.indexOf(name) !== -1;
}, },
handleClick(key){ handleClick(key) {
this.$store.commit('setThirdPath',key) this.$store.commit("setThirdPath", key);
this.$router.push({ this.$router.push({
path:key path: key,
}) });
} },
}, },
watch: { watch: {
$route(route) { $route(route) {
...@@ -288,21 +306,21 @@ export default { ...@@ -288,21 +306,21 @@ export default {
this.showType = this.config.showType ? this.config.showType : "table"; this.showType = this.config.showType ? this.config.showType : "table";
return Object.keys(this.$attrs) || []; return Object.keys(this.$attrs) || [];
}, },
thirdList(){ thirdList() {
if(!this.$store.state.CurrentThirdArr) return [] if (!this.$store.state.CurrentThirdArr) return [];
return this.$store.state.CurrentThirdArr return this.$store.state.CurrentThirdArr;
},
activeName() {
return this.$store.state.ThirdPath;
}, },
activeName(){
return this.$store.state.ThirdPath
}
}, },
data() { data() {
return { return {
loading: this.config.loading, loading: this.config.loading,
showSearch: this.isShowSearch(this.$route.query), showSearch: this.isShowSearch(this.$route.query),
showType: "table", showType: "table",
} };
} },
}; };
</script> </script>
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> <LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
</div> </div>
</template> </template>
<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: "PerformPerposeList", name: "PerformPerposeList",
components: { components: {
dialogShow dialogShow,
},
mixins: [table],
created() {
}, },
mixins: [table],
created() {},
methods: { methods: {
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
...@@ -33,37 +30,49 @@ ...@@ -33,37 +30,49 @@
toView(row) { toView(row) {
this.$refs.dialogform.view(row); this.$refs.dialogform.view(row);
}, },
}, },
data() { data() {
return { return {
config: { config: {
isshowTabPane:true, isshowTabPane: true,
search: [ search: [],
],
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: "请假类型", prop: "assessmentType",formatter: this.formatter}, {
label: "请假类型",
prop: "assessmentType",
formatter: this.formatter,
},
{label: "比例", prop: "ratio", formatter: this.formatter}, { label: "比例", prop: "ratio", formatter: this.formatter },
{label: "创建时间", prop: "createTime", formatter: this.formatterDate}, {
label: "创建时间",
prop: "createTime",
formatter: this.formatterDate,
},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: (row) => {
return ( return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> <table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
); );
} },
} },
] ],
} },
};
}
}; };
},
};
</script> </script>
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
> >
<span>{{ val.name }}</span> <span>{{ val.name }}</span>
<div> <div>
<i class="el-icon-edit-outline"></i> <i class="el-icon-edit-outline" @click="toEdit(val)"></i>
<i class="el-icon-delete"></i> <i class="el-icon-delete" @click="toDel(val)"></i>
</div> </div>
</div> </div>
</div> </div>
...@@ -34,7 +34,16 @@ ...@@ -34,7 +34,16 @@
<el-button type="primary"> 搜索 </el-button> <el-button type="primary"> 搜索 </el-button>
</div> </div>
</div> </div>
<div class="table_box"></div> <div class="table_box">
<LayoutTable
:data="tableData"
notAdd
notDel
notSearch
:config="tableConfig"
>
</LayoutTable>
</div>
</div> </div>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
...@@ -44,25 +53,71 @@ ...@@ -44,25 +53,71 @@
<script> <script>
import drawerShow from "../drawershow"; import drawerShow from "../drawershow";
import dialogShow from "../dialogshow"; import dialogShow from "../dialogshow";
import table from "@/assets/mixins/table";
export default { export default {
name: "AdminAttendIndex", name: "AdminAttendIndex",
components: { components: {
drawerShow, drawerShow,
dialogShow, dialogShow,
}, },
mixins: [table],
props: {
activeName: {
type: String,
default: () => "",
},
},
data() { data() {
return { return {
index: -1, index: -1,
dataArr: [ dataArr: [],
config: {
isshowTabPane: false,
search: [],
columns: [
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "分类", prop: "categoryId", formatter: this.formatter },
{ label: "考核名称", prop: "name" },
{ label: "评分标准", prop: "content" },
{ label: "增减类型", prop: "subAddType", formatter: this.formatter },
{ label: "分值", prop: "score" },
{ label: "负责人分值", prop: "ownerScore" },
{
label: "创建用户",
prop: "createUserId",
formatter: this.formatter,
},
{ {
name: "工作纪律", label: "操作",
width: 240,
formatter: (row) => {
return (
<table-buttons
noAdd
noView
row={row}
onEdit={this.eddRules}
onDel={this.toDelRules}
/>
);
},
}, },
], ],
},
}; };
}, },
mounted() {}, created() {
// this.getData();
},
methods: { methods: {
handleClick(val, i) { handleClick(val, i) {
...@@ -71,9 +126,53 @@ export default { ...@@ -71,9 +126,53 @@ export default {
addRules() { addRules() {
this.$refs.drawerform.add(); this.$refs.drawerform.add();
}, },
eddRules(row) {
this.$refs.drawerform.edit(row);
},
addCate() { addCate() {
this.$refs.dialogform.add(); this.$refs.dialogform.add();
}, },
toDelRules(val) {
console.log(val);
this.$get("/perform/rules/delete", { id: val }).then((res) => {
this.$message.success(res.msg);
this.getKaoQin();
});
},
/** 重写编辑方法 */
toEdit(row) {
this.$refs.dialogform.edit(row);
},
toDel(val) {
this.$get("/perform/rules/category/delete", { id: val.id }).then(
(res) => {
this.$message.success(res.msg);
this.getData();
}
);
},
async getData() {
await this.$post("/perform/rules/category/list").then((res) => {
this.getKaoQin();
if (res.code == 1) {
this.dataArr = res.data.data;
} else {
this.dataArr = [];
}
});
},
async getKaoQin() {
await this.$post("/perform/rules/list", { type: this.activeName }).then(
(res) => {
if (res.code == 1) {
this.tableData = res.data;
this.$forceUpdate(this.tableData);
} else {
this.tableData = {};
}
}
);
},
}, },
}; };
</script> </script>
...@@ -133,7 +232,7 @@ export default { ...@@ -133,7 +232,7 @@ export default {
text-align: left; text-align: left;
padding: 0 10px; padding: 0 10px;
border: 1px solid #ddd; border: 1px solid #ddd;
margin-bottom: 20px;
&:hover { &:hover {
background-color: rgba(22, 202, 122, 1); background-color: rgba(22, 202, 122, 1);
color: #ffffff; color: #ffffff;
......
...@@ -2,19 +2,19 @@ ...@@ -2,19 +2,19 @@
<div class="page"> <div class="page">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="考勤绩效指标" name="1"> <el-tab-pane label="考勤绩效指标" name="1">
<attend-index /> <attend-index v-if="activeName == 1" :activeName="activeName" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="评价绩效指标" name="2"> <el-tab-pane label="评价绩效指标" name="2">
<attend-index /> <attend-index v-if="activeName == 2" :activeName="activeName" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="办件绩效指标" name="3"> <el-tab-pane label="办件绩效指标" name="3">
<attend-index /> <attend-index v-if="activeName == 3" :activeName="activeName" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="效能绩效指标" name="4"> <el-tab-pane label="效能绩效指标" name="4">
<attend-index /> <attend-index v-if="activeName == 4" :activeName="activeName" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="其他绩效指标" name="5"> <el-tab-pane label="其他绩效指标" name="5">
<attend-index /> <attend-index v-if="activeName == 5" :activeName="activeName" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
...@@ -28,7 +28,8 @@ export default { ...@@ -28,7 +28,8 @@ export default {
created() {}, created() {},
methods: { methods: {
handleClick(tab, event) { handleClick(tab, event) {
console.log(tab, event);
// this.$forceUpdate(this.activeName);
}, },
}, },
data() { data() {
......
...@@ -30,6 +30,7 @@ export default { ...@@ -30,6 +30,7 @@ export default {
watch: { watch: {
title(val) { title(val) {
console.log(val); console.log(val);
this.drawLine();
}, },
}, },
mounted() { mounted() {
......
<template>
<!-- 弹出框表单 -->
<el-dialog :title="title" :visible.sync="open" width="90%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field
label="负责人id号"
prop="ownerId"
v-model="form.ownerId"
placeholder="请输入负责人id号"
/>
<Field
label="负责人名称"
prop="ownerName"
v-model="form.ownerName"
placeholder="请输入负责人名称"
/>
<Field
label="窗口工作人员id号"
prop="staffId"
v-model="form.staffId"
placeholder="请输入窗口工作人员id号"
/>
<Field
label="请假类型"
prop="assessmentType"
v-model="form.assessmentType"
type="select"
:enumData="dict.assessmentType"
placeholder="请选择请假类型"
/>
<Field
label="考核范围"
prop="assessmentScope"
v-model="form.assessmentScope"
type="select"
:enumData="dict.assessmentScope"
placeholder="请选择考核范围"
/>
<Field
label="考比较类型"
prop="compareScope"
v-model="form.compareScope"
type="select"
:enumData="dict.compareScope"
placeholder="请选择考比较类型"
/>
<Field
label="比例"
prop="ratio"
v-model="form.ratio"
placeholder="请输入比例"
/>
<Field
label="周期类型"
prop="periodType"
v-model="form.periodType"
type="select"
:enumData="dict.periodType"
placeholder="请选择周期类型"
/>
<Field
label="年"
prop="year"
v-model="form.year"
placeholder="请输入年"
/>
<Field
label="月"
prop="month"
v-model="form.month"
type="select"
:enumData="dict.month"
placeholder="请选择月"
/>
<Field
label="半年类型"
prop="halfYear"
v-model="form.halfYear"
type="select"
:enumData="dict.halfYear"
placeholder="请选择半年类型"
/>
<Field
label="半年类型"
prop="halfYear"
v-model="form.halfYear"
type="select"
:enumData="dict.halfYear"
placeholder="请选择半年类型"
/>
<Field
label="季度类型"
prop="quarter"
v-model="form.quarter"
type="select"
:enumData="dict.quarter"
placeholder="请选择季度类型"
/>
<Field
label="负责人,多个逗号分割"
prop="leaders"
v-model="form.leaders"
type="textarea"
placeholder="请输入负责人,多个逗号分割"
/>
<Field
label="负责人电话,多个逗号分割"
prop="leaderMobiles"
v-model="form.leaderMobiles"
type="textarea"
placeholder="请输入负责人电话,多个逗号分割"
/>
<Field
label="备注"
prop="remark"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
type="primary"
v-if="pageInfo.type !== 'view'"
@click="submitForm"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow,
},
data() {
return {
// 遮罩层
loading: true,
// 弹出层标题
title: "考核目标",
// 是否显示弹出层
open: false,
toString: [
"assessmentType",
"assessmentScope",
"compareScope",
"periodType",
"month",
"halfYear",
"halfYear",
"quarter",
],
// 表单校验
rules: {
year: [{ required: true, message: "请输入年", trigger: "blur" }],
month: [{ required: true, message: "请输入月", trigger: "blur" }],
},
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/perpose/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改考核目标";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "perform/perpose/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增考核目标";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "perform/perpose/view";
this.getData();
this.pageInfo.type = "view";
this.title = "考核目标详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
afterRender(data) {
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
// 表单重置
reset() {
this.form = {
ownerId: null,
ownerName: "",
staffId: null,
assessmentType: null,
assessmentScope: 1,
compareScope: 1,
ratio: 0.0,
periodType: 1,
year: null,
month: null,
halfYear: 1,
halfYear: 1,
quarter: 1,
leaders: "",
leaderMobiles: "",
remark: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</el-option> </el-option>
</el-select> </el-select>
<el-select <el-select
v-model="value" v-model="dateValue"
placeholder="请选择" placeholder="请选择"
style="margin: 0 10px;" style="margin: 0 10px;"
> >
...@@ -100,7 +100,9 @@ ...@@ -100,7 +100,9 @@
</div> </div>
<div class="bar_content"> <div class="bar_content">
<bar-charts <bar-charts
:title="'各部门1月旷工率对齐情况'" :title="
`${type == 1 ? '各部门' : '个人'}${dateValue}月旷工率对齐情况`
"
:id="'bar_content'" :id="'bar_content'"
:legendName="'旷工率'" :legendName="'旷工率'"
:styleObj="{ width: '1800px', height: '650px' }" :styleObj="{ width: '1800px', height: '650px' }"
...@@ -115,12 +117,12 @@ ...@@ -115,12 +117,12 @@
<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>
</el-radio-group> </el-radio-group>
<el-button type="primary" style="margin: 0 20px;"> <el-button type="primary" style="margin: 0 20px;" @click="addGoal">
+ 创建目标</el-button + 创建目标</el-button
> >
</div> </div>
<div class="mid_content"> <div class="mid_content">
<div class="goal_box"> <div class="goal_box" v-for="(val, i) in dataList" :key="i">
<div class="goal_title"> <div class="goal_title">
<img src="../../../../assets/images/u17641.svg" alt="" /> <img src="../../../../assets/images/u17641.svg" alt="" />
<span> <span>
...@@ -128,21 +130,34 @@ ...@@ -128,21 +130,34 @@
</span> </span>
</div> </div>
<p class="goal_txt"> <p class="goal_txt">
<span>目标部门:</span><span>全部部门</span> <span>{{ type == 1 ? "目标部门:" : "目标个人:" }}</span
><span>{{
type == 1 ? "全部部门" : "张三、李四、王武、陈真"
}}</span>
</p> </p>
<p class="goal_txt"><span>周期:</span><span>全部部门</span></p>
<p class="goal_txt"><span>负责人:</span><span>全部部门</span></p>
<p class="goal_txt"> <p class="goal_txt">
<span>最近更新:</span><span>全部部门</span> <span>周期:</span><span>2023年/全年</span>
</p> </p>
<p class="goal_txt"> <p class="goal_txt">
<span>更新人员:</span><span>全部部门</span> <span>负责人:</span><span>张三、李四、王武 </span>
</p> </p>
<p class="goal_txt">
<span>最近更新:</span><span>2023-05-11 10:00:00</span>
</p>
<p class="goal_txt"><span>更新人员:</span><span>言若海</span></p>
<div class="button_box"> <div class="button_box">
<el-button type="primary" style="width: 150px;" plain <el-button
type="primary"
style="width: 150px;"
plain
@click="hanleEdit(val)"
>编辑</el-button >编辑</el-button
> >
<el-button type="danger" style="width: 150px;" plain <el-button
type="danger"
style="width: 150px;"
plain
@click="hanleDel(val)"
>删除</el-button >删除</el-button
> >
</div> </div>
...@@ -151,6 +166,7 @@ ...@@ -151,6 +166,7 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<dialog-show ref="dialogform" @ok="getData" />
</div> </div>
</template> </template>
...@@ -158,24 +174,53 @@ ...@@ -158,24 +174,53 @@
import BarCharts from "./components/BarCharts.vue"; import BarCharts from "./components/BarCharts.vue";
import LineCharts from "./components/LineCharts.vue"; import LineCharts from "./components/LineCharts.vue";
import PieCharts from "./components/PieCharts.vue"; import PieCharts from "./components/PieCharts.vue";
import dialogShow from "./dialogshow";
export default { export default {
components: { components: {
BarCharts, BarCharts,
PieCharts, PieCharts,
LineCharts, LineCharts,
dialogShow,
}, },
name: "StaffPerformStatList", name: "StaffPerformStatList",
created() {}, created() {
this.getData();
},
methods: { methods: {
handleClick(tab, event) { handleClick(tab, event) {
console.log(tab, event); console.log(tab, event);
}, },
addGoal() {
this.$refs.dialogform.add();
},
/** 编辑方法 */
hanleEdit(row) {
this.$refs.dialogform.edit(row);
},
hanleDel(val) {
this.$get("/perform/perpose/delete", { id: val.id }).then((res) => {
this.$message.success(res.msg);
this.getData();
});
},
getData() {
this.$post("/perform/perpose/list").then((res) => {
console.log(res);
if (res.code == 1) {
this.dataList = res.data.data;
} else {
this.dataList = [];
}
});
},
}, },
data() { data() {
return { return {
activeName: "1", activeName: "1",
type: "1", type: "1",
dateValue: "1",
options: [ options: [
{ {
value: "1", value: "1",
...@@ -269,6 +314,7 @@ export default { ...@@ -269,6 +314,7 @@ export default {
}, },
], ],
value: "", value: "",
dataList: [],
}; };
}, },
}; };
......
...@@ -3,23 +3,21 @@ ...@@ -3,23 +3,21 @@
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig"> <LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable> </LayoutTable>
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
</div> </div>
</template> </template>
<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: "StaffPerformSummaryList", name: "StaffPerformSummaryList",
components: { components: {
dialogShow dialogShow,
},
mixins: [table],
created() {
}, },
mixins: [table],
created() {},
methods: { methods: {
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
...@@ -33,67 +31,81 @@ ...@@ -33,67 +31,81 @@
toView(row) { toView(row) {
this.$refs.dialogform.view(row); this.$refs.dialogform.view(row);
}, },
}, },
data() { data() {
return { return {
config: { config: {
isshowTabPane:true, isshowTabPane: true,
search: [ search: [
{ {
name: "createTimeStart", name: "createTimeStart",
type: "date", type: "date",
label: "月份" label: "月份",
}, },
{ {
name: "deptId", name: "deptId",
type: "select", type: "select",
label: "所属部门" label: "所属部门",
}, },
{ {
name: "staffName", name: "staffName",
type: "text", type: "text",
label: "员工姓名" label: "员工姓名",
}, },
], ],
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: "workNum"}, { label: "工号", prop: "workNum" },
{label: "所属部门", prop: "deptName"}, { label: "所属部门", prop: "deptName" },
{label: "考勤绩效", prop: "attendScore", formatter: this.formatter}, { label: "考勤绩效", prop: "attendScore", formatter: this.formatter },
{label: "评价绩效", prop: "assessScore", formatter: this.formatter}, { label: "评价绩效", prop: "assessScore", formatter: this.formatter },
{label: "办件绩效", prop: "workScore", formatter: this.formatter}, { label: "办件绩效", prop: "workScore", formatter: this.formatter },
{label: "效能绩效", prop: "effectScore", formatter: this.formatter}, { label: "效能绩效", prop: "effectScore", formatter: this.formatter },
{label: "其它绩效", prop: "otherScore", formatter: this.formatter}, { label: "其它绩效", prop: "otherScore", formatter: this.formatter },
{label: "累计异常分数", prop: "errorScore", formatter: this.formatter}, {
label: "累计异常分数",
prop: "errorScore",
formatter: this.formatter,
},
{label: "本月得分数", prop: "totalScore", formatter: this.formatter}, {
label: "本月得分数",
prop: "totalScore",
formatter: this.formatter,
},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
formatter: row => { formatter: (row) => {
return ( return (
<table-buttons noAdd noEdit noDel row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} /> <table-buttons
noAdd
noEdit
noDel
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
); );
} },
} },
] ],
} },
};
}
}; };
},
};
</script> </script>
...@@ -17,8 +17,8 @@ module.exports = { ...@@ -17,8 +17,8 @@ module.exports = {
hot: true,//自动保存 hot: true,//自动保存
proxy: { proxy: {
'/attendance': { '/attendance': {
//target: 'http://192.168.0.98:11039', target: 'http://192.168.0.98:11039',
target: 'http://localhost:17500', // target: 'http://localhost:17500',
changeOrigin: true, changeOrigin: true,
secure: false, secure: false,
cookieDomainRewrite: 'localhost', cookieDomainRewrite: 'localhost',
......
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