对接标签管理ESC审批列表
This commit is contained in:
parent
8e26c3f9ff
commit
7f0f0f3664
|
@ -5,19 +5,24 @@
|
|||
<el-form :model="queryParams" ref="queryRef" :inline="true">
|
||||
<el-row class="myRow">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="申请日期" prop="userName">
|
||||
<el-date-picker v-model="rangeTime" type="daterange" range-separator="~" :clearable="false"
|
||||
style="width: 250px" start-placeholder="开始日期" end-placeholder="结束日期" />
|
||||
<el-form-item label="申请日期">
|
||||
<el-date-picker v-model="dateRange" type="daterange" range-separator="~" :clearable="false"
|
||||
format="YYYY-MM-DD" value-format="YYYY-MM-DD" style="width: 250px"
|
||||
@change="handleDateChange" start-placeholder="开始日期" end-placeholder="结束日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="批准状态" prop="deptId">
|
||||
<el-select v-model="queryParams.deptId" placeholder="请选择" clearable style="width: 160px">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="批准状态">
|
||||
<el-select v-model="queryParams.state" placeholder="请选择" clearable style="width: 160px">
|
||||
<el-option label="待审核" :value="1" />
|
||||
<el-option label="通过" :value="2" />
|
||||
<el-option label="驳回" :value="9" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="员工姓名" prop="userName">
|
||||
<el-input v-model="queryParams.userName" placeholder="请输入员工姓名" clearable
|
||||
style="width: 160px" @keyup.enter="handleQuery" />
|
||||
<el-select v-model="queryParams.userId" filterable placeholder="请选择员工" style="width: 160px"
|
||||
clearable>
|
||||
<el-option v-for="item in allUsers" :key="item.userId"
|
||||
:label="`${item.nickName}(${item.dept?.deptName || '无部门'})`" :value="item.userId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="margin-right: 10px;">
|
||||
<el-button v-if="!unfoldFlag" type="text" class="foladText" @click="handleFlod">展开
|
||||
|
@ -35,17 +40,16 @@
|
|||
</el-row>
|
||||
<el-row class="myRow" v-show="unfoldFlag">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="部门" prop="qualification">
|
||||
<el-select v-model="queryParams.qualification" placeholder="请选择部门" clearable
|
||||
style="width: 160px">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
</el-select>
|
||||
<el-form-item label="部门">
|
||||
<el-tree-select v-model="queryParams.deptId" :data="enabledDeptOptions" clearable
|
||||
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id"
|
||||
placeholder="请选择部门" check-strictly style="width: 160px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="申请标签" prop="deptId">
|
||||
<el-select v-model="queryParams.deptId" placeholder="请选择" clearable style="width: 160px">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="申请标签">
|
||||
<el-select v-model="queryParams.labelId" placeholder="请选择申请标签" clearable
|
||||
style="width: 160px">
|
||||
<el-option v-for="dict in bus_label" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -53,32 +57,36 @@
|
|||
</el-form>
|
||||
|
||||
<div class="borderLine"></div>
|
||||
<el-table :data="tableData" height="calc(100% - 176px)" style="width: 100%">
|
||||
<el-table v-loading="loading" :data="tableData" height="calc(100% - 176px)" style="width: 100%">
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="scope">
|
||||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="localityName" label="属地" />
|
||||
<el-table-column prop="departmentName" label="部门" />
|
||||
<el-table-column prop="officeName" label="科室" />
|
||||
<el-table-column prop="jobNumber" label="工号" />
|
||||
<el-table-column prop="name" label="员工姓名" />
|
||||
<el-table-column prop="curQualification" label="当前标签" />
|
||||
<el-table-column prop="objectiveQualification" label="申请标签" />
|
||||
<el-table-column prop="status" label="状态" width="120">
|
||||
<el-table-column prop="dependencyName" label="属地" width="180" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="deptName" label="部门" width="180" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="sectionName" label="科室" width="180" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="workNo" label="工号" width="130" />
|
||||
<el-table-column prop="userName" label="员工姓名" width="130" />
|
||||
<el-table-column prop="sourceLabelId" label="当前标签" width="130" />
|
||||
<el-table-column prop="labelId" label="申请标签" width="130" />
|
||||
<el-table-column prop="status" label="状态" width="180">
|
||||
<template #default="scope">
|
||||
<el-text v-if="scope.row.status == 0" type="info" class="infoinfoText">待审核</el-text>
|
||||
<el-text v-if="scope.row.status == 1" type="success" class="successText">通过</el-text>
|
||||
<el-text v-if="scope.row.status == 2" type="danger" class="dangerText">驳回</el-text>
|
||||
<el-text v-if="scope.row.state == 1 && scope.row.node == 0" type="info"
|
||||
class="infoinfoText">待审核</el-text>
|
||||
<el-text v-if="scope.row.state == 1 && scope.row.node == 1" type="info"
|
||||
class="infoinfoText">待审核</el-text>
|
||||
<el-text v-if="scope.row.state == 1 && scope.row.node == 2" type="info"
|
||||
class="infoinfoText">待标签管理员审核</el-text>
|
||||
<el-text v-if="scope.row.state == 2" type="success" class="successText">通过</el-text>
|
||||
<el-text v-if="scope.row.state == 9" type="danger" class="dangerText">驳回</el-text>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="150">
|
||||
<el-table-column label="操作" fixed="right" align="center" width="100">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" text class="replayTextBtn" v-if="scope.row.status != 0"
|
||||
@click="handleView">查看</el-button>
|
||||
<el-button type="primary" v-if="scope.row.status == 0" text class="replayTextBtn"
|
||||
@click="handleApproval">审批</el-button>
|
||||
<el-button type="primary" v-if="scope.row.state == 1 && scope.row.node == 1" text
|
||||
class="replayTextBtn" @click="handleApproval">审批</el-button>
|
||||
<el-button type="primary" text class="replayTextBtn" v-else @click="handleView">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -88,142 +96,115 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { onMounted, ref } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import { deptTreeSelect, listUser } from "@/api/system/user"
|
||||
import { getUserLabelPageList } from "@/api/labelManage/labelManage"
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { bus_label } = proxy.useDict("bus_label")
|
||||
const router = useRouter()
|
||||
const total = ref(16)
|
||||
const unfoldFlag = ref(false)
|
||||
const rangeTime = ref([])
|
||||
const dateRange = ref([])
|
||||
const queryParams = ref({
|
||||
pageNum: 1,
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
userName: undefined,
|
||||
node: 1,
|
||||
userId: undefined,
|
||||
deptId: undefined,
|
||||
qualification: undefined
|
||||
labelId: undefined,
|
||||
state: undefined,
|
||||
startTime: undefined,
|
||||
endTime: undefined
|
||||
})
|
||||
const tableData = [
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 1
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 2
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
curQualification: '-',
|
||||
objectiveQualification: 'SH',
|
||||
status: 0
|
||||
},
|
||||
]
|
||||
const loading = ref(true)
|
||||
const total = ref(0)
|
||||
const tableData = ref([])
|
||||
const handleFlod = () => {
|
||||
unfoldFlag.value = !unfoldFlag.value
|
||||
}
|
||||
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getAllUser();
|
||||
getDeptTree();
|
||||
getBusUserLabelPageList();
|
||||
});
|
||||
|
||||
// 用户数据
|
||||
const allUsers = ref([])
|
||||
// 获取所有用户
|
||||
const getAllUser = () => {
|
||||
listUser({
|
||||
status: '0',
|
||||
pageNum: 1,
|
||||
pageSize: 5000
|
||||
}).then(res => {
|
||||
allUsers.value = res.rows
|
||||
})
|
||||
}
|
||||
// 部门数据
|
||||
const enabledDeptOptions = ref(undefined)
|
||||
// 获取部门数据
|
||||
const getDeptTree = () => {
|
||||
deptTreeSelect().then(res => {
|
||||
enabledDeptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(res.data)))
|
||||
})
|
||||
}
|
||||
/** 过滤禁用的部门 */
|
||||
const filterDisabledDept = (deptList) => {
|
||||
return deptList.filter(dept => {
|
||||
if (dept.disabled) {
|
||||
return false
|
||||
}
|
||||
if (dept.children && dept.children.length) {
|
||||
dept.children = filterDisabledDept(dept.children)
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
const getBusUserLabelPageList = () => {
|
||||
loading.value = true
|
||||
console.log('queryParams.value', queryParams.value)
|
||||
getUserLabelPageList(queryParams.value).then(res => {
|
||||
if (res.code == 200) {
|
||||
tableData.value = res.data.list
|
||||
total.value = res.data.total
|
||||
}
|
||||
loading.value = false
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
// 查询日期切换
|
||||
const handleDateChange = (val) => {
|
||||
console.log('选择的日期范围:', val);
|
||||
dateRange.value = val
|
||||
if (val.length > 0) {
|
||||
queryParams.value.startTime = val[0]
|
||||
queryParams.value.endTime = val[1]
|
||||
}
|
||||
};
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNum = 1
|
||||
getList()
|
||||
queryParams.value.pageIndex = 1
|
||||
getBusUserLabelPageList()
|
||||
}
|
||||
|
||||
/** 重置按钮操作 */
|
||||
const resetQuery = () => {
|
||||
dateRange.value = []
|
||||
proxy.resetForm("queryRef")
|
||||
queryParams.value.userId = undefined
|
||||
queryParams.value.deptId = undefined
|
||||
proxy.$refs.deptTreeRef.setCurrentKey(null)
|
||||
queryParams.value.state = undefined
|
||||
queryParams.value.labelId = undefined
|
||||
queryParams.value.startTime = undefined
|
||||
queryParams.value.endTime = undefined
|
||||
proxy.resetForm("queryRef")
|
||||
handleQuery()
|
||||
}
|
||||
const getList = () => {
|
||||
|
||||
}
|
||||
const handleView = () => {
|
||||
router.push('/labelManage/labelEscApproval/approvalDetail')
|
||||
}
|
||||
|
@ -255,7 +236,7 @@ const handleApproval = () => {
|
|||
margin-left: 0 !important;
|
||||
margin-right: 0 !important;
|
||||
}
|
||||
|
||||
|
||||
.qualificationApplyBtn {
|
||||
// width: 84px !important;
|
||||
height: 32px;
|
||||
|
|
Loading…
Reference in New Issue
Block a user