From d88c7daf794f41761d9d952280ae47d036b2bae8 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期四, 28 七月 2022 14:08:58 +0800
Subject: [PATCH] 对接
---
src/views/goalManagement/IncentiveRecording/index.vue | 21 ++---
src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue | 154 ++++++++++++++++++++++++++-----------
src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue | 51 ++++++++----
3 files changed, 150 insertions(+), 76 deletions(-)
diff --git a/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue b/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue
index cb66dc1..ec8fdd2 100644
--- a/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue
+++ b/src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue
@@ -5,7 +5,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="员工姓名" size="default">
- <el-input v-model="form.name" placeholder="请选择">
+ <el-input v-model="form.personId" placeholder="请选择">
<template #append> <el-button :icon="Search" @click="daiInpts" /> </template
></el-input>
</el-form-item>
@@ -14,35 +14,35 @@
<el-row>
<el-col :span="11">
<el-form-item label="奖惩名称" size="default">
- <el-input v-model="form.name" placeholder="请选择">
+ <el-input v-model="form.rewardPunishmentStandardId" placeholder="请选择">
<template #append> <el-button :icon="Search" @click="daiInpt" /> </template
></el-input>
</el-form-item>
</el-col>
- <el-col :span="11" :offset="2">
+ <!-- <el-col :span="11" :offset="2">
<el-form-item label="奖惩类型" size="default">
- <el-input v-model="form.name" />
+ <el-input disabled v-model="form.personId" />
</el-form-item>
- </el-col>
+ </el-col> -->
</el-row>
- <el-row>
+ <!-- <el-row>
<el-col :span="24">
<el-form-item label="奖惩内容" size="default">
- <el-input v-model="form.name" placeholder="请填写奖惩内容" />
+ <el-input disabled v-model="form.personId" placeholder="请填写奖惩内容" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="依据" size="default">
- <el-input v-model="form.name" placeholder="请填写奖惩依据" />
+ <el-input disabled v-model="form.personId" placeholder="请填写奖惩依据" />
</el-form-item>
</el-col>
- </el-row>
+ </el-row> -->
<el-row>
<el-col :span="24">
<el-form-item label="备注信息">
- <el-input v-model="form.name" type="textarea" />
+ <el-input v-model="form.memo" type="textarea" />
</el-form-item>
</el-col>
</el-row>
@@ -54,8 +54,8 @@
</span>
</template>
</el-dialog>
- <DailogSearchUser ref="Show"></DailogSearchUser>
- <DailogSearch ref="Shows"></DailogSearch>
+ <DailogSearchUser ref="Show" @SearchUser="UserId"></DailogSearchUser>
+ <DailogSearch ref="Shows" @backNum="numberId"></DailogSearch>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
@@ -66,9 +66,13 @@
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';
export default defineComponent({
components: { DailogSearch, DailogSearchUser },
- setup(props,{emit}) {
+ setup(props, { emit }) {
const dialogVisible = ref<boolean>(false);
- const form = ref({});
+ const form = ref({
+ rewardPunishmentStandardId: '', //奖惩标准/外键
+ memo: '', ////备注信息
+ personId: "", ////员工(多个用逗号隔开)
+ });
const titles = ref();
const disabled = ref(false);
// 打开弹窗
@@ -104,14 +108,18 @@
}
});
form.value = {
-
- }
+ rewardPunishmentStandardId: '', //奖惩标准/外键
+ memo: '', ////备注信息
+ personId: "", ////员工(多个用逗号隔开)
+ };
};
// 取消
const resetForm = () => {
dialogVisible.value = false;
form.value = {
-
+ rewardPunishmentStandardId: '', //奖惩标准/外键
+ memo: '', ////备注信息
+ personId: "", ////员工(多个用逗号隔开)
};
};
@@ -124,6 +132,13 @@
const daiInpts = () => {
Show.value.openDailog();
};
+ const numberId=(val:any)=>{
+ console.log(val)
+ form.value.rewardPunishmentStandardId=val.id
+ }
+ const UserId=(val:any)=>{
+ form.value.personId=val.id
+ }
//全屏
const full = ref(false);
const toggleFullscreen = () => {
@@ -135,11 +150,13 @@
};
return {
dialogVisible,
+ UserId,
form,
titles,
disabled,
openDailog,
submitForm,
+ numberId,
resetForm,
Shows,
daiInpt,
diff --git a/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue b/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue
index a5750f3..78310a2 100644
--- a/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue
+++ b/src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue
@@ -7,7 +7,7 @@
<el-row>
<el-col :span="12">
<el-form-item size="default">
- <el-input v-model="ruleForm.pass" placeholder="奖惩名称" />
+ <el-input v-model="ruleForm.searchParams.standardType" placeholder="奖惩类型" />
</el-form-item>
</el-col>
<!-- <el-col :span="6" :offset="1">
@@ -17,31 +17,44 @@
</el-col> -->
<el-col :span="11" :offset="1">
<el-form-item>
- <el-button size="default" type="primary" @click="submitForm">查询</el-button>
+ <el-button size="default" type="primary" @click="listApi">查询</el-button>
<el-button size="default" @click="resetForm">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
- <el-button size="default" :icon="Delete">清除选择</el-button>
- <el-table :data="tableData" style="width: 100%; margin-top: 20px">
- <el-table-column align="center" type="selection" />
- <el-table-column align="center" prop="date" label="奖惩名称" width="180" />
- <el-table-column align="center" prop="name" label="奖惩类型" width="180" />
- <el-table-column align="center" prop="address" label="奖惩内容" />
+ <el-button size="default" :icon="Delete" @click="clear">清除选择</el-button>
+ <el-table :data="tableData" style="width: 100%; margin-top: 20px" @cell-click="radio">
+ <el-table-column align="center">
+ <template #default="scope">
+ <el-radio-group v-model="radio1">
+ <el-radio :label="scope.row.id" size="large">{{ null }}</el-radio>
+ </el-radio-group>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="qname" label="奖惩名称" width="180" />
+ <el-table-column align="center" label="奖惩类型" width="180">
+ <template #default="scope">
+ <span v-if="scope.row.standardType==1">奖励</span>
+ <span v-if="scope.row.standardType==2">惩罚</span>
+ <span></span>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="content" label="奖惩内容" />
</el-table>
<el-pagination
style="padding: 20px 0; border-bottom: 1px solid #dedede"
v-model:currentPage="currentPage4"
v-model:page-size="pageSize4"
- :page-sizes="[100, 200, 300, 400]"
+ :page-sizes="[10, 20, 30, 40]"
layout="total, sizes, prev, pager, next, jumper"
- :total="1"
+ :total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</el-col>
<el-col :span="7">
+ <div v-if="dynamicTags[0]==''?false:true">
<el-tag
v-for="tag in dynamicTags"
:key="tag"
@@ -51,67 +64,105 @@
:disable-transitions="false"
@close="handleClose(tag)"
>
- {{ tag }}
+ {{ tag.qname }}
</el-tag>
+ </div>
</el-col>
</el-row>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogVisible = false" size="default">关闭</el-button>
- <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+ <el-button type="primary" @click="submitForm" size="default">确定</el-button>
</span>
</template>
</el-dialog>
</template>
<script lang="ts">
-import { defineComponent, reactive, ref } from 'vue';
+import { defineComponent, reactive, ref,onMounted } from 'vue';
import { Delete, FullScreen } from '@element-plus/icons-vue';
+import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
+import { goalManagementApi } from '/@/api/goalManagement';
export default defineComponent({
- setup() {
- const dialogVisible = ref<boolean>(false);
- const openDailog = () => {
- dialogVisible.value = true;
- };
+ setup(props,{emit}) {
// 搜索条件
const ruleForm = reactive({
- pass: '',
- checkPass: '',
+ pageSize: 10,
+ pageIndex: 1,
+ searchParams: {
+ standardType: '', ////奖惩类型 1:奖励 2:惩罚
+ },
});
+ // 重置
+ const resetForm = () => {
+ ruleForm.searchParams.standardType = '';
+ listApi();
+ };
+ const listApi = () => {
+ goalManagementApi()
+ .getrewardPunishmentStandardList(ruleForm)
+ .then((res) => {
+ if (res.data.code == 200) {
+ tableData.value = res.data.data;
+ currentPage4.value = res.data.pageIndex;
+ pageSize4.value = res.data.pageSize;
+ total.value = res.data.total;
+ } else {
+ ElMessage.error(res.data.msg);
+ }
+ });
+ };
+ //
+ const handleClick = (val: any) => {
+ let targetType = JSON.parse(JSON.stringify(val));
+ ruleForm.searchParams.standardType = targetType.paneName;
+ listApi();
+ };
+ onMounted(() => {
+
+ });
+ // const onAddorUpdata = () => {
+ // listApi();
+ // };
// 表格
- const tableData = [
- {
- date: '2016-05-03',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-02',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-04',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- {
- date: '2016-05-01',
- name: 'Tom',
- address: 'No. 189, Grove St, Los Angeles',
- },
- ];
- const pageSize4 = ref(100);
+ const tableData = ref();
+ const currentPage4 = ref();
+ const pageSize4 = ref();
+ const total = ref();
const handleSizeChange = (val: number) => {
- console.log(`${val} items per page`);
+ // console.log(`${val} items per page`);
+ ruleForm.pageSize = val;
+ listApi();
};
const handleCurrentChange = (val: number) => {
- console.log(`current page: ${val}`);
+ // console.log(`current page: ${val}`);
+ ruleForm.pageIndex = val;
+ listApi();
};
- // 右方点击添加后显示标签
- const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
+ // 打开弹窗
+ const dialogVisible=ref(false)
+ const openDailog=()=>{
+ dialogVisible.value=true
+ listApi();
+ }
+ // 右方点击添加后显示标签
+ const dynamicTags = ref(['']);
const handleClose = (tag: string) => {
dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
+ radio1.value = '';
};
+ const radio1 = ref('');
+ const radio = (event: any) => {
+ dynamicTags.value[0] = event;
+ };
+ const clear=()=>{
+ dynamicTags.value=['']
+ radio1.value=""
+ }
+ const submitForm=()=>{
+ let obj=JSON.parse(JSON.stringify(dynamicTags.value))
+ emit("backNum",obj[0])
+ dialogVisible.value = false
+ }
//全屏
const full = ref(false);
const toggleFullscreen = () => {
@@ -122,14 +173,23 @@
}
};
return {
+ submitForm,
+ radio,
+ radio1,
+ clear,
dialogVisible,
openDailog,
ruleForm,
+ resetForm,
tableData,
+ currentPage4,
pageSize4,
+ total,
handleSizeChange,
handleCurrentChange,
dynamicTags,
+ listApi,
+ handleClick,
handleClose,
Delete,
full,
diff --git a/src/views/goalManagement/IncentiveRecording/index.vue b/src/views/goalManagement/IncentiveRecording/index.vue
index 13a4b2c..0a2f8d9 100644
--- a/src/views/goalManagement/IncentiveRecording/index.vue
+++ b/src/views/goalManagement/IncentiveRecording/index.vue
@@ -28,15 +28,15 @@
<div class="btns">
<div>
<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
- <el-button size="default" type="warning" plain :icon="EditPen">修改</el-button>
- <el-button size="default" type="danger" :icon="Delete" plain @click="handleSelectionChange">删除 </el-button>
+ <el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
+ <el-button size="default" :disabled="danger" type="danger" :icon="Delete" plain @click="handleSelectionChange">删除 </el-button>
</div>
<div>
<!-- <el-button size="default" :icon="Download"></el-button>
<el-button size="default" :icon="Refresh"></el-button> -->
</div>
</div>
- <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
+ <el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="55" />
<el-table-column property="createTime" align="center" label="奖惩日期" sortable />
<el-table-column label="奖惩类型" align="center" sortable>
@@ -45,17 +45,14 @@
<span v-if="scope.row.standardType==2">惩罚</span>
</template>
</el-table-column>
- <el-table-column property="personName" align="center" label="被奖惩者" sortable />
+ <el-table-column property="personId" align="center" label="被奖惩者" sortable />
<el-table-column property="content" label="奖惩内容" align="center" sortable show-overflow-tooltip />
<el-table-column property="reason" label="奖惩依据" align="center" sortable show-overflow-tooltip />
- <!-- <el-table-column property="address" label="指标级别" align="center" sortable show-overflow-tooltip />
- <el-table-column property="address" label="完成期限" align="center" sortable show-overflow-tooltip />
- <el-table-column property="address" label="状态" align="center" sortable show-overflow-tooltip /> -->
- <el-table-column label="操作" align="center" style="width: 300px">
- <template #defaultt="scope">
- <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button>
+ <el-table-column label="操作" align="center" sortable show-overflow-tooltip>
+ <template #default="scope">
+ <el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看 </el-button>
<el-button link type="primary" size="default" :icon="EditPen" @click="openD('修改', scope.row.id)">修改</el-button>
- <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>
+ <el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除 </el-button>
</template>
</el-table-column>
</el-table>
@@ -70,7 +67,7 @@
@current-change="handleCurrentChange"
/>
</div>
- <DailogAdd ref="openAdd"></DailogAdd>
+ <DailogAdd ref="openAdd" @navAddorUpdata="onAddorUpdata"></DailogAdd>
<DailogSearchUser ref="openUser"></DailogSearchUser>
</div>
</div>
--
Gitblit v1.9.2