Your Name
2022-07-14 b80d156b719cef2b9e4fce7e5ada5325681585a9
Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqtOut
已重命名1个文件
已修改10个文件
已添加15个文件
2764 ■■■■■ 文件已修改
src/components/DailogSearch/DailogSearch.vue 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/updata/updata.vue 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/InstrumentationInformation/index.vue 281 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/deviceType/component/Dailog.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/facilityManagement/deviceType/index.vue 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/Goalsummary/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/IncentiveRecording/index.vue 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/Incentivestandard/component/DailogAdd.vue 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/Incentivestandard/index.vue 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/TargetBook/component/DailogAdd.vue 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/TargetBook/component/DailogSearch.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/TargetBook/index.vue 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/performanceAppraisal/component/DailogAq.vue 240 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/performanceAppraisal/component/DailogKh.vue 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/performanceAppraisal/component/DailogKhS.vue 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/performanceAppraisal/index.vue 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/processForms/processForms.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/safetyAssessment/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/targetDecompositionMonth/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/targetDecompositionYear/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/targetEscalation/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/targetImprovements/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/goalManagement/targetSettings/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/DailogSearch/DailogSearch.vue
@@ -2,52 +2,67 @@
    <el-dialog v-model="dialogVisible" title="选择安全目标指标" width="50%" draggable>
        <el-row>
            <el-col :span="17">
        <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
            <el-row>
                <el-col :span="6">
                    <el-form-item>
                        <el-input v-model="ruleForm.pass" placeholder="安全目标指标" />
                    </el-form-item>
                </el-col>
                <el-col :span="6" :offset="1">
                    <el-form-item>
                        <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                    </el-form-item>
                </el-col>
                <el-col :span="6" :offset="1">
                    <el-form-item>
                        <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                        <el-button @click="resetForm(ruleFormRef)">重置</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" prop="date" label="安全目标指标" width="180" />
            <el-table-column align="center" prop="name" label="目标指标编号" width="180" />
            <el-table-column align="center" prop="address" label="年度" />
            <el-table-column align="center" prop="address" 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]"
            :small="small"
            :disabled="disabled"
            :background="background"
            layout="total, sizes, prev, pager, next, jumper"
            :total="400"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
        />
        </el-col>
        <el-col :span="7">
            <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
                <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
                    <el-row>
                        <el-col :span="6">
                            <el-form-item>
                                <el-input v-model="ruleForm.pass" placeholder="安全目标指标" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="6" :offset="1">
                            <el-form-item>
                                <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="6" :offset="1">
                            <el-form-item>
                                <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                                <el-button @click="resetForm(ruleFormRef)">重置</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">
                        <template #default="scope">
                            <el-radio-group v-model="radio1" @change="radio">
                                <el-radio :label="scope.row.date" size="large">{{null}}</el-radio>
                            </el-radio-group>
                        </template>
                    </el-table-column>
                    <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-table-column align="center" prop="address" 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]"
                    :small="small"
                    :disabled="disabled"
                    :background="background"
                    layout="total, sizes, prev, pager, next, jumper"
                    :total="400"
                    @size-change="handleSizeChange"
                    @current-change="handleCurrentChange"
                />
            </el-col>
            <el-col :span="7">
                <el-tag
                    v-for="tag in dynamicTags"
                    :key="tag"
                    class="mx-1"
                    style="margin: 5px"
                    closable
                    :disable-transitions="false"
                    @close="handleClose(tag)"
                >
                    {{ tag }}
                </el-tag>
        </el-col>
            </el-col>
        </el-row>
        <template #footer>
            <span class="dialog-footer">
@@ -102,10 +117,15 @@
            console.log(`current page: ${val}`);
        };
        // 右方点击添加后显示标签
        const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
        const dynamicTags = ref(['2016-05-03']);
        const handleClose = (tag: string) => {
            dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
            radio1.value=""
        };
        const radio1=ref('2016-05-03')
        const radio=(event:any)=>{
            dynamicTags.value[0]=event
        }
        return {
            dialogVisible,
            openDailog,
@@ -116,6 +136,8 @@
            handleCurrentChange,
            dynamicTags,
            handleClose,
            radio1,
            radio,
            Delete,
        };
    },
src/components/updata/updata.vue
src/views/facilityManagement/InstrumentationInformation/index.vue
对比新文件
@@ -0,0 +1,281 @@
<template>
    <div>
        <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
            <el-row>
                <el-col :span="4">
                    <el-form-item>
                        <el-input v-model="ruleForm.pass" placeholder="装置设施名称" />
                    </el-form-item>
                </el-col>
                <el-col :span="4">
                    <el-form-item>
                        <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                        <el-button @click="resetForm(ruleFormRef)">重置</el-button>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <el-row>
            <el-col :span="4">
                <div class="tree">
                    <el-input v-model="filterText" style="height: 30px" placeholder="Filter keyword" />
                    <el-tree ref="treeRef" class="filter-tree" :data="data" :props="defaultProps" default-expand-all :filter-node-method="filterNode" />
                </div>
            </el-col>
            <el-col :span="20">
                <div class="btns">
                    <div>
                        <el-button type="primary" :icon="Plus" @click="openD">新建</el-button>
                        <el-button type="warning" plain :icon="EditPen">修改</el-button>
                        <el-button type="danger" :icon="Delete" plain>删除</el-button>
                    </div>
                    <div>
                        <el-button :icon="Upload"></el-button>
                        <el-button :icon="Download"></el-button>
                        <el-button :icon="Refresh"></el-button>
                    </div>
                </div>
                <div style="padding-left: 10px">
                    <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                        <el-table-column type="selection" align="center" width="55" />
                        <el-table-column type="expand">
                            <template #default>
                                <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin: 0 5%">
                                    <el-tab-pane label="设备保养" name="first">
                                        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                                            <el-table-column property="name" align="center" label="保养情况" sortable />
                                            <el-table-column property="name" align="center" label="保养负责人" sortable />
                                            <el-table-column property="name" align="center" label="保养日期" sortable />
                                            <el-table-column property="name" align="center" label="保养负责人单位" sortable />
                                        </el-table>
                                    </el-tab-pane>
                                    <el-tab-pane label="设备检查" name="second"
                                        ><el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                                            <el-table-column property="name" align="center" label="检查人" sortable />
                                            <el-table-column property="name" align="center" label="检查日期" sortable />
                                            <el-table-column property="name" align="center" label="检查人部门" sortable />
                                            <el-table-column property="name" align="center" label="检查结果" sortable />
                                            <el-table-column property="name" align="center" label="检查状态" sortable /> </el-table
                                    ></el-tab-pane>
                                    <el-tab-pane label="设备检测" name="third">
                                        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                                            <el-table-column property="name" align="center" label="检测人" sortable />
                                            <el-table-column property="name" align="center" label="检测日期" sortable />
                                            <el-table-column property="name" align="center" label="检测人单位" sortable />
                                            <el-table-column property="name" align="center" label="检测内容" sortable />
                                            <el-table-column property="name" align="center" label="检测结果" sortable />
                                            <el-table-column property="name" align="center" label="检测状态" sortable />
                                        </el-table>
                                    </el-tab-pane>
                                    <el-tab-pane label="设备维修" name="fourth">
                                        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                                            <el-table-column property="name" align="center" label="设施异常项" sortable />
                                            <el-table-column property="name" align="center" label="维修状态" sortable />
                                            <el-table-column property="name" align="center" label="维修情况" sortable />
                                            <el-table-column property="name" align="center" label="维修负责人" sortable />
                                            <el-table-column property="name" align="center" label="维修负责人单位" sortable />
                                            <el-table-column property="name" align="center" label="维修开始日期" sortable />
                                            <el-table-column property="name" align="center" label="维修结束日期" sortable />
                                        </el-table>
                                    </el-tab-pane>
                                </el-tabs>
                            </template>
                        </el-table-column>
                        <el-table-column label="装置设施名称" align="center" sortable>
                            <template #default="scope">{{ scope.row.date }}</template>
                        </el-table-column>
                        <el-table-column property="name" align="center" label="装置设施位号" sortable />
                        <el-table-column property="name" align="center" label="装置设施用途" sortable />
                        <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 #default>
                                <el-button link type="primary" size="default" :icon="View">查看</el-button>
                                <el-button link type="primary" size="default" :icon="EditPen">修改</el-button>
                                <el-button link type="primary" size="default" :icon="Delete">删除</el-button>
                            </template>
                        </el-table-column>
                    </el-table>
                    <div class="pages">
                        <el-pagination
                            v-model:currentPage="currentPage4"
                            v-model:page-size="pageSize4"
                            :page-sizes="[100, 200, 300, 400]"
                            :small="small"
                            :disabled="disabled"
                            :background="background"
                            layout="total, sizes, prev, pager, next, jumper"
                            :total="400"
                            @size-change="handleSizeChange"
                            @current-change="handleCurrentChange"
                        />
                    </div>
                </div>
            </el-col>
        </el-row>
    </div>
</template>
<script lang="ts">
import { defineComponent, ref, reactive, watch } from 'vue';
import { ElTree, TabsPaneContext } from 'element-plus';
import { EditPen, Plus, Delete, Download, Refresh, Upload } from '@element-plus/icons-vue';
interface Tree {
    id: number;
    label: string;
    children?: Tree[];
}
export default defineComponent({
    setup() {
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        const filterText = ref('');
        const treeRef = ref<InstanceType<typeof ElTree>>();
        const defaultProps = {
            children: 'children',
            label: 'label',
        };
        watch(filterText, (val) => {
            treeRef.value!.filter(val);
        });
        const filterNode = (value: string, data: Tree) => {
            if (!value) return true;
            return data.label.includes(value);
        };
        const data: Tree[] = [
            {
                id: 1,
                label: 'Level one 1',
                children: [
                    {
                        id: 4,
                        label: 'Level two 1-1',
                        children: [
                            {
                                id: 9,
                                label: 'Level three 1-1-1',
                            },
                            {
                                id: 10,
                                label: 'Level three 1-1-2',
                            },
                        ],
                    },
                ],
            },
            {
                id: 2,
                label: 'Level one 2',
                children: [
                    {
                        id: 5,
                        label: 'Level two 2-1',
                    },
                    {
                        id: 6,
                        label: 'Level two 2-2',
                    },
                ],
            },
            {
                id: 3,
                label: 'Level one 3',
                children: [
                    {
                        id: 7,
                        label: 'Level two 3-1',
                    },
                    {
                        id: 8,
                        label: 'Level two 3-2',
                    },
                ],
            },
        ];
        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',
            },
            {
                date: '2016-05-08',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-06',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-07',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
        ];
        const activeName = ref('first');
        const handleClick = (tab: TabsPaneContext, event: Event) => {
            console.log(tab, event);
        };
        return {
            activeName,
            handleClick,
            ruleForm,
            filterText,
            treeRef,
            defaultProps,
            filterNode,
            data,
            tableData,
            Plus,
            EditPen,
            Delete,
            Download,
            Refresh,
            Upload,
        };
    },
});
</script>
<style scoped>
.topTitle {
    background-color: #fff;
    padding: 20px 0px 20px 0px;
    margin-bottom: 10px;
}
.tree {
    height: 750px;
    background-color: #fff;
    overflow: hidden;
    overflow-y: auto;
}
.btns {
    padding: 10px 0px 10px 10px;
    display: flex;
    justify-content: space-between;
    background-color: #fff;
}
</style>
src/views/facilityManagement/deviceType/component/Dailog.vue
对比新文件
@@ -0,0 +1,64 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建设备设施类型管理" width="50%" draggable>
         <el-form :model="form" label-width="120px">
        <el-row>
            <el-col :span="11">
                <el-form-item label="是否为设备内容">
                <el-select v-model="form.region" placeholder="请选择" style="width:100%">
                    <el-option label="Zone one" value="shanghai" />
                    <el-option label="Zone two" value="beijing" />
                </el-select>
                 </el-form-item>
            </el-col>
            <el-col :span="11" :offset="2">
                <el-form-item label="父级编号">
                <el-select v-model="form.region" placeholder="请选择" style="width:100%">
                    <el-option label="Zone one" value="shanghai" />
                    <el-option label="Zone two" value="beijing" />
                </el-select>
                </el-form-item>
            </el-col>
        </el-row>
        <el-row>
            <el-col :span="11">
                <el-form-item label="类别名称">
                <el-input v-model="form.name" />
                 </el-form-item>
            </el-col>
            <el-col :span="11" :offset="2">
                <el-form-item label="排列序列">
                <el-input v-model="form.name" />
                </el-form-item>
            </el-col>
        </el-row>
        </el-form>
        <template #footer>
            <span class="dialog-footer">
                <el-button @click="dialogVisible = false">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false">确定</el-button>
            </span>
        </template>
    </el-dialog>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
export default defineComponent({
    setup() {
        const dialogVisible = ref(false);
        const form = ref({});
        const openDailog=()=>{
            dialogVisible.value=true
        }
        return {
            dialogVisible,
            form,
            openDailog
        };
    },
});
</script>
<style scoped>
.el-row{
    padding: 0 0 20px 0;
}
</style>
src/views/facilityManagement/deviceType/index.vue
对比新文件
@@ -0,0 +1,96 @@
<template>
    <div class="box">
        <el-button type="primary" :icon="Plus" @click="openD">新建</el-button>
         <el-table :data="tableData" style="width: 100%"  row-key="id">
    <el-table-column align="center" prop="date" label="是否为设备内容"/>
    <el-table-column align="center" prop="name" label="巡检" />
    <el-table-column align="center" prop="address" label="检测" />
    <el-table-column align="center" prop="address" label="类别名称" />
    <el-table-column align="center" label="操作">
        <template #default>
         <el-button type="primary" link :icon="View">查看</el-button>
         <el-button type="primary" link :icon="EditPen">修改</el-button>
         <el-button type="primary" link :icon="Delete">删除</el-button>
         <el-button type="primary" link :icon="CirclePlus">添加下级设备设施类型管理</el-button>
        </template>
    </el-table-column>
  </el-table>
   <Dailog ref="Show"></Dailog>
    </div>
</template>
<script lang="ts">
import { defineComponent,ref } from 'vue'
import {Plus,View,EditPen,Delete,CirclePlus} from '@element-plus/icons-vue'
import Dailog from "./component/Dailog.vue"
export default defineComponent({
    components:{Dailog},
    setup() {
      const tableData = [
  {
    id: 1,
    date: '2016-05-02',
    name: 'wangxiaohu',
  },
  {
    id: 2,
    date: '2016-05-04',
    name: 'wangxiaohu',
  },
  {
    id: 3,
    date: '2016-05-01',
    name: 'wangxiaohu',
    children: [
      {
        id: 31,
        date: '2016-05-01',
        name: 'wangxiaohu',
         children: [
      {
        id: 35,
        date: '2016-05-01',
        name: 'wangxiaohu',
      },
      {
        id: 36,
        date: '2016-05-01',
        name: 'wangxiaohu',
      },
    ],
      },
      {
        id: 32,
        date: '2016-05-01',
        name: 'wangxiaohu',
      },
    ],
  },
  {
    id: 4,
    date: '2016-05-03',
    name: 'wangxiaohu',
  },
]
    const Show=ref()
    const openD=()=>{
        Show.value.openDailog()
    }
       return{
           tableData,
           Show,
           openD,
           Plus,
           View,
           EditPen,
           Delete,
           CirclePlus
       }
    },
})
</script>
<style scoped>
.box{
    padding: 20px;
    background-color: #fff;
}
</style>
src/views/goalManagement/Goalsummary/index.vue
@@ -1,4 +1,5 @@
<template>
  <div>
    <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
        <el-row>
            <el-col :span="4">
@@ -64,6 +65,7 @@
            />
        </div>
    </div>
    </div>
</template>
<script lang="ts">
import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';
src/views/goalManagement/IncentiveRecording/component/DailogAdd.vue
对比新文件
@@ -0,0 +1,112 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建奖惩记录" width="50%" draggable>
        <el-form :model="form" label-width="120px">
            <el-row>
                <el-col :span="24">
                    <el-form-item label="员工姓名">
                        <el-input v-model="form.name" placeholder="请选择">
                            <template #append> <el-button :icon="Search" @click="daiInpts" /> </template
                        ></el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="奖惩名称">
                        <el-input v-model="form.name" placeholder="请选择">
                            <template #append> <el-button :icon="Search" @click="daiInpt" /> </template
                        ></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="奖惩类型">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
            </el-row>
                <el-row>
                <el-col :span="24">
                    <el-form-item label="奖惩内容">
                        <el-input v-model="form.name" placeholder="请填写奖惩内容" />
                    </el-form-item>
                </el-col>
            </el-row>
                <el-row>
                <el-col :span="24">
                    <el-form-item label="依据">
                        <el-input v-model="form.name"  placeholder="请填写奖惩依据"/>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="备注信息">
                        <el-input v-model="form.name" type="textarea" />
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <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>
            </span>
        </template>
    </el-dialog>
    <DailogSearchUser ref="Show"></DailogSearchUser>
    <DailogSearch ref="Shows"></DailogSearch>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search } from '@element-plus/icons-vue';
import DailogSearch from './DailogSearch.vue';
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'
export default defineComponent({
    components: { DailogSearch,DailogSearchUser },
    setup() {
        const dialogVisible = ref<boolean>(false);
        const form = reactive({
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: '',
        });
        const openDailog = (type: string, value: any, projectList: any, projectId: string) => {
            dialogVisible.value = true;
        };
        // 导航
        const activeName = ref('1');
        // 表格
        // 安全目标指标弹窗
        const Shows = ref();
        const daiInpt = () => {
            Shows.value.openDailog();
        };
        const Show = ref();
        const daiInpts = () => {
            Show.value.openDailog();
        };
        return {
            form,
            dialogVisible,
            openDailog,
            activeName,
            Shows,
            daiInpt,
            Show,
            daiInpts,
            Search,
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/IncentiveRecording/component/DailogSearch.vue
对比新文件
@@ -0,0 +1,128 @@
<template>
    <el-dialog v-model="dialogVisible" title="奖惩类型" width="50%" draggable>
        <el-row>
            <el-col :span="17">
        <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
            <el-row>
                <el-col :span="12">
                    <el-form-item>
                        <el-input v-model="ruleForm.pass" placeholder="奖惩名称" />
                    </el-form-item>
                </el-col>
                <!-- <el-col :span="6" :offset="1">
                    <el-form-item>
                        <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                    </el-form-item>
                </el-col> -->
                <el-col :span="11" :offset="1">
                    <el-form-item>
                        <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                        <el-button @click="resetForm(ruleFormRef)">重置</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-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]"
            :small="small"
            :disabled="disabled"
            :background="background"
            layout="total, sizes, prev, pager, next, jumper"
            :total="400"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
        />
        </el-col>
        <el-col :span="7">
            <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
                    {{ tag }}
                </el-tag>
        </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>
            </span>
        </template>
    </el-dialog>
</template>
<script lang="ts">
import { defineComponent, reactive, ref } from 'vue';
import { Delete } from '@element-plus/icons-vue';
export default defineComponent({
    setup() {
        const dialogVisible = ref<boolean>(false);
        const openDailog = () => {
            dialogVisible.value = true;
        };
        // 搜索条件
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        // 表格
        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 handleSizeChange = (val: number) => {
            console.log(`${val} items per page`);
        };
        const handleCurrentChange = (val: number) => {
            console.log(`current page: ${val}`);
        };
        // 右方点击添加后显示标签
        const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
        const handleClose = (tag: string) => {
            dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
        };
        return {
            dialogVisible,
            openDailog,
            ruleForm,
            tableData,
            pageSize4,
            handleSizeChange,
            handleCurrentChange,
            dynamicTags,
            handleClose,
            Delete,
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/IncentiveRecording/index.vue
对比新文件
@@ -0,0 +1,208 @@
<template>
<div>
    <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
        <el-row>
            <el-col :span="4">
                <el-form-item>
                    <el-input v-model="ruleForm.name" placeholder="请选择被奖惩者">
                            <template #append> <el-button :icon="Search" @click="openSearch" /> </template
                        ></el-input>
                </el-form-item>
            </el-col>
            <!-- <el-col :span="4">
                <el-form-item>
                    <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                </el-form-item>
            </el-col> -->
            <el-col :span="4">
                <el-form-item>
                    <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                    <el-button @click="resetForm(ruleFormRef)">重置</el-button>
                </el-form-item>
            </el-col>
        </el-row>
    </el-form>
    <div class="minCenter">
            <div class="btns">
                <div>
                    <el-button type="primary" :icon="Plus" @click="openD">新建</el-button>
                    <el-button type="warning" plain :icon="EditPen">修改</el-button>
                    <el-button type="danger" :icon="Delete" plain>删除</el-button>
                </div>
                <div>
                    <el-button :icon="Download"></el-button>
                    <el-button :icon="Refresh"></el-button>
                </div>
            </div>
        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
            <el-table-column type="selection" align="center" width="55" />
            <el-table-column label="奖惩日期" align="center" sortable>
                <template #default="scope">{{ scope.row.date }}</template>
            </el-table-column>
            <el-table-column property="name" align="center" label="奖惩类型" sortable />
            <el-table-column property="name" align="center" label="被奖惩者" sortable />
            <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 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 #default>
                    <el-button link type="primary" size="default" :icon="View">查看</el-button>
                    <el-button link type="primary" size="default" :icon="EditPen">修改</el-button>
                    <el-button link type="primary" size="default" :icon="Delete">删除</el-button>
                </template>
            </el-table-column>
        </el-table>
        <div class="pages">
            <el-pagination
                v-model:currentPage="currentPage4"
                v-model:page-size="pageSize4"
                :page-sizes="[100, 200, 300, 400]"
                :small="small"
                :disabled="disabled"
                :background="background"
                layout="total, sizes, prev, pager, next, jumper"
                :total="400"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
            />
        </div>
        <DailogAdd ref="openAdd"></DailogAdd>
        <DailogSearchUser ref="openUser"></DailogSearchUser>
    </div>
    </div>
</template>
<script lang="ts">
import DailogAdd from './component/DailogAdd.vue'
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue'
import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
import { Plus, Delete, Upload, Download, Refresh, View,EditPen,Search} from '@element-plus/icons-vue';
interface User {
    date: string;
    name: string;
    address: string;
}
import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
export default defineComponent({
    components: { ElButton, ElInput,DailogAdd,DailogSearchUser },
    setup() {
        // 搜索条件
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        const formatter = (row: User, column: TableColumnCtx<User>) => {
            return row.address;
        };
        const tableData: User[] = [
            {
                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',
            },
            {
                date: '2016-05-08',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-06',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-07',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
        ];
        const currentPage4 = ref(4);
        const pageSize4 = ref(100);
        const small = ref(false);
        const disabled = ref(false);
        const background = ref(false);
        const handleSizeChange = (val: number) => {
            console.log(`${val} items per page`);
        };
        const handleCurrentChange = (val: number) => {
            console.log(`current page: ${val}`);
        };
        // 弹窗
        const openAdd = ref();
        const openD = () => {
            openAdd.value.openDailog();
        };
        const openUser =ref();
        const openSearch=()=>{
            openUser.value.openDailog()
        }
        return {
            tableData,
            formatter,
            currentPage4,
            pageSize4,
            handleSizeChange,
            handleCurrentChange,
            openAdd,
            openD,
            small,
            disabled,
            background,
            ruleForm,
            openUser,
            openSearch,
            Plus,
            Delete,
            Upload,
            Download,
            Refresh,
            View,
            EditPen,
            Search
        };
    },
});
</script>
<style scoped>
.minCenter {
    width: 100%;
    background-color: #fff;
    margin-top: 10px;
    padding: 0 20px;
}
.topTitle {
  background-color: #fff;
  padding: 20px 0px 20px 0px;
  margin-bottom:10px ;
}
.btns {
    padding: 10px 0px 10px 0px;
    display: flex;
    justify-content: space-between;
}
.pages {
    padding: 20px 0;
    display: flex;
    justify-content: right;
}
</style>
src/views/goalManagement/Incentivestandard/component/DailogAdd.vue
对比新文件
@@ -0,0 +1,84 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建奖惩标准设定" width="50%" draggable>
        <el-form :model="form" label-width="120px">
            <el-row>
                <el-col :span="11">
                    <el-form-item label="奖惩类型">
                        <el-select v-model="form.region" style="width:100%" placeholder="">
                            <el-option label="Zone one" value="shanghai" />
                            <el-option label="Zone two" value="beijing" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="奖惩内容">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="奖惩名称">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="依据">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="备注信息">
                        <el-input v-model="form.name" type="textarea" />
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <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>
            </span>
        </template>
    </el-dialog>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search } from '@element-plus/icons-vue';
export default defineComponent({
    setup() {
        const dialogVisible = ref<boolean>(false);
        const form = reactive({
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: '',
        });
        const openDailog = (type: string, value: any, projectList: any, projectId: string) => {
            dialogVisible.value = true;
        };
        // 导航
        const activeName = ref('1');
        // 表格
        return {
            form,
            dialogVisible,
            openDailog,
            activeName,
            Search,
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/Incentivestandard/index.vue
对比新文件
@@ -0,0 +1,211 @@
<template>
<div>
    <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
        <el-row>
            <el-col :span="4">
                <el-form-item>
                    <el-select v-model="ruleForm.region" style="width:100%" placeholder="">
                        <el-option label="Zone one" value="shanghai" />
                        <el-option label="Zone two" value="beijing" />
                    </el-select>
                </el-form-item>
            </el-col>
            <!-- <el-col :span="4">
                <el-form-item>
                    <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                </el-form-item>
            </el-col> -->
            <el-col :span="4">
                <el-form-item>
                    <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                    <el-button @click="resetForm(ruleFormRef)">重置</el-button>
                </el-form-item>
            </el-col>
        </el-row>
    </el-form>
    <div class="minCenter">
            <div class="btns">
                <div>
                    <el-button type="primary" :icon="Plus" @click="openD">新建</el-button>
                    <el-button type="warning" plain :icon="EditPen">修改</el-button>
                    <el-button type="danger" :icon="Delete" plain>删除</el-button>
                </div>
                <div>
                    <el-button :icon="Upload" @click="upButton"></el-button>
                    <el-button :icon="Download"></el-button>
                    <el-button :icon="Refresh"></el-button>
                </div>
            </div>
        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
            <el-table-column type="selection" align="center" width="55" />
            <el-table-column label="奖惩名称" align="center" sortable>
                <template #default="scope">{{ scope.row.date }}</template>
            </el-table-column>
            <el-table-column property="name" align="center" label="奖惩类型" sortable />
            <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 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" sortable show-overflow-tooltip>
                <template #default>
                    <el-button link type="primary" size="default" :icon="View">查看</el-button>
                    <el-button link type="primary" size="default" :icon="EditPen">修改</el-button>
                    <el-button link type="primary" size="default" :icon="Delete">删除</el-button>
                </template>
            </el-table-column>
        </el-table>
        <div class="pages">
            <el-pagination
                v-model:currentPage="currentPage4"
                v-model:page-size="pageSize4"
                :page-sizes="[100, 200, 300, 400]"
                :small="small"
                :disabled="disabled"
                :background="background"
                layout="total, sizes, prev, pager, next, jumper"
                :total="400"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
            />
        </div>
        <DailogAdd ref="openAdd"></DailogAdd>
        <upData ref="upShow"></upData>
    </div>
    </div>
</template>
<script lang="ts">
import DailogAdd from './component/DailogAdd.vue'
import upData from '../../../components/updata/updata.vue';
import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
import { Plus, Delete, Upload, Download, Refresh, View,EditPen } from '@element-plus/icons-vue';
interface User {
    date: string;
    name: string;
    address: string;
}
import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
export default defineComponent({
    components: { ElButton, ElInput, upData,DailogAdd },
    setup() {
        // 搜索条件
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        const formatter = (row: User, column: TableColumnCtx<User>) => {
            return row.address;
        };
        const tableData: User[] = [
            {
                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',
            },
            {
                date: '2016-05-08',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-06',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-07',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
        ];
        const currentPage4 = ref(4);
        const pageSize4 = ref(100);
        const small = ref(false);
        const disabled = ref(false);
        const background = ref(false);
        const handleSizeChange = (val: number) => {
            console.log(`${val} items per page`);
        };
        const handleCurrentChange = (val: number) => {
            console.log(`current page: ${val}`);
        };
        // 弹窗
        const openAdd = ref();
        const openD = () => {
            openAdd.value.openDailog();
        };
        // 上传
        const upShow = ref();
        const upButton = () => {
            upShow.value.openDialog();
        };
        return {
            tableData,
            formatter,
            currentPage4,
            pageSize4,
            handleSizeChange,
            handleCurrentChange,
            openAdd,
            openD,
            upShow,
            upButton,
            small,
            disabled,
            background,
            ruleForm,
            Plus,
            Delete,
            Upload,
            Download,
            Refresh,
            View,
            EditPen
        };
    },
});
</script>
<style scoped>
.minCenter {
    width: 100%;
    background-color: #fff;
    margin-top: 10px;
    padding: 0 20px;
}
.topTitle {
  background-color: #fff;
  padding: 20px 0px 20px 0px;
  margin-bottom:10px ;
}
.btns {
    padding: 10px 0px 10px 0px;
    display: flex;
    justify-content: space-between;
}
.pages {
    padding: 20px 0;
    display: flex;
    justify-content: right;
}
</style>
src/views/goalManagement/TargetBook/component/DailogAdd.vue
对比新文件
@@ -0,0 +1,142 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建目标责任书" width="50%" draggable>
        <el-form :model="form" label-width="120px">
            <el-row>
                <el-col :span="24">
                    <el-form-item label="岗位">
                        <el-input v-model="form.name" placeholder="请选择">
                            <template #append> <el-button :icon="Search" @click="daiInpt" /> </template
                        ></el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="责任书签订日期">
                        <el-date-picker v-model="form.date1" type="date" placeholder="Pick a date" style="width: 100%" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="备注信息">
                        <el-input v-model="form.name" type="textarea" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="责任书附件">
                        <el-upload
                            v-model:file-list="fileList"
                            class="upload-demo"
                            action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                            multiple
                            :on-preview="handlePreview"
                            :on-remove="handleRemove"
                            :before-remove="beforeRemove"
                            :limit="3"
                            :on-exceed="handleExceed"
                        >
                            <el-button type="primary">点击上传</el-button>
                            <template #tip>
                                <div class="el-upload__tip">添加相关附件</div>
                            </template>
                        </el-upload>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <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>
            </span>
        </template>
    </el-dialog>
    <DailogSearch ref="Shows"></DailogSearch>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search } from '@element-plus/icons-vue';
import DailogSearch from './DailogSearch.vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
export default defineComponent({
    components: { DailogSearch },
    setup() {
        const dialogVisible = ref<boolean>(false);
        const form = reactive({
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: '',
        });
        const openDailog = (type: string, value: any, projectList: any, projectId: string) => {
            dialogVisible.value = true;
        };
        // 导航
        const activeName = ref('1');
        // 表格
        // 安全目标指标弹窗
        const Shows = ref();
        const daiInpt = () => {
            Shows.value.openDailog();
        };
        // 点击上传
        const fileList = ref<UploadUserFile[]>([
            {
                name: 'element-plus-logo.svg',
                url: 'https://element-plus.org/images/element-plus-logo.svg',
            },
            {
                name: 'element-plus-logo2.svg',
                url: 'https://element-plus.org/images/element-plus-logo.svg',
            },
        ]);
        const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
            console.log(file, uploadFiles);
        };
        const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
            console.log(uploadFile);
        };
        const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
            ElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);
        };
        const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
            return ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(
                () => true,
                () => false
            );
        };
        return {
            form,
            dialogVisible,
            openDailog,
            activeName,
            Shows,
            daiInpt,
            Search,
            fileList,
            handleRemove,
            handlePreview,
            handleExceed,
            beforeRemove
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/TargetBook/component/DailogSearch.vue
对比新文件
@@ -0,0 +1,126 @@
<template>
    <el-dialog v-model="dialogVisible" title="选择岗位" width="50%" draggable>
        <el-row>
            <el-col :span="17">
        <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
            <el-row>
                <el-col :span="12">
                    <el-form-item>
                        <el-input v-model="ruleForm.pass" placeholder="岗位名称" />
                    </el-form-item>
                </el-col>
                <!-- <el-col :span="6" :offset="1">
                    <el-form-item>
                        <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                    </el-form-item>
                </el-col> -->
                <el-col :span="11" :offset="1">
                    <el-form-item>
                        <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                        <el-button @click="resetForm(ruleFormRef)">重置</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="岗位名称" />
        </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]"
            :small="small"
            :disabled="disabled"
            :background="background"
            layout="total, sizes, prev, pager, next, jumper"
            :total="400"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
        />
        </el-col>
        <el-col :span="7">
            <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
                    {{ tag }}
                </el-tag>
        </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>
            </span>
        </template>
    </el-dialog>
</template>
<script lang="ts">
import { defineComponent, reactive, ref } from 'vue';
import { Delete } from '@element-plus/icons-vue';
export default defineComponent({
    setup() {
        const dialogVisible = ref<boolean>(false);
        const openDailog = () => {
            dialogVisible.value = true;
        };
        // 搜索条件
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        // 表格
        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 handleSizeChange = (val: number) => {
            console.log(`${val} items per page`);
        };
        const handleCurrentChange = (val: number) => {
            console.log(`current page: ${val}`);
        };
        // 右方点击添加后显示标签
        const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
        const handleClose = (tag: string) => {
            dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
        };
        return {
            dialogVisible,
            openDailog,
            ruleForm,
            tableData,
            pageSize4,
            handleSizeChange,
            handleCurrentChange,
            dynamicTags,
            handleClose,
            Delete,
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/TargetBook/index.vue
对比新文件
@@ -0,0 +1,209 @@
<template>
    <div>
    <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
        <el-row>
            <el-col :span="4">
                <el-form-item>
                    <el-input v-model="ruleForm.name" placeholder="请选择岗位">
                            <template #append> <el-button :icon="Search" @click="openSearch" /> </template
                        ></el-input>
                </el-form-item>
            </el-col>
            <!-- <el-col :span="4">
                <el-form-item>
                    <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                </el-form-item>
            </el-col> -->
            <el-col :span="4">
                <el-form-item>
                    <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                    <el-button @click="resetForm(ruleFormRef)">重置</el-button>
                </el-form-item>
            </el-col>
        </el-row>
    </el-form>
    <div class="minCenter">
            <div class="btns">
                <div>
                    <el-button type="primary" :icon="Plus" @click="openD">新建</el-button>
                    <el-button type="warning" plain :icon="EditPen">修改</el-button>
                    <el-button type="danger" :icon="Delete" plain>删除</el-button>
                </div>
                <div>
                    <el-button :icon="Download"></el-button>
                    <el-button :icon="Refresh"></el-button>
                </div>
            </div>
        <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
            <el-table-column type="selection" align="center" width="55" />
            <el-table-column type="index" label="序号" align="center" width="70" />
            <el-table-column label="岗位" align="center" sortable>
                <template #default="scope">{{ scope.row.date }}</template>
            </el-table-column>
            <el-table-column property="name" align="center" label="责任书签订日期" sortable />
            <el-table-column property="name" align="center" label="附件" sortable />
            <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 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 #default>
                    <el-button link type="primary" size="default" :icon="View">查看</el-button>
                    <el-button link type="primary" size="default" :icon="EditPen">修改</el-button>
                    <el-button link type="primary" size="default" :icon="Delete">删除</el-button>
                </template>
            </el-table-column>
        </el-table>
        <div class="pages">
            <el-pagination
                v-model:currentPage="currentPage4"
                v-model:page-size="pageSize4"
                :page-sizes="[100, 200, 300, 400]"
                :small="small"
                :disabled="disabled"
                :background="background"
                layout="total, sizes, prev, pager, next, jumper"
                :total="400"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
            />
        </div>
        <DailogAdd ref="openAdd"></DailogAdd>
        <DailogSearch ref="openUser"></DailogSearch>
    </div>
    </div>
</template>
<script lang="ts">
import DailogAdd from './component/DailogAdd.vue'
import DailogSearch from './component/DailogSearch.vue'
import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
import { Plus, Delete, Upload, Download, Refresh, View,EditPen,Search} from '@element-plus/icons-vue';
interface User {
    date: string;
    name: string;
    address: string;
}
import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
export default defineComponent({
    components: { ElButton, ElInput,DailogAdd,DailogSearch },
    setup() {
        // 搜索条件
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        const formatter = (row: User, column: TableColumnCtx<User>) => {
            return row.address;
        };
        const tableData: User[] = [
            {
                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',
            },
            {
                date: '2016-05-08',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-06',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-07',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
        ];
        const currentPage4 = ref(4);
        const pageSize4 = ref(100);
        const small = ref(false);
        const disabled = ref(false);
        const background = ref(false);
        const handleSizeChange = (val: number) => {
            console.log(`${val} items per page`);
        };
        const handleCurrentChange = (val: number) => {
            console.log(`current page: ${val}`);
        };
        // 弹窗
        const openAdd = ref();
        const openD = () => {
            openAdd.value.openDailog();
        };
        const openUser =ref();
        const openSearch=()=>{
            openUser.value.openDailog()
        }
        return {
            tableData,
            formatter,
            currentPage4,
            pageSize4,
            handleSizeChange,
            handleCurrentChange,
            openAdd,
            openD,
            small,
            disabled,
            background,
            ruleForm,
            openUser,
            openSearch,
            Plus,
            Delete,
            Upload,
            Download,
            Refresh,
            View,
            EditPen,
            Search
        };
    },
});
</script>
<style scoped>
.minCenter {
    width: 100%;
    background-color: #fff;
    margin-top: 10px;
    padding: 0 20px;
}
.topTitle {
  background-color: #fff;
  padding: 20px 0px 20px 0px;
  margin-bottom:10px ;
}
.btns {
    padding: 10px 0px 10px 0px;
    display: flex;
    justify-content: space-between;
}
.pages {
    padding: 20px 0;
    display: flex;
    justify-content: right;
}
</style>
src/views/goalManagement/performanceAppraisal/component/DailogAq.vue
对比新文件
@@ -0,0 +1,240 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建安全考核管理" width="50%" draggable>
        <el-form :model="form" label-width="120px">
            <el-row>
                <el-col :span="11">
                    <el-form-item label="考核标题">
                        <el-input v-model="form.name"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="考核日期">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="合格分数">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="总分">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="考核部门">
                        <el-select v-model="form.region" style="width: 100%" placeholder="请选择">
                            <el-option label="Zone one" value="shanghai" />
                            <el-option label="Zone two" value="beijing" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="考核人">
                        <el-input v-model="form.name">
                            <template #append> <el-button :icon="Search" @click="daiInpt" /></template>
                        </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="被考核部门">
                        <el-select v-model="form.region" style="width: 100%" placeholder="请选择">
                            <el-option label="Zone one" value="shanghai" />
                            <el-option label="Zone two" value="beijing" />
                        </el-select>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="被考核人">
                        <el-input v-model="form.name">
                            <template #append> <el-button :icon="Search" @click="daiInpt" /></template>
                        </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="考核模板">
                        <el-upload
                            v-model:file-list="fileList"
                            class="upload-demo"
                            action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
                            multiple
                            :on-preview="handlePreview"
                            :on-remove="handleRemove"
                            :before-remove="beforeRemove"
                            :limit="3"
                            :on-exceed="handleExceed"
                        >
                            <el-button type="primary">点击上传</el-button>
                            <template #tip>
                                <div class="el-upload__tip">添加相关附件</div>
                            </template>
                        </el-upload>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="考核模板">
                        <el-input v-model="form.name">
                            <template #append> <el-button :icon="Search" @click="daiAdd" /></template>
                        </el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="备注信息">
                        <el-input v-model="form.name" type="textarea"> </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
            <el-tab-pane label="考核项目" name="1">
                <!-- <el-button type="primary" size="default" @click="daiAdd">新增</el-button> -->
            </el-tab-pane>
        </el-tabs>
        <el-table :data="tableData" style="width: 100%">
            <el-table-column align="center" prop="date" label="考核项目" />
            <el-table-column align="center" prop="name" label="考核内容" />
            <el-table-column align="center" prop="address" label="考核分数" />
            <!-- <el-table-column align="center" prop="address" label="制定日期" />
            <el-table-column align="center" prop="address" label="上报人" />
            <el-table-column align="center" label="操作">
                <template #default>
                    <el-button link type="primary">查看</el-button>
                </template>
            </el-table-column> -->
        </el-table>
        <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>
            </span>
        </template>
    </el-dialog>
    <DailogSearch ref="Show"></DailogSearch>
    <DailogSearchUser ref="Shows"></DailogSearchUser>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search } from '@element-plus/icons-vue';
import DailogSearch from './DailogSearch.vue'
import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
import { ElMessage, ElMessageBox } from 'element-plus';
import type { UploadProps, UploadUserFile } from 'element-plus';
export default defineComponent({
    components: { DailogSearchUser,DailogSearch},
    setup() {
        const dialogVisible = ref<boolean>(false);
        const form = reactive({
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: '',
        });
        const openDailog = (type: string, value: any, projectList: any, projectId: string) => {
            dialogVisible.value = true;
        };
        // 导航
        const activeName = ref('1');
        // 表格
        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 Show = ref();
        const daiAdd = () => {
            Show.value.openDailog();
        };
        // 安全目标指标弹窗
        const Shows = ref();
        const daiInpt = () => {
            Shows.value.openDailog();
        };
        // 点击上传
        const fileList = ref<UploadUserFile[]>([
            {
                name: 'element-plus-logo.svg',
                url: 'https://element-plus.org/images/element-plus-logo.svg',
            },
            {
                name: 'element-plus-logo2.svg',
                url: 'https://element-plus.org/images/element-plus-logo.svg',
            },
        ]);
        const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => {
            console.log(file, uploadFiles);
        };
        const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
            console.log(uploadFile);
        };
        const handleExceed: UploadProps['onExceed'] = (files, uploadFiles) => {
            ElMessage.warning(`The limit is 3, you selected ${files.length} files this time, add up to ${files.length + uploadFiles.length} totally`);
        };
        const beforeRemove: UploadProps['beforeRemove'] = (uploadFile, uploadFiles) => {
            return ElMessageBox.confirm(`Cancel the transfert of ${uploadFile.name} ?`).then(
                () => true,
                () => false
            );
        };
        return {
            form,
            dialogVisible,
            openDailog,
            activeName,
            tableData,
            Show,
            daiAdd,
            Shows,
            daiInpt,
            Search,
            fileList,
            handleRemove,
            handlePreview,
            handleExceed,
            beforeRemove
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/performanceAppraisal/component/DailogKh.vue
对比新文件
@@ -0,0 +1,167 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建考核标准设定" width="60%" draggable>
        <el-form :model="form" label-width="120px">
            <el-row>
                <el-col :span="11">
                    <el-form-item label="标准标题">
                        <el-input v-model="form.name"> </el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="适用范围">
                        <el-select v-model="form.region" style="width: 100%" placeholder="请选择">
                            <el-option label="Zone one" value="shanghai" />
                            <el-option label="Zone two" value="beijing" />
                        </el-select>
                    </el-form-item>
                </el-col>
            </el-row>
            <div v-if="clickType">
                <el-row>
                    <el-col :span="11">
                        <el-form-item label="设定人">
                            <el-input v-model="form.name">
                                <template #append> <el-button :icon="Search" @click="daiInpt" /></template>
                            </el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :span="11" :offset="2">
                        <el-form-item label="设定人部门">
                            <el-select v-model="form.region" style="width: 100%" placeholder="请选择">
                                <el-option label="Zone one" value="shanghai" />
                                <el-option label="Zone two" value="beijing" />
                            </el-select>
                        </el-form-item>
                    </el-col>
                </el-row>
            </div>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="模板分类编码">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2">
                    <el-form-item label="合格分数">
                        <el-input v-model="form.name" />
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="11">
                    <el-form-item label="备注信息">
                        <el-input v-model="form.name" type="textarea" />
                    </el-form-item>
                </el-col>
                <el-col :span="11" :offset="2" v-if="clickType">
                    <el-form-item label="设定日期">
                    <el-date-picker v-model="form.date1" type="date" placeholder="Pick a date" style="width: 100%" />
                    </el-form-item>
                   </el-col>
            </el-row>
        </el-form>
        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
            <el-tab-pane label="目标指标分解" name="1">
                <el-button type="primary" size="default" @click="daiAdd">新增</el-button>
            </el-tab-pane>
        </el-tabs>
        <el-table :data="tableData" style="width: 100%">
            <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-table-column align="center" prop="address" label="评定标准" />
            <el-table-column align="center" prop="address" label="考核说明" />
            <el-table-column align="center" label="操作">
                <template #default>
                    <el-button link type="primary">查看</el-button>
                </template>
            </el-table-column>
        </el-table>
        <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>
            </span>
        </template>
    </el-dialog>
    <DailogKhS ref="Show"></DailogKhS>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search } from '@element-plus/icons-vue';
import DailogKhS from './DailogKhS.vue'
export default defineComponent({
    components: { DailogKhS },
    setup() {
        const dialogVisible = ref<boolean>(false);
        const form = reactive({
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: '',
        });
        const clickType=ref()
        const openDailog = (type: boolean) => {
            dialogVisible.value = true;
            clickType.value=type
        };
        // 导航
        const activeName = ref('1');
        // 表格
        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 Show = ref();
        const daiAdd = () => {
            Show.value.openDailog();
        };
        // 安全目标指标弹窗
        const Shows = ref();
        const daiInpt = () => {
            Shows.value.openDailog();
        };
        return {
            form,
            dialogVisible,
            openDailog,
            activeName,
            tableData,
            Show,
            daiAdd,
            Shows,
            clickType,
            daiInpt,
            Search,
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/performanceAppraisal/component/DailogKhS.vue
对比新文件
@@ -0,0 +1,127 @@
<template>
    <el-dialog v-model="dialogVisible" title="新建考核项目" width="50%" draggable>
        <el-form :model="form" label-width="120px">
            <el-row>
                <el-col :span="24">
                    <el-form-item label="类型">
                        <el-input v-model="form.name" type="textarea"></el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="考核项目">
                        <el-input v-model="form.name" type="textarea"> </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="考核内容">
                        <el-input v-model="form.name" type="textarea"> </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="评定标准">
                        <el-input v-model="form.name" type="textarea"> </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="24">
                    <el-form-item label="考核说明">
                        <el-input v-model="form.name" type="textarea"> </el-input>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <template #footer>
            <span class="dialog-footer">
                <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button>
                <el-button @click="dialogVisible = false" size="default">关闭</el-button>
                <el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
            </span>
        </template>
    </el-dialog>
    <!-- <DailogAdd ref="Show"></DailogAdd>
  <DailogSearch ref="Shows"></DailogSearch> -->
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue';
import { Search } from '@element-plus/icons-vue';
// import DailogAdd from './DailogAdd.vue'
// import DailogSearch from '../../../../components/DailogSearch/DailogSearch.vue'
export default defineComponent({
    // components:{DailogAdd,DailogSearch},
    setup() {
        const dialogVisible = ref<boolean>(false);
        const form = reactive({
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: '',
        });
        const openDailog = (type: string, value: any, projectList: any, projectId: string) => {
            dialogVisible.value = true;
        };
        // 导航
        const activeName = ref('1');
        // 表格
        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 Show = ref();
        const daiAdd = () => {
            Show.value.openDailog();
        };
        // 安全目标指标弹窗
        const Shows = ref();
        const daiInpt = () => {
            Shows.value.openDailog();
        };
        return {
            form,
            dialogVisible,
            openDailog,
            activeName,
            tableData,
            Show,
            daiAdd,
            Shows,
            daiInpt,
            Search,
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/performanceAppraisal/component/DailogSearch.vue
对比新文件
@@ -0,0 +1,129 @@
<template>
    <el-dialog v-model="dialogVisible" title="选择安全目标指标" width="50%" draggable>
        <el-row>
            <el-col :span="17">
        <el-form ref="ruleFormRef" :model="ruleForm" status-icon>
            <el-row>
                <el-col :span="12">
                    <el-form-item>
                        <el-input v-model="ruleForm.pass" placeholder="标准标题" />
                    </el-form-item>
                </el-col>
                <!-- <el-col :span="6" :offset="1">
                    <el-form-item>
                        <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                    </el-form-item>
                </el-col> -->
                <el-col :span="6" :offset="1">
                    <el-form-item>
                        <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
                        <el-button @click="resetForm(ruleFormRef)">重置</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" width="50px" type="selection"></el-table-column>
            <el-table-column align="center" prop="date" label="标准标题" />
            <!-- <el-table-column align="center" prop="name" label="目标指标编号" width="180" />
            <el-table-column align="center" prop="address" label="年度" />
            <el-table-column align="center" prop="address" 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]"
            :small="small"
            :disabled="disabled"
            :background="background"
            layout="total, sizes, prev, pager, next, jumper"
            :total="400"
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
        />
        </el-col>
        <el-col :span="7">
            <el-tag v-for="tag in dynamicTags" :key="tag" class="mx-1" style="margin:5px" closable :disable-transitions="false" @close="handleClose(tag)">
                    {{ tag }}
                </el-tag>
        </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>
            </span>
        </template>
    </el-dialog>
</template>
<script lang="ts">
import { defineComponent, reactive, ref } from 'vue';
import { Delete } from '@element-plus/icons-vue';
export default defineComponent({
    setup() {
        const dialogVisible = ref<boolean>(false);
        const openDailog = () => {
            dialogVisible.value = true;
        };
        // 搜索条件
        const ruleForm = reactive({
            pass: '',
            checkPass: '',
        });
        // 表格
        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 handleSizeChange = (val: number) => {
            console.log(`${val} items per page`);
        };
        const handleCurrentChange = (val: number) => {
            console.log(`current page: ${val}`);
        };
        // 右方点击添加后显示标签
        const dynamicTags = ref(['Tag 1', 'Tag 2', 'Tag 3']);
        const handleClose = (tag: string) => {
            dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
        };
        return {
            dialogVisible,
            openDailog,
            ruleForm,
            tableData,
            pageSize4,
            handleSizeChange,
            handleCurrentChange,
            dynamicTags,
            handleClose,
            Delete,
        };
    },
});
</script>
<style scoped>
.el-row {
    padding: 0 0 20px 0;
}
</style>
src/views/goalManagement/performanceAppraisal/index.vue
@@ -1,12 +1,301 @@
<template>
   <div>
    <div class="minCenter">
        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
            <el-tab-pane label="安全考核管理" name="1">
                <el-form :model="ruleForm" status-icon label-width="20px" class="topTitle">
                    <el-row>
                        <el-col :span="4">
                            <el-form-item>
                                <el-select v-model="ruleForm.region" style="width: 100%" placeholder="请选择考核部门">
                                    <el-option label="Zone one" value="shanghai" />
                                    <el-option label="Zone two" value="beijing" />
                                </el-select>
                            </el-form-item>
                        </el-col>
                        <el-col :span="4">
                            <el-form-item>
                                <el-button type="primary">查询</el-button>
                                <el-button>重置</el-button>
                            </el-form-item>
                        </el-col>
                    </el-row>
                </el-form>
                <div class="btns">
                    <div>
                        <el-button type="primary" :icon="Plus" @click="openDai">新建</el-button>
                        <el-button type="warning" plain :icon="EditPen">修改</el-button>
                        <el-button type="danger" plain :icon="Delete">删除</el-button>
                    </div>
                </div>
                <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                    <el-table-column type="selection" align="center" width="55" />
                    <el-table-column type="expand">
                        <template #default>
                            <div class="tableC">
                                <el-tabs v-model="activeNames">
                                    <el-tab-pane label="考核项目" name="1">
                                         <el-table :data="tableData" style="width: 100%">
                                            <el-table-column align="center" prop="date" label="类型"/>
                                            <el-table-column align="center" prop="name" label="考核项目"/>
                                            <el-table-column align="center" prop="address" label="考核内容"/>
                                            <el-table-column align="center" prop="address" label="评定标准" />
                                            <el-table-column align="center" prop="address" label="考核说明" />
                                        </el-table>
                                    </el-tab-pane>
                                </el-tabs>
                            </div>
                        </template>
                    </el-table-column>
                    <el-table-column label="考核日期" align="center" sortable>
                        <template #default="scope">{{ scope.row.date }}</template>
                    </el-table-column>
                    <el-table-column property="name" align="center" label="考核部门" sortable />
                    <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 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" width="250px">
                        <template #default>
                            <el-button link type="primary" size="default" :icon="View" @click="handleClick">查看</el-button>
                            <el-button link type="primary" size="default" :icon="EditPen" @click="handleClick">修改</el-button>
                            <el-button link type="primary" size="default" :icon="Delete">删除</el-button>
                        </template>
                    </el-table-column>
                </el-table>
                <div class="pages">
                    <el-pagination
                        v-model:currentPage="currentPage4"
                        v-model:page-size="pageSize4"
                        :page-sizes="[100, 200, 300, 400]"
                        :small="small"
                        :disabled="disabled"
                        :background="background"
                        layout="total, sizes, prev, pager, next, jumper"
                        :total="400"
                        @size-change="handleSizeChange"
                        @current-change="handleCurrentChange"
                    />
                </div>
            </el-tab-pane>
            <el-tab-pane label="考核标准设定" name="2">
                <el-form :model="ruleForm" status-icon label-width="20px" class="topTitle">
                    <el-row>
                        <el-col :span="4">
                            <el-form-item>
                                <el-input v-model="ruleForm.pass" placeholder="标准标题" />
                            </el-form-item>
                        </el-col>
                        <el-col :span="4">
                            <el-form-item>
                                <el-button type="primary">查询</el-button>
                                <el-button>重置</el-button>
                            </el-form-item>
                        </el-col>
                    </el-row>
                </el-form>
                <div class="btns">
                    <div>
                        <el-button type="primary" :icon="Plus" @click="openDaiK('新建')">新建</el-button>
                        <el-button type="warning" plain :icon="EditPen">修改</el-button>
                        <el-button type="danger" plain :icon="Delete">删除</el-button>
                    </div>
                </div>
                <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
                    <el-table-column type="selection" align="center" width="55" />
                    <el-table-column type="expand">
                        <template #default>
                            <div class="tableC">
                                <el-tabs v-model="activeNames">
                                    <el-tab-pane label="考核项目" name="1">
                                         <el-table :data="tableData" style="width: 100%">
                                            <el-table-column align="center" prop="date" label="类型"/>
                                            <el-table-column align="center" prop="name" label="考核项目"/>
                                            <el-table-column align="center" prop="address" label="考核内容"/>
                                            <el-table-column align="center" prop="address" label="评定标准" />
                                            <el-table-column align="center" prop="address" label="考核说明" />
                                        </el-table>
                                    </el-tab-pane>
                                </el-tabs>
                            </div>
                        </template>
                    </el-table-column>
                    <el-table-column label="标准标题" align="center" sortable>
                        <template #default="scope">{{ scope.row.date }}</template>
                    </el-table-column>
                    <el-table-column property="name" align="center" label="适用范围" sortable />
                    <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 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" width="250px">
                        <template #default>
                            <el-button link type="primary" size="default" :icon="View" @click="openDaiK('查看')">查看</el-button>
                            <el-button link type="primary" size="default" :icon="EditPen" @click="openDaiK('修改')">修改</el-button>
                            <el-button link type="primary" size="default" :icon="Delete">删除</el-button>
                        </template>
                    </el-table-column>
                </el-table>
                <div class="pages">
                    <el-pagination
                        v-model:currentPage="currentPage4"
                        v-model:page-size="pageSize4"
                        :page-sizes="[100, 200, 300, 400]"
                        :small="small"
                        :disabled="disabled"
                        :background="background"
                        layout="total, sizes, prev, pager, next, jumper"
                        :total="400"
                        @size-change="handleSizeChange"
                        @current-change="handleCurrentChange"
                    />
                </div>
            </el-tab-pane>
        </el-tabs>
    </div>
    <DailogAq ref="ShowAq"></DailogAq>
    <DailogKh ref="ShowKh"></DailogKh>
    </div>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
import DailogAq from './component/DailogAq.vue'
import DailogKh from './component/DailogKh.vue'
import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';
import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';
interface User {
    date: string;
    name: string;
    address: string;
}
import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
export default defineComponent({
    setup() {
    },
})
    components: { ElButton, ElInput,DailogAq,DailogKh},
    setup() {
        const ruleForm = reactive({});
        // 下方导航与表格
        const activeName = ref('1');
        const activeNames = ref('1');
        const handleClick = (tab: TabsPaneContext, event: Event) => {
            console.log(tab, event);
        };
        const formatter = (row: User, column: TableColumnCtx<User>) => {
            return row.address;
        };
        const tableData: User[] = [
            {
                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',
            },
            {
                date: '2016-05-08',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-06',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
            {
                date: '2016-05-07',
                name: 'Tom',
                address: 'No. 189, Grove St, Los Angeles',
            },
        ];
        const currentPage4 = ref(4);
        const pageSize4 = ref(100);
        const small = ref(false);
        const disabled = ref(false);
        const background = ref(false);
        const handleSizeChange = (val: number) => {
            console.log(`${val} items per page`);
        };
        const handleCurrentChange = (val: number) => {
            console.log(`current page: ${val}`);
        };
        const ShowAq=ref()
        const openDai=()=>{
            ShowAq.value.openDailog()
        }
        const ShowKh=ref()
         const openDaiK=(name:string)=>{
             if(name=='新建'){
                 ShowKh.value.openDailog(false)
             }else{
                 ShowKh.value.openDailog(true)
             }
        }
        return {
            activeName,
            activeNames,
            handleClick,
            tableData,
            formatter,
            currentPage4,
            pageSize4,
            handleSizeChange,
            handleCurrentChange,
            small,
            disabled,
            background,
            ruleForm,
            ShowAq,
            openDai,
            ShowKh,
            openDaiK,
            Plus,
            Delete,
            Upload,
            Download,
            Refresh,
            View,
            EditPen,
        };
    },
});
</script>
<style scoped>
.minCenter {
    width: 100%;
    background-color: #fff;
    margin-top: 10px;
    padding: 0 20px;
}
.btns {
    padding: 20px;
}
.topTitle {
    padding: 5px 0 20px 0;
    border-bottom: 1px solid #dedede;
}
.pages {
    padding: 20px 0;
    display: flex;
    justify-content: right;
}
.tableC{
    margin:0 10%;
}
</style>
src/views/goalManagement/processForms/processForms.vue
@@ -1,4 +1,5 @@
<template>
    <div>
    <h4 class="title">胡海涛2022-07-01 16:08:42发起了目标检查上报(检查)--检查</h4>
    <div class="box">
    <el-menu
@@ -26,6 +27,7 @@
    <div class="btns">
        <el-button type="primary">发起上报</el-button>
    </div>
    </div>
</template>
<script lang="ts">
import { defineComponent, reactive, ref,onMounted } from 'vue';
src/views/goalManagement/safetyAssessment/index.vue
@@ -1,4 +1,5 @@
<template>
     <div>
        <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
        <el-row>
            <el-col :span="4">
@@ -59,6 +60,7 @@
        </div>
        <Dailog ref="openAdd"></Dailog>
    </div>
    </div>
</template>
<script lang="ts">
import Dailog from './component/Dailog.vue';
src/views/goalManagement/targetDecompositionMonth/index.vue
@@ -1,4 +1,5 @@
<template>
    <div>
        <search></search>
        <div class="minCenter">
            <div class="btns">
@@ -77,6 +78,7 @@
          </div>
        </div>
        <Dailog ref="Show"></Dailog>
        </div>
</template>
<script lang="ts">
import search from '../targetSettings/component/search.vue'
src/views/goalManagement/targetDecompositionYear/index.vue
@@ -1,4 +1,5 @@
<template>
    <div>
        <search></search>
        <div class="minCenter">
            <div class="btns">
@@ -76,6 +77,7 @@
          </div>
        </div>
        <Dailog ref="Show"></Dailog>
        </div>
</template>
<script lang="ts">
import search from '../targetSettings/component/search.vue'
src/views/goalManagement/targetEscalation/index.vue
@@ -1,4 +1,5 @@
<template>
  <div>
    <search></search>
    <div class="minCenter">
        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
@@ -40,6 +41,7 @@
        </div>
    </div>
    <Dailog ref="Show"></Dailog>
    </div>
</template>
<script lang="ts">
import search from '../targetSettings/component/search.vue';
src/views/goalManagement/targetImprovements/index.vue
@@ -1,4 +1,5 @@
<template>
<div>
    <el-form ref="ruleFormRef" :model="ruleForm" status-icon label-width="20px" class="topTitle">
        <el-row>
            <el-col :span="4">
@@ -6,11 +7,6 @@
                    <el-input v-model="ruleForm.pass" placeholder="安全目标指标" />
                </el-form-item>
            </el-col>
            <!-- <el-col :span="4">
                <el-form-item>
                    <el-input v-model="ruleForm.checkPass" placeholder="目标指标编号" />
                </el-form-item>
            </el-col> -->
            <el-col :span="4">
                <el-form-item>
                    <el-button type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
@@ -164,6 +160,7 @@
        </el-tabs>
    </div>
    <Dailogprove ref="Show"></Dailogprove>
    </div>
</template>
<script lang="ts">
import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';
src/views/goalManagement/targetSettings/index.vue
@@ -1,4 +1,5 @@
<template>
<div>
        <search></search>
        <div class="minCenter">
          <el-tabs
@@ -9,7 +10,7 @@
            <div class="btns">
              <div>
                <el-button type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
                <el-button type="danger" :icon="Delete">删除</el-button>
                <el-button type="danger" :icon="Delete" plain>删除</el-button>
              </div>
              <div>
                <el-button :icon="Upload" @click="upButton"></el-button>
@@ -114,10 +115,11 @@
          <dailogAdd ref="openAdd"></dailogAdd>
        <upData ref="upShow"></upData>
        </div>
        </div>
</template>
<script lang="ts">
import dailogAdd from './component/dailogAdd.vue'
import upData from './component/updata.vue'
import upData from '../../../components/updata/updata.vue'
import search from './component/search.vue'
import { ref, toRefs, reactive, onMounted, defineComponent } from "vue";
import {