|
@@ -1,12 +1,17 @@
|
|
|
<template>
|
|
|
- <div>
|
|
|
- <div class="integral_event_box boxMinHeight">
|
|
|
- <div class="flex-box-ce flex-d-wrap">
|
|
|
- <div class="sleItem">
|
|
|
- <el-select v-model="newTaskFormType" style="width:110px;" filterable placeholder="请选择">
|
|
|
- <el-option v-for="item in pullrow" :key="item.id" :label="item.value" :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- <span v-show="newTaskFormType == 1">
|
|
|
+ <el-container>
|
|
|
+ <el-header :height="headerMaxHeight">
|
|
|
+ <el-collapse v-model="activeCollapseName" >
|
|
|
+ <el-collapse-item title="积分搜索" name="search">
|
|
|
+ <template slot="title">
|
|
|
+ <el-tag style="margin-left: 20px">当前数据:{{total}}条,最多导出10000条。</el-tag>
|
|
|
+ </template>
|
|
|
+ <div class="flex-box-ce flex-d-wrap" style="margin-left: 20px">
|
|
|
+ <div class="sleItem">
|
|
|
+ <el-select v-model="newTaskFormType" style="width:110px;" filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in pullrow" :key="item.id" :label="item.value" :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <span v-show="newTaskFormType == 1">
|
|
|
<el-cascader
|
|
|
class="date-picker-width"
|
|
|
v-model="rule"
|
|
@@ -20,7 +25,7 @@
|
|
|
placeholder="全部规则分类"
|
|
|
></el-cascader>
|
|
|
</span>
|
|
|
- <span v-show="newTaskFormType == 2">
|
|
|
+ <span v-show="newTaskFormType == 2">
|
|
|
<el-cascader
|
|
|
@change="ruleautomatic"
|
|
|
class="date-picker-width"
|
|
@@ -34,83 +39,90 @@
|
|
|
clearable
|
|
|
></el-cascader>
|
|
|
</span>
|
|
|
- </div>
|
|
|
- <div class="sleItem">
|
|
|
- <span class="label">积分类型</span>
|
|
|
- <el-select class="date-picker-width" v-model="formData.pt_id" clearable placeholder="全部">
|
|
|
- <el-option v-for="item in $getTyps()" :key="item.name" :label="item.name" :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="sleItem">
|
|
|
- <span class="label">事件来源</span>
|
|
|
- <el-select class="date-picker-width" v-model="formData.source_type" clearable placeholder="全部">
|
|
|
- <el-option v-for="item in source_type" :key="item.name" :label="item.name" :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div class="sleItem">
|
|
|
- <span class="label">部门</span>
|
|
|
- <el-cascader class="date-picker-width" v-model="dept_name" :options="dept_tree" ref="dept" clearable filterable change-on-select placeholder="全公司"></el-cascader>
|
|
|
- </div>
|
|
|
- <div class="sleItem flex-box-ce">
|
|
|
- <span class="label">时间</span>
|
|
|
- <el-date-picker
|
|
|
- v-model="time_slot"
|
|
|
- type="daterange"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- range-separator="至"
|
|
|
- :clearable="process=='production'? false:true"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- :picker-options="instantPickerOptions"
|
|
|
- ></el-date-picker>
|
|
|
- </div>
|
|
|
- <div class="sleItem flex-box-ce">
|
|
|
- <el-select v-model="select_employee_id" filterable clearable placeholder="请输入或选择人员" style="width: 250px;margin-right: 10px;">
|
|
|
- <el-option v-for="item in employee_map" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- <el-input v-model="formData.keyword" style="width: 250px;" placeholder="输入关键字查找" maxlength="100" @keyup.enter.native="keyWordSelect" class="persons_name">
|
|
|
- <el-button slot="append" icon="el-icon-search" @click="keyWordSelect"></el-button>
|
|
|
- </el-input>
|
|
|
- <span class="label" style="margin-left: 10px">奖扣分值</span>
|
|
|
- <el-select v-model="formData.add_subtract" style="width:110px;" filterable placeholder="全部">
|
|
|
- <el-option v-for="item in add_subtract_items" :key="item.id" :label="item.value" :value="item.id"></el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="flex-box-ce" style="margin-bottom: 20px;">
|
|
|
- <div class="flex-1">
|
|
|
- <el-button type="primary" v-if="!$supremeAuthority('employee')" @click="excelImportShow = true">导入数据</el-button>
|
|
|
- <el-button type="primary" @click="exportExcel">导出当前数据</el-button>
|
|
|
- <el-button class="first-element-btn" v-if="noticeRole" :disabled="selectionID.length == 0" @click="deleteInBatches" type="danger">批量删除</el-button>
|
|
|
- <el-button type="warning" :disabled="!appealEnable || appealSelectionEvents.length === 0" @click="showAppealCreate = true" >发起申诉</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="diy-tip1" style="margin-bottom: 10px;">
|
|
|
- <div>
|
|
|
- 当前数据:{{total}}条,最多导出10000条。
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-table :data="list" style="width: 100%" v-loading="loading" @row-click="open_detail" @selection-change="deleteEvents">
|
|
|
- <el-table-column v-if="noticeRole" :selectable="isSelectable" type="selection" width="55"></el-table-column>
|
|
|
- <el-table-column prop="employee_name" label="姓名" align="left" width="180px">
|
|
|
+ </div>
|
|
|
+ <div class="sleItem">
|
|
|
+ <span class="label">积分类型</span>
|
|
|
+ <el-select class="date-picker-width" v-model="formData.pt_id" clearable placeholder="全部">
|
|
|
+ <el-option v-for="item in $getTyps()" :key="item.name" :label="item.name" :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="sleItem">
|
|
|
+ <span class="label">事件来源</span>
|
|
|
+ <el-select class="date-picker-width" v-model="formData.source_type" clearable placeholder="全部">
|
|
|
+ <el-option v-for="item in source_type" :key="item.name" :label="item.name" :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="sleItem">
|
|
|
+ <span class="label">部门</span>
|
|
|
+ <el-cascader class="date-picker-width" v-model="dept_name" :options="dept_tree" ref="dept" clearable filterable change-on-select placeholder="全公司"></el-cascader>
|
|
|
+ </div>
|
|
|
+ <div class="sleItem flex-box-ce">
|
|
|
+ <span class="label">时间</span>
|
|
|
+ <el-date-picker
|
|
|
+ v-model="time_slot"
|
|
|
+ type="daterange"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ range-separator="至"
|
|
|
+ :clearable="process=='production'? false:true"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :picker-options="instantPickerOptions"
|
|
|
+ ></el-date-picker>
|
|
|
+ </div>
|
|
|
+ <div class="sleItem flex-box-ce">
|
|
|
+ <el-select v-model="select_employee_id" filterable clearable placeholder="请输入或选择人员" style="width: 250px;margin-right: 10px;">
|
|
|
+ <el-option v-for="item in employee_map" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-input v-model="formData.keyword" style="width: 250px;" placeholder="输入关键字查找" maxlength="100" @keyup.enter.native="keyWordSelect" class="persons_name">
|
|
|
+ <el-button slot="append" icon="el-icon-search" @click="keyWordSelect"></el-button>
|
|
|
+ </el-input>
|
|
|
+ <span class="label" style="margin-left: 10px">奖扣分值</span>
|
|
|
+ <el-select v-model="formData.add_subtract" style="width:110px;" filterable placeholder="全部">
|
|
|
+ <el-option v-for="item in add_subtract_items" :key="item.id" :label="item.value" :value="item.id"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="flex-box-ce" style="margin-bottom: 10px;margin-left: 20px">
|
|
|
+ <div class="flex-1">
|
|
|
+ <el-button type="primary" v-if="!$supremeAuthority('employee')" @click="excelImportShow = true">导入数据</el-button>
|
|
|
+ <el-button type="primary" @click="exportExcel">导出当前数据</el-button>
|
|
|
+ <el-button class="first-element-btn" v-if="noticeRole" :disabled="selectionID.length == 0" @click="deleteInBatches" type="danger">批量删除</el-button>
|
|
|
+ <el-button type="warning" :disabled="!appealEnable || appealSelectionEvents.length === 0" @click="showAppealCreate = true" >发起申诉</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-collapse-item>
|
|
|
+ </el-collapse>
|
|
|
+ </el-header>
|
|
|
+ <el-main>
|
|
|
+ <el-table
|
|
|
+ :data="list"
|
|
|
+ style="width: 100%"
|
|
|
+ v-loading="loading"
|
|
|
+ @row-click="open_detail"
|
|
|
+ @selection-change="deleteEvents"
|
|
|
+ :height="tableMaxHeight"
|
|
|
+ >
|
|
|
+<!-- <el-table-column v-if="noticeRole" :selectable="isSelectable" type="selection" width="55" fixed></el-table-column>-->
|
|
|
+ <el-table-column :selectable="isSelectable" type="selection" width="55" fixed></el-table-column>
|
|
|
+ <el-table-column prop="employee_name" label="姓名" align="left" width="180px" fixed>
|
|
|
<template slot-scope="scope">
|
|
|
<userImage class="fl" :id="scope.row.employee_id" :user_name="scope.row.employee_name" :img_url="scope.row.employee_img_url" width="50px" height="50px"></userImage>
|
|
|
<span style="margin-left: 10px; line-height: 50px;">{{ scope.row.employee_name }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="dept" label="部门" align="left" width="200px"></el-table-column>
|
|
|
- <el-table-column prop="point_mark" label="积分" align="left" width="120px">
|
|
|
+ <el-table-column prop="point_mark" label="积分" align="left" width="120px" fixed>
|
|
|
<template slot-scope="scope">
|
|
|
<span :class="scope.row.point < 0 ? 'color_green' : 'color_red'">{{ scope.row.point_mark }} {{ $getTypsName(scope.row.pt_id) }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column prop="dept" label="部门" align="left" width="200px"></el-table-column>
|
|
|
<el-table-column prop="remark" show-overflow-tooltip label="事件内容" align="left" min-width="280px"></el-table-column>
|
|
|
<el-table-column prop="rule_name" show-overflow-tooltip label="规则分类" align="left" min-width="140px"></el-table-column>
|
|
|
<el-table-column prop="item_remark" show-overflow-tooltip label="规则细则" align="left" min-width="140px"></el-table-column>
|
|
|
<el-table-column prop="create_time" label="事件发生时间" align="left" min-width="140px">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{ scope.row.event_time }}
|
|
|
- </template>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.row.event_time }}
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="source_type" label="来源" align="left" width="140px">
|
|
|
<template slot-scope="scope">
|
|
@@ -134,6 +146,8 @@
|
|
|
<noData></noData>
|
|
|
</template>
|
|
|
</el-table>
|
|
|
+ </el-main>
|
|
|
+ <el-footer height="60">
|
|
|
<center class="pagination">
|
|
|
<el-pagination
|
|
|
background
|
|
@@ -146,8 +160,7 @@
|
|
|
:total="total"
|
|
|
></el-pagination>
|
|
|
</center>
|
|
|
- </div>
|
|
|
-
|
|
|
+ </el-footer>
|
|
|
<el-drawer title="事件详情" :visible.sync="detail_popup" ref="drawer" :with-header="false" :width="'500px'" direction="rtl">
|
|
|
<div class="drawer_title">事件详情</div>
|
|
|
<div class="detail_popup" v-loading="detail_loading" v-if="detail_info !== null">
|
|
@@ -215,11 +228,11 @@
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<div v-show="detail_info.process"><Steps :process="detail_info.process"></Steps></div>
|
|
|
-<!-- <div v-if="!detail_info.is" class="red" style="text-align: center;">
|
|
|
- 考勤积分暂不支持立即删除,请在
|
|
|
- <span class="blue">{{ detail_info.btnDate }}</span>
|
|
|
- 后再操作删除此事件
|
|
|
- </div> -->
|
|
|
+ <!-- <div v-if="!detail_info.is" class="red" style="text-align: center;">
|
|
|
+ 考勤积分暂不支持立即删除,请在
|
|
|
+ <span class="blue">{{ detail_info.btnDate }}</span>
|
|
|
+ 后再操作删除此事件
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
<div class="drawer-footer flex-box-end flex-v-ce" v-show="noticeRole">
|
|
|
<el-button @click="close_integral_event">取消</el-button>
|
|
@@ -309,7 +322,7 @@
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
|
|
|
-<!-- 发起申诉 -->
|
|
|
+ <!-- 发起申诉 -->
|
|
|
<AppealCreate
|
|
|
:visible.sync="showAppealCreate"
|
|
|
:events="appealSelectionEvents"
|
|
@@ -330,13 +343,356 @@
|
|
|
>
|
|
|
<AppealPopup ref="appealInfo" :id="appeal.id" @update:appeal="onAppealUpdate"/>
|
|
|
</el-drawer>
|
|
|
- </div>
|
|
|
+ </el-container>
|
|
|
+
|
|
|
+<!-- <div>-->
|
|
|
+<!-- <div class="integral_event_box boxMinHeight">-->
|
|
|
+<!-- <el-collapse v-model="activeCollapseName" >-->
|
|
|
+<!-- <el-collapse-item title="积分搜索" name="search">-->
|
|
|
+<!-- <template slot="title">-->
|
|
|
+<!-- <el-tag>当前数据:{{total}}条,最多导出10000条。</el-tag>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- <div class="flex-box-ce flex-d-wrap">-->
|
|
|
+<!-- <div class="sleItem">-->
|
|
|
+<!-- <el-select v-model="newTaskFormType" style="width:110px;" filterable placeholder="请选择">-->
|
|
|
+<!-- <el-option v-for="item in pullrow" :key="item.id" :label="item.value" :value="item.id"></el-option>-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- <span v-show="newTaskFormType == 1">-->
|
|
|
+<!-- <el-cascader-->
|
|
|
+<!-- class="date-picker-width"-->
|
|
|
+<!-- v-model="rule"-->
|
|
|
+<!-- :options="rule_trees"-->
|
|
|
+<!-- :props="props"-->
|
|
|
+<!-- @change="rule_null"-->
|
|
|
+<!-- ref="rule"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- filterable-->
|
|
|
+<!-- change-on-select-->
|
|
|
+<!-- placeholder="全部规则分类"-->
|
|
|
+<!-- ></el-cascader>-->
|
|
|
+<!-- </span>-->
|
|
|
+<!-- <span v-show="newTaskFormType == 2">-->
|
|
|
+<!-- <el-cascader-->
|
|
|
+<!-- @change="ruleautomatic"-->
|
|
|
+<!-- class="date-picker-width"-->
|
|
|
+<!-- v-model="automaticIntegration"-->
|
|
|
+<!-- :options="rule_list"-->
|
|
|
+<!-- :props="props"-->
|
|
|
+<!-- ref="rule1"-->
|
|
|
+<!-- filterable-->
|
|
|
+<!-- change-on-select-->
|
|
|
+<!-- placeholder="全部自动积分"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- ></el-cascader>-->
|
|
|
+<!-- </span>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="sleItem">-->
|
|
|
+<!-- <span class="label">积分类型</span>-->
|
|
|
+<!-- <el-select class="date-picker-width" v-model="formData.pt_id" clearable placeholder="全部">-->
|
|
|
+<!-- <el-option v-for="item in $getTyps()" :key="item.name" :label="item.name" :value="item.id"></el-option>-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="sleItem">-->
|
|
|
+<!-- <span class="label">事件来源</span>-->
|
|
|
+<!-- <el-select class="date-picker-width" v-model="formData.source_type" clearable placeholder="全部">-->
|
|
|
+<!-- <el-option v-for="item in source_type" :key="item.name" :label="item.name" :value="item.id"></el-option>-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="sleItem">-->
|
|
|
+<!-- <span class="label">部门</span>-->
|
|
|
+<!-- <el-cascader class="date-picker-width" v-model="dept_name" :options="dept_tree" ref="dept" clearable filterable change-on-select placeholder="全公司"></el-cascader>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="sleItem flex-box-ce">-->
|
|
|
+<!-- <span class="label">时间</span>-->
|
|
|
+<!-- <el-date-picker-->
|
|
|
+<!-- v-model="time_slot"-->
|
|
|
+<!-- type="daterange"-->
|
|
|
+<!-- value-format="yyyy-MM-dd"-->
|
|
|
+<!-- range-separator="至"-->
|
|
|
+<!-- :clearable="process=='production'? false:true"-->
|
|
|
+<!-- start-placeholder="开始日期"-->
|
|
|
+<!-- end-placeholder="结束日期"-->
|
|
|
+<!-- :picker-options="instantPickerOptions"-->
|
|
|
+<!-- ></el-date-picker>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="sleItem flex-box-ce">-->
|
|
|
+<!-- <el-select v-model="select_employee_id" filterable clearable placeholder="请输入或选择人员" style="width: 250px;margin-right: 10px;">-->
|
|
|
+<!-- <el-option v-for="item in employee_map" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- <el-input v-model="formData.keyword" style="width: 250px;" placeholder="输入关键字查找" maxlength="100" @keyup.enter.native="keyWordSelect" class="persons_name">-->
|
|
|
+<!-- <el-button slot="append" icon="el-icon-search" @click="keyWordSelect"></el-button>-->
|
|
|
+<!-- </el-input>-->
|
|
|
+<!-- <span class="label" style="margin-left: 10px">奖扣分值</span>-->
|
|
|
+<!-- <el-select v-model="formData.add_subtract" style="width:110px;" filterable placeholder="全部">-->
|
|
|
+<!-- <el-option v-for="item in add_subtract_items" :key="item.id" :label="item.value" :value="item.id"></el-option>-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="flex-box-ce" style="margin-bottom: 20px;">-->
|
|
|
+<!-- <div class="flex-1">-->
|
|
|
+<!-- <el-button type="primary" v-if="!$supremeAuthority('employee')" @click="excelImportShow = true">导入数据</el-button>-->
|
|
|
+<!-- <el-button type="primary" @click="exportExcel">导出当前数据</el-button>-->
|
|
|
+<!-- <el-button class="first-element-btn" v-if="noticeRole" :disabled="selectionID.length == 0" @click="deleteInBatches" type="danger">批量删除</el-button>-->
|
|
|
+<!-- <el-button type="warning" :disabled="!appealEnable || appealSelectionEvents.length === 0" @click="showAppealCreate = true" >发起申诉</el-button>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-collapse-item>-->
|
|
|
+<!-- </el-collapse>-->
|
|
|
+<!-- <el-table-->
|
|
|
+<!-- :data="list"-->
|
|
|
+<!-- style="width: 100%"-->
|
|
|
+<!-- v-loading="loading"-->
|
|
|
+<!-- @row-click="open_detail"-->
|
|
|
+<!-- @selection-change="deleteEvents"-->
|
|
|
+<!-- :height="tableMaxHeight"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- <el-table-column v-if="noticeRole" :selectable="isSelectable" type="selection" width="55"></el-table-column>-->
|
|
|
+<!-- <el-table-column prop="employee_name" label="姓名" align="left" width="180px">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <userImage class="fl" :id="scope.row.employee_id" :user_name="scope.row.employee_name" :img_url="scope.row.employee_img_url" width="50px" height="50px"></userImage>-->
|
|
|
+<!-- <span style="margin-left: 10px; line-height: 50px;">{{ scope.row.employee_name }}</span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="dept" label="部门" align="left" width="200px"></el-table-column>-->
|
|
|
+<!-- <el-table-column prop="point_mark" label="积分" align="left" width="120px">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <span :class="scope.row.point < 0 ? 'color_green' : 'color_red'">{{ scope.row.point_mark }} {{ $getTypsName(scope.row.pt_id) }}</span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="remark" show-overflow-tooltip label="事件内容" align="left" min-width="280px"></el-table-column>-->
|
|
|
+<!-- <el-table-column prop="rule_name" show-overflow-tooltip label="规则分类" align="left" min-width="140px"></el-table-column>-->
|
|
|
+<!-- <el-table-column prop="item_remark" show-overflow-tooltip label="规则细则" align="left" min-width="140px"></el-table-column>-->
|
|
|
+<!-- <el-table-column prop="create_time" label="事件发生时间" align="left" min-width="140px">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- {{ scope.row.event_time }}-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="source_type" label="来源" align="left" width="140px">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- <span v-show="scope.row.source_type == 1">积分奖扣 <span v-if="scope.row.recorder_name">({{scope.row.recorder_name}})</span></span>-->
|
|
|
+<!-- <span v-show="scope.row.source_type == 2">任务</span>-->
|
|
|
+<!-- <span v-show="scope.row.source_type == 3">积分系统分配</span>-->
|
|
|
+<!-- <span v-show="scope.row.source_type == 4">考勤系统分配</span>-->
|
|
|
+<!-- <span v-show="scope.row.source_type == 5">积分申请 <span v-if="scope.row.applyor_name">({{scope.row.applyor_name}})</span></span>-->
|
|
|
+<!-- <span v-show="scope.row.source_type == 6">绩效任务包</span>-->
|
|
|
+<!-- <span v-show="scope.row.source_type == 8">积分导入</span>-->
|
|
|
+<!-- <span v-show="scope.row.source_type == 9">A分转B分</span>-->
|
|
|
+<!-- <span v-show="scope.row.source_type > 9">其他</span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column prop="create_time" label="录入时间" align="left" width="120px">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- {{ cuttString(scope.row.create_time) }}-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <template slot="empty">-->
|
|
|
+<!-- <noData></noData>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table>-->
|
|
|
+<!-- <center class="pagination">-->
|
|
|
+<!-- <el-pagination-->
|
|
|
+<!-- background-->
|
|
|
+<!-- @size-change="handleSizeChange"-->
|
|
|
+<!-- @current-change="handleCurrentChange"-->
|
|
|
+<!-- :current-page="formData.page"-->
|
|
|
+<!-- :page-sizes="[10, 20, 50, 100]"-->
|
|
|
+<!-- layout="total, sizes, prev, pager, next"-->
|
|
|
+<!-- :page-size="pageLimit"-->
|
|
|
+<!-- :total="total"-->
|
|
|
+<!-- ></el-pagination>-->
|
|
|
+<!-- </center>-->
|
|
|
+<!-- </div>-->
|
|
|
+
|
|
|
+<!-- <el-drawer title="事件详情" :visible.sync="detail_popup" ref="drawer" :with-header="false" :width="'500px'" direction="rtl">-->
|
|
|
+<!-- <div class="drawer_title">事件详情</div>-->
|
|
|
+<!-- <div class="detail_popup" v-loading="detail_loading" v-if="detail_info !== null">-->
|
|
|
+<!-- <el-row style="padding-bottom:10px;border-bottom:1px #f8f8f8 solid;">-->
|
|
|
+<!-- <el-col :span="24">-->
|
|
|
+<!-- <userImage :user_name="detail_info.employee_name" :img_url="detail_info.img_url" class="fl" width="50px" height="50px" fontSize="15"></userImage>-->
|
|
|
+<!-- <span style="line-height:50px; margin-left:10px;margin-right:4px;">{{ detail_info.employee_name }}</span>-->
|
|
|
+<!-- <span class="color_red point" v-show="detail_info.point >= 0">+{{ detail_info.point }} {{ $getTypsName(detail_info.pt_id) }}</span>-->
|
|
|
+<!-- <span class="color_green point" v-show="detail_info.point < 0">{{ detail_info.point }} {{ $getTypsName(detail_info.pt_id) }}</span>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
+<!-- <el-row>-->
|
|
|
+<!-- <el-col :span="4">事件内容</el-col>-->
|
|
|
+<!-- <el-col :span="20" v-if="detail_info.remark">{{ detail_info.remark && (detail_info.remark.customize || detail_info.remark.rule) }}</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
+<!-- <el-row>-->
|
|
|
+<!-- <el-col :span="4">规则分类</el-col>-->
|
|
|
+<!-- <el-col :span="20">{{ detail_info.rule_list }}</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
+<!-- <el-row v-show="detail_info.rule_list">-->
|
|
|
+<!-- <el-col :span="4">发生时间</el-col>-->
|
|
|
+<!-- <el-col :span="20">{{ detail_info.date }}</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
+<!-- <el-row v-show="detail_info.source_type">-->
|
|
|
+<!-- <el-col :span="4">来源类型</el-col>-->
|
|
|
+<!-- <el-col :span="20">{{ returnStr(detail_info.source_type) }}</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
+<!-- <el-row v-show="detail_info.recorder_name">-->
|
|
|
+<!-- <el-col :span="4">记录人</el-col>-->
|
|
|
+<!-- <el-col :span="20">{{ detail_info.recorder_name }}</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
+<!-- <el-row v-show="detail_info.files !== null && detail_info.files.length > 0">-->
|
|
|
+<!-- <el-col :span="4">图片</el-col>-->
|
|
|
+<!-- <el-col :span="20">-->
|
|
|
+<!-- <el-image-->
|
|
|
+<!-- v-for="(item, index) in detail_info.files"-->
|
|
|
+<!-- :key="index"-->
|
|
|
+<!-- style="width: 100px; height: 100px;margin:1px"-->
|
|
|
+<!-- :src="item"-->
|
|
|
+<!-- :preview-src-list="detail_info.files"-->
|
|
|
+<!-- ></el-image>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
+<!-- <div v-show="detail_info.rule_item_id">-->
|
|
|
+<!-- <p class="row_title">规则依据</p>-->
|
|
|
+<!-- <el-row>-->
|
|
|
+<!-- <el-col :span="4">规则分类</el-col>-->
|
|
|
+<!-- <el-col :span="19">{{ detail_info.rule_list }}</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+<!-- <el-row v-show="detail_info.rule_item_id">-->
|
|
|
+<!-- <el-col :span="4">积分规则</el-col>-->
|
|
|
+<!-- <el-col :span="19">{{ detail_info.rule_item.remark }}</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+<!-- <el-row v-show="detail_info.rule_item_id">-->
|
|
|
+<!-- <el-col :span="4">规则积分</el-col>-->
|
|
|
+<!-- <el-col :span="19" v-show="detail_info.rule_item.min_point == detail_info.rule_item.max_point">{{ detail_info.rule_item.min_point }} {{ $getTypsName(detail_info.pt_id) }}</el-col>-->
|
|
|
+<!-- <el-col :span="19" v-show="detail_info.rule_item.min_point != detail_info.rule_item.max_point">{{ detail_info.rule_item.min_point }} ~ {{ detail_info.rule_item.max_point }} {{ $getTypsName(detail_info.pt_id) }}</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div v-show="detail_info.process"><Steps :process="detail_info.process"></Steps></div>-->
|
|
|
+<!--<!– <div v-if="!detail_info.is" class="red" style="text-align: center;">-->
|
|
|
+<!-- 考勤积分暂不支持立即删除,请在-->
|
|
|
+<!-- <span class="blue">{{ detail_info.btnDate }}</span>-->
|
|
|
+<!-- 后再操作删除此事件-->
|
|
|
+<!-- </div> –>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div class="drawer-footer flex-box-end flex-v-ce" v-show="noticeRole">-->
|
|
|
+<!-- <el-button @click="close_integral_event">取消</el-button>-->
|
|
|
+<!-- <el-button type="danger" @click="del_integral_event(detail_info)">删除</el-button>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-drawer>-->
|
|
|
+
|
|
|
+<!-- <!– 导入数据 –>-->
|
|
|
+<!-- <el-dialog title="导入积分事件数据" width="600px" :visible.sync="excelImportShow" :close-on-click-modal="false" :before-close="close_import">-->
|
|
|
+<!-- <div style="padding:0 50px;">-->
|
|
|
+<!-- <div class="align-center" style="margin-bottom:20px;">-->
|
|
|
+<!-- <p>-->
|
|
|
+<!-- 1、下载积分事件模版,批量录入积分事件-->
|
|
|
+<!-- <el-button type="primary" @click="downloadTemplate" plain>下载模板</el-button>-->
|
|
|
+<!-- </p>-->
|
|
|
+<!-- <el-upload-->
|
|
|
+<!-- :limit="1"-->
|
|
|
+<!-- :headers="ATOKEN"-->
|
|
|
+<!-- ref="upload1"-->
|
|
|
+<!-- :action="integralUpload"-->
|
|
|
+<!-- :data="{ type: 'integral' }"-->
|
|
|
+<!-- :on-success="handlePictureCardPreview"-->
|
|
|
+<!-- :before-upload="beforeFilesUpload"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- <p>-->
|
|
|
+<!-- 2、上传积分事件数据Excel表-->
|
|
|
+<!-- <el-button type="primary" plain>选择文件</el-button>-->
|
|
|
+<!-- </p>-->
|
|
|
+<!-- </el-upload>-->
|
|
|
+<!-- <p>3、选择文件后点击下方【上传】按钮</p>-->
|
|
|
+<!-- </div>-->
|
|
|
+
|
|
|
+<!-- <div class="align-center" style="margin-bottom:20px; float:left; margin-left:10px;"></div>-->
|
|
|
+<!-- <div class="align-center" style="margin-bottom:20px; float:left; margin-left:10px;"><!– <el-button type="primary" @click="downloadSheet">Excel导出</el-button> –></div>-->
|
|
|
+<!-- <div style="clear:both;"></div>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div slot="footer" class="dialog-footer">-->
|
|
|
+<!-- <el-button @click="close_import">取 消</el-button>-->
|
|
|
+<!-- <el-button type="primary" @click="uploadFile(1)" :loading="update_btn" plain>上传</el-button>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </el-dialog>-->
|
|
|
+
|
|
|
+<!-- <el-dialog :close-on-click-modal="false" title="导入结果" :visible.sync="importErrorInfoShow" width="30%">-->
|
|
|
+<!-- <div>-->
|
|
|
+<!-- <el-table :data="error_list" border stripe>-->
|
|
|
+<!-- <el-table-column prop="name" label="备注信息">-->
|
|
|
+<!-- <template slot-scope="scope">-->
|
|
|
+<!-- {{ scope.row }}-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- </el-table>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <span slot="footer"><el-button type="primary" @click="importErrorInfoShow = false">确 定</el-button></span>-->
|
|
|
+<!-- </el-dialog>-->
|
|
|
+
|
|
|
+<!-- <el-dialog title="轮播排名" :visible.sync="swiperShow" width="500px">-->
|
|
|
+<!-- <div>-->
|
|
|
+<!-- <el-form :inline="true">-->
|
|
|
+<!-- <div style="color:rgb(122 202 126);font-size: 13px;padding:5px 0 20px 0">设置后,相关排名信息可在各类智能终端屏幕上的网页浏览器滚屏展示</div>-->
|
|
|
+<!-- <el-form-item label="展示标题">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- type="textarea"-->
|
|
|
+<!-- :autosize="{ minRows: 2, maxRows: 6 }"-->
|
|
|
+<!-- v-model="titleVals"-->
|
|
|
+<!-- placeholder="请输入标题"-->
|
|
|
+<!-- maxlength="20"-->
|
|
|
+<!-- show-word-limit-->
|
|
|
+<!-- style="width: 341px"-->
|
|
|
+<!-- ></el-input>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- </el-form>-->
|
|
|
+<!-- <el-row>-->
|
|
|
+<!-- <el-col :span="4" style="line-height: 36px;"> 显示最新</el-col>-->
|
|
|
+<!-- <el-col :span="6">-->
|
|
|
+<!-- <el-select v-model="page_size" placeholder="请选择">-->
|
|
|
+<!-- <el-option v-for="item in swiperPageList" :key="item.value" :label="item.value" :value="item.value"></el-option>-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="6" style="line-height: 36px;">条积分事件来轮播</el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <span slot="footer">-->
|
|
|
+<!-- <el-button @click="swiperShow = false">取 消</el-button>-->
|
|
|
+<!-- <router-link :to="{ path: '/deptRankSwiper?' + '&page=1&page_size=' + this.page_size + '&types=1&companyName='+titleVals }" target="_blank">-->
|
|
|
+<!-- <el-button type="primary">开始轮播</el-button>-->
|
|
|
+<!-- </router-link>-->
|
|
|
+<!-- </span>-->
|
|
|
+<!-- </el-dialog>-->
|
|
|
+
|
|
|
+<!--<!– 发起申诉 –>-->
|
|
|
+<!-- <AppealCreate-->
|
|
|
+<!-- :visible.sync="showAppealCreate"-->
|
|
|
+<!-- :events="appealSelectionEvents"-->
|
|
|
+<!-- @createFinish="onAppealCreateFinish"-->
|
|
|
+<!-- />-->
|
|
|
+
|
|
|
+<!-- <!– 申诉详情 –>-->
|
|
|
+<!-- <el-drawer-->
|
|
|
+<!-- :with-header="false"-->
|
|
|
+<!-- :visible.sync="showAppealDetail"-->
|
|
|
+<!-- size="500px"-->
|
|
|
+<!-- direction="rtl"-->
|
|
|
+<!-- :show-close="false"-->
|
|
|
+<!-- :wrapper-closable="true"-->
|
|
|
+<!-- @close="handleAppealClose"-->
|
|
|
+<!-- @closed="handleAppealClosed"-->
|
|
|
+<!-- @opened="handleAppealOpen"-->
|
|
|
+<!-- >-->
|
|
|
+<!-- <AppealPopup ref="appealInfo" :id="appeal.id" @update:appeal="onAppealUpdate"/>-->
|
|
|
+<!-- </el-drawer>-->
|
|
|
+<!-- </div>-->
|
|
|
</template>
|
|
|
<script>
|
|
|
import moment from 'moment';
|
|
|
import Steps from '@/components/Steps.vue';
|
|
|
import AppealCreate from "../../../components/AppealCreate.vue";
|
|
|
import AppealPopup from "../common/AppealPopup.vue";
|
|
|
+import Template from "../../../examine/components/Template.vue";
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -468,10 +824,12 @@ export default {
|
|
|
showAppealCreate:false,
|
|
|
appeal:{id:0},
|
|
|
showAppealDetail:false,
|
|
|
- appealEnable:false
|
|
|
+ appealEnable:false,
|
|
|
+ activeCollapseName:['search'],
|
|
|
+ // tableMaxHeight:680
|
|
|
};
|
|
|
},
|
|
|
- components: {AppealPopup, AppealCreate, Steps},
|
|
|
+ components: {Template, AppealPopup, AppealCreate, Steps},
|
|
|
created() {
|
|
|
this.process=process.env.NODE_ENV
|
|
|
this.deriveRestrict()
|
|
@@ -547,7 +905,13 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
isSelectable(row, index) {
|
|
|
- return row.is;
|
|
|
+ if (this.noticeRole) {
|
|
|
+ /*指点管理员*/
|
|
|
+ return row.is;
|
|
|
+ }else {
|
|
|
+ /*非指定管理员*/
|
|
|
+ return row.employee_id === this.userInfo.id
|
|
|
+ }
|
|
|
},
|
|
|
ruleautomatic() {
|
|
|
let list = this.automaticIntegration;
|
|
@@ -730,6 +1094,7 @@ export default {
|
|
|
return data;
|
|
|
},
|
|
|
open_detail(item) {
|
|
|
+ console.log(item)
|
|
|
let self = this;
|
|
|
self.detail_popup = true;
|
|
|
let data = {
|
|
@@ -880,6 +1245,14 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ },
|
|
|
+ computed:{
|
|
|
+ tableMaxHeight(){
|
|
|
+ return this.activeCollapseName.includes('search') ? 530 : 710
|
|
|
+ },
|
|
|
+ headerMaxHeight(){
|
|
|
+ return this.activeCollapseName.includes('search') ? '300' : '50'
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
@@ -991,9 +1364,18 @@ span.point {
|
|
|
/deep/ .el-dialog__body {
|
|
|
padding: 0px 20px 30px;
|
|
|
}
|
|
|
-</style>
|
|
|
-<style lang="scss">
|
|
|
- .el-tooltip__popper{
|
|
|
- max-width: 800px;
|
|
|
- }
|
|
|
+.el-tooltip__popper{
|
|
|
+ max-width: 800px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-header{
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
+.el-main{
|
|
|
+ padding: 0;
|
|
|
+}
|
|
|
+.el-footer{
|
|
|
+ padding: 0;
|
|
|
+ background-color: white;
|
|
|
+}
|
|
|
</style>
|