| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426 |
- <template>
- <el-container class="check_plan_zj">
- <el-main>
- <el-card class="box-card" :style="{'height': cardHeight + 'px','overflow-y':'auto'}">
- <!--20200518 by wangby-->
- <el-row :gutter="24" type="flex" justify="start" class="notice_title">
- <el-col :span="20">
- <el-form :inline="true" size="small" class="demo-form-inline" label-width="80px">
- <el-form-item label="年度" size="mini">
- <el-select
- v-model="searchForm.year"
- clearable
- collapse-tags>
- <el-option
- v-for="item in yearList"
- :key="item.id"
- :label="item.year"
- :value="item.year">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="责任处室" size="mini">
- <el-select
- ref="refSelectNotice"
- v-model="searchForm.departId"
- clearable
- collapse-tags>
- <el-option
- v-for="item in orgList"
- :key="item.id"
- :label="item.departNm"
- :value="item.id">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="状态" size="mini">
- <el-select v-model="searchForm.state" clearable collapse-tags>
- <el-option
- v-for="item in planState"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="事项名称">
- <el-input v-model="searchForm.wokerNm" placeholder="请输入事项名称" clearable></el-input>
- </el-form-item>
- </el-form>
- </el-col>
- <el-col :span="4" style="text-align: end;">
- <el-button type="warning" @click="getTableData">查询</el-button>
- </el-col>
- </el-row>
- <div>
- <div class="table_title">
- <h2>监督检查工作计划</h2>
- <div>
- <el-button type="success" @click="addCheckPlan">添加监督检查计划</el-button>
- <el-button type="primary" @click="exportCheckPlan">导出检查计划</el-button>
- </div>
- </div>
- <el-table
- border
- ref="multipleTable"
- :height="tableHeight"
- :data="tableData"
- tooltip-effect="dark"
- style="width: 100%"
- v-loading="loading">
- <el-table-column align="center" type="index" label="序号" min-width="25">
- <template slot-scope="scope">{{ (pageNum - 1) * pageSize + (scope.$index + 1) }}</template>
- </el-table-column>
- <el-table-column label="事项名称" align="center">
- <el-table-column
- header-align="center"
- align="center"
- min-width="150"
- prop="wokerNm"
- label="事项名称"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="150"
- prop="workerNmDesc"
- label="详细名称"
- show-overflow-tooltip
- ></el-table-column>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="200"
- prop="content"
- label="督查内容"
- show-overflow-tooltip>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="160"
- prop="checkWay"
- label="检查方式"
- show-overflow-tooltip
- :formatter="checkWayFormatter"
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="200"
- prop="checkRelay"
- label="检查依据"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="100"
- prop="departNm"
- label="责任处室"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="130"
- prop="checkSttdDate"
- label="检查开始时间"
- show-overflow-tooltip>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="130"
- prop="checkEndDate"
- label="检查结束时间"
- show-overflow-tooltip>
- </el-table-column>
- <el-table-column
- header-align="center"
- align="center"
- min-width="100"
- prop="state"
- label="状态"
- :formatter="stateFormatter"
- show-overflow-tooltip
- ></el-table-column>
- <el-table-column
- align="center"
- min-width="260"
- label="操作"
- fixed="right">
- <template slot-scope="scope">
- <span style="margin-left: 10px;">
- <el-button type="success" size="mini" @click.stop="lookOver(scope.row)">查看</el-button>
- </span>
- <span v-if="scope.row.state == '1' && scope.row.isCheck == '1'" style="margin-left: 10px;">
- <el-button type="warning" size="mini" @click.stop="checkClick(scope.row)">审核</el-button>
- </span>
- <span v-if="scope.row.state == '2' && scope.row.isRect == '1'">
- <el-button type="primary" size="mini" @click.stop="feedbackClick(scope.row)">反馈</el-button>
- <el-button type="danger" size="mini" @click.stop="deleteRow(scope.row)">删除</el-button>
- </span>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- style="margin: 10px auto"
- background
- :pager-count="5"
- :current-page="pageNum"
- :page-size="pageSize"
- :page-sizes="[10, 20, 30, 40, 50, 100]"
- layout="sizes, total, prev, pager, next"
- :total="total"
- @current-change="handleCurrentChange"
- @size-change="handleSizeChange"
- ></el-pagination>
- </div>
- </el-card>
- </el-main>
- <!-- 添加问题弹框 -->
- <el-dialog
- class="outerDialog custom_dialog"
- :title="titleText + '监督检查计划'"
- width="60%"
- :visible.sync="addPlanDialog">
- <addPlan v-if="addPlanDialog" @closeDialog="closeDialogaddPlan" :RowId="RowId" :titleText="titleText"></addPlan>
- </el-dialog>
- </el-container>
- </template>
- <script>
- import request from '@util/gw_ajax_request'
- import {dateFormat} from '@util/gw_date';
- import {hostUrl} from '@util/global_variable.js'
- import {exportModel} from "@util/gw_exportModel";
- import addPlan from './dialogCom/addPlan'
- export default {
- name: "rectificationNotice",
- props: [],
- data() {
- return {
- cardHeight: window.innerHeight - 120,
- tableData: [],
- tableHeight: window.innerHeight - 320,
- loading: false,
- pageSize: 20,
- pageNum: 1,
- formLabelWidth: '120px',
- planState: [
- {label: '待审核',value: '1'},
- {label: '待反馈',value: '2'},
- {label: '已下发',value: '3'}
- ],
- orgList: [],
- gwComFileList: [],
- year: '',
- searchForm: {
- "pageSize": 20,
- "pageNum": 1
- },
- total: null,
- yearList: [],
- titleText: '添加',
- header: {
- 'persId': localStorage.getItem('userid'),
- 'accessToken': localStorage.getItem('accessToken')
- },
- fileList: [],
- url: null,
- addPlanDialog: false,
- RowId: null,
- }
- },
- components: {
- addPlan,
- },
- computed: {
- persId() {
- return localStorage.getItem("userid")
- ? localStorage.getItem("userid")
- : "1098101939614724096";
- },
- orgId() {
- return localStorage.getItem('currentOrgId') ? localStorage.getItem("currentOrgId") : "";
- },
- },
- activated() {
- this.$nextTick(() => {
- this.getYear();
- this.getTableData();
- this.getOrgList();
- })
- },
- methods: {
- getYear(){
- request.get(`/tac/pblm/rect/getYear/${this.persId}`)
- .then(res =>{
- if(res.success){
- this.yearList = res.data;
- }
- })
- .catch(err =>{
- console.log(err);
- })
- },
- getTableData(){
- request.post('/bis/zhejiang/check/plan/pagePlan',this.searchForm).then(res=>{
- if(res.success){
- this.tableData = res.data.list
- this.total = res.data.total
- }else{
- this.$message.warning(res.message)
- }
- })
- },
- // 获取责任处室列表
- getOrgList(){
- request.post('/bis/zhejiang/check/depart/list',{}).then(res=>{
- if(res.success){
- this.orgList = res.data
- }else{
- this.$message.warning(res.message)
- }
- })
- },
- // 添加检查计划
- addCheckPlan(){
- this.titleText = "添加";
- this.addPlanDialog = true;
- },
- // 查看计划详情
- lookOver(row) {
- this.titleText = "查看";
- this.RowId = row.id;
- this.addPlanDialog = true;
- },
- // 审核
- checkClick(row){
- this.titleText = "审核";
- this.RowId = row.id;
- this.addPlanDialog = true;
- },
- // 反馈
- feedbackClick(row){
- this.titleText = "反馈";
- this.RowId = row.id;
- this.addPlanDialog = true;
- },
- // 删除计划
- deleteRow(row) {
- this.$confirm('确定要删除该数据, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- request.get(`/bis/zhejiang/check/plan/del/${row.id}`)
- .then(res => {
- if (res.success) {
- this.$message.success("删除成功");
- this.getTableData();
- } else {
- this.$message.warning(res.message);
- }
- })
- .catch(err => {
- console.log(err);
- })
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
- },
- // 关闭弹窗
- closeDialogaddPlan(val){
- this.addPlanDialog = false;
- if(val){
- this.getTableData();
- }
- },
- handleSizeChange(val) {
- this.searchForm.pageSize = val;
- this.getTableData();
- },
- handleCurrentChange(val) {
- this.searchForm.pageNum = val;
- this.getTableData();
- },
- // 格式化
- checkWayFormatter(val){
- switch (val.checkWay){
- case '1':
- return '明查';
- break;
- case '2':
- return '暗访';
- break;
- case '3':
- return '明查暗访相结合';
- break;
- default:
- return ''
- }
- },
- stateFormatter(val){
- switch (val.state){
- case '1':
- return '待审核';
- break;
- case '2':
- return '待反馈';
- break;
- case '3':
- return '已下发';
- break;
- default:
- return ''
- }
- },
- // 导出检查计划
- async exportCheckPlan(){
- let url = "/pdcApi/bis/zhejiang/check/plan/export";
- let type = "post";
- let exportName = "监督检查工作计划.xls"
- let result = await exportModel(type, url, exportName, JSON.stringify({}));
- }
- },
- watch: {
- }
- }
- </script>
- <style lang="scss">
- .check_plan_zj{
- .table_title{
- margin-bottom: 10px;
- overflow: hidden;
- h2{
- text-align: center;
- }
- div{
- float: right;
- }
- }
- .notice_title{
- .el-input--mini .el-input__inner,.el-select-dropdown__list{
- width: 8vw;
- }
- }
- .rowClassP{
- span {
- color: #3399ff;
- margin-left: 15px;
- cursor: pointer;
- }
- }
- }
- </style>
|