我的资产

main
严飞永 20 hours ago
parent 354c0c99fc
commit ccaf8366b3

@ -0,0 +1,53 @@
<template>
<assetsTypeOne :pageType="$route.query.pageType" :isModdle="true" :id="$route.query.id" :queryData="$route.query.queryData" :name="$route.query.name" v-if="$route.query.type == 0" />
<assetsTypeTwo :pageType="$route.query.pageType" :isModdle="true" :id="$route.query.id" :queryData="$route.query.queryData" :name="$route.query.name" v-else-if="$route.query.type == 1" />
<assetsTypeThree :pageType="$route.query.pageType" :isModdle="true" :id="$route.query.id" :queryData="$route.query.queryData" :name="$route.query.name" v-else-if="$route.query.type == 2" />
<assetsTypeFour :pageType="$route.query.pageType" :isModdle="true" :id="$route.query.id" :queryData="$route.query.queryData" :name="$route.query.name" v-else-if="$route.query.type == 3" />
<assetsTypeFive :pageType="$route.query.pageType" :isModdle="true" :id="$route.query.id" :queryData="$route.query.queryData" :name="$route.query.name" v-else-if="$route.query.type == 4" />
</template>
<script>
// web
import assetsTypeOne from "@/views/components/myAssetsType/index.vue"
//
import assetsTypeTwo from "@/views/components/myAssetsType/index_v1.vue"
//
import assetsTypeThree from "@/views/components/myAssetsType/index_v2.vue"
//
import assetsTypeFour from "@/views/components/myAssetsType/index_v3.vue"
//
import assetsTypeFive from "@/views/components/myAssetsType/index_v4.vue"
export default {
name: "AssetsAuth",
components:{
assetsTypeOne,
assetsTypeTwo,
assetsTypeThree,
assetsTypeFour,
assetsTypeFive,
},
data() {
return {
}
},
beforeRouteEnter(to,from,next){
to.meta.type = to.query.type
if(to.meta.pageType == 'look') {
to.meta.title = '查看资产'
} else if(to.meta.pageType == 'change'){
to.meta.title = '修改资产'
}
// if(to.meta.type == 0) {
// to.meta.activeMenu = "/assetRecord/myWebAssets"
// } else if(to.meta.type == 1) {
// to.meta.activeMenu = "/assetRecord/myProgram"
// } else if(to.meta.type == 2) {
// to.meta.activeMenu = "/assetRecord/myOfficialAccount"
// } else if(to.meta.type == 3) {
// to.meta.activeMenu = "/assetRecord/myEmail"
// } else if(to.meta.type == 4) {
// to.meta.activeMenu = "/assetRecord/myMobileApplication"
// }
next();
},
}
</script>

@ -0,0 +1,402 @@
<!-- 单位自主填报 -->
<template>
<div class="L-main" id="L-size-main">
<div class="content-search" id="L-header">
<div class="search-title">查询条件</div>
<el-form :inline="true" ref="formInlineRef" :model="pagination" size="small" class="demo-form-inline">
<el-row>
<el-col :span="6">
<el-form-item label="资产名称:" prop="name">
<el-input v-model="pagination.name" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="审核状态:" prop="auditState">
<el-select v-model="pagination.auditState" placeholder="请选择审核状态">
<el-option label="待审核" value="1" />
<el-option label="审核通过" value="2" />
<el-option label="审核驳回" value="3" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" style="text-align: left;">
<el-form-item class="unit-form">
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<main>
<div class="search-title">
<el-row class="mb8">
<el-col>
<div class="exportBtn">
<div class="mybuttom"
:class="btnShow == item.value ? 'mybuttomshow' : ''"
v-for="(item, index) in btnArr"
@click="xuanzelist(item)">
{{ item.label }}
</div>
</div>
</el-col>
</el-row>
</div>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader"
:row-class-name="tableRowClassName">
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column label="资产名称" key="xtmc" prop="xtmc" align="center" v-if="btnShow == 'web'" />
<el-table-column label="所属单位" key="dwmc" prop="dwmc" align="center" v-if="btnShow == 'web'" />
<el-table-column label="资产名称" key="xcxmc" prop="xcxmc" align="center" v-if="btnShow == 'xcx'" />
<el-table-column label="资产名称" key="gzhmc" prop="gzhmc" align="center" v-if="btnShow == 'gzh'" />
<el-table-column label="资产名称" key="dzyxhz" prop="dzyxhz" align="center" v-if="btnShow == 'emil'" />
<el-table-column label="资产名称" key="appName" prop="appName" align="center" v-if="btnShow == 'app'" />
<el-table-column label="所属单位" key="ssdw" prop="ssdw" align="center" v-if="btnShow !== 'web'" />
<el-table-column label="平台类型" key="ptlx" prop="ptlx" align="center" v-if="btnShow == 'gzh'">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_ptlx_type" :value="scope.row.ptlx"/>
</template>
</el-table-column>
<el-table-column label="审核状态" key="auditState" width="200px" prop="auditState" class-name="table-status"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.auditState == 1" style="color: #F58A0C;">
待审核
</span>
<span v-if="scope.row.auditState == 2" style="color: #16B771;">
审批通过
</span>
<span v-if="scope.row.auditState == 3" style="color: #F50C0C;">
审批驳回
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row)">
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;">查看</span>
</div>
<!-- -->
<div v-if="scope.row.auditState == 3" style="display: flex;align-items: center;cursor: pointer;margin-left: 10px;"
@click="delInfo(scope.row)">
<img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="del-info" style="color: #1485EF;">编辑</span>
</div>
<div v-if="scope.row.auditState == 3" style="display: flex;align-items: center;cursor: pointer;margin-left: 10px;"
@click="lookInfo(scope.row)">
<img src="@/assets/images/icon-shenhe@2x.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="del-info" style="color: #1485EF;">驳回原因</span>
</div>
</div>
</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>
</main>
<my-dialog title="查看原因" ref="liebiaoDialog" class="taskDialogBox" width="40%">
<el-descriptions>
<el-descriptions-item label="不通过原因">
{{ chakanyuanyin }}
</el-descriptions-item>
</el-descriptions>
</my-dialog>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
import myDialog from "@/views/components/myDialog/index.vue"
import danweiList from "@/views/system/user/danweiList.vue"
import { addassetTaskadd, getassetTask, getassetTaskid, assetTaskclose } from "@/api/renwuApi/index.js"
import { getAuditList, miniProgramsGetAuditList, gzhGetAuditList, EmailList, AppList } from "@/api/auditPagesApi/index.js"
export default {
dicts: ['sys_ptlx_type'],
components: { myPagination, myDialog, danweiList },
data() {
return {
btnloading: false,
total: 0,
pagination: {
current: 1,
size: 10,
dwmc:'',
auditState:'',
name:'',
},
tableData: [
],
loading: false,
tabHeader: undefined,
btnArr: [
{
label: 'web资产',
value: "web"
}, {
label: '小程序',
value: 'xcx'
}, {
label: '公众号',
value: 'gzh'
}, {
label: '电子邮件',
value: 'emil'
}, {
label: '移动应用系统',
value: 'app'
}
],
btnShow:"web",
chakanyuanyin:'',
}
},
mounted() {
// this.getInfo(1);
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods: {
//
getInfo(id) {
this.loading = true;
// getassetTask(this.pagination).then(res => {
// this.loading = false;
// this.total = res.data.total;
// this.tableData = res.data.records;
// })
if(id == 1) {
getAuditList(this.pagination).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
} else if(id == 2) {
miniProgramsGetAuditList(this.pagination).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
} else if(id == 3) {
gzhGetAuditList(this.pagination).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
} else if(id == 4) {
EmailList(this.pagination).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
} else if(id == 5) {
AppList(this.pagination).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
}
},
//
resetQuery() {
this.resetForm("formInlineRef");
this.pagination.current = 1;
if(this.btnShow == 'web') {
this.getInfo(1);
} else if(this.btnShow == 'xcx') {
this.getInfo(2);
} else if(this.btnShow == 'gzh') {
this.getInfo(3);
} else if(this.btnShow == 'emil') {
this.getInfo(4);
} else if(this.btnShow == 'app') {
this.getInfo(5);
}
this.getInfo();
},
//
handleQuery() {
this.pagination.current = 1;
if(this.btnShow == 'web') {
this.getInfo(1);
} else if(this.btnShow == 'xcx') {
this.getInfo(2);
} else if(this.btnShow == 'gzh') {
this.getInfo(3);
} else if(this.btnShow == 'emil') {
this.getInfo(4);
} else if(this.btnShow == 'app') {
this.getInfo(5);
}
},
//
getPagination(pages) {
this.pagination.current = pages.page;
this.pagination.size = pages.limit;
if(this.btnShow == 'web') {
this.getInfo(1);
} else if(this.btnShow == 'xcx') {
this.getInfo(2);
} else if(this.btnShow == 'gzh') {
this.getInfo(3);
} else if(this.btnShow == 'emil') {
this.getInfo(4);
} else if(this.btnShow == 'app') {
this.getInfo(5);
}
},
//
goInfo(row) {
this.$router.push({
name: 'assetsAuthRecord', query: {
type: this.btnShow == 'web' ? 0 : this.btnShow == 'xcx' ? 1 : this.btnShow == 'gzh' ? 2 : this.btnShow == 'emil' ? 3 : this.btnShow == 'app' ? 4 : 5,
pageType: "look",
btnShow: this.btnShow,
id: this.btnShow == 'web' ? row.currentId : this.btnShow == 'xcx' ? row.miniId : this.btnShow == 'gzh' ? row.accountId : this.btnShow == 'emil' ? row.emailId : this.btnShow == 'app' ? row.appId : null,
name: "AssetRecord",
queryData:this.pagination
}
})
},
//
delInfo(row) {
//taskAudit
this.$router.push({
name: 'assetsAuthRecord', query: {
type: this.btnShow == 'web' ? 0 : this.btnShow == 'xcx' ? 1 : this.btnShow == 'gzh' ? 2 : this.btnShow == 'emil' ? 3 : this.btnShow == 'app' ? 4 : 5,
pageType: "change",
btnShow: this.btnShow,
id: this.btnShow == 'web' ? row.currentId : this.btnShow == 'xcx' ? row.miniId : this.btnShow == 'gzh' ? row.accountId : this.btnShow == 'emil' ? row.emailId : this.btnShow == 'app' ? row.appId : null,
name: "AssetRecord",
queryData:this.pagination
}
})
},
//
lookInfo(row){
this.chakanyuanyin = row.auditYy
this.$refs.liebiaoDialog.open()
},
// tab
xuanzelist(item) {
this.btnShow = item.value
switch (item.value) {
case 'web':
this.getInfo(1);
break;
case 'xcx':
this.getInfo(2);
break;
case 'gzh':
this.getInfo(3);
break;
case 'emil':
this.getInfo(4);
break;
case 'app':
this.getInfo(5);
break;
default:
break;
}
},
// table
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
//
cancalDebounce() {
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 140;
}
},
beforeRouteEnter(to, from, next){
next(vm => {
if(from.path == "/assetsAuthRecord") {
vm.btnShow = from.query.btnShow
if(from.query.queryData) {
vm.pagination = from.query.queryData;
}
if(vm.btnShow == 'web') {
vm.getInfo(1);
} else if(vm.btnShow == 'xcx') {
vm.getInfo(2);
} else if(vm.btnShow == 'gzh') {
vm.getInfo(3);
} else if(vm.btnShow == 'emil') {
vm.getInfo(4);
} else if(vm.btnShow == 'app') {
vm.getInfo(5);
}
} else {
vm.getInfo(1);
}
})
},
}
</script>
<style lang="scss" scoped>
.el-icon-s-unfold {
font-size: 16px;
}
// ::v-deep .el-dialog__body{
// padding-left: 80px;
// }
.el-icon-delete {
color: #409EFF;
font-size: 16px;
font-weight: 600;
margin-right: 5px;
}
.exportBtn {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20px;
}
.mybuttom {
margin: 0 10px;
display: inline-block;
padding: 5px 20px;
// background-color: rgba(30, 128, 235, 0.1);
background-color: rgba(213, 225, 236, 0.1);
border-radius: 8px;
border: 1px solid #1e80eb;
font-size: 14px;
color: #1e80eb;
font-family: Source Han Sans CN;
cursor: pointer;
&:hover {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
}
.mybuttomshow {
background-color: #1e80eb;
color: #ffffff;
border: 1px solid #1e80eb;
}
</style>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,211 @@
<!-- 资产管理 -- 电子邮件 -->
<template>
<div class="L-main" id="L-size-main">
<div class="content-search" id="L-header">
<div class="search-title">查询条件</div>
<el-form :inline="true" ref="queryForm" :model="formInline" size="small" class="demo-form-inline">
<el-row>
<!-- <el-col :span="7">
<el-form-item label="所属单位:" prop="dwmc">
<el-input v-model="formInline.dwmc" placeholder="请输入所属单位"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="7">
<el-form-item label="电子邮箱后缀:" prop="dzyxhz">
<el-input v-model="formInline.dzyxhz" placeholder="请输入电子邮箱后缀"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="邮件系统状态:" prop="xtzt">
<el-select v-model="formInline.xtzt" placeholder="请选择邮件系统状态">
<el-option
v-for="dict in dict.type.email_state"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" style="text-align: right;">
<el-form-item class="unit-form">
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<main>
<div class="search-title">
<span class="search-title-span">资产列表</span>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
</div>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :row-class-name="tableRowClassName" :max-height="tabHeader">
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="所属单位" key="ssdw" prop="ssdw" align="center" />
<el-table-column label="电子邮箱后缀" key="dzyxhz" prop="dzyxhz" align="center" />
<el-table-column label="邮件系统供应商" key="yjxtgys" prop="yjxtgys" 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="createTime" prop="createTime" align="center" />
<el-table-column label="邮件系统状态" key="status" prop="status" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.yjxtzc == 1" style="color: #16B771;">
正常
</span>
<span v-if="scope.row.yjxtzc == 2" style="color: #F58A0C;">
停用
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,1)">
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">查看</span>
</div>
<div v-if="!scope.row.auditState || scope.row.auditState == 2" style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,2)">
<img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">编辑</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="formInline.current"
:limit="formInline.size"
@pagination="getPagination"
:current-page.sync="formInline.current"
></my-pagination>
</main>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
// import myDialog from "@/views/components/myDialog/index.vue"
import { assetEmailList, deleteAssetEmail } from "@/api/auditPagesApi/index";
export default {
dicts: ['zc_xtzt','zc_xtlx', 'email_state'],
components:{myPagination},
data() {
return {
formInline:{
dzyxhz:"",
xtzt:"",
// startTime:"",
// endTime:"",
current:1,
size:10,
},
// time:[],
total:0,
tableData:[],
loading:false,
tabHeader: undefined,
}
},
mounted(){
if( Object.keys(this.$route.params).length != 0) {
this.formInline = this.$route.params;
}else{
this.formInline.current = 1
this.formInline.size = 20
}
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
getList(){
this.loading = true;
assetEmailList(this.formInline).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
},
//
resetQuery(){
this.resetForm("queryForm");
// this.time = [];
this.handleQuery();
},
//
handleQuery(){
this.formInline.current = 1;
// if(this.time) {
// this.formInline.startTime = this.time[0]
// this.formInline.endTime = this.time[1]
// }
this.getList();
},
//
getPagination(pages){
this.formInline.current = pages.page;
this.formInline.size = pages.limit;
this.getList();
},
//
handleImport(){
this.upload.open = true;
},
//
handleExport(){
this.download('/tc/assetEmail/export', {
...this.formInline
}, `电子邮件资产${new Date().getTime()}.xlsx`)
},
//
goInfo(row,id){
this.$router.push({name: 'myAssetsAuth',query: {
pageType: id == 1 ? "look" : "change",
type:3,
id:row.id,
queryData:this.formInline,
name:"MyEmail"
}})
},
// table
tableRowClassName({row, rowIndex}){
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 110;
}
},
}
</script>

@ -0,0 +1,222 @@
<!-- 我的资产 -->
<template>
<div class="L-main" id="L-size-main">
<div class="content-search" id="L-header">
<div class="search-title">查询条件</div>
<el-form :inline="true" ref="queryForm" :model="formInline" size="small" class="demo-form-inline">
<el-row>
<el-col :span="7">
<el-form-item label="系统名称:" prop="xtmc">
<el-input v-model="formInline.xtmc" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="系统类型:" prop="xtlx">
<el-select v-model="formInline.xtlx" placeholder="请选择系统类型">
<el-option
v-for="dict in dict.type.zc_xtlx"
: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="系统状态:" prop="xtzt">
<el-select v-model="formInline.xtzt" placeholder="请选择系统状态">
<el-option
v-for="dict in dict.type.zc_xtzt"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" style="text-align: right;">
<el-form-item class="unit-form">
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<main>
<div class="search-title">
<span class="search-title-span">资产列表</span>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
</div>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader" :row-class-name="tableRowClassName">
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="系统名称" key="xtmc" width="200px" prop="xtmc" align="center" />
<el-table-column label="系统类型" key="xtlx" prop="xtlx" align="center">
<template slot-scope="scope">
<dict-tag :options="dict.type.zc_xtlx" :value="scope.row.xtlx"/>
</template>
</el-table-column>
<el-table-column label="单位名称" key="dwmc" prop="dwmc" 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="createTime" prop="createTime" align="center" />
<el-table-column label="系统状态" key="status" prop="status" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.xtzt == 1" style="color: #16B771;">
已安装
</span>
<span v-if="scope.row.xtzt == 2" style="color: #F58A0C;">
测试中
</span>
<span v-if="scope.row.xtzt == 3" style="color: #1485EF;">
使用中
</span>
<span v-if="scope.row.xtzt == 4" style="color: #29A07A;">
维护中
</span>
<span v-if="scope.row.xtzt == 5" style="color: #F50C0C;">
关停
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,1)">
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;">查看</span>
</div>
<div v-if="!scope.row.auditState || scope.row.auditState == 2 || scope.row.xtzt == '5'" style="display: flex;align-items: center;cursor: pointer;margin-left: 10px;" @click="goInfo(scope.row,2)">
<img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">编辑</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="formInline.current"
:limit="formInline.size"
@pagination="getPagination"
:current-page.sync="formInline.current"
></my-pagination>
</main>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
// import myDialog from "@/views/components/myDialog/index.vue"
import { assetUnit, deleteAssetInfo } from "@/api/auditPagesApi/index";
export default {
dicts: ['zc_xtzt','zc_xtlx'],
components:{myPagination},
data() {
return {
formInline:{
xtmc:"",
xtlx:"",
xtzt:"",
current:1,
size:10,
},
total:0,
tableData:[],
loading:false,
tabHeader: undefined,
}
},
mounted(){
if( Object.keys(this.$route.params).length != 0) {
this.formInline = this.$route.params;
}else{
this.formInline.current = 1
this.formInline.size = 20
}
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
getList(){
this.loading = true;
assetUnit('get',this.formInline).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
},
//
resetQuery(){
this.resetForm("queryForm");
this.handleQuery();
},
//
handleQuery(){
this.formInline.current = 1;
this.getList();
},
//
getPagination(pages){
this.formInline.current = pages.page;
this.formInline.size = pages.limit;
this.getList();
},
//
handleImport(){},
//
handleExport(){
this.download('/tc/assetCurrent/export', {
...this.formInline
}, `asset_${new Date().getTime()}.xlsx`)
},
//
goInfo(row,id){
this.$router.push({name: 'myAssetsAuth',query: {
pageType: id == 1 ? "look" : "change",
type:0,
id: row.id,
queryData:this.formInline,
name:"MyWebAssets"
}})
},
// table
tableRowClassName({row, rowIndex}){
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 120;
}
},
}
</script>

@ -0,0 +1,235 @@
<!-- 资产管理 -- 移动应用系统 -->
<template>
<div class="L-main" id="L-size-main">
<div class="content-search" id="L-header">
<div class="search-title">查询条件</div>
<el-form :inline="true" ref="queryForm" :model="formInline" size="small" class="demo-form-inline">
<el-row>
<!-- <el-col :span="7">
<el-form-item label="所属单位:" prop="dwmc">
<el-input v-model="formInline.dwmc" placeholder="请输入所属单位"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="7">
<el-form-item label="移动应用名称:" prop="yymc">
<el-input v-model="formInline.yymc" placeholder="请输入移动应用名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="icp备案状态" prop="xtzt">
<el-select v-model="formInline.xtzt" placeholder="请选择icp备案状态">
<el-option
v-for="dict in dict.type.app_icp_state"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" style="text-align: right;">
<el-form-item class="unit-form">
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="单位名称:" prop="dwmc">
<el-input v-model="formInline.dwmc" placeholder="请输入单位名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="系统状态:" prop="xtzt">
<el-select v-model="formInline.xtzt" placeholder="请选择系统状态">
<el-option
v-for="dict in dict.type.zc_xtzt"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="text-align: right;padding-right: 50px;">
<el-form-item>
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row> -->
</el-form>
</div>
<main>
<div class="search-title">
<span class="search-title-span">资产列表</span>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
</div>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :row-class-name="tableRowClassName" :max-height="tabHeader">
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="移动应用名称" key="appName" prop="appName" align="center" />
<el-table-column label="所属单位" key="ssdw" prop="ssdw" align="center" />
<!-- <el-table-column label="icp备案状态" key="dwmc" prop="dwmc" 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="createTime" prop="createTime" align="center" />
<el-table-column label="icp备案状态" key="status" prop="status" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.icpState == 1" style="color: #F58A0C;">
未备案
</span>
<span v-if="scope.row.icpState == 2" style="color: #16B771;">
已备案
</span>
<span v-if="scope.row.icpState == 3" style="color: #1485EF;">
非网站系统
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,1)">
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">查看</span>
</div>
<div v-if="!scope.row.auditState || scope.row.auditState == 2" style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,2)">
<img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">编辑</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="formInline.current"
:limit="formInline.size"
@pagination="getPagination"
:current-page.sync="formInline.current"
></my-pagination>
</main>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
// import myDialog from "@/views/components/myDialog/index.vue"
import { assetAppList, deleteAssetApp } from "@/api/auditPagesApi/index";
export default {
dicts: ['zc_xtzt','zc_xtlx', 'app_icp_state'],
components:{myPagination},
data() {
return {
formInline:{
xtzt:"",
yymc:"",
// startTime:"",
// endTime:"",
current:1,
size:10,
},
// time:[],
total:0,
tableData:[],
loading:false,
tabHeader: undefined,
}
},
mounted(){
if( Object.keys(this.$route.params).length != 0) {
this.formInline = this.$route.params;
}else{
this.formInline.current = 1
this.formInline.size = 20
}
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
getList(){
this.loading = true;
assetAppList(this.formInline).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
},
//
resetQuery(){
this.resetForm("queryForm");
this.time = [];
this.handleQuery();
},
//
handleQuery(){
this.formInline.current = 1;
// if(this.time) {
// this.formInline.startTime = this.time[0]
// this.formInline.endTime = this.time[1]
// }
this.getList();
},
//
getPagination(pages){
this.formInline.current = pages.page;
this.formInline.size = pages.limit;
this.getList();
},
//
handleExport(){
this.download('/tc/assetApp/export', {
...this.formInline
}, `移动应用程序资产${new Date().getTime()}.xlsx`)
},
//
goInfo(row,id){
this.$router.push({name: 'myAssetsAuth',query: {
pageType: id == 1 ? "look" : "change",
type:4,
id:row.id,
queryData:this.formInline,
name:"MyMobileApplication"
}})
},
// table
tableRowClassName({row, rowIndex}){
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 110;
}
},
}
</script>

@ -0,0 +1,241 @@
<!-- 资产管理 -- 公众号 -->
<template>
<div class="L-main" id="L-size-main">
<div class="content-search" id="L-header">
<div class="search-title">查询条件</div>
<el-form :inline="true" ref="queryForm" :model="formInline" size="small" class="demo-form-inline">
<el-row>
<el-col :span="7">
<el-form-item label="公众号名称:" prop="gzhmc">
<el-input v-model="formInline.gzhmc" placeholder="请输入公众号名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="公众号状态:" prop="xtzt">
<el-select v-model="formInline.xtzt" placeholder="请选择公众号状态">
<el-option
v-for="dict in dict.type.gzh_state"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" style="text-align: right;">
<el-form-item class="unit-form">
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="单位名称:" prop="dwmc">
<el-input v-model="formInline.dwmc" placeholder="请输入单位名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="系统状态:" prop="xtzt">
<el-select v-model="formInline.xtzt" placeholder="请选择系统状态">
<el-option
v-for="dict in dict.type.zc_xtzt"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="text-align: right;padding-right: 50px;">
<el-form-item>
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row> -->
</el-form>
</div>
<main>
<div class="search-title">
<span class="search-title-span">资产列表</span>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
</div>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :row-class-name="tableRowClassName" :max-height="tabHeader">
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="公众号名称" key="gzhmc" prop="gzhmc" align="center" />
<el-table-column label="所属单位" key="ssdw" prop="ssdw" align="center" />
<!-- <el-table-column label="单位名称" key="dwmc" prop="dwmc" align="center">
</el-table-column> -->
<el-table-column label="新增时间" key="createTime" prop="createTime" align="center" />
<el-table-column label="平台类型" key="ptlx" prop="ptlx" align="center">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_ptlx_type" :value="scope.row.ptlx"/>
</template>
</el-table-column>
<el-table-column label="公众号状态" key="status" prop="status" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.gzhzt == 1" style="color: #16B771;">
正常
</span>
<span v-if="scope.row.gzhzt == 2" style="color: #F58A0C;">
注销
</span>
<span v-if="scope.row.gzhzt == 3" style="color: #1485EF;">
迁移
</span>
<span v-if="scope.row.gzhzt == 4" style="color: #29A07A;">
受限
</span>
<span v-if="scope.row.gzhzt == 5" style="color: #F50C0C;">
违规
</span>
<span v-if="scope.row.gzhzt == 6" style="color: #F58A0C;">
未知
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,1)">
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">查看</span>
</div>
<div v-if="!scope.row.auditState || scope.row.auditState == 2" style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,2)">
<img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">编辑</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="formInline.current"
:limit="formInline.size"
@pagination="getPagination"
:current-page.sync="formInline.current"
></my-pagination>
</main>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
// import myDialog from "@/views/components/myDialog/index.vue"
import { assetOfficialAccountList, deleteAssetOfficialAccount } from "@/api/auditPagesApi/index";
export default {
dicts: ['zc_xtzt','zc_xtlx', 'gzh_state','sys_ptlx_type'],
components:{myPagination},
data() {
return {
formInline:{
gzhmc:"",
xtzt:"",
// startTime:"",
// endTime:"",
current:1,
size:10,
},
// time:[],
total:0,
tableData:[],
loading:false,
tabHeader: undefined,
}
},
mounted(){
if( Object.keys(this.$route.params).length != 0) {
this.formInline = this.$route.params;
}else{
this.formInline.current = 1
this.formInline.size = 20
}
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
getList(){
this.loading = true;
assetOfficialAccountList(this.formInline).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
},
//
resetQuery(){
this.resetForm("queryForm");
// this.time = [];
this.handleQuery();
},
//
handleQuery(){
this.formInline.current = 1;
// if(this.time) {
// this.formInline.startTime = this.time[0]
// this.formInline.endTime = this.time[1]
// }
this.getList();
},
//
getPagination(pages){
this.formInline.current = pages.page;
this.formInline.size = pages.limit;
this.getList();
},
//
handleExport(){
this.download('/tc/assetOfficialAccount/export', {
...this.formInline
}, `公众号资产${new Date().getTime()}.xlsx`)
},
//
goInfo(row,id){
this.$router.push({name: 'myAssetsAuth',query: {
pageType: id == 1 ? "look" : "change",
type:2,
id:row.id,
queryData:this.formInline,
name:"MyOfficialAccount"
}})
},
// table
tableRowClassName({row, rowIndex}){
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 110;
}
},
}
</script>

@ -0,0 +1,239 @@
<!-- 资产管理 -- 小程序 -->
<template>
<div class="L-main" id="L-size-main">
<div class="content-search" id="L-header">
<div class="search-title">查询条件</div>
<el-form :inline="true" ref="queryForm" :model="formInline" size="small" class="demo-form-inline" label-width="100px">
<el-row>
<!-- <el-col :span="7">
<el-form-item label="所属单位:" prop="dwmc">
<el-input v-model="formInline.dwmc" placeholder="请输入所属单位"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="7">
<el-form-item label="小程序名称:" prop="xcxmc">
<el-input v-model="formInline.xcxmc" placeholder="请输入小程序名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="小程序状态:" prop="xtzt">
<el-select v-model="formInline.xtzt" placeholder="请选择小程序状态">
<el-option
v-for="dict in dict.type.gzh_state"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3" style="text-align: right;">
<el-form-item class="unit-form">
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-col :span="8">
<el-form-item label="小程序状态:" prop="xtzt">
<el-select v-model="formInline.xtzt" placeholder="请选择系统状态">
<el-option
v-for="dict in dict.type.gzh_state"
:key="dict.value"
:label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="16" style="text-align: right;padding-right: 30px;">
<el-form-item>
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row> -->
</el-form>
</div>
<main>
<div class="search-title">
<span class="search-title-span">资产列表</span>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
</div>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :row-class-name="tableRowClassName" :max-height="tabHeader">
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column label="小程序名称" key="xcxmc" prop="xcxmc" align="center">
<!-- <template slot-scope="scope">
<dict-tag :options="dict.type.zc_xtlx" :value="scope.row.xtlx"/>
</template> -->
</el-table-column>
<el-table-column label="所属单位" key="ssdw" prop="ssdw" align="center" />
<!-- <el-table-column label="单位名称" key="dwmc" prop="dwmc" align="center">
</el-table-column> -->
<!-- <el-table-column label="新增时间" key="createTime" prop="createTime" align="center" /> -->
<el-table-column label="小程序状态" key="state" prop="state" class-name="table-status" align="center">
<template slot-scope="scope">
<span v-if="scope.row.state == 1" style="color: #16B771;">
正常
</span>
<span v-if="scope.row.state == 2" style="color: #F58A0C;">
注销
</span>
<span v-if="scope.row.state == 3" style="color: #1485EF;">
迁移
</span>
<span v-if="scope.row.state == 4" style="color: #29A07A;">
受限
</span>
<span v-if="scope.row.state == 5" style="color: #F50C0C;">
违规
</span>
<span v-if="scope.row.state == 6" style="color: #F58A0C;">
未知
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row,1)">
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">查看</span>
</div>
<div v-if="!scope.row.auditState || scope.row.auditState == 2" style="display: flex;align-items: center;cursor: pointer;margin-left: 10px;" @click="goInfo(scope.row,2)">
<img src="@/assets/images/edit.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;margin-right: 15px;">编辑</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
</section>
<my-pagination
id="L-pagination"
:total="total"
:page="formInline.current"
:limit="formInline.size"
@pagination="getPagination"
:current-page.sync="formInline.current"
></my-pagination>
</main>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
// import myDialog from "@/views/components/myDialog/index.vue"
import { miniProgramsList, deleteMiniPrograms } from "@/api/auditPagesApi/index";
export default {
dicts: ['gzh_state'],
components:{myPagination},
data() {
return {
formInline:{
xtzt:"",
xcxmc:"",
// startTime:"",
// endTime:"",
current:1,
size:10,
},
// time:[],
total:0,
tableData:[],
loading:false,
tabHeader: undefined,
}
},
mounted(){
if( Object.keys(this.$route.params).length != 0) {
this.formInline = this.$route.params;
}else{
this.formInline.current = 1
this.formInline.size = 20
}
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods:{
//
getList(){
this.loading = true;
miniProgramsList(this.formInline).then(res=>{
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
},
//
resetQuery(){
this.resetForm("queryForm");
// this.time = [];
this.handleQuery();
},
//
handleQuery(){
this.formInline.current = 1;
// if(this.time) {
// this.formInline.startTime = this.time[0]
// this.formInline.endTime = this.time[1]
// }
this.getList();
},
//
getPagination(pages){
this.formInline.current = pages.page;
this.formInline.size = pages.limit;
this.getList();
},
//
handleExport(){
this.download('/tc/miniPrograms/export', {
...this.formInline
}, `小程序资产${new Date().getTime()}.xlsx`)
},
//
goInfo(row,id){
this.$router.push({name: 'myAssetsAuth',query: {
pageType: id == 1 ? "look" : "change",
type:1,
id:row.id,
queryData:this.formInline,
name:"MyProgram"
}})
},
// table
tableRowClassName({row, rowIndex}){
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
//
cancalDebounce(){
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 110;
}
},
}
</script>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,225 @@
<template>
<div class="audit-pages-box audit-pages-box-two" 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>
<main class="renwuxiangqing">
<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" :row-class-name="tableRowClassName">
<el-table-column type="index" width="50" label="序号" 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">
<div style="display: flex;align-items: center;justify-content: center;">
<div v-if="scope.row.status == 2" style="display: flex;align-items: center;">
<img src="@/assets/images/icon-shenhe@2x.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="del-info" @click="delInfo(scope.row)" style="color: #1485EF;cursor: pointer;">审核</span>
</div>
<div style="display: flex;align-items: center;" v-else>
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info" @click="goInfo(scope.row)" style="color: #1485EF;cursor: pointer;">查看</span>
</div>
</div>
</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>
</main>
</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(){},
// table
tableRowClassName({row, rowIndex}){
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
//
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,375 @@
<!-- 任务管理 -->
<template>
<div class="L-main" id="L-size-main">
<div class="content-search" id="L-header">
<div class="search-title">查询条件</div>
<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.taskName" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="7">
<el-form-item label="任务编号:">
<el-input v-model="formInline.id" placeholder="请输入"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="7">
<el-form-item label="任务状态:">
<el-select v-model="formInline.taskStatus" placeholder="请选择">
<el-option label="已关闭" value="0">
</el-option>
<el-option label="进行中" value="1">
</el-option>
<el-option label="正常完成" value="2">
</el-option>
<el-option label="超期完成" value="3">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item class="unit-form">
<el-button size="mini" @click="resetQuery('queryFrom')"></el-button>
<el-button size="mini" type="primary" @click="handleQuery('queryFrom')"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<main>
<section>
<el-table v-loading="loading" :data="tableData" :height="tabHeader" :max-height="tabHeader"
:row-class-name="tableRowClassName">
<el-table-column type="index" width="50" label="序号" align="center" />
<!-- <el-table-column label="任务编号" key="id" width="200px" prop="id" align="center" /> -->
<el-table-column label="任务名称" key="taskName" prop="taskName" align="center" />
<el-table-column label="任务下发时间" key="taskTime" prop="taskTime" 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="taskDeadline" prop="taskDeadline" align="center" />
<!-- <el-table-column label="任务完成时间" key="taskFinishTime" prop="taskFinishTime" align="center" /> -->
<el-table-column label="任务状态" key="taskStatus" width="200px" prop="taskStatus" class-name="table-status"
align="center">
<template slot-scope="scope">
<span v-if="scope.row.taskStatus == 0" style="color: #F56C6C;">
已关闭
</span>
<span v-if="scope.row.taskStatus == 1" style="color: #E6A23C;">
进行中
</span>
<span v-if="scope.row.taskStatus == 2" style="color: #67C23A;">
正常完成
</span>
<span v-if="scope.row.taskStatus == 3" style="color: #67C23A;">
超期完成
</span>
<span v-if="scope.row.taskStatus == 4" style="color: #F56C6C;">
审核不通过
</span>
<span v-if="scope.row.taskStatus == 5" style="color: #F56C6C;">
审核驳回
</span>
</template>
</el-table-column>
<el-table-column label="操作" prop="userId" class-name="table-operation" align="center">
<template slot-scope="scope">
<div style="display: flex;align-items: center;justify-content: center;">
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(scope.row)">
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info" style="color: #1485EF;cursor: pointer;">查看</span>
</div>
<!-- v-if="scope.row.taskStatus == 1" -->
<div style="display: flex;align-items: center;cursor: pointer;margin-left: 10px;"
@click="delInfo(scope.row)" v-if="scope.row.taskStatus == 1 && scope.row.taskStatus != 0">
<img src="@/assets/images/icon-shenhe@2x.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="del-info" style="color: #1485EF;cursor: pointer;">开始核查</span>
</div>
</div>
</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>
</main>
<my-dialog title="新增任务" @close="importClose" ref="taskDialog" class="taskDialogBox" width="40%">
<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" placeholder="请输入单位名称"></el-input>
</el-form-item>
<el-form-item label="核查单位" prop="dwmc" class="select-box">
<el-col :span="24">
<el-select v-model="ruleForm.dwmc" placeholder="请选择活动区域" multiple collapse-tags>
</el-select>
</el-col>
<el-col class="btn-box">
<el-button type="primary" @click="addliebiao"><i class="el-icon-s-unfold"></i></el-button>
</el-col>
</el-form-item>
<el-form-item label="任务期限" prop="taskDeadline">
<el-date-picker type="date" placeholder="选择日期" v-model="ruleForm.taskDeadline" style="width: 100%;"
value-format="yyyy-MM-dd"></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 class="newTask-liebiao">
<my-dialog title="单位列表" ref="liebiaoDialog" class="taskDialogBox" width="80%">
<danweiList ref="danweiList" @adddanweilist="adddanweilist" @liebiaoClose="liebiaoClose"></danweiList>
</my-dialog>
</div>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue"
import myDialog from "@/views/components/myDialog/index.vue"
import danweiList from "@/views/system/user/danweiList.vue"
import { addassetTaskadd, getassetTask, getassetTaskid } from "@/api/renwuApi/index.js"
export default {
// dicts: ['jjh_project_type', 'bms_approval_status', "project_middle_type", "project_small_type", "project_categories"],
components: { myPagination, myDialog, danweiList },
data() {
return {
formInline: {
name: "",
type: "",
time: [],
number: "",
status: "",
},
total: 0,
pagination: {
current: 1,
size: 10,
},
tableData: [
],
loading: false,
tabHeader: undefined,
ruleForm: {
taskName: "",
dwmc: [],
taskDeadline: "",
},
rules: {
taskName: [
{ required: true, message: '请输入', trigger: 'blur' },
],
dwmc: [
{ required: true, message: '请选择', trigger: 'change' }
],
taskDeadline: [
{ required: true, message: '请选择日期', trigger: 'change' }
],
},
tabclicklist: []
}
},
mounted() {
localStorage.removeItem("activeName")
if (localStorage.getItem('ismypagination')) {
if (JSON.parse(localStorage.getItem('ismypagination')).isfanhui) {
this.formInline = JSON.parse(localStorage.getItem('ismypagination'))
this.handleQuery()
} else {
localStorage.removeItem("ismypagination")
}
}
localStorage.removeItem("ismypaginationTow")
this.getInfo();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods: {
//
resetForm() {
this.ruleForm = {
dwmc: [],
taskName: "",
taskDeadline: "",
}
this.$refs.taskDialog.close()
this.tabclicklist = []
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.ruleForm.dwmc = this.ruleForm.dwmc.join(",")
addassetTaskadd(this.ruleForm).then(res => {
this.resetForm()
this.getInfo();
})
setTimeout(() => {
this.ruleForm.dwmc = this.ruleForm.dwmc.split(",")
}, 0);
} else {
console.log('error submit!!');
return false;
}
});
},
adddanweilist(val) {
if (val) {
let list = val
this.ruleForm.dwmc = []
list.forEach(element => {
this.ruleForm.dwmc.push(element.nickName)
});
} else {
this.ruleForm.dwmc = []
}
this.tabclicklist = val
},
//
getInfo() {
this.loading = true;
if (this.$store.state.user.roles.includes("unit")) {
this.pagination.dwmc = this.$store.state.user.useer.nickName
}
getassetTask(this.pagination).then(res => {
this.loading = false;
this.total = res.data.total;
this.tableData = res.data.records;
})
},
//
resetQuery() {
this.formInline = {
name: "",
type: "",
time: [],
number: "",
status: "",
}
this.pagination = {
current: 1,
size: 10,
}
localStorage.removeItem("ismypagination")
this.getInfo();
},
//
addliebiao() {
this.$refs.liebiaoDialog.open()
if (this.tabclicklist) {
setTimeout(() => {
this.$refs.danweiList.dakai(this.tabclicklist)
}, 100);
}
},
liebiaoClose() {
this.$refs.liebiaoDialog.close()
},
//
handleQuery() {
this.pagination = {
current: 1,
size: 10
}
if (this.formInline.time.length > 0) {
this.formInline.begainTime = this.formInline.time[0]
this.formInline.endTime = this.formInline.time[1]
}
this.pagination = { ...this.pagination, ...this.formInline };
this.formInline.isfanhui = false
localStorage.setItem("ismypagination", JSON.stringify(this.formInline))
this.getInfo();
},
//
getPagination(pages) {
this.pagination.current = pages.page;
this.pagination.size = pages.limit;
this.getInfo();
},
//
handleImport() { },
//
handleExport() { },
//
handleAdd() {
this.$refs.taskDialog.open()
},
//
importClose() {
this.resetForm()
},
//
goInfo(row) {
getassetTaskid(row.id)
this.$router.push({
name: 'mytaskInfo', query: {
pageType: "look",
id: row.id,
dwmc: row.dwmc
}
})
},
delInfo(row) {
//taskAudit
console.log(row);
this.$router.push({
name: 'mytaskInfo', query: {
pageType: "info",
id: row.id,
dwmc: row.dwmc
}
})
},
//
edit() {
},
//
// table
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
//
cancalDebounce() {
const element = document.getElementById('L-size-main'); // ID
const header = document.getElementById('L-header'); // ID
const pagination = document.getElementById('L-pagination'); // ID
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - 110;
}
},
}
</script>
<style lang="scss" scoped>
.el-icon-s-unfold {
font-size: 16px;
}
</style>

@ -0,0 +1,716 @@
<template>
<!-- 任务核查 -->
<div class="L-task-info">
<div class="info-left info-left-two" id="L-size-main">
<div class="content-info content-info-two" id="L-header">
<div class="info-title">任务详情</div>
<el-button
type="primary"
@click="sendBack"
class="fanhuipiaofu"
size="mini"
>返回</el-button
>
<div class="teshu-top-info">
<div class="top-info">
<el-row class="top-row">
<el-col :span="8">
任务下发时间<span>{{ titleInfoObj.taskTime }}</span>
</el-col>
<el-col :span="8">
任务名称<span>{{ titleInfoObj.taskName }}</span>
</el-col>
<el-col :span="8">
任务状态<span>{{ taskstatus(titleInfoObj.taskStatus) }}</span>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
任务期限<span>{{ titleInfoObj.taskDeadline }}</span>
</el-col>
<el-col :span="16">
核查资产类型<span>{{ listTow.join(",") }}</span>
</el-col>
</el-row>
</div>
</div>
</div>
<main class="renwuxiangqing">
<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"
v-if="index == 1"
>
<el-row>
<!-- <el-col :span="7">
<el-form-item label="核查单位:">
<el-input v-model="formInline.dwmc" placeholder="请输入"></el-input>
</el-form-item>
</el-col> -->
<!-- <el-col :span="9">
<el-form-item label="系统类型:">
<el-select v-model="formInline.xtlx" placeholder="请选择">
<el-option v-for="dict in dict.type.zc_xtlx" :key="dict.label" :label="dict.label"
:value="dict.value">
</el-option>
</el-select>
</el-form-item>
</el-col> -->
<el-col :span="7">
<el-form-item label="系统名称:">
<el-input
v-model="formInline.xtmc"
placeholder="请输入"
></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="审核状态:">
<el-select v-model="formInline.status" placeholder="请选择">
<el-option label="未核查" value="0"> </el-option>
<el-option label="已核查" value="1"> </el-option>
<el-option label="审核通过" value="3"> </el-option>
<el-option label="审核不通过" value="4"> </el-option>
<el-option label="已关停" value="5"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<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="4">
<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-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane
:label="item.conent"
:name="item.lable"
:xtmcName="item.xtmcName"
v-for="item in chanckListTow"
></el-tab-pane>
</el-tabs>
<el-table
v-loading="loading"
:data="tableData"
:height="tabHeader"
:max-height="tabHeader"
:row-class-name="tableRowClassName"
>
<el-table-column
type="index"
width="50"
label="序号"
align="center"
/>
<!-- <el-table-column label="资产编号" key="id" width="200px" prop="id" align="center" /> -->
<el-table-column :label="xtmcName" prop="xtmc" align="center" />
<!-- <el-table-column label="系统类型" key="xtlx" prop="xtlx" align="center">
<template slot-scope="scope">
<dict-tag :options="dict.type.zc_xtlx" :value="scope.row.xtlx" />
</template>
</el-table-column> -->
<el-table-column label="核查单位" prop="zcdwmc" align="center" />
<el-table-column
label="单位核查时间"
prop="updateTime"
align="center"
/>
<el-table-column
label="审核状态"
width="200px"
prop="status"
class-name="table-status"
align="center"
>
<template slot-scope="scope">
<span v-if="scope.row.status == 0" style="color: #e6a23c">
未核查
</span>
<span v-if="scope.row.status == 1" style="color: #67c23a">
已核查
</span>
<span v-if="scope.row.status == 3" style="color: #67c23a">
审核通过
</span>
<span v-if="scope.row.status == 4" style="color: #f56c6c">
审核不通过
</span>
<span v-if="scope.row.status == 5" style="color: #f56c6c">
已关停
</span>
</template>
</el-table-column>
<el-table-column
label="操作"
prop="userId"
class-name="table-operation"
align="center"
>
<template slot-scope="scope">
<div
style="
display: flex;
align-items: center;
justify-content: center;
"
>
<div
style="
display: flex;
align-items: center;
cursor: pointer;
"
@click="goInfo(1, scope.row)"
v-if="
(scope.row.status != 4 && scope.row.status != 0) ||
$route.query.pageType == 'look' ||
$route.meta.pageType == 'look'
"
>
<img
src="@/assets/images/icon-ck@2x.png"
alt=""
style="width: 20px; margin-right: 5px"
/>
<span class="look-info" style="color: #1485ef">查看</span>
</div>
<!-- v-if="scope.row.taskStatus == 1" -->
<div
v-if="
($route.query.pageType == 'info' ||
$route.meta.pageType == 'info') &&
scope.row.status != 3 &&
scope.row.status != 5 &&
scope.row.status != 1
"
style="
display: flex;
align-items: center;
cursor: pointer;
margin-left: 10px;
"
@click="goInfo(2, scope.row)"
>
<img
src="@/assets/images/icon-shenhe@2x.png"
alt=""
style="width: 15px; margin-right: 5px"
/>
<span class="del-info" style="color: #1485ef">核查</span>
</div>
<!-- scope.row.status == 4 -->
<div
style="
display: flex;
align-items: center;
cursor: pointer;
margin-left: 5px;
"
@click="goInfo(3, scope.row)"
v-show="scope.row.btgyy"
>
<img
src="@/assets/images/icon-ck@2x.png"
alt=""
style="width: 20px; margin-right: 5px"
/>
<span class="look-info" style="color: #1485ef"
>查看原因</span
>
</div>
</div>
</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>
</main>
</div>
<div
class="info-right"
v-if="$route.query.pageType == 'look' || $route.meta.pageType == 'look'"
>
<div class="info-title">任务流程节点</div>
<div class="timeline">
<div class="timeline-items" v-for="(item, index) in timeLineData">
<div class="left-box">
<img class="main-img" :src="returnidimg(item.assetName)" alt="" />
<!-- <img class="main-img" v-if="item.status == 2" src="" alt="">
<img class="main-img" v-if="item.status == 3" src="" alt="">
<img class="main-img" v-if="item.status == 4" src="" alt=""> -->
<img
class="icon-jt"
v-if="index + 1 != timeLineData.length"
src="@/assets/images/icon-jt@2x.png"
alt=""
/>
</div>
<div class="right-box">
<span class="span-title">{{ item.assetName }}:</span>
<span class="span-time">{{ item.xfTime }}</span>
</div>
</div>
</div>
</div>
<my-dialog
title="查看原因"
ref="liebiaoDialog"
@close="importClose"
class="taskDialogBox"
width="40%"
>
<el-descriptions>
<el-descriptions-item label="不通过原因">
{{ chakanyuanyin }}
</el-descriptions-item>
</el-descriptions>
</my-dialog>
</div>
</template>
<script>
import myPagination from "@/views/components/Pagination/index.vue";
import { getassetTaskid, geassetTaskcHc } from "@/api/renwuApi/index.js";
import { assetLcpage } from "@/api/renwuApi/index.js";
import myDialog from "@/views/components/myDialog/index.vue";
export default {
dicts: ["zc_xtlx"],
components: { myPagination, myDialog },
data() {
return {
index: 1,
formInline: {},
formInlineTwo: {
unitName: "",
},
total: 0,
pagination: {
current: 1,
size: 10,
},
tableData: [],
tableDataTwo: [],
loading: false,
tabHeader: undefined,
timeLineData: [],
titleInfoObj: {},
chakanyuanyin: "",
activeName: "0",
xtmcName: "系统名称",
chanckList: [
{
lable: "0",
conent: "web资产",
xtmcName: "系统名称",
},
{
lable: "1",
conent: "小程序资产",
xtmcName: "小程序名称",
},
{
lable: "2",
conent: "公众号资产",
xtmcName: "公众号名称",
},
{
lable: "3",
conent: "电子邮件资产",
xtmcName: "电子邮箱后缀",
},
{
lable: "4",
conent: "移动应用程序资产",
xtmcName: "移动应用程序名称",
},
],
chanckListTow: [],
listTow: [],
};
},
mounted() {
this.cancalDebounce();
window.addEventListener("resize", this.cancalDebounce);
this.titleInfo();
this.assetLcpageList();
if (localStorage.getItem("ismypaginationTow")) {
console.log(JSON.parse(localStorage.getItem("ismypaginationTow")));
if (JSON.parse(localStorage.getItem("ismypaginationTow")).isfanhuiTow) {
this.formInline = JSON.parse(localStorage.getItem("ismypaginationTow"));
console.log(99999, this.formInline);
this.titleInfo();
} else {
console.log(99999, this.formInline);
localStorage.removeItem("ismypaginationTow");
}
}
},
destroyed() {
window.removeEventListener("resize", this.cancalDebounce);
},
methods: {
sendBack() {
if (localStorage.getItem("ismypagination")) {
let formInline = JSON.parse(localStorage.getItem("ismypagination"));
formInline.isfanhui = true;
localStorage.setItem("ismypagination", JSON.stringify(formInline));
}
this.$router.go(-1);
},
handleClick(tab, event) {
console.log(tab.name);
// this.formInline = {
// }
this.activeName = tab.name;
this.xtmcName = tab.$attrs.xtmcName;
localStorage.setItem("activeName", this.activeName);
this.handleQuery();
},
//
returnidimg(iswenzi) {
// let obj = {
// '':require('@/assets/images/rwxf.png'),
// "":require('@/assets/images/wctj.png'),
// ",":require('@/assets/images/shbh.png'),
// "":require('@/assets/images/shtg.png'),
// }
let listsna = [
{
name: "下发",
imgdata: require("@/assets/images/rwxf.png"),
},
{
name: "提交",
imgdata: require("@/assets/images/wctj.png"),
},
{
name: "不通过",
imgdata: require("@/assets/images/shbh.png"),
},
{
name: "审核通过",
imgdata: require("@/assets/images/shtg.png"),
},
{
name: "驳回",
imgdata: require("@/assets/images/shbh.png"),
},
];
let item = listsna.find((item) => iswenzi.includes(item.name));
if (item) {
return item.imgdata;
} else {
return require("@/assets/images/wctj.png");
}
},
assetLcpageList() {
let obj = {
taskId: this.$route.query.id || this.$route.meta.id,
};
assetLcpage(obj).then((res) => {
this.timeLineData = res.data;
});
},
importClose() {},
goInfo(type, row) {
//
if (type == 1) {
this.$router.push({
name: "mytaskAuditInfo",
query: {
pageType: "look",
taskId: row.taskId,
assetId: row.id,
type: this.activeName,
},
});
}
//
if (type == 2) {
this.$router.push({
name: "mytaskAuditInfo",
query: {
pageType: "change",
taskId: row.taskId,
assetId: row.id,
type: this.activeName,
},
});
}
//
if (type == 3) {
this.chakanyuanyin = row.btgyy;
this.$refs.liebiaoDialog.open();
}
// getassetTaskid(row.id)
},
taskstatus(id) {
if (id) {
let obj = {
0: "已关闭",
1: "进行中",
2: "正常完成",
3: "超期完成",
4: "正常完成",
5: "审核驳回",
};
return obj[id];
} else {
return "-";
}
},
//
titleInfoObjtype(type = "0,1") {
console.log(type);
let list = type.split(",");
//
this.listTow = [];
//tab
this.chanckListTow = [];
this.chanckList.forEach((res) => {
list.forEach((element) => {
if (element == res.lable) {
this.listTow.push(res.conent);
this.chanckListTow.push(res);
}
});
});
//tab
this.activeName = this.chanckListTow[0].lable;
if (localStorage.getItem("activeName")) {
this.activeName = localStorage.getItem("activeName");
localStorage.setItem("activeName", this.activeName);
}
//
let listname = this.chanckListTow.filter(
(item) => item.lable == this.activeName
);
if (listname) {
this.xtmcName = listname[0].xtmcName;
}
this.handleQuery();
},
titleInfo() {
getassetTaskid(this.$route.query.id || this.$route.meta.id).then(
(res) => {
if (res.code == 200) {
this.titleInfoObj = res.data;
// this.$set(this.titleInfoObj,'type',"0,1")
this.titleInfoObjtype(this.titleInfoObj.type);
}
}
);
},
//
resetQuery() {
this.activeName = this.chanckListTow[0].lable;
this.pagination = {
current: 1,
size: 10,
type: this.activeName,
};
if (this.index == 1) {
this.formInline = {
type: this.activeName,
};
localStorage.removeItem("ismypaginationTow");
this.getList();
} else if (this.index == 2) {
this.formInlineTwo = {
unitName: "",
};
this.getListTwo();
}
},
//
handleQuery() {
this.pagination = {
current: 1,
size: 10,
type: this.activeName,
};
if (this.index == 1) {
this.pagination = { ...this.pagination, ...this.formInline };
this.formInline.isfanhuiTow = false;
console.log(77777, this.formInline);
console.log(88888, this.pagination);
localStorage.setItem(
"ismypaginationTow",
JSON.stringify(this.formInline)
);
this.getList();
} else if (this.index == 2) {
this.getListTwo();
}
},
//
getPagination(pages) {
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() {
this.loading = true;
this.pagination.taskId = this.$route.query.id || this.$route.meta.id;
// this.pagination.dwmc = this.$route.query.dwmc || this.$route.meta.dwmc
this.pagination.type = this.activeName;
if (this.$store.state.user.roles.includes("unit")) {
this.pagination.dwmc = this.$store.state.user.useer.nickName;
}
geassetTaskcHc(this.pagination).then((res) => {
this.tableData = res.data.records;
this.loading = false;
this.total = res.data.total;
});
},
getListTwo() {},
// table
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 !== 0) {
return "evenNumber-row";
}
return "";
},
//
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 paginationtHeight = pagination.offsetHeight;
const tabHeight = tab.offsetHeight;
this.tabHeader =
elementHeight - headerHeight - paginationtHeight - tabHeight - 160;
},
},
beforeRouteEnter(to, from, next) {
if (to.query.pageType == "info") {
to.meta.title = "资产核查";
to.meta.pageType = to.query.pageType;
to.meta.id = to.query.id;
} else if (to.query.pageType == "look") {
to.meta.title = "任务详情";
to.meta.pageType = to.query.pageType;
to.meta.id = to.query.id;
}
next();
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-timeline {
padding-left: 0;
font-size: 12px;
}
::v-deep .el-form-item__label {
padding-right: 3px;
}
.look-info {
}
::v-deep .el-dialog {
margin-top: 20vh !important;
}
.content-info {
position: relative;
}
.fanhuipiaofu {
position: absolute;
right: 20px;
top: 10px;
}
</style>

@ -0,0 +1,882 @@
<!-- 新增单位 -->
<template>
<div class="L-assets-info">
<div class="assets-info-top">
<el-row style="margin: 10px 0;">
<span class="top-title-box">基本信息</span>
</el-row>
<div class="assets-info-box">
<el-form v-loading="loading" :model="ruleForm" :rules="rules" ref="ruleForm" label-width="170px" class="demo-ruleForm" label-position="right" :disabled="disabled">
<el-row>
<el-col :span="12">
<el-form-item label="单位名称" required prop="nickName">
<el-input v-model="ruleForm.nickName" disabled :placeholder="disabled ? '' : '请输入单位名称'"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位简称">
<el-input v-model="ruleForm.dwjc" :placeholder="disabled ? '' : '请输入单位简称'"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="所属区域" required prop="ssqy">
<el-cascader
size="large"
:props="props"
:options="options"
v-model="ruleForm.ssqy"
>
</el-cascader>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位详细地址" required prop="dwxxdz">
<el-input v-model="ruleForm.dwxxdz" :placeholder="disabled ? '':'请输入单位详细地址'"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="所属行业" required prop="sshy">
<el-select v-model="ruleForm.sshy" :placeholder="disabled ? '':'请选择所属行业'">
<el-option
v-for="dict in dict.type.sshy"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位类型" required prop="dwlx">
<el-select v-model="ruleForm.dwlx" :placeholder="disabled ? '':'请选择单位类型'">
<el-option
v-for="dict in dict.type.dwlx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="单位标签">
<el-select v-model="ruleForm.dwbq" :placeholder="disabled ? '':'请选择单位标签'">
<el-option
v-for="dict in dict.type.zc_xtzyx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属监管单位">
<el-input v-model="ruleForm.ssjgdw" :placeholder="disabled ? '' : '请输入监管单位'"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="单位角色">
<el-select v-model="ruleForm.dwjs" :placeholder="disabled ? '':'请选择单位角色'">
<el-option
v-for="dict in dict.type.dwjs"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="单位直属性质">
<el-select v-model="ruleForm.dwzsxz" :placeholder="disabled ?'':'请选择单位直属性质'">
<el-option
v-for="dict in dict.type.dwzsxz"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="统一社会信用代码" prop="userName">
<el-input v-model="ruleForm.userName" disabled :placeholder="disabled ? '':'请输入统一社会信用代码'"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否关基单位">
<el-select v-model="ruleForm.gjdw" :placeholder="disabled ? '':'请选择是否关基单位'">
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="日常运营负责部门" required prop="rcyyfzbm">
<el-input v-model="ruleForm.rcyyfzbm" :placeholder="disabled ? '':'请输入日常运营负责部门'"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="组织架构" required prop="zzjg">
<!-- @change="handleChange" -->
<el-cascader
v-model="ruleForm.zzjg"
:options="optionsTwo"
disabled
>
</el-cascader>
</el-form-item>
</el-col>
</el-row>
<!-- 联系人 -->
<el-row style="margin: 10px 0;">
<span class="top-title-box">联系人</span>
<el-row>
<el-col :span="24">
<el-form-item label="单位负责人" required class="daoqitixingren">
<el-row>
<el-col :span="6">
<el-form-item prop="dwfzrxm">
<el-input v-model="ruleForm.dwfzrxm" style="width: 100%;" :placeholder="disabled ? '':'请输入联系人'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="dwfzrlxfs"
:rules="[
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
required: true,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.dwfzrlxfs" style="width: 100%;" :placeholder="disabled ? '':'请输入联系方式'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="dwfzryx"
:rules="[
{
type: 'email',
required: true,
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.dwfzryx" style="width: 100%;" :placeholder="disabled ? '':'请输入邮箱'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="dwfzrzwzc">
<el-input v-model="ruleForm.dwfzrzwzc" style="width: 100%;" :placeholder="disabled ? '':'请输入职务职称'"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="分管负责人" class="daoqitixingren">
<el-row>
<el-col :span="6">
<el-form-item>
<el-input v-model="ruleForm.fgfzrxm" style="width: 100%;" :placeholder="disabled ? '':'请输入联系人'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="fgfzrlxfs"
:rules="[
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.fgfzrlxfs" style="width: 100%;" :placeholder="disabled ? '':'请输入联系方式'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="fgfzryx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.fgfzryx" style="width: 100%;" :placeholder="disabled ? '':'请输入邮箱'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item>
<el-input v-model="ruleForm.fgfzrzwzc" style="width: 100%;" :placeholder="disabled ? '':'请输入职务职称'"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="部门负责人" class="daoqitixingren">
<el-row>
<el-col :span="6">
<el-form-item>
<el-input v-model="ruleForm.bmfzrxm" style="width: 100%;" :placeholder="disabled ? '':'请输入联系人'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="bmfzrlxfs"
:rules="[
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.bmfzrlxfs" style="width: 100%;" :placeholder="disabled ? '':'请输入联系方式'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="bmfzryx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.bmfzryx" style="width: 100%;" :placeholder="disabled ? '':'请输入邮箱'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item>
<el-input v-model="ruleForm.bmfzrzwzc" style="width: 100%;" :placeholder="disabled ? '':'请输入职务职称'"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="第一联系人" class="daoqitixingren">
<el-row>
<el-col :span="6">
<el-form-item>
<el-input v-model="ruleForm.dylxrxm" style="width: 100%;" :placeholder="disabled ? '':'请输入联系人'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="dylxrlxfs"
:rules="[
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.dylxrlxfs" style="width: 100%;" :placeholder="disabled ? '':'请输入联系方式'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="dylxryx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.dylxryx" style="width: 100%;" :placeholder="disabled ? '':'请输入邮箱'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item>
<el-input v-model="ruleForm.dylxrzwzc" style="width: 100%;" :placeholder="disabled ? '':'请输入职务职称'"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="首席数据官" class="daoqitixingren">
<el-row>
<el-col :span="6">
<el-form-item>
<el-input v-model="ruleForm.sxsjg" style="width: 100%;" :placeholder="disabled ? '':'请输入联系人'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="sxsjglxfs"
:rules="[
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.sxsjglxfs" style="width: 100%;" :placeholder="disabled ? '':'请输入联系方式'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="sxsjgyx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.sxsjgyx" style="width: 100%;" :placeholder="disabled ? '':'请输入邮箱'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item>
<el-input v-model="ruleForm.sxsjgzwzc" style="width: 100%;" :placeholder="disabled ? '':'请输入职务职称'"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="数据官联络人" class="daoqitixingren">
<el-row>
<el-col :span="6">
<el-form-item>
<el-input v-model="ruleForm.sjgllr" style="width: 100%;" :placeholder="disabled ? '':'请输入联系人'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="sjgllrlxfs"
:rules="[
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.sjgllrlxfs" style="width: 100%;" :placeholder="disabled ? '':'请输入联系方式'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="sjgllryx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.sjgllryx" style="width: 100%;" :placeholder="disabled ? '':'请输入邮箱'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item>
<el-input v-model="ruleForm.sjgllrzwzc" style="width: 100%;" :placeholder="disabled ? '':'请输入职务职称'"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="其他联系人" class="daoqitixingren" v-for="(domain, index) in ruleForm.otherConcat" :key="domain.key" :prop="'otherConcat.' + index + '.qtlxrlxfs'">
<el-row>
<el-col :span="6">
<el-form-item>
<el-input v-model="domain.qtlxrxm" style="width: 100%;" :placeholder="disabled ? '':'请输入联系人'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item :prop="'otherConcat.' + index + '.qtlxrlxfs'"
:rules="[
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="domain.qtlxrlxfs" style="width: 100%;" :placeholder="disabled ? '':'请输入联系方式'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item prop="qtlxryx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="domain.qtlxryx" style="width: 100%;" :placeholder="disabled ? '':'请输入邮箱'"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" style="margin-left: 10px;">
<el-form-item>
<el-input v-model="domain.qtlxrzwzc" style="width: 100%;" :placeholder="disabled ? '':'请输入职务职称'"></el-input>
</el-form-item>
</el-col>
<el-col :span="1" style="text-align: center;" v-if="isDisabled">
<i @click="removeDomain(domain,'otherConcat')" class="el-icon-remove-outline" style="margin-left: 5px;font-size: 16px;cursor: pointer;"></i>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="$route.query.pageType !== 'look'">
<el-col :span="24">
<el-form-item>
<el-button @click="addForm('otherConcat')"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-row>
<!-- 检查信息
:rules="[
{
required: true,
message: '请选择时间',
trigger: ['change']
}
]"-->
<el-row style="margin: 10px 0;">
<span class="top-title-box">检查信息</span>
</el-row>
<div v-for="(domain, index) in ruleForm.jcxxList" :key="domain.key" :prop="'jcxxList.' + index + '.value'">
<el-row style="display: flex;">
<el-col :span="8">
<el-form-item class="daoqitixingren" :label="'时间' + (index == 0 ? '' : index)"
>
<el-date-picker
v-model="domain.sj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:placeholder="disabled ? '':'选择日期'">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="daoqitixingren" :label="'系统域名' + (index == 0 ? '' : index)">
<el-input v-model="domain.xtym" :placeholder="disabled ? '':'请输入系统域名'"></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item class="daoqitixingren" :label="'系统名称' + (index == 0 ? '' : index)">
<el-input v-model="domain.xthc" :placeholder="disabled ? '':'请输入系统名称'"></el-input>
</el-form-item>
</el-col>
<el-col :span="1" style="text-align: center;" v-if="isDisabled">
<i @click="addGongyinglian('jcxxList')" v-if="index == 0" class="el-icon-circle-plus-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i>
<i @click="removeDomain(domain,'jcxxList')" v-else class="el-icon-remove-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item :label="'等保级别' + (index == 0 ? '' : index)">
<el-select v-model="domain.dbjb" :placeholder="disabled ? '':'请选择等保级别'">
<el-option
v-for="dict in dict.type.dbxx_dbdj"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="'单位名称' + (index == 0 ? '' : index)">
<el-input v-model="domain.dwmc" :placeholder="disabled ? '':'请输入单位名称'"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="'检查结果' + (index == 0 ? '' : index)">
<el-input type="textarea" resize="none" :placeholder="disabled ? '':'请输入检查结果'" :rows="5" v-model="domain.jcjg"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 更多信息 -->
<el-row style="margin: 10px 0;">
<span class="top-title-box">更多信息</span>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="官网">
<el-input v-model="ruleForm.gw" :placeholder="disabled ? '':'请输入官网'"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="地图经度">
<el-input v-model="ruleForm.dtjd" :placeholder="disabled ? '':'请输入地图经度'"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="地图纬度">
<el-input v-model="ruleForm.dtwd" :placeholder="disabled ? '':'请输入地图纬度'"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="上级单位" required prop="sjdw">
<el-input v-model="ruleForm.sjdw" :placeholder="disabled ? '':'请输入上级单位'"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注">
<el-input type="textarea" resize="none" :placeholder="disabled ? '':'请输入备注'" :rows="5" v-model="ruleForm.remark"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;">
<el-button type="danger" @click="cancel" :disabled="false" v-if="isDisabled"></el-button>
<el-button type="warning" @click="editUnit" v-if="!isDisabled && nickName != 'admin'" :disabled="isDisabled"></el-button>
<el-button type="primary" @click="newUnit" :disabled="false" v-if="isDisabled"></el-button>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import pcas from "@/utils/pca-code.json"
import { unitOwnInfo, unitEditOwn } from "@/api/auditPagesApi/index";
import { mapGetters } from 'vuex'
import { MessageBox } from 'element-ui'
export default {
dicts:['zc_xtzyx', 'is_no', 'sshy', 'dwlx', 'dwjs', 'dwzsxz', 'dbxx_dbdj'],
data() {
const validateTyshxydm = (rule, value, callback) => {
const pattern = /^[a-zA-Z0-9]{18}$/;
if (!pattern.test(value)) {
callback(new Error('请输入正确格式的18位统一社会信用代码'));
return;
}
callback();
// if (value.length!== 18) {
// callback(new Error('18'));
// return;
// } else {
// callback();
// }
}
return {
options: pcas ,
isDisabled: false,
optionsTwo:[
{
value:"100",
label:"政务",
children:[
{
value:"101",
label:"党委机关",
},{
value:"102",
label:"政府机关",
},{
value:"200",
label:"事业单位",
},{
value:"202",
label:"大型国企",
},
],
},
{
value:"10",
label:"民营企业",
children:[
{
value:"203",
label:"重点民企",
},{
value:"204",
label:"一般民企"
}
],
},
{
value:"20",
label:"个人",
},
{
value:"30",
label:"社会团体"
}
],
props:{
value:'value',
label:"value",
checkStrictly:true,
},
ruleForm:{
//
otherConcat:[
{
qtlxrxm: '',
qtlxrlxfs: '',
qtlxryx: '',
qtlxrzwzc: '',
}
],
//
ssqy:[],
//
jcxxList:[
{
name:"",
tyshxydm:"",
lxdh:"",
}
],
},
rules:{
userName: [
{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' },
{ required: true, trigger: "blur" ,validator: validateTyshxydm},
],
nickName: [
{ required: true, message: '请输入单位名称', trigger: 'blur' },
],
zzjg: [
{ required: true, message: '请选择组织机构', trigger: 'change' },
],
ssqy: [
{ required: true, message: '请选择所属区域', trigger: 'change' },
],
dwxxdz: [
{ required: true, message: '请输入详细地址', trigger: 'blur' },
],
sshy: [
{ required: true, message: '请选择所属行业', trigger: 'change' },
],
dwlx: [
{ required: true, message: '请选择单位类型', trigger: 'change' },
],
rcyyfzbm: [
{ required: true, message: '请输入日常运营负责部门', trigger: 'blur' },
],
daoqitixingren: [
{ required: true, message: '请输入单位名称', trigger: 'blur' },
],
sjdw: [
{ required: true, message: '请输入上级单位', trigger: 'blur' },
],
dwfzrxm: [
{ required: true, message: '请输入单位负责人姓名', trigger: 'blur' },
],
// dwfzrlxfs: [
// { required: true, message: '', trigger: 'blur' },
// ],
// dwfzryx: [
// { required: true, message: '', trigger: 'blur' },
// ],
dwfzrzwzc: [
{ required: true, message: '请输入单位负责人职务职称', trigger: 'blur' },
],
},
disabled:false,
loading:false,
}
},
computed: {
// visitedViews() {
// return this.$store.state.tagsView.visitedViews
// },
// routes() {
// return this.$store.state.permission.routes
// },
// theme() {
// return this.$store.state.settings.theme;
// }
...mapGetters([
'nickName'
]),
},
mounted(){
console.log(this.nickName);
if(this.nickName == "admin"){
this.disabled = true;
}else{
this.getInfo()
this.disabled = true;
}
// this.$nextTick(()=>{
// const inputElements = document.querySelectorAll('.el-input__inner');
// const textareaInputElements = document.querySelectorAll('.el-textarea__inner');
// inputElements.forEach((input) => {
// input.placeholder = '';
// });
// textareaInputElements.forEach((input) => {
// input.placeholder = '';
// });
// })
// if(this.$route.query.pageType == 'look') {
// this.getInfo(this.$route.query.id)
// this.disabled = true;
// this.$nextTick(()=>{
// const inputElements = document.querySelectorAll('.el-input__inner');
// const textareaInputElements = document.querySelectorAll('.el-textarea__inner');
// inputElements.forEach((input) => {
// input.placeholder = '';
// });
// textareaInputElements.forEach((input) => {
// input.placeholder = '';
// });
// })
// } else if(this.$route.query.pageType == 'change') {
// this.getInfo(this.$route.query.id)
// this.disabled = false;
// }
},
methods:{
// handleChange(value){
// console.log(value);
// },
//
getInfo(){
this.loading = true;
unitOwnInfo().then(res=>{
this.ruleForm = res.data;
if(res.data.ssqyprovince && res.data.ssqycity && res.data.ssqycounty) {
this.$set(this.ruleForm, 'ssqy', [res.data.ssqyprovince,res.data.ssqycity,res.data.ssqycounty])
} else if(res.data.ssqyprovince && res.data.ssqycity) {
this.$set(this.ruleForm, 'ssqy', [res.data.ssqyprovince,res.data.ssqycity])
} else if(res.data.ssqyprovince) {
this.$set(this.ruleForm, 'ssqy', [res.data.ssqyprovince])
}
if(!res.data.jcxxList) {
this.$set(this.ruleForm,'jcxxList', [{name:"",tyshxydm:"",lxdh:"",}])
}
if(this.ruleForm.ancestors) {
let deptId = this.ruleForm.ancestors.split(',');
this.$set(this.ruleForm, 'zzjg', deptId)
}
setTimeout(() => {
this.$refs.ruleForm.clearValidate()
}, 100);
this.loading = false;
})
},
// form
addForm(type){
this.ruleForm[type].push({
qtlxrxm: '',
qtlxrlxfs: '',
qtlxryx: '',
qtlxrzwzc: '',
key: Date.now()
});
},
// Form
addGongyinglian(type){
this.ruleForm[type].push({
sj:"",
xtym:"",
xthc:"",
dbjb:"",
dwmc:"",
jcjg:"",
key: Date.now()
});
},
// form
removeDomain(item,type) {
var index = this.ruleForm[type].indexOf(item)
if (index !== -1) {
this.ruleForm[type].splice(index, 1)
}
},
newUnit(){
this.$refs['ruleForm'].validate((valid) => {
if(valid) {
if(this.ruleForm.ssqy?.length > 0) {
this.ruleForm.ssqyprovince = this.ruleForm.ssqy[0]
this.ruleForm.ssqycity = this.ruleForm.ssqy[1]
this.ruleForm.ssqycounty = this.ruleForm.ssqy[2]
}
if(this.ruleForm.zzjg.length == 2) {
this.ruleForm.deptId = Number(this.ruleForm.zzjg[1])
} else {
this.ruleForm.deptId = Number(this.ruleForm.zzjg[0])
}
this.loading = true;
unitEditOwn(this.ruleForm).then(res=>{
this.loading = false;
this.$modal.msgSuccess("修改成功");
this.disabled = true;
this.isDisabled = false;
this.getInfo()
}).catch(err=>{
this.loading = false;
})
} else {
this.$message({
type: 'info',
message: '请填写完整'
});
}
})
},
cancel(){
this.$router.go(-1);
},
editUnit(){
this.disabled = false;
this.isDisabled = true;
},
},
}
</script>
Loading…
Cancel
Save