合并代码

main
吕天方 3 months ago
commit b1614b0f10

@ -5,8 +5,8 @@ VUE_APP_TITLE = 太仓资产管理系统
ENV = 'development'
# 若依管理系统/开发环境
VUE_APP_BASE_API = 'http://192.168.0.115:9115'
VUE_APP_BASE_API = 'http://192.168.0.108:9115'
# VUE_APP_BASE_API = 'http://39.101.188.84:9115'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
VUE_CLI_BABEL_TRANSPILE_MODULES = true

@ -78,4 +78,105 @@ export function addassetTaskadd(data) {
method: "get",
params,
})
}
}
//小程序详情
export function assetTaskminitaskSh(params) {
return request({
url: `/unit/assetTask/minitaskSh`,
method: "get",
params,
})
}
//公众号资产任务审核详情信息
export function assetTaskofficetaskSh(params) {
return request({
url: `/unit/assetTask/officetaskSh`,
method: "get",
params,
})
}
//移动应用程序资产
export function assetTaskapptaskSh(params) {
return request({
url: `/unit/assetTask/apptaskSh`,
method: "get",
params,
})
}
//电子邮件资产任务审核详情信息
export function assetTaskemailtaskSh(params) {
return request({
url: `/unit/assetTask/emailtaskSh`,
method: "get",
params,
})
}
//小程序审核报废
export function assetTaskxcxzc(data) {
return request({
url: `/unit/assetTask/xcxzc`,
method: "post",
data,
})
}
//公众号审核报废
export function assetTaskgzhzc(data) {
return request({
url: `/unit/assetTask/gzhzc`,
method: "post",
data,
})
}
//电子邮件审核报废
export function assetTaskemailzc(data) {
return request({
url: `/unit/assetTask/emailzc`,
method: "post",
data,
})
}
//电子邮件tijiao
export function assetTaskemailjyTj(data) {
return request({
url: `/unit/assetTask/emailjyTj`,
method: "post",
data,
})
}
//移动应用审核报废
export function assetTaskappzc(data) {
return request({
url: `/unit/assetTask/appzc`,
method: "post",
data,
})
}
//移动应用审核报废
export function assetTaskappjyTj(data) {
return request({
url: `/unit/assetTask/appjyTj`,
method: "post",
data,
})
}
//小程序单位端校验提交
export function assetTaskxcxjyTj(data) {
return request({
url: `/unit/assetTask/xcxjyTj`,
method: "post",
data,
})
}
//小程序单位端校验提交
export function assetTaskgzhjyTj(data) {
return request({
url: `/unit/assetTask/gzhjyTj`,
method: "post",
data,
})
}

@ -1,15 +1,31 @@
<template>
<div>
<webType1></webType1>
</div>
<webType1 v-if="$route.query.type==0"></webType1>
<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>
import webType1 from '@/views/auditPages/components/webType1.vue';
// web
import webType1 from '@/views/components/renwuType/webType1.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: {webType1},
components: {webType1,
assetsTypeTwo,
assetsTypeThree,
assetsTypeFour,
assetsTypeFive,},
data () {
return {
}

@ -118,15 +118,15 @@
<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%">
<my-dialog title="新增任务" @close="importClose" ref="taskDialog" class="taskDialogBox" width="43%">
<el-row>
<el-col :span="21">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px">
<el-form-item label="任务名称" prop="taskName">
<el-input v-model="ruleForm.taskName" placeholder="请输入任务名称"></el-input>
</el-form-item>
<el-form-item label="核查资产类型" prop="hczclx">
<el-checkbox-group v-model="ruleForm.hczclx">
<el-form-item label="核查资产类型" prop="type">
<el-checkbox-group v-model="ruleForm.type">
<el-checkbox label="0">web资产</el-checkbox>
<el-checkbox label="1">小程序资产</el-checkbox>
<el-checkbox label="2">公众号资产</el-checkbox>
@ -149,7 +149,7 @@
</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-button type="primary" @click="submitForm('ruleForm')" :loading="btnloading">发布</el-button>
</el-form-item>
</el-form>
</el-col>
@ -158,7 +158,7 @@
</my-dialog>
<div class="newTask-liebiao">
<my-dialog title="单位列表" ref="liebiaoDialog" class="taskDialogBox" width="80%">
<my-dialog title="单位列表" ref="liebiaoDialog" @close="liebiaoClose" class="taskDialogBox" width="80%">
<danweiList ref="danweiList" @adddanweilist="adddanweilist" @liebiaoClose="liebiaoClose"></danweiList>
</my-dialog>
</div>
@ -176,6 +176,7 @@ export default {
components: { myPagination, myDialog, danweiList },
data() {
return {
btnloading:false,
formInline: {
name: "",
type: "",
@ -197,7 +198,7 @@ export default {
taskName: "",
dwmc: [],
taskDeadline: "",
hczclx:[]
type:[]
},
rules: {
taskName: [
@ -209,7 +210,7 @@ export default {
taskDeadline: [
{ required: true, message: '请选择日期', trigger: 'change' }
],
hczclx:[
type:[
{ required: true, message: '请选择', trigger: 'change' }
]
},
@ -254,7 +255,7 @@ export default {
dwmc: [],
taskName: "",
taskDeadline: "",
hczclx:[]
type:[]
}
this.$refs.taskDialog.close()
@ -265,16 +266,22 @@ export default {
this.$refs[formName].validate((valid) => {
if (valid) {
this.btnloading = true
this.ruleForm.dwmc = this.ruleForm.dwmc.join(",")
this.ruleForm.type = this.ruleForm.type.join(",")
addassetTaskadd(this.ruleForm).then(res => {
this.resetForm()
this.getInfo();
this.$modal.msgSuccess("新增成功");
this.btnloading = false
})
setTimeout(() => {
this.ruleForm.dwmc = this.ruleForm.dwmc.split(",")
this.ruleForm.type = this.ruleForm.type.split(",")
}, 0);
} else {
console.log('error submit!!');
@ -321,11 +328,13 @@ export default {
},
//
addliebiao() {
console.log(this.ruleForm.hczclx);
console.log(this.ruleForm.type);
if(this.ruleForm.hczclx.length >0){
if(this.ruleForm.type.length >0){
this.$refs.liebiaoDialog.open()
setTimeout(() => {
this.$refs.danweiList.getType(this.ruleForm.type)
this.$refs.danweiList.getList()
}, 100);
@ -380,7 +389,7 @@ export default {
},
//
importClose() {
this.resetForm()
},
//
goInfo(row) {

@ -15,14 +15,17 @@
<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-row>
<el-row>
<el-col :span="8">
任务下发时间<span>{{ titleInfoObj.taskTime }}</span>
</el-col>
<el-col :span="16">
核查资产类型<span>{{ listTow.join(",") }}</span>
</el-col>
</el-row>
</div>
</div>
@ -39,7 +42,7 @@
<el-input v-model="formInline.dwmc" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<!-- <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"
@ -47,7 +50,7 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="9">
<el-form-item label="审核状态:">
<el-select v-model="formInline.status" placeholder="请选择">
@ -97,22 +100,22 @@
</el-form>
<section v-if="index == 1">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane :label="item.conent" :name="item.lable" v-for="item in chanckList"></el-tab-pane>
<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 v-loading="loading" :data="tableData" :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="xtmc" prop="xtmc" align="center" />
<el-table-column label="系统类型" key="xtlx" prop="xtlx" align="center">
<el-table-column :label="xtmcName" key="xtmc" prop="xtmc" align="center" />
<!-- <el-table-column label="系统类型" key="xtlx" prop="xtlx" align="center">
<template slot-scope="scope" >
<div v-if='scope.row.xtlx'>
<dict-tag :options="dict.type.zc_xtlx" :value="scope.row.xtlx" />
</div>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="核查单位" key="zcdwmc" prop="zcdwmc" align="center" />
<el-table-column label="审核状态" key="status" width="200px" prop="status" class-name="table-status"
align="center">
@ -137,20 +140,22 @@
<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 != 1 || ($route.query.pageType == 'look' || $route.meta.pageType == 'look')">
<div style="display: flex;align-items: center;cursor: pointer;" @click="goInfo(1, scope.row)"
v-if="scope.row.status != 1 || ($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>
<span class="look-info" style="color: #1485EF;">查看</span>
</div>
<div style="display: flex;align-items: center;cursor: pointer;margin-left: 5px;" @click="goInfo(2,scope.row)" v-if="$route.query.pageType == 'info' || $route.meta.pageType == 'info'" v-show='scope.row.status == 1'>
<div style="display: flex;align-items: center;cursor: pointer;margin-left: 5px;"
@click="goInfo(2, scope.row)"
v-if="$route.query.pageType == 'info' || $route.meta.pageType == 'info'"
v-show='scope.row.status == 1'>
<img src="@/assets/images/icon-shenhe@2x.png" alt="" style="width: 15px;margin-right: 5px;">
<span class="look-info"
style="color: #1485EF;">审核</span>
<span class="look-info" style="color: #1485EF;">审核</span>
</div>
<div style="display: flex;align-items: center;cursor: pointer;margin-left: 5px;" @click="goInfo(3,scope.row)" v-show='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.status == 4'>
<img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;">
<span class="look-info"
style="color: #1485EF;">查看原因</span>
<span class="look-info" style="color: #1485EF;">查看原因</span>
</div>
</div>
</template>
@ -183,47 +188,47 @@
<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="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" :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-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>
<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,assetTaskdwHc,assetLcpage,assetLcpageList } from "@/api/renwuApi/index.js"
import { getassetTaskid, geassetTaskcHc, assetTaskdwHc, assetLcpage, assetLcpageList } from "@/api/renwuApi/index.js"
import myDialog from "@/views/components/myDialog/index.vue"
export default {
dicts: ['zc_xtlx'],
components: { myPagination,myDialog },
components: { myPagination, myDialog },
data() {
return {
activeName:0,
index: 1,
formInline: {
xtlx:""
xtlx: "",
},
formInlineTwo: {
dwmc: "",
@ -243,48 +248,63 @@ export default {
tabHeader: undefined,
timeLineData: [],
titleInfoObj: {},
chakanyuanyin:"",
chanckList:[
chakanyuanyin: "",
activeName: "0",
xtmcName: "系统名称",
chanckList: [
{
lable:"0",
conent:"web资产"
lable: "0",
conent: "web资产",
xtmcName: "系统名称",
},
{
lable:"1",
conent:"小程序资产"
lable: "1",
conent: "小程序资产",
xtmcName: "小程序名称",
},
{
lable:"2",
conent:"公众号资产"
lable: "2",
conent: "公众号资产",
xtmcName: "公众号名称",
},
{
lable:"3",
conent:"电子邮件资产"
lable: "3",
conent: "电子邮件资产",
xtmcName: "电子邮箱后缀",
},
{
lable:"4",
conent:"移动应用程序资产"
lable: "4",
conent: "移动应用程序资产",
xtmcName: "移动应用程序名称",
},
]
],
chanckListTow: [],
listTow: [],
}
},
mounted() {
this.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
this.titleInfo()
this.assetLcpageList()
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods: {
methods: {
handleClick(tab, event) {
console.log(tab.name);
},
this.formInline = {
xtlx: "",
}
console.log(tab);
this.activeName = tab.name
this.xtmcName = tab.$attrs.xtmcName,
this.handleQuery()
},
//
returnidimg(iswenzi){
returnidimg(iswenzi) {
// let obj = {
// '':require('@/assets/images/rwxf.png'),
// "":require('@/assets/images/wctj.png'),
@ -294,40 +314,40 @@ export default {
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'),
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')
}
let item = listsna.find(item => iswenzi.includes(item.name))
if (item) {
return item.imgdata
} else {
return require('@/assets/images/wctj.png')
}
},
//
assetLcpageList(){
assetLcpageList() {
let obj = {
taskId:this.$route.query.id || this.$route.meta.id
taskId: this.$route.query.id || this.$route.meta.id
}
assetLcpage(obj).then(res=>{
assetLcpage(obj).then(res => {
this.timeLineData = res.data
})
},
importClose(){},
importClose() { },
goInfo(type, row) {
//
@ -336,7 +356,8 @@ export default {
name: 'taskAuditInfo', query: {
pageType: "look",
taskId: row.taskId,
assetId:row.id
assetId: row.id,
type: this.activeName,
}
})
@ -347,7 +368,8 @@ export default {
name: 'taskAuditInfo', query: {
pageType: "change",
taskId: row.taskId,
assetId:row.id
assetId: row.id,
type: this.activeName,
}
})
@ -356,7 +378,7 @@ export default {
if (type == 3) {
this.chakanyuanyin = row.btgyy
this.$refs.liebiaoDialog.open()
}
// getassetTaskid(row.id)
@ -372,24 +394,48 @@ export default {
return "-"
}
},
titleInfoObjtype(type = "0,1") {
console.log(type);
let list = type.split(",")
this.listTow = []
this.chanckListTow = []
this.chanckList.forEach(res => {
list.forEach(element => {
if (element == res.lable) {
this.listTow.push(res.conent)
this.chanckListTow.push(res)
}
});
})
this.activeName = this.chanckListTow[0].lable
this.handleQuery();
},
titleInfo() {
// console.log(this.$route.query);
getassetTaskid(this.$route.query.id || this.$route.meta.id).then(res => {
if (res.code == 200) {
this.titleInfoObj = res.data
this.titleInfoObjtype(this.titleInfoObj.type)
}
})
},
//
resetQuery() {
this.pagination = {
current: 1,
size: 10,
}
this.activeName = this.chanckListTow[0].lable
this.xtmcName = "系统名称",
this.pagination = {
current: 1,
size: 10,
type: this.activeName,
}
if (this.index == 1) {
this.formInline = {
xtlx:""
xtlx: "",
type: this.activeName,
}
this.getList();
} else if (this.index == 2) {
@ -404,6 +450,7 @@ export default {
this.pagination = {
current: 1,
size: 10,
type: this.activeName,
}
if (this.index == 1) {
this.pagination = { ...this.pagination, ...this.formInline };
@ -430,9 +477,9 @@ export default {
this.total = 0
this.index = id
console.log(id);
this.resetQuery()
},
getList() {
this.loading = true
@ -444,10 +491,10 @@ export default {
})
},
getListTwo() {
getListTwo() {
this.loading = true
this.pagination.taskId = this.$route.query.id || this.$route.meta.id
assetTaskdwHc(this.pagination).then(res=>{
assetTaskdwHc(this.pagination).then(res => {
this.tableDataTwo = res.data.records
this.total = res.data.total
this.loading = false
@ -470,15 +517,16 @@ export default {
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
const tabHeight = tab.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - tabHeight - 120;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - tabHeight - 160;
}
},
beforeRouteEnter(to,from,next){
if(to.query.pageType == 'info') {
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') {
} else if (to.query.pageType == 'look') {
to.meta.title = '任务详情'
to.meta.pageType = to.query.pageType
to.meta.id = to.query.id
@ -497,9 +545,9 @@ export default {
padding-right: 3px;
}
.look-info {
}
::v-deep .el-dialog{
.look-info {}
::v-deep .el-dialog {
margin-top: 20vh !important;
}
</style>

@ -26,7 +26,7 @@
<el-link :href="`${baseUrl}${file.url}`" :underline="false" target="_blank">
<span class="el-icon-document"> {{ getFileName(file.name) }} </span>
</el-link>
<div class="ele-upload-list__item-content-action">
<div class="ele-upload-list__item-content-action" v-if="$route.query.pageType != 'look'">
<el-link :underline="false" @click="handleDelete(index)" type="danger">删除</el-link>
</div>
</li>

@ -0,0 +1,80 @@
<template>
<div>
<my-dialog title="提示" ref="liebiaoDialog" @close="importClose" class="taskDialogBox" width="40%">
<el-row>
<el-col :span="21">
<el-form :model="dialogruleForm" :rules="dialogruleFormrules" ref="eldialogruleForm" label-width="100px">
<el-form-item label="关停原因:" prop="bfyy">
<el-input v-model="dialogruleForm.bfyy" placeholder="请输入关停原因"></el-input>
</el-form-item>
<el-form-item class="newTask-form-item">
<el-button @click="resetForm('eldialogruleForm')"></el-button>
<el-button type="primary" @click="submitForm('eldialogruleForm')"></el-button>
</el-form-item>
</el-form>
</el-col>
<el-col :span="6"></el-col>
</el-row>
</my-dialog>
</div>
</template>
<script>
import myDialog from "@/views/components/myDialog/index.vue"
export default {
components:{
myDialog
},
name: 'baofei',
data () {
return {
dialogruleForm:{
bfyy:""
},
dialogruleFormrules:{
bfyy: [
{ required: true, message: '请输入', trigger: 'blur' },
],
},
}
},
created () { },
mounted () { },
props:['ruleForm', 'assetTaskzc'],
methods: {
importClose(){},
resetForm() {
this.dialogruleForm = {
bfyy:""
}
this.$refs.liebiaoDialog.close()
},
open(){
this.$refs.liebiaoDialog.open()
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.ruleForm.isbf = 2
this.ruleForm.bfyy = this.dialogruleForm.bfyy
this.$emit("assetTaskzc",this.ruleForm)
} else {
console.log('error submit!!');
return false;
}
});
},
},
computed: {}
}
</script>
<style scoped lang='scss'>
</style>

@ -0,0 +1,92 @@
<template>
<div>
<my-dialog title="提示" ref="liebiaoDialog" @close="importClose" class="taskDialogBox" width="40%">
<el-row>
<el-col :span="21">
<el-form :model="dialogruleForm" :rules="dialogruleFormrules" ref="dialogruleForm" label-width="100px">
<el-form-item label="不通过原因:" prop="btgyy">
<el-input v-model="dialogruleForm.btgyy" placeholder="请输入不通过原因"></el-input>
</el-form-item>
<el-form-item class="newTask-form-item">
<el-button @click="resetForm('dialogruleForm')"></el-button>
<el-button type="primary" @click="submitForm('dialogruleForm')"></el-button>
</el-form-item>
</el-form>
</el-col>
<el-col :span="6"></el-col>
</el-row>
</my-dialog>
</div>
</template>
<script>
import myDialog from "@/views/components/myDialog/index.vue"
import { assetTasksh } from "@/api/renwuApi/index.js"
export default {
components:{
myDialog
},
name: 'baofei',
data () {
return {
dialogruleForm:{
btgyy:""
},
dialogruleFormrules:{
btgyy: [
{ required: true, message: '请输入', trigger: 'blur' },
],
},
}
},
created () { },
mounted () { },
props:['chuandemingcheng', 'assetTaskzc'],
methods: {
importClose(){},
resetForm() {
this.dialogruleForm = {
btgyy:""
}
this.$refs.liebiaoDialog.close()
},
open(){
this.$refs.liebiaoDialog.open()
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let tijioaobj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId,
xtmc:this.chuandemingcheng,
btgyy:this.dialogruleForm.btgyy,
status: 4,
type:this.$route.query.type
}
assetTasksh(tijioaobj).then(res=>{
if(res.code == 200){
this.$modal.msgSuccess("审核成功");
this.$router.go(-1);
}
})
} else {
console.log('error submit!!');
return false;
}
});
},
},
computed: {}
}
</script>
<style scoped lang='scss'>
</style>

@ -0,0 +1,508 @@
<!-- 小程序表单 -->
<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 :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="所属单位" prop="ssdw">
<!-- <el-input v-model="ruleForm.ssdw" placeholder="请输入所属单位"></el-input> -->
<el-autocomplete
v-model="ruleForm.ssdw"
:fetch-suggestions="querySearchAsync"
placeholder="请输入所属单位"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="小程序名称" prop="xcxmc">
<el-input v-model="ruleForm.xcxmc" placeholder="请输入小程序名称"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="APPID" required prop="appId">
<el-input v-model="ruleForm.appId" style="width: 100%;" placeholder="请输入APPID"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="认证主体" required prop="rzzt">
<el-input v-model="ruleForm.rzzt" style="width: 100%;" placeholder="请输入认证主体"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" >
<el-form-item class="daoqitixingren" prop="tyshxydm" :rules="[
{
required: true,
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur'
},
]" label="统一社会信用代码" required>
<el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="小程序状态" required prop="state">
<el-select v-model="ruleForm.state" placeholder="请选择小程序状态">
<el-option
v-for="dict in dict.type.gzh_state"
: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="账号原始ID" required prop="ysId">
<el-input v-model="ruleForm.ysId" style="width: 100%;" placeholder="请输入账号原始ID"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="小程序包状态" required prop="packState">
<el-select v-model="ruleForm.packState" placeholder="请选择小程序包状态">
<el-option
v-for="dict in dict.type.email_state"
: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="rzState">
<el-select v-model="ruleForm.rzState" placeholder="请选择认证状态">
<el-option
v-for="dict in dict.type.gzh_rzzt"
: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="rzsj">
<el-date-picker
v-model="ruleForm.rzsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="认证类型" required prop="rzlx">
<el-select v-model="ruleForm.rzlx" placeholder="请选择认证类型">
<el-option
v-for="dict in dict.type.gzh_rzlx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="icp备案状态" required prop="icpState">
<el-input v-model="ruleForm.icpState" style="width: 100%;" placeholder="请输入icp备案状态"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="域名白名单" required prop="ymbmd">
<el-input v-model="ruleForm.ymbmd" style="width: 100%;" placeholder="请输入域名白名单"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="服务类目" required prop="fwlm">
<el-input v-model="ruleForm.fwlm" style="width: 100%;" placeholder="请输入服务类目"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="hydzyx"
label="行业电子邮箱" required
:rules="[
{
type: 'email',
required: true,
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.hydzyx" style="width: 100%;" placeholder="请输入行业电子邮箱"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属行业" required prop="sshy">
<el-select v-model="ruleForm.sshy" placeholder="请选择所属行业">
<el-option
v-for="dict in dict.type.app_sshy"
: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="zdhy">
<el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业">
<el-option
v-for="dict in dict.type.app_zdhy"
: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="xzqh">
<el-select v-model="ruleForm.xzqh" placeholder="请选择行政区划">
<el-option
v-for="dict in dict.type.app_xzqh"
: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="xtzrr">
<el-input v-model="ruleForm.xtzrr" style="width: 100%;" placeholder="请输入系统责任人"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="xtzrrdh"
label="系统责任人电话" required
:rules="[
{
required: true,
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="xtzrryx"
label="系统责任人邮箱" required
:rules="[
{
required: true,
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="系统责任人地址" required prop="xtzrrdz">
<el-input v-model="ruleForm.xtzrrdz" style="width: 100%;" placeholder="请输入系统责任人地址"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="引入插件APPID" required prop="yycjAppid">
<el-input v-model="ruleForm.yycjAppid" style="width: 100%;" placeholder="请输入引入插件APPID"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="引用插件(开发者)" required prop="yycjKfz">
<el-input v-model="ruleForm.yycjKfz" style="width: 100%;" placeholder="请输入引用插件(开发者)"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="系统简介" required prop="xtjj">
<el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" v-model="ruleForm.xtjj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="ruleForm.bfyy">
<el-col :span="24">
<el-form-item label="关停原因">
                <div>{{ruleForm.bfyy}}</div>
              </el-form-item>
</el-col>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType !== 'look' &&$route.name == 'mytaskAuditInfo'" >
<el-button type="danger" @click="newAssets(0)"></el-button>
<el-button @click="newAssets(1)"></el-button>
<el-button type="warning" @click="newAssets(2)"></el-button>
<el-button type="primary" @click="newAssets(3)" :loading="loading">提交</el-button>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType !== 'look' &&$route.name == 'taskAuditInfo'" >
<el-button type="danger" @click="JGnewAssets(0)"></el-button>
<el-button type="primary" @click="JGnewAssets(1)" >通过</el-button>
</el-row>
</el-form>
</div>
</div>
<baofei ref='baofei' :ruleForm='ruleForm' @assetTaskzc="guanting"></baofei>
<butongguo ref='butongguo' :chuandemingcheng='ruleForm.xcxmc' ></butongguo>
</div>
</template>
<script>
import { assetMiniPrograms, miniProgramsInfo, unitAllList } from "@/api/auditPagesApi/index";
import { assetTaskminitaskSh, assetTaskxcxzc, assetTasksh,assetTaskxcxjyTj } from "@/api/renwuApi/index.js"
import baofei from "@/views/components/renwuType/baofei.vue"
import butongguo from "@/views/components/renwuType/butongguo.vue"
export default {
dicts:['app_xzqh','app_sshy','app_zdhy','gzh_state','gzh_rzzt','gzh_rzlx','email_state'],
components:{baofei,butongguo},
data() {
return {
ruleForm:{
},
rules: {
ssdw: [
{ required: true, message: "所属单位不能为空", trigger: "blur" }
],
xcxmc: [
{ required: true, message: "小程序名称不能为空", trigger: "blur" }
],
appId: [
{ required: true, message: "APPID不能为空", trigger: "blur" }
],
rzzt: [
{ required: true, message: "认证主体不能为空", trigger: "blur" }
],
state: [
{ required: true, message: "小程序状态不能为空", trigger: "change" }
],
ysId: [
{ required: true, message: "账号原始ID不能为空", trigger: "blur" }
],
packState: [
{ required: true, message: "小程序包状态不能为空", trigger: "change" }
],
rzState: [
{ required: true, message: "认证状态不能为空", trigger: "change" }
],
rzsj: [
{ required: true, message: "认证时间不能为空", trigger: "change" }
],
rzlx: [
{ required: true, message: "认证类型不能为空", trigger: "change" }
],
icpState: [
{ required: true, message: "icp备案状态不能为空", trigger: "blur" }
],
ymbmd: [
{ required: true, message: "域名白名单不能为空", trigger: "blur" }
],
fwlm: [
{ required: true, message: "服务类目不能为空", trigger: "blur" }
],
sshy: [
{ required: true, message: "所属行业不能为空", trigger: "change" }
],
zdhy: [
{ required: true, message: "重点行业不能为空", trigger: "change" }
],
xzqh: [
{ required: true, message: "行政区划不能为空", trigger: "change" }
],
xtzrr: [
{ required: true, message: "系统责任人不能为空", trigger: "blur" }
],
xtzrryx: [
{ required: true, message: "系统责任人邮箱不能为空", trigger: "blur" },
{ type: 'email', message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }
],
xtzrrdz: [
{ required: true, message: "系统责任人地址不能为空", trigger: "blur" }
],
yycjAppid: [
{ required: true, message: "引入插件APPID不能为空", trigger: "blur" }
],
yycjKfz: [
{ required: true, message: "引用插件(开发者)不能为空", trigger: "blur" }
],
xtjj: [
{ required: true, message: "系统简介不能为空", trigger: "blur" }
]
},
loading:false,
disabled:false,
}
},
props:['pageType', 'id'],
mounted(){
console.log(this.$route);
if(this.pageType == 'look') {
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 = '';
});
})
} else if(this.pageType == 'change') {
this.getInfo()
this.disabled = false;
}
},
methods:{
getInfo(id){
let obj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId
}
assetTaskminitaskSh(obj).then(res=>{
this.ruleForm = res.data;
})
},
//
querySearchAsync(queryString, cb){
let results = [];
unitAllList({nickName: queryString}).then(res => {
res.data.forEach(item => {
results.push({
value: item.nickName,
id: item.id,
})
})
})
cb(results);
},
guanting(ruleForm){
assetTaskxcxzc(ruleForm).then(res=>{
this.$message({
type: 'info',
message: '已关停'
});
this.$router.go(-1);
this.ruleForm.bfyy = ""
this.$refs.baofei.resetForm()
})
},
//
newAssets(type){
if (type == 1) {
//
this.loading = true
this.$router.go(-1);
this.loading = false
return
}
this.ruleForm.taskId= this.$route.query.taskId
this.ruleForm.assetId= this.$route.query.assetId
if (type == 0) {
this.$refs.baofei.open()
}
//
if (type == 2) {
this.loading = true
assetTaskxcxzc(this.ruleForm).then(res => {
console.log(res, "res");
this.$modal.msgSuccess("修改成功");
this.$router.go(-1);
this.loading = false
})
}
if(type == 3){
this.$refs['ruleForm'].validate((valid) => {
if(valid) {
this.loading = true;
assetTaskxcxjyTj(this.ruleForm).then(res=>{
this.loading = false;
this.$modal.msgSuccess("提交成功");
this.$router.go(-1);
})
}
})
}
},
JGnewAssets(type){
this.ruleForm.taskId= this.$route.query.taskId
this.ruleForm.assetId= this.$route.query.assetId
if(type == 0){
this.$refs.butongguo.open()
}
if(type == 1){
let tijioaobj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId,
xtmc:this.ruleForm.xcxmc,
status: 3,
type:this.$route.query.type
}
assetTasksh(tijioaobj).then(res=>{
if(res.code == 200){
this.$modal.msgSuccess("审核成功");
this.$router.go(-1);
}
})
}
},
sendBack(){
this.$router.go(-1);
},
},
}
</script>

@ -0,0 +1,483 @@
<!-- 公众号表单 -->
<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 :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="所属单位" prop="ssdw">
<!-- <el-input v-model="ruleForm.ssdw" placeholder="请输入单位名称"></el-input> -->
<el-autocomplete
v-model="ruleForm.ssdw"
:fetch-suggestions="querySearchAsync"
placeholder="请输入所属单位"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公众号名称" prop="gzhmc">
<el-input v-model="ruleForm.gzhmc" placeholder="请输入公众号名称"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="微信号" required prop="wxh">
<el-input v-model="ruleForm.wxh" style="width: 100%;" placeholder="请输入微信号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="认证主体" required prop="rzzt">
<el-input v-model="ruleForm.rzzt" style="width: 100%;" placeholder="请输入认证主体"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" >
<el-form-item prop="tyshxydm"
class="daoqitixingren" label="统一社会信用代码" required
:rules="[
{
required: true,
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公众号状态" required prop="gzhzt">
<el-select v-model="ruleForm.gzhzt" placeholder="请选择公众号状态">
<el-option
v-for="dict in dict.type.gzh_state"
: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="公众号ID" required prop="gzhId">
<el-input v-model="ruleForm.gzhId" style="width: 100%;" placeholder="请输入公众号ID"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公众号类型" required prop="gzhlx">
<el-select v-model="ruleForm.gzhlx" placeholder="请选择公众号类型">
<el-option
v-for="dict in dict.type.gzh_lx"
: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="rzState">
<el-select v-model="ruleForm.rzState" placeholder="请选择认证状态">
<el-option
v-for="dict in dict.type.gzh_rzzt"
: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="rzsj">
<el-date-picker
v-model="ruleForm.rzsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="认证类型" required prop="rzlx">
<el-select v-model="ruleForm.rzlx" placeholder="请选择认证类型">
<el-option
v-for="dict in dict.type.gzh_rzlx"
: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="sshy">
<el-select v-model="ruleForm.sshy" placeholder="请选择所属行业">
<el-option
v-for="dict in dict.type.app_sshy"
: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="zdhy">
<el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业">
<el-option
v-for="dict in dict.type.app_zdhy"
: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="xzqh">
<el-select v-model="ruleForm.xzqh" placeholder="请选择行政区划">
<el-option
v-for="dict in dict.type.app_xzqh"
: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="xtzrr">
<el-input v-model="ruleForm.xtzrr" style="width: 100%;" placeholder="请输入系统责任人"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="xtzrrdh"
label="系统责任人电话" required
:rules="[
{
required: true,
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="xtzrryx"
label="系统责任人邮箱" required
:rules="[
{
required: true,
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="系统责任人地址" required prop="xtzrrdz">
<el-input v-model="ruleForm.xtzrrdz" style="width: 100%;" placeholder="请输入系统责任人地址"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="菜单信息(菜单名称)" required prop="cdmc">
<el-input v-model="ruleForm.cdmc" style="width: 100%;" placeholder="请输入菜单信息(菜单名称)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="菜单信息(菜单链接)" required prop="cdlj">
<el-input v-model="ruleForm.cdlj" style="width: 100%;" placeholder="请输入菜单信息(菜单链接)"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="菜单信息(菜单类型)" required prop="cdlx">
<el-input v-model="ruleForm.cdlx" style="width: 100%;" placeholder="请输入菜单信息(菜单类型)"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="系统简介" required prop="xtjj">
<el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" v-model="ruleForm.xtjj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="ruleForm.bfyy">
<el-col :span="24">
<el-form-item label="关停原因">
                <div>{{ruleForm.bfyy}}</div>
              </el-form-item>
</el-col>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType !== 'look' &&$route.name == 'mytaskAuditInfo'" >
<el-button type="danger" @click="newAssets(0)"></el-button>
<el-button @click="newAssets(1)"></el-button>
<el-button type="warning" @click="newAssets(2)"></el-button>
<el-button type="primary" @click="newAssets(3)" :loading="loading">提交</el-button>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType !== 'look' &&$route.name == 'taskAuditInfo'" >
<el-button type="danger" @click="JGnewAssets(0)"></el-button>
<el-button type="primary" @click="JGnewAssets(1)" >通过</el-button>
</el-row>
</el-form>
</div>
</div>
<baofei ref='baofei' :ruleForm='ruleForm' @assetTaskzc="guanting"></baofei>
<butongguo ref='butongguo' :chuandemingcheng='ruleForm.gzhmc' ></butongguo>
</div>
</template>
<script>
import { assetOfficialAccount, assetOfficialAccountInfo, unitAllList } from "@/api/auditPagesApi/index";
import { assetTaskofficetaskSh, assetTaskgzhzc, assetTasksh,assetTaskgzhjyTj} from "@/api/renwuApi/index.js"
import baofei from "@/views/components/renwuType/baofei.vue"
import butongguo from "@/views/components/renwuType/butongguo.vue"
export default {
components:{baofei,butongguo},
dicts:['app_xzqh','app_sshy','app_zdhy','gzh_state','gzh_lx','gzh_rzzt','gzh_rzlx','gzh_cdlx'],
data() {
return {
ruleForm:{
},
rules: {
ssdw: [
{ required: true, message: "所属单位不能为空", trigger: "blur" }
],
gzhmc: [
{ required: true, message: "公众号名称不能为空", trigger: "blur" }
],
wxh: [
{ required: true, message: "微信号不能为空", trigger: "blur" }
],
rzzt: [
{ required: true, message: "认证主体不能为空", trigger: "blur" }
],
tyshxydm: [
{ required: true, message: "统一社会信用代码不能为空", trigger: "blur" },
{ pattern: /^[a-zA-Z0-9]{18}$/, message: "请输入正确格式的18位统一社会信用代码", trigger: "blur" }
],
gzhzt: [
{ required: true, message: "公众号状态不能为空", trigger: "change" }
],
gzhId: [
{ required: true, message: "公众号ID不能为空", trigger: "blur" }
],
gzhlx: [
{ required: true, message: "公众号类型不能为空", trigger: "change" }
],
rzState: [
{ required: true, message: "认证状态不能为空", trigger: "change" }
],
rzsj: [
{ required: true, message: "认证时间不能为空", trigger: "change" }
],
rzlx: [
{ required: true, message: "认证类型不能为空", trigger: "change" }
],
sshy: [
{ required: true, message: "所属行业不能为空", trigger: "change" }
],
zdhy: [
{ required: true, message: "重点行业不能为空", trigger: "change" }
],
xzqh: [
{ required: true, message: "行政区划不能为空", trigger: "change" }
],
xtzrr: [
{ required: true, message: "系统责任人不能为空", trigger: "blur" }
],
xtzrrdh: [
{ required: true, message: "系统责任人电话不能为空", trigger: "blur" },
{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }
],
xtzrryx: [
{ required: true, message: "系统责任人邮箱不能为空", trigger: "blur" },
{ type: 'email', message: "请输入正确的邮箱地址", trigger: ['blur', 'change'] }
],
xtzrrdz: [
{ required: true, message: "系统责任人地址不能为空", trigger: "blur" }
],
cdmc: [
{ required: true, message: "菜单信息(菜单名称)不能为空", trigger: "blur" }
],
cdlj: [
{ required: true, message: "菜单信息(菜单链接)不能为空", trigger: "blur" }
],
cdlx: [
{ required: true, message: "菜单信息(菜单类型)不能为空", trigger: "blur" }
],
xtjj: [
{ required: true, message: "系统简介不能为空", trigger: "blur" }
]
},
loading:false,
disabled:false,
}
},
props:['pageType', 'id'],
mounted(){
if(this.pageType == 'look') {
this.getInfo(this.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.pageType == 'change') {
this.getInfo(this.id)
this.disabled = false;
}
},
methods:{
getInfo(id){
let obj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId
}
assetTaskofficetaskSh(obj).then(res=>{
this.ruleForm = res.data;
})
},
//
querySearchAsync(queryString, cb){
let results = [];
unitAllList({nickName: queryString}).then(res => {
res.data.forEach(item => {
results.push({
value: item.nickName,
id: item.id,
})
})
})
cb(results);
},
guanting(ruleForm){
assetTaskgzhzc(ruleForm).then(res=>{
this.$message({
type: 'info',
message: '已关停'
});
this.$router.go(-1);
this.ruleForm.bfyy = ""
this.$refs.baofei.resetForm()
})
},
//
newAssets(type){
if (type == 1) {
//
this.loading = true
this.$router.go(-1);
this.loading = false
return
}
this.ruleForm.taskId= this.$route.query.taskId
this.ruleForm.assetId= this.$route.query.assetId
if (type == 0) {
this.$refs.baofei.open()
}
//
if (type == 2) {
this.loading = true
assetTaskgzhzc(this.ruleForm).then(res => {
console.log(res, "res");
this.$modal.msgSuccess("修改成功");
this.$router.go(-1);
this.loading = false
})
}
if(type == 3){
this.$refs['ruleForm'].validate((valid) => {
if(valid) {
this.loading = true;
assetTaskgzhjyTj(this.ruleForm).then(res=>{
this.loading = false;
this.$modal.msgSuccess("提交成功");
this.$router.go(-1);
})
}
})
}
},
JGnewAssets(type){
this.ruleForm.taskId= this.$route.query.taskId
this.ruleForm.assetId= this.$route.query.assetId
if(type == 0){
this.$refs.butongguo.open()
}
if(type == 1){
let tijioaobj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId,
xtmc:this.ruleForm.gzhmc,
status: 3,
type:this.$route.query.type
}
assetTasksh(tijioaobj).then(res=>{
if(res.code == 200){
this.$modal.msgSuccess("审核成功");
this.$router.go(-1);
}
})
}
},
sendBack(){
this.$router.go(-1);
},
},
}
</script>

@ -0,0 +1,426 @@
<!-- 电子邮件表单 -->
<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 :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="所属单位" prop="ssdw">
<!-- <el-input v-model="ruleForm.ssdw" placeholder="请输入单位名称"></el-input> -->
<el-autocomplete
v-model="ruleForm.ssdw"
:fetch-suggestions="querySearchAsync"
placeholder="请输入所属单位"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电子邮箱后缀" prop="dzyxhz">
<el-input v-model="ruleForm.dzyxhz" placeholder="请输入电子邮箱后缀"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="建设类型" required prop="jslx">
<el-select v-model="ruleForm.jslx" placeholder="请选择建设类型">
<el-option
v-for="dict in dict.type.email_jslx"
: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="yjxtgys">
<el-input v-model="ruleForm.yjxtgys" style="width: 100%;" placeholder="请输入邮件系统供应商"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="密码算法" required prop="mmsf">
<el-input v-model="ruleForm.mmsf" placeholder="请输入密码算法"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮件系统状态" required prop="yjxtzc">
<el-select v-model="ruleForm.yjxtzc" placeholder="请选择邮件系统状态">
<el-option
v-for="dict in dict.type.email_state"
: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="aqfhxt">
<el-select v-model="ruleForm.aqfhxt" placeholder="请选择安全防护系统">
<el-option
v-for="dict in dict.type.email_hasorno"
: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="aqbfhj">
<el-select v-model="ruleForm.aqbfhj" placeholder="请选择安全备份环境">
<el-option
v-for="dict in dict.type.email_hasorno"
: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="szzscs">
<el-input v-model="ruleForm.szzscs" style="width: 100%;" placeholder="请输入数字证书厂商"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="上线时间" required prop="sxsj">
<el-date-picker
v-model="ruleForm.sxsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</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="请选择所属行业">
<el-option
v-for="dict in dict.type.app_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="zdhy">
<el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业">
<el-option
v-for="dict in dict.type.app_zdhy"
: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="xzqh">
<el-select v-model="ruleForm.xzqh" placeholder="请选择行政区划">
<el-option
v-for="dict in dict.type.app_xzqh"
: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="xtzrr">
<el-input v-model="ruleForm.xtzrr" style="width: 100%;" placeholder="请输入系统责任人"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item prop="xtzrrdh"
label="系统责任人电话" required
:rules="[
{
required: true,
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '请输入正确的手机号码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="xtzrryx"
label="系统责任人邮箱" required
:rules="[
{
required: true,
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change']
}
]"
>
<el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="系统责任人地址" required prop="xtzrrdz">
<el-input v-model="ruleForm.xtzrrdz" style="width: 100%;" placeholder="请输入系统责任人地址"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="简介" required prop="jj">
<el-input type="textarea" resize="none" placeholder="请输入简介" :rows="5" v-model="ruleForm.jj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="ruleForm.bfyy">
<el-col :span="24">
<el-form-item label="关停原因">
                <div>{{ruleForm.bfyy}}</div>
              </el-form-item>
</el-col>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType !== 'look' &&$route.name == 'mytaskAuditInfo'" >
<el-button type="danger" @click="newAssets(0)"></el-button>
<el-button @click="newAssets(1)"></el-button>
<el-button type="warning" @click="newAssets(2)"></el-button>
<el-button type="primary" @click="newAssets(3)" :loading="loading">提交</el-button>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType !== 'look' &&$route.name == 'taskAuditInfo'" >
<el-button type="danger" @click="JGnewAssets(0)"></el-button>
<el-button type="primary" @click="JGnewAssets(1)" >通过</el-button>
</el-row>
</el-form>
</div>
</div>
<baofei ref='baofei' :ruleForm='ruleForm' @assetTaskzc="guanting"></baofei>
<butongguo ref='butongguo' :chuandemingcheng='ruleForm.gzhmc' ></butongguo>
</div>
</template>
<script>
import { assetEmail, assetEmailInfo, unitAllList } from "@/api/auditPagesApi/index";
import { assetTaskemailtaskSh, assetTaskemailzc, assetTasksh,assetTaskemailjyTj } from "@/api/renwuApi/index.js"
import baofei from "@/views/components/renwuType/baofei.vue"
import butongguo from "@/views/components/renwuType/butongguo.vue"
export default {
components:{baofei,butongguo},
dicts:['app_xzqh','app_sshy','app_zdhy','email_jslx','email_state','email_hasorno'],
data() {
return {
ruleForm:{
},
rules: {
ssdw: [
{ required: true, message: "所属单位不能为空", trigger: "blur" }
],
dzyxhz: [
{ required: true, message: "电子邮箱后缀不能为空", trigger: "blur" }
],
jslx: [
{ required: true, message: "建设类型不能为空", trigger: "change" }
],
yjxtgys: [
{ required: true, message: "邮件系统供应商不能为空", trigger: "blur" }
],
mmsf: [
{ required: true, message: "密码算法不能为空", trigger: "blur" }
],
yjxtzc: [
{ required: true, message: "邮件系统状态不能为空", trigger: "change" }
],
aqfhxt: [
{ required: true, message: "安全防护系统不能为空", trigger: "change" }
],
aqbfhj: [
{ required: true, message: "安全备份环境不能为空", trigger: "change" }
],
szzscs: [
{ required: true, message: "数字证书厂商不能为空", trigger: "blur" }
],
sxsj: [
{ required: true, message: "上线时间不能为空", trigger: "change" }
],
sshy: [
{ required: true, message: "所属行业不能为空", trigger: "change" }
],
zdhy: [
{ required: true, message: "重点行业不能为空", trigger: "change" }
],
xzqh: [
{ required: true, message: "行政区划不能为空", trigger: "change" }
],
xtzrr: [
{ required: true, message: "系统责任人不能为空", trigger: "blur" }
],
xtzrrdz: [
{ required: true, message: "系统责任人地址不能为空", trigger: "blur" }
],
jj: [
{ required: true, message: "简介不能为空", trigger: "blur" }
]
},
loading:false,
disabled:false,
}
},
props:['pageType', 'id'],
mounted(){
if(this.pageType == 'look') {
this.getInfo(this.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.pageType == 'change') {
this.getInfo(this.id)
this.disabled = false;
}
},
methods:{
getInfo(id){
let obj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId
}
assetTaskemailtaskSh(obj).then(res=>{
this.ruleForm = res.data;
})
},
//
querySearchAsync(queryString, cb){
let results = [];
unitAllList({nickName: queryString}).then(res => {
res.data.forEach(item => {
results.push({
value: item.nickName,
id: item.id,
})
})
})
cb(results);
},
guanting(ruleForm){
assetTaskemailzc(ruleForm).then(res=>{
this.$message({
type: 'info',
message: '已关停'
});
this.$router.go(-1);
this.ruleForm.bfyy = ""
this.$refs.baofei.resetForm()
})
},
//
newAssets(type){
if (type == 1) {
//
this.loading = true
this.$router.go(-1);
this.loading = false
return
}
this.ruleForm.taskId= this.$route.query.taskId
this.ruleForm.assetId= this.$route.query.assetId
if (type == 0) {
this.$refs.baofei.open()
}
//
if (type == 2) {
this.loading = true
assetTaskemailzc(this.ruleForm).then(res => {
console.log(res, "res");
this.$modal.msgSuccess("修改成功");
this.$router.go(-1);
this.loading = false
})
}
if(type == 3){
this.$refs['ruleForm'].validate((valid) => {
if(valid) {
this.loading = true;
assetTaskemailjyTj(this.ruleForm).then(res=>{
this.loading = false;
this.$modal.msgSuccess("提交成功");
this.$router.go(-1);
})
}
})
}
},
JGnewAssets(type){
this.ruleForm.taskId= this.$route.query.taskId
this.ruleForm.assetId= this.$route.query.assetId
if(type == 0){
this.$refs.butongguo.open()
}
if(type == 1){
let tijioaobj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId,
xtmc:this.ruleForm.dzyxhz,
status: 3,
type:this.$route.query.type
}
assetTasksh(tijioaobj).then(res=>{
if(res.code == 200){
this.$modal.msgSuccess("审核成功");
this.$router.go(-1);
}
})
}
},
sendBack(){
this.$router.go(-1);
},
},
}
</script>

@ -0,0 +1,387 @@
<!-- 移动应用程序表单 -->
<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 :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="ssdw">
<!-- <el-input v-model="ruleForm.ssdw" placeholder="请输入单位名称"></el-input> -->
<el-autocomplete
v-model="ruleForm.ssdw"
:fetch-suggestions="querySearchAsync"
placeholder="请输入所属单位"
></el-autocomplete>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="移动应用名称" required prop="appName">
<el-input v-model="ruleForm.appName" placeholder="请输入移动应用名称"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="包名" required prop="pack">
<el-input v-model="ruleForm.pack" style="width: 100%;" placeholder="请输入包名"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="icp备案状态" required prop="icpState">
<el-select v-model="ruleForm.icpState" placeholder="请选择icp备案状态">
<el-option
v-for="dict in dict.type.app_icp_state"
: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="icp备案号" required prop="icpbah">
<el-input v-model="ruleForm.icpbah" placeholder="请输入icp备案号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item prop="tyshxydm"
class="daoqitixingren" label="统一社会信用代码" required
:rules="[
{
required: true,
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur'
}
]"
>
<el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="文件名" required prop="wjm">
<el-input v-model="ruleForm.wjm" placeholder="请输入文件名"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属行业" required prop="sshy">
<el-select v-model="ruleForm.sshy" placeholder="请选择所属行业">
<el-option
v-for="dict in dict.type.app_sshy"
: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="zdhy">
<el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业">
<el-option
v-for="dict in dict.type.app_zdhy"
: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="xzqh">
<el-select v-model="ruleForm.xzqh" placeholder="请选择行政区划">
<el-option
v-for="dict in dict.type.app_xzqh"
: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="aqjgqk">
<el-select v-model="ruleForm.aqjgqk" placeholder="请选择安全加固情况">
<el-option
v-for="dict in dict.type.app_aqjgqk"
: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="bbxx">
<el-input v-model="ruleForm.bbxx" style="width: 100%;" placeholder="请输入版本信息"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="版本信息(版本号)" required prop="bbh">
<el-input v-model="ruleForm.bbh" style="width: 100%;" placeholder="请输入版本信息(版本号)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="版本信息MD5" required prop="bbxxMd5">
<el-input v-model="ruleForm.bbxxMd5" style="width: 100%;" placeholder="请输入版本信息MD5"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="版本信息(上架平台)" required prop="bbxxSjpt">
<el-input v-model="ruleForm.bbxxSjpt" style="width: 100%;" placeholder="请输入版本信息(上架平台)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="文件大小" required prop="wjdx">
<el-input v-model="ruleForm.wjdx" style="width: 100%;" placeholder="请输入文件大小"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="简介" required prop="jj">
<el-input type="textarea" resize="none" placeholder="请输入简介" :rows="5" v-model="ruleForm.jj"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="ruleForm.bfyy">
<el-col :span="24">
<el-form-item label="关停原因">
                <div>{{ruleForm.bfyy}}</div>
              </el-form-item>
</el-col>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType !== 'look' &&$route.name == 'mytaskAuditInfo'" >
<el-button type="danger" @click="newAssets(0)"></el-button>
<el-button @click="newAssets(1)"></el-button>
<el-button type="warning" @click="newAssets(2)"></el-button>
<el-button type="primary" @click="newAssets(3)" :loading="loading">提交</el-button>
</el-row>
<el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType !== 'look' &&$route.name == 'taskAuditInfo'" >
<el-button type="danger" @click="JGnewAssets(0)"></el-button>
<el-button type="primary" @click="JGnewAssets(1)" >通过</el-button>
</el-row>
</el-form>
</div>
</div>
<baofei ref='baofei' :ruleForm='ruleForm' @assetTaskzc="guanting"></baofei>
<butongguo ref='butongguo' :chuandemingcheng='ruleForm.appName' ></butongguo>
</div>
</template>
<script>
import { assetApp, assetAppInfo, unitAllList } from "@/api/auditPagesApi/index";
import { assetTaskapptaskSh, assetTaskappzc, assetTasksh ,assetTaskappjyTj} from "@/api/renwuApi/index.js"
import baofei from "@/views/components/renwuType/baofei.vue"
import butongguo from "@/views/components/renwuType/butongguo.vue"
export default {
components:{baofei,butongguo},
dicts:['app_icp_state','app_sshy','app_zdhy','app_xzqh','app_aqjgqk'],
data() {
return {
ruleForm:{
},
rules: {
ssdw: [
{ required: true, message: "所属单位不能为空", trigger: "blur" }
],
appName: [
{ required: true, message: "移动应用名称不能为空", trigger: "blur" }
],
pack: [
{ required: true, message: "包名不能为空", trigger: "blur" }
],
icpState: [
{ required: true, message: "icp备案状态不能为空", trigger: "change" }
],
icpbah: [
{ required: true, message: "icp备案号不能为空", trigger: "blur" }
],
wjm: [
{ required: true, message: "文件名不能为空", trigger: "blur" }
],
sshy: [
{ required: true, message: "所属行业不能为空", trigger: "change" }
],
zdhy: [
{ required: true, message: "重点行业不能为空", trigger: "change" }
],
xzqh: [
{ required: true, message: "行政区划不能为空", trigger: "change" }
],
aqjgqk: [
{ required: true, message: "安全加固情况不能为空", trigger: "change" }
],
bbxx: [
{ required: true, message: "版本信息不能为空", trigger: "blur" }
],
bbh: [
{ required: true, message: "版本信息(版本号)不能为空", trigger: "blur" }
],
bbxxMd5: [
{ required: true, message: "版本信息MD5不能为空", trigger: "blur" }
],
bbxxSjpt: [
{ required: true, message: "版本信息(上架平台)不能为空", trigger: "blur" }
],
wjdx: [
{ required: true, message: "文件大小不能为空", trigger: "blur" }
],
jj: [
{ required: true, message: "简介不能为空", trigger: "blur" }
]
},
loading:false,
disabled:false,
}
},
props:['pageType', 'id'],
mounted(){
if(this.pageType == 'look') {
this.getInfo(this.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.pageType == 'change') {
this.getInfo(this.id)
this.disabled = false;
}
},
methods:{
getInfo(id){
let obj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId
}
assetTaskapptaskSh(obj).then(res=>{
this.ruleForm = res.data;
})
},
//
querySearchAsync(queryString, cb){
let results = [];
unitAllList({nickName: queryString}).then(res => {
res.data.forEach(item => {
results.push({
value: item.nickName,
id: item.id,
})
})
})
cb(results);
},
guanting(ruleForm){
assetTaskappzc(ruleForm).then(res=>{
this.$message({
type: 'info',
message: '已关停'
});
this.$router.go(-1);
this.ruleForm.bfyy = ""
this.$refs.baofei.resetForm()
})
},
//
newAssets(type){
if (type == 1) {
//
this.loading = true
this.$router.go(-1);
this.loading = false
return
}
this.ruleForm.taskId= this.$route.query.taskId
this.ruleForm.assetId= this.$route.query.assetId
if (type == 0) {
this.$refs.baofei.open()
}
//
if (type == 2) {
this.loading = true
assetTaskappzc(this.ruleForm).then(res => {
console.log(res, "res");
this.$modal.msgSuccess("修改成功");
this.$router.go(-1);
this.loading = false
})
}
if(type == 3){
this.$refs['ruleForm'].validate((valid) => {
if(valid) {
this.loading = true;
assetTaskappjyTj(this.ruleForm).then(res=>{
this.loading = false;
this.$modal.msgSuccess("提交成功");
this.$router.go(-1);
})
}
})
}
},
JGnewAssets(type){
this.ruleForm.taskId= this.$route.query.taskId
this.ruleForm.assetId= this.$route.query.assetId
if(type == 0){
this.$refs.butongguo.open()
}
if(type == 1){
let tijioaobj = {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId,
xtmc:this.ruleForm.appName,
status: 3,
type:this.$route.query.type
}
assetTasksh(tijioaobj).then(res=>{
if(res.code == 200){
this.$modal.msgSuccess("审核成功");
this.$router.go(-1);
}
})
}
},
sendBack(){
this.$router.go(-1);
},
},
}
</script>

@ -3181,7 +3181,8 @@ export default {
assetId: this.$route.query.assetId,
xtmc:this.ruleForm.xtmc,
btgyy:this.dialogruleForm.btgyy,
status: 4
status: 4,
type:this.$route.query.type
}
assetTasksh(tijioaobj).then(res=>{
if(res.code == 200){
@ -3213,7 +3214,8 @@ export default {
taskId: this.$route.query.taskId,
assetId: this.$route.query.assetId,
xtmc:this.ruleForm.xtmc,
status: 3
status: 3,
type:this.$route.query.type
}
tijioaobj.status = 3
assetTasksh(tijioaobj).then(res=>{

File diff suppressed because it is too large Load Diff

@ -235,8 +235,14 @@ export default {
}
return '';
},
getType(type){
this.queryParams.type = type.join(",")
},
/** 查询用户列表 */
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 => {
@ -261,6 +267,9 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
if(this.queryParams.type){
this.queryParams.type = this.queryParams.type
}
this.resetForm("queryForm");
this.toggleSelection()
this.handleQuery();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -300,7 +300,7 @@ export default {
},
//
importClose() {
this.resetForm()
},
//
goInfo(row) {

@ -22,7 +22,9 @@
<el-col :span="8">
任务期限<span>{{ titleInfoObj.taskDeadline }}</span>
</el-col>
<el-col :span="16">
核查资产类型<span>{{ listTow.join(",") }}</span>
</el-col>
</el-row>
</div>
</div>
@ -39,7 +41,7 @@
<el-input v-model="formInline.dwmc" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<!-- <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"
@ -47,7 +49,7 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="9">
<el-form-item label="审核状态:">
<el-select v-model="formInline.status" placeholder="请选择">
@ -96,16 +98,21 @@
</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="系统名称" key="xtmc" prop="xtmc" align="center" />
<el-table-column label="系统类型" key="xtlx" prop="xtlx" align="center">
<el-table-column :label="xtmcName" key="xtmc" 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> -->
<el-table-column label="核查单位" key="zcdwmc" prop="zcdwmc" align="center" />
<el-table-column label="审核状态" key="status" width="200px" prop="status" class-name="table-status"
align="center">
@ -130,22 +137,24 @@
<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')">
<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>
<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)">
<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>
<span class="del-info" style="color: #1485EF;">核查</span>
</div>
<div style="display: flex;align-items: center;cursor: pointer;margin-left: 5px;"
@click="goInfo(3, scope.row)" v-show='scope.row.status == 4'>
<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 style="display: flex;align-items: center;cursor: pointer;margin-left: 5px;" @click="goInfo(3,scope.row)" v-show='scope.row.status == 4'>
<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>
@ -159,30 +168,30 @@
<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="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" :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-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>
<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>
@ -193,12 +202,11 @@ import myDialog from "@/views/components/myDialog/index.vue"
export default {
dicts: ['zc_xtlx'],
components: { myPagination,myDialog },
components: { myPagination, myDialog },
data() {
return {
index: 1,
formInline: {
},
formInlineTwo: {
unitName: "",
@ -218,25 +226,67 @@ export default {
tabHeader: undefined,
timeLineData: [],
titleInfoObj: {},
chakanyuanyin:""
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.getList();
this.cancalDebounce();
window.addEventListener('resize', this.cancalDebounce);
this.titleInfo()
this.assetLcpageList()
},
destroyed() {
window.removeEventListener('resize', this.cancalDebounce);
},
methods: {
//
returnidimg(iswenzi){
handleClick(tab, event) {
console.log(tab.name);
this.formInline = {
xtlx: "",
}
this.activeName = tab.name
this.xtmcName = tab.$attrs.xtmcName,
this.handleQuery()
},
//
returnidimg(iswenzi) {
// let obj = {
// '':require('@/assets/images/rwxf.png'),
// "":require('@/assets/images/wctj.png'),
@ -246,39 +296,39 @@ export default {
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'),
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')
}
let item = listsna.find(item => iswenzi.includes(item.name))
if (item) {
return item.imgdata
} else {
return require('@/assets/images/wctj.png')
}
},
assetLcpageList(){
assetLcpageList() {
let obj = {
taskId:this.$route.query.id || this.$route.meta.id
taskId: this.$route.query.id || this.$route.meta.id
}
assetLcpage(obj).then(res=>{
assetLcpage(obj).then(res => {
this.timeLineData = res.data
})
},
importClose(){},
importClose() { },
goInfo(type, row) {
//
@ -287,7 +337,9 @@ export default {
name: 'mytaskAuditInfo', query: {
pageType: "look",
taskId: row.taskId,
assetId:row.id
assetId: row.id,
type: this.activeName,
}
})
@ -298,7 +350,9 @@ export default {
name: 'mytaskAuditInfo', query: {
pageType: "change",
taskId: row.taskId,
assetId:row.id
assetId: row.id,
type: this.activeName,
}
})
}
@ -306,7 +360,7 @@ export default {
if (type == 3) {
this.chakanyuanyin = row.btgyy
this.$refs.liebiaoDialog.open()
}
// getassetTaskid(row.id)
@ -321,23 +375,51 @@ export default {
} else {
return "-"
}
},
titleInfoObjtype(type = "0,1") {
console.log(type);
let list = type.split(",")
this.listTow = []
this.chanckListTow = []
this.chanckList.forEach(res => {
list.forEach(element => {
if (element == res.lable) {
this.listTow.push(res.conent)
this.chanckListTow.push(res)
}
});
})
this.activeName = this.chanckListTow[0].lable
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,
}
this.getList();
@ -353,6 +435,7 @@ export default {
this.pagination = {
current: 1,
size: 10,
type: this.activeName,
}
if (this.index == 1) {
this.pagination = { ...this.pagination, ...this.formInline };
@ -392,11 +475,11 @@ export default {
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
if(this.$store.state.user.roles.includes("unit")){
this.pagination.dwmc=this.$store.state.user.useer.nickName
}
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
@ -420,15 +503,15 @@ export default {
const headerHeight = header.offsetHeight;
const paginationtHeight = pagination.offsetHeight;
const tabHeight = tab.offsetHeight;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - tabHeight - 120;
this.tabHeader = elementHeight - headerHeight - paginationtHeight - tabHeight - 160;
}
},
beforeRouteEnter(to,from,next){
if(to.query.pageType == 'info') {
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') {
} else if (to.query.pageType == 'look') {
to.meta.title = '任务详情'
to.meta.pageType = to.query.pageType
to.meta.id = to.query.id
@ -447,9 +530,9 @@ export default {
padding-right: 3px;
}
.look-info {
}
::v-deep .el-dialog{
.look-info {}
::v-deep .el-dialog {
margin-top: 20vh !important;
}
</style>

Loading…
Cancel
Save