shj
2022-07-28 d88c7daf794f41761d9d952280ae47d036b2bae8
对接
已修改3个文件
226 ■■■■■ 文件已修改
src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/IncentiveRecording/index.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,
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,
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>