资产新增页面、单位端页面新增

lijinlong
吕天方 3 months ago
parent 834c4bec9a
commit 8e41916813

@ -123,6 +123,8 @@ aside {
//main-container
.app-container {
height: 100%;
overflow-y: scroll;
padding: 20px;
}

@ -198,4 +198,94 @@
.info-bottom-box {
padding: 0px 20px;
}
}
// ---
.taskDialogBox {
.select-box {
position: relative;
.el-select {
width: 100%;
}
.btn-box {
position: absolute;
right: calc(-100% - 10px);
}
}
.newTask-form-item {
.el-form-item__content {
text-align: center;
}
}
}
// form--
.L-assets-info {
height: 100%;
padding: 20px 10px;
overflow-y: scroll;
.assets-info-top {
height: 100%;
.top-title-box {
font-weight: 700;
font-size: 18px;
color: #3D3D3D;
padding-left: 30px;
}
.top-title-two-box {
font-weight: 700;
font-size: 16px;
color: #3D3D3D;
padding-left: 50px;
}
.assets-info-box {
// padding-bottom: 100px;
.demo-ruleForm {
.upload-file {
cursor: pointer;
}
.el-select,.el-date-editor,.el-cascader {
width: 100%;
}
// 访
.fangwenwangzhi {
.el-input-group__prepend {
padding: 0 10px;
}
.el-input--suffix {
width: 80px;
.el-input__suffix {
right: 15px;
}
}
.wangzhispan {
margin-left: 15px;
}
}
// IpPort
.IpPort {
.line {
text-align: center;
}
}
//
// .yumingdaoqishijian,.shiyongshijian {
// .el-date-editor {
// width: 100%;
// }
// }
//
.daoqitixingren {
.el-form-item__content {
.el-row {
display: flex;
}
}
}
}
}
}
}

@ -53,7 +53,38 @@ export default {
if (!this.isDashboard(first)) {
// matched = [{ path: '/index', meta: { title: '' }}].concat(matched)
}
this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
// console.log(sidebarRouters);
if(matched[0].path == "/assetsAuth" ) {
// ----
const activeRoute = sidebarRouters.filter(item => item.path == '/' && item.children[0].path == 'assets')
this.levelList = [activeRoute[0].children[0],matched[0]]
} else if(matched[0].path == "/taskInfo" || matched[0].path == "/taskAudit") {
// ----/
const activeRoute = sidebarRouters.filter(item => item.path == '/' && item.children[0].path == 'task')
this.levelList = [activeRoute[0].children[0],matched[0]]
} else if(matched[0].path == "/mytaskInfo" || matched[0].path == "/mytaskAudit") {
// ----/
const activeRoute = sidebarRouters.filter(item => item.path == '/' && item.children[0].path == 'myTask')
this.levelList = [activeRoute[0].children[0],matched[0]]
} else if(matched[0].path == "/myAssetsAuth") {
// ----
const activeRoute = sidebarRouters.filter(item => item.path == '/' && item.children[0].path == 'myAssets')
this.levelList = [activeRoute[0].children[0],matched[0]]
} else if(matched[0].path == "/taskAuditInfo") {
// ------
const activeRoute = sidebarRouters.filter(item => item.path == '/' && item.children[0].path == 'task')
const route = sidebarRouters.filter(item => item.path == '')
const twoActiveRoute = route[0].children.filter(item => item.path == "taskAudit")
this.levelList = [activeRoute[0].children[0],twoActiveRoute[0],matched[0]]
} else if(matched[0].path == "/mytaskAuditInfo") {
// ------
const activeRoute = sidebarRouters.filter(item => item.path == '/' && item.children[0].path == 'myTask')
const route = sidebarRouters.filter(item => item.path == '')
const twoActiveRoute = route[0].children.filter(item => item.path == "mytaskAudit")
this.levelList = [activeRoute[0].children[0],twoActiveRoute[0],matched[0]]
} else {
this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
}
},
isDashboard(route) {
const name = route && route.name

@ -33,7 +33,7 @@ export default {
height: calc(100vh - 100px);
width: calc(100% - 20px);
position: relative;
overflow: scroll;
// overflow: scroll;
background-color: #fff;
}
@ -63,8 +63,8 @@ export default {
}
::-webkit-scrollbar {
width: 1px;
height: 1px;
width: 4px;
height: 4px;
}
::-webkit-scrollbar-track {

@ -85,9 +85,14 @@ export const constantRoutes = [
meta: { title: '任务详情', icon: 'user', activeMenu: "/task" }
},{
path: 'taskAudit',
component: () => import('@/views/auditPages/taskManagement/audit'),
component: () => import('@/views/auditPages/taskManagement/auditList'),
name: 'taskAudit',
meta: { title: '任务审核', icon: 'user', activeMenu: "/task" }
},{
path: 'taskAuditInfo',
component: () => import('@/views/auditPages/taskManagement/audit'),
name: 'taskAuditInfo',
meta: { title: '资产审核', icon: 'user', activeMenu: "/task" }
},{
path: 'mytaskInfo',
component: () => import('@/views/unitPages/myTask/info'),
@ -95,10 +100,20 @@ export const constantRoutes = [
meta: { title: '任务详情', icon: 'user', activeMenu: "/myTask" }
},{
path: 'mytaskAudit',
component: () => import('@/views/unitPages/myTask/audit'),
component: () => import('@/views/unitPages/myTask/auditList'),
name: 'mytaskAudit',
meta: { title: '资产核查', icon: 'user', activeMenu: "/myTask" }
},
},{
path: 'mytaskAuditInfo',
component: () => import('@/views/unitPages/myTask/audit'),
name: 'mytaskAuditInfo',
meta: { title: '资产核查详情', icon: 'user', activeMenu: "/myTask" }
},{
path: 'myAssetsAuth',
component: () => import('@/views/unitPages/myAssets/assetsAuth'),
name: 'myAssetsAuth',
meta: { title: '资产详情', icon: 'user', activeMenu: "/myAssets" }
}
]
},
{

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -104,9 +104,9 @@
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader" border>
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="系统名称" key="number" width="200px" prop="number" align="center" />
<el-table-column label="系统类型" key="name" prop="name" align="center" />
<el-table-column label="单位名称" key="type" prop="type" align="center">
<el-table-column label="系统名称" key="name" width="200px" prop="name" align="center" />
<el-table-column label="系统类型" key="type" prop="type" align="center" />
<el-table-column label="单位名称" key="unitName" prop="unitName" align="center">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/>
</template> -->
@ -173,38 +173,93 @@ export default {
},
tableData:[
{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:0,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:1,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:2,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:3,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:4,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:0,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:1,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:2,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:3,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:4,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:0,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:1,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:2,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:3,
},{
name:"XXX系统",
type:"门户网站",
unitName:"太仓市XXX局",
time:"2023-07-30 16:30:21",
status:4,
},

@ -1,299 +1,15 @@
<template>
<div class="audit-pages-box" id="L-size-main">
<div class="content-info" id="L-header">
<div class="info-title">任务审核</div>
<div class="top-info">
<el-row class="top-row">
<el-col :span="8">
任务编号<span>20240101001</span>
</el-col>
<el-col :span="8">
任务名称<span>XXXXX资产核查任务</span>
</el-col>
<el-col :span="8">
任务状态<span>待审核</span>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
任务期限<span>2024-11-11 09:00:00</span>
</el-col>
<el-col :span="8">
任务下发时间<span>2024-11-11 09:00:00</span>
</el-col>
</el-row>
</div>
</div>
<div class="info-cut-off-rule" id="L-tab">
<div class="left-tab" :class="index == 1 ? 'active-tab':''" @click="activeTab(1)"></div>
<div :class="index == 2 ? 'active-tab':''" @click="activeTab(2)"></div>
</div>
<div class="info-bottom-box">
<el-form :inline="true" :model="formInline" size="small" class="demo-form-inline" v-if="index == 1">
<el-row>
<el-col :span="7">
<el-form-item label="核查单位:">
<el-select v-model="formInline.unit" placeholder="请选择">
<el-option label="item.label" value="item.value">
</el-option>
<!-- <el-option
v-for="dict in dict.type.bms_approval_status"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> -->
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="审核状态:">
<el-select v-model="formInline.status" placeholder="请选择">
<el-option label="item.label" value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<el-button size="mini" type="primary" @click="handleQuery()"></el-button>
<el-button size="mini" @click="resetQuery()"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-form :inline="true" :model="formInlineTwo" size="small" class="demo-form-inline" v-if="index == 2">
<el-row>
<el-col :span="7">
<el-form-item label="单位名称:">
<el-input v-model="formInlineTwo.unitName" placeholder="请输入"></el-input>
<!-- <el-select v-model="formInline.unit" placeholder="请选择"> -->
<!-- <el-option
v-for="dict in dict.type.bms_approval_status"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> -->
<!-- </el-select> -->
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<el-button size="mini" type="primary" @click="handleQuery()"></el-button>
<el-button size="mini" @click="resetQuery()"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<section v-if="index == 1">
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader" border>
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="资产编号" key="number" width="200px" prop="number" align="center" />
<el-table-column label="资产名称" key="name" prop="name" align="center" />
<el-table-column label="资产类型" key="type" prop="type" align="center">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/>
</template> -->
</el-table-column>
<el-table-column label="核查单位" key="unit" prop="unit" align="center" />
<el-table-column label="审核状态" key="status" width="200px" prop="status" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.status === 0" style="color: #a4c86c;">
审核通过
</span>
<span v-if="scope.row.status === 1" style="color: #F43147;">
审核不通过
</span>
<span v-if="scope.row.status === 2" style="color: #F59A23;">
待审核
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<span class="look-info" @click="goInfo(scope.row)" style="color: #192A92;cursor: pointer;margin-right: 5px;">查看</span>
<span class="look-info" @click="goAudit(scope.row)" style="color: #192A92;cursor: pointer;" v-if="scope.row.status == 1"></span>
</template>
</el-table-column>
</el-table>
</section>
<section v-if="index == 2">
<el-table v-loading="loading" :data="tableDataTwo" :height="tabHeader" :max-height="tabHeader" border>
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="单位名称" key="unitName" width="200px" prop="unitName" align="center" />
<el-table-column label="核查资产数量" key="hczcsl" prop="hczcsl" align="center" />
<el-table-column label="完成数量" key="wcsl" prop="wcsl" align="center">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/>
</template> -->
</el-table-column>
<el-table-column label="未完成数量" key="wwcsl" prop="wwcsl" align="center" />
<el-table-column label="未完成比例" key="wwcbl" width="200px" prop="wwcbl" align="center">
<template slot-scope="scope">
<span style="color: #192A92;">{{ scope.row.wwcbl }}</span>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="pagination.current"
:limit="pagination.size"
@pagination="getPagination"
:current-page.sync="pagination.current"
></my-pagination>
</div>
<div>
审核页面
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
export default {
components:{myPagination},
data() {
return {
index:1,
formInline:{
unit:"",
type:"",
status:"",
},
formInlineTwo:{
unitName:"",
},
total:0,
pagination:{
current:1,
size:10,
},
tableData:[
{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:0,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:1,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:2,
},
],
tableDataTwo:[
{
unitName:"太仓市XXX局",
hczcsl:"100",
wcsl:"80",
wwcsl:"20",
wwcbl:"20%"
},{
unitName:"太仓市XXX局",
hczcsl:"100",
wcsl:"80",
wwcsl:"20",
wwcbl:"20%"
},{
unitName:"太仓市XXX局",
hczcsl:"100",
wcsl:"80",
wwcsl:"20",
wwcbl:"20%"
},
],
loading:false,
tabHeader: undefined,
}
},
mounted(){
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
resetQuery(){
this.pagination = {
current: 1,
size: 10,
}
if(this.index == 1) {
this.formInline = {
unit:"",
type:"",
status:"",
}
this.getList();
} else if(this.index == 2) {
this.formInlineTwo = {
unitName:"",
}
this.getListTwo();
}
},
//
handleQuery(){
this.pagination = {
current: 1,
size: 10,
}
if(this.index == 1) {
this.pagination = { ...this.pagination,...this.formInline };
this.getList();
} else if(this.index == 2) {
this.getListTwo();
}
},
//
getPagination(){
this.pagination.current = pages.page;
this.pagination.size = pages.limit;
if(this.index == 1) {
this.getList();
} else if(this.index == 2) {
this.getListTwo();
}
},
// tab
activeTab(id){
this.index = id
if(id == 1) {
this.formInline = {
unit:"",
type:"",
status:"",
}
this.getList();
} else {
this.formInlineTwo = {
unitName:"",
}
this.getList();
}
},
getList(){},
getListTwo(){},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const tab = document.getElementById('L-tab'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const tabHeight = tab.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - tabHeight - 140;
}
},
}
</script>

@ -0,0 +1,305 @@
<!-- 任务审核页面 -->
<template>
<div class="audit-pages-box" id="L-size-main">
<div class="content-info" id="L-header">
<div class="info-title">任务审核</div>
<div class="top-info">
<el-row class="top-row">
<el-col :span="8">
任务编号<span>20240101001</span>
</el-col>
<el-col :span="8">
任务名称<span>XXXXX资产核查任务</span>
</el-col>
<el-col :span="8">
任务状态<span>待审核</span>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
任务期限<span>2024-11-11 09:00:00</span>
</el-col>
<el-col :span="8">
任务下发时间<span>2024-11-11 09:00:00</span>
</el-col>
</el-row>
</div>
</div>
<div class="info-cut-off-rule" id="L-tab">
<div class="left-tab" :class="index == 1 ? 'active-tab':''" @click="activeTab(1)"></div>
<div :class="index == 2 ? 'active-tab':''" @click="activeTab(2)"></div>
</div>
<div class="info-bottom-box">
<el-form :inline="true" :model="formInline" size="small" class="demo-form-inline" v-if="index == 1">
<el-row>
<el-col :span="7">
<el-form-item label="核查单位:">
<el-select v-model="formInline.unit" placeholder="请选择">
<el-option label="item.label" value="item.value">
</el-option>
<!-- <el-option
v-for="dict in dict.type.bms_approval_status"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> -->
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="审核状态:">
<el-select v-model="formInline.status" placeholder="请选择">
<el-option label="item.label" value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<el-button size="mini" type="primary" @click="handleQuery()"></el-button>
<el-button size="mini" @click="resetQuery()"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-form :inline="true" :model="formInlineTwo" size="small" class="demo-form-inline" v-if="index == 2">
<el-row>
<el-col :span="7">
<el-form-item label="单位名称:">
<el-input v-model="formInlineTwo.unitName" placeholder="请输入"></el-input>
<!-- <el-select v-model="formInline.unit" placeholder="请选择"> -->
<!-- <el-option
v-for="dict in dict.type.bms_approval_status"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> -->
<!-- </el-select> -->
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<el-button size="mini" type="primary" @click="handleQuery()"></el-button>
<el-button size="mini" @click="resetQuery()"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<section v-if="index == 1">
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader" border>
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="资产编号" key="number" width="200px" prop="number" align="center" />
<el-table-column label="资产名称" key="name" prop="name" align="center" />
<el-table-column label="资产类型" key="type" prop="type" align="center">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/>
</template> -->
</el-table-column>
<el-table-column label="核查单位" key="unit" prop="unit" align="center" />
<el-table-column label="审核状态" key="status" width="200px" prop="status" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.status === 0" style="color: #a4c86c;">
审核通过
</span>
<span v-if="scope.row.status === 1" style="color: #F43147;">
审核不通过
</span>
<span v-if="scope.row.status === 2" style="color: #F59A23;">
待审核
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<span class="look-info" @click="goInfo(scope.row)" style="color: #192A92;cursor: pointer;margin-right: 5px;">查看</span>
<span class="look-info" @click="goAudit(scope.row)" style="color: #192A92;cursor: pointer;" v-if="scope.row.status == 1"></span>
</template>
</el-table-column>
</el-table>
</section>
<section v-if="index == 2">
<el-table v-loading="loading" :data="tableDataTwo" :height="tabHeader" :max-height="tabHeader" border>
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="单位名称" key="unitName" width="200px" prop="unitName" align="center" />
<el-table-column label="核查资产数量" key="hczcsl" prop="hczcsl" align="center" />
<el-table-column label="完成数量" key="wcsl" prop="wcsl" align="center">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/>
</template> -->
</el-table-column>
<el-table-column label="未完成数量" key="wwcsl" prop="wwcsl" align="center" />
<el-table-column label="未完成比例" key="wwcbl" width="200px" prop="wwcbl" align="center">
<template slot-scope="scope">
<span style="color: #192A92;">{{ scope.row.wwcbl }}</span>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="pagination.current"
:limit="pagination.size"
@pagination="getPagination"
:current-page.sync="pagination.current"
></my-pagination>
</div>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
export default {
components:{myPagination},
data() {
return {
index:1,
formInline:{
unit:"",
type:"",
status:"",
},
formInlineTwo:{
unitName:"",
},
total:0,
pagination:{
current:1,
size:10,
},
tableData:[
{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:0,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:1,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:2,
},
],
tableDataTwo:[
{
unitName:"太仓市XXX局",
hczcsl:"100",
wcsl:"80",
wwcsl:"20",
wwcbl:"20%"
},{
unitName:"太仓市XXX局",
hczcsl:"100",
wcsl:"80",
wwcsl:"20",
wwcbl:"20%"
},{
unitName:"太仓市XXX局",
hczcsl:"100",
wcsl:"80",
wwcsl:"20",
wwcbl:"20%"
},
],
loading:false,
tabHeader: undefined,
}
},
mounted(){
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
resetQuery(){
this.pagination = {
current: 1,
size: 10,
}
if(this.index == 1) {
this.formInline = {
unit:"",
type:"",
status:"",
}
this.getList();
} else if(this.index == 2) {
this.formInlineTwo = {
unitName:"",
}
this.getListTwo();
}
},
//
handleQuery(){
this.pagination = {
current: 1,
size: 10,
}
if(this.index == 1) {
this.pagination = { ...this.pagination,...this.formInline };
this.getList();
} else if(this.index == 2) {
this.getListTwo();
}
},
//
getPagination(){
this.pagination.current = pages.page;
this.pagination.size = pages.limit;
if(this.index == 1) {
this.getList();
} else if(this.index == 2) {
this.getListTwo();
}
},
// tab
activeTab(id){
this.index = id
if(id == 1) {
this.formInline = {
unit:"",
type:"",
status:"",
}
this.getList();
} else {
this.formInlineTwo = {
unitName:"",
}
this.getList();
}
},
getList(){},
getListTwo(){},
goAudit(){
this.$router.push({name: 'taskAuditInfo',query: {
pageType: "info",
}})
},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const tab = document.getElementById('L-tab'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const tabHeight = tab.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - tabHeight - 140;
}
},
}
</script>

@ -123,14 +123,44 @@
:current-page.sync="pagination.current"
></my-pagination>
</main>
<my-dialog title="新增任务" @close="importClose" ref="taskDialog" class="taskDialogBox" width="30%">
<el-row>
<el-col :span="18">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<el-form-item label="任务名称" prop="taskName">
<el-input v-model="ruleForm.taskName"></el-input>
</el-form-item>
<el-form-item label="核查单位" prop="unit" class="select-box">
<el-col :span="24">
<el-select v-model="ruleForm.unit" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-col>
<el-col class="btn-box">
<el-button type="primary">单位列表</el-button>
</el-col>
</el-form-item>
<el-form-item label="任务期限" prop="time">
<el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.time" style="width: 100%;"></el-date-picker>
</el-form-item>
<el-form-item class="newTask-form-item">
<el-button @click="resetForm('ruleForm')"></el-button>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
</el-form-item>
</el-form>
</el-col>
<el-col :span="6"></el-col>
</el-row>
</my-dialog>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
// import myDialog from "@/views/components/myDialog/index.vue"
import myDialog from "@/views/components/myDialog/index.vue"
export default {
// dicts: ['jjh_project_type', 'bms_approval_status', "project_middle_type", "project_small_type", "project_categories"],
components:{myPagination},
components:{myPagination, myDialog},
data() {
return {
formInline:{
@ -178,6 +208,22 @@ export default {
],
loading:false,
tabHeader: undefined,
ruleForm:{
taskName:"",
unit:"",
time:"",
},
rules: {
name: [
{ required: true, message: '请输入活动名称', trigger: 'blur' },
],
region: [
{ required: true, message: '请选择活动区域', trigger: 'change' }
],
date1: [
{ type: 'date', required: true, message: '请选择日期', trigger: 'change' }
],
}
}
},
mounted(){
@ -236,10 +282,12 @@ export default {
handleImport(){},
//
handleExport(){},
//
//
handleAdd(){
this.$refs.taskDialog.open()
},
//
importClose(){},
//
goInfo(){
this.$router.push({name: 'TaskInfo',query: {

@ -0,0 +1,216 @@
<template>
<div class="upload-file">
<el-upload
multiple
v-show="fileList.length == 0"
:action="uploadFileUrl"
:before-upload="handleBeforeUpload"
:file-list="fileList"
:limit="limit"
:on-error="handleUploadError"
:on-exceed="handleExceed"
:on-success="handleUploadSuccess"
:show-file-list="false"
:headers="headers"
class="upload-file-uploader"
ref="fileUpload"
>
<!-- 上传按钮 -->
<slot v-if="fileList.length == 0"></slot>
</el-upload>
<!-- 文件列表 -->
<transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
<li :key="file.url" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in fileList">
<el-link :href="`${baseUrl}${file.url}`" :underline="false" target="_blank">
<span class="el-icon-document"> {{ getFileName(file.name) }} </span>
</el-link>
<div class="ele-upload-list__item-content-action">
<el-link :underline="false" @click="handleDelete(index)" type="danger">删除</el-link>
</div>
</li>
</transition-group>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
name: "FileUpload",
props: {
//
value: [String, Object, Array],
//
limit: {
type: Number,
default: 5,
},
// (MB)
fileSize: {
type: Number,
default: 5,
},
// , ['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ["doc", "xls", "ppt", "txt", "pdf"],
},
//
isShowTip: {
type: Boolean,
default: true
}
},
data() {
return {
number: 0,
uploadList: [],
baseUrl: process.env.VUE_APP_BASE_API,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", //
headers: {
Authorization: "Bearer " + getToken(),
},
fileList: [],
};
},
watch: {
value: {
handler(val) {
if (val) {
let temp = 1;
//
const list = Array.isArray(val) ? val : this.value.split(',');
//
this.fileList = list.map(item => {
if (typeof item === "string") {
item = { name: item, url: item };
}
item.uid = item.uid || new Date().getTime() + temp++;
return item;
});
} else {
this.fileList = [];
return [];
}
},
deep: true,
immediate: true
}
},
computed: {
//
showTip() {
return this.isShowTip && (this.fileType || this.fileSize);
},
},
methods: {
//
handleBeforeUpload(file) {
//
if (this.fileType) {
const fileName = file.name.split('.');
const fileExt = fileName[fileName.length - 1];
const isTypeOk = this.fileType.indexOf(fileExt) >= 0;
if (!isTypeOk) {
this.$modal.msgError(`文件格式不正确,请上传${this.fileType.join("/")}格式文件!`);
return false;
}
}
//
if (file.name.includes(',')) {
this.$modal.msgError('文件名不正确,不能包含英文逗号!');
return false;
}
//
if (this.fileSize) {
const isLt = file.size / 1024 / 1024 < this.fileSize;
if (!isLt) {
this.$modal.msgError(`上传文件大小不能超过 ${this.fileSize} MB!`);
return false;
}
}
this.$modal.loading("正在上传文件,请稍候...");
this.number++;
return true;
},
//
handleExceed() {
this.$modal.msgError(`上传文件数量不能超过 ${this.limit} 个!`);
},
//
handleUploadError(err) {
this.$modal.msgError("上传文件失败,请重试");
this.$modal.closeLoading();
},
//
handleUploadSuccess(res, file) {
if (res.code === 200) {
this.uploadList.push({ name: res.fileName, url: res.fileName });
this.uploadedSuccessfully();
} else {
this.number--;
this.$modal.closeLoading();
this.$modal.msgError(res.msg);
this.$refs.fileUpload.handleRemove(file);
this.uploadedSuccessfully();
}
},
//
handleDelete(index) {
this.fileList.splice(index, 1);
this.$emit("input", this.listToString(this.fileList));
},
//
uploadedSuccessfully() {
if (this.number > 0 && this.uploadList.length === this.number) {
this.fileList = this.fileList.concat(this.uploadList);
this.uploadList = [];
this.number = 0;
this.$emit("input", this.listToString(this.fileList));
this.$modal.closeLoading();
}
},
//
getFileName(name) {
// url
if (name.lastIndexOf("/") > -1) {
return name.slice(name.lastIndexOf("/") + 1);
} else {
return name;
}
},
//
listToString(list, separator) {
let strs = "";
separator = separator || ",";
for (let i in list) {
strs += list[i].url + separator;
}
return strs != '' ? strs.substr(0, strs.length - 1) : '';
}
}
};
</script>
<style scoped lang="scss">
.upload-file-uploader {
margin-bottom: 5px;
}
.upload-file-list .el-upload-list__item {
border: 1px solid #e4e7ed;
line-height: 2;
margin-bottom: 10px;
position: relative;
}
.upload-file-list .ele-upload-list__item-content {
display: flex;
justify-content: space-between;
align-items: center;
color: inherit;
}
.ele-upload-list__item-content-action .el-link {
margin-right: 10px;
}
</style>

@ -78,22 +78,29 @@
<el-table v-loading="loading" :data="userList">
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column label="单位名称" align="center" key="userId" prop="userId">
<el-table-column label="单位名称" align="center" key="nickName" prop="nickName">
<template slot-scope="scope">{{ scope.row.unitInfo.nickName }}</template>
</el-table-column>
<el-table-column label="单位类型" align="center" key="userName" prop="userName">
<template slot-scope="scope">{{ scope.row.unitInfo.dwlx }}</template>
<el-table-column label="单位类型" align="center" key="dwlx" prop="dwlx">
<template slot-scope="scope">
<dict-tag :options="dict.type.dwlx" :value="scope.row.dwlx"/>
</template>
</el-table-column>
<el-table-column label="统一社会信用代码" align="center" key="nickName" prop="nickName">
<el-table-column label="统一社会信用代码" align="center" key="userName" prop="userName">
<template slot-scope="scope">{{ scope.row.unitInfo.userName }}</template>
</el-table-column>
<el-table-column label="所属区域" align="center" key="deptName" prop="dept.deptName">
<el-table-column label="所属区域" align="center" key="ssqycounty" prop="ssqycounty">
<template slot-scope="scope">{{ scope.row.unitInfo.ssqycounty }}</template>
</el-table-column>
<el-table-column label="所属行业" align="center" key="phonenumber" prop="phonenumber">
<template slot-scope="scope">{{ scope.row.unitInfo.sshy }}</template>
<el-table-column label="所属行业" align="center" key="sshy" prop="sshy">
<template slot-scope="scope">
<!-- <dict-tag :options="dict.type.sshy" :value="scope.row.sshy"/> -->
{{ scope.row.sshy }}
</template>
</el-table-column>
<el-table-column label="单位地址" align="center" key="dwxxdz" prop="dwxxdz">
<template slot-scope="scope">{{ scope.row.unitInfo.dwxxdz }}</template>
</el-table-column>
<el-table-column label="单位地址" align="center" key="phonenumber" prop="phonenumber" />
<el-table-column
label="操作"
align="center"
@ -170,7 +177,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "User",
dicts: ['dwlx'],
dicts: ['dwlx','sshy'],
components: { Treeselect },
data() {
return {

@ -0,0 +1,18 @@
<template>
<div class="L-assets-info">
<div class="">
aaaaa
</div>
</div>
</template>
<script>
export default {
name: "AssetsAuth",
data() {
return {
}
},
methods:{
},
}
</script>

@ -224,7 +224,11 @@ export default {
}})
},
//
goInfo(){},
goInfo(){
this.$router.push({name: 'myAssetsAuth',query: {
pageType: "add",
}})
},
//
edit(){
},

@ -1,204 +1,15 @@
<template>
<div class="audit-pages-box" id="L-size-main">
<div class="content-info content-info-two" id="L-header">
<div class="info-title">任务信息</div>
<div class="top-info">
<el-row class="top-row">
<el-col :span="8">
任务编号<span>20240101001</span>
</el-col>
<el-col :span="8">
任务名称<span>XXXXX资产核查任务</span>
</el-col>
<el-col :span="8">
任务状态<span>待审核</span>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
任务期限<span>2024-11-11 09:00:00</span>
</el-col>
<el-col :span="8">
任务下发时间<span>2024-11-11 09:00:00</span>
</el-col>
</el-row>
</div>
</div>
<div class="info-cut-off-rule-my" id="L-tab">
<div class="info-title">资产核查</div>
</div>
<div class="info-bottom-box">
<el-form :inline="true" :model="formInline" size="small" class="demo-form-inline">
<el-row>
<el-col :span="7">
<el-form-item label="资产名称:">
<el-input v-model="formInline.name" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="核查单位:">
<el-select v-model="formInline.unit" placeholder="请选择">
<el-option label="item.label" value="item.value">
</el-option>
<!-- <el-option
v-for="dict in dict.type.bms_approval_status"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> -->
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="审核状态:">
<el-select v-model="formInline.status" placeholder="请选择">
<el-option label="item.label" value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<el-button size="mini" type="primary" @click="handleQuery()"></el-button>
<el-button size="mini" @click="resetQuery()"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader" border>
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="资产编号" key="number" width="200px" prop="number" align="center" />
<el-table-column label="资产名称" key="name" prop="name" align="center" />
<el-table-column label="资产类型" key="type" prop="type" align="center">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/>
</template> -->
</el-table-column>
<el-table-column label="核查单位" key="unit" prop="unit" align="center" />
<el-table-column label="审核状态" key="status" width="200px" prop="status" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.status === 0" style="color: #a4c86c;">
已核查
</span>
<span v-if="scope.row.status === 1" style="color: #F43147;">
已报废
</span>
<span v-if="scope.row.status === 2" style="color: #F59A23;">
未核查
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<span class="look-info" @click="goAudit(scope.row)" style="color: #192A92;cursor: pointer;" v-if="scope.row.status == 2"></span>
<span class="look-info" @click="goInfo(scope.row)" style="color: #192A92;cursor: pointer;" v-else></span>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="pagination.current"
:limit="pagination.size"
@pagination="getPagination"
:current-page.sync="pagination.current"
></my-pagination>
</div>
<div>
审核页面
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
export default {
components:{myPagination},
data() {
return {
formInline:{
unit:"",
type:"",
status:"",
},
total:0,
pagination:{
current:1,
size:10,
},
tableData:[
{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:0,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:1,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:2,
},
],
loading:false,
tabHeader: undefined,
}
},
mounted(){
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
resetQuery(){
this.pagination = {
current: 1,
size: 10,
}
this.formInline = {
unit:"",
type:"",
status:"",
}
this.getList();
},
//
handleQuery(){
this.pagination = {
current: 1,
size: 10,
}
this.pagination = { ...this.pagination,...this.formInline };
this.getList();
},
//
getPagination(){
this.pagination.current = pages.page;
this.pagination.size = pages.limit;
this.getList();
},
getList(){},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const tab = document.getElementById('L-tab'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const tabHeight = tab.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - tabHeight - 140;
}
},
}
</script>

@ -0,0 +1,209 @@
<template>
<div class="audit-pages-box" id="L-size-main">
<div class="content-info content-info-two" id="L-header">
<div class="info-title">任务信息</div>
<div class="top-info">
<el-row class="top-row">
<el-col :span="8">
任务编号<span>20240101001</span>
</el-col>
<el-col :span="8">
任务名称<span>XXXXX资产核查任务</span>
</el-col>
<el-col :span="8">
任务状态<span>待审核</span>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
任务期限<span>2024-11-11 09:00:00</span>
</el-col>
<el-col :span="8">
任务下发时间<span>2024-11-11 09:00:00</span>
</el-col>
</el-row>
</div>
</div>
<div class="info-cut-off-rule-my" id="L-tab">
<div class="info-title">资产核查</div>
</div>
<div class="info-bottom-box">
<el-form :inline="true" :model="formInline" size="small" class="demo-form-inline">
<el-row>
<el-col :span="7">
<el-form-item label="资产名称:">
<el-input v-model="formInline.name" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="核查单位:">
<el-select v-model="formInline.unit" placeholder="请选择">
<el-option label="item.label" value="item.value">
</el-option>
<!-- <el-option
v-for="dict in dict.type.bms_approval_status"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option> -->
</el-select>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="审核状态:">
<el-select v-model="formInline.status" placeholder="请选择">
<el-option label="item.label" value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item>
<el-button size="mini" type="primary" @click="handleQuery()"></el-button>
<el-button size="mini" @click="resetQuery()"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader" border>
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="资产编号" key="number" width="200px" prop="number" align="center" />
<el-table-column label="资产名称" key="name" prop="name" align="center" />
<el-table-column label="资产类型" key="type" prop="type" align="center">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/>
</template> -->
</el-table-column>
<el-table-column label="核查单位" key="unit" prop="unit" align="center" />
<el-table-column label="审核状态" key="status" width="200px" prop="status" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.status === 0" style="color: #a4c86c;">
已核查
</span>
<span v-if="scope.row.status === 1" style="color: #F43147;">
已报废
</span>
<span v-if="scope.row.status === 2" style="color: #F59A23;">
未核查
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<span class="look-info" @click="goAudit(scope.row)" style="color: #192A92;cursor: pointer;" v-if="scope.row.status == 2"></span>
<span class="look-info" @click="goInfo(scope.row)" style="color: #192A92;cursor: pointer;" v-else></span>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="pagination.current"
:limit="pagination.size"
@pagination="getPagination"
:current-page.sync="pagination.current"
></my-pagination>
</div>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
export default {
components:{myPagination},
data() {
return {
formInline:{
unit:"",
type:"",
status:"",
},
total:0,
pagination:{
current:1,
size:10,
},
tableData:[
{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:0,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:1,
},{
number:20230001,
name:"XXX资产",
type:"1类资产",
unit:"太仓市XXX局",
status:2,
},
],
loading:false,
tabHeader: undefined,
}
},
mounted(){
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
resetQuery(){
this.pagination = {
current: 1,
size: 10,
}
this.formInline = {
unit:"",
type:"",
status:"",
}
this.getList();
},
//
handleQuery(){
this.pagination = {
current: 1,
size: 10,
}
this.pagination = { ...this.pagination,...this.formInline };
this.getList();
},
//
getPagination(){
this.pagination.current = pages.page;
this.pagination.size = pages.limit;
this.getList();
},
goAudit(){
this.$router.push({name: 'mytaskAuditInfo',query: {
pageType: "info",
}})
},
getList(){},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const tab = document.getElementById('L-tab'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const tabHeight = tab.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - tabHeight - 140;
}
},
}
</script>
Loading…
Cancel
Save