yanfeiyong
严飞永 4 weeks ago
parent f735d77382
commit fa00d10a6e

@ -456,12 +456,7 @@ const upload = reactive({
: location.origin + "/api/tc/assetOfficialAccount/importData",
});
//
const dict = reactive({
type: {
sys_ptlx_type: [],
},
});
//
onMounted(() => {
if (Object.keys(route.params).length !== 0) {

@ -0,0 +1,124 @@
<template>
<el-dialog :title="title" :visible.sync="dialogFormVisible" :close-on-click-modal="false"
:close-on-press-escape="false" :custom-class="myclass ? 'custom-my-class' : ''" @close="resetCancel" :width="width"
append-to-body>
<slot></slot>
<div slot="footer" class="dialog-footer" v-if="footer">
<el-form size="small">
<el-form-item class="dialog-from-item">
<el-button size="mini" @click="resetCancel">{{ closeText }}</el-button>
<el-button type="primary" size="mini" @click="resetConfirm"></el-button>
</el-form-item>
</el-form>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
dialogFormVisible: false,
}
},
props: {
title: {
type: String,
default: ''
},
myclass: {
type: Boolean,
default: false,
},
closeText: {
type: String,
default: '取消'
},
width: {
type: String,
default: "50%"
},
footer: {
type: Boolean,
default: false,
}
},
methods: {
open() {
this.dialogFormVisible = true
},
close() {
this.dialogFormVisible = false;
},
//
resetCancel() {
this.$emit('close')
},
//
resetConfirm() {
this.$emit('confirm')
},
},
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
border-radius: 10px;
.el-dialog__header {
border-bottom: 1px solid #DDDDDD;
padding: 10px 20px;
background: #F2F4F6;
border-top-left-radius: 10px; /* 上左角圆角 */
border-top-right-radius: 10px; /* 上右角圆角 */
span {
// font-family: PingFang-SC, PingFang-SC;
font-weight: 800;
font-size: 16px;
color: #000000;
position: relative;
&::after {
content: "";
position: absolute;
top: 0;
left: -20px;
width: 5px;
border-radius: 5px;
height: 100%;
background-color: #1485EF;
}
}
}
.el-dialog__headerbtn {
top: 15px;
}
.el-dialog__footer {
border-top: 1px solid #DDDDDD;
.dialog-footer {
.el-form {
.dialog-from-item {
margin-bottom: 0;
.el-form-item__content {
.el-button {
padding: 10px 17px;
}
}
}
}
}
}
}
::v-deep .custom-my-class {
margin-top: 15vh !important;
}
::v-deep .el-dialog__body{
padding-top: 10px !important;
}
</style>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,43 @@
<template>
<webType2DW v-if="$route.query.type==0"></webType2DW>
<assetsTypeTwo :pageType="$route.query.pageType" v-else-if="$route.query.type == 1" />
<assetsTypeThree :pageType="$route.query.pageType" v-else-if="$route.query.type == 2" />
<assetsTypeFour :pageType="$route.query.pageType" v-else-if="$route.query.type == 3" />
<assetsTypeFive :pageType="$route.query.pageType" v-else-if="$route.query.type == 4" />
</template>
<script>
// web
import webType2DW from '@/views/components/renwuType/webType2DW.vue';
//
import assetsTypeTwo from "@/views/components/renwuType/index_v1.vue"
//
import assetsTypeThree from "@/views/components/renwuType/index_v2.vue"
//
import assetsTypeFour from "@/views/components/renwuType/index_v3.vue"
//
import assetsTypeFive from "@/views/components/renwuType/index_v4.vue"
export default {
name: '',
components: {
webType2DW,
assetsTypeTwo,
assetsTypeThree,
assetsTypeFour,
assetsTypeFive,},
data () {
return {
}
},
created () { },
mounted () { },
methods: { },
computed: {}
}
</script>
<style scoped lang='scss'>
</style>

@ -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,452 @@
<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="medium"
class="demo-form-inline"
>
<el-row>
<el-col :span="7">
<el-form-item label="任务名称:">
<el-input
v-model="formInline.taskName"
placeholder="请输入"
style="width: 95%"
></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 @click="resetQuery('queryFrom')"></el-button>
<el-button
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="70"
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 #default="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 #default="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
v-if="scope.row.taskStatus == 1 && scope.row.taskStatus != 0"
style="
display: flex;
align-items: center;
cursor: pointer;
margin-left: 10px;
"
@click="delInfo(scope.row)"
>
<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 setup>
import { ref, reactive, onMounted, onUnmounted } from "vue";
import { useRouter } from "vue-router";
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 useUserStore from "@/store/modules/user";
const userStore = useUserStore();
import {
addassetTaskadd,
getassetTask,
getassetTaskid,
} from "@/api/renwuApi/index";
const router = useRouter();
//
const formInline = ref({
name: "",
type: "",
time: [],
number: "",
status: "",
});
const pagination = ref({
current: 1,
size: 10,
});
const tableData = ref([]);
const loading = ref(false);
const tabHeader = ref(undefined);
const total = ref(0);
//
const ruleForm = ref({
taskName: "",
dwmc: [],
taskDeadline: "",
});
const rules = {
taskName: [{ required: true, message: "请输入", trigger: "blur" }],
dwmc: [{ required: true, message: "请选择", trigger: "change" }],
taskDeadline: [{ required: true, message: "请选择日期", trigger: "change" }],
};
const tabclicklist = ref([]);
//
//
function getInfo() {
loading.value = true;
if (localStorage.getItem("ismypagination")) {
const stored = JSON.parse(localStorage.getItem("ismypagination"));
if (stored.isfanhui) {
formInline.value = stored;
}
}
//
if (userStore.roles.length > 0 && userStore.roles.includes("unit")) {
pagination.value.dwmc = userStore.useer?.nickName || "";
}
getassetTask(pagination.value).then((res) => {
loading.value = false;
total.value = res.data.total;
tableData.value = res.data.records;
});
}
//
function handleQuery() {
pagination.value = {
current: 1,
size: 10,
};
if (formInline.value.time?.length > 0) {
formInline.value.begainTime = formInline.value.time[0];
formInline.value.endTime = formInline.value.time[1];
}
Object.assign(pagination.value, formInline.value);
formInline.value.isfanhui = false;
localStorage.setItem("ismypagination", JSON.stringify(formInline.value));
getInfo();
}
//
function getPagination(pages) {
pagination.value.current = pages.page;
pagination.value.size = pages.limit;
getInfo();
}
//
function resetQuery() {
formInline.value = {
name: "",
type: "",
time: [],
number: "",
status: "",
};
pagination.value = {
current: 1,
size: 10,
};
localStorage.removeItem("ismypagination");
getInfo();
}
//
function goInfo(row) {
getassetTaskid(row.id);
router.push({
name: "mytaskInfo",
query: {
pageType: "look",
id: row.id,
dwmc: row.dwmc,
},
});
}
//
function delInfo(row) {
console.log(row);
router.push({
name: "mytaskInfo",
query: {
pageType: "info",
id: row.id,
dwmc: row.dwmc,
},
});
}
//
function tableRowClassName({ rowIndex }) {
return rowIndex % 2 !== 0 ? "evenNumber-row" : "";
}
//
function cancalDebounce() {
const element = document.getElementById("L-size-main");
const header = document.getElementById("L-header");
const paginationEl = document.getElementById("L-pagination");
if (!element || !header || !paginationEl) return;
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = paginationEl.offsetHeight;
tabHeader.value = elementHeight - headerHeight - paginationtHeight - 110;
}
//
onMounted(() => {
localStorage.removeItem("activeName");
if (localStorage.getItem("ismypagination")) {
if (JSON.parse(localStorage.getItem("ismypagination")).isfanhui) {
formInline.value = JSON.parse(localStorage.getItem("ismypagination"));
handleQuery();
} else {
localStorage.removeItem("ismypagination");
}
}
localStorage.removeItem("ismypaginationTow");
getInfo();
cancalDebounce();
window.addEventListener("resize", cancalDebounce);
});
onUnmounted(() => {
window.removeEventListener("resize", cancalDebounce);
});
</script>
<style lang="scss" scoped>
.el-icon-s-unfold {
font-size: 16px;
}
</style>

@ -0,0 +1,603 @@
<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,310 @@
<template>
<div class="L-main L-mainTow" id="L-size-main">
<div class="content-search" id="L-header">
<div class="search-title">查询条件</div>
<el-form :inline="true" :model="queryParams" ref="queryForm" size="small" >
<el-row>
<el-col :span="7">
<el-form-item label="单位名称:" prop="nickName">
<el-input v-model="queryParams.nickName" placeholder="请输入单位名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="单位类型:" prop="dwlx">
<el-select v-model="queryParams.dwlx" placeholder="请选择单位类型" clearable>
<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-col :span="7">
<el-form-item label="统一社会信用代码:" class="tyshxydm-class" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入统一社会信用代码" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
</el-col>
<el-col :span="3" style="text-align: right;padding-right: 20px;">
<el-form-item class="unit-form">
<el-button size="mini" @click="resetQuery"></el-button>
<el-button size="mini" type="primary" @click="handleQuery"></el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<main>
<div class="search-title">
<span class="search-title-span">单位列表</span>
</div>
<section>
<el-table ref="multipleTable" v-loading="loading" :data="userList" :height="tabHeader" :max-height="tabHeader"
:row-class-name="tableRowClassName" @selection-change="handleSelectionChange" row-key="userName">
<el-table-column type="selection" width="55" :reserve-selection="true">
</el-table-column>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column label="单位名称" align="center" key="nickName" prop="nickName">
<template slot-scope="scope">{{ scope.row.nickName }}</template>
</el-table-column>
<el-table-column label="单位类型" align="center" key="dwlx" prop="dwlx">
<template slot-scope="scope">
<dict-tag :options="dict.type.dwlx" :value="scope.row.dwlx" />
</template>
</el-table-column>
<el-table-column label="统一社会信用代码" align="center" key="userName" prop="userName">
<template slot-scope="scope">{{ scope.row.userName }}</template>
</el-table-column>
<el-table-column label="所属区域" align="center" key="ssqycounty" prop="ssqycounty">
<template slot-scope="scope">{{ getSsqu(scope.row) }}</template>
</el-table-column>
<el-table-column label="所属行业" align="center" key="sshy" prop="sshy">
<template slot-scope="scope">
<dict-tag :options="dict.type.sshy" :value="scope.row.sshy" />
<!-- {{ scope.row.sshy }} -->
</template>
</el-table-column>
<el-table-column label="单位地址" align="center" key="dwxxdz" prop="dwxxdz">
<template slot-scope="scope">{{ scope.row.dwxxdz }}</template>
</el-table-column>
</el-table>
</section>
<my-pagination id="L-pagination" :total="total" :page="queryParams.current" :limit="queryParams.size"
@pagination="getPagination" :current-page.sync="queryParams.current"></my-pagination>
</main>
<div class="bottomclass">
<el-button size="mini" @click="resetCancel"></el-button>
<el-button type="primary" size="mini" @click="resetConfirm"></el-button>
</div>
</div>
</template>
<script>
// import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user";
import { listUnitdw, delUnit } from "@/api/auditPagesApi/index";
import { getToken } from "@/utils/auth";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import myPagination from "@/views/components/Pagination/index.vue"
export default {
name: "User",
dicts: ['dwlx', 'sshy'],
components: { Treeselect, myPagination },
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
userList: [],
//
title: "",
//
deptOptions: undefined,
//
open: false,
//
deptName: undefined,
//
initPassword: undefined,
//
postOptions: [],
//
roleOptions: [],
//
form: {},
defaultProps: {
children: "children",
label: "label"
},
//
upload: {
//
open: false,
//
title: "",
//
isUploading: false,
//
updateSupport: 0,
//
headers: { Authorization: "Bearer " + getToken() },
//
url: process.env.VUE_APP_BASE_API + "/tc/unit/importData"
},
//
queryParams: {
current: 1,
size: 10,
userName: undefined,
nickName: undefined,
dwlx: undefined,
type:"0",
},
//
tabHeader: undefined,
tabclicklist: []
};
},
watch: {
//
deptName(val) {
this.$refs.tree.filter(val);
}
},
created() {
// this.getType();
// this.getConfigKey("sys.user.initPassword").then(response => {
// this.initPassword = response.msg;
// });
},
mounted() {
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods: {
getSsqu(row) {
if(row.ssqyprovince && row.ssqycity && row.ssqycounty) {
return row.ssqyprovince + "/" + row.ssqycity + '/' + row.ssqycounty
} else if(row.ssqyprovince && row.ssqycity) {
return row.ssqyprovince + "/" + row.ssqycity
} else if(row.ssqyprovince) {
return row.ssqyprovince
} else {
return
}
},
dakai(val) {
console.log(val);
this.toggleSelection(val)
},
resetCancel() {
this.$emit('liebiaoClose')
this.toggleSelection()
this.$emit('adddanweilist', [])
},
resetConfirm() {
this.$emit('adddanweilist', this.tabclicklist)
this.$emit('liebiaoClose')
this.toggleSelection()
},
// /table
toggleSelection(rows) {
if (rows) {
rows.forEach(row => {
this.$refs.multipleTable.toggleRowSelection(row);
});
} else {
this.$refs.multipleTable.clearSelection();
}
},
handleSelectionChange(val) {
if (val) {
this.tabclicklist = val
}
},
// table
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 !== 0) {
return 'evenNumber-row';
}
return '';
},
getType(type){
this.queryParams.type = type.join(",")
this.getList()
},
/** 查询用户列表 */
getList(type) {
if(this.queryParams.type){
this.queryParams.type = this.queryParams.type
}
this.loading = true;
this.queryParams.isSearch = 1
listUnitdw(this.queryParams).then(response => {
this.userList = response.data.records;
this.total = response.data.total;
this.loading = false;
}
);
},
//
getPagination(pages) {
this.queryParams.current = pages.page;
this.queryParams.size = pages.limit;
this.getList();
},
//
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.current = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
if(this.queryParams.type){
this.queryParams.type = this.queryParams.type
}
this.resetForm("queryForm");
this.toggleSelection()
this.handleQuery();
},
//
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>
<style lang="scss" scoped>
::v-deep .danweiList{
padding: 0 20px;
}
::v-deep .content-search{
padding-top: 10px;
}
.L-mainTow {
background-color: #ffffff !important;
}
::v-deep .search-title{
border: none !important;
}
</style>

@ -1,4 +1,5 @@
<!-- TaskManagement.vue -->
<!-- 任务管理2 -->
<template>
<div
class="L-main"
@ -91,7 +92,7 @@
<el-button
type="primary"
plain
icon="el-icon-plus"
:icon="Plus"
@click="handleAdd"
>任务创建</el-button
>
@ -383,6 +384,7 @@ import {
getassetTaskid,
assetTaskclose,
} from "@/api/renwuApi/index.js";
import { Plus } from "@element-plus/icons-vue";
export default {
// components: { myPagination, myDialog, danweiList },
@ -395,7 +397,6 @@ export default {
const danweiList = ref(null);
const ruleFormRef = ref(null);
// Data
const pickerOptions = {
disabledDate(time) {
const date = new Date();

@ -0,0 +1,53 @@
<template>
<assetsTypeOne :pageType="$route.query.pageType" :audit="$route.query.pageType == 'change' ? true : false" :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" :audit="$route.query.pageType == 'change' ? true : false" :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" :audit="$route.query.pageType == 'change' ? true : false" :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" :audit="$route.query.pageType == 'change' ? true : false" :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" :audit="$route.query.pageType == 'change' ? true : false" :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,585 @@
<!-- 单位自主填报2 -->
<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="medium"
class="demo-form-inline"
>
<el-row>
<el-col :span="6">
<el-form-item
label="资产名称:"
prop="name"
>
<el-input
v-model="pagination.name"
placeholder="请输入"
style="width: 95%"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item
label="所属单位:"
prop="dwmc"
>
<el-input
v-model="pagination.dwmc"
placeholder="请输入"
style="width: 95%"
></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: right"
>
<el-form-item class="unit-form">
<el-button @click="resetQuery('queryFrom')"></el-button>
<el-button
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="70"
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 #default="{ row }">
<dict-tag
:options="sys_ptlx_type"
:value="row.ptlx"
/>
</template>
</el-table-column>
<el-table-column
label="审核状态"
key="auditState"
width="200px"
prop="auditState"
class-name="table-status"
align="center"
>
<template #default="{ row }">
<span
v-if="row.auditState == 1"
style="color: #f58a0c"
>
待审核
</span>
<span
v-if="row.auditState == 2"
style="color: #16b771"
>
审批通过
</span>
<span
v-if="row.auditState == 3"
style="color: #f50c0c"
>
审批驳回
</span>
</template>
</el-table-column>
<el-table-column
label="操作"
prop="userId"
class-name="table-operation"
align="center"
>
<template #default="{ row }">
<div
style="
display: flex;
align-items: center;
justify-content: center;
"
>
<div
style="display: flex; align-items: center; cursor: pointer"
@click="goInfo(row)"
>
<img
src="@/assets/images/icon-ck@2x.png"
style="width: 20px; margin-right: 5px"
/>
<span style="color: #1485ef">查看</span>
</div>
<div
v-if="row.auditState == 1"
style="
display: flex;
align-items: center;
cursor: pointer;
margin-left: 10px;
"
@click="delInfo(row)"
>
<img
src="@/assets/images/icon-shenhe@2x.png"
style="width: 15px; margin-right: 5px"
/>
<span style="color: #1485ef">审批</span>
</div>
<div
v-if="row.auditState == 3"
style="
display: flex;
align-items: center;
cursor: pointer;
margin-left: 10px;
"
@click="lookInfo(row)"
>
<img
src="@/assets/images/icon-shenhe@2x.png"
style="width: 15px; margin-right: 5px"
/>
<span 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>
<!-- <my-dialog title="查看原因" ref="liebiaoDialog" class="taskDialogBox" width="40%">
<el-descriptions>
<el-descriptions-item label="不通过原因">
{{ chakanyuanyin }}
</el-descriptions-item>
</el-descriptions>
</my-dialog> -->
</main>
</div>
</template>
<script setup>
import { ref, onMounted, onUnmounted } from "vue";
import { useRouter, useRoute } from "vue-router";
import { ElMessage } from "element-plus";
import {
getAuditList,
miniProgramsGetAuditList,
gzhGetAuditList,
EmailList,
AppList,
} from "@/api/auditPagesApi/index.js";
const router = useRouter();
const route = useRoute();
const { proxy } = getCurrentInstance();
const { sys_ptlx_type } = proxy.useDict("sys_ptlx_type");
//
const btnloading = ref(false);
const total = ref(0);
const tableData = ref([]);
const loading = ref(false);
const tabHeader = ref(undefined);
const pagination = ref({
current: 1,
size: 10,
name: "",
dwmc: "",
auditState: "",
});
const btnArr = [
{ label: "web资产", value: "web" },
{ label: "小程序", value: "xcx" },
{ label: "公众号", value: "gzh" },
{ label: "电子邮件", value: "emil" },
{ label: "移动应用系统", value: "app" },
];
const btnShow = ref("web");
const chakanyuanyin = ref("");
//
const getInfo = (id) => {
loading.value = true;
let apiCall;
switch (id) {
case 1:
apiCall = getAuditList;
break;
case 2:
apiCall = miniProgramsGetAuditList;
break;
case 3:
apiCall = gzhGetAuditList;
break;
case 4:
apiCall = EmailList;
break;
case 5:
apiCall = AppList;
break;
default:
return;
}
apiCall(pagination.value)
.then((res) => {
loading.value = false;
total.value = res.data.total;
tableData.value = res.data.records;
})
.catch(() => {
loading.value = false;
ElMessage.error("获取数据失败");
});
};
//
const resetQuery = () => {
pagination.value = {
current: 1,
size: 10,
name: "",
dwmc: "",
auditState: "",
};
const typeMap = {
web: 1,
xcx: 2,
gzh: 3,
emil: 4,
app: 5,
};
getInfo(typeMap[btnShow.value]);
};
//
const handleQuery = () => {
pagination.value.current = 1;
const typeMap = {
web: 1,
xcx: 2,
gzh: 3,
emil: 4,
app: 5,
};
getInfo(typeMap[btnShow.value]);
};
//
const getPagination = (pages) => {
pagination.value.current = pages.page;
pagination.value.size = pages.limit;
const typeMap = {
web: 1,
xcx: 2,
gzh: 3,
emil: 4,
app: 5,
};
getInfo(typeMap[btnShow.value]);
};
//
const goInfo = (row) => {
const typeMap = {
web: 0,
xcx: 1,
gzh: 2,
emil: 3,
app: 4,
};
const idMap = {
web: row.currentId,
xcx: row.miniId,
gzh: row.accountId,
emil: row.emailId,
app: row.appId,
};
router.push({
name: "unitAssetsAuth",
query: {
type: typeMap[btnShow.value],
pageType: "look",
btnShow: btnShow.value,
id: idMap[btnShow.value],
queryData: JSON.stringify(pagination.value),
name: "UnitFill",
},
});
};
//
const delInfo = (row) => {
const typeMap = {
web: 0,
xcx: 1,
gzh: 2,
emil: 3,
app: 4,
};
const idMap = {
web: row.currentId,
xcx: row.miniId,
gzh: row.accountId,
emil: row.emailId,
app: row.appId,
};
router.push({
name: "unitAssetsAuth",
query: {
type: typeMap[btnShow.value],
pageType: "change",
btnShow: btnShow.value,
id: idMap[btnShow.value],
queryData: JSON.stringify(pagination.value),
name: "UnitFill",
},
});
};
// Tab
const xuanzelist = (item) => {
btnShow.value = item.value;
const typeMap = {
web: 1,
xcx: 2,
gzh: 3,
emil: 4,
app: 5,
};
getInfo(typeMap[item.value]);
};
//
const lookInfo = (row) => {
chakanyuanyin.value = row.auditYy;
// Dialog open
// liebiaoDialog.value.open()
};
//
const tableRowClassName = ({ rowIndex }) => {
return rowIndex % 2 !== 0 ? "evenNumber-row" : "";
};
//
const cancalDebounce = () => {
const element = document.getElementById("L-size-main");
const header = document.getElementById("L-header");
const paginationEl = document.getElementById("L-pagination");
if (!element || !header || !paginationEl) return;
const elementHeight = element.offsetHeight;
const headerHeight = header.offsetHeight;
const paginationtHeight = paginationEl.offsetHeight;
tabHeader.value = elementHeight - headerHeight - paginationtHeight - 140;
};
//
onMounted(() => {
window.addEventListener("resize", cancalDebounce);
const fromPath = route.query.from;
if (fromPath === "/unitAssetsAuth") {
const query = route.query;
btnShow.value = query.btnShow || "web";
if (query.queryData) {
pagination.value = JSON.parse(query.queryData);
}
const typeMap = {
web: 1,
xcx: 2,
gzh: 3,
emil: 4,
app: 5,
};
getInfo(typeMap[btnShow.value]);
} else {
getInfo(1);
}
});
onUnmounted(() => {
window.removeEventListener("resize", cancalDebounce);
});
</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>

@ -0,0 +1,3 @@
<template>
<div>单位信息表单页</div>
</template>
Loading…
Cancel
Save