Commit 0c3cb633 by liangzhen

字典

1 parent 40fd3ee1
......@@ -19,6 +19,7 @@
"scss": "^0.2.4",
"vue": "^2.6.14",
"vue-cli": "^2.9.6",
"vue-i18n": "^8.27.0",
"vue-router": "^3.5.1",
"vuex": "^3.6.2",
"xlsx": "^0.18.5"
......@@ -14232,6 +14233,11 @@
"dev": true,
"license": "MIT"
},
"node_modules/vue-i18n": {
"version": "8.27.0",
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.27.0.tgz",
"integrity": "sha512-SX35iJHL5PJ4Gfh0Mo/q0shyHiI2V6Zkh51c+k8E9O1RKv5BQyYrCxRzpvPrsIOJEnLaeiovet3dsUB0e/kDzw=="
},
"node_modules/vue-loader": {
"version": "17.4.2",
"dev": true,
......@@ -24060,6 +24066,11 @@
"version": "2.3.4",
"dev": true
},
"vue-i18n": {
"version": "8.27.0",
"resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.27.0.tgz",
"integrity": "sha512-SX35iJHL5PJ4Gfh0Mo/q0shyHiI2V6Zkh51c+k8E9O1RKv5BQyYrCxRzpvPrsIOJEnLaeiovet3dsUB0e/kDzw=="
},
"vue-loader": {
"version": "17.4.2",
"dev": true,
......
......@@ -18,6 +18,7 @@
"scss": "^0.2.4",
"vue": "^2.6.14",
"vue-cli": "^2.9.6",
"vue-i18n": "^8.27.0",
"vue-router": "^3.5.1",
"vuex": "^3.6.2",
"xlsx": "^0.18.5"
......
......@@ -21,9 +21,5 @@ export const artPolicyExamineAdd = FRAMEWORK_ASSERT + '/kl-tech-policy/'
// 审查 查询
export const examineSearch = FRAMEWORK_ASSERT + '/klTechPolicyCheck/qu'
// 字典管理
export const dictionarySearch = FRAMEWORK_ASSERT + '/dict/'
// 维护 查询
export const dictionaryMaintenanceSearch = FRAMEWORK_ASSERT + '/dictDetail/'
......@@ -445,7 +445,7 @@ export function queryGuanLianZiChanSelect(params) {
}
// 日志管理,列表
export function queryLogManageTable(params) {
return post(ARCH_MANAGE + '/sysEventLog/', params)
return post(ARCH_MANAGE + '/sysEventLog/page', params)
}
// 日志管理,存储上限
export function queryLogManageStorageUpper(params) {
......
......@@ -94,3 +94,74 @@ export function roleBatchDelete(params) {
export function roleEnableOrUnEnable(params) {
return post(`${ARCH_MANAGE}/role/enableOrUnEnable/`, params)
}
//架构多为分析模块
export function getFrameworkSecondByTEC(params) {
return post(`${JGDWFX}/show/second/getFrameworkSecondByTEC`, params)
}
//业务域表格数据
export function getCurrentBusTable(params) {
return post(`${JGDWFX}/charts/getCurrentBusTable`, params)
}
//业务域统计图
export function getCurrentBusCharts(params) {
return post(`${JGDWFX}/charts/getCurrentBusCharts`, params)
}
//应用统计图
export function getCurrentAppCharts(params) {
return post(`${JGDWFX}/charts/getCurrentAppCharts`, params)
}
//应用表格数据
export function getCurrentAppTable(params) {
return post(`${JGDWFX}/charts/getCurrentAppTable`, params)
}
//业务支撑度统计图
export function getCurrentZcdCharts(params) {
return post(`${JGDWFX}/charts/getCurrentZcdCharts`, params)
}
//业务支撑度表格数据
export function getCurrentZcdTable(params) {
return post(`${JGDWFX}/charts/getCurrentZcdTable`, params)
}
//字典管理
// 查询数据字典管理获取列表数据
export function getDataDictionaryList(params) {
return post(`${ARCH_MANAGE}/dict/`, params)
}
// 新建数据字典数据
export function newlyDataDictionary(params) {
return post(`${ARCH_MANAGE}/dict/create`, params)
}
// 修改数据字典数据
export function modifyDataDictionary(params) {
return post(`${ARCH_MANAGE}/dict/update`, params)
}
// 根据id查询数据字典详情 回显修改数据
export function getDataDictionaryDetailById(params) {
return post(`${ARCH_MANAGE}/dictDetail/details`, params)
}
// 改变数据字典禁用启用状态
export function changeDataDictionaryState(params) {
return post(`${ARCH_MANAGE}/dict/delete`, params)
}
// 查询数据字典详情列表数据
export function getDataDictionaryDetailList(params) {
return post(`${ARCH_MANAGE}/dictDetail/`, params)
}
// 新建数据字典详情
export function newlyDataDictionaryDetail(params) {
return post(`${ARCH_MANAGE}/dictDetail/create`, params)
}
// 修改 数据字典详情
export function modifyDataDictionaryDetail(params) {
return post(`${ARCH_MANAGE}/dictDetail/update`, params)
}
import Vue from 'vue'
import ElementUI from 'element-ui'
import locale from 'element-ui/lib/locale';
import VueI18n from 'vue-i18n'
import messages from './langs'
Vue.use(VueI18n)
//从localStorage中拿到用户的语言选择,如果没有,那默认中文。
const i18n = new VueI18n({
locale: localStorage.getItem('locale') || 'cn',
messages
})
locale.i18n((key, value) => i18n.t(key, value))
export default i18n
\ No newline at end of file
import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
const cn = {
menu: {
'chinese':'中文',
'english':'英文',
'personalCenter':'个人中心',
'homepage':'数据概览',
'bookingManagement':'预约管理',
},
home:{
'dataOverview':'预约数据概览',
'currentStatistics':'当前系统用户统计'
},
message: {
'hello': '你好,世界',
'msg': '提示',
},
myel:{
'lastWeek':'最近一周',
'lastMonth':'最近一个月',
'lastThreeMonths':'最近三个月',
},
...zhLocale
}
export default cn;
import enLocale from 'element-ui/lib/locale/lang/en'
const en = {
menu: {
'chinese':'chinese',
'english':'english',
'personalCenter':'Personal Center',
'homepage':'Data overview',
'bookingManagement':'booking management',
},
home:{
'dataOverview':'Appointment data overview',
'currentStatistics':'Current statistics'
},
message: {
'hello': 'hello, world',
'msg': 'point out',
},
myel:{
'lastWeek':'Last week',
'lastMonth':'Last month',
'lastThreeMonths':'Last three months',
},
...enLocale
}
export default en;
import en from './en';
import cn from './cn';
export default {
en: en,
cn: cn
}
\ No newline at end of file
......@@ -10,6 +10,7 @@ import './styles/common.scss'
import initDirective from './directive'
import './icons' // icon
import { postRequest, postRequestShared } from '@/api/index'
import i18n from './i18n/i18n.js';
initDirective(Vue)
Vue.prototype.$echarts = echarts
......@@ -53,6 +54,7 @@ Vue.component('my-dialog', myDialog)
import myDialog1 from './components/common/dialog.vue'
Vue.component('my-dialog1', myDialog1)
new Vue({
i18n,
router,
store,
render: (h) => h(App),
......
......@@ -348,11 +348,11 @@ export const routes = [
name: "personnel",
component: () => import("@/views/system/personnel/index.vue"),
},
// {
// path: '/main/organization',
// meta: { title: "组织管理" },
// component: () => import("@/views/system/organization/index.vue"),
// },
{
path: '/main/dictionary',
meta: { title: "字典管理" },
component: () => import("@/views/system/dictionary/index.vue"),
},
{
path: '/main/roleAdmin',
meta: { title: "角色管理" },
......
......@@ -179,9 +179,19 @@ export const menuOptions = [
//新建的
{
name: '系统功能',
width: '700',
width: '1000',
children: [
{
name: '字典管理',
children: [
{
name: '字典管理',
path: '/main/dictionary',
},
],
},
{
name: '用户与组织管理',
children: [
{
......
......@@ -2136,7 +2136,7 @@ export default {
}
.filter-tree {
width: 300px;
// width: 300px;
height: 100%;
overflow-y: auto;
}
......@@ -2225,6 +2225,7 @@ export default {
> .el-tree-node__content {
background-color: #0d867f;
color: #fff;
box-sizing: border-box;
}
/deep/
......@@ -2240,7 +2241,7 @@ export default {
}
.left_container {
width: 20%;
width: 15%;
margin-right: 20px;
}
......
......@@ -245,7 +245,6 @@
getCurrentAppTable,
getCurrentZcdCharts,
getCurrentZcdTable,
addLog
} from "@/api/index.js";
export default {
mixins: [mixins],
......@@ -362,12 +361,6 @@
let type = val.dataIndex + 1;
this.params.appType = type + "";
this.getCurrentAppTable();
addLog({
eventtype: "1", //事件类型
eventcontent: this.$route.meta.title, //事件内容
logtype: "0", //日志类型
loglev: "0" //日志级别
});
},
getCurrentBusChartClick(val) {
......@@ -698,8 +691,10 @@
.btn-wrap {
display: flex;
align-items: center;
margin-bottom: 10px;
.iptx {
width: 250px;
margin-right: 15px;
}
.el-button {
margin-right: 0 !important;
......@@ -714,6 +709,7 @@
@import '@/styles/common.scss';
.box-wrap {
width: 100%;
overflow-y: auto;
.left-box {
.add-row{
font-size: $com_fontSize;
......
......@@ -35,7 +35,7 @@
</div>
<div style="margin-bottom:10px;display:flex; margin-left: 20px">
<label class="form-label">资产名称</label>
<label class="form-label" style="margin-top:3px;">资产名称</label>
<div class="tree-div" @click="openTree()" >
<div class="checkedName">{{checkedName}}</div>
<i class="el-icon-arrow-down" style="position: absolute;right: 12px;top: 10px;color: #b6c2d1;" ></i>
......@@ -577,6 +577,9 @@
}
}
}
.form-label{
margin: 0 10px
}
</style>
......
<template>
<div class="main-wrap wrap-detail">
<!-- 搜索 操作按钮 -->
<div class="btn-wrap">
<label class="form-label">字典名称</label>
<el-input
class="iptx"
v-model="params.name"
placeholder="输入搜索条件"
maxlength="30"
show-word-limit
:value="params.name"
@input="e => params.name = validForbid (e)"
></el-input>
<label class="form-label">字典标识</label>
<el-input
class="iptx"
v-model="params.typeValue"
placeholder="输入搜索条件"
maxlength="30"
show-word-limit
:value="params.typeValue"
@input="e => params.typeValue = validForbid (e)"
></el-input>
<label class="form-label">启用状态</label>
<el-select v-model="params.delFlag" placeholder="请选择" :clearable="true">
<el-option
v-for="(item,index) in enableStatus"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-button
type="primary"
size="mini"
style="margin-right: auto;"
@click="queryDataDictionaryList"
v-if="btnControl('system-dataDictionary_queryBar_query', btn_authControl)"
>查询</el-button>
<div class="rightBtn">
<el-button
type="success"
@click="operationEvent('add')"
v-if="btnControl('system-dataDictionary_queryBar_add', btn_authControl)"
>
<i class="el-icon-circle-plus-outline"></i>新建
</el-button>
<!-- <el-button type="primary" @click="operationEvent('submit')">
<i class="el-icon-circle-plus-outline"></i>提交
</el-button>-->
</div>
</div>
<!-- 表格 -->
<div class="table-wrap" ref="tableWrap">
<div class="content-box">
<!-- 右边表格 -->
<div class="right-table">
<el-table
border
style="width: 100%;height: calc(100% - 100px);overflow-y: hidden;border: none;"
:data="tableData"
@selection-change="handleSelectionChange"
height="calc(100% - 100px)"
:row-class-name="tableRowClassName"
:header-cell-style="{background:'#c0ebe4',color:'#0c554a', textAlign: 'center'}"
:cell-style= "{textAlign: 'center'}"
>
<el-table-column type="selection" width="40" align="center"></el-table-column>
<el-table-column type="index" width="50" label="序号" align="center"></el-table-column>
<el-table-column prop="name" label="字典名称"></el-table-column>
<el-table-column prop="typeValue" label="字典标识"></el-table-column>
<el-table-column prop="remark" label="描述"></el-table-column>
<el-table-column prop="sort" label="排序" width="70"></el-table-column>
<el-table-column prop="delFlagN" label="启用状态" width="90"></el-table-column>
<el-table-column prop="createTime" label="创建日期" width="110"></el-table-column>
<el-table-column prop="createMan" label="创建人">
<template slot-scope="scope">
{{scope.row.createMan? scope.row.createMan:'---'}}
</template>
</el-table-column>
<el-table-column prop="lastUpdateTime" label="最终修改时间">
<template slot-scope="scope">
{{scope.row.lastUpdateTime? scope.row.lastUpdateTime:'---'}}
</template>
</el-table-column>
<el-table-column prop="lastUpdateMan" label="最终修改人">
<template slot-scope="scope">
{{scope.row.lastUpdateMan? scope.row.lastUpdateMan:'---'}}
</template>
</el-table-column>
<el-table-column fixed="right" prop="conduct" label="操作" width="270">
<template slot-scope="scope">
<el-button type="primary" plain @click="operationEvent('edit',scope.row)" v-if="btnControl('system-dataDictionary_table_edit', btn_authControl)" >
<i class="el-icon-edit"></i>编辑
</el-button>
<el-button type="primary" plain @click="operationEvent('maintain',scope.row)" v-if="btnControl('system-dataDictionary_table_maintain', btn_authControl)" >
<i class="el-icon-data-analysis"></i>维护
</el-button>
<el-button type="primary" plain @click="operationEvent('onDelFlag',scope.row)" v-if="btnControl('system-dataDictionary_table_useState', btn_authControl)" >
<i class="el-icon-chat-dot-round"></i>
{{scope.row.delFlag==0?'禁用':'启用'}}
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<div class="page-wrap">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="page.current"
:page-sizes="page.sizes"
:page-size="page.size"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total"
></el-pagination>
</div>
</div>
</div>
</div>
<!-- 新建+编辑11 -->
<div class="add-dialog">
<my-dialog1
:title="dialogTitle"
autoClose
@dialogConfirm="dialogConfirm"
ref="dialogVisible"
width="560px"
height="60%"
:open="newly_edit"
@close="newly_edit = false"
>
<div class="my-dialog-body">
<div class="dialog-box system-function">
<div class="iptMode">
<div class="form-item">
<div class="form-item-inline">
<label class="form-label">字典名称</label>
<el-input
class="el_ipt"
v-model="formData.name"
placeholder="请填写字典名称"
maxlength="30"
show-word-limit
:value="formData.name"
@input="e => formData.name = validForbid (e)"
></el-input>
</div>
<div class="form-item-inline">
<label class="form-label">字典标识</label>
<el-input
class="el_ipt"
v-model="formData.typeValue"
placeholder="请填写字典标识"
maxlength="30"
show-word-limit
:value="formData.typeValue"
@input="e => formData.typeValue = validForbid (e)"
></el-input>
</div>
<div class="form-item-inline">
<label class="form-label">启用状态</label>
<el-select class="el_select" v-model="formData.delFlag" placeholder="请选择">
<el-option
v-for="item in enableStatus"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<div class="form-item-inline">
<label class="form-label">排序</label>
<el-input
class="el_ipt"
v-model="formData.sort"
placeholder="请填写排序(默认请填0)"
maxlength="30"
show-word-limit
:value="formData.sort"
@input="e => formData.sort = validForbid (e)"
></el-input>
</div>
</div>
<div class="form-item">
<div class="form-item-inline">
<label class="form-label">描述</label>
<el-input
class="el_textarea"
type="textarea"
:autosize="{ minRows: 8, maxRows: 8}"
placeholder="请输入审核意见"
v-model="formData.remark"
maxlength="400"
show-word-limit
></el-input>
</div>
</div>
</div>
</div>
</div>
</my-dialog1>
</div>
<div class="add-dialog">
<my-dialog1
:title="dialogTitle"
autoClose
@dialogConfirm="dialogConfirm('dataDetails')"
ref="dialogVisible"
width="50%"
:open="newly_edit2"
@close="newly_edit2 = false"
>
<div class="my-dialog-body">
<div class="dialog-box system-function">
<div class="iptMode">
<div class="form-item">
<div class="form-item-inline">
<label class="form-label">字典值</label>
<el-input
class="el_ipt"
v-model="formData2.value"
placeholder="请填写字典值"
maxlength="30"
show-word-limit
:value="formData2.value"
@input="e => formData2.value"
></el-input>
</div>
<div class="form-item-inline">
<label class="form-label">字典值描述</label>
<el-input
class="el_ipt"
v-model="formData2.label"
placeholder="请填写字典值描述"
maxlength="30"
show-word-limit
:value="formData2.label"
@input="e => formData2.label = validForbid (e)"
></el-input>
</div>
<div class="form-item-inline">
<label class="form-label">等级</label>
<el-input
class="el_ipt"
v-model="formData2.grade"
placeholder="请填写等级"
maxlength="30"
show-word-limit
:value="formData2.grade"
@input="e => formData2.grade = validForbid (e)"
></el-input>
</div>
<div class="form-item-inline">
<label class="form-label">排序</label>
<el-input
class="el_ipt"
v-model="formData2.sort"
placeholder="请填写排序"
maxlength="30"
show-word-limit
:value="formData2.sort"
@input="e => formData2.sort = validForbid (e)"
></el-input>
</div>
<div class="form-item-inline">
<label class="form-label">启用状态</label>
<el-select class="el_select" v-model="formData2.flag" placeholder="请选择">
<el-option
v-for="item in enableStatus"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
</div>
<div class="form-item">
<div class="form-item-inline">
<label class="form-label">描述</label>
<el-input
class="el_textarea"
type="textarea"
:autosize="{ minRows: 8, maxRows: 8}"
placeholder="请输入审核意见"
v-model="formData2.remark"
maxlength="400"
show-word-limit
></el-input>
</div>
</div>
</div>
</div>
</div>
</my-dialog1>
</div>
<my-dialog1
title="维护"
@dialogConfirm="dialogConfirm('maintain')"
ref="dialogVisibleMoney"
autoClose
:open="maintainMask"
:zIndexMain="maintainMask_layer"
:zIndexMask="maintainMask_mask"
:isFooterCancal="isFooterCancal"
:isFooter="false"
@close="maintainMask=false"
@saveDialog="dialogConfirm('submit','save')"
>
<div class="my-dialog-body">
<div class="dialog-box system-function">
<div class="iptMode">
<!-- 搜索 操作按钮 -->
<div class="btn-wrap">
<label class="form-label">字典值</label>
<el-input
v-model="params2.label"
placeholder="输入搜索条件"
maxlength="30"
show-word-limit
:value="params2.label"
@input="e => params2.label = validForbid (e)"
></el-input>
<label class="form-label">启用状态</label>
<el-select v-model="params2.flag" placeholder="请选择" :clearable="true">
<el-option
v-for="(item,index) in enableStatus"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-button
type="primary"
size="mini"
style="margin-right: auto;"
@click="layerQueryList"
>查询</el-button>
<el-button type="success" @click="operationEvent('add2')">
<i class="el-icon-circle-plus-outline"></i>新建
</el-button>
</div>
<!-- 右边表格 -->
<div class="right-table">
<el-table
border
:data="tableData2"
@selection-change="handleSelectionChange"
:row-class-name="tableRowClassName"
:header-cell-style="{background:'#c0ebe4',color:'#0c554a', textAlign: 'center'}"
>
<el-table-column type="selection" width="40" align="center"></el-table-column>
<el-table-column type="index" width="50" label="序号" align="center"></el-table-column>
<el-table-column prop="label" label="字典值描述"></el-table-column>
<el-table-column prop="value" label="字典值"></el-table-column>
<el-table-column prop="grade" label="等级"></el-table-column>
<el-table-column prop="sort" label="排序"></el-table-column>
<el-table-column prop="flag" label="启用状态"></el-table-column>
<el-table-column prop="remark" label="描述"></el-table-column>
<el-table-column fixed="right" prop="conduct" label="操作" width="450">
<template slot-scope="scope">
<!-- <el-button type="primary" plain @click="operationEvent('export',scope.row)">
<i class="el-icon-view"></i>预览
</el-button>-->
<!-- <el-button type="primary" plain @click="operationEvent('exportWord',scope.row)">
<i class="el-icon-document"></i>导出
</el-button>-->
<el-button type="primary" plain @click="operationEvent('editDetail',scope.row)">
<i class="el-icon-edit"></i>修改
</el-button>
<el-button type="primary" plain @click="operationEvent('onDelFlag2',scope.row)">
<i class="el-icon-chat-dot-round"></i>
{{scope.row.delFlag==0?'禁用':'启用'}}
</el-button>
<!-- <el-button type="primary" plain @click="operationEvent('delete',scope.row)">
<i class="el-icon-delete"></i>删除
</el-button>-->
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<!-- <div class="page-wrap">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="page.current"
:page-sizes="page.sizes"
:page-size="page.size"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total"
></el-pagination>
</div>-->
</div>
</div>
</div>
</div>
</my-dialog1>
<!-- 查看可研详情组件("架构管控->项目可研管理->项目可研审批",点击table中的可研名称查看详情) -->
<!-- <see-detail ref="seeDetail" refClass="seeDetail"></see-detail> -->
<!-- <countersign ref="countersign" refClass="countersign" :visible.sync="isShow" @updateListA="updateListB" ></countersign> -->
<!-- 回复评审组件 -->
<!-- <reply ref="reply" refClass="reply"></reply> -->
<!-- <exportword ref="exportword" refClass="exportword"></exportword> -->
<!-- 可研编制弹窗 "架构管控->项目可研管理->项目可研编制" -->
<!-- <edit ref="edit" refClass="edit"></edit> -->
</div>
</template>
<script>
import mixins from "@/common/mixins/common.js";
import { dateFormart } from "@/utils/dateFormat";
import VueUeditorWrap from "@/components/common/VueUeditorWrap.vue";
import {
getDataDictionaryList,
newlyDataDictionary,
changeDataDictionaryState,
modifyDataDictionary,
getDataDictionaryDetailList,
newlyDataDictionaryDetail,
getDataDictionaryDetailById,
modifyDataDictionaryDetail
} from "@/api/index.js";
export default {
mixins: [mixins],
components: {
// titleBar,
// searchBar,
VueUeditorWrap
},
data() {
return {
btn_authControl: [], // 需要权限的按钮
// 数据字典data
// delFlag_flag: false, // 子节点启禁用标识
isEdit: 0, // 新建&修改标识,0=数据字典新建,1=数据字典修改,2=数据字典详情新建,3=数据字典详情修改
enableStatus: [
{ label: "是", value: 0 },
{ label: "否", value: 1 }
],
params: {
current: 1, //当前页
pageSize: 10, //每页显示条数
name: "", // 字典名称
typeValue: "", // 字典标识
delFlag: "" // 启用状态
}, // 查询条件
params2: {
dictId: "",
label: "", // 字典值
flag: "" // 启用状态
}, // 数据字典详情查询条件
formData: {
id: "",
name: "", // 字典名称
typeValue: "", // 字典标识
delFlag: "", // 启用状态
sort: "", // 排序
remark: "" // 描述
},
formData2: {
id: "", // 主键ID
label: "", // 字典名称
value: "", // 字典值
grade: "", // 等级
flag: "", // 启用状态
remark: "" // 描述
},
// valChecked: {
// name: "未填写字典名称", // 字典名称
// typeValue: "未填写字典标识", // 字典标识
// // delFlag: "未选择启用状态", // 启用状态
// sort: "未填写排序", // 排序
// remark: "未填写描述" // 描述
// }, // 校验
tableData: [],
tableData2: [],
dataDictionaryDetailId: "",
// data_end
openRuleDialog: false,
zIndexMain1: 90,
zIndexMask1: 89,
// zIndexMain: 88,
// zIndexMask: 87,
maintainMask_layer: 88,
maintainMask_mask: 87,
isFooterCancal: false,
maintainMask: false,
isFooter: false,
newly_edit: false,
newly_edit2: false,
open2: false,
isShow: false,
did: "",
type: "0",
leaderId: "",
leaderName: "",
leaderDept: "",
batch: "",
data: [],
value: [],
filterMethod(query, item) {
return item.name.indexOf(query) > -1;
},
dialogTitle: "新增可研",
orgDefaultProps: {
children: "children",
label: "orgName",
value: "orgId"
},
contentFormData: {
cid: "",
caId: "",
content: "",
type: "",
state: "",
version: "",
tableContents: []
},
// orgSelectedOptions: [], //所属单位选中数据
auditText: "", //审核意见
auditState: "",
auditFsrId: "",
// fileList: [], //附件列表
// uploadData: {
// typeCode: "FSR_PROJECT" //上传类型
// },
// prjTypeDictLabels: [], //项目类别下拉框
proTaskTypeDictLabels: [],
demandLabels: [],
// stateDictLabels: [], //项目状态下拉框
// proPropDictLabels: [], //项目性质下拉框
// proSourceDictLabels: [], //项目来源下拉框
// proTypeDictLabels: [], //项目来源下拉框
// proNumDictLabels: [], //项目期号下拉框
// positionDictLabels: [], //部署下拉框
// deptList: [], //所属单位下拉
dictLabels: [],
editField: "",
// searchDate: [],
psrPlanDatas: [], //关联规划
directoryTreeData: [],
// defaultProps: {
// //目录树配置
// children: "children",
// label: "title",
// value: "caId",
// type: "type"
// },
// systemList: [], //选择系统数据
// systemSelectList: [], //已有系统下拉数据
orgSelectList: [], //所属单位下拉
dialogTitlePsrPlan: "关联规划", //关联规划弹窗名称
currentNodeKey: "", //默认选中第一个
directoryType: "", //目录输入类型
selectedList: [], //列表选中的数据
showButton: true, //是否显示保存按钮
psrPlanSelectList: [], //关联规划列表选择的数组
psrPlanPage: {
current: 1,
sizes: [10, 20, 50, 100, 200],
size: 10,
total: 0 //总条数
},
// paramsPsrPlan: {
// //关联规划查询参数
// current: 1, //当前页
// pageSize: 10, //每页显示条数
// name: "",
// state: "3"
// },
psrPlanDirectory: "", //关联规划对应的目录
tableDataPsrPlan: [], //规划列表数据
directorySelect: [], //规划关联的目录
psrTypeTreeData: [],
psrTypeDefaultProps: {
children: "children",
label: "name",
value: "tId"
},
nodeData: {},
tooltipDisableFlag: false,
popoverContent: "",
// config: {
// //可以在此处定义工具栏的内容
// /*toolbars: [
// ['undo', 'redo','|','bold', 'italic', 'underline',
// '|','superscript','subscript','|', 'insertorderedlist', 'insertunorderedlist',
// '|','fontfamily','fontsize','justifyleft','justifyright','justifycenter','justifyjustify']
// ],*/
// autoHeightEnabled: false,
// autoFloatEnabled: true,
// //initialContent:'请输入内容', //初始化编辑器的内容,也可以通过textarea/script给值,看官网例子
// autoClearinitialContent: true, //是否自动清除编辑器初始内容,注意:如果focus属性设置为true,这个也为真,那么编辑器一上来就会触发导致初始化的内容看不到了
// initialFrameWidth: null,
// initialFrameHeight: 370,
// BaseUrl: "",
// UEDITOR_HOME_URL: "ueditor/"
// },
richTextvalue: "",
editorId: "editor",
messageStr: "",
checkSys: false,
pickerOptions: {
shortcuts: [
{
text: this.$t("myel.lastWeek"),
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
}
},
{
text: this.$t("myel.lastMonth"),
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
}
},
{
text: this.$t("myel.lastThreeMonths"),
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
}
}
]
}
};
},
watch: {
countersign: function(v) {}
},
filters: {},
mounted() {
this.getList();
// this.getPrjTypeDictLabels();
// this.getDemandListLabels();
// this.getProTaskTypeLabels();
// this.getStateDictLabels();
// this.getPositionDictLabels();
if (window.localStorage.getItem("userDto") != null) {
var userStr = window.localStorage.getItem("userDto");
var user = JSON.parse(userStr);
this.leaderId = user.iscUserId;
this.leaderName = user.name;
this.leaderDept = user.org.orgName;
}
},
created() {
let _this = this;
},
methods: {
//
proSeelctChange() {
this.popCss();
},
demandSeelctChange(e) {
var obj = {};
obj = this.demandLabels.find(function(item) {
return item.id === e;
});
this.formData.demandName = obj.name;
this.formData.proTaskType = obj.proTaskType;
this.formData.position = obj.position;
this.formData.proSource = obj.proSource;
},
// close(val) {
// this.newly_edit = val;
// },
//根据各类型费用计算总费用
changeCost() {
this.formData.totalCost =
Number(this.formData.engCost) +
Number(this.formData.sysIntegrateCost) +
Number(this.formData.hardCost) +
Number(this.formData.consultCost) +
Number(this.formData.sysDesignCost) +
Number(this.formData.sysImplCost) +
Number(this.formData.sysIntegrateImplCost) +
Number(this.formData.softCost) +
Number(this.formData.otherCost);
},
// 隔行变色(可指定行类名)
tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) {
return "base-row";
} else {
return "even-row";
}
},
//获取当前年月
getCurrentYearMonth() {
var date = new Date();
let year = date.getFullYear();
let month = parseInt(date.getMonth() + 1);
if (month < 10) {
month = "0" + month;
}
return year + "-" + month;
},
//
updateListB() {
this.getList();
},
// 加载查询数据list
getList() {
let result = "1";
// if (this.searchDate) {
// this.params.startTime = this.searchDate[0];
// this.params.endTime = this.searchDate[1];
// } else {
// this.params.startTime = "";
// this.params.endTime = "";
// }
getDataDictionaryList(this.params).then(res => {
if (res.code == 200) {
this.page.total = res.data.total;
this.tableData = res.data.records;
} else {
result = "0";
}
var now = new Date();
addLog({
eventtype: "1", //事件类型
result: result,
eventcontent: this.$route.meta.title+"查询", //事件内容
logtype: "0", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
});
},
// 查询 数据字典 列表数据
queryDataDictionaryList() {
// this.checkQuery()
this.getList();
},
// 查询 数据字典详情 列表数据
layerQueryList() {
// this.checkQuery()
this.getList2(this.dataDictionaryDetailId);
},
// 加载数据字典详情列表数据
getList2(id) {
const _this = this;
this.params2.dictId = id;
getDataDictionaryDetailList(this.params2).then(res => {
if (res.code == 200) {
// _this.page.total = res.data.total;
_this.tableData2 = res.data;
}
});
},
// ???
popCss() {
setTimeout(() => {
$(".busines-input input,.busines-input .el-input ").css(
"width",
"760px"
);
}, 0);
},
sureSubmit() {
auditFsrProject({ fsrId: this.selectedList[0].fsrId, state: 2 }).then(
res => {
if (res.code == 200) {
this.maintainMask = false;
this.$message.success("操作成功");
this.auditFsrId = "";
this.auditState = "";
this.auditText = "";
this.getList();
}
}
);
// });
},
//操作事件type add=新增 edit=编辑 delete=删除
operationEvent(type, item, state) {
const _this = this;
this.isEdit = 0;
// this.selectedList
// this.getProNumDictLabels();
// this.getProPropDictLabels();
// this.getProSourceDictLabels();
// this.getProTypeDictLabels();
// this.getOrgSelectList();
this.formData = {
id: "",
name: "", // 字典名称
typeValue: "", // 字典标识
delFlag: "", // 启用状态
sort: "", // 排序
remark: "" // 描述
};
// this.orgSelectedOptions = JSON.parse(
// localStorage.getItem("userDto")
// ).org.ids.split(",");
// this.orgSelectedOptions.pop();
// this.orgSelectedOptions.shift();
// this.orgSelectedOptions.push(
// JSON.parse(localStorage.getItem("userDto")).org.orgId
// );
// this.systemList = [];
if (type == "detail") {
// this.$refs.seeDetail.show(item);
// this.getDemandListLabels();
} else if (type == "add") {
this.dialogTitle = "新建";
this.newly_edit = true;
// this.$refs.dialogVisible.show();
// this.getDemandListLabels();
// this.getSystemSelect();
} else if (type == "add2") {
this.formData2 = {
id: "", // 主键ID
label: "", // 字典名称
value: "", // 字典值
grade: "", // 等级
flag: "", // 启用状态
remark: "" // 描述
};
this.dialogTitle = "数据字典详情新建";
this.newly_edit2 = true;
// isEdit&newly_edit_, 新建&修改标识,0=数据字典新建,1=数据字典修改,2=数据字典详情新建,3=数据字典详情修改
this.isEdit = 2;
} else if (type == "edit") {
this.dialogTitle = "修改";
// isEdit&newly_edit_, 新建&修改标识,0=数据字典新建,1=数据字典修改,2=数据字典详情新建,3=数据字典详情修改
this.isEdit = 1;
this.newly_edit = true;
for (let key in item) {
if (!this.formData[key]) {
this.formData[key] = item[key];
}
}
// this.getDemandListLabels();
// this.getSystemSelect();
// this.getFsrProjectById(item.fsrId);
// //查询附件文件回显数据
// this.getFileList({ srcId: item.fsrId, typeCode: "FSR_PROJECT" });
// this.$refs.dialogVisible.show();
// if (state == "submit") {
// this.maintainMask = true;
// } else {
// this.newly_edit = true;
// }
} else if (type == "editDetail") {
this.dialogTitle = "数据字典详情修改";
this.newly_edit2 = true;
// isEdit&newly_edit_, 新建&修改标识,0=数据字典新建,1=数据字典修改,2=数据字典详情新建,3=数据字典详情修改
this.isEdit = 3;
_this._getDataDictionaryDetailById(item.id);
} else if (type == "maintain") {
// 维护
_this.maintainMask = true;
_this.dataDictionaryDetailId = item.id;
_this.getList2(item.id);
} else if (type == "delete") {
this.$confirm("确认要删除吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.deleteFsrProject(item.fsrId);
});
} else if (type == "submit") {
if (!this.selectedList.length) {
// if (this.selectedList.length > 1) {
return this.$message.error("请选择一项进行提交");
// }
}
if (
this.selectedList[0].state != "1" &&
this.selectedList[0].state != "0"
) {
this.$message.error("该条记录不能提交审核");
return;
}
if (this.selectedList.length > 1) {
return this.$message.error("只能选择一条记录");
}
this.operationEvent("edit", this.selectedList[0], "submit");
} else if (type == "expert") {
this.did = item.fsrId;
this.batch = item.batch;
this.getExpertlist();
this.$refs.expertDialog.show();
} else if (type == "sign") {
this.$refs.countersign.show(item);
} else if ((type = "onDelFlag")) {
console.log('>>>>>>>>>> 禁用启用-1 <<<<<<<<<<');
this._changeDataDictionaryState(item.id);
} else if (type == "onDelFlag2") {
console.log('>>>>>>>>>> 禁用启用-2 <<<<<<<<<<');
} else if (type == "reply") {
// this.$refs.reply.show(item);
this.$refs.countersign.showType = "2";
setTimeout(() => {
this.$refs.countersign.show(item);
}, 0);
} else if (type == "pass") {
this.auditFsrId = item.fsrId;
if (item.state == "1" || item.state == "0") {
this.$message.error("记录还未提交审核。");
return;
}
if (state == "2") {
this.auditState = "3";
} else {
this.auditState = "5";
}
this.$refs.auditDialog.show();
} else if (type == "back") {
this.auditFsrId = item.fsrId;
if (item.state == "1" || item.state == "0") {
this.$message.error("记录还未提交审核。");
return;
}
this.auditState = "0";
this.$refs.auditDialog.show();
} else if (type == "export") {
// this.$refs.exportword.exportPdf(item.fsrId, this.$store.state.user.url);
} else if (type == "exportWord") {
// this.$refs.exportword.exportword(
// item.fsrId,
// this.$store.state.user.url
// );
} else if (type == "preview") {
// let { href } = this.$router.resolve({
// path: "/fsrProject/exportword",
// query: { id: item.fsrId }
// });
}
},
// 根据id查询数据字典详情 回显修改数据
_getDataDictionaryDetailById(id) {
const _this = this;
getDataDictionaryDetailById({id: id}).then(res => {
for (let key in res.data) {
if (!_this.formData2[key]) {
_this.formData2[key] = res.data[key];
}
}
});
},
// 改变数据字典禁用启用状态
_changeDataDictionaryState(id) {
const _this = this;
changeDataDictionaryState({id: id}).then(res => {
if ((res.code = 200)) {
this.$message.success(res.msg);
_this.getList();
} else {
this.$message.error(res.msg);
}
});
},
//根据ID获取可研详情
// getFsrProjectById(id) {
// getFsrProjectById(id).then(res => {
// if (res.code == 200) {
// var that = this;
// this.formData = res.data;
// //解决需求回显问题
// this.formData.demandId = res.data.demandId
// ? Number(res.data.demandId)
// : null;
// // this.orgSelectedOptions = [];
// if (this.formData.deptIds) {
// this.formData.deptIds
// .split(",")
// .forEach(function(value, index, array) {
// let temp = parseInt(value);
// // that.orgSelectedOptions.push(temp);
// });
// } else {
// // this.orgSelectedOptions.push(parseInt(this.formData.deptId));
// }
// // if (this.formData.sysId) {
// // this.formData.sysId
// // .split(",")
// // .forEach(function(value, index, array) {
// // let temp = parseInt(value);
// // that.systemList.push(temp);
// // if (temp) {
// // array[index] = temp;
// // }
// // });
// // }
// this.popCss();
// }
// });
// },
//所属单位联动框回调事件
// orgNoChangeSelect(e) {
// if (e && e.length > 0) {
// this.formData.deptIds = e.join(",");
// this.formData.deptId = e[e.length - 1];
// this.formData.dept = this.$refs.orgCascader.getCheckedNodes()[0].label;
// }
// },
//编制可研
directoryEdit(item) {
this.$refs.countersign.showType = "3";
setTimeout(() => {
this.$refs.countersign.show(item);
}, 200);
//this.$refs.edit.directoryEdit(item);
},
//根据ID删除可研
deleteFsrProject(id) {
let result = "1";
deleteFsrProject({fsrId: id}).then(res => {
if (res.code == 200) {
this.$message.success("删除成功");
this.getList();
} else {
result = "0";
}
var now = new Date();
addLog({
eventtype: "11", //事件类型
result: result,
eventcontent: this.$route.meta.title+"删除", //事件内容
logtype: "1", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
});
},
//获取组织机构下拉
// getOrgSelectList() {
// if (!(this.orgSelectList && this.orgSelectList.length > 0))
// orgGetTree({ orgStatus: 1 }).then(res => {
// if (res.code == 200) {
// this.orgSelectList = res.data;
// }
// });
// },
// ????
saveFsrProject(state, isSave) {
const _this = this;
let newly_edit_ = this.isEdit;
// if (this.orgSelectedOptions && this.orgSelectedOptions.length > 0) {
// this.formData.deptIds = this.orgSelectedOptions.join(",");
// this.formData.deptId = this.orgSelectedOptions[
// this.orgSelectedOptions.length - 1
// ];
// if (!state) {
// // if (this.$refs.orgCascader.getCheckedNodes()) {
// // this.formData.dept = this.$refs.orgCascader.getCheckedNodes()[0].label;
// // }
// }
// }
// if (this.systemList && this.systemList.length > 0) {
// var sysName = [];
// // for (var i = 0; i < this.systemSelectList.length; i++) {
// // for (var j = 0; j < this.systemList.length; j++) {
// // if (this.systemSelectList[i].frameworkId == this.systemList[j]) {
// // sysName.push(this.systemSelectList[i].frameworkName);
// // }
// // }
// // }
// this.formData.sysName = sysName.join(",");
// this.formData.sysId = this.systemList.join(",");
// }
// this.formData.fileIds = [];
// this.fileList.forEach(e => {
// this.formData.fileIds.push(e.id);
// });
let message = "确认要提交吗?";
if (state == "submit" && isSave) {
message = "确认要保存吗?";
}
this.$confirm(message, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
// isEdit&newly_edit_, 新建&修改标识,0=数据字典新建,1=数据字典修改,2=数据字典详情新建,3=数据字典详情修改
if (newly_edit_ == 1) {
// 修改
_this._changeDataDictionaryData();
} else if (newly_edit_ == 0) {
// 新建
_this._newlyDataDictionary();
} else {
// state= dataDetails
// 数据字典详情
let params;
_this.formData2.dictId = _this.dataDictionaryDetailId;
params = _this.formData2;
if (newly_edit_ == 3) {
// 修改数据字典详情
modifyDataDictionaryDetail(params).then(res => {
_this.newly_edit2 = false;
_this.getList2(_this.dataDictionaryDetailId);
});
} else {
// 新建数据字典详情
newlyDataDictionaryDetail(params).then(res => {
_this.newly_edit2 = false;
_this.getList2(_this.dataDictionaryDetailId);
});
}
}
});
},
// 修改数据字典数据
_changeDataDictionaryData() {
const _this = this;
modifyDataDictionary(this.formData).then(res => {
_this.newly_edit = false;
_this.$message.success("操作成功");
addLog({
eventtype: "4", //事件类型
eventcontent: this.$route.meta.title+"修改", //事件内容
logtype: "1", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
});
},
// 新建数据字典数据
_newlyDataDictionary() {
const _this = this;
newlyDataDictionary(this.formData).then(res => {
if (res.code == 200) {
// 新建
_this.newly_edit = false;
_this.$message.success("操作成功");
_this.getList();
// if (!isSave) {
// code
// if (state) {
// _this.sureSubmit();
// } else {
// code
// }
// } else {
// _this.maintainMask = false;
// _this.$message.success("操作成功");
// }
// this.formData = {
// prjName: "", //可研名称
// sysName: "", //系统名称
// sysId: "",
// prjType: "", //类型
// proProp: "", //项目性质
// proSource: "", //项目来源
// deptId: JSON.parse(localStorage.getItem("userDto")).org.orgId, //单位编码
// dept: JSON.parse(localStorage.getItem("userDto")).org.orgName, //所属单位
// deptId: "",
// proNum: "", //项目期号
// state: "1", //状态
// psrPlans: [], //关联规划的数组
// fileIds: [], //附件集合
// engCost: 0, //建安工程费
// softCost: 0, //软件购置费
// hardCost: 0, //硬件购置费
// consultCost: 0, //咨询服务费
// sysDesignCost: 0, //系统设计开发费
// sysIntegrateCost: 0, //系统集成开发费
// sysImplCost: 0, //系统实施费
// sysIntegrateImplCost: 0, //系统集成实施费
// otherCost: 0, //其他费用
// totalCost: 0, //总计费用
// fsrId: "",
// content: ""
// };
// this.orgSelectedOptions = [];
// this.systemList = [];
// this.fileList = [];
var now = new Date();
addLog({
eventtype: "2", //事件类型
result: "1",
eventcontent: this.$route.meta.title+"新建", //事件内容
logtype: "0", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
} else {
_this.$message.error(res.msg);
var now = new Date();
addLog({
eventtype: "2", //事件类型
result: "0",
eventcontent: this.$route.meta.title+"新建", //事件内容
logtype: "1", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
return false;
}
});
},
//获取项目类别下拉框
// getPrjTypeDictLabels() {
// if (!(this.prjTypeDictLabels && this.prjTypeDictLabels.length > 0)) {
// templateList({ type: "0" }).then(res => {
// if (res.code == 200) {
// this.prjTypeDictLabels = res.data;
// }
// });
// }
// },
//获取需求下拉框
// getDemandListLabels() {
// if (!(this.demandLabels && this.demandLabels.length > 0)) {
// demandList().then(res => {
// if (res.code == 200) {
// this.demandLabels = res.data;
// }
// });
// }
// },
//
// setMouseOver: function($event) {
// this.tooltipDisableFlag = true;
// const selectedOption = $event.currentTarget.innerText;
// for (const e in this.proPropDictLabels) {
// if (selectedOption == this.proPropDictLabels[e].label) {
// this.popoverContent = this.proPropDictLabels[e].label;
// }
// }
// },
//???
// setMouseOut() {
// this.tooltipDisableFlag = false;
// },
//点击弹框确认按钮
dialogConfirm(state, isSave) {
// if (this.formData.proProp != "1") {
// if (this.checkSys) {
// this.$message({
// dangerouslyUseHTMLString: true,
// message: this.messageStr,
// type: "warning"
// });
// return;
// }
// }
//校验 是否能提交
// let projectType = this.formData.proType;
// const key = this.checkValData();
// if (key) {
// this.$message.error(this.valChecked[key]);
// return;
// }
// var orgId = this.formData.deptId;
// for (var i = 0; i < this.orgSelectList.length; i++) {
// var e = this.orgSelectList[i];
// if (e.orgId == orgId) {
// this.formData.dept = e.orgName;
// break;
// }
// }
this.saveFsrProject(state, isSave);
},
//关联规划操作方法
// psrPlanOperationEvent(type, item, index) {
// if (type == "add") {
// this.psrPlanDirectory = "";
// this.psrPlanSelectList = [];
// // if (!this.formData.prjType) {
// // this.$message.error("请先选择项目类别");
// // return;
// // }
// getDirectoryListByType({
// type: 0,
// prjType: this.formData.prjType
// }).then(res => {
// if (res.code == 200) {
// this.directorySelect = res.data;
// this.getPsrTypeTree();
// this.getPsrPlanList();
// // this.$refs.dialogVisiblePsrPlan.show();
// this.openRuleDialog = true;
// }
// });
// } else if (type == "delete") {
// this.formData.psrPlans.splice(index, 1);
// }
// },
//关联规划中获取目录下拉
getDirectoryListByType() {
// xxx
},
//编制可研
modifyReport(item) {
this.formData.content = "";
getDirectoryListTree({
cId: item.fsrId,
templateId: item.templateId,
type: 0
}).then(res => {
if (res.code == 200) {
this.directoryTreeData = res.data;
if (this.directoryTreeData && this.directoryTreeData.length > 0) {
this.contentFormData.caId = this.directoryTreeData[0].caId;
this.directoryType = this.directoryTreeData[0].type;
}
}
});
// $(".dialog-footer")
// .find("button")
// .hide();
this.formData.fsrId = item.fsrId;
modifyReport({
fsrId: item.fsrId
}).then(res => {
if (res.code == 200) {
if (res.data) {
this.formData.content = res.data.content;
}
var now = new Date();
addLog({
eventtype: "3", //事件类型
eventcontent: this.$route.meta.title+"修改", //事件内容
logtype: "1", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
// this.$refs.modifyReportDialog.show();
this.open2 = true;
}
});
},
saveReport(rId, state) {
this.formData.fsrId = rId;
this.formData.state = state;
saveReport(this.formData).then(res => {
if (res.code == 200) {
this.$message.success("评审成功");
// this.$refs.modifyReportDialog.hidden();
this.open2 = false;
this.getList();
}
var now = new Date();
addLog({
eventtype: "2", //事件类型
eventcontent: this.$route.meta.title + "_评审意见", //事件内容
logtype: "1", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
});
},
//编制可研弹窗确定按钮调用方法
closeModifyReportDialog() {
// this.$refs.modifyReportDialog.hidden();
this.open2 = false;
},
//指派专家弹窗确定按钮调用方法
dialogConfirmExpert() {
this.updateExpert();
this.$refs.expertDialog.hidden();
},
//表格选中事件
handleSelectionChange(e) {
this.selectedList = e;
},
//系统名称选择change事件
systemSeelctChange(e) {
this.systemList = e;
},
handleNodeReportClick(data, node, e) {
this.contentFormData.caId = data.caId;
if (this.$refs.ueditor) {
this.richTextvalue = "";
}
let curContent = this.formData.content;
this.directoryType = data.type;
if (this.directoryType == "rich_text") {
getContent({
fsrId: this.formData.fsrId,
caId: this.contentFormData.caId
}).then(res => {
if (res.code == 200 && res.data) {
this.formData.content = curContent + res.data.content;
}
});
}
},
//关联规划确定按钮
dialogConfirmPsrPlan() {
const _this = this;
if (this.psrPlanDirectory === "") {
this.$message.error("请选择关联目录");
return;
}
if (!this.psrPlanSelectList || this.psrPlanSelectList.length < 1) {
this.$message.error("请选择规划");
return;
} else {
for (let ps of _this.psrPlanSelectList) {
ps.caId = _this.directorySelect[_this.psrPlanDirectory].caId;
ps.caName = _this.directorySelect[_this.psrPlanDirectory].title;
}
}
/*for (let i = 0; i < this.formData.psrPlans.length; i++) {
for (let j = this.psrPlanSelectList.length - 1; j >= 0; j--) {
if (this.formData.psrPlans[i].id == this.psrPlanSelectList[j].id) {
this.formData.psrPlans[i] = this.psrPlanSelectList[j].id;
this.psrPlanSelectList.splice(j, 1);
}
}
}*/
if (this.psrPlanSelectList && this.psrPlanSelectList.length > 0) {
this.formData.psrPlans = this.formData.psrPlans.concat(
this.psrPlanSelectList
);
}
// this.$refs.dialogVisiblePsrPlan.hidden();
this.openRuleDialog = false;
},
//查询关联规划列表
// getPsrPlanList() {
// psrPlanGetList(this.paramsPsrPlan).then(res => {
// if (res.code == 200) {
// this.tableDataPsrPlan = res.data.records;
// this.psrPlanPage.total = res.data.total;
// }
// });
// },
//获取规划类型树结构
getPsrTypeTree() {
psrTypeGetTree().then(res => {
if (res.code == 200) {
this.psrTypeTreeData = res.data;
}
});
},
//规划类型树点击事件
// psrTypeHandleNodeClick(data) {
// this.paramsPsrPlan.psrTypeId = data.tId;
// this.getPsrPlanList();
// },
// 关联规划分页
// handleSizeChangePsrPlan(val) {
// this.psrPlanPage.size = val;
// this.paramsPsrPlan.pageSize = val; //每页10条
// this.getPsrPlanList();
// // this.$refs.tableWrap.scrollTo(0,0)
// },
// 关联规划分页
// handleCurrentChangePsrPlan(val) {
// this.psrPlanPage.current = val;
// this.paramsPsrPlan.current = val;
// this.getPsrPlanList();
// // this.$refs.tableWrap.scrollTo(0,0)
// },
//规划列表选中事件
handleSelectionChangePsrPlan(e) {
this.psrPlanSelectList = e;
},
//加载专家列表
getExpertlist() {
var _this = this;
getExpertlist({
did: _this.did,
batch: _this.batch
}).then(res => {
_this.data = res.data.data;
_this.value = res.data.value;
});
},
//更新指派专家
updateExpert() {
var ts = this.$refs.ch.valueX;
var _this = this;
updateExpert({
eids: ts,
did: _this.did,
type: _this.type,
leaderId: _this.leaderId,
leaderName: _this.leaderName,
batch: _this.batch
}).then(res => {
if (res.code == 200) {
this.$message.success("操作成功");
this.getList();
}
var now = new Date();
addLog({
eventtype: "2", //事件类型
eventcontent: this.$route.meta.title + "_指派专家", //事件内容
logtype: "1", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
});
},
saveTableContent() {
var content = handleTableToJson(this.contentFormData.caId);
this.contentFormData.content = content;
saveTableContent(this.contentFormData).then(res => {
if (res.code == 200) {
this.$message.success("操作成功");
}
});
},
//审核弹窗操作
dialogConfirmAudit() {
if (!this.auditText) {
this.$message.error("请填写审核意见");
return;
}
auditFsrProject({
fsrId: this.auditFsrId,
state: this.auditState,
content: this.auditText
}).then(res => {
if (res.code == 200) {
this.$message.success("操作成功");
this.auditFsrId = "";
this.auditState = "";
this.auditText = "";
this.$refs.auditDialog.hidden();
this.getList();
}
var now = new Date();
addLog({
eventtype: "2", //事件类型
eventcontent: this.$route.meta.title + "_审核意见", //事件内容
logtype: "1", //日志类型
loglev: "0", //日志级别
requesttime: dateFormart(now, "yyyy-MM-dd hh:mm:ss:S")
});
});
},
//编辑数据回显附件文件
// getFileList(obj, type) {
// getFileList(obj).then(res => {
// let _this = this;
// if (res.code == 200) {
// let data = res.data;
// if (data.length > 0) {
// this.fileList = data;
// } else {
// this.fileList = [];
// }
// }
// });
// },
//上传成功回调(单独上传附件)
// getUploadData(e) {
// this.fileList = e;
// },
//续建时获取系统下拉
// getSystemSelect() {
// getSystemSelect().then(res => {
// this.systemSelectList = res.data;
// });
// },
handleSelect() {
if (this.formData.sysName) {
checkSystemName({ sysName: this.formData.sysName }).then(res => {
if (res.code == 200) {
if (res.data.length > 0) {
let arr = [];
this.checkSys = false;
arr.push("新增系统名存在相同或相似!");
res.data.map(item => {
arr.push(`${item.frameworkName}`);
if (this.formData.sysName == `${item.frameworkName}`) {
this.checkSys = true;
}
});
let str = arr.join("<br/>");
this.messageStr = str;
this.$message({
dangerouslyUseHTMLString: true,
message: this.messageStr,
type: "warning"
});
}
}
});
}
}
}
};
</script>
<style lang="scss" scoped>
@import '@/styles/common.scss';
.table-wrap {
background-color: #fff;
padding: 0;
height: calc(100% - 82px);
.content-box {
}
}
.tab-wrap {
// padding: 21px;
box-sizing: border-box;
padding-bottom: 0;
}
.content-box {
display: flex;
height: 100%;
.right-table {
height: 100%;
width: 100%;
background-color: #fff;
padding: 10px;
box-sizing: border-box;
position: relative;
overflow-y: auto !important;
}
}
// 可研 新建+编辑
.add-dialog {
// .el-dialog__body {
// padding: 0;
// margin: 0;
// max-height: 660px;
// overflow: hidden;
.my-dialog-body {
padding: 0;
height: 100%;
.iptMode {
// max-height: 360px !important;
// overflow-y: auto;
padding: 20px 0;
.form-item {
flex-wrap: wrap;
margin-bottom: 0;
.form-item-inline {
margin-bottom: 10px;
position: relative;
.form-label {
width: 140px;
// .impot {}
}
.el_ipt {
width: 280px;
}
.el_select {
width: 280px;
}
.el_picker {
width: 280px;
}
.el_textarea {
width: 280px;
}
}
}
.el_select {
width: 280px;
.el-input {
width: 100%;
}
}
}
// 编辑可研->新建->关联规划
// .psr-plan {
// .el-dialog {
// .el-dialog__body {
// .my-dialog-body {
// .table-wrap {
// .content-box {
// height: 100%;
// }
// }
// }
// }
// }
// }
.guanlianTitle {
background-color: $com_backcolor2;
color: #fff;
}
// 编辑可研里的关联规划下的table
.form-item {
.el_table {
width: 100%;
overflow-y: auto;
border: none;
}
}
}
// }
}
// 组织评审 弹窗
// .expert-detail {
// .el-dialog__body {
// padding: 0;
// margin: 0;
// height: 520px;
// overflow: hidden;
// textarea {
// border-style: none;
// overflow-y: hidden;
// outline: none;
// }
// .my-dialog-body {
// padding: 0;
// height: 100%;
// // overflow-y: auto;
// }
// }
// }
// .audit-dialog {
// .el-dialog__body {
// padding: 0;
// margin: 0;
// height: 300px !important;
// overflow: hidden;
// .my-dialog-body {
// padding: 0;
// height: 100%;
// }
// }
// }
// 评审报告 弹窗
// .modifyReport-dialog {
// .el-dialog__body {
// padding: 0;
// margin: 0;
// // height: 700px;
// height: 560px;
// overflow: hidden;
// .my-dialog-body {
// padding: 0;
// height: 100%;
// .table-wrap {
// .content-box {
// .right-table {
// overflow-y: hidden;
// .topBtnBox {
// display: flex;
// span {
// margin-left: auto;
// }
// }
// .table-wrap {
// position: absolute;
// top: 40px;
// left: 0;
// width: 100%;
// bottom: 0;
// overflow: auto;
// height: 100%;
// }
// }
// }
// }
// }
// }
// }
// .psr-plan {
// .el-dialog__body {
// padding: 0;
// margin: 0;
// height: 555px;
// overflow: hidden;
// .postil-dialog {
// .el-dialog__wrapper {
// .el-dialog {
// .el-dialog__body {
// height: 300px;
// }
// }
// }
// }
// .my-dialog-body {
// padding: 0;
// height: 100%;
// }
// }
// }
.el-table .base-row {
background-color: #f3f9f8;
}
.el-table tr .even-row {
background: #fff;
}
// .directory-detail .el-dialog{
// height:90vh!important;
// }
// .directory-detail .el-dialog__body{
// height:90%!important;
// }
.form-item .form-item-inline {
flex: 1;
}
.form-item .form-label {
width: 140px;
}
</style>
<style lang="scss" scoped>
// 需要整理
.main-wrap {
.btn-wrap {
.iptx {
width: 250px;
}
}
}
</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!