Commit 9498082b by 史敦盼

修改

1 parent b5916621
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* @Autor: pan * @Autor: pan
* @Date: 2024-03-12 14:55:59 * @Date: 2024-03-12 14:55:59
* @LastEditors: pan * @LastEditors: pan
* @LastEditTime: 2024-03-18 09:56:15 * @LastEditTime: 2024-03-28 17:01:26
--> -->
<!-- /** <!-- /**
* 搜索栏公共组件 * 搜索栏公共组件
...@@ -47,6 +47,7 @@ ...@@ -47,6 +47,7 @@
class="btn-search" class="btn-search"
icon="el-icon-search" icon="el-icon-search"
@click="onSearch" @click="onSearch"
v-preventReClick
>查询</el-button >查询</el-button
> >
<el-button <el-button
......
export default function initDirective(vue) { export default function initDirective(vue) {
/** 节流 */ /** 节流 */
vue.directive('throttle', { vue.directive('throttle', {
inserted: function (el, binding) { inserted: function (el, binding) {
let stop = false; let stop = false
el.addEventListener(binding.arg, (e) => { el.addEventListener(binding.arg, (e) => {
if (stop) return; if (stop) return
binding.value(e) binding.value(e)
stop = true; stop = true
setTimeout(() => { setTimeout(() => {
stop = false stop = false
}, 500) }, 500)
}) })
} },
}) })
/** 防抖 */ /** 防抖 */
vue.directive('debounce', { vue.directive('debounce', {
inserted: function (el, binding) { inserted: function (el, binding) {
let stopTime; let stopTime
el.addEventListener(binding.arg, (e) => { el.addEventListener(binding.arg, (e) => {
clearTimeout(stopTime); clearTimeout(stopTime)
stopTime = setTimeout(binding.value, 1000, e) stopTime = setTimeout(binding.value, 1000, e)
}) })
} },
}) })
vue.directive('no-backslash', { vue.directive('no-backslash', {
// bind 钩子函数会在指令绑定到元素时调用 // bind 钩子函数会在指令绑定到元素时调用
bind(el, binding, vnode) { bind(el, binding, vnode) {
// 绑定 @input 监听方法 // 绑定 @input 监听方法
el.addEventListener('input', function (event) { el.addEventListener('input', function (event) {
// 获取输入的值 // 获取输入的值
const value = event.target.value; const value = event.target.value
// 使用正则表达式检测特殊字(根据需要匹配相应限制字符) // 使用正则表达式检测特殊字(根据需要匹配相应限制字符)
const regex = /(?:')|(?:-- )|(\/\*(?:.|[\n\r])*?\*\/)|(\b(select|update|and|or|delete|insert|truncate|char|into|substr|ascii|declare|exec|count|master|into|drop|execute)\b)/i; const regex =
// 如果输入值包含特殊字符,则替换为空格 /(?:')|(?:-- )|(\/\*(?:.|[\n\r])*?\*\/)|(\b(select|update|and|or|delete|insert|truncate|char|into|substr|ascii|declare|exec|count|master|into|drop|execute)\b)/i
if (regex.test(value)) { // 如果输入值包含特殊字符,则替换为空格
// 使用 replace 方法替换特殊字为空格 if (regex.test(value)) {
const newValue = value.replace(regex, ' '); // 使用 replace 方法替换特殊字为空格
// 将新值设置回输入框 const newValue = value.replace(regex, ' ')
event.target.value = newValue; // 将新值设置回输入框
// 触发 @input 事件,使其更新组件中的数据 event.target.value = newValue
vnode.componentInstance.$emit('input', newValue); // 触发 @input 事件,使其更新组件中的数据
} vnode.componentInstance.$emit('input', newValue)
}); }
}, })
}); },
} })
vue.directive('preventReClick', {
inserted: function (el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
setTimeout(() => {
el.disabled = false
}, binding.value || 1500)
}
})
},
})
}
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* @Autor: pan * @Autor: pan
* @Date: 2024-03-21 20:58:31 * @Date: 2024-03-21 20:58:31
* @LastEditors: pan * @LastEditors: pan
* @LastEditTime: 2024-03-27 19:49:01 * @LastEditTime: 2024-03-28 17:36:40
--> -->
<template> <template>
<div class="flex-column m-10 w-100 conceptualExamine"> <div class="flex-column m-10 w-100 conceptualExamine">
...@@ -254,7 +254,7 @@ export default { ...@@ -254,7 +254,7 @@ export default {
this.leftContentType === 'onlyoffice' || this.leftContentType === 'onlyoffice' ||
this.rightContentType === 'onlyoffice' this.rightContentType === 'onlyoffice'
) { ) {
// this.fnQueryPrjNeedFile() this.fnQueryPrjNeedFile()
} }
}, },
computed: { computed: {
......
<!--
* @Description: 项目信息详情
* @Version: 2.0
* @Autor: pan
* @Date: 2024-03-28 16:08:56
* @LastEditors: pan
* @LastEditTime: 2024-03-28 17:31:20
-->
<template>
<div>
<el-dialog
:title="getTitle"
:visible.sync="showDialog"
:close-on-click-modal="false"
width="90%"
@close="handleClose()"
@open="handleOpen()"
>
<div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="基本信息" name="1">
<div class="base-info-item m-t-20">
<div class="base-info-item-title">系统基本信息</div>
<div class="base-info-item-content">
<el-row class="m-t-20">
<el-col :span="6" class="flex">
<div class="label">单位</div>
<div class="value">总部</div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">部门</div>
<div class="value">发展策划部</div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">关联系统名称</div>
<div class="value">
电力营销-2023年网上国网(网上国网V1.0)
</div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">建设类型</div>
<div class="value">统建</div>
</el-col>
</el-row>
<el-row class="m-t-20">
<el-col :span="6" class="flex">
<div class="label">项目名称</div>
<div class="value">Sora大模型系统</div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">是否续建</div>
<div class="value"></div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">前期项目</div>
<div class="value">
电力营销-2023年网上国网(网上国网V1.0)
</div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">承建单位</div>
<div class="value">国网数字科技有限公司</div>
</el-col>
</el-row>
<el-row class="m-t-20">
<el-col :span="6" class="flex">
<div class="label">项目经理</div>
<div class="value">李雷</div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">创建人</div>
<div class="value">李雷</div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">创建时间</div>
<div class="value">2024-03-28</div>
</el-col>
<el-col :span="6" class="flex">
<div class="label">修改人</div>
<div class="value">李雷</div>
</el-col>
</el-row>
<el-row class="m-t-20">
<el-col :span="24" class="flex">
<div class="label">修改时间</div>
<div class="value">2024-03-28</div>
</el-col>
</el-row>
<el-row class="m-t-20">
<el-col :span="24" class="flex">
<div class="label">修改时间</div>
<div class="value">
<el-table height="300" :data="tableData" stripe border>
<el-table-column
type="index"
label="序号"
width="80"
align="center"
></el-table-column>
<el-table-column
prop="name"
label="资料类型"
width="300"
align="center"
></el-table-column>
<el-table-column
prop="name2"
width="500"
label="资料名称"
align="center"
></el-table-column>
</el-table>
</div>
</el-col>
</el-row>
</div>
</div>
<div class="base-info-item m-t-20">
<div class="base-info-item-title">系统架构管控要求</div>
<div class="base-info-item-content">
<el-row class="m-t-20">
<el-col :span="8" class="flex">
<div class="label" style="width: 160px">
评审情况(概要设计)
</div>
<div class="value">完成</div>
</el-col>
<el-col :span="8" class="flex">
<div class="label">概设架构遵从检查</div>
<div class="value">完成</div>
</el-col>
<el-col :span="8" class="flex">
<div class="label">概设架构政策审查</div>
<div class="value">完成</div>
</el-col>
</el-row>
</div>
</div>
<div class="base-info-item m-t-20">
<div class="base-info-item-title">概要设计评审情况</div>
<div class="base-info-item-content">
<el-row class="m-t-20">
<el-col :span="8" class="flex">
<div class="label">批次名称</div>
<div class="value">2023第一批次概设评审</div>
</el-col>
<el-col :span="8" class="flex">
<div class="label">需求名称</div>
<div class="value">2023第一批次概设评审需求</div>
</el-col>
<el-col :span="8" class="flex">
<div class="label">关联组织机构</div>
<div class="value">经研院-项目管理部</div>
</el-col>
</el-row>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="架构资产" name="2">架构资产</el-tab-pane>
<el-tab-pane label="架构视图" name="3">架构视图</el-tab-pane>
</el-tabs>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose()" size="mini">关 闭</el-button>
</span></el-dialog
>
</div>
</template>
<script>
export default {
props: {
visible: {
type: Boolean,
default: false,
},
rowData: {
type: Object,
default: () => {},
},
},
data() {
return {
activeName: '1',
tableData: [],
}
},
components: {},
computed: {
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
getTitle() {
return `项目名称:${this.rowData.prjName}`
},
},
mounted() {},
methods: {
handleClose() {
this.showDialog = false
},
handleOpen() {},
handleClick() {},
},
}
</script>
<style scoped lang="scss">
@import '@/styles/elementui.scss';
@import '@/styles/common.scss';
.base-info-item {
&-title {
font-size: 16px;
color: #1ec695;
position: relative;
text-align: left;
padding-left: 20px;
&::before {
content: '';
position: absolute;
left: 0;
top: 2px;
width: 6px;
border-radius: 4px;
height: 20px;
background-color: #1ec695;
}
}
&-content {
// padding: 0 50px;
.label {
font-weight: bold;
margin-right: 30px;
width: 120px;
text-align: right;
}
}
}
</style>
<template> <template>
<div class="projectInfoManage"> <div class="projectInfoManage">
<div class="table_container"> <div class="table_container">
<div class="search_menu"> <div class="search_menu">
<div class="search_menu_item_container"> <div class="search_menu_item_container">
<div class="search_menu_item"> <div class="search_menu_item">
<span class="search_title">单位</span> <span class="search_title">单位</span>
<el-input v-no-backslash v-model="searchParams.let1" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> <el-input
</div> v-no-backslash
<div class="search_menu_item"> v-model="searchParams.let1"
<span class="search_title">部门</span> maxlength="100"
<el-input v-no-backslash v-model="searchParams.let2" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> placeholder="请输入内容"
</div> class="search_item"
<div class="search_menu_item"> ></el-input>
<span class="search_title">项目名称</span> </div>
<el-input v-no-backslash v-model="searchParams.let3" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> <div class="search_menu_item">
</div> <span class="search_title">部门</span>
<div class="search_menu_item"> <el-input
<span class="search_title">建设类型</span> v-no-backslash
<el-select v-model="searchParams.let4" placeholder="请选择" class="search_item"> v-model="searchParams.let2"
<el-option v-for="item in jianSheLeiXingSelect" :key="item.value" :label="item.label" :value="item.value"></el-option> maxlength="100"
</el-select> placeholder="请输入内容"
</div> class="search_item"
</div> ></el-input>
<div class="search_menu_btn_container"> </div>
<div class="query_btn" @click="search_table"> <div class="search_menu_item">
<img class="btn_icon" src="@/assets/archi-ele-list/search.png" alt="" /> <span class="search_title">项目名称</span>
<p>查询</p> <el-input
</div> v-no-backslash
<div class="reset_btn" @click="reset"> v-model="searchParams.let3"
<img class="btn_icon" src="@/assets/archi-ele-list/reset.png" alt="" /> maxlength="100"
<p>重置</p> placeholder="请输入内容"
</div> class="search_item"
</div> ></el-input>
</div> </div>
<div class="search_btn"> <div class="search_menu_item">
<el-button type="primary" size="medium" icon="el-icon-document-add" @click="operation('add', null)">新建项目</el-button> <span class="search_title">建设类型</span>
<!-- <el-button type="primary" size="medium" icon="el-icon-document-add" @click="operation('add', null)">续建项目</el-button> --> <el-select
<!-- <el-button type="primary" size="medium" icon="el-icon-delete">删除</el-button> --> v-model="searchParams.let4"
</div> placeholder="请选择"
<el-table :height="tableHeight" v-loading="loading" :data="tableData" stripe border> class="search_item"
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> >
<el-table-column prop="manageOrgId" label="单位" align="center"></el-table-column> <el-option
<el-table-column prop="manageDeptId" label="部门" align="center"></el-table-column> v-for="item in jianSheLeiXingSelect"
<el-table-column prop="appName" label="系统名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column> :key="item.value"
<el-table-column label="建设类型" align="center"> :label="item.label"
<template slot-scope="scope"> :value="item.value"
<span v-if="scope.row.buildType == 1">统推</span> ></el-option>
<span v-else-if="scope.row.buildType == 2">自建</span> </el-select>
</template> </div>
</el-table-column> </div>
<el-table-column prop="prjName" label="项目名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column> <div class="search_menu_btn_container">
<el-table-column label="项目类型" align="center"> <div class="query_btn" @click="search_table">
<template slot-scope="scope"> <img
<span v-if="scope.row.prjPlanClass == 1">新建</span> class="btn_icon"
<span v-else-if="scope.row.prjPlanClass == 2">续建</span> src="@/assets/archi-ele-list/search.png"
</template> alt=""
</el-table-column> />
<el-table-column prop="buildOrg" label="承建单位" align="center"></el-table-column> <p>查询</p>
<el-table-column prop="projectManager" label="项目经理" align="center"></el-table-column> </div>
<el-table-column prop="createMan" label="创建人" align="center"></el-table-column> <div class="reset_btn" @click="reset">
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column> <img
<el-table-column label="操作" width="260" align="center"> class="btn_icon"
<template slot-scope="scope"> src="@/assets/archi-ele-list/reset.png"
<div style="display: flex;align-items: center;justify-content: center;"> alt=""
<el-button icon="el-icon-edit" type="primary" size="mini" @click="operation('edit', scope.row)" :disabled="scope.row.state == 1">编辑</el-button> />
<el-button class="shanChu_btn" icon="el-icon-delete" size="mini" @click="operation('delete', scope.row)" :disabled="scope.row.state == 1">删除</el-button> <p>重置</p>
</div> </div>
</template> </div>
</el-table-column> </div>
</el-table> <div class="search_btn">
<!-- <el-pagination <el-button
type="primary"
size="medium"
icon="el-icon-document-add"
@click="operation('add', null)"
>新建项目</el-button
>
<!-- <el-button type="primary" size="medium" icon="el-icon-document-add" @click="operation('add', null)">续建项目</el-button> -->
<!-- <el-button type="primary" size="medium" icon="el-icon-delete">删除</el-button> -->
</div>
<el-table
:height="tableHeight"
v-loading="loading"
:data="tableData"
stripe
border
>
<el-table-column
type="index"
label="序号"
width="80"
align="center"
></el-table-column>
<el-table-column
prop="manageOrgId"
label="单位"
align="center"
></el-table-column>
<el-table-column
prop="manageDeptId"
label="部门"
align="center"
></el-table-column>
<el-table-column
prop="appName"
label="系统名称"
align="center"
width="200"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column label="建设类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.buildType == 1">统推</span>
<span v-else-if="scope.row.buildType == 2">自建</span>
</template>
</el-table-column>
<el-table-column
prop="prjName"
label="项目名称"
align="center"
width="200"
:show-overflow-tooltip="true"
>
<template slot-scope="{ row }">
<span class="prjName" @click="openDetail(row)">{{
row.prjName
}}</span>
</template>
</el-table-column>
<el-table-column label="项目类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.prjPlanClass == 1">新建</span>
<span v-else-if="scope.row.prjPlanClass == 2">续建</span>
</template>
</el-table-column>
<el-table-column
prop="buildOrg"
label="承建单位"
align="center"
></el-table-column>
<el-table-column
prop="projectManager"
label="项目经理"
align="center"
></el-table-column>
<el-table-column
prop="createMan"
label="创建人"
align="center"
></el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
align="center"
></el-table-column>
<el-table-column label="操作" width="260" align="center">
<template slot-scope="scope">
<div
style="
display: flex;
align-items: center;
justify-content: center;
"
>
<el-button
icon="el-icon-edit"
type="primary"
size="mini"
@click="operation('edit', scope.row)"
:disabled="scope.row.state == 1"
>编辑</el-button
>
<el-button
class="shanChu_btn"
icon="el-icon-delete"
size="mini"
@click="operation('delete', scope.row)"
:disabled="scope.row.state == 1"
>删除</el-button
>
</div>
</template>
</el-table-column>
</el-table>
<!-- <el-pagination
background background
layout="prev, pager, next" layout="prev, pager, next"
:total="50"> :total="50">
</el-pagination> --> </el-pagination> -->
<el-pagination <el-pagination
background background
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="pager.current" :current-page="pager.current"
:page-sizes="pager.sizes" :page-sizes="pager.sizes"
:page-size="pager.size" :page-size="pager.size"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="pager.total"> :total="pager.total"
</el-pagination> >
</div> </el-pagination>
<el-dialog </div>
:title="is_add_edit == 'add' ? '新建系统' : '编辑系统'" <el-dialog
:visible.sync="add_dialog" :title="is_add_edit == 'add' ? '新建系统' : '编辑系统'"
:center="false" :visible.sync="add_dialog"
:close-on-click-modal="false" :center="false"
width="80%"> :close-on-click-modal="false"
<el-form :model="ruleForm" ref="form" :rules="rules" style="display: flex;flex-wrap: wrap;"> width="80%"
<el-form-item label="关联系统:" prop="let1" style="width: 30%;"> >
<el-input v-model="ruleForm.let1" readonly> <el-form
<div slot="append" @click="operation('open_add_dialog2', null)"> :model="ruleForm"
选择系统 ref="form"
</div> :rules="rules"
</el-input> style="display: flex; flex-wrap: wrap"
</el-form-item> >
<el-form-item label="项目名称:" prop="let2" style="width: 30%;margin-left: 46px;"> <el-form-item label="关联系统:" prop="let1" style="width: 30%">
<el-input v-no-backslash v-model="ruleForm.let2" maxlength="100"></el-input> <el-input v-model="ruleForm.let1" readonly>
</el-form-item> <div slot="append" @click="operation('open_add_dialog2', null)">
<el-form-item label="是否续建:" prop="let3" style="width: 30%;"> 选择系统
<el-select v-model="ruleForm.let3" clearable placeholder="请选择"> </div>
<el-option label="是" :value="2"></el-option> </el-input>
<el-option label="否" :value="1"></el-option> </el-form-item>
</el-select> <el-form-item
</el-form-item> label="项目名称:"
<el-form-item label="前期项目:" prop="let4" style="width: 29.5%;margin-left: 10px;"> prop="let2"
<el-input v-model="ruleForm.let4" readonly> style="width: 30%; margin-left: 46px"
<div slot="append" @click="operation('open_add_dialog3', null)"> >
选择项目 <el-input
</div> v-no-backslash
</el-input> v-model="ruleForm.let2"
</el-form-item> maxlength="100"
<!-- <el-form-item label="报告模版关联使用:" prop="let5" style="width: 33%;"> ></el-input>
</el-form-item>
<el-form-item label="是否续建:" prop="let3" style="width: 30%">
<el-select v-model="ruleForm.let3" clearable placeholder="请选择">
<el-option label="是" :value="2"></el-option>
<el-option label="否" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item
label="前期项目:"
prop="let4"
style="width: 29.5%; margin-left: 10px"
>
<el-input v-model="ruleForm.let4" readonly>
<div slot="append" @click="operation('open_add_dialog3', null)">
选择项目
</div>
</el-input>
</el-form-item>
<!-- <el-form-item label="报告模版关联使用:" prop="let5" style="width: 33%;">
<el-input v-model="ruleForm.let5" readonly> <el-input v-model="ruleForm.let5" readonly>
<div slot="append" @click="operation('open_add_dialog4', null)"> <div slot="append" @click="operation('open_add_dialog4', null)">
选择报告 选择报告
</div> </div>
</el-input> </el-input>
</el-form-item> --> </el-form-item> -->
</el-form> </el-form>
<div style="text-align: left;margin-left: 10px;">项目资料:</div> <div style="text-align: left; margin-left: 10px">项目资料:</div>
<el-table :data="tableData4" stripe border> <el-table :data="tableData4" stripe border>
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> <el-table-column
<el-table-column prop="tableLet1" label="资料类型" align="center"></el-table-column> type="index"
<el-table-column label="资料名称" align="center"> label="序号"
<template slot-scope="scope"> width="80"
<el-upload align="center"
class="upload-demo" ></el-table-column>
action="/eadc-shared-ability/oss/upload" <el-table-column
ref="upload" prop="tableLet1"
:on-remove="(file, fileList) => handleRemove(file, fileList, scope.row)" label="资料类型"
:on-success="(res, file, fileList) => handleFileUploadSuccess(res, file, fileList, scope.row)" align="center"
:limit="1" ></el-table-column>
:file-list="scope.row.fileList"> <el-table-column label="资料名称" align="center">
<el-button size="small" type="primary">点击上传</el-button> <template slot-scope="scope">
</el-upload> <el-upload
</template> class="upload-demo"
</el-table-column> action="/eadc-shared-ability/oss/upload"
</el-table> ref="upload"
:on-remove="
(file, fileList) => handleRemove(file, fileList, scope.row)
"
:on-success="
(res, file, fileList) =>
handleFileUploadSuccess(res, file, fileList, scope.row)
"
:limit="1"
:file-list="scope.row.fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="dialogOperation('save', null)">保存</el-button> <el-button class="greenButton" @click="dialogOperation('save', null)"
<el-button @click="add_dialog = false">取消</el-button> >保存</el-button
</span> >
</el-dialog> <el-button @click="add_dialog = false">取消</el-button>
</span>
</el-dialog>
<el-dialog <el-dialog
title='选择系统' title="选择系统"
:visible.sync="add_dialog2" :visible.sync="add_dialog2"
:center="false" :center="false"
:close-on-click-modal="false" :close-on-click-modal="false"
width="80%"> width="80%"
<div class="search_menu" style="justify-content: center;"> >
<div class="search_menu_item_container"> <div class="search_menu" style="justify-content: center">
<div class="search_menu_item" style="width: auto;"> <div class="search_menu_item_container">
<span class="search_title">单位</span> <div class="search_menu_item" style="width: auto">
<el-input v-no-backslash v-model="searchParams2.let1" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> <span class="search_title">单位</span>
</div> <el-input
<div class="search_menu_item" style="width: auto;"> v-no-backslash
<span class="search_title">部门</span> v-model="searchParams2.let1"
<el-input v-no-backslash v-model="searchParams2.let2" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> maxlength="100"
</div> placeholder="请输入内容"
<div class="search_menu_item" style="width: auto;"> class="search_item"
<span class="search_title">项目名称</span> ></el-input>
<el-input v-no-backslash v-model="searchParams2.let3" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> </div>
</div> <div class="search_menu_item" style="width: auto">
<div class="search_menu_item" style="width: auto;"> <span class="search_title">部门</span>
<span class="search_title">建设类型</span> <el-input
<el-select v-model="searchParams2.let4" placeholder="请选择" class="search_item"> v-no-backslash
<el-option v-for="item in jianSheLeiXingSelect" :key="item.value" :label="item.label" :value="item.value"></el-option> v-model="searchParams2.let2"
</el-select> maxlength="100"
</div> placeholder="请输入内容"
</div> class="search_item"
<div class="search_menu_btn_container"> ></el-input>
<div class="query_btn" @click="search_table2"> </div>
<img class="btn_icon" src="@/assets/archi-ele-list/search.png" alt="" /> <div class="search_menu_item" style="width: auto">
<p>查询</p> <span class="search_title">项目名称</span>
</div> <el-input
<div class="reset_btn" @click="reset2"> v-no-backslash
<img class="btn_icon" src="@/assets/archi-ele-list/reset.png" alt="" /> v-model="searchParams2.let3"
<p>重置</p> maxlength="100"
</div> placeholder="请输入内容"
</div> class="search_item"
</div> ></el-input>
<el-table height="300" v-loading="loading2" @selection-change="select_table_rows" :data="tableData2" stripe border> </div>
<el-table-column type="selection" width="55"></el-table-column> <div class="search_menu_item" style="width: auto">
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> <span class="search_title">建设类型</span>
<el-table-column prop="manageOrgId" label="单位" align="center"></el-table-column> <el-select
<el-table-column prop="manageDeptId" label="部门" align="center"></el-table-column> v-model="searchParams2.let4"
<el-table-column prop="appName" label="系统名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column> placeholder="请选择"
<el-table-column label="建设类型" align="center"> class="search_item"
<template slot-scope="scope"> >
<span v-if="scope.row.buildType == 1">统推</span> <el-option
<span v-else>自建</span> v-for="item in jianSheLeiXingSelect"
</template> :key="item.value"
</el-table-column> :label="item.label"
<el-table-column prop="buildOrg" label="承建单位" align="center"></el-table-column> :value="item.value"
<el-table-column prop="projectManager" label="项目经理" align="center"></el-table-column> ></el-option>
<el-table-column prop="createMan" label="创建人" align="center"></el-table-column> </el-select>
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column> </div>
</el-table> </div>
<el-pagination <div class="search_menu_btn_container">
background <div class="query_btn" @click="search_table2">
@size-change="handleSizeChange2" <img
@current-change="handleCurrentChange2" class="btn_icon"
:current-page="pager2.current" src="@/assets/archi-ele-list/search.png"
:page-sizes="pager2.sizes" alt=""
:page-size="pager2.size" />
layout="total, sizes, prev, pager, next, jumper" <p>查询</p>
:total="pager2.total"> </div>
</el-pagination> <div class="reset_btn" @click="reset2">
<span slot="footer" class="dialog-footer"> <img
<el-button class="greenButton" @click="dialogOperation('selectSystem', null)">确定</el-button> class="btn_icon"
<el-button @click="dialogOperation('cancelSelectSystem', null)">取消</el-button> src="@/assets/archi-ele-list/reset.png"
</span> alt=""
</el-dialog> />
<p>重置</p>
</div>
</div>
</div>
<el-table
height="300"
v-loading="loading2"
@selection-change="select_table_rows"
:data="tableData2"
stripe
border
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column
type="index"
label="序号"
width="80"
align="center"
></el-table-column>
<el-table-column
prop="manageOrgId"
label="单位"
align="center"
></el-table-column>
<el-table-column
prop="manageDeptId"
label="部门"
align="center"
></el-table-column>
<el-table-column
prop="appName"
label="系统名称"
align="center"
width="200"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column label="建设类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.buildType == 1">统推</span>
<span v-else>自建</span>
</template>
</el-table-column>
<el-table-column
prop="buildOrg"
label="承建单位"
align="center"
></el-table-column>
<el-table-column
prop="projectManager"
label="项目经理"
align="center"
></el-table-column>
<el-table-column
prop="createMan"
label="创建人"
align="center"
></el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
align="center"
></el-table-column>
</el-table>
<el-pagination
background
@size-change="handleSizeChange2"
@current-change="handleCurrentChange2"
:current-page="pager2.current"
:page-sizes="pager2.sizes"
:page-size="pager2.size"
layout="total, sizes, prev, pager, next, jumper"
:total="pager2.total"
>
</el-pagination>
<span slot="footer" class="dialog-footer">
<el-button
class="greenButton"
@click="dialogOperation('selectSystem', null)"
>确定</el-button
>
<el-button @click="dialogOperation('cancelSelectSystem', null)"
>取消</el-button
>
</span>
</el-dialog>
<el-dialog <el-dialog
title='选择项目' title="选择项目"
:visible.sync="add_dialog3" :visible.sync="add_dialog3"
:center="false" :center="false"
:close-on-click-modal="false" :close-on-click-modal="false"
width="80%"> width="80%"
<div class="search_menu" style="justify-content: center;"> >
<div class="search_menu_item_container"> <div class="search_menu" style="justify-content: center">
<div class="search_menu_item" style="width: auto;"> <div class="search_menu_item_container">
<span class="search_title">单位</span> <div class="search_menu_item" style="width: auto">
<el-input v-no-backslash v-model="searchParams3.let1" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> <span class="search_title">单位</span>
</div> <el-input
<div class="search_menu_item" style="width: auto;"> v-no-backslash
<span class="search_title">部门</span> v-model="searchParams3.let1"
<el-input v-no-backslash v-model="searchParams3.let2" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> maxlength="100"
</div> placeholder="请输入内容"
<div class="search_menu_item" style="width: auto;"> class="search_item"
<span class="search_title">系统名称</span> ></el-input>
<el-input v-no-backslash v-model="searchParams.let3" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> </div>
</div> <div class="search_menu_item" style="width: auto">
<div class="search_menu_item" style="width: auto;"> <span class="search_title">部门</span>
<span class="search_title">建设类型</span> <el-input
<el-select v-model="searchParams3.let4" placeholder="请选择" class="search_item"> v-no-backslash
<el-option v-for="item in jianSheLeiXingSelect" :key="item.value" :label="item.label" :value="item.value"></el-option> v-model="searchParams3.let2"
</el-select> maxlength="100"
</div> placeholder="请输入内容"
</div> class="search_item"
<div class="search_menu_btn_container"> ></el-input>
<div class="query_btn" @click="search_table3"> </div>
<img class="btn_icon" src="@/assets/archi-ele-list/search.png" alt="" /> <div class="search_menu_item" style="width: auto">
<p>查询</p> <span class="search_title">系统名称</span>
</div> <el-input
<div class="reset_btn" @click="reset3"> v-no-backslash
<img class="btn_icon" src="@/assets/archi-ele-list/reset.png" alt="" /> v-model="searchParams.let3"
<p>重置</p> maxlength="100"
</div> placeholder="请输入内容"
</div> class="search_item"
</div> ></el-input>
<el-table height="300" v-loading="loading3" @selection-change="select_table_row3" :data="tableData3" stripe border> </div>
<el-table-column type="selection" width="55"></el-table-column> <div class="search_menu_item" style="width: auto">
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> <span class="search_title">建设类型</span>
<el-table-column prop="manageOrgId" label="单位" align="center"></el-table-column> <el-select
<el-table-column prop="manageDeptId" label="部门" align="center"></el-table-column> v-model="searchParams3.let4"
<el-table-column prop="appName" label="系统名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column> placeholder="请选择"
<el-table-column label="建设类型" align="center"> class="search_item"
<template slot-scope="scope"> >
<span v-if="scope.row.buildType == 1">统推</span> <el-option
<span v-else>自建</span> v-for="item in jianSheLeiXingSelect"
</template> :key="item.value"
</el-table-column> :label="item.label"
<el-table-column prop="prjName" label="项目名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column> :value="item.value"
<el-table-column label="是否续建" align="center"> ></el-option>
<template slot-scope="scope"> </el-select>
<span v-if="scope.row.prjPlanClass == 1"></span> </div>
<span v-else></span> </div>
</template> <div class="search_menu_btn_container">
</el-table-column> <div class="query_btn" @click="search_table3">
<el-table-column prop="buildOrg" label="承建单位" align="center"></el-table-column> <img
<el-table-column prop="projectManager" label="项目经理" align="center"></el-table-column> class="btn_icon"
<el-table-column prop="createMan" label="创建人" align="center"></el-table-column> src="@/assets/archi-ele-list/search.png"
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column> alt=""
</el-table> />
<el-pagination <p>查询</p>
background </div>
@size-change="handleSizeChange3" <div class="reset_btn" @click="reset3">
@current-change="handleCurrentChange3" <img
:current-page="pager3.current" class="btn_icon"
:page-sizes="pager3.sizes" src="@/assets/archi-ele-list/reset.png"
:page-size="pager3.size" alt=""
layout="total, sizes, prev, pager, next, jumper" />
:total="pager3.total"> <p>重置</p>
</el-pagination> </div>
<span slot="footer" class="dialog-footer"> </div>
<el-button class="greenButton" @click="dialogOperation('selectProject', null)">确定</el-button> </div>
<el-button @click="dialogOperation('cancelSelectProject', null)">取消</el-button> <el-table
</span> height="300"
</el-dialog> v-loading="loading3"
@selection-change="select_table_row3"
:data="tableData3"
stripe
border
>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column
type="index"
label="序号"
width="80"
align="center"
></el-table-column>
<el-table-column
prop="manageOrgId"
label="单位"
align="center"
></el-table-column>
<el-table-column
prop="manageDeptId"
label="部门"
align="center"
></el-table-column>
<el-table-column
prop="appName"
label="系统名称"
align="center"
width="200"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column label="建设类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.buildType == 1">统推</span>
<span v-else>自建</span>
</template>
</el-table-column>
<el-table-column
prop="prjName"
label="项目名称"
align="center"
width="200"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column label="是否续建" align="center">
<template slot-scope="scope">
<span v-if="scope.row.prjPlanClass == 1"></span>
<span v-else></span>
</template>
</el-table-column>
<el-table-column
prop="buildOrg"
label="承建单位"
align="center"
></el-table-column>
<el-table-column
prop="projectManager"
label="项目经理"
align="center"
></el-table-column>
<el-table-column
prop="createMan"
label="创建人"
align="center"
></el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
align="center"
></el-table-column>
</el-table>
<el-pagination
background
@size-change="handleSizeChange3"
@current-change="handleCurrentChange3"
:current-page="pager3.current"
:page-sizes="pager3.sizes"
:page-size="pager3.size"
layout="total, sizes, prev, pager, next, jumper"
:total="pager3.total"
>
</el-pagination>
<span slot="footer" class="dialog-footer">
<el-button
class="greenButton"
@click="dialogOperation('selectProject', null)"
>确定</el-button
>
<el-button @click="dialogOperation('cancelSelectProject', null)"
>取消</el-button
>
</span>
</el-dialog>
<el-dialog
title="选择报告"
:visible.sync="add_dialog4"
:center="false"
:close-on-click-modal="false"
width="80%"
>
<span slot="footer" class="dialog-footer">
<el-button
class="greenButton"
@click="dialogOperation('selectReport', null)"
>确定</el-button
>
<el-button @click="dialogOperation('cancelSelectReport', null)"
>取消</el-button
>
</span>
</el-dialog>
<el-dialog <!-- 项目信息详情 -->
title='选择报告' <ProjectDetail :row-data="rowData" :visible.sync="projectDetailVisible" />
:visible.sync="add_dialog4" </div>
:center="false"
:close-on-click-modal="false"
width="80%">
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="dialogOperation('selectReport', null)">确定</el-button>
<el-button @click="dialogOperation('cancelSelectReport', null)">取消</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { import ProjectDetail from '@/views/projectInfoManage/ProjectDetail'
queryProjectInfoManageTable, import {
getDianXingAnLiSelectData, queryProjectInfoManageTable,
editDeleteProjectInfoManageTable, getDianXingAnLiSelectData,
querysystemInfoManageTable, editDeleteProjectInfoManageTable,
addProjectManageTable querysystemInfoManageTable,
} from '@/api/index.js'; addProjectManageTable,
import { MessageBox, Message } from 'element-ui'; } from '@/api/index.js'
import $ from 'jquery'; import { MessageBox, Message } from 'element-ui'
import $ from 'jquery'
export default { export default {
name: 'projectInfoManage', name: 'projectInfoManage',
components: { components: { ProjectDetail },
data() {
}, return {
data() { add_dialog2: false,
return { add_dialog3: false,
add_dialog2: false, add_dialog4: false,
add_dialog3: false, ruleForm: {
add_dialog4: false, let1: null,
ruleForm: { let2: null,
let1: null, let3: null,
let2: null, let4: null,
let3: null, let5: null,
let4: null, },
let5: null, rules: {
}, let1: [{ required: true, message: '请选择关联系统', trigger: 'blur' }],
rules: { let2: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
let1: [ let3: [
{ required: true, message: '请选择关联系统', trigger: 'blur' }, { required: true, message: '请选择是否续建', trigger: 'change' },
], ],
let2: [ },
{ required: true, message: '请输入项目名称', trigger: 'blur' }, add_dialog: false,
], is_add_edit: 'add',
let3: [ tableData: [],
{ required: true, message: '请选择是否续建', trigger: 'change' }, loading: false,
], pager: {
}, current: 1,
add_dialog: false, sizes: [10, 20, 50, 100, 200],
is_add_edit: 'add', size: 10,
tableData: [], total: 20, //总条数
loading: false, },
pager: { tableHeight: null,
current: 1, searchParams: {
sizes: [10, 20, 50, 100, 200], let1: null,
size: 10, let2: null,
total: 20 //总条数 let3: null,
}, let4: null,
tableHeight: null, },
searchParams: { searchParams2: {
let1: null, let1: null,
let2: null, let2: null,
let3: null, let3: null,
let4: null, let4: null,
}, },
searchParams2: { searchParams3: {
let1: null, let1: null,
let2: null, let2: null,
let3: null, let3: null,
let4: null, let4: null,
}, },
searchParams3: { jianSheLeiXingSelect: [],
let1: null, tableData2: [],
let2: null, loading2: false,
let3: null, pager2: {
let4: null, current: 1,
}, sizes: [10, 20, 50, 100, 200],
jianSheLeiXingSelect: [], size: 10,
tableData2: [], total: 20, //总条数
loading2: false, },
pager2: { selectRow: [],
current: 1, selectRow3: [],
sizes: [10, 20, 50, 100, 200], tableData3: [],
size: 10, loading3: false,
total: 20 //总条数 pager3: {
}, current: 1,
selectRow: [], sizes: [10, 20, 50, 100, 200],
selectRow3: [], size: 10,
tableData3: [], total: 20, //总条数
loading3: false, },
pager3: { selectRo3: [],
current: 1, tableData4: [
sizes: [10, 20, 50, 100, 200], { id: 1, tableLet1: '技术规范书', fileList: [], fileArray: [] },
size: 10, { id: 2, tableLet1: '可行性研究报告', fileList: [], fileArray: [] },
total: 20 //总条数 { id: 3, tableLet1: '需求规格说明书', fileList: [], fileArray: [] },
}, { id: 4, tableLet1: '概要设计说明书', fileList: [], fileArray: [] },
selectRo3: [], { id: 5, tableLet1: '安全防护方案', fileList: [], fileArray: [] },
tableData4: [ { id: 5, tableLet1: '其他', fileList: [], fileArray: [] },
{ id: 1, tableLet1: '技术规范书', fileList: [], fileArray: [] }, ],
{ id: 2, tableLet1: '可行性研究报告', fileList: [], fileArray: [] }, prjId: null,
{ id: 3, tableLet1: '需求规格说明书', fileList: [], fileArray: [] }, rowData: {},
{ id: 4, tableLet1: '概要设计说明书', fileList: [], fileArray: [] }, projectDetailVisible: false,
{ id: 5, tableLet1: '安全防护方案', fileList: [], fileArray: [] }, }
{ id: 5, tableLet1: '其他', fileList: [], fileArray: [] }, },
], mounted() {
prjId: null, window.addEventListener('resize', () => {
}; this.set_table_height()
}, })
mounted(){ this.set_table_height()
window.addEventListener('resize', () => { this.get_table()
this.set_table_height(); this.getJianSheLeiXingSelect().then((res) => {
}) this.jianSheLeiXingSelect = res
this.set_table_height(); })
this.get_table(); },
this.getJianSheLeiXingSelect().then(res => { methods: {
this.jianSheLeiXingSelect = res; openDetail(row) {
}) this.rowData = row
}, this.projectDetailVisible = true
methods: { },
// 文件上传逻辑 // 文件上传逻辑
handleRemove(file, fileList, row) {//文件移出 handleRemove(file, fileList, row) {
row.fileArray = []; //文件移出
}, row.fileArray = []
handleFileUploadSuccess(res, file, fileList, row) {//文件上传 },
row.fileArray = [{ handleFileUploadSuccess(res, file, fileList, row) {
fileName: file.name, //文件上传
fileId: file.response.data.fileId, row.fileArray = [
fileUrl: file.response.data.viewUrl {
}]; fileName: file.name,
}, fileId: file.response.data.fileId,
operation(type, data) { fileUrl: file.response.data.viewUrl,
switch(type){ },
case 'add': ]
this.addItem(); },
break; operation(type, data) {
case 'open_add_dialog2': switch (type) {
this.open_add_dialog2(); case 'add':
break; this.addItem()
case 'open_add_dialog3': break
this.open_add_dialog3(); case 'open_add_dialog2':
break; this.open_add_dialog2()
case 'edit': break
this.editItem(data); case 'open_add_dialog3':
break; this.open_add_dialog3()
case 'delete': break
this.deleteItem(data); case 'edit':
break; this.editItem(data)
} break
}, case 'delete':
dialogOperation(type, data) { this.deleteItem(data)
switch(type){ break
case 'save': }
this.save_dialog(); },
break; dialogOperation(type, data) {
case 'selectSystem': switch (type) {
this.confirmSelectSystem(); case 'save':
break; this.save_dialog()
case 'cancelSelectSystem': break
this.selectRow = []; case 'selectSystem':
this.add_dialog2 = false; this.confirmSelectSystem()
break; break
case 'selectProject': case 'cancelSelectSystem':
this.confirmSelectProject(); this.selectRow = []
break; this.add_dialog2 = false
case 'cancelSelectProject': break
this.selectRow3 = []; case 'selectProject':
this.add_dialog3 = false; this.confirmSelectProject()
break; break
} case 'cancelSelectProject':
}, this.selectRow3 = []
confirmSelectSystem() { this.add_dialog3 = false
if(this.selectRow.length == 0) { break
Message({ }
type: 'error', },
message: '请选择至少一条数据' confirmSelectSystem() {
}); if (this.selectRow.length == 0) {
return; Message({
} type: 'error',
if(this.selectRow.length > 1) { message: '请选择至少一条数据',
Message({ })
type: 'error', return
message: '只能选择一条数据' }
}); if (this.selectRow.length > 1) {
return; Message({
} type: 'error',
this.ruleForm.let1 = this.selectRow[0].appName; message: '只能选择一条数据',
this.add_dialog2 = false; })
}, return
confirmSelectProject() { }
if(this.selectRow3.length == 0) { this.ruleForm.let1 = this.selectRow[0].appName
Message({ this.add_dialog2 = false
type: 'error', },
message: '请选择至少一条数据' confirmSelectProject() {
}); if (this.selectRow3.length == 0) {
return; Message({
} type: 'error',
if(this.selectRow3.length > 1) { message: '请选择至少一条数据',
Message({ })
type: 'error', return
message: '只能选择一条数据' }
}); if (this.selectRow3.length > 1) {
return; Message({
} type: 'error',
this.ruleForm.let4 = this.selectRow3[0].prjName; message: '只能选择一条数据',
this.add_dialog3 = false; })
}, return
deleteItem(row) {//删除 }
MessageBox.confirm('确定删除?', '提示', { this.ruleForm.let4 = this.selectRow3[0].prjName
confirmButtonText: '确定', this.add_dialog3 = false
cancelButtonText: '取消', },
customClass: 'messageClass', deleteItem(row) {
confirmButtonClass: 'confirmClass', //删除
type: 'warning' MessageBox.confirm('确定删除?', '提示', {
}).then(() => { confirmButtonText: '确定',
const params = { cancelButtonText: '取消',
prjId: row.prjId, customClass: 'messageClass',
delFlag: 1 confirmButtonClass: 'confirmClass',
} type: 'warning',
editDeleteProjectInfoManageTable(params).then(res => { })
if(res.code == 200) { .then(() => {
this.get_table(); const params = {
Message({ prjId: row.prjId,
type: 'success', delFlag: 1,
message: '删除成功!' }
}); editDeleteProjectInfoManageTable(params).then((res) => {
}else{ if (res.code == 200) {
Message({ this.get_table()
type: 'error', Message({
message: res.msg type: 'success',
}); message: '删除成功!',
} })
}); } else {
}).catch(() => { Message({
Message({ type: 'error',
type: 'info', message: res.msg,
message: '已取消' })
}); }
}); })
}, })
addItem() {//新建项目 .catch(() => {
this.add_dialog = true; Message({
this.is_add_edit = 'add'; type: 'info',
this.$nextTick(() => { message: '已取消',
this.$refs.form.resetFields(); })
this.ruleForm.let1 = null; })
this.ruleForm.let2 = null; },
this.ruleForm.let3 = null; addItem() {
this.ruleForm.let4 = null; //新建项目
this.selectRow = []; this.add_dialog = true
this.selectRow3 = []; this.is_add_edit = 'add'
this.tableData4.forEach(item => { this.$nextTick(() => {
item.fileList = []; this.$refs.form.resetFields()
item.fileArray = []; this.ruleForm.let1 = null
}); this.ruleForm.let2 = null
}); this.ruleForm.let3 = null
}, this.ruleForm.let4 = null
editItem(row) {//编辑 this.selectRow = []
this.add_dialog = true; this.selectRow3 = []
this.is_add_edit = 'edit'; this.tableData4.forEach((item) => {
this.ruleForm.let1 = row.appName; item.fileList = []
this.selectRow = [{ item.fileArray = []
appCode: row.appCode, })
appId: row.appId, })
appName: row.appName, },
buildOrg: row.buildOrg, editItem(row) {
buildType: row.buildType, //编辑
manageDeptId: row.manageDeptId, this.add_dialog = true
manageOrgId: row.manageOrgId, this.is_add_edit = 'edit'
}]; this.ruleForm.let1 = row.appName
this.ruleForm.let2 = row.prjName; this.selectRow = [
this.ruleForm.let3 = row.prjPlanClass; {
if(row.prjPlanClass == 2) { appCode: row.appCode,
this.selectRow3 = [{ appId: row.appId,
agoPrjCode: row.agoPrjCode, appName: row.appName,
agoPrjId: row.agoPrjId, buildOrg: row.buildOrg,
agoPrjName: row.agoPrjName, buildType: row.buildType,
}] manageDeptId: row.manageDeptId,
this.ruleForm.let4 = row.prjName; manageOrgId: row.manageOrgId,
} },
if(row.filesValue) { ]
let filesValue = JSON.parse(row.filesValue); this.ruleForm.let2 = row.prjName
this.ruleForm.let3 = row.prjPlanClass
if(filesValue.length > 0) { if (row.prjPlanClass == 2) {
this.tableData4.forEach((item, index) => { this.selectRow3 = [
item.fileList = filesValue[index] ? [ {
{ agoPrjCode: row.agoPrjCode,
name: filesValue[index].fileName, agoPrjId: row.agoPrjId,
url: filesValue[index].fileUrl, agoPrjName: row.agoPrjName,
fileId: filesValue[index].fileId, },
fileName: filesValue[index].fileName, ]
fileUrl: filesValue[index].fileUrl, this.ruleForm.let4 = row.prjName
} }
] : []; if (row.filesValue) {
item.fileArray = filesValue[index] ? [ let filesValue = JSON.parse(row.filesValue)
{
name: filesValue[index].fileName,
url: filesValue[index].fileUrl,
fileId: filesValue[index].fileId,
fileName: filesValue[index].fileName,
fileUrl: filesValue[index].fileUrl,
}
] : [];
});
}
console.log(this.tableData4)
}
this.prjId = row.prjId;
},
open_add_dialog2() {//打开选择系统窗口
this.add_dialog2 = true;
this.get_system_table();
},
open_add_dialog3() {//打开选择项目窗口
this.add_dialog3 = true;
this.get_table2();
},
search_table3() {//搜索
this.pager3.current = 1;
this.get_table2();
},
get_table2() {//查询表格数据
this.loading3 = true;
const params = {
"appId": this.selectRow.length > 0 ? this.selectRow[0].appId : null,
"manageOrgId": this.searchParams3.let1,
"manageDeptId": this.searchParams3.let2,
"appName": this.searchParams3.let3,
"buildType": this.searchParams3.let4,
"current": this.pager3.current,
"pageSize": this.pager3.size,
};
queryProjectInfoManageTable(params).then(res => {
if(res.code == 200) {
this.loading3 = false;
this.tableData3 = res.data.records;
this.pager3.current = res.data.current;
this.pager3.total = res.data.total;
this.pager3.size = res.data.size;
}
});
},
reset3() {//重置
this.searchParams3.let1 = null;
this.searchParams3.let2 = null;
this.searchParams3.let3 = null;
this.searchParams3.let4 = null;
},
// 每页条数改变
handleSizeChange3(val) {
this.pager3.current = 1;
this.pager3.size = val;
this.get_table2();
},
//当前页码改变
handleCurrentChange3(val) {
this.pager3.current = val;
this.get_table2();
},
select_table_row3(data){//表格的勾选
this.selectRow3 = data;
},
save_dialog() {//保存系统
this.$refs.form.validate(valid => {
if(valid) {
let agoPrjCode, agoPrjId, agoPrjName, appCode, appId, appName, buildOrg, buildType, manageDeptId, manageOrgId;
if(this.ruleForm.let3 == 2) {
if(this.selectRow3.length == 0) {
Message({
type: 'error',
message: '请选择前期项目!'
});
return;
}
}
if(this.selectRow3.length > 0) {
agoPrjCode = this.selectRow3[0].agoPrjCode;
agoPrjId = this.selectRow3[0].agoPrjId;
agoPrjName = this.selectRow3[0].agoPrjName;
}
appCode = this.selectRow[0].appCode;
appId = this.selectRow[0].appId;
appName = this.selectRow[0].appName;
buildOrg = this.selectRow[0].buildOrg;
buildType = this.selectRow[0].buildType;
manageDeptId = this.selectRow[0].manageDeptId;
manageOrgId = this.selectRow[0].manageOrgId;
let filesValue = [];
this.tableData4.forEach(item => {
if(item.fileArray.length > 0) {
filesValue.push({
busiFileName: item.tableLet1,
fileId: item.fileArray[0].fileId,
fileName: item.fileArray[0].fileName,
fileUrl: item.fileArray[0].fileUrl,
})
}
})
const params = {
agoPrjCode, agoPrjId, agoPrjName, appCode, appId, appName, buildOrg, buildType, manageDeptId, manageOrgId,
prjName: this.ruleForm.let2,
prjPlanClass: this.ruleForm.let3,
filesValue
}
const requestParams = this.is_add_edit == 'add' ? params : { ...params, prjId: this.prjId };
if(this.is_add_edit == 'add') {
addProjectManageTable(requestParams).then(res => {
if(res.code == 200) {
this.get_table();
this.add_dialog = false;
Message({
type: 'success',
message: '保存成功!'
});
}else {
Message({
type: 'error',
message: res.msg
});
}
});
}else {
editDeleteProjectInfoManageTable(requestParams).then(res => {
if(res.code == 200) {
this.get_table();
this.add_dialog = false;
Message({
type: 'success',
message: '保存成功!'
});
}else {
Message({
type: 'error',
message: res.msg
});
}
});
}
}else {
return false;
}
});
},
search_table2() {//搜索
this.pager2.current = 1;
this.get_system_table();
},
reset2() {//重置
this.searchParams2.let1 = null;
this.searchParams2.let2 = null;
this.searchParams2.let3 = null;
this.searchParams2.let4 = null;
},
// 每页条数改变
handleSizeChange2(val) {
this.pager2.current = 1;
this.pager2.size = val;
this.get_system_table();
},
//当前页码改变
handleCurrentChange2(val) {
this.pager2.current = val;
this.get_system_table();
},
select_table_rows(data){//表格的勾选
this.selectRow = data;
},
get_system_table() {//查询表格数据
this.loading2 = true;
const params = {
"manageOrgId": this.searchParams2.let1,
"manageDeptId": this.searchParams2.let2,
"appName": this.searchParams2.let3,
"buildType": this.searchParams2.let4,
"current": this.pager.current,
"pageSize": this.pager.size,
};
querysystemInfoManageTable(params).then(res => {
if(res.code == 200) {
this.loading2 = false;
this.tableData2 = res.data.records;
this.pager2.current = res.data.current;
this.pager2.total = res.data.total;
this.pager2.size = res.data.size;
}
// res.records.map(item => {
// const startTime_year = String(new Date(item.startTime).getFullYear());
// const startTime_month = String(new Date(item.startTime).getMonth() + 1);
// let startTime_day = String(new Date(item.startTime).getDay());
// startTime_day = startTime_day.length == 1 ? '0' + startTime_day : startTime_day;
// item['startTime_'] = startTime_year + '-' + startTime_month + '-' + startTime_day; if (filesValue.length > 0) {
// }); this.tableData4.forEach((item, index) => {
// this.getJianSheLeiXingSelect().then(res2 => { item.fileList = filesValue[index]
// res.records.map(item3 => { ? [
// let result1 = res2.find(item2 => item2.value == item3.conformCount); {
// item3['conformCount_'] = result1 ? result1.label : ''; name: filesValue[index].fileName,
// }); url: filesValue[index].fileUrl,
// this.tableData = res.records; fileId: filesValue[index].fileId,
// }) fileName: filesValue[index].fileName,
// this.tableData = res.records; fileUrl: filesValue[index].fileUrl,
// this.pager.current = res.current; },
// this.pager.total = res.total; ]
// this.pager.size = res.size; : []
}); item.fileArray = filesValue[index]
}, ? [
getJianSheLeiXingSelect() {//建设类型下拉 {
const params = { name: filesValue[index].fileName,
key: "build_type" url: filesValue[index].fileUrl,
} fileId: filesValue[index].fileId,
return new Promise((resolve, reject) => { fileName: filesValue[index].fileName,
getDianXingAnLiSelectData(params).then(res => { fileUrl: filesValue[index].fileUrl,
if(res.code == 200) { },
resolve(res.data); ]
} : []
}) })
}) }
}, console.log(this.tableData4)
set_table_height() {//动态设置表格高度 }
const table_container_height = $(".table_container").height(); this.prjId = row.prjId
const search_menu_height = $(".search_menu").height(); },
const search_btn_height = $(".search_btn").outerHeight(true); open_add_dialog2() {
this.tableHeight = table_container_height - search_menu_height - search_btn_height - 90 + 'px'; //打开选择系统窗口
}, this.add_dialog2 = true
search_table() {//搜索 this.get_system_table()
this.pager.current = 1; },
this.get_table(); open_add_dialog3() {
}, //打开选择项目窗口
reset() {//重置 this.add_dialog3 = true
this.searchParams.let1 = null; this.get_table2()
this.searchParams.let2 = null; },
this.searchParams.let3 = null; search_table3() {
this.searchParams.let4 = null; //搜索
}, this.pager3.current = 1
// 每页条数改变 this.get_table2()
handleSizeChange(val) { },
this.pager.current = 1; get_table2() {
this.pager.size = val; //查询表格数据
this.get_table(); this.loading3 = true
}, const params = {
//当前页码改变 appId: this.selectRow.length > 0 ? this.selectRow[0].appId : null,
handleCurrentChange(val) { manageOrgId: this.searchParams3.let1,
this.pager.current = val; manageDeptId: this.searchParams3.let2,
this.get_table(); appName: this.searchParams3.let3,
}, buildType: this.searchParams3.let4,
get_table() {//查询表格数据 current: this.pager3.current,
this.loading = true; pageSize: this.pager3.size,
const params = { }
"manageOrgId": this.searchParams.let1, queryProjectInfoManageTable(params).then((res) => {
"manageDeptId": this.searchParams.let2, if (res.code == 200) {
"prjName": this.searchParams.let3, this.loading3 = false
"buildType": this.searchParams.let4, this.tableData3 = res.data.records
"current": this.pager.current, this.pager3.current = res.data.current
"pageSize": this.pager.size, this.pager3.total = res.data.total
}; this.pager3.size = res.data.size
queryProjectInfoManageTable(params).then(res => { }
if(res.code == 200) { })
this.loading = false; },
this.tableData = res.data.records; reset3() {
this.pager.current = res.data.current; //重置
this.pager.total = res.data.total; this.searchParams3.let1 = null
this.pager.size = res.data.size; this.searchParams3.let2 = null
} this.searchParams3.let3 = null
// res.records.map(item => { this.searchParams3.let4 = null
// const startTime_year = String(new Date(item.startTime).getFullYear()); },
// const startTime_month = String(new Date(item.startTime).getMonth() + 1); // 每页条数改变
// let startTime_day = String(new Date(item.startTime).getDay()); handleSizeChange3(val) {
// startTime_day = startTime_day.length == 1 ? '0' + startTime_day : startTime_day; this.pager3.current = 1
this.pager3.size = val
this.get_table2()
},
//当前页码改变
handleCurrentChange3(val) {
this.pager3.current = val
this.get_table2()
},
select_table_row3(data) {
//表格的勾选
this.selectRow3 = data
},
save_dialog() {
//保存系统
this.$refs.form.validate((valid) => {
if (valid) {
let agoPrjCode,
agoPrjId,
agoPrjName,
appCode,
appId,
appName,
buildOrg,
buildType,
manageDeptId,
manageOrgId
if (this.ruleForm.let3 == 2) {
if (this.selectRow3.length == 0) {
Message({
type: 'error',
message: '请选择前期项目!',
})
return
}
}
if (this.selectRow3.length > 0) {
agoPrjCode = this.selectRow3[0].agoPrjCode
agoPrjId = this.selectRow3[0].agoPrjId
agoPrjName = this.selectRow3[0].agoPrjName
}
appCode = this.selectRow[0].appCode
appId = this.selectRow[0].appId
appName = this.selectRow[0].appName
buildOrg = this.selectRow[0].buildOrg
buildType = this.selectRow[0].buildType
manageDeptId = this.selectRow[0].manageDeptId
manageOrgId = this.selectRow[0].manageOrgId
let filesValue = []
this.tableData4.forEach((item) => {
if (item.fileArray.length > 0) {
filesValue.push({
busiFileName: item.tableLet1,
fileId: item.fileArray[0].fileId,
fileName: item.fileArray[0].fileName,
fileUrl: item.fileArray[0].fileUrl,
})
}
})
const params = {
agoPrjCode,
agoPrjId,
agoPrjName,
appCode,
appId,
appName,
buildOrg,
buildType,
manageDeptId,
manageOrgId,
prjName: this.ruleForm.let2,
prjPlanClass: this.ruleForm.let3,
filesValue,
}
const requestParams =
this.is_add_edit == 'add'
? params
: { ...params, prjId: this.prjId }
if (this.is_add_edit == 'add') {
addProjectManageTable(requestParams).then((res) => {
if (res.code == 200) {
this.get_table()
this.add_dialog = false
Message({
type: 'success',
message: '保存成功!',
})
} else {
Message({
type: 'error',
message: res.msg,
})
}
})
} else {
editDeleteProjectInfoManageTable(requestParams).then((res) => {
if (res.code == 200) {
this.get_table()
this.add_dialog = false
Message({
type: 'success',
message: '保存成功!',
})
} else {
Message({
type: 'error',
message: res.msg,
})
}
})
}
} else {
return false
}
})
},
search_table2() {
//搜索
this.pager2.current = 1
this.get_system_table()
},
reset2() {
//重置
this.searchParams2.let1 = null
this.searchParams2.let2 = null
this.searchParams2.let3 = null
this.searchParams2.let4 = null
},
// 每页条数改变
handleSizeChange2(val) {
this.pager2.current = 1
this.pager2.size = val
this.get_system_table()
},
//当前页码改变
handleCurrentChange2(val) {
this.pager2.current = val
this.get_system_table()
},
select_table_rows(data) {
//表格的勾选
this.selectRow = data
},
get_system_table() {
//查询表格数据
this.loading2 = true
const params = {
manageOrgId: this.searchParams2.let1,
manageDeptId: this.searchParams2.let2,
appName: this.searchParams2.let3,
buildType: this.searchParams2.let4,
current: this.pager.current,
pageSize: this.pager.size,
}
querysystemInfoManageTable(params).then((res) => {
if (res.code == 200) {
this.loading2 = false
this.tableData2 = res.data.records
this.pager2.current = res.data.current
this.pager2.total = res.data.total
this.pager2.size = res.data.size
}
// res.records.map(item => {
// const startTime_year = String(new Date(item.startTime).getFullYear());
// const startTime_month = String(new Date(item.startTime).getMonth() + 1);
// let startTime_day = String(new Date(item.startTime).getDay());
// startTime_day = startTime_day.length == 1 ? '0' + startTime_day : startTime_day;
// item['startTime_'] = startTime_year + '-' + startTime_month + '-' + startTime_day; // item['startTime_'] = startTime_year + '-' + startTime_month + '-' + startTime_day;
// }); // });
// this.getJianSheLeiXingSelect().then(res2 => { // this.getJianSheLeiXingSelect().then(res2 => {
// res.records.map(item3 => { // res.records.map(item3 => {
// let result1 = res2.find(item2 => item2.value == item3.conformCount); // let result1 = res2.find(item2 => item2.value == item3.conformCount);
// item3['conformCount_'] = result1 ? result1.label : ''; // item3['conformCount_'] = result1 ? result1.label : '';
// }); // });
// this.tableData = res.records; // this.tableData = res.records;
// }) // })
// this.tableData = res.records; // this.tableData = res.records;
// this.pager.current = res.current; // this.pager.current = res.current;
// this.pager.total = res.total; // this.pager.total = res.total;
// this.pager.size = res.size; // this.pager.size = res.size;
})
},
getJianSheLeiXingSelect() {
//建设类型下拉
const params = {
key: 'build_type',
}
return new Promise((resolve, reject) => {
getDianXingAnLiSelectData(params).then((res) => {
if (res.code == 200) {
resolve(res.data)
}
})
})
},
set_table_height() {
//动态设置表格高度
const table_container_height = $('.table_container').height()
const search_menu_height = $('.search_menu').height()
const search_btn_height = $('.search_btn').outerHeight(true)
this.tableHeight =
table_container_height -
search_menu_height -
search_btn_height -
90 +
'px'
},
search_table() {
//搜索
this.pager.current = 1
this.get_table()
},
reset() {
//重置
this.searchParams.let1 = null
this.searchParams.let2 = null
this.searchParams.let3 = null
this.searchParams.let4 = null
},
// 每页条数改变
handleSizeChange(val) {
this.pager.current = 1
this.pager.size = val
this.get_table()
},
//当前页码改变
handleCurrentChange(val) {
this.pager.current = val
this.get_table()
},
get_table() {
//查询表格数据
this.loading = true
const params = {
manageOrgId: this.searchParams.let1,
manageDeptId: this.searchParams.let2,
prjName: this.searchParams.let3,
buildType: this.searchParams.let4,
current: this.pager.current,
pageSize: this.pager.size,
}
queryProjectInfoManageTable(params).then((res) => {
if (res.code == 200) {
this.loading = false
this.tableData = res.data.records
this.pager.current = res.data.current
this.pager.total = res.data.total
this.pager.size = res.data.size
}
// res.records.map(item => {
// const startTime_year = String(new Date(item.startTime).getFullYear());
// const startTime_month = String(new Date(item.startTime).getMonth() + 1);
// let startTime_day = String(new Date(item.startTime).getDay());
// startTime_day = startTime_day.length == 1 ? '0' + startTime_day : startTime_day;
// item['startTime_'] = startTime_year + '-' + startTime_month + '-' + startTime_day;
// });
// this.getJianSheLeiXingSelect().then(res2 => {
// res.records.map(item3 => {
// let result1 = res2.find(item2 => item2.value == item3.conformCount);
// item3['conformCount_'] = result1 ? result1.label : '';
// });
// this.tableData = res.records;
// })
// this.tableData = res.records;
// this.pager.current = res.current;
// this.pager.total = res.total;
// this.pager.size = res.size;
// if(res.code == 200) {
// if(res.code == 200) { // this.loading = false;
// this.loading = false; // console.log(res)
// console.log(res) // // this.tableData = res.
// // this.tableData = res. // }
// } })
}); },
}, },
}
} }
</script> </script>
<style> <style>
.confirmClass{ .confirmClass {
background-color: #0D867F !important; background-color: #0d867f !important;
} }
.el-message-box__content{ .el-message-box__content {
padding: 60px 15px 60px 15px; padding: 60px 15px 60px 15px;
} }
</style>
<style scoped lang="scss">
@import '@/styles/elementui.scss';
.prjName {
color: $color-primary;
cursor: pointer;
}
.version_btn {
display: flex;
align-items: center;
justify-content: center;
width: 84px;
height: 32px;
background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0d867f;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn {
display: flex;
align-items: center;
justify-content: center;
width: 104px;
height: 32px;
background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0d867f;
cursor: pointer;
margin-left: 15px;
}
.projectInfoManage {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.el-button--primary {
background: rgba(13, 134, 127, 0.1);
color: #0d867f;
border: 0;
}
/deep/ .el-input-group__append {
background-color: #0d867f;
color: #fff;
cursor: pointer;
}
.search_btn {
width: 100%;
display: flex;
margin-top: 50px;
margin-bottom: 20px;
}
.search_menu {
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
.search_menu_item_container {
display: flex;
align-items: center;
}
.shanChu_btn {
color: #dd6a15;
background-color: #f8ebe2;
}
.search_menu_btn_container {
display: flex;
align-items: center;
}
.search_menu_item {
display: flex;
align-items: center;
width: 344px;
}
.search_title {
/* width: 20%; */
flex-shrink: 0;
margin-right: 15px;
}
.search_item {
width: 60%;
}
.query_btn {
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(13, 134, 127, 1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #0d867f;
font-size: 14px;
color: #fff;
margin-right: 10px;
cursor: pointer;
}
.reset_btn {
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(244, 244, 244, 1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #ccc;
font-size: 14px;
color: #666;
cursor: pointer;
}
.btn_icon {
margin-right: 10px;
}
.table_container {
width: 97%;
height: calc(100% - 40px);
margin-top: 20px;
}
.el-pagination {
margin-top: 30px;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #0d867f;
}
/deep/ .el-dialog__header {
background-color: #0d867f;
text-align: left;
}
/deep/ .el-dialog__title {
color: #fff;
}
/deep/ .el-dialog__close {
color: #fff;
}
.greenButton {
background-color: #0d867f;
color: #fff;
}
.el-form-item {
display: flex;
align-items: center;
width: 50%;
}
</style> </style>
<style scoped>
.version_btn{
display: flex;
align-items: center;
justify-content: center;
width: 84px;
height: 32px;
background: rgba(13,134,127,0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn{
display: flex;
align-items: center;
justify-content: center;
width: 104px;
height: 32px;
background: rgba(13,134,127,0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.projectInfoManage{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.el-button--primary{
background: rgba(13,134,127,0.1);
color: #0D867F;
border: 0;
}
/deep/ .el-input-group__append{
background-color: #0D867F;
color: #fff;
cursor: pointer;
}
.search_btn{
width: 100%;
display: flex;
margin-top: 50px;
margin-bottom: 20px;
}
.search_menu{
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
.search_menu_item_container{
display: flex;
align-items: center;
}
.shanChu_btn{
color: #DD6A15;
background-color: #F8EBE2;
}
.search_menu_btn_container{
display: flex;
align-items: center;
}
.search_menu_item{
display: flex;
align-items: center;
width: 344px;
}
.search_title{
/* width: 20%; */
flex-shrink: 0;
margin-right: 15px;
}
.search_item{
width: 60%;
}
.query_btn{
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(13,134,127,1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #0D867F;
font-size: 14px;
color: #fff;
margin-right: 10px;
cursor: pointer;
}
.reset_btn{
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(244,244,244,1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #ccc;
font-size: 14px;
color: #666;
cursor: pointer;
}
.btn_icon{
margin-right: 10px;
}
.table_container{
width: 97%;
height: calc(100% - 40px);
margin-top: 20px;
}
.el-pagination{
margin-top: 30px;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active{
background-color: #0D867F;
}
/deep/ .el-dialog__header{
background-color: #0D867F;
text-align: left;
}
/deep/ .el-dialog__title{
color: #fff;
}
/deep/ .el-dialog__close {
color: #fff;
}
.greenButton{
background-color: #0D867F;
color: #fff;
}
.el-form-item{
display: flex;
align-items: center;
width: 50%;
}
</style>
\ No newline at end of file
...@@ -137,6 +137,7 @@ export default { ...@@ -137,6 +137,7 @@ export default {
}, },
created() { created() {
this.getDetail() this.getDetail()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容 // 获取下拉文档内容
......
...@@ -136,6 +136,7 @@ export default { ...@@ -136,6 +136,7 @@ export default {
}, },
created() { created() {
this.getDetail() this.getDetail()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容 // 获取下拉文档内容
......
...@@ -128,6 +128,7 @@ export default { ...@@ -128,6 +128,7 @@ export default {
}, },
created() { created() {
this.getDetail() this.getDetail()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容 // 获取下拉文档内容
......
...@@ -128,6 +128,7 @@ export default { ...@@ -128,6 +128,7 @@ export default {
}, },
created() { created() {
this.getDetail() this.getDetail()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容 // 获取下拉文档内容
......
...@@ -127,6 +127,7 @@ export default { ...@@ -127,6 +127,7 @@ export default {
}, },
created() { created() {
this.getDetail() this.getDetail()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容 // 获取下拉文档内容
......
...@@ -137,6 +137,7 @@ export default { ...@@ -137,6 +137,7 @@ export default {
}, },
created() { created() {
this.getDetail() this.getDetail()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容 // 获取下拉文档内容
......
...@@ -3,8 +3,18 @@ ...@@ -3,8 +3,18 @@
<div class="content flex"> <div class="content flex">
<div class="left_container m-r-10 flex-column"> <div class="left_container m-r-10 flex-column">
<div class="left_container_title"> <div class="left_container_title">
<i class="el-icon-caret-right icon"></i> <div class="flex">
<span>评审标准</span> <i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div>
<el-select class="select-title" v-model="leftSelect">
<el-option
v-for="(item, idx) in leftSelectData"
:label="item.fileName"
:value="item.fileId"
:key="idx"
></el-option>
</el-select>
</div> </div>
<div class="left_container_content w-100 h-100 flex-1"> <div class="left_container_content w-100 h-100 flex-1">
<vab-only-office <vab-only-office
...@@ -20,9 +30,9 @@ ...@@ -20,9 +30,9 @@
<i class="el-icon-caret-right icon"></i> <i class="el-icon-caret-right icon"></i>
<span>评审内容</span> <span>评审内容</span>
</div> </div>
<el-select class="select-title" v-model="select"> <!-- <el-select class="select-title" v-model="select">
<el-option label="概要设计说明书.doc" value="1"></el-option> <el-option label="概要设计说明书.doc" value="1"></el-option>
</el-select> </el-select> -->
</div> </div>
<div class="right_container_content w-100 h-100 flex-1"> <div class="right_container_content w-100 h-100 flex-1">
<vab-only-office <vab-only-office
...@@ -68,7 +78,11 @@ ...@@ -68,7 +78,11 @@
<script> <script>
import vabOnlyOffice from '@/components/onlyOffice/index.vue' import vabOnlyOffice from '@/components/onlyOffice/index.vue'
import { savePrelDesInspecte, detailPrelDesInspecte } from '@/api/index.js' import {
savePrelDesInspecte,
detailPrelDesInspecte,
queryPrjNeedFile,
} from '@/api/index.js'
import { documentServerUrl, documentServerUrl2 } from '@/config' import { documentServerUrl, documentServerUrl2 } from '@/config'
import { EADC_SHARED_ABILITY } from '@/config/micromodule' import { EADC_SHARED_ABILITY } from '@/config/micromodule'
export default { export default {
...@@ -130,13 +144,32 @@ export default { ...@@ -130,13 +144,32 @@ export default {
callbackUrl: `${documentServerUrl}${EADC_SHARED_ABILITY}/callback?fileId=302`, callbackUrl: `${documentServerUrl}${EADC_SHARED_ABILITY}/callback?fileId=302`,
}, },
}, },
leftSelectData: [],
} }
}, },
created() { created() {
this.row = JSON.parse(this.$route.query.row) this.row = JSON.parse(this.$route.query.row)
this.getDetail() this.getDetail()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容
fnQueryPrjNeedFile() {
const params = {
busiFileNameList: ['可行性研究报告', '需求规格说明书'],
busiId: this.row.prjId,
busiIdType: 1,
}
queryPrjNeedFile(params).then((res) => {
if (res.code === 200) {
this.leftSelectData = res.data
if (this.leftSelectData.length) {
this.config.document.url = `${documentServerUrl}${EADC_SHARED_ABILITY}/downloadFile/${this.leftSelectData[0].fileId}`
this.config.editorConfig.url = `${documentServerUrl}${EADC_SHARED_ABILITY}/callback?fileId=${this.leftSelectData[0].fileId}`
}
}
})
},
getDetail() { getDetail() {
const params = { const params = {
reviewEnum: 'CONFORMANCE_REVIEW', reviewEnum: 'CONFORMANCE_REVIEW',
......
...@@ -58,7 +58,11 @@ ...@@ -58,7 +58,11 @@
<script> <script>
import vabOnlyOffice from '@/components/onlyOffice/index.vue' import vabOnlyOffice from '@/components/onlyOffice/index.vue'
import { savePrelDesInspecte, detailPrelDesInspecte } from '@/api/index.js' import {
savePrelDesInspecte,
detailPrelDesInspecte,
queryPrjNeedFile,
} from '@/api/index.js'
import { documentServerUrl, documentServerUrl2 } from '@/config' import { documentServerUrl, documentServerUrl2 } from '@/config'
import { EADC_SHARED_ABILITY } from '@/config/micromodule' import { EADC_SHARED_ABILITY } from '@/config/micromodule'
export default { export default {
...@@ -110,13 +114,32 @@ export default { ...@@ -110,13 +114,32 @@ export default {
callbackUrl: `${documentServerUrl}${EADC_SHARED_ABILITY}/callback?fileId=302`, callbackUrl: `${documentServerUrl}${EADC_SHARED_ABILITY}/callback?fileId=302`,
}, },
}, },
leftSelectData: [],
} }
}, },
created() { created() {
this.row = JSON.parse(this.$route.query.row) this.row = JSON.parse(this.$route.query.row)
this.getDetail() this.getDetail()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容
fnQueryPrjNeedFile() {
const params = {
busiFileNameList: ['可行性研究报告', '需求规格说明书'],
busiId: this.row.prjId,
busiIdType: 1,
}
queryPrjNeedFile(params).then((res) => {
if (res.code === 200) {
this.leftSelectData = res.data
if (this.leftSelectData.length) {
this.config.document.url = `${documentServerUrl}${EADC_SHARED_ABILITY}/downloadFile/${this.leftSelectData[0].fileId}`
this.config.editorConfig.url = `${documentServerUrl}${EADC_SHARED_ABILITY}/callback?fileId=${this.leftSelectData[0].fileId}`
}
}
})
},
getDetail() { getDetail() {
const params = { const params = {
reviewEnum: 'FUNCTIONAL_DEPTH_REVIEW', reviewEnum: 'FUNCTIONAL_DEPTH_REVIEW',
......
...@@ -58,6 +58,7 @@ import { ...@@ -58,6 +58,7 @@ import {
savePrelDesInspecte, savePrelDesInspecte,
detailPrelDesInspecte, detailPrelDesInspecte,
qViewPrelDesInspecte, qViewPrelDesInspecte,
queryPrjNeedFile,
} from '@/api/index.js' } from '@/api/index.js'
import { documentServerUrl, documentServerUrl2 } from '@/config' import { documentServerUrl, documentServerUrl2 } from '@/config'
import { EADC_SHARED_ABILITY } from '@/config/micromodule' import { EADC_SHARED_ABILITY } from '@/config/micromodule'
...@@ -111,17 +112,36 @@ export default { ...@@ -111,17 +112,36 @@ export default {
}, },
}, },
rightImgs: [], rightImgs: [],
leftSelectData: [],
} }
}, },
created() { created() {
this.row = JSON.parse(this.$route.query.row) this.row = JSON.parse(this.$route.query.row)
this.getDetail() this.getDetail()
this.getRightQview() this.getRightQview()
this.fnQueryPrjNeedFile()
}, },
methods: { methods: {
// 获取下拉文档内容
fnQueryPrjNeedFile() {
const params = {
busiFileNameList: ['可行性研究报告', '需求规格说明书'],
busiId: this.row.prjId,
busiIdType: 1,
}
queryPrjNeedFile(params).then((res) => {
if (res.code === 200) {
this.leftSelectData = res.data
if (this.leftSelectData.length) {
this.config.document.url = `${documentServerUrl}${EADC_SHARED_ABILITY}/downloadFile/${this.leftSelectData[0].fileId}`
this.config.editorConfig.url = `${documentServerUrl}${EADC_SHARED_ABILITY}/callback?fileId=${this.leftSelectData[0].fileId}`
}
}
})
},
getRightQview() { getRightQview() {
const params = { const params = {
archiBelongId: 1, archiBelongId: 3,
archiStage: 3, archiStage: 3,
reviewEnum: 'DATA_DEPTH_REVIEW', reviewEnum: 'DATA_DEPTH_REVIEW',
prjId: this.row.prjId, prjId: this.row.prjId,
......
<template> <template>
<div class="systemInfoManage"> <div class="systemInfoManage">
<div class="table_container"> <div class="table_container">
<div class="search_menu"> <div class="search_menu">
<div class="search_menu_item_container"> <div class="search_menu_item_container">
<div class="search_menu_item"> <div class="search_menu_item">
<span class="search_title">单位</span> <span class="search_title">单位</span>
<el-input v-no-backslash v-model="searchParams.let1" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> <!-- <el-input
</div> v-no-backslash
<div class="search_menu_item"> v-model="searchParams.let1"
<span class="search_title">部门</span> maxlength="100"
<el-input v-no-backslash v-model="searchParams.let2" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> placeholder="请输入内容"
</div> class="search_item"
<div class="search_menu_item"> ></el-input> -->
<span class="search_title">系统名称</span> <el-select
<el-input v-no-backslash v-model="searchParams.let3" maxlength="100" placeholder="请输入内容" class="search_item"></el-input> v-model="searchParams.let1"
</div> placeholder="请选择"
<div class="search_menu_item"> class="search_item"
<span class="search_title">建设类型</span> >
<el-select v-model="searchParams.let4" placeholder="请选择" class="search_item"> <el-option
<el-option v-for="item in jianSheLeiXingSelect" :key="item.value" :label="item.label" :value="item.value"></el-option> v-for="item in sysOrgOptions"
</el-select> :key="item.value"
</div> :label="item.label"
</div> :value="item.value"
<div class="search_menu_btn_container"> ></el-option>
<div class="query_btn" @click="search_table"> </el-select>
<img class="btn_icon" src="@/assets/archi-ele-list/search.png" alt="" /> </div>
<p>查询</p> <div class="search_menu_item">
</div> <span class="search_title">部门</span>
<div class="reset_btn" @click="reset"> <!-- <el-input
<img class="btn_icon" src="@/assets/archi-ele-list/reset.png" alt="" /> v-no-backslash
<p>重置</p> v-model="searchParams.let2"
</div> maxlength="100"
</div> placeholder="请输入内容"
</div> class="search_item"
<div class="search_btn"> ></el-input> -->
<el-button type="primary" size="medium" icon="el-icon-document-add" @click="operation('add', null)">新建系统</el-button> <el-select
<!-- <el-button type="primary" size="medium" icon="el-icon-document-add" @click="operation('add', 2)">新建自建系统</el-button> --> v-model="searchParams.let2"
<!-- <el-button type="primary" size="medium" icon="el-icon-delete">删除</el-button> --> placeholder="请选择"
</div> class="search_item"
<el-table :height="tableHeight" v-loading="loading" :data="tableData" stripe border> >
<el-table-column type="index" label="序号" width="80" align="center"></el-table-column> <el-option
<el-table-column prop="manageOrgId" label="单位" align="center"></el-table-column> v-for="item in sysDeptOptions"
<el-table-column prop="manageDeptId" label="部门" align="center"></el-table-column> :key="item.value"
<el-table-column prop="appName" label="系统名称" align="center" width="200" :show-overflow-tooltip="true"></el-table-column> :label="item.label"
<el-table-column label="建设类型" align="center"> :value="item.value"
<template slot-scope="scope"> ></el-option>
<span v-if="scope.row.buildType == 1">统推</span> </el-select>
<span v-else-if="scope.row.buildType == 2">自建</span> </div>
</template> <div class="search_menu_item">
</el-table-column> <span class="search_title">系统名称</span>
<el-table-column prop="buildOrg" label="承建单位" align="center"></el-table-column> <el-input
<el-table-column prop="projectManager" label="项目经理" align="center"></el-table-column> v-no-backslash
<el-table-column prop="createMan" label="创建人" align="center"></el-table-column> v-model="searchParams.let3"
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column> maxlength="100"
<el-table-column label="操作" width="260" align="center"> placeholder="请输入内容"
<template slot-scope="scope"> class="search_item"
<div style="display: flex;align-items: center;justify-content: center;"> ></el-input>
<el-button icon="el-icon-edit" type="primary" size="mini" @click="operation('edit', scope.row)" :disabled="scope.row.state == 1">编辑</el-button> </div>
<el-button class="shanChu_btn" icon="el-icon-delete" size="mini" @click="operation('delete', scope.row)" :disabled="scope.row.state == 1">删除</el-button> <div class="search_menu_item">
</div> <span class="search_title">建设类型</span>
</template> <el-select
</el-table-column> v-model="searchParams.let4"
</el-table> placeholder="请选择"
<!-- <el-pagination class="search_item"
>
<el-option
v-for="item in jianSheLeiXingSelect"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
<div class="search_menu_btn_container">
<div class="query_btn" @click="search_table">
<img
class="btn_icon"
src="@/assets/archi-ele-list/search.png"
alt=""
/>
<p>查询</p>
</div>
<div class="reset_btn" @click="reset">
<img
class="btn_icon"
src="@/assets/archi-ele-list/reset.png"
alt=""
/>
<p>重置</p>
</div>
</div>
</div>
<div class="search_btn">
<el-button
type="primary"
size="medium"
icon="el-icon-document-add"
@click="operation('add', null)"
>新建系统</el-button
>
<!-- <el-button type="primary" size="medium" icon="el-icon-document-add" @click="operation('add', 2)">新建自建系统</el-button> -->
<!-- <el-button type="primary" size="medium" icon="el-icon-delete">删除</el-button> -->
</div>
<el-table
:height="tableHeight"
v-loading="loading"
:data="tableData"
stripe
border
>
<el-table-column
type="index"
label="序号"
width="80"
align="center"
></el-table-column>
<el-table-column
prop="manageOrgId"
label="单位"
align="center"
></el-table-column>
<el-table-column
prop="manageDeptId"
label="部门"
align="center"
></el-table-column>
<el-table-column
prop="appName"
label="系统名称"
align="center"
width="200"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column label="建设类型" align="center">
<template slot-scope="scope">
<span v-if="scope.row.buildType == 1">统推</span>
<span v-else-if="scope.row.buildType == 2">自建</span>
</template>
</el-table-column>
<el-table-column
prop="buildOrg"
label="承建单位"
align="center"
></el-table-column>
<el-table-column
prop="projectManager"
label="项目经理"
align="center"
></el-table-column>
<el-table-column
prop="createMan"
label="创建人"
align="center"
></el-table-column>
<el-table-column
prop="createTime"
label="创建时间"
align="center"
></el-table-column>
<el-table-column label="操作" width="260" align="center">
<template slot-scope="scope">
<div
style="
display: flex;
align-items: center;
justify-content: center;
"
>
<el-button
icon="el-icon-edit"
type="primary"
size="mini"
@click="operation('edit', scope.row)"
:disabled="scope.row.state == 1"
>编辑</el-button
>
<el-button
class="shanChu_btn"
icon="el-icon-delete"
size="mini"
@click="operation('delete', scope.row)"
:disabled="scope.row.state == 1"
>删除</el-button
>
</div>
</template>
</el-table-column>
</el-table>
<!-- <el-pagination
background background
layout="prev, pager, next" layout="prev, pager, next"
:total="50"> :total="50">
</el-pagination> --> </el-pagination> -->
<el-pagination <el-pagination
background background
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="pager.current" :current-page="pager.current"
:page-sizes="pager.sizes" :page-sizes="pager.sizes"
:page-size="pager.size" :page-size="pager.size"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="pager.total"> :total="pager.total"
</el-pagination> >
</div> </el-pagination>
<el-dialog </div>
:title="dialogTitle" <el-dialog
:visible.sync="add_dialog" :title="dialogTitle"
:center="false" :visible.sync="add_dialog"
:close-on-click-modal="false" :center="false"
width="60%"> :close-on-click-modal="false"
<el-form :model="ruleForm" ref="form" :rules="rules" style="display: flex;flex-wrap: wrap;"> width="60%"
<el-form-item label="单位:" prop="let1"> >
<el-input v-no-backslash v-model="ruleForm.let1" maxlength="100"></el-input> <el-form
</el-form-item> :model="ruleForm"
<el-form-item label="部门:" prop="let2"> ref="form"
<el-input v-no-backslash v-model="ruleForm.let2" maxlength="100"></el-input> :rules="rules"
</el-form-item> style="display: flex; flex-wrap: wrap"
<el-form-item label="系统名称:" prop="let3"> >
<el-input v-no-backslash v-model="ruleForm.let3" maxlength="100"></el-input> <el-form-item label="单位:" prop="let1">
</el-form-item> <!-- <el-input
<el-form-item label="系统类型:" prop="let4"> v-no-backslash
<el-select clearable v-model="ruleForm.let4"> v-model="ruleForm.let1"
<el-option label="统推" :value="1"></el-option> maxlength="100"
<el-option label="自建" :value="2"></el-option> ></el-input> -->
</el-select> <el-select v-model="ruleForm.let1" placeholder="请选择">
</el-form-item> <el-option
<el-form-item label="承建单位:" prop="let5"> v-for="item in sysOrgOptions"
<el-input v-no-backslash v-model="ruleForm.let5" maxlength="100"></el-input> :key="item.value"
</el-form-item> :label="item.label"
<el-form-item label="项目经理:" prop="let6"> :value="item.value"
<el-input v-no-backslash v-model="ruleForm.let6" maxlength="100"></el-input> ></el-option>
</el-form-item> </el-select>
</el-form> </el-form-item>
<span slot="footer" class="dialog-footer"> <el-form-item label="部门:" prop="let2">
<el-button class="greenButton" @click="dialogOperation('save', null)">保存</el-button> <!-- <el-input
<el-button @click="add_dialog = false">取消</el-button> v-no-backslash
</span> v-model="ruleForm.let2"
</el-dialog> maxlength="100"
</div> ></el-input> -->
<el-select v-model="ruleForm.let2" placeholder="请选择">
<el-option
v-for="item in sysDeptOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="系统名称:" prop="let3">
<el-input
v-no-backslash
v-model="ruleForm.let3"
maxlength="100"
></el-input>
</el-form-item>
<el-form-item label="系统类型:" prop="let4">
<el-select clearable v-model="ruleForm.let4">
<el-option label="统推" :value="1"></el-option>
<el-option label="自建" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="承建单位:" prop="let5">
<!-- <el-input
v-no-backslash
v-model="ruleForm.let5"
maxlength="100"
></el-input> -->
<el-select v-model="ruleForm.let5" placeholder="请选择">
<el-option
v-for="item in sysBuildOrgOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="项目经理:" prop="let6">
<el-input
v-no-backslash
v-model="ruleForm.let6"
maxlength="100"
></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button class="greenButton" @click="dialogOperation('save', null)"
>保存</el-button
>
<el-button @click="add_dialog = false">取消</el-button>
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { import {
querysystemInfoManageTable, querysystemInfoManageTable,
getDianXingAnLiSelectData, getDianXingAnLiSelectData,
addasystemInfoManageTable, addasystemInfoManageTable,
editDeleteSystemInfoManageTable editDeleteSystemInfoManageTable,
} from '@/api/index.js'; } from '@/api/index.js'
import { MessageBox, Message } from 'element-ui'; import { MessageBox, Message } from 'element-ui'
import $ from 'jquery'; import $ from 'jquery'
export default { export default {
name: 'systemInfoManage', name: 'systemInfoManage',
components: { components: {},
data() {
}, return {
data() { ruleForm: {
return { let1: null,
ruleForm: { let2: null,
let1: null, let3: null,
let2: null, let4: null,
let3: null, let5: null,
let4: null, let6: null,
let5: null, },
let6: null, rules: {
}, let1: [{ required: true, message: '请选择单位', trigger: 'change' }],
rules: { let2: [{ required: true, message: '请选择部门', trigger: 'change' }],
let1: [ let3: [{ required: true, message: '请输入系统名称', trigger: 'blur' }],
{ required: true, message: '请选择单位', trigger: 'change' }, let4: [
], { required: true, message: '请选择系统类型', trigger: 'change' },
let2: [ ],
{ required: true, message: '请选择部门', trigger: 'change' }, },
], add_dialog: false,
let3: [ dialogTitle: null,
{ required: true, message: '请输入系统名称', trigger: 'blur' }, tableData: [],
], loading: false,
let4: [ search_select1: [],
{ required: true, message: '请选择系统类型', trigger: 'change' }, pager: {
], current: 1,
}, sizes: [10, 20, 50, 100, 200],
add_dialog: false, size: 10,
dialogTitle: null, total: 20, //总条数
tableData: [], },
loading: false, tableHeight: null,
search_select1: [], searchParams: {
pager: { let1: null,
current: 1, let2: null,
sizes: [10, 20, 50, 100, 200], let3: null,
size: 10, let4: null,
total: 20 //总条数 },
}, jianSheLeiXingSelect: [],
tableHeight: null, appId: null,
searchParams: { sysOrgOptions: [],
let1: null, sysDeptOptions: [],
let2: null, sysBuildOrgOptions: [],
let3: null, }
let4: null, },
}, mounted() {
jianSheLeiXingSelect: [], window.addEventListener('resize', () => {
appId: null, this.set_table_height()
}; })
}, this.set_table_height()
mounted(){ this.get_table()
window.addEventListener('resize', () => { this.getJianSheLeiXingSelect().then((res) => {
this.set_table_height(); this.jianSheLeiXingSelect = res
}) })
this.set_table_height(); this.getDicts()
this.get_table(); },
this.getJianSheLeiXingSelect().then(res => { methods: {
this.jianSheLeiXingSelect = res; getDicts() {
}) this.getDictTypeOptions('sys_org', 'sysOrgOptions')
}, this.getDictTypeOptions('sys_dept', 'sysDeptOptions')
methods: { this.getDictTypeOptions('sys_build_org', 'sysBuildOrgOptions')
operation(type, data) { },
switch(type){ async getDictTypeOptions(key, dictType) {
case 'add': var dictTypeOptions = []
this.openAddDialog(); var storedDic = localStorage.getItem('dic_' + key)
this.dialogTitle = '新建系统'; if (storedDic) {
break; dictTypeOptions = JSON.parse(storedDic)
case 'edit': } else {
this.editItem(data); const params = { key }
break; const res = await getDianXingAnLiSelectData(params)
case 'delete': if (res.code !== 200) return
this.deleteItem(data); dictTypeOptions = res.data
break; const jsonStr = JSON.stringify(res.data)
case 7680: localStorage.setItem('dic_' + key, jsonStr)
}
break; this[dictType] = dictTypeOptions
case 11200: },
operation(type, data) {
break; switch (type) {
} case 'add':
}, this.openAddDialog()
editItem(row) {//编辑 this.dialogTitle = '新建系统'
this.add_dialog = true; break
this.dialogTitle = '编辑系统'; case 'edit':
this.ruleForm.let1 = row.manageOrgId; this.editItem(data)
this.ruleForm.let2 = row.manageDeptId; break
this.ruleForm.let3 = row.appName; case 'delete':
this.ruleForm.let4 = row.buildType; this.deleteItem(data)
this.ruleForm.let5 = row.buildOrg; break
this.ruleForm.let6 = row.projectManager; case 7680:
this.appId = row.appId; break
this.$nextTick(() => { case 11200:
this.$refs.form.clearValidate(); break
}); }
}, },
deleteItem(row) {//删除 editItem(row) {
MessageBox.confirm('确定删除?', '提示', { //编辑
confirmButtonText: '确定', this.add_dialog = true
cancelButtonText: '取消', this.dialogTitle = '编辑系统'
customClass: 'messageClass', this.ruleForm.let1 = row.manageOrgId
confirmButtonClass: 'confirmClass', this.ruleForm.let2 = row.manageDeptId
type: 'warning' this.ruleForm.let3 = row.appName
}).then(() => { this.ruleForm.let4 = row.buildType
const params = { this.ruleForm.let5 = row.buildOrg
appId: row.appId, this.ruleForm.let6 = row.projectManager
delFlag: 1 this.appId = row.appId
} this.$nextTick(() => {
editDeleteSystemInfoManageTable(params).then(res => { this.$refs.form.clearValidate()
if(res.code == 200) { })
this.get_table(); },
Message({ deleteItem(row) {
type: 'success', //删除
message: '删除成功!' MessageBox.confirm('确定删除?', '提示', {
}); confirmButtonText: '确定',
}else{ cancelButtonText: '取消',
Message({ customClass: 'messageClass',
type: 'error', confirmButtonClass: 'confirmClass',
message: res.msg type: 'warning',
}); })
} .then(() => {
}); const params = {
}).catch(() => { appId: row.appId,
Message({ delFlag: 1,
type: 'info', }
message: '已取消' editDeleteSystemInfoManageTable(params).then((res) => {
}); if (res.code == 200) {
}); this.get_table()
}, Message({
openAddDialog() {//打开新建系统窗口 type: 'success',
this.add_dialog = true; message: '删除成功!',
this.$nextTick(() => { })
this.$refs.form.resetFields(); } else {
this.ruleForm.let1 = null; Message({
this.ruleForm.let2 = null; type: 'error',
this.ruleForm.let3 = null; message: res.msg,
this.ruleForm.let4 = null; })
this.ruleForm.let5 = null; }
this.ruleForm.let6 = null; })
}); })
}, .catch(() => {
dialogOperation(type, data) { Message({
switch(type){ type: 'info',
case 'save': message: '已取消',
this.save_dialog(); })
break; })
case 3200: },
openAddDialog() {
break; //打开新建系统窗口
case 3840: this.add_dialog = true
this.$nextTick(() => {
break; this.$refs.form.resetFields()
case 7680: this.ruleForm.let1 = null
this.ruleForm.let2 = null
break; this.ruleForm.let3 = null
case 11200: this.ruleForm.let4 = null
this.ruleForm.let5 = null
break; this.ruleForm.let6 = null
} })
}, },
save_dialog() {//保存 dialogOperation(type, data) {
this.$refs.form.validate(valid => { switch (type) {
if(valid) { case 'save':
const params = { this.save_dialog()
manageOrgId: this.ruleForm.let1, break
manageDeptId: this.ruleForm.let2, case 3200:
appName: this.ruleForm.let3, break
buildType: this.ruleForm.let4, case 3840:
buildOrg: this.ruleForm.let5, break
projectManager: this.ruleForm.let6, case 7680:
}; break
const requestParams = this.dialogTitle == '新建系统' ? params : { ...params, appId: this.appId }; case 11200:
if(this.dialogTitle == '新建系统') { break
addasystemInfoManageTable(requestParams).then(res => { }
if(res.code == 200) { },
this.get_table(); save_dialog() {
this.add_dialog = false; //保存
Message({ this.$refs.form.validate((valid) => {
type: 'success', if (valid) {
message: '保存成功!' const params = {
}); manageOrgId: this.ruleForm.let1,
}else { manageDeptId: this.ruleForm.let2,
Message({ appName: this.ruleForm.let3,
type: 'error', buildType: this.ruleForm.let4,
message: res.msg buildOrg: this.ruleForm.let5,
}); projectManager: this.ruleForm.let6,
} }
}); const requestParams =
}else { this.dialogTitle == '新建系统'
editDeleteSystemInfoManageTable(requestParams).then(res => { ? params
if(res.code == 200) { : { ...params, appId: this.appId }
this.get_table(); if (this.dialogTitle == '新建系统') {
this.add_dialog = false; addasystemInfoManageTable(requestParams).then((res) => {
Message({ if (res.code == 200) {
type: 'success', this.get_table()
message: '保存成功!' this.add_dialog = false
}); Message({
}else { type: 'success',
Message({ message: '保存成功!',
type: 'error', })
message: res.msg } else {
}); Message({
} type: 'error',
}); message: res.msg,
} })
}else { }
return false; })
} } else {
}); editDeleteSystemInfoManageTable(requestParams).then((res) => {
}, if (res.code == 200) {
getJianSheLeiXingSelect() {//建设类型下拉 this.get_table()
const params = { this.add_dialog = false
key: "build_type" Message({
} type: 'success',
return new Promise((resolve, reject) => { message: '保存成功!',
getDianXingAnLiSelectData(params).then(res => { })
if(res.code == 200) { } else {
resolve(res.data); Message({
} type: 'error',
}) message: res.msg,
}) })
}, }
set_table_height() {//动态设置表格高度 })
const table_container_height = $(".table_container").height(); }
const search_menu_height = $(".search_menu").height(); } else {
const search_btn_height = $(".search_btn").outerHeight(true); return false
this.tableHeight = table_container_height - search_menu_height - search_btn_height - 90 + 'px'; }
}, })
search_table() {//搜索 },
this.pager.current = 1; getJianSheLeiXingSelect() {
this.get_table(); //建设类型下拉
}, const params = {
reset() {//重置 key: 'build_type',
this.searchParams.let1 = null; }
this.searchParams.let2 = null; return new Promise((resolve, reject) => {
this.searchParams.let3 = null; getDianXingAnLiSelectData(params).then((res) => {
this.searchParams.let4 = null; if (res.code == 200) {
}, resolve(res.data)
// 每页条数改变 }
handleSizeChange(val) { })
this.pager.current = 1; })
this.pager.size = val; },
this.get_table(); set_table_height() {
}, //动态设置表格高度
//当前页码改变 const table_container_height = $('.table_container').height()
handleCurrentChange(val) { const search_menu_height = $('.search_menu').height()
this.pager.current = val; const search_btn_height = $('.search_btn').outerHeight(true)
this.get_table(); this.tableHeight =
}, table_container_height -
get_table() {//查询表格数据 search_menu_height -
this.loading = true; search_btn_height -
const params = { 90 +
"manageOrgId": this.searchParams.let1, 'px'
"manageDeptId": this.searchParams.let2, },
"appName": this.searchParams.let3, search_table() {
"buildType": this.searchParams.let4, //搜索
"current": this.pager.current, this.pager.current = 1
"pageSize": this.pager.size, this.get_table()
}; },
querysystemInfoManageTable(params).then(res => { reset() {
if(res.code == 200) { //重置
this.loading = false; this.searchParams.let1 = null
this.tableData = res.data.records; this.searchParams.let2 = null
this.pager.current = res.data.current; this.searchParams.let3 = null
this.pager.total = res.data.total; this.searchParams.let4 = null
this.pager.size = res.data.size; },
} // 每页条数改变
// res.records.map(item => { handleSizeChange(val) {
// const startTime_year = String(new Date(item.startTime).getFullYear()); this.pager.current = 1
// const startTime_month = String(new Date(item.startTime).getMonth() + 1); this.pager.size = val
// let startTime_day = String(new Date(item.startTime).getDay()); this.get_table()
// startTime_day = startTime_day.length == 1 ? '0' + startTime_day : startTime_day; },
//当前页码改变
handleCurrentChange(val) {
this.pager.current = val
this.get_table()
},
get_table() {
//查询表格数据
this.loading = true
const params = {
manageOrgId: this.searchParams.let1,
manageDeptId: this.searchParams.let2,
appName: this.searchParams.let3,
buildType: this.searchParams.let4,
current: this.pager.current,
pageSize: this.pager.size,
}
querysystemInfoManageTable(params).then((res) => {
if (res.code == 200) {
this.loading = false
this.tableData = res.data.records
this.pager.current = res.data.current
this.pager.total = res.data.total
this.pager.size = res.data.size
}
// res.records.map(item => {
// const startTime_year = String(new Date(item.startTime).getFullYear());
// const startTime_month = String(new Date(item.startTime).getMonth() + 1);
// let startTime_day = String(new Date(item.startTime).getDay());
// startTime_day = startTime_day.length == 1 ? '0' + startTime_day : startTime_day;
// item['startTime_'] = startTime_year + '-' + startTime_month + '-' + startTime_day; // item['startTime_'] = startTime_year + '-' + startTime_month + '-' + startTime_day;
// }); // });
// this.getJianSheLeiXingSelect().then(res2 => { // this.getJianSheLeiXingSelect().then(res2 => {
// res.records.map(item3 => { // res.records.map(item3 => {
// let result1 = res2.find(item2 => item2.value == item3.conformCount); // let result1 = res2.find(item2 => item2.value == item3.conformCount);
// item3['conformCount_'] = result1 ? result1.label : ''; // item3['conformCount_'] = result1 ? result1.label : '';
// }); // });
// this.tableData = res.records; // this.tableData = res.records;
// }) // })
// this.tableData = res.records; // this.tableData = res.records;
// this.pager.current = res.current; // this.pager.current = res.current;
// this.pager.total = res.total; // this.pager.total = res.total;
// this.pager.size = res.size; // this.pager.size = res.size;
}); })
}, },
} },
} }
</script> </script>
<style> <style>
.confirmClass{ .confirmClass {
background-color: #0D867F !important; background-color: #0d867f !important;
} }
.el-message-box__content{ .el-message-box__content {
padding: 60px 15px 60px 15px; padding: 60px 15px 60px 15px;
} }
</style>
<style scoped lang="scss">
/deep/ .el-form-item__label {
width: 100px;
}
.version_btn {
display: flex;
align-items: center;
justify-content: center;
width: 84px;
height: 32px;
background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0d867f;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn {
display: flex;
align-items: center;
justify-content: center;
width: 104px;
height: 32px;
background: rgba(13, 134, 127, 0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0d867f;
cursor: pointer;
margin-left: 15px;
}
.systemInfoManage {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.el-button--primary {
background: rgba(13, 134, 127, 0.1);
color: #0d867f;
border: 0;
}
/deep/ .el-input-group__append {
background-color: #0d867f;
color: #fff;
cursor: pointer;
}
.search_btn {
width: 100%;
display: flex;
margin-top: 50px;
margin-bottom: 20px;
}
.search_menu {
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
.search_menu_item_container {
display: flex;
align-items: center;
}
.search_menu_btn_container {
display: flex;
align-items: center;
}
.search_menu_item {
display: flex;
align-items: center;
width: 344px;
}
.search_title {
/* width: 20%; */
flex-shrink: 0;
margin-right: 15px;
}
.search_item {
width: 60%;
}
.query_btn {
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(13, 134, 127, 1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #0d867f;
font-size: 14px;
color: #fff;
margin-right: 10px;
cursor: pointer;
}
.shanChu_btn {
color: #dd6a15;
background-color: #f8ebe2;
}
.reset_btn {
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(244, 244, 244, 1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #ccc;
font-size: 14px;
color: #666;
cursor: pointer;
}
.btn_icon {
margin-right: 10px;
}
.table_container {
width: 97%;
height: calc(100% - 40px);
margin-top: 20px;
}
.el-pagination {
margin-top: 30px;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #0d867f;
}
/deep/ .el-dialog__header {
background-color: #0d867f;
text-align: left;
}
/deep/ .el-dialog__title {
color: #fff;
}
/deep/ .el-dialog__close {
color: #fff;
}
.greenButton {
background-color: #0d867f;
color: #fff;
}
.el-form-item {
display: flex;
align-items: center;
width: 33%;
}
</style> </style>
<style scoped>
/deep/ .el-form-item__label{
width: 100px;
}
.version_btn{
display: flex;
align-items: center;
justify-content: center;
width: 84px;
height: 32px;
background: rgba(13,134,127,0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.cancel_version_btn{
display: flex;
align-items: center;
justify-content: center;
width: 104px;
height: 32px;
background: rgba(13,134,127,0.1);
border-radius: 6px 6px 6px 6px;
/* border: 1px solid #0D867F; */
font-size: 14px;
color: #0D867F;
cursor: pointer;
margin-left: 15px;
}
.systemInfoManage{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.el-button--primary{
background: rgba(13,134,127,0.1);
color: #0D867F;
border: 0;
}
/deep/ .el-input-group__append{
background-color: #0D867F;
color: #fff;
cursor: pointer;
}
.search_btn{
width: 100%;
display: flex;
margin-top: 50px;
margin-bottom: 20px;
}
.search_menu{
display: flex;
justify-content: space-between;
margin-bottom: 50px;
}
.search_menu_item_container{
display: flex;
align-items: center;
}
.search_menu_btn_container{
display: flex;
align-items: center;
}
.search_menu_item{
display: flex;
align-items: center;
width: 344px;
}
.search_title{
/* width: 20%; */
flex-shrink: 0;
margin-right: 15px;
}
.search_item{
width: 60%;
}
.query_btn{
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(13,134,127,1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #0D867F;
font-size: 14px;
color: #fff;
margin-right: 10px;
cursor: pointer;
}
.shanChu_btn{
color: #DD6A15;
background-color: #F8EBE2;
}
.reset_btn{
display: flex;
align-items: center;
justify-content: center;
width: 76px;
height: 32px;
background: rgba(244,244,244,1);
border-radius: 6px 6px 6px 6px;
border: 1px solid #ccc;
font-size: 14px;
color: #666;
cursor: pointer;
}
.btn_icon{
margin-right: 10px;
}
.table_container{
width: 97%;
height: calc(100% - 40px);
margin-top: 20px;
}
.el-pagination{
margin-top: 30px;
}
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active{
background-color: #0D867F;
}
/deep/ .el-dialog__header{
background-color: #0D867F;
text-align: left;
}
/deep/ .el-dialog__title{
color: #fff;
}
/deep/ .el-dialog__close {
color: #fff;
}
.greenButton{
background-color: #0D867F;
color: #fff;
}
.el-form-item{
display: flex;
align-items: center;
width: 33%;
}
</style>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!