You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							127 lines
						
					
					
						
							5.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							127 lines
						
					
					
						
							5.4 KiB
						
					
					
				
								<template>
							 | 
						|
								  <el-card shadow="never" class="aui-card--fill">
							 | 
						|
								    <div class="mod-custom__evaluatedept}">
							 | 
						|
								      <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
							 | 
						|
								        <!-- <el-form-item>
							 | 
						|
								          <el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
							 | 
						|
								        </el-form-item> -->
							 | 
						|
								        <el-form-item label="部门名称" prop="deptName">
							 | 
						|
								          <el-input v-model="dataForm.deptName" @keyup.native="btKeyUpDeptName" placeholder="请输入" clearable></el-input>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item>
							 | 
						|
								          <el-button @click="getDataListSearch()" type="success">{{ $t('query') }}</el-button>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item>
							 | 
						|
								          <el-button v-if="$hasPermission('custom:evaluatedept:deptUpdate')" type="danger" @click="deptUpdate()">同步</el-button>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item>
							 | 
						|
								          <el-button v-if="$hasPermission('custom:evaluatedept:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item>
							 | 
						|
								          <el-button v-if="$hasPermission('custom:evaluatedept:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
							 | 
						|
								        </el-form-item>
							 | 
						|
								      </el-form>
							 | 
						|
								      <el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
							 | 
						|
								        <!-- <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> -->
							 | 
						|
								        <el-table-column label="序号" header-align="center" align="center" width="50px">
							 | 
						|
								            <template slot-scope="scope">
							 | 
						|
								                {{scope.$index+1}}
							 | 
						|
								            </template>
							 | 
						|
								        </el-table-column>
							 | 
						|
								        <el-table-column prop="deptName" label="部门名称" header-align="center" align="center"></el-table-column>
							 | 
						|
								        <el-table-column prop="parentDeptNames" label="上级部门名称" header-align="center" align="center"></el-table-column>
							 | 
						|
								        <el-table-column prop="allDeptNames" label="所有部门名称" header-align="center" align="center"></el-table-column>
							 | 
						|
								        <el-table-column prop="officerCount" label="干部人数" header-align="center" align="center" width="100"></el-table-column>
							 | 
						|
								        <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
							 | 
						|
								          <template slot-scope="scope">
							 | 
						|
								            <el-button v-if="$hasPermission('custom:evaluatedept:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
							 | 
						|
								            <el-button v-if="$hasPermission('custom:evaluatedept:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
							 | 
						|
								            <el-button type="text" size="small" @click="manageHandle(scope.row.deptId)">管理</el-button>
							 | 
						|
								          </template>
							 | 
						|
								        </el-table-column>
							 | 
						|
								      </el-table>
							 | 
						|
								      <el-pagination
							 | 
						|
								        :current-page="page"
							 | 
						|
								        :page-sizes="[10, 20, 50, 100]"
							 | 
						|
								        :page-size="limit"
							 | 
						|
								        :total="total"
							 | 
						|
								        layout="total, sizes, prev, pager, next, jumper"
							 | 
						|
								        @size-change="pageSizeChangeHandle"
							 | 
						|
								        @current-change="pageCurrentChangeHandle">
							 | 
						|
								      </el-pagination>
							 | 
						|
								      <!-- 弹窗, 新增 / 修改 -->
							 | 
						|
								      <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
							 | 
						|
								      <evaluateofficer v-if="evaluateofficerVisible" ref="evaluateofficer" @refreshDataList="getDataList"></evaluateofficer>
							 | 
						|
								    </div>
							 | 
						|
								  </el-card>
							 | 
						|
								</template>
							 | 
						|
								
							 | 
						|
								<script>
							 | 
						|
								import mixinViewModule from '@/mixins/view-module'
							 | 
						|
								import AddOrUpdate from './evaluatedept-add-or-update'
							 | 
						|
								import Evaluateofficer from './evaluateofficer'
							 | 
						|
								export default {
							 | 
						|
								  mixins: [mixinViewModule],
							 | 
						|
								  data() {
							 | 
						|
								    return {
							 | 
						|
								      mixinViewModuleOptions: {
							 | 
						|
								        getDataListURL: '/custom/evaluatedept/page',
							 | 
						|
								        getDataListIsPage: true,
							 | 
						|
								        deleteURL: '/custom/evaluatedept',
							 | 
						|
								        deleteIsBatch: true,
							 | 
						|
								      },
							 | 
						|
								      dataForm: {
							 | 
						|
								        id: '',
							 | 
						|
								        deptName:''
							 | 
						|
								      },
							 | 
						|
								      evaluateofficerVisible: false,
							 | 
						|
								    }
							 | 
						|
								  },
							 | 
						|
								  components: {
							 | 
						|
								    AddOrUpdate,
							 | 
						|
								    Evaluateofficer,
							 | 
						|
								  },
							 | 
						|
								  created: function() {
							 | 
						|
								    this.getDataList()
							 | 
						|
								  },
							 | 
						|
								  methods: {
							 | 
						|
								    manageHandle(deptId) {
							 | 
						|
								      this.$parent.selectComponent = 'Evaluateofficer'
							 | 
						|
								      this.$router.push({
							 | 
						|
								        path: '/custom-evaluatedeptroute',
							 | 
						|
								        query: { deptId: deptId }
							 | 
						|
								      })
							 | 
						|
								    },
							 | 
						|
								    btKeyUpDeptName (e) {
							 | 
						|
								        e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】、;‘’,。、]/g, '')
							 | 
						|
								        this.dataForm.deptName = e.target.value
							 | 
						|
								    },
							 | 
						|
								    deptUpdate() {
							 | 
						|
								      this.$confirm(this.$t('prompt.info', { handle: this.$t('update') }), this.$t('prompt.title'), {
							 | 
						|
								        confirmButtonText: this.$t('confirm'),
							 | 
						|
								        cancelButtonText: this.$t('cancel'),
							 | 
						|
								        type: 'warning'
							 | 
						|
								      })
							 | 
						|
								        .then(() => {
							 | 
						|
								          this.$http
							 | 
						|
								            .get(`/custom/evaluatedept/deptUpdate`)
							 | 
						|
								            .then(({ data: res }) => {
							 | 
						|
								              if (res.code !== 0) {
							 | 
						|
								                return this.$message.error(res.msg)
							 | 
						|
								              }
							 | 
						|
								              this.$message({
							 | 
						|
								                message: this.$t('prompt.success'),
							 | 
						|
								                type: 'success',
							 | 
						|
								                duration: 500,
							 | 
						|
								                onClose: () => {
							 | 
						|
								                  this.getDataList()
							 | 
						|
								                }
							 | 
						|
								              })
							 | 
						|
								            })
							 | 
						|
								            .catch(() => {})
							 | 
						|
								        })
							 | 
						|
								        .catch(() => {})
							 | 
						|
								    },
							 | 
						|
								  },
							 | 
						|
								}
							 | 
						|
								</script>
							 | 
						|
								
							 |